使用jsPDF将HTML输入值导出为PDF

时间:2017-07-31 20:18:18

标签: javascript jspdf

我有一个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');
}

2 个答案:

答案 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