如何使用html2canvas将几个图像添加到几个jspdf页面?

时间:2019-09-17 21:59:54

标签: javascript php html jspdf html2canvas

我正在尝试生成一个包含几页的PDF,每页包含2张图片(thead和tbody),基于我的html表,它可能至少有1页或更多。我使用html2canvas用于将表呈现为img和jspdf以生成pdf。但是可悲的是我收到一个空页。控制台中没有任何错误...我知道我的javascript函数有问题,但是我不知道如何解决它。 这是我的javascript函数:

function genPDF() {
  $( '#message' ).text('your pdf is generating...');
  var doc = new jsPDF("p", "mm", [297, 210]);
  var counter_str = "<?php echo $count_id ?>";
  var counter=parseInt(counter_str);
  for (var i = 0; i <counter ; i++) {
  var head_temp = document.getElementById('head');
  html2canvas(head_temp).then(canvas=>{
      var thead = canvas.toDataURL("image/jpeg");
      doc.addImage(thead, 'jpeg', 5, 5,195,20);
  });
  var body_temp = document.getElementById(i);
  html2canvas(body_temp).then(canvas=>{
    var tbody = canvas.toDataURL("image/jpeg");
    doc.addImage(tbody, 'jpeg', 5, 20,200,290);
});
doc.addPage();
}
doc.save("report.pdf");
    $( '#message' ).text('your pdf is ready to downlaod.');
}

这是我的html表:

<table>
    <thead id"head">....</thead>
    <tbody id="0">....</tbody>
    <tbody id="1">....</tbody>
    <tbody id="2">....</tbody>
    <tbody id="3">....</tbody>
             .
             .
             .
</table>

知道我在做什么错吗?

0 个答案:

没有答案