Javascript JsPDF&;Html2canvas-图像切断如果“是”;“多重”;页

Javascript JsPDF&;Html2canvas-图像切断如果“是”;“多重”;页,javascript,jspdf,html2canvas,Javascript,Jspdf,Html2canvas,我有一个页面列出了多个产品。单个产品分为3个单独的部门。我循环浏览每个产品,并将每个div转换为一个单独的html2canvas图像,结果是一个产品在PDF中有3个页面(每个div一个页面) 这适用于1个产品(pdf格式为3页),但是不再适用(例如pdf格式为第4页),并且图像顶部由于某种原因开始被切断 这是我正在使用的代码 var doc = new jsPDF(1, "pt", "letter"); (async function loop(){ <?php $count =

我有一个页面列出了多个产品。单个产品分为3个单独的部门。我循环浏览每个产品,并将每个div转换为一个单独的html2canvas图像,结果是一个产品在PDF中有3个页面(每个div一个页面)

这适用于1个产品(pdf格式为3页),但是不再适用(例如pdf格式为第4页),并且图像顶部由于某种原因开始被切断

这是我正在使用的代码

var doc = new jsPDF(1, "pt", "letter");
(async function loop(){
<?php 
    $count = 0; 
    foreach($products as $k => $v){ 
    $count++; 
    ?>
var k = '<?php echo $k; ?>';
for(var i=1;i<4;i++){
    await new Promise(function(resolve){
        html2canvas($("#pdfcontent"+i+"_"+k)[0], {scale: 2}).then((canvas) => {
            var imgData = canvas.toDataURL('image/jpeg', 1.0);
            doc.addImage(imgData, 'JPEG', 10, 0,  590.28, 590.28/canvas.width * canvas.height);
            if (i < 3){
                doc.addPage();
            }else{
                <?php if ($count == count($products)){ ?>
                doc.save('test.pdf');
                <?php }else{ ?>
                doc.addPage();
                <?php } ?>
            }
            resolve();
        });
    });
}
<?php 
    } 
    ?>
})();
var doc=新的jsPDF(1,“pt”,“字母”);
(异步函数循环(){
var k='';
对于(var i=1;i{
var imgData=canvas.toDataURL('image/jpeg',1.0);
文件添加图像(imgData,'JPEG',10,0590.28590.28/canvas.width*canvas.height);
如果(i<3){
doc.addPage();
}否则{
doc.save('test.pdf');
doc.addPage();
}
解决();
});
});
}
})();
这是问题的截图,你可以在第二张图片上看到标题消失了,甚至知道它使用的代码与上面创建第一张图片的代码完全相同

第一图像

第二图像

如果您能帮助我们解决这个问题,我们将不胜感激,谢谢