Как получить данные в формате PDF в pdfkit, не сохраняя их в файл

Я использую pdfkit в nodejs для создания PDF-файлов. Прямо сейчас, чтобы получить данные из pdfDocument, я сначала записываю их в файл с помощью «fs», а затем считываю из него.

Я хочу иметь возможность использовать данные непосредственно из объекта pdfDocument и отправлять их в качестве ответа. Как я могу это сделать?


person Shamas S    schedule 21.05.2014    source источник
comment
Какой пдфкит? Ruby или nodejs? вы отметили их обоих.   -  person Farid Nouri Neshat    schedule 21.05.2014


Ответы (1)


Каждый pdfDocument представляет собой поток. Вы можете в основном передать его ответу следующим образом:

require('http').createserver(function (request, response) {
    var pdfdocument = require('pdfkit'),
        pdfdocument = new pdfdocument();

    pdfdocument.text('wassup');
    pdfdocument.pipe(response);

    pdfdocument.end()
}).listen(1999);
person Farid Nouri Neshat    schedule 21.05.2014
comment
Я хочу иметь возможность опубликовать pdfDocument в качестве объекта ответа. Но я не могу передать pdfDocument в поток. Как я могу это сделать? - person Shamas S; 21.05.2014
comment
Что вы подразумеваете под невозможностью передать pdfDocument в поток? Что не так с кодом выше? Я пробовал. Оно работает. - person Farid Nouri Neshat; 21.05.2014
comment
@FaridNouriNeshat, спасибо. Я хотел спросить, может ли вышеуказанное работать с любыми другими обработчиками http? для вашего решения требуется порт, у меня уже есть сервер hapi nodejs, и я пытаюсь воспроизвести его с помощью лямбда-функции. которым необходимо передать ответ на внешний веб-сайт в виде загрузки в формате pdf. - person hss; 11.11.2020
comment
Да, если у вас есть объект ответа или доступный для записи поток, в противном случае вы можете просто буферизовать его и вернуть в результате, но я не предлагаю этого, потому что это будет медленнее. - person Farid Nouri Neshat; 12.11.2020