美文网首页前端之美藏兵谷
使用JavaScript将当前页面保存成PDF,支持图片和文字的

使用JavaScript将当前页面保存成PDF,支持图片和文字的

作者: _扫地僧_ | 来源:发表于2018-09-05 21:29 被阅读113次

    前端开发的朋友们可能会遇到这个需求:将您负责开发的网页的全部内容,包括文字和图片,一起保存成一个PDF文件。如果采用屏幕截图的话,默认Windows操作系统的截图按钮无法完整截取超过一屏幕的屏幕内容。

    我在网上找了一段时间,搜集到了一些解决方案,在这里分享给广大程序员。

    这个解决方案包含了两个步骤,将前端页面转化为PDF:

    1. 遍历当前网页的DOM结构,收集所有DOM树上每个节点的元素信息及相应样式,渲染出canvas图像。这个遍历和渲染操作封装在脚本文件html2canvas.js里。

    2. 利用一个开源的JavaScript库,jsPDF,在浏览器端用JavaScript生成PDF文件。PDF的生成逻辑封装在脚本文件jsPdf.debug.js里。

    看看如何在您的前端网页里使用这两个JavaScript文件。

    <script type="text/javascript" src="html2pdf/html2canvas.js"></script>

    <script type="text/javascript" src="html2pdf/jsPdf.debug.js"></script>

    下面是网页内容:

    <html>

    <p>在这里放一段很长很长的文件,能观察到最后生成的PDF会自动分页。。。。</p>

    在您的前端页面里画一个按钮,用于触发将当前网页保存成PDF文件的事件。

    <button id="renderPdf">保存整个网页成PDF</button>

    HTML转PDF的代码如下:

    如果想下载可以复制粘贴的代码文本,可以到这个链接下载。https://github.com/linwalker/render-html-to-pdf

    下面可以看看这个解决方案的效果。

    点这个按钮:

    这是用JavaScript生成的PDF文件在本地打开的效果:

    可以看到PDF中的翻页没有任何问题。

    大家如果想自己体验一下通过JavaScript进行HTML转PDF的效果,可以试试我的demo:http://i042416.github.io/FioriODataTestTool2014/WebContent/092_html2pdf.html

    这个解决方案最初是一位叫linwalker的程序员设计的,下面是他的github链接:

    https://github.com/linwalker/render-html-to-pdf

    要获取更多Jerry的原创技术文章,请关注公众号"汪子熙"或者扫描下面二维码:


    相关文章

      网友评论

      • 我要上天真的:您好,我的网页里面有文字和图片,但是导出以后就只有文字了,您知道是什么问题吗?

      本文标题:使用JavaScript将当前页面保存成PDF,支持图片和文字的

      本文链接:https://www.haomeiwen.com/subject/ybmzwftx.html