使用PDFBox检查pdf中的嵌入字体

时间:2013-08-28 13:20:25

标签: java pdfbox

请问,我想知道从pdf中提取的字体是否嵌入,我该如何使用PDFBox进行此操作?

2 个答案:

答案 0 :(得分:0)

您可能会找到答案here

要获取所有字体,您必须遍历pdf页面并提取字体,如下所示:

PDDocument  doc = PDDocument.load("C:/test.pdf");
List<PDPage> pages = doc.getDocumentCatalog().getAllPages();
for(PDPage page:pages){
    Map<String,PDFont> pageFonts=page.getResources().getFonts();
}

答案 1 :(得分:0)

在PDFBox2中,您将获得如下字体及其嵌入状态:

PDResources resources = page.getResources();
Iterator<COSName> ite = resources.getFontNames();
while (ite.hasNext()) {
    COSName name = ite.next();
    PDFont font = resources.getFont(name);
    boolean isEmbedded = font.isEmbedded();
    // ... do something with the results ...
}
但是,我发现没有办法找出嵌入字体的哪些字符,哪些字符不嵌入。