我在循环中使用 canvas.toBuffer 为不同的内容生成 pdf,但所有生成的 pdf 都具有相同的内容。下面是我正在使用的循环片段。
for (const d of data) {
context.clearRect(0, 0, imageWidth, imageHeight);
context.drawImage(image, 0, 0, imageWidth, imageHeight);
context.fillText(d.name.toUpperCase(), 1685, 1556);
fs.writeFileSync(`./assets/certs/${d.email}.pdf`,canvas.toBuffer());
}
数据是类型,Array<{name:String, email:String}>
. 该名称应该在图像上打印每个用户的名称,但事实证明所有生成的 pdf 都只有第一个用户的名称。
我尝试从画布创建一个 ReadStream 但我最终遇到了同样的问题。有什么我做错了还是我错过了什么?