我正在尝试将生成的PDF与jsPDF附加到Mandrill电子邮件中。代码如下:
doc.addHTML($('#pdfTarget').get(0), function() {
var pdfOutput = doc.output();
$.ajax({
type: 'POST',
url: 'https://mandrillapp.com/api/1.0/messages/send.json',
data: {
'key': 'my_key',
'message': {
'from_email': 'recipient@gmail.com',
'to': [
{
'email': 'email@gmail.com',
'name': 'Test',
'type': 'to'
}
],
'autotext': 'true',
'subject': 'Here is your PDF',
'html': 'This is your PDF!',
"attachments": [
{
"type": "application/pdf;base64",
"name": "your_pdf.pdf",
"content": Base64.encode(pdfOutput)
}
]
}
}
}).done(function(response) {
console.log(response); // if you're into that sorta thing
});
});
如果我运行doc.save(),则会正确下载并保存生成的PDF。但是,如果我使用doc.output()并将结果用作电子邮件附件,则该文件将被破坏。如果我在Base64中对输出进行编码,则示例中附加的PDF不会被破坏,但显示为空白。我通过Base64编码来回修改,附加在实际的电子邮件HTML等等 - 但没有任何作用。
我还尝试将PDF作为blob附加,但是失败了,文件也会被破坏。
有什么想法吗?
谢谢!
答案 0 :(得分:0)
"attachments": [{
"type": "application/pdf",
"name": "quote.pdf",
"content": btoa(pdfOutput)
}]
应该做的伎俩