提问者:小点点

使用飞碟生成具有多语言文本的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文件在段落标签中包含以下数据: اب اب اب اب 你好

生成的输出仅显示英文字符,不显示阿拉伯文字形。请提供帮助。


共1个答案

匿名用户

由于某种原因,如果没有使用特定的字体,则生成的PDF使用某种默认(可能是Helvetica)字体,该字体包含非常有限的字符集,显然不包含希腊代码页。参考

Arial是一种非常标准的字体,默认安装在大多数操作系统中,并实现了各种各样的字母(包括希腊语)。