以下、本発明の画像処理装置における実施の形態を図に基づいて説明する。図1は、第1実施形態を説明するブロック図である。すなわち、第1実施形態における画像処理装置は、決定部21、結合部22、記憶部23を備えている。ここで、入力端Aには命令列であるプリント記述言語(以下、「PDL」と言う。)のうち第1の命令列(PDL1)が入力される。また、記憶部23には第2の命令列(PDL2)が記憶される。
決定部21は、入力端Aに入力されるPDL1を解析して、このPDL1と記憶部23に記憶されるPDL2とを結合すべき箇所を決定し、結合部22に通知する。
結合部22は、決定部21から通知された結合すべき箇所において,記憶部23に記憶されているPDL2を読み出し、入力されたPDL1の所定箇所に読み出したPDL2を結合し、その結果生成されるPDL3を出力端Bに出力する。
このような本実施形態では、PDL1で示される画像にPDL2で示される画像を合わせた画像の形成をPDLの段階で処理できるようになる。例えば、所定の文書をプリントアウトするにあたり、この文書の画像に図14に示す機密文書を表す画像を上書きしたり、自社のロゴを入れたり、デジタル符号(例えば、バーコード情報)やウォーターマーク、地模様を入れる処理を、PDLの段階で施すことができるようになる。
ここで、図2(A)に示すPDLをPDL1、図2(B)に示すPDLをPDL2として本実施形態の動作を説明する。なお、各PDLのコマンドの意味および引数の内容については以下の表1、表2を参照するものとする。また、この表1および表2に示すコマンドは一例であり、コマンド名、意味、引数のいずれもこれに限定されるものではない。さらに、各コマンドは2つ以上のコマンドで構成してもよいし、あるいは2つ以上のコマンドを1つのコマンドと引数で表現してもよい。また、引数の数値形式も整数のみではなく、浮動小数点実数、固定小数点実数等の他の数値形式であってもよい。
先ず、PDL2に記述されるDrawImageコマンドについて説明する。図2(B)の※印で示したコマンドの引数は、例えば図3に示すようなラスター画像を表現するデータであり、図2(B)の例では、描画すべきラスター画像は主走査方向・副走査方向の各解像度が600dpi、主走査方向・副走査方向の画素数がそれぞれ4960画素・7000画素、1bit/pixelのグレー画像(つまり白黒画像)となる。
図3(A)は、PDL2によって描画される画像全体を示す図であり、当該画像はプリントアウト時には目立たない地模様としてプリントされ、このプリントアウトを複写機で複写すると、図3(B)に示すように「COPY」という文字が浮かび上がる画像である。
図3(C)は、図3(A)中の矩形部分を拡大した画像であり、白色矩形・黒色矩形はそれぞれ白色画素・黒色画素を表わしている。図3(D)は、白色画素を‘0’、黒色画素を‘1’として図3(C)を2進数表現したものである。
DrawImageコマンドの引数は、このようにして画像を2進数表現に変換したデータ列である。もちろん、描画すべき画像が2bit/pixel以上の画像である場合には1画素あたりのビット数毎に同様の形式で各画素を表現すればよく、また色空間が2つ以上の色成分から構成される場合には各画素の色成分を順に並べて同様の形式で表現するか、あるいはライン毎、画像全体で1つの色成分について同様の形式で表現し、その直後に他の色成分を続けて同様の形式で表現すればよい。
上記に基づいてPDL1を見てみると、Resolutionコマンドで解像度を主走査・副走査両方向ともに600dpi、PapaerSizeコマンドで用紙サイズをA4SEF、SetPointコマンドで描画開始位置を座標(2000,3500)に指定し、FontSizeコマンドでフォントのサイズを24、FontFaceコマンドでフォントの種類をゴシック、FontColorコマンドでフォントの色を黒色に指定してDrawTextコマンドで「テスト」という文字列を描画している。
なお、SetPointコマンドの引数は、用紙左上を原点とする主走査・副走査両方向の座標値であり、用紙サイズおよび解像度により指定できる範囲が定められる。用紙サイズがA4SEFの場合、主走査・副走査各方向の座標値が取りうる範囲はそれぞれ‘0’〜‘4960’、‘0’〜‘7015’である。従って、座標(2000,3500)は用紙中央からやや左寄りの位置になる。
また、PDL1では、ジョブの開始を示すStartJobとジョブの終了を示すEndJobとは1つのプリントジョブには1組しか存在せず、ページの開始を示すStartPageとページの終了を示すEndPageとで挟まれたコマンド群の数は当該プリントジョブの物理ページ数、すなわちプリンタでプリントアウトされるページ数を表わし、論理ページの開始を示すStartLogicalPageと論理ページの終了を示すEndLogicalPageとで挟まれたコマンド群の数は当該コマンド群が存在する物理ページ内に印刷される論理ページ数を表わすものとする。
従って、PDL1を解釈して印刷すると、24ポイントの黒色文字列「テスト」が座標位置(2000,3500)を描画開始位置として描画された、1つの論理ページを含む1つの物理ページがプリントアウトされる。図4(A)にPDL1のプリントアウト例を示す。
一方、PDL2はそのままでは不完全であるが、PDL1のStartPageコマンド直後(物理ページ先頭)からEndPageコマンド直前(物理ページ後端)に挿入することによりPDL1の各物理ページにPDL2、すなわち図4(A)に示した画像が挿入される。PDL1は物理ページ数が1であるので、図4(A)に示した画像は1回挿入されることになる。
また、StartLogicalPageコマンド直後(論理ページ先頭)からEndLogicalPageコマンド直前(論理ページ後端)に挿入することにより各論理ページに図3(A)に示した画像が1回挿入されることになる。
PDL1の場合、物理ページ内に論理ページは1つしかないため、どちらの挿入箇所でも物理ページに図3(A)に示した画像を1回挿入することになる。現実には挿入箇所は1箇所に決定する必要があるが、論理ページは物理ページ1ページ中に2ページ以上存在することもあり、この場合オリジナルドキュメント中の2ページ以上が各々同じ倍率で縮小されて1つの用紙面に印刷される。
PDL2をStartLogicalPageコマンド直後からEndLogicalPageコマンド直前に挿入すると、PDL2により描画される画像も同様に縮小されしまうため、好ましくない。従って、本実施形態ではEndPageコマンドの直前を挿入箇所とする。
つまり、決定部21はPDL1からEndPageコマンドを検出して結合部22に通知し、結合部22はEndPageコマンドを一旦不図示のバッファに格納した後、記憶部23からPDL2を読み出して出力端Bに出力し、PDL2の出力が終了した後バッファに格納したEndPageコマンドを出力端Bに出力する。
決定部21からEndPageコマンド検知が通知されていない場合、すなわちPDL1中のEndPageコマンド以外のコマンドについては、入力端Aから入力されたPDLをそのまま出力端Bに出力する。この動作により、PDL2はPDL1のEndPageコマンド直前に挿入され、PDL1はPDL2が挿入される部分以外は何も変化しない。従って、出力端Bからは図5に示すPDLが出力される。
なお、図5中のコマンドの意味・引数については図2(A)および図2(B)に示したものと同様である。図4(B)は図5に示したPDLのプリントアウト例であり、図4(C)は図4(B)を複写した画像である。
ところで、上記実施形態においてはPDL2において挿入すべき画像をDrawImageコマンドを用いてラスター画像として描画しているが、同じ画像を点描画や直線描画等の図形描画コマンドを用いても同様の効果を得ることができる。どちらを選択すべきかは、同じ画像を描画するのに必要なコマンドのデータ量とプリントアウトに要する時間とを勘案して決定すればよい。
また、上記実施形態では、PDL2は1つの画像を描画するPDLであるが、2つ以上の画像を描画するPDLであってもよく、またPDL2は別個の2つ以上のPDLであってもよい。
PDL2が別個の2つ以上のPDLである場合には、挿入箇所も同じである必要はなく、例えばPDL2が2つの別個の画像をおのおの描画するPDLから構成され、一方の画像を描画するPDLを物理ページ先頭に、他方の画像を描画するPDLを物理ページ後端に挿入してもよい。もちろん、同一箇所に両方を挿入してもかまわない。
また、PDL2は別個の2つ以上のPDLであり、挿入時にいずれかを選択するようにしてもよい。このとき、選択基準として入力されたPDLの内容から抽出した情報を用いてもよく、また外部からいずれかを選択するよう予め設定できるようにしてもよい。
本実施形態の画像処理装置は、例えば図6に示すような構成のネットワークシステムにおいて実装することが可能である。つまり、本ネットワークシステムは、クライアントマシン71、72、サーバー73、プリンタ74、ネットワーク75で構成され、クライアントマシン71、72にインストールされたプリントドライバにおいてドキュメントの印刷が指示されると、ドキュメントの内容がプリントドライバでプリンタ74が解釈できるPDLに変換され、サーバー73にネットワーク75を通じてプリントジョブとして伝送される。
サーバー73には、本実施形態に係る画像処理装置がソフトウェアとして搭載されている。サーバー73は、伝送されてきたプリントジョブを本実施形態の画像処理装置により加工して、ネットワーク75を通じてプリンタ74に伝送する。
プリンタ74では、伝送されてきたプリントジョブを解釈してプリントアウトを行う。つまり、本実施形態はサーバー73上で動作するソフトウェアとして実装している。この際、ソフトウェアの格納場所としてROM、RAM、ハードディスク、CD−ROM等の記録媒体を問わない。また、本実施形態をサーバー73に組込むハードウェアとして実装することも可能である。また、本実施形態の画像処理装置は各クライアントマシンあるいはプリンタに実装することも可能である。
このような本実施形態により、PDLの段階で画像を合成することができ、大容量の画像データを用いた合成を行わずにすむ。また、サーバー73に本実施形態の画像処理装置を実装することで、各クライアントマシン73,74のプリントドライバを入れ替えたり、プリンタ74の仕様を変更することなく、既存のソフトウェアやハードウェアを用いて画像付加の機能を追加できるようになる。さらに、オペレータはプリントアウトを行う際に画像の合成を意識しないで自動的に合成された画像のプリントアウトを得ることができる。
次に、第2実施形態を説明する。図7は、第2実施形態に係る画像処理装置を説明するブロック図である。すなわち、この画像処理装置は、決定部21、結合部22および記憶部23を備える点で第1実施形態と同様であるが、判定部24を備える点で相違する。
入力端Aに入力されたPDL1は、判定部24、決定部21および結合部22に入力される。記憶部23には、予めPDL2が記憶されており、このPDL2を結合部22に出力する。
判定部24は、入力されたPDL1を解析して特定情報(特定文書)か否かを判定し、決定部21に決定結果を通知する。決定部21は、判定部24からPDL1が特定文書と判定された場合に、入力されたPDL1を解析して、当該PDL1と記憶部23に記憶されているPDL2とを結合すべき箇所を検出し、結合部22に対して当該箇所を通知する。
結合部22は、決定部21から通知された結合すべき箇所において、記憶部23に記憶されているPDL2を読み出し、入力されたPDL1と読み出したPDL2とを結合し、その結果生成されるプリント記述言語PDL3を出力端Bに出力する。
以下、図8(A)に示すPDLをPDL1、図8(B)および図8(C)に示すPDLをPDL2として本実施形態の動作を説明する。なお、PDL1およびPDL2の各コマンドの意味および引数の内容については、第1実施形態で説明した表1および表2と同様である。
先ず、PDL2のコマンドのうち、DrawImageコマンドについて詳述する。図8(B)および図8(C)中に※印で示したこのコマンドの引数は、例えば図9(A)および図9(E)に示すようなラスター画像を表現するデータであり、図8(B)の例の場合、描画すべきラスター画像は主走査・副走査両方向の解像度が600dpi、主走査・副走査各方向の画素数がそれぞれ4960画素・7000画素、1bit/pixelのグレー画像(つまり白黒画像)、図8(C)の例の場合、描画すべきラスター画像は主走査・副走査両方向の解像度が600dpi、主走査・副走査各方向の画素数がそれぞれ200画素・200画素、24bit/pixelのRGB画像である。
図9(A)はPDL2によって描画される画像全体を示す図であり、当該画像はプリントアウト時には目立たない地模様としてプリントされ、プリントアウトを複写機により複写すると図9(B)に示すように「COPY」という文字が浮かび上がる画像である。図9(C)は、図9(A)中の矩形部分を拡大した画像であり、白色矩形・黒色矩形はそれぞれ白色画素・黒色画素を表わす。図9(D)は、白色画素を‘0’、黒色画素を‘1’として図9(C)を2進数表現したものである。
DrawImageコマンドの引数は、このようにして画像を2進数表現に変換したデータ列である。なお、描画すべき画像が2bit/pixel以上の画像である場合には1画素あたりのビット数毎に同様の形式で各画素を表現すればよく、また色空間が2つ以上の色成分から構成される場合には各画素の色成分を順に並べて同様の形式で表現するか、あるいはライン毎、画像全体で1つの色成分について同様の形式で表現し、その直後に他の色成分を続けて同様の形式で表現すればよい。
次に、PDL1を見てみると、Resolutionコマンドで解像度を主走査・副走査両方向ともに600dpi、PapaerSizeコマンドで用紙サイズをA4SEF、SetPointコマンドで描画開始位置を座標(2000,3500)に指定し、FontSizeコマンドでフォントのサイズを24、FontFaceコマンドでフォントの種類をゴシック、FontColorコマンドでフォントの色を黒色に指定してDrawTextコマンドで「テスト」という文字列を描画している。
なお、SetPointコマンドの引数は、用紙左上を原点とする主走査・副走査両方向の座標値であり、用紙サイズおよび解像度により指定できる範囲が定められる。用紙サイズがA4SEFの場合、主走査・副走査各方向の座標値が取りうる範囲はそれぞれ‘0’〜‘4960’・‘0’〜‘7015’である。従って、座標(2000,3500)は用紙中央からやや左寄りの位置になる。
また、PDL1では、ジョブの開始を示すStartJobとジョブの終了を示すEndJobとは1つのプリントジョブには1組しか存在せず、ページの開始を示すStartPageとページの終了を示すEndJobとで挟まれたコマンド群の数は当該プリントジョブの物理ページ数、すなわちプリンタでプリントアウトされるページ数を表わし、論理ページの開始を示すStartLogicalPageと論理ページの終了を示すEndLogicalPageとで挟まれたコマンド群の数は当該コマンド群が存在する物理ページ内に印刷される論理ページ数を表わすものとする。
したがって、PDL1を解釈して印刷すると、24ポイントの黒色文字列「テスト」が座標位置(2000,3500)を描画開始位置として描画された、1つの論理ページ数を含む1つの物理ページがプリントアウトされる。図10(A)にPDL1のプリントアウト例を示す。
一方、PDL2はそのままでは不完全であるが、PDL1のStartPageコマンド直後(物理ページ先頭)からEndPageコマンド直前(物理ページ後端)に挿入することによりPDL1の各物理ページにPDL2、すなわち図9(A)および図9(E)に示す画像が挿入される。
PDL1は物理ページ数が1であるので、図9(A)および図9(E)に示した画像は1回挿入されることになる。また、StartLogicalPageコマンド直後(論理ページ先頭)からEndLogicalPageコマンド直前(論理ページ後端)に挿入することにより各論理ページに図9(A)および図9(E)に示す画像が1回挿入されることになる。
PDL1の場合、物理ページ内に論理ページは1つしかないため、どちらの挿入箇所でも物理ページに図9(A)および図9(E)に示す画像を1回挿入することになる。
現実には挿入箇所は1箇所に決定する必要があるが、論理ページは物理ページ1ページ中に2ページ以上存在することもあり、この場合オリジナルドキュメント中の2ページ以上が各々同じ倍率で縮小されて1つの用紙面に印刷される。PDL2をStartLogicalPageコマンド直後からEndLogicalPageコマンド直前に挿入すると、PDL2により描画される画像も同様に縮小されしまうため、好ましくない。従って、本実施形態ではEndPageコマンドの直前を挿入箇所とする。
つまり、決定部21は、判定部24においてPDL1が特定文書であると判定された場合に、PDL1からEndPageコマンドを検出して結合部22に通知し、結合部22はEndPageコマンドを一旦不図示のバッファに格納した後、記憶部23からPDL2を読み出して出力端Bに出力し、PDL2の出力が終了した後バッファに格納したEndPageコマンドを出力端Bに出力する。
決定部21からEndPageコマンド検知が通知されていない場合、すなわちPDL1中のEndPageコマンド以外のコマンドについては、入力端Aから入力されたPDLをそのまま出力端Bに出力する。
一方、判定部24は、PDL1からDocumentNameコマンドを検出し、当該コマンドの引数としてPDL1に記述されているクライアントマシンでのドキュメント名からPDL1が特定文書であるか否かを検出する。
ここで、本実施形態では「お客様」という言葉がドキュメント名に含まれる場合にPDL1を特定文書であると判定するとすると、図8(A)に示したPDL1の例は特定文書となり、判定部24から決定部21にPDL1が特定文書である旨を通知する。
したがって、決定部21はPDL1からのEndPageコマンドの検出を結合部22に通知する。この動作により、PDL2はPDL1のEndPageコマンド直前に挿入され、PDL1はPDL2が挿入される部分以外は何も変化しない。そして、出力端Bからは図11に示すPDLが出力される。
なお、図11中のコマンドの意味・引数については図8(A)および図8(B)に示したものと同様である。図10(B)は図11に示したPDLのプリントアウト例であり、図10(C)は図10(B)を複写した場合の画像である。
ところで、上記実施形態においてはPDL2において挿入すべき画像をDrawImageコマンドを用いてラスター画像として描画しているが、同じ画像を点描画や直線描画等の図形描画コマンドを用いても同様の効果を得ることができる。どちらを選択すべきかは、同じ画像を描画するのに必要なコマンドのデータ量とプリントアウトに要する時間とを勘案して決定すればよい。
また、上記実施形態では、PDL2は2つの画像を描画する別個のPDLであるが、1つのPDLであってもよい。また、挿入箇所も同じである必要はなく、例えば一方の画像を描画するPDLを物理ページ先頭に、他方の画像を描画するPDLを物理ページ後端に挿入してもよい。
また、図8(B)および図8(C)に例示したPDLは別個の2つ以上のPDLであり、挿入時にいずれかを選択するようにしてもよい。このとき、選択基準として入力されたPDLの内容から抽出した情報を用いてもよく、また外部からいずれかを選択するよう予め設定できるようにしてもよい。
また、PDL2を挿入するか否かを外部から設定できるようにしてもよい。図12は、設定画面の例を示す図である。この図において、81はコンピュータのディスプレイ上に表示されるウィンドウ、82および83はそれぞれ3つの円枠のうち1つの内側に黒点が表示されるウィンドウ81内のラジオボタンであり、ラジオボタン82は図8(B)、ラジオボタン83は図8(C)のPDLの挿入方法を指定する。
図12においては、例として「画像1」すなわち図8(B)のPDLは特定文書に、「画像2」すなわち図8(C)のPDLは全ての文書に挿入するよう設定されている。この設定は、結合部22が決定部21から挿入箇所の通知を受けた際に参照して挿入動作を行うか否かを決定してもよいし、あるいは決定部21が結合部22に挿入箇所を通知する際に参照して通知するか否かを決定してもよい。
この設定を本実施形態に当てはめると、図8(A)のPDL内のDocumentNameコマンドの引数に特定文書であることを示す「お客様」という言葉が含まれているため、図8(B)および図8(C)のPDLはともに図8(A)に示したPDLに挿入される。
ここで、DocumentNameコマンドの引数に「お客様」という言葉が含まれていなかったとすると、図8(B)のPDLは挿入されず、図8(C)のPDLは挿入される。
また、例えば設定前にパスワード入力を要求して入力されたパスワードが一致した時のみ設定が有効となるようにして当該パスワードは特定の人物のみが知りえるパスワードとして、この設定は管理者等の特定の人物のみが行えるようにしてもよい。
また、例えば図13に示す他の実施態様のように、判定部24での判定結果に応じて課金情報を発生するようにしてもよい。なお、図13において21〜24で示される構成は図7と同じであるため説明は省略し、課金情報発生部25についてのみ説明する。
課金情報発生部25は、判定部24がPDL1が特定文書であると判定した旨を決定部21に通知すると、特定文書のプリントアウトを検知し、通常の課金情報とは別の課金情報を発生する。
例えば、PDL1が特定文書でなく、かつ墨版のみからなるラスター画像データを生成するPDLであった場合に10円、特定文書でなく、かつ墨版以外の色版も含むラスター画像データを生成するPDLであった場合には40円という課金情報に加えて、PDL1が特定文書であった場合には、PDL1によって生成されるラスター画像データが墨版以外の色版を含むか含まないかに関らず、墨以外の色版を使ったものとして50円という課金情報を発生する。
つまり、PDL1が墨版のみからなるラスター画像データを生成するものであっても、特定文書である場合にはPDL2を合成して出力する。このため、PDL2が墨版以外の色版を用いるラスター画像データを生成するものであると、プリントアウトされる画像には墨版以外の色版が使われることになる。したがって、特定文書である場合には、墨版以外の色版を使うものとし、さらに特定文書のプリントアウトとしてそれに対応する課金情報を発生するようにしている。
課金情報発生部25は、発生した課金情報を出力端Cを通じて本実施形態外部に出力する。出力された課金情報は、図示しない課金システムによって利用料金を算出するのに使用される。もちろん、発生する課金情報は上記例に限定されない。
第2実施形態における画像処理装置は、第1実施形態と同様、図6に示すような構成のネットワークシステムにおいて実装することが可能である。つまり、サーバー73に本実施形態がソフトウェアとして搭載されており、クライアントマシン71,72からネットワーク75を介して伝送されてきたプリントジョブを本実施形態により加工し、サーバー73からネットワーク75を通じてプリンタ74へ伝送する。
プリンタ74は、伝送されてきたプリントジョブを解釈してプリントアウトを行う。つまり、本実施形態はサーバー73上で動作するソフトウェアとして実装している。この際、ソフトウェアの格納場所としてROM、RAM、ハードディスク、CD−ROM等の記録媒体を問わない。
また、本実施形態をサーバー73に組込むハードウェアとして実装することも可能である。さらに、本実施形態は各クライアントマシンあるいはプリンタに実装することも可能である。
このような本実施形態の画像処理装置により、PDLの段階で画像を合成することができ、大容量の画像データを用いた合成を行わずにすむ。また、画像形成対象となるPDL1が特定文書であった場合には、そのPDL1に自動的にPDL2を結合し、特定文書であることを示す画像を強制的に上書きできるようになる。このため、特定文書でないものに誤って特定文書であることを示す画像が上書きされたり、反対に特定文書であるのに特定文書であることを示す画像の上書きを忘れたりすることが発生せず、確実に機密漏洩策を講じることが可能となる。
次に、本発明の第3実施形態における画像処理装置を、第1実施形態と同様、図1に示すブロック図に基づき説明する。すなわち、第3実施形態における画像処理装置は、決定部21、結合部22、記憶部23を備えている。
ここで、入力端AにはPDL1が入力される。また、記憶部23にはPDL2が記憶される。決定部21は、入力端Aに入力されるPDL1を解析して、このPDL1と記憶部23に記憶されるPDL2とを結合すべき箇所を決定し、結合部22に通知する。
結合部22は、決定部21から通知された結合すべき箇所において、記憶部23に記憶されているPDL2を読み出し、入力されたPDL1の所定箇所に読み出したPDL2を結合し、その結果生成されるPDL3を出力端Bに出力する。
本実施形態におけるPDL2は、第1実施形態のようなDrawImageコマンド等のラスター画像を表現するデータをもつのではなく、合成すべきラスター画像を指定し、それを重畳する旨のコマンドをもつ。すなわち、出力端Bより出力されるPDL3には、どの画像データを合成するかという情報が合成されているだけで、画線データそのものを表すコマンド列は結合されない。
また、第3実施形態における画像処理装置は、第2実施形態と同様、図7に示すブロック図によっても説明することができる。すなわち、図1のブロック図との相違点である判定部24が、入力されたPDL1を解析して特定情報(特定文書)である否かを判定し、決定部21に決定結果を通知する。
決定部21は、判定部24からPDL1が特定文書と判定された場合に、入力されたPDL1を解析して、当該PDL1と記憶部23に記憶されているPDL2とを結合すべき箇所を検出し、結合部22に対して当該箇所を通知する。
結合部22は、決定部21から通知された結合すべき箇所において、記憶部23に記憶されているPDL2を読み出し、入力されたPDL1と読み出したPDL2とを結合し、その結果生成されるプリント記述言語PDL3を出力端Bに出力する。
この場合も同様に、PDL2は、DrawImageコマンドのようなラスター画像を表現するデータではなく、画像データの重畳を指示する旨のコマンドを含む。すなわち、PDL3は、画像そのものを表すコマンド列が結合されているのではなく、どの画像を合成するのかを示すコマンド列が結合されている。
第3実施形態における画像処理装置は、第1および第2実施形態と同様、図6に示すような構成のネットワークシステムにおいて実装することが可能である。つまり、サーバー73に本実施形態がソフトウェアとして搭載されており、クライアントマシン71,72からネットワーク75を介して伝送されてきたプリントジョブを本実施形態により加工し、サーバー73からネットワーク75を通じてプリンタ74へ伝送する。
プリンタ74は、予め内部のメモリやハードディスク等の記憶媒体に、合成に用いられる画像データを保持しており、プリントジョブがネットワーク75を介して伝送されてくると、当該画像データをプリントジョブに合成したのち、プリントアウトを行う。
以上のように、本実施形態はサーバー73上で動作するソフトウェアとして実装されている。この際、ソフトウェアの格納場所としてROM、RAM、ハードディスク、CD−ROM等の記録媒体を問わない。
また、本実施形態をサーバー73に組み込むハードウェアとして実装することも可能である。さらに、本実施形態は各クライアントマシンあるいはプリンタに実装することも可能である。
このような本実施形態の画像処理装置により、PDLの段階で画像を合成することができ、大容量の画像データを用いた合成を行わずに済む。また、サーバー73では、合成すべき画像データを指定し、当該画像データの合成を指示するコマンドのみを、入力したプリントジョブに付加するため、加工されたPDLをプリンタに伝送する際には、ネットワークの負荷を軽減することができ、高速にプリントアウトを得ることができる。
さらに、サーバーに本実施形態の画像処理装置を実装することで、各クライアントマシン73、74のプリンタドライバを入れ替えたり、プリンタ74の仕様を変更することなく、既存のソフトウェアやハードウェアを用いて画像付加の機能を追加できるようになる。また、オペレータはプリントアウトを行う際に画像の合成を意識しないで自動的に合成されたプリントアウトを得ることができる。
ここで、本実施形態をソフトウェアとしてサーバー73に実装する場合を例に説明を行う。図15は、第3実施形態を説明する構成図である。すなわち、第3実施形態に係るサーバー73は、印刷ジョブ一時保持手段31、印刷ジョブ属性情報取得手段32、文書特定手段33、印刷条件判定手段34から構成される。
印刷ジョブ一時保持手段31は、クライアントコンピュータ71からネットワーク75を介してサーバー73経由でプリンタ74へ印刷ジョブを送る際、印刷ジョブをサーバー73内に一時保持する。
印刷ジョブ属性情報取得手段32は、印刷ジョブ一時保持手段31に一時保持された印刷ジョブから、文書名、ユーザ名、クライアントコンピュータ名、印刷日時、出力プリンタ名、ロケーション情報等の印刷ジョブに付随する属性を取り込む処理を行う。
文書特定手段33は、管理者により予め指定された印刷制限対象文書となる条件を特定する部分であり、印刷ジョブ属性情報取得手段32で取得した属性情報に基づき、印刷対象の文書が予め設定された印刷制限対象文書であるか否かを判断する。
また、印刷条件判定手段34は、文書の印刷条件を満たしているか否かを判断する処理を行う。ここで言う印刷条件とは、例えば、あるグループに属するユーザのみ印刷可能とか、あるプリンタにのみ印刷可能とか、指定クライアントコンピュータからの印刷要求かどうかといった条件である。
図16は、第3実施形態におけるサーバーの動作を説明するフローチャートである。なお、以下の説明で、図16に示されない符号は、図15を参照するものとする。
先ず、クライアントコンピュータ71からネットワーク75を介してサーバー73経由で印刷ジョブを送る(ステップS101)。印刷ジョブは、サーバー73内の印刷ジョブ一時保持手段31に保持される(ステップS102)。
次に、一時保持された印刷ジョブを印刷ジョブ属性情報取得手段32へ送り、印刷ジョブの属性情報を取り出す(ステップS103)。この属性情報としては、文書名、ユーザ名、クライアントコンピュータ名、印刷日時、出力プリンタ名、ロケーション情報等がある。
次いで、この取得した属性情報を文書特定手段33へ送り、属性情報から印刷対象の文書が管理者により予め指定された印刷制限対象文書か否かを判断する(ステップS104)。
ここで、印刷対象の文書が管理者により予め指定された印刷制限対象文書ではない場合(ステップS104でNo)、印刷ジョブをサーバー73からネットワーク75を介してプリンタ74へ送る(ステップS105)。
一方、印刷対象の文書が管理者により予め指定された印刷制限対象文書であった場合(ステップS104でYes)、印刷条件判定手段34により、その文書の印刷条件を満たしているか否かを判断する(ステップS106)。ここで、印刷条件とは、例えば、あるグループに属するユーザのみ印刷可能とか、あるプリンタにのみ印刷可能とか、指定クライアントコンピュータからの印刷要求かどうかといった条件である。
この判断で印刷条件を満たしている場合には(ステップS106でYes)、印刷ジョブをサーバー73からネットワーク75を介してプリンタ74へ送る(ステップS105)。
一方、印刷条件を満たしていない場合には、印刷ジョブ一時保持手段31からその印刷制限対象文書に対応する印刷ジョブを削除し、印刷不可(印刷拒否)という情報をクライアントコンピュータ71に通知する(ステップS107)。
このような処理により、管理者によって予め指定された印刷制限対象の文書で、指定された印刷条件をみたすもののみ印刷可能となり、例えば、文書ID、その他の印刷ジョブ属性で特定した機密文書などの印刷を、個人あるいはグループ単位で制限することが可能となる。
また、管理者による印刷制限対象とする文書の指定方法は、文書名や文書ID、文書の格納フォルダやURL(Uniform Resource Locator)だけでなく、その他の印刷ジョブ属性情報を用いた文書の指定の可能なので、例えば、フルカラー印刷の文書を印刷制限対象として指定することにより、フルカラー印刷枚数の上限値等を個人、あるいはグループ単位で設定することも可能である。
次に、本発明の第4実施形態について説明する。第4実施形態における画像処理装置は、第1実施形態と同様、図6に示すような構成のネットワークシステムにおいて実現することが可能である。つまり、サーバー73に本実施形態がソフトウェアとして搭載されており、クライアントマシン71,72からネットワーク75を介して伝送されてきたプリントジョブを本実施形態により加工し、サーバー73からネットワーク75を通じてプリンタ74へ伝送する。
プリンタ74は、伝送されてきたプリントジョブを解釈してプリントアウトを行う。つまり、本実施形態はサーバー73上で動作するソフトウェアとして実装されている。この際、ソフトウェアの格納場所としてROM、RAM、ハードディスク、CD−ROM等の記録媒体を問わない。
また、本実施形態をサーバー73に組込むハードウェアとして実装することも可能である。さらに、本実施形態は各クライアントマシンあるいはプリンタに実装することも可能である。
ここでは、本実施形態をサーバー73にソフトウェアとして実装する場合を例として説明を行う。図17は、第4実施形態を説明する構成図である。すなわち、第4実施形態に係るサーバー73は、印刷ジョブ一時保持手段31、印刷ジョブ属性情報取得手段32、文書特定手段33、印刷条件判定手段34および印刷履歴保持手段36から構成される。
印刷ジョブ一時保持手段31は、クライアントコンピュータ71からネットワーク75を介してサーバー73経由でプリンタ74へ印刷ジョブを送る際、印刷ジョブをサーバー73内に一時保持する。
印刷ジョブ属性情報取得手段32は印刷文書ロケーション情報取得手段35を備えており、主として、印刷ジョブ一時保持手段31に一時保持された印刷ジョブからロケーション情報(フォルダのパスやイントラネット上のURL名等)を取り込む処理を行う。
文書特定手段33は、管理者により予め印刷制限対象文書の格納場所として登録されている条件を特定する部分であり、印刷文書ロケーション情報取得手段35で取得した印刷対象の文書のフォルダやイントラネット上のURLなるロケーション情報に基づき、印刷対象の文書が予め設定された印刷制限対象文書であるか否かを判断する。
また、印刷条件判定手段34は、文書の印刷条件を満たしているか否かを判断する処理を行う。ここで言う印刷条件とは、例えば、あるグループに属するユーザのみ印刷可能とか、あるプリンタにのみ印刷可能とか、指定クライアントコンピュータからの印刷要求かどうかといった条件である。
印刷履歴保持手段36は、印刷要求のあった印刷ジョブに対応する文書名、ユーザ名、クライアントコンピュータ名、印刷日時、プリンタ名等の印刷ジョブから取得可能な属性情報を印刷履歴として自動的にログファイル等に残す機能を備えている。
図18は、第4実施形態におけるサーバーの動作を説明するフローチャートである。なお、以下の説明で、図18に示されない符号は、図17を参照するものとする。
先ず、クライアントコンピュータ71からネットワーク75を介してサーバー73経由で印刷ジョブを送る(ステップS201)。印刷ジョブは、サーバー73内の印刷ジョブ一時保持手段31に保持される(ステップS202)。
次に、一時保持された印刷ジョブを印刷ジョブ属性情報取得手段32へ送り、印刷ジョブのロケーション情報を取り出す(ステップS203)。このロケーション情報としては、印刷対象文書が格納されていたフォルダのパスやイントラネット上のURL名等の情報である。
次いで、この取得したロケーション情報を文書特定手段33へ送り、ロケーション情報から印刷対象の文書が管理者により予め印刷制限対象文書の格納場所として登録されたフォルダやイントラネット上のURLの文書(印刷制限対象文書)か否かを判断する(ステップS204)。
ここで、印刷対象の文書が印刷制限対象文書ではない場合(ステップS204でNo)、印刷ジョブをサーバー73からネットワーク75を介してプリンタ74へ送る(ステップS205)。
一方、印刷対象の文書が印刷制限対象文書であった場合(ステップS204でYes)、印刷条件判定手段34により、その文書の印刷条件を満たしているか否かを判断する(ステップS206)。ここで、印刷条件とは、例えば、あるグループに属するユーザのみ印刷可能とか、あるプリンタにのみ印刷可能とか、指定クライアントコンピュータからの印刷要求かどうかといった条件である。
この判断で印刷条件を満たしている場合には(ステップS206でYes)、印刷ジョブをサーバー73からネットワーク75を介してプリンタ74へ送る(ステップS205)。
一方、印刷条件を満たしていない場合には、印刷ジョブ一時保持手段31からその印刷制限対象文書に対応する印刷ジョブを削除し、印刷不可(印刷拒否)という情報をクライアントコンピュータ71に通知する(ステップS207)。
このような処理で印刷を行うことにより、管理者によって予め指定されたロケーションにある文書に対して、文書自体のアクセス権や文書属性に関係なく印刷制限をかけることができ、機密文書などの印刷を個人あるいはグループ単位で制限することが可能となる。
例えば、社内イントラネット上などに文書を公開した場合、管理者がそのURLを印刷制限ロケーションとして文書特定手段33に登録しておき、印刷条件としてユーザあるいはグループ単位で印刷権限を追加することにより、イントラネット上に公開された文書に対する読み出し権のあるユーザに対しても印刷を制限することができるようになる。なお、文書特定手段33や印刷条件判定手段34はサーバー73上にある必要はなく、ネットワーク75上のホストコンピュータ上で一括管理するようにしてもよい。
さらに、図17に示す印刷履歴保持手段36において、管理者により予め指定されたロケーションにある文書の印刷要求があった場合は、その文書名、ユーザ名、クライアントコンピュータ名、印刷日時、プリンタ名等の印刷ジョブから取得可能な属性情報を印刷履歴として自動的にログファイル等に残すようにすることで、印刷権限のあるユーザが印刷した場合でも、制限対象となるロケーションにある文書に関してはその印刷履歴が残るため、機密文書などの漏洩の抑止力を得ることが可能となる。
次に、本発明の第5実施形態について説明する。第5実施形態における画像処理装置は、第1実施形態と同様、図6に示すような構成のネットワークシステムにおいて実現することが可能である。つまり、サーバー73に本実施形態がソフトウェアとして搭載されており、クライアントマシン71,72からネットワーク75を介して伝送されてきたプリントジョブを本実施形態により加工し、サーバー73からネットワーク75を通じてプリンタ74へ伝送する。
プリンタ74は、伝送されてきたプリントジョブを解釈してプリントアウトを行う。つまり、本実施形態はサーバー73上で動作するソフトウェアとして実装されている。この際、ソフトウェアの格納場所としてROM、RAM、ハードディスク、CD−ROM等の記録媒体を問わない。
また、本実施形態をサーバー73に組込むハードウェアとして実装することも可能である。さらに、本実施形態は各クライアントマシンあるいはプリンタに実装することも可能である。
ここでは、本実施形態をサーバー73にソフトウェアとして実装する場合を例として説明を行う。図19は、第5実施形態を説明する構成図である。すなわち、第5実施形態に係るサーバー73は、印刷ジョブ一時保持手段31、印刷ジョブ属性情報取得手段32、文書特定手段33、印刷ジョブ加工手段37から構成される。
印刷ジョブ一時保持手段31は、クライアントコンピュータ71からネットワーク75を介してサーバー73経由でプリンタ74へ印刷ジョブを送る際、印刷ジョブをサーバー73内に一時保持する。
印刷ジョブ属性情報取得手段32は、印刷ジョブ一時保持手段31に一時保持された印刷ジョブから、文書名、ユーザ名、クライアントコンピュータ名、印刷日時、出力プリンタ名、ロケーション情報等の印刷ジョブに付随する属性を取り込む処理を行う。
文書特定手段33は、管理者により予め指定された印刷制限対象文書となる条件を特定する部分であり、印刷ジョブ属性情報取得手段32で取得した属性情報に基づき、印刷対象の文書が予め設定された印刷制限対象文書であるか否かを判断する。
また、印刷ジョブ加工手段37は、管理者により予め指定された印刷制限対象文書であれば、その文書の印刷面に印刷ジョブ属性情報を残すよう印刷ジョブを自動編集する処理を行う。例えば、印刷ジョブ属性情報として、ユーザIDや印刷日時等を透かしやウォーターマーク、バーコード等として印刷面に付加した印刷ジョブをオリジナルの印刷ジョブをもとに作成する。
図20は、第5実施形態におけるサーバーの動作を説明するフローチャートである。なお、以下の説明で、図20に示されない符号は、図19を参照するものとする。
先ず、クライアントコンピュータ71からネットワーク75を介してサーバー73経由で印刷ジョブを送る(ステップS301)。印刷ジョブは、サーバー73内の印刷ジョブ一時保持手段31に保持される(ステップS302)。
次に、一時保持された印刷ジョブを印刷ジョブ属性情報取得手段32へ送り、印刷ジョブの属性情報を取り出す(ステップS303)。この属性情報としては、文書名、ユーザ名、クライアントコンピュータ名、印刷日時、出力プリンタ名、ロケーション情報等がある。
次いで、この取得した属性情報を文書特定手段33へ送り、属性情報から印刷対象の文書が管理者により予め指定された印刷制限対象文書か否かを判断する(ステップS304)。
ここで、印刷対象の文書が管理者により予め指定された印刷制限対象文書ではない場合(ステップS304でNo)、印刷ジョブをサーバー73からネットワーク75を介してプリンタ74へ送る(ステップS305)。
一方、印刷対象の文書が管理者により予め指定された印刷制限対象文書であった場合(ステップS304でYes)、印刷ジョブ加工手段37により、その文書の印刷面に印刷ジョブ属性情報を残す用に印刷ジョブを自動編集する(ステップS306)。
例えば、印刷ジョブ属性情報として、ユーザIDや印刷日時等を透かしやウォーターマーク、バーコード等として印刷面に付加した印刷ジョブをオリジナルの印刷ジョブをもとに作成する。このような印刷ジョブの作成は、追加する属性情報に応じたウォーターマークやバーコード等をプリント記述言語でオリジナルの印刷ジョブ(プリント記述言語)に追加(結合)することで実現できる。
次いで、印刷ジョブ一時保持手段31に保持している印刷ジョブ(オリジナル)と、先のステップS306で印刷ジョブ加工手段37によって作成された加工(編集)済みの印刷ジョブとを入れ替える処理を行う(ステップS307)。
そして、この入れ替えられた加工済みの印刷ジョブを印刷ジョブ一時保持手段31からネットワーク75を介してプリンタ74へ送る(ステップS305)。
このような処理により、管理者によって予め印刷制限対象として登録された文書の印刷の際には、印刷ジョブを自動的に加工して、印刷ジョブ属性情報を印刷面上に自動的に付加できるため、例えば、印刷日時やユーザ名等を透かしやウォーターマーク等として出力ドキュメント上に強制的に残すことができ、出力された紙のドキュメントからその文書がいつ、誰が、どのプリンタで印刷したものか等を特定できるようになる。
なお、上記説明した第3、第4実施形態においては、図13に示す他の実施形態、すなわち判定部24での判定結果に応じて課金情報を発生する課金情報発生部25を備える構成であっても適用可能である。
21…決定部、22…結合部、23…記憶部、24…判定部、25…課金情報発生部、31…印刷ジョブ一時保持手段、32…印刷ジョブ属性情報取得手段、33…文書特定手段、34…印刷条件判定手段、35…印刷文書ロケーション情報取得手段、36…印刷履歴保持手段、37…印刷ジョブ加工手段、71、72…クライアントマシン、73…サーバー、74…プリンタ、75…ネットワーク