2011-03-15 86 views
2

我嘗試從我的Java應用程序導出一些數據到PDF文件。我決定使用pdfBox庫,但我意識到我無法將希臘字符正確顯示到pdf文件中。有沒有辦法設置編碼?到utf8或iso-8859-7?我嘗試類似於PdFontEncoding或Encoding,但我沒有得到任何東西。Java PDFBOX文本編碼

謝謝你的時間。

回答

1

有兩件事情你需要做的:

  • 設定編碼,
  • 提供的字體用希臘字母

內置的字體,大部分PDF閱讀器有(即Adobe Reader,OS X Preview等)只有latin1編碼,其中不包括希臘字符。見http://libharu.sourceforge.net/fonts.html

我的猜測是,這裏的問題是不與編碼,而是問題是字體。您將需要獲取希臘字符的字體並將其嵌入到PDF文件中。確保您擁有嵌入字體的許可證!

又見Using Java PDFBox library to write Russian PDF

+0

謝謝gutch的回答,我下載的字體與希臘字符也從Windows字體,例如宋體複製和我嘗試代碼'PDFont字體= PDTrueTypeFont.loadTTF(DOC,「verdana.ttf 「);'但結果是一樣的,當我打開pdf文件時,出現錯誤信息_font verdana包含bad/widths_您還說第一步要設置encoding_,我該怎麼做呢? – javment 2011-03-15 11:45:04

+0

該錯誤消息已被報告爲PDFBox 1.4.0版中的錯誤(請參閱https://issues.apache.org/jira/browse/PDFBOX-954) - 也許1.3.0將適合您? – gutch 2011-03-16 00:56:42

+0

關於如何設置編碼的問題,我不知道 - 我發現PDFBox文檔在這方面有點欠缺! – gutch 2011-03-16 00:59:02