我有一个错误发生在我的网络项目。
发展环境:春季F/W + Jasper报告
gulim.ttf是在pdf贾斯珀报告中显示韩文字母表的字体。( ex)한글
谢谢你的帮助。
错误消息:
com.lowagie.text.DocumentException:字体/gulim.ttf不是有效的TTF或OTF文件。(在com.lowagie.text.pdf.TrueTypeFont.process(Unknown来源)在com.lowagie.text.pdf.TrueTypeFontUnicode.(Unknown来源)在com.lowagie.text.pdf.BaseFont.createFont(Unknown来源)在com.lowagie.text.pdf.BaseFont.createFont(Unknown源头)在com.lowagie.text.pdf.BaseFont.createFont(Unknown源头)在net.sf.jasperreports.engine.export.JRPdfExporter.getFont(JRPdfExporter.java:2141) at net.sf.jasperreports.engine.export.JRPdfExporter.getChunk(JRPdfExporter.java:1917) at net.sf.jasperreports.engine.export.JRPdfExporter.getPhrase(JRPdfExporter.java:1886) at net.sf.jasperreports.engine.export.SimplePdfTextRenderer.getPhrase(SimplePdfTextRenderer.java:89) at net.sf.jasperreports.engine.export.SimplePdfTextRenderer.render(SimplePdfTextRenderer.java:99) at net.sf.jasperreports.engine.export.JRPdfExporter.exportText(JRPdfExporter.java:2249) at net.sf.jasperreports.engine.export.JRPdfExporter.exportElements(JRPdfExporter.java:961) at net.sf.jasperreports.engine.export.JRPdfExporter.exportPage(JRPdfExporter.java:920) at net.sf.jasperreports.engine.export.JRPdfExporter.exportReportToStream(JRPdfExporter.java:797) at net.sf.jasperreports.engine.export.JRPdfExporter.exportReport(JRPdfExporter.java:514) at org.springframework.ui.jasperreports.JasperReportsUtils.render(JasperReportsUtils.java:111) at org.springframework.web.servlet.view.jasperreports.AbstractJasperReportsSingleFormatView.renderReportUsingOutputStream(AbstractJasperReportsSingleFormatView.java:112) at org.springframework.web.servlet.view.jasperreports.AbstractJasperReportsSingleFormatView.renderReport(AbstractJasperReportsSingleFormatView.java:71) at org.springframework.web.servlet.view.jasperreports.AbstractJasperReportsView.renderMergedOutputModel(AbstractJasperReportsView.java:564) at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:250) at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1047) at kr.co.kcc.rent4u.business.common.spring.initialize.ApplicationServlet.doDispatch(ApplicationServlet.java:181) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:719) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:644) at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:549) at javax.servlet.http.HttpServlet.service(HttpServlet.java:707) at javax.servlet.http.HttpServlet.org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValveorg.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) .invoke(StandardWrapperValve.java:233)在org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) at java.lang.Thread.run(Thread.java:722)
发布于 2015-10-27 14:46:10
这个问题实际上来自试图创建pdf的itext库。
为什么不支持@参见Bruno on I-text问题:
Adobe最初是一家销售字体的公司: PostScript字体(类型1)。苹果和MicroSoft开发了一种相互竞争的字体格式: TrueType (ttf)。不幸的是,苹果的标准和MicroSoft的标准相去甚远。字体与平台有关。Macintosh的字体不一定适用于Windows,反之亦然。然后MicroSoft和Adobe提出了一种新的独立于平台的字体格式: OpenType。有两种风格:带有PS轮廓的OpenType (otf文件)和带有TrueType大纲的OpenType (ttf或otf文件)。
因此,人们总是猜测你的ttf是Macintosh的TrueType字体,而不是带有TrueType轮廓的OpenType字体。
https://stackoverflow.com/questions/33358841
复制相似问题