用于改变信息处理设备中的打印机驱动程序的方法

文档序号:6454139阅读:361来源:国知局
专利名称:用于改变信息处理设备中的打印机驱动程序的方法
技术领域
本发明涉及能够使用例如多个不同图形引擎进行打印处理等等 的信息处理设备,以及用于改变信息处理设备中的打印机驱动程序的 方法。
背景技术
为了使用打印设备从由主机计算机执行的应用程序打印图像和 文本,操作系统一般配备有诸如图3所示的配置。更具体地说,应 用程序101向图形引擎103移交图形数据,在被移交到打印机驱动 程序104之前,图形数据由图形引擎103进行处理。打印机驱动程 序生成对应于打印设备的打印数据(一般是指PDL [页面描述语 言〗)。打印数据存储在假脱机程序(spooler) 105中,然后被发送 到打印设备1500中。
具体来说,图形引擎103对图形数据进行处理,如转换由应用 程序101所创建的图形数据的尺寸或者根据打印机驱动程序104 的吞吐量进行仿真处理。因此,应用程序101和打印机驱动程序104 两者都能够执行独立操作。图形引擎103通常是作为OS(操作系统) 102的一部分而被提供的。
另一方面,图形引擎103的数量不一定限于一个。某些配置 (OS)允许两个或更多图形引擎共存。
例如,微软公司在2005在美国西雅图举办了标题为WinHEC画 2005的硬件工程会议。在该会议中,推出了微软的新OS (名为 Windows Vista ),该操作系统具有这样的配置两个图形引擎共存, 如图 1 所示,(Microsoft Corporation, "Advances in Windows
Printing: TWPR05001一WinHEC05.ppt", [online May 7, 2004; searched February 28, 2005,http: 〃www.microsoft.com/whdc /deviee/print/default.mspx .)。
微软的常规打印系统通过一个应用程序(以下称为Win32应用 程序)使用叫做GDI(图形设备接口 )的图形引擎,该应用程序使用 被称为Win32 API的API (应用程序编程接口 ),其中打印数据是 由从GDI调用的打印机驱动程序(以下称为GDI打印机驱动程序) 从图形数据创建的。在本实施例中,此打印处理流程将,皮称为GDI 打印路径。
对于Windows Vista,除了常规GDI打印路径之外,还将提供 被称为XPS打印路径的新的打印处理流程。对于XPS打印路径, 由OS通过^f吏用叫l故WinFx API的API的应用程序(以下称为 WinFx应用程序)提供了叫做WPF( Windows呈现基础,Windows Presentation Foundation )的图形引擎。WPF图形引擎向打印机驱动 程序(以下简称为XPS打印机驱动程序)移交XPS (XML纸张规 范,XML Paper Specification)格式图形数据,从而,打印机驱动程 序将图形数据转换为打印数据。
GDI和WPF图形引擎也能够彼此协作。此协作使图形数据能 够从Win32应用程序移交到XPS打印机驱动程序,或从WinFx 应用程序移交到GDI打印机驱动程序。
为了使此协作起作用,当使用GDI打印才几驱动程序从WinFx 应用程序进行打印时,图形数据首先被WPF图形引擎转换为XPS 格式图形数据,然后,从XPS格式图形数据转换为EMF格式图形 数据。经过转换的图形数据被存储在EMF假脱机文件中,随后由 GDI驱动程序转换为打印数据。
此外,当使用XPS打印机驱动程序从Win32应用程序进行打 印时,图形数据首先被GDI图形引擎转换为EMF格式图形数据, 然后,从EMF格式图形数据转换为XPS格式图形数据。经过转换 的图形数据被存储在XPS假脱机文件中,随后由XPS打印机驱动
程序转换为打印数据。
如上文所描述的,在Windows Vista中提供了四个打印处理流 程。如此,可以通过准备GDI打印机驱动程序或XPS打印才几驱动 程序中的任何一个,实现从Win32应用程序和WinFx应用程序两 者的打印处理。
然而,由于XPS格式和EMF格式彼此不同,因此,图形数 据格式的转换在打印质量、打印功能、打印速度等等方面会有问题。
例如,在EMF格式中得到支持的包含诸如ROP运算(或光栅 操作处理运算)之类的逻辑运算的图形数据在XPS格式中得不到支 持。因此,取决于由微软公司指定的规范,当经过用于将EMF格式 转换为XPS格式的GDI-XPS转换模块的转换时,存在可能从包括 逻辑运算的图形数据中丟失逻辑运算信息的风险。当删除了逻辑运算 信息的图形数据被移交到XPS打印机驱动程序时,XPS打印机驱动 程序可能不能创建由Win32应用程序期望的输出结果。
相反,在XPS格式中得到支持的复杂的图形数据在EMF格 式中得不到支持。因此,当使用用于将XPS格式转换为EMF格式 的XPS-GDI转换模块进行转换时,这样的图形数据在叫做"增色 (flattering),,的过程中被转换为局部化位图。在此情况下,由于图 形数据被转换为位图数据,因此,GDI打印机驱动程序将不能判断原 对象属性,因此,将不能创建对应于对象属性的输出结果。换句话说, 通过数据格式转换而输出的图像的质量将恶化。例如,当使用打印机 驱动程序每张纸打印多个页面时,因为^L转换为位图的数据将按比例 缩小和布局,所以图像质量将低于图形对象被以缩小的尺寸绘制的情 况。
此外,例如,在XPS格式中得到支持的电子签名信息在EMF 格式中得不到支持。此外,在EMF格式中得到支持的、来自应用程 序的信息被直接传输到GDI打印机驱动程序的处理,在XPS格式 中得不到支持。因此,当在转换之前的格式的图形数据包含使用在转 换后的格式中得不到支持的功能的指令的情况下进行从XPS格式
到EMF格式的转换或相反的转换时,这样的功能将不会被执行。换 句话说,执行数据格式转换处理时不能实现的功能可能存在于各个格 式的图形数据中。
另外,GDI-XPS转换或XPS-GDI转换等等的处理的发生会 导致处理开销,因此,与不需要进行转换的处理路径相比,打印处理 速度可能降低。
如上文所描述的,当进行数据格式转换时,在质量、功能和速度 的所有方面都会出现问题。因此,希望避免牵涉数据格式转换的打印 处理路径。
另一方面,当在一台计算机中安装了同一个打印设备的XPS打 印才几驱动程序和GDI打印机驱动程序两者时,对要使用的打印机驱 动程序的选择由用户自行决定。换句话说,在Windows Vista中, 图形引擎将不会自动地选择不需要数据格式转换的处理路径。此外, 大多数用户不会意识到某一应用程序是Win32应用程序还是 WinFx应用程序,也不会意识到存在四个打印处理流程。因此,当 一个打印机驱动程序被选为默认打印机驱动程序时,将使用选定的打 印机驱动程序,不管应用程序类型如何。如上文所描述的,在打印处 理路径中,避免诸如GDI-XPS转换或XPS-GDI转换之类的数据格 式转换可能证明是困难的。

发明内容
本发明是在考虑到上面的常规示例的情况下作出的,其目的是解 决上文所描述的问题。此外,本发明的另一个目的是,在有多个打印 机驱动程序可以供打印机使用的情况下,提供不管选择了哪一个打印 机驱动程序,都能够使用与应用程序所使用的图形引擎相对应的打印 机驱动程序进行打印处理的信息处理设备,还提供用于改变信息处理 设备处的打印机驱动程序的方法。
为了实现上文所描述的目的,本发明是按如下方式配置的。换句 话说, 一种信息处理设备,其中,能够操作第一图形处理单元和第二
图形处理单元,所述第一图形处理单元将从第一类型应用程序输出的 图形数据转换为能够由第一类型打印机驱动程序处理的第一打印信 息,所述第二图形处理单元将从第二类型应用程序输出的图形数据转 换为能够由第二类型打印机驱动程序处理的第二打印信息,该信息处
理设备包括
判断单元,适用于基于目的地打印机驱动程序的类型和源应用程 序的类型,判断源应用程序和目的地打印机驱动程序的组合是第 一类 型应用程序和笫一类型打印机驱动程序的组合还是第二类型应用程 序和第二类型打印机驱动程序的组合;以及
改变单元,适用于在所述判断单元判断源应用程序和目的地打印 机驱动程序不是任何一个所述组合的情况下,将由源应用程序所使用 的目的地打印机驱动程序改变为满足所述组合的打印机驱动程序。
从不同的观点来看,本发明是一种信息处理设备,其中,第一图 形处理单元和第二图形处理单元在操作系统的管理下操作,所述第一 图形处理单元将从第一类型应用程序输出的图形数据转换为能够由 第一类型打印机驱动程序处理的第一打印信息,所述第二图形处理单 元将从第二类型应用程序输出的图形数据转换为能够由第二类型打 印机驱动程序处理的第二打印信息,以及
操作系统参照打印机驱动程序属性,如有必要,则将图形数据转 换为能够由与所参照的属性相对应的类型的打印机驱动程序处理的
打印信息,所述信息处理设备包括
判断单元,适用于基于目的地打印机驱动程序的类型和源应用程 序的类型,判断源应用程序和目的地打印机驱动程序的组合是第一类 型应用程序和第一类型打印机驱动程序的组合还是第二类型应用程 序和第二类型打印机驱动程序的组合;以及
改变单元,适用于在所述判断单元判断源应用程序和目的地打印 机驱动程序不是任何一个所述组合的情况下,将由操作系统所参照的 打印机驱动程序属性改变为满足所述组合的属性值。
根据上文所描述的配置,在有多个打印机驱动程序可以供打印机
使用的情况下,可以使用与应用程序所使用的图形引擎相对应的打印 机驱动程序来进行打印,不管选择了哪 一 个打印机驱动程序。
通过下列(参照附图)对示例性实施例的描述,本发明的其他特 征将变得清晰。


图1是示出了作为多个图形引擎共存的示例的根据
Windows Vista的打印处理流程和对应于打印处理的组件的图2是示出了根据Windows Vista的两个图形引擎共存的 才几构的图3是示出了一般打印处理流程和对应于打印处理的组件的
图4是示出了应用了根据本发明的实施例的打印控制设备、控
制方法及其打印机驱动程序的信息处理系统的配置的示例的方框图5是示出了与实施例有关的GDI打印才几驱动程序和XPS 打印机驱动程序的配置的图6是示出了安装了与实施例有关的GDI打印机驱动程序和 XPS打印机驱动程序两者的情况的图7是示出了根据实施例的用户界面驱动程序的配置的图8是示出了用户界面驱动程序的组合判断单元进行的判断的 准则的图9A是示出了根据第一实施例的用户界面驱动程序的序列的
图9B是示出了根据第一实施例的用户界面驱动程序的序列的
图io是示出了当初始化指令被移交到用户界面驱动程序时根 据第 一 实施例的用户界面驱动程序的处理流程的流程图11是示出了根据第二实施例的用户界面驱动程序的配置的
图12是示出了根据第二实施例的用户界面驱动程序的序列的
图13是示出了当打印设置ui显示指令被移交到用户界面驱 动程序时根据第二实施例的用户界面驱动程序的处理流程的流程图; 图14是示出了根据第三实施例的驱动程序的配置的图; 图15是示出了根据第三实施例的驱动程序的配置的图;以及 图16是根据第三实施例的接收了打印指令的用户界面驱动程 序的处理流程图。
具体实施方式
第一实施例
<计算机配置>
现在将描述根据本发明的打印控制设备的实施例。打印控制设备 是通过计算机(信息处理设备)实现的。现在将描述计算机的软件配 置的示例。计算机的硬件配置类似于通用计算机的硬件配置,并包括 CPU、存储器、用户界面设备(键盘、显示器等等),以及文件存储
设备等等。
图1示出了 Windows Vista中的打印处理流程和用于进4亍打 印处理的软件组件,作为多个图形引擎共存的示例。在Windows Vista中,应用程序可以分为两种类型的应用程序,即作为第一类 型应用程序的Win32应用程序201,以及作为第二类型应用程序的 WinFx应用程序211。 OS 102上存在两个图形引擎,即作为第一 图形处理单元的GDI 202,以及作为第二图形处理单元的WPF 212。 Win32应用程序201向GDI 202移交作为第一图形数据的GDI 函数,而WinFx应用程序211向WPF 212移交作为第二图形数 据的WPF API格式数据。此外,打印机驱动程序可以分为两种类型 的打印机驱动程序,即作为第一类型打印机驱动程序的GDI打印 机驱动程序203,以及作为第二类型打印机驱动程序的XPS打印机 驱动程序213。 GDI打印机驱动程序203从GDI 202接收图形数 据,并将该图形数据转换为用于打印设备1500的打印数据。XPS打 印机驱动程序213从WPF 212接收图形数据,并将该图形数据转 换为用于打印设备1500的打印数据。由打印机驱动程序所创建的打 印数据通过假脱机程序105传输到打印设备1500。
在此说明书中,用于创建打印数据的、从Win32应用程序201 经由GDI 202到GDI打印4几驱动程序203的打印处理流程,将#皮 称为GDI打印路径。另外,用于创建打印数据的、从WinFx应用 程序211经由WPF 212到XPS打印机驱动程序213的打印处理 流程,将被称为XPS打印路径。此外,GDI打印路径和XPS打印 路径将被称为直接打印路径。然而,打印处理流程不限于GDI打印 路径和XPS打印路径,还存在用于创建打印数据的、从Win32应 用禾呈序201经由GDI 202到XPS打印机驱动禾呈序213的打印处 理流程。此外,还有用于创建打印数据的、从WinFx应用程序211 经由WPF 212到GDI打印才几驱动程序203的打印处理流程。这些 路径是通过由GDI ->XPS转换单元302和XPS ->GDI转换单元 312进行的数据格式转换实现的。图形引擎将数据转换为彼此的数据 格式的打印路径将被称为交叉打印路径。
形成打印路径的相应的末端的应用考呈序和打印才几驱动程序分别 :帔称为源应用程序和目的地打印才几驱动程序。
下面,将参照图2描述打印处理流程。图2示出了两个图形引 擎在Windows Vista中共存的机制。在Windows Vista中存在四 种类型的打印处理路径,即路径351、 352、 353和354。
打印处理路径351代表GDI打印路径。从Win32应用程序 201移交的图形数据由GDI202以EMF(增强型元文件)格式存储 作为EMS假脱机文件。随后,由GDI打印机驱动程序203执行到 打印数据的转换。
打印处理路径354代表在Windows Vista中添加的XPS 打印路径。从WinFx应用程序211移交的图形数据由WPF 212 存储在XPS假脱机文件311中,随后由XPS打印机驱动程序213
转换为打印数据。
打印处理路径352代表来自WinFx应用程序211的数据由 GDI打印机驱动程序203进行打印的情况下的打印处理路径。从 WinFx应用程序211移交的图形数据在XPS->GDI转换模块312 处经由WPF212转换为EMF格式的图形数据。经过转换的图形数 据存储在EMF假脱机文件中,随后由GDI驱动程序203转换为 打印数据。
打印处理路径353代表来自Win32应用程序201的数据由 XPS打印机驱动程序213进行打印的情况下的打印处理路径。从 Win32应用程序201移交的图形数据在GDI - >XPS转换模块 302处经由GDI 202转换为XPS格式的图形数据。经过转换的图形 数据存储在XPS假脱机文件311中,随后由XPS打印机驱动程序 213转换为打印数据。
图4是描述了根据本实施例的包括计算机的打印控制系统的配 置的方框图。除非另作说明,本发明可以应用于任何系统,如独立的 设备,包括多个设备的系统,或经由诸如LAN或WAN之类的网 络进行连接的并经由网络进行处理的系统,只要执行本发明的功能即 可。
在图4中,主机计算机3000配备有CPU1,该CPU1基于 存储在ROM 3的程序ROM或外部存储器11中的文档处理程序 等等,进行文档处理,其包括图、图像、文本、表(如电子表格)等 等的混合。CPU1对连接到系统总线4的相应的设备进行总体控制。
ROM 3的程序ROM或外部存储器11还存储操作系统程序 (下面缩写为OS)等等,它是CPU1的控制程序。ROM 3的字体 ROM或外部存储器11存储在上文所提及的文档处理过程中所使 用的字体数据等等,而ROM 3的数据ROM或外部存储器11存 储在上文所提及的文档处理过程中所使用的各种数据。
RAM 2充当CPU 1的主存储器、工作区等等。键盘控制器 (KBC) 5控制来自键盘9的键输入或来自指示设备(未显示)的输
入。CRT控制器(CRTC)6控制CRT显示器(CRT) 10的显示。 磁盘控制器(DKC)7控制对外部存储器ll(硬盘(HD)、软盘(FD) 等等)的访问。外部存储器11存储了启动程序、各种应用程序、字 体数据、用户文件、编辑文件、打印机控制命令生成程序(以下称为 "打印机驱动程序")等等。根据本发明的打印机驱动程序也存储在外 部存储器11中。
打印机控制器(PRTC) 8经由预定双向接口 21连接到打印机 1500,并对与打印机1500的通信进行控制处理。CPU1例如通过对 RAM 2上配置的显示信息RAM上的轮廓字体进行部署(光栅化) 处理而4吏能CRT 10上的WYSIWYG。
此外,CPU1还基于通过CRT10上的鼠标光标等等(未示出) 发出的命令,打开各种注册的窗口,并执行各种数据处理。当进行打 印时,用户可以打开涉及打印设置的窗口,以配置打印机设置或者包
括打印模式选择的对于打印机驱动程序的打印处理方法的设置。
在打印机1500处,打印机CPU 12基于存储在ROM 13的程 序ROM中的控制程序等等,或存储在外部存储器14中的控制程 序等等,将图像信号作为输出信息输出到连接到系统总线15的打印 单元(打印机引擎)17。
此外,ROM 13的程序ROM还存储CPU 12的控制程序等 等。ROM 13的字体ROM存储了当生成上文所提及的输出信息时 所使用的字体数据等等,而ROM 13的数据ROM在打印才几未配备 诸如硬盘之类的外部存储器14的情况下存储在主机计算机上所使 用的信息等等。
CPU 12是这样布置的,以便经由输入单元18能够进行与主机 计算机的通信的处理,打印机内的信息等等可通知到主机计算机 3000。 RAM 19充当CPU 12的主存储器、工作区等等。RAM 19被 配置为使得可以通过连接到未示出的扩展端口的可选RAM,进行存 储器扩展。RAM 19被用作输出信息部署区、环境数据存储区,以及 NVRAM等等。对上文所提及的外部存储器14 (硬盘(HD)、 IC卡
等等)的访问是由存储器控制器(MC)20进行控制的。
外部存储器14可选地连接,以存储字体数据、仿真程序、表单 数据等等。此外,还在操作面板18上安置了用于操作的开关、LED 显示装置等等。此外,上文所提及的外部存储器不必限于一个。作为 替换方案,可以提供一个或多个外部存储器,使得除内部字体之外, 还可以连接多个可选字体卡和存储解释不同语言系统的打印机控制 语言的程序的外部存储器。此外,还可以提供未示出的NVRAM,用 于存储来自操作面板1501的打印机模式设置信息。 <驱动程序的详细配置>
图5是示出了与本实施例有关的GDI打印^L驱动程序203 和XPS打印机驱动程序213的配置的图。在图5中,有关应用程 序和图形引擎的描述已经省略,示出了单个应用程序和单个图形引擎 的情况。毫无疑问,如图1所示,由图形引擎移交分别对应于每一 个打印机驱动程序的格式的图形数据。在本实施例中,相对于打印设 备1500,在OS 102中安装了 GDI打印机驱动程序203和XPS 打印机驱动程序213两者。换句话说,GDI打印机驱动程序203和 XPS打印机驱动程序213共享同一个打印机作为它们的输出目的 地。
GDI打印机驱动程序203由GDI UI (或用户界面)驱动程^ 序501和GDI图形驱动程序502构成。GDI用户界面驱动程序 501存储了显示在打印机驱动程序的用户界面上的内容和由用户输 入到注册表中的打印设置信息520。 GDI图形驱动程序502从图形 引擎103接收相应的图形数据(DDI[设备驱动程序接口I函数),并 根据存储在GDI用户界面驱动程序501中的打印设置信息520 从图形数据创建打印数据。
XPS打印机驱动程序213由XPS用户界面驱动程序511和 XPS图形驱动程序512构成。XPS用户界面驱动程序511存储了
中的打印设置信息520。 XPS图形驱动程序512从图形引擎103接收对应的图形数据(XPS数据),并根据存储在XPS用户界面驱 动程序511中的打印设置信息520从图形数据创建打印数据。
尽管将GDI用户界面驱动程序501和XPS用户界面驱动程 序511描述成单独的组件,但是,作为替换也可以使用配备有两种用 户界面驱动程序的功能和接口的单一公用用户界面驱动程序。在此情 况下,GDI打印机驱动程序203将由7>用用户界面驱动程序和GDI 图形驱动程序502组成,而XPS打印才几驱动程序213将由z^用用 户界面驱动程序和XPS图形驱动程序512组成。
图6示出了一个窗口的示例,该窗口示出了在已经安装了与本 实施例有关的GDI打印机驱动程序和XPS打印机驱动程序两者的 情况下打印机的状态。如图6所示,相对于单一打印设备,(例如 打印机A) , GDI打印机驱动程序203被注册为"Printer A(GDI)" 601。同时,相对于同一个打印机A, XPS打印机驱动程序213被 注册为"打印机A(XPS)"。显然,相对于单一打印设备,有两个打印 机驱动程序存在,即,GDI打印机驱动程序203和XPS打印机驱 动程序213。顺便说一句,Microsoft Windows OS允许用户选择默 认打印机驱动程序。对于被选为默认打印机驱动程序的打印机驱动程 序,由操作系统存储了表示该选择的信息,以便可访问。当要从应用 程序进行打印并且给出了用于打印的指令时,通常显示出应用程序的 打印设置用户界面。然后,用户能够从应用程序的用户界面中选择打 印机驱动程序。如果没有进行选择,则选择默认打印机驱动程序,并 将使用该打印机驱动程序进行打印。图6示出了已经选择"打印机A (XPS)"602作为默认打印机驱动程序。
<用户界面驱动程序的配置和操作>
图7是最佳地代表本发明的特征的图,并示出了根据第一实施 例的用户界面驱动程序501和用户界面驱动程序511的配置。在第 一实施例中,GDI图形驱动程序502和XPS图形驱动程序512不 进行任何特殊处理,只作为一般图形驱动程序操作。GDI用户界面驱 动程序501和XPS用户界面驱动程序511或爿^用用户界面驱动
程序(下面统称为用户界面驱动程序)执行本实施例的处理特征。
如图7所示,根据本实施例的用户界面驱动程序501、 511从 应用程序201、 211或图形引擎202、 212接收初始化指令。作为响 应,用户界面驱动程序501、 511通过应用程序信息获得单元703获 取有关调用用户界面驱动程序的应用程序是Win32应用程序201 还是WinFx应用程序211的信息。
根据本实施例的用户界面驱动程序从应用程序201、211或图形 引擎202、 212接收初始化指令。作为响应,用户界面驱动程序501、 511使用应用程序信息获得单元703获取正在调用用户界面驱动程 序的应用程序101的名称。此外,用户界面驱动程序501、 511还 获取有关应用程序是Win32应用程序201还是WinFx应用程序 211的信息(即,应用程序类型信息)。在本实施例中,可以通过使 用由Win32 API所提供的GetModuleFileName函数等等来获取调 用用户界面驱动程序的进程名称(可执行文件名称)。另外,还可以 按如下方式判断调用用户界面驱动程序的应用程序是Win32应用程 序201还是WinFx应用程序211。更具体地说,从由可执4亍文件 保持的标头部分,获取由可执行文件(其名称是由上文所提及的函数 获取的)导入的DLL(动态链接库)。然后,判断在导入的DLL内 是否存在WinFx应用程序所特有的模块。例如,通过预先制表和存 储WinFx唯一的模块名称,并且当对从表中获取的模块名称进行的 搜索导致命中时,模块可以被判断为WinFx唯一的模块。
如此判断应用程序是Win32应用程序201还是WinFx应用 程序211。除上述情况之外,例如,如果OS提供了输送应用程序类 型的API,则可以〗吏用该API获取应用程序类型信息。作为替换方 案,可以采用这样的方法用户界面驱动程序存储应用程序表,该表 与进程名称(可执行文件名称)相关联地存储应用程序名称或表示应 用程序是Win32应用程序还是WinFx应用程序的类型信息。为了 维护应用程序表,此方法最好这样安排,以便显示维护用户界面,并 且可以通过用户输入来更新应用程序表。用户界面驱动程序使用
GetModuleFileName函数等等来获取调用用户界面驱动程序的进程 的名称,并使用进程名称来搜索应用程序表。命中将意味着,对应于
序的名称。此外,对应于相关进程名称的应用程序类型是调用用户界 面驱动程序的应用程序的类型。
还可以使用诸如下面将描述的方法来确定应用程序类型。Win32 应用程序企图以称为DEVMODE的格式从用户界面驱动程序中获 取打印设置信息。另一方面,WinFx应用程序企图以称为Print Ticket的格式从用户界面驱动程序中获取打印设置信息。用户界面驱 动程序能够创建任意一种格式的打印设置信息。如此,可以基于这样 的获取请求,确定应用程序类型。
接下来,组合判断单元704就应用程序和由应用程序调用的用 户界面驱动程序的组合是否适当作出判断。图8示出了用于进行此判 断的准则。适当的结果意味着,要由应用程序使用的图形引擎和打印 机驱动程序一致。换句话说,在此情况下没有必要对从图形引擎输出 的图形数据的格式进行转换(例如,EMF-XPS转换)。根据应用程 序类型,要由应用程序使用的图形引擎是固定的。因此,如果应用程 序类型信息和由应用程序选定的打印机驱动程序是已知的,则可以对 组合是否适当进行判断。可以按照前面所描述的方式获取应用程序类 型。如果有关打印机驱动程序的选择的信息存储在计算机上,则可以 通过参照这样的信息来识别选定的打印机驱动程序。此外,如果要使 用的打印机驱动程序的信息(标识符等等)从进行打印的应用程序移 交到图形引擎,并可由用户界面驱动程序参照,则可以通过参照这样 的信息来标识打印机驱动程序。然后,如果可以参照打印机驱动程序 的标识符,则可以确定打印机驱动程序类型(打印机驱动程序是XPS 打印才几驱动程序还是GDI打印才几驱动程序)。例如,通过预先创建 并存储将打印机驱动程序的名称与其类型信息关联的表,可以通过参 照该表来确定打印机驱动程序类型。顺便说一句,"适当,,组合还可以 被表达为同 一个类型的应用程序和打印机驱动程序的组合。由于图形
引擎还需要判断类型是否相同,以便判断是否需要进行数据格式转 换,因此,可以釆用相同的判断标准。
在組合判断单元704判断组合是不适当的情况下,初始化指令 单元705向配置直接路径的适当用户界面驱动程序发出初始化指 令。适当的用户界面驱动程序被包括在与由用户最初选定的打印机驱 动程序的同一个目的地打印机相对应的打印机驱动程序中,同时,还 被包括在与对应于应用程序的图形引擎一起形成直接路径的打印机 驱动程序中。假设GDI打印机驱动程序具有表示共享同一个目的地 打印机的XPS打印机驱动程序是否被安装在信息处理设备中的信 息。类似地,假设XPS打印机驱动程序具有表示共享同一个目的地 打印机的GDI打印机驱动程序是否被安装在信息处理设备中的信 息。此外,如果用户界面驱动程序是公用用户界面驱动程序,则用户 界面驱动程序显然具有表示GDI图形驱动程序和/或XPS图形驱 动程序是否存在的信息。此描述假设GDI用户界面驱动程序和XPS 用户界面驱动程序被配置为单独的用户界面驱动程序模块。
随后,从响应初始化指令执行初始化处理的用户界面驱动程序接 收驱动程序句柄。由驱动程序句柄返回单元707接收来自用户界面 驱动程序的驱动程序句柄。驱动程序句柄返回单元707将接收到的 驱动程序句柄传输(移交)到从中向用户界面驱动程序发出了初始化 指令的应用程序201、 211或图形引擎202、 212。
在本实施例中,对于每一个打印机,存在两个驱动程序。因此, 如果其中 一个驱动程序被判断为不适当,则另 一个驱动程序被选为适 当的驱动程序。亳无疑问,可以使用表,例如图8所示的表(稍后 描述),选择适当的用户界面驱动程序。此外,初始化处理还包括例 如存储器分配、驱动程序句柄响应等等。驱动程序句柄是用于唯一地 标识驱动程序的标识符。句柄使得能标识用户界面驱动程序和打印机 驱动程序。
同时,在组合判断单元704判断组合适当的情况下,驱动程序 初始化单元706按原样执行用户界面驱动程序的初始化。通过初始
化处理生成的驱动程序句柄净皮驱动程序句柄返回单元707返回到发 出初始化指令的应用程序或图形驱动程序。
从用户界面驱动程序接收到驱动程序句柄的应用程序或图形引 擎激活由所移交的驱动程序句柄标识的用户界面驱动程序,并允许用 户输入打印设置。此外,由于从用户界面驱动程序接收到驱动程序句 柄的应用程序或图形引擎将图形数据输出到由所移交的驱动程序句 柄标识的打印机驱动程序,构成直接打印路径的适当的打印机驱动程 序进行打印数据转换,或者,换句话说,创建打印作业。可以看出,
印的应用程序的驱动程序句柄,可以以快速的方式进行能够产生高质 量结果的打印处理。
顺便说一句,可以有这样的情况用户界面显示指令与驱动程序 的初始化指令一起被移交到用户界面驱动程序,以允许用户进行打印 设置。在这样的情况下,如果应用程序和打印机驱动程序的组合被组 合判断单元704判断为适当,则在用户界面显示单元701上显示用 户界面对话框。用户通过显示出的UI在用户界面设置单元702处 改变打印设置。另一方面,如果组合被组合判断单元704判断为不 适当,则初始化指令单元705除驱动程序初始化指令之外,还向适 当的驱动程序发出用户界面显示指令。以这种方式,用户可以使用适 当的驱动程序改变打印设置。
图8示出了由用户界面驱动程序的组合判断单元进行的判断的 准则的示例。在当要从Win32应用程序201进行打印时选择了 GDI打印机驱动程序203的情况下,判断将会导致"适当"。因此, 在图8所示的参照表的对应的字段中注册了"适当"。这是因为,在 通过Win32应用程序201进行打印的过程中使用了 GDI图形引 擎202,而GDI打印机驱动程序203使用GDI图形驱动程序502 作为直接打印路径来进行打印处理。此外,当从Win32应用程序201 进行打印时选择XPS用户界面驱动程序511将会导致判断为"不 适当"。因此,在对应的字段中注册了"不适当"。这是因为,在通过
Win32应用程序201进行打印的过程中使用了 GDI图形引擎,而 XPS打印机驱动程序213使用XPS图形驱动程序512作为交叉 打印路径来进行打印处理。
类似地,当从WinFx应用程序211进行打印时选择XPS打 印机驱动程序213将会导致判断为"适当"。这是因为,在通过 WinFx应用程序211进行打印的过程中使用了 WPF图形引擎 212,而XPS打印机驱动程序213使用XPS图形驱动程序512作 为直接打印路径来进行打印处理。此外,当从WinFx应用程序211 进行打印时选择GDI用户界面驱动程序501将会导致判断为"不 适当"。这是因为,在通过WinFx应用程序211进行打印的过程中 使用了 WPF图形引擎212,进行XPS->GDI转换312,而GDI打 印机驱动程序203 4吏用GDI图形驱动程序502作为交叉打印路 径来进行打印处理。因此,为对应的项目,注册根据判断结果的值。
通过在图8所示的表中的打印机驱动程序203、 213的字段中 记下对应的驱动程序句柄,可以从图8的表中获取适用于应用程序 的驱动考呈序句柄。
图9A和9B是根据第一实施例的用户界面驱动程序的序列 图。在图9A中,当从应用程序移交初始化指令和用户界面显示指令 901时,组合判断单元704在步骤902中判断该驱动程序是否是适 用于发出初始化指令的应用程序的驱动程序。如果该驱动程序被判断 为不适当,则初始化指令单元705在步骤903中向适用于该应用程 序的用户界面驱动程序发出初始化指令和用户界面显示指令。在接收 到初始化指令时,用户界面驱动程序在步骤904中执行打印机驱动 程序(图形驱动程序)的初始化处理,并将驱动程序句柄返回到初始 化指令的发出源(即,用户界面驱动程序)。在步骤905中,驱动 程序句柄返回单元707进一步将已返回的驱动程序句柄返回到应用
处理。以这种方式,可以通过适当的图形驱动程序执行打印,而同时 避免诸如处理路径352或处理路径353之类的所谓的交叉打印路
径。
同时,在图9B中,用户界面驱动程序接收初始化指令和用户 界面显示指令911。在步骤912中,组合判断单元704判断用户界 面驱动程序是否适用于初始化指令的发出源应用程序。图9B示出了 驱动程序被判断为适当。在此情况下,接收到初始化指令的用户界面 驱动程序在步骤913中执行对应的图形驱动程序的初始化处理,并 在步骤914中将驱动程序句柄返回到初始化指令的发出源,或者, 换句话"i兌,应用程序。该应用程序4吏用对应于驱动程序句柄的打印机 驱动程序执行打印处理。以这种方式,可以通过适当的图形驱动程序 执行打印,而同时避免诸如处理路径352或处理路径353 之类的
所谓的交叉流程。
<用户界面驱动程序的处理过程>
图10是示出了当初始化指令被移交到用户界面驱动程序时根 据第一实施例的用户界面驱动程序501、 511的处理流程的流程图。 当向应用程序201、 211发出打印指令时,用户通过对应用程序201、 211进行操作来发出打印机驱动程序的打印设置的指令。应用程序向 指定的打印机驱动程序的用户界面驱动程序发出初始化指令和用户 界面显示指令。图10示出了在接收到初始化指令时由用户界面驱动 程序执行的处理。
首先,在步骤10-1中,用户界面驱动程序接收初始化指令。用
行文件名称)。基于所获取的名称,用户界面驱动程序在步骤10-2中 获取表明应用程序的类型的信息(类型信息),或者,更具体地说, 表明正在调用的应用程序是Win32应用程序还是WinFx应用程序 的信息。此处理如参照图7所描述的。基于获取的应用程序类型信 息,用户界面驱动程序在步骤10-3中判断包括用户界面驱动程序的 打印机驱动程序是否适用于该应用程序。此判断是例如使用图8所 示的表执行的。如果判断为不适当,则用户界面驱动程序在步骤10-5 中向适当的驱动程序发出初始化指令。然后,在步骤10-6中,接收
从适当的驱动程序返回的驱动程序句柄,接着,由用户界面驱动程序 返回到应用程序。
在步骤10-3中,当判断打印机适用于正在进行调用的源应用程 序时,用户界面驱动程序在步骤10-4中初始化其自己的驱动程序, 并将在初始化过程中创建的驱动程序句柄返回到该应用程序。
从另一个打印机驱动程序接收初始化指令的打印机驱动程序也 根据图10所示的过程进行操作。由于在本实施例中有两种类型的打 印机驱动程序,因此,在图10所示的过程中的步骤10-3中判断的 结果对于从另 一个用户界面驱动程序接收初始化指令的用户界面驱 动程序将始终是"适当"。另外,在此情况下,驱动程序句柄的返回目 的地将是用户界面驱动程序即初始化指令的传输源。
从用户界面驱动程序接收驱动程序句柄的应用程序或图形引擎 使用由驱动程序句柄标识的打印机驱动程序(图形驱动程序),创建 打印数据,并将该打印数据传输到打印机。打印机驱动程序将从图形 引擎输出的图形数据移交到打印机驱动程序,以便转换为可以被打印 设备解释的以PDL、 XML等等描述的预定格式的打印数据。
作为上文所描述的处理的结果,应用程序可以使用适当的图形驱 动程序进行实际的打印。换句话说,由图形引擎输出的数据不再必须 转换为可由打印机驱动程序处理的格式的数据。如此,在有多个打印 机驱动程序可以供打印机使用的情况下,可以使用与应用程序所使用 的图形引擎相对应的打印机驱动程序来进行打印,不管选择了哪一个 打印机驱动程序。结果,打印速度可以改善,可以防止由于数据转换 而造成的信息损失,并可以提高打印质量。
第二实施例I
第一实施例是这样的打印系统,其中,在从应用程序执行打印设 置的用户界面显示的同时,执行打印机驱动程序的初始化。然而,这 不一定适用于所有打印系统。取决于OS的规范,可以预见这样的情 况在执行用于配置用户界面驱动程序的打印设置等等的用户界面显 示时,不执行打印机驱动程序的初始化处理。在实际执行打印处理时,
向打印机驱动程序的图形驱动程序发出初始化指令。在这样的打印系 统中,由于不向用户界面驱动程序发出初始化指令,因此,甚至在用
户界面驱动程序执行笫一实施例的图10所示的处理的情况下,也不
能切换应用程序所使用的驱动程序。考虑到此情况,本发明是这样安 排的,以便响应用户界面显示指令,用户界面驱动程序执行切换到适 当的驱动程序的处理。下面将描述的项目之外的系统配置与第一实施 例相同,因此将省略其描述。
图11是最佳地代表第二实施例的特征的图,并示出了根据第二 实施例的用户界面驱动程序的配置。在根据第二实施例的打印系统 中,用户界面驱动程序不初始化驱动程序。因此,当与笫一实施例的
图7相比时,第二实施例不包括初始化单元707、驱动程序初始化 单元706和驱动程序句柄返回单元707。相反,已经添加了驱动禾呈 序名称改变单元1101和驱动程序名称返回单元1102。
类似于第一实施例,根据第二实施例的GDI图形驱动程序502 和XPS图形驱动程序512不进行任何特殊处理,只作为一般图形 驱动程序操作。另一方面,GDI用户界面驱动程序203和XPS用 户界面驱动程序213或公用用户界面驱动程序(下面统称为用户界 面驱动程序)执行第二实施例所特有的处理。
在从应用程序201、 211或图形引擎202、 212接收到i殳置改变 指令时,根据第二实施例的用户界面驱动程序在用户界面显示单元 701处执行用户界面显示。用户界面设置单元702存储由用户输入的 打印设置。作为响应,应用程序信息获得单元703获取有关正在调 用用户界面驱动程序的应用程序201、 211是Win32应用程序201 还是WinFx应用程序211的信息。由应用程序信息获得单元703 和组合判断单元704执行的判断处理与在第一实施例中执行的处理 相同。
当组合判断单元704判断该组合不适当时,用户界面驱动程序 的驱动程序名称改变单元1101将适当的驱动程序的名称移交到应 用程序。更具体地说,在本实施例中,这是使用从用户界面驱动程序
移交到应用程序的打印设置信息(GDI用户界面驱动程序的 DEVMODE, XPS用户界面驱动程序的Print Ticket(打印作业单)) 执行的。换句话说,驱动程序名称改变单元1101存储适用于打印设 置信息的驱动程序的名称,打印设置信息由驱动程序名称返回单元 1102移交到应用程序。
应用程序从移交的打印设置信息中获取驱动程序名称。然后,应 用程序使用具有该驱动程序名称的打印机驱动程序执行打印。这就允 许避免了处理路径352或353。
另一方面,当组合判断单元704判断该組合是适当的时,不执 行任何特定操作,接收到用户界面显示指令的用户界面驱动程序将打 印设置信息移交到应用程序,而不改变已经存储在打印设置信息中的 驱动程序名称。
图12示出了根据第二实施例的用户界面驱动程序的序列。在步 骤1201中,用户界面显示指令被应用程序移交到用户界面驱动程 序。在步骤1202中,当组合判断单元704判断驱动程序不适当时, 在步骤1203中,用户界面驱动程序使用驱动程序名称改变单元 1101将打印设置信息内的驱动程序名称改变为适当的驱动程序名 称。然后,在步骤1204中,用户界面驱动程序将打印设置信息返回 到应用程序,该打印设置信息包括用户界面显示单元701和用户界 面设置单元702处的用户的用户界面设置。应用程序执行与打印设置 信息内的驱动程序名称相对应的打印初始化处理和打印处理。
图13是示出了当打印设置用户界面显示指令被移交到用户界 面驱动程序时根据第二实施例的用户界面驱动程序的处理流程的流 程图。当从应用程序201、 211进行打印时,用户向应用程序201、 211发出配置打印机驱动程序的打印设置的指令。作为响应,应用程 序向指定的打印机驱动程序的用户界面驱动程序发出用户界面显示 指令。图13所示的处理流程由接收指令的用户界面驱动程序执行。
用户界面驱动程序在步骤13-1中接收用户界面显示指令,在步 骤13-2中执行用户界面对话框显示,以接受来自用户的改变打印设
置的输入。然后,在步骤13-3中,用户界面驱动程序存储由用户输 入到打印设置信息中的打印设置值。
用户界面驱动程序接下来获取调用用户界面驱动程序的应用程 序的名称(可执行文件名称)。基于该名称,在步骤13-4中,用户 界面驱动程序获取表明正在进行调用的应用程序是Win32应用程序 还是WinFx应用程序的类型信息。此处理类似于在第一实施例中执 行的处理。基于获取的应用程序类型信息,用户界面驱动程序在步骤 13-5中判断包括用户界面驱动程序的打印机驱动程序是否适用于该 应用程序。如果判断为不适当,则在步骤13-6中打印设置信息中的 驱动程序名称项被更改为适当的驱动程序名称。在步骤13-7中,包 括更改的驱动程序名称的打印设置信息被返回到应用程序。
当在步骤13-5中判断为适当时,用户界面驱动程序在步骤 13-8中将在步骤13-3中创建的打印设置信息原样返回到应用程序。
适当的驱动程序名称可以通过例如另外将驱动程序名称关联到 并注册到打印机驱动程序类型被在图8所示的表中注册到的字段中 而获得。例如,搜索相对于获取的应用程序类型被定义为"适当"的驱 动程序名称。所获得的驱动程序名称是适用于该应用程序的驱动程序 的名称。打印设置信息中的驱动程序名称用所获得的驱动程序名称代 替。应用程序向在打印设置信息中具有驱动程序名称的打印机驱动程 序发出打印初始化指令,并使用该打印机驱动程序执行打印处理。结 果,可以避免打印处理路径352或353。
以这种方式,甚至在应用程序不向用户界面驱动程序发出初始化 指令的情况下,本实施例也能使要由应用程序所使用的驱动程序切换 到适当的驱动程序。因此,由图形引擎输出的数据不再必须转换为可 由打印机驱动程序处理的格式的数据。结果,打印速度可以改善,可 以防止由于数据转换而造成的信息损失,并可以提高打印质量。
在第二实施例中,在应用程序基于已经由用户界面驱动程序改变 的打印设置信息中所包含的驱动程序名称,执行打印初始化或打印处
理的情况下,可以改变驱动程序。然而,还有这样的情况,例如,应
本地区域中,存储的驱动程序名称的驱动程序也在打印处理过程中使 用。在这样的情况下,用户界面驱动程序不能改变应用程序所使用的 驱动程序。
考虑到上述情况,第三实施例是这样安排的,以便如图14所示, 图形驱动程序1401能够通过GDI接口和XPS接口接收来自 GDI 202的打印数据和来自WPF212的打印数据。因此,只提供一 个用户界面驱动程序,这是当使用任何一个接口时激活的。然后,对 由OS标识的驱动程序属性(表示GDI驱动程序或者XPS驱动程 序的类型信息)进行改变。换句话说,被选为要由应用程序使用的驱 动程序的打印机驱动程序的驱动程序属性被存储,以便可从操作系统 被访问。基于驱动,序属性信息,就从图形引擎输出的数据的格式是 否需要转换作出判断。
图15是示出了根据本实施例改变驱动程序属性的配置的示意 图。在本实施例中,由操作系统参照的驱动程序的属性信息被用户界 面驱动程序1503重新写入。换句话说,在从应用程序1501接收到 初始化指令时,用户界面驱动程序1503使用与第一实施例相同的方 法获取应用程序类型信息。接下来,读取由操作系统保留和管理的表 示驱动程序类型等等的驱动程序属性信息1505,并将其与应用程序 类型信息进行比较,以便判断驱动程序属性是否适当。图8所示的 表可以用于此判断,前提是在打印机驱动程序字段中注册了驱动程序 属性信息。如果适当,则继续进行处理,而不作修改。如果不适当, 则将由操作系统参照的驱动程序属性信息1505果改为适当的打印 机驱动程序的驱动程序属性值。
图16示出了由用户界面驱动程序执行的处理的过程。在接收到 初始化指令时,在步骤1601中,用户界面驱动程序获取由操作系统 参照的驱动程序属性。在步骤1602中,用户界面驱动程序获取应用 程序类型信息。在步骤1603中,就应用程序类型信息和驱动程序属
性信息是否一致(匹配)作出判断。如果不一致,则由操作系统参照 的驱动程序属性被重新写入到与应用程序一致的驱动程序的驱动程
序属性中。
可以看出,在本实施例中,获取由OS标识的信息(注册表、
文件的可用性等等),如果适当,则执行由用户界面驱动程序进行的
处理,不用修改,而如果不适当,则改变表示驱动程序属性的OS的
信息。因此,由图形引擎输出的数据不再必须转换为可由打印机驱动 程序处理的格式的数据。结果,打印速度可以改善,可以防止由于数 据转换而造成的信息损失,并可以提高打印质量。
此外,本发明还可以应用于包括多个设备(例如,主机计算机、 接口设备、阅读器或打印机)的系统,或由单一设备组成的装置(例
如,复印机或传真机)。此外,本发明的目的还可以通过这样来实现 将存储了能够实现上文所描述的实施例的功能的程序代码的存储介 质提供到系统或装置,并让系统的计算机或装置读出并执行存储在存 储介质中的程序。在此情况下,从存储介质中读出的程序代码本身实 现了上文所提及的实施例的功能,而程序代码本身和存储了程序代码 的存储介质将构成本发明。
此外,本发明还包括这样的配置如前所述的实施例的功能通过 由操作系统(OS)等等执行的处理来实现,所述操作系统在计算机上 运行,所述计算机基于来自程序代码的指令,执行一部分或所有实际 处理。此外,本发明还适用于这样的情况从存储介质读出的程序代 码被写到插入到计算机中的功能增强卡上或内置在连接到计算机的 功能增强单元中的存储器上。在这样的情况下,如前所述的实施例的 功能还可以通过让内置在功能增强卡或功能增强单元中的CPU等 等基于来自程序代码的指令执行一部分或所有实际处理。
虽然参照示例性实施例描述了本发明,但是应该理解,本发明不 限于所公开的示例性实施例。下列权利要求的范围应该有最宽的解 释,以便包含所有这样的修改以及等同结构和功能。
本申请要求 2006年 3月17日提交的编号为 No.2006-075551 的日本专利申请的优先权,这里引入了该申请的全部内 容作为参考。
权利要求
1. 一种信息处理设备,其中能够操作第一图形处理单元和第二图形处理单元,所述第一图形处理单元将从第一类型应用程序输出的图形数据转换为能够由第一类型打印机驱动程序处理的第一打印信息,所述第二图形处理单元将从第二类型应用程序输出的图形数据转换为能够由第二类型打印机驱动程序处理的第二打印信息,所述信息处理设备包括判断单元,适用于基于目的地打印机驱动程序的类型和源应用程序的类型,判断源应用程序和目的地打印机驱动程序的组合是第一类型应用程序和第一类型打印机驱动程序的组合还是第二类型应用程序和第二类型打印机驱动程序的组合;以及改变单元,适用于在所述判断单元判断源应用程序和目的地打印机驱动程序不是任何一个所述组合的情况下,将由源应用程序所使用的目的地打印机驱动程序改变为满足所述组合的打印机驱动程序。
2. 根据权利要求1所述的信息处理设备,其中,所述改变单元 将作为响应由源应用程序传输到目的地打印机驱动程序的初始化指 令生成的打印机驱动程序名称的驱动程序句柄改变为满足所述组合 的打印才几驱动程序的驱动程序句柄。
3. 根据权利要求1所述的信息处理设备,进一步包括存储单 元,适用于存储由用户作为打印设置信息输入的打印设置,其中所述改变单元将打印设置信息中包含的目的地打印机驱动程序 的标识符改变为满足所述组合的打印机驱动程序的标识符。
4. 一种信息处理设备,其中第一图形处理单元和第二图形处理 单元在操作系统的管理下操作,所述第一图形处理单元将从第一类型 应用程序输出的图形数据转换为能够由第一类型打印机驱动程序处 理的第一打印信息,所述第二图形处理单元将从第二类型应用程序输 出的图形数据转换为能够由第二类型打印机驱动程序处理的第二打 印信息,以及操作系统参照打印机驱动程序属性,如有必要,将图形数据转换 为能够由与所参照的属性相对应的类型的打印机驱动程序处理的打印信息,所述信息处理设备包括判断单元,适用于基于目的地打印机驱动程序的类型和源应用程 序的类型,判断源应用程序和目的地打印机驱动程序的组合是第一类 型应用程序和第一类型打印机驱动程序的组合还是第二类型应用程 序和第二类型打印机驱动程序的组合;以及改变单元,适用于在所述判断单元判断源应用程序和目的地打印 机驱动程序不是任何一个所述组合的情况下,将由操作系统所参照的 打印机驱动程序属性改变为满足所述组合的属性值。
5. —种用于改变信息处理设备中的打印机驱动程序的方法,在 所述信息处理设备中,能够操作第一图形处理单元和第二图形处理单 元,所述第一图形处理单元将从第一类型应用程序输出的图形数据转 换为能够由第一类型打印机驱动程序处理的第一打印信息,所述第二 图形处理单元将从第二类型应用程序输出的图形数据转换为能够由 第二类型打印机驱动程序处理的第二打印信息,所述方法包括判断步骤,用于基于目的地打印机驱动程序的类型和源应用程序 的类型,判断源应用程序和目的地打印机驱动程序的组合是第一类型 应用程序和第一类型打印机驱动程序的组合还是第二类型应用程序 和第二类型打印机驱动程序的组合;以及改变步骤,用于在所述判断步骤中判断源应用程序和目的地打印 机驱动程序不是任何一个所述组合的情况下,将由源应用程序所使用 的目的地打印机驱动程序改变为满足所述组合的打印机驱动程序。
6. 根据权利要求5所述的用于改变打印机驱动程序的方法,其 中,在改变步骤中,作为响应由源应用程序传输到目的地打印机驱动 程序的初始化指令生成的打印机驱动程序名称的驱动程序句柄被改 变为满足所述组合的打印机驱动程序的驱动程序句柄。
7. 根据权利要求5所述的用于改变打印机驱动程序的方法,进 一步包括存储步骤,用于存储由用户作为打印设置信息输入的打印设 置,其中在所述改变步骤中,打印设置信息中包含的打印机驱动程序的标 识符被改变为满足所述组合的打印机驱动程序的标识符。
8. —种用于改变信息处理设备中的打印机驱动程序的方法,在 所述信息处理设备中,第一图形处理单元和笫二图形处理单元在操作 系统的管理下操作,所述第一图形处理单元将从第一类型应用程序输 出的图形数据转换为能够由第一类型打印机驱动程序处理的筹一打 印信息,所述第二图形处理单元将从第二类型应用程序输出的图形数 据转换为能够由第二类型打印机驱动程序处理的第二打印信息,以及操作系统参照打印机驱动程序属性值,如有必要,将图形数据转 换为能够由与所参照的属性值相对应的类型的打印机驱动程序处理 的打印信息,所述方法包括判断步骤,用于基于目的地打印机驱动程序的类型和源应用程序 的类型,判断源应用程序和目的地打印机驱动程序的组合是第一类型 应用程序和第一类型打印机驱动程序的组合还是笫二类型应用程序 和第二类型打印机驱动程序的组合;以及改变步骤,用于在所述判断步骤中判断源应用程序和目的地打印 机驱动程序不是任何一个所述组合的情况下,将由操作系统参照的打 印机驱动程序属性改变为满足所述组合的属性值。
9. 一种由计算机执行的存储在计算机可读存储介质上的程序, 在所述计算机中,能够操作第一图形处理单元和第二图形处理单元, 所述第一图形处理单元将从第一类型应用程序输出的图形数据转换 为能够由第一类型打印机驱动程序处理的第一打印信息,所述第二图 形处理单元将从第二类型应用程序输出的图形数据转换为能够由第 二类型打印机驱动程序处理的第二打印信息,所述程序使所述计算机 能充当判断单元,适用于基于目的地打印机驱动程序的类型和源应用程 序的类型,判断源应用程序和目的地打印机驱动程序的組合是第一类 型应用程序和第 一类型打印机驱动程序的组合还是第二类型应用程 序和第二类型打印机驱动程序的组合;以及改变单元,适用于在所述判断单元判断源应用程序和目的地打印 机驱动程序不是任何一个所述组合的情况下,将由源应用程序所使用动程序的标识符。
10. 根据权利要求9所述的程序,其中,所述改变单元将作为 是响应由源应用程序传输到目的地打印机驱动程序的初始化指令生印机驱动程序的驱动程序句柄。
11. 根据权利要求9所述的程序,进一步使计算机能充当存储 单元,适用于存储由用户作为打印设置信息输入的打印设置,其中所迷改变单元将打印设置信息中包含的打印机驱动程序的标识 符改变为满足所述组合的打印机驱动程序的标识符。
12. —种由计算机执行的存储在计算机可读存储介质上的程序, 在所述计算机中,第一图形处理单元和第二图形处理单元在操作系统 的管理下操作,所述第一图形处理单元将从第一类型应用程序输出的 图形数据转换为能够由第一类型打印机驱动程序处理的第一打印信 息,所述第二图形处理单元将从第二类型应用程序输出的图形数据转 换为能够由第二类型打印机驱动程序处理的第二打印信息,操作系统参照打印机驱动程序属性值,如有必要,将图形数据转 换为能够由与所参照的属性值相对应的类型的打印机驱动程序处理 的打印信息,所述程序使所述计算机能充当判断单元,适用于基于目的地打印机驱动程序的类型和源应用程. 序的类型,判断源应用程序和目的地打印机驱动程序的组合是第一类 型应用程序和第 一 类型打印机驱动程序的组合还是第二类型应用程 序和第二类型打印机驱动程序的组合;以及改变单元,适用于在所述判断单元判断源应用程序和目的地打印 机驱动程序不是任何一个所述组合的情况下,将由操作系统所参照的 打印机驱动程序属性改变为满足所述组合的属性值。
13. —种信息处理设备,其中能够操作第一图形处理单元和第二 图形处理单元,所述第一图形处理单元将从第一类型应用程序输出的 图形数据转换为能够由第一类型打印机驱动程序处理的第一打印信 息,所述第二图形处理单元将从第二类型应用程序输出的图形数据转 换为能够由第二类型打印机驱动程序处理的第二打印信息,所述信息 处理设备包括判断单元,适用于基于目的地打印机驱动程序的类型和源应用程 序的类型,判断源应用程序和目的地打印机驱动程序的组合是第一类 型应用程序和第二类型打印机驱动程序的第一组合还是第二类型应 用程序和第一类型打印机驱动程序的第二组合;以及改变单元,适用于在所述判断单元判断源应用程序和目的地打印 机驱动程序的组合是第 一组合和第二组合中的至少 一个的情况下,将 由源应用程序所使用的目的地打印机驱动程序改变为不满足第一組 合和第二组合的打印机驱动程序。
14. 一种用于控制信息处理设备的方法,在所述信息处理设备 中,能够操作第一图形处理单元和第二图形处理单元,所述第一图形 处理单元将从第一类型应用程序输出的图形数据转换为能够由第一 类型打印机驱动程序处理的第一打印信息,所述第二图形处理单元将 从第二类型应用程序输出的图形数据转换为能够由第二类型打印机 驱动程序处理的第二打印信息,所述方法包括判断步骤,基于目的地打印机驱动程序的类型和源应用程序的类 型,判断源应用程序和目的地打印机驱动程序的组合是第一类型应用 程序和第二类型打印机驱动程序的第一组合还是第二类型应用程序 和第一类型打印机驱动程序的第二组合;以及改变步骤,在所述判断步骤判断源应用程序和目的地打印机驱动 程序的组合是第 一组合和第二组合中的至少 一个的情况下,将由源应 用程序所使用的目的地打印机驱动程序改变为不满足第一组合和第 二组合的打印机驱动程序。
15. —种计算机可读存储介质,其中存储了要由计算机执行的程 序,所述程序用于使计算机执行控制计算机的方法,在所述计算机中, 能够操作第一图形处理单元和第二图形处理单元,所述第一图形处理 单元将从第一类型应用程序输出的图形数据转换为能够由第一类型 打印机驱动程序处理的第一打印信息,所述笫二图形处理单元将从第 二类型应用程序输出的图形数据转换为能够由第二类型打印机驱动程序处理的第二打印信息,所述方法包括判断步骤,基于目的地打印机驱动程序的类型和源应用程序的类 型,判断源应用程序和目的地打印机驱动程序的组合是第一类型应用 程序和第二类型打印机驱动程序的第一类型组合还是第二类型应用 程序和第一类型打印机驱动程序的第二组合;以及改变步骤,在所述判断步骤判断源应用程序和目的地打印机驱动 程序的组合是第 一组合和第二组合中的至少 一个的情况下,将由源应 用程序所使用的目的地打印机驱动程序改变为不满足第一组合和第 二组合的打印机驱动程序。
全文摘要
根据本发明的信息处理设备是包括下列单元的信息处理设备判断单元,判断源应用程序和目的地打印机驱动程序的组合是第一类型应用程序和第一类型打印机驱动程序的组合还是第二类型应用程序和第二类型打印机驱动程序的组合,以及改变单元,在所述判断单元判断源应用程序和目的地打印机驱动程序不是任何一个所述组合的情况下,将由操作系统所参照的打印机驱动程序属性改变为满足所述组合的属性值。
文档编号G06F9/445GK101395569SQ20078000760
公开日2009年3月25日 申请日期2007年3月6日 优先权日2006年3月17日
发明者古谷智行 申请人:佳能株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1