这里介绍一个插件(vue-print-nb),蛮好用的,用起来很方便,所以想记录一下
npm官方: https://www.npmjs.com/package/vue-print-nb
npm install vue-print-nb --save
npm install vue3-print-nb --save
main.js
import Print from 'vue-print-nb'
// Global instruction
Vue.use(Print);//or// Local instruction
import print from 'vue-print-nb'directives: {print
}
main.js
// Global instruction
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')//or// Local instruction
import print from 'vue3-print-nb'directives: {print
}
目前我使用的是Vue2,所以以V2为例介绍。vue3和vue2使用基本是一样的。
1. 打印整个页面:
只需要添加 v-print 指令即可
2. 打印某个范围:
我们要给打印的一个区域一个id,然后在 v-print 指令指定该id即可
葫芦娃,葫芦娃
一根藤上七朵花
小小树藤是我家 啦啦啦啦
叮当当咚咚当当 浇不大
叮当当咚咚当当 是我家
啦啦啦啦
...
3. 也可以给 v-print 指令设置对应的各个配置:
参数 | 作用 | 类型 | 可选项 | 默认值 |
id | 局部打印有效,标识符 | String | - | 'printId' |
standard | 局部打印有效,打印的文本类型 | String | HTML5/loose/strict | HTML5 |
extraHead | 局部打印有效,添加在打印区域的最顶端 | String | - | - |
extraCss | 局部打印有效,为打印区域提供Stylesheet样式表 | String | - | - |
popTitle | 局部打印有效,编辑页眉的标题 | String | - | Document Title |
clickMounted | 全局有效,调用v-print绑定的按钮点击事件callback | Function | - | this.Object |
openCallback | 全局有效,调用打印时的callback | Function | - | this.Object |
closeCallback | 全局有效,调用关闭打印的callback(无法区分确认or取消) | Function | - | this.Object |
beforeOpenCallback | 全局有效,调用开始打印之前的callback | Function | - | this.Object |
preview | 全局有效,控制打印预览 | Boolean | true/false | false |
previewTitle | 编辑预览页面的预览标题 | String | - | ‘打印预览’ |
previewPrintBtnLabel | 编辑预览页面的打印按钮文本 | String | - | ‘打印’ |
previewBeforeOpenCallback | 调用打开预览页面之前的callback | Function | - | this.Object |
previewOpenCallback | 调用打开预览页面之后的callback | Function | - | this.Object |
url | 非局部打印有效,打印指定的URL,确保同源策略相同 | String | - | - |
asyncUrl | 非局部打印有效,异步加载打印指定的URL,确保同源策略相同 | Function | - | - |
zIndex | 预览有效,预览窗口的z-index,默认是20002,最好比默认值更高 | String,Number | - | 20002 |
葫芦娃,葫芦娃
一根藤上七朵花
小小树藤是我家 啦啦啦啦
叮当当咚咚当当 浇不大
叮当当咚咚当当 是我家
啦啦啦啦
...
哈哈哈哈哈哈