2014-03-06 122 views

回答

0

你說頁眉和頁腳存儲在一個Phrase對象中。該指控是不正確的。使用iText時,您可以使用Phrase對象創建頁眉和頁腳,但其他軟件將使用其他方法。

PDF由一系列相互關聯的對象組成。如果您從根對象開始,然後查看頁面樹,表單條目(如果有)等等,它們實際上是用於樹的。

每個頁面字典引用一個(至少一個)流對象。在那個流對象中,你會發現可以畫線,填充形狀和顯示文本的PDF語法。每個文本片段都添加在絕對位置,而這樣的片段並不知道短語。

例如:表格單元格的內容不知道它們屬於表格單元格。一行文字不知道它是否是段落的一部分,如果是標題,或者...可能是頁眉或頁腳,除非您有加標籤的PDF。

如果使用帶標籤的PDF,則在根字典中有一個StructTreeRoot條目,當您查看此結構樹時,可以看到每條數據的語義。將在內容流中引用標記的內容運算符,它們允許您找出內容的哪些部分屬於哪個結構元素,例如段落,表格單元格... 頁眉和頁腳通常不是'部分內容。它們被標記爲文物

長話短說:或者您的PDF被標記,在這種情況下,您必須查找頁眉和頁腳文物。或者你的PDF沒有被標記,在這種情況下,你需要編寫一些代碼猜測內容流的哪些部分是基於啓發式的頁眉和頁腳。

+0

是否有任何解析內容流的示例代碼? otherwords,如何訪問內容流? –

+0

查看我書中第15章的示例:http://itextpdf.com/book/chapter.php?id = 15(但是您可能首先需要閱讀ISO-32000-1,因爲您似乎沒有以便掌握您對可移植文檔格式的知識。) –

相關問題