2014-07-22 47 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字体是一个相当标准字体,默认情况下在大多数操作系统安装,并实现各种各样的字母(包括希腊)的。