nodejs: объединение потоков PDF \ буферов

node.js pdf stream pdf-generation buffer

1987 просмотра

1 ответ

23 Репутация автора

pdf-merge предоставляет API для слияния PDF-файлов, но при попытке объединить буферы или потоки его не хватает. При попытке объединить эти буферы стандартным способом или с помощью пакетов (aka Buffer.concat, stream-concat, buffer-concat) результат включает в себя только последний поток вместо объединенного результата.

Как представляется, с этой проблемой сталкивалось все больше людей, но решения не было предоставлено (пример: NodeJS: объединить два файла PDF в один, используя буфер, полученный при их чтении )

Я думаю, это связано с уникальным представлением PDF-файла.

Я также пробовал pdfkit addContent (буфер), но в результате получается пустой файл, который, очевидно, не поддерживается ( https://github.com/devongovett/pdfkit/issues/417 ).

Кто-нибудь сталкивался с этой проблемой и заставил ее работать? Мы должны использовать потоки из-за проблем с производительностью (таким образом, смягчение с помощью файлов не вариант).

Благодарю.

Автор: Oren Schwartz Источник Размещён: 18.07.2016 11:18

Ответы (1)


5 плюса

861 Репутация автора

Я нашел, 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);
  });
Автор: cienki Размещён: 20.01.2018 04:52
Вопросы из категории :
32x32