draft.js,html2canvas RangeError:NaN不是有效的代码点

问题描述 投票:0回答:1

我在我的React项目中使用html2pdf.js(使用html2canvas库)。我需要将draft.js编辑器的内容导出为pdf,我正在使用以下代码:

    const el = document.getElementById('element-to-print');
    const opt = {
      margin:       1,
      filename:     'myfile.pdf',
      pagebreak:    { mode: ['avoid-all']},
      image:        { type: 'jpeg', quality: 1 },
      html2canvas:  { scale: 1},
      jsPDF:        { unit: 'in', format: 'a4', orientation: 'portrait' }
    };
    html2pdf().from(el).set(opt).toPdf().get('pdf').then(function (pdf) {
      var totalPages = pdf.internal.getNumberOfPages();
      for (var i = 1; i <= totalPages; i++) {
        pdf.setPage(i);
        pdf.setFontSize(10);
        pdf.setTextColor(150);
        pdf.text('Page ' + i + ' of ' + totalPages, 1, pdf.internal.pageSize.getHeight() - 0.3);
      } 
    }).save();

这通常有效,仅当编辑器包含具有多个项目的有序列表时,才会出现问题,在这种情况下,应用程序在导出时冻结(需要刷新以重新开始工作),并且在安慰。似乎是因为在某些时候,html2canvas中的RangeError: NaN is not a valid code point函数接收到NaN值,但我不知道它的来源。

有人可以帮我吗?

谢谢你。

javascript reactjs html2canvas draftjs html2pdf
1个回答
0
投票

((忘记提早发布解决方案,但希望有人认为这会有所帮助)我没有设法解决问题,但是这种绕过效果很好:

fromCodePoint
© www.soinside.com 2019 - 2024. All rights reserved.