4

我使用 Pentaho Report Designer 3.9.1 创建了一个报告,它包含日文字符。当我尝试将报告导出为 PDF 时,我没有得到 PDF 中的日文字符。它在 PDF 中显示为空,而不是日文字符。

当我尝试导出到 Excel 时,显示日文字符。

4

2 回答 2

3

众所周知,JDK 的内置字体映射到 PDF 标准的内置字体(SANS-SERIF、SERIF 或任何其他内置字体),并且这些字体不支持除西欧语言之外的任何内容.

这些字体未定义为包含任何日文字符,因为日文不是西欧语言。如果您使用不包含日文字符的字体,则不能指望它显示这些字符。

所需的配置位于 PRD 中。

  • 点击文件 | 配置
  • 点击“输出-pageable-pdf”
  • 将“~.EmbededFonts”设置为 True
  • 将“~.Encoding”设置为 UTF-8

日文字体使用 PDF 的原因是,如果您使用元数据作为数据源,则该字段的元数据字体将设置一个默认字体,例如“Arial-10”。您必须在那里编辑字体,否则您必须在报表设计器中通过将“数据格式和样式格式”设置为 false 来手动覆盖它。

在 BAServer 中获取结果:

  • 停止 BA 服务器。
  • 浏览到这个文件:

\biserver-ee\tomcat\webapps\pentaho\WEB-INF\classes\classic-engine.properties

  • 更改以下属性。

org.pentaho.reporting.engine.classic.core.modules.output.pageable.pdf.Encoding=UTF-8 org.pentaho.reporting.engine.classic.core.modules.output.pageable.pdf.EmbedFont‌​s=true

  • 启动服务器。

更新:根据 Rajasekaran M,他必须SimHei在 PRD 中使用字体并添加simhei.ttf到字体中,以便在 PRD 和 BIServer 中使用它。

于 2015-09-16T06:33:24.350 回答
0

对于 Linux 上 BI 服务器的 utf-8 问题,您可能需要为机器添加字体。以下是我为解决的问题:

  • 将字体复制到 usr/share/font/your-fonts(如果复制到 /home/your-user/.fonts 则不起作用)
  • 添加字体命令:$ fc-cache -fv
  • 列出所有字体: $ fc-list
于 2015-10-24T03:30:39.417 回答