使用html2canvas将网页保存为图片

使用html2canvas 能够实现在用户浏览器端直接对整个或部分页面进行截屏保存为图片。这个html2canvas脚本将当页面渲染成一个Canvas图片,通过读取DOM并将不同的样式应用到这些元素上实现。

查看演示 下载源码

它不需要来自服务器任何渲染,不依赖第三方库,整张图片都是在客户端浏览器创建。当浏览器不支持Canvas时,将采用Flashcanvas或ExplorerCanvas技术代替实现。以下浏览器能够很好的支持该脚本:Firefox 3.5+, Google Chrome, Opera新的版本, IE9以上的浏览器。

如何使用

HTML
<div id="capture" style="padding: 10px; background: #f5da55">
    <h4 style="color: #000; ">Hello world!</h4>
</div>
知识兔
JavaScript
html2canvas(document.querySelector("#capture")).then(canvas => {
    document.body.appendChild(canvas)
});
知识兔

当然,需要引入html2canvas,可以直接到官网下载html2canvas.js,如果你使用node环境,可以用npm命令安装:

npm install --save html2canvas
知识兔

然后导入:

import html2canvas from 'html2canvas'
知识兔

选项配置

属性/方法 类型 默认值 描述
allowTaintbooleanfalse是否允许跨域图片
backgroundstring#fffcanvas的背景颜色,如果没有设定默认透明
heightnumbernullcanvas高度设定
loggingbooleanfalse是否在console.log()中打印调试信息
proxystringundefined设置代理地址来加载跨域图片,如果留空,则不会加载图片
widthnumbernullcanvas宽度
heightnumbernullcanvas高度
useCORSbooleanfalse是否尝试使用CORS从服务器加载图像

更多配置请查看项目官网:http://html2canvas.hertzen.com/documentation

计算机