位置: IT常识 - 正文

用vue实现打印页面的几种方法(vue如何实现打印)

编辑:rootadmin
用vue实现打印页面的几种方法 1.第一种就是直接调用 window.print()方法

推荐整理分享用vue实现打印页面的几种方法(vue如何实现打印),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vue前端打印,vue页面打印,vue打印word,vue如何实现打印功能,vue实现打印页面表格,vue如何实现打印功能,vue实现打印页面表格,vue实现打印页面表格,内容如对您有帮助,希望把文章链接给更多的朋友!

这种方法的坏处就是 默认打印整个页面,不能打印局部页面。

2.第二种使用v-print

首先先下载 npm install vue-print-nb --save 然后在main.js中引入 main.js中引入

import Print from 'vue-print-nb'Vue.user(Print)用vue实现打印页面的几种方法(vue如何实现打印)

由于我用的是jeecg所以和你们不太一样 然后就是在代码里面用了

<div class='preview_content2' id="print" ref="print"> //以是要打印的内容 <div style='text-align: center;margin-top: 100px;'> <a-button type='primary' size="large" v-print=""#print"" style="width: 150px"> 打印 </a-button> </div>//打印结束 </div>

点击上面那个打印按钮 就会自动打印你想要的部分了

3.第三种使用print.js 使用这种的好处就是可以在打印前进行一些自己想要的操作 比如校验 第一步先下载print.js 我这边直接把js放出来

// 打印类属性、方法定义/* eslint-disable */const Print = function (dom, options) { if (!(this instanceof Print)) return new Print(dom, options); this.options = this.extend({ 'noPrint': '.no-print' }, options); if ((typeof dom) === "string") { this.dom = document.querySelector(dom); } else { this.isDOM(dom) this.dom = this.isDOM(dom) ? dom : dom.$el; } this.init();};Print.prototype = { init: function () { var content = this.getStyle() + this.getHtml(); this.writeIframe(content); }, extend: function (obj, obj2) { for (var k in obj2) { obj[k] = obj2[k]; } return obj; }, getStyle: function () { var str = "", styles = document.querySelectorAll('style,link'); for (var i = 0; i < styles.length; i++) { str += styles[i].outerHTML; } str += "<style>" + (this.options.noPrint ? this.options.noPrint : '.no-print') + "{display:none;}</style>"; return str; }, getHtml: function () { var inputs = document.querySelectorAll('input'); var textareas = document.querySelectorAll('textarea'); var selects = document.querySelectorAll('select'); for (var k = 0; k < inputs.length; k++) { if (inputs[k].type == "checkbox" || inputs[k].type == "radio") { if (inputs[k].checked == true) { inputs[k].setAttribute('checked', "checked") } else { inputs[k].removeAttribute('checked') } } else if (inputs[k].type == "text") { inputs[k].setAttribute('value', inputs[k].value) } else { inputs[k].setAttribute('value', inputs[k].value) } } for (var k2 = 0; k2 < textareas.length; k2++) { if (textareas[k2].type == 'textarea') { textareas[k2].innerHTML = textareas[k2].value } } for (var k3 = 0; k3 < selects.length; k3++) { if (selects[k3].type == 'select-one') { var child = selects[k3].children; for (var i in child) { if (child[i].tagName == 'OPTION') { if (child[i].selected == true) { child[i].setAttribute('selected', "selected") } else { child[i].removeAttribute('selected') } } } } } return this.dom.outerHTML; }, writeIframe: function (content) { var w, doc, iframe = document.createElement('iframe'), f = document.body.appendChild(iframe); iframe.id = "myIframe"; //iframe.style = "position:absolute;width:0;height:0;top:-10px;left:-10px;"; iframe.setAttribute('style', 'position:absolute;width:0;height:0;top:-10px;left:-10px;'); w = f.contentWindow || f.contentDocument; doc = f.contentDocument || f.contentWindow.document; doc.open(); doc.write(content); doc.close(); var _this = this iframe.onload = function(){ _this.toPrint(w); setTimeout(function () { document.body.removeChild(iframe) }, 100) } }, toPrint: function (frameWindow) { try { setTimeout(function () { frameWindow.focus(); try { if (!frameWindow.document.execCommand('print', false, null)) { frameWindow.print(); } } catch (e) { frameWindow.print(); } frameWindow.close(); }, 10); } catch (err) { console.log('err', err); } }, isDOM: (typeof HTMLElement === 'object') ? function (obj) { return obj instanceof HTMLElement; } : function (obj) { return obj && typeof obj === 'object' && obj.nodeType === 1 && typeof obj.nodeName === 'string'; }};const MyPlugin = {}MyPlugin.install = function (Vue, options) { // 4. 添加实例方法 Vue.prototype.$print = Print}export default MyPlugin

然后把js放在自己的目录中 我的目录是这样子的

第二步在main.js中引入

import Print from '@/utils/printTest'// Vue.use(Print)

最后就是在页面中使用了

本文链接地址:https://www.jiuchutong.com/zhishi/294497.html 转载请保留说明!

上一篇:学校官网首页 2页网页设计(HTML+CSS+JavaScript)(学校官网首页图片)

下一篇:vue项目created()被调用多次的坑(vue created mounted)

  • 荣耀play4pro有红外遥控功能吗(荣耀play4pro有红外遥控吗)

    荣耀play4pro有红外遥控功能吗(荣耀play4pro有红外遥控吗)

  • 华为mate30如何下载来电铃声(华为Mate30如何下载软件)

    华为mate30如何下载来电铃声(华为Mate30如何下载软件)

  • vivo手机电量百分比的设置方法是什么(vivo 电量)

    vivo手机电量百分比的设置方法是什么(vivo 电量)

  • 存储周期最短的存储器(存储周期最短的是寄存器吗)

    存储周期最短的存储器(存储周期最短的是寄存器吗)

  • 打印机打印照片颜色不对(打印机打印照片教程)

    打印机打印照片颜色不对(打印机打印照片教程)

  • 苹果平板键盘在中间怎么回事(苹果平板键盘在上面)

    苹果平板键盘在中间怎么回事(苹果平板键盘在上面)

  • 手机屏幕出现彩色斑点(手机屏幕出现彩色条纹是内屏坏了嘛)

    手机屏幕出现彩色斑点(手机屏幕出现彩色条纹是内屏坏了嘛)

  • 爱奇艺下载的视频怎么传给别人(爱奇艺下载的视频怎么保存到本地)

    爱奇艺下载的视频怎么传给别人(爱奇艺下载的视频怎么保存到本地)

  • word怎么插入表格(word文档怎么制表)

    word怎么插入表格(word文档怎么制表)

  • 抖音超级乐迷是什么?(超级乐迷是什么意思)

    抖音超级乐迷是什么?(超级乐迷是什么意思)

  • 麒麟990相当于骁龙什么处理器(麒麟990相当于骁龙什么配置)

    麒麟990相当于骁龙什么处理器(麒麟990相当于骁龙什么配置)

  • 微信中文怎么转换英文(微信中文怎么转成英文)

    微信中文怎么转换英文(微信中文怎么转成英文)

  • ai相机什么意思(ai相机是指什么)

    ai相机什么意思(ai相机是指什么)

  • 大数据的来源粗略的分为(大数据的来源粗略分为哪几类)

    大数据的来源粗略的分为(大数据的来源粗略分为哪几类)

  • 充电头有几种(苹果手机充电头有几种)

    充电头有几种(苹果手机充电头有几种)

  • 京东十大榜单在哪里查看(京东top榜)

    京东十大榜单在哪里查看(京东top榜)

  • 手机5.5寸有多大(5.5寸的手机长度是多少)

    手机5.5寸有多大(5.5寸的手机长度是多少)

  • 苹果11电池容量多少(苹果11电池容量怎么看)

    苹果11电池容量多少(苹果11电池容量怎么看)

  • 苹果6s像素多少万(苹果13的像素是多少)

    苹果6s像素多少万(苹果13的像素是多少)

  • iphone11什么时候开卖(iPhone11什么时候更新ios17)

    iphone11什么时候开卖(iPhone11什么时候更新ios17)

  • 如何使用键盘关电脑(如何使用键盘关闭所有运行)

    如何使用键盘关电脑(如何使用键盘关闭所有运行)

  • 耳机没标lr怎么分左右(耳机没有标志)

    耳机没标lr怎么分左右(耳机没有标志)

  • 手机怎样求平方立方根(在手机上平方怎么表示)

    手机怎样求平方立方根(在手机上平方怎么表示)

  • 小米dc调光怎么设置(小米 dc 调光)

    小米dc调光怎么设置(小米 dc 调光)

  • 微信朋友圈三天可见是对所有人吗(微信朋友圈三天可见可以针对个人)

    微信朋友圈三天可见是对所有人吗(微信朋友圈三天可见可以针对个人)

  • 在BIOS中关闭指纹识别并再次开启的操作流程(关闭bios启动)

    在BIOS中关闭指纹识别并再次开启的操作流程(关闭bios启动)

  • Pytorch教程入门系列11----模型评估(pytorch怎么入门)

    Pytorch教程入门系列11----模型评估(pytorch怎么入门)

  • OK源码中国推荐一款WordPress节日节庆灯笼插件,后台一键安装一键开启免费下载-OK源码中国(okhttp源码)

    OK源码中国推荐一款WordPress节日节庆灯笼插件,后台一键安装一键开启免费下载-OK源码中国(okhttp源码)

  • 减免所得税会影响工资发放吗
  • 小规模企业现金流量表
  • 月销售额不超过10万
  • 员工全额承担社保账务怎么做?
  • 退货重新下单要付款吗
  • 公摊电费计入什么科目
  • 一次性医保补助多少钱
  • 销售安装门窗增值税
  • 销售货物并提供安装服务
  • 增值税专用发票可以开电子发票吗
  • 生产企业出口退税流程
  • 个人独资企业办收款码
  • 餐饮店工装
  • 新公司没收入之前费用都走开办费吗
  • 反结账是什么意思怎么取消
  • apache配置多个项目
  • PHP:zip_entry_close()的用法_Zip函数
  • 发票开具的有哪些原则
  • cesium三维地球
  • 废钢收购无进项怎么处理
  • 最全vue项目实战
  • 深度学习分析NASA电池数据(1 数据读取)
  • php fopen函数的用法
  • 垃圾清运费进入会计什么科目
  • 商贸公司库存商品怎么做分录
  • 未入账的发票可以抵扣吗
  • 收取违约金能作为合同自动终止要件吗
  • 增值税买一送一处理方法
  • 印花税是根据什么申报的
  • 用于研发的材料后期销售了应该怎么账务处理
  • 员工在其他公司担任股东,违法吗
  • wordpress文章发布不显示作者
  • DB2专家王云谈商业智能BI
  • 含税含运费价格,运费谁出
  • 开一家公司的具体步骤
  • 一般纳税人应如何报税
  • 什么是汇算清缴?
  • 双分录怎么做记账凭证
  • 福利费可以不走应付职工薪酬吗
  • 作废的支票由谁保管
  • 代发工资的手续流程
  • 小微企业如何自己开发票
  • 技术服务费发票怎么开
  • 往来出现差额调账说明
  • 暂估的进项税额怎么抵扣
  • 什么叫残保金减免
  • sql语句错误提示
  • mysql四个事务的四个特性
  • 数据库备份怎么做mysql
  • 远程管理是什么意思
  • 苹果mac系统怎么截屏快捷键
  • linux命令和命令之间用
  • wp8.1怎么升级wp10
  • vs显示进程已退出
  • xp系统好奇怪哦
  • XP系统怎么设置屏幕常亮
  • winxp如何修改密码
  • xp系统如何安装软件
  • windows xp windows
  • muamgr.exe - muamgr是什么进程 有何作用
  • windows7怎
  • linux 如何
  • [置顶]bilinovel
  • nodejs的socket
  • node实战
  • vue中的vuex
  • javascript编程语言
  • JavaScript中的math.pi
  • python3.7怎么安装pil
  • jquery on()
  • js调用失败
  • 安卓app活动
  • Python判断字符串结尾并输出yes或no
  • 电子税务局更改密码怎么改
  • 演艺明星
  • 税务局大厅咨询台
  • 国家税务总局办公室电话
  • 种子在什么情况下能发芽
  • 蓬溪房价2020最新消息
  • 土地增值税分期清算条件?
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设