vue把页面转换成图片导出方式(html2canvas导出不全问题)
作者:我不是靓仔啊
这篇文章主要介绍了vue把页面转换成图片导出方式(html2canvas导出不全问题),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
把页面转换成图片导出(html2canvas导出不全)
htmlcanvas
html2canvas - Screenshots with JavaScript
我们基本都是使用这个插件去把dom对象导出为图片
html2canvas(this.$refs.imageWrapper).then(canvas => {
this.isShowScroll = true
const link = document.createElement('a')
link.href = canvas.toDataURL()
link.setAttribute('download', this.$t('report.question_tip8') + '.png')
link.style.display = 'none'
document.body.appendChild(link)
link.click()
})<div ref="imageWrapper">
。。。。
</div>但是这样却有一个弊端,只能截取可视区域的dom对象,就是说超出屏幕的内容我们会截图不到
查看html2canvas文档我们发现

我们可以设置导出的canvas的图片
html2canvas(this.$refs.imageWrapper, {width: this.artWidth}).then(canvas => {这宽度就是我们要拿到那个超出100vw的dom对象的宽度,我们可以去动态获取他并不能写死..
这样我们导出的图片就可以正常的截图到了!!!
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
