从pdf到字符串

ffdz8vbo  于 2021-06-30  发布在  Java
关注(0)|答案(4)|浏览(247)

将pdf文件的文本(单词)作为一个长字符串或字符串数组最简单的方法是什么。
我试过pdfbox,但对我不起作用。

wztqucjr

wztqucjr1#

在许多新的PDF上,尤其是那些嵌入png图像的PDF上,pdfbox会出现呕吐。
我对pdftextstream印象深刻

oo7oh9g9

oo7oh9g92#

JPedal 以及 Multivalent 还提供文本提取 Java 或者你可以访问 xpdf 使用 Runtime.exec

7fhtutme

7fhtutme3#

使用itext。例如,下面的代码片段将提取文本。

PdfTextExtractor parser =new PdfTextExtractor(new PdfReader("C:/Text.pdf"));
parser.getTextFromPage(3);
gt0wga4j

gt0wga4j4#

嗯,我使用tika是为了从pdf中提取原始文本(它基于pdfbox),但是我认为tika只有在您必须从不同的文件格式中提取文本时才有用(自动检测帮助很大)。
如果您只想将pdf解析为文本,我建议使用pdftextstream,因为它比其他api(如itext和pdfbox)好得多。
使用pdftextstream,您可以很容易地获得结构化文本(页面->块->行->文本单位),并可以提取相关信息,如字符编码、高度、字符在页面中的位置等。。
例子:

public class ExtractTextAllPages {
    public static void main (String[] args) throws IOException {
        String pdfFilePath = args[0];
        PDFTextStream pdfts = new PDFTextStream(pdfFilePath); 
        StringBuilder text = new StringBuilder(1024);
        pdfts.pipe(new OutputTarget(text));
        pdfts.close();
        System.out.printf("The text extracted from %s is:", pdfFilePath);
        System.out.println(text);
    }
}

相关问题