本发明专利技术公开一种错位优先异形矩阵式二维条码排布方法,其包括以下步骤:步骤1:在一纸质基材上设置一表格,该表格内包含4个尺寸相同、横向并排的二维条码;步骤2:获取表格长宽尺寸LX和LY;步骤3:获取二维条码模块的长宽尺寸MX和MY;步骤4:计算二维条码符号的长尺寸PX=(LX-5*3MX)/4;步骤5:计算二维条码符号的模块数MC=PX/MX取整;步骤6:以表格左上角为原点,计算二维条码符号排布的起始Y坐标DY=(LY-MC*MY)/2;步骤7:计算第一个二维条码符号的起始X坐标D1X=3MX;步骤8:计算其余3个异形矩阵式二维条码符号的起始X坐标。本发明专利技术解决了在一个狭长表格区域,针对打印错位而尽可能保证二维条码落在正常表格内的技术问题,可以方便的连续打印多联票据。
【技术实现步骤摘要】
本专利技术涉及条码领域,具体而言,涉及一种多个异形矩阵式二维条码在一定区域内的排布方法。
技术介绍
矩阵式二维条码由若干边长相等的模块按X和Y方向相同数量拼接组成,整体矩阵式二维条码符号也是一个边长相等的正方形图像符号,模块通过黑色和白色分别表示信息O和1,整个矩阵式二维条码能表达一个数据包。模块越大,整个矩阵式二维条码符号的图像就越大,他们之间的尺寸成正比。反之如果限制了整个符号的面积,那么要想容纳更多的信息,就需要把模块的尺寸定义的比较小,但太小了又无法识别,这相当于是两个矛盾的 指标。通用的矩阵式二维条码图像符号一般是方的,当文件有足够的区域并且需要排布多个方的矩阵式二维条码时,直接并排就可以,当文件面积有限且是一个固定的狭长空间时,如何排布二维条码就有了一定的困难,尤其是为了充分利用面积空间,待排布和打印的二维条码是一个经过特殊设计构建的非方的异形矩阵式二维条码时,这个问题就进一步困难。有的应用场合,比如针式打印机连续打印多联票据时,经常出现整体向前或向后错位了一行或多行,这种情况比较常见,但只要内容完整,一般都会正常判定为有效单据而不会作废。不过对于那些使用了二维条码的票据,当发生错位时,二维条码会被错位出原来设计的应该在的表格里面,变成和旁边的印刷或是打印字符重叠,这样一来,二维条码就变得无法识别了,这种情况下票据只能作废重新打印,而错行情况又比较常见,如何在错行情况下仍然能够使二维条码打印在正常设计位置,是目前技术存在的问题。具体到在这种情况下,票据是设计需要排布多个异形矩阵式二维条码时,问题就进一步变得困难。因此,如何将上述问题加以解决,即为本领域技术人员的研究方向所在。
技术实现思路
本专利技术的主要目的是提供一种,其是用以实现在一个狭长表格区域,针对打印错位而尽可能保证二维条码落在正常表格内的排布方法。为了达到上述目的,本专利技术提供一种,其包括以下步骤步骤I :在一纸质基材上设置一表格,该表格内包含4个尺寸相同、横向并排的二维条码;步骤2 :获取表格长宽尺寸LX和LY ;步骤3 :获取二维条码模块的长宽尺寸MX和MY ;步骤4 :计算二维条码符号的长尺寸PX = (LX_5*3MX) /4 ;步骤5 :计算二维条码符号的模块数MC = PX/MX取整;步骤6:以表格左上角为原点,计算二维条码符号排布的起始Y坐标DY =(LY-MOMY) /2 ;步骤7 :计算第一个二维条码符号的起始X坐标DlX = 3MX ;步骤8 :计算其余3个异形矩阵式二维条码符号的起始X坐标D2X =D1X+MX*MC+3MX,D3X = D2X+MX*MC+3MX,D4X = D3X+MX*MC+3MX,其中,待排布的 4 个异形矩阵式二维条码符号的起始坐标分别为(D1X,DY),(D2X,DY),(D3X,DY),(D4X,DY),该系列坐标的原点是待打印异形矩阵式二维条码符号的表格左上角,原点坐标为(0,0)。较佳的实施方式中,所述的表格长LX为80臟,宽LY为20mm。较佳的实施方式中,所述的二维条码模块的长尺寸MX为O. 42mm,宽尺寸为O. 35mm0 较佳的实施方式中,所述4个二维条码之间大于等于1mm。较佳的实施方式中,所述的表格具有边框线,任一二维条码与所述边框线的距离大于等于Imm0较佳的实施方式中,所述二维条码在纵方向上居于表格中间。较佳的实施方式中,以所述表格左上角为原点(0,O),4个二维条码符号的起始坐标可设为(I. 26,2. 48),(20. 58,2. 48),(39.9,2. 48), (57. 22,2. 48),坐标度量单位为 mm。与现有技术相比,本专利技术的有益效果在于本专利技术提供的,因为上面和下面有了多余的空白,对与错位有了更好的容纳空间,优化地解决了在一个狭长表格区域,针对打印错位而尽可能保证二维条码落在正常表格内的技术问题,可以方便的连续打印多联票据,节省了时间和纸材。附图说明图I为本专利技术一示意图;图2为本专利技术一实施例示意图;图3为本专利技术另一较佳实施例示意图。附图标记说明1_纸质基材;2-表格;3_ 二维条码。具体实施例方式下面对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术提供一种错位优先考虑的异形矩阵式二维条码排布方法,用以实现在一个狭长表格区域,针对打印错位而尽可能保证二维条码落在正常表格内的排布方法。参阅图I及图2,本专利技术的,包括以下步骤步骤I :在一纸质基材I上设置一表格2,该表格2内包含4个尺寸相同、横向并排的二维条码3 ;步骤2 :获取异形矩阵式二维条码符号的表格长宽尺寸LX和LY ;步骤3 :获取异形矩阵式二维条码模块的长宽尺寸MX和MY ;其中,MX和MY尺寸来源于打印机的真实图像打印分辨率,在本专利技术中其是一个已知值。步骤4 :计算异形矩阵式二维条码符号的长尺寸PX = (LX_5*3MX) /4 ;配合参阅图2所示,由此图可知,本专利技术的表格2内设置有4个二维条码,那么会有5条缝隙,根据二维条码的国家标准,在二维条码的周围需要至少3个模块尺寸的空白(即3MX),所以I个缝隙需要3MX,MX表示二维条码模块的长尺寸,5个缝隙就是5*3MX,用表格总长度LX减去这5个缝隙的长度,再除以4,得到能够容纳的单个二维条码的长尺寸PX0步骤5 :计算二维条码符号的模块数MC = PX/MX取整; 在此步骤中,模块和模块数是二维条码标准中定义的一个名词概念,矩阵式二维条码由横竖数目相等的多个模块数组成,也就是说由二维条码标准的描述能够得知模块边长乘以模块数等于二维条码的边长,在本专利技术中突破了二维条码标准的定义,将模块定义为了不是正方形,但遵守二维条码标准中横向纵向模块数相同的规则,所以此步骤因为表格的尺寸限制得到的PX,除以模块的长尺寸MX,就能得到一个长方向上符合的模块数MC。步骤6 :以表格左上角为原点,计算二维条码符号排布的起始Y坐标DY =(LY-MOMY) /2 ;由于,MY是模块宽尺寸,模块数MC乘以MY是单个二维条码的纵向宽度,用表格宽度减去纵向宽度,再除以2,得到上下各空白的宽度,以左上角为坐标原点的话,也是Y坐标,因为4个二维条码是横向并排,所以Y坐标相同。步骤7 :计算第一个二维条码符号的起始X坐标DlX = 3MX ;由上述可以得知,在二维条码的周围需要至少3个模块尺寸的空白,所以I个缝隙需要3MX,因此,二维条码符号的起始X坐标DlX = 3MX。步骤8 :计算其余3个异形矩阵式二维条码符号的起始X坐标D2X =D1X+MX蝴C+3MX,D3X = D2X+MX蝴C+3MX,D4X = D3X+MX蝴C+3MX,其中,待排布的4个异形矩阵式二维条码符号的起始坐标分别为(D1X,DY),(D2X,DY),(D3X,DY),(D4X,DY),该系列坐标的原点是待打印异形矩阵式二维条码符号的表格左上角,原点坐标为(0,0)。下面举一实施例来对本专利技术上述步骤进行说明,请参阅图3所示步骤I :在一纸质基材I上设置一表格2,该表格2内包含4个尺寸相同、横向并排的本文档来自技高网...
【技术保护点】
一种错位优先异形矩阵式二维条码排布方法,其特征在于,其包括以下步骤:步骤1:在一纸质基材上设置一表格,该表格内包含4个尺寸相同、横向并排的二维条码;步骤2:获取表格长宽尺寸LX和LY;步骤3:获取二维条码模块的长宽尺寸MX和MY;步骤4:计算二维条码符号的长尺寸PX=(LX?5*3MX)/4;步骤5:计算二维条码符号的模块数MC=PX/MX取整;步骤6:以表格左上角为原点,计算二维条码符号排布的起始Y坐标DY=(LY?MC*MY)/2;步骤7:计算第一个二维条码符号的起始X坐标D1X=3MX;步骤8:计算其余3个异形矩阵式二维条码符号的起始X坐标:D2X=D1X+MX*MC+3MX,D3X=D2X+MX*MC+3MX,D4X=D3X+MX*MC+3MX,其中,待排布的4个异形矩阵式二维条码符号的起始坐标分别为:(D1X,DY),(D2X,DY),(D3X,DY),(D4X,DY),该系列坐标的原点是待打印异形矩阵式二维条码符号的表格左上角,原点坐标为(0,0)。
【技术特征摘要】
【专利技术属性】
技术研发人员:陈江宁,甘景全,偶瑞军,谢宇,李少维,李利,宋颍,
申请(专利权)人:航天信息股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。