Jar*_*zzy 6 javascript pdf-generation node.js puppeteer
所以我从 URLS 生成多个 PDF,然后我使用 easy-pdf-merge 来组合这些 PDF,
我希望能够更新每个页脚中的 pageNumber 和 totalPages,所以我想获得第一个 PDF totalPages 和页码并将其保存在一个变量中,然后创建的每个 PDF 都将使用我创建的新变量+ 上一个 pageNumber 和 totalPages。“搜索页码”,您将找到选项。 https://pptr.dev/#?product=Puppeteer&version=v1.19.0&show=api-class-page
这可能吗?我在 pdf.options 中看到有 totalPages 和 pageNumber 选项。
const puppeteer = require('puppeteer');
class Webpage {
static async generatePDF(url) {
const browser = await puppeteer.launch({ headless: true }); // Puppeteer can only generate pdf in headless mode.
const page = await browser.newPage();
await page.goto(url); // Adjust network idle as required.
const pdfConfig = {
path: 'home.pdf', // Saves pdf to disk.
// format: 'A4',
printBackground: true,
margin: { // Word's default A4 margins
top: '2.54cm',
bottom: '2.54cm',
left: '2.54cm',
right: '2.54cm'
},
width: 1860,
height: 2631
};
await page.emulateMedia('screen');
const pdf = await page.pdf(pdfConfig); // Return the pdf buffer. Useful for saving the file not to disk.
await browser.close();
return pdf;
}
}
(async() => {
const url = ['https://google.com/'];
// doing some checks here to get more than 1 url
if(url > 1){
for(i=0;i<url.length;i++){
await Webpage.generatePDF(url[i]);
}
}
})();
Run Code Online (Sandbox Code Playgroud)
我做了一些挖掘,发现这个问题如何在 Puppeter 的 page.pdf API 中打印页眉和页脚?
这对了解当时的 puppeteer 正在发生的事情有很大帮助,它似乎使用了 Skia,而后者又使用了 chrome 工具,这就是页码的最终来源。
https://chromedevtools.github.io/devtools-protocol/tot/Page#method-printToPDF
但我仍然不知道如何保存和使用这个变量来完成我想做的事情。
| 归档时间: |
|
| 查看次数: |
1825 次 |
| 最近记录: |