How to output a PDF buffer to browser using NodeJS? How to output a PDF buffer to browser using NodeJS? express express

How to output a PDF buffer to browser using NodeJS?


Change to:

pdf.create(html).toStream(function(err, stream) {    if (err) {        console.log(err)    } else {        res.set('Content-type', 'application/pdf');        stream.pipe(res)    }});


you can use the below function or html.create(somehtmlfile.html).toStream()

function to convert a buffer to stream

 function bufferToStream(buffer) {       let stream = new Duplex();     stream.push(buffer);     stream.push(null);     return stream;   }

download or view a pdf in browser if it's a stream

var pdf = require('html-pdf')var html = 'somehtmlfile.html'exports.generatePdf = (req, res) =>{    pdf.create(html).toBuffer(function (err, buffer) {            if (err) {              console.log(err)            } else {              console.log(buffer)           bufferToStream(buffer).pipe(res)            }    }}


pdf.create(html).toBuffer(function (err, buffer) {    if (err) {        console.log(err)    } else {        console.log(buffer)        res.header('Content-type', 'application/pdf')        res.send(buffer)    }}