Javascript JsPDF&;Html2canvas-图像切断如果“是”;“多重”;页
我有一个页面列出了多个产品。单个产品分为3个单独的部门。我循环浏览每个产品,并将每个div转换为一个单独的html2canvas图像,结果是一个产品在PDF中有3个页面(每个div一个页面) 这适用于1个产品(pdf格式为3页),但是不再适用(例如pdf格式为第4页),并且图像顶部由于某种原因开始被切断 这是我正在使用的代码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 =
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();
}
解决();
});
});
}
})();
这是问题的截图,你可以在第二张图片上看到标题消失了,甚至知道它使用的代码与上面创建第一张图片的代码完全相同
第一图像
第二图像
如果您能帮助我们解决这个问题,我们将不胜感激,谢谢