码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Vue实现打印功能(vue-print-nb)


    1、安装依赖

    npm install vue-print-nb --save
    
    • 1

    2、在main.js中引入

    import Print from 'vue-print-nb'
    Vue.use(Print)
    
    • 1
    • 2

    3、在组件的打印区域标签上加 id=“printArea”

    <div id="printArea"> 打印区域 </div>
    
    • 1

    4、在组件的打印按钮标签上使用指令 v-print=“print”,print是配置对象

    <el-button v-print="print" type="primary">打印</el-button>
    
    • 1

    5、在组件的data中定义print配置对象

    print: {
            id: 'printArea',
            popTitle: '打印', // 打印配置页上方标题
            extraHead: '', //最上方的头部文字,附加在head标签上的额外标签,使用逗号分隔
            preview: '', // 是否启动预览模式,默认是false(开启预览模式,可以先预览后打印)
            previewTitle: '', // 打印预览的标题(开启预览模式后出现),
            previewPrintBtnLabel: '', // 打印预览的标题的下方按钮文本,点击可进入打印(开启预览模式后出现)
            zIndex: '', // 预览的窗口的z-index,默认是 20002(此值要高一些,这涉及到预览模式是否显示在最上面)   
            previewBeforeOpenCallback() {}, //预览窗口打开之前的callback(开启预览模式调用)
            previewOpenCallback() {}, // 预览窗口打开之后的callback(开启预览模式调用)
            beforeOpenCallback() {}, // 开启打印前的回调事件
            openCallback() {}, // 调用打印之后的回调事件
            closeCallback() {}, //关闭打印的回调事件(无法确定点击的是确认还是取消)
            url: '',
            standard: '',
            extraCss: '',
          },
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    打印过滤(隐藏打印区域不需要打印的内容)
    只需要在组件的打印区域里,给需要隐藏的内容的标签上添加

    class="noprint"
    .noprint {
                display: none
            }
    
    • 1
    • 2
    • 3
    • 4

    配置打印的样式
    在全局样式中,新增标签,里面是打印时才生效的样式

    <style media="print">
    @page {
      size: auto;
      margin: 3mm;
    }
     
    html {
      background-color: #ffffff;
      height: auto;
      margin: 0px;
    }
    </style>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
  • 相关阅读:
    视图、储存过程、函数 e3
    焊接--PCBA
    echarts-设置主题+调色盘+尺寸自适应+增量动画、等待动画
    4种方法教你如何查看java对象所占内存大小
    Spring Boot中如何定义多套不同环境配置?
    Mysql 事务与Spring事务
    山东大学项目实训(二十七)—— 微信小程序开发总结,一年时间真的可以改变一个人很多
    JVM性能——垃圾回收器的介绍
    【摸鱼系列】如何用Python做一个有趣的Loading彩蛋游戏~
    动手学深度学习(Pytorch版)代码实践 -深度学习基础-09过拟合与欠拟合
  • 原文地址:https://blog.csdn.net/weixin_45388942/article/details/136255612
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号