• 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
  • 相关阅读:
    GSettings/gsettings/dconf/dconf-editor介绍及使用
    【python初级】windows系统安装Anaconda3
    自研一个简易版本的OkHTTP
    慢跑是早上跑好,还是晚上跑好?对的时间跑,效果可能还翻倍
    【文件操作的重难点详解】
    算法 - 检查是否存在满足条件的数字组合
    通过自学可以搭建量化交易模型吗?
    趋势分析 | 如何选择适合超融合的备份方案?
    免费的把人声和背景音乐分离的软件或者在线网站
    mysql日志
  • 原文地址:https://blog.csdn.net/weixin_45388942/article/details/136255612