【发布时间】:2017-03-09 14:15:33
【问题描述】:
我正在尝试使用 PDFkit 动态创建 pdf,并希望将其作为电子邮件附件发送。按照http://pdfkit.org/demo/browser.html 示例和https://nodemailer.com/using-attachments/ 文档,我编写了以下代码:
var doc = new PDFDocument();
var stream = doc.pipe(blobStream());
doc.text("Howdy!!");
doc.on('end');
stream.on('finish', function() {
var htmlMailBody ='Hi'
var textMailBody = 'hi';
var mailOptions =
{
from: 'ASD', // sender address
to: 'ecell@sfitengg.org', // list of receivers
subject: 'Invitation ', // Subject line
text: textMailBody, // plaintext body alt for html
html: htmlMailBody,
attachments:[
{
filename:"TEST1.pdf",
path:stream.toBlobURL('application/pdf')
}]
};
// send mail with defined transport object
transporter.sendMail(mailOptions, function(error, info){
if(error){
return console.log(error);
}
console.log('Message sent: ' + info.response);
res.redirect('/');
});
});
但我收到以下错误:
TypeError: listener must be a function
at PDFDocument.addListener (events.js:197:11)
at PDFDocument.Readable.on (_stream_readable.js:665:33)
at exports.getSendReport (d:\projects\PDFChecker\server\controllers\pdf.js:159:6)
at Layer.handle [as handle_request] (d:\projects\PDFChecker\node_modules\express\lib\router\layer.js:95:5)
我该如何解决?
【问题讨论】:
标签: node.js pdf blob nodemailer pdfkit