使用jsPDF生成PDF,并使用Mandrill API附加它

使用jsPDF生成PDF,并使用Mandrill API附加它,pdf,mandrill,jspdf,Pdf,Mandrill,Jspdf,我正在尝试将生成的带有jsPDF的PDF附加到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_k

我正在尝试将生成的带有jsPDF的PDF附加到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附加,但是失败了,文件也会被破坏

有什么想法吗

谢谢

"attachments": [{
    "type": "application/pdf",
        "name": "quote.pdf",
        "content": btoa(pdfOutput)
}]
我们应该这样做