CN103909741A - 利用嵌入式系统中9针打印机打印二维码的方法和装置 - Google Patents

利用嵌入式系统中9针打印机打印二维码的方法和装置 Download PDF

Info

Publication number
CN103909741A
CN103909741A CN201210592657.2A CN201210592657A CN103909741A CN 103909741 A CN103909741 A CN 103909741A CN 201210592657 A CN201210592657 A CN 201210592657A CN 103909741 A CN103909741 A CN 103909741A
Authority
CN
China
Prior art keywords
print
matrix
needle
byte
rectangular element
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.)
Granted
Application number
CN201210592657.2A
Other languages
English (en)
Other versions
CN103909741B (zh
Inventor
陈懿
陈皓
聂慧萍
张磊
高阳
张亚明
黄海东
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Aisino Corp
Original Assignee
Aisino Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Aisino Corp filed Critical Aisino Corp
Priority to CN201210592657.2A priority Critical patent/CN103909741B/zh
Publication of CN103909741A publication Critical patent/CN103909741A/zh
Application granted granted Critical
Publication of CN103909741B publication Critical patent/CN103909741B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Record Information Processing For Printing (AREA)

Abstract

本发明实施例提供了一种利用嵌入式系统中9针打印机打印二维码的方法和装置。该方法主要包括:根据9针打印机的打印区域尺寸和打印分辨率,计算出需要打印的二维码的逻辑矩阵的每个矩形单元对应的打印点数,根据逻辑矩阵的每个矩形单元对应的打印点数,利用位图数据结构将所述逻辑矩阵的每个矩形单元映射到9针打印机的打印像素矩阵的对应矩阵单元,从而将所述逻辑矩阵转换为9针打印机的打印像素矩阵。根据9针打印机的命令格式,将所述9针打印机的打印像素矩阵转换为打印机的字节流。本发明实施例可以在一个中低端的嵌入式环境下,用9针打印机打出符合精度要求和图形面积要求的二维码图形,同时保证较高的识读率。

Description

利用嵌入式系统中9针打印机打印二维码的方法和装置
技术领域
本发明涉及二维码打印技术领域,尤其涉及一种利用嵌入式系统中9针打印机打印二维码的方法和装置。
背景技术
二维码相比于一维条形码具有信息容量大、保密性高、抗损性强、备援性大等优点,因此近些年来在各类商业表单、票据、证件等领域有广泛的应用,可以说如今二维码的应用已经在生活中无处不在。嵌入式系统在近年飞速发展,它以其便捷性、成本低等特点在很多使用环境下具有比台式电脑更广的适用性。基于上述背景,若能在一个系统资源比较缺乏的中低端嵌入式环境下打印二维码,将会在很多领域的应用中具有优势。
嵌入式系统所使用的打印机,多采用比较小巧便宜的热敏或者9针打印机。其中热敏打印机因为打印内容无法长时间保存,故不适合用于诸如发票打印一类的领域。9针打印机的问题主要是打印分辨率低(一般横向≤160dpi,纵向≤144dpi),且横纵向分辨率不同,当对二维码的信息容量要求较大时,在满足可识读的情况下9针打印机打印出二维码的面积也会增加的较大,致使无法满足很多场合下的应用需求。
现有技术中的一种解决9针打印机打印二维码面积过大的问题的方法为:使用图像处理类的标准算法对二维码图像进行处理后,再将二维码图像由9针打印机打印。该方法的缺点为:该方法所需要的算法库往往比较庞大复杂,不适合向中低端嵌入式系统移植。
发明内容
本发明的实施例提供了一种利用嵌入式系统中9针打印机打印二维码的方法和装置,以实现用9针打印机有效地打印二维码。
一种利用嵌入式系统中9针打印机打印二维码的方法,包括:
根据9针打印机的打印区域尺寸和打印分辨率,计算出需要打印的二维码的逻辑矩阵的每个矩形单元对应的打印点数,所述逻辑矩阵的每个矩形单元代表了所述二维码中的一个基本单元;
根据所述逻辑矩阵的每个矩形单元对应的打印点数,利用位图数据结构将所述逻辑矩阵的每个矩形单元映射到9针打印机的打印像素矩阵的对应矩阵单元,从而将所述逻辑矩阵转换为9针打印机的打印像素矩阵;
根据所述9针打印机的命令格式,将所述9针打印机的打印像素矩阵转换为打印机的字节流。
一种利用嵌入式系统中9针打印机打印二维码的装置,包括:
打印点数计算模块,用于根据9针打印机的打印区域尺寸和打印分辨率,计算出需要打印的二维码的逻辑矩阵的每个矩形单元对应的打印点数,所述逻辑矩阵的每个矩形单元代表了所述二维码中的一个基本单元;
矩阵转换处理模块,用于根据所述逻辑矩阵的每个矩形单元对应的打印点数,利用位图数据结构将所述逻辑矩阵的每个矩形单元映射到9针打印机的打印像素矩阵的对应矩阵单元,从而将所述逻辑矩阵转换为9针打印机的打印像素矩阵;
打印处理模块,用于根据所述9针打印机的命令格式,将所述9针打印机的打印像素矩阵转换为打印机的字节流。
由上述本发明的实施例提供的技术方案可以看出,本发明实施例通过根据逻辑矩阵的每个矩形单元对应的打印点数,利用位图数据结构将逻辑矩阵转换为9针打印机的打印像素矩阵,可以在一个中低端的嵌入式环境下,用9针打印机打出符合精度要求和图形面积要求的二维码图形,同时保证较高的识读率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一提供的一种利用嵌入式系统中9针打印机打印二维码的方法的处理流程示意图;
图2为本发明实施例二提供的一种利用嵌入式系统中9针打印机打印二维码的装置的具体结构示意图。
具体实施方式
为便于对本发明实施例的理解,下面将结合附图以几个具体实施例为例做进一步的解释说明,且各个实施例并不构成对本发明实施例的限定。
实施例一
该实施例提供的一种利用嵌入式系统中9针打印机打印二维码的方法的处理流程示意图如图1所示,包括如下的处理步骤:
步骤11、根据9针打印机的打印区域尺寸和打印分辨率,计算出需要打印的二维码的逻辑矩阵的每个矩形单元对应的打印点数,所述逻辑矩阵的每个矩形单元代表了所述二维码中的一个基本单元。
对于矩形二维码来讲,生成算法所提供的是一个M*N的逻辑矩阵,该逻辑矩阵中每一个元素代表了二维码中的一个基本单元,在图像上表现为黑或者为白。当二维码规定其每个基本单元均为等面积的矩形方块时(目前多数主流的二维码都是这样规定的),上述逻辑矩阵中每一个元素为一个黑色或白色的矩形方块,该矩形方块就是二维码打印的基本图像元素,称之为矩形单元。
打印时所要处理的就是依据9针打印机的DPI(Dots Per Inch,打印分辨率)来确定每个矩形单元需要在横向和纵向各打出几针。设9针打印机的打印区域尺寸为P*Q,即要求在P*Q面积的一个区域内打印上述二维码。
根据9针打印机的DPI得到九针打印机打印的横向最小点距为dpx,纵向打印针距(物理排列间距)为dpy,则横向上上述逻辑矩阵的每个矩形单元对应的打印针数为x=P/M/dpx,纵向上由于目前9针打印机都支持最小半针间距的进纸,所以上述逻辑矩阵的每个单元对应的打印针数为y=Q/N/(dpy/2)。当x或y不为整数时,可采用每隔i个矩形单元多打一点或少打一点的方法来近似的满足打印要求。i的算法为,设round(x)为对x的四舍五入运算,若round(x)<x时,i=round(1/(x-round(x)))-1,此时为每打i个x点的矩形单元后,打一个x+1点的矩形单元;若round(x)>x时,i=round(1/(round(x)-x))-1,此时为每打i个x点的矩形单元后,打一个x-1点的矩形单元。这样可以保证以很小的偏差打印出二维码。
实际测试中对于i,若其值横向上大于M/4或纵向上大于N/4,即x或y比较接近整数时,则可以忽略其影响。反之,x或y越接近小数中值,则i越小,从而使打印补点操作的影响越大。
9针打印机受打印分辨率所限而无法打印出很精细的图像,所以x与y值不能太低,约在低于3.2时,打印机无法打出清晰且容易识读的二维码图像,换算成mil则是每个矩形单元精度不能低于21mil。
9针打印机能够打印的二维码图像的面积,取决于二维码种类(码制)和所包含的信息量,例如一个80字节信息量的QR二维码按21mil精度打印面积为2.2cm2,可满足大多数应用场合的需求。
步骤12、根据所述逻辑矩阵的每个矩形单元对应的打印点数,通过位图数据结构将所述逻辑矩阵的每个矩形单元映射到9针打印机的打印像素矩阵的对应矩阵单元,从而将所述逻辑矩阵转换为9针打印机的打印像素矩阵。
构建一个9针打印机的打印像素矩阵,该打印像素矩阵中的每个矩阵单元对应9针打印机的一个打印点,出于节省嵌入式系统内存资源的考虑。
采用bitvector(位图)数据结构可以很方便的实现从逻辑矩阵转换生成打印像素矩阵的复杂过程。设置上述bitvector数据结构的具体接口为:void(*write)(void*pHandle,int row,int col,int value),其中,pHandle表示位图数据结构指针,row表示位图元素行坐标,col表示位图元素列坐标,value表示位图元素值(0或1)。
通过上述bitvector数据结构将逻辑矩阵中的每个矩形单元映射成x*y个位点,将该x*y个位点按照bitvector数据结构中包含的行、列坐标值填充到打印像素矩阵中相应的x*y个矩形单元。通过这种方式遍历逻辑矩阵中的每个矩形单元,并按坐标逐个填充到打印像素矩阵中的对应矩形单元,从而实现逻辑矩阵转换成打印像素矩阵。
步骤13、根据所述9针打印机的命令格式,将所述9针打印机的打印像素矩阵转换为打印机的字节流。
设所述打印像素矩阵的行和列为S*P,按照从左往右的顺序将所述打印像素矩阵的每一纵列的第1位到第T位逐个取值,一直到将所述打印像素矩阵的所有纵列都取值,形成9针打印机输入字节流的第0字节、1字节、2字节、、、一直到第P-1字节,所述T小于所述S,T一般取值为8;
按照从左往右的顺序将所述打印像素矩阵的每一纵列的第T+1位到第2T位逐个取值,一直到将所述打印像素矩阵的所有纵列都取值,形成9针打印机输入字节流的第P字节、第P+1字节、第P+2字节、、、一直到第2P-1字节;
重复执行上述处理过程,一直到将所述打印像素矩阵的所有行和列都取值,在每个字节的空位的地方填充0;
通过一维字节型数组来存储所述各个字节,所述数组中的每个字节对应所述9针打印机的8点,调用打印函数将所述数组中的各个字节逐个打印,完成所述二维码的打印处理。
比如,打印像素矩阵为下述表1:
表1
比如,设上述T为8。将上述打印像素矩阵的物理存储形式定义为一维字节型数组,该数组中的每个字节对应打印机的8点,并提供一组函数以实现按行列坐标对数组中每个打印点位进行赋值或取值。
按照9针打印机数据流格式取字节流存入打印数据缓冲区。调用打印函数打印出二维码。打印机打印字节流的取值方式是采用如下述表2的方式截取上述表1的打印像素矩阵。
表2
从左往右按照每一纵列8位逐个取值,形成9针打印机输入字节流的第0字节、1字节、2字节、、、,处理完第一行后再生成下一行剩下的最后一个末尾字节,将该末尾字节作为每一纵列的第1位,并在剩下的第2-8位补充0。
按照上述表2的取字节方式,最后形成的打印字节序为0xFC、0xFC、0xFC、0xFC、0x1C、0x1C、0x1C、0xE3、0xE3、0xE3、0xE3、0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x80、0x80、0x80。
本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域普通技术人员可以理解:实施例中的设备中的模块可以按照实施例描述分布于实施例的设备中,也可以进行相应变化位于不同于本实施例的一个或多个设备中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
实施例二
该实施例提供的一种利用嵌入式系统中9针打印机打印二维码的装置的具体结构如图2所示,包括:
打印点数计算模块21,用于根据9针打印机的打印区域尺寸和打印分辨率,计算出需要打印的二维码的逻辑矩阵的每个矩形单元对应的打印点数,所述逻辑矩阵的每个矩形单元代表了所述二维码中的一个基本单元;
矩阵转换处理模块22,用于根据所述逻辑矩阵的每个矩形单元对应的打印点数,利用位图数据结构将所述逻辑矩阵的每个矩形单元映射到9针打印机的打印像素矩阵的对应矩阵单元,从而将所述逻辑矩阵转换为9针打印机的打印像素矩阵;
打印处理模块23,用于根据所述9针打印机的命令格式,将所述9针打印机的打印像素矩阵转换为打印机的字节流。
具体的,所述的打印点数计算模块21,具体用于设所述9针打印机的打印区域尺寸为P*Q,所述逻辑矩阵的行列数为M*N,所述九针打印机打印的横向最小点距为dpx,纵向打印针距为dpy,
横向上所述逻辑矩阵的每个矩形单元对应的打印针数为
x=P/M/dpx,
纵向上所述逻辑矩阵的每个矩形单元对应的打印针数为
y=Q/N/(dpy/2)。
当所述x或y不为整数时,则每隔i个矩形单元多打一点或少打一点,所述i的算法为:
设round(x)为对x的四舍五入运算,若round(x)<x时,i=round(1/(x-round(x)))-1,此时为每打i个x点的矩形单元后,打一个x+1点的矩形单元;
若round(x)>x时,i=round(1/(round(x)-x))-1,此时为每打i个x点的矩形单元后,打一个x-1点的矩形单元。
具体的,所述的矩阵转换处理模块22,具体用于构建所述9针打印机的打印像素矩阵,该打印像素矩阵中的每个矩阵单元对应9针打印机的一个打印点;
设置位图数据结构的具体接口为:void(*write)(void*pHandle,introw,int col,int value),其中,pHandle表示位图数据结构指针,row表示位图元素行坐标,col表示位图元素列坐标,value表示位图元素值(0或1);
通过所述位图数据结构将逻辑矩阵中的每个矩形单元映射成x*y个位点,将该x*y个位点按照所述位图数据结构中包含的行、列坐标值填充到打印像素矩阵中相应的x*y个矩形单元,通过这种方式遍历逻辑矩阵中的每个矩形单元,并按坐标逐个填充到打印像素矩阵中的对应矩形单元,从而实现逻辑矩阵转换成打印像素矩阵。
具体的,所述的打印处理模块23,具体用于设所述打印像素矩阵的行和列为S*P,按照从左往右的顺序将所述打印像素矩阵的每一纵列的第1位到第T位逐个取值,一直到将所述打印像素矩阵的所有纵列都取值,形成9针打印机输入字节流的第0字节、1字节、2字节、、、一直到第P-1字节,所述T小于所述S,T一般取值为8;
按照从左往右的顺序将所述打印像素矩阵的每一纵列的第T+1位到第2T位逐个取值,一直到将所述打印像素矩阵的所有纵列都取值,形成9针打印机输入字节流的第P字节、第P+1字节、第P+2字节、、、一直到第2P-1字节;
重复执行上述处理过程,一直到将所述打印像素矩阵的所有行和列都取值,在每个字节的空位的地方填充0;
通过一维字节型数组来存储所述各个字节,所述数组中的每个字节对应所述9针打印机的8点,调用打印函数将所述数组中的各个字节逐个打印,完成所述二维码的打印处理。
用本发明实施例的装置进行利用嵌入式系统中9针打印机打印二维码的具体过程与前述方法实施例类似,此处不再赘述。
本发明实施例适用于矩阵式二维码。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
综上所述,本发明实施例通过根据逻辑矩阵的每个矩形单元对应的打印点数,利用位图数据结构将逻辑矩阵转换为9针打印机的打印像素矩阵,提供的是一种简单的打印控制方法,可以在一个中低端的嵌入式环境下,用9针打印机打出符合精度要求和图形面积要求的二维码图形,同时保证较高的识读率,解决了9针打印机横、纵向分辨率不同所带来的打印等边矩阵(正方形)二维码图像的问题。
本发明实施例可以在涉及到二维码打印的商品流通、票据填开等领域有广泛应用。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

Claims (10)

1.一种利用嵌入式系统中9针打印机打印二维码的方法,其特征在于,包括:
根据9针打印机的打印区域尺寸和打印分辨率,计算出需要打印的二维码的逻辑矩阵的每个矩形单元对应的打印点数,所述逻辑矩阵的每个矩形单元代表了所述二维码中的一个基本单元;
根据所述逻辑矩阵的每个矩形单元对应的打印点数,利用位图数据结构将所述逻辑矩阵的每个矩形单元映射到9针打印机的打印像素矩阵的对应矩阵单元,从而将所述逻辑矩阵转换为9针打印机的打印像素矩阵;
根据所述9针打印机的命令格式,将所述9针打印机的打印像素矩阵转换为打印机的字节流。
2.根据权利要求1所述的利用嵌入式系统中9针打印机打印二维码的方法,其特征在于,所述的根据9针打印机的打印区域尺寸和打印分辨率,计算出需要打印的二维码的逻辑矩阵的每个矩形单元对应的打印点数,包括:
设所述9针打印机的打印区域尺寸为P*Q,所述逻辑矩阵的行列数为M*N,所述九针打印机打印的横向最小点距为dpx,纵向打印针距为dpy,
横向上所述逻辑矩阵的每个矩形单元对应的打印针数为
x=P/M/dpx,
纵向上所述逻辑矩阵的每个矩形单元对应的打印针数为
y=Q/N/(dpy/2)。
3.根据权利要求2所述的利用嵌入式系统中9针打印机打印二维码的方法,其特征在于,所述的方法还包括:
当所述x或y不为整数时,则每隔i个矩形单元多打一点或少打一点,所述i的算法为:
设round(x)为对x的四舍五入运算,若round(x)<x时,i=round(1/(x-round(x)))-1,此时为每打i个x点的矩形单元后,打一个x+1点的矩形单元;
若round(x)>x时,i=round(1/(round(x)-x))-1,此时为每打i个x点的矩形单元后,打一个x-1点的矩形单元。
4.根据权利要求3所述的利用嵌入式系统中9针打印机打印二维码的方法,其特征在于,所述的根据所述逻辑矩阵的每个矩形单元对应的打印点数,利用位图数据结构将所述逻辑矩阵的每个矩形单元映射到9针打印机的打印像素矩阵的对应矩阵单元,从而将所述逻辑矩阵转换为9针打印机的打印像素矩阵,包括:
构建所述9针打印机的打印像素矩阵,该打印像素矩阵中的每个矩阵单元对应9针打印机的一个打印点;
设置位图数据结构的具体接口为:void(*write)(void*pHandle,introw,int col,int value),其中,pHandle表示位图数据结构指针,row表示位图元素行坐标,col表示位图元素列坐标,value表示位图元素值,为0或1;
通过所述位图数据结构将逻辑矩阵中的每个矩形单元映射成x*y个位点,将该x*y个位点按照所述位图数据结构中包含的行、列坐标值填充到打印像素矩阵中相应的x*y个矩形单元,通过这种方式遍历逻辑矩阵中的每个矩形单元,并按坐标逐个填充到打印像素矩阵中的对应矩形单元,从而实现逻辑矩阵转换成打印像素矩阵。
5.根据权利要求1至4任一项所述的利用嵌入式系统中9针打印机打印二维码的方法,其特征在于,所述的根据所述9针打印机的命令格式,将所述9针打印机的打印像素矩阵转换为打印机的字节流,包括:
设所述打印像素矩阵的行和列为S*P,按照从左往右的顺序将所述打印像素矩阵的每一纵列的第1位到第T位逐个取值,一直到将所述打印像素矩阵的所有纵列都取值,形成9针打印机输入字节流的第0字节、1字节、2字节、、、一直到第P-1字节,所述T小于所述S;
按照从左往右的顺序将所述打印像素矩阵的每一纵列的第T+1位到第2T位逐个取值,一直到将所述打印像素矩阵的所有纵列都取值,形成9针打印机输入字节流的第P字节、第P+1字节、第P+2字节、、、一直到第2P-1字节;
重复执行上述处理过程,一直到将所述打印像素矩阵的所有行和列都取值,在每个字节的空位的地方填充0;
通过一维字节型数组来存储所述各个字节,所述数组中的每个字节对应所述9针打印机的8点,调用打印函数将所述数组中的各个字节逐个打印,完成所述二维码的打印处理。
6.一种利用嵌入式系统中9针打印机打印二维码的装置,其特征在于,包括:
打印点数计算模块,用于根据9针打印机的打印区域尺寸和打印分辨率,计算出需要打印的二维码的逻辑矩阵的每个矩形单元对应的打印点数,所述逻辑矩阵的每个矩形单元代表了所述二维码中的一个基本单元;
矩阵转换处理模块,用于根据所述逻辑矩阵的每个矩形单元对应的打印点数,利用位图数据结构将所述逻辑矩阵的每个矩形单元映射到9针打印机的打印像素矩阵的对应矩阵单元,从而将所述逻辑矩阵转换为9针打印机的打印像素矩阵;
打印处理模块,用于根据所述9针打印机的命令格式,将所述9针打印机的打印像素矩阵转换为打印机的字节流。
7.根据权利要求6所述的利用嵌入式系统中9针打印机打印二维码的装置,其特征在于:
所述的打印点数计算模块,具体用于设所述9针打印机的打印区域尺寸为P*Q,所述逻辑矩阵的行列数为M*N,所述九针打印机打印的横向最小点距为dpx,纵向打印针距为dpy,
横向上所述逻辑矩阵的每个矩形单元对应的打印针数为
x=P/M/dpx,
纵向上所述逻辑矩阵的每个矩形单元对应的打印针数为
y=Q/N/(dpy/2)。
8.根据权利要求6所述的利用嵌入式系统中9针打印机打印二维码的装置,其特征在于:
所述的打印点数计算模块,具体用于当所述x或y不为整数时,则每隔i个矩形单元多打一点或少打一点,所述i的算法为:
设round(x)为对x的四舍五入运算,若round(x)<x时,i=round(1/(x-round(x)))-1,此时为每打i个x点的矩形单元后,打一个x+1点的矩形单元;
若round(x)>x时,i=round(1/(round(x)-x))-1,此时为每打i个x点的矩形单元后,打一个x-1点的矩形单元。
9.根据权利要求8所述的利用嵌入式系统中9针打印机打印二维码的装置,其特征在于:
所述的矩阵转换处理模块,具体用于构建所述9针打印机的打印像素矩阵,该打印像素矩阵中的每个矩阵单元对应9针打印机的一个打印点;
设置位图数据结构的具体接口为:void(*write)(void*pHandle,introw,int col,int value),其中,pHandle表示位图数据结构指针,row表示位图元素行坐标,col表示位图元素列坐标,value表示位图元素值(0或1);
通过所述位图数据结构将逻辑矩阵中的每个矩形单元映射成x*y个位点,将该x*y个位点按照所述位图数据结构中包含的行、列坐标值填充到打印像素矩阵中相应的x*y个矩形单元,通过这种方式遍历逻辑矩阵中的每个矩形单元,并按坐标逐个填充到打印像素矩阵中的对应矩形单元,从而实现逻辑矩阵转换成打印像素矩阵。
10.根据权利要求6至9任一项所述的利用嵌入式系统中9针打印机打印二维码的装置,其特征在于:
所述的打印处理模块,具体用于设所述打印像素矩阵的行和列为S*P,按照从左往右的顺序将所述打印像素矩阵的每一纵列的第1位到第T位逐个取值,一直到将所述打印像素矩阵的所有纵列都取值,形成9针打印机输入字节流的第0字节、1字节、2字节、、、一直到第P-1字节,所述T小于所述S;
按照从左往右的顺序将所述打印像素矩阵的每一纵列的第T+1位到第2T位逐个取值,一直到将所述打印像素矩阵的所有纵列都取值,形成9针打印机输入字节流的第P字节、第P+1字节、第P+2字节、、、一直到第2P-1字节;
重复执行上述处理过程,一直到将所述打印像素矩阵的所有行和列都取值,在每个字节的空位的地方填充0;
通过一维字节型数组来存储所述各个字节,所述数组中的每个字节对应所述9针打印机的8点,调用打印函数将所述数组中的各个字节逐个打印,完成所述二维码的打印处理。
CN201210592657.2A 2012-12-30 2012-12-30 利用嵌入式系统中9针打印机打印二维码的方法和装置 Active CN103909741B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210592657.2A CN103909741B (zh) 2012-12-30 2012-12-30 利用嵌入式系统中9针打印机打印二维码的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210592657.2A CN103909741B (zh) 2012-12-30 2012-12-30 利用嵌入式系统中9针打印机打印二维码的方法和装置

Publications (2)

Publication Number Publication Date
CN103909741A true CN103909741A (zh) 2014-07-09
CN103909741B CN103909741B (zh) 2016-04-06

Family

ID=51035874

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210592657.2A Active CN103909741B (zh) 2012-12-30 2012-12-30 利用嵌入式系统中9针打印机打印二维码的方法和装置

Country Status (1)

Country Link
CN (1) CN103909741B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104647906A (zh) * 2015-02-04 2015-05-27 武汉华工激光工程有限责任公司 一种pcb板直接覆码方法
CN110110818A (zh) * 2019-05-14 2019-08-09 广州市宝绅科技应用有限公司 用于密集离散打印二维码的方法和密集打印二维码的装置
CN114228252A (zh) * 2021-12-24 2022-03-25 扬州东兴印刷包装有限公司 一种用于环保包装盒的绿色速干印刷工艺

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1336583A (zh) * 2001-09-03 2002-02-20 吴建明 一种新的距阵码打印与识别方法
JP2007118506A (ja) * 2005-10-31 2007-05-17 Seiko Epson Corp テープ印刷装置およびそのテープ印刷方法
CN101546383A (zh) * 2008-03-24 2009-09-30 兄弟工业株式会社 图像处理设备和方法
CN102122338A (zh) * 2006-02-15 2011-07-13 精工爱普生株式会社 打印装置以及打印方法
CN102446264A (zh) * 2010-10-15 2012-05-09 航天信息股份有限公司 增值税专用发票二维码的打印与扫描识别方法及系统
JP2012093971A (ja) * 2010-10-27 2012-05-17 Ns Solutions Corp 二次元コード生成装置、二次元コード読取装置、二次元コード、二次元コード生成方法、二次元コード読取方法及びプログラム
CN102806776A (zh) * 2011-06-02 2012-12-05 航天信息股份有限公司 一种用针式打印机在多联票据上打印二维条码的方法
CN102810163A (zh) * 2011-06-02 2012-12-05 航天信息股份有限公司 图像信道及其信息传递方法
CN102810169A (zh) * 2011-06-02 2012-12-05 航天信息股份有限公司 异形矩阵式二维条码构建方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1336583A (zh) * 2001-09-03 2002-02-20 吴建明 一种新的距阵码打印与识别方法
JP2007118506A (ja) * 2005-10-31 2007-05-17 Seiko Epson Corp テープ印刷装置およびそのテープ印刷方法
CN102122338A (zh) * 2006-02-15 2011-07-13 精工爱普生株式会社 打印装置以及打印方法
CN101546383A (zh) * 2008-03-24 2009-09-30 兄弟工业株式会社 图像处理设备和方法
CN102446264A (zh) * 2010-10-15 2012-05-09 航天信息股份有限公司 增值税专用发票二维码的打印与扫描识别方法及系统
JP2012093971A (ja) * 2010-10-27 2012-05-17 Ns Solutions Corp 二次元コード生成装置、二次元コード読取装置、二次元コード、二次元コード生成方法、二次元コード読取方法及びプログラム
CN102806776A (zh) * 2011-06-02 2012-12-05 航天信息股份有限公司 一种用针式打印机在多联票据上打印二维条码的方法
CN102810163A (zh) * 2011-06-02 2012-12-05 航天信息股份有限公司 图像信道及其信息传递方法
CN102810169A (zh) * 2011-06-02 2012-12-05 航天信息股份有限公司 异形矩阵式二维条码构建方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104647906A (zh) * 2015-02-04 2015-05-27 武汉华工激光工程有限责任公司 一种pcb板直接覆码方法
CN110110818A (zh) * 2019-05-14 2019-08-09 广州市宝绅科技应用有限公司 用于密集离散打印二维码的方法和密集打印二维码的装置
CN114228252A (zh) * 2021-12-24 2022-03-25 扬州东兴印刷包装有限公司 一种用于环保包装盒的绿色速干印刷工艺

Also Published As

Publication number Publication date
CN103909741B (zh) 2016-04-06

Similar Documents

Publication Publication Date Title
US7310157B2 (en) Method of generating a two-dimensional code with a constant background pattern
CN100511333C (zh) 二维码符号的打印方法,和打印机
EP1316061B1 (en) Data package template with data embedding
CN103909741B (zh) 利用嵌入式系统中9针打印机打印二维码的方法和装置
CN103336762A (zh) 一种在电子表格中提示相对行列值的方法及终端
CN107220689B (zh) 位置编码图案生成方法、装置、设备和可读存储介质
CN102407683B (zh) 打印机的无级变倍打印控制方法和装置
CN104680197B (zh) 一种实现9针打印机缩放打印二维码的方法
US20110011940A1 (en) Code pattern
CN102081736B (zh) 从可移植电子文档中提取字符外接矩形的设备和方法
CN101159028A (zh) 多图形化矩阵式二维条形码实现方法及装置
CN102810170B (zh) 快速响应矩阵码及其构建方法
US7057617B1 (en) Font memory and font data reading method
CN102810171B (zh) 汉信码及其构建方法
CN103136559A (zh) 可变条码的光栅化方法和装置
CN102810169B (zh) 异形矩阵式二维条码构建方法
CN102810151B (zh) 容量优先异形矩阵式二维条码排布方法
JP6166976B2 (ja) バーコードフォントデータのデータ構造、ページデータ生成装置、ラスタデータ生成装置、ラスタデータ生成方法およびプログラム
CN109919279A (zh) 一种二维码的扩展方法
Chen et al. Research and realization of encoding on QR code
CN102810149A (zh) 快速响应矩阵码位置探测图形及其构建方法
CN101295358A (zh) 一种用定位自纠错码埋藏计算机信息数据方法
CN101604231A (zh) 二维码符号的打印方法,和打印机
Khorshhed et al. Bilingual 2D Barcode Encoding with High Capacity
JP3735062B2 (ja) バーコード印字処理方法及びバーコード印字処理システム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant