Код:
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 нет ошибки.