首页 > 解决方案 > 使用 ITextRenderer 进行飞碟字体注册

问题描述

我正在使用飞碟使用 iText-2.1.7 从 html 生成 pdf。

对于我打印的每份文件,我都会:

ITextRenderer renderer = new ITextRenderer();

对于我使用的每种字体:

renderer.getFontResolver().addFont(font.getPath(),font.getName(), BaseFont.CP1252, BaseFont.EMBEDDED, null);

然后是创建pdf的其余代码:

renderer.getSharedContext().setReplacedElementFactory(...)
renderer.getSharedContext().setUserAgentCallback(...);
renderer.setDocument(xhtmlDom,null);
renderer.layout();
renderer.createPDF(byteArrayOutputStream);

因此,对于每个文档,我一次又一次地注册所有字体......

这是绝对必要的吗?我可以使用任何字体缓存服务或类似的东西吗?

非常感谢!

标签: itextflying-sauceropenpdf

解决方案


推荐阅读