Как обычно можно установить флажки в PDF-файле с помощью iTextsharp? - PullRequest
6 голосов
/ 28 января 2011

Я заполняю данные для заполняемого PDF с помощью iTextsharp. В форме PDF есть n флажков. Я установил значение для флажков, используя «Да» или «Нет». Это отлично работает. Но некоторые из флажков не работают таким образом; вместо этого мне нужно использовать 1 или 0, чтобы это работало. Так может кто-нибудь помочь мне, что является общим способом установить / снять флажки в pdf с помощью iTextSharp?

Заранее спасибо,

Snowwhite

Ответы [ 6 ]

10 голосов
/ 29 июня 2016

Откройте выбранный PDF-файл и преобразуйте его.

PdfReader reader = new PdfReader(fileNameIn);
PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(fileNameOut));
AcroFields form = stamper.getAcroFields();

Проверьте объекты формы Поля> Ключи> Представление результатов, чтобы найти строковое значение флажка, в моем случае это "Check Box1"

String[] checkboxstates = form.GetAppearanceStates("Check Box1");

Проверьте переменную checkboxstates.[0] = значение не проверено, [1] = значение проверено.Затем сделать это проверено

fields.SetField("Check Box1", checkboxstates[1])
7 голосов
/ 28 января 2011

вы можете найти следующим образом:

PdfReader reader = new PdfReader(fileNameIn);
PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(fileNameOut));
AcroFields form = stamper.getAcroFields();

form.setField("Name","Test Name");
form.setField("odot","123456");
form.setField("Consortium","A Testing Co");
form.setField("PName","My Name");
form.setField("date","10/14/03");
form.setField("Box1","true"); //This is the checkbox control
stamper.close();

надеюсь, что это поможет

3 голосов
/ 28 января 2011

Не существует «общего пути».Вам нужно знать значения check / uncheck для их изменения.

На этот же вопрос я ответил, когда показал, как найти эти значения ... Ах!Получить значение экспорта флажка, используя iTextSharp

2 голосов
/ 22 мая 2017

pdfFormFields.SetField ("formfieldchkbox", "Да");pdfFormFields.SetField ("formfieldchkbox", "No");

Это должно сделать работу.

0 голосов
/ 13 октября 2018

Я так и сделал

stamp.AcroFields.SetField("chk1", "Yes");
stamp.AcroFields.SetField("chk2", "No");
0 голосов
/ 22 августа 2018

Я считаю, что могу установить значение экспорта для элемента управления флажком в файле PDF с помощью Adobe Acrobat. Когда значение экспорта установлено как «anytext», я могу установить флажок, используя следующий код:

form.setField("Box1","anytext")

Окно свойств флажка

...