C#:iTextSharp,如何编辑pdf文档的标题属性?

C#:iTextSharp,如何编辑pdf文档的标题属性?,c#,pdf,itextsharp,C#,Pdf,Itextsharp,我使用C#项目中的iTextSharp库来阅读和编辑pdf文档。 现在我想更改某个pdf文档的标题。 我搜索了很多关于这个问题的信息,但是没有什么对我有用。 我发现最好的是: PdfReader pdfReader = new PdfReader(filePath); using (FileStream fileStream = new FileStream(newFilePath, FileMode

我使用C#项目中的iTextSharp库来阅读和编辑pdf文档。 现在我想更改某个pdf文档的标题。 我搜索了很多关于这个问题的信息,但是没有什么对我有用。 我发现最好的是:

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();
}
但是VisualStudio说,
System.Collection.Hashtable
不能隐式转换为
System.Collections.Generic.IDictionary
。已有一个转换。


希望有人能帮我。或者使用iTextSharp的其他解决方案编辑标题。

您需要更改此选项:

Hashtable newInfo = pdfReader.Info;
为此:

Dictionary<string, string> newInfo = pdfReader.Info;
var title = "Title";
if (pdfReader.Info.ContainsKey(title))
{
    pdfReader.Info[title] = "NewTitle";
}