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

  • 荣耀magic3怎么双击亮屏(荣耀magic3怎么双开微信)

    荣耀magic3怎么双击亮屏(荣耀magic3怎么双开微信)

  • safari历史记录删除能恢复吗(safari历史记录删不掉,点击了但是没反应)

    safari历史记录删除能恢复吗(safari历史记录删不掉,点击了但是没反应)

  • 天猫精灵会员怎么取消自动续费(天猫精灵会员怎么退)

    天猫精灵会员怎么取消自动续费(天猫精灵会员怎么退)

  • 妙控键盘1代和2代的区别(妙控键盘1代和2代)

    妙控键盘1代和2代的区别(妙控键盘1代和2代)

  • 小米8的夜光屏亮度什么用(小米手机 夜光屏)

    小米8的夜光屏亮度什么用(小米手机 夜光屏)

  • 华为p40应用锁在哪里设置(华为p40pro应用锁)

    华为p40应用锁在哪里设置(华为p40pro应用锁)

  • 允许多个用户以交互使用计算机的操作系统是(允许多个用户以交换方式使用计算机的操作系统是)

    允许多个用户以交互使用计算机的操作系统是(允许多个用户以交换方式使用计算机的操作系统是)

  • 一体化双模5G是什么意思(一体双模5g是什么意思)

    一体化双模5G是什么意思(一体双模5g是什么意思)

  • 为什么qq音乐下载的歌曲本地里没有(为什么qq音乐下载的音乐在文件夹找不到)

    为什么qq音乐下载的歌曲本地里没有(为什么qq音乐下载的音乐在文件夹找不到)

  • vivonex3什么时候上市的(vivonex3什么时候发售当时多少钱)

    vivonex3什么时候上市的(vivonex3什么时候发售当时多少钱)

  • 剪映怎么去水印步骤(剪映怎么去除视频上原有的文字)

    剪映怎么去水印步骤(剪映怎么去除视频上原有的文字)

  • 手机音乐怎么传到mp3(手机音乐怎么传到OTG)

    手机音乐怎么传到mp3(手机音乐怎么传到OTG)

  • 趣头条怎么注销账号(趣头条怎么注销绑定手机号)

    趣头条怎么注销账号(趣头条怎么注销绑定手机号)

  • 如何让qq开机不自启(如何让qq开机不跳出来)

    如何让qq开机不自启(如何让qq开机不跳出来)

  • 小天才手表怎么卸载软件(小天才手表怎么关机)

    小天才手表怎么卸载软件(小天才手表怎么关机)

  • 修改支付宝人脸照片(怎么修改支付宝人脸)

    修改支付宝人脸照片(怎么修改支付宝人脸)

  • 淘宝退出怎么听直播(淘宝好好的退出去了)

    淘宝退出怎么听直播(淘宝好好的退出去了)

  • 苹果x定位不准确怎么调(苹果x定位不准怎么回事)

    苹果x定位不准确怎么调(苹果x定位不准怎么回事)

  • 华为mate30跟pro区别(华为mate30跟pro有什么区别)

    华为mate30跟pro区别(华为mate30跟pro有什么区别)

  • ipadproa1670是几代(ipad a1673是几代)

    ipadproa1670是几代(ipad a1673是几代)

  • 怎么把qq名字改成空白(怎么把QQ名字改成动态时间)

    怎么把qq名字改成空白(怎么把QQ名字改成动态时间)

  • 全民k歌修音功能在哪(全民k歌怎样开启修音模式)

    全民k歌修音功能在哪(全民k歌怎样开启修音模式)

  • 打印机故障排除怎么做?(惠普2600打印机故障排除)

    打印机故障排除怎么做?(惠普2600打印机故障排除)

  • Win10 Build 21359预览版开机后重启应用怎么设置?(windows 10 build 21354)

    Win10 Build 21359预览版开机后重启应用怎么设置?(windows 10 build 21354)

  • 塔霍河上空的银河,西班牙蒙弗拉圭国家公园 (© Miguel Angel Muñoz Ruiz/Cavan Images)(塔河流域)

    塔霍河上空的银河,西班牙蒙弗拉圭国家公园 (© Miguel Angel Muñoz Ruiz/Cavan Images)(塔河流域)

  • 半成品可以计入成本吗
  • 资产负债表里的应收账款怎么取数
  • 专用发票超过360天认证期怎么办?
  • 税控盘费用进什么科目
  • 普通发票需要进项税额转出吗
  • 公司分立是不是法人
  • 税金及附加包括个人所得税吗
  • 计提存货跌价准备是递延所得税资产吗
  • 销售费用包括哪些二级科目
  • 投资性房地产转固定资产账务处理
  • 客户退款已发生的业务
  • 银行定期存款利率计算
  • 固定资产转到别人账户
  • 暂估入账没有调增,以后年度怎么调整
  • 土地计入无形资产包括的税费
  • 生产工具计入什么费用
  • 账务中如何把短期借款转变为实收资本?
  • 持续经营净利润是什么意思
  • 购买国债利息收入计入利润总额吗
  • 怎么查询个体还是公司
  • win8系统怎么关闭防火墙
  • 如何结束excel
  • 上个月多计提的费用怎么调整
  • 酒店安装监控费用谁出
  • 开具信息咨询费的发票
  • 硬盘分区的原则主要有哪些
  • 电脑维修会不会对电脑有影响
  • 分公司吸收新股怎么办
  • 政策性搬迁会计处理案例
  • php自定义函数的语法格式
  • 若依框架和jeesite
  • 求源代码
  • php流程图
  • php正则匹配时间
  • 职工报销医药费属于什么会计科目
  • php连接不上数据库sql
  • 使用筷子就餐会不会传染乙肝病毒
  • php中array怎么用
  • php use of undefined constant
  • 建筑行业工程结算属于什么科目
  • 老板的财务
  • 工程施工企业的增值税税率是多少
  • 小微企业增值税起征点是多少
  • 材料成本差异的借方表示什么
  • 固定资产清理的借贷方向
  • 资产现金流量收益率为什么不是净利润除以平均现金流量
  • 购销合同印花税计税依据
  • 什么是建筑服务的甲供工程
  • 固定资产加速折旧最新政策2022
  • 政府专项资金补助计入什么科目
  • 关于购买安保器材的报告
  • 费用分摊科目
  • 商品预计退回会扣钱吗
  • 营改增后物业公司账务处理
  • 报销需要发票吗?
  • mysql常用查询
  • sqlserver批处理
  • win8系统忘记电脑开机密码怎么办
  • windows2003r2安装教程
  • 如何解决女性漏尿问题
  • 镜的镜像截图
  • WIN7系统的电脑里可以安装会声会影10吗?
  • 在幻灯片母版中
  • windows xp退役
  • w10英雄联盟老是崩溃
  • smagent.exe - smagent是什么进程
  • windows注册表简单应用
  • svcinit.exe - svcinit是什么进程
  • Win10 UWP红石版应用商店迎来更新:查找更新再换位置
  • winpe 系统还原
  • 同一个文件夹中的文件可以同名吗
  • 网页javascript错误
  • Android platform build guide for Exynos-4412(odroid -X/X2/U2/U3/Q2/Q)
  • python3.5升级
  • jQuery Easyui datagrid/treegrid 清空数据
  • 国家税务总局增值税发票查验平台官网
  • 陕西国税电子税务局端还可以登录吗
  • 北京东城区社保电话
  • 企业所得税忘记计提了做到下个月可以吗
  • 湖南兴广地税务师事务所有限公司(兴广集团有限公司)
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设