我在用木偶操作者填写表格后有多个页面。我目前正在使用puppeteer的“page.printToPDF”api获取网页作为pdf,但问题是我有多个页面,我想将所有这些组合在一起并得到一个pdf。无论如何我可以通过puppeteer和javascript来实现这个目标吗?
答案 0 :(得分:1)
这是一个替代解决方案,有许多用于合并pdf文件的包。
以下是如何使用众多pdf合并软件包之一。
const PDFMerge = require('pdf-merge');
const files = [
`${__dirname}/1.pdf`,
`${__dirname}/2.pdf`
];
const finalFile = `${__dirname}/final.pdf`;
以下是如何打印多个页面然后合并它们的方法。
// goto first page and save pdf file
await page.goto('http://example1.com', {waitUntil: 'networkidle'});
await page.pdf({path: files[0], format: 'A4', printBackground: true})
// goto first page and save pdf file
await page.goto('http://example2.com', {waitUntil: 'networkidle'});
await page.pdf({path: files[1], format: 'A4', printBackground: true})
// merge two of them and save to another file
await PDFMerge(files, {output: finalFile);
关于如何利用资源的所有内容。
答案 1 :(得分:0)
var fs = require('fs');
var pdf = require('html-pdf');
var html = fs.readFileSync('https://www.google.co.in/', 'utf8');
var options = {
format: 'A4',
"border": {
"top": "0.2in", // default is 0, units: mm, cm, in, px
"bottom": "1in",
"left": "0.1cm",
"right": "0.1cm"
},
};
pdf.create(html, options).toFile('./google.pdf', function(err, res) {
if (err) return console.log(err);
console.log(res); // { filename: '/app/businesscard.pdf' }
});
在使用上述代码后,您必须安装html-pdf
。有关转换检查链接的更多信息。 https://www.npmjs.com/package/html-pdf