我正在尝试使用 jsPDF 库在 Node.js 环境中从 HTML 模板生成 PDF 文档。但是,我遇到了错误:
ReferenceError: document is not defined
相关代码如下:
generatePdf(formEntryId: string, customerId: string): ArrayBuffer {
const template = this.templateService.getTemplate('testPdf')
const doc = new jsPDF()
doc.html(template, {
callback: function (doc) {
doc.save('testFile.pdf')
}
})
return doc.output('arraybuffer')
}
据我所知,当尝试在 Node.js 环境中访问文档对象时,通常会发生此错误。但是,我没有直接访问代码中的文档。如何解决此错误并在 Node.js 环境中成功生成 PDF 文档?
任何见解或建议将不胜感激。谢谢!
看起来使用
doc.html
最终会调用 html2canvas
,这在 node
环境中不可行。 围绕这个问题存在一些几个问题,看起来除了运行puppeteer实例(或类似的无头环境)并通过它生成pdf之外没有真正的解决方案