我正在尝试使用puppeteer
获取整页PDF,而我的代码是这样的,
但是结果是多个页面,其高度等于页面的高度。
我该如何解决? TIA。
const puppeteer = require("puppeteer");
function sleep(ms) {
return new Promise(resolve => {
setTimeout(resolve, ms);
});
}
(async () => {
const browser = await puppeteer.launch({
headless: true
});
const page = await browser.newPage();
await page.goto("http://localhost:3000/longpage", {
waitUntil: "networkidle2"
});
let height = await page.evaluate(
() => document.documentElement.offsetHeight
);
console.log("Height", height);
await page.pdf({
path: "hni.pdf",
printBackground: true,
margin: "none",
height: height + "px"
});
await browser.close();
})();
答案 0 :(得分:1)
page you linked使用Bootstrap,它具有以下规则(您可以找到here):
@page{size:a3}
这会将页面的高度限制为a3
的大小。
您可以从网站上删除规则(或完全删除Bootstrap),也可以在调用page.pdf
之前添加以下代码:
await page.addStyleTag({
content: '@page { size: auto; }',
})