NodeJS 与 Puppeteer:如何设置每个页面的边距(或缩放所有页面以适应页边距)?

问题描述 投票:0回答:2

我尝试仅使用以下设置,但结果页眉和页脚位置将会更改。请指教。

await page.pdf({
    path: FILENAME,
    format: 'A4',
    margin: {
        top: "0px",
        right: "0px",
        bottom: "0px",
        left: "0px"
    },
    printBackground: true // required for photos otherwise blank
});
node.js docker scale margin puppeteer
2个回答
5
投票

尝试 page.pdf 选项中的 preferCSSPageSize: true。 这允许您在 CSS 中指定页面的边距,并且它将优先。 **放置 CSS **

<style>
    @page 
{ 
    size: A4 portrait;
    margin:0; 
}
</style>

0
投票

要为 puppeteer pdf 添加边距,普通道具对我不起作用。我必须将以下样式直接添加到我的网站。

<style>
        {`@media print {
            @page {
                size: A4 portrait;
                margin-top: 0.6in;
                margin-right: 0.4in;
            }
            //If you want to style specific page
            @page :first {
                margin-top: 0.4in;
            }         
        }`}
</style>

另外,启用preferCSSPageSize为true

const pdfBuffer = await page.pdf({
        preferCSSPageSize: true,
    });
© www.soinside.com 2019 - 2024. All rights reserved.