双面打印控制方法及装置和双面打印的制造方法

文档序号:6490225阅读:368来源:国知局
双面打印控制方法及装置和双面打印的制造方法
【专利摘要】本发明公开了一种双面打印控制方法及装置和双面打印机。其中,双面打印控制方法包括:在接收打印数据之后,计算打印数据的长度;计算第一参考长度和第二参考长度;将打印数据拆分为打印长度对应于第一参考长度的第一数据和打印长度对应于第二参考长度的第二数据;以及在第一面打印第一数据,在第二面打印第二数据。通过本发明,解决了相关技术中使用卷筒纸进行双面打印时容易造成纸张浪费的问题,进而能够提高介质第二面的利用率以及节省介质。
【专利说明】双面打印控制方法及装置和双面打印机
【技术领域】
[0001]本发明涉及打印领域,具体而言,涉及一种双面打印控制方法及装置和双面打印机。
【背景技术】
[0002]应用于超市、商场等使用卷筒连续纸打印票据的双面打印机,其包括相对设置的第一打印头和第二打印头,其中,第一打印头用于在介质的第一面(如正面)打印,第二打印头用于在介质的第二面(如背面)打印。该种双面打印机通常具有两种工作模式,第一种模式是打印机接收的打印数据包括位于每行打印数据前用于区分第一打印数据和第二打印数据的数据标志,其中,第一打印数据由第一打印头打印在介质的第一面,第二打印数据由第二打印头打印在介质的第二面,打印机的控制器通过读取每行打印数据前的数据标志确定将该行打印数据发送给相应的打印头打印;第二种模式是打印机接收到的打印数据不包括位于每行打印数据前用于区分第一打印数据和第二打印数据的数据标志,打印机的控制器根据设定规则自动把接收的打印数据分解为打印在介质第一面的第一打印数据和打印在介质第二面的第二打印数据。
[0003]美国专利US20090147312公开了一种自动将打印数据分解为两面打印数据的双面打印控制方法和双面打印机,双面打印机在上述第二种模式工作时,如图1所示,根据设置的固定页面长度hy对打印长度为dy的打印数据30进行划分,如果dy>hy,则将打印数据30划分为打印长度为hy的正面数据31和打印长度为(dy-hy)的背面数据32 ;如果dy < hy,则不对打印数据进行划分,而是将所有打印数据打印在第一面,即正面数据的打印长度hy等于dy,背面无打印数据。由于实际使用过程中打印数据30的打印长度为变量,如果以固定页面长度hy划分打印数据,容易造成介质的浪费。比如,当打印机应用在超市中打印交易明细时,打印数据30的打印长度随顾客购买商品数量的变化而变化,假设固定页面长度hy=180mm,当打印数据30的打印长度dy=360mm时,由打印数据30划分的打印长度均为180mm的两面打印数据分别打印在介质的正面和背面,这时介质的正面和背面均被充分利用;当打印数据30的打印长度dy=200mm时,打印数据30被分为打印长度为180mm的正面数据和打印长度为20mm的背面数据,由于介质的背面仅有20mm的区域打印了数据,剩余160mm为空白区域,因此,造成介质的浪费。
[0004]针对相关技术中使用卷筒纸进行双面打印时容易造成纸张浪费的问题,目前尚未提出有效的解决方案。

【发明内容】

[0005]本发明的主要目的在于提供一种双面打印控制方法及装置和双面打印机,以解决相关技术中使用卷筒纸进行双面打印时容易造成纸张浪费的问题。
[0006]为了实现上述目的,根据本发明的一个方面,提供了 一种双面打印控制方法。该双面打印控制方法包括:在接收打印数据之后,计算打印数据的长度;计算第一参考长度和第二参考长度,其中,第一参考长度为第一面的打印长度,第二参考长度为第二面的打印长度,第一参考长度和第二参考长度之和等于打印数据的打印长度,第一参考长度和第二参考长度之差等于第一面的打印起始位置和第二面的打印起始位置之间的距离;将打印数据拆分为打印长度对应于第一参考长度的第一数据和打印长度对应于第二参考长度的第二数据;以及在第一面打印第一数据,在第二面打印第二数据。
[0007]进一步地,第一面的打印起始位置和第二面的打印起始位置之差小于等于在介质输送方向上第一打印头和第二打印头之间的距离,第一打印头用于在第一面上打印第一数据,第二打印头用于在第二面上打印第二数据。
[0008]进一步地,在计算第一参考长度和第二参考长度之后,以及在将打印数据拆分为打印长度对应于第一参考长度的第一数据和打印长度对应于第二参考长度的第二数据之前,上述方法还包括:判断上拆分区域内是否有空白点行,其中,上拆分区域为参考拆分位置之前打印长度为AL的打印数据,参考拆分位置为按照打印长度为第一参考长度的第一数据和打印长度为第二参考长度的第二数据进行拆分时的拆分位置,在判断出上拆分区域内有空白点行时,获取空白点行与参考拆分位置之间的最小打印长度Lup,其中,最小打印长度Lup为上拆分区域内所有空白点行与参考拆分位置之间的打印长度的最小值,判断下拆分区域内是否有空白点行,其中,下拆分区域为参考拆分位置之后打印长度为AL的打印数据,参考拆分位置为按照打印长度为第一参考长度的第一数据和打印长度为第二参考长度的第二数据进行拆分时的拆分位置,在判断出下拆分区域内有空白点行时,获取空白点行与参考拆分位置之间的最小打印长度Ldw,其中,最小打印长度Ldw为下拆分区域内所有空白点行与参考拆分位置之间的打印长度的最小值,判断Lup和Ldw是否均大于AL ;当Lup和Ldw均大于Λ L时,将第一参考长度作为第一优选长度,当Lup和Ldw不均大于Λ L时,判断Lup是否小于Ldw ;当Lup小于Ldw时,将第一参考长度和Lup的差作为第一优选长度;以及当Lup不小于Ldw时,将第一参考长度和Ldw的和作为第一优选长度,其中,将打印数据拆分为打印长度对应于第一参考长度的第一数据和打印长度对应于第二参考长度的第二数据包括:将打印数据拆分为打印长度对应于第一优选长度的第一数据和打印长度对应于第二优选长度的第二数据,其中,第二优选长度为打印数据的长度与第一优选长度的差。
[0009]进一步地,在判断出上拆分区域内没有空白点行时,将大于AL的值作为Lup的值,在判断出下拆分区域内没有空白点行时,将大于AL的值作为Ldw的值。
[0010]进一步地,将打印数据拆分为打印长度对应于第一参考长度的第一数据和打印长度对应于第二参考长度的第二数据包括:将打印数据拆分为打印长度为第一参考长度的第一数据和打印长度为第二参考长度的第二数据。
[0011]进一步地,打印数据为字符打印数据,上述双面打印控制方法还包括:对字符打印数据进行区域划分,生成第一长度参考表,其中,第一长度参考表为打印数据的所有可能拆分位置的打印长度列表,可能拆分位置为相邻区域的交界处,其中,计算第一参考长度之后,上述方法还包括:根据第一参考长度在第一长度参考表中进行查表,得到与第一参考长度最接近的长度,作为第一优选长度;以及将打印数据的长度与第一优选长度的差作为第二优选长度,其中,将打印数据拆分为打印长度对应于第一参考长度的第一数据和打印长度对应于第二参考长度的第二数据包括:将打印数据拆分为打印长度对应于第一优选长度的第一数据和打印长度对应于第二优选长度的第二数据。
[0012]进一步地,对字符打印数据进行区域划分,生成第一长度参考表包括:根据字符打印数据定义指令的不同,把打印数据的打印输出划分为不同的区域,每一个区域由连续的相同类型指令生成;以及在介质移动的方向上,按照不同的图像、条码、字符行再对每个打印区域进行划分,划分为不同的子区域,生成第一长度参考表,其中,第一长度参考表为打印数据的所有可能拆分位置的打印长度列表,可能拆分位置为相邻区域的交界处或相邻子区域的交界处。
[0013]为了实现上述目的,根据本发明的另一方面,提供了 一种双面打印控制装置。该双面打印控制装置包括:第一计算单元,用于在接收打印数据之后,计算打印数据的长度;第二计算单元,用于计算第一参考长度和第二参考长度,其中,第一参考长度为第一面的打印长度,第二参考长度为第二面的打印长度,第一参考长度和第二参考长度之和等于打印数据的打印长度,第一参考长度和第二参考长度之差等于第一面的打印起始位置和第二面的打印起始位置之间的距离;拆分单元,用于将打印数据拆分为打印长度对应于第一参考长度的第一数据和打印长度对应于第二参考长度的第二数据;以及打印单元,用于在第一面打印第一数据,在第二面打印第二数据。
[0014]进一步地,双面打印控制装置还包括:第一判断单元,用于判断上拆分区域内是否有空白点行,其中,上拆分区域为参考拆分位置之前打印长度为AL的打印数据,参考拆分位置为按照打印长度为第一参考长度的第一数据和打印长度为第二参考长度的第二数据进行拆分时的拆分位置,第一获取单元,用于在判断出上拆分区域内有空白点行时,获取空白点行与参考拆分位置之间的最小打印长度Lup,其中,最小打印长度Lup为上拆分区域内所有空白点行与参考拆分位置之间的打印长度的最小值,第二判断单元,用于判断下拆分区域内是否有空白点行,其中,下拆分区域为参考拆分位置之后打印长度为AL的打印数据,参考拆分位置为按照打印长度为第一参考长度的第一数据和打印长度为第二参考长度的第二数据进行拆分时的拆分位置,第二获取单元,用于在判断出下拆分区域内有空白点行时,获取空白点行与参考拆分位置之间的最小打印长度Ldw,其中,最小打印长度Ldw为下拆分区域内所有空白点行与参考拆分位置之间的打印长度的最小值,第三判断单元,用于判断Lup和Ldw是否均大于Δ L ;第一确定单元,用于当Lup和Ldw均大于AL时,将第一参考长度作为第一优选长度,第四判断单元,用于当Lup和Ldw不均大于Λ L时,判断Lup是否小于Ldw ;第二确定单元,用于当Lup小于Ldw时,将第一参考长度和Lup的差作为第一优选长度;以及第三确定单元,用于当Lup不小于Ldw时,将第一参考长度和Ldw的和作为第一优选长度,其中,拆分单元用于将打印数据拆分为打印长度对应于第一优选长度的第一数据和打印长度对应于第二优选长度的第二数据,其中,第二优选长度为打印数据的长度与第一优选长度的差。
[0015]为了实现上述目的,根据本发明的另一方面,提供了一种双面打印机。该双面打印机包括:通信接口,用于接收打印数据;第一打印头,用于在介质的第一面打印第一数据;第二打印头,用于在介质的第二面打印第二数据;控制器,用于在接收打印数据之后,计算打印数据的长度;计算第一参考长度和第二参考长度,其中,第一参考长度为第一面的打印长度,第二参考长度为第二面的打印长度,第一参考长度和第二参考长度之和等于打印数据的打印长度,第一参考长度和第二参考长度之差不大于第一打印头和第二打印头之间的距离;将打印数据拆分为打印长度对应于第一参考长度的第一数据和打印长度对应于第二参考长度的第二数据;以及控制第一打印头在第一面打印第一数据,控制第二打印头在第二面打印第二数据。
[0016]通过本发明,分别计算用于在介质的第一面和第二面打印的数据的第一参考长度和第二参考长度,且基于计算的参考长度对打印数据进行拆分,解决了相关技术中使用卷筒纸进行双面打印时容易造成纸张浪费的问题,进而达到了提高介质第二面的利用率以及节省介质的效果。
【专利附图】

【附图说明】
[0017]构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0018]图1是现有技术的对打印数据进行拆分的示意图;
[0019]图2是根据本发明一实施例的双面打印装置模块组成示意图;
[0020]图3是根据本发明一实施例的双面打印装置的结构示意图;
[0021]图4是根据本发明实施例的双面打印控制方法流程图;
[0022]图5a是根据本发明的双面打印控制方法的第一优选实施例的流程图;
[0023]图5b是根据本发明的双面打印控制方法的第二优选实施例的流程图;
[0024]图5c是根据本发明的双面打印控制方法的第三优选实施例的流程图;
[0025]图6a是根据本发明第一实施例的双面打印控制方法的拆分打印数据的示意图;
[0026]图6b是根据本发明一实施例的打印内容与第一打印头、第二打印头及切刀之间关系的不意图;
[0027]图6c是根据本发明第二实施例的双面打印控制方法的拆分打印数据的示意图;
[0028]图6d是根据本发明第三实施例的双面打印控制方法的拆分打印数据的示意图;
[0029]图7是根据本发明第三实施例的打印数据分区的示意图;
[0030]图8是本发明所提供的根据打印数据分区生成第一长度参考表的示意图;
[0031]图9是根据本发明另一实施例的双面打印装置模块组成示意图;以及
[0032]图10是根据本发明一优选实施例的双面打印装置的示意图。
【具体实施方式】
[0033]需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
[0034]图2是本发明所提供的打印装置的一实施例的组成示意图,如图所示,双面打印装置10包括控制器11、通信接口 12、RAM存储器13、FLASH存储器14、第一打印头15、第二打印头16、切刀17和检测单元18。其中,控制器11用于控制各模块执行工作,比如,控制器11用于控制通信接口 12接收打印请求装置(如主机30或网络设备)发送的打印数据和各种控制指令,其中,打印数据可以是打印头能够直接打印的点阵数据,简称为点阵打印数据,或者是由字符指令、标签定义指令、绘图指令等组成的数据,简称字符打印数据;当接收到的打印数据为字符打印数据时,控制器还用于把字符打印数据转换为点阵打印数据。控制器11还根据设定规则将点阵打印数据拆分为打印在介质第一面(如正面)的第一数据和打印在介质第二面(如背面)的第二数据,并控制第一打印头15打印第一数据以及控制第二打印头16打印第二数据;控制器还用于控制切刀17把已打印的票据从连续的介质上切割下来等。
[0035]通信接口 12,接收打印请求装置发送的打印数据、各种控制指令等,并把接收的打印数据、控制指令等保存在RAM存储器13中,其中,接收的打印数据可以是由点行数据组成的点阵打印数据,或者是由字符行、条码、图形等组成的字符打印数据,接收的控制指令包括开始打印指令、切纸指令等,其中,开始打印指令指示打印装置开始对接收的打印数据进行打印,切纸指令指示切刀动作,从而把已打印的票据从连续的介质上切割下来。常用的通信接口为串口、USB接口、以太网接口等。
[0036]RAM存储器13,包括接收缓冲区和打印缓冲区,其中,接收缓冲区用于保存通信接口 12接收的打印数据、各种控制指令,打印缓冲区用于保存发送给打印头的打印数据;FLASH存储器(S卩非易失性存储器)14,用于保存打印装置的控制程序以及字符的字体数据库。
[0037]第一打印头15,用于在介质的第一面打印第一数据;第二打印头16,用于在介质的第二面打印第二数据,在介质的前进方向上,第二打印头16和第一打印头15间隔一定的距离。第一打印头及第二打印头可以是热敏打印头、喷墨打印头或激光打印头。优选地,打印头是热敏打印头,热敏打印头包括沿介质宽度方向等距排列成一行的多个发热单元,每个发热单元对应于点行数据的一个比特,点行数据的比特数等于发热体的发热单元数。
[0038]切刀17,用于把已打印的票据从连续的介质上切割下来以便于用户取走。
[0039]检测单元18,用于检测介质是否到达检测单元所在位置,常用的检测单元为光电传感器,包括光发射器和光接收器,其中,光发射器向通道发射光线,光接收器接收经介质反射或透过介质的光线,根据接收光线的强弱判通道中是否有介质,如光接收器接收经介质反射的光线,则接收的光线强表示通道中有介质,否则,通道中没有介质。
[0040]图3是本发明实施例所提供的打印装置的结构示意图,如图所示,纸仓21、输送辊组件19,检测单元18,第一打印头15,第二打印头16以及切刀17沿介质前进方向20依次排布,其中,输送辊组件19与电机22传动连接,通过控制电机22正向或反向旋转,可以驱动介质前进或后退;检测单元18,位于第一打印头15的上游,用于检测介质是否到达检测单元18所在位置;第一打印头15位于介质输送通道的一侧,与介质的第一面相对,用于在介质的第一面打印数据;第二打印头16位于介质输送通道的另一侧,与介质的第二面相对,用于在介质的第二面打印数据;第一打印头15的打印位置Pl和切刀17的切割位置C之间的距离为LI,第二打印头16的打印位置P2和切刀17的切割位置C之间的距离为L2。
[0041]图4是根据本发明实施例的双面打印控制方法流程图。如图4所示,该双面打印控制方法包括以下步骤:
[0042]步骤SI,在接收打印数据之后,计算打印数据的长度。即,对接收到的打印数据的打印长度进行计算。
[0043]步骤S2,计算第一参考长度和第二参考长度,其中,第一参考长度为第一面的打印长度,第二参考长度为第二面的打印长度,第一参考长度和第二参考长度之和等于打印数据的打印长度,第一参考长度和第二参考长度之差等于第一面的打印起始位置和第二面的打印起始位置之间的距离。[0044]步骤S3,将打印数据拆分为打印长度对应于第一参考长度的第一数据和打印长度对应于第二参考长度的第二数据。
[0045]在步骤中,第一数据的打印长度可以等于第一参考长度,第二数据的打印长度可以等于第二参考长度;第一数据的打印长度也可以为与第一参考长度对应的长度,例如,第一参考长度修正后的长度,相应地,第二数据的打印长度可以为第二参考长度修正后的长度。
[0046]步骤S4,在第一面打印第一数据,在第二面打印第二数据。即,执行双面打印。
[0047]图5a是本发明所提供的打印控制方法的第一优选实施例的流程图,具体处理过程如下:
[0048]步骤S10,接收打印数据和打印指令
[0049]控制器11控制通信接口 12接收请求打印装置发送的打印数据并保存在RAM存储器13的接收缓冲区中,当接收到打印开始指令后,如果接收的打印数据为字符打印数据,则控制器11还把字符打印数据转换为点阵打印数据,其中,点阵打印数据由多个点行数据组成。
[0050]步骤S11,计算打印数据的打印长度
[0051]打印数据的打印长度是指打印头将点阵打印数据打印在介质表面后所使用介质的长度,以L表示,等于点阵打印数据中所有点行数据的打印长度的和,由于点行数据的打印长度由打印机的纵向打印分辨率决定,其中,纵向打印分辨率是指打印输出时在介质输送方向的单位长度上可打印的点行数,当打印机每次打印一点行数据时,则在介质移动单位长度时可打印的点行数等于打印头执行打印的次数,因此,纵向打印分辨率是由打印头每执行一次打印时介质的移动长度决定的。这样,当打印机的纵向分辨率确定后,点行数据的打印长度随之确定。比如纵向分辨率为203dpi (dpi是dot perinch缩写,即点/英寸)的打印机,其点行数据的打印长度为0.125mm ((I X 25.4)/203=0.125mm),因此,L=Ldl*N,其中,Ldl为点行数据的打印长度,N为点阵打印数据的点行数。为了描述方便,通常用点阵打印数据的点行数N来表示打印数据的打印长度L。
[0052]步骤S12,计算第一参考长度和第二参考长度
[0053]如图6a所示,第一参考长度Lf是第一面的打印长度,第二参考长度Lb是第二面的打印长度,由介质两面的打印长度之和应等于打印数据的打印长度可以得到:
[0054]Lf+Lb=L (表达式一)
[0055]如图6b所示,由于两个打印头在介质的前进方向42上间隔一定的距离,因此,介质第一面的打印起始位置43和介质第二面的打印起始位置48之间间隔一定的距离Ls(简称起始位置间距),该起始位置间距根据用户需要在执行打印前已经完成设置;为了最大程度的节省介质,要求介质第一面的打印终止位置44和介质第二面的打印终止位置49对齐,由此得到:
[0056]Lb - Lf=Ls (表达式二)
[0057]对表达式一和表达式二进行转换,可以得到:
[0058]Lf= (L-Ls)/2 (表达式三)
[0059]Lb=(L+Ls)/2 (表达式四)
[0060]从表达式三可以看出,只有当打印数据的打印长度L大于起始位置间距Ls时,第一参考长度Lf和第二参考长度Lb才均大于零,即打印装置可以进行双面打印,否则,第一参考长度Lf小于等于零,即打印机只能由第二打印头16进行单面打印。
[0061]由于打印数据的打印长度L和起始位置间距Ls已知,从而可以根据表达式三和表达式四计算出第一参考长度Lf和第二参考长度Lb,设第一参考长度Lf和第二参考长度Lb的交界位置为参考拆分位置,即第一参考长度Lf的最后一点行或第二参考长度Lb的第一点行为参考拆分位置,如图6a所示,第一参考长度Lf的最后一点行45为参考拆分位置。
[0062]步骤S13,将打印数据拆分为第一数据和第二数据。
[0063]根据第一参考长度Lf和第二参考长度Lb对保存在RAM存储器13中的点阵打印数据进行拆分,如图6a所示,把点阵打印数据40拆分为打印长度为第一参考长度Lf的第一数据41和打印长度为第二参考长度Lb的第二数据46。
[0064]步骤S14,第一打印头打印第一数据,第二打印头打印第二数据
[0065]如图6b所示,由第一打印头15在介质第一面从打印起始位置43开始打印第一数据41,当第一打印头15打印(L2-L1-LS)点行后,第二打印头16在介质第二面从打印起始位置48开始打印第二数据46,当第一数据41和第二数据46打印结束后,打印在介质第一面的第一数据41的打印结束位置44和打印在介质第二面的第二数据46的打印结束位置49是对齐的。
[0066]图5b是本发明所提供的打印控制方法的第二优选实施例的流程图,具体处理过程如下:
[0067]步骤S20,接收点阵打印数据和打印指令
[0068]控制器11控制通信接口 12接收请求打印装置发送的打印数据和打印指令,并保存在RAM存储器13中,其中,接收的打印数据为点阵打印数据。当打印机接收到开始打印指令后执行打印。
[0069]步骤S21,计算点阵打印数据的打印长度
[0070]点阵打印数据的点行数即为点阵打印数据的打印长度。
[0071]步骤S22,计算第一参考长度和第二参考长度
[0072]同步骤S12,根据表达式三和表达式四计算出第一参考长度、第二参考长度,并确定参考拆分位置。
[0073]步骤S23,判断在参考拆分位置之前打印长度为AL的打印数据是否有空白点行
[0074]为了防止把打印数据从字符行、图形、条码中具有信息的部分拆分,如从字符行内部拆分,则字符行分别被打印在介质的两面,从而造成信息的不可识别,因此,要判断在参考拆分位置周围的一定范围内,如上下各AL点行内是否有空白点行,其中,AL的数值根据需要设定,如图6c所示,对在参考拆分位置45之前Λ L点行的打印数据41a (简称为上拆分区域)内是否有空白点行进行判断,判断空白点行的方法为:点行中所有的比特数据均为在介质上没有打印输出的数据,如数据“0”,即点行数据为全“O”数据时,则该点行数据在介质上没有打印输出,简称为空白点行。如果上拆分区域没有空白点行,则转到步骤S25 ;否则,转到步骤S24。
[0075]步骤S24,获取空白点行与参考拆分位置之间的最小打印长度Lup
[0076]当上拆分区域具有空白点行时,计算每个空白点行和参考拆分位置之间的打印长度,由于参考拆分位置既可以为打印长度为第一参考长度的最后一点行,也可以为打印长度为第二参考长度的第一点行,以下以参考拆分位置为打印长度为第一参考长度的打印数据的最后一点行进行计算和说明,则上拆分区域内每个空白点行和参考拆分位置之间的打印长度等于参考拆分位置所在的点行数减去空白行所在的点行数,如第一参考长度为500点行,则参考拆分位置位于第500点行,如空白点行为第480点行,则该空白点行和参考拆分位置之间的打印长度为20 (即500-480),取上拆分区域内所有空白点行与参考拆分位置之间的打印长度的最小值为上拆分区域的空白点行与参考拆分位置之间的最小打印长度Lup0
[0077]步骤S25,Lup= Δ L+1
[0078]当上拆分区域没有空白点行时,则Lup取一大于AL的数值,如Lup= Λ L+1。
[0079]步骤S26,判断在参考拆分位置之后打印长度为AL的打印数据是否有空白点行
[0080]如图6c所示,对在参考拆分位置45之后AL点行的打印数据46a(简称为下拆分区域)是否有空白点行进行判断。如果下拆分区域没有空白点行,则转到步骤S28 ;否则,转到步骤S27。
[0081]步骤S27,获取空白点行与参考拆分位置的最小打印长度Ldw
[0082]当下拆分区域具有空白点行时,计算每个空白点行和参考拆分位置之间的打印长度,其中,空白点行和参考拆分位置之间的打印长度等于空白行所在的点行数减去参考拆分位置所在的点行数,如参考拆分位置为第500点行、空白点行为第510点行,则该空白点行和参考拆分位置之间的打印长度为10 (即510-500)点行,取下拆分区域内所有空白点行与参考拆分位置之间的打印长度的最小值为下拆分区域的空白点行与参考拆分位置之间的最小打印长度Ldw。
[0083]步骤S28, Ldw= Δ L+1
[0084]当下拆分区域没有空白点行时,则Ldw取一大于AL的数值,如Ldw= Λ L+1。
[0085]步骤S29,判断Lup和Ldw是否均大于Δ L
[0086]将Lup和Ldw分别与Δ L进行比较,如果Lup和Ldw均大于Δ L,即上拆分区域和下拆分区域均没有空白点行,则转到步骤S33 ;否则,在上拆分区域和下拆分区域的两个区域中至少有一个区域具有空白点行,则转到步骤S30。
[0087]步骤S30,判断Lup是否小于Ldw
[0088]对Lup、Ldw的大小进行判断,如果Lup小于Ldw,即上拆分区域内的空白点行更接近于参考拆分位置,则转到步骤S32 ;如果Lup大于等于Ldw,即下拆分区域内的空白点行更接近于参考拆分位置,转到步骤S31。
[0089]步骤S31,第一优选长度等于第一参考长度加Ldw
[0090]对第一参考长度、第二参考长度进行修正以获取第一优选长度、第二优选长度,其中,第一优选长度等于第一参考长度加Ldw,第二优选长度等于打印长度L减去第一优选长度,以使打印数据的拆分位置处于空白行。
[0091]步骤S32,第一优选长度等于第一参考长度减去Lup
[0092]对第一参考长度、第二参考长度进行修正以获取第一优选长度、第二优选长度,其中,第一优选长度等于第一参考长度减去Lup,第二优选长度等于打印长度L减去第一优选长度,以使打印数据的拆分位置处于空白行。
[0093]步骤S33,第一优选长度等于第一参考长度[0094]由于在上拆分区域和下拆分区域内均没有空白行,则不需要对第一参考长度、第二参考长度进行修正,即第一优选长度等于第一参考长度,第二优选长度等于第二参考长度。
[0095]步骤S34,将打印数据拆分为第一数据和第二数据
[0096]根据第一优选长度和第二优选长度对保存在RAM存储器13中的点阵打印数据进行拆分,拆分为打印长度为第一优选长度的第一数据和打印长度为第二优选长度的第二数据。
[0097]步骤S35,第一打印头打印第一数据,第二打印头打印第二数据
[0098]如图6b所示,由第一打印头15在介质第一面从打印起始位置43开始打印第一数据41,当第一打印头15打印(L2-L1-LS)点行后,第二打印头16在介质第二面从打印起始位置48开始打印第二数据46,分别在介质的第一面和第二面生成打印输出。
[0099]图5c是本发明所提供的打印控制方法的第三优选实施例的流程图,具体处理过程如下:
[0100]步骤S40,接收字符打印数据和打印指令
[0101]控制器11控制通信接口 12接收请求打印装置发送的打印数据和打印指令,并保存在RAM存储器13中,其中,接收的打印数据为字符打印数据。当打印机接收到开始打印指令后执行打印。
[0102]步骤S41,对打印数据进行分区,生成第一长度参考表
[0103]当接收到开始打印指`令后,控制器11开始处理接收的字符打印数据,根据字符打印数据定义指令的不同,把打印数据的打印输出划分为不同的区域,每一个区域由连续的相同类型指令生成,如由字符指令定义的字符区域、由条码指令定义的条码区域、由绘图指令定义的绘图区域等,如图7的(a)部分所示,打印数据110包括第一字符指令数据111、绘图指令112、条码指令113、第二字符指令1141、...、第七字符指令1146、开始打印指令115,打印数据110对应的连续打印输出120为图7的(b)部分所示,该打印输出包括4个区域,分别为第一字符打印区域121、图形区域122、条码区域123和第二字符区域124,其中,第一字符打印区域121为图7的(a)部分所示的第一字符指令111的打印输出,图形区域122为图7的(a)部分所示的绘图指令112的打印输出,条码区域123为图7的(a)部分所示的条码指令113的打印输出,第二字符打印区域124为图7的(a)部分所示的第二字符指令1141至第七字符指令1146组成的字符指令组114的打印输出。
[0104]在介质移动的方向上,按照不同的图像、条码、字符行再对每个打印区域进行划分,划分为不同的子区域,如图7的(b)部分所示,第二字符打印区域124为图7的(a)部分中第二字符指令1141至第七字符指令1146的打印输出,分别为图7的(b)部分所示第一子区域1241、第二子区域1242、…、第六子区域1246,其中,第一子区域1241为空白区域,第二子区域1242至第六子区域1246为有打印输出的字符区域。
[0105]根据字符字体的点阵数据WXH及打印数据中的排版指令,计算打印数据的字符行数,如点阵数据WXH为12X24,打印区域的左间距为30点、右间距为10,点行数据的比特数为680个,则一字符行可打印的字符数(简称每行字符数)为54 ( (680-30-10)/12),从而可以根据每行字符数计算接收的字符打印数据的字符行数,字符行数等于字符打印数据的字符数除以每行字符数;再根据字符行数、点阵数据WXH中的高度H,计算由字符打印数据所生成的点阵打印数据的点行数,其中,点行数等于字符行数乘以高度H。图8的(a)中的打印区域120为图7的(a)部分中打印数据110的打印输出的分区示意图,其中,打印数据110的打印长度为L,第一字符指令111的打印长度为LI,绘图指令112的打印长度为L2,条码指令113的打印长度为L3,第二字符指令1141的打印长度为L4,...,第七字符指令1146的打印长度为L4,当在绘图区域、条码区域、字符行的中间区域进行分割时会对打印信息造成破坏,如在LOGO图形的中间分隔,会造成LOGO图像的美观,因此,只能在各个区域的交界处或字符行等子区域的交界处进行数据分拆,由此得到第一长度参考表,如图8 (b)所示,第一长度参考表130为图7的(a)部分中打印数据110的所有可能的拆分位置的打印长度列表,由于可以在空白行中的任意位置进行数据拆分,因此,与空白区域1241对应的拆分位置为一个区域,即第一长度参考表130第五行中序号为4的第一长度为一个长度区域。
[0106]步骤S42,把打印数据从字符数据转换为点阵数据
[0107]当打印数据中包括绘图指令、条码指令时,分别对其进行解析,以生成与指令对应的点阵数据;当打印数据中包括字符指令时,根据字符的文字代码在FLASH存储器14中查找与该代码对应的点阵数据,从而生成与该字符指令对应的点阵数据;对所有的指令进行解析后,则生成点阵打印数据,其打印长度为L点行。把生成的点阵打印数据保存在RAM存储器13中。
[0108]步骤S43,计算第一参考长度和第二参考长度
[0109]同步骤S12,根据表达式三和表达式四计算出第一参考长度、第二参考长度,并确定参考拆分位置。
[0110]步骤S44,根据第一参考长度查表得到第一优选长度
[0111]由于通过计算得到的第一参考长度对应的参考拆分位置可能在条码区域、图形区域及字符行子区域的中间位置,从而破坏字符、条码、图形等的打印完整性,因此,要对第一参考长度进行查表,以得到不影响条码、图形、字符行的打印完整性的拆分位置对应的第一优选长度;在图8的(b)部分所示的第一长度参考表中进行查表,当在“第一长度”列中能够查找与第一参考长度的数值最接近的项,如第一参考长度Lf在Lr2和Lr3之间,即Lr2〈Lf
<Lr3,假如(Lf-Lr2) < (Lr3_Lf),即Lr2的数值更接近于Lf,则长度Lr2为第一优选长度,否则,Lr3为第一优选长度。优选的,查找与第一参考长度相同的项,或者第一参考长度在某一项的数值范围内,则该第一参考长度即为第一优选长度。根据第一优选长度和第二优选长度之和等于打印长度L,得到第二优选长度。
[0112]步骤S45,将打印数据拆分为第一数据和第二数据
[0113]根据第一优选长度和第二优选长度对保存在RAM存储器13中的点阵打印数据进行拆分,拆分为打印长度为第一优选长度的第一数据和打印长度为第二优选长度的第二数据,如图6d所示,在优选拆分位置142把点阵打印数据120拆分为打印长度为第一优选长度Lfl的第一数据140和打印长度为第二优选长度Lbl的第二数据141,从图中可以看出,当点阵打印数据120按照第一参考长度Lf在参考拆分位置132进行打印数据拆分时,打印长度为第一参考长度Lf的第一数据130未完全包括位图133的全部数据,从而造成位图133被打印在介质的两面。
[0114]步骤S46,第一打印头打印第一数据,第二打印头打印第二数据
[0115]如图6b所示,由第一打印头15在介质第一面从打印起始位置43开始打印第一数据41,当第一打印头15打印(L2-L1-LS)点行后,第二打印头16在介质第二面从打印起始位置48开始打印第二数据46,分别在介质的第一面和第二面生成打印输出。
[0116]本发明实施例提供的双面打印控制方法中,根据第一数据在介质第一面的打印起始位置和第二数据在介质第二面的打印起始位置之间的距离拆分接收的打印数据,使第一数据在介质第一面的打印终止位置和第二数据在介质第二面的打印终止位置相同,减小了介质第二面的空白区域,从而提高介质第二面的利用率达到了节省介质的效果;进一步地,对打印数据进行分类,仅在空白区域或不同类型数据的交替位置进行数据拆分,保证了打印数据中图形、条码、字符行的完整性,减小了数据拆分对打印数据打印效果的影响。
[0117]相应于本发明实施例的双面打印控制方法,本发明实施例还提供了一种双面打印控制装置,需要说明的是,本发明实施例的双面打印控制方法可以通过本发明实施例所提供的双面打印控制装置来执行,本发明实施例的双面打印控制装置也可以用于执行本发明实施例所提供的双面打印控制方法。
[0118]图9是根据本发明另一实施例的双面打印装置的示意图。如图9所示,该双面控制装置包括第一计算单元101、第二计算单元102、拆分单元103和打印单元104。
[0119]第一计算单元101用于在接收打印数据之后,计算打印数据的长度。
[0120]第二计算单元102用于计算第一参考长度和第二参考长度,其中,第一参考长度为第一面的打印长度,第二参考长度为第二面的打印长度,第一参考长度和第二参考长度之和等于打印数据的打印长度,第一参考长度和第二参考长度之差等于第一面的打印起始位置和第二面的打印起始位置之间的距离。
[0121]拆分单元103用于将打印数据拆分为打印长度对应于第一参考长度的第一数据和打印长度对应于第二参考长度的第二数据。
[0122]打印单元104用于在第一面打印第一数据,在第二面打印第二数据。
[0123]上述的第一计算单元101、第二计算单元102、拆分单元103可以通过图2所示实施例中的控制器11来实现,打印单元104可以通过图2所示实施例中的第一打印头15和第二打印头16来实现。
[0124]图10是根据本发明一优选实施例的双面打印装置的示意图。该实施例的双面打印装置为图9所示实施例的优选实施方式。
[0125]优选地,双面打印控制装置除了包括前述的第一计算单元101、第二计算单元102、拆分单元103和打印单元104 (作用与上一实施例相同,在此不再赘述)之外,还包括:
[0126]第一判断单元105,用于判断上拆分区域内是否有空白点行,其中,上拆分区域为参考拆分位置之前打印长度为AL的打印数据,参考拆分位置为按照打印长度为第一参考长度的第一数据和打印长度为第二参考长度的第二数据进行拆分时的拆分位置。
[0127]第一获取单元106,用于在判断出上拆分区域内有空白点行时,获取空白点行与参考拆分位置之间的最小打印长度Lup,其中,最小打印长度Lup为上拆分区域内所有空白点行与参考拆分位置之间的打印长度的最小值。
[0128]第二判断单元107,用于判断下拆分区域内是否有空白点行,其中,下拆分区域为参考拆分位置之后打印长度为AL的打印数据,参考拆分位置为按照打印长度为第一参考长度的第一数据和打印长度为第二参考长度的第二数据进行拆分时的拆分位置。
[0129]第二获取单元108,用于在判断出下拆分区域内有空白点行时,获取空白点行与参考拆分位置之间的最小打印长度Ldw,其中,最小打印长度Ldw为下拆分区域内所有空白点行与参考拆分位置之间的打印长度的最小值。
[0130]第三判断单元109,用于判断Lup和Ldw是否均大于AL。
[0131 ] 第一确定单元111,用于当Lup和Ldw均大于Λ L时,将第一参考长度作为第一优选长度。
[0132]第四判断单元112,用于当Lup和Ldw不均大于Δ L时,判断Lup是否小于Ldw。
[0133]第二确定单元113,用于当Lup小于Ldw时,将第一参考长度和Lup的差作为第一优选长度。
[0134]第三确定单元114,用于当Lup不小于Ldw时,将第一参考长度和Ldw的和作为第一优选长度。
[0135]其中,拆分单元103用于将打印数据拆分为打印长度对应于第一优选长度的第一数据和打印长度对应于第二优选长度的第二数据,其中,第二优选长度为打印数据的长度与第一优选长度的差。
[0136]上述的第一判断单元105至第三确定单元114也可以通过图2所示实施例中的控制器11来实现。
[0137]显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
[0138]以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种双面打印控制方法,其特征在于,包括: 在接收打印数据之后,计算所述打印数据的长度; 计算第一参考长度和第二参考长度,其中,所述第一参考长度为第一面的打印长度,所述第二参考长度为第二面的打印长度,所述第一参考长度和所述第二参考长度之和等于所述打印数据的打印长度,所述第一参考长度和所述第二参考长度之差等于所述第一面的打印起始位置和所述第二面的打印起始位置之间的距离; 将所述打印数据拆分为打印长度对应于所述第一参考长度的第一数据和打印长度对应于所述第二参考长度的第二数据;以及 在所述第一面打印所述第一数据,在所述第二面打印所述第二数据。
2.根据权利要求1所述的双面打印控制方法,其特征在于, 所述第一面的打印起始位置和所述第二面的打印起始位置之差小于等于在介质输送方向上第一打印头和第二打印头之间的距离,所述第一打印头用于在所述第一面上打印所述第一数据,所述第二打印头用于在所述第二面上打印所述第二数据。
3.根据权利要求1所述的双面打印控制方法,其特征在于, 在计算第一参考长度和第二参考长度之后,以及在将所述打印数据拆分为打印长度对应于所述第一参考长度的第一数据和打印长度对应于所述第二参考长度的第二数据之前,所述方法还包括: 判断上拆分区域内是否有空白点行,其中,所述上拆分区域为参考拆分位置之前打印长度为AL的所述打印数据,所述参考拆分位置为按照打印长度为所述第一参考长度的第一数据和打印长度为所述第二参考长度的第二数据进行拆分时的拆分位置,` 在判断出所述上拆分区域内有空白点行时,获取空白点行与参考拆分位置之间的最小打印长度Lup,其中,所述最小打印长度Lup为所述上拆分区域内所有空白点行与参考拆分位置之间的打印长度的最小值, 判断下拆分区域内是否有空白点行,其中,所述下拆分区域为参考拆分位置之后打印长度为AL的所述打印数据,所述参考拆分位置为按照打印长度为所述第一参考长度的第一数据和打印长度为所述第二参考长度的第二数据进行拆分时的拆分位置, 在判断出所述下拆分区域内有空白点行时,获取空白点行与参考拆分位置之间的最小打印长度Ldw,其中,所述最小打印长度Ldw为所述下拆分区域内所有空白点行与参考拆分位置之间的打印长度的最小值, 判断Lup和Ldw是否均大于Δ L ; 当Lup和Ldw均大于AL时,将所述第一参考长度作为第一优选长度, 当Lup和Ldw不均大于Δ L时,判断Lup是否小于Ldw ; 当Lup小于Ldw时,将所述第一参考长度和Lup的差作为所述第一优选长度; 以及 当Lup不小于Ldw时,将所述第一参考长度和Ldw的和作为所述第一优选长度, 其中,将所述打印数据拆分为打印长度对应于所述第一参考长度的第一数据和打印长度对应于所述第二参考长度的第二数据包括: 将所述打印数据拆分为打印长度对应于所述第一优选长度的第一数据和打印长度对应于第二优选长度的第二数据,其中,所述第二优选长度为所述打印数据的长度与所述第一优选长度的差。
4.根据权利要求3所述的双面打印控制方法,其特征在于, 在判断出所述上拆分区域内没有空白点行时,将大于AL的值作为Lup的值, 在判断出所述下拆分区域内没有空白点行时,将大于AL的值作为Ldw的值。
5.根据权利要求1所述的双面打印控制方法,其特征在于,将所述打印数据拆分为打印长度对应于所述第一参考长度的第一数据和打印长度对应于所述第二参考长度的第二数据包括: 将所述打印数据拆分为打印长度为所述第一参考长度的第一数据和打印长度为所述第二参考长度的第二数据。
6.根据权利要求1所述的双面打印控制方法,其特征在于, 所述打印数据为字符打印数据,所述方法还包括:对所述字符打印数据进行区域划分,生成第一长度参考表,其中,所述第一长度参考表为所述打印数据的所有可能拆分位置的打印长度列表,所述可能拆分位置为相邻区域的交界处, 其中,计算所述第一参考长度之后,所述方法还包括: 根据所述第一参考长度在所述第一长度参考表中进行查表,得到与所述第一参考长度最接近的长度,作为第一优选长度;以及 将所述打印数据的长度与所述第一优选长度的差作为第二优选长度, 其中,将所述打印数据拆分`为打印长度对应于所述第一参考长度的第一数据和打印长度对应于所述第二参考长度的第二数据包括:将所述打印数据拆分为打印长度对应于所述第一优选长度的第一数据和打印长度对应于所述第二优选长度的第二数据。
7.根据权利要求6所述的双面打印控制方法,其特征在于, 对所述字符打印数据进行区域划分,生成第一长度参考表包括: 根据字符打印数据定义指令的不同,把所述打印数据的打印输出划分为不同的区域,每一个区域由连续的相同类型指令生成;以及 在介质移动的方向上,按照不同的图像、条码、字符行再对每个打印区域进行划分,划分为不同的子区域,生成所述第一长度参考表,其中,所述第一长度参考表为所述打印数据的所有可能拆分位置的打印长度列表,所述可能拆分位置为相邻所述区域的交界处或相邻所述子区域的交界处。
8.一种双面打印控制装置,其特征在于,包括: 第一计算单元,用于在接收打印数据之后,计算所述打印数据的长度; 第二计算单元,用于计算第一参考长度和第二参考长度,其中,所述第一参考长度为第一面的打印长度,所述第二参考长度为第二面的打印长度,所述第一参考长度和所述第二参考长度之和等于所述打印数据的打印长度,所述第一参考长度和所述第二参考长度之差等于所述第一面的打印起始位置和所述第二面的打印起始位置之间的距离; 拆分单元,用于将所述打印数据拆分为打印长度对应于所述第一参考长度的第一数据和打印长度对应于所述第二参考长度的第二数据;以及打印单元,用于在所述第一面打印所述第一数据,在所述第二面打印所述第二数据。
9.根据权利要求8所述的双面打印控制装置,其特征在于,还包括: 第一判断单元,用于判断上拆分区域内是否有空白点行,其中,所述上拆分区域为参考拆分位置之前打印长度为AL的所述打印数据,所述参考拆分位置为按照打印长度为所述第一参考长度的第一数据和打印长度为所述第二参考长度的第二数据进行拆分时的拆分位置, 第一获取单元,用于在判断出所述上拆分区域内有空白点行时,获取空白点行与参考拆分位置之间的最小打印长度Lup,其中,所述最小打印长度Lup为所述上拆分区域内所有空白点行与参考拆分位置之间的打印长度的最小值, 第二判断单元,用于判断下拆分区域内是否有空白点行,其中,所述下拆分区域为参考拆分位置之后打印长度为AL的所述打印数据,所述参考拆分位置为按照打印长度为所述第一参考长度的第一数据和打印长度为所述第二参考长度的第二数据进行拆分时的拆分位置, 第二获取单元,用于在判断出所述下拆分区域内有空白点行时,获取空白点行与参考拆分位置之间的最小打印长度Ldw,其中,所述最小打印长度Ldw为所述下拆分区域内所有空白点行与参考拆分位置之间的打印长度的最小值,第三判断单元,用于判断Lup和Ldw是否均大于AL ; 第一确定单兀,用于当Lup和Ldw均大于ΔL时,将所述第一参考长度作为第一优选长度, 第四判断单元,用于当Lup和Ldw不均大于ΔL时,判断Lup是否小于Ldw ; 第二确定单元,用于当Lup小于Ldw时,将所述第一参考长度和Lup的差作为所述第一优选长度;以及 第三确定单元,用于当Lup不小于Ldw时,将所述第一参考长度和Ldw的和作为所述第一优选长度, 其中,所述拆分单元用于将所述打印数据拆分为打印长度对应于所述第一优选长度的第一数据和打印长度对应于第二优选长度的第二数据,其中,所述第二优选长度为所述打印数据的长度与所述第一优选长度的差。
10.一种双面打印机,其特征在于,包括: 通信接口,用于接收打印数据; 第一打印头,用于在介质的第一面打印第一数据; 第二打印头,用于在介质的第二面打印第二数据; 控制器,用于在接收打印数据之后,计算所述打印数据的长度;计算第一参考长度和第二参考长度,其中,所述第一参考长度为第一面的打印长度,所述第二参考长度为第二面的打印长度,所述第一参考长度和所述第二参考长度之和等于所述打印数据的打印长度,所述第一参考长度和所述第二参考长度之差不大于所述第一打印头和所述第二打印头之间的距离;将所述打印数据拆分为打印长度对应于所述第一参考长度的第一数据和打印长度对应于所述第二参考长度的第二数据;以及控制所述第一打印头在所述第一面打印所述第一数据,控制所述第二打印头在所述第二面打印所述第二数据。
【文档编号】G06F3/12GK103777908SQ201210415208
【公开日】2014年5月7日 申请日期:2012年10月25日 优先权日:2012年10月25日
【发明者】丁进峰, 许加波, 董述恂, 高晓燕 申请人:山东新北洋信息技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1