html2pdf заморозить пользовательский интерфейс - PullRequest
1 голос
/ 19 июня 2020

Привет, я использую html2pdf в своем проекте React, и у меня возникают проблемы, когда я пытаюсь сгенерировать документ pdf. Проблема в том, что в Android / настольном ПК пользовательский интерфейс на некоторое время зависает (время, необходимое для создания файла pdf), а затем загрузка работает нормально. В iphone пользовательский интерфейс зависает и никогда не восстанавливается, я не могу взаимодействовать с другими компонентами, такими как таблица или комбо, он восстанавливается, только если я закрою проводник и снова открою, и когда я это сделаю, файл pdf появится на экране с правильный формат и посмотрите.

Вот что я делаю:

const PdfDownloader = (props) => {
  const exportToPDF = (fileName) => {
    let opt = {
      margin: 0.5,
      filename: `${fileName}.pdf`,
      image: {type: 'jpeg', quality: 0.98},
      html2canvas: {scale: 2},
      jsPDF: {unit: 'in', format: 'letter', orientation: 'portrait'}
    };
    html2pdf().set(opt).from(pdfContainerRef.current).save();
  }

  return (
      <div>
        <Button className={styles["max-width-initial"]} block
               onClick={() => exportToPDF('my_crazy_file')}>
            Descargar PDF
        </Button>
     </div>
  )
}

Я понятия не имею, что я делаю неправильно, или что-то не хватает в моем коде или я перед ошибкой.

...