iText輸出中文問題


iText默認不支持亞洲語言,導致iText生成中文出現問題,一般都是中文內容不能出現在pdf上,這是因為沒有中文字體的原因.

要讓iText支持中文,需要兩個jar包:

              iText包:itextpdf-5.3.5.jar(這里用的是5.3.5)

              iText語言包:iTextAsian.jar

要使iText能夠輸出中文,首先需要創建一個字體對象,代碼如下:

// 產生PDF字體
    public static Font setChineseFont() {
        BaseFont bf = null;
        Font fontChinese = null;
        try {
            bf = BaseFont.createFont("resources/SIMKAI.TTF",
                    BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
            fontChinese = new Font(bf, 12, Font.NORMAL);
        } catch (DocumentException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return fontChinese;
    }

上面的SIMKAI.FF是字體文件,可在C:\\WINDOWS\\Fonts下找到,我這使用的是相對路徑,所以就在項目根目錄創建了一個resources目錄用來存在項目資源。

到這里,配置中文字體Ok,只要在使用iText生成pdf內容時,將上述方法返回的Font對象傳入即可。

以下是pdf添加段落,為段落制定字體的代碼:

         /**
                 * setChineseFont()是上面創建字體的方法
                  */
                doc.add(new Paragraph("太極~~", setChineseFont()));

這樣,中文輸出就OK了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM