1

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

我正在支持有问题的 Web 应用程序(EJB 2, PostgreSQL 9.2.4, 在 a 上运行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 代码并且它有效。

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

任何帮助,将不胜感激。

谢谢。

4

3 回答 3

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

于 2014-07-08T11:15:01.067 回答
0

在 iReport 中,如果您为 JasperServer 设置存储库,您将能够将报表 xml 的有效生产版本导入 iReport。然后你可以编辑你的文件并用编辑后的版本替换。

于 2013-12-28T13:56:31.503 回答
0

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

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

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

于 2016-12-01T22:03:36.537 回答