在PDF创建的页脚中打印变量



我需要在页面页脚内打印一个对象字段。目前我有:

async function createPdf(obj, res) {
//other code
const pdf = await page.pdf({ 
format: 'A4', 
printBackground: true, 
displayHeaderFooter : true,
headerTemplate : "",
footerTemplate : "<style>.footer{width: 100%; font-size:12px; text-align:right; color:white; background:#161719; -webkit-print-color-adjust:exact; margin-bottom:-15px;}</style><div class='footer'><span>page </span><span class='pageNumber'></span>/<span class='totalPages'></span></div>",
//margin top 0 removes header
margin: {top: "00", bottom: "18"}
});
//other code
}

我需要在页脚内部打印一些obj过滤器,但我尝试过的所有方法都是,它将obj打印为字符串,而不是内容。有可能实现我的目标吗?

使用page.pdf()创建PDF时,为了在页脚内打印变量,可以使用将footerTemplateHTML放置在模板文字(``(内,并将变量插入占位符(${}(内。

参见以下示例:

const example = 'Hello, world!';
const pdf = await page.pdf({
format: 'A4',
printBackground: true,
displayHeaderFooter: true,
headerTemplate: '',
footerTemplate: `<style>
.footer {
background: #161719;
color: #fff;
-webkit-print-color-adjust: exact;
color-adjust: exact;
font-size: 12px;
margin-bottom: -15px;
text-align: right;
width: 100%;
}
</style>
<div class="footer">
<span>${example}</span> <!-- Variable Inside Footer -->
<span>page</span>
<span class="pageNumber"></span>/<span class="totalPages"></span>
</div>`,
//margin top 0 removes header
margin: {
top: 0,
bottom: 18,
},
});

最新更新