我需要在页面页脚内打印一个对象字段。目前我有:
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时,为了在页脚内打印变量,可以使用将footerTemplate
HTML放置在模板文字(``
(内,并将变量插入占位符(${}
(内。
参见以下示例:
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,
},
});