snowwhite
snowwhite

Reputation: 101

What is the common way to check the check box field in a pdf using iTextsharp?

I am filling the data for a fillable pdf using iTextsharp. There are n number of checkboxes in the pdf form. I have set the value for the check boxes using "Yes" or "No". This works fine. But some of the check boxes does not work in this way; instead i need to use 1 or 0 to make it work. So can anyone help me what is the common way to check/uncheck the checkboxes in pdf using iTextSharp?

Thanks in Advance,

Snowwhite

Upvotes: 10

Views: 24860

Answers (7)

Swapnil Malap
Swapnil Malap

Reputation: 620

In this export value is very important.

String pathin = @"D:\Research And Development\ITextSharpPdf\Data\\ACR_Form_Ver_11.pdf";
String pathout = @"D:\Research And Development\ITextSharpPdf\Data\ACR_Form_Ver_11_out.pdf";

        PdfReader reader = new PdfReader(pathin);// formFile);
        using (PdfStamper stamper = new PdfStamper(reader, new FileStream(pathout, FileMode.Create)))
        {

            var formFields = stamper.AcroFields;
            //formFields.SetField(<fieldname>, <exportvalue>,<true/false>);
            formFields.SetField("pdfQ1No", "No",true);
            formFields.SetField("pdfAppNo", "234234");
            stamper.FormFlattening = true;
            stamper.Close();
        }

pdfescapteeditimage

outputimage

Upvotes: 0

Meir Snyder
Meir Snyder

Reputation: 819

Open chosen PDF and convert it.

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

Inspect the form objects Fields > Keys > Results view to find the string value of a Check Box, in my case is was "Check Box1"

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

Inspect the checkboxstates variable. [0] = value of non checked, [1] = value of checked. Then to make it checked

fields.SetField("Check Box1", checkboxstates[1])

Upvotes: 19

Ashi
Ashi

Reputation: 437

I have done like this

stamp.AcroFields.SetField("chk1", "Yes");
stamp.AcroFields.SetField("chk2", "No");

Upvotes: 1

Laowang 100KG
Laowang 100KG

Reputation: 1

I find that I can set export value of check box control in PDF file using Adobe Acrobat, When the export value is set as "anytext" I can check the checkbox using following code:

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

Property window of Check box

Upvotes: 0

S Lal
S Lal

Reputation: 71

pdfFormFields.SetField("formfieldchkbox", "Yes"); pdfFormFields.SetField("formfieldchkbox", "No");

That should do the job.

Upvotes: 3

Suresh Chaudhary
Suresh Chaudhary

Reputation: 1649

you can find in this way:

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();

hope this help

Upvotes: 7

Mark Storer
Mark Storer

Reputation: 15890

There is no "common way". You need to know the check/uncheck values in order to change them.

There's a similar question I answered where I showed how to find out those values... Ah!

Get the export value of a checkbox using iTextSharp

Upvotes: 3

Related Questions