jsPdf - 使用 jsPDF 的 html 方法时,NestJS“ReferenceError: document is not Define”

问题描述 投票:0回答:1

我正在尝试使用 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 文档?

任何见解或建议将不胜感激。谢谢!

nestjs jspdf
1个回答
0
投票

看起来使用

doc.html
最终会调用
html2canvas
,这在
node
环境中不可行。 围绕这个问题存在一些几个问题,看起来除了运行puppeteer实例(或类似的无头环境)并通过它生成pdf之外没有真正的解决方案

© www.soinside.com 2019 - 2024. All rights reserved.