本発明の実施形態では、プリンタ又はプリントサーバ等の画像処理装置が、可変データ印刷のための情報リソース(以下単に「リソース」と呼ぶ)一式をクライアントコンピュータから受信し、それらリソース一式を用いて可変データ印刷を実行する。また、画像処理装置は、受信したリソース一式を保存し、再印刷指示の際に保存したリソース一式を利用する。ここで、画像処理装置は、リソース一式のすべてを保存するのではなく、それらリソース一式のうち個人情報のように個別性が高いと判定されるリソースは保存しない。個別性とは、対象(この例ではリソース)が個々の主体に固有のものである可能性のことである。個々の主体に固有の情報は、個別性が高いといえる。個別性が高いものは、守秘の対象となる可能性が高い。個々のリソースが個別性の高いものであるか否かは、可変データ印刷におけるそのリソースの使われ方を監視することで判定する。リソースが個別性の高いものであるか否かの判定結果は、そのリソースについての様々な取り扱いを決定するのに用いることができる。以下では、そのような様々な取り扱いのうち、リソースについての守秘のための保存制御にその判定結果を用いる場合を例にとって説明する。
可変データ印刷では、可変データに含まれる複数のレコードの各々に対して出力画像を生成し、それを用紙等の物理媒体に印刷する。レコードは、人や物などの主体(エンティティ、実体とも呼ばれる)に関する1以上のデータ項目を含んでいる。典型的には1つの主体の情報は1つのレコードに表現されるが、1つの主体の情報が複数のレコードにより表現される場合もある。レコードの中のデータ項目はリソースの一種であり、またそのデータ項目が外部の情報(例えば画像や表のファイル)を指し示す情報である場合、そのような外部情報もリソースの一種である。リソースが守秘対象か否かは、主体固有の情報であるか否かにより判定することができる。すなわち、1つの主体にしか用いられていないリソースは、その主体に固有の情報なので秘密の度合いが高く、逆に複数の主体に用いられているリソースは秘密の度合いが低いと考えられる。そこで、この実施形態では、リソースがいくつの主体についての出力画像に用いられているか(すなわち個別性)を監視し、その監視結果に基づきそのリソースを守秘対象とするか否かを判定するのである。
単純には、可変データ中の全レコードについての出力画像の生成が終わった段階で、1回しか使われていないリソースは、当然ながら1つの主体にしか用いられていないので、個別性が高いといえ、守秘対象と判定してよい。例えば同じ画像や表が1つの主体についての印刷物に繰り返し現れることは通常はあまりないので、このような簡易な判断手法でも実用的には大きな意義がある。
また、あるリソースが1レコードの出力画像中には複数回現れるが、他のレコードの出力画像には現れない場合、そのリソースは1つの主体にしか用いられていないといえるので、個別性が高く、守秘対象と判定できる。
画像処理装置は、守秘対象と判定したリソース以外のリソースを、再印刷に備えて保存するとともに、どのリソースを保存したか(逆に言えばどのリソースは保存しなかったか)を表す情報を、クライアントコンピュータに通知する。クライアントコンピュータは、この通知に基づき、再印刷の際には、画像処理装置に保存されていないリソースを画像処理装置に再送する。
以上、実施形態の概念を説明した。次に、図1を参照して、この概念に従った画像形成システムの構成の一例を説明する。このシステムは、プリントサーバ100と印刷装置200とクライアントコンピュータ300とを備える。印刷装置200は、画像を用紙に印刷する。プリントサーバ100は、クライアントコンピュータ300から入力される印刷データ(例えばページ記述言語で記述される)を、印刷装置200が取り扱い可能な画像データに変換し、印刷装置200に提供する。この他、プリントサーバ100は、クライアントコンピュータ300から入力される印刷データ(「ジョブ」とも呼ばれる)の実行順序の制御などを行う機能を有していてもよい。プリントサーバ100と印刷装置200とは、ネットワーク又はケーブル等の通信路で相互接続された別々の装置であってもよいし、一体の装置として構成されてもよい。プリントサーバ100は、ネットワーク又はケーブル等の通信路を介してクライアントコンピュータ300と通信可能となっている。
ここで、プリントサーバ100は、可変データ印刷機能を備える。可変データ印刷のために用いられるリソースには、例えば、複数のレコードを含んだ可変データ、それら各レコードに適用されるレイアウトプログラム、それらレコードに適用される背景や罫線などのフォーム(書式)データ、それらレコードの印刷画像に組み込まれる画像や表などのデータ、等がある。また、印刷の管理等のために、それら各リソースの属性を記述したファイル(「属性ファイル」と呼ぶ)もある。
可変データ400のデータ内容の一例を図2に示す。この例では、行402の記述"(test01.dbm) STARTDBM"により、この可変データの処理において用いるレイアウトプログラムを指定している。用いられるレイアウトプログラムの識別名は" test01.dbm"であり、" STARTDBM "がレイアウトプログラムを指定する命令である。行404以降が、印刷対象となるレコード群のデータである。すなわち、行404は、印刷対象のレコード中の各フィールド(項目)のフィールド名を表す。"C#ID"フィールドはレコードのID(識別情報)を、"C#NAME"フィールドは当該レコードの主体である顧客の名前を示す。また、"C#IMG"及び"C#IMG2"フィールドは、当該レコードの印刷画像に組み込まれる画像の識別情報(例えばファイル名)を、それぞれ示す。
レイアウトプログラムは、可変データ中のレコードから印刷用の画像を生成するための手順を記述したプログラムであり、ページ記述言語等の言語で記述される。レイアウトプログラムには、レコード中の1以上のフィールドの値に基づき画像を生成するコマンドが含まれる。この種のコマンドは、レコードごとに異なる画像を描画する。また、レイアウトプログラムには、レコードに依存しない固定的なデータを描画するコマンド、描画位置を移動させるコマンド、背景フォームを指定するコマンド、など様々なコマンドが含まれ得る。
図3にレイアウトプログラム500の一例を示す。この例は、図2の可変データ内で指定されているレイアウトプログラム"test01.dbm "の内容である。例えば、行502は描画を開始する座標を指定するコマンドである。また、行504は、レコード中のフィールド"C#ID"内の文字列の描画を指示するコマンドである。その後に、フィールド"C#NAME"内の文字列の描画を指示するコマンド、フィールド"C#IMG"内の識別情報が示す画像の描画を指示するコマンドが続く。そして、更にその後の行506にはフィールド"C#IMG2"内の識別情報が示す画像の描画を指示するコマンドが記述されている。
図4に属性ファイル600のデータ内容の一例を示す。この例では、属性ファイル600はXML(eXtensible Markup Language)で記述されている。タグ<RESOURCES>が表す要素内に、個々のリソースの属性を示すリソース要素<RESOURCE>が列挙される。個々のリソース要素のタグ<RESOURCE>内に、当該リソースの属性項目が列挙される。例えば、リソース要素602は、図2の可変データ(ファイル名"submission.dbf")の属性項目群を表している。属性項目'Type'は当該リソースの種別を示すものであり、その値"sub"は「可変データ」という種別を表す。また例えばリソース要素604は、"trail1V.jpg"というファイル名を持つリソースの種別が「画像」であることを示している。
このシステムでは、クライアントコンピュータ300が、上述のような可変印刷に必要なリソース一式をひとまとめにしたファイル(「ジョブファイル」と呼ぶ)を生成し、プリントサーバ100に送信する。
すなわち、図1の説明に戻ると、クライアントコンピュータ300のリソース管理部310には、可変データ、レイアウトプログラム、フォームデータ、画像データ、表やグラフのデータ、属性ファイルなどのリソースが保存されている。リソース管理部310は、リソース群を記憶するハードディスク等の記憶媒体と、リソース群の保存・読み出し等を管理する管理プログラムとを含んでいる。ユーザは、クライアントコンピュータ300上で動作するプリンタドライバ320又はアプリケーションプログラムを用いて可変印刷の実行を指示し、その可変印刷で用いるリソース一式を指定する。すると、圧縮部322がそれらリソース一式を圧縮して1つのジョブファイルを生成する。生成されたジョブファイルは、OS(オペレーティングシステム)が備える通信プロトコルスタックとネットワークインタフェースカード等のハードウエアを含んだ通信部330により、LAN(ローカルエリアネットワーク)等のネットワークを介してプリントサーバ100に送信される。送信されるジョブファイルの中には、当該ジョブファイル自身の識別情報が含まれる。
このジョブファイルは、プリントサーバ100の通信部110により受信され、解凍部120により圧縮状態から展開される。これにより元のリソース一式が得られ、これらリソース一式はPDL処理部130に渡される。PDL処理部130は、それらリソース一式を用いて可変印刷のための描画処理を実行する。すなわち、リソース一式の中に含まれる可変データ中のレコードごとに、レイアウトプログラムを実行することで、各レコードに対応する印刷画像を生成する。この実行の際、レコードの中で指定された他のリソース(画像や表など)がリソース管理部150から読み出され、印刷画像に組み込まれる。
PDL処理部130の機能は、レイアウトプログラムを解釈する解釈部132と、その解釈部132の解釈結果(例えばディスプレイリスト等の中間データ)を処理してラスター画像を描画する描画部136とに分けることができる。解釈部132及び描画部136は、リソース管理部150に保存されたリソースを利用する。
監視部134は、解釈部132による各レコードに対するレイアウトプログラムの実行状況を監視することで、各リソースの使用状況を求める。そして、その使用状況から、ジョブファイル中の各リソースが守秘対象であるか否か、すなわち個別性の高いものであるか否か、を判定する。具体的な判定のための処理手順は、後で説明する。
描画部136が生成した各レコードに対応する出力画像は、出力部140により、ネットワーク又は通信ケーブルを介して印刷装置200に送られ、印刷される。
リソース管理部150は、クライアントコンピュータ300から受け取ったジョブファイル中のリソース群の保存のための管理を行う。リソース管理部150は、格納制御部152,通知部154,及び再構成部156を備える。格納制御部152は、ジョブファイル中のリソース群のうち、守秘対象と判定されたものを保存対象から削除する制御を行う。通知部154は、保存対象から削除したリソースを示す情報(又は保存したリソースを示す情報)をクライアントコンピュータ300に通知する。この例では、属性ファイル600の中にそのような情報を組み込んでクライアントコンピュータ300に送る。再構成部156は、保存したジョブファイル(ただし守秘対象のリソースは削除されている)に対応する再印刷のジョブファイル(守秘対象のリソース群が含まれる)がクライアントコンピュータ300から到来した場合に、前者と後者のジョブファイルのリソース群から元のジョブファイルを再構成する。再印刷は、再構成されたジョブファイルに基づき実行される。
次に、新たなジョブファイルの処理を指示されたときの解釈部132の処理手順の一例を、図5を参照して説明する。まず、この処理では、解釈部132は、処理対象のレコードの番号を示す制御変数iを1に初期化する(S1)。次に解釈部132は、そのジョブファイル中の可変データからi番目のレコードを取得し(S2)、そのレコードに対してジョブファイル中のレイアウトプログラムを実行する(S3)。例えば、図2の可変データ例の行406に示されるレコードに対して、図3に例示したレイアウトプログラムを適用した場合、当該レコードのID、「鈴木太郎」と言う文字列、"trail1V.jpg"の画像、"secure1.jpg"の画像、が順に並んだ出力画像が生成される。このステップS3の処理の中で、監視部134が例えば図6に例示するような処理を行い、リソースの使用状況を監視する(図6の手順については後で詳述)。ステップS3が終了すると、現在のレコードが可変データ中の最後のレコードであるか否かを判定し(S4)、最後のものでなければ変数iを1だけ増加させ(S5)、ステップS2〜S4の処理を繰り返す。可変データの最後のレコードまで処理が完了すると、解釈部132は、リソース管理部150に対し、保存リソースの機密化処理の実行を依頼する(S6)。この機密化処理については、後で説明する。
次に、図6を参照して、監視部134によるリソース使用状況の記録処理の手順の一例を説明する。この手順では、図7に例示する管理情報リストを用いる。このリストには、リソースごとに、その識別情報(リソースID)と、機密フラグの値とが含まれる。リソースIDとしては、レコード中に記述されたリソースの文字列(例えば顧客の氏名の文字列やリソースのファイル名)を用いればよい。機密フラグは、当該リソースが守秘対象であるか否かを示すフラグである。この例では機密フラグの値「1」は守秘対象であることを示し、「0」は守秘対象でないことを示す。
監視部134は、ステップS3でのレイアウトプログラムの実行において、対象のレコードについての画像生成の際にリソースが用いられるごとに、図6の手順を実行する。この手順では、監視部134は、管理情報リストの中に読み出された現在のリソースと同じリソースがあるか否かを調べる(S11)。同じリソースがなければ、監視部134は、現在のリソースについてのエントリをそのリストに登録する(S12)。このとき、当該リソースについての機密フラグの値は初期値「1」に設定される。一方、現在のリソースと同じリソースが管理情報リスト上に存在する場合は、そのリスト上の当該リソースの機密フラグの値を「0」に変更する(S13)。機密フラグの値が既に「0」である場合は、その値のままとする。ステップS12又はS13により、現在のリソースについての処理は終了する。
1レコードについての画像生成において複数のリソースが用いられる場合は、個々のリソースについて図6の手順が実行される。例えば、図2の可変データの例で、画像ファイルのリソースのみを監視対象とする場合、1レコード中には"C#IMG"及び"C#IMG2"の2つの画像リソースが存在するので、それら2つのリソースについて図6の手順が実行される。
図7の上段のリスト(a)は、図2の例における最初のレコード(行406)の処理が終了した時点での管理情報リストである。そのレコード中の"trail1V.jpg"及び"secure1.jpg"は、当該ジョブにおいて初出なので、機密フラグは共に「1」に設定される。下段のリスト(b)は、2つ目のレコードの処理が終了した時点のものである。2つ目のレコードの処理では、リソース"trail1V.jpg"が用いられるが、これは既に管理情報リストに登録されているので、監視部134はリスト上の"trail1V.jpg"の機密フラグを「0」に変更する。一方、リソース"secure2.jpg"は初出なので、機密フラグを「1」として新たにリストに登録される。
以上に説明した図6の手順では、可変データ中の全レコードについての出力画像の生成が終わった段階で、1回しか使われていないリソースの機密フラグは「1」となり、2回以上使われているリソースの機密フラグは「0」となる。したがって、全レコードの処理の中で1回しか使われなかったリソースのみが守秘対象と判定されることになる。
なお、図6に例示した手順はあくまで一例であり、同様の処理が実現される手順であればどのような手順を用いてもよい。
なお、図6の手順は、レコードの処理の際に用いられるすべてのリソースについて行ってもよいが、この手順の実行対象となるリソースをユーザ側が絞り込めるようにしてもよい。実際の可変データは図2に例示したものよりもフィールド数が遙かに多いことが一般的であり、すべてのフィールドに示されたリソースについて上述のような処理を行っていたのでは、画像処理装置の処理負荷が大きくなりすぎる可能性がある。一方、守秘対象となる可能性があるフィールドは、ユーザ側にはある程度目星がついていることが多いので、監視対象をそのようなフィールドのみに絞るのである。図3に例示したレイアウトプログラムでは、行506の中のコマンド"SEC1"が、そのような監視対象を指定するものとなっている。すなわち、このコマンドにより監視部134が呼び出され、直前に読み込まれたリソースを対象として監視部134が図6のような処理を実行する。
次に、図8を参照して、ステップS6で呼び出されたリソース管理部150の処理手順の一例を説明する。この手順では、まずリソース管理部150内の格納制御部152が、監視部134の作成した管理情報リストの中から機密フラグが「1」となっているリソースを特定する。そして、それまで処理していたジョブファイルのリソース群の中から、それら特定したリソースを削除し、残ったリソース群を当該ジョブファイルの保存データとして保存する。例えば、図2に例示した可変データを含むジョブの場合、リソース管理部150に保存されるデータの中には、"secure1.jpg"や"secure2.jpg"等の画像ファイルは含まれない。保存データ内に残るのは、"trail1V.jpg"等の複数レコードで共用される画像ファイル、当該可変データのファイル、レイアウトプログラム、属性ファイル等である。
ここで、格納制御部152は、クライアントコンピュータ300から受信したジョブファイル中の属性ファイルの書き換えを行う(S22)。例えば受信した属性ファイルが図4に例示したようなものであったとすると、ステップS22では、図9に示すように、各リソースの属性を示す<RESOUCE>要素の中に、"Secure"属性を追加する。すなわち、守秘対象のリソース(プリントサーバ100内に保存されないリソース)の<RESOUCE>要素には"Secure"属性「1」を追加し、守秘対象でないリソース(プリントサーバ100内に保存されるリソース)の<RESOUCE>要素には"Secure"属性「0」を追加する。例えば、図9の属性ファイル610では、要素612の"Secure"属性値は「0」であり、これは可変データ"submission01.dbf"がプリントサーバ100内に保存されていることを示す。一方、要素614の"Secure"属性値は「1」であり、これは画像ファイル"secure1.jpg"がプリントサーバ100内に保存されていないことを示す。通知部154は、上述のように更新された属性ファイルを、通信部110を介してクライアントコンピュータ300に返す(S23)。
なお、クライアントコンピュータ300に送られる属性ファイルには、元のジョブファイルを特定する識別情報が対応付けられている。このため、クライアントコンピュータ300はプリントサーバ100から受け取った属性ファイルがどのジョブファイルに対応するものかを判定できる。
更新後の属性ファイルを受け取ったクライアントコンピュータ300のリソース管理部310は、その属性ファイルを再印刷ジョブの候補として記憶し、それら候補のリストを画面表示してユーザから再印刷の指示を受け付ける。ユーザが再印刷するジョブを選択すると、リソース管理部310は、そのジョブの属性ファイルの中で"Secure"属性値が「1」であるリソースを特定する。プリンタドライバ320は、特定されたリソース群を1つにまとめて再印刷のジョブファイルを生成し、プリントサーバ100に送信する。この再印刷のジョブファイルには、元のジョブファイルの識別情報が対応づけられている。
プリントサーバ100は、受信した再印刷のジョブファイルを解凍部120で解凍すると共に、そのジョブファイルに対応づけられた識別情報から、リソース管理部150内にある当該ジョブの保存データを特定する。リソース管理部150の再構成部156は、解凍結果のリソース群と、保存データとを組み合わせることで、元のジョブファイルに含まれていたリソース群を再生する。PDL処理部130は、これらリソース群を処理することで、可変データ印刷を実行する。
以上の例では、ジョブの中で1回しか使われないリソースを、個別性の高いものと判定したが、これは一例に過ぎない。変形例として、1レコード中でしか使われないリソースを個別性の高いものと判定してもよい。この変形例のためには、監視部134は、図10に例示するような管理情報リストを用いればよい。このリストは、図7に例示した上述の例のリストに対し、各リソースが検出されたレコードの識別情報(レコードID)のフィールドを追加したものである。この変形例における監視部134の処理手順を図11に示す。図11において、図6に示したステップと同内容の処理を行うステップには同一符号を付して説明を省略する。
この手順では、ステップS11で管理情報リストに現在のリソースがないと判定された場合、現在のリソースのリソースID、そのリソースを用いている現在のレコード(すなわちこの処理が呼ばれた時点で解釈されているレコードのID)のレコードIDをそのリストに記録する(S12)。ここで、機密ラベルは初期値「1」に設定する。そして、ステップS11で管理情報リストに現在のリソースの情報がある場合、その情報の中のレコードIDと、現在解釈中のレコードのレコードIDとが同じか否かを判定する(S14)。ステップS14の判定結果が否定(No)である場合、現在のリソースは、同じリソースを最初に使ったレコードとは異なるレコードで使われているということである。この場合、管理情報リスト上の当該リソースの機密フラグの値を「0」にする(S13)。「同じ」と判定された場合は、現在のリソースは、同じリソースを最初に使ったレコードの中で使われているということなので、ステップS13をスキップして処理を終了する。
なお、監視部134が生成した管理情報リストを用いる格納制御部152の処理手順は、上述の例(図8参照)と同様でよい。
以上では、1レコード中でしか使われないリソースを個別性の高いものと判定する変形例を示したが、1つの主体についてしか使われないリソースを個別性の高いものと判定してもよい。この場合は、管理情報リストの中に、レコードIDの代わりに、主体のIDを記録する。主体IDは、レコードの主体の識別情報である。主体IDの一例としては、例えば、顧客名や顧客番号などがある。同一の主体について複数のレコードがある場合も、それらレコード中の主体IDは同じである。監視部134の処理は、主体IDを用いる点以外は、上述の変形例と同様でよい。
次に、第2の変形例を説明する。上述の例では、守秘対象と判定されたリソースを単にプリントサーバ100上の保存データから削除したのに対し、この第2変形例ではそのようなリソースをダミーデータに置き換える。
例えば印刷レイアウトの確認や調整のために、プリントサーバ100側で保存データを用いてサンプル印刷をしたい場合がある。ところが、守秘対象のリソースを保存データから単に削除した場合、サンプル印刷の際に、必要なリソースが見つからないためエラーとなって印刷ができなくなる場合がある。また、リソースがなくても印刷が実行できる場合は、印刷結果では削除されたリソースの部分が空白となる。この場合、その部分が元から空白なのか、それとも守秘対象のリソースに対応しているから空白なのかがわからない。このようなことから、この第2の変形例では、守秘対象のリソースをダミーデータに置き換えるのである。
この第2の変形例における格納制御部152及び通知部154の処理手順を、図12に示す。図12において、図8に示したステップと同様の処理を行うステップには同一符号を付して説明を省略する。この手順では、可変データ中の守秘対象のリソースを指し示す記述を、所定のダミーデータを指し示す記述に書き換える(S24)。ステップS21(守秘対象リソースの削除)とステップS24との実行順序は図示例に限らない。
例えば、図13に例示するように、レイアウトプログラム510の中の行512及び514で、フィールド"C#NAME"(顧客名)と"C#IMG2"(画像)とがコマンド"SEC2"により監視対象に指定されたとする。この場合、フィールド"CC#NAME"と"CC#IMG2"のなかで、1主体でしか使われないリソースが守秘対象に判定され、ダミーデータに置き換えられる。
書き換えられた可変データ410の例を図14に示す。この例では、各レコード中のフィールド"C#NAME"の値のうち守秘対象と判定されたものは、文字列「ダミー」に置き換えられる。また、フィールド"C#IMG2"の値のうち守秘対象と判定されたものは、文字列"dummy.jpg"に置き換えられている。この例では、他のリソースを指し示しているのではない単なる文字列(顧客名など)は「ダミー」という文字列に置き換えられ、画像ファイルを指し示しているファイル目の文字列はダミー画像のファイルの識別情報"dummy.jpg"に置き換えられる。なお、ダミー画像としてはどのような画像を用いてもよく、そのダミー画像のファイルはあらかじめリソース管理部150に登録しておけばよい。ここでは画像ファイルをダミー画像に置換する場合を例示したが、表やグラフなどの他の種類のリソースファイルについても同様にダミーファイルに置き換えることもできる。
再び図12の説明に戻ると、格納制御部152は、当該ジョブの属性ファイルを更新する(S22a)。この更新は、図8の手順のステップS22と同様であるが、"Secure"属性値として「2」、「3」という図8の手順では用いていなかった値が増える。"Secure"属性値「2」はリソースの内容に変更が加えられたことを示す値であり、「3」はプリントサーバ100が新たに追加したリソースであることを示す値である。ステップS22aにて更新された後の属性ファイル620の内容の例を図15に示す。この例では、可変データがステップS24で書き換えられているので、可変データの属性群を表す要素622には"Secure"属性値「2」を表す記述が追加されている。また、ダミー画像"dummy.jpg" を新たに用いることとなったので、そのダミー画像を示す要素624が新たに属性ファイル620に追加されている。ダミー画像はプリントサーバ100側で追加されたリソースなので、"Secure"属性値は「3」となっている。このようにして作成されたファイルは、通知部154によりクライアントコンピュータ300に送られる(S23)。
このような処理の後、クライアントコンピュータ300から当該ジョブに対する再印刷の指示が来るまでの間、プリントサーバ100は、保存データを用いてサンプル印刷を行うことができる。守秘対象の文字列や画像等のリソースは、可変データ(図14参照)中でダミーのリソースに置き換えられているので、サンプル印刷ではそれらダミーのリソースが印刷されることになる。ダミーのリソースは、文字列や画像等の内容は元の守秘対象のリソースとは異なるが、元のリソースが配置されるべき位置に配置されるので、ユーザはサンプル印刷の結果からレイアウトを把握することができる。
さて、プリントサーバ100から更新された属性ファイル620を受け取ったクライアントコンピュータ300は、当該属性ファイル620に対応するジョブの再実行がユーザから指示された場合、属性ファイル620中の"Secure"属性値が「1」又は「2」のリソース群を1つのファイルへと圧縮することで再印刷のジョブファイルを生成する。可変データの"Secure"属性値は「2」なので、再印刷のジョブファイルには可変データも含まれる。このときジョブファイルに組み込まれる可変データは、プリントサーバ100内に保存されているダミー置換が行われた可変データではなく、そのような置換が行われる前の元の可変データである。プリントサーバ100は、再印刷のジョブファイルを受け取って、これを対応する保存データと組み合わせることで、元のジョブファイルを復元することができる。この復元の際、ダミー置換が行われた可変データは破棄され、再印刷ジョブ中の可変データが採用される。
なお、第2変形例において用いるダミー画像の画像サイズは、一般に、元の守秘対象リソースの画像サイズと同じではない。したがって、サンプル印刷でダミー画像を印刷した場合、そのダミー画像の起点位置は元の守秘対象リソースの画像と同じ位置であるが、サイズは異なっていることとなる。印刷されるダミー画像を起点位置のみならずサイズまで元の画像に合わせれば、レイアウトがより把握しやすくなる。
このためには、例えば、監視部134が、各画像リソースが利用される際にその画像サイズを求め、管理情報リストに記録しておけばよい。画像リソースの画像サイズは、解釈部132がその画像リソースを用いる際に求めることができる。そして、図12の手順のステップS24で可変データを保存用に書き換える際に、例えば格納制御部152が、守秘対象の画像リソースと所定のダミー画像とのサイズ比較により、ダミー画像を守秘対象画像と同じサイズにするための縮尺を求め、これを可変データに追加すればよい。
縮尺情報が追加された可変データの例を図16に示す。この例の可変データ422は、"C#IMG2"フィールドのリソースについての縮尺を示すために"C#SCL"フィールド422が追加されている。図示例は、ダミー画像"dummy.jpg"を1.2倍に拡大すれば、元の守秘画像と同じサイズになることを示している。以上は縦横の縮尺が同一の例であったが、縦横の縮尺(倍率)を別々に求めて記録できるようにしてもよい。
縮尺情報を利用したダミー画像の拡大・縮小は、例えば、レイアウトプログラムの書き換えにより実現してもよい。図17に、書き換えられたレイアウトプログラム520の一例を示す。この例は、図16の可変データに対応したものであり、"C#IMG2"に示された画像リソース(即ちダミー画像)を取得して描画する際に、"C#SCL"フィールド中の値を読み出す(記述522参照)。コマンド"ICALL"は、その値を縮尺値と解釈し、そのダミー画像を拡大また縮小して描画する。
以上に説明した実施形態又は変形例のシステムによれば、ジョブの実行終了後に守秘対象のリソースがプリントサーバ100に残らないので、機密保持の観点から好ましい。また、守秘対象以外のリソースはプリントサーバ100内に保存されているので、再印刷の際にすべてのリソースを再度取得する必要が無く、処理速度又はネットワーク負荷などの点でも好ましい。また、プリントサーバ100は、保存したリソース又は削除したリソースを明示した属性ファイルをクライアントコンピュータ300側に送る。これにより、クライアントコンピュータ300は、再印刷を指示する際、その属性ファイルを参照してプリントサーバ100にないリソースのみを選んで送るので、再印刷時のネットワークやプリントサーバ100の通信負荷を低減することができる。
上述の例では、ジョブで用いられるリソース群が、印刷要求元のクライアントコンピュータ300からプリントサーバ100に送られる例を示したが、これは一例に過ぎない。この代わりに、例えばネットワーク上にリソースのデータベースを設け、プリントサーバ100がそのデータベースから各リソースの実体データをダウンロードして利用してもよい。この場合も、守秘対象のリソースをプリントサーバ100に残さないことで、情報セキュリティの向上が図れる。なお、この場合、再印刷に際しては、プリントサーバ100が、削除した守秘対象のレコードをデータベースからダウンロードすればよい。
以上に例示したプリントサーバ100又はクライアントコンピュータ300は、例えば、汎用のコンピュータに上述の各機能モジュールの処理を表すプログラムを実行させることにより実現される。ここで、コンピュータは、例えば、ハードウエアとして、図18に示すように、CPU1000等のマイクロプロセッサ、ランダムアクセスメモリ(RAM)1002およびリードオンリメモリ(ROM)1004等のメモリ(一次記憶)、HDD(ハードディスクドライブ)1006を制御するHDDコントローラ1008、各種I/O(入出力)インタフェース1010、ローカルエリアネットワークなどのネットワークとの接続のための制御を行うネットワークインタフェース1012等が、たとえばバス1014を介して接続された回路構成を有する。また、そのバス1014に対し、例えばI/Oインタフェース1010経由で、CDやDVDなどの可搬型ディスク記録媒体に対する読み取り及び/又は書き込みのためのディスクドライブ1016、フラッシュメモリなどの各種規格の可搬型の不揮発性記録媒体に対する読み取り及び/又は書き込みのためのメモリリーダ・ライタ1018、などが接続されてもよい。上に例示した各機能モジュールの処理内容が記述されたプログラムがCDやDVD等の記録媒体を経由して、又はネットワーク等の通信手段経由で、ハードディスクドライブ等の固定記憶装置に保存され、コンピュータにインストールされる。固定記憶装置に記憶されたプログラムがRAM1002に読み出されCPU1000等のマイクロプロセッサにより実行されることにより、上に例示した機能モジュール群が実現される。なお、それら機能モジュール群のうちの一部又は全部を、専用LSI(Large Scale Integration)、ASIC(Application Specific Integrated Circuit、特定用途向け集積回路)又はFPGA(Field Programmable Gate Array)等のハードウエア回路として構成してもよい。
100 プリントサーバ、110 通信部、120 解凍部、130 PDL処理部、132 解釈部、134 監視部、136 描画部、140 出力部、150 リソース管理部、152 格納制御部、154 通知部、156 再構成部、200 印刷装置、300 クライアントコンピュータ、310 リソース管理部、320 プリンタドライバ、322 圧縮部、330 通信部。