使用itext7填充pdf表单后,调用FillXfaForm后,XML数据集在xfa.datasetsNode中重复。

时间:2018-12-06 13:00:14

标签: c# xml pdf itext7

正如标题所述,使用iTtext7填充pdf时,数据集xml属性重复存在问题。当您打开pdf并完成手动更改并保存它时,会填充PDF文件,但会引起问题。所有pdf字段都会被清除干净。

有没有办法防止重复或删除重复的代码?

用于填充pdf的c#代码

       PdfReader reader = new PdfReader(templatePdfFile);
       reader.SetUnethicalReading(true);

       PdfWriter writer = new PdfWriter(OutputPdfFile);

       StampingProperties properties = new StampingProperties().UseAppendMode();

       PdfDocument pdfDocument = new PdfDocument(reader, writer, properties);
       PdfAcroForm form = PdfAcroForm.GetAcroForm(pdfDocument, true);
       XfaForm xfa = form.GetXfaForm();

       //Duplication happens here
       xfa.FillXfaForm(XmlReader.Create(new StringReader(xmlDoc.OuterXml)));
       xfa.Write(pdfDocument);
       pdfDocument.Close();

调用FillfaForm之前的Xml

<xfa:datasets xmlns:xfa="http://www.xfa.org/schema/xfa-data/1.0/">
  <xfa:data>

及之后

<xfa:datasets xmlns:xfa="http://www.xfa.org/schema/xfa-data/1.0/">
  <xfa:data>
    <xfa:datasets xmlns:xfa="http://www.xfa.org/schema/xfa-data/1.0/">
      <xfa:data>

0 个答案:

没有答案