无法加载以下字体

问题描述 投票:0回答:3

我有一个已经被问过的问题,但我的情况有一些具体的差异。

我正在支持一个有问题的 Web 应用程序(

EJB 2
PostgreSQL 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

无法在iReport中加载以下字体问题

JasperReports - 字体扩展不起作用 - 导出到 PDF 时找不到字体

(以及其他)

正如许多答案中所建议的,我正在使用字体扩展 jar,但仍然遇到问题。

应用程序数据库中有两个表字段可以包含html代码。 我发现当这两个字段之一或两个字段中有“字体”标签时,就会出现该错误。 即使此“字体”标签中指定的字体是 Arial,我收到的消息仍然与字体 DejaVu Sans 相关。

我所有 jrxml 文件的每个文本字段均采用 DejaVu Sans 字体。 当我在 IReport 4.1.1 中测试报告的预览模式时,一切都很好。

我删除了两个数据库字段的每个“字体”标签,其中包含出现问题的 HTML 代码,并且它起作用了。

但是应用程序正在生产中。 如您所见,我无法删除数据库中的每个“字体”标签。

如有任何帮助,我们将不胜感激。

谢谢。

java html fonts jasper-reports ireport
3个回答
0
投票

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


0
投票

尝试设置这些系统属性:

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


0
投票

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

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

您的应用程序将从这里获取字体:)

© www.soinside.com 2019 - 2024. All rights reserved.