我认为这里的问题是elementTobePrinted不是你想象的那样.
当您运行代码时:
var elementTobePrinted = angular.element(attrs.selector)
这将返回一个与条件匹配的每个元素的列表,所以你说你有6个这样的元素(“它有6个div”).
你有没有尝试过更换:
html2canvas(elementTobePrinted, {
onrendered: function (canvas) {
var doc = new jsPDF();
for(var i=1;i
doc.addImage(canvas.toDataURL("image/jpeg"), 'jpeg', 15, 40, 180, 160);
doc.addImage(canvas.toDataURL("image/jpeg"),'JPEG', 0, 0, 215, 40)
doc.addPage();
}
doc.save(attrs.fileName);
}
随着…
for(var i=0; i
html2canvas(elementTobePrinted[i], {
onrendered: function (canvas) {
var doc = new jsPDF();
doc.addImage(canvas.toDataURL("image/jpeg"), 'jpeg', 15, 40, 180, 160);
doc.addImage(canvas.toDataURL("image/jpeg"),'JPEG', 0, 0, 215, 40)
doc.addPage();
doc.save(attrs.fileName);
}
}
我建议这样做的原因是html2Canvas想要一个SINGLE元素作为它的第一个参数,你上面的例子传递了一个元素列表(我想,假设angular.element(attrs.selector)找到你想要打印的所有6个div).