如何解决Puppeteer-PDF:当我尝试生成PDF时,节点挂起
我使用Puppeteer生成PDF文件。在我的笔记本电脑(Windows 10)中,它工作得很好,但是在服务器(Windows Server 2012 R2)中,当尝试生成PDF时它挂起,并以超时错误结束。
let html = '<html here....>';
pathPdf = 'c:\path\file.pdf'
const pdf=this.generatePdf();
pdf.then(
function (){
res.status(200).send([{path: pathPdf}]);
})
.catch(
function(val){
res.status(500).send([val.message,val]);
});
this.generatePdf = async function() {
return new Promise(async function(resolve,reject) {
try {
const browser = await puppeteer.launch({
headless: true
});
const page = await browser.newPage();
page.setContent(html);
//page.setDefaultNavigationTimeout(0)
const buffer = await page.pdf({
path: pathPdf,format: "A4",printBackground: true,displayheaderfooter: true,footerTemplate: `
<div style="font-size: 10px; padding-top: 5px; text-align: right; width: 100%; margin-right: 35px">
<span>Page</span> <span class="pageNumber"></span> de <span class="totalPages"></span>
</div>
`,margin: {
bottom: 70,// minimum required for footer msg to display
left: 25,right: 35,top: 30,},});
resolve();
console.log('Bufffer',buffer);
await browser.close();
//res.end(buffer);
console.log(buffer) // maybe do response(pdf).type('x-pdf')
} catch (e) {
console.log('Error',e);
reject(e);
}
});
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。