使用iText从PDF中提取斜体字

时间:2015-05-26 04:02:16

标签: pdf fonts itextsharp itext text-extraction

我正在尝试从PDF中提取一些内容,特别是我想要提取所有斜体文本,我正在使用iText。 然后我发现这篇文章get italic lines from a pdf非常有帮助。我使用了类似的策略。

然而,对于我的pdf,我只是无法提取斜体字体,所以我试图打印出字体名称,我发现所有字体名称都不是常规字体名称,例如' AdvPS_TTR', ' FFHNAB + AdvGulliv-I',' PFIIDC + AdvOTce3d9a73',这就是我无法提取斜体文字的原因。这是我的问题,这些字体是什么?我怎么知道它是否是斜体?

如果需要代码,我会在下面粘贴它们。

public class ItalicWordExtraction extends SimpleTextExtractionStrategy{

    @Override
    public void renderText(TextRenderInfo arg0){
        DocumentFont font = arg0.getFont();
        String[][] familyFontNamesArray = font.getFamilyFontName();
        for (String[] familyFontNames : familyFontNamesArray){
            for (String familyFontName : familyFontNames){
                System.out.println(familyFontName);
                if (familyFontName.toLowerCase().contains("italic"))
                {
                    if (font.getFontDescriptor(BaseFont.ITALICANGLE, 0) < 0)
                        super.renderText(arg0);
                    break;
                }
            }
        }
    }
}

以下是示例文件:http://www.megafileupload.com/2pHH/pdf2.pdf 查看参考部分,所有期刊名称都是斜体,这就是我要提取的内容。

0 个答案:

没有答案