一种多打印机同时打印时作业的分配方法及系统
技术领域
本发明涉及一种打印作业的分配方法及系统,尤其是涉及一种多打印机同时打印时作业的分配方法及系统。
背景技术
在印刷领域的输出软件中,通常一个输出软件连接一台打印机。如果用一个输出软件同时连接多台打印机并让多台打印机同时打印,则可以极大的提高打印的效率。当然,如果分配待打印作业的方法不合理,便会出现某台打印机停滞,而另一台打印机堆积了很多作业需要打印的现象,从而影响了效率的提高。
通常,打印机的介质幅面大于作业幅面,输出软件会先将多个作业按照介质的幅面拼装在一起,形成一个大版。大版拼满后,再将这个大版输出到打印机打印。拼装作业的过程叫做拼版。在拼版的情况下,确定待打印作业分配给哪台打印机比不拼版的情况更加困难。
如何合理地分配待打印作业给多台打印机,使每台打印机都能以均衡的效率来打印是提高整体输出效率的关键。
发明内容
针对现有技术中存在的缺陷,本发明的目的是提供一种多打印机同时打印时作业的分配方法及系统,该方法及系统能够均衡所有打印机的工作量,提高整体的打印效率。
为实现以上目的,本发明采用的技术方案如下:
一种多打印机同时打印时作业的分配方法,包括以下步骤:
(1)计算N台打印机中每台打印机的打印作业占大版像素面积P,所述的N值大于等于2,所述的打印作业占大版像素面积为已打印作业占大版像素面积和待打印作业占大版像素面积之和,所述的像素是指打印作业按照打印机分辨率换算后的像素;
(2)将下一个打印作业分配给P值最小的打印机;当存在多台P值相同且最小的打印机时,分配给任意一台打印机;
(3)重复以上步骤,直到打印完所有的作业。
如上所述的一种多打印机同时打印时作业的分配方法,其中,打印机不拼版时,步骤(1)中所述的打印作业占大版像素面积等于已打印作业和待打印作业的作业像素面积之和。所述的作业像素面积计算方法为:作业的左上角或左下角像素点横坐标与右上角或右下角像素点横坐标之差的绝对值乘以作业的左上角或右上角像素点纵坐标与左下角或右下角像素点纵坐标之差的绝对值。
如上所述的一种多打印机同时打印时作业的分配方法,其中,打印机拼版时,步骤(1)中所述的已打印作业占大版像素面积的计算方法为:首先计算打印过的每个大版中被拼版作业占大版像素面积,所述的被拼版作业占大版像素面积为被拼版作业占据大版的最小矩形区域的像素面积;然后将打印过的每个大版中被拼版作业占大版像素面积进行累加。所述的待打印作业占大版像素面积是指当前待打印大版中被拼版作业占据大版的最小矩形区域的像素面积。所述的被拼版作业占据大版的最小矩形区域的像素面积的计算方法包括以下步骤:
①比较每个已拼入作业的左上角或左下角像素点的横坐标,取最小横坐标;比较每个已拼入作业的右上角或右下角像素点横坐标,取最大横坐标;计算最大横坐标与最小横坐标的差值;
②比较每个已拼入作业的左上角或右上角像素点的纵坐标,取最小纵坐标;比较每个已拼入作业的左下角或右下角像素点纵坐标,取最大纵坐标;计算最大纵坐标与最小纵坐标的差值;
③将步骤①中计算出的差值的绝对值与步骤②中计算出的差值的绝对值相乘。
如上所述的一种多打印机同时打印时作业的分配方法,在步骤(2)和步骤(3)之间还包括以下步骤:判断P值最小的打印机的大版是否已被拼满;如是,则将该打印机的大版标记为已拼满或打印该大版,将该打印机的已打印作业占大版像素面积进行累加,并将该打印机的待打印作业占大版像素面积清零;然后新建一个大版,拼入打印作业,将该打印机的待打印作业占大版像素面积进行累加,同时将其他打印机的累计已打印作业占大版像素面积清零;如否,则将打印作业拼入该打印机的大版中。
如上所述的一种多打印机同时打印时作业的分配方法,其中,所述的方法可以设置在打印作业栅格化处理之前,也可以设置在打印作业栅格化处理之后;如果设置在栅格化处理之前,则N台打印机的参数设置可以相同,也可以不同;如果设置在栅格化处理之后,则N台打印机的分辨率设置必须相同,其他参数设置可以相同,也可以不同。
一种多打印机同时打印时作业的分配系统,包含N台打印机和用于将作业均衡地分配给N台打印机的作业分配装置;所述的作业分配装置包括用于计算N台打印机的已打印作业占大版像素面积、待打印作业占大版像素面积和打印作业占大版像素面积的计算器,用于记录N台打印机已打印作业占大版像素面积的N个计数器,用于记录N台打印机待打印作业占大版像素面积的N个计数器,用于记录N台打印机打印作业占大版像素面积的N个计数器,以及用于比较N台打印机打印作业占大版像素面积的比较器。所述的N大于等于2。
本发明所述的方法及系统,在多个打印机之间分配待打印作业时,按照设备像素计算每台打印机的打印作业占大版像素面积,根据像素面积的大小决定将下一个作业分配给哪台打印机打印。因此,可以均衡多台打印机的工作量,避免出现某台打印机停滞,而另一台打印机一直打印的现象发生,从而提高整体的输出效率。
附图说明
图1是本发明所述的系统结构图;
图2是具体实施方式中当打印机拼版时作业分配方法流程图;
图3是实施例1中打印机1的待打印大版示意图;
图4是实施例1中打印机2的待打印大版示意图;
图5是实施例1中打印机2拼入打印作业后的待打印大版示意图。
具体实施方式
下面结合实施例和附图对本发明进行详细说明。
本发明适用于多台打印机同时打印一批作业的情形,如何在多台打印机之间分配打印作业,使得每台打印机的工作量均衡,避免出现某台打印机停滞,而另一台打印机一直打印的现象,便是本发明所要解决的问题。
图1出示了本发明所述的系统结构图,包括N(N≥2)台打印机和用于将作业均衡地分配给N台打印机的作业分配装置。其中,作业分配装置包括用于计算N台打印机的已打印作业占大版像素面积、待打印作业占大版像素面积和打印作业占大版像素面积的计算器,用于记录N台打印机已打印作业占大版像素面积的N个计数器,用于记录N台打印机待打印作业占大版像素面积的N个计数器,用于记录N台打印机打印作业占大版像素面积的N个计数器,以及用于比较N台打印机打印作业占大版像素面积的比较器。
图2出示了采用本发明所述的系统在多打印机之间分配作业的方法流程,包括以下步骤。该方法可以设置在打印作业栅格化处理之前,也可以设置在打印作业栅格化处理之后。如果设置在栅格化处理之前,则N台打印机的参数设置(例如分辨率,介质的宽、高等)可以相同,也可以不同;如果设置在栅格化处理之后,则N台打印机的分辨率设置必须相同,其他参数设置可以相同,也可以不同。本发明中所述的像素均是指打印作业按照打印机分辨率换算后的像素,而非打印作业本身的像素。
(1)作业分配装置中的计算器分别计算N(N≥2)台打印机中每台打印机的打印作业占大版像素面积P,包括计算已打印作业占大版像素面积和待打印作业占大版像素面积,打印作业占大版像素面积P为已打印作业占大版像素面积与待打印作业占大版像素面积之和。并将计算结果分别送入N台打印机的已打印作业占大版像素面积计数器、待打印作业占大版像素面积计数器和打印作业占大版像素面积计数器。
当打印机不拼版时,上述打印作业占大版像素面积等于已打印作业和待打印作业的作业像素面积之和。作业像素面积的计算方法为:作业的左上角或左下角像素点横坐标与右上角或右下角像素点横坐标之差的绝对值乘以作业的左上角或右上角像素点纵坐标与左下角或右下角像素点纵坐标之差的绝对值。已打印作业占大版像素面积为所有已打印作业的像素面积之和。
当打印机拼版时,上述已打印作业占大版像素面积的计算方法为:首先计算打印过的每个大版中被拼版作业占大版像素面积,其中,被拼版作业占大版像素面积为被拼版作业占据大版的最小矩形区域的像素面积;然后将打印过的每个大版中被拼版作业占大版像素面积进行累加。待打印作业占大版像素面积是指当前待打印大版中被拼版作业占据大版的最小矩形区域的像素面积。
被拼版作业占据大版的最小矩形区域的像素面积如图4中的虚线框42中的区域,其计算方法包括以下步骤:
①比较每个已拼入作业的左上角或左下角像素点的横坐标,取最小横坐标;比较每个已拼入作业的右上角或右下角像素点横坐标,取最大横坐标;计算最大横坐标与最小横坐标的差值;
②比较每个已拼入作业的左上角或右上角像素点的纵坐标,取最小纵坐标;比较每个已拼入作业的左下角或右下角像素点纵坐标,取最大纵坐标;计算最大纵坐标与最小纵坐标的差值;
③将步骤①计算出的差值的绝对值与步骤②中计算出的差值的绝对值相乘。
(2)比较N台打印机打印作业占大版像素面积P的大小,根据比较结果将下一个打印作业分配给P值最小的打印机。当存在多台P值相同且最小的打印机时,分配给P值最小的任意一台打印机。
当打印机拼版时,还需要判断P值最小的打印机的大版是否已被拼满。如是,则将该打印机的大版标记为已拼满或打印该大版,将该打印机的已打印作业占大版像素面积进行累加,并将该打印机的待打印作业占大版像素面积计数器清零;然后新建一个大版,拼入打印作业,将待打印作业占大版像素面积进行累加,同时将其他打印机的累计已打印作业占大版像素面积清零;如否,则将打印作业拼入该打印机的大版中。
(3)重复以上步骤,直到打印完所有的作业。
实施例1
假设有两台打印机,打印分辨率均为720*720 DPI。打印机1的大版幅面是20*30 inch,即14400*21600 pixel。打印机2的大版幅面是20*40inch,即14400*28800 pixel。
打印机1已打印了一个大版,已打印作业占大版像素面积B1=14400*21600 pixel。打印机2还没有打印,已打印作业占大版像素面积B2=0。
打印机1的待打印大版31中已拼有1个作业32,待打印作业占大版像素面积A1=14400*6000 pixle,如图3所示。打印机2的待打印大版41中已拼有5个作业,待打印作业占大版像素面积,即图4中虚线框42区域的面积A2=14400*25000 pixel。计算A2的过程为:首先比较5个作业左上角或左下角像素点的横坐标,取最小横坐标;比较已拼入作业的右上角或右下角像素点横坐标,取最大横坐标,计算最大横坐标与最小横坐标的差值;然后比较5个作业左上角或右上角像素点的纵坐标,取最小纵坐标,比较已拼入作业的左下角或右下角像素点纵坐标,取最大纵坐标,计算最大纵坐标与最小纵坐标的差值;最后将计算出的两个差值的绝对值相乘,便得到A2的值。
打印机1的打印作业占大版像素面积P1=A1+B1=14400*27600 pixel;打印机2的打印作业占大版像素面积P2=A2+B2=14400*25000 pixel。由于P2小于P1,因此下一个作业将分配到打印机2。假设下一个打印作业的幅面是10*3 inch,即7200*2160 pixel,该作业可以拼入打印机2的大版41中。图5为拼入待打印作业51后的打印机2的待打印大版示意图。
实施例2
本实施例在实施例1的基础上,假设下一个打印作业的幅面不是10*3inch,而是10*6 inch,即7200*4320 pixel。由于打印机2的大版幅面为14400*28800 pixel,已拼版作业幅面为14400*25000 pixel,显然,该作业不能拼入打印机2的大版中,即当前大版已满。此时,将打印机2的大版标记为已满或者启动打印机2打印当前大版,并将打印机2的已打印作业占大版像素面积进行累加,即作业分配装置中的计算器读取打印机2的已打印作业占大版像素面积计数器和待打印作业占大版像素面积计数器中的值,将两者相加后送入已打印作业占大版像素面积计数器,将打印机2的待打印作业占大版像素面积计数器清零。然后,打印机2新建一个14400*28800 pixel幅面的大版,将待打印作业拼入其中,打印机2的待打印作业占大版像素面积进行累加,A2=7200*4320 pixle。同时将打印机1的已打印作业占大版像素面积B1清零,即B1=0。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其同等技术的范围之内,则本发明也意图包含这些改动和变型在内。