我使用 Pentaho Report Designer 3.9.1 创建了一个报告,它包含日文字符。当我尝试将报告导出为 PDF 时,我没有得到 PDF 中的日文字符。它在 PDF 中显示为空,而不是日文字符。
当我尝试导出到 Excel 时,显示日文字符。
我使用 Pentaho Report Designer 3.9.1 创建了一个报告,它包含日文字符。当我尝试将报告导出为 PDF 时,我没有得到 PDF 中的日文字符。它在 PDF 中显示为空,而不是日文字符。
当我尝试导出到 Excel 时,显示日文字符。
众所周知,JDK 的内置字体映射到 PDF 标准的内置字体(SANS-SERIF、SERIF 或任何其他内置字体),并且这些字体不支持除西欧语言之外的任何内容.
这些字体未定义为包含任何日文字符,因为日文不是西欧语言。如果您使用不包含日文字符的字体,则不能指望它显示这些字符。
所需的配置位于 PRD 中。
日文字体使用 PDF 的原因是,如果您使用元数据作为数据源,则该字段的元数据字体将设置一个默认字体,例如“Arial-10”。您必须在那里编辑字体,否则您必须在报表设计器中通过将“数据格式和样式格式”设置为 false 来手动覆盖它。
在 BAServer 中获取结果:
\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.EmbedFonts=true
更新:根据 Rajasekaran M,他必须SimHei
在 PRD 中使用字体并添加simhei.ttf
到字体中,以便在 PRD 和 BIServer 中使用它。
对于 Linux 上 BI 服务器的 utf-8 问题,您可能需要为机器添加字体。以下是我为解决的问题: