vue使用html2canvas实现一键截图并赋值到剪贴板,只截取当前显示器上可视的内容

这篇具有很好参考价值的文章主要介绍了vue使用html2canvas实现一键截图并赋值到剪贴板,只截取当前显示器上可视的内容。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

使用html2canvasclipboard API实现整页截图并填充至剪切板。

访问剪切板的api只支持在https或者本地localhost上使用,如果是http,则无法使用
首先需要从npm安装html2canvas

npm install html2canvas

然后在代码中导入这个包:

import html2canvas from 'html2canvas'

之后绑定一个按钮来实现该功能,比如点击一个按钮,然后就开始截图当前页面并赋值到剪贴板。

    to_clipboard() {
      if (window.ClipboardItem) {
        html2canvas(document.getElementsByClassName('app-wrapper')[0], {
          x: window.scrollX,
          y: window.scrollY,
          height: window.innerHeight,
          width: window.innerWidth
        }).then(canvas => {
          // 将canvas转换为blob类型
          canvas.toBlob(blob => {
            // 创建一个图像剪贴板项
            const item = new window.ClipboardItem({ 'image/png': blob })
            // 使用Clipboard API将图片写入剪贴板
            navigator.clipboard.write([item]).then(() => {
              this.$message.success('Screenshot copied to clipboard')
            }).catch(error => {
              this.$message.error('Failed to copy screenshot to clipboard: ', error)
            })
          })
        })
      } else {
        this.$message.error('This browser does not support ClipboardItem.')
      }
    },

上述代码解释:document.getElementsByClassName('app-wrapper')[0]是获取当前需要截图的元素,如果想截取整个页面所有元素,可以使用如下代码:

// 获取要截图的元素(这里以body为例)
const element = document.body;
html2canvas(element).then(canvas => {

而对于下方的

x: window.scrollX,
y: window.scrollY,
height: window.innerHeight,
width: window.innerWidth

x表示的是从哪个高度开始截屏,y表示从哪个宽度开始截屏,height表示截取多高,width表示截取多宽。
如果不写的话,默认就是截取整个元素。
如图,我如果不写的话,截取的内容就特别长,因为该页面有滚动条,会把所有的内容都截下来。
vue使用html2canvas实现一键截图并赋值到剪贴板,只截取当前显示器上可视的内容,前端,vue.js,前端,javascript
写了之后,限制了宽高,就只展示当前显示器上所能看到的这一页内容,而不截取滚动条其它看不见的部分。文章来源地址https://www.toymoban.com/news/detail-555656.html

到了这里,关于vue使用html2canvas实现一键截图并赋值到剪贴板,只截取当前显示器上可视的内容的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Vue使用html2canvas将DOM节点生成对应的PDF

    要通过Vue使用html2canvas将DOM节点生成对应的PDF,您需要安装html2canvas和jspdf这两个库。html2canvas用于将DOM节点转换为Canvas,而jspdf用于将Canvas转换为PDF。以下是一个简单的示例代码,展示了如何使用html2canvas和jspdf生成PDF文件: 首先,安装html2canvas和jspdf依赖: 然后,在Vue组件中

    2024年02月11日
    浏览(55)
  • vue3中,使用html2canvas截图包含视频、图片、文字的区域

    需求:将页面中指定区域进行截图,区域中包含了图片、文字、视频。 第一步,先安装 第二步,在页面引入: 第三步,页面使用: 1)html部分: 2)js部分: 刚开始我截出的图只有文字,插图和视频部分是空白的,并没有将页面的插图和视频截进去,最终发现是 跨域 导致的

    2024年02月06日
    浏览(49)
  • vue2 -- 截图工具html2canvas

    可以将网页中的指定元素或整个页面截取为图片,以便保存或分享。 在 Vue 中使用 html2canvas 实现 1:安装 html2canvas 库。你可以使用 npm 安装,命令如下: 2:在需要使用 html2canvas 的 Vue 组件中,引入 html2canvas 库: :3:编写截图逻辑。你可以在组件的方法中编写,例如:

    2024年01月19日
    浏览(49)
  • html2canvas使用文档

    Install NPM Install Yarn 以 vue 举例,这样写起来比较方便 如果想要将图片导出,可以这样写 名称 默认值 描述 allowTaint false 是否允许跨源图像污染画布 backgroundColor #ffffff 画布背景色(如果在DOM中未指定),为透明设置null canvas null 用作绘图基础的现有画布元素 foreignObjectRendering

    2024年03月28日
    浏览(54)
  • html2canvas使用指南

      最近项目中需要使用到将网页中的内容下载成图片,通过按钮点击将页面保存下来,方便同事使用进行工作汇报。如图: 然后我想到了 html2canvas ,就可以解决我现在遇到的问题了。我火速从官网下载了js文件,这里附上链接:   http://html2canvas.hertzen.com/  这里   html2canvas

    2024年02月14日
    浏览(55)
  • 小程序采用html2canvas实现html转canvas保存图片

    mpaas小程序中采用html2canvas实现html转canvas保存图片 使用uniapp将代码打包一份h5部署到服务器 h5要保存的图片组件页面report.vue 安装 npm install --save html2canvas 或 yarn add html2canvas 引入import html2canvas from ‘html2canvas’; ts 小程序中采用webview跳转到h5页面

    2024年02月11日
    浏览(44)
  • vue中使用html2canvas报错 Unable to find element in cloned iframe

    安装 npm install --save html2canvas 使用 home.vue !!报错 Uncaught (in promise) Unable to find element in cloned iframe 原因:使用了 elementUI中的el-popover组件,挂载到body里的 解决:

    2024年01月19日
    浏览(68)
  • 解决使用 html2canvas 截图不全问题

    1、截图不全 之前没用过这个,网上找了代码之后发现有滚动条的情况下会截图不全,仅能展示出当前页面展示出来的内容,类似于这种情况,这是带滚动条的html,第一张和第二张分别为滚动条在顶部以及在底部的展现 下载成pdf之后分别为这样,只有窗口展示的部分,滚动条

    2024年02月11日
    浏览(50)
  • html2canvas和jspdf实现html导出pdf文件

    实现原理 先使用html2canvas对页面进行截图,再使用jspdf将截图生成pdf文件 html2canvas:通过纯JS对浏览器页面进行截图 jspdf:一个基于 HTML5 的客户端解决方案,用于在客户端 JavaScript 中生成 pdf文件 的库 安装html2canvas和pdf 截图源码 1. 截长图不分页 2. 截图分页 导出pdf源码 函数调

    2024年02月12日
    浏览(55)
  • 前端html2canvas生成截图【实现步骤与踩坑】

    需求 :点击下载可以导出组件的 截图 及数据信息文件 分析 :前端生成组件截图,带着其他参数传给后端,拿到excel文件并下载。关键在于生成组件的截图,这里通过 html2canvas 插件来实现。 1.下载插件 npm install html2canvas 2.引入 3.通过ref拿到要下载组件的dom元素 4.通过html2ca

    2024年04月11日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包