我正在使用React作为前端应用程序,想要使用jsPdf将React组件的一部分导出为PDF文件。
const handleDownload = () => {
const content = document.getElementById('download-content');
const doc = new jsPDF();
doc.html(content);
doc.save("a4.pdf");
}
React的返回组件是:
return (
<body>
<header id='download-content'>
<div>l kldfjlkasjfld asjflkajf ljfasd'flksdasjf lsdasjfsadf</div>
<div>l kldfjlkasjfld asjflkajf ljfasd'flksdasjf lsdasjfsadf</div>
<div>l kldfjlkasjfld asjflkajf ljfasd'flksdasjf lsdasjfsadf</div>
<div>l kldfjlkasjfld asjflkajf ljfasd'flksdasjf lsdasjfsadf</div>
<div>l kldfjlkasjfld asjflkajf ljfasd'flksdasjf lsdasjfsadf</div>
<div>l kldfjlkasjfld asjflkajf ljfasd'flksdasjf lsdasjfsadf</div>
</header>
<footer>
<button onClick={handleDownload}>Download</button>
</footer>
</body>
)
点击 下载
按钮后,我希望得到一个包含 header
标签数据及样式的 PDF 文件。但是使用 handleDownload
函数时,我得到了一个空白的 PDF 文件。
我不想使用画布生成图像,然后再制作 PDF 文件。如果使用画布,当页面大小缩小时,PDF 文件将会改变。
如何获取与生成的 HTML 页面完全相同的 PDF 文件呢?
div
标签没有显示出来。它被截断了一半的内容。我该如何正确地获取所有内容。 另外,当我进行响应式设计时,内容在 PDF 中不保持原样。它也变成了响应式的...但我希望它像全页视图一样标准。 - Jhon Arabwidth
和windowWidth
。请查看更新后的答案。 - SakoBu