0

我想以平面模式保存 PDF 文件。我已经尝试了所有在线解决方案,但从未在我的代码中工作。

我有一个用 ITextSharp 和 Acrofields 生成的文件。当我尝试设置该选项pdf.FormFlattening = true;时,它不适用于我的解决方案。

该文件是从使用 Adob​​e Livecycle Designer 创建的“Adobe 静态 PDF 表单”生成的

这是我的功能:

    using (var streamPdf = new MemoryStream())
    {
       PdfStamper pdf;
       using (var pdfReader = new PdfReader(Application.StartupPath + PathToFile + Template))
       using (pdf = new PdfStamper(pdfReader, streamPdf))
       {
          AcroFields pdfFormFields = pdf.AcroFields;
          foreach (var field in fields)
          {
             pdfFormFields.SetField(field.FieldName, field.FieldValue.Trim());
          }
       }
       foreach (var de in pdfReader.AcroFields.Fields)
       {
          pdfFormFields.SetFieldProperty(de.Key.ToString(),"setfflags",PdfFormField.FF_READ_ONLY,null);
       }
       pdf.FormFlattening = true;
       pdf.AcroFields.GenerateAppearances = true;
       pdf.Close();
       _pdf = streamPdf.ToArray();
   }
   string filename = "name.pdf";
   using (var fs = new FileStream(filename, FileMode.Create))
   {
      fs.Write(_pdf, 0, _pdf.Count());
      fs.Close();
   }

生成的文件是静态 PDF,我需要一个没有字段的 PDF。

谢谢大家

4

0 回答 0