我有一个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 回答
我自己一直在构建你所描述的功能 .
关于您遇到的问题,我目前的理解是大多数PDF生成库(如jsPDF)无法读取/解释输入字段的值属性,这就是它们不出现在PDF中的原因 .
解决此问题的一种方法是使用DOM到图像生成器,然后将图像保存为PDF . 虽然它不是最优雅的解决方案,但它确实有效,并且是迄今为止我找到的最佳解决方案 . 我一直在使用html2canvas库来创建图像,并使用jsPDF来创建pdf .
有一个教程here,它将引导您使用html2canvas和jsPDF设置基本的html到pdf函数 .
这似乎是错误的,尽管是一年之后 .
通过使用
doc.text(20, 20, document.getElementById("YourDiv/Paragraph").innerHTML);
要么
document.getElementById("InputField").value
我可以正确使用html文件中的元素 .
离开这里以避免将来混淆 . 对于这里要求的变量:Variables in jsPDF