Как заполнить форму XFA с помощью iText?
Код:
using (FileStream pdf = new FileStream("C:/test.pdf", FileMode.Open))
using (FileStream xml = new FileStream("C:/test.xml", FileMode.Open))
using (FileStream filledPdf = new FileStream("C:/test_f.pdf", FileMode.Create))
{
PdfReader.unethicalreading = true;
PdfReader pdfReader = new PdfReader(pdf);
PdfStamper stamper = new PdfStamper(pdfReader, filledPdf);
stamper.AcroFields.Xfa.FillXfaForm(xml);
stamper.Close();
pdfReader.Close();
}
Этот код не выдает никаких исключений, и все вроде бы нормально, но если я открою заполненный PDF, Adobe Reader скажет что-то вроде этого:
В этом документе включены расширенные функции. Этот документ был изменен, поскольку он был создан, и использование расширенных функций больше невозможно.
Некоторые поля заполнены правильно, но я не могу его редактировать. Некоторые поля пусты. Если я выберу xml вручную, нажав «Импортировать данные» из Adobe Reader, форма будет заполнена правильно, поэтому я думаю, что в xml нет ошибок.