Implementé gapi/ 0Auth2 en otra parte de mi código y todo funciona, excepto que el PDF adjunto está roto. El PDF no se puede previsualizar y está vacío cuando se descarga.
´´´
function stuffer() { var sender = "sender@gmail.com"; var receiver = "reciver@hotmail.com"; let dem = pdfCon("ny brab verder"); console.log(dem); var mail = [ 'Content-Type: multipart/mixed; boundary="foo_bar_baz"\r\n', "MIME-Version: 1.0\r\n", "From: " + sender + "\r\n", "To: " + receiver + "\r\n", "Subject: Subject Text\r\n\r\n", "--foo_bar_baz\r\n", 'Content-Type: text/plain; charset="UTF-8"\r\n', "MIME-Version: 1.0\r\n", "Content-Transfer-Encoding: 7bit\r\n\r\n", "The actual message text goes here\r\n\r\n", "--foo_bar_baz\r\n", "Content-Type: application/pdf\r\n", "MIME-Version: 1.0\r\n", "Content-Transfer-Encoding: base64\r\n", 'Content-Disposition: attachment; filename="generated.pdf"\r\n\r\n', dem, "\r\n\r\n", "--foo_bar_baz--", ].join(""); return sendMessage(mail); } function sendMessage(message) { var base64EncodedEmail = btoa(message) .replace(/\+/g, "-") .replace(/\//g, "_"); gapi.client.gmail.users.messages .send({ userId: "me", resource: { raw: base64EncodedEmail, }, }) .then(function (response) { console.log(response); }); } function pdfCon(content) { var pdf = new jsPDF(); pdf.text(content, 10, 10); pdf.setProperties({ title: "new Report", }); return pdf.output("datauristring"); }´´´
He probado PDF prefabricado, en lugar de jsPDF.
Seguí la documentación en google y miré diferentes publicaciones, pero parece que no hay documentación para este problema específico.
De su secuencia de comandos, pensé que el valor devuelto de pdfCon("ny brab verder") es la URL de datos. Entonces, ¿qué tal la siguiente modificación?
let dem = pdfCon("ny brab verder"); let dem = pdfCon("ny brab verder").split(",")[1];