提问者:小点点

飞碟iTextPDF中文字体


我正在使用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();

共1个答案

匿名用户

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

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