我几乎可以肯定你现在得到了答案,但也许其他人希望得到解决方案的详细信息.下面是我用于在生成的PDF中嵌入字体的示例java代码(仅在某些情况下有用,因为文档的大小会急剧增加).作为创建PDF表单的免费工具,我使用OpenOffice编写器,在文档中添加表单并将文档导出为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();
Run Code Online (Sandbox Code Playgroud)