Преобразую html страницу в pdf с помощью javascript на клиентской части. Делаю это используя библиотеки
jspdf и
html2canvas согласно инструкции из
видео
Но, к сожалению, такой способ не сохранятеткартинки (canvas) Вот мой
демо-примерfunction getPDF() {
doCanvas();
$(document).bind('function_a_complete', doPDF);
}
function doCanvas() {
html2canvas(document.querySelector("#myDiv")).then(canvas => {
document.querySelector("#newDiv").appendChild(canvas);
});
$(document).trigger('function_a_complete');
}
function doPDF() {
console.log("do pdf");
var doc = new jsPDF();
doc.fromHTML($('#newDiv').html(), 20, 20, {'width':500});
doc.text(50,50, "Новый текст");
doc.save('test.pdf');
}
При первом клике на кнопку скачать PDF (вверху) рендерится картинка, при втором - скачивается инфа со страницы, но, как видим в скачаном файле, сохраняется только текстовая информация, причем киррилические буквы прописываются кракозябпами.
Как это можно поправить? Ну и конечно же в идеале сделать так, чтобы с первого клика скачивалась страничка.