CN107886015A - 条形码打印方法以及条形码打印装置 - Google Patents
条形码打印方法以及条形码打印装置 Download PDFInfo
- Publication number
- CN107886015A CN107886015A CN201610861772.3A CN201610861772A CN107886015A CN 107886015 A CN107886015 A CN 107886015A CN 201610861772 A CN201610861772 A CN 201610861772A CN 107886015 A CN107886015 A CN 107886015A
- Authority
- CN
- China
- Prior art keywords
- bar code
- row
- coordinate
- line
- type information
- 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
Links
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 true CN107886015A (zh) | 2018-04-06 |
CN107886015B 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 (9)
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 | 富士通株式会社 | 布局分析程序、布局分析设备和布局分析方法 |
CN101370065A (zh) * | 2007-08-17 | 2009-02-18 | 三星Techwin株式会社 | 打印图像的方法和使用该方法的照片打印*** |
CN101470767A (zh) * | 2007-12-28 | 2009-07-01 | 英业达股份有限公司 | 对象位置的检测方法 |
CN102810151A (zh) * | 2011-06-02 | 2012-12-05 | 航天信息股份有限公司 | 容量优先异形矩阵式二维条码排布方法 |
CN103738060A (zh) * | 2014-01-01 | 2014-04-23 | 晏石英 | 一种智能打印方法及智能打印机 |
CN105159877A (zh) * | 2015-06-18 | 2015-12-16 | 杭州电子科技大学 | 一种跨媒体自动排版***及其方法 |
-
2016
- 2016-09-29 CN CN201610861772.3A patent/CN107886015B/zh active Active
Patent Citations (9)
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 | 富士通株式会社 | 布局分析程序、布局分析设备和布局分析方法 |
CN101370065A (zh) * | 2007-08-17 | 2009-02-18 | 三星Techwin株式会社 | 打印图像的方法和使用该方法的照片打印*** |
CN101470767A (zh) * | 2007-12-28 | 2009-07-01 | 英业达股份有限公司 | 对象位置的检测方法 |
CN102810151A (zh) * | 2011-06-02 | 2012-12-05 | 航天信息股份有限公司 | 容量优先异形矩阵式二维条码排布方法 |
CN103738060A (zh) * | 2014-01-01 | 2014-04-23 | 晏石英 | 一种智能打印方法及智能打印机 |
CN105159877A (zh) * | 2015-06-18 | 2015-12-16 | 杭州电子科技大学 | 一种跨媒体自动排版***及其方法 |
Non-Patent Citations (1)
Title |
---|
姑丽祖热·吐尔逊: "连通域结合重叠度的维吾尔文档图像文字切分", 《计算机工程与设计》 * |
Also Published As
Publication number | Publication date |
---|---|
CN107886015B (zh) | 2021-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7483567B2 (en) | Device, program and method for generating a profile | |
US20070139412A1 (en) | Automatic font control value determination | |
JP2021515951A (ja) | ラベルデータ処理システム | |
CN104029510A (zh) | 喷墨印刷浓度修正方法、修正装置及喷墨印刷方法、设备 | |
JP2009003937A (ja) | デジタル画像におけるテキスト方向判定方法およびシステム、ならびに、制御プログラムおよび記録媒体 | |
US11568623B2 (en) | Image processing apparatus, image processing method, and storage medium | |
US20070024662A1 (en) | Printing apparatus, printing program, printing method, printing control device, printing control program, printing control method, and recording medium recorded with program | |
CN109683833B (zh) | 待打印图像增强方法、***、设备及存储介质 | |
US7773262B2 (en) | Image rendering method | |
CN102360505A (zh) | 一种图形验证码生成方法 | |
CN107094219B (zh) | 图像处理装置和图像处理方法 | |
WO2008048169A2 (en) | Printing of coding patterns | |
US8687239B2 (en) | Relevance based print integrity verification | |
CN107886015A (zh) | 条形码打印方法以及条形码打印装置 | |
CN110077138B (zh) | 用于高解析喷码机的多态喷印方法 | |
CN107688812B (zh) | 一种基于机器视觉的食品生产日期喷墨字体修复方法 | |
US9767397B2 (en) | Color separation condition determining apparatus, method and non-transitory storage medium | |
CN107193509A (zh) | 一种实现任意Windows字体汉字打印的方法 | |
US9925794B2 (en) | Print data generation apparatus performing color replacement on image data | |
US10521686B2 (en) | Image processing apparatus, information processing method and storage medium for generating an image file by extracting character pixels of a target image | |
US8125691B2 (en) | Information processing apparatus and method, computer program and computer-readable recording medium for embedding watermark information | |
JP6613871B2 (ja) | 情報処理装置、画像読み取り装置、および、プログラム | |
CN115809031B (zh) | 一种打印机控制***及其方法 | |
KR101598525B1 (ko) | 정보처리 장치, 정보처리 방법, 프로그램 및 기판 제조 시스템 | |
US20080225340A1 (en) | Image processing apparatus, image processing method, and computer program product |
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 |