c# - 将表单域从一个 PDF 复制到另一个

标签 c# pdf pdf-generation

我有一种情况需要将所有表单域从一个 PDF 复制到另一个。目的是在对基础 Word 页面进行少量编辑时自动覆盖字段。

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

无论如何,我正在寻找某种支持复制所有类型的表单字段的库或插件。

有没有人有什么想法?

谢谢,

~打碟

最佳答案

是的,这是可能的。不,setField() 不会成功...madisonw 的代码将复制字段,但不会复制字段本身。

OTOH,真的没那么难。

类似于:

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 

我忽略了一堆异常,并用 Java 编写,但 C# 看起来应该几乎相同。

此外,这段代码忽略了有人添加页面的情况……这会变得非常棘手。它是在带有字段的页面之前还是之后添加的?这些页面是否完全重排,需要您移动字段?到那时,您确实需要使用 Acrobat Pro 进行手动处理。

关于c# - 将表单域从一个 PDF 复制到另一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4046591/

相关文章:

vba - 将 .xfdf 保存为 .pdf

pdf-generation - 如何以编程方式重置 PDF 中的颜色

c# - 遍历树时查找节点

c# - Windows 窗体 C# 中的打印面板

c# - 来自 C# 客户端的多部分表单

java - response.sendRedirect 应在新窗口中打开

c# - Mono Mac 上的 ASP.net MVC Razor View

java - 无法下载内容类型为 text/html 的文件

html - 无法删除在 flutter iOS 中使用 html/css 创建的 pdf 的页面外边距

pdf-generation - 在 wiki 中创作,生成 PDF 文档、CHM 文件或嵌入式帮助