单选中的 PDFBox 无效选项
PDFBox invalid option in radio
尝试使用此代码填写此 pdf (http://vaielab.com/Test/2.pdf) 的表格时
PDDocument pdfDocument = PDDocument.load(new File("2.pdf"));
pdfDocument.setAllSecurityToBeRemoved(true);
PDDocumentCatalog docCatalog = pdfDocument.getDocumentCatalog();
PDAcroForm acroForm = docCatalog.getAcroForm();
if (acroForm != null) {
PDField field = (PDField) acroForm.getField("rad2");
try {
field.setValue("0");
} catch (Exception e) {
System.out.println(e);
}
}
pdfDocument.save("output.pdf");
pdfDocument.close();
我收到此错误:值“0”不是字段 rad2 的有效选项,有效值为:[Yes] 和 Off
但是值“0”应该是一个有效选项,如果我用 pdftk 执行 dump_data_fields,我得到这个:
FieldType: Button
FieldName: rad2
FieldFlags: 49152
FieldJustification: Left
FieldStateOption: 0
FieldStateOption: 1
FieldStateOption: Off
FieldStateOption: Yes
我也尝试了值“1”,但得到了完全相同的错误。
我正在使用 pdfbox 2.0.20
这是因为 Root/AcroForm/Fields/[7]/Opt
中的 Opt
值,只有两个“是”条目。当设置 /Opt
时,PDFBox 中的 PDButton.setValue()
代码会以不同方式更新此字段。最好不要设置它,或者通过调用 field.setExportValues(null)
删除这些条目。那么有效设置将是 0、1 和“关闭”。
尝试使用此代码填写此 pdf (http://vaielab.com/Test/2.pdf) 的表格时
PDDocument pdfDocument = PDDocument.load(new File("2.pdf"));
pdfDocument.setAllSecurityToBeRemoved(true);
PDDocumentCatalog docCatalog = pdfDocument.getDocumentCatalog();
PDAcroForm acroForm = docCatalog.getAcroForm();
if (acroForm != null) {
PDField field = (PDField) acroForm.getField("rad2");
try {
field.setValue("0");
} catch (Exception e) {
System.out.println(e);
}
}
pdfDocument.save("output.pdf");
pdfDocument.close();
我收到此错误:值“0”不是字段 rad2 的有效选项,有效值为:[Yes] 和 Off
但是值“0”应该是一个有效选项,如果我用 pdftk 执行 dump_data_fields,我得到这个:
FieldType: Button
FieldName: rad2
FieldFlags: 49152
FieldJustification: Left
FieldStateOption: 0
FieldStateOption: 1
FieldStateOption: Off
FieldStateOption: Yes
我也尝试了值“1”,但得到了完全相同的错误。
我正在使用 pdfbox 2.0.20
这是因为 Root/AcroForm/Fields/[7]/Opt
中的 Opt
值,只有两个“是”条目。当设置 /Opt
时,PDFBox 中的 PDButton.setValue()
代码会以不同方式更新此字段。最好不要设置它,或者通过调用 field.setExportValues(null)
删除这些条目。那么有效设置将是 0、1 和“关闭”。