首页 > 其他分享 >vue直接打印jpg

vue直接打印jpg

时间:2023-02-13 17:02:06浏览次数:31  
标签:byteCharacters vue aLink 打印 jpg print base64 var

先下载依赖------npm install html2canvas

 
install(Vue, options) {
//把你想打印区域的ID替换掉print
    Vue.prototype.getPdf = function (print) {
      var title = print
//调用Canvas方法
      html2Canvas(document.querySelector(`#${print}`), {
        allowTaint: true,
        height: document.querySelector(`#${print}`).scrollHeight,
        background: "#FFFFFF",
      }).then(function (canvas) {
       //转换成base64位的编码
        let base64 = canvas.toDataURL('image/jpg', 1.0)
        var byteCharacters = atob(
          base64.replace(/^data:image\/(png|jpeg|jpg);base64,/, "")
        );
        var byteNumbers = new Array(byteCharacters.length);
        for (var i = 0; i < byteCharacters.length; i++) {
          byteNumbers[i] = byteCharacters.charCodeAt(i);
        }
        var byteArray = new Uint8Array(byteNumbers);
        var blob = new Blob([byteArray], {
          type: undefined,
        });
        var aLink = document.createElement("a");
        aLink.download = "图片名称.jpg"; //这里写保存时的图片名称
        aLink.href = URL.createObjectURL(blob);
        aLink.click();
      }
      )
    }

  }

 

标签:byteCharacters,vue,aLink,打印,jpg,print,base64,var
From: https://www.cnblogs.com/Qinhr/p/17116950.html

相关文章

  • Vue中的diff算法探析
    一、什么是diff diff 是什么?diff 就是比较两个树,render 会生成两颗树,一个新树newVnode,一棵旧树oleVnode。然后两棵树进行对比更新差异就是diff,全称是difference......
  • node版本问题运行vue项目报错
    今天在新电脑安装的node,准备跑vue项目时,居然报错了。因为是在新的设备上安装,所以默认选择官网中的最新稳定版(https://nodejs.org/en/) 然后启动vue 报错!!!  大概......
  • 【VUE】 文件预览
    【VUE】文件预览上传前预览word文档:docx、doc核心代码import{renderAsync}from"docx-preview";/***渲染docx*@parambuffer*/docxRender(buffer){l......
  • vue文件中.env xxx 文件的作用
    .env文件配置Vue项目中,.env文件是运行项目时的环境配置文件。但是在实际开发过程中,有本地开发环境、测试环境、生产环境等,不同环境对应的配置会不一样。因此,需要通过不......
  • Vue使用i18n
    Vue与vue-i18n包安装npmivue-i18n@8Vue2使用8版本Vue3使用默认版本资源准备新建文件夹lang存放使用的语言文件目录结构scrlangen.jszh.jsindex.js......
  • 利用bootstrap-table插件自带的打印功能打印表格
    文章目录​​1、前端代码:​​​​2、前端页面:​​​​1、表格数据展示​​​​2、点击打印按钮之后:​​​​3、插件下载地址:​​​​4、碰到的bug​​1、前端代码:<linkhre......
  • printThis前端打印插件
    文章目录​​一、前言:​​​​1、特征​​​​2、插件下载地址:​​​​二、用法:​​​​1、所有配置:​​​​三、示例代码:​​​​1、jsp代码:​​​​2、js部分:​​​​3......
  • Vue接口地址管理
     项目中有些时候会调用不同的的环境接口地址,统一进行管理便于切换1.static文件夹下新建config.js:(static/目录下的文件并不会被Webpack处理:它们会直接被复制到最终......
  • 剑指 Offer 32 - II. 从上到下打印二叉树 II(java解题)
    目录1.题目2.解题思路3.数据类型功能函数总结4.java代码5.踩坑记录1.题目从上到下按层打印二叉树,同一层的节点按从左到右的顺序打印,每一层打印到一行。例如:给定......
  • 禁用vue.js <template>中段落的eslint规则最大行长度
    禁用vue.js<template>中段落的eslint规则最大行长度使用eslint,后配置了extends:[//这个破玩意,好讨厌,配置了这个后,template属性多余2个就开始换行......