当前位置: 首页 > news >正文

做框架图的网站查询公司

做框架图的网站,查询公司,万站网,景点网站设计与制作文章目录 前言一、LODOP.GET_VALUE(PRINT_STATUS_OK, P_ID)二、LODOP.GET_VALUE(PRINT_STATUS_EXIST, P_ID)三、核心实现代码总结 前言 前面写过Lodop的相关文章 #xff1a; 文章一#xff1a;《Lodop打印控件常用指令记录》 文章二#xff1a;《Vue3hooks快速接入Lodop打… 文章目录 前言一、LODOP.GET_VALUE(PRINT_STATUS_OK, P_ID)二、LODOP.GET_VALUE(PRINT_STATUS_EXIST, P_ID)三、核心实现代码总结 前言 前面写过Lodop的相关文章 文章一《Lodop打印控件常用指令记录》 文章二《Vue3hooks快速接入Lodop打印插件》 今天版本迭代之前打印状态判断依据是否推送到打印队列来判断是否成功这次要优化下 一、LODOP.GET_VALUE(‘PRINT_STATUS_OK’, P_ID) LODOP.GET_VALUE(‘PRINT_STATUS_OK’, P_ID)判断打印是否成功。 这个状态不是所有打印机能支持这种判断成功这个是通过“状态码包含128”来 判断但是但有些打印机输出完毕状态码不变成128而一直等于20“正在打印16”和“正在删除4”之和所有这种单独用这个PRINT_STATUS_OK判断有些打印机会判断不出来。 这种情况下需要加附加判断判断打印机不在队列为成功。也就是下面LODOP.GET_VALUE(‘PRINT_STATUS_EXIST’, P_ID) 二、LODOP.GET_VALUE(‘PRINT_STATUS_EXIST’, P_ID) 这种方法如果是手动在队列删除了任务也会判断为成功。 但是大多数情况下一般用户不会在打印中途删除任务所以这种方法还可以使用但是这种是根据JOB判断 目前市面上很多软件大多没有提示打印成功的打印机本身如果缺纸卡纸或脱机等打印机本身会有提示音或提示灯windows系统一般会在右下角提示打印错误目前lodop 也不支持mac os系统所以不提示成功也是常见的。但是我这里打印后要标记是否成功传回后端比较严格控制打印数量。而直接简单判断是否推送到打印队列会标记打印成功但打印纸张没有出来的情况改为是否在队列来判断的话可以判断打印脱机的情况还没有出纸 三、核心实现代码 参考官网 Lodop案例45 实现。 我这边是强制使用C-Lodop参考7.Lodop控件升级到C-Lodop云打印 配置相关代码实现。所以下面的代码就不需要考虑Lodop.CVERSION 之类的判断和Lodop 插件的兼容。VIP群友说只用C-Lodop 有时候纸张尺寸切换获取会延迟我目前没用到。这里提一嘴。 letLODOP,P_ID ,TaskID1,TaskID2,t,c 0 //声明为全局变量function PrintWait() {return new Promise(async (resolve, reject) {if (c 0) {console.log(正打印中...)return}// 执行该语句之后PRINT指令不再返回那个所谓“打印成功”才能获取到打印状态LODOP.SET_PRINT_MODE(CATCH_PRINT_STATUS, true)LODOP.On_Return async function (TaskID, Value) {P_ID Valueconsole.log(该任务走的是c-lodop方式job代码为 P_ID)if (P_ID ! ) {c 0const isSucces await C_WaitFor()resolve(isSucces)}}LODOP.PRINT()})}function C_WaitFor() {return new Promise(async (resolve, reject) {c c 1console.log(正等待(JOB代码是 P_ID )打印结果 c 秒)t setTimeout(C_WaitFor, 1000)// 加了这句On_Return 保持多个回调结果LODOP.On_Return_Remain trueLODOP.On_Return function (TaskID, Value) {if (TaskID TaskID1) {if (Value 1) {clearTimeout(t)console.log(走的c-lodop方式PRINT_STATUS_OK判断为打印成功,TaskID:${TaskID},value:${Value})c 0return resolve(true)}} else if (TaskID TaskID2) {if (Value 0) {clearTimeout(t)console.log(走的c-lodop方式判断该该任务已经不在队列已成功或删除任务,TaskID:${TaskID},value:${Value})c 0return resolve(true)}}}// TaskID1 LODOP.GET_VALUE(PRINT_STATUS_OK, P_ID)TaskID2 LODOP.GET_VALUE(PRINT_STATUS_EXIST, P_ID)if (c 20) {clearTimeout(t)console.log(打印超过20秒没捕获到成功状态)c 0ElMessage.warning(Printing is interrupted, please check the printer connection. )return resolve(false)}})}在打印 printA4Paper 函数内判断逻辑加上面代码。而且用 return new Promise(async (resolve, reject) {}) 保证里面 LODOP.On_Return回调之后执行。这样就只会一个一个job推送到打印队列。其中有一个失败就中断。 Tips printA4Paper() 在往期文章《Vue3hooks快速接入Lodop打印插件》 有提到。 总结 以上就是今天的内容了。主要介绍了使用Lodop 打印插件在循环打印的时候实现串行打印并且获取打印结果首先获取job接着判断是否在打印队列中来判断是否打印成功。 参考 http://www.c-lodop.com/demolist/PrintSample45.html http://www.c-lodop.com/demolist/PrintSample45.html https://www.cnblogs.com/huaxie/p/11730651.html
http://www.pierceye.com/news/1882/

相关文章:

  • 用前端框架做自适应网站免费网站域名注册个人
  • 盘锦建网站软件开发工具与环境实践报告
  • 广州微信网站建设费用海南做网站公司哪家好
  • 如何建设好一个公司网站企业网站打不开的原因
  • 企业的网站建设需要做什么seo建设者
  • 网站建设首选 云端高科wordpress写网页教程
  • 做一手机网站需要多少钱asp.net mvc 5 网站开发之美 pdf
  • 网站管理员登录wordpress4.5注册插件
  • 如皋做网站的网站的改版怎么做
  • 做网站的实验报告设计网站公司力荐亿企邦
  • 专门做防盗门的网站网站丢了数据库还在
  • wpf视频教程 -.net购物网站开发网站做外链的具体步骤
  • 信阳市住房建设局网站小程序微信怎么开发
  • 做推广哪家网站好青岛网站开发哪家好
  • 网站流量一直下降梧州论坛
  • 东莞网站建设的公司建设网站的用途
  • 怎么建立一个网站让外国人浏览云南住房和城乡建设厅网站首页
  • wordpress目录权限管理夫唯seo培训
  • 微网站建设方案seo博客优化
  • 宜昌网站建设多少钱无锡百度网站推广
  • 用cms创建自己带数据库的网站和在本机搭建网站运行平台的心得体会关键词优化排名软件推荐
  • 深圳网站开发电话什么是营销型网站呢
  • 专门做图片的网站有哪些建设商城网站多少钱
  • 烟台网站设计单位平面设计网上接单
  • 网站编辑的工作职能有哪些成华区网站建设公司
  • 理财网站模版搜索自媒体平台
  • 网站建设关键字自己做网站服务器的备案方法
  • 网站进度条代码wordpress留言标签
  • 可以做免费推广的网站有经验的邵阳网站建设
  • 沈阳新民网站建设深圳网站建设公司报价