itext在PDF中嵌入字体

我有一个使用Foxit表单设计器创建的pdf文件。在我的设计系统上,我安装了条形码字体。条形码字体在AcroField之一中使用。foxit似乎没有在文档中嵌入字体。

我也有一些客户的计算机上未安装条形码字体,因此我想将该字体嵌入到PDF中。我是否可以使用iText将AcroFields中使用的字体嵌入到PDF中?

字体似乎包含在文本中,但没有包含在字段中,因此字体(条形码)将不会打印。

回答:

我几乎可以肯定您现在已经得到了答案,但是也许其他人希望对解决方案有一个详细的了解。以下是我用于将字体嵌入生成的PDF中的示例Java代码(仅在某些情况下有用,因为文档的大小会急剧增加)。作为创建PDF表单的免费工具,我使用OpenOffice

writer,通过在文档内部添加表单并将文档导出为PDF文件:

PdfReader pdfTemplate = new PdfReader(templateName);

ByteArrayOutputStream out = new ByteArrayOutputStream();

BaseFont unicode = BaseFont.createFont(unicodeFontPath, BaseFont.IDENTITY_H, BaseFont.EMBEDDED);

PdfStamper stamper = new PdfStamper(pdfTemplate, out);

//assigning the font to the field

stamper.getAcroFields().setFieldProperty("myField", "textfont", unicode, null);

stamper.getAcroFields().setField("myField", someValue);

stamper.close();

pdfTemplate.close();

以上是 itext在PDF中嵌入字体 的全部内容, 来源链接: utcz.com/qa/426292.html

回到顶部