CN102768619A - 信息处理装置和信息处理方法 - Google Patents
信息处理装置和信息处理方法 Download PDFInfo
- Publication number
- CN102768619A CN102768619A CN2012101345927A CN201210134592A CN102768619A CN 102768619 A CN102768619 A CN 102768619A CN 2012101345927 A CN2012101345927 A CN 2012101345927A CN 201210134592 A CN201210134592 A CN 201210134592A CN 102768619 A CN102768619 A CN 102768619A
- Authority
- CN
- China
- Prior art keywords
- application program
- user interface
- printed driver
- senior
- setting
- 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
- G06F3/1201—Dedicated interfaces to print systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
-
- 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
-
- 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/1211—Improving printing performance
-
- 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
-
- 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/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
-
- 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/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
- G06F3/147—Digital output to display device ; Cooperation and interconnection of the display device with other functional units using display panels
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- 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/1205—Improving or facilitating administration, e.g. print management resulting in increased flexibility in print job configuration, e.g. job settings, print requirements, job tickets
-
- 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/1206—Improving or facilitating administration, e.g. print management resulting in increased flexibility in input data format or job format or job type
-
- 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)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
- Accessory Devices And Overall Control Thereof (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明提供一种信息处理装置和信息处理方法。打印机驱动程序和高级UI应用程序在安装期间相互关联,并且在调用打印机驱动程序时使用COM在不同的处理中启动该高级UI应用程序。
Description
技术领域
本发明涉及一种信息处理装置、信息处理方法和存储介质,其中在与应用程序执行的处理不同的处理中启动打印机驱动程序的用户接口。
背景技术
打印机驱动程序具有专用的用户接口以进行详细的打印设置。当应用程序经由操作系统显示打印机驱动程序的用户接口时,在应用程序执行的处理中加载打印机驱动程序。
在与应用程序执行的处理相似的处理中显示用户接口。因此,打印设置数据的相互通信较容易。在用户接口的操作期间进行用于停止应用程序的操作的模式对话。
执行相似处理的优点是应用程序和打印机驱动程序能够被视为集成的。如果打印机驱动程序的用户接口由于具有缺陷而崩溃,则由于执行与应用程序执行的处理相似的处理,应用程序也卷入用户接口崩溃。
存在用于在不同的处理中操作打印机驱动程序和应用程序的系统(其被称为沙箱(sandbox))以应对相似处理的问题。已知如下的浏览器和应用程序,所述浏览器具有能够同时浏览多个网页的标签并且在不同的处理中操作标签,所述应用程序当每次打开文件时在不同的处理中启动。
日本特许第4661939号公报讨论了设置绘制单元并在不同的处理中启动用于与设备进行双向通信以依次监视状态的应用程序的打印机驱动程序,所述绘制单元被构造为在不同的处理中将应用程序的描绘数据转换为打印机语言。
然而,由于操作系统构建用作基础的用户接口并将打印机驱动程序添加至基础上,所以在不同的处理中启动打印机驱动程序的用户接口的措施较困难。
日本专利特开平第11-143664号公报讨论了如下方法:用于在应用程序调用打印机驱动程序的用户接口时启动另一服务并通过另一服务显示打印机驱动程序的用户接口的方法。此外,已知用于在打开作为虚拟设备的用户接口之后立即关闭打印机驱动程序的用户接口、然后启动不同处理的方法。
然而,通过应用程序启动另一服务的方法需要对所有应用程序进行改变以应对该调用方法。此外,打开虚拟用户接口的方法对于用户来说是麻烦的,因为它包括每次关闭用户接口的额外操作。
此外,如果操作系统提供了用户接口,并且打印机驱动程序稍后添加用户接口作为表单,则操作系统不能正确地操作。
发明内容
根据本发明的方面,提供一种信息处理装置,该信息处理装置包括:获取单元,其被配置为在安装打印机驱动程序时从打印机驱动程序的安装文件获取标识符;添加单元,其被配置为将所述获取单元获取的标识符添加至数据库中与要安装的打印机驱动程序的型号相关联的驱动程序信息;写入单元,其被配置为在安装用户接口应用程序时将用户接口应用程序的路径和标识符写入数据库;确定单元,其被配置为在从应用程序调用打印机驱动程序以显示打印机驱动程序的用户接口时,确定标识符是否被登记在数据库中与调用的打印机驱动程序的型号相关联的驱动程序信息中;以及启动单元,其被配置为在所述确定单元确定标识符被登记在数据库中时使用标识符获取用户接口应用程序的路径,并在与应用程序处理不同的处理中启动用户接口应用程序。
通过以下参照附图对示例性实施例的详细描述,本发明的其他特征和方面将变得清楚。
附图说明
包含在说明书中并构成说明书的一部分的附图例示了本发明的示例性实施例、特征和方面,并且与文字说明一起用来解释本发明的原理。
图1是根据本发明的示例性实施例的计算机系统的硬件和软件的配置框图。
图2例示根据本发明的示例性实施例的、客户端、服务器和打印机连接到的网络的配置。
图3是例示根据本发明的示例性实施例的、使用通用计算机的打印处理系统的配置框图。
图4是根据本发明的示例性实施例的XPS打印处理系统的配置框图。
图5是例示根据本发明的示例性实施例的、作为打印设置的设备模块(DEVMODE)结构的数据结构的配置框图。
图6例示根据本发明的示例性实施例的、具有作为用于XPS打印处理系统中的打印设置的XML格式的打印单的示例。
图7例示根据本发明的示例性实施例的打印机驱动程序的用户接口。
图8是例示根据本发明的示例性实施例的、当用户接口在与应用程序执行的处理不同的、由高级UI应用程序执行的处理中操作时的配置框图。
图9例示根据本发明的示例性实施例的、其中高级UI应用程序的CLSID被添加至打印机驱动程序的安装信息文件的示例。
图10是根据本发明的示例性实施例的、在操作系统安装打印机驱动程序时的流程图。
图11是根据本发明的示例性实施例的、在高级UI应用程序的安装程序安装高级UI应用程序时的流程图。
图12是根据本发明的示例性实施例的、在操作系统打开打印机驱动程序的用户接口时的流程图。
图13是根据本发明的示例性实施例的、在COM代理调用COM存根(COM STUB)以进行处理间通信时的流程图。
图14是根据本发明的示例性实施例的、在COM代理调用COM存根以进行处理间通信时的流程图。
图15是根据本发明的示例性实施例的、在高级UI应用程序操作时的流程图。
图16例示根据本发明的示例性实施例的、在打印管理器调用高级UI应用程序时API调用的示例以及在高级UI应用程序将接口传送至打印管理器时API调用的示例。
图17是根据本发明的示例性实施例的、在XPS打印系统中高级UI应用程序将数据传送至滤波器管道管理器时的配置框图。
图18是根据本发明的示例性实施例的、在XPS打印系统中高级UI应用程序将数据传送至滤波器管道管理器时的流程图。
图19例示根据本发明的示例性实施例的、用于在打印机驱动程序中使用共享打印机的操作系统的用户接口。
图20例示根据本发明的示例性实施例的、用于在包括高级UI应用程序的打印机驱动程序中禁止共享打印机的操作系统的用户接口。
图21是根据本发明的示例性实施例的、当操作系统显示打印机驱动程序中的共享标记(shared tab)时的流程图。
图22例示根据本发明的示例性实施例的、在包括高级UI应用程序的打印机驱动程序中确认作业设置时操作系统的用户接口。
图23例示根据本发明的示例性实施例的、在包括高级UI应用程序的打印机驱动程序中进行设备设置时操作系统的用户接口。
图24是根据本发明的示例性实施例的、在操作系统显示打印机驱动程序的用户接口时的流程图。
图25是根据本发明的示例性实施例的、在操作系统安装包括高级UI应用程序的打印机驱动程序时的流程图。
图26例示根据本发明的示例性实施例的、其中高级UI应用程序包括在打印机驱动程序中的安装信息文件的示例。
具体实施方式
下面将参照附图详细描述本发明的各种示例性实施例、特征和方面。
图1是根据本发明的示例性实施例的使用通用计算机的系统的配置框图。除非另外说明,在实现本发明的功能的情况下,本发明可应用于单个设备、包括多个设备的系统、以及多个设备经由网络连接以执行处理的系统。
中央处理单元(CPU)101根据存储在主存储设备102中的只读存储器(ROM)1021或随机存取存储器(RAM)1022或辅助存储设备105中的程序,来控制整个系统。RAM 1022用作CPU 101执行各种类型处理时的工作区。辅助存储设备105记录操作系统(OS)1053、应用软件1051等。
诸如键盘1031以及由鼠标和触摸板所代表的指示设备1032等的输入设备是供用户经由输入接口(I/F)103向计算机发出各种指令的设备。
输出I/F 104是用于将数据输出至外部的接口,并且将数据例如输出至诸如监视器1041和打印机1042等的输出设备。输出I/F 104不仅可以经由直接连接至其的本地输入/输出(I/O)还可以经由通过通信I/F 106连接至其的网络1061连接至打印机1042。通用数据系统总线107在模块之间进行数据交换。
图2是例示根据本发明的示例性实施例的网络1061的环境的简化图。生成要打印的文档和图像的客户端计算机201/202连接到一个网络或多个网络。
管理客户端计算机201/202的用户和打印机204/205的服务器计算机203可以连接至网络或多个网络。例如,打印机205在即使打印机204/205可以物理连接至单个网络或多个网络时也可以处于实际上不能被使用的脱机状态。
网络包括诸如个人局域网(PAN)、局域网(LAN)、城域网(MAN)和广域网(WAN)等的小规模到大规模的网络。各设备连接至所有网络。服务器和打印机可以通过因特网连接,这称为云计算。
图3例示使用通用计算机的打印处理系统。应用程序1051、打印机驱动程序1052和操作系统1053存储在图1所示的辅助存储设备中。
图形引擎302和打印管理器306是包括在操作系统1053中的模块。用户使用诸如键盘1031和鼠标1032的输入设备,来执行对使用输出设备中监视器1041上显示的应用程序1051生成的文档301的打印处理。通过按照选择打印机1042、生成打印设置3012和转换描绘数据3011的顺序执行这三种类型的处理,来执行打印处理。
首先,与执行打印的打印机1042对应的打印机驱动程序1052被选择作为打印机的选择。然后生成文档301中的打印设置3012。打印机驱动程序1052中的配置模块304生成打印设置3012的初始值。
所生成的打印设置3012被改变并设置,使得使用应用程序1051或打印机驱动程序1052的用户接口获得用户期望的最终打印结果。例如,改变要输出的片材的大小,并执行双面打印或单色打印。
配置模块304和高级用户接口(UI)应用程序311中的任意一者提供打印机驱动程序1052的用户接口。
在将打印设置3012保持在RAM 1022上的同时,存储格式是二进制数据结构或诸如可扩展标记语言(XML)的标记语言。该格式根据打印机驱动程序1052和操作系统1053的规范而不同。
针对各个文档打印生成打印设置3012。然而,打印机驱动程序1052将期望保留的针对打印机1042的可选设备的配置和针对各个用户的环境设置,存储在操作系统1053中的登记表数据库308中。
操作系统1053中的打印管理器306将打印设置3012的各个用户的默认值存储在登记表数据库308中。最后,转换描绘数据3011。
当打印设置3012的生成结束时,用户向操作系统1053通知打印处理以执行该打印处理。操作系统1053经由图形引擎302在指定的打印机驱动程序1052上执行描绘。
如果由打印设置3012指定了布局处理,则在到达打印机驱动程序1052中的绘制模块303之前临时生成假脱机文件307,并且布局模块309被启动。
“布局处理”是指用于取代片材的顺序并在一张片材上布置多个页面的处理。布局模块309改变布局,然后再次在打印机驱动程序1052上执行描绘。
描绘数据已发送至的打印机驱动程序1052中的绘制模块303将描绘数据转换为数据语言,即,能够被打印机1042理解的打印机控制语言。这时,打印设置3012也被转换为打印机控制语言。
绘制模块303和配置模块304都可以是多种类型的打印机1042的通用模块。在型号相关数据文件305中描述各个型号的差异。如有必要,绘制模块303和配置模块304参照型号相关数据文件305。
转换后的数据被顺序存储为假脱机文件307。打印管理器306获取执行打印处理的进度管理的假脱机文件307作为打印作业文件。
如果打印机1042进入可打印状态,则打印管理器306将打印作业数据经由I/O模块301发送至打印机1042。因此,来自应用程序1051的打印数据被转换为打印机语言以执行打印。
为了生成文档301的打印设置3012,应用程序1051直接重写打印设置3012或使用图7中所示的由打印机驱动程序1052中的配置模块304或高级UI应用程序311提供的用户接口。打印设置3012具有图5所示的结构,该结构在微软(注册商标)Windows(注册商标)操作系统中称为DEVMODE结构。
DEVMODE结构被划分成由操作系统1053公开和定义的标准打印设置区501和打印机驱动程序1052扩展的打印设置区502。标准打印设置区501包括诸如切换片材大小和片材给送级以及彩色/单色切换的基本打印设置的值。
扩展的打印设置区502包括与打印机选项和细微色调调整功能相对应的片材排出功能的值。应用程序1051可能不知道各打印机驱动程序1052的扩展设置。因此,应用程序1051可以直接只在系统定义中的标准打印设置区501中重写打印设置3012。
因此,应用程序1051通常显示打印机驱动程序1052的用户接口,从而使得用户在扩展的打印设置区502中进行打印设置3012。
配置模块304不仅提供用户接口,还提供应用编程接口(API)。因此,也可以从外部设置扩展的打印设置区502而无需显示用户接口。
如果使用配置模块304提供的API,则应用程序1051需要与每个打印机驱动程序1052的API对应。因此,通用的应用程序1051只改变标准打印设置区501。
将描述根据本发明的示例性实施例的另一打印系统。虽然图3所示的打印处理系统被称为图形设备接口(GDI)打印系统,但图4是XML纸张规范(XPS)打印系统的配置框图。
XPS打印系统是用于使用称为XML纸张规范的文档文件格式作为假脱机数据来进行打印的系统。与GDI打印系统类似,XPS打印系统也在操作系统1053上运行。
打印管理器306、GDI到XPS转换模块405和滤波器管道管理器409是包括在操作系统1053中的模块。
打印机驱动程序1052和滤波器管道管理器409中的滤波器被存储作为图1所示的辅助存储设备105中的打印机驱动程序1052。虽然滤波器管道管理器409被包括在操作系统1053中,但各个滤波器是打印机驱动程序1052中的模块。
GDI打印应用程序(以下简称“GDI应用程序”)401和XPS打印应用程序(以下简称为“XPS应用程序”)402被存储作为图1所示的辅助存储设备105中的应用程序1051。
用户使用诸如键盘1031和鼠标1032的输入设备,从用作输出设备的监视器1041上反映的GDI应用程序401和XPS应用程序402执行打印。通过按照选择打印机1042、生成打印设置3012和转换描绘数据3011的顺序执行这三种类型的处理来进行打印处理。
首先,选择要进行打印的打印机1042。这跟选择与进行打印的打印机1042对应的打印机驱动程序1052同义。然后生成打印设置3012。
以应用程序1051确保用于打印设置3012和应用程序1051的内存或者打印机驱动程序1052中的配置模块304使用型号相关文件305填充设置数据的方式进行打印设置3012。
二进制DEVMODE结构403在GDI应用程序401中用作打印设置数据,以XML格式描述的打印单404用在XPS应用程序402中。DEVMODE结构403和打印单404中的每个均具有操作系统1053定义的标准区和打印机驱动程序1052唯一定义的扩展区,如图5所示的配置。
打印单404是以图6所示的XLM格式描述的打印设置信息。因此,标准区和扩展区分别由名称空间描述。DEVMODE结构403或打印单404保留打印设置3012,应用程序1051直接重写打印设置3012以改变打印设置3012。
通过显示打印机驱动程序1052中配置模块304或高级UI应用程序311的用户接口(见图7)进行依赖于打印机1042的专用设置。
打印机驱动程序1052根据用户接口的设置改变DEVMODE结构403或打印单404的依赖于打印机1042的设置。“打印设置”具体指进行打印所需要的数据,例如,将要输出的片材的大小设置为“A4”、进行双面打印、进行彩色/单色切换、以及指定片材给送级。
由于在打印单404中打印设置3012以XML格式写入,所以XPS应用程序402能够容易地直接改变和重写所有的设定值。然而,通常可以使用打印机驱动程序1052的用户接口改变打印设置3012。
每次进行文档打印时生成打印设置3012。用户接口为将打印机1042的可选设备和针对各用户要保留的环境设置存储在操作系统1053的登记表数据库308中。操作系统1053中的打印管理器306将打印设置3012的每个用户的默认值存储在登记表数据库308中。最后,转换描绘数据3011。
如果完成打印设置3012,则用户从应用程序1051进行打印处理。如果从GDI应用程序401进行打印,则采取打印机驱动程序1052的方式将描绘数据3011发送至GDI到XPS转换模块405,使得生成XPS假脱机文件407。
此时,GDI到XPS转换模块405调用配置模块304,并将打印设置3012从DEVMODE结构403转换为打印单404。如果从XPS应用程序402进行打印,则有两种类型的方法。更具体地,XPS应用程序402本身生成XPS文件,以及操作系统1053根据来自XPS应用程序402的描绘指令生成XPS文件。
在使用任一方法打印期间生成XPS假脱机文件407。因此,XPS打印系统始终在打印期间生成XPS假脱机文件407。
如果生成XPS假脱机文件407,则处理转到打印滤波器管道处理。打印滤波器管道处理是通过使用多个滤波器进行打印的机制。滤波器配置文件413控制滤波器的数量和顺序。
在打印滤波器管道处理中操作的滤波器管道管理器409根据滤波器配置文件413,在本示例性实施例中按照顺序使用设置滤波器410、布局滤波器411和绘制滤波器412来进行处理。
根据打印机驱动程序1052的配置,滤波器在数量和类型上不同。通过将XPS假脱机文件407传送至滤波器来进行打印处理,并且打印处理在各个滤波器处理XPS假脱机文件407并将处理后的XPS假脱机文件407传送到后续的滤波器时向前进行。最后,以用作打印机能够理解的数据语言的打印机控制语言(以下简称为页面描述语言(PDL))输出XPS假脱机文件407。
如果打印机1042是能够直接读取和打印XPS假脱机文件407的XPS直接打印机,则可以打印XPS假脱机文件407而无需通过所有滤波器。
设置滤波器410进行用于读取打印单404和将打印所需的数据写入打印单404的处理。布局滤波器411进行与布局相关的处理,例如,改变倍率、整版布局和装订印记。布局滤波器411根据用作包括在XPS假脱机文件407中的打印设置数据的打印单404进行操作。
例如,当在打印单404中不存在整版设置时,布局滤波器411不操作,因此XPS假脱机文件407不用经过布局滤波器411而直接传送到后续滤波器。
最后的绘制滤波器412绘制XPS假脱机文件407,并将绘制后的XPS假脱机文件转换为PDL数据。管理打印处理的进度的打印管理器306管理PDL数据。PDL数据相继被登记在队列中作为打印作业。
如果打印机1042进入可打印状态,则PDL数据以在队列中登记的顺序经由I/O模块310被发送。打印机驱动程序1052的主要作用是将来自应用程序1051的打印数据转换成打印机语言。由此,进行打印处理。
下面将描述打印机驱动程序1052和高级UI应用程序311之间的关联。首先,将根据图10的流程图描述打印机驱动程序1052的安装。
根据图9所示的安装信息文件(以下简称为INF文件)将打印机驱动程序1052安装在操作系统1053中。INF文件包括安装打印机驱动程序1052所需的信息,例如,打印机1402的型号名称、操作打印机驱动程序1052的文件以及打印机1042的版本。
构成打印机驱动程序1052的INF文件和各种文件被收集到打印机驱动程序1052的一个安装集(installation set)中。
在步骤S1001中,当开始打印机驱动程序1052的安装时,操作系统1053在安装集中搜索指定型号的打印机驱动程序1052。当安装集包括操作系统1053所包含的安装集时,它可以由用户指定,或可以从先前识别的分布式服务器等提供。
在步骤S1002中,操作系统1053基于安装集中包括的INF文件来复制文件,并且将需要的驱动程序信息写入登记表数据库308,以完成打印机驱动程序1052的正常安装。
在步骤S1003中,操作系统1053确认INF文件是否包括高级UI应用程序311的类标识符(CLSID)。“CLSID”是一种通用唯一标识符(UUID),由16字节数值表示,并且在世界上是唯一的。作为CLSID,在INF文件中描述对要使用的高级UI应用程序311分配的CLSID,以识别高级UI应用程序311。
在图9中,关键字AdvancedUICLSID对应于高级UI应用程序311的CLSID。如果高级UI应用程序311的CLSID存在(步骤1003:是)处理进入步骤S1004。在步骤S1004中,操作系统1053从INF文件获取CLSID。
在步骤S1005中,操作系统1053将高级UI应用程序311的CLSID添加至与登记表数据库308中的打印机型号对应的驱动程序信息。由此,打印机驱动程序1052的安装完成。
下面将参照图11的流程图和图15的流程图的一部分描述高级UI应用程序311的安装。
包括构成高级UI应用程序311的安装程序和文件的高级UI应用程序311的安装集独立于打印机驱动程序1052的安装集存在。
如果用户开始安装程序,则处理进入步骤S1101。在步骤S1101中,安装程序首先将构成高级UI应用程序311的文件复制在存储用户指定的应用程序1051的文件夹中。在步骤S1102中,安装程序然后通过将/RegSvr选项作为变元添加至高级UI应用程序311来启动高级UI应用程序311。
在步骤S 1501中,启动的高级UI应用程序311确定是否将/RegSvr选项添加至其上。如果/RegSvr选项被添加至高级UI应用程序311(步骤S1501:是),则处理进入步骤S1052。在步骤S1052中,高级UI应用程序311将信息写入作为组件对象模型(COM,component object model)的处理外服务器(out-process server)的登记表数据库308。
“COM”是由微软公司提出的软件组件之间的通信技术。通过唯一CLSID识别在其间进行通信的各软件组件。“处理外服务器”是在与调用的处理不同的处理中操作的组件。明确规定高级UI应用程序311是处理外服务器。
写入登记表数据库308的信息包括:包括应用程序名称的全称路径、高级UI应用程序311的CLSID和表示高级UI应用程序311是处理外服务器的字符串“LocalServer32”。CLSID需要与图9所示的INF文件指定的CLSID相同。由此,完成高级UI应用程序311的安装。
由于通过安装打印机驱动程序1052获取的CLSLD和通过安装高级UI应用程序311所描述的CLSLD相似,因此操作系统1053可以将两个CLSID相互关联。
下面将参照图8的配置框图以及图12和图15的流程图,来描述从应用程序1051显示打印机驱动程序1052的用户接口的流程。
在步骤S1201中,用作操作系统1053中模块的打印管理器306从应用程序1051接收用于显示打印机驱动程序1052的用户接口的API的调用。此时,打印管理器306还从应用程序1051接收作为变元的打印设置数据的DEVMODE结构403。
通过根据用作打印设置数据的接收到的DEVMODE结构构造用户接口,用户可以查看当前打印设置3012。
打印管理器306还从应用程序接收用于指定要使用哪个打印机驱动程序1052的型号信息。这为了在多个打印机驱动程序1052安装在操作系统1053中时说明要使用哪个打印机驱动程序1052。
打印管理器306基于从应用程序1051接收到的型号信息搜索登记表数据库308。在安装打印机驱动程序1052期间描述的驱动程序信息被写入登记表数据库308。在步骤S1202中,打印管理器306获取与接收到的型号信息对应的驱动程序信息。
在步骤S1203中,打印管理器306确定获取的驱动程序信息是否包括高级UI应用程序311的CLSID。如果高级UI应用程序311的CLSID不存在(在步骤S1203:否),则处理进入步骤S1212。在步骤S1212中,打印管理器306调用CPSUI 801以在打印机驱动程序1052中打开配置模块304的用户接口。
公共属性表单用户接口(CPSUI)801生成属性表单的基准,并请求配置模块304来生成用户接口。
配置模块304使用型号相关数据文件305以显示与打印机型号对应的用户接口。更具体地,配置模块304在与应用程序1051执行的处理相似的处理中启动用户接口模块。
如果高级UI应用程序311的CLSID存在(步骤S1203:是),则处理进入步骤S1204。在步骤S1204中,打印管理器306将CLSID和通过处理外服务器的启动指定作为变元,以调用操作系统1053的API(见图16中的(1))。
打印管理器306在操作系统1053的API内使用指定的CLSID作为搜索密钥来搜索登记表数据库308。
如果已经安装了高级UI应用程序311(步骤S1203:是),则处理进入步骤S1204。在步骤S1204中,打印管理器306可以在操作系统1053的API内从登记表数据库308获取包括高级UI应用程序311的文件名称的全路径。
如果没有安装高级UI应用程序311(步骤S1203:否),则处理进入步骤S1212。在步骤S1212中,打印管理器306显示打印机驱动程序1052的用户接口,如同CLSID不存在的情况。这发生在没有安装高级UI应用程序311的环境中,尽管INF文件包括CLSID。
在步骤S1205中,如果打印机管理器306获取到全路径,则其在操作系统1053的API内在与应用程序1051执行的处理不同的处理中启动高级UI应用程序311。如果/RegSvr选项没有被添加至启动的高级UI应用程序311中(步骤S1501:否),则处理进入步骤S1503。在步骤S1503中,高级UI应用程序311生成窗口。
在该时间点生成的窗口还没有被显示,并仅是为了在消息循环中等待来自打印机管理器306的响应而生成。
在步骤S1504中,高级UI应用程序311生成高级UI应用程序311接口对象,并指定接口对象作为变元以调用操作系统1053的API(图16中的(2))。
在步骤S1206中,打印管理器306可以接收高级UI应用程序311的接口。在步骤S1207中,已接收到接口的打印管理器306将DEVMODE结构403转换为打印单404。
打印管理器306调用配置模块304以将配置模块304转换为打印单404。在如同DEVMODE结构403的二进制数据中,在不同的处理间发送和接收数据是不利的,因此其被转换为以具有文本格式的XML中写入的打印单404。
在步骤S1208中,打印管理器306使用打印机型号、基于CLSID获取的驱动程序信息、打印单404和作为接收到的接口的变元的事件信息,调用用于接收到的接口的方法。“事件信息”是表示如何通过应用程序1051为打印机驱动程序1052显示用户接口的信息。
打印机驱动程序1052的用户接口数量不是一个(因此打印机驱动程序1052可以具有多个用户接口)。存在进行打印设置的用户接口、进行设备设置的用户接口和用于确认作业打印设置的用户接口。需要通知高级UI应用程序311要显示哪个用户接口作为事件信息。
在步骤S1505中,高级UI应用程序311接收到接口的调用以确定其是否为UI事件。如果确定是UI事件(步骤S1505:是),则处理进入步骤S1506。在步骤S1506中,高级UI应用程序311从调用的接口获取打印机型号、驱动程序信息和打印单404。
高级UI应用程序311然后确定UI事件的类型,并确定要显示的用户接口。在步骤S1507中,高级UI应用程序311确定是否从应用程序1051调用打印设置的用户接口。如果从应用程序1051调用打印设置的用户接口(步骤S1507:是),则处理进入步骤S1508。在步骤S1508中,高级UI应用程序311显示打印设置的用户接口。
在步骤S1509中,高级UI应用程序311确定是否调用设备设置的用户接口。如果调用设备设置的用户接口(步骤S1509:是),则处理进入步骤S1510。在步骤S1510中,高级UI应用程序311显示设备设置的用户接口。
在步骤S1511中,高级UI应用程序311确定是否调用作业设置的用户接口。如果调用作业设置的用户接口(步骤S1511:是),则处理进入步骤S1512。在步骤S1512中,高级UI应用程序311显示作业设置的用户接口。
高级UI应用程序311还基于获取的打印机型号、驱动程序信息和打印单404显示用户接口。高级UI应用程序311调用打印机驱动程序1052以获取和控制用于显示的打印设置项和诸如设置项之间的禁令的逻辑的数据。
高级UI应用程序311还可以显示打印机驱动程序1052中配置模块304的用户接口。然而,高级UI应用程序311本身可以显示用户接口,以消除配置模块304的用户接口。
因此,在打印机驱动程序1052中的配置模块304可以仅为打印设置3012。用户接口可以自由改变而无需更新打印机驱动程序1052。
高级UI应用程序311可以接收如下的接口,代替直接调用打印机驱动程序1052,而经由该接口来调用打印机驱动程序1052。
高级UI应用程序311还可以经由驱动程序接口设置打印设置项和设置项之间的禁令。
在步骤S1513中,高级UI应用程序311关闭用户接口以在用户使用用户接口完成执行打印设置3012时丢弃窗口。在步骤S1514中,高级UI应用程序311在从接口传送的打印单404上反映用户接口的设置。在步骤S1515中,高级UI应用程序311将不能反映在打印单404上的数据存储在登记表数据库308中。
不能反映在打印单404上的数据包括可选设备(例如打印机中的的整理器)的配置、诸如用户名和密码的个人信息以及用户生成的功能(例如,收藏夹和印记)。
如果已经存储所有数据,则高级UI应用程序311完成,以将控制返回到用作调用源的打印管理器306。
在步骤S1209中,打印管理器306在显示用户接口的同时等待直到高级UI应用程序311结束。如果可以确认高级UI应用程序311结束(步骤S1209:是),则打印管理器306接收由高级UI应用程序311改变的打印单404,然后处理进入步骤S1210。
在步骤S1210中,打印管理器306调用打印机驱动程序1052中的配置模块304以将打印单404转换为DEVMODE结构403。在步骤S1211中,打印管理器306将通过转换获得的DEVMODE结构403返回至应用程序1051,以结束API。因此,在与应用程序1051执行的处理不同的处理中执行与打印设置3012相关联的用户接口。
虽然在应用程序1051执行的处理和高级UI应用程序311执行的处理之间调用接口的方法时,但参照图8的配置框图以及图13和图14的流程图来描述其内容。
如果调用了接口的方法,则操作系统1053调用COM代理802。在步骤S1301中,COM代理802将针对接口的方法输入的变元数据进行编排(marshaling)。
“编排”指将对象数据存储在流中使得数据可以在不同的两个系统之间发送和接收。在步骤S1302中,COM代理802使用远程过程调用(RPC)来在高级UI应用程序311的处理中调用COM STUB 803。
“RPC”指在独立的系统之间调用过程的功能。COM代理802将编排后的流数据发送至调用的COM STUB 803。在步骤S1401中,COMSTUB 803对从COM代理802接收的流数据进行解编排,以将解编排后的流数据返回至方法中用作原始对象数据的变元数据。
“解编排”是指数据流返回到原来的对象数据。在步骤S1402中,COM STUB 803将方法中的变元数据传送至用作处理的主线程的高级UI应用程序311。
因此,打印管理器306在不同的处理中启动高级UI应用程序311以发送数据。另一方面,当数据从高级UI应用程序311发送到打印管理器306时,COM代理802用作COMSTUB,并且COM STUB 803用作COM代理。因此,COM代理和COMSTUB分别为具有类似的功能的类似模块。
高级UI应用程序311在与应用程序1051执行的处理不同的处理中操作。因此,只能通过将打印单404用作打印设置数据,经由接口来发送信息。
没有包括在打印单404中的、存储在登记表数据库308中的数据在打印期间不能被参照。因此,所有的数据不能被发送到打印机1042。
通过在XPS打印系统中使用属性包(property bat)414也能够参照存储在登记表数据库308中的数据。将参照图17的配置框图和图18的流程图来描述发送方法。
在步骤S1801中,滤波器管道管理器409在从应用程序1051开始打印时接收用作打印作业的XPS假脱机文件407。滤波器管道管理器409还从应用程序1051接收用于指定使用哪个打印机驱动程序1052的型号信息。滤波器管道管理器409基于从应用程序1051接收的型号信息搜索登记表数据库308。
在安装打印机驱动程序1052期间描述的驱动程序信息被写入登记表数据库308中。滤波器管道管理器409获取与接收的型号信息对应的驱动程序信息。
在步骤S1802中,滤波器管道管理器409确定获取的驱动程序信息是否包括高级UI应用程序311的CLSID。如果高级UI应用程序311的CLSID不存在(步骤S1802:否),则处理进入步骤S1808。在步骤S1808中,滤波器管道管理器409调用滤波器以进行打印处理。
如果高级UI应用程序311的CLSID存在(步骤S 1802:是),则处理进入步骤S1803。在步骤S1803中,滤波器管道管理器409将CLSID和通过处理外服务器的启动指定为变元,并调用操作系统1053的API(见图16中的(1))。
滤波器管道管理器409在操作系统1053的API内使用指定的CLSID作为搜索密钥来搜索登记表数据库308。如果已经安装了高级UI应用程序311(步骤S1802:是),则处理进入步骤S1803。在步骤S1803中,滤波器管道管理器409可以在操作系统1053的API内从登记表数据库308获取包括高级UI应用程序311的文件名称的全路径。
如果没有安装高级UI应用程序311(步骤S 1802:否),则处理进入步骤S1808。在步骤S1808中,滤波器管道管理器409调用滤波器以进行打印处理,如同CLSID不存在的情况。在步骤S1804中,如果滤波器管道管理器409已经获取到全路径,则滤波器管道管理器409在操作系统1053的API内启动高级UI应用程序311。
如果/RegSvr选项没有被添加至启动的高级UI应用程序311中(步骤S1501:否),则处理进入步骤S1503。在步骤S1503中,高级UI应用程序311生成窗口。在这个时间点要生成的窗口不是为了显示而是为了在消息循环中等待来自滤波器管道管理器409的响应而生成。
在步骤S1504中,高级UI应用程序311生成高级UI应用程序311的接口对象,指定接口对象作为变元,并调用操作系统1053的API(见图16中的(2))。
在步骤S1805中,滤波器管道管理器409以接收高级UI应用程序311的接口。已经接收到接口的滤波器管道管理器409生成属性包414的对象。
在步骤S1806中,滤波器管道管理器409使用生成的属性包414作为接口的变元来调用接口的方法。在步骤S 1505中,高级UI应用程序311接收接口的调用,并确定其是否为UI事件。
如果因为此次使用属性包414作为变元调用该方法,所以调用的接口不是UI事件(步骤S1505:否),则处理进入步骤S1516。在步骤S1516中,高级UI应用程序311从登记表数据库308获取先前存储的信息。在步骤S1517中,高级UI应用程序311从接口获取用作变元的属性包414。在步骤S1518中,高级UI应用程序311将值添加至属性包414。
属性包414是通过名称和值的组合自由添加、删除及参照数据的机制。高级UI应用程序311将诸如打印机中整理器的可选设备的配置、诸如用户名和密码的个人信息、用户生成的功能(例如,收藏夹和印记)添加至属性包414。
高级UI应用程序311在将值添加至属性包414结束时结束。在步骤S1807中,滤波器管道管理器409在显示用户接口的同时等待直到高级UI应用程序311结束。
如果确认高级UI应用程序311结束(步骤S1807:是),则处理进入步骤S1808。然后,滤波器管道管理器409接收由高级UI应用程序311改变了的属性包414。在步骤S1808中,滤波器管道管理器409调用滤波器,以进行传统的打印处理。
各个滤波器根据需要从属性包414获取信息。滤波器管道管理器409在最后的滤波器完成输出PDL时丢弃属性包414的对象,使得属性包414的对象仅在进行一次打印时有效。因此,关于高级UI应用程序311的信息被发送到滤波器。
高级UI应用程序311在被使用时不能使用用于将打印机驱动程序1052从服务器203下载至客户端201和202并且运行下载的打印机驱动程序1052的指向和打印(Point and Print)(即,被称为共享打印机)来操作。
在图2所示的网络环境中,客户端201和202可以从服务器203下载与共享打印机对应的打印机驱动程序1052。如果配置模块304包括用户接口,则客户端201和202可以显示用户接口。
然而,高级UI应用程序311不能被下载到客户端201和202,因为它与打印机驱动程序1052不同。虽然远程过程调用(RPC)能够在服务器203与客户端201和202之间进行通信,但是如果高级UI应用程序311保持不变,则通过服务器203启动高级UI应用程序311。因此,用户不能在客户端201和202上操作用户接口。
在安装有高级UI应用程序311的环境中,共享打印机被阻止使用。将参照图19和图20、以及图21的流程图描述阻止使用共享打印机的机制。
在步骤S2101中,从用户调用操作系统1053以显示打印机驱动程序1052中的共享标记。操作系统1053还接收用于指定使用哪个打印机驱动程序1052的型号信息。
操作系统1053基于接收到的型号信息搜索登记表数据库308。在安装打印机驱动程序1052期间描述的驱动程序信息被写入登记表数据库308中。操作系统1053获取与指定的型号信息对应的驱动程序信息。
在步骤S2102中,操作系统1053确定获取的驱动程序信息是否包括高级UI应用程序311的CLSID。如果CLSID存在(步骤S2102:是),则处理进入步骤S2103,因为操作系统1053使用高级UI应用程序311来显示用户接口。在步骤S2103中,操作系统1053显示设置有不指定共享设置的消息“不支持共享”的共享标记(图20)。
在图19所示的用于共享打印机的复选框可以变成灰色。如果CLSID不存在(步骤S2102:否),则处理进入步骤S2104。在步骤S2104中,操作系统1053显示设置有用于共享的复选框的共享标记(见图19)。
当高级UI应用程序311被使用时,CPSUI 801不生成属性表单的基准。因此,操作系统1053可以自由地生成用户接口。
然而,不能生成如下的用户接口,即操作系统1053向该用户接口添加属性表单的基准和一些标记、然后打印机驱动程序1052中的配置模块304向该用户接口进一步添加标记。用户接口的示例包括用于确认设备设置的用户接口和用于确认作业设置的用户接口。
在这种情况下,高级UI应用程序311不能生成这种用户接口。因此,将参照图22和图23、以及图24所示的流程图描述用于在用户接口上显示按钮的方法。
在步骤S2401中,用户调用操作系统1053以显示用于确认设备设置和作业设置的用户接口。操作系统1053还接收用于指定使用哪个打印机驱动程序1052的型号信息。
操作系统1053基于接收到的型号信息搜索登记表数据库308。在安装打印机驱动程序1052期间描述的驱动程序信息被写入登记表数据库308中。操作系统1053获取与接收到的型号信息对应的驱动程序信息。
在步骤S2402中,操作系统1053确定获取的驱动程序信息是否包括高级UI应用程序311的CLSID。如果CLSID存在(步骤S2402:是),则处理进入步骤S2403。在步骤S2403中,操作系统1053显示设置有用于打开高级UI应用程序311的用户接口的按钮的标记。
如果CLSID不存在(步骤S2402:否),则处理进入步骤S2404。在步骤S2404中,操作系统1053调用打印机驱动程序1052中的配置模块304以添加标记。
在图22中,基本设置的按钮被显示在用于确认作业设置的用户接口上,以调用用于确认高级UI应用程序311的作业设置的用户接口。在图23中,用于确认设备设置的按钮被显示在用于设备设置的用户接口上,以调用高级UI应用程序311的设备设置的用户接口。
以上述的方式,用户接口以高级UI应用程序311的形式独立于打印机驱动程序1052,使得即使用户接口崩溃,也能够阻止应用程序1051卷入。
该系统不依赖于CPSUI 801,因此可以自由生成不是属性表单的用户接口。使用COM在不同处理之间进行通信,而不使用命名管道和共享存储器,因此在高级UI应用程序311中能够减少依赖于操作系统1053的代码的数量。
虽然在第一示例性实施例中高级UI应用程序311独立于打印机驱动程序1052的安装集进行安装,但是在第二示例性实施例中高级UI应用程序311也可以包括在打印机驱动程序1052的安装集中。将参照图25和图26的流程图描述在高级UI应用程序311包括在打印机驱动程序1052的安装集中时进行的打印机驱动程序1052的安装。
根据图26所示的安装信息文件(以下简称为INF文件)将打印机驱动程序1052安装到操作系统1053。除第一示例性实施例中描述的高级UI应用程序311的CLSID之外,INF文件包括高级UI应用程序311的应用程序文件名称。
在步骤S2501中,操作系统1053开始安装打印机驱动程序1052。操作系统1053在安装集中搜索指定型号的打印机驱动程序1052。虽然安装集包括操作系统1053中包含的安装集,但是它可以由用户指定,或可以由先前识别的分布服务器等提供。
在步骤S2502中,操作系统1053基于安装集中包括的INF文件进行文件复制,并将需要的驱动程序信息写入登记表数据库308中,以完成打印机驱动程序1052的正常安装。
在步骤S2503中,操作系统1053然后确定打印机驱动程序1052的INF文件是否包括高级UI应用程序311的文件名。在图26中,关键字AdvancedUI与高级UI应用程序311的文件名对应。
如果高级UI应用程序311的文件名存在(步骤S2503:是),则处理进入步骤S2504。在步骤S2504中,操作系统1053通过将/RegSvr选项作为变元添加至高级UI应用程序311来启动高级UI应用程序311。
在步骤S2505中,操作系统1053确认INF文件是否包括高级UI应用程序311的CLSID。如果高级UI应用程序311的CLSID存在(步骤S2505:是),则处理进入步骤S2506。在步骤S2506中,操作系统1053从INF文件获取CLSID。
在步骤S2507中,操作系统1053在登记表数据库308中将高级UI应用程序311的CLSID添加至驱动程序信息。打印机驱动程序1052的安装以及高级UI应用程序311的安装完成。
如上所述,如果高级UI应用程序311被添加至打印机驱动程序1052的安装集,则用户可以通过只安装打印机驱动程序1052而不用稍后单独添加高级UI应用程序311来使用在不同的处理中启动的用户接口。
如上所述,根据本示例性实施例,在与应用程序1051执行的处理不同的处理中启动打印机驱动程序1052的用户接口。因此,甚至通过使应用程序1051卷入来阻止引起用户接口崩溃。
操作系统1053不需要准备基准。因此,可以自由地设计和布置打印机驱动程序1052的用户接口。
可以独立于打印机驱动程序1052安装高级UI应用程序311。因此,不需要更新打印机驱动程序1052就能够改变用户接口。
每个处理的存储区域不同。因此,可以使用更多的存储区域。也可以生成使用移动图像和三维(3D)的丰富的用户接口。
本发明的各方面还可以通过读出并执行记录在存储设备上的用于执行上述实施例的功能的程序的系统或装置的计算机(或诸如CPU或MPU的设备)来实现,以及通过由系统或装置的计算机通过例如读出并执行记录在存储设备上的用于执行上述实施例的功能的程序来执行各步骤的方法来实现。鉴于此,例如经由网络或者从用作存储设备的各种类型的记录介质(例如计算机可读介质)向计算机提供程序。
虽然参照示例性实施例对本发明进行了描述,但是应当理解,本发明并不限于所公开的示例性实施例。应当对所附权利要求的范围给予最宽的解释,以使其涵盖所有这些变型例以及等同的结构和功能。
Claims (8)
1.一种信息处理装置,所述信息处理装置使用数据库,所述数据库被配置为在安装用户接口应用程序的情况下存储所述用户接口应用程序的路径和标识符,所述信息处理装置包括:
第一获取单元,其被配置为在安装打印机驱动程序的情况下,从所述打印机驱动程序的安装文件获取用户接口应用程序的标识符;
添加单元,其被配置为将所述第一获取单元获取的标识符添加至所述数据库中与要安装的打印机驱动程序的型号相关联的驱动程序信息;
确定单元,其被配置为在应用程序执行了显示打印机驱动程序的用户接口的指令的情况下,确定标识符是否被登记在所述数据库中与用于指定要使用哪个打印机驱动程序的型号信息相关联的驱动程序信息中;
第二获取单元,其被配置为在所述确定单元确定标识符被登记在所述数据库中的情况下,使用标识符获取所述用户接口应用程序的路径;以及
启动单元,其被配置为在与应用程序处理不同的处理中启动所述用户接口应用程序。
2.根据权利要求1所述的信息处理装置,其中,在所述确定单元确定标识符没有被登记在所述数据库中的情况下,所述启动单元在与所述应用程序处理相同的处理中启动所述用户接口应用程序。
3.根据权利要求1所述的信息处理装置,所述信息处理装置还包括:
另一确定单元,其被配置为在所述打印机驱动程序被调用以显示打印机驱动程序中的共享标记的情况下,确定标识符是否被登记在与所述打印机驱动程序的型号相关联的驱动程序信息中,并且其中所述信息处理装置还包括显示单元,所述显示单元被配置为显示不能设置打印机共享的画面。
4.一种信息处理装置,在该信息处理装置中在与应用程序处理不同的处理中启动用户接口应用程序,所述信息处理装置包括:
反映单元,其被配置为在打印单上反映用户接口的设置;
存储单元,其被配置为在登记表中存储没有包括在所述打印单中的设置;
读取单元,其被配置为从所述登记表中读取设置;以及
添加单元,其被配置为在从滤波器管道处理启动所述用户接口应用程序的情况下将所读取的设置添加至属性包,
其中,滤波器接收添加至所述属性包的设置并进行打印处理。
5.一种信息处理方法,所述信息处理方法使用数据库,所述数据库被配置为在安装用户接口应用程序的情况下存储所述用户接口应用程序的路径和标识符,所述信息处理方法包括以下步骤:
在安装打印机驱动程序的情况下从所述打印机驱动程序的安装文件获取用户接口应用程序的标识符;
将获取的标识符添加至数据库中与要安装的打印机驱动程序的型号相关联的驱动程序信息;
在应用程序执行了显示打印机驱动程序的用户接口的指令的情况下,确定标识符是否被登记在所述数据库中与用于指定要使用哪个打印机驱动程序的型号信息相关联的驱动程序信息中;以及
在确定标识符被登记在所述数据库中的情况下,使用标识符获取所述用户接口应用程序的路径,并在与应用程序处理不同的处理中启动所述用户接口应用程序。
6.根据权利要求5所述的信息处理方法,其中,在确定标识符没有被登记在所述数据库中的情况下,在与所述应用程序处理相同的处理中启动所述用户接口应用程序。
7.根据权利要求6所述的信息处理方法,所述信息处理方法还包括:
在调用所述打印机驱动程序以显示打印机驱动程序中的共享标记的情况下,确定标识符是否被登记在与所述打印机驱动程序的型号相关联的驱动程序信息中,并且显示不能设置打印机共享的画面。
8.一种信息处理方法,在所述信息处理方法中在与应用程序处理不同的处理中启动用户接口应用程序,所述信息处理方法包括以下步骤:
将用户接口的设置反映在打印单上;
在登记库中存储没有包括在所述打印单中的设置;
从所述登记库中读取设置;
在从滤波器管道处理启动所述用户接口应用程序的情况下将所读取的设置添加至属性包,
其中,滤波器接收添加至所述属性包的设置并进行打印处理。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011103005A JP5787606B2 (ja) | 2011-05-02 | 2011-05-02 | 情報処理装置、情報処理方法、及びプログラム |
JP2011-103005 | 2011-05-02 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102768619A true CN102768619A (zh) | 2012-11-07 |
CN102768619B CN102768619B (zh) | 2016-08-10 |
Family
ID=46087476
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210134592.7A Active CN102768619B (zh) | 2011-05-02 | 2012-04-28 | 信息处理装置和信息处理方法 |
Country Status (5)
Country | Link |
---|---|
US (3) | US9785445B2 (zh) |
EP (1) | EP2521027B1 (zh) |
JP (1) | JP5787606B2 (zh) |
KR (1) | KR101452572B1 (zh) |
CN (1) | CN102768619B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103853578A (zh) * | 2012-11-28 | 2014-06-11 | 株式会社理光 | 信息处理系统及信息处理方法 |
CN105843644A (zh) * | 2016-03-24 | 2016-08-10 | 北京金山安全软件有限公司 | 一种应用程序安装方法、装置及电子设备 |
Families Citing this family (48)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5787606B2 (ja) | 2011-05-02 | 2015-09-30 | キヤノン株式会社 | 情報処理装置、情報処理方法、及びプログラム |
JP2014104703A (ja) * | 2012-11-29 | 2014-06-09 | Seiko Epson Corp | 印刷装置、印刷装置の制御方法、及び、プログラム |
JP6330361B2 (ja) * | 2013-03-27 | 2018-05-30 | 株式会社リコー | 印刷制御プログラム、情報処理装置及び印刷システム |
JP6127695B2 (ja) * | 2013-05-01 | 2017-05-17 | 株式会社リコー | 印刷処理装置及びプログラム |
JP6184212B2 (ja) * | 2013-07-12 | 2017-08-23 | キヤノン株式会社 | 情報処理装置および制御方法およびプログラム |
KR20150040669A (ko) | 2013-10-07 | 2015-04-15 | 삼성전자주식회사 | 인쇄 어플리케이션 구성을 커스터마이즈하는 방법 및 그 장치 |
JP5910603B2 (ja) * | 2013-10-17 | 2016-04-27 | コニカミノルタ株式会社 | 設定用オブジェクト表示制御装置、設定用オブジェクト表示方法、およびコンピュータプログラム |
US10606859B2 (en) | 2014-11-24 | 2020-03-31 | Asana, Inc. | Client side system and method for search backed calendar user interface |
JP6885251B2 (ja) * | 2016-09-15 | 2021-06-09 | 株式会社リコー | 情報処理装置、情報処理システム、情報処理方法、及びプログラム |
JP6926809B2 (ja) * | 2016-11-24 | 2021-08-25 | 株式会社リコー | 情報処理装置、情報処理システム、情報処理方法、及びプログラム |
US10977434B2 (en) | 2017-07-11 | 2021-04-13 | Asana, Inc. | Database model which provides management of custom fields and methods and apparatus therfor |
JP6983614B2 (ja) * | 2017-10-16 | 2021-12-17 | キヤノン株式会社 | プログラム |
US10623359B1 (en) | 2018-02-28 | 2020-04-14 | Asana, Inc. | Systems and methods for generating tasks based on chat sessions between users of a collaboration environment |
US11138021B1 (en) | 2018-04-02 | 2021-10-05 | Asana, Inc. | Systems and methods to facilitate task-specific workspaces for a collaboration work management platform |
US10613735B1 (en) | 2018-04-04 | 2020-04-07 | Asana, Inc. | Systems and methods for preloading an amount of content based on user scrolling |
US10785046B1 (en) | 2018-06-08 | 2020-09-22 | Asana, Inc. | Systems and methods for providing a collaboration work management platform that facilitates differentiation between users in an overarching group and one or more subsets of individual users |
US10616151B1 (en) | 2018-10-17 | 2020-04-07 | Asana, Inc. | Systems and methods for generating and presenting graphical user interfaces |
US10956845B1 (en) | 2018-12-06 | 2021-03-23 | Asana, Inc. | Systems and methods for generating prioritization models and predicting workflow prioritizations |
US11113667B1 (en) | 2018-12-18 | 2021-09-07 | Asana, Inc. | Systems and methods for providing a dashboard for a collaboration work management platform |
US11568366B1 (en) | 2018-12-18 | 2023-01-31 | Asana, Inc. | Systems and methods for generating status requests for units of work |
US11782737B2 (en) | 2019-01-08 | 2023-10-10 | Asana, Inc. | Systems and methods for determining and presenting a graphical user interface including template metrics |
US10684870B1 (en) | 2019-01-08 | 2020-06-16 | Asana, Inc. | Systems and methods for determining and presenting a graphical user interface including template metrics |
US11204683B1 (en) | 2019-01-09 | 2021-12-21 | Asana, Inc. | Systems and methods for generating and tracking hardcoded communications in a collaboration management platform |
US20220293010A1 (en) * | 2019-01-15 | 2022-09-15 | Sony Group Corporation | Information processing apparatus and information processing method |
JP7350525B2 (ja) * | 2019-06-12 | 2023-09-26 | キヤノン株式会社 | 情報処理装置、情報処理装置の制御方法、及びプログラム |
US11341445B1 (en) | 2019-11-14 | 2022-05-24 | Asana, Inc. | Systems and methods to measure and visualize threshold of user workload |
US11783253B1 (en) | 2020-02-11 | 2023-10-10 | Asana, Inc. | Systems and methods to effectuate sets of automated actions outside and/or within a collaboration environment based on trigger events occurring outside and/or within the collaboration environment |
US11599855B1 (en) | 2020-02-14 | 2023-03-07 | Asana, Inc. | Systems and methods to attribute automated actions within a collaboration environment |
US11455601B1 (en) | 2020-06-29 | 2022-09-27 | Asana, Inc. | Systems and methods to measure and visualize workload for completing individual units of work |
US11449836B1 (en) | 2020-07-21 | 2022-09-20 | Asana, Inc. | Systems and methods to facilitate user engagement with units of work assigned within a collaboration environment |
US11568339B2 (en) | 2020-08-18 | 2023-01-31 | Asana, Inc. | Systems and methods to characterize units of work based on business objectives |
US11769115B1 (en) | 2020-11-23 | 2023-09-26 | Asana, Inc. | Systems and methods to provide measures of user workload when generating units of work based on chat sessions between users of a collaboration environment |
US11405435B1 (en) | 2020-12-02 | 2022-08-02 | Asana, Inc. | Systems and methods to present views of records in chat sessions between users of a collaboration environment |
US11694162B1 (en) | 2021-04-01 | 2023-07-04 | Asana, Inc. | Systems and methods to recommend templates for project-level graphical user interfaces within a collaboration environment |
US11676107B1 (en) | 2021-04-14 | 2023-06-13 | Asana, Inc. | Systems and methods to facilitate interaction with a collaboration environment based on assignment of project-level roles |
US11553045B1 (en) | 2021-04-29 | 2023-01-10 | Asana, Inc. | Systems and methods to automatically update status of projects within a collaboration environment |
US11803814B1 (en) | 2021-05-07 | 2023-10-31 | Asana, Inc. | Systems and methods to facilitate nesting of portfolios within a collaboration environment |
US11792028B1 (en) | 2021-05-13 | 2023-10-17 | Asana, Inc. | Systems and methods to link meetings with units of work of a collaboration environment |
US11809222B1 (en) | 2021-05-24 | 2023-11-07 | Asana, Inc. | Systems and methods to generate units of work within a collaboration environment based on selection of text |
US12093859B1 (en) | 2021-06-02 | 2024-09-17 | Asana, Inc. | Systems and methods to measure and visualize workload for individual users |
US11756000B2 (en) | 2021-09-08 | 2023-09-12 | Asana, Inc. | Systems and methods to effectuate sets of automated actions within a collaboration environment including embedded third-party content based on trigger events |
US11635884B1 (en) | 2021-10-11 | 2023-04-25 | Asana, Inc. | Systems and methods to provide personalized graphical user interfaces within a collaboration environment |
US12093896B1 (en) | 2022-01-10 | 2024-09-17 | Asana, Inc. | Systems and methods to prioritize resources of projects within a collaboration environment |
US12118514B1 (en) | 2022-02-17 | 2024-10-15 | Asana, Inc. | Systems and methods to generate records within a collaboration environment based on a machine learning model trained from a text corpus |
US11997425B1 (en) | 2022-02-17 | 2024-05-28 | Asana, Inc. | Systems and methods to generate correspondences between portions of recorded audio content and records of a collaboration environment |
US11836681B1 (en) | 2022-02-17 | 2023-12-05 | Asana, Inc. | Systems and methods to generate records within a collaboration environment |
US12051045B1 (en) | 2022-04-28 | 2024-07-30 | Asana, Inc. | Systems and methods to characterize work unit records of a collaboration environment based on stages within a workflow |
US11863601B1 (en) | 2022-11-18 | 2024-01-02 | Asana, Inc. | Systems and methods to execute branching automation schemes in a collaboration environment |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030043396A1 (en) * | 2001-08-29 | 2003-03-06 | Klosterman Elliot L. | Printer driver access interface |
US20050157321A1 (en) * | 2004-01-20 | 2005-07-21 | Alacar Arthur E. | Printer driver plug-in module management system |
US20100238480A1 (en) * | 2009-03-17 | 2010-09-23 | Shigeki Fukunishi | Print processing system, printing processing method, printing processing program and storage medium |
US20100315662A1 (en) * | 2009-06-10 | 2010-12-16 | Ricoh Company, Limited | Printing apparatus and printing method |
Family Cites Families (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6802061B1 (en) * | 1996-12-12 | 2004-10-05 | Microsoft Corporation | Automatic software downloading from a computer network |
US6184998B1 (en) | 1997-09-15 | 2001-02-06 | Canon Kabushiki Kaisha | Adding printing to the windows registry |
JP3408124B2 (ja) | 1997-11-06 | 2003-05-19 | シャープ株式会社 | コンピュータシステムを利用した印刷処理装置 |
US6501491B1 (en) | 1998-09-21 | 2002-12-31 | Microsoft Corporation | Extensible user interface for viewing objects over a network |
US7523191B1 (en) * | 2000-06-02 | 2009-04-21 | Yahoo! Inc. | System and method for monitoring user interaction with web pages |
JP2002132472A (ja) * | 2000-10-24 | 2002-05-10 | Canon Inc | プリント補助制御装置、プリント制御装置および方法 |
JP4686854B2 (ja) | 2000-12-08 | 2011-05-25 | 株式会社ニコン | 画像符号化装置、電子カメラ、および画像符号化プログラムの記録媒体 |
US7917855B1 (en) * | 2002-04-01 | 2011-03-29 | Symantec Operating Corporation | Method and apparatus for configuring a user interface |
US7284246B2 (en) * | 2002-04-23 | 2007-10-16 | Canon Kabushiki Kaisha | Extensible device driver |
US7600234B2 (en) * | 2002-12-10 | 2009-10-06 | Fisher-Rosemount Systems, Inc. | Method for launching applications |
US7853946B2 (en) * | 2003-02-28 | 2010-12-14 | Canon Kabushiki Kaisha | Information processing apparatus, information processing method, and control program |
US7869068B2 (en) * | 2003-06-27 | 2011-01-11 | Zoran Corporation | Printer driver extension and related method |
US20050257226A1 (en) * | 2004-05-14 | 2005-11-17 | Microsoft Corporation | PnP functionality for unsupported devices |
US20060031755A1 (en) * | 2004-06-24 | 2006-02-09 | Avaya Technology Corp. | Sharing inking during multi-modal communication |
JP4207864B2 (ja) * | 2004-08-10 | 2009-01-14 | ブラザー工業株式会社 | 状態情報処理装置、および状態情報処理装置用データ処理プログラム |
US7680758B2 (en) * | 2004-09-30 | 2010-03-16 | Citrix Systems, Inc. | Method and apparatus for isolating execution of software applications |
US8095940B2 (en) * | 2005-09-19 | 2012-01-10 | Citrix Systems, Inc. | Method and system for locating and accessing resources |
JP2006109296A (ja) * | 2004-10-08 | 2006-04-20 | Canon Inc | デジタルカメラ及びデジタルカメラの制御方法 |
JP4413124B2 (ja) * | 2004-10-25 | 2010-02-10 | コニカミノルタビジネステクノロジーズ株式会社 | 印刷指示方法および装置およびプログラム |
US20070179883A1 (en) * | 2006-01-18 | 2007-08-02 | Verdicash Inc. | System and method and computer readable code for visualizing and managing digital cash |
JP4785577B2 (ja) | 2006-03-17 | 2011-10-05 | キヤノン株式会社 | 情報処理装置及びその制御方法、プログラム |
JP4667280B2 (ja) | 2006-03-17 | 2011-04-06 | キヤノン株式会社 | 情報処理装置及びその制御方法、プログラム |
US20070260577A1 (en) * | 2006-03-30 | 2007-11-08 | Microsoft Corporation | Providing COM access to an isolated system |
JP4828296B2 (ja) * | 2006-04-27 | 2011-11-30 | 京セラミタ株式会社 | 印刷装置制御システム及びプリンタドライバ |
KR20080052357A (ko) * | 2006-12-07 | 2008-06-11 | 삼성전자주식회사 | 프린터 드라이버의 제어방법 및 이를 포함하는 네트워크인쇄시스템 |
US9239666B2 (en) * | 2007-09-12 | 2016-01-19 | Citrix Systems, Inc. | Methods and systems for maintaining desktop environments providing integrated access to remote and local resources |
JP4963663B2 (ja) | 2007-10-25 | 2012-06-27 | キヤノン株式会社 | 情報処理装置、情報処理方法、記憶媒体、プログラム |
JP5031514B2 (ja) | 2007-10-31 | 2012-09-19 | キヤノン株式会社 | データ処理装置およびデータ処理方法 |
JP5078686B2 (ja) | 2008-03-18 | 2012-11-21 | キヤノン株式会社 | 印刷設定処理装置及び印刷設定処理方法 |
JP5070101B2 (ja) | 2008-03-25 | 2012-11-07 | キヤノン株式会社 | 情報処理装置及びその制御方法、プリンタドライバプログラム |
KR101425439B1 (ko) * | 2008-04-23 | 2014-07-31 | 삼성전자주식회사 | 프린터 드라이버 팩키지를 생성하기 위한 단말장치 및드라이버 팩키지 생성방법 |
US8850052B2 (en) * | 2008-09-30 | 2014-09-30 | Apple Inc. | System and method for simplified resource sharing |
JP4661939B2 (ja) * | 2008-10-31 | 2011-03-30 | ブラザー工業株式会社 | 情報処理装置 |
US8928899B2 (en) * | 2011-02-24 | 2015-01-06 | Ricoh Company, Ltd. | Web services printer driver |
JP5787606B2 (ja) * | 2011-05-02 | 2015-09-30 | キヤノン株式会社 | 情報処理装置、情報処理方法、及びプログラム |
JP5979893B2 (ja) * | 2012-02-01 | 2016-08-31 | キヤノン株式会社 | 情報処理装置、制御方法、及びプログラム |
-
2011
- 2011-05-02 JP JP2011103005A patent/JP5787606B2/ja active Active
-
2012
- 2012-04-28 CN CN201210134592.7A patent/CN102768619B/zh active Active
- 2012-04-30 KR KR1020120045208A patent/KR101452572B1/ko active IP Right Grant
- 2012-04-30 US US13/459,709 patent/US9785445B2/en active Active
- 2012-05-01 EP EP12166309.0A patent/EP2521027B1/en active Active
-
2017
- 2017-09-07 US US15/698,524 patent/US10152332B2/en active Active
-
2018
- 2018-10-30 US US16/175,428 patent/US11016782B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030043396A1 (en) * | 2001-08-29 | 2003-03-06 | Klosterman Elliot L. | Printer driver access interface |
US20050157321A1 (en) * | 2004-01-20 | 2005-07-21 | Alacar Arthur E. | Printer driver plug-in module management system |
US20100238480A1 (en) * | 2009-03-17 | 2010-09-23 | Shigeki Fukunishi | Print processing system, printing processing method, printing processing program and storage medium |
US20100315662A1 (en) * | 2009-06-10 | 2010-12-16 | Ricoh Company, Limited | Printing apparatus and printing method |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103853578A (zh) * | 2012-11-28 | 2014-06-11 | 株式会社理光 | 信息处理系统及信息处理方法 |
CN105843644A (zh) * | 2016-03-24 | 2016-08-10 | 北京金山安全软件有限公司 | 一种应用程序安装方法、装置及电子设备 |
CN105843644B (zh) * | 2016-03-24 | 2020-01-10 | 珠海豹趣科技有限公司 | 一种应用程序安装方法、装置及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
KR20120124040A (ko) | 2012-11-12 |
US11016782B2 (en) | 2021-05-25 |
US10152332B2 (en) | 2018-12-11 |
US20190065215A1 (en) | 2019-02-28 |
JP5787606B2 (ja) | 2015-09-30 |
US9785445B2 (en) | 2017-10-10 |
US20120281245A1 (en) | 2012-11-08 |
CN102768619B (zh) | 2016-08-10 |
EP2521027B1 (en) | 2018-08-08 |
KR101452572B1 (ko) | 2014-10-22 |
JP2012234399A (ja) | 2012-11-29 |
US20170371682A1 (en) | 2017-12-28 |
EP2521027A1 (en) | 2012-11-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102768619A (zh) | 信息处理装置和信息处理方法 | |
EP1865409B1 (en) | Information processing apparatus, print controlling method, and computer-readable storage medium | |
CN101059754B (zh) | Java打印机 | |
CN100429613C (zh) | 打印设备控制方法和打印控制装置 | |
CN100593773C (zh) | 信息处理装置和打印设备控制方法 | |
JP5203978B2 (ja) | プリンタ、クライアント端末及びそれらの制御方法、プログラム | |
JP5127232B2 (ja) | データ処理装置、データ処理方法、及びコンピュータプログラム | |
JP5582721B2 (ja) | Web環境で動作するシステム及びその制御方法 | |
US20130148155A1 (en) | Relay server, relay server control method, and storage medium | |
CN101894003A (zh) | 信息处理设备和控制方法 | |
JP2004213111A (ja) | コンピュータプログラム | |
CN100368982C (zh) | 信息处理装置及图像形成系统 | |
JP2003091389A (ja) | 印刷制御方法及び装置 | |
CN102741802A (zh) | 信息处理装置、信息处理装置的控制方法、程序和存储介质 | |
JP2014109854A (ja) | 情報処理装置および制御方法およびプログラム | |
JP2006012124A (ja) | ジョブ管理装置、ジョブ管理システム、ジョブ管理プログラム及び記録媒体 | |
JP5972436B2 (ja) | 情報処理装置、情報処理方法、及びプログラム | |
JP4227614B2 (ja) | 印刷処理における自動認証方法及びそのシステム | |
JP6111728B2 (ja) | 画像形成出力制御システム、画像形成出力制御プログラム及び情報処理装置 | |
JP2019008673A (ja) | 情報処理装置およびドライバーインストール方法 | |
US20090217305A1 (en) | Printing control apparatus, printing control method, and computer-readable storage medium storing computer program | |
JP2003216366A (ja) | 情報処理装置及び情報処理方法及び印刷制御プログラム | |
JP2006171991A (ja) | 代行及び分散印刷システム | |
JP5136203B2 (ja) | 画像形成システム | |
JP2013131109A (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 |