位置: 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)

  • 微博好友圈是指相互关注的人吗(什么是微博的好友圈)

    微博好友圈是指相互关注的人吗(什么是微博的好友圈)

  • qq音乐如何查看自己的听歌时间(qq音乐如何查看第一次听这首歌)

    qq音乐如何查看自己的听歌时间(qq音乐如何查看第一次听这首歌)

  • 联想电脑自动修复未正确启动(联想电脑自动修复开不了机win10)

    联想电脑自动修复未正确启动(联想电脑自动修复开不了机win10)

  • 红外测温仪显示lo是什么意思(红外测温仪显示er1)

    红外测温仪显示lo是什么意思(红外测温仪显示er1)

  • 苹果x陀螺仪在哪里(苹果x陀螺仪在主板哪个位置)

    苹果x陀螺仪在哪里(苹果x陀螺仪在主板哪个位置)

  • 微信视频耗流量大吗(微信视频耗流量多少)

    微信视频耗流量大吗(微信视频耗流量多少)

  • 微信三个月不登会怎样(微信三个月不登录)

    微信三个月不登会怎样(微信三个月不登录)

  • 手机能量体温吗(华为手机自带温度计)

    手机能量体温吗(华为手机自带温度计)

  • 服务器人数上限(服务器人数已满,请稍后尝试)

    服务器人数上限(服务器人数已满,请稍后尝试)

  • 华为悬浮图标怎么开(华为悬浮图标怎么开启设置)

    华为悬浮图标怎么开(华为悬浮图标怎么开启设置)

  • 拼多多免拼单在哪里(拼多多免拼单在哪里按)

    拼多多免拼单在哪里(拼多多免拼单在哪里按)

  • 什么叫快闪(什么叫快闪伪像)

    什么叫快闪(什么叫快闪伪像)

  • 手机屏幕漏液敢充电不(手机屏幕漏液了会扩散吗)

    手机屏幕漏液敢充电不(手机屏幕漏液了会扩散吗)

  • 索爱t2怎么设置(索爱sh39怎么设置)

    索爱t2怎么设置(索爱sh39怎么设置)

  • 荣耀v20能用40瓦快充吗(荣耀v20能不能用40w的充电头)

    荣耀v20能用40瓦快充吗(荣耀v20能不能用40w的充电头)

  • 如何处理手机号码泄露(如何处理手机号被标记)

    如何处理手机号码泄露(如何处理手机号被标记)

  • 怎样用CAD测量面积(cad测量面积有几种方法)

    怎样用CAD测量面积(cad测量面积有几种方法)

  • 显示屏花屏(显示屏花屏是什么原因造成的)

    显示屏花屏(显示屏花屏是什么原因造成的)

  • Windows 11系统怎么修改用户名密码? win11更改账户密码的多种方法(win11 zen2)

    Windows 11系统怎么修改用户名密码? win11更改账户密码的多种方法(win11 zen2)

  • win10屏幕颜色不正常怎么调(win10电脑屏幕颜色变了怎么调到原来的)

    win10屏幕颜色不正常怎么调(win10电脑屏幕颜色变了怎么调到原来的)

  • mnyexpr.exe是什么进程 作用是什么 mnyexpr进程查询(msoobe.exe是什么)

    mnyexpr.exe是什么进程 作用是什么 mnyexpr进程查询(msoobe.exe是什么)

  • ImLua.exe是什么进程 有什么作用 ImLua进程查询(lsm.exe是什么程序)

    ImLua.exe是什么进程 有什么作用 ImLua进程查询(lsm.exe是什么程序)

  • React获取DOM和获取组件实例的方式(react useref获取dom元素)

    React获取DOM和获取组件实例的方式(react useref获取dom元素)

  • 税金及附加如何记账
  • 车险发票不含车船税怎么记账
  • 如何判断固定资产资本化还是费用化
  • 社保税款所属期限什么意思
  • 企业进口关税和消费关税
  • 总公司向子公司收取管理费如何纳税
  • 单位投资非盈利性组织怎样核算
  • 业务招待费的扣除标准是什么2022
  • 企业自建房产可以抵押吗
  • 产品成本核算需要经过哪些程序
  • 房产税征税税率
  • 未分配利润调整会计分录
  • 金融服务利息
  • 老板向公司借款用于公司经营
  • 正在注销的公司微信收的款怎么追回
  • 税控盘全额抵扣怎么做账
  • 多付工资计入哪个科目
  • 应收账款手工核算方法
  • 空调折旧年限的最新规定2018
  • 调拨资产入账按原值还是按净值
  • 房屋的折旧年限一般是多少年
  • 小规模减半征收什么时候开始
  • 怎么防止电脑被别人远程控制
  • 政府补助计量的基础是
  • 王者荣耀中钟馗怎么出装
  • php循环语句
  • 获取url的参数有哪些方法
  • 增值税进项税额转出的情况有哪些
  • phpunicode
  • fsck是什么文件
  • 无形资产出租属于处置吗
  • 资本化计入
  • 托收账款属于什么会计科目
  • 外经证逾期未核实怎么办
  • php使用自定义函数编程求半径r的圆的周长和面积
  • php ioc
  • 微信php源码
  • 企业法人歇业后诉讼主体确认
  • 安装elipse教程
  • vue0
  • jasypt加密解密
  • 增值税改动
  • 金蝶固定资产累计折旧凭证生成
  • 视同小规模纳税人是有?
  • 收据不能入账如何处理
  • 资产减值损失是什么意思
  • 交哪些费用
  • 企业取得财产转让收入
  • 应收账款计提的坏账准备可以转回
  • 公司奖励员工制度
  • 发放股票股利如何影响计算基本每股收益
  • 长期股权投资会计实训心得
  • 合理损耗怎么算
  • 一般纳税人企业所得税多久申报一次
  • 收到银行利息记什么会计科目
  • 税务局代开发票作废可以申请退税吗?
  • 关于职工住房补贴相关文件及规定
  • mysql uuid分页优化
  • sql实现分组查询的短语
  • mysql 5.7启动
  • win7旗舰版系统怎么样
  • windows2003怎么样
  • macbookzen
  • 在unix操作系统中,账户的功能有哪些
  • alg.exe是什么程序
  • windows英文版本
  • win7系统如何更改默认浏览器
  • reg.exec
  • win10每周更新
  • ie所有版本
  • 我为什么要
  • javascript制作简易计算机
  • shell脚本spool
  • 浅谈python
  • js中的常用方法
  • 深圳12366怎么转人工
  • 廊坊银行辟谣了吗
  • 煤炭资源税税率选煤税率多少黑龙江
  • 河北国家税务局官网站
  • 房租是不是先交
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设