文档输出装置、文档输出装置的控制方法及文档输出系统的制作方法

文档序号:6465698阅读:182来源:国知局
专利名称:文档输出装置、文档输出装置的控制方法及文档输出系统的制作方法
技术领域
本发明涉及将打印设定数据和数字文档数据组合且保证打印结果的文档 输出装置、文档输出装置的控制方法及文档输出系统。另外,本发明还涉及 在保证打印设定数据和数字文档数据的组合的同时允许打印设定数据的一部 分改变的技术。
背景技术
传统地,已存在使用单独指定的打印设定(打印格式)来打印PDF和其 他格式的数字文档文件的技术。为此,将待打印数字文档文件和打印设定文 件组合并对其进行打印处理。 一种将打印设定文件与数字文档数据组合并保 证打印结果的技术,是通过经由网络从访问控制服务器获得与数字文档相关 的打印条件来实现的(日本特开2004-152261号公报)。还有一种打印技术, 通过如下操作来进行打印从客户端向打印数据生成服务器发送打印数据, 并根据打印数据请求信息判断是否允许到期望的打印装置的打印,并向该客 户端返回打印数据(日本特开2006-26821号公报)。已存在保证两个或多个 文件的组合的技术,该技术将与数字文档相关的属性信息(例如改变检测信 息)作为独立的文件保存到存储部,如果即使数字文档的一部分己发生改变, 也不能保证组合的真实性(日本特开2001-005728号公报)。
但是,由于要求使用限制使用环境的访问控制服务器,所以日本特开 2004-152261号公报的技术具有不便的问题。相似地,由于要求使用限制使 用环境的服务器(例如打印数据生成服务器),所以日本特开2006-23821号 公报的技术也具有不便的问题。此外,日本特开2001-005728号公报将用于 检测改变的信息作为独立的文件保存到存储部。因此,由于可移植性受损以 及只要改变数字文档的一部分就无法保证数字文档组的组合,所以存在难以 在允许改变数字文档的一部分的系统中使用的问题。

发明内容
鉴于这些常规的示例设计了本发明,并且本发明旨在解决这些问题。艮口,
使用本发明提供的文档输出装置、文档输出装置的控制方法以及文档输出系 统,数据的接受者能够在无服务器的情况下验证打印设定数据与定义其打印 格式的文档数据之间的关联,并且对打印设定数据的一部分的设定可以改变。 为了解决这些问题,本发明包括以下构造。本发明是一种文档输出装置, 其能够彼此相关联输出数字文档数据和对所述数字文档数据定义打印设定的 打印设定数据,所述文档输出装置包括计算单元,用于对一组数字文档数 据和打印设定数据中的数字文档数据或打印设定数据计算哈希值;以及嵌入 单元,用于将所述哈希值嵌入没有用于所述计算单元进行的哈希计算的另一 数据中。
本发明的另一方面是一种文档输出装置,其能够根据对应于数字文档数 据的打印设定数据输出所述数字文档数据,该文档输出装置包括计算单元, 用于对一组数字文档数据和打印设定数据中的数字文档数据或打印设定数据 计算哈希值;比较单元,用于将在所述数字文档数据和打印设定数据组中的 没有用于计算哈希值的另一数据中嵌入的哈希值与由所述计算单元计算的所 述哈希值进行比较,以及生成单元,用于在所述比较单元比较的所述哈希值 相匹配的情况下,基于所述数字文档数据和所述打印设定数据来生成打印数 据。
本发明的再一个方面是一种文档输出系统,其具有发送端文档输出装置 和接收端文档输出装置,所述发送端文档输出装置能够彼此相关联地输出数 字文档数据和定义所述数字文档数据的打印设定的打印设定数据,所述接收 端文档输出装置能够根据对应于所述数字文档数据的打印设定数据进行输 出,其中,所述发送端文档输出装置包括第一计算单元,用于对一组数字
文档数据和打印设定数据中的数字文档数据或打印设定数据计算哈希值;以
及嵌入单元,用于将所述哈希值嵌入所述数字文档数据和打印设定数据组中 的没有用于所述第一计算单元进行的所述计算的另一数据中,所述接收端文
档输出装置包括第二计算单元,用于对所述数字文档数据和打印设定数据
组中的数字文档数据或打印设定数据计算哈希值;比较单元,用于将在所述
数字文档数据和打印设定数据组中的没有用于计算哈希值的另一数据中嵌入
的哈希值与由所述第二计算单元计算的所述哈希值进行比较;以及生成单元, 如果所述比较单元比较的所述哈希值相匹配,则基于所述数字文档数据和所 述打印设定数据来生成打印数据。
本发明的又一个方面是一种控制文档输出装置的控制方法,该控制方法
能够彼此相关联地输出数字文档数据和对所述数字文档数据定义打印设定的 打印设定数据,该控制方法包括以下步骤计算步骤,对一对数字文档数据 和打印设定数据中的数字文档数据或打印设定数据计算哈希值;以及嵌入步 骤,用于将所述哈希值嵌入没有在所述计算步骤中使用的数据中。
本发明的还一个方面是一种控制文档输出装置的控制方法,该控制方法 能够根据对应于数字文档数据的打印设定数据输出所述数字文档数据,该控 制方法包括以下步骤计算步骤,对一对数字文档数据和打印设定数据中的 数字文档数据或打印设定数据计算哈希值;比较步骤,将没有被用于计算哈 希值的另一数据中嵌入的哈希值与在所述计算步骤计算的所述哈希值进行比 较;以及生成步骤,如果在所述比较步骤中比较的所述哈希值相匹配,则基
于所述数字文档数据和所述打印设定数据生成打印数据。
采用本发明,发送端能够对接收端保证打印设定数据和数字文档数据的 组合,使得能够避免输出创建人不希望的打印物。还能够使用基于打印设定 数据生成的密钥对数字文档数据进行加密,来避免向不具有验证打印设定数 据和数字文档数据的组合的功能的系统输出打印设定数据与数字文档数据的 不恰当的组合。还能够提供一种在允许部分打印设定数据改变的情况下验证 打印设定数据和数字文档数据的组合的机制。
通过以下参照附图对^示例性实施例的详细说明,本发明其他的特征将变得明确。


图1是说明根据本发明的数字文档处理系统的典型流程图。
图2是说明用于通过对PDF签名来保证JDF和PDF的组合的方法的流程图。
图3是说明用于已对PDF文件进行了签名时验证保证JDF文件和PDF文 件的组合的方法的流程图。
图4是说明用于通过对JDF文件签名来保证JDF和PDF的组合的方法的
流程图。
图5是说明用于在已对PDF文件进行了签名时验证保证JDF文件和PDF 文件的组合的方法的流程图。
图6是说明用于针对JDF文件确定哈希计算范围的方法的流程图。 图7是用于设定是否保证JDF文件和PDF文件的组合的对话框。 图8是使不影响所打印内容的部分可变的属性的列表。
图9是示出哈希值和在PDF文件中嵌入JDF文件的哈希计算范围的位置 的图。
图10是示出在JDF文件中嵌入JDF文件的哈希计算范围的位置的图。 图11是示出在JDF文件中嵌入JDF文件的哈希计算范围的位置的图。 图12是用于执行实施例的处理的计算机和多功能外围设备的框图。
具体实施方式
〈处理概要〉
首先,说明根据本实施例的处理的概略。本实施例的文档处理装置(或 文档输出装置)将数字文档数据和定义该数字文档数据的打印设定的打印设 定数据彼此相关联地输出。当进行上述处理时,通过对数字文档数据或打印 设定数据进行哈希(hash)计算来计算哈希值。有时对数字文档数据进行哈 希计算,有时对打印设定数据进行哈希计算。当对打印设定数据进行哈希计 算时,只对其一部分进行。将获得的哈希值嵌入没有对其进行哈希计算的另 一数据中。将由此嵌入的哈希值与根据所述数据重新计算的哈希值进行比较, 从而能够验证该对数字文档数据和打印设定数据与原始对是否相同。
通过对排除了例如指定是否存在分拣的设定参数和指定份数的设定参 数以外的数据的部分进行哈希计算,所述被排除部分能够被改变。这是因为 即使被排除部分被改变,针对变化前后的数据计算的哈希值也是相同的。
使用根据打印设定数据获得的哈希值作为密钥对数字文档数据加密。如 果己使用打印设定数据如上所述地进行了哈希计算,则能够将由此获得的哈 希值作为加密密钥使用。但是,如果使用数字文档数据进行了哈希计算,则 使用打印设定数据进行第二哈希计算以计算第二哈希值。该第二哈希值成为 用于加密数字文档数据的密钥。
另一方面,如果数字文档数据和内嵌哈希值的打印设定数据的对与原始 对相同,则接收了该对的文档输出装置或打印装置能够输出该数字文档数据。 因此,首先,通过对彼此相关联的一组数字文档数据和打印设定数据中的任 一个进行哈希计算而计算哈希值。用于进行计算的位置是预先确定的,或者 是作为对象位置信息而嵌入数据中的。然后,将内嵌在没有对其进行哈希计 算的另一数据中的哈希值与通过计算获得的哈希值进fi^比较。如果两个哈希 值相匹配,则数字文档数据和打印设定数据的对是由发送端设定的对,并且
基于该数据生成打印数据。在数字文档数据被加密的情况下,如果对打印设 定数据计算哈希值,则通过使用该值作为密钥对文档数据解密。否则,通过 对打印设定数据计算哈希值并使用该值作为密钥对文档数据解密。
以上是本实施例的概略。接下来给出详细的说明。首先,说明使用打印 设定数据计算哈希值并且将该哈希值嵌入数字文档数据中的示例,然后说明 使用数字文档数据计算哈希值并且将该哈希值嵌入打印设定数据中的示例。
参照

根据本发明的第一实施例。应注意的是,所说明的实施例
中的打印设定数据是JDF (作业定义格式)文件,而数字文档数据是PDF (可 移植文档格式)文件。但是,请注意,本发明可应用于作为数字文档数据的 其他结构的数字文档(例如XPS (XML纸张规格)和SVG (可縮放向量图形) 文件)。
〈本实施例的文档处理系统的硬件构成示例〉
首先,参照图12说明根据本实施例的装置的构成。图12是说明本实施 例的文档处理系统的构成的框图。应注意的是,只要实现本发明的功能,则 本发明可以应用为单个设备、由多个设备构成的系统或经由LAN、 W認或其他 类型的网络而连接的、在其中进行处理的系统。
在图12中,主机100包括CPU 201, RAM 202和ROM 203等。CPU 201 基于存储在程序ROM或外部存储器211中的文档处理程序等进行文档处理。 所述文档处理包括下文说明的为验证数字文档数据和打印设定数据的组合的 正确性而创建数据的过程和验证正确性的过程。此外,CPU 201对连接至系 统总线204的所有设备进行整体控制。还有,外部存储器211存储作为CPU 201 的控制程序的操作系统程序(以下称作"OS")等。在文档处理过程中使用的 各种类型的数据等存储在数据ROM区或外部存储器211 。RAM 202用作CPU 201 的主存储器、工作区等。
键盘控制器(KBC) 205控制来自键盘209和指取设备(未图示)的键输 入。CRT控制器(CRTC) 206控制CRT显示器(CRT) 210的显示。磁盘控制 器(DKC) 207控制对采用硬盘(HD)、 FloppyTM盘(FD)等形式的外部存储器 211的访问。外部存储器211存储引导程序、各种应用程序、字体数据、用 户文件、编辑文件以及打印机控制命令生成程序(下文称作"打印机驱动程 序")等。还存储有根据本实施例的数字文档数据和打印设定数据(对应于 PDF文件和JDF文件)。NIC (网络接口卡)208经由通信网络21 (例如LAN)
连接至打印机107并执行与打印机机107的通信控制处理。
再者,CPU 201通过对设定于RAM 202中的显示信息RAM进行针对空心 字的栅格化处理,从而能够在CRT 210上实现"所见即所得"。CPU 201基于 例如通过鼠标等(附图中未显示)指示的命令来在CRT210上打开各种窗口, 由此执行各种数据处理。当用户执行打印时,打开与打印机驱动程序提供的 打印设定相关的窗口,以允许进行对打印机的设定和包括对打印模式的选择 的针对打印机驱动程序的对打印处理方法的设定。
打印机107由CPU 312控制。打印机CPU 312基于存储在程序ROM区的 控制程序等或存储在外部存储器314中的控制程序等,向经由打印部接口 316 连接至系统总线315的打印部(打印机引擎)317输出图像信号作为输出信 息。该ROM 313的程序R0M区存储CPU 312的控制程序等。生成输出信息时 使用的字体数据等存储在ROM 313的字体ROM区。在使用无外部存储器314 (例如硬盘)的打印机的情况下,ROM 313的数据ROM区存储主机使用的信 息。
CPU 312能够经由NIC 318与主机通信,并且能够传递打印机等中的信 息到主机100中。RAM 319是用作CPU 312的主存储器、工作区等的RAM。 RAM 319被构造成使得其容量能够通过连接到外部端口 (附图中未显示)的可选 RAM而扩展。再者,RAM319还被用作输出信息栅格化区、环境数据存储区和 NVRAM等。对外部存储器314 (例如上述的硬盘(HD)、 IC卡等)的访问由存 储器控制器(MC) 320控制。可任选地连接外部存储器314并且外部存储器 314存储诸如字体数据、仿真程序、表单数据等。此外,318是上述的控制面 板,并对其配置有用于操作的开关和LED显示设备等。
外部存储器314并不限于一个,而是可以提供多个,并且能够被构造成
使得可以连接多个外部存储器,用于除了存储内置字体外,还存储用于解释 选项卡和不同打印机控制语言的多个程序。此外,还可以提供NVRAM (未图
示)来存储来自操作部321的打印机模式设定信息。
主机101是与主机100具有相同构成的计算机。在本实施例中,主机向 通过网络连接的计算机或多功能外围设备提供数字文档数据和与所述数字文 档数据对应的打印设定数据作为打印作业文件。当主机或多功能外围设备指 定或给出下载打印作业文件的指令时,所述主机或多功能外围设备接收该打 印作业文件。然后,验证所述数字文档数据和所述打印设定数据是否是原始 的组合,如果是原始的组合(即如果该组合是正确的),则可以打印该数字文
档数据。
〈处理流程〉
接下来,主要参照图l说明本实施例中的处理流程的概略,之后,参照 其他附图给出对各处理的详细说明。
在图1的处理S000中,基于预先设定的关于PDF文件的打印设定的信 息来创建JDF文件,所述PDF文件是例如由装订应用生成的数字文档数据。 JDF (作业定义格式)文件是用于保存打印设定的打印设定数据并且是以XML 描写的。使用在预先确定的名称空间(name space)中定义的标签来描写JDF。 在本实施例中,除了正常使用的标签,还增加了表示哈希计算范围的标签和 表示哈希值的标签。通过使用这些标签,将通过哈希计算获得的哈希计算范 围和哈希值写入JDF文件。通常由JDF定义的打印设定包括,例如,用于对
输出纸页进行分拣的设定参数和用于待打印份数的设定参数。用于指定对应 的PDF文件的路径信息也被写入生成的JDF文件中。该路径信息被称作"内
容路径"。
应注意的是,当输出生成的JDF文件和PDF文件时,显示图7中的对话 框。用户能够通过该对话框701进行预输出设定。图7是用于设定是否保证 JDF文件和PDF文件的组合的对话框701。如果期望保证JDF文件和PDF文件 的组合,则选中复选框702[保证JDF—PDF组合]。接下来,如果期望使不影 响所打印内容的部分是可改变的,则选中复选框703[使不影响所打印内容的 部分可变]。在该情况下,可以选择JDF中不影响所打印输出的各种属性是自 动地被选择的还是手动地被选择。应注意的是,"属性"是打印设定中的设定 项。这些设定项的值有时也被称作"属性"。因此,当在该说明书中使用"属 性" 一词时,可以用"设定项"替换该词。
JDF文件中的不影响所打印内容的属性根据使用环境的不同而不同。例 如,在一使用环境中,如果打印必须在纸张类型被设定成高级纸的情况下进 行,而该表示纸张类型的属性(设定项)无法改变,则将该属性视为影响所 打印内容。但是,在另一使用环境中,如果允许对任何纸张类型的打印,则 将纸张类型视为不影响所打印内容的属性。因此,理想的是,由用户根据使 用环境来准备JDF文件中的不影响所打印内容的部分能够被改变的属性的列 表。
如果选择了 "自动设定",则读取预先准备的不会因改变而影响到所打 印内容的多个项的列表,并且所有该列表的项都被设定为能够被改变的项。
图8示出了这样的示例。如果选择了"手动设定",则在列表框中显示不会因 改变而影响到所打印内容的设定项的列表,通过用户在列表中的项目的复选 框中明确地放置勾号来选择项目。将图8中的所指定的预输出设定(或者说 对应于复选框的标记)以及能够被改变的项的列表保存在存储器等中,并且 以后进行参引。
S001中的处理对应于判断在对话框701中显示的复选框702[保证JDF 一PDF组合]是否被选中。如果不保证所述组合,则将数据发送给系统以进行 处理,并且进行常规的打印处理。但是,在该情况下,由于没有进行JDF文 件和PDF文件的组合的保证,因此不能保证打印结果。
S002中的处理对应于是否选中在对话框701中的复选框703[使不影响 所打印内容的部分可变]的判断。如果未选中,则认为JDF文件中的所有区是 受保护的,然后处理进入S003。另一方面,如果复选框703被选中了,则在 S008中,将指定在自动设定的情况下非保护项的所有候选项以及在手动设定 的情况下从非保护项的候选项之中选择的多个项的信息临时保存为非保护 区。
接下来,在S003的处理中,基于这些设定来进行保证JDF文件和PDF 文件的组合的处理。该处理的详情在下文中给出。在S008中指定的非保护候 选项的那些项不包括在用于哈希计算的项中(下文详细说明)。
在S004的处理中, 一旦S003的处理结束,则生成保证其组合的JDF文 件和PDF文件。将生成的JDF文件和PDF文件作为单个打印作业文件保存到 网络上共享的文件夹中。也可以将JDF文件和PDF文件发送给进行所述处理 的系统。由此完成了发送端文档输出装置进行的处理。从S005开始,处理由 接收端文档输出装置进行。接收端文档输出装置例如可以是打印装置而不是 所谓的计算机。
在S005的处理中,接收JDF文件和PDF文件的接收端文档输出装置进 行保证JDF文件和PDF文件的组合的验证。下文中给出该处理的详情。
在S006的处理中,判断作为S005的处理结果的所述组合是否正确。如 果所述组合是正确的,然后在S007的处理中,系统执行打印处理。如果所述 组合不是原始生成的组合,则将所有的处理停止。应注意的是,原始生成的 组合是在S0004中输出的JDF文件和PDF文件的文件组。错误的组合例如是 如下情况文件原始文件中的任一个已经被不同文件代替,或者所述任一个 文件的内容已改变。但是,将JDF文件中的被选作非保护项的项的改变排除
在外。
接下来,在保证JDF文件和PDF文件的组合的处理中,说明了利用对PDF 文件进行签名的保证方法和利用对JDF文件进行签名的保证方法。 〈对PDF文件进行签名(第一种情况)>
接下来,主要参照图2说明利用对PDF文件进行签名来保证JDF文件和 PDF文件的组合的方法。图2示出了图1中S003的详情。
在图2的S100的处理中,根据在用于设定是否保证JDF文件和PDF文 件的组合的对话框中的设定,针对JDF文件的全部或部分计算哈希值A。也 就是说,S100对应于计算手段。应注意的是,下文给出了确定哈希计算范围 的具体说明。在S101的处理中,将在S100中计算的哈希值A和关于哈希计 算范围的信息嵌入PDF文件。下文将参照图9说明具体的嵌入方法。图9给 出了PDF文件的部分结构的示例。在图9中,PDF文件具有由页词典901、页 片词典902、应用数据词典903以及内容流词典904构成的分层结构。
当将JDF文件的哈希值和哈希计算范围嵌入PDF文件中时,/Piecelnfo 条目901a和/LastModified条目901b被添加到PDF文件中的最上面的页词 典901 (如图9所示)。对于/Piecelnfo来说理想的是,生成独立的页片词典 来作为间接对象以供参引。由此生成的用于/Piecelnfo条目的页片词典通过 例如该条目的ID与页词典相关联。此外,对于/LastModified来说,根据PDF 的时间和日期的格式,来添加在添加所述条目所处的时间点的时间和日期信 息。为了添加JDF文件的哈希值和哈希计算范围,还给由此生成的/Piecelnfo 条目的页片词典902添加了/CnJDFHashData条目902a。以与页片词典相同的 方式生成用于/CnJDFHashData条目的应用数据词典903。将与/LastModif ied 条目中相同的内容添加到应用数据词典903中,还添加了实际上要写入哈希 值和哈希计算范围的内容流词典904。将表示哈希值的长度的/Length条目 904a和表示哈希计算范围的/ByteRange条目904b添加到内容流词典904中。
将/ByteRange条目904b的值以PDF排列结构格式描写,作为偏移值和 长度数据的对。所述偏移值是从JDF文件的顶端到哈希计算范围以外恰好属 性值(设定项)之前的偏移值。所述长度是从偏移值表示的位置开始的哈希 适用的范围的数据的长度。以在JDF文件中可适用哈希计算范围的部分的数 量描写该对。用于描写/ByteRange条目904b的值的另一种方法是用于在JDF
文件中描写哈希计算范围之外的属性值的属性名的方法,例如将哈希计算范 围描写为/ByteRange[Collate Amount…]。在该情况下,当进行下述的保证
JDF文件和PDF文件的组合的验证时,由此描写的排除属性名的属性值以外 的范围成为哈希计算范围。该哈希值被嵌入写有流数据的部904c中。
接下来,在S102的处理中,使用S101中计算的哈希值来加密PDF文件。 理想的是,加密的方法与PDF的规范相一致,并且加密的位置是PDF文件的 字符串信息部分和内容流词典中的流数据。因此,表示哈希计算范围的 /ByteRange条目904b不被加密。应注意的是,在本实施例中,根据PDF的 规范,加密密钥也称为"密码"。
在S103的处理中,对PDF文件签名。理想的是,签名的方法与PDF的 规范相一致,生成数字签名数据并将其嵌入PDF文件中,以检测除了数字签
名数据以外的部分的改变。
在S104的处理中,如果多个PDF文件参引该JDF文件,则返回S101的
处理,并进行与上述相同的处理。也就是说,将哈希值和哈希计算范围嵌入 所有的PDF文件中,并且使用这些哈希值作为密码对PDF文件加密。当对所 有PDF文件的处理都完成时,保证JDF文件和PDF文件的组合的处理完成。 <确定JDF文件的哈希计算范围〉
接下来,参照图6给出如图2的S100的在用于哈希计算的JDF文件中 用于计算哈希值的方法的描述。图6对应于图2的S100中的处理。
在S500的处理中,基于在图7中的用于设定是否保证JDF文件和PDF 文件的组合的对话框中的设定,来判断是否应该对整个JDF文件进行哈希计 算。换句话说,如果设定[保证JDF—PDF组合]而没有设定[使不影响所打印 内容的部分可变],则应该对整个JDF文件进行哈希计算。如果应该对整个 JDF文件进行哈希计算,则处理进入S506的处理,计算针对整个JDF文件的 哈希值,然后处理结束。如果不应该对整个JDF文件进行哈希计算,则处理 进入S501的处理。
在S501的处理中,针对图7的对话框中的设定域704指定的属性(设 定项)是否存在而进行判断。如果所指定的属性存在,则处理进入S502的处 理。在图7的示例中,将分类(collate)(或分拣(sort))属性设定为可变 属性。在图7中的用户界面中设定的值在设定后被保存,从而所保存的设定 由图6等中的所述处理来参引。
在S502的处理中,在JDF文件中搜索被指定为可变属性的那些属性。 如果指定了多个属性,则以关注其中的一个的方式进行搜索。JDF文件被描 写为文本文件,并且将属性(或设定项)显示为预先确定的标签,所以在JDF
文件中很容易搜索表示属性的标签。如果在待处理的JDF文件中不包括指定 的属性,或者换句话说,如果搜索未命中,则原本就不可能改变所述属性。
因此,集中到下一个被指定为可变的属性上,并重复从S501开始的处理。
另一方面,如果搜索命中,则在S504中,关于被搜索的属性,对从JDF 文件的开始到该属性的开始的偏移、以及对该属性的描述的长度进行计数, 并将所述偏移和长度临时存储在存储器中。所述偏移和长度例如可以是文本 字符的数量。由于进行哈希计算的设定项对应于例如由对应于所述设定项的 标签封闭的范围,所以由所述偏移和长度表示的范围是不进行哈希计算的范 围。应注意的是,如果对应单个属性的描述存在于多个位置,则所述多个位 置不包含在应该进行哈希计算的位置中。
在S501中,如果无对应的属性值存在,或者如果对所有指定的属性的 搜索已经结束,则处理进入S505的处理。在S505中,针对在JDF文件中是
否找到了一个或多个被指定为可变的属性而进行判断。如果找到,或换句话 说,如果找到了不应该进行哈希计算的一个或多个范围,则执行S507的处理。
如果未找到,则处理进入S506。换句话说,如果无对应的属性存在,则通过 对整个JDF文件进行哈希计算来计算哈希值,然后处理结束。
在S507的处理中,基于临时存储在存储器中的从文件的开始到属性的 开始的偏移和属性的长度,通过对JDF文件的多个部分进行哈希计算来计算 哈希值。换句话说,对在从JDF文件中排除了由从该文件开始起的所述偏移 和所述长度确定的哈希排除区域之后剩余的所有部分执行哈希计算。将哈希 计算范围和哈希值临时存储。在第一实施例中,将该值嵌入PDF文件中。在 第一和第二实施例中,将该哈希值用作加密PDF文件用的密钥。
因此,使用不允许进行改变的部分来计算哈希值,并将该哈希值和进行 哈希计算的范围(或没有进行哈希计算的范围) 一起嵌入PDF文件中。然后 使用该哈希值作为密钥来对该PDF文件进行加密。应注意的是,在图6中的 S504中获得的信息是表示没有进行哈希计算的信息(称作哈希计算范围)。 进行了哈希计算的范围或没有进行哈希计算的范围都可以被嵌入JDF文件 中。这是因为如果指定了一个,则另一个也被指定。在本实施例中,将没有 进行哈希计算的范围转换为哈希计算范围,并将其嵌入PDF中。
接下来将说明在保证JDF文件和PDF文件的组合的处理中,当对PDF进 行签名时的验证的方法和当对JDF进行签名时的验证的方法。
<当对PDF文件进行签名时的验证〉
下文中将主要参照图3说明当对PDF文件进行签名时验证JDF文件和PDF 文件的组合的方法。
在图3的S200的处理中,根据JDF文件中记载的内容路径来获取所有 的PDF文件。
在S201的处理中,进行验证PDF文件的签名的处理。在此,需要做的 是检测改变。验证方法与PDF的规范相一致。也就是说,基于/ByteRange条 目的值针对PDF文件计算哈希值,该哈希值是写入PDF文件中的签名词典的 哈希计算范围。将通过使用公共密钥对嵌入签名词典中的数字签名进行解密 而获得的哈希值与上述的哈希值比较,如果相匹配,则认定未进行过改变。 如果不匹配,则处理结束。
在S202的处理中,获取预先嵌入PDF文件中的JDF文件的哈希计算范 围。该哈希计算范围被写入由嵌入处理(图2中的S101)嵌入的位置。具体 地说,如图9所示,从PDF中的页词典中参引页片词典,再从应用数据词典 中参引内容流词典,获取作为/ByteRange条目的值嵌入的哈希计算范围。
在S203的处理中,基于哈希计算范围计算JDF文件的哈希值A。应注意 的是,如果哈希计算范围被描写为JDF文件中没有进行哈希计算的属性名, 则针对除了所述属性名的属性值以外的部分计算JDF文件的哈希值A。
在S204的处理中,确定PDF文件是否被加密。作为一种方法,确定PDF 文件中是否存在加密词典。如果PDF文件被加密,则处理进入S205中的处理。 如果PDF文件未被加密,则处理结束。
在S205的处理中,使用如上所述地计算的哈希值A来对PDF文件进行 解密。用于解密PDF文件的方法与PDF标准共用密钥加密方法的规范相一致。
在S206的处理中,确定S205中的解密是否成功,如果成功,则处理进 入S207的处理。如果不成功,则处理结束。当例如在解密密钥中有错误时发 生失败。
在S207中,获取嵌入PDF文件中的JDF文件的哈希值B。将该哈希值B 写入由上述嵌入处理(图2中的S101)嵌入的位置。具体地说,如图9所示, 从PDF的页词典中参引页片词典,还从应用数据词典中参引内容流词典,从 而获得哈希值B作为流中的数据。
在S208的处理中,将根据JDF文件计算的哈希值A与嵌入PDF文件中 的JDF文件的哈希值B进行比较。如果相匹配,则处理进入S209的处理。如 果不匹配,则处理结束。该比较对应于验证PDF文件和JDF文件的组是原始
的组,并且对应于比较手段。
在S209中,如果在S200中获取了多个PDF文件,则对所有的PDF文件 进行S201、 S202、 S203、 S204、 S205、 S206、 S207和S208的处理。 一旦对 所有PDF文件的处理完成,则进行打印执行处理(S210),然后该处理结束。
通过上述过程,将针对JDF文件获得的哈希值嵌入PDF文件中,并将该 值与针对JDF文件重新计算的哈希值进行比较,由此使得能够验证所述文件 的组。此外,通过使用哈希值作为密码来解密PDF文件,即使通过不能执行 如图3所示的验证过程的多功能外围设备下载了打印作业文件,也可以保证 PDF文件和JDF文件的组。
通过本实施例,针对PDF文件计算哈希值,然后将该哈希值嵌入JDF文 件中。但是,应注意的是,如第一实施例中一样,基于JDF文件来计算用作 加密PDF文件用的密码的哈希值。
〈对JDF进行签名〉
接下来主要参照图4来说明通过对JDF文件进行签名来保证JDF文件和 PDF文件的组合的方法。
在图4的S300的处理中,针对与JDF文件相关联的各PDF文件计算哈希 值A。在S301的处理中,将在S300的处理中计算的哈希值A嵌入该JDF文 件中。下文将参照图IO来说明指定的嵌入方法。当将PDF文件的哈希值嵌入 JDF文件中时,如图10所示,利用示出对PDF文件1001的参引的URL属性 将该哈希值写入作为FileSpec节点内的哈希属性。在图10的示例中,有两 个PDF文件,input-1. pdf和input-2. pdf ,将它们的哈希值1001a和1001b 与各自对应的PDF文件相关联地存储。
因此,在S302的处理中,如果从JDF文件参引多个PDF文件,则对所 有的PDF文件进行S300和S301的处理。
在S303的处理中,确定JDF文件的哈希计算范围并将其嵌入JDF文件 中。应注意的是,下文将给出确定哈希计算范围的说明。接下来,给出在JDF 文件中嵌入哈希计算范围的方法的详细说明。
当在JDF文件中嵌入JDF文件的哈希计算范围时,如图11所示,将该 哈希计算范围作为HashByteRange属性1101写入JDF节点。将HashByteRange 属性1101描写为以下两项的对由从JDF文件的开始到恰好不处在哈希计算 范围内的属性值之前的偏移值;以及从该偏移值到哈希计算适用范围的数据
的长度。以在JDF文件中哈希计算范围可适用的部分的数量描写所述对。在
图11的示例中,将作为分类设定项的Collate属性1102和作为份数的设定 项的Amount属性1103排除在哈希计算范围以外。
用于写入HashByteRange属性1101的值的方法是写入JDF文件中的该 哈希计算范围以外的属性值的属性名称(例如"Collate Amoimt…")的方法。 在该情况下,当进行以下所述的保证JDF文件和PDF文件的组合的验证时, 排除了由此写入的属性名的属性值的范围成为哈希计算范围。
在S304的处理中,基于所述哈希计算范围来计算JDF文件的哈希值B。 该步骤对应于针对JDF文件计算哈希值的第二计算手段。
在S305的处理中,使用如上所述地计算的哈希值B来对PDF文件进行 加密。理想的是,该加密的方法与PDF的规范相一致,并且加密的位置是PDF 文件的字符串信息部分和内容流词典中的流数据。
因此,在S306的处理中,如果从JDF文件参引多个PDF文件,则对所 有的PDF文件进行S305的处理。
在S307的处理中,对JDF文件进行签名。该签名方法可以是常规的数 字签名方法。例如,计算JDF文件的哈希值,使用秘密密钥对该哈希值加密, 并生成数字文档数据。由数字签名的授权组织等提供数字签名的密钥。自然 的是,从同一个组织接在收验证数字签名过程中使用的公共密钥。通过排除 在图7的用户界面中指定的可变属性来计算在数字签名中使用的哈希值。换 句话说,可以使用哈希值B。对于数字签名数据,理想的是,采用嵌入JDF 文件中的方法。 一旦JDF文件被成功地签名,则保证JDF文件和PDF文件的 组合的处理结束。
〈当对JDF文件签名时的验证〉
下文中将主要参照图5说明当对JDF文件签名时验证JDF文件和PDF文 件的组合的方法。
在图5的S400的处理中,根据JDF文件中记载的内容路径来获取所有 的PDF文件。
在S401的处理中,进行用于验证JDF文件的签名的处理。在此,需要 做的是检测改变。验证方法可以是利用对JDF文件进行签名的处理而作用的 任何验证方法。例如,计算JDF文件的哈希值f ,将计算出的值与通过使用 公共密钥对所嵌入的数字签名进行解密而获得的哈希值进行比较,如果相匹 配,则认为未进行过改变,如果不匹配,则处理结束。
在S402的处理中,基于写入JDF的哈希计算范围来计算JDF文件的哈 希值A。如果将哈希计算范围描写为JDF文件中没有进行哈希计算的属性名, 则针对除了该属性名的属性值以外的部分计算JDF文件的哈希值A。应注意 的是,如果用于数字签名的JDF的范围与用于计算嵌入JDF中的哈希值而使 用的JDF的范围相同,则该哈希值A的值与通过验证数字签名而得到的哈希 值的值相同,由此使得能够使用所述值作为哈希值A。
在S403的处理中,确定PDF是否被加密。作为一种方法,确定在PDF 文件中是否存在加密词典。如果PDF被加密,则处理进入S404的处理,如果 PDF文件不被加密,则处理结束。
在S404的处理中,使用如上所述地计算的哈希值A来解密PDF文件。 用于解密PDF文件的方法与PDF标准共用密钥加密方法的规范相一致。
在S405的处理中,确定S404的解密是否成功,如果成功,则处理进入 S406的处理。如果不成功,则处理结束。
在S406的处理中,针对与JDF文件相关联的多个PDF文件之中所关注 的PDF文件计算哈希值C。在S407的处理中,从嵌入JDF文件中的多个PDF 文件的哈希值之中获取与所关注的PDF文件相关联的哈希值B。在S408的处 理中,将哈希值B与哈希值C进行比较,并确定它们是否相匹配。如果相匹 配,则处理进入S409的处理,如果不匹配,则处理结束。
在S409中,如果在S400中获取了多个PDF文件,则以依次关注的方式 对所有的PDF文件进行S403、 S404、 S405、 S406、 S407和S408的处理。一 旦对所有PDF文件完成了处理,则进行打印执行处理(S410),然后处理结束。
通过上述过程,将针对PDF文件获得的哈希值嵌入JDF文件中,并将该 值与针对PDF文件重新计算的哈希值进行比较。通过该处理,能够验证该PDF 文件和JDF文件的组是否是原始的组。使用针对该JDF生成的哈希值作为密 码来加密PDF文件。通过该处理,即使通过不能执行如图3所示的验证过程 的多功能外围设备下载了打印作业文件,也能够保证PDF文件和JDF文件的 组。
应注意的是,本发明能够适用于由多个装置(例如,主机、接口装置、 读出器、打印机等)构成的系统,或都可适用于由单个装置(例如,复印机、 传真装置等)构成的设备。本发明能够通过以下方式来实现向系统或设备 提供其上记录有用于实现上述实施例的功能的程序代码的存储介质,并且通
过所述系统或设备的计算机来读取并执行存储在所述存储介质中的程序代 码。在此情况下,从所述存储介质中读取的程序代码本身实现了上述的实施 例,所述程序代码本身和存储所述程序代码的存储介质构成了本发明。
此外,本发明还包括由运行在计算机上的操作系统(os)基于来自程序 代码的指令执行所有或部分实际处理的情况,并且上述实施例的功能由所述 处理实现。此外,本发明还可以应用到将从所述存储介质读取的程序代码写 入插入计算机的功能扩展卡,或写入为连接至计算机的功能扩展单元提供的 存储器的情况。在该情况下,所有或部分的实际处理由提供到功能扩展卡或 功能扩展单元的CPU执行,并且上述实施例的功能由所述处理实现。
虽然参照示例性实施例对本发明进行了说明,但是应当理解的是本发明 并不限于所公开的示例性实施例。应当对以下权利要求的范围给予最宽泛的 解释,以包括所有变体、等同结构和功能在内。
权利要求
1.一种文档输出装置,其能够彼此相关联地输出数字文档数据和定义所述数字文档数据的打印设定的打印设定数据,所述文档输出装置包括计算单元,用于针对一组数字文档数据和打印设定数据中的数字文档数据或打印设定数据计算哈希值;以及嵌入单元,用于将所述哈希值嵌入没有用于所述计算单元进行的所述哈希计算的另一数据中。
2. 根据权利要求1所述的文档输出装置,其中,所述计算单元针对所述 打印设定数据中的除了由用户指定的设定参数以外的参数计算哈希值。
3. 根据权利要求2所述的文档输出装置,其中,能够由用户指定的所述 设定参数包括打印份数的设定参数和分拣的设定参数。
4. 根据权利要求1所述的文档输出装置,所述文档输出装置还包括 第二计算单元,用于当所述打印设定数据没有用于所述计算单元进行的所述哈希值计算时,针对所述打印设定数据计算第二哈希值;以及加密单元,用于使用由所述计算单元计算出的所述哈希值或由所述第二 计算单元计算出的所述第二哈希值作为密钥,来对所述数字文档数据进行加密。
5. —种文档输出装置,其能够根据对应于数字文档数据的打印设定数据 来输出所述数字文档数据,该文档输出装置包括计算单元,用于针对一组数字文档数据和打印设定数据中的数字文档数据或打印设定数据计算哈希值;比较单元,用于将在所述数字文档数据和打印设定数据组中的没有用于 哈希值计算的另一数据中嵌入的哈希值与由所述计算单元计算出的所述哈希 值进行比较,以及生成单元,用于在由所述比较单元比较的所述哈希值相匹配的情况下, 基于所述数字文档数据和所述打印设定数据来生成打印数据。
6. 根据权利要求5所述的文档输出装置,其中,表示由所述计算单元进行哈希值计算的部分的对象位置信息被嵌入没有 用于所述计算单元进行的所述哈希计算的所述另一数据中;并且 所述计算单元针对所述对象位置信息所表示的部分计算哈希值。
7. 根据权利要求5所述的文档输出装置,所述文档输出装置还包括 解密单元,用于当所述数字文档数据被加密时,通过使用由所述计算单 元针对所述打印设定数据计算出的哈希值作为密钥来对所述数字文档数据进 行解密,或者,如果所述计算单元没有针对所述打印设定数据进行哈希计算, 则通过针对所述打印设定数据计算哈希值并使用该哈希值作为密钥来对所述 数字文档数据进行解密。
8. —种具有发送端文档输出装置和接收端文档输出装置的文档输出系 统,所述发送端文档输出装置能够彼此相关联地输出数字文档数据和定义所 述数字文档数据的打印设定的打印设定数据,所述接收端文档输出装置能够 根据对应于所述数字文档数据的所述打印设定数据来进行输出,其中,所述发送端文档输出装置包括第一计算单元,用于针对一组数字文档数据和打印设定数据中的数字文档数据或打印设定数据计算哈希值;以及嵌入单元,用于将所述哈希值嵌入所述数字文档数据和打印设定数 据组中的没有用于所述第一计算单元进行的所述计算的另 一数据中, 所述接收端文档输出装置包括-第二计算单元,用于针对所述数字文档数据和打印设定数据组中的数字文档数据或打印设定数据计算哈希值;比较单元,用于将在所述数字文档数据和打印设定数据组中的没有 用于所述哈希值计算的另一数据中嵌入的所述哈希值与由所述第二计算单元 计算出的哈希值进行比较;以及生成单元,用于在由所述比较单元比较的所述哈希值相匹配的情况 下,基于所述数字文档数据和所述打印设定数据来生成打印数据。
9. 一种文档输出装置的控制方法,该文档输出装置能够彼此相关联地输 出数字文档数据和定义所述数字文档数据的打印设定的打印设定数据,该控 制方法包括以下步骤计算步骤,对一对数字文档数据和打印设定数据中的数字文档数据或打 印设定数据计算哈希值;以及嵌入步骤,将所述哈希值嵌入没有在所述计算步骤中使用的所述数据中。
10. —种文档输出装置的控制方法,该文档输出装置能够根据对应于数 字文档数据的打印设定数据来输出所述数字文档数据,该控制方法包括以下 步骤计算步骤,对一对数字文档数据和打印设定数据中的数字文档数据或打印设定数据计算哈希值;比较步骤,将嵌入没有用于所述哈希计算的另一数据中的哈希值与在所述计算步骤计算出的所述哈希值进行比较;以及生成步骤,如果在所述比较步骤中比较的所述哈希值相一致,则基于所 述数字文档数据和所述打印设定数据来生成打印数据。
全文摘要
本发明提供了一种文档输出装置、文档输出装置的控制方法及文档输出系统。提供文档的计算机创建JDF文件和PDF文件,并通过在JDF文件中嵌入连接至PDF文件的路径将所述两种文件相关联(S000)。当保证该组合时,针对所述JDF文件进行哈希计算,并将获得的哈希值嵌入所述PDF文件中。然后使用所述获得的哈希值作为密钥将除了所述嵌入的哈希值的所述PDF文件加密(S003)。对于打印所述文档的计算机,使用所述嵌入的哈希值对所述PDF文件解密,然后重新计算哈希值,并将该哈希值与所述嵌入的哈希值进行比较,由此验证所述组合的正确性。
文档编号G06F3/12GK101349964SQ200810132500
公开日2009年1月21日 申请日期2008年7月18日 优先权日2007年7月18日
发明者深泽裕辅 申请人:佳能株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1