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

Javascript 使用html2canvas.js从html导出pdf的jsPdf不适用于大数据,javascript,html,css,html2canvas,jspdf,Javascript,Html,Css,Html2canvas,Jspdf,您好,我正在使用jsPdf制作html内容的pdf,对于简短内容和创建pdf来说,这是很好的,但是当我尝试使用html2canvas.js(用于呈现css)在大型内容上使用它时,它并没有创建pdf。 任何建议或示例代码都会很有帮助。谢谢。可以为大型文件创建pdf。这主要有两种方法: 1。html->canvas->image->pdf(我假设您正在尝试这种方法) 2。html->pdf(如果html包含svg,则不起作用) 我建议您选择(2),除非您有充分的理由选择(1)(比如如果您有svg内容

您好,我正在使用jsPdf制作html内容的pdf,对于简短内容和创建pdf来说,这是很好的,但是当我尝试使用html2canvas.js(用于呈现css)在大型内容上使用它时,它并没有创建pdf。
任何建议或示例代码都会很有帮助。谢谢。

可以为大型文件创建pdf。这主要有两种方法:

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

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

我建议您选择(2),除非您有充分的理由选择(1)(比如如果您有svg内容)——这对浏览器来说是非常昂贵的操作,而且也有可能导致浏览器崩溃

1。html->画布->图像->pdf

这在这里描述得非常清楚-

我使用此方法的经验-生成的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");
});
与上述方法相比,这要快得多。在1-2秒内生成包含5-6页的pdf


希望这有帮助

可以为大型文件创建pdf。这主要有两种方法:

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

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

我建议您选择(2),除非您有充分的理由选择(1)(比如如果您有svg内容)——这对浏览器来说是非常昂贵的操作,而且也有可能导致浏览器崩溃

1。html->画布->图像->pdf

这在这里描述得非常清楚-

我使用此方法的经验-生成的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");
});
与上述方法相比,这要快得多。在1-2秒内生成包含5-6页的pdf

希望这有帮助


这很有魅力。我唯一的问题是,有没有一种方法可以针对主体内部的特定div,而不是孔主体?是的,使用答案中的第二种方法,将$('body')替换为相应的div jquery选择器。例如$('id'u of'u your'u div')问候!你能帮我从div中获取所有内容,而不仅仅是视口中可见的内容吗?一份53页的pdf怎么样?这很有魅力。我唯一的问题是,有没有一种方法可以针对主体内部的特定div,而不是孔主体?是的,使用答案中的第二种方法,将$('body')替换为相应的div jquery选择器。例如$('id'u of'u your'u div')问候!你能帮我从div中获取所有内容,而不仅仅是视口中可见的内容吗?53页的pdf怎么样?