我正在尝试使用 jsPDF 库将 html 文件转换为 pdf。但在我实现的代码中,整个图像没有转换为pdf。只能看到一半。有人可以告诉我我错在哪里吗?
var canvas = document.getElementById('myCanvas');
var context = canvas.getContext('2d');
context.beginPath();
context.moveTo(0,0);
context.lineTo(200,100);
context.closePath();
context.strokeStyle = '#0000ff';
context.stroke();
download.addEventListener("click", function() {
// only jpeg is supported by jsPDF
var imgData = canvas.toDataURL("image/jpeg",1.0);
var pdf = new jsPDF();
pdf.addImage(imgData, 'JPEG', 0, 0);
var download = document.getElementById('download');
pdf.save("download.pdf");
});
<script src="https://parall.ax/parallax/js/jspdf.js"></script>
<canvas id="myCanvas" width="200" height="100" style="border:solid #0000ff;">
</canvas>
<button id="download">download</button>
最佳答案
我最近做了一些关于将 html 转换为 pdf 的研究。我查看了 jsPDF,但它似乎更适合将 PDF 文档嵌入到 html 页面中。
如果您希望将 html 页面导出为 PDF,您可能需要考虑 https://github.com/fraserxu/electron-pdf ,这就是我最终决定使用的。 Electron 生成的输出与 Chrome 中的“打印到 pdf”功能一致。
注意:这是一个服务器端渲染解决方案。如果您必须在客户端执行此操作,那么这不是正确的解决方案。
关于javascript - 使用jspdf库将html文件转换为pdf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40325699/