Привет! Я использую комбинацию Html2Pdf, jsPDF и html2canvas.
Я создаю страницу с динамическим содержимым, а затем хочу отправить этот PDF-файл в виде запроса AJAX, который сохранит файл в моем файле.сервер.
До сих пор я создал страницу, которая генерирует PDF, как я хочу, все, что мне нужно сделать, это вызвать конкретный URL, который будет загружать страницу, и теперь мне нужно, чтобы сохранить сгенерированный PDF всервер.
Вот код, который я написал до сих пор:
var opt = {
margin: [70, 26],
filename: 'pdf_summary.pdf',
image: { type: 'jpeg', quality: 1 },
html2canvas: { scale: 1 },
jsPDF: { unit: 'mm', format: ['420', '594'], orientation: 'p' }
};
var worker = html2pdf().set(opt).from(pages[0]).outputPdf();
pages.slice(1).forEach(function (page) {
worker = worker.get('pdf').then(function (pdf) {
pdf.addPage();
}).from(page).toContainer().toCanvas().toPdf().get('pdf');
});
worker = worker.then(function (pdfObject) {
totalPages = pdfObject.internal.getNumberOfPages();
for (var i = 1; i <= totalPages; i++) {
pdfObject.setPage(i)
pages.push(pdfObject.setPage(i));
}
$.ajax({
url: '{{site.uri.public}}/pdf-report-scheduler',
type: "POST",
data: { pdf_file: btoa(pdfObject), csrf_token: csrf_token }
});
});
pages[0]
- это содержимое страницы, которое использует pdf.
Код PHP:
$pdf_base64 = base64_decode($_POST['pdf_file']);
error_log(print_r($pdf_base64, true));
Это просто ничего не возвращает в журналах ошибок, и я не уверен, почему.Буду признателен за любую помощь.
Спасибо за любую помощь!