使用iTextSharp从PDF中提取其他元数据

我已经看到使用iTextSharp提取基本元数据(即作者,标题),它通常看起来像这样:

var pdfReader = new PdfReader(pdfData); var author = pdfReader.Info["author"] 

但是,在我的情况下,我正在追求更奇特的东西,文档可能包含的额外“高级”元数据。

请原谅油漆亮点,但这里是Adobe Acrobat中的屏幕截图,显示了有问题的数据:

有关数据通过adobe acrobat

在这种情况下,通过Info字典似乎无法获得此数据。 使用不同的库(TallComponents的PDFKit)公开了这些数据,但我想知道是否有任何办法使用iItext获取它

由于许可限制,我目前正在使用iText 4.1.6,但如果增加所需的function,我不会反对购买5.0.6的商业许可。

不确定它是否会得到你所需要的,但要获得XMP元数据尝试这样的事情:

 PdfReader reader = new PdfReader(YOUR_PDF); byte[] b = reader.Metadata; if (b != null) { string xml = new UTF8Encoding().GetString(b); } 

注意你得到一个XML字符串。

IIRC代码将与4.1.6一起使用。