PDF是当今的裁决文件格式之一。它支持文本、图形、表格、注释和一系列其他元素。在某些情况下,您可能需要从 PDF 文档(如发票)中的表格中提取数据。为了以编程方式实现这一点,本文介绍了如何使用 Java 从 PDF 表格中提取数据。 从 PDF 表格中提取数据的 Java API
Aspose.PDF for Java是一个功能丰富的 API,用于创建和操作 PDF 文档。我们将使用此 API 从 PDF 文档的表格中提取数据。您可以 使用以下Maven 配置下载API 的 JAR 或将其安装在您的 Java 应用程序中 。
<repository>
<id>AsposeJavaAPI</id>
<name>Aspose Java API</name>
<url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-pdf</artifactId>
<version>21.9</version>
</dependency>
使用 Java 从 PDF 表格中提取数据
以下是使用 Java 从 PDF 中的表格中提取数据的步骤。
- 首先,使用Document类加载 PDF 文档。
- 使用Document.getPages()集合遍历 PDF 中的页面。
- 在每次迭代中,初始化TableAbsorber对象并使用TableAbsorber.visit(Page)方法访问所选页面。
- 在嵌套循环中,遍历TableAbsorber.getTableList()集合中的表列表。
- 对于集合中的每个AbsorbedTable,遍历来自AbsorbedTable.getRowList()的行集合。
- 对于集合中的每个AbsorbedRow,遍历来自AbsorbedRow.getCellList()的单元格集合。
- 最后,遍历TextFragment每个集合AbsorbedCell和打印文本。
从 PDF 页面的特定区域提取表格
以下是使用 Java 从 PDF 页面的特定部分提取表格的步骤。
- 首先,使用Document类加载 PDF 文档。
- 然后,从Document.getPages()集合中选择所需的页面。
- 提取页面的 Square 注释。
- 在每次迭代中,初始化TableAbsorber对象并使用TableAbsorber.visit(Page)方法访问所选页面。
- 在嵌套循环中,遍历TableAbsorber.getTableList()集合中的表列表。
- 检查吸收的表格是否在所需的页面区域中。
- 对于集合中的每个AbsorbedTable,使用AbsorbedTable.getRowList()遍历行集合。
- 对于集合中的每个AbsorbedRow,使用AbsorbedRow.getCellList()遍历单元格集合。
- 最后,遍历TextFragment每个集合AbsorbedCell和打印文本。