我正在尝试使用飞碟库在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文件在段落标签中包含以下数据: اب اب اب اب 你好
生成的输出仅显示英文字符,不显示阿拉伯文字形。请提供帮助。
由于某种原因,如果没有使用特定的字体,则生成的PDF使用某种默认(可能是Helvetica)字体,该字体包含非常有限的字符集,显然不包含希腊代码页。参考
Arial是一种非常标准的字体,默认安装在大多数操作系统中,并实现了各种各样的字母(包括希腊语)。