How to check a check box?

Tags: formscheck boxfill formiText 7

I've tried so many different ways, but I can't get the check box to be checked! Here's what I've tried:

var reader = new iTextSharp.text.pdf.PdfReader(originalFormLocation);
using (var stamper = new iTextSharp.text.pdf.PdfStamper(reader,ms)) {
    var formFields = stamper.AcroFields;
    formFields.SetField("IsNo", "1");
    formFields.SetField("IsNo", "true");
    formFields.SetField("IsNo", "On");
}
None of them work. Any ideas?

Posted on StackOverflow on Oct 31, 2013 by user948060

You shouldn't "guess" for the possible values. You need to use a value that is stored in the PDF. Try the CheckBoxValues example to find these possible values:

PdfAcroForm form = PdfAcroForm.getAcroForm(pdfDoc, true);
Map<String, PdfFormField> fields = form.getFormFields();
PdfFormField field = fields.get(FIELD);
StringBuilder sb = new StringBuilder();
String[] states = field.getAppearanceStates();
for (String state : states) {
    sb.append(state);
    sb.append('\n');
}
System.out.println(sb);

Or take a look at the PDF using RUPS. Go to the widget annotation and look for the normal (/N) appearance (AP) states. In my example they are /Off and /Yes:

Check box appearance states
Check box appearance states

Click this link if you want to see how to answer this question in iText 5.