0

Adobe で ctrl+d を押すと、pdf のプロパティが表示されます。そのドキュメントのプロパティから、taggedpdfiTextSharp を使用して値を取得する方法は?

4

1 に答える 1

0

StructTreeRootは、タグ付き PDFの必須要素です。

PdfDictionary root = reader.Catalog;
PdfObject structTreeRoot = root.Get(PdfName.STRUCTTREEROOT);

structTreeRootが等しい場合null、PDF はタグ付けされていません。

さらに、MarkInfoプロパティを確認する必要があります。

PdfDictionary markInfo = root.GetAsDict(PdfName.MARKINFO);

このmarkInfoディクショナリは null ではない可能性があります。Markedエントリが必要です。このエントリの値は である必要があり、Booleanである必要がありますtrue

テストした PDF の一部が有効なタグ付き PDF であると誤って主張するコメントへの回答として、次のスクリーンショットを参照してください。

PDF 1 PDF2 PDF3

左側には、共有したドキュメントの内部オブジェクト ツリーが表示されます。ご覧のとおり、ドキュメントにはStructTreeRootがありますが、の値はMarkInfoですfalse

右側には、Adobe Reader で開いたドキュメントが表示されます。3 つのケースすべてで、ドキュメントのプロパティには、タグ付き PDF: いいえというエントリがあります。

あなたがそうでないと主張する理由が私を打ちのめします。

于 2013-04-29T09:17:32.453 に答える