как добавить блесну для jspdf + html2canvas - PullRequest
0 голосов
/ 09 мая 2018

Я пытаюсь использовать 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
        })

      })
    ;
  }
...