CN107886015B - 条形码打印方法以及条形码打印装置 - Google Patents
条形码打印方法以及条形码打印装置 Download PDFInfo
- Publication number
- CN107886015B CN107886015B CN201610861772.3A CN201610861772A CN107886015B CN 107886015 B CN107886015 B CN 107886015B CN 201610861772 A CN201610861772 A CN 201610861772A CN 107886015 B CN107886015 B CN 107886015B
- Authority
- CN
- China
- Prior art keywords
- bar code
- line
- printing
- information
- height
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K1/00—Methods or arrangements for marking the record carrier in digital fashion
- G06K1/12—Methods or arrangements for marking the record carrier in digital fashion otherwise than by punching
- G06K1/121—Methods or arrangements for marking the record carrier in digital fashion otherwise than by punching by printing code marks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K19/00—Record carriers for use with machines and with at least a part designed to carry digital markings
- G06K19/06—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
- G06K19/06009—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
- G06K19/06018—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking one-dimensional coding
- G06K19/06028—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking one-dimensional coding using bar codes
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Printers Characterized By Their Purpose (AREA)
- Record Information Processing For Printing (AREA)
Abstract
本发明提供条形码打印方法和装置,该方法包括:a)接收来自外部设备的打印指令,b)对多条打印信息流进行解析;c)计算条形码的初始坐标;d)根据每一行的打印信息,确定该行的第一坐标范围,第一坐标范围是该行中除了字符以外的坐标范围;e)将条形码的初始坐标作为当前坐标,并判定当前坐标是否在第一坐标范围之内并且条形码的所述高度小于等于条形码所在一行的行高,如果是,则将当前坐标作为条形码的打印坐标,并进入步骤g),如果否,则进入步骤f);f)将条形码的初始坐标中的纵坐标或横坐标增加预定量,作为条形码的打印坐标,并进入步骤g);g)根据每行的条形码的信息以及打印坐标、和/或字符的信息,进行打印。
Description
技术领域
本发明涉及条形码的打印,尤其涉及条形码打印方法以及条形码打印装置。
背景技术
目前,在很多行业中,需要使用到条形码。尤其,例如,在物流行业中,经常通过数据管理服务器来进行单据的电子化管理。因此,在纸质单据输出时,经常使用条形码来表示关键数据,诸如订单号、客户号等等。在申请号201510603962.0的专利中,记载了一种条形码打印方法,该方法不依赖第三方的条形码字体模块,只通过打印设备本身来打印输出包含条形码的文档,从而有效地降低了使用成本。
上述方法虽然能够打印输出包含条形码的文档,但是对其中的条形码的打印位置并没有具体的判定,因此可能会出现条形码与字符或其他条形码相重叠的情况,如图1所示。
发明内容
鉴于上述问题,本发明的目的在于提供了一种条形码打印方法以及条形码打印装置。本发明的条形码打印方法以及条形码打印装置可以有效地避免条形码与字符或其他条形码相重叠的情况
根据本发明的一个方面,提供一种条形码打印方法,该方法包括以下步骤:
a)接收来自外部设备的打印指令,所述打印指令包含多条打印信息流;
b)对所述多条打印信息流进行解析,以获取与每条打印信息流相对应的一行的打印信息,所述打印信息包括所述一行的行号和行高、空白宽度、以及要打印的字符的信息和/或条形码的信息,所述条形码的信息包括所述条形码的高度;
c)对于每个所述条形码,根据所述条形码所在的一行之上的所有行的打印信息和所述条形码所在的一行的打印信息,计算所述条形码的初始坐标;
d)根据每一行的打印信息,确定该行的第一坐标范围,所述第一坐标范围是该行中除了所述字符以外的坐标范围;
e)对于每个所述条形码,将所述条形码的所述初始坐标作为当前坐标,并判定所述当前坐标是否在所述第一坐标范围之内并且所述条形码的所述高度小于等于所述条形码所在一行的行高,如果是,则将所述当前坐标作为所述条形码的打印坐标,并进入步骤g),如果否,则进入步骤f);
f)将所述条形码的初始坐标中的纵坐标或横坐标增加预定量,作为所述条形码的打印坐标,并进入步骤g);
g)根据每行的所述条形码的信息以及所述打印坐标、和/或所述字符的信息,进行打印。
根据上述方法,可以有效地避免条形码与字符或其他条形码相重叠的情况。
所述字符的信息包括所述字符的高度和宽度,在步骤c)中,从所述条形码所在的一行之上的所有行的打印信息中取出每行的行高,将所述每行的行高与所述条形码所在的一行的打印信息中的行高进行相加,得到所述初始坐标的纵坐标,并且所述初始坐标的横坐标是0或所述条形码所在的一行的打印信息中的所述条形码前面的所述空白宽度或所述空白宽度与所述字符的宽度之和。
如此,可以确定每个条形码的初始坐标。
所述条形码所在的一行的行高是该行中字符的最大高度或预定行高。
本发明还提供一种条形码打印装置,所述装置包括:
接收单元,用于接收来自外部设备的打印指令,所述打印指令包含多条打印信息流;
解析单元,用于对所述多条打印信息流进行解析,以获取与每条打印信息流相对应的一行的打印信息,所述打印信息包括所述一行的行号和行高、空白宽度、以及要打印的字符的信息和/或条形码的信息,所述条形码的信息包括所述条形码的高度;
计算单元,对于每个所述条形码,根据所述条形码所在的一行之上的所有行的打印信息和所述条形码所在的一行的打印信息,计算所述条形码的初始坐标;
确定单元,用于根据每一行的打印信息,确定该行的第一坐标范围,所述第一坐标范围是该行中除了所述字符以外的坐标范围;
判定单元,对于每个所述条形码,将所述条形码的所述初始坐标作为当前坐标,并判定所述当前坐标是否在所述第一坐标范围之内并且所述条形码的所述高度小于等于所述条形码所在一行的行高,如果是,则将所述当前坐标作为所述条形码的打印坐标,并进入打印单元,如果否,则进入调整单元;
调整单元,将所述条形码的初始坐标中的纵坐标或横坐标增加预定量,作为所述条形码的打印坐标,进入打印单元;
打印单元,根据每行的所述条形码的信息以及所述打印坐标、和/或所述字符的信息,进行打印。
根据本发明的条形码打印方法和条形码打印装置,可以有效地避免条形码与字符或其他条形码相重叠的情况。
附图说明
图1是根据现有的条形码打印方法所打印的页面的视图;
图2是根据本发明的实施例的条形码打印装置的示意图;
图3是根据本发明的实施例的条形码打印方法的流程图;
图4是根据本发明的实施例的条形码打印方法所打印的页面的视图。
具体实施方式
下面将参考附图描述根据本发明的各种实施例。
图2是根据本发明的实施例的条形码打印装置20的示意图,条形码打印装置20包括接收单元21、解析单元22、计算单元23、确定单元24、判定单元25、调整单元26和打印单元。
图3是根据本发明的实施例的条形码打印方法的流程图。下面结合图2和图3对本发明的实施例进行详细说明。
在步骤S31,接收单元21接收来自外部设备的打印指令,该打印指令包含多条打印信息流。外部设备例如是SAP服务器。
在步骤S32,解析单元22对多条打印信息流进行解析,以获取与每条打印信息流相对应的一行的打印信息,打印信息包括一行的行号和行高、空白宽度、以及要打印的字符的信息和/或条形码的信息,条形码的信息包括条形码的高度。
每行的打印信息包括要打印的字符的信息和/或条形码的信息,字符的信息中包括要字符的字体和内容,条形码的信息还包括条形码的格式和内容。解析单元22获取每条打印信息的具体过程和现有技术的相同,这里不再详述。
在步骤S33,对于每个条形码,计算单元23根据该条形码所在的一行之上的所有行的打印信息和该条形码所在的一行的打印信息,计算该条形码的初始坐标。
字符的信息包括字符的高度和宽度,该高度和宽度与字符的字体相对应。
计算单元23从该条形码所在的一行之上的所有行的打印信息中取出每行的行高,将每行的行高与该条形码所在的一行的打印信息中的行高进行相加,得到初始坐标的纵坐标,并且初始坐标的横坐标是0或该条形码所在的一行的打印信息中的条形码前面的空白宽度或空白宽度与字符的宽度之和。
参见图1,对于在第2行的条形码C1,计算单元23从第1行的打印信息中取出行高,并将该行高与第2行的打印信息中的行高进行相加,得到该条形码C1的初始坐标的纵坐标。本实施例中,例如第1行和第2行的行高分别是2,那么条形码C1的初始坐标的纵坐标y1是4。此外,条形码C1位于第2行的起点,那么条形码C1的初始坐标的横坐标x1是0。也就是说,条形码C1的初始坐标是(0,4)。
同样,如图1所示,对于在例如第25行的条形码C2,计算单元23从第1行到第25行的打印信息中取出每行的行高,并将每行的行高与第25行的打印信息中的行高进行相加,得到该条形码C2的初始坐标的纵坐标。本实施例中,例如第1行到第25行的行高分别是2,那么条形码C2的初始坐标的纵坐标y2是50。此外,条形码C2不是位于第25行的起点,计算单元23将第25行的条形码C2之前的空白宽度或空白宽度与字符的宽度之和作为条形码C2的初始坐标的横坐标。
本例中,第25行的条形码C2之前的空白宽度例如是20,位于条形码C2之前的所有字符的宽度之和为15,那么条形码C2的初始坐标的横坐标x2是20+15,即35。也就是说,条形码C2的初始坐标是(35,50)。这里,条形码的初始坐标是该条形码左下方起点的坐标。
在步骤S34中,确定单元24根据每一行的打印信息,确定该行的第一坐标范围,该第一坐标范围是该行中除了字符以外的坐标范围。
例如,如图1所示,第2行的打印信息中包括条形码C1的信息,没有字符的信息,那么确定单元24就将第1行的坐标范围作为第一坐标范围。本例中,第1行的第一坐标范围例如是(0,0)到(256,0)。另外,第25行的打印信息中包括条形码C2的信息和一些字符的信息,那么确定单元24就将第25行中除了这些字符之外的坐标范围作为该第一坐标范围。例如,第25行中处理字符以外的坐标范围,即,第25行的第一坐标范围是(10,50)到(25,50)以及(30,50)到(256,50)。
此外,如果某一行没有字符的信息和条形码的信息,即,该行是空白的,那么确定单元24就将这一行的坐标范围确定为第一坐标范围。
如此,确定单元24可以确定该打印页面中所有行的第一坐标范围。
接下来,在步骤S35中,判定单元25对于每个条形码,将条形码的初始坐标作为当前坐标,并判定当前坐标是否在第一坐标范围之内并且条形码的高度小于等于条形码所在一行的行高,如果是,则将当前坐标作为条形码的打印坐标,并进入步骤S27,如果否,则进入步骤S26。
条形码所在的一行的行高是该行中字符的最大高度或预定行高。在有字符的一行,取出这些字符中高度最大的一个字符的高度,作为该行的行高;在没有字符的一行,该行的行高是预定行高,例如是2。
例如,对于条形码C1,当前坐标是(0,4),判定单元25判定该当前坐标在上述第一坐标范围(0,0)到(256,0)之内,该条形码C1的高度例如是2,等于第2行的行高2,因此,将当前坐标(0,4)作为条形码C1的打印坐标,并进入步骤C27。
例如,对于条形码C2,当前坐标是(35,50),判定单元25判定该当前坐标在上述第一坐标范围(10,50)到(25,50)以及(30,50)到(256,50)之内,该条形码C2的高度例如是4,并非小于等于第25行的行高2,那么进入步骤S36。
在步骤S26,调整单元26将条形码的初始坐标中的纵坐标或横坐标增加预定量,作为所述条形码的打印坐标,并进入步骤S37。
例如,调整单元26将条形码C2的初始坐标中的纵坐标增加预定量,该预定量例如是5,即C2的初始坐标被调整为(35,55),作为C2的打印坐标,并进入步骤S37。这里,也可以将C2的初始坐标中的横坐标增加预定量,例如是5。
在步骤S37,打印单元27根据每行的条形码的信息以及打印坐标、和/或字符的信息,进行打印。
对于有条形码和字符的一行,打印单元27根据该行的条形码的信息以及该条形码的打印坐标、和字符的信息进行打印。对于只有字符而没有条形码的一行,打印单元27就根据该行的字符的信息进行打印。对于没有字符和条形码的一行,就是空白。打印单元27最终打印的页面如图4所示。
在本说明书中给出的所有数值仅仅是说明性的,而不是用于限定本发明的范围。
虽然经过对本发明结合具体实施例进行描述,对于本领域的技术技术人员而言,根据上文的叙述后作出的许多替代、修改与变化将是显而易见。因此,当这样的替代、修改和变化落入附后的权利要求的精神和范围之内时,应该被包括在本发明中。
Claims (6)
1.一种条形码打印方法,其特征在于,所述方法包括以下步骤:
a)接收来自外部设备的打印指令,所述打印指令包含多条打印信息流;
b)对所述多条打印信息流进行解析,以获取与每条打印信息流相对应的一行的打印信息,所述打印信息包括所述一行的行号和行高、空白宽度、以及要打印的字符的信息和/或条形码的信息,所述条形码的信息包括所述条形码的高度;
c)对于每个所述条形码,根据所述条形码所在的一行之上的所有行的打印信息和所述条形码所在的一行的打印信息,计算所述条形码的初始坐标;
d)根据每一行的打印信息,确定该行的第一坐标范围,所述第一坐标范围是该行中除了所述字符以外的坐标范围;
e)对于每个所述条形码,将所述条形码的所述初始坐标作为当前坐标,并判定所述当前坐标是否在所述第一坐标范围之内并且所述条形码的所述高度小于等于所述条形码所在一行的行高,如果是,则将所述当前坐标作为所述条形码的打印坐标,并进入步骤g),如果否,则进入步骤f);
f)将所述条形码的初始坐标中的纵坐标或横坐标增加预定量,作为所述条形码的打印坐标,并进入步骤g);
g)根据每行的所述条形码的信息以及所述打印坐标、和/或所述字符的信息,进行打印。
2.如权利要求1所述的条形码打印方法,其特征在于,所述字符的信息包括所述字符的高度和宽度,
在步骤c)中,从所述条形码所在的一行之上的所有行的打印信息中取出每行的行高,将所述每行的行高与所述条形码所在的一行的打印信息中的行高进行相加,得到所述初始坐标的纵坐标,并且所述初始坐标的横坐标是0或所述条形码所在的一行的打印信息中的所述条形码前面的所述空白宽度或所述空白宽度与所述字符的宽度之和。
3.如权利要求2所述的条形码打印方法,其特征在于,所述条形码所在的一行的行高是该行中字符的最大高度或预定行高。
4.一种条形码打印装置,其特征在于,所述装置包括:
接收单元,用于接收来自外部设备的打印指令,所述打印指令包含多条打印信息流;
解析单元,用于对所述多条打印信息流进行解析,以获取与每条打印信息流相对应的一行的打印信息,所述打印信息包括所述一行的行号和行高、空白宽度、以及要打印的字符的信息和/或条形码的信息,所述条形码的信息包括所述条形码的高度;
计算单元,对于每个所述条形码,根据所述条形码所在的一行之上的所有行的打印信息和所述条形码所在的一行的打印信息,计算所述条形码的初始坐标;
确定单元,用于根据每一行的打印信息,确定该行的第一坐标范围,所述第一坐标范围是该行中除了所述字符以外的坐标范围;
判定单元,对于每个所述条形码,将所述条形码的所述初始坐标作为当前坐标,并判定所述当前坐标是否在所述第一坐标范围之内并且所述条形码的所述高度小于等于所述条形码所在一行的行高,如果是,则将所述当前坐标作为所述条形码的打印坐标,并进入打印单元,如果否,则进入调整单元;
调整单元,将所述条形码的初始坐标中的纵坐标或横坐标增加预定量,作为所述条形码的打印坐标,进入打印单元;
打印单元,根据每行的所述条形码的信息以及所述打印坐标、和/或所述字符的信息,进行打印。
5.如权利要求4所述的条形码打印装置,其特征在于,所述字符的信息包括所述字符的高度和宽度,
所述计算单元从所述条形码所在的一行之上的所有行的打印信息中取出每行的行高,将所述每行的行高与所述条形码所在的一行的打印信息中的行高进行相加,得到所述初始坐标的纵坐标,并且所述初始坐标的横坐标是0或所述条形码所在的一行的打印信息中的所述条形码前面的所述空白宽度或所述空白宽度与所述字符的宽度之和。
6.如权利要求5所述的条形码打印装置,其特征在于,所述条形码所在的一行的行高是该行中字符的最大高度或预定行高。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610861772.3A CN107886015B (zh) | 2016-09-29 | 2016-09-29 | 条形码打印方法以及条形码打印装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610861772.3A CN107886015B (zh) | 2016-09-29 | 2016-09-29 | 条形码打印方法以及条形码打印装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107886015A CN107886015A (zh) | 2018-04-06 |
CN107886015B true CN107886015B (zh) | 2021-06-11 |
Family
ID=61769001
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610861772.3A Active CN107886015B (zh) | 2016-09-29 | 2016-09-29 | 条形码打印方法以及条形码打印装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107886015B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5294202A (en) * | 1992-06-05 | 1994-03-15 | Brother Kogyo Kabushiki Kaisha | Bar-code printing device |
CN1329328A (zh) * | 2000-04-14 | 2002-01-02 | 精工爱普生株式会社 | 二维码符号的打印方法,打印机,驱动器及存储介质 |
CN1969533A (zh) * | 2004-06-15 | 2007-05-23 | 松下电器产业株式会社 | 印刷装置 |
CN1987895A (zh) * | 2005-12-20 | 2007-06-27 | 富士通株式会社 | 布局分析程序、布局分析设备和布局分析方法 |
CN102810151A (zh) * | 2011-06-02 | 2012-12-05 | 航天信息股份有限公司 | 容量优先异形矩阵式二维条码排布方法 |
CN103738060A (zh) * | 2014-01-01 | 2014-04-23 | 晏石英 | 一种智能打印方法及智能打印机 |
CN105159877A (zh) * | 2015-06-18 | 2015-12-16 | 杭州电子科技大学 | 一种跨媒体自动排版系统及其方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20090018514A (ko) * | 2007-08-17 | 2009-02-20 | 삼성테크윈 주식회사 | 사진화상의 인쇄방법 및 그에 적용되는 포토 프린팅 시스템 |
CN101470767A (zh) * | 2007-12-28 | 2009-07-01 | 英业达股份有限公司 | 对象位置的检测方法 |
-
2016
- 2016-09-29 CN CN201610861772.3A patent/CN107886015B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5294202A (en) * | 1992-06-05 | 1994-03-15 | Brother Kogyo Kabushiki Kaisha | Bar-code printing device |
CN1329328A (zh) * | 2000-04-14 | 2002-01-02 | 精工爱普生株式会社 | 二维码符号的打印方法,打印机,驱动器及存储介质 |
CN1969533A (zh) * | 2004-06-15 | 2007-05-23 | 松下电器产业株式会社 | 印刷装置 |
CN1987895A (zh) * | 2005-12-20 | 2007-06-27 | 富士通株式会社 | 布局分析程序、布局分析设备和布局分析方法 |
CN102810151A (zh) * | 2011-06-02 | 2012-12-05 | 航天信息股份有限公司 | 容量优先异形矩阵式二维条码排布方法 |
CN103738060A (zh) * | 2014-01-01 | 2014-04-23 | 晏石英 | 一种智能打印方法及智能打印机 |
CN105159877A (zh) * | 2015-06-18 | 2015-12-16 | 杭州电子科技大学 | 一种跨媒体自动排版系统及其方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107886015A (zh) | 2018-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110069767B (zh) | 基于电子书的排版方法、电子设备及计算机存储介质 | |
CN111340037B (zh) | 文本版面分析方法、装置、计算机设备和存储介质 | |
CN105095166A (zh) | 流式电子书产生的方法及网站系统 | |
CN107423004B (zh) | Pos终端打印票据的方法及pos终端 | |
CN106599940A (zh) | 图片文字的识别方法及装置 | |
CN109683833B (zh) | 待打印图像增强方法、系统、设备及存储介质 | |
CN111240609A (zh) | 一种数据打印方法、装置、电子设备及存储介质 | |
CN108829363A (zh) | 业务凭证打印方法及装置 | |
US9886426B1 (en) | Methods and apparatus for generating an efficient SVG file | |
CN109388759B (zh) | 一种网页界面构建方法和系统、数据处理方法 | |
RU2601195C2 (ru) | Устройство проверки маркировки, содержащее модуль детектирования и обработки для детектирования маркировки | |
JP6978205B2 (ja) | 印刷制御装置、ラスタデータ生成方法、および、ラスタデータ生成プログラム | |
US20160044196A1 (en) | Image processing apparatus | |
CN113190191A (zh) | 一种打印方法以及装置 | |
CN107886015B (zh) | 条形码打印方法以及条形码打印装置 | |
CN106776527B (zh) | 电子书数据的显示方法、装置及终端设备 | |
CN112528889A (zh) | Ocr信息检测修正方法、装置、终端及存储介质 | |
CN109683834B (zh) | Gerber文件转化精度处理方法、系统、设备及存储介质 | |
US10657427B2 (en) | Information processing apparatus, information processing method and storage medium | |
CN104156345B (zh) | 识别便携文件格式文件中图注的方法和装置 | |
EP3336771A1 (en) | Information processing apparatus, program, printing apparatus, and printing system | |
JP6334467B2 (ja) | バーコード命令生成装置 | |
CN114265566A (zh) | 一种打印方法、装置、电子设备及可读储存介质 | |
CN102810169B (zh) | 异形矩阵式二维条码构建方法 | |
CN112882665A (zh) | 一种打印模板的生成方法、装置、电子设备及存储介质 |
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 |