我正在嘗試從我之前創建的 pdf 檔案中提取表格的每一行。
我遇到的問題是,我認為會保存為“null”的空單元格被忽略,甚至不會被讀取為空格字符。


我通過這種方法從我的 PDF 中提取內容:
public final ArrayList<String> extractLines(final File pdf) throws IOException {
try (PDDocument doc = PDDocument.load(pdf)) {
PDFTextStripper strip = new PDFTextStripper();
String txt = strip.getText(doc);
String[] arr = txt.split("\n");
final ArrayList<String> lines = new ArrayList<>(Arrays.asList(arr));
return lines;
}
}
甚至可以用空格提取資料嗎?
如果是這樣,使用 PDFBox?還是另一種方法?
編輯:
無法讓陷阱范圍作業,簡單測驗:
File e = new File("C:/Users/Test/Downloads/a.pdf");
List<Table> t = new PDFTableExtractor().setSource(e).extract();
System.out.println(t.get(0).toString());
只給我:

這可能與我的桌子的形式有關嗎?
我的桌子:

uj5u.com熱心網友回復:
該解決方案需要自定義演算法來完成任務。請檢查此解決方案以獲取自定義 PDFTableStripper。
Tho實施了另一個很好的解決方案,可以在traprage中找到。它可以提取特定單元格的空資料。
uj5u.com熱心網友回復:
我想出了自己的解決方案。
由于我有一個 2D ArrayList,我每個人都有一個包含表格行的串列。
現在我保存非空單元格的位置(任何時候每行只有一個不是空的)。
我將其保存在 PDF 的元資料欄位中并加載此欄位以獲取位置。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/410362.html
標籤:
下一篇:從PDF匯出頁面子集
