【问题标题】:jasper Report, ttf is not a valid TTF or OTF filejasper 报告,ttf 不是有效的 TTF 或 OTF 文件
【发布时间】:2015-10-27 02:10:40
【问题描述】:

我的 Web 项目中出现错误。

开发环境:Spring F/W + Jasper Report

gulim.ttf 是在 pdf Jasper 报告中显示韩文字母的字体。 例如)한글

感谢您的帮助。

错误信息:

com.lowagie.text.DocumentException: fonts/gulim.ttf 不是有效的 TTF 或 OTF 文件。在 com.lowagie.text.pdf.TrueTypeFont.process(未知 来源)在 com.lowagie.text.pdf.TrueTypeFontUnicode.(未知 来源)在 com.lowagie.text.pdf.BaseFont.createFont(未知来源) 在 com.lowagie.text.pdf.BaseFont.createFont(未知来源) com.lowagie.text.pdf.BaseFont.createFont(未知来源)在 net.sf.jasperreports.engine.export.JRPdfExporter.getFont(JRPdfExporter.java:2141) 在 net.sf.jasperreports.engine.export.JRPdfExporter.getChunk(JRPdfExporter.java:1917) 在 net.sf.jasperreports.engine.export.JRPdfExporter.getPhrase(JRPdfExporter.java:1886) 在 net.sf.jasperreports.engine.export.SimplePdfTextRenderer.getPhrase(SimplePdfTextRenderer.java:89) 在 net.sf.jasperreports.engine.export.SimplePdfTextRenderer.render(SimplePdfTextRenderer.java:99) 在 net.sf.jasperreports.engine.export.JRPdfExporter.exportText(JRPdfExporter.java:2249) 在 net.sf.jasperreports.engine.export.JRPdfExporter.exportElements(JRPdfExporter.java:961) 在 net.sf.jasperreports.engine.export.JRPdfExporter.exportPage(JRPdfExporter.java:920) 在 net.sf.jasperreports.engine.export.JRPdfExporter.exportReportToStream(JRPdfExporter.java:797) 在 net.sf.jasperreports.engine.export.JRPdfExporter.exportReport(JRPdfExporter.java:514) 在 org.springframework.ui.jasperreports.JasperReportsUtils.render(JasperReportsUtils.java:111) 在 org.springframework.web.servlet.view.jasperreports.AbstractJasperReportsSingleFormatView.renderReportUsingOutputStream(AbstractJasperReportsSingleFormatView.java:112) 在 org.springframework.web.servlet.view.jasperreports.AbstractJasperReportsSingleFormatView.renderReport(AbstractJasperReportsSingleFormatView.java:71) 在 org.springframework.web.servlet.view.jasperreports.AbstractJasperReportsView.renderMergedOutputModel(AbstractJasperReportsView.java:564) 在 org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:250) 在 org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1047) 在 kr.co.kcc.rent4u.business.common.spring.initialize.ApplicationServlet.doDispatch(ApplicationServlet.java:181) 在 org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719) 在 org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644) 在 org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:707) 在 javax.servlet.http.HttpServlet.service(HttpServlet.java:820) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 在 org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88) 在 org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 在 org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88) 在 org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 在 org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) 在 org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 在 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) 在 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 在 org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 在 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) 在 org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859) 在 org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588) 在 org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) 在 java.lang.Thread.run(Thread.java:722)

【问题讨论】:

    标签: spring-mvc fonts jasper-reports itext truetype


    【解决方案1】:

    问题实际上来自尝试创建 pdf 的 itext 库。

    1. 检查字体名称的拼写是否正确(区分大小写)。

    2. 可能不支持您的字体(见下文)尝试使用其他字体或其他格式的相同字体

    为什么不支持@see Bruno on I-text questions:

    Adobe 最初是一家销售字体的公司:PostScript 字体(Type 1)。 Apple 和 MicroSoft 开发了一种相互竞争的字体格式:TrueType (ttf)。 不幸的是,根据 Apple 的标准和根据 到微软分道扬镳。字体取决于平台。一种字体 Macintosh 不一定能在 Windows 上运行,反之亦然。 然后微软和 Adob​​e 想出了一个独立于平台的新平台 字体格式:OpenType。 有两种风格: 带有 PS 轮廓的 OpenType(otf 文件) 和带有 TrueType 轮廓的 OpenType(ttf 或 otf 文件)。

    所以猜测总是你的 ttf 是 Macintosh 的 TrueType 字体, 不是带有 TrueType 轮廓的 OpenType 字体。

    【讨论】:

      猜你喜欢
      • 2017-02-02
      • 2011-07-15
      • 2016-03-04
      • 2016-03-22
      • 2022-12-03
      • 1970-01-01
      • 2013-05-23
      • 2014-06-04
      • 2011-08-08
      相关资源
      最近更新 更多