如何使用 PDFTable 或 PDFTableExtractor class 从 java 中的 PDF 文件读取值?

How to read values from a PDF file in java using PDFTable or PDFTableExtractor class?

我尝试使用 PDFTextStripperByAreaPDPageContentStream classes 从我的 pdf 文件中提取数值。 他们工作得很好!

但我的要求是使用PDFTablePDFTableExtractorclass来读取pdf内容。你能告诉我什么是 maven 依赖项jar 文件 我需要使用访问上面说的 classes 吗? 还要提及从特定位置获取值所需的方法

我还有一个疑问。 我们可以从 PDF 文件中提取 table 格式的数据吗? 我的意思是包含行和列的数据包含 table 行。如果一个页面包含一些文本和一个 table,我们可以只读取 table headers 和行吗? 我已经在 GitHub 上传了我的页面。点击here!从该图像中,我只需要 总保费、商品及服务税和应付总额 的值。请让我知道这是否可能

PDFTable

我找到了两个 PDFTable classes:

com.lowagie.text.pdf.PdfPTable

com.itextpdf.text.pdf.PdfPTable

两者的文档class(这可能有助于您学习所需的方法):

https://www.coderanch.com/how-to/javadoc/itext-2.1.7/com/lowagie/text/pdf/PdfPTable.html

http://itextsupport.com/apidocs/itext5/5.5.9/com/itextpdf/text/pdf/PdfPTable.html

如果您想使用此 classes,您可以将依赖项复制到您的 pom.file 来自: https://mvnrepository.com/artifact/com.itextpdf/itextpdf
https://mvnrepository.com/artifact/com.lowagie/itext - 如本 link 中所述,此工件已移至 com.itextpdf

您可以在此处找到有关如何使用此 classes 的示例:

https://developers.itextpdf.com/examples/itext-action-second-edition/chapter-4

https://www.programcreek.com/java-api-examples/index.php?api=com.lowagie.text.pdf.PdfPTable

首先,不要使用包 com.lowagie 中的 类 该代码是旧的、过时的并且不再受支持。此外,这段代码属于iText的非常早期的版本。

之后对所有代码的知识产权 属性 进行了彻底调查(因为 iText 有很多贡献者)。当您使用旧代码时,您可能(在不知不觉中)使用了您没有版权的代码。

其次,如果您只想解决从 PDF 文档中提取数字和表格的问题,请查看 pdf2Data。这是一个 iText 插件,让事情变得更简单。

它给你一个很好的 UI,你可以在其中构建用于数据提取的模板。然后,您可以调用单个方法将现有 (XML) 模板与输入 PDF 文档进行匹配,您将获得一个包含所有匹配信息的数据结构。

http://pdf2data.online/