html2canvas将vue页面转换为图片

一 官方网站

http://html2canvas.hertzen.com/

二 安装依赖引入

npm install html2canvas

import html2canvas from 'html2canvas';

三 简单封装html2canvas

import html2canvas from 'html2canvas';

const exp = {}

//refVal => this.$refs.refContent, imgName => 'test'

exp.toImage = function(refVal, imgName) {

html2canvas(refVal, {

backgroundColor: '#ffffff'

}).then(canvas => {

let imgData = canvas.toDataURL("image/jpeg");

exp.fileDownload(imgData, imgName);

})

}

exp.fileDownload = function(imgData, imgName) {

let aLink = document.createElement("a");

aLink.style.display = "none";

aLink.href = imgData;

aLink.download = `${imgName}.png`

// 触发点击-然后移除

document.body.appendChild(aLink)

aLink.click();

document.body.removeChild(aLink)

}

export default exp

四 具体使用

//main.js中引入html2canvas

Vue.prototype.$html2canvas = html2canvas

//ref自定义名称

<div class="contentBox" ref="refContent" >

<router-view />

</div>

//页面中调用,路由在哪个页面调用这个方法就可以转换哪个页面为图片, test为图片名称

this.$html2canvas.toImage(this.$refs.refContent, 'test')

五 兼容性问题

http://html2canvas.hertzen.com/features

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值