2014-10-31 119 views
0

我們探討了很多API,如tika,Pdfbox和itextpdf,以從pdf文件中提取頁碼,但我們無法做到這一點。在itextpdf中,我們得到了PdfPageLabels.getPageLabels(reader),但是這種方法的行爲並不統一。如何從PDF文件中提取頁碼

+0

您至少可以獲得總頁數 - http://stackoverflow.com/a/17845046/1406510 – nanosoft 2016-05-31 11:18:08

回答

3

您找不到任何能夠從PDF中提取頁碼的軟件的原因很簡單:PDF中不存在頁碼的概念。

允許我預測你的迴應。

*「等一下!」你說,「當我用Adobe Reader打開PDF時,我可以清楚地看到文檔中的頁碼!」

嗯,是的,你可以看到你的眼睛,你的情報,頁碼,但是到了這個數字只是一個畫布上繪製一些文字。消耗文檔的機器不知道頁面上的所有字形和線條以及形狀。因此,軟件無法爲您提供您作爲人類看到的頁碼。一臺機器不知道去哪裏看!

如果您對PDF有所瞭解,我可以預測您的下一個回覆。

「等一下!」你說,「標籤PDF怎麼樣?不標記PDF意味着文檔的語義與表示一起存儲?」

嗯,是的,當一個PDF被標記了一段文本知道它是一個標題,或一個段落,或一個列表的一部分,......但標記PDF是用來定義真實內容的結構。然而,頁碼不是真實內容的一部分。它們被標記爲文物以及頁面上的頁眉,頁腳和其他項目,這些內容不被視爲真實內容。沒有辦法區分頁碼。

「那麼這些頁面標籤是關於什麼的?」你問。

那麼,頁面標籤是可選。它們出現在一些構思良好的PDF文件中,但它們在大部分PDF中都不存在,您可以在野外找到它們。

這是漫長的答案。簡短的回答很簡單:你正在尋求一些不可能的東西(一般來說,不僅僅是iText,Tika,PdfBox或者你可能試過的任何其他工具)。