使用 Puppeteer,如何生成具有自动高度的 PDF?

Using Puppeteer, how to generate a PDF with automatic height?

我使用 Puppeteer 生成 PDF 格式的收据。 对于每张收据,宽度始终相同,但高度会根据订单中的商品数量而变化。

目前,我使用文章数来估算收据所需的高度。它有点工作,但它并不完美并且是一种肮脏的方式(你可以注意到下面图片底部无用的空白 space)。

有没有办法告诉 Puppeteer : "Please automatically find the right PDF height, according to the HTML content, in order to NOT generate useless blank space" ?

据我了解,您使用的是 page.pdf(options) 方法的 widthheight 选项(很遗憾,您没有提供代码)。您可以尝试通过评估页面上的 JS 函数来获取加载网页的 height 值。例如...

const pageHeight = await page.evaluate(() => { window.innerHeight; });
const result = await page.pdf({ height: pageHeight  + 'px' });