我正在使用FlyingSaucer(R8pre2版本)将XHTML转换为PDF。
超文本标记语言具有中文字符,并使用MSMincho字体。
文档已转换,但转换后的PDF上缺少所有汉字。
知道如何解决这个问题吗?
代码:
OutputStream os = new FileOutputStream("output.pdf");
String inputFile = "input.html";
String url = new File(inputFile).toURI().toURL().toString();
ITextRenderer renderer = new ITextRenderer();
renderer.setDocument(url);
renderer.layout();
renderer.createPDF(os);
os.close();
在显示中文字体之前需要加载中文字体。例如:
renderer.getFontResolver().addFont("fonts/TIMES.TTF", BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
renderer.getFontResolver().addFont("fonts/TIMESBD.TTF", BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
renderer.getFontResolver().addFont("fonts/TIMESBI.TTF", BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
renderer.getFontResolver().addFont("fonts/TIMESI.TTF", BaseFont.IDENTITY_H, BaseFont.EMBEDDED);