文档处理装置及文档处理方法转让专利

申请号 : CN200910225443.X

文献号 : CN101901117B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 盐原彻矢

申请人 : 佳能株式会社

摘要 :

本发明提供一种文档处理装置及文档处理方法,在打印预览中改变打印设置之前确定是否所有页面具有相同的打印设置,并且仅当所有页面具有相同的打印设置时准许设置改变。在待处理XPS数据的各层中,确定打印设置信息是否未被添加到该层的元素,或者添加到该层的元素的所述打印设置信息是否由该层的所有元素共享(S501至S509)。如果条件之一得到满足,则接受用户对所述打印设置信息的改变(S511)。当改变所述打印设置时,不将设置改变反映在单个打印票上。通过在顶部元素上添加反映有所述设置改变的打印票,将改变内容反映在整个作业上。

权利要求 :

1.一种文档处理装置,其处理由层次结构的元素构成的结构化文档,所述结构化文档包括用描绘信息描述的至少一个页面元素,并且在所述结构化文档中能够对各层的各元素添加打印设置信息,所述文档处理装置包括:打印设置确定单元,其用于在待处理的结构化文档的各层中,确定所述打印设置信息是否未被添加到该层的元素上,或者添加到该层的元素上的所述打印设置信息是否在该层的所有元素中通用;以及打印设置信息编辑单元,其用于在所述打印设置确定单元在所述待处理的结构化文档的各层中确定所述打印设置信息未被添加到该层的元素上,或者确定添加到该层的元素上的所述打印设置信息是在该层的所有元素中通用的情况下,接受用户对所述打印设置信息的改变。

2.根据权利要求1所述的文档处理装置,其中

即使所述打印设置信息被添加到该层的元素上,如果该元素的内容是空白的,则所述打印设置确定单元也确定所述打印设置信息未被添加到该元素上。

3.根据权利要求1所述的文档处理装置,其中

如果相同的打印设置信息与层中的所有元素相关联,则所述打印设置确定单元确定所述打印设置信息是在该层的所有元素中通用的。

4.根据权利要求1所述的文档处理装置,其中

所述结构化文档包括:所述页面元素的层、包括1个或更多个页面元素的文档元素的层、以及包括1个或更多个文档元素的1个作业元素的层。

5.根据权利要求1所述的文档处理装置,其中

如果所述打印设置确定单元在所述待处理的结构化文档的各层中未确定所述打印设置信息未被添加到该层的元素上并且未确定添加到该层的元素上的所述打印设置信息在该层的所有元素中通用,则所述打印设置确定单元在各层中比较添加到各层的元素上的所述打印设置信息,以确定添加到各层的元素上的所述打印设置信息是否在所有层中是相同的,并且如果确定添加到各层的元素上的所述打印设置信息在所有层中是相同的,则所述打印设置信息编辑单元接受所述用户对所述打印设置信息的改变。

6.根据权利要求1所述的文档处理装置,其中

在接受所述用户对所述打印设置信息的改变之后,所述打印设置信息编辑单元将反映了所述改变的所述打印设置信息添加到顶层的元素上,并删除添加到下层的元素上的所述打印设置信息。

7.根据权利要求1所述的文档处理装置,该文档处理装置还包括:

预览单元,其用于显示所述结构化文档的内容的预览,其中

当所述预览单元显示所述结构化文档的所述预览时,所述打印设置确定单元执行确定,并且当所述预览单元显示所述结构化文档的所述预览时,所述打印设置信息编辑单元根据所述打印设置确定单元的确定结果来接受所述打印设置信息的改变。

8.根据权利要求4所述的文档处理装置,其中

所述结构化文档是可扩展标记语言文件规范(XPS)数据,所述打印设置信息是打印票。

9.一种文档处理装置执行的文档处理方法,所述文档处理装置处理由层次结构的元素构成的结构化文档,所述结构化文档包括用描绘信息描述的至少一个页面元素,并且在所述结构化文档中能够对各层的各元素添加打印设置信息,所述文档处理方法包括:打印设置确定步骤,其在待处理的结构化文档的各层中,确定所述打印设置信息是否未被添加到该层的元素上,或者添加到该层的元素上的所述打印设置信息是否在该层的所有元素中通用;以及打印设置信息编辑步骤,其在所述打印设置确定步骤中在所述待处理的结构化文档的各层中确定所述打印设置信息未被添加到该层的元素上,或者添加到该层的元素上的所述打印设置信息是在该层的所有元素中通用的情况下,接受用户对所述打印设置信息的改变。

说明书 :

文档处理装置及文档处理方法

技术领域

[0001] 本发明涉及一种用于在打印处理之前显示打印图像以让用户可以识别该打印图像的、具有所谓的“预览”功能等的文档处理装置及文档处理方法。

背景技术

[0002] 在使用安装有微软公司(Microsoft Corporation)的Windows(注册商标)作为操作系统(OS)的计算机的打印系统中,由应用程序(application)等生成的打印数据以OS标准数据格式存储在假脱机文件中。OS调用打印机驱动器对打印数据进行打印。打印机驱动器读取存储在假脱机文件中的打印数据,图像生成处理单元创建打印图像,打印机将数据进一步转换成能够被解释的打印命令。打印命令被发送到打印机,打印机对打印命令进行解释,并在记录介质上形成图像,以执行打印处理。
[0003] 在打印机驱动器中,实现了打印预览功能,其中在向打印机发送打印命令之前分析打印数据及打印设置以创建指示打印结果的显示数据,并且预先显示该数据。作为打印机驱动器的模块来提供预览功能。还配备了这样一种功能,即预览功能将由打印机驱动器的绘制(rendering)模块或OS的描绘(drawing)模块描绘的、用作打印预览的内容在显示单元上输出(例如参见日本特开2003-167721号公报或日本特开2004-102618号公报)。打印预览功能还实现了这样一种功能,即显示打印设置,并在必要时进行改变(例如参见日本特开2006-011847号公报)。
[0004] 另一方面,近年来出现了不同于传统打印系统的打印系统。在新的打印系统(称为“XPS打印系统”)中,不使用传统的EMF(增强型元文件,Enhanced Meta File)格式,而使用XPS(XML(Extensible Markup Language,可扩展标记语言)文件规范,XML Paper Specification)格式作为在假脱机文件中存储的数据格式。XPS是由微软公司开发的开放标准的电子文档格 式。
[0005] 当在打印预览中改变打印设置时,为了便于用户识别改变内容的影响范围,在有些情况下使用这样一种方法,即将打印设置改变的目标限定在作业中的全部页面具有相同打印设置的作业,并且将改变内容反映在整个作业上。在这种情况下,需要确定作业中的所有页面是否具有相同的打印设置。在XPS打印系统中,可以为诸如页面等的作业的一部分,来准备作为描述打印设置的XML数据的打印票(PrintTicket或PT)。因此,需要对打印票进行比较,以确定在XPS格式的文档数据的页面中打印设置是否相同。
[0006] 然而,当对打印票中描述的项目分别进行比较时,依据页面数量或者打印票中描述的项目数量,可能会施加大的处理负荷。此外,为了在打印设置被改变之后将改变内容反映在打印票上,需要更新打印票以将改变内容反映在所有页面上。

发明内容

[0007] 鉴于上述问题作出了本发明,本发明提供一种用于将打印设置的比较或更新的处理负荷限制在最小程度、以将打印设置改变的目标限定在作业中的所有页面具有相同打印设置的作业的文档处理装置及文档处理方法。
[0008] 本发明的结构如下。更具体地说,根据本发明的一个方面,提供了一种文档处理装置,其处理由层次结构的元素构成的结构化文档,所述结构化文档包括用描绘信息描述的至少一个页面元素,并且在所述结构化文档中能够对各层的各元素添加打印设置信息,所述文档处理装置包括:打印设置确定单元,其被配置为在待处理的结构化文档的各层中,确定所述打印设置信息是否未被添加到该层的元素上,或者添加到该层的元素上的所述打印设置信息是否在该层的所有元素中通用;以及打印设置信息编辑器,其被配置为在所述打印设置确定单元在所述待处理的结构化文档的各层中确定所述打印设置信息未被添加到该层的元素上,或者确定添加到该层的元素上的所述打印设置信息是在该层的所有元素中通用的情况下,接受用户对所述打印设置信息的改变。
[0009] 根据本发明的另一方面,提供了一种文档处理装置执行的文档处理方法,所述文档处理装置处理由层次结构的元素构成的结构化文档,所述结构化文档包括用描绘信息描述的至少一个页面元素,并且在所述结构化文档中能够对各层的各元素添加打印设置信息,所述文档处理方法包括:打印设置确定步骤,其在待处理的结构化文档的各层中,确定所述打印设置信息是否未被添加到该层的元素上,或者添加到该层的元素上的所述打印设置信息是否在该层的所有元素中通用;以及打印设置信息编辑步骤,其在所述打印设置确定步骤中在所述待处理的结构化文档的各层中确定所述打印设置信息未被添加到该层的元素上,或者添加到该层的元素上的所述打印设置信息是在该层的所有元素中通用的情况下,接受用户对所述打印设置信息的改变。
[0010] 根据上述结构,本发明能够以低的处理负荷,快速确定在打印作业中是否所有页面具有相同的打印设置。
[0011] 此外,本发明能够在抑制PrintTicket的更新量的同时,将打印设置的改变反映在全体XPS数据上。
[0012] 通过下面参照附图对示例性实施例的描述,本发明的其他特征将变得清楚。 附图说明
[0013] 图1是XPS的逻辑结构的示意图。
[0014] 图2是示出根据本发明的实施例的打印系统的示例的框图。
[0015] 图3是示出根据本发明的实施例的打印机驱动器的示例的框图。
[0016] 图4是示出根据本发明的实施例的打印设置对话框的示例的图。
[0017] 图5是示出根据本发明的实施例的预览窗口的示例的图。
[0018] 图6A及6B是示出例示根据本发明的实施例的在打印设置的相同性确定中使用的基本条件的XPS的示例的图。
[0019] 图7A、7B、7C及7D是示出例示根据本发明的实施例的在打印设置的相同性确定中使用的附加条件的XPS的示例的图。
[0020] 图8是示出根据本发明的实施例的XPS部分的获取处理的示例的图。
[0021] 图9是示出根据本发明的实施例的作业级的PT生成处理的示例的图。
[0022] 图10是示出根据本发明的实施例的文档级的PT生成处理的示例的图。
[0023] 图11是示出根据本发明的实施例的页面级的PT生成处理的示例的图。
[0024] 图12是示出根据本发明的实施例的是否可以进行打印设置改变确定处理的示例的图。
[0025] 图13是示出根据本发明的实施例的、打印设置改变在XPS数据上的反映的示意图。
[0026] 图14是示出根据本发明的实施例的PT更新处理的示例的图。
[0027] 图15是示出根据本发明的实施例的、使用DevmodeSnapShot的打印设置的比较处理的示例的图。
[0028] 图16是PT的示例的示意图。
[0029] 图17是示出PT的合并结果的示例的图。

具体实施方式

[0030] [第1实施例]
[0031] 现在将基于图中例示的实施例,来详细地描述本发明。本说明书中的XPS是XML Paper Specification(XML文件规范)的缩写,并且是由微软公司开发的开放标准的电子文档格式之一。
[0032]
[0033] 为了便于理解本说明书,首先将对XPS进行简单的描述。XPS文档具有层次(hierarchical)结构,并且是在各层上包含元素(element)的结构化文档。具体来说,XPS文档具有FixedDocumentSequence(固定文档序列)(以下称为“FDS”或“作业元素”)作为根或顶层的树形结构。FDS具有1个或更多个FixedDocument(固定文档)(以下称为“FD”或“文档元素”),FD具有1个或更多个FixedPage(固定页面)(以下称为“FP”或“页面元素”)。因此,下层属于顶层。在一些情况下将FDS、FD及FP称为“XPS部分”,并且在一些情况下也称为“XPS部分的元素”。FP描述XML格式的文档的页面的内容,并且包含要实际显示或打印的内容。换句话说,FP描述描绘信息。多个FP可以共享FP的页面内容中使用的诸如字体及图像等的资源。FDS、 FD及FP可以在打印票(print ticket,以下称为“PT”)中具有打印设置。因此,打印票相当于添加到元素的打印设置信息。PT用XML格式描述用于打印XPS文档的打印设置。用来打印FP的打印设置是合并了FDS的PT、待打印FP的父FD的PT、以及待打印FP的PT的PT。当合并PT时,将下层的打印设置优先。在XPS格式的文档数据中,FP相当于文档的页面,FD相当于具有页面束的文档,FDS相当于具有文档束的作业。作业相当于一组文档数据。
[0034] 图1是示出XPS文档的逻辑结构的框图的示例。XPS文档101的逻辑结构是以FDS103作为根的树形结构。FDS 103包括FD 111及113作为子(child)。FD 111包括FP 121及123作为子。FD 113包括FP 125作为子。就描述打印设置的PT而言,FDS 103保持有PT 131,FD 111保持有PT 133,FP 121保持有PT 135,FD 113保持有PT 137。换句话说,对PT的保持表示关联。FP 123及125未保持PT。FP 121及123共享诸如字体(font)及图像(image)等的资源141,FP 125使用诸如字体及图像等的资源143。例如,用来打印FP
121的PT是合并了PT 131、133及135的PT。实际的XPS文档是通过压缩图1的结构化文档而获得的数据。
[0035] 图16是PT的示例。如前所述,打印设置用XML来描述。在图16的PT中,标签(tab)1601描述了纸张大小是A4的设置,标签1602描述了纸张类型是普通纸的打印设置。PT被附加到FDS、FD及FP。
[0036] 图17是通过合并PT而生成的FP的打印设置的示例。在该示例中,打印设置包括“纸张大小”、“纸张类型”、“进给方法”、“打印方向”及“单色打印”5个项目。所述打印设置可以在FDS、FD及FP的各层中指定,还通过由用户指定的默认设置(用户默认设置)来指定。图17的FDS和FD以及FD和FP是串联的(in serial)父子关系。在合并期间,在各PT的打印设置中优先并应用子元素的设置。用户的默认打印设置应用于不存在于任何部分的PT中的打印设置。例如,如果不存在如图17中的FDS、FD及FP的PT中的纸张大小的设置,则应用用户默认设置“A4”作为页面级的打印设置。就纸张类型而言,在FDS中描述了“普通纸”,在FD中描述了“明信片”。在FP的PT中没有描述。在这种情况下,应用作为子元素的FD的设置, 而不应用FDS的设置。因此,在页面级的打印设置中设置纸张类型“明信片”。同样,在FDS的PT中描述的“盒”应用于进给方法,在FP的PT中描述的“横向”应用于打印方向,在FP的PT中描述的“开启(ON)”应用于单色打印。这样,在具有相关打印设置的PT当中,应用树形结构中的下级XPS部分中的设置作为页面级的打印设置。还指定将在哪个级别中使用设置项目,并且在合并低于指定级别的级别的部分中的PT之前,不需要考虑项目。例如,当合并FP的PT时,不反映在FP的PT中描述的作业级的项目。另一方面,当合并FDS的PT时,反映在FDS的PT中描述的页面级的项目。
[0037] 在下文中,将通过合并用户默认打印设置和FDS的PT而获得的PT称为“作业级PT”。将通过合并作业级PT和FD的PT而获得的PT称为“文档级PT”。将通过合并文档级PT和FP的PT而获得的PT称为“页面级PT”。
[0038] <打印系统的结构>
[0039] 图2是示出根据本发明的实施例的打印系统的结构的框图。打印机201是形成图像的喷墨打印机。打印机201基于由后述的数据处理器(以下又称“信息处理器”)202生成的打印命令,在记录介质200上形成图像。数据处理器202可以是安装有用于执行本实施例的步骤的文档处理程序的通用计算机,也可以是文档处理装置。打印机的类型不是特别重要,在这里例示了喷墨彩色打印机。在数据处理器202中,未示出的应用程序创建打印作业,打印机驱动器230基于假脱机的打印作业生成用于控制所连接的打印机201的打印操作的打印命令。在本实施例中,使用个人计算机作为数据处理器202。数据处理器202还接受来自用户的、与打印设置相关的指令和输入。用于控制数据处理器202的OS包含在数据处理器202中,各种功能块在OS进行的控制下操作。通信接口203是用于连接数据处理器202和打印机201的通信接口。在本实施例中使用作为串行接口的USB。作为选择,可以使用诸如IEEE 1394、以太网(Ethernet(注册商标))、IrDA、IEEE 802.11及电力线等的串行接口,或者诸如Centronics及SCSI等的并行接口。可以使用任何有线/无线接口,只要能够实现通信即可。这样,本实施例中的打印系统不是独立装置,而具有数据处理器202与形成图像的打 印机201通过特定的双向接口相连接的结构。然而,配置不局限于该示例,系统可以是将数据处理器与打印机的功能进行了整合的集成打印系统。打印机201及数据处理器202的功能对于说明本实施例的特征而言不是特别需要,因此将不予描述。 [0040] 对各功能块进行描述。打印设置处理单元231又称为“用户接口模块”,它是用于用户改变打印设置的程序模块。打印设置处理单元231能够根据用户的操作显示打印设置信息,并能够接受打印设置信息的输入(例如编辑)。打印设置处理单元231还将接受的打印设置的改变反映在打印设置信息上。如果不能接受打印设置,则打印设置处理单元231仅显示打印设置,而不接受编辑。这可以应用于全部打印设置信息,或者可以部分应用。过滤器(filter)组319包括布局处理单元321、预览文档处理单元323以及打印命令生成处理单元325。这些是也称为“过滤器”的程序模块。下面,参照图3描述处理的内容。数据通信处理单元233是输出生成的打印命令等的程序模块。预览控制单元235又称为“预览控制模块”,它执行与预览显示相关的控制,例如根据预览数据指令生成预览数据以及显示指定页面等。
[0041] 块240至244是硬件模块,其形成用于执行打印机驱动器230、应用程序、操作系统等的环境。中央控制单元241是处理器,其执行存储在存储单元244等中的程序,并处理文档数据以及与所述文档数据相关联的打印设置信息。信息通知单元243将各种信号输入到中央控制单元241。也可以包含诸如显示器等的显示设备。存储单元244由半导体存储器、硬盘等构成,并存储程序以及文档数据。存储单元244还存储由操作系统为打印使用的假脱机文件。输入操作单元242控制输入,并控制诸如键盘等的输入设备。
[0042] 存储介质供给通过软件实现的上述各种功能块的程序代码。可以使用的介质的示例包括软盘、硬盘、光盘、磁光盘、CD-ROM、CD-R、磁带、非易失性存储卡、以及ROM。 [0043] <打印机驱动器的操作>
[0044] 图3是用于说明本发明中的打印机驱动器的实施例的框图,其概略地例示了图2的打印系统,并重点例示了OS打印支持功能以及打印机驱动器。 与本发明相关的模块有包含打印设置功能的用户接口模块231及过滤器组319。过滤器组319由具有对XPS数据的页面进行布置的功能的布局过滤器321、作为用于提供预览功能的过滤器的预览过滤器323以及具有将XPS数据转换为打印机能够解释的打印命令的功能的打印命令过滤器325构成。过滤器一般是指具有基于输入数据通过步骤(诸如处理、转换、无转换及生成等)来输出某种数据的功能的程序。各过滤器表示图2的布局处理单元321、预览文档处理单元
323及打印命令生成处理单元325的不同名称。
[0045] 在图3的打印系统中,由应用程序301创建的文档的各页面的打印数据通过OS打印支持功能313临时存储在XPS假脱机文件317中。打印机驱动器的过滤器组319基于打印设置信息,将数据转换为打印机能够解释的打印命令。该命令被供给到打印机201并被打印。
[0046] 用户接口模块231一般提供设置用于打印的纸张大小及打印方向以及其他属性的功能。用户接口模块231向应用程序301返回存储有多个打印设置项目的设置值的打印设置信息。下面参照图4描述由用户接口模块231提供的打印设置对话框的示例。 [0047] 在创建的任意文档的打印中,应用程序301向OS打印支持功能313通知打印开始或打印结束,并通知从用户接口模块231返回的打印设置信息以执行打印设置。应用程序301还通知文档的各页面的描绘开始或描绘结束。OS打印支持功能313把应用程序描绘的内容以及打印设置信息存储在XPS假脱机文件317中。OS打印支持功能调用各过滤器对假脱机的打印作业进行假脱机输出。
[0048] 打印机驱动器的过滤器组319由1个或更多个过滤器构成。过滤器组319具有这样一种功能,即在打印期间从XPS假脱机文件中读出打印作业,将作业转换为打印机能够解释的打印命令,并将该命令供给到打印机201进行打印。本实施例中的过滤器组319由作为布局处理单元的布局过滤器321、作为预览文档创建单元的预览过滤器323以及作为打印命令转换单元的打印命令过滤器325构成。然而,1个过滤器即能够实现布局功能及预览功能,可以将不必要的过滤器去除。本提议不局限于以上过滤器结构。
[0049] 布局过滤器321具有这样一种功能,即将存储在XPS假脱机文件317 中的XPS数据作为输入进行处理,基于打印设置信息来执行页面的布局处理,并输出布局后的XPS数据。本实施例中的布局处理包括例如用于在一个纸面上打印多个页面的N-up打印,以及用于在多个纸面上打印一个页面的海报打印。
[0050] 预览过滤器323将布局过滤器321的输出作为输入进行处理,并基于打印设置向用户提供预览功能。
[0051] 打印命令过滤器325将预览过滤器323的输出作为输入进行处理,并且具有这样一种功能,即依照打印设置信息将XPS数据转换为打印机能够解释的打印命令,并将该命令输出。当打印命令过滤器325将输入的XPS数据临时转换为图像数据时,一般将该过滤器称为“绘制过滤器(renderfilter)”。绘制过滤器经常用于以喷墨打印机为代表的廉价光栅打印机的打印机驱动器中。当被作为绘制过滤器进行操作时,打印命令过滤器325将输入的XPS数据临时转换为图像数据。在诸如色彩空间转换及二值化等的图像处理之后,数据被转换为光栅打印机能够解释的打印命令。如果在以页式打印机为代表的高功能打印机中,XPS包含在打印机能够解释的类型的打印命令中,则打印命令过滤器325对输入的XPS数据进行编辑,并将XPS数据输出。如果打印命令过滤器325中的处理是非必要的,则显然可以将输入的XPS数据输出而不必进行转换,或者可以不必将打印命令过滤器325包含在打印机驱动器中。
[0052] 作为输出设备的打印机201具有这样一种功能,即解释由打印命令过滤器325生成的打印命令,并在打印纸上形成可见图像。打印纸200中示出的打印结果的示例例示了布局过滤器321已执行了2-up(2个页面被缩小并布置在片材的一个面上的配置)的处理。 [0053] <打印设置画面>
[0054] 图4是示出在本实施例中被显示用来设置打印模式或执行各种纸张设置的打印设置对话框的示例的图。在图4中,打印设置对话框401由显示区域402、403、404、405、406、408、409、410、411、420、422、423、424、425、431等构成。打印设置中有数量非常多的显示项目。因此,通常使用选项卡页来按内容对设置项目进行分类,以便能够轻松地查看这些项 目。
[0055] 图4示出了当选择了基本设置选项卡402时的显示示例。基本设置的简易显示区域420不仅显示文字信息,而且显示具有视觉吸引力的形式的信息。纸张类型选择单元422显示纸张类型,用户可以对纸张类型进行选择。纸张类型选择单元422由下拉菜单构成,并且通常显示所选择的纸张类型。通过在该处单击,可选择纸张类型的列表被显示出来。可选择纸张类型是打印机可打印的片材,包括例示的普通纸以及光面纸、铜版纸、照相纸、明信片、贺年明信片等。进给方法选择单元423显示打印机主体进给纸张的进给方法,用户可以对进给方法进行选择。用户可以使用进给方法选择单元423来选择例如作为自动进纸口的进纸托盘及纸盒,以及以手动方式逐页进给打印机纸张的“手动进纸”。打印质量选择单元424是用于让用户对打印质量进行设置的项目。色彩调整单元425是用于让用户对打印色彩进行调整的项目。单色打印设置单元426是复选框,其用于在即使打印文档是彩色的时也使打印结果成为黑白的。预览打印设置单元427是复选框,其用于在打印机进行实际打印之前,确认各种打印设置如何反映在打印文档上。当标准设置单元431被按下时,基本设置402的设置返回到标准设置(出厂时的设置)。
[0056] 用户可以在选择完各项目之后按下“确定”按钮408来关闭打印设置对话框401,以将所选择的打印设置反映在打印上。当用户按下取消按钮409时,打印设置对话框401关闭,所选择的设置项目的内容被放弃并且不被反映在打印上。应用按钮410能够在打印设置对话框401保持打开状态的同时,将所选择的打印设置反映在打印上。帮助按钮411能够在另一窗口上显示与基本设置402的设置项目相关的说明文本。
[0057] <预览控制模块的预览窗口>
[0058] 图5示出了在本实施例中由预览控制模块提供的显示画面(预览窗口)的示例。打印预览窗口501充当用于显示预览图像、打印作业的打印设置等的显示区域以及用于让用户改变预览图像的显示方法等的输入单元。
[0059] 菜单栏502让用户可以用菜单格式选择发送到预览程序的指令(例如如显示切换等)。准备有用户操作单元503至506的区域是工具栏,通过按 下工具栏503,用户不必使用菜单栏502就能够轻松地执行诸如切换预览页面等的操作。页面切换按钮503由4个按钮构成,并且可以将预览显示切换到首页、上一页、下一页和最后一页。下拉列表504是用于改变预览图像的显示大小的下拉列表,并且可以选择完整显示、100%显示、200%显示等。用户可以按下打印开始按钮505来结束预览程序,所预览的用于预览的XPS文档可以被打印。用户可以按下打印取消按钮506来结束预览程序并取消打印作业。预览显示区域507利用用于预览的XPS文件的内容,以将打印纸以及期望在该打印纸上形成的可见图像作为打印图像来显示。显示区域508显示与应用了预览功能的打印作业的打印设置相关的代表性设置项目的设置值。图5例示了这样一个示例,在其中,文档的总页数是3页,当前所预览和显示的页码是第2页,在打印设置中设置的份数是1份,并且设置了等倍打印。显示区域509显示与应用了预览功能的打印作业中当前显示的页面的打印设置相关的代表性设置项目的设置值。图5例示了这样一个示例,在该示例中,输出纸张大小是A4,纸张类型是普通纸,进给方法被设置为盒。用户可以在打印预览中设置和改变纸张类型及进给方法。
[0060] 在本实施例中,当对与预览设置开启的打印设置信息相关联的打印作业进行了假脱机处理、OS打印支持功能激活过滤器管道并且预览过滤器激活预览控制模块时,显示图5中所例示的显示画面。
[0061] <打印设置的改变>
[0062] 如上所述,存在包括确认打印结果、确认打印设置以及改变一部分设置的功能的打印预览功能。如果对单个页面准许打印设置的改变,则用户很难识别改变内容的影响范围。因此实施了这样一种方法,在该方法中,仅当所有页面具有相同打印设置时能够改变打印设置,并且将更改后的设置反映在整个作业上。
[0063] 在XPS中所有页面具有相同打印设置的事实,意味着所有页面中的页面级的PT具有相同的设置。通过对用户的默认打印设置的PT、FDS的PT、待打印FP的父FD的PT、以及打印目标FP的PT进行合并,获得页面级的FP。利用图1的示例进行描述,FP 121的页面级PT是这样一个PT,在 其中,合并了用户的默认打印设置的PT、FDS 103的PT 131、父FD111的PT 133、以及FP 121的PT 135。由于在FP 123中的FP中不存在PT,因此,FP 123的页面级PT是这样一个PT,在其中,合并了用户的默认打印设置的PT、FDS 103的PT 131以及父FD 111的PT 133。同样,由于在FP 125中的FP中不存在PT,因此,页面级PT是这样一个PT,在其中,合并了用户的默认打印设置的PT、FDS 103的PT 131以及父FD 113的PT137。因此,为了让所有页面具有相同的打印设置,合并有FD 111的PT 133以及FP 121的PT 135的PT、FD 111的PT 133以及FD 113的PT 137需要具有相同的打印设置。为了简单地确定相同性,可以从合并目标中,将公共打印设置、或者在这种情况下的用户的默认打印设置的PT以及FDS 103的PT 131去除。
[0064] <页面间的打印设置确定处理>
[0065] 存在一种比较所有页面级PT来确定作业中的所有页面是否具有相同打印设置的方法。在这种情况下,需要逐个地比较PT中描述的打印设置,并且可以依据页数或者设置的内容,来施加大的处理负荷。此外,因为即使在相同的设置中描述或排列顺序也存在差异,所以当以二进制级别比较PT时,可能无法确定相同性。因此,提出一种基于PT的配置进行确定的方法,来确定相同的打印设置,同时将PT内容的比较限制在最少程度。 [0066] 如果在任何的FD及FP中均不存在PT,则确定所有页面的打印设置是相同的。下面,描述图6A的示例,在该示例中,只有FDS 601中存在PT 621,FD 603至605以及FP 607至611中不存在PT。在这种情况下,所有FP的页面级PT都是通过将用户的默认打印设置的PT以及FDS 601的PT 621合并获得的PT,并且都是相同的打印设置。另一方面,存在FD及FP中存在PT的情况,如图6B所示。FDS 631中存在PT 651,FD 633中存在PT 653,FP 639及641中存在PT 655及657。在这种情况下,通过将PT 651、653与FP 637中的默认打印设置的PT合并、将PT 651、653、655与FP 639中的默认打印设置的PT合并,并且将PT 651、657与FP 641的默认打印设置的PT合并,获得页面级PT。因此,FP具有不同的页面级PT,打印设置不可能相同。这样,FD及FP中PT的存在成为用于确定所有页面是否具有相 同打印设置的基本条件。
[0067] 通过向上述的条件增加以下条件,确定的精确度得到进一步提高。
[0068] 如果在FD及FP中存在没有打印设置的描述的PT(以下称为“空白PT”),则假定未添加该PT。
[0069] 如果只存在1个FP,则假定即使在FD及FP中存在PT,所有页面也都具有相同的打印设置。
[0070] 如果只存在1个FD,则假定即使在FD中存在PT,但如果在FP中不存在PT,则所有页面也都具有相同的打印设置。
[0071] 如果存在1个FD,或者如果在任何FD中均不存在PT,则假定如果相同的PT与所有FP相关联,则所有页面均具有相同的打印设置。
[0072] 如图7A所示,如果即使在FD或FP中存在PT但该PT是空白的,则当合并用户的默认打印设置的PT与FDS的PT时,设置内容也不受影响。因此,这与不存在PT的情况是等同的。更具体地说,在图7A中,FP 707至711的页面级PT全部通过合并用户的默认打印设置的PT以及FDS 701的PT 721而获得,并且可以说,所有页面具有相同的打印设置。虽然需要参照PT的内容来确定PT是否是空白的,但是因为PT中未描述设置,所以可以利用极小的负荷来进行确定。
[0073] 如果同图7B中一样只存在1个FP,则显然不存在打印设置逐页相异的情况。因此,即使在FD及FP中存在PT,也可以说所有页面具有相同的打印设置。
[0074] 如果同图7C中一样只存在1个FD,则所有FP具有相同的父FD,并且在创建页面级PT时将FD的相同PT用于合并。因此,如果存在1个FD,则不管在FP中不存在PT的情况下FD的PT是否存在,所有页面具有相同的打印设置。在图7C中,通过合并用户的默认打印设置的PT、FDS 751的PT 761以及FD 753的PT 763,而获得FP 755至759的所有页面级PT。可以说,所有页面具有相同的打印设置。
[0075] 如果同图7D中一样,所有FP与相同的PT相关联,则如果所有FP的父FD的PT是相同的,则所有的页面级PT是相同的。因此,如果只存在1个FD,或者如果在任何的FD中均不存在PT,则所有页面具有相同的打印 设置。在图7D中,FP 775至779的页面级PT全部通过合并用户的默认打印设置的PT、FDS 771的PT 781、FD 773的PT 783以及所有FP共同关联的PT 785而获得。因此,可以说所有页面具有相同的打印设置。
[0076] 总起来说,如果各层的元素的打印设置在元素间通用,则确定所有页面具有相同的打印设置。具体来说,如果所述打印设置信息被添加到待处理XPS数据(或结构化文档)中的层的元素,或者如果该层的所有元素共享被添加到该层的元素的所述打印设置信息,并且所有层满足该条件,则可以确定结构化文档的各页面均具有相同的打印设置。这样,可以不用考虑实际打印设置而在形式上确定相同性,并且可以进行简易而快速的确定。 [0077] <预览过滤器处理>
[0078] 图8是在由预览过滤器323执行的XPS部分的获取处理中利用图7A至7D描述的上述确定处理的流程图的示例。本处理不仅可以由预览过滤器来执行,而且可以在预览处理之前由例如预览控制模块235来执行。
[0079] 在步骤S101中,预览过滤器323依次获取通过假脱机或先前的过滤而传输的XPS部分。所获取的XPS部分有FDS、FD及FP。如果在步骤S103中确定获取了XPS部分,则依照确定结果,根据所获取的部分的类型来执行处理。XPS部分的类型用元素中的标识符等来描述。另一方面,如果未获取XPS部分,则确定获取了XPS数据的所有XPS部分,处理转到步骤S141。
[0080] 在步骤S111、S121及S131中,对所获取的部分进行辨别。如果所获取的部分是FDS,则在步骤S113中,创建与FDS相对应的作业级PT。下面将参照图9,来描述作业级PT生成处理。如果所获取的部分是FD,则在步骤S123中,创建与所获取的FD相对应的文档级PT。下面将参照图10,来描述文档级PT生成处理。如果所获取的部分是FP,则在步骤S133中,创建与所获取的FP相对应的页面级PT。下面将参照图11,来描述页面级PT生成处理。针对FP的PT,获取PT的URI(统一资源标识符,UniformResource Identifier)(或链接,或者也可以称为“关联”)(步骤S135)。
[0081] 重复上述处理,直到获取所有XPS部分为止。当获取了所有XPS部分时,处理转到步骤S141,并且确定是否准许在预览时进行打印设置改变。 下面将参照图12,来描述是否可以在预览中进行打印设置改变的确定处理。虽然在这里描述在获取XPS部分之后进行确定的方法,但是,也可以在获取XPS部分期间执行确定处理。
[0082]
[0083] 图9例示了图8的步骤S113的详情,并且是作业级PT生成处理的示例。首先在步骤S201中获取用户的默认打印设置的PT。在步骤S203中,获取所获取的FDS的PT。由于在FDS中并不总是存在PT,因此,确定是否获取了FDS的PT(S205)。如果获取了FDS的PT,则处理转到步骤S207;如果未获取FDS的PT,则处理转到步骤S211。在步骤S207中,确定所获取的PT是否是空白PT。如果描述了打印设置,则处理转到步骤S209;如果PT是空白的,则处理转到步骤S211。在步骤S209中,合并用户的默认打印设置的PT以及FDS的PT,以生成作业级PT。在步骤S211中,由于在FDS中不存在PT,或者PT是空白的,从而假定不存在PT,因此,将用户的默认打印设置的PT设置为作业级PT,而不进行合并。 [0084] 图10例示了图8的步骤S123的详情,并且是文档级PT生成处理的示例。首先在步骤S301中获取所获取的FD的PT,并且确定是否获取了PT(S303)。如果获取了PT,则处理转到步骤S305;如果未获取PT,则处理转到步骤S309。在步骤S305中,确定所获取的PT是否是空白PT。如果描述了打印设置,则处理转到步骤S307;如果PT是空白的,则处理转到步骤S309。在步骤S307中,合并作业级PT以及所获取的FD的PT,以生成文档级PT。在步骤S309中,由于不存在FD的PT,因此,将作业级PT设置为文档级PT。由于在XPS部分获取时,总是在FD之前获取FDS,因此,当生成文档级PT时,总是存在作业级PT。 [0085] 图11例示了图8的步骤S133的详情,并且是页面级PT生成处理的示例。首先在步骤S401中获取所获取的FP的PT,并且确定是否获取了FP的PT(S403)。如果获取了FP的PT,则处理转到步骤S405;如果未获取FP的PT,则处理转到步骤S409。在步骤S405中,确定所获取的PT是否是空白PT。如果描述了打印设置,则处理转到步骤S407;如果PT是空白的,则处理转到步骤S409。在步骤S407中,合并FP的父FD的文档级PT 以及所获取的FP的PT,以生成页面级PT。在步骤S409中,由于不存在FP的PT,因此,将父FD的文档级PT设置为页面级PT。由于总是在获取FP之前获取FP的父FD,因此,当生成页面级PT时,总是存在父FD的文档级PT。
[0086] <是否可以在预览时进行打印设置信息改变的确定处理>
[0087] 图12是确定是否所有页面具有相同的打印设置、并确定是否准许通过预览进行打印设置改变的处理的流程图的示例。首先在步骤S501中,确定在所获取的FD或FP中是否存在至少1个PT。然而,即使存在PT,但如果该PT是空白PT,则也确定为不存在PT。如果不存在PT,则处理转到步骤S511,并且准许用户在打印预览中改变打印设置。可以通过例如将设置改变的禁止标志设置为指示准许改变的值,来实现准许。如果存在PT,则处理转到步骤S503。在步骤S503中,确定作业中的FP的总数。如果所获取的FP只有1个,则处理转到步骤S511,并且准许用户在打印预览中改变打印设置。如果存在多个FP,则处理转到步骤S505。在步骤S505中,确定作业中的FD的总数。如果所获取的FD只有1个,则处理转到步骤S507。如果也存在多个FD,则处理转到步骤S513,并且不准许打印预览中的打印设置的改变。在步骤S507中,确定在FP中是否存在PT。如果在任何的FP中均不存在PT,则处理转到步骤S511,并且准许用户在打印预览中改变打印设置。如果在FP中存在PT,则处理转到步骤S509。在步骤S509中,确定是否所有FP与相同的PT相关联。如果在所有FP中,在获取FP的PT时所获取的PT的URI是相同的,即如果URI与相同的打印设置信息相关联,则处理转到S511,并且准许用户在打印预览中改变打印设置。如果所关联的PT每页都是不同的,则处理转到步骤S513,并且拒绝在打印预览中进行打印设置改变。可以通过例如将设置改变的禁止标志设置为指示阻止改变的值,来实现拒绝。
[0088] 如果在预览显示期间从用户接口指示改变打印设置,则例如参照设置改变的禁止标志。如果标志指示准许改变,则接受设置值的改变。如果标志指示禁止,则只对设置值进行显示,而不接受改变。在本实施例中,这只应用于预览显示期间的设置改变。在无预览显示的设置改变期间,不参 照设置改变的禁止标志,并且接受设置改变。然而,除了预览显示以外,在只在所有页面具有相同的打印设置时准许打印设置的改变的情况下,当执行打印设置的改变操作时,可以参照图12的步骤中的值提供的设置改变的禁止标志。
[0089] 作为上述确定处理的结果,能够可以高度精确地确定在所有页面中逐页的打印设置是否是相同的,同时将对PT内容的参照限制在最少程度。
[0090] <设置改变的反映(打印设置信息编辑)>
[0091] 当在确定处理中准许打印预览中的打印设置的改变、并且用户在打印预览中改变打印设置时,需要将改变的设置内容反映在PT上。要把改变的打印设置反映在哪些PT上主要取决于设置项目。例如,在需要在整个作业上反映设置项目的情况下,更新FDS的PT,而在只在特定页面上反映设置项目的情况下,需要更新FP的PT。然而,在本实施例中,仅在所有页面具有相同的打印设置时准许打印设置的改变,并且将改变内容反映在所有页面上。更具体地说,在所有页面级PT中描述了相同的打印设置,并且需要将打印设置改变之后的设置内容反映在所有页面上。因此提出一种方法,在该方法中,根据打印设置改变内容来更新页面级PT,将更新后的PT添加到FDS,并且删除FD及FP中的PT。
[0092] 图13是当通过本实施例的方法反映打印设置的改变时创建的XPS数据的示例。改变之前的XPS数据1301由FDS 1311、FD 1313以及FP 1315至1319构成。FDS 1311中存在PT 1321,FD 1313中存在PT 1323,FP 1315至1319中存在PT 1325。在这种情况下,FP的所有页面级PT是合并了用户的默认打印设置的PT、FDS 1311的PT 1321、FD 1313的PT1323以及FP的PT 1325的PT。结果,确定所有页面具有相同的打印设置,并且准许打印预览中的打印设置改变。当改变打印设置时,更新内容被反映在上述页面级PT上。由反映了改变内容的页面级的PT 1331替换FDS 1311的PT1321。进一步删除FD 1313的PT 1323、以及FP 1315至1319的PT 1325,以形成反映改变后的打印设置的XPS数据1303。由于在XPS数据1303中的FD及FP中不存在PT,因此,FP的所有页面级PT通过合并用户的默认打印设置的PT以及新添加到FDS 1311的PT 1331而获得。结果,可以 通过PT的最小限度的改变,将用户进行的打印设置的改变反映在所有页面上。
[0093] <打印票更新处理>
[0094] 图14是当准许进行打印设置改变并且在实际改变打印设置时用于将前述打印设置改变内容反映在PT上的PT更新处理的流程图的示例。该步骤由例如预览过滤器323及预览控制模块325来执行。首先,在步骤S601中,确定是否改变了打印设置。该确定可以通过例如参照存储执行了设置改变操作的标志等来实现。该标志在图14的处理之后需要重设。如果打印设置被改变,则处理转到步骤S603;如果没有改变,则更新处理结束。在步骤S603中,确定在FD或FP中是否存在PT。如果不存在PT,则处理转到步骤S605;如果存在PT,则处理转到步骤S607。在步骤S605中,基于改变内容更新作业级PT,接着处理转到步骤S615。由于在FD及FP中不存在PT,因此,作业级PT与页面级PT同义。在步骤S607中,确定在FP中是否存在PT。如果存在PT,则处理转到步骤S609;如果不存在PT,则处理转到步骤S611。在步骤S609中,基于改变内容更新页面级PT,处理转到步骤S613。在步骤S611中,基于改变内容更新文档级PT,接着处理转到步骤S613。由于在FP中不存在PT,因此,作业级PT与页面级PT同义。在步骤S613中删除FD及FP中的所有PT,处理转到步骤S615。在步骤S615中,确定在FDS中是否存在PT。如果存在PT,则处理转到步骤S617;如果不存在PT,则处理转到步骤S619。在步骤S617中删除FDS的PT,接着处理转到步骤S619。在步骤S619中,基于设置改变内容将更新后的PT添加到FDS,处理结束。结果,改变后的打印设置被反映在作业中的所有页面上。
[0095] 在本实施例中,虽然在预览过滤器中执行打印设置的确定处理以及设置改变的反映处理,但是,这些处理可以在驱动器处理的任何阶段执行。这些处理不仅能够应用于打印机驱动器处理,而且能够应用于例如编辑XPS文档的应用程序。
[0096] [第2实施例]
[0097] 在第1实施例中,基于PT的配置确定是否所有页面具有相同的打印设 置,并且除了在空白PT的确定中之外,不参照PT的内容。然而,即使在FP中存在不同的PT,但如果所有PT中描述的设置是相同的,则也可以说页面的打印设置是相同的。在这种情况下,在第1实施例中,实际相同的打印设置被确定为具有不同的设置。因此,除了第1实施例的方法之外,在本实施例中提出了这样一种方法,在该方法中,不对PT中描述的单个打印设置进行比较,而利用DevmodeSnapShot来比较设置内容。DevmodeSnapShot通过将作为包含打印设置信息等的数据结构的DEVMODE转换为二进制数据而形成,并在PT中被描述。由于如果打印设置是相同的,则DevmodeSnapShot包括相同的数据,因此,可以通过比较DevmodeSnapShot的二进制数据,来确定打印设置是否是相同的。
[0098]
[0099] 图15是DevmodeSnapShot比较处理的流程图的示例。在步骤S701中,确定是否存在多个FD。如果存在1个FD,则处理转到步骤S709,因为没有必要比较FD的DevmodeSnapShot。如果存在多个FD,则处理转到步骤S703。在步骤S703至S707中,比较FD的PT中包含的DevmodeSnapShot。由于并非在所有PT中都始终包含有DevmodeSnapShot,因此在步骤S703中,确定是否在FD的所有PT中存在DevmodeSnapShot。如果在FD的所有PT中存在DevmodeSnapShot,则处理转到步骤S705。如果并非FD的所有PT包含有DevmodeSnapShot,则处理转到步骤S717。在步骤S717中,不准许用户在打印预览中进行打印设置改变,处理结束。在步骤S705中,比较FD的PT中包含的DevmodeSnapShot,接着处理转到步骤S707。作为比较的结果,如果所有DevmodeSnapShot是相同的,则处理转到步骤S709;如果有不同的DevmodeSnapShot,则处理转到步骤S717。在步骤S717中,不准许用户在打印预览中进行打印设置改变,处理结束。同样,在步骤S709至S713中,比较FP的PT中包含的DevmodeSnapShot。在步骤S709中,确定是否在FD的所有PT中存在DevmodeSnapShot。如果在FD的所有PT中存在DevmodeSnapShot,则处理转到步骤S711;如果并非在FP的所有PT中包含有DevmodeSnapShot,则处理转到步骤S717。在步骤S717中,不准许用户在打印预览中进行打印设置改变,处理结束。在步骤S711中, 比较FP的PT中包含的DevmodeSnapShot,接着处理转到步骤S715。作为比较的结果,如果所有DevmodeSnapShot是相同的,则处理转到步骤S715。在步骤S715中,准许用户在打印预览中进行打印设置改变,处理结束。如果有不同的DevmodeSnapShot,则处理转到步骤S717。在步骤S717中,不准许用户在打印预览中进行打印设置改变,处理结束。
[0100] 在上述方法的描述中,在所有FD和FP中存在PT。然而,在不存在PT的部分中,将该部分的父部分的PT作为该部分的PT来处理。例如,如果在FD中不存在PT,则将FDS的PT替代性地作为FD的PT来处理。如果在FP中不存在PT,则同样利用父FD的PT;如果在父FD中也不存在PT,则进一步将父FDS作为FP的PT来处理。
[0101] 根据上述方法,就PT中描述了DevmodeSnapShot的数据而言,不比较PT中描述的单个设置,而通过比较二进制数据来确定打印设置是否相同。通过结合第1实施例的方法来实施本方法,能够提高确定精度。
[0102] [其他实施例]
[0103] 还可以利用读出并执行被记录在存储设备上的程序来执行上述实施例的功能的系统或装置的计算机(或诸如CPU或MPU等的设备),来实现本发明的各方面;并且可以利用由通过例如读出并执行记录在存储设备上的程序来执行上述实施例的功能的系统或装置的计算机来执行各步骤的方法,来实现本发明的各方面。为此,将程序例如经由网络或从充当存储设备的各种类型的记录介质(例如计算机可读介质)提供给计算机。
[0104] 虽然参照示例性实施例对本发明进行了描述,但是应当理解,本发明并不局限于所公开的示例性实施例。应当对所附权利要求的范围给予最宽泛的解释,以使其涵盖所有的这类变型例及等同结构和功能。