vue 使用vue-print-nb打印

2023-11-12  本文已影响0人  加冰宝贝

vue-print-nb 有两种打印模式 目前好像只知道支持(图片、后缀名为pdf)的格式文件

一、异步路径打印 动态请求api打印方式

1.安装依赖:npm install vue-print-nb --save

2.在main.js中引入

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

3.vue template 部分 v-print="print"

<el-button v-print="print" class="m-px-l-16">打印申请表</el-button>

4.vue script data 部分

data() {
  return {
    print: {
        popTitle: '打印', // 打印配置页上方标题
        extraHead: '', // 最上方的头部文字,附加在head标签上的额外标签,使用逗号分隔
        preview: true, // 是否启动预览模式,默认是false(开启预览模式,可以先预览后打印)
        previewTitle: '', // 打印预览的标题(开启预览模式后出现),
        previewPrintBtnLabel: '打印', // 打印预览的标题的下方按钮文本,点击可进入打印(开启预览模式后出现)
        zIndex: '2002', // 预览的窗口的z-index,默认是 20002(此值要高一些,这涉及到预览模式是否显示在最上面)
        previewBeforeOpenCallback() {
        }, // 预览窗口打开之前的callback(开启预览模式调用)
        previewOpenCallback() {
        }, // 预览窗口打开之后的callback(开启预览模式调用)
        beforeOpenCallback() {
        }, // 开启打印前的回调事件
        openCallback() {
        }, // 调用打印之后的回调事件
        closeCallback() {
          console.log('关闭')
        }, // 关闭打印的回调事件(无法确定点击的是确认还是取消)
        url: '',
        standard: '', // strict
        extraCss: '',
        asyncUrl(reslove, vue) {
          // vue 可以指向 data
        } // 异步url,用于请求Api
      },
   }
}

二、 区域打印 (也可以理解为页面排版答应 需要配置 区域模块id类名)引入的方式同一样 一般在data下 print 对象下 配置

1.vue template 部分

<el-button id="printArea" v-print="print" class="m-px-l-16">打印</el-button>

4.vue script data 部分

data() {
  return {
    print: {
      id: 'printArea',
    }
  }
}
上一篇 下一篇

猜你喜欢

热点阅读