我正在尝试使用木偶师创建PDF。创建 PDF 时设置视口完全不起作用。但是,视口设置确实适用于屏幕截图。过去在github上似乎发现了一些问题,但它们显然被关闭了。传入默认视口:null 应该是解决方案。
这是我的代码:
browser = await chromium.puppeteer.launch({
args: chromium.args,
defaultViewport: null,
executablePath: await chromium.executablePath,
ignoreHTTPSErrors: true,
headless: true,
});
let page = await browser.newPage();
// Set viewport
await page.setViewport({width: 1440, height: 900, deviceScaleFactor: 2});
// Generate pdf
const doc = await page.pdf(options);
我还尝试在启动时传入视口设置。
谢谢!
page.pdf
模拟"打印到 PDF"操作。这意味着两件事:首先是介质打印,其次是您需要将特定格式或大小传递给pdf
函数。
从文档中:
举几个例子: *
width
、height
和margin
选项接受标有单位的值。未标记的值被视为像素。page.pdf({width: 100})
- 宽度设置为 100 像素的打印件。 *page.pdf({width: '100px'})
- 宽度设置为100 像素的打印件。 *
page.pdf({width: '10cm'})
- 宽度设置为 10 厘米的打印件。所有可能的单位是:
*px
- 像素
*in
- 英寸
*cm
- 厘米
*mm
- 毫米format
选项包括: *Letter
: 8.5 英寸 x 11 英寸 *Legal
: 8.5 英寸 x 14 英寸 *Tabloid
: 11 英寸 x 17 英寸 *Ledger
: 17 英寸 x 11 英寸 *A0
: 33.1 英寸 x 46.8 英寸 *A1
: 23.4 英寸 x 33.1 英寸 *A2
: 16.54 英寸 x 23.4 英寸 *A3
: 11.7 英寸 x 16.54 英寸 *A4
: 8.27 英寸 x
11.7 英寸 *A5
: 5.83 英寸 x 8.27 英寸
*A6
: 4.13 英寸 x 5.83 英寸