我使用 pdfkit 生成 pdf 发票。当我的所有内容都放在一个页面中时,我没有问题。
但是,当它不适合并需要额外的页面时,我有一个奇怪的行为:它没有在第二页中添加元素,而是只添加了一行,页面的其余部分是空白的。然后在第 3 页我有另一个元素,其余为空白,然后是第 4 页、第 5 页等。
下面是这部分对应的代码:
for (let i = 0; i < data.items.length; i++) {
const item = data.items[i];
this.itemPositionY = this.itemPositionY + 20;
if (item.bio) this.containBioProduct = true;
let itemName = item.bio ? `${item.item}*` : item.item;
this.generateTableRow(
doc,
this.itemPositionY,
itemName,
"",
this.formatCurrency(item.itemPriceDf.toFixed(2)),
item.quantity,
this.formatCurrency(item.itemPriceTotalDf.toFixed(2))
);
this.generateHr(doc, this.itemPositionY + 15);
}
基本上我只是迭代一系列产品。对于每一行,我的 Y 位置都有 +20。
谢谢你的帮助。