Сохранение Html2Pdf на сервер - PullRequest
0 голосов
/ 18 июня 2019

Привет! Я использую комбинацию 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));

Это просто ничего не возвращает в журналах ошибок, и я не уверен, почему.Буду признателен за любую помощь.

Спасибо за любую помощь!

...