如何使用.NET代码以编程方式修改PDF文档属性?
我已经购买了许多PDF格式的电子书,不幸的是,出版商没有设置标题,作者和主题属性.您可以通过访问文件属性对话框并选择PDF选项卡在文档上看到此信息.尝试在电子阅读器设备上使用PDF电子书时,这是一个真正的痛苦.
我不想购买完整的PDF Writer产品来做到这一点,所以我希望有人能指出我可以用来以编程方式修改属性的简单免费库.
如果没有可用的.NET库我会欣赏任何其他技术.
感谢Mindaugas和Knobloch.既然你们都指向了iTextSharp我就这样做了,并且能够使用iTextSharp和类似于下面所示的代码来解决我的问题.我注意到的一件事是,从3,639,172的起始文件中生成的文件小了115,143字节,所以看起来我要么丢失一些信息,要么这个库比用于创建文档的原始产品更有效.
另一件有趣的事情是,在阅读这个库的时候,我一直看到iText in Action的链接,这个链接由我遇到问题的电子书的同一出版商出版:-)
using System.Diagnostics; using iTextSharp.text.pdf; using System.IO; using System.Collections; PdfReader pdfReader = new PdfReader(filePath); using (FileStream fileStream = new FileStream(newFilePath, FileMode.Create, FileAccess.Write)) { string title = pdfReader.Info["Title"] as string; Trace.WriteLine("Existing title: " + title); PdfStamper pdfStamper = new PdfStamper(pdfReader, fileStream); // The info property returns a copy of the internal HashTable Hashtable newInfo = pdfReader.Info; newInfo["Title"] = "New title"; pdfStamper.MoreInfo = newInfo; pdfReader.Close(); pdfStamper.Close(); }