将所有AcroField从一个pdf文件移动到另一个(在相同位置)

时间:2014-05-23 20:37:40

标签: c# itextsharp

我有两个结构相似的文件。它们都有表格,徽标,页眉和页脚,它们都位于相同的位置。但是,一个文档的表中的每个条目都有输入字段,另一个文档没有。由于它们的表在结构上相似,因此第一个PDF表中的字段将匹配另一个。

如果使用C#和ITextSharp,如果它们在结构上完全相同,我将如何以编程方式将所有字段从一个文档移动到另一个文档?

我试图从一个文档中复制Acrofields并简单地将它们放在另一个文档中,但是当我这样做时,我看不到任何AcroField显示在生成的PDF中。这是我的代码:

public static void AddFormFieldsFromSource(string sourcePath, string secondSourcePath, string targetPath) {


  PdfReader readerMain = new PdfReader(sourcePath);
  readerMain.RemoveUsageRights();
  PdfReader readerSecond = new PdfReader(secondSourcePath);
  readerSecond.RemoveUsageRights();



  FileStream outStream = new FileStream(targetPath, FileMode.Create, FileAccess.Write);

  PdfStamper stamp = new PdfStamper(readerSecond, outStream);

  IDictionary<string, AcroFields.Item> fields = readerMain.AcroFields.Fields;


  foreach (KeyValuePair<string, AcroFields.Item> field in fields) {
    stamp.AcroFields.Fields.Add(field);
  }

  System.Diagnostics.Debug.WriteLine("");

  stamp.Close();

}

0 个答案:

没有答案