CN117111861A - 一种打印控制方法、装置、设备及存储介质 - Google Patents
一种打印控制方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN117111861A CN117111861A CN202310980230.8A CN202310980230A CN117111861A CN 117111861 A CN117111861 A CN 117111861A CN 202310980230 A CN202310980230 A CN 202310980230A CN 117111861 A CN117111861 A CN 117111861A
- Authority
- CN
- China
- Prior art keywords
- data
- bitmap
- bitmap data
- format
- printer
- 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.)
- Pending
Links
- 238000007639 printing Methods 0.000 title claims abstract description 80
- 238000000034 method Methods 0.000 title claims abstract description 62
- 230000006835 compression Effects 0.000 claims abstract description 106
- 238000007906 compression Methods 0.000 claims abstract description 106
- 230000005540 biological transmission Effects 0.000 claims description 28
- 238000006243 chemical reaction Methods 0.000 claims description 10
- 239000002609 medium Substances 0.000 description 13
- 230000006870 function Effects 0.000 description 5
- 230000006837 decompression Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 239000012120 mounting media Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008707 rearrangement Effects 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/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1211—Improving printing performance
- G06F3/1215—Improving printing performance achieving increased printing speed, i.e. reducing the time between printing start and printing end
-
- 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/1224—Client or server resources 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/1244—Job translation or job parsing, e.g. page banding
- G06F3/1245—Job translation or job parsing, e.g. page banding by conversion to intermediate or common format
-
- 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/1278—Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
- G06F3/1279—Controller construction, e.g. aspects of the interface hardware
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)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本申请实施例公开了一种打印控制方法、装置、设备及存储介质。本申请实施例提供的技术方案通过将待打印数据转换为第一位图数据,根据设定的压缩数量范围以及第一位图数据中多个像素值连续相同的像素点,对第一位图数据进行压缩编码处理得到待传输数据,并向打印机传输待传输数据,通过打印机解压解码待传输数据得到第二位图数据并打印第二位图数据,向打印机发送的待传输数据经过了压缩编码处理,有效减少了向打印机发送的数据量,减少在打印数据的过程中传输位图数据的时间占用,提升数据打印效率。
Description
技术领域
本申请实施例涉及计算机技术领域,尤其涉及一种打印控制方法、装置、设备及存储介质。
背景技术
用户利用打印机进行打印时,操作系统中的打印系统会将需要打印的文档转换为打印机能识别的数据格式,然后通过传输接口传送到打印机上进行打印。打印机接收的一般是位图数据,对于彩色打印机,位图数据一般是数据格式为CMYK 32位色位图,对于黑白打印机,位图数据一般是数据格式为二值位图数据。
由于打印机DPI(Dots Per Inch,每英寸点数)较高,转换后的原始位图数据非常大,受限于打印机的数据传输速率,在打印文档的过程中位图数据的传输占据了大量时间,导致数据打印效率较低。
发明内容
本申请实施例提供一种打印控制方法、装置、设备及存储介质,以解决相关技术中在打印数据的过程中位图数据的传输占据了大量时间,导致数据打印效率较低的技术问题,有效提高数据打印效率。
在第一方面,本申请实施例提供了一种打印控制方法,包括:
获取待打印数据,将所述待打印数据转换为第一位图数据;
根据设定的压缩数量范围以及所述第一位图数据中多个像素值连续相同的像素点,对所述第一位图数据进行压缩编码处理得到待传输数据,所述压缩数量范围与所述第一位图数据的位图数据格式对应;
向打印机传输所述待传输数据,通过所述打印机解压解码所述待传输数据得到第二位图数据,并打印所述第二位图数据。
在第二方面,本申请实施例提供了一种打印控制装置,包括位图转换模块、位图压缩模块以及数据传输模块,其中:
所述位图转换模块,配置为获取待打印数据,将所述待打印数据转换为第一位图数据;
所述位图压缩模块,配置为根据设定的压缩数量范围以及所述第一位图数据中多个像素值连续相同的像素点,对所述第一位图数据进行压缩编码处理得到待传输数据,所述压缩数量范围与所述第一位图数据的位图数据格式对应;
所述数据传输模块,配置为向打印机传输所述待传输数据,通过所述打印机解压解码所述待传输数据得到第二位图数据,并打印所述第二位图数据。
在第三方面,本申请实施例提供了一种打印控制设备,包括:存储器以及一个或多个处理器;
所述存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的打印控制方法。
在第四方面,本申请实施例提供了一种存储计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如第一方面所述的打印控制方法。
本申请实施例通过将待打印数据转换为第一位图数据,根据设定的压缩数量范围以及第一位图数据中多个像素值连续相同的像素点,对第一位图数据进行压缩编码处理得到待传输数据,并向打印机传输待传输数据,通过打印机解压解码待传输数据得到第二位图数据并打印第二位图数据,向打印机发送的待传输数据经过了压缩编码处理,有效减少了向打印机发送的数据量,减少在打印数据的过程中传输位图数据的时间占用,提升数据打印效率。
附图说明
图1是本申请实施例提供的一种打印控制方法的流程图;
图2是本申请实施例提供的一种待传输数据生成流程示意图;
图3是本申请实施例提供的一种打印控制装置的结构示意图;
图4是本申请实施例提供的一种打印控制设备的结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面结合附图对本申请具体实施例作进一步的详细描述。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时上述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。上述处理可以对应于方法、函数、规程、子例程、子程序等等。
本方案提供的打印控制设备可通过有线(例如USB、网线等)和/或无线(例如蓝牙、WiFi、以太网等)的方式连接打印机,本方案提供的打印机可以是黑白打印机和/或彩色打印机。本方案提供的待打印数据可以是文字文档(例如Word文档)、PPT文档、图片等。
在需要对待打印数据进行打印时,需要先将待打印数据转换为打印机可识别的位图,打印机再基于位图在打印纸上打印出待打印数据对应的图案。如下表所示的A4纸在不同DPI以及位图类型(以彩色CMYK 32位图为例)下的数据量所示:
假设打印机上配置的传输接口有USB和以太网,USB常见的传输速率有12Mbits/s和480Mbits/s,以太网常见的传输速率有100Mbits/s和1000Mbits/s。上述传输速率是理论传输速率,实际传输速率往往达不到,而且以太网是多主机公用一个传输网络,传输效率一般会更低。
以USB实际传输速率为80%,以太网实际传输速率为50%为例,得到下表USB和以太网传输原始位图数据的传输时间:
可见,由于打印机的DPI较高,对待打印数据进行位图转换后的数据量较大,而受限于打印机的数据传输速率,在打印文档的过程中位图数据的传输占据了大量时间,导致数据打印效率较低。基于此,提供本方案实施例的打印控制方法,以解决现有打印控制方案在打印数据的过程中位图数据的传输占据了大量时间,导致数据打印效率较低的技术问题。
图1给出了本申请实施例提供的一种打印控制方法的流程图,本申请实施例提供的打印控制方法可以由打印控制装置来执行,该打印控制装置可以通过硬件和/或软件的方式实现,并集成在打印控制设备(例如电脑、可移动设备等)中。
下述以打印控制装置执行打印控制方法为例进行描述。参考图1,该打印控制方法包括:
S110:获取待打印数据,将待打印数据转换为第一位图数据。
示例性的,获取需要进行打印的待打印数据,并将待打印数据转换为第一位图数据。其中,第一位图数据的位图数据格式可根据打印机的打印机类型进行确定,本方案提供的打印机类型包括黑白打印机和彩色打印机。
在一个实施例中,本方案提供的打印控制方法在在将待打印数据转换为第一位图数据时,可以是根据打印机类型将待打印数据转换为对应位图数据格式的第一位图数据。
示例性的,可预先设定不同的打印机类型所对应的位图数据格式,在将待打印数据转换为第一位图数据之前,可确定进行打印的打印机类型,并确定打印机类型对应的位图数据格式,再按照确定的位图数据格式将待打印数据转换为第一位图数据。本方案通过根据打印机类型将待打印数据准确转换为对应位图数据格式的第一位图数据,保证数据的准确打印,保证数据打印质量。
在一个可能的实施例中,本方案提供的打印机类型包括黑白打印机和彩色打印机,位图数据格式包括二值位图格式和设定位数图格式,设定位数图格式对应的位数大于2,其中,黑白打印机对应的位图数据格式为二值位图格式,彩色打印机对应的位图数据格式为设定位数图格式,设定位数图格式对应的位数可根据彩色打印机可识别的位图位数进行设定。基于此,本方案提供的打印控制方法在根据打印机类型将待打印数据转换为对应位图数据格式的第一位图数据,包括以下至少一种:在打印机类型为黑白打印机的情况下,将待打印数据转换为二值位图格式的第一位图数据;在打印机类型为彩色打印机的情况下,将待打印数据转换为设定位数图格式的第一位图数据。
示例性的,在打印机类型为黑白打印机时,则将待打印数据转换为二值位图格式的第一位图数据,即通过黑白两种颜色表示第一位图数据中每个像素点的颜色。在打印机类型为彩色打印机时,则将待打印数据转换为设定位数图格式的第一位图数据,即通过设定位数的颜色值表示第一位图数据中每个像素点的颜色。例如,在设定位数为32位时,其通过4个通道的颜色值(CMYK4个通道对应的青(Cyan)、洋红(Magenta)、黄(Yellow)、黑(Black)4中颜色值)表示第一位图数据中每个像素点的颜色。本方案分别根据黑白打印机和彩色打印机的打印机类型将待打印数据转换为打印机可正确识别的第一位图数据,保证数据的准确打印,保证数据打印质量。
在一个实施例中,本方案提供的打印控制设备可连接一个或多个打印机,在连接一个打印机时,可直接根据所连接的打印机确定对应的位图数据格式,而在连接有多个打印机时,可根据默认或用户选择的打印机定对应的位图数据格式,保证将待打印数据准确转换为打印机可识别的位图数据格式的第一位图数据,保证数据的准确打印,保证数据打印质量。
在一个实施例中,在待打印数据为位图数据时,可以是直接将待打印数据作为第一位图数据,还可以是判断待打印数据的位图数据格式是否为打印机类型对应的位图数据格式,若是则直接将待打印数据作为第一位图数据,否则将待打印数据转换为打印机类型对应的位图数据格式,保证数据的准确打印,保证数据打印质量。
S120:根据设定的压缩数量范围以及第一位图数据中多个像素值连续相同的像素点,对第一位图数据进行压缩编码处理得到待传输数据,压缩数量范围与第一位图数据的位图数据格式对应。
本方案提供的压缩数量范围可理解为每次对第一位图数据中的像素点进行压缩编码的数量范围,其中,压缩数量范围与第一位图数据的位图数据格式对应。
示例性的,在将待打印数据转换为第一位图数据后,顺序遍历第一位图数据中的每一个像素点,并根据设定的压缩数量范围以及第一位图数据中多个像素值连续相同的像素点,对第一位图数据进行压缩编码处理得到待传输数据。例如,顺序遍历第一位图数据中的每一个像素点,在检测到第一位图数据中多个像素值连续相同的像素点在压缩数量范围内时,将该多个像素值连续相同的像素点进行压缩编码,对于其他像素点可基于非压缩的方式进行编码,得到待传输数据(包括压缩编码以及基于非压缩的方式进行编码得到的编码数据)。
在一个可能的实施例中,本方案提供的打印控制方法还包括以下至少一种:在第一位图数据对应的位图数据格式为二值位图格式的情况下,压缩数量范围为第一压缩数量范围;在第一位图数据对应的位图数据格式为设定位数图格式的情况下,压缩数量范围为第二压缩数量范围。其中,第一压缩数量范围为8~71,设定位数图格式为CMYK 32位图格式,设定位数图格式对应的压缩数量范围为2~129。
示例性的,在需要通过黑白打印机进行打印时,所生成的第一位图数据对应的位图数据格式为二值位图格式,此时可确定压缩数量范围为第一压缩数量范围,可根据第一压缩数量范围以及第一位图数据中多个像素值连续相同的像素点对第一位图数据进行压缩编码处理,例如将第一位图数据中数量在8~71中的多个像素值连续相同的像素点进行压缩编码,减少数量在8~71中的多个像素值连续相同的像素点编码后的数据量。
在需要通过彩色打印机进行打印时,所生成的第一位图数据对应的位图数据格式为设定位数图格式,此时可确定压缩数量范围为第二压缩数量范围,可根据第二压缩数量范围以及第一位图数据中多个像素值连续相同的像素点对第一位图数据进行压缩编码处理。例如将第一位图数据中数量在2~129中的多个像素值连续相同的像素点进行压缩编码,减少数量在2~129中的多个像素值连续相同的像素点编码后的数据量。本方案通过分别根据二值位图格式和设定位数图格式配置对应的第一压缩数量范围和第二压缩数量范围,更大限度地压缩更多的像素值连续相同的像素点,有效降低生成的待传输数据的数据量,减少在打印数据的过程中传输位图数据的时间占用,提升数据打印效率。
在一个可能的实施例中,如图2提供的一种待传输数据生成流程示意图所示,本方案提供的打印控制方法在根据设定的压缩数量范围以及第一位图数据中多个像素值连续相同的像素点,对第一位图数据进行压缩编码处理得到待传输数据时,包括:
S121:顺序读取第一位图数据中每个像素点的像素值。
S122:通过第一数量的字节数据对第一位图数据中满足连续条件的多个像素点进行编码,得到第一编码数据,其中,第一位图数据中像素点数量达到设定的压缩数量范围的多个像素值连续相同的像素点满足连续条件。
S123:通过第二数量的字节数据对第一位图数据中未满足连续条件的多个像素点进行编码,得到第二编码数据。
S124:基于第一编码数据和第二编码数据得到待传输数据。
示例性的,在将待打印数据转换为第一位图数据后,顺序读取第一位图数据中的每个像素点的像素值,并检测是否出现多个像素值连续相同的像素点。在检测到多个像素值连续相同的像素点时,确定这些像素值连续相同的像素点的数量是否达到设定的压缩数量范围。
在多个像素值连续相同的像素点的数量达到设定的压缩数量范围时,通过第一数量的字节数据对第一位图数据中满足连续条件的多个像素点进行编码,得到第一编码数据。此时,该第一数量的字节数据记录有这些满足连续条件的多个像素点对应的像素值。其中,在第一位图数据中的多个位置的多个像素点满足连续条件时,对应生成多个第一编码数据。其中,一个字节数据为8位。
对于未满足连续条件的像素点,则通过第二数量的字节数据对第一位图数据中未满足连续条件的多个像素点进行编码得到第二编码数据。其中,在第一位图数据中的多个位置的多个像素点未满足连续条件时,对应生成多个第二编码数据。
进一步的,在每次生成第一编码数据或第二编码数据时,将第一编码数据或第二编码数据拼接到上一个生成的第一编码数据或第二编码数据,在完成对第一位图数据的全部像素点的编码后,得到记录有多个第一编码数据和第二编码数据的待传输数据。可选的,可对有组合后的第一编码数据和第二编码数据添加设定的数据包头和数据包尾得到待传输数据,以对待传输数据进行标记。
例如,顺序读取第一位图数据中的每个像素点的像素值,判断开始的第三数量(第三数量可以是压缩数量范围对应的最小值,例如二值位图格式对应为8个,设定位数图格式对应的2个)的像素点是否满足连续条件。在开始的第三数量的像素点未满足连续条件时,通过第二数量的字节数据对第一位图数据中开始的第三数量的像素点进行编码得到第二编码数据,并继续判断后续的第三数量的像素点是否满足连续条件。在开始的第三数量的像素点满足连续条件,继续将后续的加入连续条件的判断中,直至后一个像素点的颜色值发生变化或确定的像素值连续相同的像素点的数量达到压缩数量范围的最大值,通过第一数量的字节数据对上述确定的多个像素点进行编码得到第一编码数据。继续读取后续的每个像素点的像素值,判断后续的第三数量的像素点是否满足连续条件确定编码方式,直至读取最后一个像素点并完成对第一位图数据的全部像素点的编码,可基于上述生成的多个第一编码数据和第二编码数据得到待传输数据。其中,在多个像素值连续相同的像素点在第三数量以内时,若对第三数量以内的多个像素值进行压缩后再编码,其所占用的数据量并不比直接对第三数量以内的多个像素值进行编码(即不压缩这些像素点)少,可直接通过第二数量的字节数据对第一位图数据中开始的第三数量的像素点进行编码得到第二编码数据,减少不必要的数据处理或对数据量的额外占用。
本方案通过第一数量的字节数据对第一位图数据中满足连续条件的多个像素点进行编码得到第一编码数据,以及通过第二数量的字节数据对第一位图数据中未满足连续条件的多个像素点进行编码得到第二编码数据,并基于第一编码数据和第二编码数据得到待传输数据,准确对多个像素值连续相同的像素点进行压缩,更大限度地压缩更多的像素值连续相同的像素点,有效降低生成的待传输数据的数据量。
在一个可能的实施例中,本方案提供的打印控制方法在通过第一数量的字节数据对第一位图数据中满足连续条件的多个像素点进行编码,得到第一编码数据时,包括以下至少一种:
在第一位图数据对应的位图数据格式为二值位图格式的情况下,通过单个字节数据对第一位图数据中满足连续条件的多个像素点进行编码,得到第一编码数据;
在第一位图数据对应的位图数据格式为设定位数图格式的情况下,通过5个字节数据对第一位图数据中满足连续条件的多个像素点进行编码,得到第二编码数据。
示例性的,在使用黑白打印机进行打印时,第一位图数据对应的位图数据格式为二值位图格式,此时可通过单个字节数据对第一位图数据中满足连续条件的多个像素点进行编码得到第一编码数据。在第一位图数据对应的位图数据格式为二值位图格式时,本方案提供的第一编码数据包括重复标识符、满足连续条件的像素点对应的像素值以及重复点数量,其中重复标识符、满足连续条件的像素点对应的像素值各占1位,重复点数量占6位。本方案通过单个字节数据对二值位图格式的第一位图数据中满足连续条件的多个像素点进行编码,极大地减少了待传输数据的数据量。
如下表提供的在使用黑白打印机进行打印时单个字节数据中各个位置记录的信息与重复标识符、像素值以及重复点数量的关系所示:
其中,字节数据中第7位记录的a(例如a=1)为重复标识符,指示当前字节数据记录的是压缩编码得到的第一编码数据,字节数据中第6位记录的x为满足连续条件的像素点对应的像素值,字节数据中第0-5位记录的信息为重复点数量。其中,单个字节数据对应的实际重复点数量为字节数据中记录的重复点数量+8,例如在发现71个像素值连续相同的像素点时,此时单个字节数据记录中记录的重复点数量为63(对应二进制为111111),在发现25个像素值连续相同的像素点时,此时单个字节数据记录中记录的重复点数量为17(对应二进制为010001)。本方案通过单个字节数据对二值位图格式的第一位图数据中满足连续条件的多个像素点进行编码得到第一编码数据,更大限度地压缩二值位图中更多的像素值连续相同的像素点,有效降低生成的待传输数据的数据量。
示例性的,在第一位图数据对应的位图数据格式为设定位数图格式(例如四通道的CMYK 32位图格式)时,则通过5个字节数据对第一位图数据中满足连续条件的多个像素点进行编码得到第二编码数据。在第一位图数据对应的位图数据格式为设定位数图格式时,本方案提供的第二编码数据包括重复标识符、重复点数量以及满足连续条件的像素点对应的第一像素值、第二像素值、第三像素值和第四像素值,其中,重复标识符和重复点数量对应一个字节数据(重复标识符和重复点数量共同占一个字节数据),第一像素值、第二像素值、第三像素值和第四像素值各占一个字节数据。本方案通过5个字节数据对设定位数图格式的第一位图数据中满足连续条件的多个像素点进行编码,极大地减少了待传输数据的数据量。
如下表提供的在第一位图数据对应的位图数据格式为设定位数图格式时5个字节数据中各个位置记录的信息与重复标识符、像素值以及重复点数量的关系所示:
其中,第一个字节数据中第7位记录的b(例如b=1)为重复标识符,指示当前字节数据记录的是压缩编码得到的第一编码数据,第一个字节数据中第0-6位记录的信息为重复点数量,第二个字节数据到第五个字节数据分别记录满足连续条件的像素点对应的第一像素值(C)、第二像素值(M)、第三像素值(Y)和第四像素值(K)。其中,5个字节数据对应的实际重复点数量为第一个字节数据中记录的重复点数量+2,例如在发现129个像素值连续相同的像素点时,此时第一个字节数据中记录的重复点数量为127(对应二进制为1111111),在发现25个像素值连续相同的像素点时,此时第一个字节数据中记录的重复点数量为23(对应二进制为0010111)。本方案通过5个字节数据对设定位数图格式的第一位图数据中满足连续条件的多个像素点进行编码得到第一编码数据,更大限度地压缩二值位图中更多的像素值连续相同的像素点,有效降低生成的待传输数据的数据量。
在一个可能的实施例中,本方案提供的打印控制方法在通过第二数量的字节数据对第一位图数据中未满足连续条件的多个像素点进行编码,得到第二编码数据,包括以下至少一种:
在第一位图数据对应的位图数据格式为二值位图格式的情况下,通过单个字节数据对第一位图数据中未满足连续条件的多个像素点进行编码,得到第二编码数据;
在第一位图数据对应的位图数据格式为设定位数图格式的情况下,通过第二数量的字节数据对第一位图数据中未满足连续条件的多个像素点进行编码,得到第二编码数据。
示例性的,在使用黑白打印机进行打印时,第一位图数据对应的位图数据格式为二值位图格式,此时可通过单个字节数据对第一位图数据中未满足连续条件的多个像素点进行编码得到第二编码数据。在第一位图数据对应的位图数据格式为二值位图格式时,本方案提供的第二编码数据包括非重复标识符以及未满足连续条件的多个像素点对应的像素值,其中非重复标识符占1位,未满足连续条件的多个像素点对应的像素值为7个,共占7位。本方案通过单个字节数据对第一位图数据中未满足连续条件的多个像素点进行编码,保证对第一位图数据的正确编码,保证数据打印质量。
如下表提供的在使用黑白打印机进行打印时单个字节数据中各个位置记录的信息与非重复标识符以及像素值的关系所示:
其中,字节数据中第7位记录的c(例如c=0)为非重复标识符,指示当前字节数据记录的是非压缩编码得到的第二编码数据,字节数据中第0-6位记录的信息为未满足连续条件的7个像素点对应的像素值,其中像素值为1时对应颜色为黑色,像素值为0时对应颜色为白色。本方案通过单个字节数据对二值位图格式的第一位图数据中未满足连续条件的多个像素点进行编码得到第二编码数据,保证对第一位图数据的正确编码,保证数据打印质量。
示例性的,在第一位图数据对应的位图数据格式为设定位数图格式(例如四通道的CMYK 32位图格式)时,则通过第二数量的字节数据对第一位图数据中未满足连续条件的多个像素点进行编码得到第二编码数据。在第一位图数据对应的位图数据格式为设定位数图格式(例如四通道的CMYK 32位图格式)时,本方案提供的第二编码数据包括非重复标识符、非重复点数量以及未满足连续条件的多个像素点对应的第一像素值、第二像素值、第三像素值和第四像素值。其中,非重复标识符、非重复点数量对应一个字节数据(非重复标识符、非重复点数量共同占一个字节数据),未满足连续条件的各个像素点的第一像素值、第二像素值、第三像素值和第四像素值各占一个字节数据。其中,第二编码数据对应的数据量为第二数量的字节数据,第二数据量为未满足连续条件的多个像素点对应的数量+1。
如下表提供的在第一位图数据对应的位图数据格式为设定位数图格式时第二数量的字节数据中各个位置记录的信息与非重复标识符、非重复点数量以及像素值的关系所示:
其中,第一个字节数据中第7位记录的d(例如d=0)为非重复标识符,指示当前第二数量的字节数据记录的是非压缩编码得到的第二编码数据,第一个字节数据中第0-6位记录的信息为非重复点数量,第二个字节数据到第二数量的字节数据分别记录第一位图数据中未满足连续条件的各个像素点对应的第一像素值(C)、第二像素值(M)、第三像素值(Y)和第四像素值(K)。其中,第二数量的字节数据对应的实际非重复点数量为第一个字节数据中记录的非重复点数量+1。通过记录非重复点数量的数量,打印机在解压解码待传输数据时,可确定非重复点对应的数量以及基于非重复点进行解压解码的起始位置,保证待传输数据的正确解压解码。本方案通过第二数量的字节数据对设定位数图格式的第一位图数据中未满足连续条件的多个像素点进行编码得到第二编码数据,保证对第一位图数据的正确编码,保证数据打印质量。
S130:向打印机传输待传输数据,通过打印机解压解码待传输数据得到第二位图数据,并打印第二位图数据。
示例性的,在对第一位图数据进行压缩编码处理得到待传输数据后,向打印机发送待传输数据。打印机在接收到待传输数据后,根据预先配置的数据解压解码方式(解压解码方式可根据对应的压缩编码方式进行配置)对待传输数据进行解压解码得到第二位图数据,并根据第二位图数据进行打印。
其中,第二位图数据与第一位图数据一致,对第二位图数据进行打印的效果与对第一位图数据进行打印的效果一致,由于在向打印机传输的待传输数据为对第一位图数据进行压缩编码后的数据,其数据量比第一位图数据小,数据传输占用的时间更小,在保证数据打印质量的同时,有效提高了数据打印效率。
例如,可将打印控制设备配置为电脑端(例如将本方案提供的打印控制流程配置在电脑端的打印系统中),并将打印机解压解码待传输数据得到第二位图数据,以及打印第二位图数据的流程配置在打印机固件中。以彩色打印机为例,电脑端的打印系统启动后等待用户发起数据打印请求,当接收到待打印数据后打印系统会调用打印机驱动,基于打印控制方法对待打印数据进行处理。打印机驱动调用系统API把待打印数据转换成CMYK 32的第一位图数据,然后根据设定的压缩数量范围以及第一位图数据中多个像素值连续相同的像素点,将第一位图数据压缩编码处理为待传输数据,最后把压缩后的待传输数据传输到打印机上。彩色打印机启动后会等待待传输数据的到来,当接收到待传输数据后,对待传输数据进行解压解码,还原出第二位图数据后控制打印机部件进行打印。以黑白打印机为例,电脑端的打印系统启动后等待用户发起数据打印请求,当接收到待打印数据后打印系统会调用打印机驱动,基于打印控制方法对待打印数据进行处理。打印机驱动调用系统API把待打印数据转换成二值的第一位图数据,然后根据设定的压缩数量范围以及第一位图数据中多个像素值连续相同的像素点,将第一位图数据压缩编码处理为待传输数据,最后把压缩后的待传输数据传输到打印机上。黑白打印机启动后会等待待传输数据的到来,当接收到待传输数据后,对待传输数据进行解压解码,还原出第二位图数据后控制打印机部件进行打印。其中,向打印机发送的待传输数据经过了压缩编码处理,减少在打印数据的过程中传输位图数据的时间占用,有效提升数据打印效率。
上述,通过将待打印数据转换为第一位图数据,根据设定的压缩数量范围以及第一位图数据中多个像素值连续相同的像素点,对第一位图数据进行压缩编码处理得到待传输数据,并向打印机传输待传输数据,通过打印机解压解码待传输数据得到第二位图数据并打印第二位图数据,向打印机发送的待传输数据经过了压缩编码处理,有效减少了向打印机发送的数据量,减少在打印数据的过程中传输位图数据的时间占用,提升数据打印效率。同时,通过第一数量的字节数据对第一位图数据中满足连续条件的多个像素点进行编码得到第一编码数据,以及通过第二数量的字节数据对第一位图数据中未满足连续条件的多个像素点进行编码得到第二编码数据,并基于第一编码数据和第二编码数据得到待传输数据,准确对多个像素值连续相同的像素点进行压缩,更大限度地压缩更多的像素值连续相同的像素点,有效降低生成的待传输数据的数据量。
图3给出了本申请实施例提供的一种打印控制装置的结构示意图。参考图3,该打印控制装置包括位图转换模块31、位图压缩模块32以及数据传输模块33。
其中,位图转换模块31,配置为获取待打印数据,将待打印数据转换为第一位图数据;位图压缩模块32,配置为根据设定的压缩数量范围以及第一位图数据中多个像素值连续相同的像素点,对第一位图数据进行压缩编码处理得到待传输数据,压缩数量范围与第一位图数据的位图数据格式对应;数据传输模块33,配置为向打印机传输待传输数据,通过打印机解压解码待传输数据得到第二位图数据,并打印第二位图数据。
上述,通过将待打印数据转换为第一位图数据,根据设定的压缩数量范围以及第一位图数据中多个像素值连续相同的像素点,对第一位图数据进行压缩编码处理得到待传输数据,并向打印机传输待传输数据,通过打印机解压解码待传输数据得到第二位图数据并打印第二位图数据,向打印机发送的待传输数据经过了压缩编码处理,有效减少了向打印机发送的数据量,减少在打印数据的过程中传输位图数据的时间占用,提升数据打印效率。
在一个可能的实施例中,位图转换模块31在将待打印数据转换为第一位图数据时,包括:根据打印机类型将待打印数据转换为对应位图数据格式的第一位图数据。
在一个可能的实施例中,位图转换模块31在根据打印机类型将待打印数据转换为对应位图数据格式的第一位图数据时,包括以下至少一种:
在打印机类型为黑白打印机的情况下,将待打印数据转换为二值位图格式的第一位图数据;
在打印机类型为彩色打印机的情况下,将待打印数据转换为设定位数图格式的第一位图数据。
在一个可能的实施例中,在第一位图数据对应的位图数据格式为二值位图格式的情况下,压缩数量范围为第一压缩数量范围,第一压缩数量范围为8~71;在第一位图数据对应的位图数据格式为设定位数图格式的情况下,压缩数量范围为第二压缩数量范围,设定位数图格式为CMYK 32位图格式,设定位数图格式对应的压缩数量范围为2~129。
在一个可能的实施例中,位图压缩模块32在根据设定的压缩数量范围以及第一位图数据中多个像素值连续相同的像素点,对第一位图数据进行压缩编码处理得到待传输数据时,包括:
顺序读取第一位图数据中每个像素点的像素值;
通过第一数量的字节数据对第一位图数据中满足连续条件的多个像素点进行编码,得到第一编码数据,其中,第一位图数据中像素点数量达到设定的压缩数量范围的多个像素值连续相同的像素点满足连续条件;
通过第二数量的字节数据对第一位图数据中未满足连续条件的多个像素点进行编码,得到第二编码数据;
基于第一编码数据和第二编码数据得到待传输数据。
在一个可能的实施例中,位图压缩模块32在通过第一数量的字节数据对第一位图数据中满足连续条件的多个像素点进行编码,得到第一编码数据时,包括以下至少一种:
在第一位图数据对应的位图数据格式为二值位图格式的情况下,通过单个字节数据对第一位图数据中满足连续条件的多个像素点进行编码,得到第一编码数据,其中,第一编码数据包括重复标识符、满足连续条件的像素点对应的像素值以及重复点数量;
在第一位图数据对应的位图数据格式为设定位数图格式的情况下,通过5个字节数据对第一位图数据中满足连续条件的多个像素点进行编码,得到第二编码数据,其中,第二编码数据包括重复标识符、重复点数量以及满足连续条件的像素点对应的第一像素值、第二像素值、第三像素值和第四像素值,重复标识符和重复点数量对应一个字节数据。
在一个可能的实施例中,位图压缩模块32在通过第二数量的字节数据对第一位图数据中未满足连续条件的多个像素点进行编码,得到第二编码数据时,包括以下至少一种:
在第一位图数据对应的位图数据格式为二值位图格式的情况下,通过单个字节数据对第一位图数据中未满足连续条件的多个像素点进行编码,得到第二编码数据,其中,第二编码数据包括非重复标识符以及未满足连续条件的多个像素点对应的像素值;
在第一位图数据对应的位图数据格式为设定位数图格式的情况下,通过第二数量的字节数据对第一位图数据中未满足连续条件的多个像素点进行编码,得到第二编码数据,其中,第二编码数据包括非重复标识符、非重复点数量以及未满足连续条件的多个像素点对应的第一像素值、第二像素值、第三像素值和第四像素值。
值得注意的是,上述打印控制装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本申请实施例的保护范围。
本申请实施例还提供了一种打印控制设备,该打印控制设备可集成本申请实施例提供的打印控制装置。图4是本申请实施例提供的一种打印控制设备的结构示意图。参考图4,该打印控制设备包括:输入装置43、输出装置44、存储器42以及一个或多个处理器41;存储器42,用于存储一个或多个程序;当一个或多个程序被一个或多个处理器41执行,使得一个或多个处理器41实现如上述实施例提供的打印控制方法。其中输入装置43、输出装置44、存储器42和处理器41可以通过总线或者其他方式连接,图4中以通过总线连接为例。
存储器42作为一种计算设备可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本申请任意实施例提供的打印控制方法对应的程序指令/模块(例如,打印控制装置中的位图转换模块31、位图压缩模块32以及数据传输模块33)。存储器42可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据设备的使用所创建的数据等。此外,存储器42可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器42可进一步包括相对于处理器41远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置43可用于接收输入的数字或字符信息,以及产生与设备的用户设置以及功能控制有关的键信号输入。输出装置44可包括显示屏等显示设备。
处理器41通过运行存储在存储器42中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的打印控制方法。
上述提供的打印控制装置、设备和计算机可用于执行上述任意实施例提供的打印控制方法,具备相应的功能和有益效果。
本申请实施例还提供一种存储计算机可执行指令的存储介质,上述计算机可执行指令在由计算机处理器执行时用于执行如上述实施例提供的打印控制方法,该打印控制方法包括:获取待打印数据,将待打印数据转换为第一位图数据;根据设定的压缩数量范围以及第一位图数据中多个像素值连续相同的像素点,对第一位图数据进行压缩编码处理得到待传输数据,压缩数量范围与第一位图数据的位图数据格式对应;向打印机传输待传输数据,通过打印机解压解码待传输数据得到第二位图数据,并打印第二位图数据。
存储介质——任何的各种类型的存储器设备或存储设备。术语“存储介质”旨在包括:安装介质,例如CD-ROM、软盘或磁带装置;计算机系统存储器或随机存取存储器,诸如DRAM、DDR RAM、SRAM、EDO RAM,兰巴斯(Rambus)RAM等;非易失性存储器,诸如闪存、磁介质(例如硬盘或光存储);寄存器或其它相似类型的存储器元件等。存储介质可以还包括其它类型的存储器或其组合。另外,存储介质可以位于程序在其中被执行的第一计算机系统中,或者可以位于不同的第二计算机系统中,第二计算机系统通过网络(诸如因特网)连接到第一计算机系统。第二计算机系统可以提供程序指令给第一计算机用于执行。术语“存储介质”可以包括可以驻留在不同位置中(例如在通过网络连接的不同计算机系统中)的两个或更多存储介质。存储介质可以存储可由一个或多个处理器执行的程序指令(例如具体实现为计算机程序)。
当然,本申请实施例所提供的一种存储计算机可执行指令的存储介质,其计算机可执行指令不限于如上提供的打印控制方法,还可以执行本申请任意实施例所提供的打印控制方法中的相关操作。
上述实施例中提供的打印控制装置、设备及存储介质可执行本申请任意实施例所提供的打印控制方法,未在上述实施例中详尽描述的技术细节,可参见本申请任意实施例所提供的打印控制方法。
上述仅为本申请的较佳实施例及所运用的技术原理。本申请不限于这里提供的特定实施例,对本领域技术人员来说能够进行的各种明显变化、重新调整及替代均不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由权利要求的范围决定。
Claims (10)
1.一种打印控制方法,其特征在于,包括:
获取待打印数据,将所述待打印数据转换为第一位图数据;
根据设定的压缩数量范围以及所述第一位图数据中多个像素值连续相同的像素点,对所述第一位图数据进行压缩编码处理得到待传输数据,所述压缩数量范围与所述第一位图数据的位图数据格式对应;
向打印机传输所述待传输数据,通过所述打印机解压解码所述待传输数据得到第二位图数据,并打印所述第二位图数据。
2.根据权利要求1所述的打印控制方法,其特征在于,所述将所述待打印数据转换为第一位图数据,包括:
根据打印机类型将所述待打印数据转换为对应位图数据格式的第一位图数据。
3.根据权利要求2所述的打印控制方法,其特征在于,所述根据打印机类型将所述待打印数据转换为对应位图数据格式的第一位图数据,包括以下至少一种:
在打印机类型为黑白打印机的情况下,将所述待打印数据转换为二值位图格式的第一位图数据;
在打印机类型为彩色打印机的情况下,将所述待打印数据转换为设定位数图格式的第一位图数据。
4.根据权利要求1所述的打印控制方法,其特征在于,在所述第一位图数据对应的位图数据格式为二值位图格式的情况下,所述压缩数量范围为第一压缩数量范围,所述第一压缩数量范围为8~71;在所述第一位图数据对应的位图数据格式为设定位数图格式的情况下,所述压缩数量范围为第二压缩数量范围,所述设定位数图格式为CMYK 32位图格式,所述设定位数图格式对应的压缩数量范围为2~129。
5.根据权利要求1所述的打印控制方法,其特征在于,所述根据设定的压缩数量范围以及所述第一位图数据中多个像素值连续相同的像素点,对所述第一位图数据进行压缩编码处理得到待传输数据,包括:
顺序读取所述第一位图数据中每个像素点的像素值;
通过第一数量的字节数据对所述第一位图数据中满足连续条件的多个像素点进行编码,得到第一编码数据,其中,所述第一位图数据中像素点数量达到设定的压缩数量范围的多个像素值连续相同的像素点满足连续条件;
通过第二数量的字节数据对所述第一位图数据中未满足连续条件的多个像素点进行编码,得到第二编码数据;
基于所述第一编码数据和所述第二编码数据得到待传输数据。
6.根据权利要求5所述的打印控制方法,其特征在于,所述通过第一数量的字节数据对所述第一位图数据中满足连续条件的多个像素点进行编码,得到第一编码数据,包括以下至少一种:
在所述第一位图数据对应的位图数据格式为二值位图格式的情况下,通过单个字节数据对所述第一位图数据中满足连续条件的多个像素点进行编码,得到第一编码数据,其中,所述第一编码数据包括重复标识符、满足连续条件的所述像素点对应的像素值以及重复点数量;
在所述第一位图数据对应的位图数据格式为设定位数图格式的情况下,通过5个字节数据对所述第一位图数据中满足连续条件的多个像素点进行编码,得到第二编码数据,其中,所述第二编码数据包括重复标识符、重复点数量以及满足连续条件的所述像素点对应的第一像素值、第二像素值、第三像素值和第四像素值,所述重复标识符和所述重复点数量对应一个字节数据。
7.根据权利要求5所述的打印控制方法,其特征在于,所述通过第二数量的字节数据对所述第一位图数据中未满足连续条件的多个像素点进行编码,得到第二编码数据,包括以下至少一种:
在所述第一位图数据对应的位图数据格式为二值位图格式的情况下,通过单个字节数据对所述第一位图数据中未满足连续条件的多个像素点进行编码,得到第二编码数据,其中,所述第二编码数据包括非重复标识符以及未满足连续条件的多个所述像素点对应的像素值;
在所述第一位图数据对应的位图数据格式为设定位数图格式的情况下,通过第二数量的字节数据对所述第一位图数据中未满足连续条件的多个像素点进行编码,得到第二编码数据,其中,所述第二编码数据包括非重复标识符、非重复点数量以及未满足连续条件的多个所述像素点对应的第一像素值、第二像素值、第三像素值和第四像素值。
8.一种打印控制装置,其特征在于,包括位图转换模块、位图压缩模块以及数据传输模块,其中:
所述位图转换模块,配置为获取待打印数据,将所述待打印数据转换为第一位图数据;
所述位图压缩模块,配置为根据设定的压缩数量范围以及所述第一位图数据中多个像素值连续相同的像素点,对所述第一位图数据进行压缩编码处理得到待传输数据,所述压缩数量范围与所述第一位图数据的位图数据格式对应;
所述数据传输模块,配置为向打印机传输所述待传输数据,通过所述打印机解压解码所述待传输数据得到第二位图数据,并打印所述第二位图数据。
9.一种打印控制设备,其特征在于,包括:存储器以及一个或多个处理器;
所述存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7任一项所述的打印控制方法。
10.一种存储计算机可执行指令的存储介质,其特征在于,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-7任一项所述的打印控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310980230.8A CN117111861A (zh) | 2023-08-04 | 2023-08-04 | 一种打印控制方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310980230.8A CN117111861A (zh) | 2023-08-04 | 2023-08-04 | 一种打印控制方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117111861A true CN117111861A (zh) | 2023-11-24 |
Family
ID=88806611
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310980230.8A Pending CN117111861A (zh) | 2023-08-04 | 2023-08-04 | 一种打印控制方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117111861A (zh) |
-
2023
- 2023-08-04 CN CN202310980230.8A patent/CN117111861A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8970883B2 (en) | Image forming apparatus and method of file conversion | |
US8237965B2 (en) | Apparatus, system, and method of communication | |
JP2000196787A (ja) | 通信システムおよびファクシミリ装置 | |
CN105323417A (zh) | 一种打印数据处理方法 | |
JP4906506B2 (ja) | 分割式ランレングス符号化方法および装置 | |
US5299027A (en) | Method and appratus for decoding and printing coded image, and facsimile apparatus, filing apparatus and communication apparatus using the same | |
US20070076966A1 (en) | Image forming system and method | |
US20080260273A1 (en) | Image processing apparatus and method | |
US6385341B1 (en) | Technique for decoding variable length data codes | |
EP2302896A2 (en) | Data processing apparatus and data processing method for compressing image data | |
CN117111861A (zh) | 一种打印控制方法、装置、设备及存储介质 | |
US7304756B2 (en) | Image information processing apparatus, and computer-readable recording medium | |
US4682241A (en) | Data transfer system | |
US20080309976A1 (en) | Communication device | |
US6538766B1 (en) | Conversion of digital data into bit-map mode | |
JP6428333B2 (ja) | 印刷システム、印刷制御装置、印刷装置、印刷方法および印刷プログラム | |
JP4908697B2 (ja) | 画像処理装置、画像処理制御方法、記憶媒体、及びプログラム | |
JP2007060261A (ja) | 画像形成装置 | |
US10939016B2 (en) | Image processing method and image processing apparatus | |
JPS5859665A (ja) | 書画伝送装置 | |
JP3187696B2 (ja) | 画像符号化装置 | |
JP2790755B2 (ja) | ファクシミリ装置 | |
JPH05145691A (ja) | フアクシミリ通信アダプタ | |
JP2007299304A (ja) | データ転送制御方法,装置および画像形成装置 | |
JP2002223360A (ja) | 符号化装置及び方法、復号装置及び方法、及び記憶媒体、並びにプリンタドライバ及びそれを格納する記憶媒体 |
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 |