Я пытаюсь использовать jspdf и html2canvas для моего проекта.Это прекрасно работает, но если страница большого размера, после нажатия на кнопку, чтобы загрузить PDF-файл, требуется время для обработки.Я хотел бы добавить спиннер, как только пользователь нажмет кнопку рендеринга PDF.Хотя я установил для свойства загрузки состояние true в реакции, значение не отображается / отображается, но отображается непосредственно перед загрузкой PDF-файла.
Есть мысли?
Код
printDocument() {
const input = document.getElementById('container');
this.setState({
isDownloading: true
});
html2canvas(input)
.then((canvas) => {
const imgData = canvas.toDataURL('image/png');
const pdf = new pdfConverter("p", "mm", "a4");
var width = pdf.internal.pageSize.width;
var height = pdf.internal.pageSize.height;
pdf.addImage(imgData, 'JPEG', 0, 0,width,height);
pdf.save("download.pdf");
this.setState({
isDownloading: false
})
})
;
}