使用C#编辑PDF文件的元数据

我搜索方法或libarys来编辑pdf文件的元数据,如programm becypdfmetaedit 。

我想写一个程序,我需要在这个程序中使用这个opton。 也许你有一些c#的样本。

谢谢

使用PDF Sharp的工作原理如下:

using System; using PdfSharp.Pdf; using PdfSharp.Pdf.IO; namespace ConsoleApplication1 { class Program { static void Main (string[] args) { Program p = new Program(); p.Test(); } public void Test () { PdfDocument document = PdfReader.Open ("Test.pdf"); document.Info.Author = "ME"; document.Save ("Result"); } } 

}

对于PDFSharp:如果要在PDF的自定义属性上更改/添加元数据,可以使用PdfDocument.Info.Elements对象。

  String filename = @"d:\temp\Hugo-input.pdf"; String outputfile = @"d:\temp\Hugo-output.pdf"; PdfDocument document = PdfReader.Open(filename); document.Info.Elements.Add(new KeyValuePair("/MyKey",new PdfString("MyValue"))); document.Save(outputfile); 

始终使用斜杠启动自定义键!

在Adobe Acrobat Reader – >文件 – >属性 – >自定义中打开此文档时,可以找到密钥和值。

这适用于PDFSharp 1.32

我想你可以用iTextSharp做到这一点。

PDF Sharp中的PdfDocumentInformation类是否满足您的要求。

在这里嬉戏 – 我的公司 Atalasoft 制作用于处理图像的.NET组件 。 该套件的一部分包括读/写PDF文档元数据的function。 它不是免费的,但它是桌面应用程序的免费运行时免版税。

阅读代码很简单:

 PdfDocumentMetadata metadata = PdfDocumentMetadata.FromStream(sourceStream); 

编辑它并将其写回到同一个流:

 meta.Title = "Knicholas Knickleby"; meta.Author = "Edmund Wells"; sourceStream.Seek(0, SeekOrigin.Begin); meta.Append(sourceStream, false); // false means don't merge - overwrite 

通过哈希表支持自定义字段。

Aspose.PDF或Aspose.PDF.Kit可以为您完成此操作。

Docotic.Pdf库可用于读取和更新PDF文档中的元数据。

PdfDocument.Info属性可用于更改PDF文档的元数据 (属性,如“作者”,“标题”)。

还有PdfDocument.Metadata属性,如果您需要访问PDF文档中的嵌入式XMP元数据,则该属性非常有用。 该库支持预定义的XMP架构,也可用于设置自定义应用程序定义的属性。

该库可免费用于非商业用途。 (图书馆自2012年2月15日起不再免费)

免责声明:我为公司工作。