vue3使用vue3-print-nb实现区域打印功能

目录

场景

大多数后台系统中都存在打印的需求,在有打印需求时,对前端来说当然是直接打印页面更容易,那么本篇文章就是在vue3中,使用vue3-print-nb插件来区域打印,实现指哪打哪!

一.安装vue3-print-nb

npm install vue3-print-nb

二.在main.ts中引入

//引入
import print from 'vue3-print-nb'
//挂载
const app = createApp(App)
app.use(print)

三.HTML

<!-- 打印区域容器 -->
<div id="printBox">
<span>我就是被打印的内容</span>
<span>在#printBox 容器里的内容都会被打印噢</span>
</div>
<!-- 按钮绑定打印 -->
<button v-print="print">点击打开打印预览</button>

四.参数配置

//这里是打印的配置项
const  print=ref({
        id: 'printBox',//这里的id就是上面我们的打印区域id,实现指哪打哪
        popTitle: '配置页眉标题', // 打印配置页上方的标题
        extraHead: '', // 最上方的头部文字,附加在head标签上的额外标签,使用逗号分割
        preview: false, // 是否启动预览模式,默认是false
        previewTitle: '预览的标题', // 打印预览的标题
        previewPrintBtnLabel: '预览结束,开始打印', // 打印预览的标题下方的按钮文本,点击可进入打印
        zIndex: 20002, // 预览窗口的z-index,默认是20002,最好比默认值更高
        previewBeforeOpenCallback() { console.log('正在加载预览窗口!'); }, // 预览窗口打开之前的callback
        previewOpenCallback() { console.log('已经加载完预览窗口,预览打开了!') }, // 预览窗口打开时的callback
        beforeOpenCallback() { console.log('开始打印之前!') }, // 开始打印之前的callback
        openCallback() { console.log('执行打印了!') }, // 调用打印时的callback
        closeCallback() { console.log('关闭了打印工具!') }, // 关闭打印的callback(无法区分确认or取消)
        clickMounted() { console.log('点击v-print绑定的按钮了!') },
      })

附:分页打印示例代码

<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>

总结

到此这篇关于vue3使用vue3-print-nb实现区域打印功能的文章就介绍到这了,更多相关vue3实现区域打印内容请搜索代码部落以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码部落!

本文章来源于网络,作者是:G_ing,由代码部落进行采编,如涉及侵权请联系删除!转载请注明出处:https://daimabuluo.cc/JavaScript/411.html

联系我们

在线咨询:点击这里给我发消息

邮件:dick@daimabuluo.cc

遇到问题?请给我们留言

请填写您的邮箱地址,我们将回复您的电子邮件