我已经看到使用iTextSharp提取基本元数据(即作者,标题),它通常看起来像这样:
var pdfReader = new PdfReader(pdfData);
var author = pdfReader.Info["author"]
然而,在我的情况下,我正在追求更具异国情调的东西,文档可能包含的额外“高级”元数据。
原谅油漆亮点,但这是Adobe Acrobat中的屏幕截图,显示了相关数据:
在这种情况下,似乎这些数据不能通过Info
字典获得。使用不同的库(TallComponents的PDFKit)公开了这些数据,但我想知道是否有任何方法可以使用iItext获取它
由于许可限制,我目前正在使用iText 4.1.6,但如果增加所需的功能,我不会反对购买5.0.6的商业许可证。
答案 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一起使用。