gpt4 book ai didi

java - 我们可以使用 Java 中的 Tabula 提取 PDF 表格之间的文本吗?

转载 作者:行者123 更新时间:2023-12-01 22:17:11 24 4
gpt4 key购买 nike

我能够使用 Tabula 提取表格。我寻找如何使用 Tabula 输出它们之间的文本的方法,但它似乎仅适用于表格。关于如何做到这一点有什么想法吗?

public static List<Table> extractTablesFromPDF(PDDocument document) {
NurminenDetectionAlgorithm detectionAlgorithm = new NurminenDetectionAlgorithm();

ExtractionAlgorithm algExtractor;

SpreadsheetExtractionAlgorithm extractor=new SpreadsheetExtractionAlgorithm();

ObjectExtractor extractor = new ObjectExtractor(document);
PageIterator pages = extractor.extract();
List<Table> tables=new ArrayList<Table>();
while (pages.hasNext()) {
Page page = pages.next();
if (extractor.isTabular(page)) {
algExtractor=new SpreadsheetExtractionAlgorithm();
}
else
algExtractor=new BasicExtractionAlgorithm();

List<Rectangle> tablesOnPage = detectionAlgorithm.detect(page);


for (Rectangle guessRect : tablesOnPage) {
Page guess = page.getArea(guessRect);
tables.addAll((List<Table>) algExtractor.extract(guess));
}

}

return tables;
}

预先感谢您的帮助!

最佳答案

这里是 Tabula 的维护者。

Tabula 中没有公共(public)方法可以执行此操作,但您可以使用 PDFBox 的 PDFTextStripper

查看 PDFBox 中包含的命令行工具之一可能会很有用:https://github.com/apache/pdfbox/blob/trunk/tools/src/main/java/org/apache/pdfbox/tools/ExtractText.java

关于java - 我们可以使用 Java 中的 Tabula 提取 PDF 表格之间的文本吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58617604/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com