html2canvas不适用于大型HTML内容

时间:2018-06-14 20:58:12

标签: jspdf html2canvas html2pdf

我正在尝试使用html2canvas库来保存动态生成的html并将其作为图像输出到页面。如果生成的HTML不是太多,那么html2canvas可以正常工作,但是,如果生成的html太大(当我尝试打印它时,它的70页),那么html2canvas将返回canvas.toDataURL('image/png')返回data:;的画布对象。

我发现在线建议将html2canvas.js文件中的maxInt更改为Number.MAX_VALUE,但这也不起作用。

有没有办法解决这个问题?我将需要此图像最终将其传递给jspdf库以生成pdf文档。

1 个答案:

答案 0 :(得分:0)

第一件事。如果要剪切,可能是因为您试图捕获对于浏览器而言太大的图像。请参阅有关画布大小限制的常见问题解答:

https://html2canvas.hertzen.com/faq

如果是这种情况,则需要将图像分解为较小的子图像,并将其作为单独的页面写到PDF中。您无法将它们合并为一个图像,因为浏览器不会允许您。

如果小于该大小,则可能是由于缺陷影响了alpha.12,如果您使用传递选项windowWidth,则捕获document.body可以剪辑内容。解决该缺陷的方法是捕获document.body以外的其他东西,然后它会起作用。