用Canvas实现截取网页内容保存为图片

最近有个客户提出需求,要把报表导出成电子版,什么格式都行。

当时我想啊,转成word、Excel不可取,转成pdf可以完整保留页面样式,所以就找各种html转pdf的插件,也试了pechkin、itextsharp等等,然后就发现一个致命的问题。

我的数据是js绑定的,页面里点和线的高度也是根据参照物在页面中的高度计算的,所以要等数据加载完成后再转换,而这两个插件都没转成功。

所以就想啊,只能转成图片了,明确了方向,有目的的寻找解决方案,很快就找到了一个插件,用canvas画出指定的html。这个插件就是html2canvas。传送门:html2canvas

这个插件的调用方法很简单,把需要转成图片的那一部分容器对象传入即可,如果是整个页面,可以传入document.body。

引入js文件

<script src="js/html2canvas.min.js"></script>

下面是测试代码

html2canvas(document.body).then(canvas => { saveImg(canvas) });//按照官网给的调用方式,代码很简洁,saveImg是我自定义的回调函数,用于保存图片,获取到了canvas,就能够用canvas.toDataURL()获取图片的base64字符串,然后进行保存即可。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值