我在NodeJs中工作,当尝试在'fs'npm软件包的帮助下以.pdf格式写入文件时,出现了一些错误,甚至没有生成pdf。我需要帮助才能跳出这个问题,问题是
events.js:167
throw er; // Unhandled 'error' event
^
Error: write EPIPE
at WriteWrap.afterWrite [as oncomplete] (net.js:833:14)
Emitted 'error' event at:
at onwriteError (_stream_writable.js:431:12)
at onwrite (_stream_writable.js:456:5)
at _destroy (internal/streams/destroy.js:40:7)
at Socket._destroy (net.js:603:3)
at Socket.destroy (internal/streams/destroy.js:32:8)
at WriteWrap.afterWrite [as oncomplete] (net.js:835:10)
有关此错误的代码:
let doc = await wkhtmltopdf(options, xxxx);
let file = await doc.stdout.pipe(fs.createWriteStream(`${__dirname}/${id}_init.pdf`));
感谢您的期待!! 我尝试重新安装fs软件包,更改了端口,但没有任何改善 我认为问题也可能是wkhtmltopdf软件包的bcz(我使用的是Mac)
答案 0 :(得分:0)
我建议您进行以下更改,这对我来说非常好:
// Set url and options to whatever you wish
let doc = wkhtmltopdf(url, options);
let file = doc.pipe(fs.createWriteStream(`${__dirname}/${id}_init.pdf`));
由于wkhtmltopdf和doc.pipe都不返回诺言,因此我们无法在两个调用中使用await。
您也可以尝试直接写入文件,跳过流,例如
wkhtmltopdf('http://google.com/', { output: 'out.pdf' });