飞碟iTextPDF中文字体

时间:2013-05-29 08:53:05

标签: java fonts itext flying-saucer

我正在使用FlyingSaucer(R8pre2版本)将XHTML转换为PDF格式。

HTML包含中文字符并使用MS Mincho字体。

文档已转换,但已转换的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();

1 个答案:

答案 0 :(得分:0)

在显示中文字体之前需要加载中文字体。例如:

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);