CN112799614B - 基于cups系统的打印控制方法及打印控制装置 - Google Patents
基于cups系统的打印控制方法及打印控制装置 Download PDFInfo
- Publication number
- CN112799614B CN112799614B CN202110097297.8A CN202110097297A CN112799614B CN 112799614 B CN112799614 B CN 112799614B CN 202110097297 A CN202110097297 A CN 202110097297A CN 112799614 B CN112799614 B CN 112799614B
- Authority
- CN
- China
- Prior art keywords
- setting information
- printing
- printer driver
- application
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 29
- 230000000694 effects Effects 0.000 claims abstract description 83
- 238000011045 prefiltration Methods 0.000 claims description 17
- 238000003780 insertion Methods 0.000 claims description 6
- 230000037431 insertion Effects 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 6
- 239000013589 supplement Substances 0.000 description 4
- 230000008439 repair process Effects 0.000 description 3
- 230000008520 organization Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/1253—Configuration of print job parameters, e.g. using UI at the client
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Accessory Devices And Overall Control Thereof (AREA)
Abstract
本申请公开了一种基于CUPS系统的打印控制方法及打印控制装置,该打印控制方法包括:接收打印指令,获取打印设置信息,根据打印设置信息确定是否会产生影响打印效果的冲突;当确定打印设置信息存在应用程序设置信息和打印机驱动设置信息会产生影响打印效果的冲突时,匹配出与打印机驱动设置信息或应用程序设置信息一致的打印数据,或者当确定打印设置信息会产生影响双面打印效果的冲突时,插入打印空白页;然后再执行打印操作。本申请由于先确定打印设置信息是否会产生影响打印效果的冲突,若产生,则处理数据并将处理好的打印数据发送给CUPS系统执行打印操作,进而避免了由于打印设置信息产生影响打印效果的冲突而出现打印出错的现象。
Description
技术领域
本申请涉及图像形成技术领域,具体涉及一种基于CUPS系统的打印控制方法和打印控制装置。
背景技术
通用Linux打印系统中,系统会通过各种不同的方式与打印机进行交互和通信。在进行最常见的打印操作时,计算机的操作系统会调用CUPS(Common UNIX PrintingSystem,通用Unix打印系统,是一个类Unix操作系统的组合式印刷系统,允许一台电脑作为打印服务器。)并通过自定义的一些驱动信息将作业发送到打印机,完成打印过程。如附图1所示。
现有计算机的国产操作系统下的CUPS打印系统存在漏洞与风险,当应用程序设置选项与打印机驱动设置选项有冲突时,例如应用程序设置选项中打印文档的纸张尺寸为A3,打印机驱动设置选项中打印文档的纸张尺寸为A4,或者应用程序设置选项中打印文档的打印页码设置为1、2、3,而打印机驱动设置选项中打印文档的打印页码设置为1、2、4,那么在CUPS系统执行打印操作时,就容易出现打印出错的问题,从而影响打印效果,如附图2所示。除此之外,在双面打印的情况下,若应用程序设置选项中针对于不同打印页码的打印文档设置的纸张尺寸不同,那么在CUPS系统执行打印操作时,就容易出现打印出错的问题,从而影响双面打印的效果。
发明内容
为了克服上述现有技术存在的任一问题,本申请的主要目的在于提供一种能够防止打印出错的基于CUPS系统的打印控制方法。
为了实现上述目的,本申请具体采用以下技术方案:
本申请提供了一种基于CUPS系统的打印控制方法,该打印控制方法包括:
接收打印指令;
获取打印设置信息;
根据所述打印设置信息确定是否会产生影响打印效果的冲突;
当确定所述打印设置信息存在应用程序设置信息和打印机驱动设置信息会产生影响打印效果的冲突时,匹配出与所述打印机驱动设置信息一致的打印数据,或者匹配出与所述应用程序设置信息一致的打印数据;或者,当确定所述打印设置信息会产生影响双面打印效果的冲突时,插入打印空白页;
通过CUPS系统执行打印操作。
在一种具体的实施方式中,所述当确定所述打印设置信息会产生影响双面打印效果的冲突时,插入打印空白页包括:
当确定打印设置为双面打印、打印页数为奇数时,在所述打印数据中插入打印空白页;
或者,
当确定所述打印设置信息存在应用程序设置不同页码的纸张尺寸不一致,且打印设置为双面打印时,在所述打印数据中插入打印空白页。
在一种具体的实施方式中,所述确定所述打印设置信息存在应用程序设置信息和打印机驱动设置信息会产生影响打印效果的冲突包括:
判断所述应用程序设置的纸张尺寸和所述打印机驱动设置的纸张尺寸是否一致或所述应用程序设置的页码和所述打印机驱动设置的页码是否一致,若不一致,则确定所述应用程序设置信息和所述打印机驱动设置信息会产生影响打印效果的冲突。
在一种具体的实施方式中,所述获取打印设置信息包括获取所述应用程序设置信息或者获取所述打印机驱动设置信息,其中,所述应用程序设置信息通过filter的中间参数获取。
相应地,本申请还提供了一种基于CUPS系统的打印控制装置,该打印控制装置包括:
接收单元,用于接收打印指令;
获取单元,用于获取打印设置信息;
确定单元,用于根据所述打印设置信息确定是否会产生影响打印效果的冲突;
匹配单元,用于当确定所述打印设置信息存在应用程序设置信息和打印机驱动设置信息会产生影响打印效果的冲突时,匹配出与所述打印机驱动设置信息一致的打印数据,或者匹配出与所述应用程序设置信息一致的打印数据;
执行单元,用于通过CUPS系统执行打印操作。
在一种具体的实施方式中,所述打印控制装置还包括插入单元,用于当确定所述打印设置信息会产生影响双面打印效果的冲突时,插入打印空白页。
在一种具体的实施方式中,所述插入单元具体用于:
当确定打印设置为双面打印、打印页数为奇数时,在所述打印数据中插入打印空白页;
或者,
当确定所述打印设置信息存在应用程序设置不同页码的纸张尺寸不一致,且打印设置为双面打印时,在所述打印数据中插入打印空白页。
在一种具体的实施方式中,所述确定单元包括:
判断单元,用于判断所述应用程序设置的纸张尺寸和所述打印机驱动设置的纸张尺寸是否一致或所述应用程序设置的页码和所述打印机驱动设置的页码是否一致;
确定子单元,用于若所述判断单元的判断结果为不一致,则确定所述应用程序设置信息和所述打印机驱动设置信息会产生影响打印效果的冲突。
在一种具体的实施方式中,所述获取单元获取所述打印设置信息包括获取所述应用程序设置信息或者获取所述打印机驱动设置信息,其中,所述应用程序设置信息通过filter的中间参数获取。
相应地,本申请还提供了一种基于CUPS系统的打印控制装置,包括一个前置过滤器pre_filter,所述前置过滤器pre_filter包括:
接收模块,用于接收打印指令;
获取模块,用于获取打印设置信息;
确定模块,用于根据所述打印设置信息确定是否会产生影响打印效果的冲突;
匹配模块,用于当确定所述打印设置信息存在应用程序设置信息和打印机驱动设置信息会产生影响打印效果的冲突时,匹配出与所述打印机驱动设置信息一致的打印数据,或者匹配出与所述应用程序设置信息一致的打印数据。
在一种具体的实施方式中,所述前置过滤器pre_filter还包括插入模块,所述插入模块用于当确定所述打印设置信息会产生影响双面打印效果的冲突时,插入打印空白页。
在一种具体的实施方式中,所述插入模块具体用于:
当确定打印设置为双面打印、打印页数为奇数时,在所述打印数据中插入打印空白页;或者,
当确定所述打印设置信息存在应用程序设置不同页码的纸张尺寸不一致,且打印设置为双面打印时,在所述打印数据中插入打印空白页。
在一种具体的实施方式中,所述确定模块包括:
判断模块,用于判断所述应用程序设置的纸张尺寸和所述打印机驱动设置的纸张尺寸是否一致或所述应用程序设置的页码和所述打印机驱动设置的页码是否一致;
确定子模块,用于若所述判断模块的判断结果为不一致,则确定所述应用程序设置信息和所述打印机驱动设置信息会产生影响打印效果的冲突。
在一种具体的实施方式中,所述获取模块获取所述打印设置信息包括获取所述应用程序设置信息或者获取所述打印机驱动设置信息,其中,所述应用程序设置信息通过filter的中间参数获取。
对应地,本申请还提供了一种存储介质,所述存储介质包括存储的程序,其中,所述程序运行时控制所述存储介质所在设备执行上述的打印方法。
相比于现有技术,本申请在执行打印操作之前,先获取打印设置信息,再根据打印设置信息确定是否会产生影响打印效果的冲突,当确定打印设置信息存在应用程序设置信息和打印机驱动设置信息会产生影响打印效果的冲突时,匹配出与所述打印机驱动设置信息一致的打印数据,或者匹配出与应用程序设置信息一致的打印数据;或者当确定打印设置信息会产生影响双面打印效果的冲突时,插入打印空白页;然后再基于匹配出的打印数据通过CUPS系统执行打印操作,或者基于插入了空白页的打印数据通过CUPS系统执行打印操作;进而绕过了CUPS系统直接调用打印机驱动设置信息或应用程序设置信息,避免由于打印设置信息产生影响打印效果的冲突而出现打印出错的现象。
附图说明
图1为现有技术的打印操作系统调用CUPS完成打印操作的过程图。
图2为现有技术的打印操作系统在选项设置发生冲突时出现错误的示意图。
图3为本申请实施例提供的操作系统、CUPS系统、应用程序以及打印机驱动之间的组织关系图。
图4为本申请实施例提供的打印控制方法的模块流程图。
图5为本申请实施例提供的打印控制方法的具体流程图。
图6为本申请实施例提供的打印控制方法的打印过程图。
图7为本申请实施例提供的打印控制装置的模块框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在本申请的描述中,除非另有明确的规定和限定,术语“第一”、“第二”仅用于描述的目的,而不能理解为指示或暗示相对重要性;除非另有规定或说明,术语“多个”是指两个或两个以上;术语“连接”、“固定”等均应做广义理解,例如,“连接”可以是固定连接,也可以是可拆卸连接,或一体地连接,或电连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
具备国产操作系统的计算机下的打印系统由CUPS中提供的公用打印模块、打印驱动描述文件ppd、打印数据过滤文件filter和系统提供的打印后台处理程序backend组成。其中,打印数据过滤文件filter还包括在系统调度之前的前置过滤器pre_filter和在系统中调度的filter,下述方法主要对前置过滤器pre_filter进行操作,以改进打印过程。
参照图3所示,图3为本申请实施例提供的操作系统、CUPS系统、应用程序以及打印机驱动之间的组织关系图。其中,前置过滤器pre_filter被配置在所有filter的最前面,以保证可以在CUPS系统的filter处理数据之前,获取通过应用程序设置信息和打印机驱动设置信息生成的原始数据并进行操作,即把诸如应用程序设置信息和打印机驱动设置信息互斥问题、补充错误空白页之类的问题提前解决,然后再下发给CUPS系统的filter,让它继续完成其余的数据处理操作。
参照图4和图5所示,图4为本申请实施例提供的打印控制方法的模块流程图;图5为本申请实施例提供的打印控制方法的具体流程图,该打印控制方法步骤:
S11、接收打印指令。
S12、获取打印设置信息。
具体地,获取打印设置信息包括获取应用程序设置信息和/或获取打印机驱动设置信息,其中,应用程序设置信息通过filter的中间参数获取,打印机驱动设置信息通过调用PPD文件获取。
S13、根据打印设置信息确定是否会产生影响打印效果的冲突;若确定结果为是,则进行步骤S14,之后进行步骤S15;若确定结果为否,则直接进行步骤S15。
具体地,确定打印设置信息中的应用程序设置信息和打印机驱动设置信息是否会产生影响打印效果的冲突,或者确定打印设置信息是否会产生影响双面打印效果的冲突。
在确定打印设置信息中的应用程序设置信息和打印机驱动设置信息是否会产生影响打印效果的冲突时,可以通过打印机驱动设置的和应用程序设置的相异的信息来确定是否会产生影响打印效果的冲突。例如,确定打印机驱动设置信息中的纸张尺寸、打印页码设置等与应用程序设置信息中的纸张尺寸、打印页码设置等是否完全一致,若打印机驱动设置信息中的纸张尺寸和应用程序设置信息中的纸张尺寸不一致,如,打印机驱动设置信息中的纸张尺寸为A3,应用程序设置信息中的纸张尺寸为A4,则确定打印机驱动设置信息和应用程序设置信息会产生影响打印效果的冲突;或者若打印机驱动设置信息中的打印页码设置和应用程序设置信息中的打印页码设置不一致,例如,打印机驱动设置信息中的打印页码设置为1、2、4,应用程序设置信息中的打印页码设置为2、5、6,则确定打印机驱动设置信息和应用程序设置信息会产生影响打印效果的冲突,其中,影响打印效果是指由于打印机驱动设置信息和应用程序设置信息的冲突而出现打印出错。例如,打印机驱动设置信息中的打印纸张尺寸为A3,应用程序设置信息中的打印纸张尺寸为A4,则在通过CUPS系统执行打印操作时,可能会因无法确定打印纸张的尺寸而出现打印出错的情形,比如,打印出来的纸张尺寸并非用户所希望打印的纸张尺寸,或者甚至可能由于纸张尺寸设置的不同导致打印系统中途停止打印操作,从而产生影响打印效果的冲突。其中,打印机驱动设置信息可以通过前置过滤器pre_filter获取,例如通过调用PPD文件获取打印机驱动设置信息。
在确定打印设置信息是否会产生影响双面打印效果的冲突时,可以通过应用程序设置信息和打印机驱动设置信息中的单双面设置,打印页数、打印纸张尺寸等来确定是否会产生影响双面打印效果的冲突。例如,当打印设置为双面打印、打印页数为奇数时,则确定打印设置信息会产生影响双面打印效果的冲突。
或者,当应用程序设置不同页码的纸张尺寸不一致,且设置为双面打印时,则确定应用程序设置信息会产生影响双面打印效果的冲突。例如,应用程序设置中设置了打印页数为1、2、3、4,且为双面打印,但是第1页的打印纸张尺寸为A4,第2页、第3页及第4页的打印纸张尺寸为A3,则确定应用程序设置信息会产生影响双面打印效果的冲突。因为将两种不同的打印纸张尺寸设于同一张纸上很容易出现打印错误,或者甚至中途终止打印操作。
S14、对打印数据进行处理。
具体地,当确定打印设置信息中的应用程序设置信息和打印机驱动设置信息会产生影响打印效果的冲突时,匹配出与打印机驱动设置信息一致的打印数据,或者匹配出与应用程序设置信息一致的打印数据。
进一步地,在打印机驱动设置信息和应用程序设置信息产生影响打印效果的冲突时,需要先对打印数据进行处理,将打印文档的打印数据设为与打印机驱动设置信息一致,或者将打印文档的打印数据设为与应用程序设置信息一致;再基于匹配出的打印数据通过CUPS系统执行打印操作,在打印机驱动设置信息和应用程序设置信息不会产生影响打印效果的冲突时,无需先对打印数据进行处理,直接通过CUPS系统执行打印操作即可。
当确定打印设置信息会产生影响双面打印效果的冲突时,插入打印空白页。
进一步地,当确定应用程序中的打印设置或打印机驱动中的打印设置为双面打印、打印页数为奇数时,在打印数据中插入打印空白页;或者,当确定应用程序设置不同页码的纸张尺寸不一致,且设置为双面打印时,在打印数据中插入打印空白页;再基于插入了空白打印页的打印数据通过CUPS系统执行打印操作。在应用程序设置信息不会产生影响双面打印效果的冲突时,无需先对打印数据进行处理(插入打印空白页),直接通过CUPS系统执行打印操作即可。
S15、通过CUPS系统执行打印操作。
具体地,若应用程序设置信息和打印机驱动设置信息产生影响打印效果的冲突时,需要先对打印数据进行处理,将打印文档的打印数据设为与打印机驱动设置信息一致,或者将打印文档的打印数据设为与应用程序设置信息一致;然后再基于匹配出的打印数据通过CUPS系统执行打印操作。若打印设置为双面打印、打印页数为奇数,或应用程序设置不同页码的纸张尺寸不一致,且设置为双面打印时,还需要在打印数据中插入打印空白页,再基于插入了打印空白页的打印数据通过CUPS系统执行打印操作;若打印机驱动设置信息和应用程序设置信息不会产生影响打印效果的冲突时,无需先对打印数据进行任何优先处理,直接通过CUPS系统执行打印操作即可。
参照图6所示,图6为本申请实施例提供的打印方法的打印过程图。本申请在通过CUPS系统执行打印操作之前,会自动去检索应用程序的打印设置信息及打印机驱动的打印设置信息,然后再对比它们的打印设置,如果有冲突且会影响打印,则通过前置过滤器pre_filter对打印数据进行处理,解决冲突,具体为通过前置过滤器pre_filter匹配出与打印机驱动设置信息一致的打印数据,或匹配出与应用程序设置信息一致的打印数据;并将处理好的打印数据发给CUPS系统调用,使CUPS系统基于匹配出的打印数据执行打印操作,从而绕过了CUPS系统调用打印机驱动设置信息或应用程序设置信息,避免由于无法确定打印数据而出现打印出错的现象,进而能够改进国产操作系统下的CUPS打印系统中存在的风险和漏洞。
另外,现有技术中,当应用程序设置信息中打印文档的纸张大小与打印机驱动设置信息中打印文档的纸张大小有冲突时,例如应用程序设置信息中打印文档纸张尺寸为A3,打印机驱动设置信息中打印文档纸张尺寸为A4,CUPS系统可能会因无法确定打印纸张的尺寸而造成打印错误,比如,打印出来的纸张尺寸并非用户所希望打印的纸张尺寸,或者甚至可能由于纸张尺寸设置的冲突导致打印系统中途停止打印操作,从而造成打印错误。此外,在打印设置为双面打印,且在打印页数为奇数的情况下,CUPS系统会自动补充一张空白页,但该自动补充的空白页一方面可能纸张尺寸不是打印文档所需的纸张尺寸,另一方面,可能并非补充在合适的位置,比如在中间任何一页补充空白页,因此,会造成打印错误。
本申请在通过CUPS系统执行打印操作之前,获取应用程序的打印设置信息和/或打印机驱动的打印设置信息,然后去对比它们的打印设置,如果有冲突且会影响打印,则通过前置过滤器pre_filter匹配出与打印机驱动设置信息一致的打印数据,或匹配出与应用程序设置信息一致的打印数据;并确定打印设置是否为双面打印、且打印页数是否为奇数,若确认为双面打印且打印页数为奇数,则在打印数据中插入打印空白页;或者当确定应用程序设置不同页码的纸张尺寸不一致,且设置为双面打印时,则在打印数据中插入打印空白页,从而绕过了CUPS系统补充错误打印空白页,进而能够改进国产操作系统下的CUPS打印系统中存在的风险和漏洞。
参照图7所示,图7为本申请实施例提供的打印控制装置的模块框图。该打印控制装置采用上述的打印方法执行打印操作。该打印控制装置包括接收单元100、获取单元200、确定单元300、匹配单元400、插入单元500和执行单元600。其中,接收单元100用于接收打印指令,获取单元200用于获取打印设置信息,确定单元300用于根据打印设置信息确定是否会产生影响打印效果的冲突,匹配单元400用于当确定打印设置信息中的应用程序设置信息和打印机驱动设置信息会产生影响打印效果的冲突时,匹配出与打印机驱动设置信息一致的打印数据,或者匹配出与应用程序设置信息一致的打印数据;插入单元500用于当确定打印设置信息会产生影响双面打印效果的冲突时,插入打印空白页;执行单元600用于通过CUPS系统执行打印操作。
具体地,插入单元600具体用于:当确定打印设置为双面打印,且打印页数为奇数时,在打印数据中插入打印空白页;或者,当确定应用程序设置不同页码的纸张尺寸不一致,且设置为双面打印时,在打印数据中插入打印空白页。进一步地,获取单元200通过调用PPD文件获取打印机驱动设置信息,通过filter的中间参数获取应用程序设置信息。确定单元300包括判断单元和确定子单元,判断单元具体用于确定打印机驱动设置信息中的纸张尺寸、打印页码设置等与应用程序设置信息中的纸张尺寸、打印页码设置等是否完全一致,若打印机驱动设置信息中的纸张尺寸和应用程序设置信息中的纸张尺寸不一致,例如,打印机驱动设置信息中的纸张尺寸为A3,应用程序设置信息中的纸张尺寸为A4,则确定子单元确定打印机驱动设置信息和应用程序设置信息会产生影响打印效果的冲突;或者若打印机驱动设置信息中的打印页码设置和应用程序设置信息中的打印页码设置不一致,例如,打印机驱动设置信息中的打印页码设置为1、2、4,应用程序设置信息中的打印页码设置2、5、6,则确定子单元确定打印机驱动设置信息和应用程序设置信息会产生影响打印效果的冲突,其中,影响打印效果是指由于打印机驱动设置信息和应用程序设置信息的冲突而产生打印出错。例如,打印机驱动设置信息中的打印纸张尺寸为A3,应用程序设置信息中的打印纸张尺寸为A4,则在通过CUPS系统执行打印操作时,可能会因无法确定打印纸张的尺寸而造成所获取的打印数据的纸张尺寸不是用户所希望打印的纸张尺寸或者甚至在打印过程中突然中断打印操作,即,会产生影响打印效果的冲突。
本申请的主要目的是在打印驱动安装过程中或者安装之前,在打印驱动程序中设置有修复文件,以通过修复文件来修复国产操作系统中出现的bug,进而方便用户打印。具体地,通过设置一个前置过滤器pre_filter,在打印机驱动设置信息与应用程序设置信息发生冲突时,自动匹配出与应用程序设置信息一致的打印数据或与打印机驱动设置信息一致的打印数据,以绕开CUPS系统的调用,从而从源头上将打印数据处理好,并在打印数据为双面打印且打印页数为奇数或者打印数据为双面打印且不同打印页码纸张尺寸设置不同时,通过调用(Ghost Script)补充空白页,从而避免CUPS系统自动补充错误空白页,影响打印效果。
该前置过滤器pre_filter包括接收模块、获取模块、确定模块、匹配模块和插入模块。其中,接收模块用于接收打印指令,获取模块用于获取打印设置信息,确定模块用于根据打印设置信息确定是否会产生影响打印效果的冲突,匹配模块用于当确定打印设置信息中的应用程序设置信息和打印机驱动设置信息会产生影响打印效果的冲突时,匹配出与打印机驱动设置信息一致的打印数据,或者匹配出与应用程序设置信息一致的打印数据;插入模块用于当确定打印设置信息会产生影响双面打印效果的冲突时,插入打印空白页;最后由打印控制装置中的执行模块再通过CUPS系统执行打印操作。
具体地,插入模块具体用于:当确定打印设置为双面打印、且打印页数为奇数时,在打印数据中插入打印空白页;或者,当确定应用程序设置不同页码的纸张尺寸不一致,且打印设置为双面打印时,在打印数据中插入打印空白页。
进一步地,获取模块通过调用PPD文件获取打印机驱动设置信息,通过filter的中间参数获取应用程序设置信息。确定模块包括判断模块和确定子模块,判断模块具体用于确定打印机驱动设置信息中的纸张尺寸、打印页码设置等与应用程序设置信息中的纸张尺寸、打印页码设置等是否完全一致,若打印机驱动设置信息中的纸张尺寸和应用程序设置信息中的纸张尺寸不一致,例如,打印机驱动设置信息中的纸张尺寸为A3,应用程序设置信息中的纸张尺寸为A4,则确定子模块确定打印机驱动设置信息和应用程序设置信息会产生影响打印效果的冲突;或者若打印机驱动设置信息中的打印页码设置和应用程序设置信息中的打印页码设置不一致,例如,打印机驱动设置信息中的打印页码设置为1、2、4,应用程序设置信息中的打印页码设置2、5、6,则确定子模块确定打印机驱动设置信息和应用程序设置信息会产生影响打印效果的冲突,其中,影响打印效果是指由于打印机驱动设置信息和应用程序设置信息的冲突而产生打印出错。例如,打印机驱动设置信息中的打印纸张尺寸为A3,应用程序设置信息中的打印纸张尺寸为A4,则在通过CUPS系统执行打印操作时,可能会因无法确定打印纸张的尺寸而造成所获取的打印数据的纸张尺寸不是用户所希望打印的纸张尺寸或者甚至在打印过程中突然中断打印操作,即会产生影响打印效果的冲突。
相应地,本申请还公开了一种存储介质,该存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行上述方法步骤,具体地,
接收打印指令;获取打印设置信息;根据获取的打印设置信息确定是否会产生影响打印效果的冲突;在确定打印设置信息中的应用程序设置信息和打印机驱动设置信息会产生影响打印效果的冲突时,匹配出与打印机驱动设置信息一致的打印数据,或者匹配出与所述应用程序设置信息一致的打印数据,再通过CUPS系统执行打印操作;在确定打印设置信息会产生影响双面打印效果的冲突时,插入打印空白页,再通过CUPS系统执行打印操作;在确定打印设置信息不会产生影响打印效果的冲突时,直接通过CUPS系统执行打印操作。
进一步,当确定打印机驱动设置信息和应用程序设置信息会产生影响打印效果的冲突时,在匹配出与打印机驱动设置信息或应用程序设置信息一致的打印数据后,再通过CUPS系统执行打印操作;以及在确定打印设置会产生影响双面打印效果的冲突时,例如,若确定打印设置为双面打印、且打印页数为奇数,或者若确定应用程序设置不同页码的纸张尺寸不一致,且设置为双面打印,则在打印数据中插入打印空白页,然后再通过CUPS系统执行打印操作。或者当确定打印机驱动设置信息和应用程序设置信息会产生影响打印效果的冲突时,匹配出与打印机驱动设置信息或应用程序设置信息一致的打印数据,进而若根据匹配出的打印数据确定打印设置为双面打印、且打印页数为奇数,则在打印数据中插入打印空白页,然后再通过CUPS系统执行打印操作。或者当确定打印机驱动设置信息和应用程序设置信息会产生影响打印效果的冲突时,匹配出与应用程序设置信息一致的打印数据,进而若根据匹配出的打印数据确定打印设置为双面打印,且不同页码设置的纸张尺寸不同,则在打印数据中插入打印空白页,然后再通过CUPS系统执行打印操作。
以上所述,仅为本申请较佳的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。
Claims (12)
1.一种基于CUPS系统的打印控制方法,其特征在于,包括:
接收打印指令;
获取打印设置信息;
根据所述打印设置信息确定是否会产生影响打印效果的冲突;
当确定所述打印设置信息存在应用程序设置信息和打印机驱动设置信息会产生影响打印效果的冲突时,匹配出与所述打印机驱动设置信息一致的打印数据,或者匹配出与所述应用程序设置信息一致的打印数据;或者,
当确定所述打印设置信息会产生影响双面打印效果的冲突时,插入打印空白页;
通过CUPS系统执行打印操作;
其中,所述确定所述打印设置信息存在应用程序设置信息和打印机驱动设置信息会产生影响打印效果的冲突包括:
判断所述应用程序设置的纸张尺寸和所述打印机驱动设置的纸张尺寸是否一致或所述应用程序设置的页码和所述打印机驱动设置的页码是否一致,若不一致,则确定所述应用程序设置信息和所述打印机驱动设置信息会产生影响打印效果的冲突。
2.根据权利要求1所述的打印控制方法,其特征在于,所述当确定所述打印设置信息会产生影响双面打印效果的冲突时,插入打印空白页包括:
当确定打印设置为双面打印、打印页数为奇数时,在所述打印数据中插入打印空白页;
或者,
当确定所述打印设置信息存在应用程序设置不同页码的纸张尺寸不一致,且打印设置为双面打印时,在所述打印数据中插入打印空白页。
3.根据权利要求1~2任一种所述的打印控制方法,其特征在于,所述获取打印设置信息包括获取所述应用程序设置信息或者获取所述打印机驱动设置信息,其中,所述应用程序设置信息通过filter的中间参数获取。
4.一种基于CUPS系统的打印控制装置,其特征在于,该打印控制装置包括:
接收单元,用于接收打印指令;
获取单元,用于获取打印设置信息;
确定单元,用于根据所述打印设置信息确定是否会产生影响打印效果的冲突;
匹配单元,用于当确定所述打印设置信息存在应用程序设置信息和打印机驱动设置信息会产生影响打印效果的冲突时,匹配出与所述打印机驱动设置信息一致的打印数据,或者匹配出与所述应用程序设置信息一致的打印数据;
执行单元,用于通过CUPS系统执行打印操作;
其中,所述确定单元包括:
判断单元,用于判断所述应用程序设置的纸张尺寸和所述打印机驱动设置的纸张尺寸是否一致或所述应用程序设置的页码和所述打印机驱动设置的页码是否一致;
确定子单元,用于若所述判断单元的判断结果为不一致,则确定所述应用程序设置信息和所述打印机驱动设置信息会产生影响打印效果的冲突。
5.根据权利要求4所述的打印控制装置,其特征在于,所述打印控制装置还包括插入单元,用于当确定所述打印设置信息会产生影响双面打印效果的冲突时,插入打印空白页。
6.根据权利要求5所述的打印控制装置,其特征在于,所述插入单元具体用于:
当确定打印设置为双面打印、打印页数为奇数时,在所述打印数据中插入打印空白页;
或者,
当确定所述打印设置信息存在应用程序设置不同页码的纸张尺寸不一致,且打印设置为双面打印时,在所述打印数据中插入打印空白页。
7.根据权利要求4~6任一所述的打印控制装置,其特征在于,所述获取单元获取所述打印设置信息包括获取所述应用程序设置信息或者获取所述打印机驱动设置信息,其中,所述应用程序设置信息通过filter的中间参数获取。
8.一种基于CUPS系统的打印控制装置,其特征在于,包括一个前置过滤器pre_filter,所述前置过滤器pre_filter包括:
接收模块,用于接收打印指令;
获取模块,用于获取打印设置信息;
确定模块,用于根据所述打印设置信息确定是否会产生影响打印效果的冲突;
匹配模块,用于当确定所述打印设置信息存在应用程序设置信息和打印机驱动设置信息会产生影响打印效果的冲突时,匹配出与所述打印机驱动设置信息一致的打印数据,或者匹配出与所述应用程序设置信息一致的打印数据;
其中,所述确定模块包括:
判断模块,用于判断所述应用程序设置的纸张尺寸和所述打印机驱动设置的纸张尺寸是否一致或所述应用程序设置的页码和所述打印机驱动设置的页码是否一致;
确定子模块,用于若所述判断模块的判断结果为不一致,则确定所述应用程序设置信息和所述打印机驱动设置信息会产生影响打印效果的冲突。
9.根据权利要求8所述的打印控制装置,其特征在于,所述前置过滤器pre_filter还包括插入模块,所述插入模块用于当确定所述打印设置信息会产生影响双面打印效果的冲突时,插入打印空白页。
10.根据权利要求9所述的打印控制装置,其特征在于,所述插入模块具体用于:
当确定打印设置为双面打印、打印页数为奇数时,在所述打印数据中插入打印空白页;或者,
当确定所述打印设置信息存在应用程序设置不同页码的纸张尺寸不一致,且打印设置为双面打印时,在所述打印数据中插入打印空白页。
11.根据权利要求8~10任一种所述的打印控制装置,其特征在于,所述获取模块获取所述打印设置信息包括获取所述应用程序设置信息或者获取所述打印机驱动设置信息,其中,所述应用程序设置信息通过filter的中间参数获取。
12.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序运行时控制所述存储介质所在设备执行权利要求1~3中任一项所述的打印控制方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110097297.8A CN112799614B (zh) | 2021-01-25 | 2021-01-25 | 基于cups系统的打印控制方法及打印控制装置 |
PCT/CN2021/138168 WO2022156429A1 (zh) | 2021-01-25 | 2021-12-15 | 基于cups系统的打印控制方法及打印控制装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110097297.8A CN112799614B (zh) | 2021-01-25 | 2021-01-25 | 基于cups系统的打印控制方法及打印控制装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112799614A CN112799614A (zh) | 2021-05-14 |
CN112799614B true CN112799614B (zh) | 2024-05-10 |
Family
ID=75811610
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110097297.8A Active CN112799614B (zh) | 2021-01-25 | 2021-01-25 | 基于cups系统的打印控制方法及打印控制装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112799614B (zh) |
WO (1) | WO2022156429A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112799614B (zh) * | 2021-01-25 | 2024-05-10 | 珠海奔图电子有限公司 | 基于cups系统的打印控制方法及打印控制装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110659003A (zh) * | 2018-06-29 | 2020-01-07 | 佳能株式会社 | 信息处理装置、控制方法和存储介质 |
CN111683187A (zh) * | 2019-03-11 | 2020-09-18 | 佳能株式会社 | 打印设备及其控制方法以及存储介质 |
CN111949233A (zh) * | 2020-08-26 | 2020-11-17 | 珠海奔图电子有限公司 | 打印控制方法、装置、电子设备和存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6992496B2 (ja) * | 2017-12-26 | 2022-01-13 | ブラザー工業株式会社 | 制御プログラム及び、情報処理装置 |
JP7169838B2 (ja) * | 2018-10-04 | 2022-11-11 | キヤノン株式会社 | 印刷装置、その制御方法、及びプログラム |
CN112799614B (zh) * | 2021-01-25 | 2024-05-10 | 珠海奔图电子有限公司 | 基于cups系统的打印控制方法及打印控制装置 |
-
2021
- 2021-01-25 CN CN202110097297.8A patent/CN112799614B/zh active Active
- 2021-12-15 WO PCT/CN2021/138168 patent/WO2022156429A1/zh active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110659003A (zh) * | 2018-06-29 | 2020-01-07 | 佳能株式会社 | 信息处理装置、控制方法和存储介质 |
CN111683187A (zh) * | 2019-03-11 | 2020-09-18 | 佳能株式会社 | 打印设备及其控制方法以及存储介质 |
CN111949233A (zh) * | 2020-08-26 | 2020-11-17 | 珠海奔图电子有限公司 | 打印控制方法、装置、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2022156429A1 (zh) | 2022-07-28 |
CN112799614A (zh) | 2021-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108762694B (zh) | Linux操作系统中打印驱动处理方法及装置 | |
US8797556B2 (en) | Printing apparatus, print control method, and program | |
US20190130234A1 (en) | Information processing apparatus, method of controlling the same, and storage medium | |
US8514422B2 (en) | Image forming apparatus that controls job processing on the basis of authentication | |
US10114598B2 (en) | Image forming apparatus and method of controlling the same, in which image formation is stopped in accordance with obtained error information | |
CN112799614B (zh) | 基于cups系统的打印控制方法及打印控制装置 | |
US20080079980A1 (en) | Method for printing mixed color and black and white documents and for recovering from interruptions | |
CN109062581B (zh) | 终端设备侧的驱动程序的处理方法、装置和设备 | |
US8320813B2 (en) | Image forming apparatus, image forming system, image forming method and computer readable medium storing program | |
US20200174718A1 (en) | Printing method, information processing apparatus employing printing method, and non-transitory computer-readable recording medium storing instructions therefor | |
US9857762B2 (en) | Image forming apparatus with detachable fixing device | |
US9596370B2 (en) | Image processing apparatus, image processing method, and storage medium | |
US11620095B2 (en) | Information processing apparatus and non-transitory computer readable medium for information processing | |
US10577212B2 (en) | Information processing apparatus for controlling execution of print job in which post-processing is designated | |
US10708459B2 (en) | Image forming apparatus, server, control program of image forming apparatus, and control program of server | |
US11010115B2 (en) | Image processing apparatus capable of exclusively setting multiple settings, method therefor, and storage medium | |
US8599393B2 (en) | Printer compatability matrix listing compatible and non-compatible print drivers and print drivers compatible with adaptation | |
US20140293351A1 (en) | Image forming apparatus, image forming control apparatus, image forming system and image forming control program | |
RU2820759C1 (ru) | Способ управления печатью и устройство управления печатью на основе системы cups | |
US6873425B1 (en) | Delayed printing of print jobs requiring special resources | |
CN110581931B (zh) | 图像处理装置、其控制方法以及记录介质 | |
JP2006188004A (ja) | 画像形成装置、印刷要求処理方法及び印刷要求処理プログラム | |
US20160127601A1 (en) | Image-forming apparatus and image-forming method | |
US9047552B2 (en) | Forming system and image forming apparatus that generate image log data to server | |
US10126994B2 (en) | Printing service providing apparatus, printing service system, and non-transitory computer readable storage medium enabling selection of an application function using cloud computing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |