C# 将表单字段从一个PDF复制到另一个PDF

C# 将表单字段从一个PDF复制到另一个PDF,c#,pdf,pdf-generation,C#,Pdf,Pdf Generation,我需要将所有表单字段从一个PDF复制到另一个PDF。其目的是在对底层Word页面进行小的编辑时自动覆盖字段 我一直在使用Aspose.Pdf.Kit的试用版,除了单选按钮外,我可以将所有内容复制到新表单中。然而,Aspose不支持复制单选按钮,这完全抵消了它的有用性,更不用说他们的客户支持还不够 在任何情况下,我都在寻找某种支持复制所有类型表单字段的库或插件 有人有什么想法吗 谢谢 ~DJ我同意奥德的看法,他应该能胜任这项工作。我使用过类似于以下代码段的代码,并且从未遇到过任何字段类型的问题。我

我需要将所有表单字段从一个PDF复制到另一个PDF。其目的是在对底层Word页面进行小的编辑时自动覆盖字段

我一直在使用Aspose.Pdf.Kit的试用版,除了单选按钮外,我可以将所有内容复制到新表单中。然而,Aspose不支持复制单选按钮,这完全抵消了它的有用性,更不用说他们的客户支持还不够

在任何情况下,我都在寻找某种支持复制所有类型表单字段的库或插件

有人有什么想法吗

谢谢

~DJ

我同意奥德的看法,他应该能胜任这项工作。我使用过类似于以下代码段的代码,并且从未遇到过任何字段类型的问题。我肯定混音中一定有个单选按钮

private void CopyFields(PdfStamper targetFile, PdfReader sourceFile){
{
  foreach (DictionaryEntry de in targetFile.AcroFields.Fields)
  {
    string fieldName = de.Key.ToString();
    target.AcroFields.SetField(fieldName, sourceFile.AcroFields.GetField(fieldName));
  }
}

是的,这是可能的。不,setField()不起作用。。。madisonw的代码将复制字段值,但不会复制字段本身

奥托,这真的没那么难

比如:

PdfReader currentReader = new PdfReader( CURRENT_PDF_PATH ); // throws
PdfReader pdfFromWord = new PdfReader( TWEAKED_PDF_FROM_WORD_PATH ); // throws
PdfStamper stamper = new PdfStamper( currentReader , outputFile ); //throws
for( int i = 1; i <= tempalteReader.getNumberOfPages(); ++i) {
  stamper.replacePage( pdfFromWord, i, i );
}

stamper.close(); // throws 
PdfReader currentReader=新的PdfReader(当前路径);//投掷
PdfReader pdfFromWord=新的PdfReader(从单词路径调整为PDF);//投掷
PdfStamper压模=新的PdfStamper(currentReader,outputFile)//投掷

对于(int i=1;我看过了吗?我不知道它是否完全符合你的需要,所以作为评论发布。我浏览了网站,并用iTextSharp作为关键词进行了谷歌搜索。我没有发现任何东西表明它可以满足我的需要,所以我想在浪费更多的时间之前,我会先看看社区说了些什么ime。SetField函数只设置字段的值,它实际上并没有向pdf文件中添加新的字段对象。Mark,这正是我所需要的。在看到这里的代码并阅读代码文档后,我明白了为什么我会感到困惑。Aspose采取了将每个元素从一个页面复制到另一个页面的方法;这种方法取代了underlyi在不移动表单字段的情况下关闭页面。非常感谢!此技巧还将保留文档级别的信息,如书签、脚本、“如何在打开时显示”设置(查看器首选项)等。它只是交换页面内容。