2

默认情况下,JasperReports 3.7.* 似乎没有任何支持 PDF 字体的“Identity-H”UTF-8 编码的 PDF 字体。

我找到了很多使用 iReports 导入字体并使用嵌入的 Pdf 字体编译报表的示例,但是在运行时使用 Java 编译报表时,我没有找到任何对我有用的解决方案。

我尝试了以下变化:

  1. 在 Spring 应用程序的类路径上创建一个 jasperreports_extension.properties 文件并定义一个指向 UTF-8 TTF 文件的 xml 字体系列
  2. 包括 jasperreports-fonts 的 maven 依赖项:net.sf.jasperreports jasperreports-fonts 4.0.0
  3. 研究了使用 PdfFont/FontMap 方法插入 Jasper 参数对象映射,但示例中的类被标记为已弃用

在这些情况下编译时,引擎总是报告无法解析字体的错误。这里的解决方案是什么?

4

1 回答 1

2

一名团队成员能够找到解决方案:

为 Java 编译配置 JRProperties 时

JRProperties.setProperty("net.sf.jasperreports.default.pdf.font.name", "org/gnu/freefonts/FreeSans.ttf");
JRProperties.setProperty("net.sf.jasperreports.default.pdf.encoding", "Identity-H");
JRProperties.setProperty("net.sf.jasperreports.default.pdf.embedded", true);

其中 org/gnu/freefonts/FreeSans.ttf 是应用程序类路径中的 UTF-8 字体

于 2013-01-09T20:57:43.130 回答