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

  • 怎样充分的利用自媒体平台做推广(怎样充分利用财务杠杆)

    怎样充分的利用自媒体平台做推广(怎样充分利用财务杠杆)

  • 微信如何取消订阅付款(微信如何取消订阅号消息)

    微信如何取消订阅付款(微信如何取消订阅号消息)

  • 小米mix3如何打开通知栏(小米mix3如何打开后盖)

    小米mix3如何打开通知栏(小米mix3如何打开后盖)

  • 怎么换回抖音默认头像(怎么换回抖音默认账号)

    怎么换回抖音默认头像(怎么换回抖音默认账号)

  • 一个优酷会员可以登录几个手机(一个优酷会员可以用几台设备)

    一个优酷会员可以登录几个手机(一个优酷会员可以用几台设备)

  • 华为p40指纹位置(华为p40指纹位置怎么设置)

    华为p40指纹位置(华为p40指纹位置怎么设置)

  • 联想一体机开不了机怎么回事(联想一体机开不了机一直滴滴响)

    联想一体机开不了机怎么回事(联想一体机开不了机一直滴滴响)

  • 高德地图探路为啥没声音了(高德地图探路怎么用不了)

    高德地图探路为啥没声音了(高德地图探路怎么用不了)

  • 充电接口类型(oppo手机充电接口类型)

    充电接口类型(oppo手机充电接口类型)

  • 十分钟视频怎么发微信(十分钟视频怎么发微信朋友圈)

    十分钟视频怎么发微信(十分钟视频怎么发微信朋友圈)

  • iwebpdf是什么软件(iwebpdf是什么软件可以修改pdf文件吗)

    iwebpdf是什么软件(iwebpdf是什么软件可以修改pdf文件吗)

  • 微信视频号有什么作用(微信视频号有什么禁忌)

    微信视频号有什么作用(微信视频号有什么禁忌)

  • 怎么创建新样式(word文档怎么创建新样式)

    怎么创建新样式(word文档怎么创建新样式)

  • 苹果6s支持volte吗(苹果6S支持PD快充吗)

    苹果6s支持volte吗(苹果6S支持PD快充吗)

  • 显卡花屏什么原因(显卡花屏什么原因重启就好了)

    显卡花屏什么原因(显卡花屏什么原因重启就好了)

  • 手机知乎怎么搜索(知乎app搜索)

    手机知乎怎么搜索(知乎app搜索)

  • 电话手表的sos键在哪里(电话手表的sos键是哪个)

    电话手表的sos键在哪里(电话手表的sos键是哪个)

  • 苹果x呼吸灯怎么设置颜色(iphone x 呼吸灯)

    苹果x呼吸灯怎么设置颜色(iphone x 呼吸灯)

  • 华为手机屏保时间设置(华为手机屏保时间设置在哪里设置?)

    华为手机屏保时间设置(华为手机屏保时间设置在哪里设置?)

  • 一加7t手机是哪个国家的(一加7t型号)

    一加7t手机是哪个国家的(一加7t型号)

  • 191.168.01手机怎么登录(手机 192.168.1.1)

    191.168.01手机怎么登录(手机 192.168.1.1)

  • 荣耀20pro耳机孔在哪(荣耀20i耳机孔)

    荣耀20pro耳机孔在哪(荣耀20i耳机孔)

  • 中央空调显示co是什么意思(中央空调显示co是什么原因)

    中央空调显示co是什么意思(中央空调显示co是什么原因)

  • 关于hash和history的区别和使用(关于hashcode和equals,下列哪些说法是错误的)

    关于hash和history的区别和使用(关于hashcode和equals,下列哪些说法是错误的)

  • 个人所得税包括绩效工资吗
  • 什么叫做增值税进项税额
  • 发票上的收款人复核开票人
  • 财政部监制的收据可以手写吗
  • 展览服务费进项可以抵扣吗
  • 贷款还款利息怎么还
  • 飞机票的快递费多少钱
  • 资产盘点的步骤是什么,需要注意哪些细节
  • 汇算清缴所得税退税会计分录怎么做
  • 定期定额纳税申报表应税项应填哪个数
  • 雇佣外籍劳工
  • 抵扣红冲发票怎么报税
  • 行政单位预算外资金收入
  • 实收资本变更做账依据
  • 电商返佣平台有风险吗
  • 营改增后不动产销售增值税 5%还是9%
  • 外购材料委托加工分录
  • 标书费收据丢失怎么办
  • 增值税抵扣期限多少天
  • 刷卡手续费可以开经纪代理服务费吗
  • 运输费发票备注栏填不下
  • 积分抵扣所开的发票,也能在税前扣除吗?
  • 董事费监事费高管薪酬标准
  • 固定资产一次性计入费用的账务处理
  • 公司车辆怎么处理
  • 保税区内的货物交易
  • 产品打样费计入什么科目
  • 库存现金出现负数怎么跟客户沟通
  • 鸿蒙系统怎么设置导航键
  • 新会计准则下企业合并财务报表问题研究
  • 疫情 统筹
  • nod32kui.exe - nod32kui是什么进程 作用是什么
  • 完美解决usb电涌15秒后关机
  • 电子商票到期后多少天有效?
  • 与资产相关的政府补助,如果相关资产在使用寿命结束时
  • 医院的重要
  • 工会举办的比赛有哪些
  • PHP:gmstrftime()的用法_Date Time函数
  • php格式图片
  • php 查找数组元素
  • 补差价如何做账
  • vue框架总结
  • css选择器nth
  • 最详细的世界地图
  • 前端 大前端
  • 现金折扣什么时候冲减收入
  • 抵扣进项税是怎么算的
  • 企业注销未抵扣完进项税怎么处理
  • 预收账款是怎么算的
  • 企业购买了数千亿资产
  • 阶段性减免企业社保费实施政策对象
  • 企业所得税如何规避
  • 预存电费和后付费哪个好
  • 车辆罚款单可作为费用报销吗
  • 外商投资企业清算资金汇出环节,银行
  • 厂家核销费用直接扣除吗
  • 上年未计提所得税,本年怎么做分录
  • 工资扣税是减去五险一金吗
  • 进项税适用税率
  • 建筑业异地预缴个税税率
  • 借款利息怎么记账
  • mysql必知必会读后感2000字
  • 服务器上文件共享
  • 从几个方面论述
  • vmware img镜像
  • .exe是什么意思
  • win10系统怎么清理电脑垃圾
  • macbook key
  • linux查看sh
  • js模拟登录网站
  • cocos2dx 3.17
  • jquery示例
  • dos命令到一个文件夹
  • android内存泄露 工具
  • unity3d基于物理系统的2D平台跳跃游戏
  • 轮播图简单实现
  • python爬虫利器
  • 北京 国税
  • 安徽国家税务局网上办税平台12366
  • 河北个体户个人缴税标准
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设