我已经搜索了谷歌的第七页,我根本无法找到答案! 我正在使用文本来允许用户编辑包含单选按钮和复选框的表单,因此当用户在应用程序中的xml上标记一个复选框时,它会检查pdf上的复选框。但是当我运行应用程序时,它对生成和邮寄的pdf没有影响。 这是我选中复选框和单选按钮时获得的代码片段:
PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(file));
final AcroFields acroFields = stamper.getAcroFields();
if (checkBox.isChecked()) {
acroFields.setField("rf", String.valueOf(true));
} else if (checkBox2.isChecked()) {
acroFields.setField("rwd",String.valueOf(true));
} else if (checkBox3.isChecked()) {
acroFields.setField("ca", String.valueOf(true));
} else if (checkBox4.isChecked()) {
acroFields.setField("lt", String.valueOf(true));
} else if (checkBox5.isChecked()) {
acroFields.setField("d", String.valueOf(true));
} else if (checkBox6.isChecked()) {
acroFields.setField("o", String.valueOf(true));
}
radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
if(radioButton.isChecked()){
try {
acroFields.setField("male",String.valueOf(true));
} catch (IOException e) {
e.printStackTrace();
} catch (DocumentException e) {
e.printStackTrace();
}
}else if (radioButton2.isChecked()){
try {
acroFields.setField("female",String.valueOf(true));
} catch (IOException e) {
e.printStackTrace();
} catch (DocumentException e) {
e.printStackTrace();
}
}
}
});
stamper.setFormFlattening(true);
//stamper.getAcroFields();
stamper.close();
} catch (DocumentException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
reader.close();
//document.add();
}
});
我也试过替换
String.valueOf(true)
与
"on"
但在我将邮寄给自己后,没有人对可填写的pdf进行了更改。 我究竟做错了什么? 是否有其他方法可以在pdf上显示复选框或单选按钮?