提问人:Ivan Gusev 提问时间:9/29/2023 最后编辑:Ivan Gusev 更新时间:9/29/2023 访问量:41
如何启用 Puppeteer 生成正确反映屏幕@media查询的 PDF
How to enable Puppeteer generate PDFs that correctly reflect screen @media queries
问:
屏幕媒体查询未在生成的 PDF 文件中正确应用。 Chrome 在处理屏幕@media查询时似乎忽略(或以某种方式不匹配)提供的页面宽度。 Puppeteer 版本 21.1.1
这是我尝试过的:
const browser = await puppeteer.launch({
args: ['--no-sandbox'],
headless: "new"
});
const page = await browser.newPage();
await page.setContent(content,{waitUntil:'networkidle0'});
await page.emulateMediaType('screen');
const pdfBuffer = await page.pdf({
width: '1400px',
height: '900px',
printBackground: true
});
设置视口似乎对 PDF 渲染完全没有影响:
await page.setViewport({
width: 1400,
height: 900,
deviceScaleFactor: 1
});
这是我拥有的css:content
@media (min-width: 1250px) { /* will work only if i change it into 1050px */
.container {
max-width: 540px;
}
}
答:
0赞
Ivan Gusev
9/29/2023
#1
已在 chrome 117 版本中修复此问题。
评论