感谢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();
}
Run Code Online (Sandbox Code Playgroud)