javascript - 使用jspdf库将html文件转换为pdf

标签 javascript html pdf canvas

我正在尝试使用 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/

相关文章:

javascript - 单击 subview 时 Backbone.js 执行函数

javascript - Chrome 丰富通知仅适用于扩展程序?

javascript - Firefox 上的自定义滚动条

ios - UIWebView 从 NSString 加载 PDF 字节

javascript - Cypress 使用请求正文中的文件进行 HTTP POST 时出错

javascript - 在同一页面上显示多个 Google 图表

php - 什么 HTML 到 PDF 库处理 javascript?

javascript - 如何确保我的函数在所有 ajax 调用后执行?

python - 将多页 PDF 转换为 TIFF 不适用于 Python 库 Wand

python - 图例在保存时被切断 - Matplotlib