Извлечение дополнительных метаданных из PDF с помощью iTextSharp - PullRequest
2 голосов
/ 08 февраля 2011

Я видел извлечение основных метаданных (то есть автора, заголовка) с помощью iTextSharp, и оно обычно выглядит примерно так:

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

Однако, в моем случае я чего-то немногоболее экзотично - дополнительные «расширенные» метаданные, которые могут содержаться в документе.

Извините за подсвеченные краски, но вот скриншот из Adobe Acrobat, показывающий данные данные:

the data in question via adobe acrobat

В этом случае кажется, что эти данные не доступны через словарь Info.Используя другую библиотеку (PDFKit от TallComponents) эти данные предоставляются, но мне интересно, есть ли способ получить их с помощью iItext

В настоящее время я играю с iText 4.1.6 из-за лицензионных ограничений, ноЯ не был бы против покупки коммерческой лицензии на 5.0.6, если она добавляет необходимые функции.

1 Ответ

3 голосов
/ 08 февраля 2011

не уверен, получит ли он именно то, что вам нужно, но для получения метаданных 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.

...