J'ai besoin que la page HTML doit être convertie en fichier PDF et envoyer un PDF en réponse à l'appel API dans le nœud. Pour cela j'utilise le paquet wkhtmltopdf pour convertir HTML en PDF.Comment envoyer un fichier à télécharger en tant que réponse dans le nœud js
app.js
var express = require("express");
var http= require("http");
var app = express();
var wkhtmltopdf = require('wkhtmltopdf');
var fs = require('fs');
var res1 = fs.createWriteStream('out2.pdf');
app.get('/', function (req, res) {
res.send('Hello World!')
});
app.get('/getPDF',function(req, res){
wkhtmltopdf('<h1>Test</h1><p>Hello world</p>').pipe(res1);
res.setHeader('content-type', 'application/pdf');
res.send(res1);
});
app.listen(3000, function() {
console.log('Example app listening on port 3000!')
});
Mais il crée out2.pdf dans le dossier du projet. mais je ne peux pas obtenir le out2.pdf comme fichier téléchargeable dans le navigateur plutôt que je reçois ci-dessous erreur
Erreur
Example app listening on port 3000!
events.js:163
throw er; // Unhandled 'error' event
^
Error: write after end
at writeAfterEnd (_stream_writable.js:191:12)
at WriteStream.Writable.write (_stream_writable.js:238:5)
at Socket.ondata (_stream_readable.js:555:20)
at emitOne (events.js:96:13)
at Socket.emit (events.js:191:7)
at readableAddChunk (_stream_readable.js:176:18)
at Socket.Readable.push (_stream_readable.js:134:10)
at Pipe.onread (net.js:563:20)
toute idée comment réaliser mon exigence