我有一個非常奇怪的問題:我試圖導出包含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