我有一个HTML表单,其中包含几个类型为复选框,文本区域和单选按钮的用户输入字段,我需要将其下载为PDF文件,其中包含用户提供的输入值。我成功使用jsPDF将HTML div导出为PDF,但输入字段在PDF结果中没有任何值。如何使用输入值导出整个表单?这是我的jsPDF javascript导出为PDF:
self.onDownload = function (divId){
var doc = new jsPDF();
doc.fromHTML(document.getElementById(divId), 15, 15, {
'width': 170
});
doc.save('sample-file.pdf');
}
答案 0 :(得分:1)
我自己一直在构建您所描述的功能。
关于您遇到的问题,我目前的理解是大多数PDF生成库(如jsPDF)无法读取/解释输入字段的值属性,这就是它们不出现在PDF中的原因。
解决此问题的一种方法是使用DOM到图像生成器,然后将图像另存为PDF。虽然它不是最优雅的解决方案,但它确实有效,并且是迄今为止我找到的最佳解决方案。我一直在使用html2canvas库来创建图像,并使用jsPDF来创建pdf。
有一个教程here,它将引导您使用html2canvas和jsPDF设置基本的html到pdf函数。
答案 1 :(得分:0)
这似乎是错误的,尽管一年之后。
使用
doc.text(20, 20, document.getElementById("YourDiv/Paragraph").innerHTML);
或
document.getElementById("InputField").value
我可以正确使用html文件中的元素。
将其保留在此处以避免将来造成混乱。 对于此处要求的变量: Variables in jsPDF