我有一个XFA PDF文件(我没有创作) . 这是我试图填写的第三方表格 . 我手动填写表单,然后我使用iTextSharp保存完整的XML DomDocument . 现在我正在尝试以编程方式应用相同的XML文件 . 但是,生成的PDF没有填写任何字段 . 这是我用来应用XML文件的代码:

PdfReader pdfReader = new PdfReader(inputPdf);
using (MemoryStream ms = new MemoryStream())
{
    using (PdfStamper stamper = new PdfStamper(pdfReader, ms, '\0', true))
    {
        XfaForm xfaForm = new XfaForm(pdfReader);
        XmlDocument doc = new XmlDocument();
        doc.Load(inputXml);
        xfaForm.DomDocument = doc;
        xfaForm.Changed = true;
        XfaForm.SetXfa(xfaForm, stamper.Reader, stamper.Writer);
    }

    var bytes = ms.ToArray();
    System.IO.File.WriteAllBytes(outputPdf, bytes);
}

inputPdf是原始空PDF文件的路径 .

inputXml是从填写的PDF文件中提取的XML文件的路径 . 这是整个XML文件,而不仅仅是数据集部分 .

有趣的是,如果我创建像这样的PdfStamper对象:

new PdfStamper(pdfReader, ms);

然后我看到了字段中的数据,但当然我有相关的问题而没有附加 .

关于我可能做错什么的任何建议?我似乎无法得到任何对DomDocument的更改来保存 .