Vue2中如何使用vue-print-nb打印功能

插件官网地址:vue-print-nb - npm

1.安装

npm install vue-print-nb --save

2.导入打印插件 

//main.js
import Print from 'vue-print-nb'
Vue.use(Print);

3.配置参数

4.页面使用

<div id="printDiv">打印内容</div><el-button v-print="'#printDiv'">打印</el-button>或<el-button v-print="'printConfig'">打印</el-button>
<script>
export default {data() {return {printConfig:{id:'printPage', //被打印部分的id popTitle: '配置页眉标题', // 打印配置页上方的标题extraHead: '打印', // 最上方的头部文字,附加在head标签上的额外标签,使用逗号分割preview: true, // 是否启动预览模式,默认是falsepreviewTitle: '预览的标题', // 打印预览的标题previewPrintBtnLabel: '预览结束,开始打印', // 打印预览的标题下方的按钮文本,点击可进入打印zIndex: 20002, // 预览窗口的z-index,默认是20002,最好比默认值更高previewBeforeOpenCallback () { console.log('正在加载预览窗口!'); console.log(that.msg, this) }, // 预览窗口打开之前的callbackpreviewOpenCallback () { console.log('已经加载完预览窗口,预览打开了!') }, // 预览窗口打开时的callbackbeforeOpenCallback () { console.log('开始打印之前!') }, // 开始打印之前的callbackopenCallback () { console.log('执行打印了!') }, // 调用打印时的callbackcloseCallback () { console.log('关闭了打印工具!') }, // 关闭打印的callback(无法区分确认or取消)clickMounted () { console.log('点击v-print绑定的按钮了!') },// url: 'http://localhost:8080/', // 打印指定的URL,确保同源策略相同// asyncUrl (reslove) {//   setTimeout(() => {//     reslove('http://localhost:8080/')//   }, 2000)// },standard: '',extarCss: ''},}}
}
</script>

5.打印样式设置

<style scoped media="print">/*指定打印的分页*//deep/ section{page-break-after:always;}/*避免出现空白尾页*/html,body,#app{height: 98% !important;margin: 0px;padding: 0px;}
</style>

设置打印内容样式,不影响页面原有样式 以下内容为设置  element table  在打印时的样式,防止打印不全

@page {size: auto;margin: 3mm;
}
@media print {html {background-color: #ffffff;height: auto;margin: 0px;}body {border: solid 1px #ffffff;/* margin: 10mm 15mm 10mm 15mm; */}#print table {table-layout: auto !important;}#print .el-table__header-wrapper .el-table__header {width: 100% !important;border: solid 1px #f2f2f2;}#print .el-table__body-wrapper .el-table__body {width: 100% !important;border: solid 1px #f2f2f2;}#print #pagetable table {table-layout: fixed !important;}#print .el-table__empty-block {width: 100% !important;height: auto !important;}#print .el-input-number--small{width: 100% !important;}}

6.分页

在要进行分页讹标签上,添加以下样式

page-break-after:always

例如:

<div id="printPage"><section>第一页的内容</section><section>第二页的内容</section>
</div><style>
section{page-break-after: always;
}
</style>

或者 在需要分页的内容最后加上

<p style="page-break-after: always;"></p>

7.移除末尾的空白页

若打印时,末尾总是出现空白页,则存在定义了height:100%的元素,删除掉此央视即可通常都是因为存在以下样式导致,通常被定义在全局样式文件中,或index.html中

html,body,#app{height: 100%}

8.隐藏打印区域中的某个div

您可以通过在需要隐藏的div上添加  class="no-print" ,然后在打印样式中设置该类的 display属性 none 来实现隐藏。具体步骤如下:

1.在需要隐藏的div上(测试 必须是div标签)添加  class="no-print" ,例如:

<div class="no-print">这是需要隐藏的内容
</div>

2.在打印样式中设置该类的display属性为none,例如:

@media print {.no-print {display: none;}
}

这样,在打印预览或者实际打印时,带有  class="no-print"  的div就会被隐藏掉。

9.window.print() 浏览器打印功能

js 执行 window.print() 就会调用谷歌浏览器的打印功能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/86084.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/86084.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Matplotlib快速入门

目录 基本使用 解决中文乱码 一个坐标系绘制多个图像 多个坐标系绘制 基本使用 什么是Matplotlib 是专门用于开发2D图表(包括3D图表)以渐进&#xff0c;交互式方式实现数据可视化 为什么要学习matplotlib 可视化是在整个数据挖掘的关键辅助工具&#xff0c;可以清晰的理解…

扣料不允许‘货物移动’

遇到了报错&#xff0c;不允许货物移动 以为又是和之前一样是订单已经关闭&#xff0c;看是领错料还是财务误关的原因&#xff0c;但是co03一看订单状态并没有关闭 原因就是这个CRTD 订单只是创建了&#xff0c;但是没有下达 找个正常的看看&#xff1a; 一般订单创建和下达都…

【AI】全新AI测试系列之二--------AI自动化测试,提高测试效率

目录 一、自动化测试 1、与手动测试对比 2、自动化测试流程 二、自动化测试环境搭建 三、web自动化使用AI的两种方式 1、利用DeepSeek快速生成脚本 2、pycharm集成通义灵码 四、通义灵码实战 1、使用提示词生成代码 2、使用pytest框架 前言&#xff1a;上一章节只要是…

npm包冲突install失败

--legacy-peer-deps是npm&#xff08;Node.js包管理器&#xff09;的一个命令行选项&#xff0c;主要用于解决依赖冲突问题。当安装依赖时&#xff0c;npm默认会严格检查peer dependencies&#xff08;对等依赖&#xff09;的版本兼容性&#xff0c;可能导致安装失败。启用此选…

68、数据访问-crud实验-删除用户完成

68、数据访问-crud实验-删除用户完成 以下是完成“数据访问-CRUD实验-删除用户”功能的一般步骤&#xff0c;以常见Web应用框架&#xff08;如Spring Boot MyBatis-Plus、Django、Ruby on Rails&#xff09;为例&#xff1a; #### 准备工作 - **数据库表设计**&#xff1a;确…

实现 TurtleBot3 多点轨迹跟踪导航

系统架构 move_base本身不支持一次性发送多个目标点并自动按顺序导航,使用nav_msgs/Path消息类型发布多个路径点,然后让机器人按顺序依次到达每个路径点。 发布一个包含多个路径点的Path消息(可选,用于在RVIZ中显示路径)。按顺序将每个路径点作为MoveBaseGoal发送给move_…

《人性的优点》:破解忧虑密码,构建积极人生

我强烈推荐4本可以改变命运的经典著作&#xff1a; 《寿康宝鉴》在线阅读白话文《欲海回狂》在线阅读白话文《阴律无情》在线阅读白话文《了凡四训》在线阅读白话文 一、世界观&#xff1a;忧虑的本质与生命的真相 &#xff08;一&#xff09;忧虑是精神的“虚构苦难” 卡耐基…

D2554探鸽协议,sensor属性,回调

D2554探鸽协议&#xff0c;sensor属性&#xff0c;回调 各属性的默认值 对比度&#xff1a; 0x4064&#xff08;10进制&#xff09; 清晰度、锐度&#xff1a; 0x000&#xff08;10进制&#xff09; 饱和度&#xff1a; …

.NET 4.7中使用NLog记录日志到数据库表

1. 首先安装必要的NuGet包 在项目中安装以下NuGet包&#xff1a; NLog NLog.Config (可选&#xff0c;用于自动生成配置文件) 相应的数据库提供程序&#xff08;如System.Data.SqlClient for SQL Server&#xff09; Install-Package NLog Install-Package NLog.Config In…

非对称加密实战:Python实现数字签名

目录 非对称加密实战&#xff1a;Python实现数字签名引言&#xff1a;数字世界的身份验证1. 非对称加密基础1.1 核心概念1.2 非对称加密算法比较 2. 数字签名原理2.1 数字签名工作流程2.2 数字签名的核心特性 3. RSA数字签名实现3.1 RSA算法数学基础3.1.1 密钥生成3.1.2 签名生…

优化提示词的常用技巧

优化提示词的常用技巧 1. 告诉AI你需要的重要要素 &#xff08;1&#xff09;风格&#xff1a;明确语言风格 优化前&#xff1a;写一篇人工智能的介绍。优化后&#xff1a;写一篇100字的人工智能介绍&#xff0c;受众是小学生&#xff0c;语言幽默。 &#xff08;2&#xf…

PyTorch实战(12)——StyleGAN详解与实现

PyTorch实战(12)——StyleGAN详解与实现 0. 前言1. StyleGAN1.1 模型介绍1.2 模型策略分析2. 实现 StyleGAN2.1 生成图像2.2 风格迁移小结系列链接0. 前言 StyleGAN (Style-Generative Adversarial Networks) 是生成对抗网络 (Generative Adversarial Networks, GAN) 的变体…

XML重复查询一条Sql语句??怎么解决

一、核心问题&#xff1a;从SQL重复执行到日志失效 1. 首要现象&#xff1a;XML重复查询失效 在排查服务性能时发现&#xff1a; <!-- MyBatis XML片段 --> <select id"List" resultMap"Map"> SELECT * FROM user WHERE name #{name} …

量化面试绿皮书:33. 不公平的硬币

文中内容仅限技术学习与代码实践参考&#xff0c;市场存在不确定性&#xff0c;技术分析需谨慎验证&#xff0c;不构成任何投资建议。 33. 不公平的硬币 你有1000枚硬币。 其中&#xff0c;有1枚硬币正反两面都是正面。 其他的999枚硬币都是公平的硬币。 你随机选择一枚硬币并…

Java 期末考试题

1. 如果将类 MyClass 声明为 public&#xff0c;它的文件名必须是 ( ) 才能正常编译。 解&#xff1a;① 如果一个类被声明为 public&#xff0c;则必须以 .java 作为文件拓展名。 答案&#xff1a;MyClass.java 2. 定义类头时能使用的修饰符是&#xff08; &#xff09;…

跨标签页通信(三):Web Storage

在现代 Web 应用中&#xff0c;跨标签页通信的需求越来越普遍。无论是实现多标签页之间的数据同步&#xff0c;还是构建实时协作功能&#xff0c;跨标签页通信都能极大地提升用户体验。今天&#xff0c;我们将探讨一种简单而高效的实现方式&#xff1a;Web Storage。 一、什么…

大疆上云api 无人机摄像头红外调色模式

# topic thing/product/{你的机场}/property/set# 监听topic&#xff0c;获取设置结果 thing/product//property/set_reply#mqtt https://developer.dji.com/doc/cloud-api-tutorial/cn/api-reference/dock-to-cloud/mqtt/aircraft/m3d-properties.htmlthermal_current_palet…

DeepSeek与ChatGPT:免费与付费背后的选择逻辑

内容简介&#xff1a; 为什么有免费的DeepSeek&#xff0c;很多人还在付费用ChatGPT&#xff1f;作为20年互联网老兵&#xff0c;作者通过实测发现&#xff1a;AI工具好坏七成看你怎么跟它聊天。DeepSeek不是真的不如ChatGPT&#xff0c;而是需要掌握"撩AI"的技巧。文…

【nvidia-H100-ib排障实战1】:InfiniBand 带宽测试命令深度解析,找到影响生产集群性能的ib

目录 InfiniBand 带宽测试命令深度解析 一、命令整体功能概述 二、服务器端命令解析:ib_write_bw -a -d 1. 命令主体功能 2. 关键参数解析 3. 服务器端工作模式 三、客户端命令解析:ib_write_bw -a -d 1. 新增参数解析 2. 客户端工作流程 四、核心测试指标与输出解…

华为云Flexus+DeepSeek征文|基于华为云一键部署Dify LLM 应用构建 PPT 生成助手的开发与实践

目录 前言 1 华为云部署 Dify 平台简介 2 华为云 Dify 平台的部署与登录使用 3 模型接入与工具安装 3.1 接入 DeepSeek 大模型 3.2 安装 Markdown 转 PPT 工具 4 构建 PPT 生成助手应用工作流 4.1 开始节点 4.2 文档提取器 4.3 文本转 PPT 文稿 LLM 4.4 Markdown 转…