Vue 使用vue-print-nb实现打印功能

1,npm 安装 vue-print-nb 插件

npm install vue-print-nb --save

2,安装完成之后在 main.js 中引入并注册

//打印
// @ts-ignore
import Print from 'vue-print-nb'; 
Vue.use(Print);

注:使用vue+ts时以上述方法引入,在import时会报错,这时可以使用@ts-ignore让ts忽略这个错误,如果不是vue+ts,可以直接忽略@ts-ignore这一行

3,在组件中使用

<div id="printArea">
   <ChildDetail :childId="childId"></ChildDetail>
</div>

<el-button v-print="'#printArea'">报名信息打印</el-button>

 

vue-print-nb插件的一些优化

1.去掉页眉页脚

<style scoped media="print">
@page {
  size: auto;
  margin: 8mm;
}
</style>

2.打印时没有背景色

Chrome & IE中在样式里加入这句话: -webkit-print-color-adjust: exact;

//解决打印没有背景色的问题
    .is-bordered-label {
        -webkit-print-color-adjust: exact;
        color: #909399 !important;
        background: #fafafa !important;
    }

 

posted @ 2023-03-07 17:01  潇潇mini  阅读(2100)  评论(0编辑  收藏  举报