技术领域
[0001] 本发明涉及打印领域,具体而言,涉及一种多打印装置的打印控制方法及打印机。
相关背景技术
[0002] 为了满足使用需求,现有技术中出现了一种具有单行打印装置和多行打印装置的多打印装置的打印机,其中,单行打印装置用于打印确认信息,多行打印装置用于打印交易数据。图1是现有技术中具有单行打印装置和多行打印装置的多打印装置的打印机结构示意图,如图所示,多打印装置的打印机1’包括单行打印装置11’和多行打印装置12’,其中,单行打印装置11’包括第一打印头和垫板,第一打印头和垫板间隔设定距离相对设置,二者之间形成插入单张纸的打印通道,单行打印装置工作时,第一打印头在插入单张纸打印通道的单张纸上打印一行确认信息,如在商场中购物时的开票票据上打印收银员姓名、收银台编号等购物收费确认信息,或在银行处理支票时在支票背面上打印的支票处理确认信息,第一打印头可以是针式打印头或喷墨打印头;多行打印装置包括第二打印头、滚筒、和纸仓,其中,第二打印头和滚筒相对相切设置,二者之间形成连续纸的输送通道;沿连续纸输送方向,纸仓位于第二打印头上游,用于储存连续纸,如卷筒纸或折叠纸。多行打印装置工作时,连续纸从纸仓输出,从第二打印头和滚筒之间穿过后由出纸口排出,滚筒驱动连续纸运动的同时,第二打印头在连续纸上打印多行交易信息,如打印在商场中购物时的交易明细信息或银行处理支票时的收据信息等,第二打印头通常为热打印头。
[0003] 由于第一打印头只能打印一行信息,而一行信息的数据长度是有限和确定的,如20个字符,因此,当由于操作者失误引起输入的确认信息的长度超过一行信息的长度时,第一打印头如果对接收的确认信息全部打印,则会造成确认信息之间的相互覆盖,从而产生打印错误。
具体实施方式
[0024] 需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
[0025] 图2是本发明一实施例的多打印装置的打印机的模块组成示意图,如图所示,多打印装置的打印机10包括控制器11、通信接口12、RAM存储器13、FLASH存储器14、信息提示器15、多行打印装置16、单行打印装置17和切刀18。其中,控制器11用于控制各模块执行工作,比如,控制器11用于控制通信接口12接收打印请求装置(如主机30或网络设备)发送的打印数据和各种控制指令,其中,打印数据包括用于多行打印装置16打印的第二打印数据和用于单行打印装置17打印的第一打印数据,打印数据可以是点阵打印数据,也可以是由字符指令等组成的字符打印数据,控制指令包括信息类型设置指令、打印开始指令及切纸指令等,当打印数据为字符打印数据时,控制器11还用于把字符打印数据转换为点阵打印数据;控制器还用于控制多行打印装置16打印第二打印数据以及控制单行打印装置17打印第一打印数据;控制器还用于控制切刀18把已打印的票据从连续介质上切割下来等。
[0026] 通信接口12,接收打印请求装置发送的打印数据、各种控制指令等,并把接收的打印数据、控制指令等保存在RAM存储器13中,其中,接收的打印数据包括第二打印数据和/或第一打印数据,接收的控制指令包括信息类型设置指令、打印开始指令、切纸指令等,其中,信息类型设置指令用于区分在该指令之后接收的打印数据和控制指令是用于多行打印装置16还是用于单行打印装置17,打印开始指令用于指示打印装置开始对接收的打印数据进行打印,如指示多行打印装置16打印第二打印数据、指示单行打印装置17打印第一打印数据,切纸指令用于指示切刀动作,从而把已打印的票据从连续介质上切割下来。常用的通信接口为串口、USB接口、以太网接口等。
[0027] RAM存储器13,包括接收缓冲区和打印缓冲区,其中,接收缓冲区用于保存通信接口12接收的打印数据、各种控制指令,打印缓冲区保存发送到多行打印装置的第二打印数据的点阵数据和发送到单行打印装置的第一打印数据的点阵数据;FLASH存储器(即非易失性存储器)14,用于保存打印装置的控制程序、第二打印数据的字体数据库、第一打印数据的字符数据库及预置的数据处理模式等,当多行打印装置16和单行打印装置17使用相同类型和型号的打印头时,如均为针式打印头,且型号均为9针单列打印头,则第二打印数据的字体数据库和第一打印数据的字符数据库为同一字符数据库。
[0028] 信息提示器15,用于根据提示信息进行相应的提示,包括声音提示单元、发光提示单元等,如蜂鸣器等声音提示单元、LED灯等发光提示单元,当利用声音提示单元进行信息提示时,利用蜂鸣器发出或急或慢的有节奏的声音以输出不同的提示信息,同样地,当利用发光提示单元进行信息提示时,利用LED灯进行或急或慢的有规律的闪烁以输出不同的提示信息。
[0029] 多行打印装置16,包括第二打印头161,用于在卷筒纸等连续介质上打印第二打印数据,第二打印头161可以是热打印头,也可以为针式打印头或喷墨打印头;单行打印装置17,包括第一打印头171,用于在如支票、开票票据等非连续介质上打印第一打印数据,第一打印头171可以为针式打印头或喷墨打印头;多行打印装置16还包括驱动连续介质在通道中移动的驱动机构,打印过程中,驱动机构驱动连续介质移动,第二打印头在连续介质表面打印第二打印数据,生成多行打印输出,单行打印装置17不具有驱动非连续介质移动的驱动结构,因此,非连续介质只能人工插入和取出。
[0030] 切刀18,用于把由第一打印装置16打印的票据从连续介质上切割下来以便于用户取走。
[0031] 以下结合附图对本发明实施例所提供的多打印装置的打印控制方法进行介绍,需要说明的是,本发明实施例的打印控制方法可以在本发明实施例所提供的打印机上执行,本发明实施例所提供的打印机也可以用于执行本发明实施例的打印控制方法。
[0032] 图3a是根据本发明一实施例的多打印装置的打印控制方法流程图。如图所示,该打印控制方法包括以下步骤:
[0033] 步骤S10,接收第一打印数据,其中,第一打印数据为用于单行打印装置的打印数据。
[0034] 打印机接收请求打印装置发送的打印数据,该打印数据包括通过单行打印装置打印的第一打印数据。
[0035] 步骤S11,判断第一打印数据是否多于一行。
[0036] 判断接收到的第一打印数据是否多于单行打印装置所能够打印的一行。在判断结果为是时,执行步骤S12,在判断结果为否时,执行步骤S13。
[0037] 步骤S12,在确定第一打印数据不多于一行时,打印第一打印数据。
[0038] 如果第一打印数据不多于单行打印装置能够打印的一行,则单行打印装置打印第一打印数据时,不会因为超出单行打印装置中打印头所能够打印的数据而产生打印错误。
[0039] 步骤S13,在确定第一打印数据多于一行时,按照预设的数据处理模式对第一打印数据进行处理。
[0040] 此时,按照预设的数据处理模式对第一打印数据进行处理以使得单行打印装置最多只打印一行打印数据。
[0041] 在该实施例的多打印装置的打印控制方法中,由于采用了预设的数据处理模式在第一打印数据多于一行时对第一打印数据进行处理,因而,避免了对在第一打印数据进行打印时由于第一打印数据多于一行时产生打印错误。
[0042] 对于按照预设的数据处理模式对第一打印数据进行处理,在本发明的进一步的优选实施方式中,可以采用以下的任意一种数据处理模式对第一打印数据进行处理:
[0043] 第一数据处理模式:控制单行打印装置只打印第一打印数据的一行数据,并抛弃第一打印数据的剩余数据。
[0044] 第二数据处理模式:控制单行打印装置只打印第一打印数据的一行数据,并控制多行打印装置打印第一打印数据的剩余数据。
[0045] 第三数据处理模式:抛弃第一打印数据的所有数据。
[0046] 第四数据处理模式:输出提示信息以提示第一打印数据多于一行。
[0047] 对于判断第一打印数据是否多于一行,在本发明的进一步的优选实施方式中,可以采用第一方式或第二方式进行判断:
[0048] 第一方式:当第一打印数据为点行数据时,判断点行数据的一点行的点数是否大于行点数,当第一打印数据为点列数据时,判断点列数据的列数是否大于行点数,其中,当判断出点行数据的一点行的点数大于行点数时,或当判断出点列数据的列数大于所述行点数时,确定第一打印数据多于一行,点行数据为按点行发送的数据,点列数据为按点列发送的数据,行点数为一字符行的比特数,
[0049] 第二方式:当第一打印数据为字符数据时,判断第一打印数据的字符数是否大于行字符数,其中,当判断出第一打印数据的字符数大于行字符数时,确定第一打印数据多于一行,行字符数等于行点数除以字符的点阵数据的宽度。
[0050] 图3b是根据本发明另一实施例的多打印装置的打印控制方法流程图。需要说明的是,该实施例可以作为图3a所示实施例的一种优选实施方式,如图3b所示,具体处理过程如下:
[0051] 步骤S20,接收打印数据
[0052] 控制器11控制通信接口12接收请求打印装置发送的包括第二打印数据和/或第一打印数据的打印数据并保存在RAM存储器13的接收缓冲区中。
[0053] 步骤S21,判断打印数据是第二打印数据还是第一打印数据
[0054] 控制器11根据接收的信息类型设置指令,判断接收的打印数据是第二打印数据还是第一打印数据。比如,信息类型设置指令为ESC F n,当信息类型设置指令中n等于0时,表示自该信息类型设置指令后接收的打印数据为用于多行打印装置16的第二打印数据、自该信息类型设置指令后接收的控制指令为用于多行打印装置16的控制指令,如用于多行打印装置16的打印开始指令和切纸指令;当信息类型设置指令中n等于1时,表示自该信息类型设置指令后接收的打印数据为用于单行打印装置17的第一打印数据、自该信息类型设置指令后接收的控制指令为用于单行打印装置17的控制指令,如用于单行打印装置17的打印开始指令;当接收的打印数据为第二打印数据时,转到步骤S28;当接收的打印数据为第一打印数据时,转到步骤S22。
[0055] 步骤S22,判断第一打印数据是否多于一行
[0056] 当第一打印数据为按点行发送的点阵数据时,如果点行数据的一点行的比特数(即点数)大于一字符行的比特数(即行点数),或者,当第一打印数据为按点列发送的点阵数据时,如果点列数据的列数大于行点数,即第一打印数据多于一行,则转到步骤S23;否则,转到步骤S27,其中,行点数为单行打印装置17中第一打印头171在介质宽度方向上可打印的点数,如第一打印头在介质宽度方向上可打印的点数为180,则行点数为180。
[0057] 当第一打印数据为字符数据时,如果第一打印数据的字符数大于行字符数,即第一打印数据多于一行,则转到步骤S23;否则,转到步骤S27,其中,行字符数等于行点数除以字符的点阵数据的宽度,如行点数为180,字符的点阵数据W×H为9×9,即字符宽度W为9,则行字符数为20(180/9)。
[0058] 步骤S23,判断数据处理模式
[0059] 根据在FLASH存储器中保存的预置数据处理模式,对第一打印数据进行相应的处理,具体的处理模式见图5所示的数据处理模式表,当预置数据处理模式为模式一,即“打印一行数据,抛弃剩余数据”时,则转到步骤S24;当预置数据处理模式为模式二,即“打印一行数据,剩余数据打印在连续纸上”时,则转到步骤S25;当预置数据处理模式为模式三,即“不打印数据”,则转到步骤S26。
[0060] 步骤S24,单行打印装置打印一行数据,抛弃剩余数据
[0061] 控制器11只打印第一打印数据中前n个字符,其余的数据不打印,其中,n等于行字符数,如果第一打印数据为字符数据,在把前n个字符发送到单行打印装置之前,根据保存在FLASH存储器14中的第一打印数据的字符数据库把前n个字符转换为点阵数据,然后,把转换后的点阵数据发送到单行打印装置17,由单行打印装置17打印在单张纸表面。
[0062] 步骤S25,单行打印装置打印一行数据,多行打印装置打印剩余数据[0063] 控制器11控制单行打印装置的第一打印头打印第一打印数据中前n个字符,控制多行打印装置的第二打印头打印第一打印数据中前n个字符之后的剩余数据,其中,n等于行字符数。如果第一打印数据为字符数据,在把前n个字符发送到单行打印装置之前,根据保存在FLASH存储器14中的第一打印数据的字符数据库把前n个字符转换为点阵数据,然后,把转换后的点阵数据发送到单行打印装置17,由单行打印装置17的第一打印头打印在单张纸表面;在多行打印装置的第二打印头打印第一打印数据的前n个字符之后的剩余数据之前,控制器11根据保存在FLASH存储器14中的第二打印数据的字符数据库把第一打印数据的剩余数据转换为点阵数据,由多行打印装置把剩余数据的点阵数据打印在连续介质上。
[0064] 步骤S26,抛弃所有数据
[0065] 控制器11抛弃所有的第一打印数据,即不打印第一打印数据的任意一个字符。
[0066] 步骤S27,单行打印装置打印第一打印数据
[0067] 如果第一打印数据为字符数据,控制器11根据保存在FLASH存储器14中的第一打印数据的字符数据库把第一打印数据从字符打印数据转换为点阵打印数据,然后,把转换后的点阵数据发送到单行打印装置17,由单行打印装置17打印在单张纸表面,如图4a所示,在支票80的背面包括两个区域,分别为客户的背书区域81和银行的打印区域82,第一打印数据打印在银行打印区域82中的位置83,如第一打印数据为银行名称、存款金额等,或者,如图4b所示,在票据90中的所购物品第一栏91和第二栏92之后,打印如图中93所示的购物确认信息,如现金收讫等收费标志、收银台编号和收银员工作号等。
[0068] 步骤S28,多行打印装置打印第二打印数据
[0069] 当接收的第二打印数据为字符打印数据时,控制器11根据保存在FLASH存储器14中的第二打印数据的字符数据库把字符打印数据转换为点阵打印数据,然后,把转换后的点阵数据发送到多行打印装置16,由第二打印头161打印在连续介质上,在第二打印数据的打印过程中连续介质不断移动,以生成与支票处理或购物处理相关的票据,如存款票据、购物票据等,打印结束后,由切刀把已打印的票据从连续介质上切割下来以便于取走。
[0070] 步骤S29,进行信息提示
[0071] 在第一打印数据的打印过程中,信息提示器15通过发出节奏变化不同的声音、控制指示灯进行或快或慢的有规律的闪烁等,以提示工作人员接收的第一打印数据超出一行。
[0072] 在本发明实施例的打印控制方法或打印机中,对接收的要打印在非连续介质上的信息是否多于一行进行判定,根据预置的数据处理模式对多于一行的剩余信息进行不同的处理,不仅保证了信息处理的可靠性,还提高了信息处理的效率;根据不同的数据处理模式,当信息多于一行时,进行相应的信息提示,防止问题的重复发生。
[0073] 以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。