JP2009026014A - 文書出力装置及びその制御方法と文書出力システム - Google Patents

文書出力装置及びその制御方法と文書出力システム Download PDF

Info

Publication number
JP2009026014A
JP2009026014A JP2007187601A JP2007187601A JP2009026014A JP 2009026014 A JP2009026014 A JP 2009026014A JP 2007187601 A JP2007187601 A JP 2007187601A JP 2007187601 A JP2007187601 A JP 2007187601A JP 2009026014 A JP2009026014 A JP 2009026014A
Authority
JP
Japan
Prior art keywords
data
calculation
hash
hash value
electronic document
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2007187601A
Other languages
English (en)
Other versions
JP2009026014A5 (ja
JP4902451B2 (ja
Inventor
Hirosuke Fukazawa
裕輔 深澤
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
Priority to JP2007187601A priority Critical patent/JP4902451B2/ja
Priority to US12/167,528 priority patent/US8239956B2/en
Priority to CN200810132500.5A priority patent/CN101349964B/zh
Publication of JP2009026014A publication Critical patent/JP2009026014A/ja
Publication of JP2009026014A5 publication Critical patent/JP2009026014A5/ja
Application granted granted Critical
Publication of JP4902451B2 publication Critical patent/JP4902451B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/1222Increasing security of the print job
    • 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/1238Secure printing, e.g. user identification, user rights for device usage, unallowed content, blanking portions or fields of a page, releasing held jobs
    • 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/1253Configuration of print job parameters, e.g. using UI at the client
    • 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/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/121Facilitating exception or error detection and recovery, e.g. fault, media or consumables depleted

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)
  • Computer Security & Cryptography (AREA)
  • Storage Device Security (AREA)

Abstract

【課題】電子文書データとその印刷体裁を定義する印刷設定データとの組み合わせの正当さを検証可能化する。
【解決手段】文書の提供側コンピュータは、JDFファイルとPDFファイルとを作成し、JDFファイルにPDFファイルへのパスを埋め込んで関連づけておく(S000)。その組み合わせを保証する場合には、JDFファイルを対象としてハッシュ計算を行い、得られたハッシュ値をPDFファイルに埋め込んでおく。また、得られたハッシュ値を鍵として、埋め込まれたハッシュ値を除いてPDFファイルを暗号化しておく(S003)。その文書を印刷するコンピュータでは、埋め込まれたハッシュ値でPDFファイルを復号し、またハッシュ値を再計算して、埋め込まれたハッシュ値と比較して、組み合わせの正しさを検証する。
【選択図】図1

Description

本発明は、印刷設定データと電子文書データとの組み合わせ、及び、印刷結果を保証する文書出力装置及びその制御方法と文書出力システムに関する。合わせて、印刷設定データと電子文書データの組み合わせを保証すると同時に、印刷設定データの一部を変更許可する技術に関する。
従来、PDF形式等の電子文書ファイルを、別途指定した印刷設定(印刷体裁)で印刷する技術がある。このために印刷対象の電子文書ファイルと、印刷設定ファイルとが組み合わされて陰経つ処理の対象とされる。印刷設定ファイルと電子文書データの組み合わせ及び、印刷結果を保証する技術に関連するものとして、電子文書に関連付けられている印刷条件を、ネットワークを介してアクセスコントロールサーバから取得することで実現するものがある(特許文献1)。別の技術としては、クライアントから印刷データ生成サーバに印刷データを送信し、印刷データ要求情報から、所望の印刷装置への印刷が許可されているかを判断し、クライアントに印刷データを返却して印刷するものがある(特許文献2)。また、2つ以上のファイルの組み合わせを保証する技術としては、改ざん検知情報等の電子文書に関連する属性情報を、別のファイルとして記憶部に保存し、電子文書の一部分でも改ざんされた場合、原本性を保証しないものがある(特許文献3)。
特開2004−152261号公報 特開2006−23821号公報 特開2001−005728号公報
しかしながら、上述した従来技術の場合、特許文献1に関しては、アクセスコントロールサーバを利用する必要があり、利用環境が制限されるため、利便性を損なう問題点がある。また、特許文献2に関しても同様に、印刷データ生成サーバ等のサーバを利用する必要があり、利用環境が制限されるため、利便性を損なう問題点がある。さらに、特許文献3に関しては、改ざんを検知するための情報を別のファイルとして記憶部に保存している。そのため、ポータビリティが損なわれることと、電子文書の一部でも改竄された場合に電子文書群の組み合わせを保証しないことから、電子文書の一部を改変することを許可するシステムにおいては利用することが困難であるという問題点がある。
本発明は上記従来例に鑑みて成されたものであり、上記課題解決を目的とする。すなわち、電子文書データとその印刷体裁を定義した印刷設定データとの関連づけを、それらデータの受信者がサーバなしで検証可能であり、印刷設定データの一部について設定変更可能な文書出力装置及びその制御方法と文書出力システムを提供する。
上述した課題を解決するために、本発明は以下の構成を備える。すなわち、電子文書データと、該電子文書データの印刷設定を定義する印刷設定データとを関連づけて出力可能な文書出力装置であって、
1対の電子文書データ及び印刷設定データのうち一方のデータを対象としてハッシュ計算を行ってハッシュ値を計算する計算手段と、
前記ハッシュ値を、前記計算手段によるハッシュ計算の対象となっていないもう一方のデータに埋め込む埋め込み手段とを備える。
他の側面によれば、本発明は、電子文書データを、該電子文書データに対応する印刷体裁データに従って出力可能な文書出力装置であって、
1対の電子文書データと印刷体裁データのうち一方のデータを対象としてハッシュ計算を行ってハッシュ値を計算する計算手段と、
前記ハッシュ計算の対象ではないもう一方のデータに埋め込まれたハッシュ値と、前記計算手段により計算したハッシュ値とを比較する比較手段と、
前記比較手段により両ハッシュ値が一致した場合には、前記電子文書データ及び前記印刷体裁データを基に印刷データを生成する手段とを備える。
本発明によって、印刷設定データと電子文書データとの組み合わせをその送信側が受信側に対して保証することが可能となり、作成者の意図しない印刷物の出力を防ぐことができる。また、電子文書データを、印刷設定データに基づいて生成した鍵を用いて暗号化することで、印刷設定データと電子文書データの組み合わせ検証機能を持っていないシステムに対して、不正な組み合わせの印刷設定データと電子文書データの出力を防ぐことが出来る。さらに、印刷設定データの一部を変更することを許可しつつ、印刷設定データと電子文書データの組み合わせを保証する仕組みを提供することが出来る。
<処理の概要>
まず本実施形態に係る処理の概略を説明する。本実施形態の文書処理装置(あるいは文書出力装置)は、電子文書データと、電子文書データの印刷設定を定義する印刷設定データとを関連づけて出力できる。その際に、電子文書データ及び前記印刷設定データのうち一方のデータを対象としてハッシュ計算を行ってハッシュ値を計算する。ハッシュ計算の対象は、電子文書データである場合と印刷設定データである場合とがあり、印刷設定データが対象となる場合には、その一部が対象となる。そして、得られたハッシュ値を、ハッシュ計算の対象となっていないもう一方のデータに埋め込む。こうして埋め込まれたハッシュ値と、データから再度計算されたハッシュ値とを比較することで、電子文書データと印刷設定データとの対が本来のものか検証できる。
このときハッシュ計算を、たとえばソートの有無を指定する指定パラメータおよび部数を指定する指定パラメータを除く部分を対象として行うことで、除外された部分を改変できる。除外された部分を変更しても、変更前後のデータを対象として計算したハッシュ値は同じだからである。
また、電子文書データを、印刷設定データを対象として得られたハッシュ値を鍵として暗号化する。上述のように印刷設定データを対象としてハッシュ計算を行った場合には得られたハッシュ値を暗号鍵としても利用できる。しかし電子文書データを対象としてハッシュ計算を行った場合には、印刷設定データを対象として第2のハッシュ計算を行って第2のハッシュ値を計算する。その第2のハッシュ値が電子文書データを暗号化する鍵となる。
一方ハッシュ値を埋め込まれた電子文書データと印刷設定データの対を受信した文書出力装置あるいは印刷装置は、その対が本来あるべきものであれば出力可能である。そこでまず1対の電子文書データと印刷設定データのうち一方のデータを対象としてハッシュ計算を行ってハッシュ値を計算する。このときの計算の対象の位置は、予め決められているか、あるいは対象位置情報としてデータに埋め込まれている。そして、ハッシュ計算の対象ではないもう一方のデータに埋め込まれたハッシュ値と、計算で得られたハッシュ値とを比較する。両ハッシュ値が一致した場合には、電子文書データと印刷設定データの対は、送信側で設定した対であるから、そのデータを基に印刷データを生成する。また、電子文書データが暗号化されている場合には、印刷設定データを対象として計算されたハッシュ値があればその値を鍵とし、なければ印刷設定データを対象として計算されたハッシュ値を鍵として文書データを暗号解読(すなわち復号)する。
本実施形態の概略は以上のようなものである。次に詳しい説明する。まず、印刷設定データからハッシュ値を計算して電子文書データに埋め込む例を説明し、次に、電子文書データからハッシュ値を計算して印刷設定データに埋め込む例を説明する。
[第1実施形態]
本発明に係る実施形態1を図面に基づいて説明する。なお、印刷設定データをJDF(Job Definition Format)ファイル、電子文書データをPDF(Portable Document Format)ファイルとした実施形態として説明する。ただし、XPS(XML Paper Specification)や、SVG(Scaleable Vector Graphic)等の構造化電子文書を電子文書データとして本発明を適用することが可能である。
<本実施形態の文書処理システムのハードウェア構成例>
まず図12を参照して本実施形態に係る装置の構成を説明する。図12は本実施形態の文書処理システムの構成を説明するブロック図である。なお、本発明の機能が実行されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、LAN,WAN等のネットワークを介して接続がなされ処理が行われるシステムであっても本発明を適用できる。
図12において、ホストコンピュータ100は、CPU201やRAM202、ROM203等を備える。CPU201は、プログラム用ROMあるいは外部メモリ211に記憶された文書処理プログラム等に基づいて、文書処理を実行する。この文書処理には、後述する電子文書データと印刷設定データとの組み合わせの正しさを検証するためのデータを作成する手順および正しさを検証するための手順が含まれる。またCPU201は、システムバス204に接続される各デバイスを総括的に制御する。また、外部メモリ211には、CPU201の制御プログラムであるオペレーティングシステムプログラム(以下OS)等を記憶する。データ用ROM領域あるいは外部メモリ211には上記文書処理等を行う際に使用する各種データを記憶する。RAM202は、CPU201の主メモリ、ワークエリア等として機能する。
キーボードコントローラ(KBC)205は、キーボード209や不図示のポインティングデバイスからのキー入力を制御する。CRTコントローラ(CRTC)206は、CRTディスプレイ(CRT)210の表示を制御する。ディスクコントローラ(DKC)207は、ハードディスク(HD)やフロッピー(登録商標)ディスク(FD)等の外部メモリ211とのアクセスを制御する。外部メモリ111には、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、プリンタ制御コマンド生成プログラム(以下プリンタドライバ)等が記憶される。また本実施形態に係る電子文書データおよび印刷体裁データ(それぞれPDFファイルおよびJDFファイルに相当)も格納される。NIC(ネットワークインターフェースカード)208は、LAN等の通信ネットワーク21を介してプリンタ107に接続されて、プリンタ107との通信制御処理を実行する。
なお、CPU201は、例えばRAM202上に設定された表示情報RAMへのアウトラインフォントの展開(ラスタライズ)処理を実行し、CRT210上でのWYSIWYGを可能としている。また、CPU201は、CRT210上の不図示のマウスカーソル等で指示されたコマンドに基づいて登録された種々のウインドウを開き、種々のデータ処理を実行する。ユーザは印刷を実行する際、プリンタドライバにより提供される印刷の設定に関するウインドウを開き、プリンタの設定や、印刷モードの選択を含むプリンタドライバに対する印刷処理方法の設定を行える。
プリンタ107は、CPU312により制御される。プリンタCPU312は、プログラム用ROM領域に記憶された制御プログラム等あるいは外部メモリ314に記憶された制御プログラム等に基づいてシステムバス315に接続される印刷部(プリンタエンジン)317に出力情報としての画像信号を出力する。また、このROM313のプログラムROM領域には、CPU312の制御プログラム等を記憶する。ROM313のフォント用ROM領域には上記出力情報を生成する際に使用するフォントデータ等が記憶される。ROM313のデータ用ROM領域には、ハードディスク等の外部メモリ314がないプリンタの場合には、ホストコンピュータ上で利用される情報等が記憶されている。
CPU312はNIC318を介してホストコンピュータとの通信処理が可能となっており、プリンタ内の情報等をホストコンピュータ100に通知できる。RAM319は、CPU312の主メモリや、ワークエリア等として機能するRAMで、図示しない増設ポートに接続されるオプションRAMによりメモリ容量を拡張することができるように構成されている。なお、RAM319は、出力情報展開領域、環境データ格納領域、NVRAM等に用いられる。前述したハードディスク(HD)、ICカード等の外部メモリ314は、メモリコントローラ(MC)320によりアクセスを制御される。外部メモリ314は、オプションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。また、318は前述した操作パネルで操作のためのスイッチおよびLED表示器等が配されている。
また、外部メモリ314は1個に限らず、複数個備えられ、内蔵フォントに加えてオプションカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていてもよい。更に、図示しないNVRAMを有し、操作部321からのプリンタモード設定情報を記憶するようにしてもよい。
またホストコンピュータ101はホストコンピュータ100と同じ構成を有するコンピュータである。本実施形態では、ホストコンピュータにより電子文書データとその電子文書データに対応する印刷体裁データとが印刷ジョブファイルとして、ネットワークで接続されたコンピュータや複合機能周辺装置に提供されている。そして、ホストコンピュータまたは複合機能周辺装置が、印刷ジョブファイルを特定してダウンロードを指示すると、その印刷ジョブファイルを受信する。そして、それに含まれる電子文書データと印刷体裁データとが本来あるべき組み合わせであるか検証し、本来あるべきもの(すなわち正しい)のであれば印刷できる。
<処理の流れ>
次に図1を主に用いて、本発明に係る処理の流れについて概要を説明し、次に、各処理の詳細について各図を用いて説明する。
図1のS000の処理において、製本アプリケーション等で、生成した電子文書データであるPDFファイルに対してあらかじめ印刷設定を行った情報を元にJDFファイルを生成する。JDF(Job Definition Format)ファイルとは、印刷設定を保存するための印刷設定データであり、XMLで記述されている。JDFは、予め定められた名前空間で定義されたタグを用いて記述されている。本実施形態では通常用いられるタグに加えて、ハッシュ対象の範囲を示すタグと、ハッシュ値を示すタグとが追加されている。それらタグを用いて、ハッシュ対象の範囲と、ハッシュ計算で得られたハッシュ値とがJDFファイルに記述される。JDFで通常定義される印刷設定には、たとえば出力されたシートのソートの設定パラメータや、印刷部数の設定パラメータが含まれる。また生成されたJDFファイルには、それに対応するPDFファイルを特定するためのパス情報が記述される。この情報をコンテンツのパスと呼ぶ。
なお、生成した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に移行する。一方チェックされている場合には、S008において、自動設定であれば非保護項目の候補すべてについて、手動設定であれば非保護項目の候補のうちから選択された項目について特定する情報を、一時的に非保護領域として保存する。
次にS003の処理において、前記設定を元にJDFファイルとPDFファイルの組み合わせ保証の処理を行う。処理の詳細については後述する。このときS008において特定した非保護候補の項目はハッシュ計算の対象から除外される(詳しくは後述する。)
S004の処理において、S003の処理が終了した後、組み合わせが保証されたJDFファイルとPDFファイルが生成される。生成されたJDFファイルとPDFファイルとは1組の印刷ジョブファイルとして、ネットワークで共有されるフォルダに保存される。また処理対象のシステムにJDFファイルとPDFファイルとを送信してもよい。ここで送信側文書出力装置による処理が終了する。S005以降は受信側文書出力装置による処理である。受信側文書出力装置はいわゆるコンピュータではなくともよく、たとえば印刷装置であってもよい。
S005の処理において、JDFファイルとPDFファイルを受け取った受信側文書出力装置では、JDFファイルとPDFファイルの組み合わせ保証の検証を行う。処理の詳細については後述する。
S006の処理において、S005の処理の結果、正しい組み合わせかどうかを判定する。正しい組み合わせである場合、S007の処理において、システムで印刷処理を実行する。本来生成された組み合わせではない場合は、全ての処理を終了する。なお本来生成された組み合わせとは、S0004で出力されるJDFファイルとPDFファイルの対または組をいう。組とは、PDFファイルが複数ある場合である。正しくない組み合わせは、たとえばいずれかのファイルが当初と異なるファイルに置換されている場合や、その内容が変更されている場合である。ただしJDFファイル中において非保護項目として選択された項目の変更は除外される。
次に、前記JDFファイルとPDFファイルの組み合わせ保証の処理について、PDFファイルに署名を行うことで保証する方法と、JDFファイルに署名を行うことで保証する方法の2通りの方法について説明する。
<PDFファイルに署名を行う場合(第1の場合)>
以下、主に図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という階層構造を有する。
PDFファイル内にJDFファイルのハッシュ値とハッシュ範囲とを埋め込む場合、PDFファイル内にある先頭のページ辞書901に対して、/PieceInfoエントリ901a及び、/LastModifiedエントリ901bを追加する。これは図9に示すとおりである。/PieceInfoについては、間接オブジェクトとして、別途ページピース辞書を生成し、参照する形にするのが望ましい。生成した/PieceInfoエントリのページピース辞書は、ページ辞書とエントリのたとえばIDで関連づけられる。また、/LastModifiedについては、このエントリを追加した時点の日時情報をPDFの日時フォーマットに従い追加する。生成した/PieceInfoエントリのページピース辞書902には、JDFファイルのハッシュ値及びハッシュ範囲を追加するために、更に/CnJDFHashDataエントリ902aを追加する。そして/CnJDFHashDataエントリのアプリケーションデータ辞書903をページピース辞書と同様に生成する。アプリケーションデータ辞書903には、前述の/LastModifiedのエントリと同様の内容を追加し、さらに、実際にハッシュ値及びハッシュ範囲が記述されるコンテンツストリーム辞書904を追加する。コンテンツストリーム辞書内904には、ハッシュ値の長さを示す/Lengthエントリ904a及び、ハッシュ範囲を示す/ByteRangeエントリ904bを追加する。
/ByteRangeエントリ904bの値は、PDFの配列構造のフォーマットとし、オフセット値と長さのペアで記述される。オフセット値は、JDFファイルの先頭からハッシュ範囲外とする属性値(設定項目)直前までのオフセット値である。長さは、オフセット値で示される位置からハッシュの適用範囲とするデータの長さである。このペアが、JDFファイルのハッシュ範囲の適用部分の数だけ記述される。また、/ByteRangeエントリ904bの値に対する別の記述方法として、ハッシュ範囲を、/ByteRange[Collate Amount ・・・]のように、JDFファイル内のハッシュ範囲外とする属性値の属性名を記述する方法がある。この場合は、後述のJDFファイルとPDFファイルの組み合わせ保証の検証処理の際に、記述された属性名に対する属性値以外をハッシュ範囲とすることになる。ハッシュ値は、ストリームデータを記述する部分904cに埋め込む。
次にS102の処理において、S101で計算したハッシュ値を用いてPDFファイルを暗号化する。暗号化の方式は、PDFの仕様に準拠することが望ましく、暗号化される箇所は、PDFファイル内の文字列情報部分および、コンテンツストリーム辞書内のストリームデータである。したがって、ハッシュの範囲を示す/ByteRangeエントリ904bは暗号化されない。なお暗号鍵のことを本実施形態ではPDFの仕様に従ってパスワードとも呼ぶ。
S103の処理において、PDFファイルに対して署名を行う。署名の方式は、PDFの仕様に準拠することが望ましく、電子署名データ以外の部分の改ざんを検知するように、電子署名データが生成され、PDFファイル内部に埋め込まれる。
S104の処理において、JDFファイルが参照するPDFファイルが複数存在する場合は、S101の処理に戻り、前述と同様の処理を行う。すなわち、すべてのPDFファイルに、ハッシュ値とハッシュ計算の対象の範囲とを埋め込み、ハッシュ値をパスワードとしてPDFファイルを暗号化する。全てのPDFファイルに対して処理が終了した時点で、JDFファイルとPDFファイルの組み合わせ保証の処理は終了する。
<JDFファイルのハッシュ範囲の決定>
次に、図2のS101におけるハッシュ計算の対象となるJDFファイルのハッシュ値の計算方法について、図6を用いて説明する。図6は図2のS100の処理に相当する。
S500の処理において、図7のJDFファイルとPDFファイルの組み合わせを保証するかどうかの設定を行うダイアログの設定を元に、JDFファイルの全体をハッシュ対象とするかどうかを判断する。すなわち、「JDFとPDの組み合わせを保証する」設定がされており、かつ、「印刷内容に影響を与えない部分を変更可能にする」設定がされていないのであれば、JDFファイルの全体がハッシュ計算の対象となる。JDFファイル全体をハッシュ対象とする場合、S506の処理に移り、JDFファイル全体のハッシュ値を算出して処理は終了する。JDFファイル全体をハッシュ対象としない場合、S501の処理に移る。
S501の処理において、図7のダイアログの設定欄704で指定された属性(設定項目)が存在するか判定する。指定された属性があった場合、S502の処理に移行する。図7の例では、collateすなわちソート属性が、変更可能な属性として設定されている。図7のユーザインターフェースで指定された値は設定後に保存されているので、図6等の処理ではその保存された値を参照している。
S502の処理において、変更可能な属性として指定された属性を、JDFファイルから検索する。複数の属性が指定されているなら、そのうちのひとつに着目してそれを検索する。JDFファイルはテキストで記述されており、属性すなわち設定項目は予め定められたタグによって示されているので、属性を示すタグをJDFファイルから検索することは容易である。もし指定された属性が処理対象のJDFファイルに含まれていなければ、すなわちヒットしなければ、その属性を変更する余地は元々ない。そこで、変更可能と指定された属性のうち、次の属性に着目してS501から繰り返す。
一方、ヒットした場合、S504で、検索対象の属性について、JDFファイルの先頭から当該属性の先頭までのオフセット及び、属性の記述の長さを数え、一時的にメモリ内に保持しておく。オフセット及び長さはたとえばテキストの文字数でよい。ハッシュ計算の対象とならない設定項目は、たとえばその設定項目に対応するタグで囲まれた範囲に相当するので、オフセットと長さで示された範囲が、ハッシュ計算の対象とならない範囲である。なお、もしひとつの属性に対応する記述がファイル内の複数箇所にあるのであれば、それら複数か書すべてがハッシュ計算の対象から除外される。
S501において、該当する属性値が存在しない場合、あるいは指定されたすべての属性について検索が終了した場合、S505の処理に移行する。S505において、変更可能であると指定された属性が、1つ以上JDFファイルから見つかったか判定される。見つかった場合、すなわちハッシュの対象から除外される範囲が見つかった場合、S507の処理を実行する。なければS506へ分岐する。つまり該当する属性が1つも存在しなかった場合は、JDFファイル全体をハッシュ対象としてハッシュ値を算出し、処理を終了する。
S507の処理において、一時的にメモリ内に保持しておいたファイルの先頭から属性値の先頭までのオフセット及び、属性値の長さを元に、JDFファイルの部分領域をハッシュ対象としてハッシュ値を算出する。すなわち、ファイル先頭からのオフセットと長さで定まるハッシュ対象除外領域をJDFファイルから除き、残りの部分を対象としてハッシュ計算を実行する。ハッシュ範囲および得られたハッシュ値は一時的に保存しておく。この値が、第1実施形態ではPDFファイルに埋め込まれる。また、第1及び第2の実施形態では、PDFファイルの暗号化の鍵として用いられる。
以上のようにして、JDFファイルのうち、変更を許さない部分を対象としてハッシュ値が計算され、そのハッシュ値およびハッシュ計算の対象となる範囲(あるいはハッシュ計算の対象とならない範囲)がPDFファイルに埋め込まれる。また、そのハッシュ値を鍵としてPDFファイルが暗号化される。なお、図6のS504で得た情報はハッシュ計算の対象(ハッシュ範囲と呼ぶ)とならない部分を示す情報である。JDFファイルに埋め込まれるのは、ハッシュ計算の対象とする範囲であってもハッシュ計算の対象とならない範囲であってもよい。いずれか一方が特定されれば、他方も特定されるからである。本実施形態では、ハッシュ計算の対象とならない範囲をハッシュ範囲に変換し、それをPDFに埋め込む。
次に、前記JDFファイルとPDFファイルの組み合わせ保証の検証について、PDFファイルに署名した場合の検証と、JDFファイルに署名した場合の検証の2通りの方法について説明する。
<PDFファイルに署名した場合の検証>
以下、主に図3を用いて、PDFファイルに署名した場合におけるJDFファイルとPDFファイルの組み合わせ保証の検証方法について説明する。
図3のS200の処理において、JDFファイルに記載されているコンテンツのパスから、全てのPDFファイルを取得する。
S201の処理においてPDFファイルに対して署名の検証処理を行う。ここでは、改ざんの検知が出来ればよい。検証方法については、PDFの仕様に準拠する。すなわち、PDFファイル内の署名辞書に記述されたハッシュ範囲である/ByteRangeエントリの値を元にPDFファイルのハッシュ値を算出する。そして、署名辞書内に埋め込まれた電子署名を公開鍵で復号化したハッシュ値と、前述ハッシュ値を比較し、一致すれば改ざんされていないとみなすことが出来る。一致しない場合は、処理を終了する。
S202の処理において、PDFファイル内にあらかじめ埋め込んだJDFファイルのハッシュ範囲を取得する。ハッシュ範囲は、前述の埋め込み処理(図2のS101)で埋め込んだ位置に記載されている。具体的には、図9にあるように、PDF内のページ辞書からページピース辞書を参照し、さらにアプリケーションデータ辞書から、コンテンツストリーム辞書を参照し、/ByteRangeエントリの値として埋め込まれたハッシュ範囲を取得する。
S203の処理において、前述のハッシュ範囲を元に、JDFファイルのハッシュ値Aを算出する。なおハッシュ範囲が、JDFファイル内のハッシュ対象外とする属性名として記述されている場合は、その属性名に対する属性値を除いた部分に対してJDFファイルのハッシュ値Aを算出する。
S204の処理において、PDFファイルが暗号化されているかを判定する。方法としては、PDFファイル内に、Encrypt辞書が存在するかどうかで判定する。暗号化されている場合は、S205の処理に移行する。暗号化されていない場合は、処理を終了する。
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ファイルに対して処理が終了した場合は、印刷実行処理を行い、処理は終了する。
以上の手順により、PDFファイルに、JDFファイルを対象として得られたハッシュ値を埋め込んでおき、その値とJDFファイルを対象として再計算したハッシュ値とを比較することで、ファイルの組の検証が可能である。また、ハッシュ値をパスワードとしてPDFファイルを暗号化しておくことで、図3に示す検証手順を実行できない複合機能周辺機により印刷ジョブファイルがダウンロードされた場合でも、PDFファイルとJDFファイルとの組の保証を可能としている。
[第2実施形態]
本実施形態では、PDFファイルを対象としてハッシュ値を計算し、それをJDFファイルに埋め込む。ただし、PDFファイルを暗号化するためのパスワードとなるハッシュ値は、第1実施形態と同様にJDFファイルに基づいて計算される。
<JDFに署名を行う場合>
以下、主に図4を用いて、JDFに署名を行うことでJDFとPDFの組み合わせを保証する方法について説明する。
図4のS300の処理において、JDFファイルと関連づけられたPDFファイルそれぞれに対するハッシュ値Aを算出する。S301の処理において、S300の処理で算出したハッシュ値AをJDFファイル内に埋め込む。以下、具体的な埋め込み方法について、図10を用いて説明する。JDFファイル内にPDFファイルのハッシュ値を埋め込む場合、図10に示すように、PDFファイル1001の参照を示すURL属性のあるノードFileSpec内に、HASH属性として記述する。図10の例ではPDFファイルはinput−1.pdfとinput−2.pdfの2つであり、それぞれのハッシュ値1001aと1001bとが、それぞれのPDFファイルに関連づけて保存される。
そこでS302の処理において、JDFファイル内から複数のPDFファイルが参照されている場合、全てのPDFファイルに対してS300及びS301の処理を行う。
S303の処理において、JDFファイルのハッシュ範囲を決定し、JDFファイル内に埋め込む。なお、ハッシュ範囲の決定については後述する。以下、JDFファイル内へのハッシュ範囲の埋め込み方法について具体的に説明する。
JDFファイル内にJDFファイルのハッシュ範囲を埋め込む場合、図11に示すように、JDFノード内にHashByteRange属性1101として記述する。HashByteRange属性1101は、JDFファイルの先頭からハッシュ範囲外とする属性値直前までのオフセット値と、オフセット値からハッシュの適用範囲とするデータの長さのペアで記述する。このペアは、JDFファイルのハッシュ範囲の適用部分の数だけ記述する必要がある。図11の例では、ソートの設定項目であるCollate属性1102の値と、部数の設定項目であるAmount属性1103の値が、ハッシュ範囲から除外されている。
また、HashByteRange属性1101に対する別の記述方法として、”Collate Amount ・・・”のように、JDFファイル内のハッシュ範囲外とする属性値の属性名を記述する方法がある。この場合は、後述のJDFファイルとPDFファイルの組み合わせ保証の検証処理の際に、記述された属性名に対する属性値以外をハッシュ範囲とすることになる。
S304の処理において、前述のハッシュ範囲を元に、JDFファイルのハッシュ値Bを算出する。このステップが、JDFファイルを対象としてハッシュ値を計算する第2の計算手段に相当する。
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ファイルのハッシュ値を算出し、埋め込まれた電子署名を公開鍵で復号化したハッシュ値と、算出したハッシュ値とを比較し、一致すれば改ざんされていないとみなすことが出来る。一致しない場合は、処理を終了する。
S402の処理において、JDF内に記述されたハッシュ範囲を元に、JDFファイルのハッシュ値Aを計算する。ハッシュ範囲が、JDFファイル内のハッシュ対象外とする属性名として記述されている場合は、その属性名に対する属性値を除いた部分に対してJDFファイルのハッシュ値Aを算出する。なお、電子署名に用いたJDFの範囲と、JDFに埋め込んだハッシュ値の計算に用いたJDFの範囲とが同じ場合には、ハッシュ値Aは、電子署名の検証で求めたハッシュ値と同じ値となるため、その値をハッシュ値Aとして流用することもできる。
S403の処理において、PDFファイルが暗号化されているかを判定する。方法としては、PDFファイル内に、Encrypt辞書が存在するかどうかで判定する。暗号化されている場合は、S404の処理に移行する。暗号化されていない場合は、処理を終了する。
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ファイルに対して処理が終了した場合は、印刷実行処理を行い、処理は終了する。
以上の手順により、JDFファイルに、PDFファイルを対象として得られたハッシュ値を埋め込んでおき、その値とPDFファイルを対象として再計算したハッシュ値とを比較する。こうすることで、PDFファイルとJDFファイルの組が本来の組であることを検証が可能である。また、JDFファイルを対象として生成したハッシュ値をパスワードとしてPDFファイルを暗号化しておく。こうすることで、図3に示す検証手順を実行できない複合機能周辺機により印刷ジョブファイルがダウンロードされた場合でも、PDFファイルとJDFファイルとの組の保証を可能としている。
[他の実施形態]
なお本発明は、複数の機器(例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置など)に適用してもよい。また本発明の目的は、前述の実施形態の機能を実現するプログラムコードを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータが記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコード自体およびプログラムコードを記憶した記憶媒体は本発明を構成することになる。
また、本発明には、プログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた場合についても、本発明は適用される。その場合、書き込まれたプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される。
本発明に係る電子文書処理システムを説明する代表的なフローチャート図である。 PDFに署名を行うことでJDFとPDFの組み合わせを保証する方法を説明するフローチャート図である。 PDFファイルに署名した場合におけるJDFファイルとPDFファイルの組み合わせ保証の検証方法について説明するフローチャート図である。 JDFファイルに署名を行うことでJDFとPDFの組み合わせを保証する方法を説明するフローチャート図である。 JDFファイルに署名した場合におけるJDFファイルとPDFファイルの組み合わせ保証の検証方法について説明するフローチャート図である。 JDFファイルのハッシュ範囲の決定方法を説明するフローチャート図である。 JDFファイルとPDFファイルの組み合わせを保証するかどうかの設定を行うダイアログ図である。 印刷内容に影響を与えない部分を変更可能にする属性のリストである。 PDFファイル内におけるJDFファイルのハッシュ値とハッシュ範囲の埋め込み位置を表す図である。 JDFファイル内におけるJDFファイルのハッシュ範囲の埋め込み位置を表す図である。 JDFファイル内におけるJDFファイルのハッシュ範囲の埋め込み位置を表す図である。 実施形態の処理を実行するコンピュータおよび複合機能周辺機のブロック図である。
符号の説明
100、101 ホストコンピュータ
107 プリンタ
21 通信ネットワーク

Claims (12)

  1. 電子文書データと、該電子文書データの印刷設定を定義する印刷設定データとを関連づけて出力可能な文書出力装置であって、
    1対の電子文書データ及び印刷設定データのうち一方のデータを対象としてハッシュ計算を行ってハッシュ値を計算する計算手段と、
    前記ハッシュ値を、前記計算手段によるハッシュ計算の対象となっていないもう一方のデータに埋め込む埋め込み手段と
    を備えることを特徴とする文書出力装置。
  2. 前記計算手段は、前記印刷設定データのうち、利用者に指定された設定パラメータを除く部分を対象としてハッシュ計算を行うことを特徴とする請求項1に記載の文書出力装置。
  3. 利用者が指定できる設定パラメータには、印刷部数の設定パラメータとソートの設定パラメータとが含まれることを特徴とする請求項2に記載の文書出力装置。
  4. 前記印刷設定データを、前記計算手段によるハッシュ計算の対象としていない場合には、前記印刷設定データを対象としてハッシュ計算を行って第2のハッシュ値を計算する第2の計算手段と、
    前記計算手段により計算されたハッシュ値または前記第2の計算手段により計算された第2のハッシュ値を鍵として前記電子文書データを暗号化する暗号化手段と
    を更に備えることを特徴とする請求項1乃至3のいずれか1項に記載の文書出力装置。
  5. 電子文書データを、該電子文書データに対応する印刷設定データに従って出力可能な文書出力装置であって、
    1対の電子文書データと印刷設定データのうち一方のデータを対象としてハッシュ計算を行ってハッシュ値を計算する計算手段と、
    前記ハッシュ計算の対象ではないもう一方のデータに埋め込まれたハッシュ値と、前記計算手段により計算したハッシュ値とを比較する比較手段と、
    前記比較手段により両ハッシュ値が一致した場合には、前記電子文書データ及び前記印刷設定データを基に印刷データを生成する手段と
    を備えることを特徴とする文書出力装置。
  6. 前記計算手段によるハッシュ計算の対象となる部分を示す対象位置情報が、前記ハッシュ計算の対象ではないもう一方のデータに埋め込まれており、前記計算手段は、前記対象位置情報で示される部分を対象としてハッシュ値を計算することを特徴とする請求項5に記載の文書出力装置。
  7. 前記電子文書データが暗号化されている場合には、前記計算手段により前記印刷設定データを対象として計算されたハッシュ値、または、前記計算手段により前記印刷設定データが対象とされていな場合には、前記印刷設定データを対象として計算されたハッシュ値を鍵として前記電子文書データを暗号解読する手段を更に備えることを特徴とする請求項5または6に記載の文書出力装置。
  8. 請求項1乃至4のいずれか1項に記載の文書出力装置と、請求項5乃至7のいずれか1項に記載の文書出力装置とを含む文書出力システム。
  9. 計算手段と埋め込み手段とを有し、電子文書データと、該電子文書データの印刷設定を定義する印刷設定データとを関連づけて出力可能な文書出力装置の制御方法であって、
    計算手段が、1対の電子文書データ及び印刷設定データのうち一方のデータを対象としてハッシュ計算を行ってハッシュ値を計算する計算工程と、
    埋め込み手段が、前記ハッシュ値を、前記計算工程によるハッシュ計算の対象となっていないもう一方のデータに埋め込む埋め込み工程と
    を備えることを特徴とする文書出力装置の制御方法。
  10. 計算手段と比較手段と生成手段とを備え、電子文書データを、該電子文書データに対応する印刷設定データに従って出力可能な文書出力装置の制御方法であって、
    計算手段が、1対の電子文書データと印刷設定データのうち一方のデータを対象としてハッシュ計算を行ってハッシュ値を計算する計算工程と、
    比較手段が、前記ハッシュ計算の対象ではないもう一方のデータに埋め込まれたハッシュ値と、前記計算工程により計算したハッシュ値とを比較する比較工程と、
    生成手段が、前記比較工程により両ハッシュ値が一致した場合には、前記電子文書データ及び前記印刷設定データを基に印刷データを生成する生成工程と
    を備えることを特徴とする文書出力装置の制御方法。
  11. 電子文書データと、該電子文書データの印刷設定を定義する印刷設定データとを関連づけて出力可能な文書出力装置の制御方法をコンピュータにより実行するためのプログラムであって、前記制御方法は、
    1対の電子文書データ及び印刷設定データのうち一方のデータを対象としてハッシュ計算を行ってハッシュ値を計算する計算工程と、
    前記ハッシュ値を、前記計算工程によるハッシュ計算の対象となっていないもう一方のデータに埋め込む埋め込み工程と
    を備えることを特徴とするプログラム。
  12. 電子文書データと、該電子文書データの印刷設定を定義する印刷設定データとを関連づけて出力可能な文書出力装置の制御方法をコンピュータにより実行するためのプログラムであって、前記制御方法は、
    1対の電子文書データと印刷設定データのうち一方のデータを対象としてハッシュ計算を行ってハッシュ値を計算する計算工程と、
    前記ハッシュ計算の対象ではないもう一方のデータに埋め込まれたハッシュ値と、前記計算工程により計算したハッシュ値とを比較する比較工程と、
    前記比較工程により両ハッシュ値が一致した場合には、前記電子文書データ及び前記印刷設定データを基に印刷データを生成する生成工程と
    を備えることを特徴とするプログラム。
JP2007187601A 2007-07-18 2007-07-18 文書出力装置及びその制御方法とプログラム Expired - Fee Related JP4902451B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2007187601A JP4902451B2 (ja) 2007-07-18 2007-07-18 文書出力装置及びその制御方法とプログラム
US12/167,528 US8239956B2 (en) 2007-07-18 2008-07-03 Document outputting apparatus, control method thereof, and document output system
CN200810132500.5A CN101349964B (zh) 2007-07-18 2008-07-18 文档输出装置、文档输出装置的控制方法及文档输出系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007187601A JP4902451B2 (ja) 2007-07-18 2007-07-18 文書出力装置及びその制御方法とプログラム

Publications (3)

Publication Number Publication Date
JP2009026014A true JP2009026014A (ja) 2009-02-05
JP2009026014A5 JP2009026014A5 (ja) 2010-09-02
JP4902451B2 JP4902451B2 (ja) 2012-03-21

Family

ID=40265820

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007187601A Expired - Fee Related JP4902451B2 (ja) 2007-07-18 2007-07-18 文書出力装置及びその制御方法とプログラム

Country Status (3)

Country Link
US (1) US8239956B2 (ja)
JP (1) JP4902451B2 (ja)
CN (1) CN101349964B (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011187061A (ja) * 2010-03-10 2011-09-22 Ricoh Co Ltd 自動生成された変換を使う印刷システムにおける改善されたjdfチケット処理の方法および構造
JP2015056170A (ja) * 2013-09-13 2015-03-23 株式会社リコー データ処理システム、データ処理方法、データ処理プログラム、及びデータ処理装置
KR101777698B1 (ko) * 2015-10-27 2017-09-12 라인 가부시키가이샤 사용자 단말, 메시지를 송수신하는 방법 및 컴퓨터 프로그램
WO2018211834A1 (ja) * 2017-05-16 2018-11-22 ソニー株式会社 情報処理装置および情報処理方法
KR101933444B1 (ko) * 2017-09-05 2018-12-28 라인 가부시키가이샤 메시지 서버
US11115393B2 (en) 2015-10-27 2021-09-07 Line Corporation Message server, method for operating message server and computer-readable recording medium

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009251803A (ja) * 2008-04-03 2009-10-29 Canon Inc 情報処理装置、データ処理方法、プログラム
US20100321715A1 (en) * 2009-06-22 2010-12-23 Williams David A Methods and structure for preserving node order when storing xml data in a key-value data structure
US8572062B2 (en) * 2009-12-21 2013-10-29 International Business Machines Corporation Indexing documents using internal index sets
JP5537149B2 (ja) * 2009-12-25 2014-07-02 キヤノン株式会社 画像処理装置及びその制御方法、並びにプログラム
CN102131023A (zh) * 2010-01-12 2011-07-20 株式会社东芝 图像形成装置以及图像形成处理方法
CN101814120A (zh) * 2010-03-11 2010-08-25 四川大学锦江学院 基于数字水印的word文档数据转移
CN102855097B (zh) * 2011-06-30 2015-11-25 北大方正集团有限公司 基于jdf的按需印刷控制方法和装置
CN102427399B (zh) * 2012-01-09 2014-07-16 北京邮电大学 基于信源信息加密的光网络安全网络编码方法
US9436711B2 (en) * 2013-03-13 2016-09-06 Adobe Systems Incorporated Method and apparatus for preserving analytics while processing digital content
US8894485B2 (en) * 2013-03-18 2014-11-25 Cadillac Jack, Inc. Electronic gaming system with ROM-based media validation
JP7000928B2 (ja) * 2018-03-09 2022-01-19 株式会社リコー 情報処理装置、画像形成装置、画像処理システム、画像処理方法、及びプログラム

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH113390A (ja) * 1997-06-12 1999-01-06 Fuji Xerox Co Ltd 埋込符号生成方法及び装置
JP2006164152A (ja) * 2004-12-10 2006-06-22 Canon Inc 印刷処理方法及びシステム
JP2006294017A (ja) * 2005-03-18 2006-10-26 Ricoh Co Ltd 印刷情報処理システム、印刷情報処理プログラム及び記録媒体
JP2007158947A (ja) * 2005-12-07 2007-06-21 Canon Inc 画像処理装置及び当該画像処理方法を実行するプログラム及び当該プログラムを格納した媒体
JP2008042821A (ja) * 2006-08-10 2008-02-21 Konica Minolta Business Technologies Inc 画像形成装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2327831B (en) * 1997-07-23 2002-10-09 Chantilley Corp Ltd Document or message security arrangements
JP3976946B2 (ja) 1999-06-18 2007-09-19 株式会社リコー 原本性保証電子保存装置、原本性保証電子保存方法およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2004152261A (ja) 2002-09-13 2004-05-27 Ricoh Co Ltd ドキュメント印刷プログラム、ドキュメント保護プログラムおよびドキュメント保護システム
US20040125402A1 (en) 2002-09-13 2004-07-01 Yoichi Kanai Document printing program, document protecting program, document protecting system, document printing apparatus for printing out a document based on security policy
JP4208776B2 (ja) 2004-06-25 2009-01-14 キヤノン株式会社 印刷クライアント、ネットワークプリンタ及び印刷システム
JP2006023821A (ja) 2004-07-06 2006-01-26 Konica Minolta Business Technologies Inc 印刷システム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH113390A (ja) * 1997-06-12 1999-01-06 Fuji Xerox Co Ltd 埋込符号生成方法及び装置
JP2006164152A (ja) * 2004-12-10 2006-06-22 Canon Inc 印刷処理方法及びシステム
JP2006294017A (ja) * 2005-03-18 2006-10-26 Ricoh Co Ltd 印刷情報処理システム、印刷情報処理プログラム及び記録媒体
JP2007158947A (ja) * 2005-12-07 2007-06-21 Canon Inc 画像処理装置及び当該画像処理方法を実行するプログラム及び当該プログラムを格納した媒体
JP2008042821A (ja) * 2006-08-10 2008-02-21 Konica Minolta Business Technologies Inc 画像形成装置

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011187061A (ja) * 2010-03-10 2011-09-22 Ricoh Co Ltd 自動生成された変換を使う印刷システムにおける改善されたjdfチケット処理の方法および構造
JP2015056170A (ja) * 2013-09-13 2015-03-23 株式会社リコー データ処理システム、データ処理方法、データ処理プログラム、及びデータ処理装置
KR101777698B1 (ko) * 2015-10-27 2017-09-12 라인 가부시키가이샤 사용자 단말, 메시지를 송수신하는 방법 및 컴퓨터 프로그램
US10230697B2 (en) 2015-10-27 2019-03-12 Line Corporation User terminals, and methods and computer-readable recording mediums storing computer programs for transmitting and receiving messages
US11115393B2 (en) 2015-10-27 2021-09-07 Line Corporation Message server, method for operating message server and computer-readable recording medium
WO2018211834A1 (ja) * 2017-05-16 2018-11-22 ソニー株式会社 情報処理装置および情報処理方法
JPWO2018211834A1 (ja) * 2017-05-16 2020-03-19 ソニー株式会社 情報処理装置および情報処理方法
US11445015B2 (en) 2017-05-16 2022-09-13 Sony Corporation Information processing apparatus and method for processing information
JP7156274B2 (ja) 2017-05-16 2022-10-19 ソニーグループ株式会社 情報処理装置および情報処理方法
KR101933444B1 (ko) * 2017-09-05 2018-12-28 라인 가부시키가이샤 메시지 서버

Also Published As

Publication number Publication date
CN101349964B (zh) 2013-03-06
US8239956B2 (en) 2012-08-07
JP4902451B2 (ja) 2012-03-21
CN101349964A (zh) 2009-01-21
US20090024854A1 (en) 2009-01-22

Similar Documents

Publication Publication Date Title
JP4902451B2 (ja) 文書出力装置及びその制御方法とプログラム
JP5641765B2 (ja) 情報処理装置、認証方法、及びコンピュータプログラム
JP5336819B2 (ja) 情報処理装置及び印刷制御方法
US20130271777A1 (en) Information processing apparatus and method thereof
JP2001184186A5 (ja) 画像処理装置、画像処理方法及び記憶媒体
JP2007280230A (ja) 印刷装置
US20090038002A1 (en) Controlling image forming function
JP2007323186A (ja) 印刷制御データ生成装置、印刷管理装置、及び印刷装置
JP2010237803A (ja) 印刷制御方法、印刷制御装置、及びコンピュータプログラム
US8484555B2 (en) Electronic document control apparatus, method, program and system
JP2006011857A (ja) 印刷クライアント、ネットワークプリンタ及び印刷システム
JP5531521B2 (ja) 文書管理システム、文書操作装置及びプログラム
JP4136433B2 (ja) 印刷装置、情報処理装置、プリントサーバ、印刷装置及び印刷システムの制御方法並びに情報処理方法
JP4164488B2 (ja) 情報漏洩抑止方法及びそれを実現する情報処理装置とドライバプログラム
US20060221376A1 (en) Print control apparatus and method
KR20100074567A (ko) 전자서명 생성 방법, 인쇄 제어 단말장치, 및 화상형성장치
JP3997197B2 (ja) 画像処理システム
KR101031769B1 (ko) 페이지정보가 삽입된 전자책 다운로드 장치 및 그 제어방법
US8400671B2 (en) System and method for selectively disabling document rendering
JP4208592B2 (ja) データ処理システム、情報処理装置、サーバ装置、データ処理方法、情報処理装置の制御方法、サーバ装置の制御方法、記憶媒体、プログラム
US8976378B2 (en) Pre-flight system for PDF/VT
JP4867583B2 (ja) 印刷システム
JP4908053B2 (ja) 印刷システム、印刷方法及び印刷処理プログラム
JP2009223763A (ja) 画像形成装置
JP4047201B2 (ja) データ処理システム、サーバ装置、データ処理システムの制御方法、サーバ装置の制御方法、プログラム、記憶媒体

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100716

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100716

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111130

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20111205

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111228

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150113

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees