近日有个需求要求点击页面按钮实现一个打印功能,翻看了资料,总结下
因为需要打印弹窗里面的内容,直接用window.print()不行,这个打印的是整个页面,直接获取当前打印区域的id也不行,echart图表不显示,综合对比下,
使用print-js比较方便 安装版本^1.6.0
第一步 引入插件
npm install print-js --save
第二布 全局注册或者单个页面注册
main.js
import printJS from 'print-js'
Vue.prototype.$printJS = printJS
第三步 页面使用
print-js更多配置参考官网,感谢插件提供方,不然自己写要累死
onPrint() {
this.$printJS({
printable: '', //页面id
type: 'html',
scanStyles: true,// 一定要用true,之前看别人文档用false,页面样式直接垮掉
maxWidth: '',// 默认是800 如果你是横向打印,建议调整
style: '@page {zoom:60%}' //如果页面打印不全,建议比例缩小
})
}