2015.12.22 周二

之前的一篇文档里提到过CUPS IPP有两个操作码是IPP_SUSPEND_CURRENT_JOBIPP_RESUME_JOB。按照源码的注释和官方文档的描述应该是我们要找的打印暂停/继续功能,之前看到错误码是IPP_STATUS_ERROR_OPERATION_NOT_SUPPORTED,然后我今天从源码里看到这么一串代码:

    ......case HTTP_STATUS_BAD_REQUEST :
_cupsSetError(IPP_STATUS_ERROR_BAD_REQUEST, httpStatus(status), 0);
break;case HTTP_STATUS_REQUEST_TOO_LARGE :
_cupsSetError(IPP_STATUS_ERROR_REQUEST_VALUE, httpStatus(status), 0);
break;case HTTP_STATUS_NOT_IMPLEMENTED :
_cupsSetError(IPP_STATUS_ERROR_OPERATION_NOT_SUPPORTED, httpStatus(status), 0);
break;case HTTP_STATUS_NOT_SUPPORTED :
_cupsSetError(IPP_STATUS_ERROR_VERSION_NOT_SUPPORTED, httpStatus(status), 0);
break;......

然后代码里HTTP_STATUS_NOT_IMPLEMENTED的描述是这样的:

HTTP_STATUS_NOT_IMPLEMENTED, /* Feature not implemented */

据此我严重怀疑打印任务的暂停/恢复在当前CUPS版本(1.7.2)里还没有实现,
下面我准备上网找找CUPS的后面的版本有没有提到这个功能的,看看能不能找到突破口。

2015.12.23周三

基于昨天邮件中提到的当前版本的CUPS可能没有实现打印任务暂停/开始的功能,我又下载了最新版本(2.1.2)的CUPS源码,里面包含了该版本以及历史版本的changelog,我看了这些changelogs,它们也没有提到关于打印任务暂停/开始或IPP_SUSPEND_CURRENT_JOB/IPP_RESUME_JOB的内容。
但是我在CUPS官网的buglist里面发现这样一个bug(https://www.cups.org/str.php?L1482+P-1+S0+C0+I0+E0+Qresume):bug的提出者是一个CUPS的用户,他指出使用CUPS来暂停和恢复任务时的表现和Windows不一样,暂停后恢复时又重新开始打印( printed from the beginning including the pages that are already printed),开发人员给他的回复是There is absolutely nothing we can do about this。- -# 他说到由于页面计数器的不可靠性,我们无法知道打印机已经打印的确切页数,windows能够做到是因为windows上应用程序和打印驱动及打印机的高度耦合。
这个bug是2006年提出的,到现在状态还是Unresolved,开发人员的说法让我感觉这个问题可能就是CUPS的一个缺陷,但不是代码方面的缺陷,我隐隐觉得这个问题目前解决不了了,我们最后决定将右下角打印暂停/开始功能改为打印机的停止/启动功能,将暂停/开始图标改掉,这样至少不会对用户造成歧义。

====20160114 更新
CUPS开发人员对我在官网buglist中的提问进行了回复,地址在这里,他的回答证实了以上想法是正确的。

打印助手-打印暂停/开始问题原因调研记录相关推荐

  1. [附源码]计算机毕业设计打印助手平台

    项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...

  2. STM32在Keil中使用串口助手打印中文字符出现乱码问题

    问题 问题如下,中文字符显示乱码,但数字正常. 原因 通常这种在串口助手打印出现乱码情况: 无非是波特率设置错误,不对应.就像一个滴水的水龙头,水滴进一个循环开合的容器,双方速率不能很好匹配,一定会出 ...

  3. vb 如何检测打印机是否联机_打印机提示该文档未能打印导致打印失败的原因及解决方法...

    打印机打印时,一直出现该文档未能打印的提示,如何解决这个问题?在使用打印机的时候,偶尔会出现提示该文档未能打印,打印失败的状况,这是怎么回事?下面就给大家分析下具体原因及其解决办法. 一.打印机处于脱 ...

  4. 树莓派已经通过网络连接通过串口通信在串口调试小助手打印与操作

    在树莓派编译运行 树莓派已经通过网络连接通过串口通信在串口调试小助手打印C gcc xxx.c -lwiringPi 源码 #include <wiringSerial.h> #inclu ...

  5. 中通打印助手-查快递

    中通打印助手开发到现在已经过去了四个月了,从七月份开始成立项目,先后经过两个人的接手后,已经迭代了很多的版本了,我也很用人很认真的在做,为我们中通的网点考虑,如何更快更好更方便的实现打印,打印助手就是 ...

  6. 中通打印助手-实现快递面单快速打印(免费使用)

    本人在中通快递公司开发部,最近公司的网点因为大头笔的调整,需要进行打印业务的开展,以前网点都是使用市场上一些打印软件打印快递面单,本月起大头笔书写不规范的公司对其罚款比较严厉,所以网点不得不需要一款中 ...

  7. Zebra中文打印助手

    目前使用最多的条码码打印机应该要属Zebra打印机了,很多人在编写标签打印程序的时候有遇到打印中文或非打印机内容语言的问题.官方给出解决方案是使用汉卡来解决.这种方法的优点是打印速度很快,但缺点就是字 ...

  8. 【附源码】Java计算机毕业设计打印助手平台(程序+LW+部署)

    项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...

  9. 计算机毕业设计PHP打印助手平台(源码+程序+VUE+lw+部署)

    该项目含有源码.文档.程序.数据库.配套开发软件.软件安装教程.欢迎交流 项目运行 环境配置: phpStudy+ Vscode +Mysql5.7 + HBuilderX+Navicat11+Vue ...

最新文章

  1. OpenCV位姿与投影变换
  2. Visual Studio 2017 15.7预览版发布
  3. 怎样用springboot开发cs_SpringBoot分布式任务中间件开发 附视频讲解 (手把手教你开发和使用中间件)...
  4. struts2.0标签库
  5. # 傅立叶变换 画曲线_让你永远忘不了的傅立叶变换解析
  6. TS Decorator
  7. vue element container 子路由
  8. Linux调试工具strace和gdb常用命令小结-转
  9. SQL 基础笔试题 (三)
  10. bzoj1051 [HAOI2006]受欢迎的牛
  11. 固定大小采样池中的随机采样证明
  12. 关键词作用和选择技巧
  13. Cannot truncate table 'xxx' because there are one or more isolation level 0 scans, or REO
  14. 光通量发光强度照度亮度关系_光通量、发光强度、照度单位的关系
  15. Gentoo USE参数清单中文详解
  16. nginx光速入门到进阶
  17. Homography estimation(旋转估计)
  18. UiPath.CoreIpc.RemoteException Could not obtain access token.「解决方案」
  19. 凹凸/法线/移位贴图的区别
  20. Eureka源码10-Server端(处理全量下载和增量下载请求)

热门文章

  1. vba移动文件_一线软件Recuva免费数据恢复软件,找回不小心误删的照片、影片、文件(Win)...
  2. 为什么同一张图png反而比jpg小?
  3. 固定测斜仪全自动DE816型固定式测斜仪
  4. 小米4 第三方re奇兔_【搞事】小米上架39元充电器 20W可适配iPhone 12系列
  5. Transformer课程 业务对话机器人Rasa 3.x NLU Training Data
  6. 【第63期】游戏策划:面试不怕有缺点,就怕太完美
  7. 04-Python之路预告片
  8. 如何进行质子的二维展开
  9. 通达OA工作流列表控件获取数据,JSON回传,参数保存txt文本
  10. RK3568人工智能物联网,专为AI应用而生