使用PDFBox时,MS Edge中的字体与Chrome中的PDF字体不同



我在Acrobat Reader DC中创建了一个PDF模板,其中包含一个我试图用一些文本填充的字段。该字段具有我要保留的特定字体。我可以获得字段并更改值。

但是,当我在Internet Explorer中打开PDF时,字体是默认字体。令人困惑的是,如果我在Chrome中打开它,它会显示正确的字体。不知道为什么,任何帮助都是感激的。我使用的是PDFBox版本2。

(如果我不使用Java编辑文件,字体就可以工作,如果我只是在Acrobat中手动更改并保存文件,那么它就会正确显示。)

请参阅下面的代码。

File file = new File("PDFToReadFrom.pdf");
PDDocument pdDoc = PDDocument.load(file);
PDDocumentCatalog pdCatalog = pdDoc.getDocumentCatalog();
PDAcroForm pdAcroForm = pdCatalog.getAcroForm();
for(PDField pdField : pdAcroForm.getFields()){
pdField.setValue("value");
}
pdDoc.save(new File("test.pdf"));       
pdDoc.close();

我建议您最好比较PDF文件(使用Java编辑的文件和Acrobat生成的文件),无论它们是否使用相同的字体。

根据这篇文章,我们似乎可以在使用PDFBox创建PDF文件时设置字体。

最新更新