Скачать JsPDF через Jquery Post / AJAX - PullRequest
0 голосов
/ 18 октября 2019

У меня есть скрипт, который использует JsPDF и html2canvas, который берет часть содержимого моей страницы, преобразует его в изображение и помещает в PDF-файл и загружает.

var doc = new jsPDF("", "pt", [792, 1100]);
    (async function loop(){
    for(var i=1;i<5;i++){
        await new Promise(function(resolve){
            html2canvas($("#pdfcontent"+i)[0], {scale: 2}).then((canvas) => {
                var imgData = canvas.toDataURL('image/jpeg', 1.0);
                doc.addImage(imgData, 'JPEG', 20, 0,  750.28, 750.28/canvas.width * canvas.height);
                if (i < 4){
                    doc.addPage();
                }else{
                    doc.save('page.pdf');
                }
                resolve();
            });
        });
    }
})();

Все это прекрасно работает, если всена той же странице, содержание, код jspdf, кнопка загрузки и т. д., однако, я хочу вызвать эту страницу с другой страницы, например:

anotherpage.php

<button type="button" id="finish">Download PDF</button>

<script>
$('#finish').click(function(e){
    $.post("main_page.php", {content1:content1, content2:content2} function(data){
        //main_page.php is where the content, jspdf code etc is
        //i want to force the download on this page after this call
    });
});

Опять же, еслинепосредственно на главной странице загрузка работает нормально, но при вызове страницы, как указано выше, загрузка отсутствует.

Любая помощь будет принята, спасибо.

...