Ich versuche, den Dateinamen der PDF-Datei von der npm-Modul html-pdf zu ändern.Ändern Sie den Dateinamen von toStream() in node.js html-pdf npm Modul
Das Problem ist, ich nicht möchte eine Kopie der PDF speichern, streamen Sie es einfach an einen E-Mail-Dienst (Mailgun) und dann senden Sie es ab. Ich habe alles funktioniert, aber wenn ich die E-Mail erhalte, hat die Datei einen Standardnamen, den ich ändern möchte. Hat jemand Erfahrung damit?
Dank
var pdf = require('html-pdf');
var Mailgun = require('mailgun-js');
pdf.create(result).toStream(function(err, stream) {
var self = this;
if (err) return console.log(err);
//set mailgun parameters
var mail_data = {
from: '[email protected]',
to: '[email protected]',
subject: 'subject line',
html: result,
attachment: stream
}
//send email
mailgun.messages().send(mail_data, function (err, body) {
if (err) {
res.render('error', { error : err});
console.log("got an error: ", err);
}
else {
console.log(body);
res.send('ok');
}
});
});
Danke für die Antwort, ich dachte, das ein HTML-pdf Problem. Ich habe diese Lösung ausprobiert und es scheint immer noch nicht zu funktionieren. Die E-Mail wird gesendet, aber es ist keine Anlage vorhanden. –
Der Link, den ich gepostet habe, erwähnt, dass content-type und content-length des Anhangs notwendig sind, wenn der Anhang ein Readable ist, ansonsten ignoriert mailgun den Anhang. Da es keine einfache Möglichkeit gibt, die Länge eines Readable zu kennen, bevor es vollständig verbraucht ist, und html-pdf eine toBuffer-Methode hat, habe ich die Antwort bearbeitet, um stattdessen einen Puffer zu verwenden. –
oh toll. Das macht Sinn, vielen Dank! –