我有两个 PDF 表格 - 一个原始表格和一个新表格。新表单上有x
大量额外acro fields
内容,但没有原始 PDF 字段。
我想将旧 PDF 中的字段合并到新的 PDF 表单中。新字段/字段会移动旧字段的一些占位符,因此它们可能会重叠或不在正确的位置,但这无关紧要。
我试过的
//Get the old PDF
PdfReader oldPdfReader = new PdfReader("Old.Pdf");
MemoryStream oldMs = new MemoryStream();
PdfStamper oldPdfStamper = new PdfStamper(oldPdfReader, oldMs);
//Get the new PDF
PdfReader newPdfReader = new PdfReader("New.Pdf");
MemoryStream newMs = new MemoryStream();
PdfStamper newPdfStamper = new PdfStamper(newPdfReader, newMs);
foreach(var oldField in oldPdfStamper.AcroFields.Fields)
{
//Do a check to see if the field isn't already added
if(!newPdfStamper.AcroFields.Fields.Any(x => x.Key == oldField.Key))
newPdfStamper.AcroFields.Fields.Add(oldField);
}
即使调试命中,这也只会输出新字段add
,我已经得出结论这是不正确的,我需要以某种方式绘制字段。
我还尝试了以下示例:
在 c#.net 中使用 iTextSharp 合并多个 PDF
它将新字段放在 from 上,New.PDF
但不会继承 from 的字段Old.PDF
。关于如何合并AcroFields
来自两个 PDF 表单的任何想法?