
用Java从PDF中提取表格
最近,我们发表了一篇 文章,介绍了如何以编程方式从 Java 中的 PDF 文件中提取文本。在这篇博文中,我们将学习如何使用 Java API for PDF 从 Java 中的 PDF 中提取表格。该库提供强大的功能来解析和操作 PDF 文档。此外,您可以通过使用此库构建 PDF 表格提取器来自动提取数据。但是,在继续之前,请确保您已在本地计算机上安装了 Java。
本指南应涵盖以下几点:
PDF 表格提取器 - API 安装
这个库的安装过程简单直接。事实上,您可以 下载 API 或使用以下 Maven 配置安装它。
<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>
<classifier>jdk17</classifier>
</dependency>
用Java从PDF中提取表格
安装 API 后,您可以开始编写代码以编程方式构建 PDF 表格提取器。
您可以按照下面提到的步骤和代码段进行操作:
- 创建 Document 类的对象并加载源 PDF 文件。
- 实例化执行搜索并提供对搜索结果的访问的 TableAbsorber 类的实例。
- 通过调用 getPages 方法循环浏览 PDF 文档页面。
- 调用 visit 方法从页面中提取表格。
- 调用 getTableList 方法,该方法返回包含找到的表的只读 IList。
- 通过调用 getRowList 方法获取行遍历行列表。
- 通过调用 getCellList 方法遍历单元格列表。
- 调用 getTextFragments 方法来获取描述单元格中包含的文本的 TextFragment 对象的集合。
- 调用 getSegments 方法获取当前 TextFragment 的文本段。
- 打印结果。
将以下代码复制并粘贴到您的主文件中:
String filePath = "table.pdf";
// 创建 Document 类的对象并加载源 PDF 文件
Document pdfDocument = new Document(filePath);
// 实例化执行搜索并提供对搜索结果的访问的 TableAbsorber 类的实例
TableAbsorber absorber = new TableAbsorber();
// 通过调用 getPages 方法循环浏览 PDF 文档页面
for (Page page : pdfDocument.getPages()) {
// 调用访问方法从页面中提取表格
absorber.visit(page);
// 调用 getTableList 方法,该方法返回包含找到的表的只读 IList
for (AbsorbedTable table : absorber.getTableList()) {
System.out.println("Table");
// 通过调用 getRowList 方法获取行 遍历行列表
for (AbsorbedRow row : table.getRowList()) {
// 通过调用 getCellList 方法遍历单元格列表
for (AbsorbedCell cell : row.getCellList()) {
// 调用 getTextFragments 方法以获取描述单元格中包含的文本的 TextFragment 对象的集合
for (TextFragment fragment : cell.getTextFragments()) {
StringBuilder sb = new StringBuilder();
// 调用获取当前 TextFragment 的文本段的 getSegments 方法。
for (TextSegment seg : fragment.getSegments())
sb.append(seg.getText());
System.out.print(sb.toString() + "|");
}
}
System.out.println();
}
}
}
获得免费许可证
您可以使用 免费临时许可证 来试用 API,而不受评估限制。
加起来
这将我们带到这篇博文的结尾。您已经学习了如何以编程方式从 Java 中的 PDF 中提取表格。如果您正在为您的业务应用程序构建 PDF 表格提取器,本指南将真正为您提供帮助。此外,您可以访问 文档 以了解其他功能。
此外,我们建议您遵循我们的 入门指南。
最后,conholdate.com 正在撰写新的博文。因此,请保持联系以获取最新更新。
问一个问题
您可以在我们的 论坛 上告诉我们您的问题或疑问。
常见问题
我可以从 PDF 中提取表格吗?
请访问此 链接 以了解以编程方式从 PDF 文档中提取表格的步骤和代码片段