如何使用Java中的PDFbox检查表单中的单选按钮 - PDf
我有一段代码用于检查复选框但无法执行相同的操作 PDRadioCollection类
PDDocument fdeb = null;
fdeb = PDDocument.load("C:\\Users\\347702\\Desktop\\complaintform.pdf");
PDAcroForm form = fdeb.getDocumentCatalog().getAcroForm();
PDField feld3 = form.getField("loan");
((PDCheckbox) feld3).check();
fdeb.save("C:\\Users\\347702\\Desktop\\complaintform.pdf");
fdeb.close();
任何人都可以帮助我 谢谢
答案 0 :(得分:2)
解决方案应如下。获取无线电收集字段的名称,而不是您尝试设置的特定按钮字段,然后设置需要设置的复选框字段的值。 setValue()
方法应取消选中所有其他值。
PDRadioCollection coverage = theForm.getField("radio collection");
coverage.setValue("loan");
现在,如果这不起作用(我在早期版本中已经看到了一些关于它的嗡嗡声),另一种但不太理想的方法是获得无线电收集的所有孩子并迭代它们。您在有兴趣设置的check()
小孩上拨打PDCheckbox
,并在所有其他小组上致电unCheck()
。所以像这样:
PDRadioCollection coverage = theForm.getField("radio collection");
kids = coverage.getKids();
for (Object kid : kids) {
if (kid instanceof PDCheckbox) {
PDCheckbox checkbox = (PDCheckbox) kid;
String partialName = checkbox.getPartialName();
if (partialName.equals("loan")) {
checkbox.check();
} else {
checkbox.unCheck();
}
}
}