gpt4 book ai didi

css - puppeteer header 和 footertemplate 不起作用

转载 作者:技术小花猫 更新时间:2023-10-29 11:31:18 25 4
gpt4 key购买 nike

这是我创建 pdf 的代码。除了页脚和页眉不起作用外,一切都很好。他们在那里(我认为)但不可见。我已经尝试过 displayHeaderFooter: true 但所有的只是页眉中的日期戳和页脚中的一些损坏的 html 代码(如最后一张图片)。

async function createListenPdf(html, header, footer) {
try {
var jobId = uuidv4();

this.browser = await puppeteer.launch();
const page = await browser.newPage();
var viewport = {
width:1165,
height:1200
}
page.setViewport(viewport);
page.on("console", msg => {
for (let i = 0; i < msg.args.length; ++i) {
console.log(`${jobId} - From page. Arg ${i}: ${msg.args[i]}`);
}
});

await page.goto(`data:text/html,${html}`, { waitUntil: 'networkidle0' });

await page.emulateMedia('screen');

console.log("Header footer");
var buffer = await page.pdf({
printBackground: true,
footerTemplate: "<div style='width: 200px; background-color: #4286f4; position: relative; position: absolute; top:0;'>Hej</div>",
headerTemplate: "<div style='width: 200px; background-color: #4286f4; position: relative; position: absolute; bottom: 0;'>Footer</div>",
//displayHeaderFooter: true,
margin:{
top: "100px",
bottom: "100px"
}
});

console.log(`${jobId} - Done. Will return the stream`);
return buffer;
}
finally {
if (this.browser) {
console.log(`${jobId} - Closing browser`);
this.browser.close();
}
}
}

enter image description here

如您所见,我以某种方式获得了带有灰色区域的页脚(我不知道为什么它是灰色的)。当我在选项中启用 displayHeaderFooter: true 时,它​​看起来像这样:

enter image description here

有没有人设法使用带有页眉和页脚的 html 与 puppeteer 创建 pdf?在他们的 API 描述中,这看起来很明显,但实际上不起作用。

https://github.com/GoogleChrome/puppeteer/blob/v1.3.0/docs/api.md

最佳答案

请尝试以下模板:

headerTemplate: '<span style="font-size: 30px; width: 200px; height: 200px; background-color: black; color: white; margin: 20px;">Header 1</span>',
footerTemplate: '<span style="font-size: 30px; width: 50px; height: 50px; background-color: red; color:black; margin: 20px;">Footer</span>'

并非所有样式属性都受支持,您应该避免使用positiontopbottom

还要确保您使用的是最新版本的 puppeteer

关于css - puppeteer header 和 footertemplate 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49943479/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com