【发布时间】:2019-09-03 17:23:27
【问题描述】:
我可以在我的 Mac 上本地使用 nodejs 中的 html-pdf 生成 pdf。当我在 AWS 上使用无服务器部署我的 GET api 时,一切都失败了。没有生成 pdf,我收到 400 个错误请求和消息,如 html-pdf: Received the exit code '127'\n/var/task/node_modules/phantomjs-prebuilt/lib/phantom/bin/phantomjs:加载共享库时出错:libfontconfig.so.1: cannot open shared object file: No such file or directory\n
我更改了 html-pdf 包的版本,尝试安装 fontmanager 但没有任何帮助。
//pdf generation class
{
.....
const pdfSettings = {
"border": '1cm',
"header": {
"height": "15mm"
}
};
const PDFBuffer = new Promise((resolve, reject) => {
pdf.create(pdfContent, pdfSettings).toBuffer(
(err, buffer) => {
err ? reject(err) : resolve(buffer);
});
});
const buffer = await PDFBuffer;
return actions.downloadPDF(contactId, buffer);
}
//function which returns pdf in binary to api gateway
downloadPDF(pdfName, pdfBuffer) {
let responseObj = {
statusCode: 200,
isBase64Encoded: true,
headers: {
'Content-type': 'application/pdf',
'accept-ranges': 'bytes',
'Content-Disposition': 'attachment; filename=' + pdfName + '.pdf'
},
body: pdfBuffer && JSON.stringify(pdfBuffer.toString('base64'))
}
return responseObj;
}
我应该能够使用 AWS 中的 GET api 生成 pdf。请让我知道任何可以帮助我解决此问题的宝贵建议。提前致谢
【问题讨论】:
标签: node.js amazon-web-services pdf serverless html-pdf