0
在Adobe中,當我們按Ctrl + d時,它顯示pdf的屬性。從那個文件屬性如何獲得taggedpdf
值使用iTextSharp?使用iTextSharp從Adobe文檔屬性中標記Pdf值
在Adobe中,當我們按Ctrl + d時,它顯示pdf的屬性。從那個文件屬性如何獲得taggedpdf
值使用iTextSharp?使用iTextSharp從Adobe文檔屬性中標記Pdf值
的StructTreeRoot是一個標籤PDF的強制性元素:
PdfDictionary root = reader.Catalog;
PdfObject structTreeRoot = root.Get(PdfName.STRUCTTREEROOT);
如果structTreeRoot
等於null
,那麼你的PDF沒有標記。您需要檢查MarkInfo屬性。
PdfDictionary markInfo = root.GetAsDict(PdfName.MARKINFO);
這markInfo
詞典不能爲null,它需要一個標記條目。此條目的值必須是Boolean
,它需要是true
。
在回答您的評論謊稱一些你測試的PDF文件的有效標籤的PDF,請參閱下面的截圖:
到左邊,你可以看到內部您共享文檔的對象樹。正如你所看到的,文件有StructTreeRoot
,但MarkInfo
值false
。
在右側,您可以看到在Adobe Reader中打開的文檔。在所有這三種情況下,文檔屬性都有一個條目:標籤PDF:No.
打敗我,爲什麼你會另外聲明。
謝謝布魯諾..如何找到pdf版本,圖片或文本pdf,從屬性頁面的數量? – Jai 2013-04-29 09:30:26
圖片或文字PDF:非常困難。最好的方法是使用解析器類來解析頁面。如果找不到文字,則可能只有圖像。頁數:這是一個簡單的:http://sourceforge.net/p/itextsharp/code/HEAD/tree/trunk/book/iTextExamplesWeb/iTextExamplesWeb/iTextInAction2Ed/Chapter06/PageInformation.cs(請不要濫用評論部分提出後續問題,在評論窗口中很難回答,也不要用SO作爲閱讀文檔的替代品。) – 2013-04-29 09:45:49
k Bruno.Thanks much .. – Jai 2013-04-29 10:16:19