Есть ли способ вставить значения формы XFA в LiveCycle PDF с поддержкой чтения с itext 7, используя режим добавления?

Мне нужно ввести значения полей формы XFA в PDF-файл с поддержкой LiveCycle Reader с помощью iText 7. Я могу сделать это успешно, но если я не открою PDF-файл в режиме добавления, то подпись Adobe будет нарушена, и значения формы не могут быть далее редактируется пользователем и снова сохраняется. Если я открою PDF-файл с помощью iText 7 в режиме добавления и изменю значения поля формы XFA, подпись, включенная для чтения, не будет нарушена, но измененные значения не будут отображаться в форме. Похоже на ошибку с iText 7 и, возможно, изменение значений поля формы XFA с режимом добавления. Кто-нибудь успешно сделал это?


person Fiend    schedule 18.01.2017    source источник
comment
Привет. Пожалуйста, покажите нам свой код. Это поможет выяснить, проблема в выбранном вами подходе или это ошибка в iText.   -  person Alexey Subach    schedule 22.01.2017


Ответы (1)


Ошибка при заполнении форм XFA в режиме добавления в iText7. Это было исправлено в 7.0.27.0.2-SNAPSHOT).

Чтобы заполнить форму в режиме добавления, вам понадобится следующий фрагмент кода:

PdfDocument pdfdoc = new PdfDocument(new PdfReader(SRC), new PdfWriter(DEST), 
                                         new StampingProperties().useAppendMode());

PdfAcroForm form = PdfAcroForm.getAcroForm(pdfdoc, true);
XfaForm xfa = form.getXfaForm();
xfa.fillXfaForm(new FileInputStream(XML));
xfa.write(pdfdoc);

pdfdoc.close();
person Alexey Subach    schedule 07.02.2017