使用iTextSharp读取/修改PDF元数据

时间:2010-05-03 22:30:53

标签: c# pdf metadata itextsharp xmp

我正在尝试使用iTextSharp来读取/修改PDF元数据。我想出了如何使用pdfreader和pdfstamper来做到这一点。我想知道我是否还可以读取/修改其他元数据信息,如版权信息和XMP photoshop命名空间中的其他几个。

我非常感谢任何有关解决方案的提示。

谢谢你, Murugesh。

2 个答案:

答案 0 :(得分:14)

您可以使用`PdfReader'读取元数据。我读过这样的元数据:

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

您可以尝试iTextSharp.text.xml.xmp.XmpWriter类来编写元数据。我从来没有这样做,但下面是I found this code

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();

答案 1 :(得分:6)

尝试iTextSharp book中的示例,有修改pdf文件任何部分的示例!