信息处理装置的制作方法

文档序号:6364416阅读:88来源:国知局
专利名称:信息处理装置的制作方法
技术领域
本发明涉及信息处理装置。
背景技术
已知存在这样的系统,在该系统中,诸如个人计算机(PC)之类的信息处理装置连 接到诸如多功能外设(MFP)之类的打印机,其中打印机在信息处理装置的控制下执行打印。该信息处理装置通过执行打印机驱动器(printer driver)等程序进行打印机的控制。该打印机驱动器有分为核心部分和插件部分的插件机构,通过追加、删除插件,能够在安装后追加、删除功能。打印机驱动器具有在打印序列中在打印处理的开始、文档打印的开始或结束、页打印的开始或结束等的预定的定时勾住(hooking)处理的功能。例如在作为美国微软公司开发的操作系统(OS)的Windows (注册商标)中,作为称为“DocumentEvent”的功能提供勾住功能。但是,在现有的打印机驱动器中,涉及在预定的定时勾住处理的“DocumentEvent ”的处理仅在核心部分中进行。因此,在涉及“DocumentEvent”的处理中有变更或差异的情况下,不仅插件部分,就是核心部分也需要再开发,导致开发负担增加。相关的现有技术的示例包括日本专利No. 3745344和日本专利申请No.2009-171579。因此,需要一种能够抑制开发成本的信息处理装置和程序。

发明内容
根据实施例,提供了一种信息处理装置,包括核心部,被配置为控制与所述信息处理装置可通信地连接的外部设备;和在所述核心部中包括的调用部,所述调用部被配置为在控制所述外部设备时调用使所述外部设备能够实现预定功能的插件。所述插件当在特定的定时被所述调用部调用时,利用与由所述插件提供的所述预定功能相关的处理,中断与由所述核心部执行的所述外部设备的控制相关的处理。通过结合附图,阅读本发明的当前优选实施例的以下详细描述,将能更好地理解本发明的上述和其他的目的、特征、优点、以及技术和产业实用性。


图I是表示第一实施例的打印机系统的整体结构的框图。图2是示意表示第一实施例的PC的功能结构的框图。
图3是例示第一实施例的核心驱动器和插件的关系的框图。图4是表示第一实施例的打印机驱动器的具体示例的框图。图5是表示通过第一实施例的打印机驱动器执行的操作的示例的序列图。图6是表示第一实施例的打印机驱动器的具体结构的示例的框图。图7是表示通过第一实施例的打印机驱动器执行的操作的示例的序列图。图8是示意表示第二实施例的PC的功能结构的框图。图9是表示第二实施例的优先级文件的示例的图。图10是表示通过第二实施例的打印机驱动器的执行的操作的示例的流程图。
图11是在下一插件中反映已调用的插件的设置的示例的说明图。图12是在下一插件中反映已调用的插件的设置的示例的说明图。图13是在下一插件中反映已调用的插件的设置的示例的说明图。图14是示意表示第三实施例的PC的功能结构的框图。图15是表示第三实施例的设置文件的示例的图。图16是示意表示第四实施例的PC的功能结构的框图。图17是表示通过第四实施例的打印机驱动器执行的操作的示例的流程图。图18是示意表示第五实施例的PC的功能结构的框图。图19是表示通过第五实施例的打印机驱动器执行的操作的示例的流程图。图20是表示PC的硬件结构的示例的框图。
具体实施例方式下面参照附图,详细说明各个实施例。在以下的说明中,通过示例来说明打印机系统,在该示例中,个人计算机(PC)用作信息处理装置,打印机用作外部设备。第一实施例图I是表示第一实施例的打印机系统的整体结构的框图。如图I所示,在打印机系统中,作为信息处理装置的PC 100和作为外部设备的打印机150通过网络160相互连接。在打印机系统中,打印机150在PC 100的控制下进行操作。例如,打印机150根据来自PC 100的打印请求进行打印处理。此外,在本实施例中,作为外部设备的示例来描述打印机150,但是外部设备的种类也可以是扫描仪等,不特别限定。图2是示意表示PC 100的功能结构的框图。如图2所示,PC 100具有处理部101、存储部102、和通信部103。具体而言,PC 100具有利用可以具有诸如键盘和鼠标等的输入设备和诸如显示器等的显示设备的通常的计算机的硬件结构(参照图20)。处理部101包含中央处理单元(CPU)、和具有只读存储器(ROM)以及作为主存储器的随机存取存储器(RAM)的存储器。在PC 100的启动或操作期间,从ROM或存储部102把应用程序104、OS 105以及各种驱动器(在图2中仅记载打印机驱动器106)加载到主存储器上展开,通过CPU执行它们。存储部102可以包括硬盘驱动器(HDD),并在其中存储各种信息。在存储部102中存储的信息包括定义与用于实现打印机驱动器106的核心部111和插件部130中的各插件(在图2中例示插件131到133)的预定的功能的处理相关的信息(即,诸如处理用的设置值和用于变更设置值的显示信息之类的处理必要的一切信息)的设置信息。作为该设置信息的示例,可以举出功能信息102a、布局信息102b、以及插件信息102c等。此外,插件信息102c也可以不在设置信息内包含。功能信息102a例如记述诸如各设置值的可设置范围、和各设置值之间的匹配(match)等关于打印机驱动器106的功能的信息。布局信息102b记述各设置的显示方法或者显示位置等。具体而言,在布局信息102b中记述在设置画面上显示的图形用户界面(GUI)部分的布局。插件信息102c记述诸如各插件的名称、表示各插件提供的功能的信息、插件的内部结构信息、在插件内参照的信息等涉及插件部130中的各插件的信息。在插件信息102c中记述诸如表示“两面打印插件”或“用户ID插件”等的名称、和表示诸如“在两面上打印”、和“用户ID的设置”等的功能的代码。通信部103在与通过图I表示的网络160连接的打印机150之间进行信息的收发。具体而言,根据处理部101的控制,通过局域网(LAN)等网络160进行使用预定的通信协议 的数据通信。应用程序104是用户能够输入打印指令的软件。在用户想要用应用程序104打印编辑的数据的情况下,应用程序104接受用户给予的打印指令。在该情况下,应用程序104不进行对于打印机150的打印数据的生成,而是把打印对象的数据连同与上述打印指令对应的打印请求一起交付给OS 105。操作系统(OS) 105是管理PC 100的硬件和软件的软件。OS 105进行程序的启动、和信息的读入或存储等的控制。OS的示例包括MS Windows (注册商标)和UNIX (注册商标)等。在本实施例中,OS 105取美国微软公司开发的Windows (注册商标)。此外,只要是可编入打印机驱动器106的任何OS,不言而喻也可以这样的OS。打印机驱动器106是通过使用通信部103控制经由网络160通信连接的打印机150的软件。打印机驱动器106具有核心部111和插件部130。核心部111具有委派部121、描画部122、画面部123、打印设置部124、以及调用部112,并提供打印机驱动器106的标准功能。委派部121、描画部122、画面部123、和打印设置部124是提供打印机驱动器106的标准功能的模块组。在核心部111中实现不涉及由于诸如装置类型、或页面描述语言(TOL)等的不同而出现的不同处理的通用的处理。调用部112调用插件部130中的诸如插件131、132、或133等的插件。调用部112遵照核心部111 (委派部121、描画部122、画面部123、或打印设置部124)的指令,进行对于插件131、132、和133的查询,识别具有用于实现指令的功能的插件,调用识别出的插件,和通知指令的插件。具体而言,调用部112从插件131、132、和133支持的接口,识别具有与指令对应的接口的插件,通过对应的接口通知指令的所识别出的插件。此外,调用部112也可以参照插件信息102c,识别具有实现该指令的功能的插件,调用该插件,通知该指令的该插件。插件部130的插件131、132、和133是通过用于对于核心部111追加功能的动态连接库(DLL)实现的。具体而言,通过在存储部102的预定区域中存储插件的DLL文件,能够实现插件部130的各插件。插件131、132、和133等各插件,为使打印机150实现预定的功能,与核心部111同样,包括一个或多个模块。在图2中,例示插件131包括四个模块,即中断部141、描画部142、画面部143、以及打印设置部144。插件132和133中的任何一个也包括一个或多个模块。另外,作为插件部130的插件使打印机150实现的功能有使打印机150强制执彳丁两面打印的功能(参照图4的两面强制插件134)以及通过在打印机150中设置用户ID使打印机150执行打印的功能(参照图6中的用户ID插件135)等。插件部130可以具有多个如插件131、132、和133那样的插件。在图2表示的示例中,插件部130具有插件131到133三个插件。因此,打印机驱动器106除了核心部111的标准功能之外,还提供插件131到133的功能。亦即,在打印机驱动器106中,通过在存储部102的预定区域内追加(或安装)插件用的DLL文件,能够向插件部130追加插件。这使得能够提供核心部111执行的通用的处理功能以外的功能。接下来,说明在核心部111以及插件部130中例示的模块组(即委派部121、中断部141、描画部122、142、画面部123、143、以及打印设置部124、144)的详情。
委派部121和中断部141,以诸如插件信息102c等数据为基础,在打印机驱动器106的处理序列(打印序列)中,在预定的定时(例如打印处理的开始、文档打印的开始或结束、以及页打印的开始或结束等)进行勾住处理的“DocumentEvent”的处理。具体而言,核心部111的委派部121通过调用部112向插件131的中断部141委派上述处理。插件131的中断部141,在通过核心部111的委派部121经由调用部112调用时,通过“DocumentEvent”的处理委派核心部111的处理。然后中断部141,如果通过委派部121委派处理的定时对应于执行插件131提供的功能的定时(特定的定时的示例),则中断当前处理以开始与该功能相关的处理。由此,插件131能够执行为使打印机150实现插件131提供的功能的处理。描画部122和142,以诸如功能信息102a以及插件信息102c等的数据为基础,执行打印机驱动器106中的描画的处理。具体而言,描画部122和142把从应用程序104请求打印的数据变换为打印机150可解释的打印指令,把变换后的打印指令通过通信部103向打印机150发送。例如,在依存插件131实现的功能的情况下,描画部122通过调用部112调用插件131,并使描画部142执行描画处理。描画部142,如果接受由调用部112调用的定时对应于执行插件131提供的功能的定时,则执行与描画部122的描画处理类似的描画处理。描画部142执行的处理包括在描画部142生成打印指令的情况下执行的处理,和在描画部142调用(回调)与描画部122相对应的API、从而描画部122生成打印指令的情况下执行的处理。作为回调的示例,例如在想要画线的情况下,通过执行描画部122的LineTo函数,能够在文档上画线。画面部123和143,以诸如布局信息102b以及插件信息102c等的数据为基础,对用户显示提供用于打印设置的⑶I的打印设置画面等。具体而言,核心部111的画面部123显示用于操作打印机驱动器106中的通用的功能的设置值的GUI。此外,画面部123在显示操作涉及插件131实现的功能的设置值的⑶I的情况下,通过调用部112调用插件131,并请求画面部143显示该⑶I。画面部143响应于来自调用部112的调用,进行⑶I的显示。打印设置部124和144,以诸如功能信息102a以及插件信息102c等的数据为基础,进行打印机驱动器106的打印设置,使打印机150执行打印。具体而言,打印设置部124和144执行打印设置的设置值的存储或取出,以及执行匹配处理。此外打印设置部124执行由核心部111支持的通用的功能的设置值的存储或取出,以及执行匹配处理。另外打印设置部124例如在执行涉及插件131实现的功能的打印设置的情况下,通过调用部112调用插件131,请求打印设置部144进行设置。打印设置部144响应于来自调用部112的调用,执行涉及插件131实现的功能的打印设置的设置值的存储或取出,或执行匹配处理。图3是例示核心部111和插件131之间的关系的框图。在图3中,实线箭头表示从核心部111通过调用部112执行的插件131的调用。另外虚线箭头表示核心部111内部的调用、和从插件131向核心部111的调用。如图3所示,在核心部111控制打印机150时,通过调用部112调用插件131的模块(中断部141、描画部142、画面部143、或者打印设置部144)。由于核心部111的打印设置部124是打印设置的获取或者进行设置的窗口,因此打印设置部124能够由几乎所有的模块调用。此外,关于调用的详情如上述。关于涉及插件131的处理,核心部111的委派部121通过调用中断单元141委派处理。所以,委派单元121不执行对于打印设置部124的调用。在插件131的打印设置部144中,因为执行插件131提供的功能的匹配处理,所以有时需要核心部111提供的通用的功能的设置值、或者其他插件提供的功能的设置值。因此,插件131的打印设置部144有时 执行对于核心部111的打印设置部124的调用。在插件131中也和在核心部111中同样,中断部141、描画部142、画面部143、以及打印设置部144的各模块逻辑上分别独立。因此,即使是对于插件131内的模块,也不希望执行对插件131的打印设置部144的直接操作。因此,能够从插件131的全部模块调用核心部111的打印设置部124。在获取或进行打印设置的情况下,即使是插件131自身提供的功能的设置值,插件131的各模块也通过核心部111的打印设置部124进行设置值的获取或设置。接下来,说明打印机驱动器106的具体示例。图4是表示打印机驱动器106的具体结构的框图。如图4所示,打印机驱动器106在插件部130内具有两面强制插件134。两面强制插件134使打印机150实现的功能如下。(i)强制在两面进行打印;(ii)在关闭两面打印的情况下,在打印开始时显示警告以向用户告知该事实;以及(iii)在警告画面中使用户决定是在两面进行打印还是结束打印。为使打印机150实现上述功能,两面强制插件134具有用于勾住打印机驱动器106的至少一个处理的中断部145。接下来,说明具有两面强制插件134的打印机驱动器106的操作。图5是表示通过打印机驱动器106执行的操作的序列图。如图5所示,首先响应于来自OS 105的打印处理的开始(S10),核心部111开始打印处理(S11)。接着,响应于来自OS 105的“DocumentEvent”(开始打印处理)的通知(S20),核心部111的委派部121通过调用部112向两面强制插件134委派“DocumentEvent” (开始打印)的处理(S21、22)。由此,从核心部111向两面强制插件134的中断部145委派开始打印的处理。但是打印开始的时间并不对应于两面强制插件134执行任何处理的定时。所以,中断部145不勾住开始打印的处理(即,不利用任何处理中断开始打印的处理),不执行任何处理(S23)。接着,响应于来自OS 105的文档打印的开始(S30),核心部111执行文档打印的开始处理(S31)。接着响应于来自OS 105的“DocumentEvent”(开始文档打印)的通知(S40),核心部111的委派部121通过调用部112向两面强制插件134委派“DocumentEvent” (开始文档打印)的处理(S41、42)。由此,从核心部111向两面强制插件134的中断部145委派开始文档打印的处理。由于开始文档打印的时间对应于进行由两面强制插件134强制在两面进行打印的处理的定时,所以中断部145用显示警告对话框的处理、和从用户接收是在两面进行打印还是结束打印的决定的处理,中断“DocumentEvent”(文档打印开始)的处理(即中断单元勾住这些处理)(S43)。在接收到不在两面进行打印的决定的情况下,通过中断部145调用核心部111的打印设置部124,把两面打印设置为0FF(S44)。接着,响应于来自OS 105的页打印的开始(S50),核心部111用描画部122执行描画处理(S51),并向打印机150发送通过描画处理生成的打印指令(命令)(S52)。之后,执行继续“DocumentEvent” (开始页打印)的页打印处理(S60、S61、S62)。下面说明与上述的包括两面强制插件134的示例不同的打印机驱动器106的另一具体示例。图6是表示打印机驱动器106的具体示例的框图。如图6中所示,打印机驱动器106包括在插件部130中的用户ID插件135。用户ID插件135使打印机150实现的功 能如下。⑴开始打印时显示促使输入用户ID的对话框;以及(ii)把输入的用户ID向打印机150作为命令(打印指令)发送。为了使打印机150实现上述功能,用户ID插件135具有用于勾住至少打印机驱动器106的处理的中断部146。除了中断部146以外,用户ID插件135还包括描画部147以及打印设置部148。下面,说明具有用户ID插件135的打印机驱动器106的操作。图7是表示通过打印机驱动器106执行的操作的序列图。如图7所示,响应于来自0S105的开始打印处理(SllO),核心部111开始打印处理(Slll)。接着,响应于来自OS 105的“DocumentEvent” (开始打印处理)的通知(S120),核心部111的委派部121通过调用部112向用户ID插件135委派“DocumentEvent” (开始打印)的处理(S121U22)。由此,从核心部111向用户ID插件135的中断部146委派开始打印的处理。由于打印开始的时间对应于用户ID插件135执行涉及用户ID的处理的定时,所以中断部146用显示用户ID输入对话框的处理、和接收用户ID的输入的处理,中断“DocumentEvent”(打印开始)的处理(即中断单元146勾住这些处理)(S124)。
接着,用户ID插件135的中断部146调用核心部111的打印设置部124,并请求用户ID的设置(S125)。接着,核心部111的打印设置部124通过调用部112调用用户ID插件135的打印设置部148,并请求用户ID的设置(S126)。按照这种方式,防止在用户ID插件135内直接调用打印设置部148。接着,响应于来自OS 105的文档打印的开始(S130),核心部111进行文档打印的开始处理(S131)。接着,核心部111的描画部122通过调用部112向用户ID插件135请求执行文档打印的开始处理(S132、S133)。接着,用户ID插件135的描画部147向核心部111的打印设置部124请求获取用户ID的值(S134)。接着,核心部111的打印设置部124通过调用部112向用户ID插件135的打印设置部148请求获取用户ID的值(S135)。由此,用户ID插件135的描画部147基于通过打印设置部148获取的用户ID生成用户ID发送用的命令(S136)。接着,执行继续“DocumentEvent”(文档打印的开始)的打印处理(S140、S141、S142)。由于该文档打印的开始的时间并不对应于用户ID插件135进行某种处理的定时,所以中断部146不勾住文档打印的开始处理(即不用任何处理中断文档打印的开始处理),不进行任何处理(S144)。如上所述,PC 100具有控制可通信连接到PC 100的打印机150的核心部111。核心部111具有在控制打印机150时调用使打印机150实现预定的功能的插件的调用部112。插件在通过调用部112在预定的定时被调用的情况下,利用与插件提供的预定的功能相关的处理,中断与由核心部111执行的打印机150的控制相关的处理。因此,在打印机驱动器106中在涉及“DocumentEvent”的处理中有变更或差异的情况下,仅更换插件即可。按照这种方式,无需再开发核心部111,从而能够减低开发负担和开发成本。第二实施例在第二实施例中,说明在通过顺序调用多个插件勾住处理的情况下根据已调用的插件确定是否调用下一插件的示例。在下文中,主要说明与第一实施例的不同点,对于具有 与第一实施例同样的功能的结构要素,附以和第一实施例同样的名称或符号,并省略其说明。图8是示意表示根据第二实施例的PC 200的功能结构的框图。如图8中所示,在处理部201的打印机驱动器206以及存储部202上,第二实施例的PC 200不同于第一实施例的PC 100。打印机驱动器206具有核心部211和插件部230。核心部211具有委派部221、打印设置部224、调用部212、以及保存部213。在第二实施例中,省略描画部以及画面部的图示,但是核心部211也可以具有描画部以及画面部。插件部230具有插件231到234。但是插件部230具有的插件不限定于插件231到234。在存储部202中还存储优先级文件202d (优先级信息的示例)。优先级文件202d包括定义插件部230的插件231到234各个的优先级的文件。图9是表示优先级文件202d的示例的图。在图9表示的示例中,Pluginl到Plugin4的优先级(priority)用JSON形式定义。Pluginl到Plugin4分别对应于插件231到234,设优先级的值越大指示优先级越高。在由打印机驱动器206执行的处理序列(打印序列)中,委派部221在预定的定时(例如打印处理的开始、文档打印的开始或结束、或页打印的开始或结束)时,向调用部212发送插件的调用指令。委派部221向通过调用部212调用的插件委派上述的处理。当从调用部212接受插件的调用指令的完成的通知时,委派部221指示保存部213反映在打印设置部224中在其中保存(retain)的打印设置(换句话说,委派单元221向保存单元发出“反映指令”)。当从委派部221接收插件的调用指令时,调用部212识别具有实现该指令的功能的插件。在该示例中,调用部212识别插件231到234,并且进而确定插件231到234按照该顺序被调用。这样在顺序调用多个插件的情况下,调用部212根据已调用的插件确定是否调用下一插件。具体而言,根据表示已调用的插件是否被取消的取消信息以及优先级文件202d两者中的至少一个,调用部212确定是否调用下一插件。取消信息是通过插件231到234在RAM中存储的信息,详情后述。例如,如果下一插件的优先级比被取消了的已调用的插件的优先级高,则调用部212确定为要调用下一插件,并且调用下一插件。另一方面,如果下一插件的优先级比被取消了的已调用的插件的优先级低,则调用部212确定为不调用下一插件,并且不调用下一插件。假定在调用部212以插件231到234的顺序进行调用的情况下插件232被取消。在该情况下,因为关于插件233优先级为“30”,而被取消了的已调用的插件232的优先级为“50”(参照图9),所以调用部212确定为不调用插件233。另一方面,插件234的优先级为“70”,而被取消了的已调用的插件232的优先级为“50” (参照图9),所以调用部212确定为要调用插件234。在来自委派部221的插件的调用指令完成后,调用部212向委派部221发送完成通知。由委派部221通过调用部212调用插件231到234,如果是进行中断处理的定时,则勾住对于打印设置能够选择“0K”或者“取消”的打印设置画面(例如参照图11)的显示 处理、使保存部213保存与通过用户选择的内容(“0K”或者“取消”)对应的打印设置的处理、和在RAM中存储取消信息的处理。如果用户选择“0K”,则取消信息表示未取消,如果用户选择“取消”,则表示已取消。此外,插件231到234也可以不在RAM中存储取消信息,而是可以向调用部212返回取消信息作为返回值。保存部213保存插件231到234的打印设置。当委派部221发出反映打印指令时,保存部213在打印设置部224中反映保存的打印设置。图10是表示通过打印机驱动器206执行的操作的流程图。首先,当从委派部221接收到插件的调用指令时,调用部212识别具有实现该指令的功能的插件,并确定是否存在作为下一调用对象的插件(步骤S200)。在有作为下一调用对象的插件的情况下(在步骤S200为“是”),调用部212从RAM中获取取消信息(步骤S202),并从存储部202获取优先级文件202d (步骤S204)。接着,调用部212参照取消信息以及优先级文件202d,并根据被取消了的插件的优先级和作为调用对象的插件的优先级,确定是否对调用对象的插件进行调用(步骤S206)。在调用部212确定为不对调用对象的插件进行调用的情况下(在步骤S208为“否”),处理返回到步骤S200。另一方面,在调用部212确定为要对调用对象的插件进行调用的情况下(在步骤S208为“是”),调用部212调用该调用对象的插件(步骤S210)。接着,被调用的插件显示打印设置画面。当通过用户选择“0K”时(在步骤S212为“否”),插件使保存部213保存OK的打印设置(步骤S214),并在RAM中存储表示自身未被取消的取消信息(步骤S216),并且处理返回到步骤S200。另一方面,当通过用户选择“取消”时(在步骤S212为“是”),已经被调用的插件在RAM中存储表示自身被取消的取消信息(步骤S216),并且处理返回到步骤S200。在这种情况下,不在保存部213中保存调用的插件的打印设置。当不存在作为调用对象的插件时(在步骤S200处为“否”),调用部212向委派部221发送完成通知。委派部221随后向保存部213发出反映指令。保存部213在打印设置部224中反映保存的打印设置(步骤S218)。如上所述,根据第二实施例,在通过在特定的定时顺序调用多个插件将处理勾住的情况下,即使任何插件被取消,也能够调用满足特定条件的ー个或多个剩余的插件。由此能够匹配多个插件的配置。此外,在第二实施例中,说明了如果下ー插件的优先级比取消了的已调用的插件的优先级高则调用下一插件的示例,但是本发明不限于此。例如,也可以在已调用的插件中有被取消了的插件的情况下取消后续的插件的调用以及打印。在这种情况下,调用部212參照取消信息,并且如果取消信息表示已取消,则取消后续插件的调用,并向委派部221通知打印取消。在该示例的情况下,PC 200也可以不在存储部202中存储优先级文件202d。
另外例如,在已调用的插件中存在被取消了的插件的情况下,也可以取消后续插件的调用,并用到该时点的该插件的打印设置进行打印。在这种情况下,调用部212可以參照取消信息,如果取消信息表示被取消,则取消后续插件的调用,并向委派部221发送完成通知。在这种情况下,PC 200也可以不在存储部202中存储优先级文件202d。另外例如,在已调用的插件中存在被取消了的插件的情况下,也可以取消后续插件的调用,并通过无效化(初始化)到该时点的插件的打印设置来进行打印。在这种情况下,调用部212可以參照取消信息,并且如果取消信息表示被取消,则取消后续插件的调用,并向委派部221发送完成通知。委派部221可以随后指示保存部213丢弃打印设置。同样,在该示例的情况下,PC 200也可以不在存储部202中存储优先级文件202d。另外,例如即使在已调用的插件中存在被取消了的插件,也可以顺序地调用后续插件。在这种情况下,调用部212可以顺序地调用插件即可。同样,在该示例的情况下,PC200也可以不在存储部202中存储优先级文件202d,并且插件也可以不在RAM中存储取消信息。第三实施例在第三实施例中,说明在通过顺序调用多个插件来勾住处理的情况下在下ー插件中反映已调用的插件的设置的示例。在下文中,主要说明与第二实施例的不同点,对于具有与第二实施例同样的功能的结构要素,附以和第二实施例同样的名称或符号,并省略其说明。图11到图13是在下一插件中反映已调用的插件的设置的示例的说明图。在该示例中,两个插件被连续调用。当第一插件被调用时,如图11所示,该第一插件显示设置用户ID以及设置I的打印设置画面,并接收用户的设置。接着,当调用第二插件时,如图12所示,该插件显示设置用户ID以及设置2的打印设置画面。通常而言,在第二插件显示的打印设置画面上不反映通过第一插件设置的用户ID。与之形成对比的是,在第三实施例中,当调用第二插件时,如图13所示,该第二插件通过反映经由第一插件设置的用户ID,显示打印设置画面。图14是示意表示第三实施例的PC 300的功能结构的框图。如图14所示,第三实施例的PC 300在处理部301的打印机驱动器306以及存储部302上和第二实施例的PC200不同。打印机驱动器306的插件部330具有插件331到334。插件部330中包括的插件不限于插件331到334。在存储部302中,还存储了设置文件302e (其是设置反映信息的示例)。设置文件302e包括定义在插件部330的插件331到334中是否反映已调用的插件的设置的文件。图15是表示设置文件302e的示例的图。在图15表示的示例中,以JSON形式定义Pluginl到Plugin4的“ display”(表示是否反映已调用的插件的设置)。Pluginl到Plugin4分别对应于插件331到334。在“display”中的“default”表示不反映通过已调用的插件设置的设置而进行缺省显示。在“display”中的“store”表示通过反映通过已调用的插件设置的设置进行显示。当由委派部221通过调用部212调用插件331到334中的任何ー个时,如果定时用于进行中断处理,则在反映通过已调用的插件设置的设置后,勾住与由其对应的插件提供的预定功能相关的处理。具体而言,插件參照设置文件302e,并且当插件的“display”的值是“store”吋,获取在保存部213中保存的设置,并勾住用于显示反映获取的设置的打印设置画面的处 理、使保存部213保存与通过用户选择的内容对应的打印设置的处理、和在RAM中存储取消信息的处理。例如,如图13所示,插件获取在保存部213中保存的用户ID的设置,并显示反映已获取的用户ID的设置的打印设置画面。另ー方面,插件參照设置文件302e,并且在插件的“display”的值是“default”的情况下,勾住显示不反映在保存部213中保存的设置的打印设置画面的处理、使保存部213保存与通过用户的选择内容对应的打印设置的处理、和在RAM中存储取消信息的处理。例如,如图12所示,插件显示不反映在保存部213中保存的用户ID的设置的打印设置画面。如上述,根据第三实施例,在通过在特定的定时顺序调用多个插件来勾住处理的情况下,能够在下一插件中反映或者不反映已调用的插件的设置。第四实施例在第四实施例中,说明在通过顺序调用多个插件勾住处理的情况下,匹配对于通过多个插件设置的同一功能的设置的示例。在下文中,主要说明与第二实施例的不同点,对于具有与第二实施例同样的功能的结构要素,附以和第二实施例同样的名称或符号,并省略其说明图16是示意表示第四实施例的PC 400的功能结构的框图。如图16所示,第四实施例的PC 400在处理部401的打印机驱动器406上与第二实施例的PC200不同。打印机驱动器406具有核心部411、和插件部430。核心部211具有委派部221、打印设置部224、调用部412、以及匹配部413。插件部430具有插件431到434。但是插件部430具有的插件不限于插件431到434。当从委派部221接收到插件的调用指令时,调用部412识别具有实现该指令的功能的插件。在本示例中,调用部412识别插件431到434,确定以插件431到434的顺序调用插件,并按顺序调用插件431到434。另外,当来自委派部221的插件的调用指令完成吋,调用部412向委派部221发送完成通知。由委派部221通过调用部412调用插件431到434。当定时用于进行中断处理时,则插件进行对于预定的功能的设置,并勾住使匹配部413保存设置的处理。在本示例中,插件431到434进行对于同一功能的打印设置。具体而言,插件431到434中的每ー个都设置用户ID。因此,插件431到434由委派部221通过调用部412调用,并且如果定时用于执行中断处理,则插件勾住显示用于设置用户ID的打印设置画面的处理、和使保存部213保存已经被设置的用户ID的处理。匹配部413在匹配设置后保存通过插件431到434设置的设置。具体而言,匹配部413根据优先级文件202d,匹配通过插件431到434设置的设置,并保存所匹配的设置。例如,如果通过调用部412调用的插件的优先级比其设置被保存的插件的优先级高,则匹配部413用通过由调用部412调用的插件设置的设置,盖写所保存的设置。另一方面,如果通过调用部412调用的插件的优先级比其设置被保存的插件的优先级低,则匹配部413原样保存所保存的设置。在调用部412按顺序调用插件431到434的情况下,匹配部413首先保存插件431的用户ID的设置。接着,因为插件432的优先级是“50”、且其用户ID设置被保存的插件431的优先级是“30”(參照图9),所以匹配部413用插件431的用户ID的设置盖写所保存的用户ID的设置。接着,关于插件433,因为其优先级是“30”、而其用户ID设置被保存的插件432的优先级是“50”(參照图9),所以匹配部413原样保存用户ID的设置。接着,因 为插件434的优先级是“70”、而其用户ID设置被保存的插件432的优先级是“50” (參照图9),所以匹配部413用插件434的用户ID的设置盖写所保存的用户ID的设置。因此,通过具有最高优先级的插件434将各个设置匹配为用户ID的设置。当接收来自委派部221的反映指令时,匹配部413在打印设置部224中反映匹配的打印设置。图17是打印机驱动器406的操作的流程图。首先,当从委派部221接收到插件的调用指令时,调用部412识别具有实现该指令的功能的插件,并确定是否存在作为下ー调用对象的插件(步骤S300)。在存在调用对象的插件的情况下(在步骤S300为“是”),调用部412对调用对象的插件进行调用(步骤S302)。接着,被调用的插件显示打印设置画面。当通过用户变更打印设置时(例如,当设置用户ID时)(步骤S304),所调用的插件请求匹配部413保存打印设置(步骤S306)。随后,匹配部413从存储部202获取优先级文件202d(步骤S308),并根据被调用的插件的优先级和其打印设置被保存的插件的优先级,确定是否保存被调用的插件的打印设置(即是否用被调用的插件的打印设置盖写所保存的打印设置)(步骤S310)。在不保存被调用的插件的打印设置的情况下(在步骤S312为“否”),处理返回步骤S300。另ー方面,在要保存被调用的插件的打印设置的情况下(在步骤S312为“是”),匹配部413保存被调用的插件的打印设置(步骤S314),并且处理返回步骤S300。在没有调用对象的插件的情况下(在步骤S300为“否”),调用部412向委派部221发送完成通知。委派部221随后向匹配部413发出反映指令,并且匹配部413在打印设置部224中反映所保存的打印设置(步骤S316)。如上所述,根据第四实施例,在通过在特定的定时顺序调用多个插件勾住处理的情况下,即使在多个插件对于同一功能进行设置的情况下也能够匹配设置。在第四实施例中,说明了如果被调用的插件的优先级比其设置被保存的插件的优先级高,则保存被调用的插件的设置的示例。但是,这只是示例性的,本发明不限于此。例如,也可以保存后来调用的插件的设置。在这种情况下,匹配部413可以在每次进行插件的设置时,用该插件的设置盖写所保存的设置。在该示例的情况下,PC 400也可以不预先在存储部202中存储优先级文件202d。另外,例如也可以保存初始调用的插件的设置。在这种情况下,匹配部413可以丢弃第二和任何后续插件的设置。在这种情况下,同样,PC 400也可以不在存储部202中存储优先级文件202d。另外,例如在不同的插件进行了设置的情况下,也可以恢复缺省的设置。在这种情况下,响应于在已经存在被保存的插件的设置时对保存另ー插件的设置的请求(即响应于对另ー插件的调用),则匹配部413可以使所保存的设置返回缺省的设置。第五实施例在第五实施例中,说明在通过顺序调用多个插件来勾住处理的情况下匹配具有通过多个插件设置的排他关系的功能的设置的示例。在下文中,主要说明与第二实施例的不同点,对于具有与第二实施例同样的功能的结构要素,附以和第二实施例同样的名称或符 号,并省略其说明。图18是示意表示第五实施例的PC 500的功能结构的框图。如图18所示,第五实施例的PC 500在处理部501的打印机驱动器506上和第二实施例的PC200不同。打印机驱动器506具有核心部511和插件部530。核心部511具有委派部221、打印设置部224、调用部412、保存部513、以及匹配部514。插件部530具有插件531到534。但是插件部530具有的插件不限于插件531到534。当从委派部221接收到插件的调用指令时,调用部412识别具有实现该指令的功能的插件。在本示例中,调用部412识别插件531到534,确定要以插件531到534的顺序调用插件,并顺序调用插件531到534。当来自委派部221的插件的调用指令完成吋,向委派部221发送完成通知。由委派部221通过调用部412调用插件531到534,并且如果定时用于进行中断处理,则插件进行对于预定的功能的设置,并勾住使保存部513保存设置的处理。在本示例中,插件531到534为具有排他关系的功能进行打印设置。具体而言,插件531到534为具有排他关系的装订功能以及穿孔功能进行打印设置。具体而言,插件531到534中的至少ー个由委派部221通过调用部412调用,并且如果定时用于进行中断处理,则勾住显示用于设置装订功能的打印设置画面的处理、和使保存部513保存装订功能的设置的处理。类似地,插件531到534中的至少ー个(其不同于设置装订功能的插件)由委派部221通过调用部412调用,并且如果定时用于进行中断处理,则勾住显示用于设置穿孔功能的打印设置画面的处理、和使保存部513保存穿孔功能的设置的处理。保存部513保存通过对通过插件531到534设置的设置执行匹配处理获得的匹配的设置。具体而言,保存部513向匹配部514发送所保存的设置和请求被保存的设置,并保存通过匹配部514已经执行匹配处理的匹配的设置。当从委派部221接收到反映指令吋,保存部513在打印设置部224中反映所保存的匹配的打印设置。匹配部514根据预定的匹配规则对于通过多个插件设置的设置施行匹配处理。具体而言,当从保存部513接收到所保存的设置和请求被保存的设置吋,匹配部514对这些设置施行匹配处理,井向保存部513返回执行了匹配处理的匹配的设置。这里,匹配部514预先给插件531到534提供的功能赋予优先级,井根据该优先级执行匹配处理。例如,假定装订功能的优先级比穿孔功能的优先级高,并且匹配部514接收到设置了 “装订功能0N(穿孔功能OFF) ”的所保存的设置,和设置了 “穿孔功能0N(装订功能OFF) ”的请求被保存的设置。在这种情况下,匹配部514对于所保存的设置和请求被保存的设置执行匹配处理,并作为执行了匹配处理的设置向保存部513返回“装订功能ON (穿孔功能0FF) ”。图19是表示通过打印机驱动器506执行的操作的流程图。首先,当从委派部221接收到插件的调用指令时,调用部412识别具有实现该指令的功能的插件,并确定是否存在作为下ー调用对象的插件(步骤S400)。在存在调用对象的插件的情况下(在步骤S400为“是”),调用部412对调用对象的插件进行调用(步骤402)。接着,被调用的插件显示打印设置画面,并且当通过用户变更打印设置(例如当 设置装订功能或者穿孔功能)时(步骤S404),请求保存部513保存打印设置(步骤S406)。之后,保存部513向匹配部514发送所保存的打印设置和请求被保存的打印设置,并请求匹配处理(步骤S408)。接着,匹配部514对于所保存的打印设置和请求被保存的打印设置执行匹配处理。保存部513随手保存执行了匹配处理的打印设置(步骤S410),并且处理返回到步骤S400。在不存在调用对象的插件的情况下(在步骤S400为“否”),调用部412向委派部221发送完成通知。委派部221向保存部513发出反映指令,并且保存部513在打印设置部224中反映所保存的匹配的打印设置(步骤S412)。如上所述,根据第五实施例,在通过在特定的定时顺序调用多个插件勾住处理的情况下,即使在多个插件对于具有排他关系的功能进行设置吋,也能够匹配设置。尽管在第五实施例中说明了在匹配处理中使优先级高的功能优先的示例,但是本发明不限于此。例如,也可以使后来调用的插件的功能优先。在这种情况下,匹配部514可以对于从保存部513发送的所保存的打印设置和请求被保存的打印设置执行使请求被保存的打印设置优先的匹配处理。此外,例如也可以使初始调用的插件的功能优先。在这种情况下,匹配部514对于从保存部513发送的所保存的打印设置和请求被保存的打印设置执行使所保存的打印设置优先的匹配处理。另外,例如在对具有排他关系的功能进行设置的情况下,也可以恢复缺省的设置。在这种情况下,如果所保存的打印设置和请求被保存的打印设置具有排他关系,则匹配部413可以把所保存的设置返回到缺省设置。修改本发明不限于上述实施例中的任何ー个,而可以有各种修改。例如,可以组合上述各实施例,或者把上述各实施例的任何ー个的一部分组合到其他实施例中。例如,也可以把第三实施例组合到第四实施例和/或第五实施例或者,也可以把取消了第二实施例的插件的调用的特征组合到第四实施例和/或第五实施例中。硬件结构图20是表示上述各实施例的PC的硬件结构的图。如图20所示,PC具有CPU3101、ROM 3102、RAM 3103、硬盘驱动器(HDD) 3104、诸如显示部等显示装置3105、诸如键盘和鼠标等输入装置3106、通信I/F3107、和连接这些的总线3108。可以利用通常的计算机来
提供硬件结构。涉及上述各实施例的用PC执行的打印机驱动器(程序),以可安装的形式或者可执行的形式的文件在诸如CD-ROM、软盘(FD)、CD-R、或数字多用途盘DVD等计算机可读的存储介质上记录提供。优选地,在诸如因特网等网络上连接的计算机上存储涉及上述各实施例的用PC执行的打印机驱动器,从而能够通过网络下载提供打印机驱动器。另外优选地,经由诸如因特网等网络提供或者分发涉及上述各实施例的用PC执行的打印机驱动器。
优选地,通过在ROM等中预先装入来提供涉及上述各实施例的用PC执行的打印机驱动器。涉及上述各实施例的用PC执行的打印机驱动器可以具有包含上述各部(核心部111以及各个插件)的模块结构。在实际的硬件上,CPU 3101从存储介质读出并执行打印机驱动器,从而把上述各部加载到RAM 3103上,由此在RAM3103上生成核心部111以及各个插件。根据各个实施例,能够抑制开发成本。尽管出于完整和清晰公开的目的相关于特定的实施例描述了本发明,但所附权利要求并不因此受其限制,而是被构造为体现对于本领域技术人员而言应当落入本文中阐述的基本教诲的所有修改和替代结构中。
权利要求
1.ー种信息处理装置,包括 核心部,被配置为控制与所述信息处理装置可通信地连接的外部设备, 在所述核心部中包括的调用部,所述调用部被配置为在控制所述外部设备时调用使所述外部设备能够实现预定功能的插件, 其中,所述插件当在特定的定时被所述调用部调用时,利用与由所述插件提供的所述预定功能相关的处理,中断与由所述核心部执行的所述外部设备的控制相关的处理。
2.根据权利要求I所述的信息处理装置, 其中,所述插件包括如下各项中的至少ー项 生成由所述外部设备输出的图像的功能、从用户接收与所述外部设备的设置相关的操作输入的处理、存储所输入的设置的功能。
3.根据权利要求I或2所述的信息处理装置,还包括 插件部,包括多个不同的插件,所述多个不同的插件使所述外部设备能够实现它们的相应的功能。
4.根据权利要求3所述的信息处理装置, 其中,所述调用部查询所述多个插件,识别使所述外部设备能够实现所述预定功能的插件,并调用所识别出的插件。
5.根据权利要求3所述的信息处理装置,还包括 插件信息存储部,被配置为在其中存储与由所述多个插件提供的功能相关的插件信息, 其中,所述调用部通过參照所述插件信息,调用使所述外部设备能够实现所述预定功能的插件。
6.根据权利要求3至5中的任何一项所述的信息处理装置, 其中,所述调用部在顺序地调用所述多个插件时,基于已被调用的插件确定是否要调用下ー插件。
7.根据权利要求6所述的信息处理装置, 其中,所述调用部基于所述已被调用的插件是否被取消确定是否要调用所述下ー插件。
8.根据权利要求7所述的信息处理装置,还包括 优先级信息存储部,被配置为在其中存储优先级信息,所述优先级信息定义所述多个插件中的每ー个的优先级, 其中,所述调用部还通过參照所述优先级信息来确定是否要调用所述下ー插件。
9.根据权利要求3至5中的任何一项所述的信息处理装置, 其中,所述调用部顺序地调用所述多个插件, 其中,所述信息处理装置还包括匹配部,所述匹配部被配置为匹配由所述多个插件设置的用于同一功能的不同的设置,并保存所匹配的设置。
10.根据权利要求9所述的信息处理装置,还包括 优先级信息存储部,被配置为在其中存储优先级信息,所述优先级信息定义所述多个插件中的每ー个的优先级, 其中,所述匹配部基于所述优先级信息匹配所述不同的设置。
11.根据权利要求3至5中的任何一项所述的信息处理装置,还包括 匹配部,被配置为根据预定的匹配规则,对由所述多个插件设置的用于具有排他关系的功能的设置执行匹配处理;以及 保存部,被配置为保存经过所述匹配处理的所匹配的设置。
12.根据权利要求6至11中的任何一项所述的信息处理装置, 其中,所述多个插件中的每ー个在反映由所述已被调用的插件设置的设置后,利用与由所述预定功能的对应的插件提供的所述预定功能相关的处理,中断与由所述核心部执行的外部设备的控制相关的处理。
13.根据权利要求12所述的信息处理装置,还包括 设置反映信息存储部,被配置为在其中存储设置反映信息,所述设置反映信息定义是否要在所述多个插件的每ー个中反映由所述已被调用的插件设置的设置, 其中,所述多个插件中的每ー个參照所述设置反映信息,并且当所述设置反映信息定义了要在所述插件中反映所述设置时,在反映由所述已被调用的插件设置的设置后,利用与由其对应的插件提供的所述预定功能相关的处理,中断与由所述核心部执行的外部设备的控制相关的处理,而当所述设置反映信息定义了不在所述插件中反映所述设置时,利用与由所述预定功能的对应的插件提供的所述预定功能相关的处理,中断与由所述核心部执行的外部设备的控制相关的处理,而没有反映所述已被调用的插件的设置。
全文摘要
一种信息处理装置包括核心部,被配置为控制与所述信息处理装置可通信地连接的外部设备;和在所述核心部中包括的调用部,所述调用部被配置为在控制所述外部设备时调用使所述外部设备能够实现预定功能的插件。所述插件当在特定的定时被所述调用部调用时,利用与由所述插件提供的所述预定功能相关的处理,中断与由所述核心部执行的所述外部设备的控制相关的处理。
文档编号G06F3/12GK102693101SQ20121002762
公开日2012年9月26日 申请日期2012年2月8日 优先权日2011年2月9日
发明者玉岛大辅, 西原由登 申请人:株式会社理光
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1