gpt4 book ai didi

node.js - Nodejs PDF使下载无法打开

转载 作者:太空宇宙 更新时间:2023-11-03 23:01:04 25 4
gpt4 key购买 nike

我现在正在做Nodejs,尝试使用PDFMake生成PDF。生成后,我希望立即下载它。但是,下载文件后,我无法打开该文件。它显示“无法加载 PDF 文档”。我编写的代码如下。

var docDefinition = { content: 'test', };

var pdfDoc = printer.createPdfKitDocument(docDefinition);
pdfDoc.pipe(fs.createWriteStream('name.pdf'));

pdfDoc.end();

res.download('name.pdf');

最佳答案

查看我对此问题的解决方案 pdfMake - cannot open file .

为什么pdfmake无法打开文件是因为文件流fs仍在写入内存块,这使得它不可读,下载的PDF将被损坏,大小为0KB。

解决方案:向fs.createWriteSteam添加事件监听器并等待fs完成写入然后发送文件。

var temp123;
pdfDoc.pipe(temp123 = fs.createWriteStream('./PDF/' + name), { encoding:'utf16' });

pdfDoc.end();

temp123.on('finish', async function () {
// do send PDF file
res.download('name.pdf');
});

关于node.js - Nodejs PDF使下载无法打开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48058970/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com