在操纵up的所有页面上呈现标题

时间:2019-04-05 12:15:27

标签: javascript node.js puppeteer

当我将displayHeaderFooter设置为true时,标题将不呈现。仅当我在CSS中将margin设置为@page时,该方法才有效,但随后页面高度将通过margin值增加,并且页面内容将在页面外部呈现。

是否存在一种解决方案,使标题显示在每个页面上而没有错误?

1 个答案:

答案 0 :(得分:2)

您可以使用page.pdfmargin选项设置内容的边距。默认情况下,所有边距的边距均为0,因此,如果您设置的页眉没有边距,它将被隐藏在页面内容的后面。

通过此选项设置的边距不会增加页面的高度。如果可能的话,我建议不要使用CSS中的@page规则,因为存在多个已知错误(有关更多信息,请参见this answer)。

代码示例

这是一个最小的示例,该示例为所有页面设置页眉,并将页边距设置为20mm以使其可见:

await page.pdf({
    displayHeaderFooter: true,
    headerTemplate: '<div style="font-size:5mm;">Your header text</div>',
    margin: {
        top: '20mm'
    },
    path: 'example.pdf'
});