使用iTextsharp检查pdf中的复选框字段的常用方法是什么?

sno*_*ite 7 c# pdf itextsharp

我正在使用iTextsharp填充可填写pdf的数据.pdf表单中有n个复选框.我已使用"是"或"否"设置复选框的值.这很好用.但是有些复选框不能以这种方式工作; 相反,我需要使用1或0来使其工作.那么任何人都可以帮助我使用iTextSharp检查/取消选中pdf复选框的常用方法是什么?

提前致谢,

白雪公主

Mei*_*der 11

打开选择的PDF并进行转换.

PdfReader reader = new PdfReader(fileNameIn);
PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(fileNameOut));
AcroFields form = stamper.getAcroFields();
Run Code Online (Sandbox Code Playgroud)

检查表单对象字段>键>结果视图以查找复选框的字符串值,在我的情况下是"Check Box1"

String[] checkboxstates = form.GetAppearanceStates("Check Box1");
Run Code Online (Sandbox Code Playgroud)

检查checkboxstates变量.[0] =未检查的值,[1] =已检查的值.然后检查

fields.SetField("Check Box1", checkboxstates[1])
Run Code Online (Sandbox Code Playgroud)


Sur*_*ary 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();
Run Code Online (Sandbox Code Playgroud)

希望这个帮助