Javascript 反应-html2canvas和JS-PDF按钮单击下载模态元素

Javascript 反应-html2canvas和JS-PDF按钮单击下载模态元素,javascript,reactjs,react-redux,jspdf,html2canvas,Javascript,Reactjs,React Redux,Jspdf,Html2canvas,看看我的代码,我已经尝试了所有关于jsPDF和html2canvas以及React PDF的StackOverflow链接; 还尝试了自定义高度和宽度 但是 我的页面模式高度是2353,宽度是900,太高了,我知道,但我自己无法管理。有人帮忙吗 这是我的密码: html2canvas(document.querySelector("#addCustomerData"), { // height: document.querySelector("#add

看看我的代码,我已经尝试了所有关于jsPDF和html2canvas以及React PDF的StackOverflow链接; 还尝试了自定义高度和宽度 但是 我的页面模式高度是2353,宽度是900,太高了,我知道,但我自己无法管理。有人帮忙吗

这是我的密码:

 html2canvas(document.querySelector("#addCustomerData"), {
      // height: document.querySelector("#addCustomerData").offsetHeight,
      // width: document.querySelector("#addCustomerData").offsetWidth + 200,
      allowTaint: true,
    }).then((canvas) => {
      var imgData = canvas.toDataURL("image/png");

      canvas.height = 2353;
      canvas.width = 900;

      // var imgWidth = 510;
      var imgWidth = 210;
      var pageHeight = 295;
      // var pageHeight = 595;
      console.log(canvas.height);
      console.log(canvas.width);
      // var imgHeight = (canvas.height * imgWidth) / canvas.width + 962;
      var imgHeight = (canvas.height * imgWidth) / canvas.width + 350;

      console.log(imgHeight);
      var heightLeft = imgHeight;

      var doc = new jsPDF("p", "mm");
      var position = 0;

      doc.addImage(imgData, "PNG", 0, position, imgWidth, imgHeight);
      heightLeft -= pageHeight;

      while (heightLeft >= 0) {
        position = heightLeft - imgHeight;
        doc.addPage();
        doc.addImage(imgData, "PNG", 0, position, imgWidth, imgHeight);
        heightLeft -= pageHeight;
      }
      doc.save("test.pdf");
    });
还记录整个系统的值:

 console.log(
      "height: ",
      document.getElementById("addCustomerData").offsetHeight
    );
    console.log(
      "width: ",
      document.getElementById("addCustomerData").offsetWidth
    );
正如我所说,高度是:2353 宽度:900