1

我希望能够将 React Page 导出为 PDF 文件。到目前为止,我已经尝试使用 jsPDF 和 html2canvas 将页面捕获为图像并将其保存为 pdf。示例代码:

const input = document.getElementById('exportToPDF')
    window.scrollTo(0,0)
    html2canvas(input)
      .then((canvas) => {
        document.body.appendChild(canvas)
        const imgData = canvas.toDataURL('image/png')
        const pdf = new jsPDF()
        pdf.addImage(imgData, 'PNG', 0, 0)
        pdf.save("test.pdf")
      });

和“exportToPDF”示例:

<div id="exportToPDF">...</div>

当页面内容太大/太长时,我遇到了画布被切断的问题。我怎样才能让它在需要时分成多个页面?它似乎仅限于一页。

我尝试过的:将窗口宽度和高度设置为 html2canvas 但它没有帮助。

更新:我愿意尝试其他方式将 React 页面导出到 PDF 文件,而不必使用免费的 html2canvas。

4

1 回答 1

2

您是否尝试过react-pdfreact-to-pdf如果您不使用 next.js,这两个可能对您有用

于 2021-05-18T22:18:06.340 回答