CN109660527B - 一种打印机数据的压缩传输方法 - Google Patents
一种打印机数据的压缩传输方法 Download PDFInfo
- Publication number
- CN109660527B CN109660527B CN201811479642.9A CN201811479642A CN109660527B CN 109660527 B CN109660527 B CN 109660527B CN 201811479642 A CN201811479642 A CN 201811479642A CN 109660527 B CN109660527 B CN 109660527B
- Authority
- CN
- China
- Prior art keywords
- data
- column
- compressed
- printing
- byte
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0078—Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
- H04L1/0084—Formats for payload data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/41—Bandwidth or redundancy reduction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/46—Colour picture communication systems
- H04N1/50—Picture reproducers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N1/00—Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
- H04N1/46—Colour picture communication systems
- H04N1/64—Systems for the transmission or the storage of the colour picture signal; Details therefor, e.g. coding or decoding means therefor
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Record Information Processing For Printing (AREA)
Abstract
本发明公开了一种打印机数据的压缩传输方法,确定上位机中原始数据中每列数据编码的段数S和字节数W;根据每列数据编码的段数S和字节数W,判断该数据列是否进行压缩处理;在该数据列压缩形成的新数据列的初始位置设置压缩标识位,依次将数据列编码中连续相同编码的值和编码个数转换为以字节为单位的信息单元,与压缩标识位共同组成新的打印压缩数据列;将步骤S3处理后数据发送至下位机进行解压并打印。本发明的打印数据传输稳定,尤其在无线通讯等需要小数据包传输的场合,通过一定的算法实现了大数据包压缩为小数据包的数据传输;通过对打印数据的压缩过程实现对数据的加密。
Description
技术领域
本发明涉及打印机技术领域,尤其涉及一种打印机数据的压缩传输方法。
背景技术
智能终端作为上位机向作为下位机的打印机发送打印数据时,在现有蓝牙连接模式下,向打印机传输打印数据的速度差异性较大。最高7kbyte/s最低只有0.5kbyte/s,但在打印过程中实际需求的数据速率在3kbyte/s左右,较低的数据传输速率导致打印机的打印效率降低。为了提升打印数据的传输速度,需要在数据传输过程对原始数据进行必要的压缩或其他方式的处理。
发明内容
本发明的目的在于针对现有技术的不足而提供一种打印机数据的压缩传输方法,采用上位机对原始打印数据先进行压缩处理后再向下位机发送,下位机程序在接收到打印数据后需要进行解压操作,已提高打印数据的传输速度。
达到上述目的,本发明通过以下技术方案来实现,
一种打印机数据的压缩传输方法,包括以下步骤:
步骤S1、确定上位机中原始数据中每列数据编码的段数S和字节数W;
步骤S2、根据每列数据编码的段数S和字节数W,判断该数据列是否进行压缩处理;如果该列数据判断为需要压缩,则执行S3步;否则该列数据直接发送至下位机进行打印;
步骤S3、在该数据列压缩形成的新数据列的初始位置设置压缩标识位,依次将数据列编码中连续相同编码的值和编码个数转换为以字节为单位的信息单元,与压缩标识位共同组成新的打印压缩数据列;
步骤S4、将步骤S3处理后数据发送至下位机进行解压并打印。
进一步地,步骤S1中,对确定当前数据中每列数据编码的段数S的方式为:以每列数据编码中相同连续的打印位编码为一段,相邻两段之间以至少一个打印空位编码为间隔。
进一步地,步骤S2中,数据列是否进行压缩处理的判断方式为:若2*S+3<W,则该数据列将进行压缩处理;若2*S+3≥W,则该数据列不进行压缩处理。
进一步地,步骤S3中,压缩标识位包含两个字节,第一个字节为0xAA,第二个字节为0x55。
进一步地,在步骤S3之前,判断该数据列与上一数据列是否相同,若不同,则直接进行步骤S3;若相同,则在该数据列压缩后的初始位置设置复制压缩标识位,表示该数据列为复制压缩数据列。
进一步地,该复制压缩数据列仅包含复制压缩标识位。
进一步地,复制压缩标识位包含两个字节,第一个字节和第二个字节均为0xAA。
进一步地,步骤S3中的转换方式:将数据列编码中连续相同编码的编码个数换算为二进制的字节单元,将字节单元的最高位替换为连续相同编码的值。
进一步地,步骤S4中,信息单元中包含一个或两个十六进制字节单元,当连续编码值的个数≤127,则字节单元为一个;当连续编码值的个数>127,则字节单元为两个。
进一步地,步骤S4中,下位机对打印数据的解压方法为压缩方法的逆运算,包括以下步骤:
Y1、识别当前数据列的初始位置是否具有压缩标识位,若无压缩标识位,则直接打印,若具有压缩标识位,则进行解压处理;
Y2、对待解压处理的数据列去掉初始位置的压缩标识位;
Y3、将待解压处理的数据列中信息单元还原为相应的实际编码的编码值和编码值个数,对实际编码进行打印。
通过采用上述技术方案,本发明与现有技术相比较,该打印机数据的压缩传输方法使打印数据传输稳定,尤其在无线通讯等需要小数据包传输的场合,通过一定的算法实现了大数据包压缩为小数据包的数据传输;通过对打印数据的压缩过程实现对数据的加密。
附图说明
图1为本发明打印机数据的压缩传输方法的流程示意图。
具体实施方式
为了进一步描述本发明,下面结合附图进一步阐述一种打印机数据的压缩传输方法的具体实施方式,以下实施例是对本发明的解释和应用实例而本发明并不局限于以下实施例。
以标签打印机为例,打印数据以标签的左下角为起点,从下致上排列打印点,1为打印位编码,0为打印空位编码。每8个点组成1mm的打印图形单元,每一列的打印总点数应该是8的整数倍。数据列在水平方向从左至右排列,形成最终的打印图像。考虑到打印机最大打印宽度为192个点,每列数据最多为24个字节。只有压缩后的数据列包含小于24个字节,才有效果;若大于等于24个字节的数据,则没有压缩意义。因此本发明通过使用行程编码针对需压缩数据列进行压缩处理,不需要压缩部分的数据列正常传输
上位机通过应用程序将打印数据以一维字节数组形式,发送给下位机程序,如一个SG指令中的data域是一个一维数组,数组中包含了多列打印数据,在每列数据的初始位置会有两个字节的压缩标识位,来标识这列数据是按哪种方式进行存储的。
如图1所示一种打印机数据的压缩传输方法,包括以下步骤:
步骤S1:确定上位机中原始数据中每列数据编码的段数S和字节数W。对上位机的原始打印数据中的数据列编码进行分段,并获取当前数据列的段数S和当前数据列的原始字节数W。在具体实施例中,步骤S1中,对当前数据列的分段方式为:以当前数据列中连续的打印位编码为一段,相邻两段之间以至少一个打印空位编码为间隔。
步骤S2:根据每列数据编码的段数S和字节数W,判断该数据列是否进行压缩处理;如果该列数据判断为需要压缩,则执行S3步;否则该列数据直接发送至下位机进行打印。优选地,步骤S2中,当前数据列是否进行压缩处理的判断方式为:若2*S+3<W,则当前数据列将进行压缩处理;若2*S+3≥W,则当前数据列不进行压缩处理。
步骤S3:在该数据列压缩形成的新数据列的初始位置设置压缩标识位,依次将数据列编码中连续相同编码的值和编码个数转换为以字节为单位的信息单元,与压缩标识位共同组成新的打印压缩数据列。在打印机的打印数据一般都是有连续的0或1组成,组成10101010或01010101的数据元极其稀有,尤其是在标签的边缘。因此将0xAA(10101010)作为压缩数据的初始位置的压缩标识位。
具体地,将数据列编码中连续相同编码的编码个数换算为二进制的字节单元,将字节单元的最高位替换为连续相同编码的值。以字节单元的最高位为连续编码的编码值标识位,字节单元的低7位为连续编码值的个数。当字节单元为两个时,连续编码值的个数为第一个字节的低7位加上第二个字节的低7位的和。
在步骤S3中,压缩标识位包含两个字节:若第一个字节为0xAA,第二个字节为0x55(01010101),则当前数据列为压缩模式数据列,表示当前数据列编码经过压缩处理;
优选地,在步骤S3之前,判断该待压缩的数据列与上一数据列是否相同,若不同,则直接进行步骤S3;若相同,则在该数据列压缩后的初始位置设置复制压缩标识位,表示该数据列为复制压缩数据列。
优选地,该复制压缩数据列仅包含复制压缩标识位。复制压缩标识位包含两个字节,第一个字节和第二个字节均为0xAA。若第一个字节和第二个字节均为0xAA,则当前数据列为复制压缩数据列,表示当前数据列复制相邻的上一压缩数据列。
相应的,若当前数据列的初始位置无压缩标识位,则无需考虑是否是连续的打印空位0或打印位1,直接将每8个连续的编码(0或1)存入一个字节单元,比如五个0和三个1存储到一个字节中为0x07(00000111),并直接进行数据传输。
将待压缩处理的数据列中连续编码的编码值和编码值个数存储至由字节单元组成的信息单元中,形成新的打印压缩数据列。优选地,该步骤中信息单元中包含一个或两个十六进制字节单元,当连续编码值的个数≤127,则字节单元为一个;当连续编码值的个数>127,则字节单元为两个。
如一实施例中,当连续的打印空位0的个数小于127的情况下,该连续的打印空位数据存储到包含一个字节单元的信息单元中:该字节单元最高位为0,表示当前存储的都是0;低7位表示一共有多少个0,比如连续的5个0对应的字节存储为0x05(00000101)。
当连续的打印位1的个数小于127的情况下,该连续的打印位数据存储到包含一个字节单元的信息单元中:该字节单元最高位为1,表示当前存储的都是1;低7位表示一共有多少个1,比如连续的15个1对应的字节存储为0x8F(10001111)。
当连续的打印空位0的个数大于127的情况下,该连续的打印空位数据存储到包含两个字节单元的信息单元中:第一个字节和第二个字节的最高位都是0,表示当前存储的都是0;第一个字节的低7位加上第二个字节的低7位的和,共同表示一共有多少个0,比如连续的128个0对应的字节存储为0x7F 0x01(01111111 00000001)。
当连续的打印位1的个数大于127的情况下,该连续的打印位数据存储到包含两个字节单元的信息单元中:第一个字节和第二个字节的最高位都是1,表示当前存储的都是1;第一个字节的低7位加上第二个字节的低7位的和,共同表示一共有多少个1,比如连续的128个1对应的字节存储为0xFF0x81(11111111 10000001)。
步骤S4:将处理后的全部打印数据列发送至下位机进行解压并打印。优选地,下位机对打印数据的解压方法为压缩方法的逆运算,包括以下步骤:
Y1、识别当前数据列的初始位置是否具有压缩标识位,若无压缩标识位,则直接打印,若具有压缩标识位,则进行解压处理;
Y2、对待解压处理的数据列去掉初始位置的压缩标识位;
Y3、将待解压处理的数据列中信息单元还原为相应的实际编码的编码值和编码值个数,对实际编码进行打印。
显然,本发明的上述实施方式仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无法对所有的实施方式予以穷举。凡是属于本发明的技术方案所引伸出的显而易见的变化或变动仍处于本发明的保护范围之列。
Claims (10)
1.一种打印机数据的压缩传输方法,其特征在于包括以下步骤:
S1、确定上位机中原始数据中每列数据编码的段数S和字节数W;
S2、根据每列数据编码的段数S和字节数W,判断该数据列是否进行压缩处理;如果该列数据判断为需要压缩,则执行S3步;否则该列数据直接发送至下位机进行打印;
S3、在该数据列压缩形成的新数据列的初始位置设置压缩标识位,依次将数据列编码中连续相同编码的值和编码个数转换为以字节为单位的信息单元,与压缩标识位共同组成新的打印压缩数据列;
S4、将步骤S3处理后数据发送至下位机进行解压并打印。
2.根据权利要求1所述的打印机数据的压缩传输方法,其特征在于,步骤S1中,确定上位机中原始数据中每列数据编码的段数S的方式为:以每列数据编码中相同连续的打印位编码为一段,相邻两段之间以至少一个打印空位编码为间隔。
3.根据权利要求1所述的打印机数据的压缩传输方法,其特征在于,步骤S2中,数据列是否进行压缩处理的判断方式为:若2*S+3<W,则该数据列将进行压缩处理;若2*S+3≥W,则该数据列不进行压缩处理。
4.根据权利要求1所述的打印机数据的压缩传输方法,其特征在于,步骤S3中,压缩标识位包含两个字节,第一个字节为0xAA,第二个字节为0x55。
5.根据权利要求1所述的打印机数据的压缩传输方法,其特征在于,在步骤S3之前,判断该数据列与上一数据列是否相同,若不同,则直接进行步骤S3;若相同,则在该数据列压缩后的初始位置设置复制压缩标识位,表示该数据列为复制压缩数据列。
6.根据权利要求4所述的打印机数据的压缩传输方法,其特征在于,该复制压缩数据列仅包含复制压缩标识位。
7.根据权利要求4或5所述的打印机数据的压缩传输方法,其特征在于,复制压缩标识位包含两个字节,第一个字节和第二个字节均为0xAA。
8.根据权利要求1所述的打印机数据的压缩传输方法,其特征在于,步骤S3中的转换方式:将数据列编码中连续相同编码的编码个数换算为二进制的字节单元,将字节单元的最高位替换为连续相同编码的值。
9.根据权利要求7所述的打印机数据的压缩传输方法,其特征在于,信息单元中包含一个或两个十六进制字节单元,当连续编码值的个数≤127,则字节单元为一个;当连续编码值的个数>127,则字节单元为两个。
10.根据权利要求1所述的打印机数据的压缩传输方法,其特征在于,步骤S4中,下位机对打印数据的解压方法为压缩方法的逆运算,包括以下步骤:
Y1、识别当前数据列的初始位置是否具有压缩标识位,若无压缩标识位,则直接打印,若具有压缩标识位,则进行解压处理;
Y2、对待解压处理的数据列去掉初始位置的压缩标识位;
Y3、将待解压处理的数据列中信息单元还原为相应的实际编码的编码的值和编码个数,对实际编码进行打印。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811479642.9A CN109660527B (zh) | 2018-12-05 | 2018-12-05 | 一种打印机数据的压缩传输方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811479642.9A CN109660527B (zh) | 2018-12-05 | 2018-12-05 | 一种打印机数据的压缩传输方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109660527A CN109660527A (zh) | 2019-04-19 |
CN109660527B true CN109660527B (zh) | 2020-12-29 |
Family
ID=66112818
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811479642.9A Active CN109660527B (zh) | 2018-12-05 | 2018-12-05 | 一种打印机数据的压缩传输方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109660527B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110740138B (zh) * | 2019-10-24 | 2022-08-19 | 北京百度网讯科技有限公司 | 数据传输方法和装置 |
WO2022027243A1 (zh) * | 2020-08-04 | 2022-02-10 | 深圳市创必得科技有限公司 | 3d模型文件的编码方法、解码方法、装置及3d打印机 |
CN113704208B (zh) * | 2021-10-27 | 2022-02-08 | 浙江闪铸三维科技有限公司 | 一种3d打印文件的压缩方法 |
CN114040030B (zh) * | 2021-11-18 | 2023-11-24 | 深圳智慧林网络科技有限公司 | 一种基于预设规则的数据压缩方法、装置、设备和介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8099791B1 (en) * | 2004-06-25 | 2012-01-17 | Lexmark International, Inc. | Method of authenticating a consumable in an imaging device |
CN103095964A (zh) * | 2011-10-31 | 2013-05-08 | 北京大学 | 一种页面点阵压缩方法及装置 |
CN104572530A (zh) * | 2013-10-09 | 2015-04-29 | 上海市计算技术研究所 | 一种下位机、上位机及数据传输方法 |
CN107066243A (zh) * | 2016-12-06 | 2017-08-18 | 西安航空学院 | 一种通用的机载总线接口控制文档的解析和打包方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7167259B2 (en) * | 2000-05-16 | 2007-01-23 | International Business Machines Corporation | System and method for merging line work objects using tokenization and selective compression |
-
2018
- 2018-12-05 CN CN201811479642.9A patent/CN109660527B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8099791B1 (en) * | 2004-06-25 | 2012-01-17 | Lexmark International, Inc. | Method of authenticating a consumable in an imaging device |
CN103095964A (zh) * | 2011-10-31 | 2013-05-08 | 北京大学 | 一种页面点阵压缩方法及装置 |
CN104572530A (zh) * | 2013-10-09 | 2015-04-29 | 上海市计算技术研究所 | 一种下位机、上位机及数据传输方法 |
CN107066243A (zh) * | 2016-12-06 | 2017-08-18 | 西安航空学院 | 一种通用的机载总线接口控制文档的解析和打包方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109660527A (zh) | 2019-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109660527B (zh) | 一种打印机数据的压缩传输方法 | |
JP3260910B2 (ja) | 符号化方法 | |
KR101678223B1 (ko) | 멀티미디어 서명 코딩 및 디코딩 | |
JP2008511192A (ja) | マスクルックアップテーブルを使用して画像データを符号化するとともにこうした符号化画像データを復号する方法 | |
AU2004277271B2 (en) | Split runlength encoding method and apparatus | |
CN114286102A (zh) | 基于Base62编码的二值图像压缩编解码方法 | |
JP3211640B2 (ja) | 2値化画像の圧縮のための二次元的方法およびシステム | |
US6721456B1 (en) | Color image data and control bit compression scheme with run length encoding | |
EP0902398A2 (en) | System for compressing and decompressing binary representations of dithered images | |
US20020081027A1 (en) | Method for electronic transport of digital ink | |
CN110518915B (zh) | 一种比特位计数编码以及解码方法 | |
US6385341B1 (en) | Technique for decoding variable length data codes | |
KR100636370B1 (ko) | 결정 비트를 이용한 부호화 장치 및 그 방법과 그에 따른복호화 장치 및 그 방법 | |
JP2000101445A (ja) | 符号化方法、符号変換方法、符号変換装置及び画像形成装置 | |
US20040096115A1 (en) | Method for image compression by modified Huffman coding | |
JP4008428B2 (ja) | 画像圧縮方法 | |
JP3266419B2 (ja) | データ圧縮・伸長方式 | |
JP2005277932A (ja) | データ圧縮装置およびデータ圧縮プログラム | |
EP2485420A1 (en) | Data transmitting apparatus, data generating program and data transmitting/receiving method | |
US20120033239A1 (en) | Mechanism for Inserting Information Into a Bitmap | |
JP2005260408A (ja) | データ圧縮装置およびデータ圧縮プログラム | |
JP2001217722A (ja) | 情報符号化装置及び情報符号化方法及びコンピュータ読み取り可能な記憶媒体 | |
US20020085765A1 (en) | Dual mode data compression technique Dual mode data compression technique | |
CN111767753A (zh) | 一种用于加密二维码的分布式解码方法 | |
JP2000101847A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220215 Address after: 215400 No. 77, Weihai Road, Taicang City, Suzhou City, Jiangsu Province Patentee after: Feima (Jiangsu) Intelligent Technology Co.,Ltd. Patentee after: Shanghai weikan Electronic Material Co., Ltd Address before: 201801 no.655, Fengmao Road, Madong Industrial Park, Malu Town, Jiading District, Shanghai Patentee before: SHANGHAI VARICUT ELECTRONIC MATERIAL CO.,LTD. |
|
TR01 | Transfer of patent right |