做项目的过程中有一个下载页面为pdf的需求,百度后发现前端使用js库去实现下载为pdf功能。需要引入两个文件,
<script src="https://cdnjs.cloudflare.com/ajax/libs/html2canvas/0.4.1/html2canvas.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.0.272/jspdf.debug.js"></script>
引入这两个文件后,在实现将页面转化为canvas,然后在转为pdf;代码附上,这里pdf的名字为时间,自己可根据情况设定;第二张图片主要是将图片分成多页,实现分页展示,但是有一点bug,就是你项目中一个完整的图片或者文字可能会被分到两个页面,不是很美观,目前还未找到解决的办法。这里基本上就实现了下载成pdf了。但是我的项目中有highchart图表,打印后显示的白色,不能正常展示。解决办法如下:你用highchart画出来的图表都是svg格式的,这里需要将svg转换成canvas,就可以正常打印了,用到的是canvg,它可以将svg转换成canvas,代码在第三张图,在你的每一个highchart图表的后面加一个canvas标签,例如第四张图,这样就可以实现下载为pdf了。