我正在尝试使用 Java 以结构化方式将表数据提取为表。 过去两年我一直在使用 pdfbox 和 tabula。 但问题是 pdfbox 将 pdf 中的所有数据作为排序或未排序的文本返回,并且 tabula 有时会检测到具有完美边框的表格,并且无法识别没有边框的表格。
请帮助我找到一个解决方案,使用 Java 以结构化格式从 pdf 中提取表格,而不是使用 pdfbox 和 tabula api。
如果你想使用Java从PDF中提取表格,那么我认为这种方法非常适合你。使用 Spire.PDF for Java 控件来完成此操作。Spire.PDF for Java 提供了 PdfTableExtractor.extractTable(int pageIndex) 方法来从所需的 PDF 页面中检测并提取表格。 您可以参考以下Java代码:
//Loop through the pages in the PDF
for (int pageIndex = 0; pageIndex < pdf.getPages().getCount(); pageIndex++) {
//Extract tables from the current page into a PdfTable array
PdfTable[] tableLists = extractor.extractTable(pageIndex);
这里是完整的文章教程:使用Java从PDF文档中提取表格数据。我希望这个答案对您非常有帮助。