iText 5

How to check a check box?

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:

public String getCheckboxValue(String src, String name) throws IOException { PdfReader reader = new PdfReader(SRC); AcroFields fields = reader.getAcroFields(); // CP_1 is the name of a check box field String[] values = fields.getAppearanceStates("IsNo"); StringBuffer sb = new StringBuffer(); for (String value : values) { sb.append(value); sb.append('\n'); } return sb.toString(); }

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 theyu are /Off and /Yes:

https://itextpdf.com/sites/default/files/KCn82.png

Check box appearance states