nodejs:合并pdf流缓冲区



pdf merge提供了一个用于合并pdf文件的api,但在尝试合并缓冲区或流时,它做不到。当试图以标准方式或通过包(又名Buffer.concat、stream-concat、Buffer-concat)合并这些缓冲区时,结果只包括最后一个流,而不是合并的结果。

看起来,更多的人遇到了这个问题,但没有提供解决方案(例如:NodeJS:使用读取它们获得的缓冲区将两个PDF文件合并为一个)

我想这是由于pdf文件的独特表示。

我还尝试了pdfkit的addContent(缓冲区),但结果是一个空文件,显然不支持它(https://github.com/devongovett/pdfkit/issues/417)。

有人经历过这个问题并使其发挥作用吗?我们必须使用流来解决性能问题(因此不能选择通过文件进行缓解)。

谢谢。

我发现node-pdftk对此非常有用。只需将一个缓冲区数组作为input传递,然后立即将其转换为output,就可以获得一组组合的PDF。

npm i node-pdftk

const pdfs = [...] // array of PDF buffers
pdftk
  .input(pdfs)
  .output()
  .then(buf => {
    res.type('application/pdf');
    res.send(buf);
  });

相关内容

  • 没有找到相关文章

最新更新