for (const img of data.imgArr) {
const imageBuffer = await fetch(img.url).then((res) => res.arrayBuffer());
const image = await pdfDoc.embedJpg(imageBuffer);
const imgWidth = 300;
const imgHeight = 150;
const allWidth = (config.width - imgWidth) / 2; // 使图片居中
if (startY < imgHeight + 61.89) { // 如果剩余空间不足,重启一页
page = pdfDoc.addPage([config.width, config.height]);
startY = config.startY;
}
page.drawImage(image, {
x: allWidth,
y: startY - imgHeight - 5,
width: imgWidth,
height: imgHeight,
});
startY -= imgHeight + 6; // 图片下方留一些空隙
page.drawText(img.description, {
x: (config.width - Font2.widthOfTextAtSize(img.description, config.size)) / 2,
y: startY - 20,
size: config.size,
font: Font2,
color: config.color,
});
startY -= lineHeight;
}