多模组打印机及其同步创建打印任务的方法、存储介质
技术领域
本发明涉及喷墨打印领域,尤其涉及一种多模组打印机及其同步创建打印任务的方法、存储介质。
背景技术
随着计算机在图形或文字处理上的广泛应用,打印机的应用也变得越来越普遍,通过打印机,人们可以很方便的将计算机中的文字或图形输出到图片上,如广告、宣传单、商品上的说明图标等。然而随着技术的进行,这些商品图标不仅包括固定不变的信息如:商品名称、产地、重量、生产日期、质量保证期、厂家联系方式,还包括一些可变信息如:产品标准号、条形码、二维码、序列号等。由于商品图标包括不变信息和可变信息,所以每一个商品图标都不相同,需要采用多模组打印机对该商品图标进行打印,一个模组打印不变信息,其他若干模组打印可变信息(记作标签);但现有的多模组打印机,其各模组在触发打印任务、创建打印任务时都是相互独立的,如此一来,当商品图标中的若干标签相互关联时,如商品图标中出现标签A时,需要同时出现标签a1和a2,当商品图标中出现标签B时,需要同时出现标签b1和b2,标签A和B由同一个模组顺序输出,标签a1和b1由同一个模组顺序输出,标签a2和b2顺序输出,采用现有的多模组打印机进行商品图标打印,由于各模组触发打印任务、创建打印任务相互独立则打印时就会导致不同的模组之间工作不同步,同一个商品图标的不同标签不能匹配上的问题。
发明内容
本发明实施例提供了多模组打印机及其同步创建打印任务的方法、存储介质,用以解决现有技术中多模组打印机进行商品图标打印时不同的模组之间工作不同步,同一个商品图标的不同标签不能匹配上的问题。
第一方面,本发明实施例提供了一种多模组打印机同步创建打印任务的方法,所述方法包括:
根据触发打印信号判断所有模组是否满足本次创建打印任务的条件;
当存在一个模组不满足本次创建打印任务的条件时,控制所有模组放弃本次打印任务的创建,重新获取所述触发打印信号;
当所有模组都满足本次创建打印任务的条件时,控制所有模组创建本次打印任务。
优选地,所述触发打印信号为所有模组中某一模组的触发打印信号。
优选地,所述依据所述触发打印信号判断所有模组是否满足本次创建打印任务的条件包括:
依据所述触发打印信号判断每个模组对应的打印任务队列的读取是否有误;
当存在一个模组对应的打印任务队列读取有误时,则不满足创建本次打印任务的条件;
当所有模组对应的打印任务队列读取无误时,则控制所有模组置位同步指示信号;
当存在一个模组没有成功置位同步指示信号时,则不满足创建本次打印任务的条件;
当所有模组都成功置位同步指示信号时,则所有模组满足创建本次打印任务的条件。
优选地,所述依据所述触发打印信号判断每个模组对应的打印任务队列的读取是否有误包括:
依据触发打印信号判断每个模组对应的打印任务队列是否为空;
当所述打印任务队列为空时,则打印任务队列的读取有误;
当所述打印任务队列不为空时,则判断所述打印任务队列中当前打印任务的任务参数读取是否有误;
当所述任务参数读取错误时,则打印任务队列的读取有误;
当所述任务参数读取正确时,则打印任务队列的读取无误。
优选地,所述多模组包括背景模组和标签模组,所述背景模组用于打印按照一定规律变化的可变图像中的不变内容,所述标签模组用于打印所述可变图像中的可变内容,所述触发打印信号为所述背景模组的触发打印信号
优选地,所述当所有模组都满足本次创建打印任务的条件时,控制所有模组创建本次打印任务之后,所述方法还包括:
控制所述背景模组对创建的打印任务进行计数,并将计数值传输给所有的所述标签模组。
优选地,所述方法还包括:
判断所述计数值是否小于预定值;
当所述计数值小于所述预定值时,依据下一次的触发打印信号判断所有标签模组是否满足下一次创建打印任务的条件;
当所有标签模组都满足创建打印任务的条件时,控制所有标签模组和所述背景模组创建下一次打印任务。
第二方面,本发明实施例提供了一种多模组打印机,包括:
判断模块,用于根据触发打印信号判断所有模组是否满足本次创建打印任务的条件;
创建模块,当所有模组都满足本次创建打印任务的条件时,用于控制所有模组创建本次打印任务。
第三方面,本发明实施例提供了一种多模组打印机,包括:至少一个处理器、至少一个存储器以及存储在存储器中的计算机程序指令,当计算机程序指令被处理器执行时实现如上述实施方式中第一方面的方法。
第四方面,本发明实施例提供了一种存储介质,其上存储有计算机程序指令,当计算机程序指令被处理器执行时实现如上述实施方式中第一方面的方法。
综上所述,本发明实施例提供的多模组打印机及其同步创建打印任务的方法、存储介质,本发明中的所有模组采用相同的一个触发打印信号,同时开始打印任务创建条件的判断,当所有模组都满足创建打印任务的条件时,才控制各模组创建打印任务,使得各模组创建打印任务同步,避免了各模组由于信号不同步、参数读取不同步等导致的创建打印任务不同步,进而导致打印产品混乱、图案匹配不上的问题;采用本发明的方法不仅可以保持各模组打印的图像同步,同时能够系统高效的管理各模组之间的任务、保证打印任务能够高效、无误进行。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明第一实施例的多模组打印机的结构示意图。
图2是本发明第二实施例的多模组打印机同步创建打印任务的方法流程图。
图3是本发明第二实施例的多模组打印机同步创建打印任务的方法的任务处理示意图。
图4是本发明第三实施例的多模组打印机同步创建打印任务的方法的流程图。
图5是本发明第四实施例的多模组打印机同步创建打印任务的方法的流程图。
图6是本发明第五实施例的多模组打印机的结构示意图。
具体实施方式
下面将详细描述本发明的各个方面的特征和示例性实施例,为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细描述。应理解,此处所描述的具体实施例仅被配置为解释本发明,并不被配置为限定本发明。对于本领域技术人员来说,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明更好的理解。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
请参见图1,本发明实施例提供了一种多模组打印机,所述打印机包括:
判断模块10,用于根据触发打印信号判断所有模组是否满足本次创建打印任务的条件;
创建模块20,当所有模组都满足本次创建打印任务的条件时,用于控制所有模组创建本次打印任务。
其中,所述判断模块10还包括:第一判断单元11及第二判断单元12;
所述第一判断单元11,用于依据所述触发打印信号判断每个模组对应的打印任务队列的读取是否有误;当存在一个模组对应的打印任务队列读取有误时,则不满足创建本次打印任务的条件;当所有模组对应的打印任务队列读取无误时,则控制所有模组置位同步指示信号;
所述第二判断单元12,用于判断所有模组置位同步指示信号是否成功,当存在一个模组没有成功置位同步指示信号时,则不满足创建本次打印任务的条件;当所有模组都成功置位同步指示信号时,则所有模组满足创建本次打印任务的条件。
优选地,所述第一判断单元11还用于依据触发打印信号判断每个模组对应的打印任务队列是否为空;
当所述打印任务队列为空时,则打印任务队列的读取有误;
当所述打印任务队列不为空时,则判断所述打印任务队列中当前打印任务的任务参数读取是否有误;
当所述任务参数读取错误时,则打印任务队列的读取有误;
当所述任务参数读取正确时,则打印任务队列的读取无误。
优选地,所述触发打印信号为所有模组中某一模组的触发打印信号。
优选地,所述多模组打印机还包括打印模块30,所述打印模块30包括多个打印模组简称多模组,每个打印模组至少包括一个喷头,优选地所述多模组包括背景模组31和标签模组32,所述背景模组用于打印按照一定规律变化的可变图像中的不变内容,所述标签模组用于打印所述可变图像中的可变内容,所述触发打印信号为所述背景模组的触发打印信号。
本实施例中的多模组打印机中的所有模组通过采用相同的一个触发打印信号,同时开始打印任务创建条件的判断,当所有模组都满足创建打印任务的条件时,才控制各模组创建打印任务,使得各模组创建打印任务同步,避免了各模组由于信号不同步、参数读取不同步等导致的创建打印任务不同步,进而导致打印产品混乱、图案匹配不上的问题;采用本实施例中的多模组打印机不仅可以保持各模组打印的图像同步,同时能够系统高效的管理各模组之间的任务、保证打印任务能够高效、无误进行。
请参阅图2,本发明实施例提供了一种多模组打印机同步创建打印任务的方法,所述方法包括:
S1、根据触发打印信号判断所有模组是否满足本次创建打印任务的条件;
S2、当存在一个模组不满足本次创建打印任务的条件时,控制所有模组放弃本次打印任务的创建,重新获取所述触发打印信号;
S3、当所有模组都满足本次创建打印任务的条件时,控制所有模组创建本次打印任务。
具体的,在本实施例中每个模组都有一个独立的触发打印信号,以保证每个模组能够独立触发创建打印任务,为了保证每个模组能够同时创建打印任务,本发明中采用所有模组中的某一个模组的触发打印信号作为所有模组创建打印任务的请求信号,依据同一个所述触发打印信号判断所有模组是否满足本次创建打印任务的条件,如果所有模组都满足本次创建打印任务的条件时,则控制所有模组创建本次打印任务,当存在一个模组不满足本次创建打印任务的条件时,控制所有模组放弃本次打印任务的创建,然后返回步骤S1,如此保证了每个模组顺序创建打印任务,不会因为某一模组创建打印任务失败而导致各模组打印的标签不匹配。
优选地,在本实施例中,所述多模组包括背景模组和标签模组,所述背景模组用于打印按照一定规律变化的可变图像中的不变内容,所述标签模组用于打印所述可变图像中的可变内容,所述触发打印信号为所述背景模组的触发打印信号。具体的,请参阅图3,多模组包括1个背景模组和3个标签模组,背景模组用于打印可变图像中的不变内容F,标签模组1用于打印可变图像中的标签A,标签模组2用于打印可变图像中的标签B,标签模组3用于打印可变图像中的标签C,3个标签之间相互匹配。在本实施例中,由于背景模组用于打印可变图像中的不变内容F,当没有其他类型的可变图像需要打印时,则背景模组仅仅维护拥有一个打印任务的队列,而3个标签模组需要分别维护一个拥有n个打印任务的队列,因此创建打印任务时一般以背景模组的触发打印信号为所有模组创建打印任务的请求信号,避免由于标签模组的信号丢失或重复而使得创建打印任务混乱。
优选地,所述步骤S2之后还包括:控制所述背景模组对创建的打印任务进行计数,并将计数值传输给所有的所述标签模组。便于对一个类型的可变图像的总打印任务进行统计,将计数值传输给所有的标签模组,保证了背景模组和标签模组创建的打印任务个数相同,没有出现遗漏、重复等,进而保证各模组的相互匹配。
优选地,当对本次创建的打印任务进行计数后,所述方法还包括:
S4、判断所述计数值是否小于预定值;
S5、当所述计数值小于所述预定值时,依据下一次的触发打印信号判断所有标签模组是否满足下一次创建打印任务的条件;
S6、当所有标签模组都满足创建打印任务的条件时,控制所有标签模组和所述背景模组创建下一次打印任务。
具体的,根据客户要求的一个类型的可变图像的总需求量,设定该类型的可变图像需要创建的打印任务总次数的预定值,当当前的计数值小于预定值时,此时只需要依据下一次的触发打印信号判断所有标签模组是否满足下一次创建打印任务的条件,如果所有标签模组都满足创建打印任务的条件时,则控制所有的模组包括背景模组和标签模组创建下一次的打印任务,对于一类型的可变图像,背景模组创建打印任务的条件判断可以只有一次,只需要在创建打印任务时同步创建就可以了;当背景模组的计数值等于预定值时,读出该类型的可变图像的所有创建的打印任务,然后再返回步骤S1等待下一类型的可变图像的任务创建。
请参阅图4,所述步骤S1:依据所述触发打印信号判断所有模组是否满足本次创建打印任务的条件具体包括:
S11、依据所述触发打印信号判断每个模组对应的打印任务队列的读取是否有误;
S12、当存在一个模组对应的打印任务队列读取有误时,则不满足创建本次打印任务的条件;
S13、当所有模组对应的打印任务队列读取无误时,则控制所有模组置位同步指示信号;
S14、当存在一个模组没有成功置位同步指示信号时,则不满足创建本次打印任务的条件;
S15、当所有模组都成功置位同步指示信号时,则所有模组满足创建本次打印任务的条件。
具体的,每个模组都有一个独立的触发打印信号,以保证每个模组能够独立触发创建打印任务,为了保证每个模组能够同时创建打印任务,采用所有模组中的某一个模组的触发打印信号作为所有模组创建打印任务的请求信号,同时每个模组都有一个对应的打印任务队列,依据同一个所述触发打印信号判断每一个所述模组对应的打印任务队列的读取是否有误,当存在一个模组对应的打印任务队列读取有误时,则不满足创建本次打印任务的条件,然后控制所有模组放弃本次打印任务的创建。当所有模组对应的打印任务队列读取无误时,则控制所有模组置位同步指示信号,在同步状态下等待所有模组的同步指示信号置位;当存在一个模组没有成功置位同步指示信号时,则不满足创建本次打印任务的条件,控制所有模组放弃本次打印任务的创建;当所有模组都成功置位同步指示信号时,则所有模组满足创建本次打印任务的条件,控制所有模组创建本次打印任务,并将创建的打印任务写入后级任务队列中。
优选地,请参阅图5,所述步骤S11:依据所述触发打印信号判断每个模组对应的打印任务队列的读取是否有误具体包括:
S111、依据触发打印信号判断每个模组对应的打印任务队列是否为空;
S112、当所述打印任务队列为空时,则打印任务队列的读取有误;
S113、当所述打印任务队列不为空时,则判断所述打印任务队列中当前打印任务的任务参数读取是否有误;
S114、当所述任务参数读取错误时,则打印任务队列的读取有误;
S115、当所述任务参数读取正确时,则打印任务队列的读取无误。
具体的,每个模组都有一个独立的触发打印信号,以保证每个模组能够独立触发创建打印任务,为了保证每个模组能够同时创建打印任务,采用所有模组中的某一个模组的触发打印信号作为所有模组创建打印任务的请求信号,同时每个模组都有一个对应的打印任务队列,依据同一个所述触发打印信号判断每一个所述模组对应的打印任务队列是否为空,当所述打印任务队列为空时,则打印任务队列的读取有误,此时一定存在一个模组不满足本次创建打印任务的条件,控制所有模组放弃本次触发打印信号,返回步骤S111;当所述打印任务队列不为空时,则判断所述打印任务队列中当前打印任务的任务参数读取是否有误,当所述任务参数读取错误时,则打印任务队列的读取有误,此时一定在一个模组不满足本次创建打印任务的条件,控制所有模组放弃本次打印任务的创建;当所述任务参数读取正确时,则打印任务队列的读取无误,但是否满足创建本次打印任务的条件,还需要判断其他条件是否满足。
本发明中的所有模组采用相同的一个触发打印信号,同时开始打印任务创建条件的判断,当所有模组都满足创建打印任务的条件时,才控制各模组创建打印任务,使得各模组创建打印任务同步,避免了各模组由于信号不同步、参数读取不同步等导致的创建打印任务不同步,进而导致打印产品混乱、图案匹配不上的问题;采用本发明的方法不仅可以保持各模组打印的图像同步,同时能够系统高效的管理各模组之间的任务、保证打印任务能够高效、无误进行。
另外,结合图2描述的本发明实施例的多模组打印机同步创建打印任务的方法可以由多模组打印机来实现。图6示出了本发明实施例提供的多模组打印机的硬件结构示意图。
多模组打印机可以包括处理器401以及存储有计算机程序指令的存储器402。
具体地,上述处理器401可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,ASIC),或者可以被配置成实施本发明实施例的一个或多个集成电路。
存储器402可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器402可包括硬盘驱动器(Hard Disk Drive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(Universal Serial Bus,USB)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器402可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器402可在数据处理装置的内部或外部。在特定实施例中,存储器402是非易失性固态存储器。在特定实施例中,存储器402包括只读存储器(ROM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(PROM)、可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、电可改写ROM(EAROM)或闪存或者两个或更多个以上这些的组合。
处理器401通过读取并执行存储器402中存储的计算机程序指令,以实现上述实施例中的任意一种多模组打印机同步创建打印任务的方法。
在一个示例中,多模组打印机还可包括通信接口403和总线410。其中,如图6所示,处理器401、存储器402、通信接口403通过总线410连接并完成相互间的通信。
通信接口403,主要用于实现本发明实施例中各模块、装置、单元和/或设备之间的通信。
总线410包括硬件、软件或两者,将多模组打印机的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(AGP)或其他图形总线、增强工业标准架构(EISA)总线、前端总线(FSB)、超传输(HT)互连、工业标准架构(ISA)总线、无限带宽互连、低引脚数(LPC)总线、存储器总线、微信道架构(MCA)总线、外围组件互连(PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(SATA)总线、视频电子标准协会局部(VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线410可包括一个或多个总线。尽管本发明实施例描述和示出了特定的总线,但本发明考虑任何合适的总线或互连。
另外,结合上述实施例中的多模组打印机同步创建打印任务的方法,本发明实施例可提供一种计算机可读存储介质来实现。该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种多模组打印机同步创建打印任务的方法。
综上所述,本发明实施例提供的多模组打印机及其同步创建打印任务的方法、存储介质,本发明中的所有模组采用相同的一个触发打印信号,同时开始打印任务创建条件的判断,当所有模组都满足创建打印任务的条件时,才控制各模组创建打印任务,使得各模组创建打印任务同步,避免了各模组由于信号不同步、参数读取不同步等导致的创建打印任务不同步,进而导致打印产品混乱、图案匹配不上的问题;采用本发明的方法不仅可以保持各模组打印的图像同步,同时能够系统高效的管理各模组之间的任务、保证打印任务能够高效、无误进行。
需要明确的是,本发明并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本发明的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本发明的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。
以上所述,仅为本发明的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。