Itext 使用入門 之 建立pdf 文件 附中文解決方案
阿新 • • 發佈:2019-01-23
Itext.jar 的版本是 5.0.5
往 c:/test.pdf 檔案寫入中文
BaseFont chinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
若 BaseFont 如此定義 則會報一個
com.itextpdf.text.DocumentException: Font 'STSong-Light' with 'UniGB-UCS2-H' is not recognized.
Font 'STSong-Light' with 'UniGB-UCS2-H' is not recognized
還是不行,繼續研究,在網上前輩們說如下原因:
iText5.x版本以上中的font和encoding檔案都是從String RESOURCE_PATH = "com/itextpdf/text/pdf/fonts/"載入的,而老itextasian.jar的包名是com.lowagie.text.pdf.fonts, 包名不一致導致路徑錯誤,。 |
具體解決方法就是修改包的路徑了,詳細方法如下:
1.解壓iTextAsian.jar 得到如下目錄: iTextAsian --com --lowagie --text --fonts --...(字型屬性檔案) 2.將解壓後的com目錄下的包名lowagie更改為itextpdf 3.在命令列轉至iTextAsian目錄,重新打包為iTextAsian.jar檔案 4.打包命令如下: jar cvf iTextAsian.jar com/itextpdf/text/pdf/fonts/* 5.執行後,將新的iTextAsian.jar加入classpath路徑 |
執行結果,OK,解決問題。
===========================
可以使用系統自帶的字型
或者 將simsun.ttc複製到 src 目錄下面;
至此問題解決