vue使用html2canvas实现截图某区域

使用html2canvas实现页面截图某区域

安装
javascript 复制代码
npm install html2canvas
页面使用
引入
javascript 复制代码
import html2canvas from 'html2canvas';
实现截图
javascript 复制代码
<template>
  截图
  <div ref="captureArea" class="capture-area">
    <!-- 这是你想要截图的区域 -->
    <p>这个区域将会被截图。</p>
    <el-table :data="tableData" border style="width: 100%">
      <el-table-column prop="date" label="Date" width="180" />
      <el-table-column prop="name" label="Name" width="180" />
      <el-table-column prop="address" label="Address" />
    </el-table>
  </div>
  <button @click="takeScreenshot">截图</button>
  <img v-if="screenshot" :src="screenshot" alt="Screenshot" />
</template>
<script setup lang="ts">
import { ref } from "vue";
import html2canvas from 'html2canvas';

const tableData = [
  {
    date: '2016-05-03',
    name: 'Tom',
    address: 'No. 189, Grove St, Los Angeles',
  },
  {
    date: '2016-05-02',
    name: 'Tom',
    address: 'No. 189, Grove St, Los Angeles',
  },
  {
    date: '2016-05-04',
    name: 'Tom',
    address: 'No. 189, Grove St, Los Angeles',
  },
  {
    date: '2016-05-01',
    name: 'Tom',
    address: 'No. 189, Grove St, Los Angeles',
  },
]

const captureArea: any = ref(null);

const screenshot: any = ref(null);

const takeScreenshot = async () => {
  // 使用 html2canvas 截图
  const canvas = await html2canvas(captureArea.value);
  screenshot.value = canvas.toDataURL('image/png');
}

</script>

<style>
.capture-area {
  padding: 20px;
  background-color: #f9f9f9;
  border: 1px solid #ccc;
}
</style>
相关推荐
星辰_mya6 小时前
ThreadLocal之微服务链路追踪
java·开发语言·前端
会编程的土豆6 小时前
前端和后端是怎么配合工作的(Go后端视角)
前端·golang·状态模式
w_t_y_y6 小时前
vue父子组件通信(一)父子调用和通信(2)VUE3
前端·javascript·vue.js
Demon1_Coder6 小时前
Day1-SpringAI-1.0.0版本
java·开发语言·前端
ZC跨境爬虫6 小时前
跟着 MDN 学CSS day_42:等分轨道、层叠放置与混合布局
前端·javascript·css·ui·html
Cheney95016 小时前
Vue 项目字体文件打包后 fonts 文件夹“消失”?原因分析与解决方案
前端·javascript·vue.js
问心无愧05136 小时前
ctf show web入门68,69
android·前端·笔记
jingling5556 小时前
Flutter | 从基本跳转到路由守卫
服务器·前端·网络·flutter·前端框架
神奇的代码在哪里7 小时前
【单机离线版】大学考试题库复习工具:前端离线Excel解析 + localStorage持久化 + Playwright
前端·html·ai编程·题库复习·刷题软件·大学考试
daols887 小时前
vxe-table 实现数据分组统计与表尾合计
前端·javascript·vue.js·vxe-table