Winforms C#无法使用itext sharp更新文本

Winforms C#无法使用itext sharp更新文本,winforms,c#-4.0,itext,Winforms,C# 4.0,Itext,根据我以前的帖子,我能够以交互方式保存PDF。之后,我开始编写以下代码来修改内容并将其保存为PDF格式,如下所示,但当我试图打开文件时,它会说在文档中打开时出错。文件已损坏,无法修复 这是我的密码 PdfReader reader = new PdfReader(@"E:\\Test.pdf"); using (MemoryStream memoryStream = new MemoryStream()) { PdfStamper pdfStamper = new PdfStamper(

根据我以前的帖子,我能够以交互方式保存PDF。之后,我开始编写以下代码来修改内容并将其保存为PDF格式,如下所示,但当我试图打开文件时,它会说
在文档中打开时出错。文件已损坏,无法修复

这是我的密码

PdfReader reader = new PdfReader(@"E:\\Test.pdf");
using (MemoryStream memoryStream = new MemoryStream())
{
    PdfStamper pdfStamper = new PdfStamper(reader, memoryStream, '\0', true);
    pdfStamper.FormFlattening = true;
    AcroFields af = reader.AcroFields;
    string[] fields = pdfStamper.AcroFields.Fields.Select(x => x.Key).ToArray();
    for (int key = 0; key <= fields.Count() - 1; key++)
    {
      pdfStamper.AcroFields.SetField(fields[key], txtApplicantName.Text);
    }
    Byte[] bytes= memoryStream.ToArray();
    File.WriteAllBytes(@"E:\\Test1.pdf", bytes);
}
PdfReader=newpdfReader(@“E:\\Test.pdf”);
使用(MemoryStream MemoryStream=new MemoryStream())
{
PdfStamper PdfStamper=新的PdfStamper(读卡器,内存流,'\0',true);
pdfStamper.formflatting=true;
AcroFields af=reader.AcroFields;
string[]fields=pdfStamper.AcroFields.fields.Select(x=>x.Key.ToArray();

对于(int key=0;key您忘记关闭
PdfStamper

pdfStamper.Close(); // <===
Byte[] bytes= memoryStream.ToArray();
File.WriteAllBytes(@"E:\\Test1.pdf", bytes);
pdfStamper.Close()//