CN102033723A - 信息处理装置及其方法 - Google Patents

信息处理装置及其方法 Download PDF

Info

Publication number
CN102033723A
CN102033723A CN2010105005821A CN201010500582A CN102033723A CN 102033723 A CN102033723 A CN 102033723A CN 2010105005821 A CN2010105005821 A CN 2010105005821A CN 201010500582 A CN201010500582 A CN 201010500582A CN 102033723 A CN102033723 A CN 102033723A
Authority
CN
China
Prior art keywords
driver
printer
print
signal conditioning
printed driver
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.)
Pending
Application number
CN2010105005821A
Other languages
English (en)
Inventor
中田浩晓
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Publication of CN102033723A publication Critical patent/CN102033723A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1204Improving or facilitating administration, e.g. print management resulting in reduced user or operator actions, e.g. presetting, automatic actions, using hardware token storing data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1224Client or server resources management
    • G06F3/1225Software update, e.g. print driver, modules, plug-ins, fonts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1244Job translation or job parsing, e.g. page banding
    • G06F3/1245Job translation or job parsing, e.g. page banding by conversion to intermediate or common format
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/126Job scheduling, e.g. queuing, determine appropriate device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1205Improving or facilitating administration, e.g. print management resulting in increased flexibility in print job configuration, e.g. job settings, print requirements, job tickets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1224Client or server resources management
    • G06F3/1228Printing driverless or using generic drivers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

本发明提供一种信息处理装置及其方法。本发明公开的该信息处理装置执行以下内容:将响应于来自用户的打印指令从应用接收到的数据,作为中间数据进行假脱机;控制针对与执行打印处理的目标打印机兼容的打印机驱动程序的安装处理;将假脱机的中间数据传递给所安装的打印机驱动程序;以及向所述目标打印机发送通过利用所安装的打印机驱动程序、由所传递的中间数据生成的打印作业。

Description

信息处理装置及其方法
技术领域
本发明涉及信息处理装置,尤其涉及这样一种系统,在其中,用户在打印时通过从设置的多台打印机中仅指定要使用的打印机而能够有效地执行打印。
背景技术
为了使诸如个人计算机的信息处理装置使用诸如打印机等的外围设备,通常需要并入(incorporate)与该外围设备兼容的特定设备驱动程序。这里,外围设备的示例包括打印机、扫描仪等。因此,如果使用多个外围设备,则必须并入数量与使用的外围设备的数量相等的设备驱动程序。每次并入设备驱动程序时,用户都要被强制执行繁琐的安装工作,以检查外围设备的IP地址并查找兼容的设备驱动程序。
为此,近年来,进行了“虚拟驱动程序”的研究和开发,所述“虚拟驱动程序”是不考虑外围设备的类型而能够被使用的公用设备驱动程序。例如,HP Universal Print Driver Series for Windows-overview andfeatures(http://h20338.www2.hp.com/hpsub/cache/342988-0-0-225-121.html)公开了以下方法,即从应用向虚拟打印机驱动程序发布打印指令,随后选择能够执行输出并执行打印的网络打印机。通过预先仅将虚拟打印机驱动程序唯一并入信息处理装置,能够使用与虚拟打印机驱动程序兼容的多个打印机。
然而,上述文章中示出的虚拟打印机驱动程序生成并发送命令,命令的格式要能够被多个兼容打印机共同处理。因此,与通过使用专门用于各打印机的功能的特定打印机驱动程序来执行打印的情况相比,用户能够选择的功能受到限制。另外,最后,对于不能解释或处理由虚拟打印机驱动程序生成并发送的命令的打印机而言,不能执行诸如打印的处理。
因此,本发明的目的在于克服在传统虚拟设备驱动程序方面存在的问题,并提供这样一种方法:用户在打印时通过从放置的多个打印机中仅指定要使用的打印机,使得在不需要对任意打印机的功能做任何特殊限制的情况下能够充分使用所述功能。
发明内容
为了解决上述问题,本发明提供了一种信息处理装置,该信息处理装置包括:假脱机单元,其被构造为将响应于来自用户的打印指令从应用接收到的数据,作为中间数据进行假脱机;安装控制单元,其被构造为控制针对与执行打印处理的目标打印机兼容的打印机驱动程序的安装处理;假脱机析取单元(despool unit),其被构造为将由所述假脱机单元假脱机的所述中间数据传递给由所述安装控制单元安装的所述打印机驱动程序;以及发送单元,其被构造为向所述目标打印机发送,利用由所述安装控制单元安装的所述打印机驱动程序、基于所述假脱机析取单元传递的所述中间数据而生成的打印作业。
从以下参照附图对示例性实施例的描述中,本发明的其他特征将变得清楚。
附图说明
被并入说明书中并构成说明书的一部分的附图,例示了本发明的实施例,并与文字描述一起,用于说明本发明的原理。
图1A是系统的结构图。
图1B是例示主计算机和输出设备的内部装置结构的框图。
图2是代表打印机驱动程序安装器的用户界面示例的图。
图3是代表关于打印机驱动程序、打印队列和端口的各信息以及打印机驱动程序、打印队列及端口之间的关系的图。
图4是例示针对一般打印机驱动程序的安装处理的流程图。
图5是例示本实施例中的针对虚拟/通用/专用打印机驱动程序的安装处理的流程图。
图6是打印处理的数据流的图。
图7是打印处理的序列图。
图8A、图8B、图8C、图8D和图8E是代表应用和打印作业管理器的用户界面示例的图。
图9是用户界面的转变图。
图10是输出准备处理的流程图。
图11是针对通用/专用打印机驱动程序的安装处理的流程图。
图12是打印队列整理处理的流程图。
图13是打印队列删除处理的流程图。
图14是在返回到输出设备指定对话框的情况下的序列图。
具体实施方式
现在,将根据附图来详细描述本发明的优选实施例。
图1A是例示根据本发明的实施例的网络系统的示意性结构的框图。该网络系统包括主计算机101、从该主计算机101接收作业并处理作业的外围设备、以及分发与外围设备兼容的设备驱动程序的分发服务器103。主计算机101、外围设备以及分发服务器103经由网络104连接。应当注意,在本实施例中,接收打印数据并执行打印的输出设备(打印机)被描述为外围设备。
图1B是例示图1A的主计算机101和输出设备102的装置结构的框图。
在主计算机101中,CPU 111根据存储在RAM 112中的程序,执行对连接到系统总线114的各设备的总体控制。该RAM 112还用作CPU 111的主存储器、工作区等。ROM 113存储各种程序和数据,并被构造为划分成存储各种字体的字体ROM 113a、存储引导程序及BIOS等的程序ROM 113b以及存储各种数据的数据ROM 113c。键盘控制器I/F 115控制来自键盘119和指示设备(鼠标)(未示出)的键输入。显示器I/F 116控制显示器120上的显示。外部存储器I/F 117控制例如对诸如硬盘(HD)或固态盘(SSD)的外部存储器121的访问。外部存储器121用作存储操作系统程序(下文中称OS)122并且还存储各种应用123、打印处理相关程序124以及用户文件和编辑文件(未示出)等的计算机可读存储介质。应当注意,假设在此使用Microsoft Windows(注册商标)作为OS 122。网络I/F 118经由网络104连接到输出设备102,并执行针对输出设备102的通信控制处理。应当注意,分发服务器103也包括与主计算机101类似的装置结构。
这里,根据本实施例,打印处理相关程序124成为包括打印作业管理器125、虚拟打印机驱动程序126、驱动程序安装器129等的程序区。通过任意手段下载这些程序并执行稍后描述的安装处理,使得能够进行基于这些程序的打印处理。另外,在打印处理相关程序124中,还包括要安装在信息处理装置中的通用打印机驱动程序127和专用打印机驱动程序128。虚拟打印机驱动程序是用于不是直接而是间接地针对实体输出设备来打印本实施例特有的文档的程序。由于该程序是间接程序,因此将该程序称作“虚拟”。然而,由于将虚拟打印机驱动程序126作为一般打印机驱动程序登记在OS 122上,因此用户能够以与通常打印作业过程类似的感觉来执行作业。另一方面,通用打印机驱动程序和专用打印机驱动程序被分类为一般打印机驱动程序。具体地,通用打印机驱动程序是能够针对多个型号(model)执行打印的打印机驱动程序。通用打印机驱动程序可以使用包含在兼容型号中的共有功能。另一方面,专用打印机驱动程序是仅与单个型号兼容的打印机驱动程序。专用打印机驱动程序能够最大程度地利用兼容型号的功能。
接着,将描述输出设备102的结构。CPU 132控制输出设备102的总体操作。RAM 139用作CPU 132的主存储器、工作区等,并且还用作输出信息扩展区和环境数据存储区。另外,该RAM 139还包括NVRAM(非易失性RAM)区,并被构造成使得可以利用连接到扩展端口(未示出)的可选RAM来扩展存储器容量。ROM 133包括存储各种字体的字体ROM 133a、存储由CPU 132执行的控制程序等的程序ROM 133b以及存储各种数据的数据ROM 133c。网络I/F 138将诸如打印作业和状况的数据发送到主计算机101,以及从主计算机101接收该数据。打印部I/F136控制与作为打印机引擎的打印部137的接口。由外部存储器I/F 140控制访问的外部存储器134包括可选择连接的硬盘(HD)、固态盘(SSD)等,并存储字体数据、仿真程序、表单数据等。另外,还可以存储根据本实施例的专用打印机驱动程序128。应当注意,如果未连接诸如硬盘的外部存储器134,则将主计算机101中使用的信息等存储在ROM 133的数据ROM 133c中。应当注意,该外部存储器134并不限制为一个,可以包含多个外部存储器134。例如,可以采用这样一种结构,即除了内置字体外,可以连接多个可选字体卡,以及存储有利用不同语言系统解释打印机控制语言的程序等的多个外部存储器。在操作部142上,提供接受用户操作的操作屏,在该操作屏上布置有用于操作的开关、LED显示单元等(未示出)。另外,可以包括NVRAM(未示出),使得可以存储来自操作屏的打印机模式设置信息。CPU 132基于存储在ROM 133的程序ROM 133b中的控制程序等,将图像信号作为输出信息经由打印部I/F136输出到打印部137。另外,CPU 132可以经由网络I/F 138进行与主计算机101的通信处理。CPU 132被构造为能够接收从主计算机101发送的打印数据,并且还向主计算机101通知输出设备102中的信息等。
图2是图1B的驱动程序安装器129中包含的用户界面200。当执行驱动程序安装器129时,在显示器120上显示用户界面200。在打印机列表201中,显示可安装的打印机驱动程序的列表。
设备型号(Devic Model)A是与型号A的输出设备兼容的专用打印机驱动程序。
Devic Model B是与型号B的输出设备兼容的专用打印机驱动程序。
Devic Model C是与型号C的输出设备兼容的专用打印机驱动程序。
Devic Model D是与型号D的输出设备兼容的专用打印机驱动程序。
通用设备型号(Generic Device Model)1是与型号A和B兼容的通用打印机驱动程序。
Generic Device Model 2是与型号C和D兼容的通用打印机驱动程序。
虚拟设备型号(Virtual Device Model)是不仅与型号A、B、C和D而且与所有输出设备均能够兼容的虚拟打印机驱动程序。
用户选择任意型号,并按下添加按钮202,以将所选择型号添加到要安装的打印机列表203。接着,当用户按下安装按钮204时,驱动程序安装器129安装指定型号的打印机驱动程序。
图3是描述通过使用UML(统一建模语言,Unified ModelingLanguage)对象图表现的、关于打印机驱动程序、打印队列和端口的各信息以及打印机驱动程序、打印队列和端口之间的关系的图。
打印队列302是作为当从应用执行打印时要打印的目标的对象。可以从相同型号的打印机驱动程序301创建多个打印队列302。例如,如果在办公室中引进了3个Device Model A的输出设备,则安装与DeviceModel A兼容的一个打印机驱动程序,并且创建使用该打印机驱动程序的3个打印队列。端口303是指定网络中的输出目的地的对象。虽然打印队列与端口之间的关系通常为一对一的关系,但是多个打印队列可以使用同一端口,如图中所示。
打印机驱动程序301保持打印机驱动程序结构信息304。打印机驱动程序结构信息304包含驱动程序版本、型号名称、硬件信息、驱动程序模块名称等。由OS 122管理该打印机驱动程序结构信息304。
打印队列302保持打印队列结构信息305。打印队列结构信息305包括打印队列名称、端口名称、打印设置信息、作业输入时间、作业状况等。由OS 122管理该打印队列结构信息305。另外,打印队列302还保持本实施例特有的自动生成标识符306以及更新日期和时间307。由打印作业管理器125管理这些信息。稍后将详细描述。
端口303保持端口结构信息308。端口结构信息308包括端口名称、模块名称、IP地址等。由OS 122管理该端口结构信息308。
图4是例示由图1B的驱动程序安装器129执行的针对一般打印机驱动程序的安装处理的流程图。一般打印机驱动程序是指专用打印机驱动程序和通用打印机驱动程序。
当开始安装打印机驱动程序时(S400),首先,接受用户作出的型号选择(S401)。这里,假设已在图2的打印机列表201中选择了除VirtualDevice Model以外的型号的情况。稍后将在图5中描述还包括本实施例特有的Virtual Device Model的选择的安装处理。当接受对专用打印机驱动程序和通用打印机驱动程序中一者的选择时,安装所选择型号的打印机驱动程序(S402)。由打印机驱动程序安装器将设置文件(INF文件)的路径传递给作为OS的安装API的假脱机程序(spooler)API,来执行在S402中的打印机驱动程序的安装。作为OS的一部分的假脱机程序API根据所述设置文件,从CD-ROM或安装组件中搜索打印机驱动程序中包含的DLL(动态链接库)。然后,假脱机程序API将搜索到的DLL复制到OS的预定系统目录。假脱机程序API根据设置文件将驱动程序名称等记录在登记表(registry)中。应当注意,当从应用发布了显示打印机文件夹的指令或者发布了显示打印机选择UI(例如图8A等)的指令时,假脱机程序API扫描要登记在OS的登记表中的打印队列的数据结构。如果已设置了对应于打印机驱动程序的打印队列,则假脱机程序API在显示器上显示打印队列。应当注意,这里,由于尚未创建和设置打印队列,因此在OS的用户界面(例如打印机选择UI)中,尚未显示当前要安装的打印机驱动程序的打印机图标。
接着,从用户接受诸如IP地址的端口信息的输入(S403)。然后,创建端口(S404)。接着,从用户接受打印队列名称的输入(S405)。然后,将在S402中安装的打印机驱动程序和在S404中创建的端口相互关联,并且创建打印队列(S406)。然后,结束针对专用打印机程序和通用打印机驱动程序的安装处理(S407)。
图5是例示由图1B的驱动程序安装器129执行的、针对本实施例特有的打印机驱动程序的安装处理的流程图。
当开始打印机驱动程序的安装时(S500),首先,接受用户作出的型号选择(S501)。然后,确定所选择的型号是否是虚拟打印机驱动程序(S502)。如果所选择的型号不是虚拟打印机驱动程序,则执行针对专用/通用打印机驱动程序的安装处理(S503)。在S503中,执行与图4的S402中以及之后的处理类似的处理。然后,结束该安装处理(S516)。
在S502中,如果所选择的型号是虚拟打印机驱动程序,则安装虚拟打印机驱动程序(S504)。由于虚拟打印机驱动程序自身不向端口输出打印数据,因此无需来自用户的任何输入而创建哑端口(dummy port)(S505)。这里,哑端口的创建是例如如下处理。指定适当的名称(例如不存在的文件名称),并且向OS发布创建端口的指令。然后,OS将该创建指令识别为错误,并且丢弃已发布创建指令的端口名称。因此,并不实际地创建端口。由于不需要针对虚拟打印机驱动程序创建多个打印队列,因此无需来自用户的任何输入、而用与型号名称相同的名称来创建打印队列(S506)。当在图4中描述了针对一般打印机驱动程序的安装处理时,在S401、S403和S405中有来自用户的3次输入。另一方面,在针对本实施例特有的打印机驱动程序的安装处理中,仅在S501中有来自用户的1次输入。如果驱动程序安装器129是仅以虚拟打印机驱动程序作为目标的程序,则也不需要S501。换言之,针对虚拟打印机驱动程序的安装处理的方法具有削减用户负担和运营成本的效果。
虚拟打印机驱动程序不向端口输出打印数据。因而,设置通用打印机驱动程序,以最低限度地确保打印。接着,将描述针对通用打印机驱动程序的安装处理。
在S507至S510中列举安装组件中包含的所有通用打印机驱动程序。在图2的打印机列表201中,作为通用打印机,存在通用设备型号(GenericDevice Model)1和Genric Device Model 2。因此,在第一循环处理中,提取Generic Device Model 1,在第二循环处理中,提取Generic DeviceModel 2。确定所提取的通用打印机驱动程序是否已经安装在主计算机101中(S508)。如果所提取的通用打印机驱动程序尚未安装,则安装所提取的通用打印机驱动程序(S509)。此时,由于未创建使用通用打印机驱动程序的打印队列,因此用户没有意识到通用打印机驱动程序的安装。然后,处理进入到S510。当循环处理结束时,该安装处理结束(S516)。
在S508中,如果所提取的通用打印机驱动程序已经安装在主计算机101中,则获取所安装的通用打印机驱动程序的版本(S511)。基于版本号确定是否可以继续使用该通用打印机驱动程序(S512)。如果确定可以继续使用该通用打印机驱动程序,则处理进入到S510。当循环处理结束时,该安装处理结束(S516)。
在S512中,如果确定不能继续使用所安装的通用打印机驱动程序,则卸载所安装的通用打印机驱动程序(S513)。该卸载包括以下处理:从OS管理的预定系统目录中删除该通用打印机驱动程序的DLL,清除OS的对应于该通用打印机驱动程序的登记表等。在这种情况下,预先备份关于打印队列和端口的信息。然后,安装所提取的通用打印机驱动程序(S514)。另外,通过使用在S514中安装的通用打印机驱动程序,来恢复在执行S513的处理之前使用所安装的通用打印机驱动程序构造的打印队列(S515)。这里,恢复处理是指用于将直到此时的打印队列的名称、端口的指定等、反映为要新安装的通用打印机驱动程序的设置的处理。还可以显示要恢复的信息,以使用户在驱动程序安装器、OS等的用户界面中选择信息。接着,处理进入到S510。当循环处理结束时,该安装处理结束(S516)。
如上所述,当驱动程序安装器129安装虚拟打印机驱动程序并创建其打印队列时,自动安装通用打印机驱动程序。应当注意,在描述中,S507中以及之后的针对通用打印机驱动程序的安装处理由图1B的驱动程序安装器129来执行。然而,S507中以及之后的针对通用打印机驱动程序的安装处理可以在针对虚拟打印机驱动程序126的初始化处理中执行。另外,S507中以及之后的针对通用打印机驱动程序的安装处理可以在打印机驱动程序安装模块(未示出)中执行,所述打印机驱动程序安装模块通常称作“VendorSetup”并从OS 122调用。
图6是与本发明中的打印控制处理有关的数据流的图。通过利用该图,将阐明在打印处理相关程序的各组件之间执行何种输入和输出。
应用123通过GDI(图形设备接口)600(作为OS 122提供的绘制接口)向虚拟打印机驱动程序126输出打印指示命令。接着,虚拟打印机驱动程序126将输入的打印指示命令转换成EMF(增强元文件,Enhanced Meta File)601的格式,并将命令输出给打印作业管理器125。这里,EMF 601是与GDI 600的打印指示命令兼容的中间数据格式,在其中,将从应用123输出的一系列打印指示命令记录为可再现数据。在本实施例的描述中,使用EMF 601作为中间数据格式。然而,利用能够再现打印指示命令的数据,可以采用例如XPS(XML文件规格)、PDF(便携式文档格式)或者被唯一定义的任意格式。
接着,打印作业管理器125执行固有处理(unique process),诸如稍后描述的输出设备的指定以及通用/专用打印机驱动程序的管理,并通过GDI 600输出打印指示命令。将输出的打印指示命令输入给通用打印机驱动程序127和专用打印机驱动程序128中的一者。接着,通用打印机驱动程序127和专用打印机驱动程序128中的一者将打印指示命令,转换成能够被输出设备102处理的PDL(打印机描述语言)602的格式,并且将打印指示命令作为作业输出到输出设备102。最后,输出设备102处理输入的PDL 602并执行打印输出。
图7是打印处理的序列图。通过利用该图,将阐明在一系列打印处理中相关程序的各组件内部以及之间执行何种处理。
首先,用户通过图8A所示的用户界面8000,将针对期望打印的文档的打印指令输入给应用123(S700)。在代表打印队列的图标8001至图标8003中,图标8001是虚拟打印机驱动程序的打印队列。图标8002和图标8003是专用打印机驱动程序的打印队列。这里,由于通过虚拟打印机驱动程序来执行输出,因此用户选择图标8001,按下打印按钮8004,并发布打印指令(S700)。
接着,应用123执行针对虚拟打印机驱动程序126的打印初始化处理(S701)。当执行打印初始化时,虚拟打印机驱动程序126执行用于启动打印作业管理器125的处理(S702)。这样,打印作业管理器125是在开始针对虚拟打印机驱动程序126的文档打印后启动的程序。打印作业管理器125负责固有处理,例如针对稍后描述的输出设备的指定的显示控制、通用/专用打印机驱动程序的安装控制,或者通用/专用打印机驱动程序的管理。另外,打印作业管理器125包括输出设备指定部1251、驱动程序管理部1252和假脱机析取(despool)处理部1253作为内部组件。
接着,当启动打印作业管理器125时,应用123开始针对虚拟打印机驱动程序126的打印,并通过GDI 600输出一系列打印/绘制命令(S703)。虚拟打印机驱动程序126将输入的一系列打印/绘制命令转换成EMF 601的格式,并将输入的该系列打印/绘制命令保存在外部存储器121中,使得稍后可以再现打印/绘制命令。该处理称作“假脱机处理”(S704)。应用123在该系列打印/绘制命令结束时执行打印结束处理(S705)。响应于该打印结束处理,虚拟打印机驱动程序126将关于所保存的EMF 601在外部存储器121中的保存位置信息,通知给打印作业管理器125。应当注意,虽然在S704中针对外部存储器121执行了假脱机处理,但是可以不涉及外部存储器121而针对打印作业管理器125直接执行假脱机处理。
接着,输出设备指定部1251检索输出设备(S707)。这里,检索意味着与连接至网络104的输出设备102a和102b通信,并获取关于输出设备102a和102b的名称、设置位置、IP地址和硬件ID的信息。作为通信手段,使用作为已知技术的诸如SNMP(简单网络管理协议)的协议。通常,不能预先掌握输出设备102a和102b的状态,即输出设备102a和102b是否通电以及输出设备102a和102b是否连接到网络104。因此,对于每条打印指令,输出设备指定部1251均试图与所有输出设备通信。就与网络中所有设备的通信而言,使用广播手段(也是已知技术)。当输出设备指定部1251通过网络I/F 118利用该广播方法发送SNMP的信息获取数据时,网络104中所有可达的输出设备102均接收该信息获取数据。然后,当各输出设备102将关于被指定为获取目标的输出设备的名称、设置位置等的信息、作为响应数据通过网络I/F 138进行发送时,输出设备指定部1251顺序地接收所述响应。然后,将接收到的信息保存在RAM 112中。输出设备指定部1251从顺序接收的响应中提取关于设备名称、设置位置等的信息,并将信息作为列表显示在用于输出设备指定的图8B的用户界面8100中(S708)。在用户界面8100中,布置用于显示信息的列表控制8101,并且可以通过光标8102选择一项信息。当按下按钮8103时,再次在网络中执行检索,并且可以将可用的输出设备的列表更新到最新状态。当按下按钮8104时,决定由光标8102当前选择的设备作为输出目的地。输出设备指定部1251接受该决定(S709)并移动至下一处理。用户在管理打印队列时操作复选框8105和按钮8106。稍后将描述复选框8105和按钮8106的操作方法。
当在S709中决定作为输出目的地的设备时,输出设备指定部1251请求驱动程序管理部1252执行输出准备处理(S710)。作为S711中的输出准备处理的结果,将能够执行针对所选择的输出设备102的打印的通用打印机驱动程序127和专用打印机驱动程序128(未示出)中的一者的打印队列,登记在OS 122中。稍后通过利用图10和图11来详细描述输出准备处理(S711)。
接着,输出设备指定部1251执行从图8B的用于输出设备指定的画面到包含在假脱机析取处理部1253中的图8C的画面8200的转变(S712)。假脱机析取处理部1253在预览区域8201中显示实际打印的打印文档的图像(S713)。通过假脱机析取处理部1253读取并分析在S704中假脱机的EMF 601并且将EMF 601绘制为适合于预览区域8201的大小,来给出此时显示的图像。旋转(spin)控制8202和复选框8203是分别改变诸如打印份数和黑白打印的一般打印设置的输入手段。另外,为了改变特殊的打印设置,可以通过按下按钮8204来显示打印机驱动程序固有的用户界面(未示出),并且可以输入改变打印设置的指令。此时,如果对应于输出目的地的打印队列是专用打印机驱动程序128的打印队列,则与通用打印机驱动程序127的打印队列相比,能够进行更高级的打印设置。按钮8206是执行从当前画面8200转变回到作为在前画面的输出设备指定画面8100的输入单元。当用户按下按钮8205时(S714),假脱机析取处理部1253执行针对通用打印机驱动程序127的假脱机析取处理,并且发布一系列的打印/绘制命令(S715)。这里,假脱机析取处理与假脱机处理相逆,并且是从S706中通知的保存位置信息中读取并分析EMF 601的数据,并再现打印/绘制命令。由此,重新开始针对打印作业管理器125固有的处理已被暂停的打印处理,并且输出打印文档。通用打印机驱动程序127将输入的打印/绘制命令转换成PDL 602,并通过网络I/F 138将输入的打印/绘制命令发送至输出设备102(S716)。当打印处理结束时,输出设备指定部1251请求(S717)驱动程序管理部1252执行打印队列整理处理(S718)。稍后将利用图12至图14来详细描述打印队列整理处理(S718)。最后,打印作业管理器125结束程序。
图9例示了打印作业管理器125中的用户界面的转变概况。
首先,打印作业管理器125显示“输出设备指定”对话框8100。响应于对输出设备的指定以及“下一个”按钮8104的按下,打印作业管理器125显示“编辑预览”对话框8200。在“编辑预览”对话框8200中,能够进行打印作业的预览和确认以及基本打印设置。响应于“打印”按钮8205的按下,打印作业管理器125执行针对输出设备的打印,并关闭该同一对话框。此外,在“编辑预览”对话框8200中,存在用于设置打印机驱动程序中包含的特定功能的“详细设置”按钮8204。响应于“详细设置”按钮8204的按下,打印作业管理器125显示针对打印机驱动程序的“打印设置”对话框9000。此外,在“编辑预览”对话框8200中,存在“返回”按钮8206。存在该“返回”按钮8206是为了在发现不能通过当前输出目的地设备实现期望功能的情况下对输出设备进行重新设置。响应于“返回”按钮8206的按下,打印作业管理器125显示“输出设备指定”对话框8100,并且能够再次指定输出设备。
图10是代表驱动程序管理部1252中的输出准备处理(S711)的详细流程的流程图。根据该处理,如果存在针对输出设备102执行打印的打印队列,则选择该打印队列。否则,创建新的打印队列或者安装最佳的打印机驱动程序。
首先,当驱动程序管理部1252开始输出准备处理时(S1000),驱动程序管理部1252获取关于输出设备102的IP地址信息(S1001)。提取在输出设备检索处理(S707)中获取的并存储在RAM 112中的IP地址信息。接下来,从登记在OS 122中的所有打印队列中,获取与打印队列相关联的端口的IP地址(S1002至S1004)。
接着,确定是否存在端口的IP地址与输出设备102的IP地址一致的打印队列(S1005)。稍后将要描述,在本系统中,针对各个输出设备创建打印队列。然而,如果每次针对同一输出设备执行打印时都要创建又一打印队列,则重复登记大量的打印队列。为了避免这种情况,通过比较输出设备的IP地址与所有打印队列的IP地址,来确定在现有打印队列中是否存在能够进行输出的打印队列。如果存在能够进行输出的打印队列,则处理进行到S1006。如果不存在能够进行输出的打印队列,则处理进行到S1011。
接着,在S1006中,进一步确定模式是否是用于使通用打印机驱动程序优先的模式。能够进行针对期望输出设备102的输出的打印队列,还可以包括专用打印机驱动程序128的打印队列。然而,某些用户不需要任何高级功能,并且希望使用简单稳定的通用打印机驱动程序127。因此,例如,可以想到提供能够通过用户界面(未示出)来切换是否使通用打印机驱动程序优先的模式。如果该模式为真,也即,使得通用打印机驱动程序优先,则处理进行到S1007。否则,处理进行到S1009。
接着,在S1007中,获取打印队列的型号名称。然后,确定设备是否也具有针对通用打印机驱动程序的型号名称(S1008)。虽然用户可以改变打印队列的名称,但是通用打印机驱动程序的型号名称是固有名称,例如“Generic Device Model 1”。因此,如果已知打印队列的型号名称,则可以确定驱动程序的类型。在通用打印机驱动程序的情况下,处理进行到S1009。否则,处理进行到S1010。
如果处理进行到S1009,则决定在S1005中找到的现有打印队列作为输出目的地,并且结束输出准备处理(S1014)。
如果处理进行到S1010,即如果确定现有打印队列是针对专用打印机驱动程序的,则决定在图11中稍后描述的处理中优先安装通用打印机驱动程序,并且处理进行到S1013。
在S1011中,与S1006类似,确定模式是否是使通用打印机驱动程序优先的模式。如果为真(是),则处理进行到S1010。如果为假,则处理进行到S1012。在S1012中,决定在图11中稍后描述的处理中检索最合适的驱动程序并进行安装,然后处理进行到S1013。这里,在S1012中,由于在现有打印队列中不存在能够进行输出的打印队列,并且模式也不是使通用打印机驱动程序优先的模式,因此决定优先安装最合适的驱动程序(专用打印机驱动程序)。
下面,将利用图11来详细描述针对通用/专用打印机驱动程序的安装处理(S1013)。
图11是代表针对驱动程序管理部1252中的通用/专用打印机驱动程序的安装处理(S1013)的详细流程的流程图。
首先,当驱动程序管理部1252开始处理时(S1100),驱动程序管理部1252创建用于输出的端口(S1101)。接着,确定是否决定优先安装图10的专用打印机驱动程序(S1102)。如果为真,则处理进入到S1103。如果为假,则处理进入到S1108。这里,确定为真并且处理进入到S1103的情况是处理从图10中的步骤S1012转到S1013中的处理的情况。另一方面,确定为假并且处理进入到S1108的情况是处理从图10中的步骤S1010转到S1013中的处理的情况。S1103至S1107是以下步骤,在其中,从主计算机101、分发服务器103以及输出设备102a和102b中的一者中包含的存储区域中检索最适合于输出的专用打印机驱动程序128。首先,在S1103中,获取关于输出设备的硬件信息。在本实施例中,获取用于即插即用安装的硬件ID作为硬件信息。提取在输出设备检索处理(S707)中已经获取并被存储在RAM 112中的硬件ID。
接着,在S1104中,确定在所安装的打印机驱动程序中是否存在合适的打印机驱动程序。具体地,驱动程序管理部1252将关于已经登记在OS 122中的各打印机驱动程序的硬件信息,与在S1103中已经获取到的关于输出设备102的硬件信息进行比较,并且如果存在与关于输出设备102的硬件信息一致的打印机驱动程序,则取得所有这类打印机驱动程序。如果存在一个或更多个合适的打印机驱动程序,则处理进入到S1116。否则,处理进入到S1105。
接着,在S1105中,确定在驱动程序存储库中是否存在合适的打印机驱动程序。驱动程序存储库是在Windows Vista(注册商标)中引入的、设备驱动程序的数据库系统,并且是将安装前的设备驱动程序包存储在OS 122中的机构。驱动程序管理部1252可以向OS 122询问,在该驱动程序存储库中存储的打印机驱动程序中,是否存在与在S1103中获取到的关于输出设备102的硬件信息一致的打印机驱动程序。作为询问的结果,如果存在一个或更多个合适的打印机驱动程序,则处理进入到S1112。否则,处理进入到S1106。
接着,在S1106中,确定在分发服务器103中是否存在合适的打印机驱动程序。驱动程序管理部1252可以通过网络104,借助PRC(远程过程调用)和HTTP(超文本传输协议)等中的一种手段,向驱动程序分发服务器103询问是否存在与某一硬件信息相符的打印机驱动程序。作为询问的结果,如果存在一个或更多个合适的打印机驱动程序,则将打印机驱动程序包从分发服务器103传送到主计算机101并存储在外部存储器121中,然后处理进入到S1112。否则,处理进入到S1107。
接着,在S1107中,通过在输出设备102中检索驱动程序,来确定是否存在合适的驱动程序。如上所述,输出设备102可以将使用输出设备自身所需的专用打印机驱动程序128存储在外部存储器134中。驱动程序管理部1252还可以通过网络104,借助与S1106中的手段类似的手段,询问关于存储在输出设备102中的该打印机驱动程序。作为询问结果,如果存在一个或更多个合适的打印机驱动程序,则将专用打印机驱动程序128的数据从输出设备102传送到主计算机101,并存储在外部存储器121中,然后处理进入到S1112。作为询问结果,如果确定由于外部存储器134的设置改变等而擦除了专用打印机驱动程序128,因而不存在合适的打印机驱动程序,则处理进入到S1108。
在S1108到S1111中,作为根据在如上所述的S1103至S1107中的一系列处理的结果、尚未在任何地方发现合适的打印机驱动程序的情况下的替代手段,创建在S500至S516中已经预先安装的通用打印机驱动程序的打印队列。首先,驱动程序管理部1252经由网络104获取关于输出设备102的命令类型信息(S1108),并执行命令类型信息的确定(S1109)。这里,命令类型信息是代表可以被输出设备102处理的PDL602的类型的信息。虽然通用打印机驱动程序127是发布可以被输出到多个型号的PDL的驱动程序,但是通用打印机驱动程序127仅能够发布一种类型的PDL。因此,由于不能针对支持不同PDL的型号执行输出,因此获取命令类型信息以确认兼容性。在本实施例中,假设使用与两种类型的PDL(“1”和“2”)中的任意一种兼容的输出设备。然而,还存在不能兼容的命令类型信息。在S1109中,确定命令类型信息是“1”、“2”还是其他类型。在“1”的情况下,处理进入到S1110,在“2”的情况下,处理进入到S1111。在S1110中,创建与命令类型“1”兼容的“GenericDevice Model 1”的打印队列,然后结束处理(S1118)。在S1111中,创建与命令类型“2”兼容的“Generic Device Model 2”的打印队列,然后结束处理(S1118)。应当注意,当创建打印队列时,在S1101中创建的端口与打印队列相关联。另一方面,如果在S1109中确定已经获取到除“1”和“2”以外的命令类型信息,则经由画面向用户通知诸如“请选择其他输出设备”的警告,然后结束该处理(S1118)。
在S1112至S1114中,作为检索结果,安装合适的专用打印机驱动程序128。首先,在S1112中,确定是否已经找到两个或更多个合适的打印机驱动程序。如果为真,则处理进入到S1113,而如果为假,则处理进入到S1114。在S1113中,从所述两个或更多个合适的打印机驱动程序中选择最新版本的打印机驱动程序作为要安装的目标。已经为各打印机驱动程序给予了版本,如果在不同时间创建了打印机驱动程序,则即使相同型号的打印机驱动程序通常也具有不同版本。作为表示版本的方法,例如,用日期和数值的组合(诸如“10/10/2008.2.5.0.0”)来表示版本,从而能够容易地确定哪个版本被新创建。然而,偶尔可能须要使用较旧版本的驱动程序。在这种情况下,显示如图8D所示的这种用户界面8300,从而使用户可以选择打印机驱动程序。在列表8301中,显示关于已经被确定为合适的多个打印机驱动程序的信息(名称和版本)。用户可以从列表8301中选择期望的打印机驱动程序,并且可以通过按下按钮8302来决定选择。接着,在S1114中,安装合适的打印机驱动程序,或者如果存在多个合适的打印机驱动程序,则安装在S1113中选择的打印机驱动程序。
这里,S1116和S1117是与S1112至S1114的特殊情况有关的处理。具体地,所述处理是在尚未创建打印队列的已安装打印机驱动程序中存在合适的打印机驱动程序的情况下的处理。S1116是与S1112类似的处理,S1117是与S1113类似的处理。因为不再需要打印机驱动程序的安装,所以不需要S1114。最后,在S1115中,创建与在S1101中创建的端口相关联的打印队列,然后结束处理(S1118)。
如上所述,在打印时,打印作业管理器125将打印队列登记在OS 122中。在下一个以及后续打印中,如果已经知道输出设备,则可以在不涉及虚拟打印机驱动程序126的情况下直接指定打印队列,并且可以在不需要指定输出目的地设备的步骤的情况下、以普通过程执行打印。然而,如果在办公室中设置了许多输出设备,或者如果用户在多个办公室间移动的同时执行打印,则每次都要创建打印队列,因此打印队列的数量趋于增加。
另外,如在图9的用户界面的转变中所示,打印作业管理器125可以任意次数地重复在“输出设备指定”对话框8100与“编辑预览”对话框8200之间的转变。如果在主计算机101中不存在针对在“输出设备”列表框8101中选择的输出设备的打印队列,则在每次执行转变时,打印作业管理器125都新创建打印队列。因此,当重复按下“返回”按钮8206时,主计算机101上的打印队列的数量进一步趋于增加。
当主计算机101上的打印队列的总数变大时,在打印时最初显示的“打印”对话框8000中显示的打印队列的数量变大。因此,用户难以选择适当的打印机。因此,可以对自动生成的打印队列执行删除等的管理手段能够提高实用性。
图8E例示了“删除方法指定”对话框8400。
响应于“输出设备指定”对话框8100上的“详细设置”按钮8106的按下,打印作业管理器125在显示器120上显示“删除方法指定”对话框8400。响应于同一对话框上的“确定”按钮8407的按下,打印作业管理器125关闭“删除方法指定”对话框8400。接着,显示图8B中所示的“输出设备指定”对话框8100,并且打印作业管理器125将处理移到对话框8100。
在“删除方法指定”对话框8400中,存在“指定删除方法”复选框8401。该复选框8401在初始状态下未被选中。当该复选框8401被选中时,使项8402至8405有效,并且能够进行针对打印队列的删除方法的详细指定。
对于针对打印队列的删除方法的详细指定,在“删除方法指定”对话框8400中,存在“保持选择的打印队列”单选按钮8402以及“保持最新的打印队列”单选按钮8404。对于这两个单选按钮的指定是排他性的。如果选择了“保持选择的打印队列”单选按钮8402,则“保持最新的打印队列”单选按钮8404被设置在未选择状态。另外,与之相反,如果选择了“保持最新的打印队列”单选按钮8404,则“保持选择的打印队列”单选按钮8402被设置在未选择状态。在默认状态下,“保持选择的打印队列”单选按钮8402处于被选择状态。
如果“保持选择的打印队列”单选按钮8402处于被选择状态,则能够进行在列表框8403中的选择。打印作业管理器125列出主计算机101上现有的打印队列中的、由驱动程序管理部1252创建的打印队列,并在列表框8403中显示由驱动程序管理部1252创建的打印队列。然而,由于Virtual Device Model 8001并未由驱动程序管理部1252创建并且是特殊的,因此作为虚拟打印机驱动程序126的打印队列的Virtual DeviceModel 8001未被包含在该列表中。如果在“保持选择的打印队列”单选按钮8402处于被选择状态时按下“确定”按钮8407,则打印作业管理器125识别列表框8403中未被选择的打印队列作为要删除的目标。
如果“保持最新的打印队列”单选按钮8404处于被选择状态,则能够进行“数量”旋转框8405中的指定。如果当“保持最新的打印队列”单选按钮8404处于被选择状态时按下“确定”按钮8407,则打印作业管理器125识别能够进行“数量”旋转框8405中的设置。在该设置中被设置为待删除目标的打印队列被限制为由驱动程序管理部1252在主计算机101上创建的打印队列,这与利用“保持选择的打印队列”单选按钮8402的选择类似。在该设置中,保持直到指定数量的具有最新使用日期和时间的打印队列,并且删除其他打印队列。另外,类似地,也不包括作为虚拟打印机驱动程序126的打印队列的Virtual Device Model 8001。
此外,在“删除方法指定”对话框8400中,存在“删除不必要的打印机驱动程序”复选框8406。在默认状态下,该复选框8406未被选中。如果在该复选框8406被选中的状态下按下“确定”按钮8407,则打印作业管理器125确定接受用于删除不再与打印队列相关联的打印机驱动程序自身的请求。基于在“删除方法指定”对话框8400中设置的信息,打印作业管理器125请求驱动程序管理部1252执行打印机驱动程序整理处理。稍后,将通过利用图12的流程图,来详细描述打印机驱动程序整理处理。
图12例示了由驱动程序管理部1252执行的打印队列整理处理的流程图。在本实施例中,在打印完成后的打印队列整理处理(S718)的定时,由驱动程序管理部1252按照图7所示的打印处理的序列执行该处理。
在S1200中开始打印队列整理处理。驱动程序管理部1252将表示由驱动程序管理部1252自动生成了打印队列的自动生成标识符306,添加到打印队列302的数据结构中。另外,驱动程序管理部1252在打印队列302的数据结构中的更新日期和时间307中描述当前日期和时间(S1201)。
接着,在图7的假脱机析取(S715)的定时,如果已自动生成了在实际打印/绘制中使用了的打印队列,则将打印队列302的数据结构中的更新日期和时间307更新为当前日期和时间(S1202)。驱动程序管理部1252一次性获取在图7的输出准备处理(S711)的定时新创建的所有打印队列的列表(S1203)。在此,该列表称作“删除候选打印队列列表”。
驱动程序管理部1252确认“输出设备指定”对话框8100中的“保持已执行了打印的打印队列”复选框8105是否处于被选择状态(S1204)。如果“保持已执行了打印的打印队列”复选框8105处于未选择状态,则处理进入到S1206。如果“保持已执行了打印的打印队列”复选框8105处于被选择状态,则在删除候选打印队列列表中存在任何在实际打印/绘制中使用了的打印队列的情况下,驱动程序管理部1252消除该打印队列(S1205),随后处理进入到S1206。根据该处理,在图7的假脱机析取(S715)的定时,可以从删除候选中消除在实际打印/绘制中使用了的打印队列。
驱动程序管理部1252确认“指定删除方法”复选框8401是否处于被选择状态。如果“指定删除方法”复选框8401处于未选择状态,则由于在图8E的“删除方法指定”对话框8400中未指定另外的具体删除方法,因此处理进入到S1213。接着,驱动程序管理部1252将删除候选打印队列列表中的打印队列删除(S1213),然后结束打印队列整理处理(S1214)。稍后将利用图13来描述用于在S1213中删除删除候选打印队列列表中的打印队列的处理。另一方面,如果“指定删除方法”复选框8401处于被选择状态,则依据“保持选择的打印队列”单选按钮8402和“保持最新的打印队列”单选按钮8404中的一者的被选择状态,来切换处理流程(S1207)。
如果“保持选择的打印队列”单选按钮8402处于被选择状态,则处理进入到S1208。在S1208中,驱动程序管理部1252从删除候选打印队列列表中消除在列表框8403上选择的打印队列。接着,驱动程序管理部1252将删除候选打印队列列表中的打印队列删除(S1213),然后结束打印队列整理处理(S1214)。
如果“保持最新的打印队列”单选按钮8404处于被选择状态,则处理进入到S1209。在S1209中,驱动程序管理部1252一次性清除删除候选打印队列列表。接着,驱动程序管理部1252获取主计算机101上现有的打印队列中的、包含自动生成标识符306的打印队列的列表(S1210)。驱动程序管理部1252将所获取的打印队列列表中的打印队列的数量,与“数量”旋转框8405中指定的数值进行比较(S1211)。如果打印队列的数量未超过指定数量,则处理进入到S1214,然后结束打印队列整理处理。如果打印队列的数量超过了指定数量,则按照更新日期和时间307对所获取的打印队列的列表进行排序,并且将超出数量的打印队列按照日期和时间的升序设置在删除候选打印队列列表中(S1212)。接着,驱动程序管理部1252将删除候选打印队列列表中的打印队列删除(S1213),然后结束打印队列整理处理(S1214)。
图13例示了由驱动程序管理部1252执行的打印队列删除处理的流程图。该流程图例示了图12的打印队列整理处理的流程图中的S1213中的详细处理。
在S1300中开始该处理。驱动程序管理部1252通过调用由OS 122提供的功能,来获取图3所示的关于打印机驱动程序、打印队列和端口的各种信息。该信息用于创建并保存与通过图12的打印队列整理处理的流程图生成的删除候选打印队列列表中包含的所有打印队列302相关联的打印机驱动程序301的列表(S1301)。该列表是删除候选打印机驱动程序列表,并且如果存在任何不必要的打印机驱动程序,则在S1309中以及之后的步骤中删除不必要的打印机驱动程序。
接着,驱动程序管理部1252确定是否已对删除候选打印队列列表中的所有打印队列进行了处理(S1302)。如果在删除候选打印队列列表中存在任何未处理的打印队列,则处理进入到S1303,驱动程序管理部1252获取任何未处理的打印队列作为当前删除候选打印队列。驱动程序管理部1252确定在当前的删除候选打印队列中是否存在正被打印或正在等待的任何作业,以及该打印队列是否正被使用(S 1304)。如果该打印队列正被使用,则驱动程序管理部1252向用户显示确认是否删除打印队列的确认消息(未示出)(S1305)。这里,驱动程序管理部1252确定是否接受来自用户的删除请求(S1306)。如果来自用户的删除请求为“是”,则处理进入到S1307,以便执行针对当前的删除候选打印队列的删除处理。如果来自用户的删除请求为“否”,则处理进入到S1308,不执行针对当前的删除候选打印队列的删除处理,并且处理返回到S1302。在S1304中,如果确定当前的删除候选打印队列未在使用,则处理进入到S1307,以便执行针对当前的删除候选打印队列的删除处理。在S1307中,驱动程序管理部1252通过调用由OS 122提供的功能,来执行针对当前的删除候选打印队列的删除处理,接着处理返回到S1302。这里,如果由于某些原因OS 122不能删除当前的删除候选打印队列,则显示表示不能进行删除的错误消息(未示出),并且处理返回到S1302。在S1302中,如果驱动程序管理部1252确定已处理了删除候选打印队列列表中的所有打印队列,则处理进入S1309。
在S1309中,驱动程序管理部1252确认是否选择了“删除不必要的打印机驱动程序”复选框8406。如果未选择“删除不必要的打印机驱动程序”复选框8406,则处理进入S1316,结束打印队列删除处理。如果选择了“删除不必要的打印机驱动程序”复选框8406,则处理进入S1310。
在S1310中,驱动程序管理部1252确定是否已对在S1301中生成的删除候选打印机驱动程序列表中的所有打印机驱动程序执行了S1311中以及之后的处理。如果已对删除候选打印机驱动程序列表中的所有打印机驱动程序执行了上述处理,则处理跳出循环处理并进入S1316,结束打印队列删除处理。如果在删除候选打印机驱动程序列表中存在任何未处理的打印机驱动程序,则处理进入S1311,获取任何未处理的打印机驱动程序作为当前的删除候选打印机驱动程序。在S1312中,驱动程序管理部1252通过利用当前的删除候选打印机驱动程序的型号名称,来确定当前的删除候选打印机驱动程序是否是通用打印机驱动程序127和虚拟打印机驱动程序126中的一者。如果当前的删除候选打印机驱动程序是这些打印机驱动程序中的一者,则为了使得能够通过使用虚拟打印机驱动程序126来进行下一个以及后续打印,处理进入S1315。驱动程序管理部1252不删除当前的删除候选打印机驱动程序,并且处理返回到S1310。如果当前的删除候选打印机驱动程序不是通用打印机驱动程序和虚拟打印机驱动程序中的一者,则处理进入S1313。应当注意,在本实施例中,尽管使用型号名称来确定当前的删除候选打印机驱动程序是否是通用打印机驱动程序127和虚拟打印机驱动程序126中的一者,但是不是特别有必要限制标识信息及其方法。例如,另一种标识符可以被包括作为打印机驱动程序结构信息304中的信息的一部分。
在S1313中,驱动程序管理部1252通过调用由OS 122提供的功能,来获取如图3所示的关于打印机驱动程序、打印队列和端口的各种信息。确定当前的删除候选打印机驱动程序是否与另一打印队列相关联。如果不存在与当前的删除候选打印机驱动程序相关联的打印队列,则处理进入S1314,删除当前的删除候选打印机驱动程序。如果存在与当前的删除候选打印机驱动程序相关联的任何打印队列,则处理进入S1315。然后,不删除当前的删除候选打印机驱动程序,并且处理返回到S1310。在S1314中,驱动程序管理部1252通过调用由OS 122提供的功能来执行针对当前的删除候选打印机驱动程序的删除处理,接着处理返回到S1310。如果由于某些原因OS 122不能删除当前的删除候选打印机驱动程序,则显示表示已不能进行删除的错误消息(未示出),并且处理返回到S1310。
如上所述,适当地管理了主计算机上的打印队列,由此能够仅保持用户需要的打印队列,从而使下一次以及后续的打印队列选择变得容易。因此显著提高了用户的便利性。
通过利用图14的序列图,例示了在按下“编辑预览”对话框8200中的“返回”按钮8206的情况下的打印队列整理处理。S700至S713的序列与图7中的处理相同。这里省略其描述。
响应于在S1400中用户按下“返回”按钮8206,打印作业管理器125执行从“编辑预览”对话框8200到“输出设备指定”对话框8100的画面转变(S1401)。响应于画面转变,输出设备指定部1251向驱动程序管理部1252发布打印队列整理请求(S717)。然后,驱动程序管理部1252利用“删除方法指定”对话框中指定的信息执行打印队列整理处理(S718)。根据该处理,即使在打印处理过程中也能够抑制打印队列的总数。
应当注意,驱动程序管理部1252不需要在每次进行从“编辑预览”对话框8200到“输出设备指定”对话框(8100)的画面转变时都执行打印队列整理处理(S718)。例如,可以采用这样一种方法,即对在当前的打印序列中按下“返回”按钮8206的次数进行计数,并且驱动程序管理部1252每隔一定次数执行打印队列整理处理。后续的打印序列与图7的S709及之后的过程类似,在此省略其描述。
如上所述,通过利用图7和图14的序列,描述了如何通过使用虚拟打印机驱动程序来执行打印处理序列中的打印队列整理处理。
没有必要将打印队列处理(S718)的执行限制于上述定时,还可以通过将在实际打印中使用了的打印队列等保存在外部存储器中并进行管理,来在其他定时执行打印队列整理处理(S718)。例如,在下一次打印的定时,可以在进行输出准备处理(S711)之前执行打印队列整理(S718)。另外,可以在虚拟打印机驱动程序126的用户界面等中设置按钮,并且响应于用户按下按钮,可以在与打印无关的定时执行打印队列整理处理(S718)。另外,例如,可以在用户登录或退出主计算机101时(其是与打印处理不直接相关的定时)执行打印队列整理处理(S718),或者可以通过提供定期的定时器间隔来执行打印队列整理处理(S718)。
作为OS 122提供的功能,存在可以将设置之后的打印队列名称改变为另一名称的功能。为了遵循打印队列名称的这一改变,在上述结构中,将自动生成标识符306和更新日期和时间307保存在打印队列302的数据结构中,使得打印队列名称的改变不产生影响。如果以不特别改变设置之后的打印队列名称的操作作为前提,则不需要将保存信息的目的地局限于打印队列302的数据结构。例如,还可以准备与打印队列302(以打印队列名称作为关键字)的数据结构类似的数据结构,并且可以将自动生成标识符306和更新日期和时间307保存在外部存储器121中。另外,即使由于访问限制等不能进行对打印队列302的数据结构的写入,通过类似地准备另一数据结构也能够进行管理。
在图12的S1202中,驱动程序管理部1252在打印队列302的数据结构的更新日期和时间307中描述当前的日期和时间。如果包括这样种机制(S1202),在其中,在打印完成时通用打印机驱动程序127和专用打印机驱动程序128更新更新日期和时间307,则不需要涉及虚拟打印机驱动程序,通过通用打印机驱动程序127和专用打印机驱动程序128的直接指定、在打印时也能够更新更新日期和时间307。另外,如果OS 122具有用于打印的监察功能,则能够基于该功能的监察日志来确定打印队列的使用状况。在这种情况下,不需要包含独自的数据结构作为更新日期和时间307,即能够实现该确定。
其他实施例
还可以由读出并执行记录在存储设备上的程序来执行上述实施例的功能的系统或装置的计算机(或诸如CPU或MPU等的设备),来实现本发明的各方面;并且可以利用由通过例如读出并执行记录在存储设备上的程序来执行上述实施例的功能的系统或装置的计算机来执行各步骤的方法,来实现本发明的各方面。为此,例如经由网络或从用作存储设备的各种类型的记录介质(例如,计算机可读介质)将程序提供给计算机。在这种情况下,系统或装置以及存储有程序的记录介质被包括在本发明的范围之内。
虽然参照示例性实施例对本发明进行了描述,但是应当理解,本发明不局限于所公开的示例性实施例。应当对所附权利要求的范围给予最宽的解释,以使其涵盖所有的这类变型例及等同结构和功能。

Claims (21)

1.一种信息处理装置,其将打印作业发送到打印机,该信息处理装置包括:
假脱机单元,其被构造为将响应于来自用户的打印指令从应用接收到的数据,作为中间数据进行假脱机;
安装控制单元,其被构造为控制针对与执行打印处理的目标打印机兼容的打印机驱动程序的安装处理;
假脱机析取单元,其被构造为将由所述假脱机单元假脱机的所述中间数据传递给由所述安装控制单元安装的所述打印机驱动程序;以及
发送单元,其被构造为向所述目标打印机发送,利用由所述安装控制单元安装的所述打印机驱动程序、基于所述假脱机析取单元传递的所述中间数据而生成的打印作业。
2.根据权利要求1所述的信息处理装置,所述信息处理装置还包括:
检索单元,其被构造为在来自所述用户的所述打印指令被接受后,检索连接至所述信息处理装置的打印机;以及
显示控制单元,其被构造为显示由所述检索单元找到的打印机的列表,使得选择目标打印机,
其中,所述安装控制单元控制,针对与从所述显示控制单元显示的所述打印机的列表中选择的所述目标打印机兼容的打印机驱动程序的安装处理。
3.根据权利要求2所述的信息处理装置,其中,所述安装控制单元检索与从所述显示控制单元显示的所述打印机的列表中选择的打印机兼容的所述打印机驱动程序,并且控制针对找到的打印机驱动程序的安装处理,并且
待检索对象包括所述信息处理装置中包含的存储区、连接至所述信息处理装置的外部装置的存储区、以及连接至所述信息处理装置的打印机的存储区中的至少任意一个。
4.根据权利要求1所述的信息处理装置,其中,所述安装控制单元基于从所述目标打印机获取的硬件信息,检索与所述打印机兼容的所述打印机驱动程序,并且控制针对找到的打印机驱动程序的安装处理。
5.根据权利要求2所述的信息处理装置,其中,如果存在与从所述显示控制单元显示的所述打印机的列表中选择的打印机兼容的多个所述打印机驱动程序,则所述安装控制单元使所述用户选择多个所述打印机驱动程序中的任意一个,并且控制针对所选择的打印机驱动程序的安装处理。
6.根据权利要求1所述的信息处理装置,其中,如果存在与所述目标打印机兼容的多个所述打印机驱动程序,则所述安装控制单元基于所述打印机驱动程序的属性来选择所述打印机驱动程序,并且控制针对所选择的打印机驱动程序的安装处理。
7.根据权利要求6所述的信息处理装置,其中,所述打印机驱动程序的所述属性包括版本和命令类型信息中的至少任意一个。
8.根据权利要求1所述的信息处理装置,其中,所述打印机驱动程序包括通用打印机驱动程序和专用打印机驱动程序,所述通用打印机驱动程序能够通过使用多个型号的打印机中包含的共有功能来进行打印、并且能够与所述多个型号的打印机兼容,所述专用打印机驱动程序能够使用单个型号的打印机中包含的所有功能、并且与所述单个型号的打印机兼容。
9.根据权利要求8所述的信息处理装置,该信息处理装置还包括:
确定单元,其被构造为确定模式是否是用于使所述通用打印机驱动程序优先的模式,
其中,如果所述确定单元确定所述模式是用于使所述通用打印机驱动程序优先的模式,则不安装与所述目标打印机兼容的所述专用打印机驱动程序,并且所述发送单元将利用所述通用打印机驱动程序、基于所述假脱机析取单元传递的所述中间数据而生成的打印作业,发送到所述目标打印机。
10.一种信息处理装置,其接受来自用户的使用所连接的外围设备的指令,并且将作业发送到所述外围设备,所述信息处理装置包括:
检索单元,其被构造为在来自所述用户的所述指令被接受时,检索连接至所述信息处理装置的外围设备;
显示控制单元,其被构造为显示由所述检索单元找到的外围设备的列表,使得选择执行处理的外围设备;以及
安装控制单元,其被构造为控制,针对与从所述显示控制单元显示的所述外围设备的列表中选择的所述外围设备兼容的设备驱动程序的安装处理,
其中,将使用由所述安装控制单元安装的所述设备驱动程序而生成的作业,发送到从由所述显示控制单元显示的所述外围设备的列表中选择的所述外围设备。
11.根据权利要求10所述的信息处理装置,其中,所述设备驱动程序包括通用设备驱动程序和专用设备驱动程序,所述通用设备驱动程序使得能够通过使用多个型号的外围设备中包含的共有功能来进行打印、并且能够与所述多个型号的外围设备兼容,所述专用设备驱动程序能够使用单个型号的外围设备中包含的所有功能、并且与所述单个型号的外围设备兼容。
12.一种在信息处理装置中执行的打印控制方法,所述信息处理装置将打印作业发送到打印机,该打印控制方法包括以下步骤:
将响应于来自用户的打印指令从应用接收到的数据,作为中间数据进行假脱机;
控制针对与执行打印处理的目标打印机兼容的打印机驱动程序的安装处理;以及
对在所述假脱机步骤中假脱机的所述中间数据进行假脱机析取,并将假脱机析取后的所述中间数据传递给在所述控制步骤中安装的所述打印机驱动程序,
其中,向所述目标打印机发送,利用在所述控制步骤中安装的所述打印机驱动程序、基于在所述假脱机析取步骤中传递的所述中间数据而生成的打印作业。
13.根据权利要求12所述的打印控制方法,所述打印控制方法还包括以下步骤:
在来自所述用户的所述打印指令被接受后,检索连接至所述装置的打印机;以及
显示在所述检索步骤中找到的打印机的列表,使得选择目标打印机,
其中,所述控制步骤控制,针对与从在所述显示步骤中显示的所述打印机的列表中选择的所述目标打印机兼容的打印机驱动程序的安装处理。
14.根据权利要求13所述的打印控制方法,其中,所述控制步骤检索与从在所述显示步骤中显示的所述打印机的列表中选择的打印机兼容的所述打印机驱动程序,并且控制针对找到的打印机驱动程序的安装处理,并且
其中,待检索对象包括所述信息处理装置中包含的存储区、连接至所述信息处理装置的外部装置的存储区、以及连接至所述信息处理装置的打印机的存储区中的至少任意一个。
15.根据权利要求12所述的打印控制方法,其中,所述控制步骤基于从所述目标打印机获取的硬件信息,检索与所述打印机兼容的所述打印机驱动程序,并且控制针对找到的打印机驱动程序的安装处理。
16.根据权利要求13所述的打印控制方法,其中,如果存在与从所述显示步骤中显示的所述打印机的列表中选择的打印机兼容的多个所述打印机驱动程序,则所述控制步骤使所述用户选择多个所述打印机驱动程序中的任意一个,并且控制针对所选择的打印机驱动程序的安装处理。
17.根据权利要求12所述的打印控制方法,其中,如果存在与所述目标打印机兼容的多个所述打印机驱动程序,则所述控制步骤基于所述打印机驱动程序的属性来选择所述打印机驱动程序,并且控制针对所选择的打印机驱动程序的安装处理。
18.根据权利要求17所述的打印控制方法,其中,所述打印机驱动程序的所述属性包括版本和命令类型信息中的至少任意一个。
19.根据权利要求12所述的打印控制方法,其中,所述打印机驱动程序包括通用打印机驱动程序和专用打印机驱动程序,所述通用打印机驱动程序能够通过使用多个型号的打印机中包含的共有功能来进行打印、并且能够与所述多个型号的打印机兼容,所述专用打印机驱动程序能够使用单个型号的打印机中包含的所有功能、并且与所述单个型号的打印机兼容。
20.根据权利要求19所述的打印控制方法,该打印控制方法还包括以下步骤:
确定模式是否是用于使所述通用打印机驱动程序优先的模式,
其中,如果在所述确定步骤中确定所述模式是用于使所述通用打印机驱动程序优先的模式,则不安装与所述目标打印机兼容的所述专用打印机驱动程序,并且将利用所述通用打印机驱动程序、基于在所述假脱机析取步骤中传递的所述中间数据而生成的打印作业,发送到所述目标打印机。
21.一种在信息处理装置中执行的打印控制方法,该信息处理装置将打印作业发送给打印机,所述打印控制方法包括以下步骤:
将响应于来自用户的打印指令从应用接收到的数据,作为中间数据进行假脱机;
控制针对与在来自所述用户的所述打印指令被接受后检测到的打印机兼容的打印机驱动程序的安装处理;以及
对在所述假脱机步骤中假脱机的所述中间数据进行假脱机析取,并将假脱机析取后的所述中间数据传递给在所述控制步骤中安装的所述打印机驱动程序,
其中,向所述打印机发送利用在所述控制步骤中安装的所述打印机驱动程序、基于在所述假脱机析取步骤中传递的所述中间数据而生成的打印作业。
CN2010105005821A 2009-09-29 2010-09-29 信息处理装置及其方法 Pending CN102033723A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2009224832A JP5489619B2 (ja) 2009-09-29 2009-09-29 情報処理装置及びその方法
JP2009-224832 2009-09-29

Publications (1)

Publication Number Publication Date
CN102033723A true CN102033723A (zh) 2011-04-27

Family

ID=43034163

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010105005821A Pending CN102033723A (zh) 2009-09-29 2010-09-29 信息处理装置及其方法

Country Status (4)

Country Link
US (1) US20110075207A1 (zh)
EP (1) EP2306296A3 (zh)
JP (1) JP5489619B2 (zh)
CN (1) CN102033723A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105988755A (zh) * 2015-03-19 2016-10-05 佳能株式会社 信息处理装置及其控制方法
CN107229436A (zh) * 2016-03-25 2017-10-03 京瓷办公信息系统株式会社 打印系统
CN113396385A (zh) * 2019-02-01 2021-09-14 兄弟工业株式会社 支持程序、信息处理装置、以及印刷方法
CN113608708A (zh) * 2021-10-11 2021-11-05 高德品创(山东)科技有限公司 基于gdi框架的打印预览方法及打印预览装置

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5460215B2 (ja) * 2009-09-29 2014-04-02 キヤノン株式会社 情報処理装置及びその方法
JP5664007B2 (ja) * 2010-08-09 2015-02-04 株式会社リコー データ中継装置,画像形成装置,画像形成システム,印刷制御方法,印刷制御プログラム,および記録媒体
JP5728896B2 (ja) * 2010-11-15 2015-06-03 株式会社リコー 印刷システム及びプログラム
JP5704947B2 (ja) * 2011-02-07 2015-04-22 キヤノン株式会社 情報処理装置、制御方法、及び、プログラム
JP2013089045A (ja) 2011-10-18 2013-05-13 Canon Inc 情報処理装置、制御方法、及びプログラム
JP6089558B2 (ja) * 2012-03-07 2017-03-08 ブラザー工業株式会社 ドライバ管理プログラム、アンインストールプログラム、及び、情報処理装置
JP2013254483A (ja) * 2012-05-11 2013-12-19 Ricoh Co Ltd 情報処理装置、情報処理装置の制御プログラム、画像形成装置
JP6102323B2 (ja) * 2012-07-10 2017-03-29 株式会社リコー 印刷処理システム
JP5980040B2 (ja) * 2012-08-10 2016-08-31 キヤノン株式会社 管理装置、管理装置の制御方法およびコンピュータプログラム
US20140207973A1 (en) * 2013-01-18 2014-07-24 Xerox Corporation Systems and methods for auto-configuring installable device options in a windows print queue
US9678697B2 (en) 2013-02-28 2017-06-13 Xerox Corporation Systems and methods of displaying a printer driver user interface
US9052859B2 (en) * 2013-03-07 2015-06-09 Xerox Corporation Gathering analytic data using print drivers
JP5932712B2 (ja) * 2013-05-21 2016-06-08 京セラドキュメントソリューションズ株式会社 インストーラープログラムおよびインストール方法
JP6272080B2 (ja) 2014-02-26 2018-01-31 キヤノン株式会社 情報処理装置及び分散印刷システム、印刷制御方法、プログラム
JP6482432B2 (ja) * 2015-08-21 2019-03-13 キヤノン株式会社 描画命令処理装置および描画命令処理方法
JP6673025B2 (ja) * 2016-06-01 2020-03-25 コニカミノルタ株式会社 情報処理装置およびプログラム
US10949134B2 (en) * 2018-01-19 2021-03-16 Canon Kabushiki Kaisha Client apparatus, control method, and storage medium
JP7255209B2 (ja) * 2019-01-31 2023-04-11 ブラザー工業株式会社 サポートプログラム、情報処理装置、および印刷方法
JP7422462B2 (ja) * 2020-01-31 2024-01-26 キヤノン株式会社 プログラム、及び情報処理装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5881213A (en) * 1994-10-05 1999-03-09 Microsoft Corporation Deferred printing
US20050162678A1 (en) * 2004-01-22 2005-07-28 Canon Kabushiki Kaisha Information processing apparatus on which printer driver can be installed, information processing apparatus, control method, program, and storage medium
CN1779691A (zh) * 2004-11-24 2006-05-31 佳能株式会社 信息处理装置、打印系统及其控制方法
US7143210B2 (en) * 2003-11-12 2006-11-28 Sharp Laboratories Of America, Inc. User-defined printer selection administration policy
CN101038534A (zh) * 2006-03-17 2007-09-19 佳能株式会社 信息处理设备及其控制方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5602974A (en) * 1994-10-05 1997-02-11 Microsoft Corporation Device independent spooling in a print architecture
US6819445B1 (en) * 2000-01-25 2004-11-16 Xerox Corporation Digital printing system which retains recent files for rapid output
JP4432190B2 (ja) * 2000-02-29 2010-03-17 ブラザー工業株式会社 プリンタ制御装置及びその装置におけるプリンタ装置の追加インストール方法
JP2002091732A (ja) * 2000-09-14 2002-03-29 Minolta Co Ltd 記録媒体、プリンタ制御方法、プリンタ制御システム
US20020059415A1 (en) * 2000-11-01 2002-05-16 Chang William Ho Manager for device-to-device pervasive digital output
US6993562B2 (en) * 2002-03-21 2006-01-31 Peerless Systems Corporation Method and system to print via email
US20030078965A1 (en) * 2001-08-22 2003-04-24 Cocotis Thomas A. Output management system and method for enabling printing via wireless devices
US20030090694A1 (en) * 2001-11-13 2003-05-15 Kennedy Kelli H. Just-in-time printer discovery and driver installation system and method
JP2006040214A (ja) * 2004-07-30 2006-02-09 Canon Inc 情報処理装置、印刷処理方法、及びコンピュータプログラム
JP2006092363A (ja) * 2004-09-24 2006-04-06 Canon Inc 印刷制御プログラム、印刷制御方法、および情報処理装置
JP4623461B2 (ja) * 2004-11-30 2011-02-02 キヤノンマーケティングジャパン株式会社 情報処理装置および印刷制御方法およびプリンタドライバプログラムおよび記録媒体
JP2007065894A (ja) * 2005-08-30 2007-03-15 Fuji Xerox Co Ltd プリンタドライバのインストール方法
JP4756988B2 (ja) * 2005-10-18 2011-08-24 キヤノン株式会社 プログラム、機能情報提供装置、および機能情報提供方法
JP4986693B2 (ja) * 2007-04-17 2012-07-25 キヤノン株式会社 情報処理装置及びその制御方法、並びにプログラム
JP4866377B2 (ja) * 2008-02-25 2012-02-01 株式会社沖データ 画像処理装置及び画像処理システム
JP5336819B2 (ja) * 2008-11-07 2013-11-06 キヤノン株式会社 情報処理装置及び印刷制御方法
JP5383234B2 (ja) * 2009-02-03 2014-01-08 キヤノン株式会社 情報処理装置及び印刷制御方法
US8995002B2 (en) * 2009-03-19 2015-03-31 Ricoh Co., Ltd. System and method for printing independent of location and using a universal print module

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5881213A (en) * 1994-10-05 1999-03-09 Microsoft Corporation Deferred printing
US7143210B2 (en) * 2003-11-12 2006-11-28 Sharp Laboratories Of America, Inc. User-defined printer selection administration policy
US20050162678A1 (en) * 2004-01-22 2005-07-28 Canon Kabushiki Kaisha Information processing apparatus on which printer driver can be installed, information processing apparatus, control method, program, and storage medium
CN1779691A (zh) * 2004-11-24 2006-05-31 佳能株式会社 信息处理装置、打印系统及其控制方法
CN101038534A (zh) * 2006-03-17 2007-09-19 佳能株式会社 信息处理设备及其控制方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105988755A (zh) * 2015-03-19 2016-10-05 佳能株式会社 信息处理装置及其控制方法
US10223044B2 (en) 2015-03-19 2019-03-05 Canon Kabushiki Kaisha Information processing apparatus that sets a print destination and controls start up of a print application based on a selected search result of a printer, and related method and storage medium
CN105988755B (zh) * 2015-03-19 2019-05-28 佳能株式会社 信息处理装置及其控制方法
CN107229436A (zh) * 2016-03-25 2017-10-03 京瓷办公信息系统株式会社 打印系统
CN107229436B (zh) * 2016-03-25 2020-03-06 京瓷办公信息系统株式会社 打印系统
CN113396385A (zh) * 2019-02-01 2021-09-14 兄弟工业株式会社 支持程序、信息处理装置、以及印刷方法
CN113608708A (zh) * 2021-10-11 2021-11-05 高德品创(山东)科技有限公司 基于gdi框架的打印预览方法及打印预览装置

Also Published As

Publication number Publication date
US20110075207A1 (en) 2011-03-31
JP5489619B2 (ja) 2014-05-14
EP2306296A3 (en) 2013-02-20
EP2306296A2 (en) 2011-04-06
JP2011076226A (ja) 2011-04-14

Similar Documents

Publication Publication Date Title
CN102033723A (zh) 信息处理装置及其方法
JP5455527B2 (ja) 画像形成装置、該装置の制御方法、制御プログラム
JP5460215B2 (ja) 情報処理装置及びその方法
JP5528196B2 (ja) 印刷制御装置、印刷制御方法およびプログラム
JP5887860B2 (ja) 画像形成装置、画像形成システム、制御方法、およびプログラム。
JP2012216166A (ja) 情報処理装置、その方法、及びプログラム
JP4324060B2 (ja) 文書管理システム及びその方法と文書管理装置及び当該装置の制御方法
JP5677556B2 (ja) 情報処理装置及びその方法
US8688864B2 (en) Information processing apparatus, information processing method, and information processing program
JP6110616B2 (ja) 情報処理装置、情報処理方法、及びプログラム
JP5070101B2 (ja) 情報処理装置及びその制御方法、プリンタドライバプログラム
WO2012023417A1 (en) Image reading system, image reading apparatus, and control methods and programs thereof
JP2011257881A (ja) 印刷制御装置及びその表示方法
CN101901122A (zh) 信息处理设备及其控制方法
JP5871521B2 (ja) 印刷データ処理方法、印刷データ処理装置及びプログラム
JP4776998B2 (ja) 画像レイアウト編集装置およびその制御方法およびプログラム
JP2016045788A (ja) プリンタードライバー、設定受付方法及び設定受付装置
JP5847855B2 (ja) 画像形成装置、該装置の制御方法、及び制御プログラム
JP4956259B2 (ja) 情報処理装置及びその制御方法、コンピュータプログラム
JP2008293290A (ja) データ処理システム、データ処理方法、データ処理プログラム、及びデータ処理プログラムを記録する記録媒体
JP6157192B2 (ja) 情報処理装置、制御方法およびコンピュータプログラム
JPH11203282A (ja) データ処理装置およびデータ処理装置の目次データ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
JP2006171991A (ja) 代行及び分散印刷システム
JP7271208B2 (ja) プログラム、および情報処理装置
JP2005276173A (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
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20110427