如何使用Java阅读PDF文件?

yoh*_*hna 61 java pdf

我想使用Java从PDF文件中读取一些文本数据.请帮我这样做.

任何帮助表示赞赏.

Mic*_*rry 66

PDFBox是我为此目的找到的最好的库,如果你只是进行基本的文本提取,它是全面的,非常容易使用.例子可以在这里找到.

它在页面上解释了它,但有一点需要注意的是,使用setStartPage()和setEndPage()时的起始和结束索引包括在内.我第一次跳过了那个解释然后我花了一段时间才意识到为什么每次通话我都会得到多个页面!

Itext是另一个也适用于C#的替代方案,尽管我个人从未使用它.它比PDFBox更低级,因此如果您只需要基本的文本提取,则不太适合这项工作.


小智 24

使用Apache PDFBox,它是这样的:

PDDocument document = PDDocument.load(new File("test.pdf"));
if (!document.isEncrypted()) {
    PDFTextStripper stripper = new PDFTextStripper();
    String text = stripper.getText(document);
    System.out.println("Text:" + text);
}
document.close();
Run Code Online (Sandbox Code Playgroud)

  • 导入这些:`import java.io.File; 导入java.io.IOException; 导入org.apache.pdfbox.pdmodel.PDDocument; 导入org.apache.pdfbox.text.PDFTextStripper; 导入org.apache.pdfbox.text.PDFTextStripperByArea;` (2认同)

Bol*_*olo 17

PDFBox包含用于文本提取的工具.

iText对文本操作有更多的低级支持,但是您必须编写大量代码才能获取文本.

iText in Action包含对PDF文本提取限制的很好概述,无论使用哪个库(第18.2节:提取和编辑文本),以及为什么库没有文本提取支持的令人信服的解释.简而言之,编写一个处理简单案例的代码相对容易,但基本上不可能从PDF中提取文本.