【发布时间】:2020-01-20 19:48:00
【问题描述】:
我正在 Node.js 10.x 和 Angular 6.x 中构建一个 Web 应用程序。我希望生成 PDF 并通过浏览器下载。
- 角度 6.x
generatePDF(params): any {
return this.http.post(this.url('generatePDF'), params, this.getRequestOptions())
.pipe(map((res: any) => {
return res;
})
);
}
- Node.js
async generatePDF(options = { format:'A4' }) {
return new Promise((resolve, reject) => { ejs.renderFile(this.templateName, this.data, (err, res) => {
if (err) {
return reject(err);
}
pdf.create(res, options)
.toFile(this.fileName, (err, res) => {
if (err) {
return reject(err);
}
resolve(res);
});
});
});
}
【问题讨论】:
-
你在使用 expressjs 吗?这应该对您有所帮助:stackoverflow.com/a/21788474/1906361
-
我试过了,还是不行。
-
你可以试试这个npmjs.com/package/pdfmake
-
生成 PDF 运行良好。我想通过浏览器下载pdf。
-
如果我没记错的话,在 Chrome 中你可以使用原生 Chrome pdf 阅读器来做到这一点,或者你想点击 Angular 应用程序中的某种下载按钮来做到这一点?