使用pdfbox

时间:2016-11-29 08:23:48

标签: pdfbox

我正在使用pdfbox来获取pdf中使用的所有字体的名称。

到目前为止它运作良好。但是,我最近遇到了一个带有“Webdings”字体的pdf。 PDFBox无法识别它。有人可以帮忙。

这是我用过的代码:

public static Set<String> extractFonts(String pdfPath) throws IOException 
{
        PDDocument  doc = PDDocument.load(new File(pdfPath));

        PDPageTree pages = doc.getDocumentCatalog().getPages();
        Set<String> fontSet = new HashSet<String>();
        try{
            for(PDPage page:pages){
                    PDResources res = page.getResources();
                    for (COSName fontName : res.getFontNames())
                    {
                        PDFont font = res.getFont(fontName);
                        if(font != null){
                            String fontUsedName = font.getName();
                            if(fontUsedName.contains("+")) {
                                fontUsedName = fontUsedName.substring(fontUsedName.indexOf("+")+1, fontUsedName.length());
                            }
                            fontSet.add(fontUsedName);
                        }
                    }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        System.out.println(fontSet);
        return fontSet;
    }

我能够知道文件&gt;中存在'Webdings'字体。 Adobe Reader中的属性 - &gt;字体选项

0 个答案:

没有答案