Чтение / изменение метаданных PDF с помощью iTextSharp - PullRequest
8 голосов
/ 04 мая 2010

Я пытаюсь использовать iTextSharp для чтения / изменения метаданных PDF. Я понял, как это сделать, используя pdfreader и pdfstamper. Мне было интересно, смогу ли я также прочитать / изменить дополнительную информацию метаданных, такую ​​как информация об авторских правах и некоторые другие, в пространстве имен XMP photoshop.

Буду очень признателен за любые указания на решение.

Спасибо, Murugesh.

Ответы [ 2 ]

14 голосов
/ 05 мая 2010

Вы можете прочитать метаданные, используя `PdfReader '. Я прочитал метаданные так:

PdfReader reader = new PdfReader("HelloWorldNoMetadata.pdf");
string s = reader.Info["Author"];

Вы можете попробовать класс iTextSharp.text.xml.xmp.XmpWriter для записи метаданных. Я никогда не делал этого, но Я нашел этот код ниже:

PdfReader reader = new PdfReader("HelloWorldNoMetadata.pdf");
PdfStamper stamper = new PdfStamper(reader,
 new FileOutputStream("HelloWorldStampedMetadata.pdf"));
HashMap info = reader.getInfo();
info.put("Author", "Bruno Lowagie");
info.put("Title", "Hello World stamped");
stamper.setMoreInfo(info);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
XmpWriter xmp = new XmpWriter(baos, info);
xmp.close();
stamper.setXmpMetadata(baos.toByteArray());
stamper.close();
6 голосов
/ 01 марта 2011

Попробуйте примеры из Книги iTextSharp . Есть примеры по изменению любой части PDF-файла!

...