2015-10-22 12 views
1

Вот один из фрагмента кода PDFMake к create pdf file:Как использовать PDF-файл PDFMake в настройках почты вложений NodeMailer?

var pdfDoc = printer.createPdfKitDocument(docDefinition); 
pdfDoc.pipe(fs.createWriteStream('pdfs/absolute.pdf')); 
pdfDoc.end(); 

и вот один из attachment option in NodeMailer:

{ 
    // stream as an attachment 
    filename: 'text4.txt', 
    content: fs.createReadStream('file.txt') 
} 

Я могу создать PDF и сохранить его в файл в директории и прикрепить этот сохраненный файл в сообщении электронной почты, но Я хочу напрямую отправить вывод pdf в вложенное содержимое электронной почты, не сохраняя вывод pdf в файл.

Я попытался понять узлы pipejs и функции потока, но не смог понять их, чтобы соответствовать моим требованиям. Я думаю, что это должно быть возможно через поток и трубу, но не знаю, как этого добиться.

Я хочу, чтобы предотвратить сохранение вывода PDF в файл, потому что может быть несколько пользователей, использующих функциональность создания pdf-файла и отправки электронной почты. Может возникнуть ситуация, когда файл PDF, созданный одним пользователем, будет перезаписан другим пользователем.

ответ

4

вы можете вместо трубы, пройти весь pdfdoc к вложению

var pdfDoc = printer.createPdfKitDocument(docDefinition); 
pdfDoc.end(); 

, а затем:

attachments: { 
    // stream as an attachment 
    filename: 'text4.pdf', 
    content: pdfDoc 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^