使用iTextSharp从Adobe的文档属性中标记Pdf值

时间:2013-04-29 07:23:31

标签: vb.net itextsharp

在Adobe中按ctrl + d时显示pdf的属性。从该文档属性如何使用iTextSharp获取taggedpdf值?

1 个答案:

答案 0 :(得分: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,需要标记条目。此条目的值必须为Boolean,且必须为true

在回答您的评论时,错误地声称您测试的某些PDF是有效的标记PDF,请参阅以下屏幕截图:

PDF 1 PDF 2 PDF 3

在左侧,您可以看到共享文档的内部对象树。如您所见,文档的格式为StructTreeRoot,但MarkInfo的值为false

在右侧,您可以看到在Adobe Reader中打开的文档。在所有三种情况下,文档属性都有一个条目:标记PDF:否。

打败我为什么要求其他人。