当前位置: 首页 > article >正文

使用html2canvas库对可滚动的dom节点导出全量的图片

页面的dom节点样式

在这里插入图片描述

想要导出的图片样式

在这里插入图片描述

做法

1,使用html2canvas库

先在项目中安装:npm install html2canvas

在vue文件中引用: import html2canvas from "html2canvas";

2, 对于dom节点,不能有overflow: hidden或者 overflow-y:auto的样式设置。

正确写dom的方式是在外层div的类中写样式,内部div用来导出,尽量不要设置样式

<div class="mind-map-scroll-container">
            <div ref="scrollBox">
            ......
            </div>
 </div>
 
.mind-map-scroll-container {
  max-height: 300px; /* 设置最大高度,超出这个高度就会出现滚动条 */
  overflow-y: auto; /* 出现垂直滚动条 */
  position: relative;
  background-color: white;
}

3,主要方法体

// 导出按钮绑定的方法
exportLogs() {
        const node = this.$refs["scrollBox"];
        this.downloadDomPic(
          node,
          `ComputerLog.png`
        );
    },
    downloadDomPic(node, picName) {
      html2canvas(node, { scale: 2, height: node.offsetHeight }).then(
        (canvas) => {
          const a = document.createElement("a");
          a.href = canvas.toDataURL("image/jpg");
          a.download = picName;
          a.click();
        }
      );
    },

http://www.kler.cn/a/442259.html

相关文章:

  • 粒子群优化 (PSO, Particle Swarm Optimization) 算法详解及案例分析
  • 彩色图像面积计算一般方法及MATLAB实现
  • 初学stm32 --- flash模仿eeprom
  • python中的RPA->playwright自动化录制脚本实战案例笔记
  • 如何保证光谱相机的稳定性和可靠性
  • 基于 HTML5 Canvas 制作一个精美的 2048 小游戏--day 1
  • 【机器人】Graspness 端到端 抓取点估计 | 论文解读
  • Linux 磁盘空间不足之排查方法(Troubleshooting Method for Linux Disk Space Shortage)
  • 上传图片的预览
  • 【从零开始入门unity游戏开发之——C#篇16】C#什么是面向对象编程?
  • Kioptix Level 4(0基础教学)
  • 机器学习经典算法(scikit-learn)
  • 深入探索Vue.js中的v-show指令:动态控制DOM元素的高级技巧
  • Pandas教程之二十九: 使用 Pandas 处理日期和时间
  • 键盘常见键的keyCode和对应的键名
  • VMware OpenWrt怎么桥接模式联网
  • 视频直播点播平台EasyDSS推拉流技术结合无人机推流在道路交通巡检场景中的应用
  • 穷举vs暴搜vs深搜vs回溯vs剪枝专题一>全排列
  • libilibi项目总结(18)FFmpeg 的使用
  • SSM 与 Vue 双剑合璧:新锐台球厅管理系统的匠心设计与完美实现
  • javaEE--计算机是如何工作的-1
  • AI技术在演示文稿制作中的应用一键生成PPT
  • zlmediakit搭建直播推流服务
  • Visual studio中C/C++连接mysql
  • (笔记)lib:no such lib的另一种错误可能:/etc/ld.so.conf没增加
  • Java中ArrayList和LinkedList的区别?