vue实现打印指定页面内容

news/2024/12/26 1:08:58/

vue-print-nb

使用 vue-print-nb 这个插件能够实现打印

安装
// 安装 打印组件
npm install vue-print-nb --save
引用

vue2引入

javascript">import Print from 'vue-print-nb'
// 全局引用
Vue.use(Print);// 或者// 单组件引用
import print from 'vue-print-nb'
// 在自定义指令中注册
directives: {print   
}

vue3引入

javascript">// 全局引用
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
属性

类型

默认值必要可选值描述
idString--范围打印 ID(如果设置url则可以不设置id)
urlString--打印指定的 URL。(不允许同时设置ID
popTitleString--默认使用浏览器标签名,为空时为undefined
standardStringHTML5html5,loose,strict打印的文档类型
extraHeadString--在节点中添加 DOM 节点, 并用,(Print local range only)分隔多个节点
extraCssString--新的 CSS 样式表, 并使用,(仅打印本地范围)分隔多个节点
openCallbackFunction--调用打印工具成功回调函数
closeCallbackFunction--关闭打印工具成功回调函数
beforeOpenCallbackFunction--调用打印工具前的回调函数
previewBooleanfalsetrue,false预览工具
previewTitle String--‘打印预览’
previewPrintBtnLabelString打印-打印按钮名称
previewBeforeOpenCallbackFunction--预览打开前回调函数
previewOpenCallbackFunction--预览打开回调函数
clickMountedFunction--点击打印按钮回调函

代码展示

        <el-button type="primary" v-print="printOption">打印</el-button><div id="nbprint"><div class="flex align_end justify_center" style="margin-bottom: 10px;"><div class="center font_22" v-if="showStatus">{{ schoolName }}</div><div class="font_16" style="margin-left: 20px;">{{ displayName }}</div></div><table class="cs_table" id="table" v-if="showStatus"><tr><td class="grayStyle" rowspan="2">卡  号</td><td class="grayStyle" rowspan="2">姓  名</td><td class="grayStyle" colspan="2">消  费</td><td class="grayStyle" colspan="2">充  值</td><td class="grayStyle" colspan="2">减  款</td><td class="grayStyle" rowspan="2">签  字</td></tr><tr><td class="grayStyle">金  额</td><td class="grayStyle">次  数</td><td class="grayStyle">金  额</td><td class="grayStyle">次  数</td><td class="grayStyle">金  额</td><td class="grayStyle">次  数</td></tr><tr v-for="(item, index) in cashierList" :key="index"><td>{{ cashierList[index].cardNo }}</td><td>{{ cashierList[index].userName }}</td><td>{{ cashierList[index].consumeAmount }}</td><td>{{ cashierList[index].consumeTimes }}</td><td>{{ cashierList[index].rechargeAmount }}</td><td>{{ cashierList[index].rechargeTimes }}</td><td>{{ cashierList[index].deductionAmount }}</td><td>{{ cashierList[index].deductionTimes }}</td><td></td></tr><tr><td colspan="2">合  计</td><td>{{ totalConsumeAmount }}</td><td>{{ totalConsumeTimes }}</td><td>{{ totalRechargeAmount }}</td><td>{{ totalRechargeTimes }}</td><td>{{ totalDeductionAmount }}</td><td>{{ totalDeductionTimes }}</td><td></td></tr></table></div>
javascript">export default {data() {return {printOption: {id: "nbprint", // 打印元素的id 不需要携带#号preview: false, // 开启打印预览previewTitle: "打印预览", // 打印预览标题popTitle: "部门消费情况表", // 页眉标题 默认浏览器标题 空字符串时显示undefined 使用html语言// 头部文字 默认空 在节点中添加 DOM 节点, 并用,(Print local range only)分隔多个节点// extraHead: "https://***/***.css, https://***/***.css",// 新的 CSS 样式表, 并使用,(仅打印本地范围)分隔多个节点// extraCss: '<meta http-equiv="Content-Language"content="zh-cn"/>',previewBeforeOpenCallback: () => {console.log("触发打印预览打开前回调");},previewOpenCallback: () => {console.log("触发打开打印预览回调");},beforeOpenCallback: () => {console.log("触发打印工具打开前回调");},openCallback: () => {console.log("触发打开打印工具回调");},closeCallback: () => {console.log("触发关闭打印工具回调");},clickMounted: () => {console.log("触发点击打印回调");},},}},methods: {//调用打印工具前的回调函数beforeOpenCallback(vue) {vue.printLoading = true;console.log("打开之前");},//调用打印工具成功回调函数openCallback(vue) {vue.printLoading = false;console.log("执行了打印");},//关闭打印机的回调closeCallback(vue) {console.log("关闭了打印工具");},}
}


http://www.ppmy.cn/news/1558131.html

相关文章

CV-OCR经典论文解读|An Empirical Study of Scaling Law for OCR/OCR 缩放定律的实证研究

论文标题 An Empirical Study of Scaling Law for OCR OCR 缩放定律的实证研究 论文链接&#xff1a; An Empirical Study of Scaling Law for OCR论文下载 论文作者 Miao Rang, Zhenni Bi, Chuanjian Liu, Yunhe Wang, Kai Han 内容简介 本论文在光学字符识别&#xf…

dns一般设置为多少

谷歌DNS‌&#xff08;Google DNS&#xff09;&#xff1a;8.8.8.8 和 8.8.4.4。谷歌DNS以其快速的解析速度和稳定的连接而闻名&#xff0c;被广泛应用于全球。 ‌阿里DNS‌&#xff08;AliDNS&#xff09;&#xff1a;223.5.5.5 和 223.6.6.6。阿里DNS由阿里巴巴提供&#xf…

【ETCD】【实操篇(十二)】分布式系统中的“王者之争”:基于ETCD的Leader选举实战

分布式系统中&#xff0c;Leader选举是一个非常重要的概念。Leader选举确保系统中的某个节点&#xff08;Leader&#xff09;负责执行关键任务&#xff0c;而其他节点作为备份&#xff0c;等待Leader的失效或者任务完成后重新选举出新的Leader。通过Leader选举机制&#xff0c;…

MFC/C++学习系列之简单记录3——不同IDE版本和MSFlexGrid的使用

MFC/C学习系列之简单记录3——不同IDE版本和MSFlexGrid的使用 前言VC 6.0与VS 2008MSFlexGrid的使用以及单元格输入简单介绍几个功能的使用编辑单元格内容 引用总结 前言 常学常新&#xff0c;简单记录&#xff01; VC 6.0与VS 2008 暂时发现的区别&#xff1a; MFC创建Dial…

GitLab 停止为中国区用户提供 GitLab.com 账号服务

GitLab 通知中国区用户将停止提供 GitLab.com 账号服务&#xff0c;建议现有用户迁移到极狐。 中国 IP 地址现在访问 GitLab.com 会跳转到 about.gitlab.com&#xff0c;推荐用户访问极狐。 Gundaz Aghayev 写道&#xff1a;GitLab 在发送中国地区用户的电子邮件通知中称&…

C# OpenCV机器视觉:缺陷检测

在一个阳光明媚的早晨&#xff0c;阿强正准备享受他的一杯咖啡&#xff0c;突然接到了老板的电话。“阿强&#xff0c;我们的生产线出现了问题&#xff01;有几个产品的质量不合格&#xff0c;客户投诉不断&#xff01;你能不能想办法解决这个问题&#xff1f;” 阿强一听&…

【java设计模式】1 - 软件设计原则

1&#xff0c;软件设计原则 在软件开发中&#xff0c;为了提高软件系统的可维护性和可复用性&#xff0c;增加软件的可扩展性和灵活性&#xff0c;程序员要尽量根据6条原则来开发程序&#xff0c;从而提高软件开发效率、节约软件开发成本和维护成本。 1.1 开闭原则 对扩展开…

信息安全技术——防火墙、入侵检测技术

防火墙技术 防火墙基本概念 防火墙是位于两个信任程度不同的网络之间&#xff08;如企业内部网络和Internet之间&#xff09;的软件或硬件设备的组合&#xff0c;它对两个网络之间的通信进行控制&#xff0c;通过强制实施统一的安全策略&#xff0c; 防止对重要信息资源的非法…