Форма XFA теряет интерактивность при заполнении XML-данных с помощью IText

У меня есть форма Adobe LiveCycle, которая создается динамически. Нам нужно загрузить данные XML в эту форму. Я пробовал это с IText, и это сработало. Но после заполнения формы она потеряла интерактивность. Как мне заполнить форму, чтобы она по-прежнему генерировала поля при открытии и выполняла стоящий за ней JavaScript? Для заливки я использовал следующий фрагмент кода (шаблон Itext):

    public class FillXFA
{
    public static readonly String DEST = "dest/path";

    public static readonly String SRC = "src/path";
    public static readonly String XML = "xml/path";

    public static void Main(String[] args)
    {
        FileInfo file = new FileInfo(DEST);
        file.Directory.Create();

        new FillXFA().ManipulatePdf(DEST);
    }

    protected void ManipulatePdf(string dest)
    {
        PdfDocument pdfdoc = new PdfDocument(new PdfReader(SRC), new PdfWriter(dest));
        PdfAcroForm form = PdfAcroForm.GetAcroForm(pdfdoc, true);

        XfaForm xfa = form.GetXfaForm();

        // Method fills this object with XFA data under datasets/data.
        xfa.FillXfaForm(new FileStream(XML, FileMode.Open, FileAccess.Read));
        xfa.Write(pdfdoc);

        pdfdoc.Close();
    }
}

person Plingoo    schedule 18.06.2020    source источник
comment
Рассмотрите возможность использования инкрементных обновлений (установите режим добавления при создании pdfdoc).   -  person mkl    schedule 18.06.2020
comment
Я пробовал, но, к сожалению, JS все еще не выполняется.   -  person Plingoo    schedule 19.06.2020
comment
Можете ли вы поделиться PDF-файлом до и после заполнения? Более того, метод iText xfa.FillXfaForm просто пытается заменить данные XFA в наборах данных / данных - уверены ли вы, что JS в вашем XFA ожидает и принимает такие изменения? По-видимому, иногда Adobe включает недокументированные части в XFA XML и требует, чтобы он постоянно обновлялся, например, этот ответ, в частности checksum Бруно спросил о здесь.   -  person mkl    schedule 19.06.2020
comment
Сейчас мы применяем другой подход, который лучше подходит для нашей проблемы. Тем не менее, спасибо за ваши усилия.   -  person Plingoo    schedule 24.06.2020