2014-07-22 76 views
0

我試圖使用飛碟庫在PDF中打印阿拉伯文和英文文本。這裏是我的代碼:PDF使用飛碟的多語言文本生成

String inputFile = "D:/test.xhtml"; 
    String url = new File(inputFile).toURI().toURL().toString(); 
    String outputFile = "D:/doc.pdf"; 
    OutputStream os = new FileOutputStream(outputFile); 

    ITextRenderer renderer = new ITextRenderer(); 
    ITextFontResolver resolver = renderer.getFontResolver(); 
    resolver.addFont("D:/arialuni.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED); 

    renderer.setDocument(url); 
    renderer.layout(); 
    renderer.createPDF(os); 

    os.close(); 

和我的XHTML文件有下列包含在段落標記數據: اباباباب你好

輸出生成的只顯示英文字符而不是阿拉伯語字形。請幫忙。

+0

添加語言標籤。它是Java嗎? – Jens

+0

是的。 Java代碼使用這個庫將XHTML轉換爲PDF。 – aanchal

+0

您是否將文檔的字體設置爲'arialuni'字體?您需要實際更改文檔中文字的字體。 –

回答

0

由於某種原因,如果沒有使用特定的字體,生成的PDF使用某種默認(可能是Helvetica)字體,其中包含一個非常有限的字符集,顯然不包含希臘代碼頁。 Reference

Arial字體是一個相當標準字體,默認情況下在大多數操作系統安裝,並實現各種各樣的字母(包括希臘)的。