我正在使用iTextsharp填充可填写pdf的数据。 pdf表单中有n个复选框。我已使用“是”或“否”设置复选框的值。这很好用。但是有些复选框不能以这种方式工作;相反,我需要使用1或0来使其工作。那么任何人都可以帮助我使用iTextSharp检查/取消选中pdf复选框的常用方法是什么?
先谢谢,
雪白
答案 0 :(得分:10)
打开所选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])
答案 1 :(得分:7)
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();
希望这个帮助
答案 2 :(得分:3)
没有“共同的方式”。您需要知道检查/取消选中值才能更改它们。
我回答了类似的问题,在那里我展示了如何找出这些价值观......啊!
答案 3 :(得分:2)
pdfFormFields.SetField(“formfieldchkbox”,“是”); pdfFormFields.SetField(“formfieldchkbox”,“No”);
那应该做的。
答案 4 :(得分:0)
我发现可以使用Adobe Acrobat在PDF文件中设置复选框控件的导出值, 当导出值设置为“ anytext”时,我可以使用以下代码选中该复选框:
form.setField("Box1","anytext")
答案 5 :(得分:0)
我这样做了
stamp.AcroFields.SetField("chk1", "Yes");
stamp.AcroFields.SetField("chk2", "No");
答案 6 :(得分:0)
在这种出口价值中非常重要。
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();
}