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

  • airpods2的充电方法(苹果airpods2怎么充电)

    airpods2的充电方法(苹果airpods2怎么充电)

  • 红米k30pro屏幕刷新率是60hz吗(红米k30pro刷屏多少)

    红米k30pro屏幕刷新率是60hz吗(红米k30pro刷屏多少)

  • 微信旁边有个耳朵是啥模式(微信旁边有个耳机)

    微信旁边有个耳朵是啥模式(微信旁边有个耳机)

  • 华为nova5i还原所有怎么设置(华为nova5pro还原所有设置什么意思)

    华为nova5i还原所有怎么设置(华为nova5pro还原所有设置什么意思)

  • 小米8重量多少克(小米8多重多少克)

    小米8重量多少克(小米8多重多少克)

  • 3dmax安装不了(3dmax安装不了正在运行怎么办)

    3dmax安装不了(3dmax安装不了正在运行怎么办)

  • 开热点会不会中病毒(开热点会不会中毒)

    开热点会不会中病毒(开热点会不会中毒)

  • 苹果手机怎么下载钉钉软件(苹果手机怎么下载两个微信)

    苹果手机怎么下载钉钉软件(苹果手机怎么下载两个微信)

  • 苹果拍照为什么拍完是倒的(苹果拍照为什么会重复两张?)

    苹果拍照为什么拍完是倒的(苹果拍照为什么会重复两张?)

  • v1934a是vivo什么型号(v1932a是vivo什么型号)

    v1934a是vivo什么型号(v1932a是vivo什么型号)

  • 手机盖板和外屏的区别(手机盖板和外屏是一个东西吗)

    手机盖板和外屏的区别(手机盖板和外屏是一个东西吗)

  • 微信注册短信验证发不出去(微信注册短信验证发送失败什么原因)

    微信注册短信验证发不出去(微信注册短信验证发送失败什么原因)

  • 华为还原所有设置意思(华为还原所有设置是什么意思)

    华为还原所有设置意思(华为还原所有设置是什么意思)

  • qqvip怎么升级到vip2(qqvlp怎么升级)

    qqvip怎么升级到vip2(qqvlp怎么升级)

  • 美版苹果xr怎么装双卡(美版苹果xr怎么样)

    美版苹果xr怎么装双卡(美版苹果xr怎么样)

  • 鲁大师温度压力测试多少正常(鲁大师温度压力测试和甜甜圈哪个准)

    鲁大师温度压力测试多少正常(鲁大师温度压力测试和甜甜圈哪个准)

  • 服务端和客户端的区别(服务端和客户端怎么连接)

    服务端和客户端的区别(服务端和客户端怎么连接)

  • 华为蓝牙耳机freebud3使用方法(华为蓝牙耳机freelace)

    华为蓝牙耳机freebud3使用方法(华为蓝牙耳机freelace)

  • xsmax双卡双待怎么用(xsmax双卡双待怎么设置)

    xsmax双卡双待怎么用(xsmax双卡双待怎么设置)

  • 抖音如何快速删除我喜欢(抖音如何快速删除粉丝)

    抖音如何快速删除我喜欢(抖音如何快速删除粉丝)

  • 如何查看qq收到的礼物(如何查看QQ收到的电子邮件)

    如何查看qq收到的礼物(如何查看QQ收到的电子邮件)

  • 怎么查pos机是否跳码(怎么查pos机是否停用了)

    怎么查pos机是否跳码(怎么查pos机是否停用了)

  • 手机一天开关机五次(手机一天开关机最好不超过几次)

    手机一天开关机五次(手机一天开关机最好不超过几次)

  • 钉钉老板有哪些权限(钉钉老板有哪些名字)

    钉钉老板有哪些权限(钉钉老板有哪些名字)

  • 抖音如何恢复草稿箱(抖音怎么恢复草稿)

    抖音如何恢复草稿箱(抖音怎么恢复草稿)

  • y93怎么设置指纹(vivoy93s指纹锁怎么设置)

    y93怎么设置指纹(vivoy93s指纹锁怎么设置)

  • mq是什么(mq是什么公式)

    mq是什么(mq是什么公式)

  • win10玩红警卡顿解决方法(win10玩红警卡顿怎么解决)

    win10玩红警卡顿解决方法(win10玩红警卡顿怎么解决)

  • css普通兄弟选择器如何理解(css选择上一个兄弟)

    css普通兄弟选择器如何理解(css选择上一个兄弟)

  • 小规模纳税人销售自建不动产
  • 个人出租非住房房产税怎么计算
  • 如何计算土地增值税的增值额
  • 填专项扣除对个人还是公司受益
  • 利润表季报本月金额是本季度余额吗
  • 实收资本未到位情况说明
  • 营改增后,建筑安装工程的费率是
  • 社会组织属于非法人组织吗为什么
  • 增值税专用发票的税率是多少啊
  • 缴纳文化事业建设费的范围
  • 固定资产当月入账下月计提折旧
  • 内含增长率的推导
  • 购进货品未取得发票如何处理
  • 净利润为负数还要交所得税吗
  • 以固定资产出资设立企业
  • 存货 科目
  • 发工资时计提个人所得税
  • 物业公司开停车位费全电发票
  • 开票方与受票方的区别
  • 个人房产税征收标准
  • 定期存款利息税是多少
  • 实收资本印花税最新规定
  • 车船税计入什么费用
  • 公园门票可以开发票吗
  • 垫付的医药费怎么理赔
  • 公司利润如何提高
  • 发票在验旧日期之后作废吗
  • 企业投资股票取什么名字
  • 分期收款方式怎么算消费税
  • 销售收入大于纳税申报销售收入
  • 超标的业务招待费属于什么差异
  • 考试资格的工作有哪些
  • php判断链表是否有环
  • php基础函数
  • 向国外个人支付的佣金是否缴纳个人所得税
  • 短期借款利息计算
  • 从国际空间站看木星
  • Laravel 5使用Laravel Excel实现Excel/CSV文件导入导出的功能详解
  • 前端大屏常用的输入法
  • 用java写一个helloworld
  • 软件产品即征即退申请表
  • 网页单行文本框
  • 日本蜡烛图形
  • linux php redis扩展
  • 公司代扣社保费怎么做账
  • 个人汽车保险费可以放在公司报销吗
  • 购买的固定资产退回账务处理
  • 合并会计报表合并范围
  • 债权人债务重组损益计入什么科目
  • php mysql教程
  • 专票要写开户行和账号
  • 专用发票的用途
  • 提供维修业务的税率是多少
  • 工厂厨房厨具
  • 财产租赁合同印花税计税依据
  • 成本费用利润率一般在什么范围
  • 建筑工程购买的搬运设备升降平台分录
  • 购买本公司产品未付款需要签名字吗
  • 需求价格弹性是ep还是ed
  • 怎样才能制作出白瓷
  • ubuntu20.04忘记用户密码怎么办
  • 七喜r11c笔记本
  • 重装win7旗舰版系统教程
  • 本地磁盘未响应怎么解决
  • ubuntu 10.04安装
  • aow进程
  • win1020h2无法重启
  • 2016年首个国家安全教育日
  • redhat 6.5 安装
  • Linux如何使用clash
  • jqgrid动态生成表头
  • 推荐一篇故事并说明理由
  • perl中@_
  • xcopy /i
  • js 浮点数运算
  • Node.js中的全局变量有哪些
  • node调试工具
  • 临港税务局第四分局电话
  • 上海网上申报软件怎样下载
  • 社保每个月都要交吗,不交了会怎么样
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设