cdk lambda nodejsfunction pdfmake enoent错误
我正在尝试升级Lambda JS 代码,该代码使用PDFMAKE 0.1.64到CDK lambda nodejsfunction typescript 使用PDFMake 0.2.5的代码。
我正在遇到错误:“ enoent:没有这样的文件或目录,打开'/var/task/data.trie'“
当包含此代码行时,该错误是在lambda函数中生成的:
import PdfPrinter = require('pdfmake');
搜索此错误意味着这是PDFKIT错误。我的理解是PDFMAKE基于PDFKIT。
文档:“在服务器端上使用pdfmake”
import PdfPrinter = require('pdfmake');
const fonts = {
Courier: {
normal: 'Courier',
bold: 'Courier-Bold',
italics: 'Courier-Oblique',
bolditalics: 'Courier-BoldOblique'
},
Helvetica: {
normal: 'Helvetica',
bold: 'Helvetica-Bold',
italics: 'Helvetica-Oblique',
bolditalics: 'Helvetica-BoldOblique'
},
Times: {
normal: 'Times-Roman',
bold: 'Times-Bold',
italics: 'Times-Italic',
bolditalics: 'Times-BoldItalic'
},
Symbol: {
normal: 'Symbol'
},
ZapfDingbats: {
normal: 'ZapfDingbats'
}
};
const docDefinition = {
content: [
'First paragraph'
],
defaultStyle: {
font: 'Helvetica'
}
};
const printer = new PdfPrinter(fonts);
const doc = printer.createPdfKitDocument(docDefinition);
doc.end();
I'm trying to upgrade Lambda js code that uses pdfmake 0.1.64 to CDK Lambda NodejsFunction typescript code that uses pdfmake 0.2.5.
I'm getting the error: "ENOENT: no such file or directory, open '/var/task/data.trie'"
The error is generated when this line of code is included in the Lambda function:
import PdfPrinter = require('pdfmake');
Searching for this error implies that this is a pdfkit error. My understanding is pdfmake is based on pdfkit.
Docs: "Use pdfmake on server-side" https://pdfmake.github.io/docs/0.1/fonts/standard-14-fonts/
Additional Lambda typescript code (for reference):
import PdfPrinter = require('pdfmake');
const fonts = {
Courier: {
normal: 'Courier',
bold: 'Courier-Bold',
italics: 'Courier-Oblique',
bolditalics: 'Courier-BoldOblique'
},
Helvetica: {
normal: 'Helvetica',
bold: 'Helvetica-Bold',
italics: 'Helvetica-Oblique',
bolditalics: 'Helvetica-BoldOblique'
},
Times: {
normal: 'Times-Roman',
bold: 'Times-Bold',
italics: 'Times-Italic',
bolditalics: 'Times-BoldItalic'
},
Symbol: {
normal: 'Symbol'
},
ZapfDingbats: {
normal: 'ZapfDingbats'
}
};
const docDefinition = {
content: [
'First paragraph'
],
defaultStyle: {
font: 'Helvetica'
}
};
const printer = new PdfPrinter(fonts);
const doc = printer.createPdfKitDocument(docDefinition);
doc.end();
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
以下CDK Lambda设置已解决此错误。
在lambda中(强制打字稿忽略类型错误)。目前尚不清楚如何使类型工作。 package.json包括 @type/pdfmake软件包。
The following CDK Lambda setting fixed this error.
In Lambda (force Typescript to ignore the type error). It's not clear how to get types working. The package.json includes @types/pdfmake package.