我有一个非常奇怪的问题:我试图导出包含Unicode字符(希腊语)为PDF的贾斯珀报告。我的问题是,一个特定的希腊字符(字符三角洲)被打印在一个不同的字体,我正在使用(Arial)!贾斯珀报告与PDF和Unicode(希腊)字符
以下图像从导出的PDF复制:
虽然以下图像是从MS Word中使用相同的字体相同的文本:
正如你可以看到,第三个字母(delta)与其他字母不同。对于所有字体大小,这只会发生在这封信上。我也尝试将字体更改为garamond,但仍然出现与完全相同的字母相同的问题!
最后,我要补充一点,从iReport的内部预览是好的,也行是出口到其他格式,如DOCX或HTML ...
更新20/04/11:我也试着用Foxit阅读器轻松打开PDF - 但与Adobe Acrobat Reader具有完全相同的行为。
更新28/04/11:我创建了snippet in pastebin,导出为pdf时会产生问题。一个警告 - 您必须通过iReport的“选项 - 字体”来“安装”您将使用的字体(Arial,在我的情况下),否则您将无法看到pdf中的任何内容。
更新13年5月3日SOLUTION:好,因为有些人(可能来自希腊)仍然有同样的问题,针对这一问题,我想再拍更新:我开始再次使用碧玉报告,但现在我正在使用更新版本的Jasper(Jasper 5)和iReport(iReport 5)。现在一切正常 - 在PDF中没有问题的增量:)所以,只要尝试升级iReport和Jasper库,如果你遇到同样的问题!
更新05/04/13最终评论:两年后,我又能够在有问题的希腊字符(delta)的系统上再次工作,并能够得出有关问题的最终结论:所以,首先我升级了我们用于5.x的Jasper版本,但仍然遇到了问题!只有当我使用从iReport 5.x创建(导出)的新字体扩展名(.jar)更改问题时才解决问题。所以,问题在于当导出字体扩展名时,iReport 3.x(用于导出旧扩展名)没有正确导出希腊字符delta,而iReport 5.x导出正确。所以我的建议仍然如此:任何有此问题的人都可以将Jasper版本升级到5.x,但也可以通过iReprot 5.x重新导出字体扩展名。我真的希望我不会再做任何更新:)
什么情况使用福昕阅读器,Okular中,或xpdf? – 2011-04-19 22:39:36
在iReport中为PDF生成设置的字符编码是什么?另见:http://www.fileformat.info/info/unicode/char/394/index.htm – 2011-04-22 19:06:55
@Dave Jarvis:Pdf编码是一个不赞成的参数。无论如何,这是CP1250(中欧)在我的文本领域,我尝试了CP1253(希腊语),Identity-H,Identity-V没有运气 - 可能没有发生任何事情,因为depracation ...你有我的链接是有问题的角色 - 但我能做些什么呢? – Serafeim 2011-04-26 07:37:35