使用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日起不再免费)
免责声明:我为公司工作。