Как я могу установить данные XFA в статической форме XFA в iTextSharp и получить их для сохранения?

У меня очень странная проблема с формами XFA в iText / iTextSharp (iTextSharp 5.3.3 через NuGet). Я пытаюсь заполнить статическую форму в стиле XFA, но мои изменения не принимаются.

У меня есть оба выпуска iText в действии, и я консультировался со вторым выпуском, а также с примерами преобразования кода в iTextSharp из книги.

Справочная информация: у меня есть форма XFA, которую я могу заполнить вручную с помощью Adobe Acrobat на моем компьютере. Используя iTextSharp, я могу прочитать, что такое данные Xfa XML, и увидеть структуру данных. По сути, я пытаюсь имитировать это с помощью iText.

Как выглядят данные, когда я добавляю данные и сохраняю их в Acrobat (примечание: это только специальный раздел для наборов данных)

Вот файл XML, который я пытаюсь прочитать, чтобы заменить существующие данные (примечание: это весь контекст этого файла):

Однако, когда я передаю путь к XML-файлу замены и пытаюсь установить данные, создается новый файл (копия оригинала с замененными данными) без каких-либо ошибок, но данные не обновляются. Я вижу, что новый файл создан, и я могу открыть его, но в нем нет данных.

Вот код, который используется для замены данных или заполнения в первый раз, что является вариациейhttp://sourceforge.net/p/itextsharp/code/HEAD/tree/trunk/book/iTextExamplesWeb/iTextExamplesWeb/iTextInAction2Ed/Chapter08/XfaMovie.cs

public void Generate(string sourceFilePath, string destinationtFilePath, string replacementXmlFilePath)
    {
        PdfReader pdfReader = new PdfReader(sourceFilePath);
        using (MemoryStream ms = new MemoryStream())
        {
            using (PdfStamper stamper = new PdfStamper(pdfReader, ms))
            {
                XfaForm xfaForm = new XfaForm(pdfReader);
                XmlDocument doc = new XmlDocument();
                doc.Load(replacementXmlFilePath);
                xfaForm.DomDocument = doc;
                xfaForm.Changed = true;
                XfaForm.SetXfa(xfaForm, stamper.Reader,, stamper.Writer);
            }

            var bytes = ms.ToArray();
            File.WriteAllBytes(destinationtFilePath, bytes);
        }
    }

Любая помощь будет очень высоко ценится.

Ответы на вопрос(2)

Ваш ответ на вопрос