且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

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

更新时间:2022-09-04 19:25:50

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


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


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

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


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


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


下面是网页内容:


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


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


保存整个网页成PDF


HTML转PDF的代码如下:

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