我有一個文本編輯程序,將其輸出保存爲PDF文件。iText,Unicode字符和Java
它還將所有文本保存到PDF字典中,從中可以再次讀回它。 的問題是,在我的母語字符,如C,C,DJ,Z,S的很常見......
當我寫這些字在我的程序GUI,這很好,他們都apear(我(目前)使用java的arial字體)。
當我保存並打開PDF文件時,AdobeReader,iC缺失,並且應該打印đ,ž和š。我使用的是自定義(TrueType字體)字體(BookAntiqua,從here下載。
這是編碼問題或字體本身(它不支持對DJ,Z的人物)?
此外,當我再次將PDF加載到我的程序中時,丟失的字母仍然丟失,並且đ,ž,are與⎕symboles和類似的...交換PDF是如何編寫的或者是否還有其他內容?
底線是,我希望這五個字符可以在我的程序GUI和PDF文檔中看到,並且它們可以從PDF字典中正確檢索到。
我知道如何將字體嵌入到PDF中,這不是問題,似乎問題出在我正在使用的字體上... 我一直在尋找一段時間...可以嗎向我推薦任何類似於BookAntiqua或TimesNewRoman並且還支持unicode字符的字體? –
@IvanKarlovic不,我忘了這個名字,那是6年或更久以前。當然,如果你改變你的字體到一個正確的,並嵌入到PDF將解決問題,但你需要谷歌它。這裏是一個列表http://en.wikipedia.org/wiki/Unicode_font – 2012-09-22 12:26:51
我發現字體,它確實有幫助,但它並沒有解決我的問題。從PDF中讀取的文本仍然不會打印這些字符。 我甚至tryed這一點: '公共靜態字符串unicodize(字符串字符串) \t { \t \t與string.replace( 「C」, 「/ u0106」); \t \t string.replace(「ć」,「/ u0107」); \t \t string.replace(「Č」,「/ u010C」); \t \t string.replace(「č」,「/ u010D」); \t \t string.replace(「Đ」,「/ u0110」); \t \t string.replace(「đ」,「/ u0111」); \t \t string.replace(「Š」,「/ u0160」); \t \t string.replace(「š」,「/ u0161」); \t \t string.replace(「Ž」,「/ u017D」); \t \t字符串。替換(「ž」,「/ u017E」); \t \t return string; \t \t}' –