uniapp项目 使用vue-plugin-hiprint静默打印功能

本文主要是介绍uniapp项目 使用vue-plugin-hiprint静默打印功能,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

插件地址:https://toscode.mulanos.cn/gyy155/vue-plugin-hiprint
h5项目使用插件的静默打印功能
1.下载vue-plugin-hiprint和jquery

npm install vue-plugin-hiprint
npm install jquery --save

2.在mian.js引入插件和jqerry

//引入vue-plugin-hiprint
import { hiPrintPlugin } from 'vue-plugin-hiprint'
// hiPrintPlugin.disAutoConnect() // 取消自动连接直接打印客户端,如果设置了取消自动连接,后续是获取不到打印机列表的
Vue.use(hiPrintPlugin, '$pluginName')//引入jquery
import jquery from "jquery";
Vue.prototype.$ = jquery;

3.【必须】在index.html 文件中添加打印所需样式(需要在manifest.json中增加index.html模板路径,否则不生效)

<link rel="stylesheet" type="text/css" media="print" href="./static/print-lock.css" />

注:如果使用ui框架可能会导致样式错乱等问题,我是使用uview框架样式不生效,把样式重新复制一份到uview-ui中的libs→css→h5.scss里即可
4.使用静默打印功能

			// 初始化init() {// 初始化 打印对象const hiprintTemplate_ = new this.$pluginName.PrintTemplate()console.log(hiprintTemplate_);this.hiprintTemplate = hiprintTemplate_},// 使用 hiPrintPlugin 控件打印confirmPrintPrint() {let that = this// 如果在 main.js 中设置了取消自动连接客户端 是获取不到打印机列表的!!!if (window.hiwebSocket.opened === false) {this.show = truereturn}this.printType = false// 这一句代码 如果打印出来有问题 可以尝试加进去,没有出现 则不用加// this.$pluginName.PrintElementTypeManager.buildByHtml(this.$('.ep-draggable-item')) // 清空原内容// this.$('#printDivXm3').empty()const hiprintTemplate_ = new this.$pluginName.PrintTemplate({template: JSON.parse(this.templateJson)})// 挂载打印内容// hiprintTemplate_.design('#printDivXm3')// 打印数据,要和 上面 panel 内的 field 参数一致const printData = {document_number: '1222222',order_id: '111111',name: '用户名',address: '用暖地址3',area: '交费面积4',money: '11233',delivery_type: '交费方式',delivery_time: '2024-05-23',payer: '收费人员',}// 预览打印// hiprintTemplate_.print(printData)// 直接打印 带参数hiprintTemplate_.print2(printData, {printer: '', // 指定打印机 打印机 名称title: '打印任务名称',color: true, // 是否打印颜色 默认 truecopies: 1, // 打印份数 默认 1});let updata = {payType:this.infodata.payType,blockState:this.infodata.blockState,stopFlg:this.infodata.stopFlg,community:this.infodata.community,customerId:this.infodata.id,terminalName:'自助机',tag:this.infodata.tag}hiprintTemplate_.on('printSuccess', function () {console.log('打印成功');that.tipsShow = truethat.tipsMsg = '打印成功'that.$http.post('url',updata).then(res => {console.log(res,'打印成功之后提交信息');})});hiprintTemplate_.on('printError', function () {console.log('打印失败');that.tipsShow = truethat.tipsMsg = '打印失败'that.printType = true});}

这篇关于uniapp项目 使用vue-plugin-hiprint静默打印功能的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1007359

相关文章

使用 sql-research-assistant进行 SQL 数据库研究的实战指南(代码实现演示)

《使用sql-research-assistant进行SQL数据库研究的实战指南(代码实现演示)》本文介绍了sql-research-assistant工具,该工具基于LangChain框架,集... 目录技术背景介绍核心原理解析代码实现演示安装和配置项目集成LangSmith 配置(可选)启动服务应用场景

使用Python快速实现链接转word文档

《使用Python快速实现链接转word文档》这篇文章主要为大家详细介绍了如何使用Python快速实现链接转word文档功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 演示代码展示from newspaper import Articlefrom docx import

oracle DBMS_SQL.PARSE的使用方法和示例

《oracleDBMS_SQL.PARSE的使用方法和示例》DBMS_SQL是Oracle数据库中的一个强大包,用于动态构建和执行SQL语句,DBMS_SQL.PARSE过程解析SQL语句或PL/S... 目录语法示例注意事项DBMS_SQL 是 oracle 数据库中的一个强大包,它允许动态地构建和执行

前端原生js实现拖拽排课效果实例

《前端原生js实现拖拽排课效果实例》:本文主要介绍如何实现一个简单的课程表拖拽功能,通过HTML、CSS和JavaScript的配合,我们实现了课程项的拖拽、放置和显示功能,文中通过实例代码介绍的... 目录1. 效果展示2. 效果分析2.1 关键点2.2 实现方法3. 代码实现3.1 html部分3.2

golang内存对齐的项目实践

《golang内存对齐的项目实践》本文主要介绍了golang内存对齐的项目实践,内存对齐不仅有助于提高内存访问效率,还确保了与硬件接口的兼容性,是Go语言编程中不可忽视的重要优化手段,下面就来介绍一下... 目录一、结构体中的字段顺序与内存对齐二、内存对齐的原理与规则三、调整结构体字段顺序优化内存对齐四、内

SpringBoot中使用 ThreadLocal 进行多线程上下文管理及注意事项小结

《SpringBoot中使用ThreadLocal进行多线程上下文管理及注意事项小结》本文详细介绍了ThreadLocal的原理、使用场景和示例代码,并在SpringBoot中使用ThreadLo... 目录前言技术积累1.什么是 ThreadLocal2. ThreadLocal 的原理2.1 线程隔离2

Python itertools中accumulate函数用法及使用运用详细讲解

《Pythonitertools中accumulate函数用法及使用运用详细讲解》:本文主要介绍Python的itertools库中的accumulate函数,该函数可以计算累积和或通过指定函数... 目录1.1前言:1.2定义:1.3衍生用法:1.3Leetcode的实际运用:总结 1.1前言:本文将详

浅析如何使用Swagger生成带权限控制的API文档

《浅析如何使用Swagger生成带权限控制的API文档》当涉及到权限控制时,如何生成既安全又详细的API文档就成了一个关键问题,所以这篇文章小编就来和大家好好聊聊如何用Swagger来生成带有... 目录准备工作配置 Swagger权限控制给 API 加上权限注解查看文档注意事项在咱们的开发工作里,API

Java数字转换工具类NumberUtil的使用

《Java数字转换工具类NumberUtil的使用》NumberUtil是一个功能强大的Java工具类,用于处理数字的各种操作,包括数值运算、格式化、随机数生成和数值判断,下面就来介绍一下Number... 目录一、NumberUtil类概述二、主要功能介绍1. 数值运算2. 格式化3. 数值判断4. 随机

Spring排序机制之接口与注解的使用方法

《Spring排序机制之接口与注解的使用方法》本文介绍了Spring中多种排序机制,包括Ordered接口、PriorityOrdered接口、@Order注解和@Priority注解,提供了详细示例... 目录一、Spring 排序的需求场景二、Spring 中的排序机制1、Ordered 接口2、Pri