Мы работаем над проектом (обслуживаем iOS и Android параллельно), где AngularJS и Ioni c 1.x все еще нужны быть закодированным, поскольку перекодирование в более новую версию невозможно по причинам, о которых здесь не стоит упоминать.
Теперь нам нужно сохранить динамическое c содержимое таблицы с идентификатором tableText
используя jsPDF-autotable и jsPDF в PDF-файл, который может занимать более страницы.
Внутри связанного. html -файла существуют строки, подобные приведенным ниже:
<ion-nav-buttons side="secondary">
<a ng-click="getPDF()" class="button button-icon icon ion-ios-cloud-upload"></a>
</ion-nav-buttons>
Таким образом запускается следующий JavaScript -код, чтобы прикрепить сгенерированный PDF-файл как вложение с использованием smtp js:
$scope.getPDF = function ()
{
var fileName = „test.pdf“;
var emailSubject = „Title text“;
var emailBody = „Some text“;
var emailReceiver = „receiver@hotmail.com";
var emailSender = „info@my.website.com“;
var hostName = „smtp.my.website.com“;
var doc = new jsPDF(
{
orientation: 'l',
unit: 'mm',
format: [400, 210]
});
doc.autoTable(
{
html: '#tableText,
useCss: true
});
var file = doc.output();
Email.send(
{
Host: hostName,
Username: emailSender,
Password: „somePassword“,
To: emailReceiver,
Attachments :
[{
name : fileName,
data : file
}],
From: emailSender,
Subject: emailSubject,
Body: emailBody
}).then(
message => alert(message)
);
//doc.save(fileName);
}
}
К сожалению, это не работает, так как при использовании alert (message) будут выданы следующие строки:
Входные данные не являются допустимой строкой Base-64, так как содержат символ, отличный от base 64, более двух символов заполнения или символ, не являющийся пробелом среди символы-заполнители
Обратите внимание:
- При отправке писем без вложения (комментируя раздел с помощью «Вложения:»), электронное письмо отправляется!
- Мы старались не сохранять сначала файл PDF, так как хранилище для файла PDF отличается для Android и iOS.
В приложении вы найдете содержимое - мусора (!) - file
для информации. проблема создания PDF
Какой код нужно изменить / изменить и как для того, чтобы он работал, чтобы «настоящий» PDF-файл был отправлен как вложение?
Если строки выше не делают смысл, мы были бы более чем счастливы увидеть лучший код!