java 无法加载以下字体

lyfkaqu1  于 2023-01-07  发布在  Java
关注(0)|答案(3)|浏览(209)

我有一个问题已经问过了,但在我的情况下有一些具体的差异。
我正在支持一个有问题的Web应用程序(EJB 2PostgreSQL 9.2.4,运行在JBoss 4.2.3上)。有时候,当我们尝试生成一个特定的报告时,我们会得到这个错误:

javax.servlet.ServletException: net.sf.jasperreports.engine.JRRuntimeException: Could not load the following font : 
pdfFontName   : DejaVu Sans
pdfEncoding   : Cp1252
isPdfEmbedded : false
org.apache.struts.action.RequestProcessor.processException(RequestProcessor.java:523)
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:224)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:414)
javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
stirq.scan.util.NoCacheFilter.doFilter(NoCacheFilter.java:38)
jcifs.http.NtlmHttpFilter.doFilter(NtlmHttpFilter.java:118)
stirq.scan.util.TimeoutFilter.doFilter(TimeoutFilter.java:57)
stirq.scan.util.SecurityFilter.doFilter(SecurityFilter.java:82)
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)

我搜索了很多网站。http://community.jaspersoft.com/questions/525505/could-not-load-following-font
Could not load the following font issue in iReport
JasperReports - font extensions does not work - can't find font while exporting to PDF
(And其他)
正如许多答案中所建议的,我正在使用字体扩展jar,但仍然遇到了这个问题。
在应用程序的数据库中有两个可以包含html代码的字段。我发现当这两个字段中的一个或两个中有一个"font"标记时,就会发生错误。即使在这个"font"标记中指定的字体是Arial,我得到的消息仍然是关于字体DejaVu Sans的。
我所有jrxml文件的每个文本字段都是DejaVu Sans字体。当我在Ireport 4.1.1中测试我的报告的预览模式时,一切都很好。
我删除了两个数据库字段的每一个"字体"标记,这些字段包含出现问题的HTML代码,它工作了。
但是应用程序正在生产中,正如您所看到的,我不能删除数据库中的每个"font"标记。
任何帮助都将不胜感激。
谢谢。

w1jd8yoj

w1jd8yoj1#

在iReport中,如果您为JasperServer设置了一个存储库,则可以将报表xml的有效生产版本获取到iReport中。然后,您可以编辑您的文件并替换为编辑后的生产版本。

gcuhipw9

gcuhipw92#

尝试设置这些系统属性:

import net.sf.jasperreports.engine.util.JRProperties;
JRProperties.setProperty("net.sf.jasperreports.default.pdf.font.name", "Helvetica")
JRProperties.setProperty("net.sf.jasperreports.default.pdf.encoding", "UTF-8")
JRProperties.setProperty("net.sf.jasperreports.default.pdf.embedded", "false")

查看此处了解更多信息:http://www.77dev.com/2014/07/could-not-load-following-font-solved.html

2uluyalo

2uluyalo3#

将字体文件(*.ttf)复制到文件夹:

/path/to/app/WEB-INF/classes/

您的应用程序将从此处获取字体:)

相关问题