CN1624648A - 信息处理系统、打印控制方法以及程序 - Google Patents
信息处理系统、打印控制方法以及程序 Download PDFInfo
- Publication number
- CN1624648A CN1624648A CNA2004100968042A CN200410096804A CN1624648A CN 1624648 A CN1624648 A CN 1624648A CN A2004100968042 A CNA2004100968042 A CN A2004100968042A CN 200410096804 A CN200410096804 A CN 200410096804A CN 1624648 A CN1624648 A CN 1624648A
- Authority
- CN
- China
- Prior art keywords
- conflict
- function
- processing rule
- program
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/121—Facilitating exception or error detection and recovery, e.g. fault, media or consumables depleted
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1203—Improving or facilitating administration, e.g. print management
- G06F3/1208—Improving or facilitating administration, e.g. print management resulting in improved quality of the output result, e.g. print layout, colours, workflows, print preview
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/1253—Configuration of print job parameters, e.g. using UI at the client
- G06F3/1255—Settings incompatibility, e.g. constraints, user requirements vs. device capabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1224—Client or server resources management
- G06F3/1225—Software update, e.g. print driver, modules, plug-ins, fonts
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Stored Programmes (AREA)
- Accessory Devices And Overall Control Thereof (AREA)
- Facsimiles In General (AREA)
Abstract
本发明公开了一种信息处理系统等。该信息处理系统包括:第一规则存储装置,用于存储根据两个或者更多个值之间保持的相依关系确定的第一冲突处理规则;第二规则存储装置,用于存储根据与打印处理有关的程序的功能与要输入到附加功能的值之间保持的相依关系确定的第二冲突处理规则;以及设置调节装置,用于从第一规则存储装置和第二规则存储装置读取第一冲突处理规则和第二冲突处理规则,而且用于根据已经读取的第一冲突处理规则和第二冲突处理规则,进行设置调节处理,以致与打印处理有关的程序功能与附加功能的任何两个设置之间不发生矛盾。
Description
技术领域
本发明涉及一种用于扩展打印系统的功能的信息处理系统、打印控制方法以及程序。
背景技术
为了使最终用户可以安装,打印机制造商通常都提供用于控制打印机的输出的打印机驱动程序。然而,在安装之后,需要改进打印机驱动程序,或者对打印机驱动程序添加附加功能。
这通常是利用插件程序(plug-in)实现的,该插件程序是通常用于修改软件部件或对软件部件附加功能的软件模块。因此,利用插件程序获得附加特定功能的打印机驱动程序变得更加流行。
例如,已经公开了一种在信息处理系统中简化打印处理和提高打印速度的技术(例如,参考第2002-108580号日本专利公开)。
在利用插件程序添加附加功能时,可以允许用户根据要求修改插件程序设置(例如,使用通常对打印驱动程序的现有打印设置单附加的打印设置单用户接口)。然而,修改的设置可能与原始设置或其它设置发生冲突。经常在添加附加功能之前,在对用户提供UI,以改变打印设置单时,为了在各设置之间不引起矛盾,安排各设置。对于矛盾,它意味着,例如,作为设置,不能同时具有“分类(Staple)”和“整理(Collate)”的打印机功能。因此,只有允许用户设置的项目可以选择,而其它非可选项目是灰色的。即,禁止在用户设置时可能发生矛盾的项目。防止设置之间矛盾的处理被称为冲突处理。
然而,由于打印机驱动程序不知道要附加的插件程序,所以经常难以确定矛盾。因此,进行精确冲突处理仍是一项困难任务。
发明内容
为了至少解决上述问题之一,做出本发明。根据本发明的一个方面,提供了一种能够将附加功能附加到与打印处理有关的程序上的信息处理系统。该信息处理系统包括:第一规则存储装置,用于存储根据两个或者更多个值之间保持的相依关系确定的第一冲突处理规则;第二规则存储装置,用于存储根据与打印处理有关的程序的功能与要输入到附加功能的值之间保持的相依关系确定的第二冲突处理规则;以及设置调节装置,用于从第一规则存储装置和第二规则存储装置读取第一冲突处理规则和第二冲突处理规则,而且根据读取的第一冲突处理规则和第二冲突处理规则,以这样的方式进行设置调节处理,以致与打印处理有关的程序功能与附加功能的任何两个设置之间不发生矛盾。
根据本发明的另一个方面,提供了一种使用信息处理系统的打印控制方法,该信息处理系统能够对与打印处理有关的程序添加附加功能,该方法包括:第一步骤,获得关于与打印处理有关的程序功能和附加功能的设置的设置信息;以及第二步骤,用于从第一规则存储装置和第二规则存储装置读取第一冲突处理规则和第二冲突处理规则,第一规则存储装置用于存储根据两个或者更多个值之间保持的相依关系确定的第一冲突处理规则,第二规则存储装置用于存储根据与打印处理有关的程序的功能与要输入到附加功能的值之间保持的相依关系确定的第二冲突处理规则,而且用于根据读取的第一冲突处理规则和第二冲突处理规则,通过参考在第一步骤获得的设置信息,以这样的方式进行设置调节处理,以致与打印处理有关的程序功能与附加功能的任何两个设置之间不发生矛盾。
从下面结合附图所做的说明中,本发明的其它特征和优点将显而易见,在所有附图中,同样的参考符号表示同样或类似的部分。
附图说明
图1是示出根据本发明实施例包括主计算机(信息处理系统)的打印处理系统的示意性的配置的方框图;
图2是示出其中在与打印处理有关的程序(打印机驱动程序)已经装载到主计算机3000的RAM2上,而且已变得可以执行的状态下,存储器映像的例子的图;
图3示出在安装了附加插件程序模块组件310时,打印驱动程序的各种模块之间的关系;
图4是示出冲突管理器303和推理引擎302内的冲突处理的特定例子的图;
图5是示出在图3所示的应用程序201开启打印机驱动程序204的UI时的初始化处理的流程的图;
图6是示出打印机驱动程序204可以使用的内部结构305的存储器映像的例子的图;
图7是示出在选择装订打印功能时的冲突处理的流程图;
图8A和8B示出根据本发明实施例示出附加功能,即,插件程序模块的装订打印功能的设置单;
图9A和9B是示出是打印机驱动程序204的UI的最后修整(finishing-touch)设置单的例子的图;
图10是示出打印机驱动程序204的扩展系统的例子的图;
图11A是示出打印机驱动程序204的扩展系统的例子的对话例子的图;
图11B是示出打印机驱动程序204的扩展系统的例子的对话例子的图;
图12A是示出打印机驱动程序204的扩展系统的例子的对话例子的图;
图12B是示出打印机驱动程序204的扩展系统的例子的对话例子的图。
具体实施方式
即使在以插件程序形式对与打印处理有关的程序(打印机驱动程序)附加新功能的环境下,根据本实施例的信息处理系统、打印控制方法及其程序仍完成冲突处理。
下面将参考附图给出本发明实施例的详细说明。图1是示出根据本发明实施例包括主计算机(信息处理系统)的打印处理系统的示意性的配置的方框图。在这方面,尽管打印处理系统被示为实施例,但是本发明并不局限于此。本发明可以应用于独立系统,包括多个系统的系统,而且可以应用于通过诸如LAN(局域网)、WAN(广域网)等的网络进行连接处理的系统,只要是能够执行打印机驱动程序的环境即可。
在图1中,标号3000表示主计算机(信息处理系统),而且它包括CPU(中央处理单元)1,该CPU根据存储在ROM(只读存储器)3的程序ROM或外部存储器11上的文件处理程序,对包括图形、图像、字符、表格(包括电子表格)等的组合的文件进行处理。CPU 1集中控制与系统总线4相连的每个装置。同样,ROM 3的程序ROM或外部存储器11存储操作系统(OS),操作系统是CPU 1的控制程序等,ROM 3的字模ROM或外部存储器11存储要用于上述文件处理的字模数据等,并且ROM 3的数据ROM或外部存储器11存储要用于上述文件处理的各种数据等。标号2表示RAM(随机存取存储器),而且用作CPU 1的主存储器、工作区等。
标号5是键盘控制器(KBC),而且控制从键盘9和未示出的定位装置的输入。标号6是CRT控制器(CRTC),而且控制CRT(阴极射线管)显示器10的显示。标号7是磁盘控制器(DKC),而且控制对存储根程序、各种应用程序、字模数据、用户文件、编辑文件、打印机控制命令生成程序(下面称为打印机驱动程序)等的、诸如硬盘(HD)、软盘(FD)等的外部存储器11的存取。
标号8是打印机控制器(PRTC),它通过预定双向接口(接口)21,连接到打印机1500,而且执行与打印机1500的通信控制处理。在这方面,CPU 1执行例如将轮廓字形扩展(光栅化)处理,存储到显示信息RAM内,显示信息RAM设置在RAM 2中,而且在CRT 10上提供WYSIWYG(所见即所得)。同样,CPU 1打开各种注册窗口,根据CRT 10上的未示出的鼠标光标等指示的命令,执行各种数据处理。在进行打印时,用户打开打印设置上的窗口,而且用户可以对下述打印机1500进行设置,而且可以对包括选择打印机模式的打印机驱动程序的打印处理方法进行设置。
在打印机1500上,标号12是打印机CPU。根据存储在ROM 13的程序ROM内的控制程序等,或者存储在外部存储器14上的控制程序等,打印机CPU 12将图像信号作为输出信息输出到与系统总线15相连的打印部分(打印机引擎)17。同样,ROM 13的程序ROM存储CPU 12的控制程序等。ROM 13的字模ROM存储在产生上述输出信息时要使用的字模数据等。在打印机1500没有诸如硬盘等的外部存储器14时,ROM 13的数据ROM存储主计算机3000要使用的信息等。
通过输入部分18,CPU 12能够与主计算机3000进行通信处理,而且能够将打印机1500的通知信息等提供到主计算机3000。标号19是用作CPU 12的主存储器、工作区等的RAM,而且通过与未示出的扩展端口相连的任选RAM,可以扩展其存储能力。在这方面,RAM 19用于输出信息扩展区、环境数据存储区、NVRAM(非易失性RAM)等。
存储控制器(MC)20对外部存储器14进行存取控制,该外部存储器14是硬盘(HD)、IC卡等。作为选择,可以连接外部存储器14,而且它可以存储字模数据、仿真程序、表格数据等。同样,标号1501是操作面板,而且在其上设置用于操作的开关和LED显示器等。同样,上述外部存储器14并不局限于一个装置,至少可以包括一个或者多个外部存储器14,而且除了内部字模外,可以连接多个可选的字模卡和存储程序的外部存储器,对于不同的语言系统,该程序解释打印机控制器语言。同样,可以包括NVRAM(未示出),而且可以将来自操作面板1501的打印机模式设置信息存储到其内。
接着,将说明根据本发明实施例用于扩展打印机驱动程序204的功能的系统。图10是示出打印机驱动程序204的扩展系统的图。图10示出在将插件程序模块附加到打印机驱动程序204时,UI的结构。在图10中,插件程序模块包括:UI插件程序1404,该UI插件具有UI驱动程序1403的附加功能;以及图形驱动程序1406,该图形驱动程序具有图形驱动程序1405的附加功能。参考图10,将给出每个插件程序模块的说明。
在打印机驱动程序204对为用户提供的打印设置单(UI)添加新单时,以及在定制安装在UI驱动程序1403内的各种事件处理、诸如在安装时由UI驱动程序1403执行的处理时,使用UI插件程序1404。在调用导出到该系统的DDI(装置驱动接口)时,UI驱动程序1403获得由UI插件程序1404发行的接口。通过利用有UI驱动程序1403获得的UI插件程序1404的接口,与UI插件程序1404通信,执行安装在UI驱动程序1403上的定制处理。
与此同时,在截取DDI处理时、或者特定定时附加处理时,或者在截取打印数据的假脱机处理时,使用图形插件程序1406,DDI处理是GDI(图形装置接口)1402与图形驱动程序1405之间的接口。为了产生作业,从GDI 1402正确调用由图形驱动程序1405导出的DDI。在对其初始化定时,图形驱动程序1405获得图形插件程序1406发行的接口,并使它保存在RAM 2内。在利用在此获得的接口调用DDI定时,调用对应于DDI的图形插件程序1406的处理。调用的图形插件程序1406执行安装在该插件程序内的处理,并且该处理再返回图形驱动程序1405。
在此,在由图形插件程序1406截取该处理时,DDI在此中断该处理,而且如果安装附加处理,则继续后续处理,而不进行改变。在图形插件程序1406截取图形驱动程序1405的打印数据假脱机处理时,紧接在假脱机图形驱动程序1405内的打印数据之前,调用图形插件程序1406的接口。调用的图形插件程序1406获得要假脱机的数据,进行特定处理,并且然后,再调用图形驱动程序1405的假脱机处理功能,从而将特定处理的数据送到图形驱动程序1405。具有接收的数据的图形驱动程序1405执行处理,以对进入系统假脱机程序1407的数据实际进行假脱机。以此方式,通过在插件程序模块内安装附加功能,可以完成打印机驱动程序204的扩展系统。
接着,将说明在其中与打印处理有关的程序(打印机驱动程序)已经装载到主计算机3000中的RAM 2内,而且变为可执行的状态下的存储器映像。图2是示出其中在与打印处理有关的程序(打印机驱动程序)已经装载到主计算机3000的RAM2内,而且可以执行的状态下,存储器映像的例子的图。如图2所示,在RAM 2内形成存储器映像,该存储器映像包括:应用程序201、自由存储器202、有关数据203、与打印处理有关的程序(下面称为打印机驱动程序)204、OS 205以及BIOS 206。
此外,图3是示出在在打印驱动程序204内安装了附加功能插件程序模块组件310的状态下,每个模块的配置的图。如图3所示,在插件程序安装组件310内,提供插件程序模块309和插件程序模块309的单独冲突处理规则308。同样,在附加插件程序之前,打印机驱动程序204包括:冲突处理规则301、推理引擎302、冲突管理器303、状态变量表304、内部结构305以及驱动程序管理部分306。注意,在现有典型实施例中,将附加到打印机驱动程序204上的附加功能是装订打印功能,将参考图8A和8B做进一步说明。这是通过插入具有打印驱动程序204的插件程序模块309完成的。
标号301是冲突处理规则,它包括在附加插件程序之前用于防止打印机驱动程序204的各设置之间的矛盾的规则的定义。在这方面,将参考图7说明冲突处理规则的特定例子。标号303是冲突管理器,而且进行管理,以匹配状态变量表304的数据和内部结构305。状态变量表304含有诸如分组、分钉(Staple)以及整理(Collate)的状态变量,该状态变量定义打印功能。由打印机驱动程序204可以选择这些功能(还称为设置项目),以起动该功能。状态变量表304还具有表示执行还是不执行这些打印机功能的执行(on)或不执行(off)值。同样,内部结构305中的数据是成员(例如,cGroup、cStaple和cCollate),它们是对应于能够由打印机驱动程序204设置的设置项目(例如,分组,分钉和分类)和值(on=1,off=0)的变量。
标号302是推理引擎,通过冲突管理器303,该推理引擎读取插件程序的冲突处理规则301和冲突处理规则308,进行冲突检验(检验各设置是否符合规则),以及将其结果送回冲突管理器303。与相关技术不同,推理引擎302可以精确进行冲突检验,因为规则(例如,冲突处理规则308)的有效性,该规则与原始打印机驱动程序兼容,而且设置有插件程序模块。标号306是驱动程序管理部分,它对UI进行显示控制,以响应于应用程序201的打印设置请求等,在打印机驱动程序204内进行初始化处理和打印设置以及操作控制。同样,驱动程序管理部分306请求冲突管理器303进行冲突处理,以便在每个设置之间不出现矛盾。同样,驱动程序管理部分306还在插件程序模块309之间交换数据。
在此,将由简单的特定例子说明图3所示的冲突管理器303和推理引擎302如何利用状态变量表304、内部结构305以及冲突处理规则301进行冲突处理。图4是示出冲突管理器303和推理引擎302中的冲突处理的特定例子的图。在这方面,在图4中,在冲突管理器303的框架下描述变量表304和内部结构305,而在推理引擎302内描述冲突处理规则301,以显示该冲突管理器303使用变量表304和内部结构305,而推理引擎302使用冲突处理规则301。
在图4所示的特定例子中,示出根据打印机功能名称A、B和C的设置的冲突处理的例子。如图4所示,内部结构305存储对应于打印机功能名称A、B、C...及其值0、1、0的成员int cA、cB、cC...。通过参考内部结构305内的成员及其值,冲突管理器303产生状态变量表304,该状态变量表304含有状态变量A=OFF、状态变量B=ON、状态变量C=OFF,...。推理引擎302参考状态变量表304,并因此推理引擎302内的打印机功能名称A、B和C的状态值的初始值分别是OFF、ON和OFF。
同样,假定冲突处理规则301含有如下规则:A(ON)<-B(ON),C(OFF)。这是说明何时功能B是ON,而功能C是OFF、接通功能A的规则的定义。通过冲突管理器303,推理引擎302读取冲突处理规则301。在此,假定推理引擎302已经读取了冲突处理规则301。由于初始值是这样的,以致打印机功能名称B=ON,而打印机功能名称C=OFF,冲突处理规则301定义的表述为A(ON)<-B(ON),C(OFF)的规则要求接通A。因此,推理引擎302将左侧的打印机功能名称A的状态变量变更为ON。即,推理引擎302更新状态变量表304的状态变量,以变为A=ON。
在推理引擎302完成冲突检验推理后,冲突管理器303将状态变量A的改变值反映在打印机驱动程序204的内部结构305内的相应成员int cA上。即,通过满足上述规则,int cA的值从0变更为1。通过上述处理,冲突管理器303和推理引擎302更新状态变量表304以使各设置互相不冲突。通过冲突,意味着作为打印机设置不能同时具有例如“Staple”功能和例如“Collate”功能。驱动程序管理部分306使该结果反映在要用于UI的内部结构305内的设置信息(int cA、cB、...)上。
在这方面,应该注意,冲突处理规则301定义的规则简单而且典型。尽管未论述,但是相对于所论述的例子,该规则可以更简单或者更复杂。下面是冲突处理规则301的其它例子。
(冲突处理规则301)
Collate(OFF)<-Group(ON)...(2)
Collate(OFF)<-Staple(ON)...(3)
Collate(ON)<-Group(OFF)...(4)
插件程序模块组件310的冲突处理规则308同样含有特别定义的规则。例如,在此定义下面的规则。
(冲突处理规则308)
Group(OFF)<-Booklet(ON)...(1)
在此,Collate意味着以正确顺序分类或排序文件,Group指将文件采集或者聚合在一起形成单元,Staple意味着通过订书钉将各文件固定在一起,而Booklet表示装订打印功能,其中将各文件接合在一起形成书。
接着,将说明在根据本实施例的主计算机3000内对打印机驱动程序204的UI进行的处理。当由在OS 205的控制下运行的应用程序201调用包括在打印机驱动程序204内的初始化处理时,在OS 205的控制下,打印机驱动程序204装载到RAM 2内。在打印机驱动程序204装载到RAM 2内时,调用包括在驱动程序管理部分306内的打印机驱动程序204的初始化处理部分,并且执行该初始化处理。
图5是示出在图3所示的应用程序201开启打印机驱动程序204的UI时的初始化处理流程的图。在这方面,通过如图3所示的插件程序,将图5所示的插件程序模块309并入打印机驱动程序204。
首先,关于用于存储打印机驱动程序204的内部结构的存储区的尺寸,应用程序201查询打印机驱动程序204(步骤S501)。因此,关于插件程序模块309所需的内部结构的数据区的尺寸,打印机驱动程序204查询插件程序模块309(步骤S502)。插件程序模块309计算(步骤S503)所需内部结构的区域的尺寸(单独数据区的尺寸),并且将计算的单独数据区的尺寸返回打印机驱动程序204(步骤S504)。从插件程序模块309获得单独数据区的尺寸后(步骤S505),打印机驱动程序204将打印机驱动程序204的内部结构305内的数据区的尺寸和在上述步骤S505获得的插件程序模块309的单独数据的尺寸的和返回应用程序201(步骤S506)。
应用程序201接收打印机驱动程序204返回的值(步骤S507),并且在自由存储器202内获取得到的尺寸的存储区(步骤S508)。应用程序201通过在上述的步骤S508获取的存储区,并且指示打印机驱动程序204打开打印机驱动程序204的UI。(步骤S509)。此时,内部结构305具有例如如图6所示的存储器映像。图6是示出由打印机驱动程序204使用的内部结构305的存储器映像的例子的图。如图6所示,内部结构305包括:公用区601;相应于打印机驱动程序204的数据区的尺寸的驱动程序专用区602;以及相应于插件程序模块309的单独数据区的尺寸的插件程序专用区603。接着,根据步骤S509的指示,调用打印机驱动程序204的接口(步骤S510)。
关于提供有插件程序模块309的冲突处理规则308的存储位置,打印机驱动程序204查询插件程序模块309(步骤S511)。因此,插件程序模块309将其中描述了与插件程序模块309的设置值有关的冲突处理规则308的文件的存储位置返回打印机驱动程序204(步骤S512)。
通过冲突管理器303,推理引擎302将提供有插件程序模块309的冲突处理规则308读入RAM 2,并且然后,读取该冲突处理规则301(步骤S513)。
如图4所示,对于冲突处理规则301和308定义的所有打印机功能名称,将对应于各打印机功能名称的状态变量及其值保存为状态变量表304。如图4所示,状态变量表304内的状态变量的值与打印机驱动程序204使用的内部结构305的相应成员链接在一起。将状态变量表304中的所有状态变量的初始值设置为内部结构305的成员的值。
在步骤S514,通过冲突管理器303,执行状态变量的初始化处理。在初始化处理中,参考内部结构305,产生打印机驱动程序204的状态变量表304,并且然后,将初始化在插件程序模块309原始保存的状态变量的指令送给插件程序模块309(步骤S515)。因此,插件程序模块309使初始化的状态变量(在该实施例中)返回打印机驱动程序204(步骤S516)。打印机驱动程序204接收插件程序模块309的状态变量,并且通过冲突管理器303,将该变量附加到状态变量表304(步骤S517)。
接着,打印机驱动程序204查询关于插件程序单独设置单的信息,以显示设置单,该设置单是插件程序模块309单独设置单,如图8A和8B所示(步骤S518)。插件程序模块309产生各设置单(步骤S519),并且将产生的各设置单信息返回打印机驱动程序204(步骤S520)。因此,打印机驱动程序204获得插件程序模块309的各设置单信息(步骤S521)。接着,在打印机驱动程序204内,推理引擎302进行冲突检验并且更新状态变量表304,并且冲突管理器303进行冲突处理,例如,更新内部结构305。如果在各设置之间存在矛盾,则通过更新状态变量表304和内部结构305,进行校正(步骤S522)。接着,除了打印机驱动程序204的设置单,附加在上述步骤S521获得的插件程序模块309的设置单,并显示图8A所示的UI(步骤S522)。
图8A是示出打印设置单的例子的图,它是在附加插件程序后打印机驱动程序204对用户提供的UI。如图8A所示,将插件程序模块309的设置单80(所列的单)作为“插件程序设置”附加到打印机驱动程序204的原始设置单(页面设置、完成、供纸以及打印质量)。同样,设置单80具有检验框81,用于由用户设置执行/不执行(on/off)装订打印功能。在这方面,在图8A的设置单80上,不检验检验框81,并且因此,装订打印功能处于不执行(off)状态(状态变量是初始值的状态)。
在此,用户检验图8A的检验框81,以选择装订功能,如图8B所示。图8B示出检验框81,以表示选择了装订打印功能。接着,说明在选择装订打印功能时的冲突处理。图7是示出在选择装订打印功能时的冲突处理的流程图。
首先,在步骤S701,根据用户对检验框81的检验操作,从图8A所示的状态到图8B所示的状态,更新内部结构305和状态变量表304。接着,在步骤S701收到UI操作后,应用在图5的步骤S513读取的插件程序模块309的冲突处理规则308(步骤S702)。接着,执行应用由打印机驱动程序204主单元保存的冲突处理规则301的处理(步骤S703)。相应于冲突处理,更新状态变量表304的状态变量(步骤S704)。
在这方面,在本实施例中,根据在步骤S513读取规则的顺序,执行步骤S702至S703的处理规则的应用。同样,根据应用多个处理规则的顺序,确定处理规则的优先权。在本实施例中,冲突处理规则308的优先权比冲突处理规则301的优先权高。在这方面,如果冲突处理规则301需要具有较高优先权,则预先执行应用冲突处理规则301的处理。
在此,通过示出特定例子,说明步骤S701至S704。例如,假定内部结构305含有cCollate、cGroup、cStaple以及cBooklet,作为对应于打印机功能的成员。同样,下面是刚好在步骤S701之前,在应用冲突处理规则之前的各成员的值。
cCollate=0
cGroup=1
cStaple=0
cBooklet=0
在状态变量表304中,对应于各成员的状态变量cCollate、cGroup、cStaple和cBooklet以及状态值变成如下:
Collate=OFF
Group=ON
Staple=OFF
Booklet=OFF
此时,如图9A所示,选择最后修整设置单90的组功能无线电按钮(group function radio button)92,它是打印机驱动程序204提供的UI,而不选择分类功能无线电按钮(sort function radiobutton)91。在这方面,由于还未执行改变到图8B的用户操作(在步骤S701之前),所以Booklet保持OFF。
然后,响应步骤S701,打印机驱动程序204从应用程序201接收将装订打印功能的设置变更为ON的请求。由此,内部结构305的成员cBooklet从0更新为1,如下所述。
cCollate=0
cGroup=1
cStaple=0
cBooklet=1
接着,驱动程序管理部分306调用冲突管理器303,并且将状态变量表中的Booklet状态变量从off更新为ON。由此,状态变量表304变成如下。
Collate=OFF
Group=ON
Staple=OFF
Booklet=ON
随后,在步骤S702,调用推理引擎302,而且开始应用冲突处理规则。现在参考将回到先前确定的典型规则(1)、(2)、(3)和(4)。总之,通过应用这些规则,在接通Booklet时,Group处于OFF状态,这意味着,Collate处于ON状态。具体地说,首先,由状态变量表304的每个状态变量保存的值,初始化推理引擎302中的每个打印机功能名称。随后,应用之前在步骤S513读取的冲突处理规则308的规则的例子(1),而状态变量Group的状态值从ON变更为OFF。在这方面,规则的例子(1)是由上述Group(OFF)<-Booklet(ON)确定的规则。
由此,如下更新状态变量表304的状态值。
Collate=OFF
Group=OFF
Staple=OFF
Booklet=ON
接着,在步骤S703,应用冲突处理规则301的规则的例子(4),而状态变量Collate的状态值从OFF变更为ON。在这方面,规则的例子(4)是由上述Collate(ON)<-Group(OFF)确定的规则。由于在冲突处理规则301中不存在要应用的其他规则,所以完成在推理引擎302上应用冲突处理规则。
由此,如下更新状态变量表304的状态值(步骤S704)。
Collate=ON
Group=OFF
Staple=OFF
Booklet=ON
如上所述,利用步骤S701至S703的处理,根据设置单UI的变化,进行冲突处理。
回到图7所示的流程图,在步骤S704,根据冲突处理规则301和308,更新状态变量表304,并且然后,根据更新的状态变量表304,冲突管理器303更新内部结构305(步骤S705)。具体地说,成员的值变成如下。
cCollate=1
cGroup=0
cStaple=0
cBooklet=1
接着,打印机驱动程序204确定是否在步骤S704已经更新了插件程序模块309的状态变量(步骤S706)。在此,如果确定状态变量已经更新(步骤S706中的YES),则打印机驱动程序204调用插件程序模块309,根据状态变量的变化,控制插件程序模块309单独设置单的控件(步骤S707)。在打印机驱动程序204更新插件程序模块309单独设置单的控件(步骤S708)时,处理返回打印机驱动程序204。由此,打印机驱动程序204进行步骤709的处理,如下所述。
同样,当在步骤S706不更新插件程序模块309的状态变量时(步骤S706的NO),在步骤709,根据在步骤S704更新的状态变量,打印机驱动程序204控制打印机驱动程序204主单元内的设置单的控件。接着,在步骤S710,打印机驱动程序204更新在打印机驱动程序204主单元内的设置单中进行控制的控件,并且完成冲突处理和UI处理。
以此方式,因为根据该变化的冲突处理的例子是步骤S701至S710的设置,所以完成设置单90从如冲突处理之前的图9A所示变更为应用冲突处理规则之后的图9B。即,在“完成”设置单90上原始选择Group(内部结构中的成员名称是“Group”)功能的无线电按钮92,并且然后,通过应用冲突处理规则,选择分类(内部结构305的成员名称是“Collate”)功能的无线电按钮91以变更为on状态。
重复执行上述处理,直到应用程序201调用设置在打印机驱动程序管理部分306上提供的结束处理。在应用程序201调用打印机驱动程序204的结束处理时,删除在自由存储器202内产生的冲突处理规则301和308等的信息,而执行另一个结束处理。由此,完成所有处理,完成本实施例的打印机驱动程序204的处理,并由OS205的功能执行从RAM 2的删除。
如上所述,在根据本实施例的主计算机3000中,即使通过参考插件程序模块309的冲突处理规则308,插件程序模块309并入打印机驱动程序204,仍可以在附加插件程序后防止打印机驱动程序204内的各设置之间产生矛盾。即,在根据本实施例的主计算机3000上,即使在以插件程序形式将新功能附加到打印机上的环境下,仍可以进行精确冲突处理。
在这方面,在本实施例中,外部存储器用作用于存储打印机驱动程序204的介质。然而,FD(软盘)、HD驱动程序、CD-ROM、IC存储卡等可以用作外部存储器11。此外,可以将该打印机驱动程序204自己或者与运行在主计算机3000上的OS 205和其它程序一起记录到ROM 3上,然后,可以将其配置为存储器映像的一部分,而且CPU 1可以直接执行它。
同样,在上述实施例中,通过将用于在主计算机3000内完成各功能的程序读入存储器(RAM),然后CPU执行这些功能,可以完成各种功能。然而,本发明并不局限于此,利用专用硬件,可以完成所有处理或一部分该功能。同样,通过将以下这些组合在一起,诸如磁光盘单元、闪速存储器等的非易失性存储器,诸如CD-ROM等的只读记录介质、RAM之外的易失性存储器或者计算机可读可写记录介质可以构成上述存储器。
同样,可以将在主计算机3000上完成各种处理功能的程序记录到计算机可读记录介质上,而且可以将记录在记录介质上的程序读入计算机系统,通过执行该程序,可以执行各处理。在这方面,在此提到的“计算机系统”包括:OS、诸如外围装置等的硬件。
同样,“计算机可读记录介质”意味着诸如软盘、磁光盘、ROM、CD-ROM等的便携式介质以及诸如包括在计算机系统内的硬盘的存储装置。同样,“计算机可读记录介质”包括在通过诸如因特网的网络等和诸如电话线等的通信线路等发送程序时用于将程序保存特定时间间隔的装置,例如,要作为服务器或客户机的计算机系统的内部易失性存储器(RAM)。
同样,通过传输介质,可以从将该程序存储在存储装置等内的计算机系统发送上述程序,或者在传输介质上,利用发送波(transmitted wave),将它发送到另一个计算机系统。在此,用于传送程序的“传输介质”指具有信息传送功能的、诸如网络(通信网),例如因特网等的介质以及诸如电话线等的通信线路。同样,上述程序可以完成一部分上述功能。同样,通过与已经记录在计算机系统上的程序结合,该程序可以实现上述功能,即,该程序可以是差分文件(差分程序)。
同样,用于记录上述程序的、诸如计算机可读记录介质的程序产品可以应用于本发明实施例。上述程序、记录介质、传输介质以及程序产品包括在本发明范围内。如上所述,参考附图给出了本发明实施例的详细说明。然而,特定结构并不局限于该实施例,而且设计等包括在本发明精神和范围内。
尽管参考当前被看作实施例的内容对本发明进行了描述,但是,可以理解本发明并不局限于所公开的实施例。相反,本发明意在覆盖包括在所附权利要求的精神和范围内的各种修改和等同设置。以下权利要求的范围符合最广泛解释,以便包括所有这些修改以及等同结构和功能。
在第二实施例中,将描述以插件程序形式在其中扩展了色块打印功能的系统。根据第二实施例的插件程序的冲突处理规则308含有例如如下所示规则例子(1)的定义。
RESOLUTION(600)<-SECUREMARK(ON)...(1)
其中RESOLUTION表示分辨率设置,而SECUREMARK表示色块打印功能。规则(1)是表示色块打印功能何时有效的冲突处理规则,分辨率设置限制在600dpi。
接着,将说明根据本实施例对主计算机3000内的打印机驱动程序204的UI进行的处理。在OS 205的控制下运行的应用程序201调用包括在打印机驱动程序204内的初始化处理,在OS 205的控制下,将打印机驱动程序204装载到RAM 2上。在将打印机驱动程序204装载到RAM 2内时,调用包括在驱动程序管理部分306内的打印机驱动程序204的初始化处理部分,并且进行初始化处理。图5是示出在图3所示的应用程序201开启打印机驱动程序204的UI时的初始化处理的流程的图。在这方面,由图3所示的插件程序,将图5所示的插件程序模块309并入打印机驱动程序204。
首先,关于用于存储打印机驱动程序204的内部结构的存储区的尺寸,应用程序201查询打印机驱动程序204(步骤S501)。因此,关于插件程序模块309所需的内部结构的数据区的尺寸,打印机驱动程序204查询插件程序模块309(步骤S502)。插件程序模块309计算(步骤S503)所需内部结构的区域的尺寸(单独数据区的尺寸),并且将计算的单独数据区的尺寸返回打印机驱动程序204(步骤S504)。从插件程序模块309获得单独数据区的尺寸后(步骤S505),打印机驱动程序204将打印机驱动程序204的内部结构305内的数据区的尺寸和在上述步骤S505获得的插件程序模块309的单独数据的尺寸的和返回应用程序201(步骤S506)。
应用程序201接收打印机驱动程序204返回的值(步骤S507),并且在自由存储器202内获取得到的尺寸的存储区(步骤S508)。应用程序201通过在上述的步骤S508获取的存储区,并且指示打印机驱动程序204打开打印机驱动程序204的UI。(步骤S509)。此时,内部结构305具有例如如图6所示的存储器映像。图6是示出打印机驱动程序204必需的内部结构305的存储器映像的例子的图。如图6所示,内部结构305包括:公用区601;相应于打印机驱动程序204必需的数据区的尺寸的驱动程序专用区602;以及相应于插件程序模块309的单独数据区的尺寸的插件程序专用区603。接着,根据步骤S509的指示,调用打印机驱动程序204的接口(步骤S510)。
关于提供有插件程序模块309的冲突处理规则308的存储位置,打印机驱动程序204查询插件程序模块309(步骤S511)。因此,插件程序模块309将其中描述了与插件程序模块309的设置值有关的冲突处理规则308的文件的存储位置返回打印机驱动程序204(步骤S512)。
通过冲突管理器303,推理引擎302将提供有插件程序模块309的冲突处理规则308读入RAM 2,并且然后,读取该冲突处理规则301(步骤S513)。
如图4所示,对于冲突处理规则301和308定义的所有打印机功能名称,将对应于各打印机功能名称的状态变量及其值保存为状态变量表304。如图4所示,状态变量表304内的状态变量的值与打印机驱动程序204使用的内部结构305的相应成员链接在一起。将状态变量表304中的所有状态变量的初始值设置为内部结构305的成员的值。
在步骤S514,通过冲突管理器303,执行状态变量的初始化处理。在初始化处理中,参考内部结构305,产生打印机驱动程序204的状态变量表304,并且然后,将插件程序模块309种原始保存的状态变量的初始化指令送给插件程序模块309(步骤S515)。因此,插件程序模块309使初始化的状态变量(在该实施例中)返回打印机驱动程序204(步骤S516)。打印机驱动程序204接收插件程序模块309的状态变量,并且通过冲突管理器303,将该变量附加到状态变量表304(步骤S517)。
接着,打印机驱动程序204查询关于插件程序单独设置单的信息,以显示设置单,该设置单是插件程序模块309单独设置单,如图11A和11B所示(步骤S518)。插件程序模块309产生各设置单(步骤S519),并且将产生的各设置单信息返回打印机驱动程序204(步骤S520)。因此,打印机驱动程序204获得插件程序模块309的各设置单信息(步骤S521)。接着,在打印机驱动程序204内,推理引擎302进行冲突检验并且更新状态变量表304,并且冲突管理器303进行冲突处理,例如,更新内部结构305。如果在各设置之间存在矛盾,则进行校正(步骤S522)。接着,除了打印机驱动程序204的设置单,附加在上述步骤S521获得的插件程序模块309的设置单,并显示图11A所示的UI(步骤S522)。
图11A是示出打印设置单的例子的图,它是在附加插件程序后打印机驱动程序204对用户提供的UI。如图11A所示,将插件程序模块309的设置单110作为“色块打印设置”附加到打印机驱动程序204的原始设置单(页面设置、完成、输纸以及打印质量)。同样,设置单110具有检验框111,用于由用户设置执行/不执行(on/off)装订打印功能。在这方面,在图11A的设置单110上,不检验检验框111,并且因此,色块打印功能处于不执行(off)状态(状态变量是初始值的状态)。
在此,在图11A所示的设置单110中,用户检验检验框111,如图11B所示,并因此,执行色块打印功能。图11B是示出在图11A所示的打印设置单的例子中,在其中打开色块打印功能的状态的图。接着,说明在如图11B所示打开作为插件程序功能的色块打印功能时的冲突处理。图7是示出在如图11B所示的、作为插件程序功能的色块打印功能变更为执行(on)时的冲突处理的流程图。
首先,在步骤S701,根据用户对检验框111的检验操作,从图11A所示的状态到图11B所示的状态,更新内部结构305和状态变量表304。接着,在步骤S701收到UI操作后,应用在图5的步骤S513读取的插件程序模块309的冲突处理规则308(步骤S702)。接着,执行应用由打印机驱动程序204主单元保存的冲突处理规则301的处理(步骤S703)。相应于冲突处理,更新状态变量表304的状态变量(步骤S704)。
在这方面,在本实施例中,根据在步骤S513读取规则的顺序,执行步骤S702至S703的处理规则的应用。同样,根据应用多个处理规则的顺序,确定处理规则的优先权。在本实施例中,冲突处理规则308的优先权比冲突处理规则301的优先权高。在这方面,如果冲突处理规则301需要具有较高优先权,则预先执行应用冲突处理规则301的处理。
在此,通过示出特定例子,说明步骤S701至S704。例如,假定内部结构305含有cResolution和cSecureMark,作为对应于打印机功能的成员。同样,下面是刚好在步骤S701之前,在应用冲突处理规则之前的各成员的值。
cResolution=300
cSecureMark=0
由该操作,在状态变量表304中,对应于各成员的状态变量cResolution和cSecureMark以及状态值变成如下:
cResolution=300
cSecureMark=OFF
此时,打印质量设置单120是由打印机驱动程序204提供的UI,其状态是如图12A所示其中选择了300dpi的分辨率设置无线电按钮的状态。在这方面,由于还未执行改变到图12B的用户操作(在步骤S701之前),所以色块打印功能保持OFF。
在这种状态下,响应步骤S701,打印机驱动程序204从用户接收用于将色块打印功能的设置变更为执行(on)的改变请求。由此,内部结构305的成员cSecureMark从0更新为1,如下所述。
cResolution=300
cSecureMark=1
接着,驱动程序管理部分306调用冲突管理器303,并且将状态变量表中的Secure状态变量从off变更为on。由此,状态变量表304变成如下。Resolution=300
cSecureMark=ON
然后,在步骤S702,调用推理引擎302,而且开始应用冲突处理规则。首先,利用状态变量表304的每个状态变量分别保存的值分别初始化推理引擎302中的每个打印机功能名称。接着,应用之前在步骤S513中读取的冲突处理规则308的规则的例子(1),而状态变量Resolution的状态值从300变更为600。在这方面,规则的例子(1)是上述Resolution(600)<-SECUREMARK(ON)确定的规则。
由此,如下更新状态变量表304的状态值。
Resolution=600
SecureMark=ON。
接着,在步骤S703,由于没有其他功能应用于冲突处理规则301,所以完成在推理引擎302内的冲突处理规则的应用(步骤S704)。
如上所述,通过在步骤S701至S703中的处理,根据在UI上执行的设置的变化,进行冲突处理。
回到图7所示的流程图,在步骤S704,根据冲突处理规则301和308,更新状态变量表304,并且然后,根据更新的状态变量表304,冲突管理器303更新内部结构305(步骤S705)。具体地说,成员的值变成如下。
cResolution=600
cSecureMark=1
接着,打印机驱动程序204确定是否在步骤S704已经更新了插件程序模块309的状态变量(步骤S706)。在此,如果确定状态变量已经更新(步骤S706中的YES),则打印机驱动程序204调用插件程序模块309,根据状态变量的变化,执行对插件程序模块309单独设置单中的控件的控制(步骤S707)。在打印机驱动程序204更新插件程序模块309单独设置单的控件(步骤S708)时,处理返回打印机驱动程序204。由此,打印机驱动程序204进行步骤709的处理,如下所述。
同样,当在步骤S706不更新插件程序模块309的状态变量时(步骤S706的NO),在步骤709,根据在步骤S704更新的状态变量,打印机驱动程序204执行对打印机驱动程序204主单元内的设置单中的控件的控制。接着,在步骤S710,打印机驱动程序204更新在打印机驱动程序204主单元内的设置单中进行控制的控件,并且完成冲突处理和UI处理。
如上所述,由根据步骤S701至S710所示设置变化的冲突处理的例子,打印质量设置单120从应用冲突处理规则之前的图12A所示状态变更为应用冲突处理规则之后的图12B所示状态。也就是说,“打印质量”设置单120内的分辨率(内部结构内的成员名称是“Resolution”)设置的无线电按钮121原始选择300dpi,然后,通过应用冲突处理规则,改变为其中无线电按钮121选择600dpi的状态。
重复执行上述处理,直到应用程序201调用设置在打印机驱动程序管理部分306上提供的结束处理。在应用程序201调用打印机驱动程序204的结束处理时,删除在自由存储器202内产生的冲突处理规则301和308等的信息,而执行另一个结束处理。由此,完成所有处理,完成本实施例的打印机驱动程序204的处理,并由OS205的功能执行从RAM 2的删除。
如上所述,在根据本实施例的主计算机3000中,即使通过参考插件程序模块309的冲突处理规则308,插件程序模块309并入打印机驱动程序204,仍可以在附加插件程序后防止打印机驱动程序204内的各设置之间出现矛盾。即,在根据本实施例的主计算机3000上,即使在以插件程序形式将新功能附加到打印机上的环境下,仍可以进行精确冲突处理。
在这方面,在本实施例中,外部存储器用作用于存储打印机驱动程序204的介质。然而,FD(软盘)、HD驱动程序、CD-ROM、IC存储卡等可以用作外部存储器11。此外,可以将该打印机驱动程序204自己或者与运行在主计算机3000上的OS 205和其它程序一起记录到ROM 3上,然后,可以将其配置为存储器映像的一部分,而且CPU 1可以直接执行它。
同样,在上述实施例中,通过将用于在主计算机3000内完成各功能的程序读入存储器(RAM),然后CPU执行这些功能,可以完成各种功能。然而,本发明并不局限于此,利用专用硬件,可以完成所有处理或一部分该功能。同样,通过将以下这些组合在一起,诸如磁光盘单元、闪速存储器等的非易失性存储器,诸如CD-ROM等的只读记录介质、RAM之外的易失性存储器或者计算机可读可写记录介质可以构成上述存储器。
同样,可以将在主计算机3000上完成各种处理功能的程序记录到计算机可读记录介质上,而且可以将记录在记录介质上的程序读入计算机系统,通过执行该程序,可以执行各处理。在这方面,在此提到的“计算机系统”包括:OS、诸如外围装置等的硬件。
同样,“计算机可读记录介质”意味着诸如软盘、磁光盘、ROM、CD-ROM等的便携式介质以及诸如包括在计算机系统内的硬盘的存储装置。同样,“计算机可读记录介质”包括在通过诸如因特网的网络等和诸如电话线等的通信线路等发送程序时用于将程序保存特定时间间隔的装置,例如,要作为服务器或客户机的计算机系统的内部易失性存储器(RAM)。
同样,通过传输介质,可以从将该程序存储在存储装置等内的计算机系统发送上述程序,或者在传输介质上,利用发送波,将它发送到另一个计算机系统。在此,用于传送程序的“传输介质”指具有信息传送功能的、诸如网络(通信网),例如因特网等的介质以及诸如电话线等的通信线路。同样,上述程序可以完成一部分上述功能。同样,通过与已经记录在计算机系统上的程序结合,该程序可以实现上述功能,即,该程序可以是差分文件(差分程序)。
同样,用于记录上述程序的、诸如计算机可读记录介质的程序产品可以应用于本发明实施例。上述程序、记录介质、传输介质以及程序产品包括在本发明范围内。如上所述,参考附图给出了本发明实施例的详细说明。然而,特定结构并不局限于该实施例,而且设计等包括在本发明精神和范围内。
尽管参考当前被看作优选实施例的内容对本发明进行了描述,但是,可以理解本发明并不局限于所公开的实施例。相反,本发明意在覆盖包括在所附权利要求的精神和范围内的各种修改和等同设置。以下权利要求的范围符合最广泛解释,以便包括所有这些修改以及等同结构和功能。
Claims (13)
1.一种信息处理设备,其中可以对与打印处理有关的程序的功能进一步添加附加功能,该信息处理设备包括:
第一规则存储装置,用于存储根据与所述打印处理有关的程序的所述功能的两个或者更多个设置之间保持的相依关系确定的第一冲突处理规则;
第二规则存储装置,用于存储根据与所述打印处理有关的程序的所述功能与所述附加功能的设置之间保持的相依关系确定的第二冲突处理规则;以及
设置调节装置,用于从所述第一规则存储装置和所述第二规则存储装置读取所述第一冲突处理规则和所述第二冲突处理规则,而且根据已经读取的所述第一冲突处理规则和所述第二冲突处理规则,用于进行设置调节处理,以致所述与所述打印处理有关的程序功能的设置与所述附加功能的设置互相不冲突。
2.根据权利要求1所述的信息处理设备,进一步包括检验装置,用于在添加所述附加功能时,检验所述第二冲突处理规则是否存储在所述第二规则存储装置内。
3.根据权利要求1所述的信息处理设备,其中所述设置调节装置以下降的优先权顺序,应用所述第一冲突处理规则和所述第二冲突处理规则,以进行设置调节处理,以致所述与打印处理有关的程序功能的设置与所述附加功能的设置互相不冲突。
4.根据权利要求1所述的信息处理设备,进一步包括:
显示装置,用于显示各种信息,以及
屏幕显示装置,用于在所述显示装置上显示设置状态屏幕,该设置状态屏幕允许用户可视地检验所述与打印处理有关的程序功能和所述附加功能的设置状态,
其中由所述屏幕显示装置显示在所述显示装置上的所述设置状态屏幕示出由所述设置调节装置进行了设置调节处理之后的设置状态。
5.根据权利要求4所述的信息处理设备,其中在由所述屏幕显示装置显示在所述显示装置上的所述设置状态屏幕中,用户的操作可以改变所述与打印处理有关的程序功能或所述附加功能的每个设置,而且在所述用户改变了所述与打印处理有关的程序功能或所述附加功能的一个或者多个设置时,所述设置调节装置进行设置调节处理,以致在根据已经读取的所述第一冲突处理规则和所述第二冲突处理规则进行改变后,所述与打印处理有关的程序功能和所述附加功能的设置互相不冲突。
6.一种使用信息处理系统的打印控制方法,在该信息处理系统中,可以对由与打印处理有关的程序可以实现的功能进一步添加附加功能,该方法包括:
第一步骤,获得关于与打印处理有关的程序功能和所述附加功能的设置的设置信息;以及
第二步骤,用于从第一规则存储装置和第二规则存储装置读取第一冲突处理规则和第二冲突处理规则,所述第一规则存储装置用于存储根据所述与打印处理有关的程序的功能的两个或者更多个设置之间保持的相依关系确定的所述第一冲突处理规则,所述第二规则存储装置用于存储根据所述与打印处理有关的程序的所述功能和所述附加功能的设置之间保持的相依关系确定的所述第二冲突处理规则,而且用于根据已经读取的所述第一冲突处理规则和所述第二冲突处理规则,通过参考在所述第一步骤获得的所述设置信息,进行设置调节处理,以致所述与打印处理有关的程序功能的设置与所述附加功能的设置互相不冲突。
7.根据权利要求6所述的打印控制方法,进一步包括检验步骤,用于检验在添加所述附加功能时,所述第二冲突处理规则是否存储在所述第二规则存储装置内。
8.根据权利要求6所述的打印控制方法,其中所述第二步骤读取所述第一冲突处理规则和所述第二冲突处理规则,参考在所述第一步骤获得的所述设置信息,以及以下降的优先权顺序,应用所述第一冲突处理规则和所述第二冲突处理规则,以进行设置调节处理,以致所述与打印处理有关的程序功能与所述附加功能的任何两个设置之间互相不发生矛盾。
9.根据权利要求6所述的打印控制方法,在所述信息处理系统具有显示装置时,该方法进一步包括:屏幕显示步骤,用于在所述显示装置上显示设置状态屏幕,该设置状态屏幕允许用户可视地检验所述与打印处理有关的程序功能和所述附加功能的设置状态,
其中在所述屏幕显示步骤中显示在所述显示装置上的所述设置状态屏幕示出由所述第二步骤进行了设置调节处理之后的设置状态。
10.根据权利要求9所述的打印控制方法,在所述屏幕显示步骤中显示在所述显示装置上的所述设置状态屏幕上,用户的操作可以改变所述与打印处理有关的程序功能和所述附加功能的每个设置,而且在所述用户改变了所述与打印处理有关的程序功能或所述附加功能的一个或者多个设置时,该方法进一步包括步骤:从所述第一规则存储装置和所述第二规则存储装置读取所述第一冲突处理规则和所述第二冲突处理规则;以及改变后的调节步骤,进行设置调节处理,以致在根据已经读取的所述第一冲突处理规则和所述第二冲突处理规则进行改变后,所述与打印处理有关的程序功能和所述附加功能的任何两个设置之间互相不发生矛盾。
11.一种用于控制打印控制方法的控制程序,该打印控制方法使用信息处理系统,在该信息处理系统中,可以对由与打印处理有关的程序可以实现的功能进一步添加附加功能,这样可以使计算机执行所述打印控制方法,该方法包括:
第一步骤,获得关于所述与打印处理有关的程序功能和所述附加功能的设置的设置信息;以及
第二步骤,用于从第一规则存储装置和第二规则存储装置读取第一冲突处理规则和第二冲突处理规则,所述第一规则存储装置用于存储根据与所述打印处理有关的程序的功能的两个或者更多个设置之间保持的相依关系确定的所述第一冲突处理规则,所述第二规则存储装置用于存储根据所述与打印处理有关的程序的功能与所述附加功能的设置之间保持的相依关系确定的所述第二冲突处理规则,而且用于根据已经读取的所述第一冲突处理规则和所述第二冲突处理规则,通过参考在所述第一步骤获得的所述设置信息,进行设置调节处理,以致所述与打印处理有关的程序功能与所述附加功能的任何两个设置之间互相不发生矛盾。
12.一种在计算机系统内通过对用于打印的打印驱动程序的功能添加附加功能进行打印的方法,该方法包括:
获得所述打印驱动程序和所述附加功能的设置;
提供根据与打印处理有关的程序的功能的两个或者更多个设置之间保持的相依关系确定的第一冲突处理规则;
提供根据所述打印处理有关的程序的功能与所述附加功能的设置之间保持的相依关系确定的第二冲突处理规则;
根据所述第一冲突处理规则和所述第二冲突处理规则,确定所述打印驱动程序与所述附加功能的设置是否冲突;以及
如果冲突,则通过应用所述第一冲突处理规则和所述第二冲突处理规则,调节所述打印驱动程序和所述附加功能的设置,以便所述调节的设置互相不冲突。
13.根据权利要求12所述的方法,其中所述调节设置的步骤进一步包括以下降的优先权顺序,应用所述第一冲突处理规则和所述第二冲突处理规则,以便所述调节的设置互相不冲突。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003403558 | 2003-12-02 | ||
JP403558/2003 | 2003-12-02 | ||
JP2004336381A JP4481800B2 (ja) | 2003-12-02 | 2004-11-19 | 情報処理装置、情報処理方法及びプログラム |
JP336381/2004 | 2004-11-19 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1624648A true CN1624648A (zh) | 2005-06-08 |
CN1323349C CN1323349C (zh) | 2007-06-27 |
Family
ID=34467840
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004100968042A Expired - Fee Related CN1323349C (zh) | 2003-12-02 | 2004-12-01 | 信息处理系统、打印控制方法以及程序 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8243297B2 (zh) |
EP (1) | EP1538522A3 (zh) |
JP (1) | JP4481800B2 (zh) |
KR (1) | KR100704811B1 (zh) |
CN (1) | CN1323349C (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101609395B (zh) * | 2008-06-20 | 2012-01-25 | 佳能株式会社 | 信息处理装置及信息处理方法 |
CN102520894A (zh) * | 2010-12-13 | 2012-06-27 | 微软公司 | 多源适应性打印机驱动器配置 |
US8904048B2 (en) | 2011-09-08 | 2014-12-02 | Microsoft Corporation | Bidi extension for connected devices |
CN107038000A (zh) * | 2015-12-04 | 2017-08-11 | 佳能株式会社 | 信息处理设备及其控制方法和存储介质 |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4574344B2 (ja) | 2004-01-20 | 2010-11-04 | キヤノン株式会社 | 情報処理装置及び方法 |
JP4438064B2 (ja) * | 2004-11-15 | 2010-03-24 | キヤノン株式会社 | データ処理装置および印刷設定処理方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラム |
JP4661465B2 (ja) * | 2005-09-06 | 2011-03-30 | 富士ゼロックス株式会社 | 制御装置 |
JP4754373B2 (ja) * | 2006-03-15 | 2011-08-24 | 株式会社リコー | 画像形成装置、画像形成方法、その方法をコンピュータに実行させるプログラム |
US20080158585A1 (en) * | 2006-12-27 | 2008-07-03 | Seiko Epson Corporation | Apparatus, method, program for supporting printing, system, method, and program for printing, and recording medium |
JP4974767B2 (ja) * | 2007-06-01 | 2012-07-11 | キヤノン株式会社 | 印刷システム及び印刷制限方法、並びにプログラム |
JP5089464B2 (ja) | 2008-04-02 | 2012-12-05 | キヤノン株式会社 | 管理装置、管理方法、及びプログラム |
JP5094627B2 (ja) | 2008-08-08 | 2012-12-12 | キヤノン株式会社 | 情報処理装置、方法、制御プログラム |
JP5446625B2 (ja) | 2009-09-07 | 2014-03-19 | 株式会社リコー | プリンタドライバ、情報処理装置、およびプリンタドライバを記録したコンピュータ読み取り可能な記録媒体 |
JP5900146B2 (ja) * | 2012-05-16 | 2016-04-06 | コニカミノルタ株式会社 | 制御装置、プリンタードライバープログラム、および設定方法 |
JP6330361B2 (ja) * | 2013-03-27 | 2018-05-30 | 株式会社リコー | 印刷制御プログラム、情報処理装置及び印刷システム |
JP6385265B2 (ja) * | 2014-12-09 | 2018-09-05 | キヤノン株式会社 | 情報処理装置、制御方法及びプログラム |
US9760316B2 (en) * | 2015-03-27 | 2017-09-12 | Konica Minolta Laboratory U.S.A., Inc. | Method and system for managing software version compatibility amongst devices in a multi-device network environment |
JP7006301B2 (ja) * | 2018-01-23 | 2022-01-24 | ブラザー工業株式会社 | 制御プログラム及びプログラム群 |
JP6598946B2 (ja) * | 2018-08-08 | 2019-10-30 | キヤノン株式会社 | 情報処理装置、制御方法及びプログラム |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5500715A (en) * | 1994-06-03 | 1996-03-19 | Xerox Corporation | Print job handling menu selection apparatus and method |
JP2000242597A (ja) * | 1999-02-18 | 2000-09-08 | Canon Inc | デバイス装置に対する出力設定を行う情報処理装置、情報処理方法及びプログラムを格納した記憶媒体 |
JP2001075758A (ja) * | 1999-09-02 | 2001-03-23 | Ricoh Co Ltd | プリンタドライバを備えたホスト装置及びプリンタシステム |
JP2002108580A (ja) | 2000-09-26 | 2002-04-12 | Canon Inc | 情報処理装置、印刷システム、及びモジュール決定方法 |
EP1211594A3 (en) * | 2000-11-30 | 2006-05-24 | Canon Kabushiki Kaisha | Apparatus and method for controlling user interface |
JP3814479B2 (ja) * | 2000-12-22 | 2006-08-30 | キヤノン株式会社 | 情報処理装置及び情報処理方法、画像形成装置、記憶媒体 |
JP3833067B2 (ja) * | 2000-12-28 | 2006-10-11 | キヤノン株式会社 | ユーザインタフェース制御装置および方法ならびに記憶媒体 |
JP3733290B2 (ja) * | 2000-12-28 | 2006-01-11 | キヤノン株式会社 | 印刷制御装置および印刷制御方法および記憶媒体 |
JP4458219B2 (ja) * | 2001-03-28 | 2010-04-28 | セイコーエプソン株式会社 | 印刷システムおよび印刷制御プログラム |
US7218976B2 (en) | 2001-04-27 | 2007-05-15 | Canon Kabushiki Kaisha | User interface control apparatus and method |
JP3747175B2 (ja) * | 2001-11-30 | 2006-02-22 | キヤノン株式会社 | 印刷制御装置及び方法 |
US7284246B2 (en) * | 2002-04-23 | 2007-10-16 | Canon Kabushiki Kaisha | Extensible device driver |
JP2004102618A (ja) * | 2002-09-09 | 2004-04-02 | Canon Inc | 印刷制御装置及び方法、コンピュータプログラム、コンピュータ読み取り可能な記憶媒体、プレビュー装置及び方法、プリンタドライバ及びそのプレビュー方法 |
US7296235B2 (en) * | 2002-10-10 | 2007-11-13 | Sun Microsystems, Inc. | Plugin architecture for extending polices |
-
2004
- 2004-11-19 JP JP2004336381A patent/JP4481800B2/ja active Active
- 2004-11-30 KR KR1020040099131A patent/KR100704811B1/ko active IP Right Grant
- 2004-11-30 EP EP04257420A patent/EP1538522A3/en not_active Withdrawn
- 2004-12-01 US US11/001,758 patent/US8243297B2/en not_active Expired - Fee Related
- 2004-12-01 CN CNB2004100968042A patent/CN1323349C/zh not_active Expired - Fee Related
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101609395B (zh) * | 2008-06-20 | 2012-01-25 | 佳能株式会社 | 信息处理装置及信息处理方法 |
CN102520894A (zh) * | 2010-12-13 | 2012-06-27 | 微软公司 | 多源适应性打印机驱动器配置 |
US8891111B2 (en) | 2010-12-13 | 2014-11-18 | Microsoft Corporation | Adaptable printer driver |
CN102520894B (zh) * | 2010-12-13 | 2015-05-13 | 微软公司 | 多源适应性打印机驱动器配置 |
US8904048B2 (en) | 2011-09-08 | 2014-12-02 | Microsoft Corporation | Bidi extension for connected devices |
US9223733B2 (en) | 2011-09-08 | 2015-12-29 | Microsoft Technology Licensing, Llc | Bidi extension for connected devices |
CN107038000A (zh) * | 2015-12-04 | 2017-08-11 | 佳能株式会社 | 信息处理设备及其控制方法和存储介质 |
CN107038000B (zh) * | 2015-12-04 | 2020-09-04 | 佳能株式会社 | 信息处理设备及其控制方法和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US8243297B2 (en) | 2012-08-14 |
EP1538522A3 (en) | 2009-04-01 |
EP1538522A2 (en) | 2005-06-08 |
CN1323349C (zh) | 2007-06-27 |
JP2005190467A (ja) | 2005-07-14 |
KR20050053323A (ko) | 2005-06-08 |
JP4481800B2 (ja) | 2010-06-16 |
KR100704811B1 (ko) | 2007-04-10 |
US20050117180A1 (en) | 2005-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1624648A (zh) | 信息处理系统、打印控制方法以及程序 | |
CN1324468C (zh) | 信息处理装置、信息处理方法 | |
CN1280705C (zh) | 打印控制系统、信息处理装置、功能提供装置 | |
CN1304935C (zh) | 进行脱机指示的信息处理装置、打印控制方法 | |
CN100351835C (zh) | 信息处理设备及用于信息处理设备的方法 | |
CN1230730C (zh) | 文档处理装置和方法 | |
CN1129841C (zh) | 控制输出的方法和装置 | |
CN1266587C (zh) | 打印数据处理方法 | |
CN1841307A (zh) | 能够定制设备驱动程序的信息处理装置、方法和控制程序 | |
US20100011369A1 (en) | Device management apparatus, job flow processing method, and task cooperative processing system | |
CN1731350A (zh) | 图像处理装置及其控制方法 | |
CN1758241A (zh) | 具有字体信息嵌入功能的信息处理装置及其信息处理方法 | |
CN1869916A (zh) | 定制驱动器的方法、设备和系统 | |
CN1713129A (zh) | 信息处理装置和数据处理方法 | |
CN1779691A (zh) | 信息处理装置、打印系统及其控制方法 | |
CN1441352A (zh) | 信息处理装置、该信息处理装置的控制方法、存储媒体 | |
CN1731340A (zh) | 打印系统和打印处理方法 | |
US8385650B2 (en) | Image processing apparatus, information processing apparatus, and information processing method | |
CN101043574A (zh) | 图像形成装置及方法、图像处理装置及方法 | |
US20080180725A1 (en) | User-defined cluster printing | |
CN1841326A (zh) | 信息处理装置和信息处理方法 | |
CN1707468A (zh) | 处理数据的方法和设备、程序及存有可机读程序的存储介质 | |
JP2005324553A (ja) | 印刷制御装置、画像処理装置、プリンタエミュレーションシステム、印刷制御方法、印刷制御装置の制御プログラムおよびコンピュータ読み取り可能な記録媒体 | |
JP2008165329A (ja) | 電子機器の設定情報を作成するための情報処理装置、方法、及びプログラム | |
JP2008146434A (ja) | 印刷制御装置、印刷制御方法、印刷制御プログラム、印刷装置、印刷方法、印刷プログラム、及び記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20070627 Termination date: 20201201 |