我正在使用 jsPdf 在客户端生成pdf,文档确实使我感到困惑。 我想在pdf上插入一个单选按钮。 在官方文档中,有AcroFormRadioButton类,该类列出了此类的构造函数和Function成员,但我无法使用上的构造函数来创建新对象。 Documentation。 我找到了可以创建新单选按钮的代码,但我不明白:
var doc = new jsPDF('p', 'pt', [ 595.28, 841.89])
doc.setFontSize(10);
doc.text(87.03635, 24.691223, 'Original');
var radioGroup = new RadioButton();
radioGroup.V = "/Test";
radioGroup.Subtype = "Form";
doc.addField(radioGroup);
var radioButton1 = radioGroup.createOption("Test");
radioButton1.Rect = [87.0363, 24.691223, 20, 20];
radioButton1.AS = "/Test";
radioGroup.setAppearance(AcroForm.Appearance.RadioButton.Circle);
doc.save('Test.pdf');
在官方文档中,我找不到RadioButton()构造函数和用于创建单选按钮的方法,我查看了jsPDF的源代码,但存在同样的问题。
我应该在哪里查看jsPdf的文档/源代码,以了解此代码。
答案 0 :(得分:0)
该演示站点非常有用-http://raw.githack.com/MrRio/jsPDF/master/
在下拉菜单中,选择AcroForms,它会为每个表单元素进行快速而肮脏的设置。
这是简短的版本:
/* global jsPDF */
var doc = new jsPDF();
var {
RadioButton,
Appearance
} = jsPDF.AcroForm;
doc.text("RadioGroup:", 50, 165);
var radioGroup = new RadioButton();
radioGroup.value = "Test";
radioGroup.Subtype = "Form";
doc.addField(radioGroup);
var radioButton1 = radioGroup.createOption("Test");
radioButton1.Rect = [50, 170, 30, 10];
radioButton1.AS = "/Test";
var radioButton2 = radioGroup.createOption("Test2");
radioButton2.Rect = [50, 180, 30, 10];
var radioButton3 = radioGroup.createOption("Test3");
radioButton3.Rect = [50, 190, 20, 10];
radioGroup.setAppearance(Appearance.RadioButton.Cross);
我需要稍微改变构造函数的导入和使用:
// import
const jsPDF = require('jspdf');
const doc = jsPDF('p', 'pt');
// then using the radio button constructor
var radioGroup = new doc.AcroFormRadioButton();
// and using 'appearance'
radioGroup.setAppearance(doc.AcroFormAppearance.RadioButton.Cross);
希望有帮助。