一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

标签打印机数据无损打印方法及标签打印系统与流程

2022-09-15 03:04:28 来源:中国专利 TAG:


1.本发明涉及标签打印技术领域,具体的,涉及一种标签打印机数据无损打印方法,还涉及一种应用该标签打印机数据无损打印方法的标签打印系统。


背景技术:

2.目前,针对数据压缩算法,可分为有损压缩算法及无损压缩算法。根据打印的需要,在数据压缩方面需采用无损压缩,即解压后的数据与压缩前的数据完全一致,才能保证打印的完整性,有损压缩并不适用于打印。
3.当前主流的无损压缩算法,存在以下问题:1.未采用无损压缩算法进行打印,数据量大,打印时间长,也会因为下发数据无法达到打印机走纸的速率,造成卡顿、断层等不良,影响用户体验及打印效果;2.未采用无损压缩算法,数据量大,丢包的概率更高,特别在蓝牙传输上,丢包会造成打印错乱问题,浪费纸张;3.单一的压缩算法,并不适用于各类型的打印内容,例如基于字典模型的lzo压缩算法,压缩率不高,例如,基于统计型的huffman编码,压缩时间长,影响用户体验。因此,需要考虑更优的打印方法。


技术实现要素:

4.本发明的第一目的是提供一种在满足打印速率的要求下,解决打印卡顿、断层、错乱等问题,保证打印效果的标签打印机数据无损打印方法。
5.本发明的第二目的是提供一种在满足打印速率的要求下,解决打印卡顿、断层、错乱等问题,保证打印效果的标签打印系统。
6.为了实现上述第一目的,本发明提供的标签打印机数据无损打印方法包括:上位机获取待打印图片的原始图像数据;上位机对原始图像数据进行预处理,获得待打印图片的位图数据;上位机对位图数据进行游程编码,获得游程编码压缩率;上位机根据游程编码压缩率确认需要使用的预设压缩算法,利用预设压缩算法对位图数据进行压缩,获得压缩数据;下位机获取压缩数据后,确认压缩数据对应的预设压缩算法,利用对应的预设压缩算法对压缩数据进行解压,对解压后的数据进行打印。
7.由上述方案可见,本发明的标签打印机数据无损打印方法在上位机需要打印标签数据时,通过将原始图像数据装换成位图数据,并通过游程编码压缩率,确认打印数据的复杂程度,从而根据复杂程度确认需要使用的预设压缩算法,从而使得预设压缩算法适配当前打印数据,从而在满足打印速率的要求下,解决打印卡顿、断层、错乱等问题,保证了打印效果。
8.进一步的方案中,上位机根据游程编码压缩率确认需要使用的预设压缩算法的步骤包括:当游程编码压缩率大于预设压缩率时,上位机确认采用lzo压缩算法对位图数据进行压缩;当游程编码压缩率小于或等于预设压缩率时,上位机确认采用游程编码对位图数据进行压缩。
9.由此可见,游程编码压缩率大于预设压缩率时,则说明打印复杂程度较高,使用游
程编码压缩率不高,因此采用压缩率更适合的lzo压缩算法进行压缩。游程编码压缩率小于或等于预设压缩率,则说明打印数据复杂程度较低,使用游程编码压缩可以有更好的压缩率,保障打印的质量。
10.进一步的方案中,获得压缩数据的步骤包括:生成预设压缩算法对应的标记作为压缩数据的首个字节。
11.进一步的方案中,确认压缩数据对应的预设压缩算法的步骤包括:根据压缩数据的首个字节确认压缩数据对应的预设压缩算法。
12.由此可见,在生成压缩数据时,生成预设压缩算法对应的标记作为压缩数据的首个字节,可便于下位机进行压缩算法识别,提高识别速度。
13.进一步的方案中,上位机对原始图像数据进行预处理,获得待打印图片的位图数据的步骤包括:将原始图像数据转换成三通道图像数据;对三通道图像数据进行灰度化处理,获得灰度化图像数据;对灰度化图像数据进行二值化处理,获得二值化图像数据;对二值化图像数据进行位图转换,获得位图数据。
14.由此可见,由于标签打印机基本都是单色打印,例如,在白色打印纸打印黑色内容,对图片数据进行预处理,将把包含rgba四通道或rgb三通道的图片二值化处理为黑白图,可简化数据源,提高压缩效果。
15.进一步的方案中,游程编码压缩率由以下公式获得:p=a/b;其中,a为进行游程编码后的数据量,b为位图数据未压缩的数据量。
16.由此可见,游程编码压缩率可通过进行游程编码后的数据量和位图数据未压缩的数据量获得。
17.为了实现本发明的第二目的,本发明提供的标签打印系统,包括上位机和下位机,上位机和下位机信息交互;上位机:用于获取待打印图片的原始图像数据;对原始图像数据进行预处理,获得待打印图片的位图数据;对位图数据进行游程编码,获得游程编码压缩率;根据游程编码压缩率确认需要使用的预设压缩算法,利用预设压缩算法对位图数据进行压缩,获得压缩数据;下位机:用于获取压缩数据后,确认压缩数据对应的预设压缩算法,利用对应的预设压缩算法对压缩数据进行解压,对解压后的数据进行打印。
附图说明
18.图1是本发明标签打印机数据无损打印方法实施例的流程图。
19.图2是本发明标签打印系统实施例的结构框图。
20.以下结合附图及实施例对本发明作进一步说明。
具体实施方式
21.标签打印机数据无损打印方法实施例:
22.本实施例的标签打印机数据无损打印方法是应用在标签打印系统的应用程序,用于打印标签图像数据。
23.如图1所示,本实施例中,标签打印机数据无损打印方法在工作时,首先执行步骤s1,上位机获取待打印图片的原始图像数据。上位机在获取待打印图片的原始图像数据时,可通过编辑生成,或从存储装置读取获得。
24.获得原始图像数据后,执行步骤s2,上位机对原始图像数据进行预处理,获得待打印图片的位图数据。由于标签打印机基本都是单色打印,在获得原始图像数据后,为了便于标签打印机进行数据打印,需要对原始图像数据进行转换。
25.本实施例中,上位机对原始图像数据进行预处理,获得待打印图片的位图数据的步骤包括:将原始图像数据转换成三通道图像数据;对三通道图像数据进行灰度化处理,获得灰度化图像数据;对灰度化图像数据进行二值化处理,获得二值化图像数据;对二值化图像数据进行位图转换,获得位图数据。在对原始图像数据进行预处理时,由于无法确认原始图像数据是否带有alpha通道,因此,添加白色背景,将原始图像数据处理为rgb三通道图片数据,便于图片数据的生成。接着,使用opencv将三通道图像数据灰度化,灰度级别是0-255,接着,把灰度化图像数据二值化,二值化阀值为128。获得二值化图像数据后,为了满足下位机数据需求,根据下位机接收数据的进制要求生成位图数据,例如,下位机接收十六进制字节数据,0x00打印黑点,0xff打印白点。对图片数据进行预处理,将把包含rgba四通道或rgb三通道的图片二值化处理为黑白图,可简化数据源,提高压缩效果。
26.获得位图数据后,执行步骤s3,上位机对位图数据进行游程编码,获得游程编码压缩率。在上位机将需要打印的数据发送至下位机打印时,为了提高数据的传输速率,需要对数据进行压缩处理。由于不同的打印数据复杂程度不同,适用的压缩算法不同。因此,在进行数据压缩之前,需要判断位图数据的复杂程度。通过游程编码压缩率,可确认打印数据复杂程度。本实施例中,游程编码压缩率由以下公式获得:p=a/b;其中,a为进行游程编码后的数据量,b为位图数据未压缩的数据量。游程编码压缩率可通过进行游程编码后的数据量和位图数据未压缩的数据量获得,例如,位图数据进行游程编码后的数据为4097字节,已知位图数据未压缩的数据量为76800字节,得到游程编码压缩率为4097/76800≈5.33%。
27.获得游程编码压缩率后,执行步骤s4,上位机根据游程编码压缩率确认需要使用的预设压缩算法,利用预设压缩算法对位图数据进行压缩,获得压缩数据。其中,预设压缩算法为无损压缩算法,可根据需要进行设置,例如,预设压缩算法包括游程编码压缩算法、lzo压缩算法或huffman压缩算法。通过游程编码压缩率认需要使用的预设压缩算法后,可调用对应的压缩算法对位图数据进行压缩,从而获得压缩数据。利用预设压缩算法对位图数据进行压缩的技术为本领域技术人员所公知的技术手段,在此不再赘述。
28.本实施例中,上位机根据游程编码压缩率确认需要使用的预设压缩算法的步骤包括:当游程编码压缩率大于预设压缩率时,上位机确认采用lzo压缩算法对位图数据进行压缩;当游程编码压缩率小于或等于预设压缩率时,上位机确认采用游程编码对位图数据进行压缩。其中,预设压缩率为10%。对于打印图片数据而言,10%压缩率为区分简单、复杂图片的分界值,简单的图片使用游程编码压缩有更好的压缩率,复杂图片不适合游程编码,压缩率不高,更适合使用lzo压缩,经过大量的数据测试表明,当游程压缩率高于10%时,使用lzo压缩会更合适,例如,某一位图数据为71424字节,经过游程压缩后为9907字节,压缩率约为13.87%,经过lzo压缩后为6031字节,压缩率约为8.44%,因此,该图采用lzo进行压缩更合适。
29.一个可选的实施例中,上位机根据游程编码压缩率确认需要使用的预设压缩算法的步骤包括:当游程编码压缩率小于或等于第一预设压缩率时,上位机确认采用游程编码对位图数据进行压缩;当游程编码压缩率大于第一预设压缩率且小于或等于第二预设压缩
率时,上位机确认采用lzo压缩算法对位图数据进行压缩;当游程编码压缩率大于第二预设压缩率时,上位机确认采用huffman压缩算法对位图数据进行压缩。其中,第一预设压缩率为10%,第二预设压缩率为100%。
30.本实施例中,获得压缩数据的步骤包括:生成预设压缩算法对应的标记作为压缩数据的首个字节。为了便于下位机进行压缩算法识别,提高识别速度,在生成压缩数据时,生成预设压缩算法对应的标记作为压缩数据的首个字节。不同的压缩算法采用不同的标记,例如,压缩数据的首个字节为0x00时,表示使用游程编码进行压缩,压缩数据的首个字节为0x01时,表示使用lzo压缩算法进行压缩。获得压缩数据后,可将压缩数据下发至下位机进行打印处理。
31.本实施例中,上位机利用预设压缩算法对位图数据进行压缩后,执行步骤s5,下位机获取压缩数据后,确认压缩数据对应的预设压缩算法,利用对应的预设压缩算法对压缩数据进行解压,对解压后的数据进行打印。下位机获取到压缩数据,在需要打印前,需要进行解压,还原位图数据,在解压时,需要利用压缩数据对应的预设压缩算法进行解压。
32.本实施例中,确认压缩数据对应的预设压缩算法的步骤包括:根据压缩数据的首个字节确认压缩数据对应的预设压缩算法。例如,下位机根据压缩数据的首个字节判断使用的压缩算法,0x00为使用游程编码压缩,0x01为使用lzo压缩,若首个字节为0x00,则进行游程编码解压,移除压缩数据的首个字节,将剩余数据按两字节拆分,分别解压0xff,0x00连续游程长度,得到完整的数据,若首个字节为0x01,则进行lzo编码解压,移除压缩数据的首个字节,将剩余数据进行lzo编码解压。
33.解压完成后,则可对解压后的数据进行打印。
34.标签打印系统实施例:
35.参见图2,本实施例中,标签打印系统包括上位机1和下位机2,上位机1和下位机2信息交互。上位机1包括手机、移动电脑、台式电脑等计算机装置,下位机包括台式标签打印机、手持式标签打印机等。
36.本实施例中,上位机1:用于获取待打印图片的原始图像数据;对原始图像数据进行预处理,获得待打印图片的位图数据;对位图数据进行游程编码,获得游程编码压缩率;根据游程编码压缩率确认需要使用的预设压缩算法,利用预设压缩算法对位图数据进行压缩,获得压缩数据。下位机2:用于获取压缩数据后,确认压缩数据对应的预设压缩算法,利用对应的预设压缩算法对压缩数据进行解压,对解压后的数据进行打印。
37.本实施例的标签打印系统在打印时,应用上述实施例的标签打印机数据无损打印方法进行打印,在此不再赘述。
38.由上述可知,本发明的标签打印机数据无损打印方法在上位机需要打印标签数据时,通过将原始图像数据装换成位图数据,并通过游程编码压缩率,确认打印数据的复杂程度,从而根据复杂程度确认需要使用的预设压缩算法,从而使得预设压缩算法适配当前打印数据,从而在满足打印速率的要求下,解决打印卡顿、断层、错乱等问题,保证了打印效果。
39.需要说明的是,以上仅为本发明的优选实施例,但发明的设计构思并不局限于此,凡利用此构思对本发明做出的非实质性修改,也均落入本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献