一个页面有多个节点,循环打印每个节点并生成pdf文档,html2canvas截取部分正常,但只有第一个节点能正常生成PDF文档,其余节点生成的都是空白文档
没有任何报错,为了排除错误,该页面不存在图片,且在每个节点截图时,都将其置顶视图
var downPdf = document.querySelectorAll(".main_area");
const header = document.querySelector('.pdf-header');
const footer = document.querySelector('.pdf-footer');
for (let i = 0; i < downPdf.length; i++) {
window.pageYOffset=downPdf[i].offsetTop
document.documentElement.scrollTop=downPdf[i].offsetTop
handleOutput(downPdf[i],header,footer)
}
async function handleOutput(dom,header,footer) {
// window.pageYOffset=0
// document.documentElement.scrollTop=0
try {
await outputPDF({
element: dom,
footer: footer,
header: header,
contentWidth: 592.28,
filename:'{$report.value.excel_1}_report.pdf'
})
} catch (error) {
console.log("shibai")
}
}
在html2canvas内部参数也设置了参数,排除滚动条原因生成截图异常的问题
document.body.appendChild(canvas);显示出生成截图一切正常,但除了第一个节点,其他生成的PDF文档都是空白的
html2canvas(element, {
dpi:350,
scale:4,
useCORS:true,
background:'#fff',
// windowWidth:element.scrollWidth,
// windowHeight:element.scrollHeight,
x:0,
y:element.offsetTop,
onrendered: function (canvas) {
// console.log(canvas)
document.body.appendChild(canvas);
}