CN105426135B - 信息处理装置和信息处理系统 - Google Patents
信息处理装置和信息处理系统 Download PDFInfo
- Publication number
- CN105426135B CN105426135B CN201510567607.2A CN201510567607A CN105426135B CN 105426135 B CN105426135 B CN 105426135B CN 201510567607 A CN201510567607 A CN 201510567607A CN 105426135 B CN105426135 B CN 105426135B
- Authority
- CN
- China
- Prior art keywords
- printing
- setting
- information processing
- unit
- 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.)
- Active
Links
Landscapes
- Accessory Devices And Overall Control Thereof (AREA)
Abstract
本发明提供了一种信息处理装置和信息处理系统。该信息处理装置包括打印数据生成部,其经由操作系统从应用接收包括文件和第一打印设置的打印执行指令并且生成打印数据;应用管理部,其将打印指令发送到应用;扩展接口部,其不同于由操作系统定义的接口部;以及打印设置存储部,存储经由扩展接口部从应用管理部输入的第二打印设置。打印数据生成部将要被用于生成打印数据的打印设置从第一打印设置改变为第二打印设置。
Description
技术领域
本发明涉及信息处理装置和信息处理系统
背景技术
<视窗(Windows,注册商标)打印架构>
图18总体地表示视窗(Windows,注册商标)打印架构。根据视窗打印架构,当应用50输出打印执行指令时,打印机驱动器60接收存储打印设置的DEVMODE结构190,生成反映打印设置的渲染数据(rendering data),该打印设置诸如“N合1”(其中在纸张上布置多个减小尺寸页面的打印方式)、双面(其中在相同纸张的正反两侧分别打印两个页面的打印方式)和/或装订等,并且将渲染数据传输到随后根据渲染数据执行打印的打印机5。当应用50随后输出打印执行指令时,将DEVMODE结构190发送到操作系统(OS)的图像设备接口(GDI)31,并且随后将DEVMODE结构190发送到打印机驱动器60。
作为被随后从应用50发送到打印机驱动器60的DEVMODE结构190的结果,在理解诸如渲染的区域等的打印机5的能力的同时,应用50可以将渲染指令输出到GDI 31。这是因为如图18所示,基于当接收打印执行指令时打印机驱动器60所接收的DEVMODE结构190和作为打印机驱动器60自身与其连接的打印设备的打印机5的信息,打印机驱动器60将渲染能力(涉及能够执行渲染的能力的信息)返回到GDI 31。
发明内容
根据本发明的一个实施例,信息处理装置包括打印数据生成部,其经由操作系统从应用接收包括文件和第一打印设置的打印执行指令并且生成打印数据;应用管理部,其将打印指令发送到应用;扩展接口部,其不同于由操作系统定义的接口部;以及打印设置存储部,其存储经由扩展接口部从应用管理部输入的第二打印设置。打印数据生成部将要被用于生成打印数据的打印设置从第一打印设置改变为第二打印设置。
结合附图阅读以下详细描述,本申请的其他目的、特征以及优点将变得更为显而易见。
附图说明
图1总体表示根据一个实施例的包括信息处理装置的打印系统;
图2示出了在图1中所示的个人计算机(PC)的硬件配置;
图3示出了在图1中所示的PC的软件配置;
图4示出了在图3中所示的管理应用、应用、打印机驱动器和OS之间的关系;
图5示出了在图3中所示的各个软件要素的基本操作;
图6示出了用于存储多个逻辑打印机的打印设置的配置;
图7示出了通过使用IT-BOX技术打印的第一示例;
图8是示出了从设置打印设置到生成打印数据的第一示例的过程的序列图;
图9示出了具有Point&Print环境的打印系统;
图10示出了在Point&Print环境中的语言监视器;
图11示出了通过使用IT-BOX技术打印的第二示例;
图12示出了通过图11所示的设置改变部所提供的打印设置改变UI的一个示例;
图13是示出了基于第二示例的从设置打印设置到生成打印数据的过程的序列图;
图14示出了在支持不同功能的多个打印机驱动器间切换打印机驱动器的情况;
图15是示出了在选择支持不同功能的打印机驱动器中的一个之后打印过程的序列图;
图16示出了具有动态合并新功能的功能的扩展I/F部;
图17示出了用于添加新功能的扩展I/F部的UI;
图18总体示出了视窗打印架构;
图19示出了DEVMODE结构的一个示例;
图20示出了通过打印驱动器读取DEVMODE结构;
图21示出了扩展I/F部、应用和DEVMODE结构;
图22总体示出了Point&Print技术。
图23示出了IT-BOX技术;以及
图24示出了通过在不同于DEVMODE结构的文件、注册表、共享存储空间等中存储打印设置、并且通过打印机驱动器阅读它们来使得能够从外侧改变打印设置的方法。
具体实施方式
实施例涉及信息处理装置,信息处理系统和非暂态计算机可读记录介质。更具体地,实施例涉及信息处理装置、信息处理系统和非暂态计算机可读介质,通过其中的每一个可以改变应用中的打印设置而无需修改应用或者将指令输入到打印设置屏幕页面。
需要注意的是,根据图18所示的视窗打印架构的配置,只有当输出打印执行指令时,应用50才可以将DEVMODE结构190发送到打印机驱动器60。而且,即便是相同应用(相同处理)中的另一个线程或者另一个应用(另一个处理)也不能访问由打印中的应用50所使用的打印设置。
另外,打印机驱动器60可以显示在打印机文件夹中的打印设置屏幕页面(也称作打印对话)并且确定缺省打印设置(作为系统缺省的DEVMODE结构)。可以经由应用编程接口(API)从应用来获取这些打印设置。
此时,GDI 31经由设备驱动接口(DDI)向打印机驱动器60发送打印设置指令。对于DDI,只定义了接口(I/F)。因此,打印机驱动器的制造商可以设计DDI内的实装方式(当被经由DDI调用时执行的打印机驱动器的处理)。然而,即便制造商独有地定义了I/F,WindowsOS(视窗操作系统)也不能知晓I/F,并且因此不能调用I/F。
<DEVMODE结构>
图19示出了DEVMODE结构的一个示例。如图所示,DEVMODE结构包括公共部分和私有部分。公共部分包括OS定义并且因此可以被从每个应用改变。公共部分包括每个打印机驱动器需要设置的项目,例如“打印方位”、和“纸尺寸”等。
私有部分对于每个制造商是独有的。因此,可以在其中定义每个制造商或每个打印机驱动器的信息。应用和Windows OS不能知晓私有部分中的信息。因此改变私有部分的唯一方式是改变通过打印机驱动器的用户接口(UI)驱动器显示的私有部分中的设置。私有部分包括对于每个制造商或每个打印机类型独有的特征(诸如“打印类型”、和/或“认证”等)的设置项目。
<读取DEVMODE结构>
图20示出了通过打印机驱动器读取DEVMODE结构。用户设置UI驱动器61所显示的诸如纸尺寸、打印的纸张的数量和/或双面打印等的打印条件(打印设置),并且输入打印指令。当用户因此输入打印设置(“打印设置指令”)时,应用50生成GDI调动并且将对应的DEVMODE结构190发送到GDI 31。应用50例如是文档创建程序(例如,MS-Word(注册商标))。
在从应用50获取DEVMODE结构190之后,GDI 31通过使用DDI调用来调取打印机驱动器的渲染驱动器63,并且向其发送DEVMODE结构190(“打印执行指令”)。渲染驱动器63读取因此从GDI 31获取的DEVMODE结构190(“打印设置指令”),并且基于DEVMODE结构190和从应用50接收的文档文件(“打印执行指令”)来创建反映打印设置的打印数据,并且将打印数据发送到排存器(spooler)。打印数据包括渲染数据(例如,PDL数据)和控制数据(例如,PJL打印命令)。
因此,UI驱动器61和渲染驱动器63的每一个可以读取DEVMODE结构190。UI驱动器61可以显示DEVMODE结构190的私有部分并且接收打印设置改变指令。
因此,UI驱动器61在DEVMODE结构190中存储打印设置,并且渲染驱动器63从DEVMODE结构190读取打印设置。应用50发送DEVMODE结构190以便打印设置能够因此被存储/读取。实际上,应用50提供了存储,经由OS 30将其发送到UI驱动器61,并且UI驱动器61填充它。而且,当应用50经由OS 30输出打印执行指令时,渲染驱动器63读取DEVMODE结构190的内容。
<使用打印机驱动器的扩展I/F访问DEVMODE结构>
因此,为了改变DEVMODE结构190的私有部分,仅存在打印机驱动器60显示打印设置屏幕页面并且接收用户的操作的方式。因此,需要用户的操作。
然而,存在期望无需如此用户的操作自动地完成的处理。例如,经由传真的传输直邮(DM)的处理、或打印电子表格(spread sheet)的处理等是这样的处理。对于这样的处理,即便使用相同的打印设置,如果需要用户在每次打印电子表格或传送DM时通过将指令输入到打印设置屏幕页面以改变DEVMODE结构190的私有部分,则也会劣化可控性。
因此,存在能够使得适于处理的应用改变在打印机驱动器的DEVMODE结构190的私有部分中存储的打印设置而无需用户的操作的需要。
为了满足该需要,制造商提出了打印机驱动器的扩展I/F以便应用可以直接与打印机驱动器执行通信(例如,参见日本特开专利公报No.2005-148928)。而且,取决于用户的请求,开发适于处理的应用。
图21示出了扩展的I/F部分、应用和DEVMODE结构。图21中的应用51能够调取适合于用户的处理的应用、或者至少扩展I/F部分。
应用51能够调取扩展I/F部62,发送打印设置(“打印设置指令”),并且经由UI驱动器61改变DEVMODE结构190的私有部分中的打印设置。响应于打印执行指令,渲染驱动器63读取DEVMODE结构190的私有部分中的打印设置。因此,在用户输入打印执行指令到应用51之后,可以完成处理而无需用户的操作。
<RAW排存(spooling)和EMF排存>
根据视窗打印架构,通过打印机驱动器的打印可以使用两个排存类型,即RAW排存类型和EMF排存类型。在应用的处理期间,根据RAW排存类型,将通过打印机驱动器从应用获取的文档数据转换为通过打印机可解译的RAW数据(“转换处理”)。在此类型中,直到完成转换处理之前,用户不能操作应用。
根据EMF排存类型,在应用的处理期间,将通过OS从应用获取的文档数据转换为独立于打印机的EMF数据格式,并且排存EMF数据(“排存器处理”)。随后,打印机驱动器将在排存处理中由此所排存的EMF数据转换为通过打印机可解译的RAW数据。在此类型中,用户在应用的处理中完成将文档数据转换为EMF数据之后能够操作应用。
<Point&Print>
接着,将描述安装打印机驱动器的类型和开始打印之后的打印设置之间的关系。涉及Windows打印机驱动器,称作“Point&Print(点和打印)”的安装类型是可用的。
图22总体示出了“Point&Print”。打印机5、客户端PC和服务器PC与通信网络2连接。在客户端PC 7中安装OS。而且,在客户端PC 8中安装OS(专用于服务器)。客户端PC 7可以将服务器PC 8使用作为打印服务器,对打印机5进行打印请求。
在如此的系统中,需要在客户端PC 7中安装与服务器PC 8的打印机驱动器相同的打印机驱动器60。但是,管理员等需要可观的时间和劳力以在与通信网络2连接的每个客户端PC 7中安装打印机驱动器。
为了改善这种情况,根据Point&Print技术使能从服务器PC 8到客户端PC 7的打印机驱动器的下载和安装。根据Windows标准功能对此使能。注意到在打印处理中,根据Point&Print技术由此安装的打印机驱动器60也可以使用RAW排存类型和EMF排存类型。
在根据Point&Print技术由此安装打印机驱动器60的情况下(EMF排存类型的情况下),用户可以在客户端PC 7和服务器PC 8之间改变(通过渲染驱动器63)执行渲染的PC。通过客户端PC的渲染被称作“客户端侧渲染”而通过服务器PC 8的渲染被称作“服务器侧渲染”。
<监视共享文件夹并打印的方案>
存在监视共享文件夹并且在那里检测到添加文件之后执行打印的、被称作“IT-BOX”的方案。图23示出了IT-BOX技术。
通过使用Windows OS来执行IT-BOX技术。采用IT-BOX技术的服务器PC 8具有管理应用40和共享文件夹85。管理应用40监视共享文件夹85。当检测到在此添加文件时,管理应用40启动可以将用于添加的文件的打印执行指令输出到OS的应用并且由此打印文件。
在图23中,管理应用40检测到客户端PC 7在共享文件夹85中添加了文件“a”86,读取文件“a”86,启动可以将用于文件“a”86的打印执行指令输出到OS 30的应用“a”50a,并且将文件“a”86发送到应用“a”50a,并且向其输出打印指令。如果文件“a”86例如是“doc.”文件,则将文字浏览器(Word Viewer)或微软文字处理应用程序(MS-Word)使用作为应用“a”50a。
作为应用“a”50a将打印执行指令输出到OS 30的结果,OS向打印机驱动器60输出打印执行指令并且打印机驱动器60将渲染数据传输到打印机5,打印机5打印文件。
在几乎所有的Office应用的每一个中,使用通过向文件给予Office应用的参数来打印文件的功能以实施此IT-BOX方案。根据IT-BOX技术,外部PC或智能设备可以发现被添加到共享文件夹85的文件,并且通过打印机5打印文件。取决于每一个特定顾客环境,在IT-BOX技术中安装打印机驱动器60的类型可以不同。
存在当打印机驱动器60被用作执行打印时,在应用“a”50a中的打印设置不能改变并且由此通过缺省打印设置执行打印的情形,鉴于这种情形可以改进IT-BOX技术。
即,管理应用40是开发方案的供应商的独有应用。与其形成对比的是,用于打印Office文档等的文档应用(50a)是通过另一个供应商所开发的应用等。其结果是,Office应用不被修改或不能被修改。管理应用40可以仅使用参数将Office文件和打印指令输出到Office应用。因此,不可能改变打印设置。
因此,另一个PC或智能设备的用户不能根据期望的打印设置(诸如“N合1”、双面等)打印来自PC或智能设备的文件(在其被传送到共享文件夹85之后)。
在使用扩展I/F部62能够访问DEVMODE结构的打印机驱动器(根据日本特开专利公报No.2005-148928)的上述情况下,假定将所有设置项目存储在DEVMODE结构中。因此,实际将打印执行指令发送到打印机驱动器的应用需要知晓打印机驱动器的独有扩展I/F部62。因此,在如IT-BOX方案的、发送触发以启动打印的应用(管理应用40)与实际将打印执行指令发送到打印机驱动器的应用(50a)不同的情况下,不可能改变打印设置。
现在将描述为何假定根据由日本特开专利公报No.2005-148928公开的打印机驱动器将所有设置项目存储于DEVMODE结构中。如图21所示,当应用51使用独有地从打印机驱动器所扩展的扩展I/F部62改变打印设置时,需要下面的处理(i)、(ii)、(iii)。
(i)应用51将DEVMODE结构190输入到打印机驱动器的扩展I/F部62。
(ii)应用51接收在其中变更了打印设置的DEVMODE结构190作为输出。
(iii)应用51使用所接收的DEVMODE结构190作为要被发送到渲染驱动器63以启动打印的DEVMODE结构190。
换言之,当使用扩展I/F部62时,即便存储不同于DEVMODE结构190的打印设置,应用51也不能从扩展I/F部62获取不同于DEVMODE结构190的打印设置。这是为何所有打印设备必须被存储于DEVMODE结构190中的原因。
而且,根据日本特开专利公报No.2005-148928公开的打印机驱动器,需要将应用修改为适于用户的处理的应用或可以调用扩展I/F部62的应用。
而且,日本特开专利公报No.2005-148928公开的打印机驱动器可能具有如下问题:不仅在特定排存类型的情况下或安装于本地环境的情况下,而且在RAW排存类型和EMF排存类型这两者下其无法以相同方式工作。而且,当根据Point&Print环境安装打印机驱动器时,其不能工作。
<在不同于DEVMODE结构的注册表或文件中存储打印设置>
存在执行如下方法的打印机驱动器:在不同于DEVMODE结构的文件、注册表、或共享存储空间等中存储打印设置。打印机驱动器随后读取这样存储的打印设置,并且作为结果,可以从外部改变打印设置。
图24表示此方法的一个示例。如图所示,应用52调用扩展I/F部62,向其发送打印设置指令,并且经由UI驱动器61在不同于DEVMODE结构的设置存储区域91中存储打印设置。渲染驱动器63随后响应于来自OS 30的打印执行指令从设置存储区域91读取打印设置。
根据此方法,针对在DEVMODE结构中不存储打印设置的要点解决了上述问题。但是,在下面两个情况1和情况2中,受困于不使用DEVMODE结构而发生了其他问题,:
1.在EMF排存类型的打印序列
2.通过根据Point&Print环境安装的打印机驱动器的打印序列
在情况1中,上述方法取决于在打印时DDI调用序列,并且能够被执行于RAW排存类型的情况下。但是,如果排存类型是不同的,则改变由OS被调用的DDI调用序列。即,EMF排存类型需要在OS中的两次转换处理序列,即将从应用获取的打印数据转换为EMF数据的处理以及将EMF数据转换为可以通过打印机解译的数据的处理。
在这两次转换处理序列之间,将从应用获取的打印数据转换为EMF数据的处理和将EMF数据转换为可以通过打印机解译的数据的处理是相互不同的处理。取决于每个处理的权限允许或禁止访问。因此,取决于文件或注册表的地点,当EMF数据被最终转换为可以通过打印机解译的数据时,存在不能从设置存储区域91获取经由扩展I/F部62预先设置的打印设置的情况。实际上,根据最近的Windows OS,根据安全视点存在如果权限不同则完全不能访问的情况。
在情况2下,当在本地环境中通过用户使用的PC中安装打印机驱动器时,可以执行上述方法。但是,存在当根据Point&Print技术安装打印机驱动器时不能执行上述方法的情况。
即,在根据Point&Print技术安装的驱动器中,UI驱动器61工作的地点和渲染驱动器63工作的地点可能相互不同。例如,根据“客户端侧渲染”,UI驱动器61和渲染驱动器63工作在客户端PC 7中,而根据“服务器侧渲染”,UI驱动器61工作在客户端PC 7中同时渲染驱动器63工作在服务器PC 8中。
在“服务器侧渲染”中,各个驱动器61和63工作的PC物理上相互不同。因此,当EMF数据被最终转换为可以通过打印机解译的数据时,不能通过渲染驱动器63获取通过打印机驱动器60的扩展I/F部62临时存储于诸如文件或注册表的设置存储区域91中的打印设置。
为了解决这些可能的问题的目的设计了实施例,并且目的是能够改变应用中的打印设置而无需修改将打印执行指令输出到操作系统中的应用并且不需要打印设置屏幕页面的用户的操作。
以下,将使用附图描述本发明的实施例。注意到在当前描述的附图中,向与上述附图中的单元相同或对应的单元给予相同的附图标记。
<打印系统的通用配置>
图1总体表示包括根据一个实施例的信息处理装置的打印系统。
打印系统1包括PC 3、智能设备4和打印机5,其每个被连接到通信网络2。PC对应于“信息处理装置”,并且在其中采用上述IT-BOX技术。
PC 3接收用户的操作,通过使用打印机驱动器从诸如文档创建软件的应用创建的文件生成打印数据,并且经由通信网络2将打印数据传输到打印机5。因此,可以打印文件。智能设备4可以经由通信网络2使用在PC 3中采用的IT-BOX技术。打印机5包括喷墨类型或电子照相类型的图像形成部,并且可以是多功能外围设备。
<PC硬件配置>
图2示出了如图1所示的PC 3的硬件配置。
PC 3包括CPU 11、ROM 12、RAM 13、外部I/F 14、通信设备15、输入设备16、显示控制部17和存储设备18,其每一个被经由总线10相互连接。
CPU 11从存储设备18读取OS 30,管理应用40、应用50和打印机驱动器60,并且使用RAM 13作为工作存储器来执行各种处理。
ROM 12存储BIOS、被初始化设置的数据以及启动程序等。RAM 13是暂时存储必要数据的工作存储器(主存储器)。外部I/F 14是向其连接/装载诸如USB缆线、或便携式记录介质19之类的缆线的接口。通信设备15是LAN卡、或以太网(注册商标)卡等,并且响应于来自CPU 11的指令将包数据(在实施例中其主要是打印数据)传送到打印机5。
输入设备16是接收用户的各种操作指令的用户接口,诸如键盘、和/或鼠标等。触摸面板、或声音输入设备等也可被用作输入设备16。
显示控制部17基于被从应用50发送作为指令的屏幕页面信息控制具有预定分辨率、和色数等的显示设备20上的“渲染”。显示设备20是诸如液晶设备、或有机EL设备等的平板显示器(FPD)。
存储设备18是诸如硬盘驱动器(HDD)、或闪存等的非易失性存储器并且存储OS30、管理应用40、应用50和打印机驱动器60。而且,存储设备包括“共享文件夹”(在图2中未示出)。记录介质19是例如诸如SD卡、或USB存储器等的非易失性存储器。
OS 30可以是Windows OS。注意到作为OS 30,虽然Windows OS是优选的,但也可以使用具有与Windows OS的那些功能等同的功能的OS。
应用50可以是任何应用(只要其能够对文档数据进行创建、编辑、显示、和管理等并且执行文档数据的打印处理)。例如,诸如文档创建软件、文档阅览软件(文档阅览器、或文档阅读器等)、浏览器软件、和演示材料创建软件等的各种应用中的任一个可以被用作应用50。注意到文档数据可以不仅包括字符/字母、标记和数值等,而且还可以包括各种图像格式(例如,JPEG和TIFF等)的数据。
后面将详细描述管理应用40、打印机驱动器60和共享文件夹。
<PC软件配置>
图3示出了图1中所示的PC 3的软件(即通过存储设备18存储的软件)的配置。
PC 3包括管理应用40、应用50、打印机驱动器60、语言监视器70和通信部80。其中,通过作为在打印机驱动器60和打印机5(打印设备)之间的双向通信的双向通信接口部(软件)的Windows OS 30来提供语言监视器70。因此语言监视器70广义上是OS 30的一部分。虽然从描述中省略了诸如GDI、排存器、和打印机处理器之类的其他单元、但是它们可以连同OS 30被一起安装到PC 3中。
管理应用40是用于监视作为共享存储区域的共享文件夹的程序,并且当检测到文件被添加到共享文件夹时,启动可以执行添加文件的打印处理(即,将打印执行指令发送到OS等)的应用50,将添加的文件给予到启动的应用,并且使得应用执行打印处理。管理应用40作用为应用管理部(单元)和监视部(单元)这两者。
打印机驱动器60包括UI驱动器61、扩展I/F部62和渲染驱动器63。UI驱动器61具有显示部64。UI驱动器61的显示部64在显示设备20上显示打印设置屏幕页面作为用户将打印操作输入到应用50的结果。
随后允许用户从打印设置屏幕页面输入打印设置,诸如打印纸张的数量、双面、“N合1”、“书籍装订”、和/或“改变尺寸(或放大/缩小)”等。即便在用户输入打印启动指令之后,在显示设备20上显示打印设置屏幕页面的同时显示部64可以接受打印设置中的变化。在称作DEVMODE结构的结构(数据表格)中存储打印设置。DEVMODE结构是这样的数据结构,其中定义成员变量以共通地设置用于在Windows OS的控制下操作的各种打印机驱动器60的各种打印条件。将DEVMODE结构经由被OS 30定义为接口部的GDI发送到打印机驱动器60。
扩展I/F部62是对于使能打印设置的直接接受的打印机驱动器60唯一的接口。换言之,扩展I/F部是不同于由OS 30定义的接口部的扩展接口。扩展I/F部62从管理应用40接收应用50的打印设置。作为打印设置存储部(单元)的语言监视器70存储打印设置。
作为打印数据生成部(单元)的渲染驱动器63读取通过DEVMODE结构所存储的打印设置以及通过语言监视器70存储的打印设置,并且基于涉及从应用50发送的打印执行指令的文档文件来创建打印数据,该打印数据反映打印设定。在此时,如果语言监视器70存储打印设置,则使用这些打印设置。如果语言监视器70不存储打印设置,则使用通过DEVMODE结构所存储的打印设置。因此,优选使用通过语言监视器70存储的打印设置。
语言监视器70具有数据存储部71和通信部72。其中,当打印机驱动器60将打印数据传送到通信部80时,通信部72执行作为Windows打印架构的通信控制。通信部72被包括在相关技术的语言监视器中作为双向通信接口,所述双向通信接口作为Windows OS的标准部分。通信部72也可以经由通信部80从打印机5接收消息。
与之形成对比的是,数据存储部71是实施例独有的,并且存储从扩展I/F部62输入的打印设置。通过使用现有技术的语言监视器的功能的打印机驱动器60来执行数据存储部71。因此,不需要修改Windows OS 30或可以仅需要轻微修改Windows OS 30(若有的话)。后面将详细描述数据存储部71。
通信部80执行与连接于通信网络2的智能设备4和打印机5的通信,并且根据诸如TCP/IP之类的协议执行通信处理。
需要注意的是,在图3中扩展I/F部62与UI驱动器61分离。但是,UI驱动器61可以包括扩展I/F部62。
<在管理应用、应用、打印机驱动器和OS之间的关系>
图4示出了在管理应用40、应用50、打印机驱动器60和OS 30之间的关系。
作为使用打印机驱动器60的扩展I/F部62的管理应用40的结果,可以将应用50的打印设置发送到打印机驱动器60。仅作为由管理应用40启动、接收要被打印的文档文件的结果,应用50能够将打印执行指令连同文档文件和打印设置输出到OS 30。即便应用50将缺省打印设置(“第一打印设置”)发送到OS 30,也可以作为渲染驱动器63读取通过管理应用40经由扩展I/F部62发送的打印设置(“第二打印设置”)的结果来执行反映智能设备4的用户的意图的打印。
<各个软件要素的基本操作>
图5示出了图3中所示的各个软件要素的基本操作。
管理应用40将包括打印设置的设置指令输出到打印机驱动器的扩展I/F部62,并且扩展I/F部62在语言监视器70中存储打印设置。只要可以被打印应用40所知,打印应用40由此在扩展I/F部62设置的打印设置可以是从任何设备所获取的那些打印设置,诸如通过外部设备(例如,智能设备4)向管理应用40设置的打印设置,存储于特定路径的打印设置,或固定值等。
管理应用40选择要被打印的每个文档文件的应用50,启动所选择的应用50,向其发送文档文件并且向其发送打印指令。在图5的示例中,管理应用40将打印指令输出到应用“a”50a以及应用“b”50b。要被打印的文档文件例如是由用户通过智能设备4(图5中未示出)所指定的。
应用“a”50a以及应用“b”50b随后将具有原样的缺省打印设置(“第一打印设置”)的打印执行指令输出到OS 30。OS 30随后将打印执行指令输出到渲染驱动器63。
渲染驱动器63接收连同缺省打印设定“DEVMODE”(“第一打印设置”)的打印执行指令。接着,渲染驱动器63向语言监视器70查询语言监视器是否存储由外部I/F部62所设置的打印设置(“第二打印设置”)。如果语言监视器70存储打印设置(“第二打印设置”),则渲染驱动器63获取打印设置(“第二打印设置”)。如果渲染驱动器63由此从语言监视器70获取打印设置(“第二打印设置”),则渲染驱动器63生成反映打印设置(“第二打印设置”)的打印数据,并且将打印数据传输到打印机5。如果渲染驱动器63没从语言监视器70获取打印设置,则渲染驱动器63生成反映由DEVMODE结构所存储的缺省打印设置(“第一打印设置”)的打印数据,并且将打印数据传输到打印机5。
<存储用于多个逻辑打印机的打印设置>
可以在单个PC登记多个逻辑打印机。“逻辑打印机”表示在Windows OS的打印文件夹中作为打印机的图标所显示的那些逻辑打印机。Windows OS可以生成用于单个打印机驱动器的多个逻辑打印机。逻辑打印机可以被称作应用的“虚拟输出目的地”。通过打印机驱动器的渲染操作所获取的打印数据被输出到通过用户所指定的逻辑打印机,并且被Windows OS从逻辑打印机提供到物理打印机。
对于每个逻辑打印机,可以赋予单个名称。用户等可以自由地赋予名称,名称可以被自动地赋予为打印机驱动器的包名称等。对于每个逻辑打印机,可以设定功能、是否共享、排存类型和选项等。即,可以改变单个物理打印机的初始设置。
当在单个PC中登记多个逻辑打印机时,如果可以对于每个逻辑打印机改变打印设置,则可以改善用户的便利性。为此目的,优选地可以对于每个逻辑打印机存储打印设置。在此情况下,外部I/F部62通过使用“逻辑打印机名称”作为键来在语言监视器70中登记打印设置。换言之,与“逻辑打印机名称”相关联地登记打印设置。
图6示出了用于存储对于多个逻辑打印机的打印设置的配置。图6表示应用50使用打印机驱动器的扩展I/F部62的示例。在语言监视器70的数据存储部71中,存储下面的打印设置71a和71b。
打印设置71a:应用50设定针对逻辑打印机名称=A的打印设置AB。
打印设置71b:应用50设定针对逻辑打印机名称=B的打印设置MN。
逻辑打印机名称是通过用户作为输出目的地所指定的逻辑打印机的ID。由此,UI驱动器61和渲染驱动器63可以知晓要参照的逻辑打印机名称。因此,可以借助查询语言监视器70通过逻辑打印机名称来获取对应的打印设置。类似地,扩展I/F部62也根据逻辑打印机名称的目的地来工作。因此,扩展I/F部可以通过使用逻辑打印机名称来在语言监视器70中存储对应的设置数据。
<通过使用IT-BOX的打印的第一示例>
图7示出了通过使用IT-BOX技术的打印的第一示例。
作为其他信息处理装置的智能设备4和PC 6可以访问在PC 3中的共享文件夹85。PC 6将文档文件传送到共享文件夹85。智能设备4读取在共享文件夹85中存储的文档文件,选择要被打印的文档文件的一个,并且在指定所选择的文档文件的同时将对应的打印指令输出到管理应用40。此时,智能设备4可以设定打印设置。
需要注意的是,在图7中PC 6传送文件“a”86,并且智能设备4选择文件“a”86。但是,智能设备4也可以选择其他文件(文件“b”87和文件“c”88)。而且,PC 6可以选择要被打印的文件。
在从智能设备4接收打印设置(“第二打印设置”)(“打印设置指令”)之后,管理应用40经由扩展I/F部62在语言监视器70中存储它们。随后,管理应用40从共享文件夹85读取指定有打印指令的文件“a”86,启动可以执行文件“a”86的打印处理的应用“a”50a,并且向其输出打印指令。
应用“a”50a向OS 30输出对应的打印执行指令。OS 30向渲染驱动器63输出对应的打印执行指令连同原样的缺省打印设置(“第一打印设置”)。渲染驱动器63接收缺省打印设置DEVMODE(“第一打印设置”)连同打印执行指令。接着,渲染单元63从语言监视器70获取打印设置(“第二打印设置”)。随后,渲染驱动器63创建反映打印设置(第二打印设置)的打印数据,并且将打印数据传送到打印机5。
由此,在通过使用智能设备4或PC 6将文件从共享文件夹85指定到管理应用40之后,设置打印设置(“第二打印设置”)并且输出打印指令,可以将要实际使用的打印设置从应用的缺省打印设置(“第一打印设置”)改变为打印设置(“第二打印设置”),该应用可以执行指定文件的打印处理。
<第一示例中从设定打印设置到生成打印数据的过程>
图8是示出了基于上述第一实施例从设置打印设置到生成打印数据的过程的序列图。
PC 6或者智能设备4(根据其用户的操作)向PC 3的管理应用40发送连同打印设置的打印设置指令(步骤S1)。管理应用40包括设置改变部并且在响应于来自PC 6或智能设备4的请求显示设置屏幕页面之后接收打印设置(“第二打印设置”)。
管理应用40发送请求以将从PC 6或智能设备4所接收的打印设置存储到打印机驱动器的扩展I/F部62(步骤S2)。扩展I/F部62验证(确定)打印设置的有效性(步骤S3),并且在语言监视器70中存储打印设置(步骤S4)。
此时,扩展I/F部62使用Windows OS的API,即SendRecvBidiDataFromPort()。SendRecvBidiDataFromPort()函数是在语言监视器70中实施的API。与打印机驱动器60相同,语言监视器70也具有由Windows OS所确定的I/F。SendRecvBidiDataFromPort()函数是其中之一,并且支持在应用和打印机之间以及应用和打印服务器之间的双向通信。
接着,PC 6或者智能设备4(根据其用户的操作)指定文档文件并且将对应的打印指令发送给PC 3的管理应用40(步骤S5)。管理应用40启动能够执行所指定的文档文件的打印处理的应用50(步骤S6),并且向其输出对应的打印指令(步骤S7)。
应用50将对应的打印执行指令以及存储缺省打印设置(“第一打印设置”)的DEVMODE结构发送到OS的GDI 31(步骤S8)。具体地,应用50调用具有CreateDC()函数的GID31来使缺省打印设置作为参数。
GDI 31将存储缺省打印设置(“第一打印设置”)的DEVMODE结构发送到渲染驱动器63(步骤S9)。具体地,随后将由此作为CreateDC()的参数通过应用50被发送到GDI 31的打印设置(DEVMODE结构)以其(“第一打印设置”)存储作为DrvEnablePDEV()的参数的形式发送到渲染驱动器63。
响应于此打印启动准备指令(DrvEnablePDEV())渲染驱动器63需要返回渲染能力。因此,渲染驱动器63从语言监视器70获取通过扩展I/F部62设定的打印设置(“第二打印设置”)(步骤S10)。具体地,在SendRecvBidiDataFromPort()的参数中设定指示查询的值,其随后被发送到语言监视器70。如果语言监视器70具有由扩展I/F部62所设置的打印设置(“第二打印设置”),则语言监视器70在SendRecvBidiDataFromPort()中设置它们并且将它们(“第二打印设置”)返回到渲染驱动器63。
接着,渲染驱动器63将这样从语言监视器70所获取的打印设置(“第二打印设置”)与连同打印启动准备指令所接收的打印设置(“第一打印设置”)合并,并且将渲染能力返回到GDI 31。
应用50向GDI 31查询渲染能力(步骤S11:GetDeviceCaps())。接着,应用50向GDI31发送启动打印的指令(步骤S12)。具体地,应用50利用StartDoc()函数调用GID 31,所述StartDoc()函数具有DocINFO等作为参数。GDI 31向渲染驱动器63发送打印启动指令(步骤S13)。具体地,GDI 31将DrvStartDoc()函数发送到渲染驱动器63。
在从GDI 31接收打印启动指令(DrvStartDoc())之后,渲染驱动器63从语言监视器70获取要被反映在打印机驱动器60中的打印设置(“第二打印设置”)(“N合1”、和/或颜色平衡等)和/或要被反映在打印机本体中的打印设置(“第二打印设置”)(双面、和/或装订等)(步骤S14)。需要注意的是,在实际的打印处理中,在其后验证最终设置的有效性。
渲染驱动器63基于从语言监视器70所获取的打印设置(“第二打印设置”)来生成打印数据(PJL和PDL),并且将打印数据传输到打印机5。
<具有Point&Print环境的打印系统>
图9示出了具有Point&Print环境的打印系统。在此打印系统中,四个客户端PC201到204经由通信网络400被连接到服务器PC 100。打印机300连接于服务器PC 100。但是,也可以将打印机300连接于通信网络400。
在服务器PC 100中,安装打印机驱动器60。服务器PC 100复制打印机驱动器60并且将由此所获取的复制分别分发到客户端PC 201到204。由此,无需用户的操作,服务器PC100和客户端PC 201到204能够协同地安装打印机驱动器60。需要注意的是,其后假定将客户端PC 201连接到服务器PC 100并且客户端PC 201根据Point&Print技术安装打印机驱动器60。在此情况下,客户端PC 201和服务器PC 100构成信息处理系统。
在Point&Print环境的“服务器侧渲染”中,客户端PC 201接收由用户输入的打印设置,而服务器PC 100执行渲染。因此,可能难以在其间共享打印设置等。
但是,上述语言监视器70是在Windows OS内的函数。因此,根据Point&Print环境安装打印机驱动器60的客户端PC 201的Windows OS可以将打印设置传输到服务器PC 100。由此,服务器PC 100可以通过在打印架构内部的处理从客户端PC 201获取打印设置。
<Point&Print环境中的语言监视器>
图10示出了在Point&Print环境中的语言监视器的操作。
如上述,语言监视器70是被合并到Windows OS的打印架构中的一个模块。因此,即便在Point&Print环境中当服务器PC 100进行渲染驱动器63的处理时客户端PC 201进行UI驱动器61的处理和扩展I/F部62的处理,单个语言监视器70也仅工作在服务器PC 100中。虽然客户端PC 201也具有语言监视器,但是在此情况下客户端PC 201中的语言监视器不工作。
在客户端PC 201中的打印机驱动器和在服务器PC 100中的打印机驱动器访问单个语言监视器70。在客户端PC 201中的OS和在服务器PC 100中的OS在客户端PC 201和服务器PC 100之间(例如,通过使用远程过程调用(RPC))建立通信。随后,在UI驱动器61要访问客户端PC 201的语言监视器的情况下,在客户端PC 201中的语言监视器不工作,并且排存器90将打印设置传输到服务器PC 100的语言监视器70中。
这样,由于客户端PC 201和服务器PC 100安装相同的Windows OS,所以客户端PC201和服务器PC 100可以以共享方式使用Windows OS的打印架构的语言监视器。因此,不易发生由于通过制造商原始地开发的模块中访问权限的差异而可能出现的不能访问或通信错误等。因为相同的理由,在此配置中与Windows OS的亲和度高。
<通过使用IT-BOX打印的第二示例>
以上使用图7所描述的第一示例涉及对每个任务改变打印设置并且执行打印的方法。因此,例如没有考虑管理应用40对在特定时间从共享文件夹85收集的文件进行打印的情况。当前将描述的第二示例涉及即使在这种情况下,也改变在针对每个特定单位(每个特定任务、应用或用户等)的打印设置并执行打印的方法。
图11示出了通过使用IT-BOX技术打印的第二示例。在图11中,将相同附图标记赋予到与图7(第一示例)中单元相同或对应的单元,并且除非特殊需要,否则将省略重复的说明。
设置改变部110从外部设备(在此示例中,智能设备4)接收打印设置改变请求,并且提供用于改变打印设置的接口(例如,图12的打印设置改变UI)。当提供用于改变打印设置的接口时,设置改变部110从UI驱动器61接收打印机驱动器的打印区域,基于打印驱动器的获取的打印区域表示涉及可设置项目的信息,并且经由智能设备4通过接口接收设置改变指令(打印设置)。在由此通过接口接收设置改变指令(打印设置)之后,设置改变部110基于由此设置的打印设置来生成打印设置文件89并且在共享文件夹85中存储打印设置文件89。
需要注意的是,在打印设置文件89中可以对每个任务、每个应用、和/或每个用户等存储由此设置的打印设置。其结果是,例如通过指定特定的应用,可以从打印设置文件89获取(提取)对应的打印设置。
随后,在从外部设备(智能设备4或PC)接收打印设置指令之后,管理应用40从共享文件夹85读取打印设置文件89,基于在打印设置文件89中写入的信息从打印设置文件89获取对应的打印设置,并且通过使用扩展I/F部62设置由此获取的打印设置。随后,在从外部设置接收打印指令(也可以在指定的时间以时间指定的打印等方式自动生成打印指令)之后,管理应用启动能够执行所指定的文件的打印处理的、用于打印的应用(在此示例中,应用“a”50a),并且向应用“a”50a发送打印指令。
<打印设置改变UI的示例>
图12示出了通过图11所示的设置改变部110所提供的打印设置改变UI的一个示例。
当用户从在图12所示的打印设置屏幕页面500(打印设置改变UI)上的选择输入框501中的“对于每个应用”、“对于每个任务”和“对于每个用户”等的各个选项当中选择“对于每个应用”时,并在应用名称输入框502中输入“AdobeReader”作为“应用名称”时,存储打印设置“AdobeReader”。需要注意的是,虽然已经由此示出了诸如打印机驱动器的打印设置屏幕页面500之类的打印设置改变UI,但是打印设置改变UI的配置不限于此。
<在第二示例中从设置打印设置到生成打印数据的过程>
图13是示出了基于上述第二示例从设置打印设置到生成打印数据的过程的序列图。
在图13中,假定例如打印设置变为“对于每个应用”。
首先,PC 6或智能设备4(根据其用户的操作)发送打印设置改变请求(步骤S21)。设置改变部110从UI驱动器61获取打印机驱动器60的能力(步骤S22),启动打印设置改变UI并且将其提供到PC 6或智能设备4(步骤S23)。
PC 6或智能设备4(根据其用户的操作)通过在其上所显示的打印设置改变UI来指定要设置的应用(“用于打印的应用”),并且由此改变打印设置(步骤S24)。设置改变部110在共享文件夹85中以打印设置文件89的形式存储由此改变的打印设置(步骤S25)。
如上述,在打印设置文件89中,可以对于每个应用存储由此设置的打印设置。其结果是,通过指定特定应用(“用于打印的应用”),可以从打印设置文件89获取(提取)对应的打印设置。
接着,PC 6或智能设备4向管理应用40发送打印指令(步骤S26)。管理应用40从共享文件夹获取打印设置文件89(步骤S27),并且从打印设置文件89确定(从其中提取)与“用于打印的应用”对应的打印设置(步骤S28)。
需要注意的是,因为步骤S26的打印指令包括要被打印的文档文件的指定,所以管理应用40能够从其中确定“用于打印的应用”。例如,如果要被打印的文档文件是PDF文件,则管理应用40可以相应地将“用于打印的应用”确定为“AdobeReader”,并确定(提取)来自步骤S28中的打印设置文件89的对应的打印设置。
接着,管理应用40向扩展I/F部62发送存储“用于打印的应用”的打印设置的请求(步骤S29)。扩展I/F部62验证(确定)打印设置的有效性(步骤S30),并且在语言监视器70中存储它们(步骤S31)。其后的步骤S32、S33、S34、S35、S36、S37、S38、S39和S40分别与图8(第一示例)的步骤S6、S7、S8、S9、S10、S11、S12、S13和S14相同并且省略了由此的重复说明。
需要注意的是,根据用于将打印设置改变为“对于每个用户”的情况的序列,PC 6或智能设备4在步骤S24中指定用户从而以相同方式通过打印设置改变UI进行设置,并且在步骤S26中将对应的用户ID添加到打印指令。随后,管理应用40在步骤S28以相同方式根据用户ID确定(提取)由此所指定的用户打印设置。
<从支持不同功能的那些打印机驱动器当中切换打印机驱动器>
图14示出了在支持不同功能的多个打印机驱动器当中切换打印机驱动器的情况。
在此示例中,假定提供支持第一功能和第二功能的第一打印机驱动器和支持第一功能和第三功能的第二打印机驱动器。
在第一打印机驱动器和第二打印机驱动器的各自的包中包括第一渲染驱动器63a和第二渲染驱动器63b。第一打印机驱动器和第二打印机驱动器的包还分别包括扩展I/F部。但是,这些扩展I/F部是具有相同版本或升级版本的相同名称的模块。因此,在安装这两个打印机驱动器之后,通过新版本的扩展I/F部盖写这些扩展I/F部并且由此仅存在单个扩展I/F部。当第一打印机驱动器和第二打印机驱动器工作时,单个扩展I/F部62在第一语言监视器70a和第二语言监视器70b中分别存储要被使用的打印设置的对应设置。第一渲染驱动器63a和第二渲染驱动器63b从第一语言监视器70a和第二语言监视器70b获取打印设置的各个设置。
<从支持不同功能的打印机驱动器当中选择一个的过程>
图15是示出了在选择支持不同功能的打印机驱动器的一个之后打印的过程的序列图。
首先,PC 6或智能设备4(根据其用户的操作)将打印设置改变请求发送到PC 3的设置改变部110(步骤S51)。设置改变部110向PC 6或智能设备4提供打印机驱动器选择UI并且请求选择打印机驱动器(步骤S52)。
在PC 6或智能设备4(根据其用户的操作)选择打印机驱动器(“用于打印的打印机驱动器”)之后(步骤S53),设置改变部110从由此选择的打印机驱动器(即,“用于打印的打印机驱动器”)的UI驱动器61获取打印机驱动器的能力(步骤S54)。在此示例中,假定选择了第一打印机驱动器。
接着,设置改变部110根据由此获取的打印机驱动器的能力向PC 6或智能设备4提供打印设置改变UI(步骤S55)。在PC 6或智能设备4随后(根据其用户的操作)指定设置的应用并且通过打印设置改变UI改变打印设置之后(步骤S56),设置改变部110在共享文件夹85中以打印设置文件的形式存储所改变的打印设置(步骤S57)。
需要注意的是,设置改变部110还包括,在步骤S57中共享文件夹85中存储的打印设置文件中识别步骤S53所选的“用于打印的打印机驱动器”的信息。
接着,PC 6或智能设备4(根据其用户的操作)向管理应用40发送打印指令(步骤S58)。随后管理应用40从共享文件夹85获取打印设置文件(步骤S59)并且从打印设置文件确定(提取)用于“用于打印的应用”的打印设置(步骤S60)。
接着,管理应用40从由此获取的打印设置文件确定“用于打印的打印机驱动器”并且将所确定的打印机驱动器设置为“缺省打印机”(S61)。通过此过程,可以通过使用由此被设置为“缺省打印机”的打印机驱动器执行打印。
接着,管理应用40将(“缺省打印机”的)打印机图标名称以及在步骤S60确定的打印设置发送到打印机驱动器的扩展I/F部62,并且发送请求以向其存储打印设置(步骤S62)。
扩展I/F部62验证打印设置的有效性(步骤S63),从打印机图标名称确定对应的语言监视器(步骤S64),并且在所确定的语言监视器中存储打印设置(步骤S65)。
接着,管理应用40启动能够执行所指定(在步骤S58指定)的文档文件的打印处理的应用50(步骤S66),并且向其发送打印指令(步骤S67)。随后要用于打印的打印机是“缺省打印机”。其后要被执行的过程与图8的步骤S8-S14相同,并且因此省略了其重复的说明和解释。
<添加/删除功能可行的扩展I/F部>
在上述配置中,将扩展I/F部62合并在系统(即,打印机驱动器)中作为单个模块。因此,为了将功能添加到扩展I/F部62或者从扩展I/F部62删除功能,扩展I/F部62自身需要被改变并且重新安装。由此,需要特定的劳力。
为了改善这一点,可以提供动态地合并新功能的功能。从而,其变得可以容易地将新功能添加到扩展I/F部62或者从扩展I/F部62删除功能。图16示出了具有这样的动态地合并新功能的功能的扩展I/F部。
扩展I/F部62包括扩展I/F部62-0,以及用于添加的第一扩展I/F部62-1、第二扩展I/F部62-2、第三扩展I/F部62-3。第一到第三扩展I/F部62-1到62-3是例如用于设定与上述第一功能、第二功能和第三功能对应的功能的接口。第一到第三扩展I/F部62-1到62-3是在每次增加对应的功能时分别增加的分离的模块。
现在将描述通过使用接口(即第一到第三扩展I/F部62-1到62-3等)能够这样设置或增加的“功能”的具体示例。“书籍装订”、“订合”、“分类”、“N合1”和“打印纸张尺寸的改变”等可以称为“设置项目”。除了这些设置项目自身之外,涉及设置项目“书籍装订”的“长边缘装订”和“短边缘装订”等、涉及设置项目“订合”的“左上”和“右上”等、以及涉及设置项目“打印纸张尺寸的改变”的“返回明信片(return postcard)”等可以被称为“设置值”。
通过这样配置第一到第三扩展I/F部62-1到62-3等,仅作为增加对应的扩展I/F部62-3(例如用于显示对话框的接口等,以使得用户能够输入涉及设置项目“分类”的设置值)的结果,例如第三扩展I/F部62-3可以被适当地用于新功能(例如分类),而无需再次新创建扩展I/F部62,即使例如作为增加新打印机驱动器的结果增加了新功能时也是如此。
扩展I/F部62-0作用为诸如实际请求通过扩展I/F部62设置打印设置的管理应用40之类的模块的窗口。换言之,在此情况下请求设置打印设置的模块通常通过扩展I/F部62-0请求设置打印设置。
扩展I/F部62-0根据预定的规则调用第一到第三扩展I/F部62-1到62-3中的任何一个。预定的规则是例如“调用在文件夹中包括的所有扩展I/F部”、或“读取表示要调用的扩展I/F部的路径的文件,并且根据路径调用扩展I/F部”等。
通过预先确定如“调用对于第一打印机驱动器的第一扩展I/F部和第二扩展I/F部并且调用对于第二打印机驱动器的第一扩展I/F部和第三扩展I/F部”的规则,对于第一打印机驱动器调用第一扩展I/F部62-1和第二扩展I/F部62-2,而对于第二打印机驱动器调用第一扩展I/F部62-1和第三扩展I/F部62-3。
需要注意的是,如上述在第一打印机驱动器和第二打印机驱动器的各自的包中包括第一渲染驱动器63a和第二渲染驱动器63b。因此,上述“对于第一打印驱动器”也可以表示“对于第一渲染驱动器63a”,并且“对于第二打印机驱动器”也可以表示“对于第二渲染驱动器63b”。
需要注意的是,全部扩展I/F部62-0以及第一到第三扩展I/F部62-1到62-3具有相同的接口(功能)。接口例如如下:
bool setPrintSetting(
char*printer_icon,
char*pirntSetting,
)
此示例是用于在第一参数中设置打印机图标名称以及在第二参数中设置打印机设置列表的接口。根据上述规则所调用的第一到第三扩展I/F部62-1到62-3的每一个从在第二参数中设置的打印设置列表提取与其自身相关的打印设置,验证所提取的打印设置的有效性并且在语言监视器中存储打印设置。
由此,在此示例中,作用为用于请求设置打印设置的模块的视窗的扩展I/F部62-0以及要被用于添加新功能的扩展I/F部62-1到62-3具有相同的接口,如上所述。从而仅通过创建对应的扩展I/F部62-“A”并且将扩展I/F部62-“A”置于根据用于通过扩展I/F部62-0调用扩展I/F部62-“A”的规则的位置。
<用于添加扩展I/F部的UI>
也可以以如此方式实施添加用于新功能“A”的扩展I/F部62-“A”:对其由此提供UI并且用户执行操作或向UI输入指令。
图17示出了用于添加新功能“A”的扩展I/F部62-“A”的UI。用户可以通过检查在图17所示的UI屏幕页面上的检查框511“添加新扩展I/F部”并且直接在输入框512“添加的文件”输入对应的扩展I/F部或者从作为按下/点击按钮513“参照”的结果显示的那些当中选择对应的扩展I/F部来添加新功能“A”的扩展I/F部62-“A”。
根据上述实施例,通常而言,可以改变将打印执行指令输出到操作系统的应用的打印设置而无需修改应用并且无需打印设置屏幕页面的用户操作。
另外,如上述实施例至少提供了如下有益效果(1)到(6):
(1)除了OS 30定义的DDI之外,打印机驱动器60具有独有扩展I/F部62。可以接收请求以通过扩展I/F部62改变打印设置。因此,可以在不需修改执行打印处理的应用50并且不需执行操作或将指令输入到打印设置屏幕页面的情况下,将应用50的缺省打印设置改变为用户期望的打印设置。
(2)渲染驱动器63可以基于通过用户输入、从扩展I/F部62接收的并且存储于语言监视器70中的打印设置生成要被返回到GDI 31的渲染能力信息。因此,执行打印处理的应用50可以基于通过用户输入的打印设置和打印机5的能力信息使用最大可用渲染能力来输出渲染指令。
(3)通过用户输入并且通过扩展I/F部62接收的打印设置存储于作为合并于Windows OS的打印架构中的模块的语言监视器70。其结果是,可以根据通过用户输入并且通过扩展I/F部62接收的打印设置在RAW排存类型和EMF排存类型的任一个中实施打印处理。
(4)通过用户输入并且通过扩展I/F部62接收的打印设置存储于作为合并于Windows OS的打印架构的模块的语言监视器70。其结果是,可以在用户输入并且通过扩展I/F部62接收的打印设置中通过根据Point&Print技术安装的打印机驱动器60来执行打印处理而无需考虑排存类型。
(5)可以从诸如智能设备4或PC 6的外部设备针对每个预定单位(任务单位、应用单位、用户单位等)改变要存储于语言监视器70中的打印设置。因此,通过对于每个预定单位预先存储打印设置,不需要对于每个任务改变打印设置的工作。
(6)扩展I/F部可以具有动态地将新功能合并到系统中的功能。因此,可以容易地添加新功能到扩展I/F部或从扩展I/F部删除新功能。
在实施例中以上已经描述了信息处理装置以及信息处理系统。但是,本发明并不限于如此特定的实施例,并且在不脱离本发明的范围的情况下可以做出变型和修改。
本专利申请基于并且要求在2014年9月12日递交的日本在先申请No.2014-186701的优先权,其整个内容通过引用的方式合并到本文中。
Claims (10)
1.一种信息处理装置,包括:
打印数据生成部,其经由操作系统从应用接收包括文件和第一打印设置的打印执行指令,并且生成打印数据;
应用管理部,其将打印指令发送到所述应用;
扩展接口部,其不同于由所述操作系统定义的接口部;
多个打印设置存储部,所述多个打印设置存储部中的每个打印设置存储部存储经由所述扩展接口部从所述应用管理部输入的第二打印设置;
共享存储区域,另一个信息处理装置能够经由通信网络访问所述共享存储区域,其中所述应用管理部将所述打印指令输出到所述应用,所述应用能够输出与在所述共享存储区域中存储的并且由所述另一个信息处理装置指定的文件相关的打印执行指令;以及
设置改变部,其提供用于所述另一个信息处理装置的接口,从而以预定单位将要被用于生成所述打印数据的打印设置从所述第一打印设置改变为所述第二打印设置,其中所述扩展接口部选择所述多个打印设置存储部中的一个打印设置存储部,以存储经由所述设置改变部所提供的接口而设置的第二打印设置。
2.根据权利要求1所述的信息处理装置,其中
每个打印设置存储部使用双向接口部,所述双向接口部作为所述操作系统的标准部,并且用于在所述打印数据生成部和打印设备之间的双向通信,所述打印设备从所述打印数据生成部接收打印数据,并且打印所述文件。
3.根据权利要求1所述的信息处理装置,其中:
所述应用管理部将由所述另一个信息处理装置设置的第二打印设置输出到所述扩展接口部。
4.根据权利要求1所述的信息处理装置,还包括:
监视部,其检测被添加到所述共享存储区域的文件,其中
所述应用管理部将与所添加的文件相关的打印指令发送到能够输出与所述添加的文件相关的打印执行指令的应用。
5.根据权利要求1所述的信息处理装置,其中:
所述扩展接口部根据识别逻辑打印设备的逻辑打印设备识别信息选择所述多个打印设置存储部中的一个打印设置存储部,以存储经由所述设置改变部所提供的接口设置的第二打印设置,其中
由所述应用管理部将所述逻辑打印设备识别信息连同所述第二打印设置一起发送到所述扩展接口部。
6.根据权利要求1所述的信息处理装置,还包括:
多个所述打印数据生成部,其中
所述扩展接口部具有合并部,所述合并部动态地合并用于设置分离的第二打印设置的多个扩展接口部,所述分离的第二打印设置用于设置相应的功能。
7.根据权利要求1-6中的任一项所述的信息处理装置,其中
所述第一打印设置和第二打印设置中的每一个均包括打印方位、纸张尺寸、打印纸张数量、N合1、双面、尺寸的改变、颜色平衡、订合、打孔和书籍装订中的任何一个。
8.一种信息处理系统,包括:
打印数据生成单元,其经由操作系统从应用接收包括文件和第一打印设置的打印执行指令,并且生成打印数据;
应用管理单元,其将打印指令发送到所述应用;
扩展接口单元,其不同于由所述操作系统定义的接口单元;
多个打印设置存储单元,所述多个打印设置存储单元中的每个打印设置存储单元存储经由所述扩展接口单元从所述应用管理单元输入的第二打印设置;
共享存储区域,另一个信息处理装置能够经由通信网络访问所述共享存储区域,其中所述应用管理单元将所述打印指令输出到所述应用,所述应用能够发送与在所述共享存储区域中存储的并且由所述另一个信息处理装置指定的文件相关的打印执行指令;以及
设置改变单元,其提供用于所述另一个信息处理装置的接口,从而以预定单位将要被用于生成所述打印数据的打印设置从所述第一打印设置改变为所述第二打印设置,其中所述扩展接口单元选择所述多个打印设置存储单元中的一个打印设置存储单元,以存储经由所述设置改变单元所提供的接口而设置的第二打印设置。
9.根据权利要求8所述的信息处理系统,其中
分别在分离的信息处理装置中安装所述打印数据生成单元和扩展接口单元。
10.根据权利要求9所述的信息处理系统,其中
所述第一打印设置和第二打印设置中的每一个均包括打印方位、纸张尺寸、打印纸张数量、N合1、双面、尺寸的改变、颜色平衡、订合、打孔和书籍装订中的任何一个。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014186701A JP6331910B2 (ja) | 2013-09-17 | 2014-09-12 | 情報処理装置、情報処理システム、及びプログラム |
JP2014-186701 | 2014-09-12 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105426135A CN105426135A (zh) | 2016-03-23 |
CN105426135B true CN105426135B (zh) | 2018-10-26 |
Family
ID=55509533
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510567607.2A Active CN105426135B (zh) | 2014-09-12 | 2015-09-08 | 信息处理装置和信息处理系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105426135B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103324451A (zh) * | 2012-03-21 | 2013-09-25 | 株式会社理光 | 基于设置条件的数据处理装置 |
EP2703998A2 (en) * | 2012-08-29 | 2014-03-05 | Ricoh Company, Ltd. | Information processing apparatus, output system, information processing method, information processing program, and recording medium |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010146248A (ja) * | 2008-12-18 | 2010-07-01 | Canon Inc | 情報処理装置、印刷制御方法、プログラム及び記憶媒体 |
JP5532770B2 (ja) * | 2009-09-08 | 2014-06-25 | 株式会社リコー | 印刷制御プログラム、情報処理装置、および印刷制御プログラムを記録したコンピュータ読み取り可能な記録媒体 |
JP5691455B2 (ja) * | 2010-12-03 | 2015-04-01 | 株式会社リコー | 印刷プログラム、情報処理装置および記録媒体 |
JP5803290B2 (ja) * | 2011-06-01 | 2015-11-04 | 株式会社リコー | データ処理装置およびプログラム |
-
2015
- 2015-09-08 CN CN201510567607.2A patent/CN105426135B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103324451A (zh) * | 2012-03-21 | 2013-09-25 | 株式会社理光 | 基于设置条件的数据处理装置 |
EP2703998A2 (en) * | 2012-08-29 | 2014-03-05 | Ricoh Company, Ltd. | Information processing apparatus, output system, information processing method, information processing program, and recording medium |
Also Published As
Publication number | Publication date |
---|---|
CN105426135A (zh) | 2016-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6331910B2 (ja) | 情報処理装置、情報処理システム、及びプログラム | |
US8867077B2 (en) | Information processing apparatus, system | |
KR101458664B1 (ko) | 인쇄 시스템, 인쇄 방법, 인쇄 서버, 제어 방법 및 저장 매체 | |
US7755783B2 (en) | Printing system capable of chasing a printed material | |
US9355046B2 (en) | Information processing apparatus, information processing method, and computer-readable medium | |
CN103324451B (zh) | 基于设置条件的数据处理装置 | |
US8640148B2 (en) | Information processing apparatus, information processing method and storage medium | |
US9830544B2 (en) | Image processing apparatus, control method, and storage medium for executing print processing using a password including selecting a personal identification code type that indicates a purpose for using the password | |
JP2006350497A (ja) | プリントサーバおよび印刷管理サーバおよび印刷装置およびプリントシステムおよび印刷データ蓄積方法および印刷管理方法および印刷方法およびプログラムおよび記録媒体 | |
JP2007179197A (ja) | プリントシステムおよびプリントサーバおよび印刷管理サーバおよび印刷装置およびプリント方法およびプログラムおよび記録媒体 | |
EP2388685B1 (en) | Information processing apparatus and control method thereof, and storage medium | |
US20130100477A1 (en) | Server apparatus, client apparatus, information processing method, and program | |
JP2012185748A (ja) | プリントシステム、情報処理装置、制御方法、およびプログラム | |
CN105683899B (zh) | 输出系统、终端设备和输出方法 | |
JP2012181694A (ja) | 情報処理装置、プリントシステム、制御方法、及び、プログラム | |
JP6827821B2 (ja) | 情報処理装置及びその制御方法、並びにプログラム | |
US20230333792A1 (en) | Information processing apparatus, control method of information processing apparatus, and storage medium | |
JP5919925B2 (ja) | プログラム、情報処理装置、記憶媒体 | |
CN105426135B (zh) | 信息处理装置和信息处理系统 | |
JP4143638B2 (ja) | 印刷システム、情報処理装置、およびその制御方法、プログラム | |
JP2012181695A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |