iTextSharp -在PDF中修改额外的元数据

本文关键字:元数据 修改 PDF iTextSharp | 更新日期: 2023-09-27 18:07:01

有很多iTextSharp的例子展示了如何使用PdfStamper.MoreInfo字典(像这样)将元数据(如"Title", "Author", "Keywords")附加到现有的PDF,我已经成功地做到了这一点。

但是,是否有一种方法可以设置Adobe Reader称为"附加元数据"的属性,当您单击"文档属性"->"附加元数据"时,这些属性是可见的?这些属性包括"描述"、"作者标题"、"版权状态"、"版权声明"等等。是否有一些字典键在PdfStamper.MoreInfo代表这些属性?

iTextSharp -在PDF中修改额外的元数据

iText5不公开PdfStamper#MoreInfo中的附加数据。但是,可以使用PdfReader#XmpMetaData检索包含的元数据,并使用PdfDocument#XmpMetaDataPdfStamper#XmpMetaData进行设置。

元数据返回并设置为byte[],因此您必须自己处理转换/生成。

在iText7中,过程大致相同,但通过PdfDocument类来处理(因为它是PdfReaderPdfWriter对象的包装器)

这不是关于写入数据的问题,而是如何读取数据的问题。它也可能给你一些关于如何写它的提示

Document doc = new Document(PageSize.A4, 36, 72, 108, 180);
doc.AddTitle("Hello World example");
doc.AddSubject("This is an Example 4 of Chapter 1 of Book 'iText in Action'");
doc.AddKeywords("Metadata, iTextSharp 5.4.4, Chapter 1, Tutorial");
doc.AddCreator("iTextSharp 5.4.4");
doc.AddAuthor("Debopam Pal");
doc.AddHeader("Nothing", "No Header");

有关更多详细信息和功能,请单击此处