我正在尝试使用Flying Saucer库以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 :(得分:0)
由于某种原因,如果没有使用特定字体,生成的PDF使用某种默认(可能是Helvetica)字体,其中包含非常有限的字符集,显然不包含希腊语代码页。 Reference
Arial是一种非常标准的字体,默认安装在大多数操作系统中,并实现了各种各样的字母(包括希腊文)。