Я использую iText7 7.1.8 для. net.
Мой pdf имеет 2 флажка с одинаковыми именами, каждый из которых имеет "Engli sh" и "French" для значений экспорта. Эти флажки определены как / btn в pdf. iText7 возвращает PdfButtonFormField, когда я вызываю form.GetField. При попытке заполнить значение с помощью SetValue вместо проверки правой кнопки оно перезаписывает значение экспорта одного флажка, а также проверяет его. Это мой код:
PdfDocument pdf = new PdfDocument(new PdfReader(path), new PdfWriter(@"C:\test.pdf"));
var frm = GetAcroForm(pdf, true);
var form = PdfAcroForm.GetAcroForm(pdf, true);
var field = (iText.Forms.Fields.PdfButtonFormField) form.GetField("language");
// field.GetAppearanceStates()[2] is English
field.SetValue(field.GetAppearanceStates()[2]);
pdf.Close();
На изображении здесь: https://i.stack.imgur.com/WWirB.png, флажок Engli sh должен быть установлен. Вместо этого выбран французский, и значение экспорта изменяется с французского на английский sh.
Кто-нибудь знает, что происходит?
Спасибо