У меня есть скрипт, который использует 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
});
});
Опять же, еслинепосредственно на главной странице загрузка работает нормально, но при вызове страницы, как указано выше, загрузка отсутствует.
Любая помощь будет принята, спасибо.