vue如何将html内容转为图片并下载到本地

 更新时间:2023年01月16日 08:35:10   作者:阿wei程序媛  
这篇文章主要介绍了vue如何将html内容转为图片并下载到本地,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

将html内容转为图片并下载到本地

需求:将自己写的html内容转化为图片并可以下载到本地

1.安装html2canvas

npm install --save html2canvas

2.在自己所需要的页面进行引入

import html2canvas from "html2canvas";

3.html

<div class="popuptop" id="img">
    <div class="pupupbg">
        内容内容内容
    </div>
</div>
 <div class="weixin" @click="downimg">
     <div class="weixinlogo" >
         <img src="../../assets/images/mypage/down.png">
          <p class="weixinshare" >下载</p>
      </div>
</div>
<a id="downimg" href="" style=" rel="external nofollow" display:none"></a>

4.JS 

//下载图片
let downimg= ()=>{
  setTimeout(()=>{
    proxy.$nextTick(()=>{
      html2canvas(document.querySelector('#img'),{
        useCORS: true
      }).then(canvas => {
        var url = canvas.toDataURL()     //把canvas转成base64
        // 写一个隐藏的按标签,借助按标签的download属性下载图片
        document.querySelector('#downimg').href = url
        document.querySelector('#downimg').download = "我的持仓报告.png"
        document.querySelector('#downimg').click()
      })
    })
  },2000)
}

以上代码就能实现将html内容转为图片并下载到本地。

vue将html页面转为图片并且下载该图片

1.下载 html2canvas

npm install html2canvas

2.对应页面引入该插件

import html2canvas from 'html2canvas';

3.具体用法 (要element使用带有一些(可选)选项的 html2canvas 呈现,只需调用html2canvas(element, options);)

html2canvas(document.body).then(function(canvas) {
    document.body.appendChild(canvas);
});

4.转为图片并且下载

<template>
    <div>
        <div class="container" ref="imageDom">hahahah</div>
        <button @click="toImage">导出</button>
    </div>
</template>

在methods方法中:

toImage() {
    html2canvas(this.$refs.imageDom, {
        backgroundColor: '#ffffff'
    }).then(canvas => {
        var imgData = canvas.toDataURL("image/jpeg");
        this.fileDownload(imgData);
    })
},
fileDownload(downloadUrl) {
    let aLink = document.createElement("a");
    aLink.style.display = "none";
    aLink.href = downloadUrl;
    aLink.download = "监控详情.png";
    // 触发点击-然后移除
    document.body.appendChild(aLink);
    aLink.click();
    document.body.removeChild(aLink);
},

效果图:

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 关于@click.native中 .native 的含义与使用方式

    关于@click.native中 .native 的含义与使用方式

    这篇文章主要介绍了关于@click.native中 .native 的含义与使用方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-10-10
  • vue实现动态面包屑导航

    vue实现动态面包屑导航

    这篇文章主要为大家详细介绍了vue实现动态面包屑导航的使用方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-04-04
  • vue webpack打包后图片路径错误的完美解决方法

    vue webpack打包后图片路径错误的完美解决方法

    这篇文章主要介绍了vue webpack打包后图片路径错误的解决方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-12-12
  • 详解Vue数据驱动原理

    详解Vue数据驱动原理

    这篇文章主要介绍了详解Vue数据驱动原理的相关资料,帮助大家更好的理解和学习vue框架的相关知识,感兴趣的朋友可以了解下
    2020-11-11
  • 在antd Form表单中select设置初始值操作

    在antd Form表单中select设置初始值操作

    这篇文章主要介绍了在antd Form表单中select设置初始值操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • Vue2.4+新增属性.sync、$attrs、$listeners的具体使用

    Vue2.4+新增属性.sync、$attrs、$listeners的具体使用

    这篇文章主要介绍了Vue2.4+新增属性.sync、$attrs、$listeners的具体使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-03-03
  • 基于vite2+Vue3编写一个在线帮助文档工具

    基于vite2+Vue3编写一个在线帮助文档工具

    提起帮助文档,想必大家都会想到 VuePress等。但是VuePress是“静态网站生成器”,需要我们自行编写文档,然后交给VuePress变成网站。因此,本文将用vite2+Vue3编写一个在线帮助文档工具,需要的可以参考一下
    2022-03-03
  • Vue的方法和属性案例详解

    Vue的方法和属性案例详解

    这篇文章主要介绍了Vue的方法和属性案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-07-07
  • vue中el-cascader三级联动懒加载回显问题解决

    vue中el-cascader三级联动懒加载回显问题解决

    本文主要介绍了vue中el-cascader三级联动懒加载回显问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06
  • vue下载excel的实现代码后台用post方法

    vue下载excel的实现代码后台用post方法

    这篇文章主要介绍了vue下载excel的实现代码,后台用post方法,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值 ,需要的朋友可以参考下
    2019-05-05

最新评论