Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Geração de documento PDF usando Express.js e Node.js

Bom dia!

Alguém aqui já utilizou algum módulo para geração de pdf no próprio back-end? Encontrei o wkhtmltopdf e tentei usar um código assim, mas não funcionou:

this.model.obter(this.http.req.body, (err, model) => {
    var wkhtmltopdf = require('wkhtmltopdf');
    wkhtmltopdf('<h1>Test</h1><p>Hello world</p>')
        .pipe(res);
    res.writeHead(200, { "Content-Type": "application/pdf" });
    res.end();
});

Alguém teria alguma sugestão?

Grato.

2 respostas
solução!

Eu fiz um teste a um certo tempo atrás usando este módulo

https://www.npmjs.com/package/html-pdf

No meu caso era apenas para testes, então eu criei um HTML e fiz uma rota para abrir este HTML, gravar um PDF e forçar o download.

app.get("/pdf", function(req,response){
        var fs = require('fs');
        var pdf = require('html-pdf');
        var html = fs.readFileSync('public/views/teste.html', 'utf8');
        var options = { format: 'Letter' };

        //Para gravar em disco e depois fazer download
        pdf.create(html, options).toFile('public/views/banco.pdf', function(err, res) {
           if (err) return console.log(err);
           console.log(res); // { filename: 'views/banco.pdf' } 
           var stream = fs.createReadStream('public/views/banco.pdf');
           var filename = "banco.pdf"; 
             response.setHeader('Content-disposition', 'inline; filename="' + filename + '"');
           response.setHeader('Content-type', 'application/pdf');
           stream.pipe(response);
        });



    });

Sucesso Daniel!!!

Aqui funcionou sem problemas também.

Agradeço pela dica.