Jasper报告使用PDF和Unicode(希腊文)字符
||
我有一个非常奇怪的问题:我试图将包含Unicode字符(希腊文)的Jasper报告导出为PDF。我的问题是,特定的希腊字符(字符delta)以与我正在使用的字体(Arial)不同的字体打印!
下图是从导出的pdf复制而来的:
下图是MS Word中使用相同字体的相同文本:
如您所见,第三个字母(delta)与其他字母不同。仅对于所有字体大小的字母而言,这种情况都会发生。我也尝试将字体更改为garamond,但是仍然遇到相同字母的问题!
最后,我应该补充一点,来自iReport的内部预览还可以,也可以导出为其他格式,例如docx或html ...
更新20/04/11:我也尝试使用Foxit Reader Portable打开pdf-但行为与Adobe Acrobat Reader完全相同。
更新28/04/11:我已经在pastebin中创建了一个片段,当导出为pdf时会产生问题。一个警告-您必须通过iReport的“选项-字体”来“安装”将使用的字体(在我的情况下为Arial),否则您将无法在pdf中看到任何内容。
更新13年5月3日解决方案:好吧,既然仍有一些人(可能来自希腊)仍然有相同的问题并查看此问题,我想进行另一次更新:我再次开始使用Jasper报告,但是现在我使用较新版本的Jasper(Jasper 5)和iReport(iReport 5)。现在一切正常,在PDF中没有问题的三角洲:)因此,如果遇到相同的问题,请尝试升级iReport和Jasper库!
更新13年5月4日最终评论:两年后,我能够使用有问题的希腊字符(delta)再次在系统上工作,并能够得出有关该问题的最终结论:因此,首先,我升级了我们使用Jasper到5.x仍然遇到问题!仅当我用从iReport 5.x创建(导出)的新字体更改了包含的字体扩展名(.jar)时,此问题才得到解决。因此,问题在于,在导出字体扩展名时,iReport 3.x(用于导出旧扩展名)无法正确导出希腊字符增量,而iReport 5.x可以很好地导出它。因此,我的建议仍然是正确的:任何遇到此问题的人都可以将Jasper版本升级到5.x,还可以通过iReprot 5.x重新导出字体扩展名。我真的希望我不会对此进行任何更新:)
没有找到相关结果
已邀请:
2 个回复
嘘伪
募磷
FPDF库使用的是“ Delta”名称(我认为)是为了显示数学上的“ delta”符号。 通过修补生成的.php字体信息文件,并将\'Delta \'更改为\'Deltagreek \',此问题得以解决。每个字体信息文件只需要执行一次。 尽管以上内容适用于PDF,FPDP和PHP,但我怀疑您在Jasper中遇到了相同的问题。您需要检查Jasper如何处理编码等。 希望这对某人有帮助:)