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

Javascript draft.js,html2canvas RangeError:NaN不是有效的代码点,javascript,reactjs,html2canvas,draftjs,html2pdf,Javascript,Reactjs,Html2canvas,Draftjs,Html2pdf,我正在React项目中使用(它使用html2canvas库)。 我需要将编辑器的内容导出为pdf,我使用以下代码: const el = document.getElementById('element-to-print'); const opt = { margin: 1, filename: 'myfile.pdf', pagebreak: { mode: ['avoid-all']}, image:

我正在React项目中使用(它使用html2canvas库)。 我需要将编辑器的内容导出为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();
const el=document.getElementById('element-to-print');
常数opt={
差额:1,
文件名:“myfile.pdf”,
分页中断:{mode:['avoid-all']},
图像:{type:'jpeg',质量:1},
html2canvas:{比例:1},
jsPDF:{单位:'in',格式:'a4',方向:'RATIATE'}
};
html2pdf().from(el).set(opt).toPdf().get('pdf')。然后(函数(pdf){
var totalPages=pdf.internal.getNumberOfPages();
对于(var i=1;i(忘了早点发布解决方案,但希望有人发现这很有帮助)
我没有设法解决问题,但此旁路运行良好:

const el = document.getElementById('element-to-print');
// Replace ordered lists with placeholders to avoid html2canvas counter-reset bug
el.querySelectorAll('ol').forEach(ol => {
  ol.querySelectorAll('li').forEach((li, i) => {
    li.style.counterReset = 'none';
    li.classList.add('pdf-print-li');
    li.setAttribute('data-counter', `${i + 1}. `);
  });
});

const opt = {
  margin: 1,
  filename: `${meetingTitle}.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) {
    // Return ordered lists to previous state
    el.querySelectorAll('ol').forEach(ol => {
      ol.querySelectorAll('li').forEach((li, i) => {
        li.style.counterReset = null;
        li.classList.remove('pdf-print-li');
        li.removeAttribute('data-counter');
      });
    });
   };

您的代码按预期工作。可能是您不小心从示例中删除了导致问题的代码?