0

在 Adob​​e 中,当我们按 ctrl+d 时,它会显示 pdf 的属性。从该文档属性如何taggedpdf使用 iTextSharp 获取价值?

4

1 回答 1

0

StructTreeRoot是标记 PDF 的必需元素:

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

如果structTreeRootequals null,则您的 PDF 没有被标记。

此外,您需要检查MarkInfo属性。

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

这个markInfo字典可能不为空,它需要一个标记条目。该条目的值必须是 aBoolean并且必须是true

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

PDF 1 PDF 2 PDF 3

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

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

打败我为什么你会声称否则。

于 2013-04-29T09:17:32.453 回答