vue3 使用html2canvas导出div指定区域内的图片

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
  1. 安装依赖
npm install html2canvas @1.0.0 

注意我项目中安装的html2canvas版本是1.0.0可根据需要安装如需安装最新版本使用
npm install html2canvas -s
2. 引入依赖

import html2canvas from "html2canvas";
  1. 示例
  <div class="assets-left">
    <div id="exportAll">
     	// 此处是导出的内容
    </div>
  </div>

  <div @click="exportAction">报表导出</div>
// 导出 -> 这个是按钮的导出按钮的触发事件
const exportAction = () =>{
   download();
}
// 下载
const download = () => {
  let targetDom = document.getElementById("exportAll"); //原本需要截图的div
  console.log(" ~ file: index.vue:33 ~ download ~ targetDom:", targetDom.clientWidth)
  let clonedNode = targetDom.cloneNode(true); //复制一个
  clonedNode.setAttribute(
    "style",
    `width: ${targetDom.clientHeight};height: ${targetDom.clientWidth};`
  );
  document.body.appendChild(clonedNode); //放到body后面
  // 转换成canvas
  html2canvas(targetDom, {
    allowTaint: true,
    taintTest: false,
  }).then(function (canvas) {
    var pageData = canvas.toDataURL("image/png", 1.0);
    saveFile(
      pageData.replace("image/png", "image/octet-stream"),
      new Date().getTime() + ".png"
    );
    document.body.removeChild(clonedNode);
  });
};
// 保存路径下载
function saveFile(data, filename) {
  var save_link = document.createElementNS("http://www.w3.org/1999/xhtml", "a");
  save_link.href = data;
  save_link.download = filename;
  document.body.appendChild(save_link);
  save_link.click();
  save_link.remove();
}

以上三个步骤就可以实现div指定区域内的图片下一章具体讲解当内容区域很长怎么导出滑块区域内的完整内容

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

“vue3 使用html2canvas导出div指定区域内的图片” 的相关文章

golang jsoniter extension怎么处理动态字段 - 开发技术

这篇文章主要讲解了“golang jsoniter extension怎么处理动态字段”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“golang jsoniter extensi...

7个视频素材网站,不用再为素材发愁-CSDN博客

1、pond5:(https://www.pond5.com/) 全球最大的开放版权视频合集,不仅有视频,还有音乐、动态图片,用这些世界级的好素材,让你的视频如虎添翼! 2、splashb...

拷贝构造函数

class A{ public: A(const A&){}; }A a;A b = a;//will call copy constructor拷贝构造函数的作用就是按值传递,如果要防止按值传递可以:class A{ private: A(const A&);//N...

centos 5.11 6 7 版本安装记

   因工作需要安装centos ,一般是用移动光驱安装。因某些原因,得用u盘安装,用U盘一般操作是用utrlsto或一些U盘制作成启动盘。   别的untun 或rhel版本或是可能安装成,但是centos因各种原因总是安装不成功。   最后不得不用光驱来安装。...

Python网络爬虫之Web网页基础是什么 - 开发技术

本文小编为大家详细介绍“Python网络爬虫之Web网页基础是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python网络爬虫之Web网页基础是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。1.网页的组成网页主要是三大部分组成&...

快速入门

下划线(_)在解释器中表示最后一个表达式的值 raw_input user = raw_input('Enter login name:') print 'you login is:%s' % user num = raw_input("Input a nu...