覆盖新文档中的pdf字段

时间:2018-04-16 09:04:32

标签: c# pdf itext

我有一个pdf模板,我试图在新文档中覆盖它。我需要从模板PDF中获取一些字段并在新PDF中重写它们的值。我这样做:

PdfReader templatereader = new PdfReader("Templates//PDF_Template_Empty.pdf");
PdfDocument template = new PdfDocument(templatereader);
var writer = new PdfWriter(OutputFilepath);
PdfDocument newreport = new PdfDocument(writer);
var fields = PdfAcroForm.GetAcroForm(template, true); //!!!

然后我抓住了例外:

  

iText.Kernel.PdfException:'没有关联的PdfWriter用于制作   indirects'

我做错了什么以及如何解决? iTextsharp 7。

1 个答案:

答案 0 :(得分:2)

错误解释了到底出了什么问题:您没有为名为PdfWriter的{​​{1}}实例定义PdfDocument实例。您为template创建了PdfWriter个实例,但从未使用newreport

这是应该做的:

newreport

如您所见,不需要PdfReader templatereader = new PdfReader("Templates//PDF_Template_Empty.pdf"); var writer = new PdfWriter(OutputFilepath); PdfDocument template = new PdfDocument(templatereader, writer); var fields = PdfAcroForm.GetAcroForm(template, true); 实例。 newreport实例将template作为输入,并使用templatereader创建一个新的PDF作为输出