vue3-print-nb 实现页面打印(含分页打印)

安装vue3-print-nb

npm install vue3-print-nb --save

引用vue3-print-nb

全局引入

// 全局引用
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')

局部引入

// 单组件引用
import print from 'vue3-print-nb'
// 在自定义指令中注册
directives: {
    print   
}

API

官网地址:https://github.com/Power-kxLee/vue3-print-nb

官网有详细介绍

示例代码

全页面打印

<button v-print>打印整个页面</button>

局部打印

被打印的区域需要被渲染出来,隐藏的元素不能打印

<div id="a">
    <p>打印我吧</p>
    <p>打印我吧</p>
    <p>打印我吧</p>
</div>
//写法一
<button v-print="#a">局部打印</button>
//写法二(可以接受对象)
<button v-print="{id:a}">局部打印</button>

分页打印

<template>
    <div>
        <button v-print="'#a'">打印</button>
        <div id="a">
             // 方法一
             // 使用div包裹需要分页的块 使用 css属性 page-break-after:always进行分页
            <div style="page-break-after:always">第一页</div>
            <div style="page-break-after:always">第二页</div>
        </div>
    </div>
</template>

<style>
     // 方法二
     // 使用媒体查询 在打印时设置 body 和 html 的高度为auto
     @media print {
        @page {
          size:  auto;
        }
        body, html {   //如果vue最外层id,默认是#app。如果设置了height:100%;,那么#app也加
          height: auto !important;
        }
      }
</style>
  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
对于Vue.js中的分页打印,你可以使用vue-print-nb插件来实现vue-print-nb是一个基于Vue.js打印插件,可以方便地实现网页的分页打印功能。 首先,你需要在你的Vue项目中安装vue-print-nb插件。可以使用npm或yarn来进行安装: ``` npm install vue-print-nb --save ``` 或者 ``` yarn add vue-print-nb ``` 安装完成后,在你的Vue项目的入口文件(如main.js)中导入vue-print-nb,并将其注册为全局组件: ```javascript import Vue from 'vue' import VuePrintNB from 'vue-print-nb' Vue.use(VuePrintNB) ``` 然后,在你需要进行打印的组件中,使用vue-print-nb组件包裹需要打印的内容: ```html <template> <div> <!-- 打印按钮 --> <button @click="print">打印</button> <!-- 需要打印的内容 --> <vue-print-nb ref="printContent"> <div> <!-- ... --> </div> </vue-print-nb> </div> </template> <script> export default { methods: { print() { // 调用vue-print-nb插件的打印方法 this.$refs.printContent.print() } } } </script> ``` 以上代码中,我们在需要打印的内容外部包裹了一个vue-print-nb组件,并给它添加了一个ref属性,用于获取组件的实例。然后,在打印按钮的点击事件中,调用print方法即可触发打印。 请注意,vue-print-nb插件提供了一些配置项,你可以根据需要进行设置。具体的配置信息和更多用法,请参考vue-print-nb的文档。 希望以上信息对你有帮助!如果你还有其他问题,请继续提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值