我用apache的PDFBox版本2.0.x解析PDF文檔 我看到很多關於從實際內容中分離頁眉/頁腳的問題。 我的發現是這些部分有一些概念(在我的示例PDF中),因爲SortByPosition標誌對內容寫入文本的順序有影響。 當我將SortByPosition設置爲false時,我首先獲得頁眉/頁腳,然後是正文(對於每個頁面都重複此操作)。 當我將SortByPostion設置爲true時,我按照它在PDF閱讀器屏幕上顯示的順序獲取內容。Apache PDFBox PDFTextStripper訪問頁面的文本部分,我該怎麼辦?
PDFTextStripper textStripper = new PDFTextStripper();
textStripper.setSortByPosition(true);
String content = textStripper.getText(pdf);
System.out.println(content);
因此,內部這些文本片段可用一個單獨的「文本塊」。 我的問題是:有沒有辦法讓我單獨訪問這些塊?
下面這一段代碼進行排序標誌的輸出爲真
部首PDF MIC
Vandaag Meer的擔1 pagina
門自我介紹geschrevenHeader PDF MIC
Dan is第2頁
更多信息在線英語字典
並且這與排序標誌輸出到假
部首PDF MIC
Vandaag Meer的擔1個pagina
門mij geschreven
頁眉PDF MIC
丹DIT pagina 2
會見veel米爾teksten恩woorden。
如果你知道的座標,使用PDFTextStripperByArea。我們感謝 –
@TilmanHausherr PDF文件會由不同供應商提供,我們這樣做,我不知道的佈局/事先協調,但我們可以從PDF/A符合假設的頁眉/頁腳/頁碼很好。如果您收到來自不同供應商 – mpjjonker
PDF文件,爲什麼你認爲你可以做一個內部結構的使用來解析PDF它們全部? *我們可以假設一個頁眉/頁腳/頁碼*卻怎麼也不能*將通過機器識別?想想對你的使用情況適當的標準,那麼我會幫助您實現我們做DIS。 * PDF/A *遵守什麼味道? PDF/A-1A? 1B? 2A? 2B? 2U? 3A? 3B?第三個?這 – mkl