У меня две страницы PHP. Первая - это форма, в которой пользователь вводит данные, при отправке вторая страница создается с помощью div, который выставляет счет. На этой странице есть опции для сохранения этого счета в формате PDF или IMG. Эту страницу он также автоматически отправляет по электронной почте с подтверждением.
Я хотел бы отправить в этом электронном письме также PDF-файл или изображение в виде вложения.
html2canvas.js .png:
function picDiv() {
html2canvas($('#printableArea')[0], {
width: 1200
}).then(function(canvas) {
var a = document.createElement('a');
a.href = canvas.toDataURL("image/png");
a.download = 'nalog.png';
a.click();
});
};
И html2pdf.js для создания pdf:
function pdfDiv() {
var element = document.getElementById('printableArea');
var opt = {
filename: 'nalog.pdf'
};
html2pdf().set(opt).from(element).save();
};
Я прочитал, среди прочего, Отправить изображение на сервер, используя тип ввода файла, html2canvas и jsPDF: отправить сгенерированный PDF-файл как вложение электронной почты < / а>. Также за пределами таких статей: Отправить холст HTML5 как изображение на Сервер и html2pdf сообщение на github. В этом последнем сообщении github html2pdf говорится, что следующий код можно отправить по электронной почте или на сервер, но я не знаю, как отправить его по электронной почте. Он успешно преобразует PDF в строку.
html2pdf().from(element).toPdf().output('datauristring').then(function (pdfAsString) {
//send via email.
});
Моя отправка электронной почты php:
$user = "some email";
$usersubject = "Initium - Vaš online radni nalog";
$userheaders = "From: some email";
$usermessage = "
//some content with php variables and text.
";
mail($user,$usersubject,$usermessage,$userheaders);
Я был бы рад, если бы кто-нибудь объяснил, как отправить PDF ИЛИ ИЗОБРАЖЕНИЕ с помощью этого кода, который у меня уже есть. Имейте в виду, что все это находится на одной странице, и это нужно делать при той же загрузке страницы.
Я перепробовал множество вещей и способов сделать это и заблудился, так как это новая территория для меня. Любая помощь приветствуется.
РЕДАКТИРОВАТЬ:
Полное рабочее решение находится здесь: https://stackoverflow.com/a/61418366/7158959