node.js中的pdfmake将pdf下载到flutter应用程序

问题描述

所以我真正想做的是, 在我的订单管理系统中为订单生成 pdf。

我使用 node.js 作为后端,Flutter 作为前端。

我的想法是:生成pdf并存储在服务器上,将pdf的链接返回给Flutter应用程序然后下载pdf,但我不想将pdf存储在服务器上,所以当我的 Flutter 应用程序使用 GET 方法调用 generatePdf 端点时,如何直接发送 pdf?我需要使用 res.download 吗?我是 node.js 的新手,无法理解下载文件的流程。另外,我需要如何更改我的 Flutter 应用程序中的请求?

注意:我使用 PDFMake 生成 pdf。

解决方法

Pdfmake 有一个选项可以将生成的文档直接“管道”到客户端。 因此,如果您将响应对象传递给生成 pdf 的代码,它将类似于:

var printer = new PdfPrinter(fonts);
//Assuming pdf is your generated PDF:
doc = printer.createPdfKitDocument(pdf);
res.setHeader('Content-type','application/pdf');
res.setHeader('Content-disposition','inline; filename="nice.pdf"');
doc.pipe(res);
doc.end();