我正在尝试摆脱使用多年的自定义字体。根据规定,我需要用一种常见的字体替换这种字体。 无论如何,我试图编写一个JUnit Test来使用PDFBox更改pdf的字体。
这就是我所做的:
@Test
public void changeFontOfAllPdfsToArial() throws Exception {
PDDocument document = PDDocument.load(new File("src/test/broken_pdf.pdf"));
for(PDPage page : document.getPages()) {
PDResources resources = page.getResources();
for(COSName key : resources.getFontNames()) {
PDFont font = resources.getFont(key);
System.out.println(font.getFontDescriptor().getFontName());
if(resources.getFont(key).toString().contains("CUSTOM")) {
}
}
}
document.save(new File(PDFs.get(0).getAbsolutePath() + "_test"));
}
遍历列表将为我提供文档的所有字体。 我正在获取资源的COSName键,但是如何更改它的字体?谢谢你的帮助!
€:提一下:字体是嵌入的。