2

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

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

但是,在我的情况下,我想要一些更奇特的东西,即文档可能包含的附加“高级”元数据。

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

有问题的数据通过 adobe acrobat

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

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

4

1 回答 1

4

不确定它是否会得到您所需要的,但要获取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 一起使用。

于 2011-02-08T05:53:58.803 回答