Pentaho 不在 UTF-8 编码中生成 PDF

Posted

技术标签:

【中文标题】Pentaho 不在 UTF-8 编码中生成 PDF【英文标题】:Pentaho don't Generete PDF in UTF-8 encoding 【发布时间】:2016-07-21 07:14:47 【问题描述】:

我在 Pentaho BI 平台中遇到了与 PDF 导出相关的问题。我无法生成以 UTF-8 编码且包含西班牙语字符的正确 PDF 文件。该过程在本地报表设计器和 BI 服务器中都不能正常工作。 PDF 文件中会跳过“ñ”或“ç”等特殊字符。以其他格式生成也可以正常工作(html、Excel 等)。

几天来我一直在努力解决这个问题,无法找到任何解决方案,如果有任何线索,我将不胜感激。

提前致谢

附:报表设计器和 BI 平台版本 6.1.0.1

【问题讨论】:

【参考方案1】:

似乎是字体问题。您的字体需要知道如何使用 unicode,并且需要指定如何“绘制”您想要的字符。

默认情况下,Office 程序(至少是 MS office)会自动选择可以呈现任何字符的字体(如果启用了字体替换),但 PDF 阅读器不会这样做:它们始终使用您指定的确切字体。

在选择合适的字体时,您必须注意支持的 Unicode 字符和字体的许可证:某些字体不允许嵌入,如果编码为 UTF-8,Pentaho 会将使用的字体子集嵌入到生成的 PDF 文件中或 Identity-H。

要为 linux 服务器安装字体,您需要将字体文件复制到 java/lib/fonts/ 文件夹或 /usr/share/fonts/,授予服务器用户读取权限并重新启动服务器应用程序。

【讨论】:

有效!我已经安装了“open-sans”字体并且可以正常工作。 ty

以上是关于Pentaho 不在 UTF-8 编码中生成 PDF的主要内容,如果未能解决你的问题,请参考以下文章

eclipse中生成的html存在中文乱码问题的解决方法

MyEclipse中生成javadoc,在线等

在 c# 中等效于在 c 编程中生成的要在 URL 查询字符串中发送的“Base64”编码的加密字节字符串

有啥方法可以不在 Rails 中生成迁移文件

为啥 Eclipselink 不在单向 @ManyToOne 关系中生成 ON DELETE CASCADE 子句?

继承的控件不在表单设计器生成的代码中生成代码