70 PDFBox是我为此找到的最好的库,它很全面,如果您只是进行基本的文本提取,它真的非常易于使用。示例可以在这里找到。 它在页面上对此进行了解释,但要注意的一件事是,使用setStartPage()和setEndPage()时的开始索引和结束索引都包含在内。我第一次绕过了这个解释,然后花了我一段时间才意识到为什么每次打电话我回头一页以上! Itext是另一种也可以与C#一起使用的替代方法,尽管我个人从未使用过它。它比PDFBox级别低,因此如果您只需要基本文本提取,则不太适合该工作。 — 迈克尔·贝瑞 source
27 使用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(); — 萨钦 source 2 导入这些:import java.io.File; import java.io.IOException; import org.apache.pdfbox.pdmodel.PDDocument; import org.apache.pdfbox.text.PDFTextStripper; import org.apache.pdfbox.text.PDFTextStripperByArea; — Srivastav
17 PDFBox包含用于文本提取的工具。 iText对文本操作提供了更底层的支持,但是您必须编写大量代码才能提取文本。 iText in Action很好地概述了从PDF中提取文本的局限性,而与使用的库无关(第18.2节:提取和编辑文本),以及令人信服的解释,说明了为什么该库不支持文本提取。简而言之,编写处理简单情况的代码相对容易,但是从总体上来说,从PDF中提取文本基本上是不可能的。 — 博洛 source
import java.io.File; import java.io.IOException; import org.apache.pdfbox.pdmodel.PDDocument; import org.apache.pdfbox.text.PDFTextStripper; import org.apache.pdfbox.text.PDFTextStripperByArea;