vue2,vue3-调用浏览器打印窗口,或者打印机

vue3-print-nb - npm

 下载依赖

yarn add vue-print-nb

在全局main.js内注册依赖

import { createApp } from 'vue'
import App from './App.vue'
import print from 'vue3-print-nb'
const app = createApp(App)
app.use(print)
app.mount('#app')

在.vue 文件内先注册命令

import print from 'vue3-print-nb'
export default {
  directives: {
    print,
  },
}

         .vue 文件内使用

// v-print 命令调用浏览器打印界面
<el-button type="primary" size="small" v-print="printObj">登记</el-button>

// 打印内容
<div id="test" v-show="print_flag">
   <img src="@/assets/print.jpg" alt="" />
</div>
// 绑定对象
setup() {
    const data = reactive({ 
     // 浏览器打印的对象
      printObj: {
        id: 'test',
        // 这个方法会监听打印界面的操作
        closeCallback() {
          console.log('关闭了打印工具');
        },
      },
    });
  return {...toRefs(data),},
};

打印机的方法 

 previewBeforeOpenCallback () {
    console.log('正在加载预览窗口')
},
previewOpenCallback () {
    console.log('已经加载完预览窗口')
},
beforeOpenCallback (vue) {
    console.log('打开之前')
},
openCallback (vue) {
    console.log('执行了打印')
},
closeCallback (vue) {
    console.log('关闭了打印工具')
}

打印的属性 

 id:绑定你打印区域的id

preview:是否预览,值:true/false

previewTitle:预览标题

popTitle:流行标题,我也没有用过这个,感兴趣试过的人评论一下

extraCss: 自己设计的打印样式

上一篇:Vue3 新增 API 使用


下一篇:42 vue3过渡和动画属性控制过渡时长