Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/416.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript html2canvas,将多个元素组合成一个pdf_Javascript_Pdf_Jspdf_Html2canvas - Fatal编程技术网

Javascript html2canvas,将多个元素组合成一个pdf

Javascript html2canvas,将多个元素组合成一个pdf,javascript,pdf,jspdf,html2canvas,Javascript,Pdf,Jspdf,Html2canvas,我有一个网页,我想以pdf格式呈现其中的一部分,我有几个不同的部分,我想拼凑在一起,看起来像: [svg-plot1][svg-plot2] [table of data] [other data table] 我可以使用html2canvas获取这张精确的图片,并使用jsPDF将其制作成pdf,但是它太大了,最后被截掉了。 我只想抓取图作为图像,然后添加其余的表作为文本。所以它看起来像: [svg-plot1][svg-plot2] [table of data]

我有一个网页,我想以pdf格式呈现其中的一部分,我有几个不同的部分,我想拼凑在一起,看起来像:

  [svg-plot1][svg-plot2]     [table of data]

  [other data table]
我可以使用html2canvas获取这张精确的图片,并使用jsPDF将其制作成pdf,但是它太大了,最后被截掉了。 我只想抓取图作为图像,然后添加其余的表作为文本。所以它看起来像:

  [svg-plot1][svg-plot2]
  [table of data]
  [other table of data]
是否可以合并多个图像和常规表格数据,并制作一个我想要制作的pdf

这就是我当前的代码呈现一个元素的样子:

var doc = new jsPDF('l','mm','a4');
html2canvas(element,{
   onrendered: function (canvas) {
       var img = canvas.toDataURL('image/png');            
       doc.addImage(img,'PNG',0,0);            
       doc.save();
   }
});

当您使用html2canvas创建多个图像并希望将所有这些图像部分合并为一个pdf时,请创建一个jsPDF对象,每次添加新部分时,请使用此对象并在添加新图像之前添加一个空白页

var doc = new jsPDF('l','mm','a4');
//create first image
html2canvas(element,{
   onrendered: function (canvas) {
       var img = canvas.toDataURL('image/png');
       doc.addImage(img,'PNG',0,0);
   }
});
//create second image
html2canvas(second_element,{
   onrendered: function (canvas) {
       var img = canvas.toDataURL('image/png');
       doc.addPage('l','mm','a4');
       doc.addImage(img,'PNG',0,0);
   }
});
doc.save();

有什么答案吗?我也想这样做。谢谢你的回答。我是在另一个例子中这样做的。最后,我将SVG作为文本字符串传递,然后使用mpdf呈现它。如果您只想使用JavaScript,但它的文档不是很好,那么jspdf是一个很好的库。