Reputation: 101
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
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();
}
Upvotes: 0
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
Reputation: 437
I have done like this
stamp.AcroFields.SetField("chk1", "Yes");
stamp.AcroFields.SetField("chk2", "No");
Upvotes: 1
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")
Upvotes: 0
Reputation: 71
pdfFormFields.SetField("formfieldchkbox", "Yes"); pdfFormFields.SetField("formfieldchkbox", "No");
That should do the job.
Upvotes: 3
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
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