我的网络项目中发生错误。
开发环境: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)
答案 0 :(得分:0)
问题实际上是试图创建pdf的itext库。
检查字体名称的拼写是否正确(区分大小写)。
可能您的字体不受支持(见下文)尝试使用其他格式的其他字体或相同字体
为什么不支持@see Bruno关于I-text问题:
Adobe最初是一家销售字体的公司: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字体。