jsPDF AcroForms中未选中的复选框

时间:2019-05-28 21:13:27

标签: jspdf

examples of jsPDF AcroForm fields in the jsPDF documentation显示了如何创建CheckBox字段,但始终会首先检查该字段。如何创建一个初始化为未选中状态的CheckBox?

1 个答案:

答案 0 :(得分:0)

在仔细阅读PDF规范(ISO 32000-1:2008)之后,我在12.7.4.2.3节中发现,选中和未选中的外观与该字段的外观字典中的条目相对应。我下载了jsPDF生成的PDF:

var doc = new jsPDF();
doc.text('CheckBox:', 10, 125);
var checkBox = new CheckBox();
checkBox.fieldName = "CheckBox1";
checkBox.Rect = [50, 120, 30, 10];
checkBox.value = 'Yes'
doc.addField(checkBox);

我在文本编辑器中打开了PDF,并找到了字段定义:

<<
/F 4
/Rect [141.73 473.39 226.77 501.73]
/FT /Btn
/T (CheckBox1)
/DA (/F13 0 Tf 0.000 g)
/V /Yes
/Type /Annot
/Subtype /Widget
/Q 1
/MK <<
/CA (3)
>>
/AS /On
/AP <<
/N <</On 7 0 R >>/D <</On 8 0 R /Off 9 0 R >>>>
>>

/ N处有字典,AS值是是否选中CheckBox。因此,这意味着您可以使用以下方法控制外观:

checkBox.appearanceState = 'Off' //unchecked
checkBox.appearanceState = 'On' //checked