首页 > 解决方案 > JSPDF在添加边距时留下白色背景

问题描述

我正在使用 JsPDF 打印动态简历数据,并且我想在向 pdf 添加新页面时添加边距。现在,当恢复具有背景颜色并且我在生成 pdf 时添加边距时,它会将边距区域保留为白色,其余部分就可以了。

var data = document.getElementById('box');

html2canvas(data,{scale: 2}).then(canvas => {

  var imgData = canvas.toDataURL('image/JPEG');
  var imgWidth = 210;
  var pageHeight = 295;
  var imgHeight = canvas.height * imgWidth / canvas.width;
  var heightLeft = imgHeight;

  var doc = new jsPDF('p', 'mm', "a4");
  var position = 1;

  doc.addImage(imgData, 'JPEG', 0, position, imgWidth, imgHeight,'FAST');
  heightLeft -= pageHeight;

  while (heightLeft >= 0) {
      position = heightLeft - imgHeight;
      doc.addPage();
      doc.addImage(imgData, 'JPEG', 0, position, imgWidth, imgHeight);
      heightLeft -= pageHeight;
  }
doc.save("Dashboard.pdf");

});

标签: jspdfhtml2canvashtml2pdf

解决方案


使用'pt'而不是'mm'如下,我希望它修复,

var doc = new jsPDF('p', 'pt', "a4");

推荐阅读