Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用pdfkit生成pdf文件并将其发送到nodejs expressjs中的浏览器_Javascript_Node.js_Express_Node Pdfkit - Fatal编程技术网

Javascript 使用pdfkit生成pdf文件并将其发送到nodejs expressjs中的浏览器

Javascript 使用pdfkit生成pdf文件并将其发送到nodejs expressjs中的浏览器,javascript,node.js,express,node-pdfkit,Javascript,Node.js,Express,Node Pdfkit,我正在使用pdfkit生成pdf文件,我想将此pdf文件发送到浏览器。 但我收到了一条信息“TypeError:侦听器必须是一个函数” 另外,文件正在我的父目录中生成,我不希望这样。 有人能告诉我如何生成pdf文件并将其发送到浏览器,而不将其存储在父目录中吗? 我在这里使用expressjs 我的代码 doc.write是导致故障的行,也是一个错误,所以不要使用它。相反,使用管道告诉您的文档在哪里传输信息,并记住使用doc.end()关闭它,例如: doc = new PDFDocum

我正在使用pdfkit生成pdf文件,我想将此pdf文件发送到浏览器。

但我收到了一条信息“TypeError:侦听器必须是一个函数” 另外,文件正在我的父目录中生成,我不希望这样。

有人能告诉我如何生成pdf文件并将其发送到浏览器,而不将其存储在父目录中吗?
我在这里使用expressjs

我的代码
doc.write
是导致故障的行,也是一个错误,所以不要使用它。相反,使用管道告诉您的文档在哪里传输信息,并记住使用
doc.end()
关闭它,例如:

doc = new PDFDocument();
doc.pipe( fs.createWriteStream('out.pdf') );

// rest of the code goes here...

doc.end();
请注意,
doc.pipe()
位于顶部并不重要,这对我来说很有意义(您可以将它放在
doc.end()
之前或之后。这没关系,它可以正常工作)。最后,请注意,您可以使用
pipe
直接流式传输到响应,无需先创建文件,然后再下载,即:

doc.pipe( fs.createWriteStream(res) )
因此,试着使用


文件管道(res)

“文件仍在本地目录中生成,我想将此文件作为下载发送到浏览器。@SachinKumbharkar是的,对不起,我忘了在最后一个示例中包含fs函数。”。您仍然需要它,只需将它指向HTTP响应而不是本地文件现在我收到错误消息uncaughtException:path必须是字符串。@SachinKumbharkar我建议您自己尝试搜索解决方案。我相信你不是第一个提出这个要求的人。如果,在那之后,你找不到任何好的解决方案,那么在这里打开一个新的问题。一定会有人(也许甚至是我)来帮助你(但是,再一次,只有当你证明自己做了一些努力的时候)。最后,如果这个答案对你有帮助,请考虑把它标记为正确的,所以其他有同样问题的人会知道它不是帮助doc.Cube(FS。CeaRealEdestReAM(RES)),但是doc.Pobe(Res)我已经发布了一个新问题。我需要你的建议。我将其作为节点上的一项服务,并将数据作为参数传递,并在响应中使用管道传输数据。doc.pipe(res)和我的react端在arraybuffer中进行了axios调用和abosorbed响应,并将其写入blob。别忘了使用
doc.end()
Hi结束流。我遇到了类似的情况,我的代码将在AWS api网关中执行。我已经在这个链接中写了描述,如果有人能看一下并提供帮助,那将是非常有帮助的。
doc.pipe( fs.createWriteStream(res) )