jasper报告,ttf不是有效的TTF或OTF文件

时间:2015-10-27 02:10:41

标签: spring-mvc fonts jasper-reports itext true-type-fonts

我的网络项目中发生错误。

开发环境:Spring F / W + Jasper报告

gulim.ttf是在pdf Jasper Report中显示韩语字母的字体。 ex)한글

感谢您的协助。

错误消息:

  

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(未知来源)     at com.lowagie.text.pdf.BaseFont.createFont(Unknown Source)at   com.lowagie.text.pdf.BaseFont.createFont(未知来源)at   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)at   javax.servlet.http.HttpServlet.service(HttpServlet.java:820)at at   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)

1 个答案:

答案 0 :(得分:0)

问题实际上是试图创建pdf的itext库。

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

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

  3. 为什么不支持@see Bruno关于I-text问题:

      

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

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