Я пытаюсь использовать iTextSharp для читения/изменения метаданных PDF. Я выяснил, как сделать это с помощью pdfreader и pdfstamper. Я задавался вопросом, мог ли я также читать/изменять дополнительную информацию о метаданных как информация об авторском праве и немногие другие в пространстве имен фотошопа XMP.
Я был бы очень признателен за любые указатели на решение.
Спасибо, Murugesh.
Вы можете читать метаданные с помощью `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();