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

时间:2011-02-08 00:44:32

标签: c# metadata itextsharp pdfkit

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

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

然而,在我的情况下,我正在追求更具异国情调的东西,文档可能包含的额外“高级”元数据。

原谅油漆亮点,但这是Adobe Acrobat中的屏幕截图,显示了相关数据:

the data in question via adobe acrobat

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

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

1 个答案:

答案 0 :(得分:3)

不确定它是否会完全符合您的需求,但要让XMP metadata尝试这样的事情:

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

请注意,您将获得 XML 字符串。

IIRC代码将与4.1.6一起使用。