我希望能够将 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。