jsPdf使用html2canvas.js从html导出pdf不适用于大数据

Ank*_*bey 1 html javascript css html2canvas jspdf

嗨我使用jsPdf制作HTML内容的pdf,它适用于短内容和创建pdf,但是当我尝试在大内容上使用html2canvas.js(用于渲染css)时,它不会创建pdf.任何建议或示例代码都会有所帮助.谢谢.

pra*_*rad 5

可以为大文件创建pdf.主要有两种方法可以做到这一点:

1. html - > canvas - > image - > pdf(我假设你正在尝试这种方法)

2. html - > pdf(如果html包含svg则不起作用)

我建议你去(2)除非你有充分的理由去寻找(1)(比如你有svg内容) - 浏览器操作非常昂贵,浏览器也有可能崩溃.

1. html - > canvas - > image - > pdf

这里的描述非常简洁 - https://github.com/MrRio/jsPDF/issues/339#issuecomment-53327389

我在使用此方法时的体验 - 当生成的pdf包含超过2-3页时崩溃.(在最新的chrome和firefox上测试过)

2. html - > pdf

var pdf = new jsPDF('l', 'pt', 'a4');
 var options = {
    pagesplit: true
};

pdf.addHTML($('body'), 0, 0, options, function(){
    pdf.save("test.pdf");
});
Run Code Online (Sandbox Code Playgroud)

与上述方法相比,这更快.在1-2秒内生成包含5-6页的pdf!

希望这可以帮助!