我正在尝试使用JSPDF从HTML生成PDF,其中HTML包含一个复杂的表格,下面附有图片。
你可以在这个Fiddle中查看我目前所做的工作。
问题是,在我尝试生成PDF时,出现了以下错误:
这种复杂的表格能否使用JSPDF呢?还是只适用于简单的表格?
编辑:我通过不同的方法解决了这个问题,以下是我的做法:
1. 将HTML表格转换为Canvas(html2canvas.js)。 2. 使用
如果需要将图表和图片作为PDF的一部分,请参考链接:charts and images as part of PDF 功劳归于我的大脑。
你可以在这个Fiddle中查看我目前所做的工作。
pdf.fromHTML(
source, // HTML string or DOM elem ref.
margins.left, // x coord
margins.top, { // y coord
'width': margins.width, // max width of content on PDF
'elementHandlers': specialElementHandlers
},
function (dispose) {
// dispose: object with X, Y of the last line add to the PDF
// this allow the insertion of new lines after html
pdf.save('Test.pdf');
}, margins);
问题是,在我尝试生成PDF时,出现了以下错误:
Uncaught TypeError: Cannot read property 'name' of undefined
这种复杂的表格能否使用JSPDF呢?还是只适用于简单的表格?
编辑:我通过不同的方法解决了这个问题,以下是我的做法:
1. 将HTML表格转换为Canvas(html2canvas.js)。 2. 使用
canvas.toDataURL("image/jpeg")
将Canvas转换为Base64图像。
3. 我使用JSPDF创建一个空白PDF,并使用JSPDF的addImage功能将Base64图像嵌入到PDF中。如果需要将图表和图片作为PDF的一部分,请参考链接:charts and images as part of PDF 功劳归于我的大脑。