打印机控制器、打印机控制方法和存储介质的制作方法

文档序号:6557920阅读:129来源:国知局
专利名称:打印机控制器、打印机控制方法和存储介质的制作方法
技术领域
本发明涉及用于基于来自诸如商业应用程序的应用程序模块的指令对控制对象打印机的操作进行控制的打印机控制器、打印机控制方法以及程序。
背景技术
通常,当打印应用程序所使用的文档时,调用独立于该应用程序安装的打印机驱动器程序。结果,在应用程序中不必描述诸如特定打印机特有的规格和控制指令的信息,由此与打印机类型无关地获得规定的打印结果。
然而,商业应用程序通常是作为包括特定打印机的系统的一部分而提供的。因此,难以用不同类型的打印机(替换打印机)来替换特定打印机(专用打印机)。例如,保留具有该专用打印机的打印机驱动器所特有大小的存储器空间,或者使用具有该专用打印机的打印机驱动器所特有结构的数据。
在安装了这种不符合通用开发规则的应用程序的情况下,由于专用打印机的故障等而用不同类型的打印机(替换打印机)来替换该专用打印机可能引起如下问题应用程序不能工作或者打印机不能产生预期的输出。这例如是因为专用打印机和替换打印机的打印机驱动器在一部分数据结构存在差异或者需要不同大小的存储器空间。

发明内容
鉴于上述情况提出了本发明,并且本发明提供了一种能够防止当在安装有基于将使用专用打印机的假设而开发的应用程序的系统中用不同类型的打印机替换该专用打印机时可能出现的这些问题的打印机控制器、打印机控制方法和程序。
根据本发明的一方面,提供了一种打印机控制器,其包括驱动器模块,对要控制的控制对象打印机的操作进行控制;以及应用程序模块,其中,驱动器模块包括变换表查阅部,查阅针对规定的打印机控制项将适用于控制对象打印机的控制参数与适用于不同于该控制对象打印机的变换对象打印机的控制参数相关联的变换表;控制参数获取部,获取从应用程序模块输出的、与所述打印机控制项对应的、并且适用于变换对象打印机的控制参数;以及控制参数变换部,根据变换表将所获取的控制参数变换为适用于控制对象打印机的控制参数,并输出所得到的控制参数。
利用上述配置,驱动器模块将适用于变换对象打印机的控制参数变换为适用于控制对象打印机的控制参数,并输出后者。这使得可以防止否则在基于将使用变换对象打印机的假设而开发的应用程序模块工作的情况下用控制对象打印机来替换变换对象打印机时可能引起的问题。


将基于以下附图对本发明的实施例进行详细描述,在附图中图1是示出根据本发明示例性实施例的打印机控制器的总体配置的框图;图2是示出根据本发明示例性实施例的打印机控制器的功能的功能框图;图3A和3B示出了根据本发明示例性实施例的打印机控制器查阅的包含变换表的示例性设置文件;图4示出了根据本发明示例性实施例的打印机控制器查阅的包含变换表的另一示例性设置文件;以及图5示出了根据本发明示例性实施例的打印机控制器查阅的包含关于控制信息存储区数据大小的信息的示例性设置文件。
具体实施例方式
以下将参照附图对本发明的实施例进行说明。
图1示出了包括根据本发明实施例的打印机控制器在内的示例性计算机系统的配置。如图1所示,该计算机系统包括打印机控制器10和打印机15。
作为通用个人计算机的打印机控制器10例如包括控制部11、存储部12、以及接口部13。
控制部11例如是CPU,根据存储在存储部12中的程序来进行操作。在本实施例中,控制部11实现应用程序模块和驱动器模块(稍后对这两者进行说明)的功能。
存储部12是用于存储要由控制部11运行的程序的计算机可读存储介质,包括诸如RAM和ROM以及/或者盘装置等的存储装置。存储部12还用作控制部11的工作存储器。此外,存储部12保持有驱动器模块要查阅的各种设置文件。
接口部13与打印机15交换数据。具体地,接口部13通过向打印机15发送来自驱动器模块(稍后要描述)的控制指令来控制打印机15的操作。
如图2所示,打印机控制器10包括应用程序模块20和驱动器模块30。应用程序模块20包括存储区确保部21和控制信息输出部22。驱动器模块30包括控制参数获取部31、控制参数变换部32、以及控制信息更新部33。这些功能例如是通过控制部11运行存储在存储部12中的程序而实现的。
应用程序模块20是用于执行规定的事务工作的模块。例如,事务工作由应用程序模块20执行,包括使用打印机的工作,例如打印票单(slip)。应用程序模块20例如是不同于打印机15的专用打印机(变换对象打印机)。
存储区确保部21在存储部12中确保用于存储控制打印机操作所要使用的打印机控制信息的控制信息存储区M。例如,存储区确保部21在应用程序20的执行开始时确保控制信息存储区M。应用程序模块20或者驱动器模块30对确保的控制信息存储区M进行存取,以读取或写入打印机控制信息。
如图2所示,控制信息存储区M包括基本区MB和扩展区ME。基本区MB是用于存储与被预先定义为所有打印机公共的控制项的打印机控制项相关的控制参数的存储区。基本区MB可以存储与诸如送纸盘信息的打印机控制项相关的控制参数。
扩展区ME是能够存储与各个打印机特有的打印机控制项相关的控制参数的存储区。通常,在确保扩展区ME时,应用程序模块20从驱动器模块获取关于该驱动器模块所需要的存储区的数据大小的信息,并根据获得的数据大小来确保扩展区ME。然而,由于本实施例的应用程序模块20仅仅是针对变换对象打印机而开发的,因此应用程序模块20与实际要使用的打印机无关地根据用于变换对象打印机的驱动器模块所需要的存储区数据大小来确保扩展区ME。更具体地,下面将描述其中存储区确保部21确保1,024字节的存储区作为扩展区ME的示例。
控制信息输出部22将控制打印机的操作所必需的打印机控制信息输出到存储区确保部21确保的控制信息存储区M。从控制信息输出部22输出的打印机控制信息包括适用于变换对象打印机的、关于诸如送纸盘信息的打印机控制项的控制参数。稍后将详细描述从控制信息输出部22输出的打印机控制信息的具体示例。
驱动器模块30是用于基于来自应用程序模块20的指令来控制打印机15的操作的模块。更具体地,驱动器模块30使用存储在由存储区确保部21确保的控制信息存储区M中的打印机控制信息来控制打印机15的操作。
控制参数获取部31通过查阅控制信息存储区M来获取从应用程序模块20输出的打印机控制信息中包括的控制参数。在获取控制参数时,控制参数获取部31可以通过查阅规定的存储位置来获取存储在基本区MB中的关于规定打印机控制项的控制参数。另一方面,如稍后所述,控制参数获取部31通过查阅变换表获取关于控制参数的存储位置的信息、然后查阅这些存储位置,从而获取存储在扩展区ME中的这些控制参数。
控制参数变换部32在必要时对控制参数获取部31获取的控制参数进行变换之后输出这些控制参数。更具体地,控制参数变换部32通过查阅变换表,将从应用程序模块20输出的并且适用于变换对象打印机的控制参数变换为适用于打印机15的控制参数。将控制参数变换部32获得的结果控制参数用于控制打印机15的操作。
控制信息更新部33在必要时对存储在控制信息存储区M中的打印机控制信息进行更新。例如,控制信息更新部33用与对打印机15的操作进行控制所使用的打印机控制项中的应用程序模块20没有为其在扩展区ME中确保存储位置的项相关的控制参数来重写扩展区ME中的数据。类似于从应用程序模块20输出的信息,重写的打印机控制信息也可以是控制参数获取部31的存取对象。
接着,将描述从控制信息输出部22或控制信息更新部33输出的打印机控制信息的具体示例、以及驱动器模块30获取输出打印机控制信息并对其进行变换的处理的具体示例。
将描述对存储在基本区MB中的与打印机控制项(送纸盘信息)相关的控制参数进行变换的第一示例。控制信息输出部22将送纸盘ID值作为控制参数写入基本区MB中的与送纸盘信息的控制项对应的规定存储位置。送纸盘ID值可以限定为驱动器模块的标准规格。即使在这种情况下,由于标准规格的数量(种类)有限,因此可以使用打印机特有的值。这里,假设控制信息输出部22输出变换对象打印机特有的值作为送纸盘ID值。因此,如果打印机15的驱动器模块30原样地使用该送纸盘ID值来控制打印机15的操作,则打印机15将执行出乎意料的操作或者可能发生错误。
为了避免这种情况,控制参数变换部32将控制参数获取部31从基本区MB获取的送纸盘ID值变换为适用于打印机15的值。更具体地,控制参数变换部32通过查阅变换表来变换送纸盘ID值。变换表是针对作为变换对象的打印机控制项将适用于变换对象打印机的控制参数与适用于打印机15的控制参数相关联的表。变换表例如作为图3A所示的文本文件格式的设置文件存储在存储部12中。图3A的示例性设置文件规定了图3B所示的控制参数之间的对应关系。例如,如果控制信息输出部22输出“102”作为送纸盘ID值,则控制参数变换部32将该值变换为表示打印机15的“送纸盘-2”的控制参数。结果,例如当应用程序模块20通过指定“102”作为送纸盘ID来执行打印作业时,驱动器模块30可以使打印机15使用送纸盘-2来进行打印。
接着,将描述对存储在扩展区ME中的与打印机控制项(排纸盘信息)相关的控制参数进行变换的第二示例。这里假设在基本区MB中没有为排纸盘信息准备存储位置。在这种情况下,为了执行指定作为打印机纸盘的排纸盘的控制,控制信息输出部22将排纸盘ID值存储在扩展区ME中作为与排纸盘信息的打印机控制项对应的控制参数。然而,由于该控制参数在扩展区ME中的存储位置取决于驱动器模块,因此即使控制参数获取部31试图执行与第一示例中的处理类似的处理,它也不能从扩展区ME中获取目标控制参数。
鉴于上述情况,控制参数获取部31通过查阅规定的变换表来获取关于目标控制参数的存储位置的信息,然后通过查阅该存储位置来获取控制参数。这种情况下使用的变换表例如作为图4所示的设置文件由存储部12保持。图4的示例中的设置文件在第二和第三行表示目标控制参数存储在距扩展区ME的头部有64字节偏移值的位置并且其数据大小为2字节。也就是说,排纸盘ID值存储在从扩展区ME的头部起测量的第64到第66字节的区域中。控制参数获取部31可以通过查阅从扩展区ME的头部起测量的第64到第66字节的区域来获取从控制信息输出部22输出的排纸盘ID值。
然后,控制参数变换部32按与第一示例中的方式相同的方式对控制参数获取部31获得的控制参数进行变换。更具体地,在图4的示例性设置文件的情况下,第四行和下面的行表示与图3A所示情况相似的控制参数之间的对应关系。控制参数变换部32使用这种变换表来执行变换。这样,即使在应用程序模块20自身将在基本区MB中没有准备其存储位置的诸如排纸盘信息的打印机设置项存储在扩展区ME中的情况下,驱动器模块30也可以正确地获取与该打印机设置项相关的控制参数,将其变换为适用于打印机15的控制参数,并将后者输出。
接着,将描述与应用程序模块20没有指定的打印机控制项相关的第三示例。如上所述,存储区确保部21在存储部12中确保适合于变换对象打印机的1,024字节的扩展区ME。然而,驱动器模块要使用的扩展区的数据大小取决于对应的打印机。因此,如果假设驱动器模块30使用超过1,024字节的扩展区,则除非采取适当的措施,否则驱动器模块30可能向位于从扩展区ME头部起测量的第1,024字节之后的存储区写入数据或者从其读取数据,从而造成诸如缓冲溢出的问题。
鉴于上述情况,对控制信息存储区M进行存取的控制参数获取部31和控制信息更新部33获取关于存储区确保部21确保的扩展区ME的数据大小的信息,并基于获取的关于数据大小的信息来限制对确保的扩展区ME以外的超出存储区的存取。更具体地,驱动器模块30例如从存储部12预先保持的设置文件来获取关于存储区确保部21确保的扩展区ME的数据大小的信息。图5示出了包含这种数据大小信息的示例性设置文件,其中数据大小信息存在于第二行。即使用于变换对象打印机的驱动器模块要使用的扩展区的数据大小与用于打印机15的驱动器模块30要使用的扩展区的数据大小之间存在差异,上述方法也可以防止驱动器模块30对控制信息存储区M以外的存储区进行存取的问题。
然而,利用该方法,驱动器模块30不能获取与原本应该存储在位于扩展区ME的第1024字节之后的区域中的打印机控制项相关的控制参数。因此,控制参数获取部31可以被构造为例如从存储部12预先保持的设置文件来获取这种打印机控制项的控制参数。更具体地,例如,在图5的示例性设置文件中,第三行和下面的行描述了这种打印机控制项和对应的控制参数。在图5的示例中,表示应该保持当前设置的控制参数值“keep”与订书机信息、打孔信息以及排纸盘信息的各个打印机控制项相关联。控制参数获取部31获取这些值,这使得即使在应用程序模块20没有指定与这些打印机控制项相关的控制参数的情况下也可以使用设置文件中描述的控制参数来控制打印机15的操作。
另选地,控制信息更新部33可以用与原本应该存储在扩展区ME中位于第1024字节之后的区域中的打印机控制项相关的控制参数来重写扩展区ME中位于第1024字节之前的规定位置处的数据。在这种情况下,控制信息更新部33查阅将打印机控制项、对应控制参数与扩展区ME中的将控制参数写入其中的规定位置相关联的设置文件,而不是图5中的示例性设置文件。然后,控制信息更新部33将控制参数信息写入通过查阅该设置文件而获得的扩展区ME中的规定位置。控制参数获取部31可以通过读出存储在扩展区ME的规定位置处的数据来获取与打印机控制项相关的控制参数。在这种情况下,采用其中存储着驱动器模块30不使用的打印机控制信息的位置作为控制信息更新部33写入控制参数信息的位置,这使得可以通过用必要控制参数来重写被设置为不必要数据的打印机控制信息从而将所述必要控制参数存储在扩展区ME中。
为了替换根据本实施例的上述计算机系统中的打印机,用户执行以下操作。首先,用户安装与控制对象打印机(替换打印机)对应并实现上述驱动器模块30的功能的装置驱动器程序。然后,用户基于从应用程序模块20根据变换对象打印机输出的控制参数、关于要确保的扩展区ME的数据大小的信息、适用于控制对象打印机(替换打印机)的控制参数、以及关于必要的扩展区ME的数据大小的信息,来生成包含变换表和关于数据大小的信息的设置文件。此外,用户使得存储部12保持所生成的设置文件,从而驱动器模块30可以查阅它们。于是,打印机控制器10可以没有任何问题地且不需要用户修改应用程序模块20地对控制对象打印机(替换打印机)的操作进行控制。
在上述实施例中,驱动器模块30将适用于变换对象打印机的控制参数变换为适用于控制对象打印机的控制参数,并输出后者。这使得即使在应用程序模块20使用适用于变换对象打印机的控制参数的信息进行操作的情况下也可以控制打印机15的操作,这继而防止了否则用打印机15替换变换对象打印机可能引起的问题。此外,由于驱动器模块30基于用于变换对象打印机的应用程序模块20确保的扩展区ME的数据大小来对该扩展区ME进行存取,所以可以避免诸如缓冲溢出的问题。
上述说明针对驱动器模块30将针对一个变换对象打印机而提供的应用程序模块20的输出变换为适用于打印机15的控制参数并执行其他处理的示例。然而,可能存在驱动器模块30对其进行变换的多个变换对象打印机。在这种情况下,驱动器模块30根据输出打印机控制信息的应用程序文件从多组设置文件(它们是针对各个变换对象打印机而准备的,各自包含变换表和扩展区的数据大小)中选择一组设置文件。驱动器模块30然后通过查阅所选择的设置文件来控制打印机。这样,驱动器模块30可以根据基于要使用不同的变换对象打印机的假设而开发的多个应用程序模块中的每一个按期望方式来控制打印机15。
当从多个设置文件中选择要查阅的设置文件时,驱动器模块30可以获取包括在打印机控制信息中的关于打印机类型的信息(例如打印机名称或制造商名称),并基于所获得的信息来选择要查阅的设置文件。由此,即使在驱动器模块30不能预先获取关于应用程序模块与变换对象打印机之间的对应关系的信息的情况下,驱动器模块30也可以根据确保了控制信息存储区的应用程序模块假设其使用的变换对象打印机来变换控制参数或对控制信息存储区进行存取。
上述说明假设驱动器模块30要查阅的变换表和关于扩展区ME的数据大小的信息由存储部12按照文本文件格式的设置文件形式来保持。这使得用户可以通过编辑文本文件来指定作为变换对象的控制参数的值或者关于控制信息存储区的数据大小的信息。然而,本发明并不限于这种方法。例如,配备有专用用户接口的设置信息编辑部可以获取用户输入的变换表或者关于数据大小信息的信息,并使得存储部12保持所获得的信息。
在上述说明中,将应用程序模块20确保的控制信息存储区划分为基本区和扩展区,扩展区是可以针对各个驱动器模块改变其数据大小的存储区。然而,根据本发明的打印机控制器适用于其他情况。例如,即使整个控制信息存储区都是可以针对各个驱动器模块改变其数据大小的存储区,也可以根据变换对象打印机(其是应用程序模块20通过查阅设置文件等来获取关于存储区的数据大小或者与存储在存储区中的打印机控制项相关的控制参数的存储位置的信息而假设的)来对控制对象打印机的操作进行控制。
根据本发明的一方面,变换表将表示与打印机控制项对应的控制参数在从应用程序模块输出的打印机控制信息中的位置的地址信息与该打印机控制项相关联,控制参数获取部基于该地址信息来获取打印机控制信息中包括的与所述打印机控制项对应的控制参数。由此,即使应用程序模块将与特定打印机控制项对应的并且适用于变换对象打印机的控制参数存储在存储区内的不同于驱动器模块的标准规格中的位置,驱动器模块也可以正确地获取与该打印机控制项对应的控制参数。
根据本发明的另一方面,提供了一种打印机控制器,其包括驱动器模块,对要控制的控制对象打印机的操作进行控制;以及应用程序模块,其中,驱动器模块包括存储区大小获取部,获取应用程序模块根据不同于控制对象打印机的变换对象打印机而确保的控制信息存储区的数据大小;以及存储区存取部,基于所获取的数据大小来识别控制信息存储区,并通过对所识别出的控制信息存储区进行存取来读取/写入要用于对控制对象打印机的操作进行控制的打印机控制信息。
利用该配置,驱动器模块基于应用程序模块根据变换对象打印机而确保的控制信息存储区的数据大小来识别控制信息存储区,并对识别出的控制信息存储区进行存取。这使得可以不造成诸如缓冲溢出的问题地读取或者写入从应用程序模块输出的打印机控制信息。
打印机控制器可以是这样的驱动器模块进一步包括附加项表查阅部,查阅将规定的打印机控制项与对应于该打印机控制项并且适用于控制对象打印机的控制参数相关联的附加项表;以及控制项重写部,根据附加项表用对应于所述打印机控制项的控制参数来重写存储在控制信息存储区的规定位置的打印机控制信息。利用该配置,即使在例如假设用于控制对象打印机的驱动器模块使用比应用程序模块根据变换对象打印机而确保的控制信息存储区的数据大小要大的存储区的情况下,不能存储在用于变换对象打印机的控制信息存储区中的控制信息的至少一部分也可以重写实际确保的控制信息存储区中的数据。这使得即使用于控制对象打印机的控制信息存储区的数据大小与用于变换对象打印机的控制信息存储区的数据大小之间存在差异,也可以将必要的控制信息存储在存储区中并使用该控制信息。
根据本发明的又一方面,提供了一种打印机控制方法,用于在具有应用程序模块的计算机中对要控制的控制对象打印机的操作进行控制,该方法包括以下步骤查阅针对规定的打印机控制项将适用于控制对象打印机的控制参数与适用于不同于该控制对象打印机的变换对象打印机的控制参数相关联的变换表;获取从应用程序模块输出的、与所述打印机控制项对应的、并且适用于变换对象打印机的控制参数;以及根据变换表将所获取的控制参数变换为适用于控制对象打印机的控制参数,并输出所得到的控制参数。
根据本发明又一方面,提供了一种存储介质,存储有用于使得具有应用程序模块的计算机执行对要控制的控制对象打印机的操作进行控制的处理的信息,所述处理包括查阅针对规定的打印机控制项将适用于控制对象打印机的控制参数与适用于不同于该控制对象打印机的变换对象打印机的控制参数相关联的变换表;获取从应用程序模块输出的、与所述打印机控制项对应的、并且适用于变换对象打印机的控制参数;以及根据变换表将所获取的控制参数变换为适用于控制对象打印机的控制参数,并输出所得到的控制参数。
在此通过引用整体地并入2005年11月15日提交的包括说明书、权利要求书、附图和摘要的日本专利申请第2005-330124号的全部公开内容。
权利要求
1.一种打印机控制器,包括驱动器模块,对控制对象打印机进行控制;以及应用程序模块,其中,驱动器模块包括变换表查阅部,查阅针对打印机控制项将适用于控制对象打印机的控制参数与适用于不同于该控制对象打印机的变换对象打印机的控制参数相关联的变换表;控制参数获取部,获取从应用程序模块输出的、与所述打印机控制项对应的、并且适用于变换对象打印机的控制参数;以及控制参数变换部,根据变换表将所获取的控制参数变换为适用于控制对象打印机的控制参数,并输出所得到的控制参数。
2.根据权利要求1所述的打印机控制器,其中,变换表将表示与所述打印机控制项对应的控制参数在从应用程序模块输出的打印机控制信息中的位置的地址信息与该打印机控制项相关联,并且控制参数获取部基于该地址信息来获取所述打印机控制信息中包括的与所述打印机控制项对应的控制参数。
3.一种打印机控制器,包括驱动器模块,对要控制的控制对象打印机的操作进行控制;以及应用程序模块,其中,驱动器模块包括存储区大小获取部,获取应用程序模块根据不同于控制对象打印机的变换对象打印机而确保的控制信息存储区的数据大小;以及存储区存取部,基于所获取的数据大小来识别所述控制信息存储区,并通过对所识别出的控制信息存储区进行存取来读取/写入要用于对控制对象打印机的操作进行控制的打印机控制信息。
4.根据权利要求3所述的打印机控制器,其中,驱动器模块进一步包括附加项表查阅部,查阅将规定的打印机控制项与对应于该打印机控制项并且适用于控制对象打印机的控制参数相关联的附加项表;以及控制项重写部,根据附加项表用对应于所述打印机控制项的控制参数来重写存储在控制信息存储区的规定位置的打印机控制信息。
5.一种打印机控制方法,用于在具有应用程序模块的计算机中对要控制的控制对象打印机的操作进行控制,该方法包括以下步骤查阅针对规定的打印机控制项将适用于控制对象打印机的控制参数与适用于不同于该控制对象打印机的变换对象打印机的控制参数相关联的变换表;获取从应用程序模块输出的、与所述打印机控制项对应的、并且适用于变换对象打印机的控制参数;以及根据变换表将所获取的控制参数变换为适用于控制对象打印机的控制参数,并输出所得到的控制参数。
6.一种存储介质,存储有用于使得具有应用程序模块的计算机执行对要控制的控制对象打印机的操作进行控制的处理的信息,所述处理包括查阅针对规定的打印机控制项将适用于控制对象打印机的控制参数与适用于不同于该控制对象打印机的变换对象打印机的控制参数相关联的变换表;获取从应用程序模块输出的、与所述打印机控制项对应的、并且适用于变换对象打印机的控制参数;以及根据变换表将所获取的控制参数变换为适用于控制对象打印机的控制参数,并输出所得到的控制参数。
全文摘要
打印机控制器、打印机控制方法和存储介质。打印机控制器包括对要控制的控制对象打印机的操作进行控制的驱动器模块、以及应用程序模块。驱动器模块包括变换表查阅部,查阅针对规定的打印机控制项将适用于控制对象打印机的控制参数与适用于不同于该控制对象打印机的变换对象打印机的控制参数相关联的变换表;控制参数获取部,获取从应用程序模块输出的、与所述打印机控制项对应的、并且适用于变换对象打印机的控制参数;以及控制参数变换部,根据变换表将所获取的控制参数变换为适用于控制对象打印机的控制参数,并输出所得到的控制参数。
文档编号G06F3/12GK1967462SQ200610072128
公开日2007年5月23日 申请日期2006年4月12日 优先权日2005年11月15日
发明者藤本英基 申请人:富士施乐株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1