我尝试了很多不同的方法,但我无法检查复选框!以下是我尝试过的内容:
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");
}
它们都不起作用。有什么想法吗?
答案 0 :(得分:14)
您不应该“猜测”可能的值。您需要使用存储在PDF中的值。请尝试CheckBoxValues示例来查找这些可能的值:
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();
}
或者使用RUPS查看PDF。转到窗口小部件注释并查找正常(/N
)外观(AP
)状态。在我的示例中,它们是/Off
和/Yes
: