本発明の実施例について説明する。
図1,2は、本発明の実施例に該当するPC(パーソナルコンピュータ)301に係る機器配置図である。図1のPC301と図2のPC301は同一機器であり、図1はPC301と接続されている複数のスキャナ101に係る機器配置図であり、図2はPC301と接続されている複数のプリンタ201に係る機器配置図である。図1,2のPC301は、図1の各スキャナ101や図2の各プリンタ201のクライアント端末として機能する情報処理装置である。
図1の機器配置図では、スキャナ0,1,2,3L,3M1,3M2,3M3が、PC301に接続されている。図1の機器配置図ではまた、スキャナ3L,3M1,3M2,3M3が、スキャナ3Lとスキャナ3M1,3M2,3M3をそれぞれグループリーダとグループメンバとするグループスキャナ3を構成している。
PC301は、スキャナ0,スキャナ1,スキャナ2,グループスキャナ3との接続を自動検出し、論理スキャナ0,論理スキャナ1,論理スキャナ2,論理スキャナ3を生成する。論理スキャナ0,1,2はそれぞれ、スキャナ0,1,2と1対1で対応するオブジェクトであり、スキャナ0,1,2がサポートしているスキャン条件がそれぞれ、論理スキャナ0,1,2の属性として管理される。論理スキャナ3は、グループスキャナ3に1対1で対応するオブジェクトであり、グループスキャナ3を構成するスキャナ3L,3M1,3M2,3M3がサポートしているスキャン条件が、論理スキャナ3の属性としてまとめて管理される。
PC301は、論理スキャナと固定条件を利用してスキャン条件ベースを作成し、スキャン条件ベースを利用してスキャナ操作用のUI(ユーザインタフェース)を提供する。そのため、スキャナ3L,3M1,3M2,3M3を、ユーザには1台のスキャナとして認識させることになる。これを利用して例えば、互いに近接して設置されたスキャナ同士をユーザには1台のスキャナとして認識させることで、スキャナ操作用のUIの操作性を向上させることができる。なお、論理スキャナ,固定条件,スキャン条件ベースの詳細については後述することにする。
図2の機器配置図では、プリンタ0,1,2,3L,3M1,3M2,3M3が、PC301に接続されている。図2の機器配置図ではまた、プリンタ3L,3M1,3M2,3M3が、プリンタ3Lとプリンタ3M1,3M2,3M3をそれぞれグループリーダとグループメンバとするグループプリンタ3を構成している。
PC301は、プリンタ0,プリンタ1,プリンタ2,グループプリンタ3との接続を自動検出し、論理プリンタ0,論理プリンタ1,論理プリンタ2,論理プリンタ3を生成する。論理プリンタ0,1,2はそれぞれ、プリンタ0,1,2と1対1で対応するオブジェクトであり、プリンタ0,1,2がサポートしているプリント条件がそれぞれ、論理プリンタ0,1,2の属性として管理される。論理プリンタ3は、グループプリンタ3に1対1で対応するオブジェクトであり、グループプリンタ3を構成するプリンタ3L,3M1,3M2,3M3がサポートしているプリント条件が、論理プリンタ3の属性としてまとめて管理される。
PC301は、論理プリンタと固定条件を利用してプリント条件ベースを作成し、プリント条件ベースを利用してプリンタ操作用のUI(ユーザインタフェース)を提供する。そのため、プリンタ3L,3M1,3M2,3M3を、ユーザには1台のプリンタとして認識させることになる。これを利用して例えば、互いに近接して設置されたプリンタ同士をユーザには1台のプリンタとして認識させることで、プリンタ操作用のUIの操作性を向上させることができる。なお、論理プリンタ,固定条件,プリント条件ベースの詳細については後述することにする。
図3は、図1,2のPC301に係るハードウェア構成図である。図1,2のPC301は、CPU311、ROM312、RAM313、HDD(ハードディスクドライブ)314、操作ユニット321、表示ユニット322、通信ユニット323、USB・IF331、SCSI・IF332、セントロニクス・IF333等により構成されている。これらのハードウェア構成要素は、システムバス341に接続されている。
CPU311は、種々の情報処理を実行するハードウェアである。ROM312は、上記の情報処理用のプログラム等が格納されたハードウェアである。RAM313は、上記の情報処理用のメモリである。HDD314は、上記の情報処理用のストレージであり、上記の情報処理用のプログラム等が格納されたハードウェアである。
操作ユニット321は、ユーザがPC301に入力を行うためのハードウェアであり、キーボードやマウス等により構成される。表示ユニット322は、ユーザがPC301から出力を得るためのハードウェアであり、ディスプレイ等により構成される。通信ユニット323は、PC301をイーサネット(登録商標)や電話回線等のネットワークに接続するためのハードウェアであり、NICやMODEM等により構成される。
USB・IF331は、USB規格に準拠したケーブルを接続するためのインタフェースである。SCSI・IF332は、SCSI規格に準拠したケーブルを接続するためのインタフェースである。セントロニクス・IF333は、セントロニクス仕様のケーブルを接続するためのインタフェースである。
図4は、図1,2のPC301に係るソフトウェア構成図である。図1,2のPC301には、アプリケーション401、スキャンシステム411、プリントシステム412、ストレージシステム413等が存在する。
アプリケーション401は例えば、電子文書管理用のアプリケーションである。
スキャンシステム411は、スキャンシステムUI部421、スキャナ検索部422、スキャン条件ベース作成部423、スキャナ選択部424、スキャナドライバ部425、ポートモニタ部426、ネットワーク制御部427、プリント条件作成部431、プリンタ選択要求部432、プリンタ適合部433、プリント要求部434、データ保存要求部435等の機能ブロックを備える。
スキャンシステムUI部421は、スキャナ操作用のUI(ユーザインタフェース)の提供を行う機能ブロックである。スキャナ検索部422は、スキャナ検索要求(ブロードキャスト)を発行して、スキャナ検索(ディスカバリ)を実行する機能ブロックである。スキャナ検索部422は、スキャナ0,1,2等との接続を自動検出して、論理スキャナ0,1,2等を生成する。スキャン条件ベース作成部423は、スキャン条件と当該スキャン条件をサポートしているスキャナとの対応関係に係るデータベースであるスキャン条件ベースを作成する機能ブロックである。スキャン条件ベース作成部423は、論理スキャナデータ領域461に格納された論理スキャナ0,1,2等と、固定条件データ領域462に格納された固定条件0,1,2等とを利用して、スキャン条件ベース463を作成する。スキャナ選択部424は、スキャナ操作用のUIで設定されたスキャン条件をサポートしているスキャナの自動選択を行う機能ブロックである。
スキャナドライバ部425は、スキャナにスキャン処理を実行させるための制御を行う機能ブロックである。ポートモニタ部426は、スキャナが接続されるポートの監視を行う機能ブロックである。ネットワーク制御部427は、ネットワークを介してスキャナとデータ通信を行うための通信制御を行う機能ブロックである。ネットワーク制御部427は、BMLinkSと、UPnP(Universal Plug and Play)と、SOAP(Simple Object Access Protocol)と、HTTP(HyperText Transfer Protocol)と、TCP(Transmission Control Protocol)と、UDP(User Datagram Protocol)と、IP(Internet Protocol)等のネットワークプロトコルをサポートする。
プリント条件作成部431は、スキャナ操作用のUIで設定されたスキャン条件をプリント条件に転用して、プリント条件を作成する機能ブロックである。なお、スキャン条件はスキャン条件データ領域464に格納されて、プリント条件はプリント条件データ領域465に格納される。プリンタ選択要求部432は、スキャナ操作用のUIで設定されたスキャン条件を転用したプリント条件をサポートしているプリンタの自動選択をプリントシステム412に要求する機能ブロックである。プリンタ適合部433については後述することにする。プリント要求部434は、プリンタにプリント処理を実行させることをプリントシステム412に要求する機能ブロックである。データ保存要求部435は、スキャナ,プリンタ,ストレージ装置等のOA機器にデータ保存処理を実行させることをストレージシステム413に要求する機能ブロックである。
プリントシステム412は、プリントシステムUI部441、プリンタ検索部442、プリント条件ベース作成部443、プリンタ選択部444、プリンタドライバ部445、ポートモニタ部446、ネットワーク制御部447等の機能ブロックを備える。
プリントシステムUI部441は、プリンタ操作用のUI(ユーザインタフェース)の提供を行う機能ブロックである。プリンタ検索部442は、プリンタ検索要求(ブロードキャスト)を発行して、プリンタ検索(ディスカバリ)を実行する機能ブロックである。プリンタ検索部442は、プリンタ0,1,2等との接続を自動検出して、論理プリンタ0,1,2等を生成する。プリント条件ベース作成部443は、プリント条件と当該プリント条件をサポートしているプリンタとの対応関係に係るデータベースであるプリント条件ベースを作成する機能ブロックである。プリント条件ベース作成部443は、論理プリンタデータ領域471に格納された論理スキャナ0,1,2等と、固定条件データ領域472に格納された固定条件0,1,2等とを利用して、プリント条件ベース473を作成する。プリンタ選択部444は、プリンタ操作用のUIで設定されたプリント条件,スキャナ操作用のUIで設定されたスキャン条件を転用したプリント条件をサポートしているプリンタの自動選択を行う機能ブロックである。
プリンタドライバ部445は、プリンタにプリント処理を実行させるための制御を行う機能ブロックである。ポートモニタ部446は、プリンタが接続されるポートの監視を行う機能ブロックである。ネットワーク制御部447は、ネットワークを介してプリンタとデータ通信を行うための通信制御を行う機能ブロックである。ネットワーク制御部447は、BMLinkSと、UPnP(Universal Plug and Play)と、SOAP(Simple Object Access Protocol)と、HTTP(HyperText Transfer Protocol)と、TCP(Transmission Control Protocol)と、UDP(User Datagram Protocol)と、IP(Internet Protocol)等のネットワークプロトコルをサポートする。
ストレージシステム413は、ストレージドライバ部451、ポートモニタ部452、ネットワーク制御部453等の機能ブロックを備える。
ストレージドライバ部451は、スキャナ,プリンタ,ストレージ装置等のOA機器にデータ保存処理を実行させるための制御を行う機能ブロックである。ポートモニタ部452は、上記OA機器が接続されるポートの監視を行う機能ブロックである。ネットワーク制御部453は、ネットワークを介して上記OA機器とデータ通信を行うための通信制御を行う機能ブロックである。ネットワーク制御部453は、BMLinkSと、UPnP(Universal Plug and Play)と、SOAP(Simple Object Access Protocol)と、HTTP(HyperText Transfer Protocol)と、TCP(Transmission Control Protocol)と、UDP(User Datagram Protocol)と、IP(Internet Protocol)等のネットワークプロトコルをサポートする。
(画像形成処理)
以上の説明を踏まえて、図1,2の機器群により実行される画像形成処理について説明する。
図5は、図1,2のPC301により実行される情報処理に係るフロー図である。図5中のステップ符号A,B,C等はそれぞれ図4中の符号A,B,C等に対応する。
PC301では、アプリケーション401からスキャンシステムUI部421に、スキャン条件設定UI表示要求(ステップA)がなされると、スキャナ検索部422により、スキャナ検索が実行(ステップB)され、スキャン条件ベース作成部423により、スキャン条件ベースが作成(ステップC)され、スキャンシステムUI部421により、スキャン条件設定UI(図21参照。説明は後述)の画面表示(ステップA1)が行われる。スキャン条件設定UIにて、スキャン条件の設定操作(ステップA2)が入力されることになる。
PC301では、続いて、アプリケーション401からスキャンシステムUI部421に、スキャナ選択UI表示要求(ステップD)がなされると、スキャンシステムUI部421により、スキャナ選択UI(図22参照。説明は後述)の画面表示(ステップD1)が行われる。スキャナ選択UIにて、スキャナの選択操作(ステップD2)が入力されることになる。
このようにして、スキャン条件設定UIでスキャン条件が設定(ステップA,A1,A2)されて、スキャナ選択UIでスキャナが手動選択で選択(ステップD,D1,D2)される。なお、スキャナを自動選択で選択する場合には、ステップD,D1,D2を経由する必要はない。続いて、スキャン処理の開始操作(ステップE)が入力されると、以下の情報処理が実行されることになる。
PC301はまず、スキャン処理を実施するための準備を行う。
PC301では、スキャナを自動選択で選択する旨が設定されている(分岐1)場合、スキャンシステムUI部421により、スキャン条件設定UIで設定されたスキャン条件がスキャン条件データ領域464に格納(ステップF)され、スキャンシステムUI部421からアプリケーション401に、スキャン条件格納通知(ステップG)がなされる。PC301では、これに応じて、アプリケーション401からスキャンシステムUI部421に、スキャン実行要求(ステップH)がなされ、スキャナ選択部424により、スキャン条件データ領域464に格納されたスキャン条件をサポートしているスキャナの自動選択(ステップI)が実行される。PC301は、自動選択で選択されたスキャナにスキャン条件データ領域464に格納されたスキャン条件でスキャン処理を実行させることになる。
ここで、スキャン処理を実行させるスキャナの候補が自動選択で複数選択された(分岐2)場合、すなわち、スキャン条件データ領域464に格納されたスキャン条件をサポートしているスキャナが自動選択で複数選択された(分岐2)場合、スキャンシステムUI部421により、スキャナ選択UI(図22参照。説明は後述)が画面表示(ステップD1)される。スキャナ選択UIにて、スキャナの選択操作(ステップD2)が入力されることになる。複数でない場合(分岐2)は、スキャンシステムUI部421により、スキャナの選択結果(図23参照。説明は後述)が画面表示(ステップD3)される。
PC301では、スキャナを自動選択で選択する旨が設定されてない(分岐1)場合、スキャナ選択UIでスキャナが手動選択で選択されている(分岐3)事、スキャナ選択UIで手動選択で選択されたスキャナがスキャン条件設定UIで設定されたスキャン条件をサポートしている(分岐4)事を条件に、スキャンシステムUI部421により、スキャン条件設定UIで設定されたスキャン条件がスキャン条件データ領域464に格納(ステップF)され、スキャンシステムUI部421からアプリケーション401に、スキャン条件格納通知(ステップG)がなされる。PC301では、これに応じて、アプリケーション401からスキャンシステムUI部421に、スキャン実行要求(ステップH)がなされる。PC301は、手動選択で選択されたスキャナにスキャン条件データ領域464に格納されたスキャン条件でスキャン処理を実行させることになる。
PC301はさらに、スキャン処理に係る画像データのプリント処理を実施するための準備を適宜行う。
PC301では、スキャン処理に係る画像データのプリント処理を実施する旨が設定されている(分岐5)場合、プリント条件作成部431により、スキャン条件データ領域464に格納されたスキャン条件を転用したプリント条件が作成(ステップJ)されプリント条件データ領域465に格納(ステップK)され、プリントシステムUI部421からアプリケーション401に、プリント条件格納通知(ステップL)がなされる。PC301では、これに応じて、アプリケーション401からスキャンシステムUI部421に、プリント実行要求(ステップM)がなされ、プリンタ選択要求部432からプリントシステム412に、プリント条件データ領域465に格納されたプリント条件をサポートしているプリンタの自動選択要求(ステップN)がなされる。プリントシステム412では、スキャンシステム411にて実行されたスキャナの自動選択と同様にして、当該プリント条件をサポートしているプリンタの自動選択が実行される。PC301は、自動選択で選択されたプリンタにプリント条件データ領域465に格納されたプリント条件でプリント処理を実行させることになる。
ここで、プリント処理を実行させるプリンタの候補が自動選択で複数選択された(分岐6)場合、すなわち、プリント条件データ領域465に格納されたプリント条件をサポートしているプリンタが自動選択で複数選択された(分岐6)場合、プリンタ適合部433によるプリンタ適合処理(ステップO)を経由して、スキャンシステムUI部421により、プリンタ選択UI(図24参照。説明は後述)が画面表示(ステップP1)される。プリンタ選択UIにて、プリンタの選択操作(ステップP2)が入力されることになる。複数でない場合(分岐6)は、スキャンシステムUI部421により、プリンタの選択結果(図25参照。説明は後述)が画面表示(ステップP3)される。なお、ステップO,P1,P3の情報処理は、スキャンシステム411側ではなくプリントシステム412側で実行されるようにしてもよい。
PC301は結局、スキャン処理に係る画像データのプリント処理を実施する旨が設定されている(分岐5)場合には、スキャナドライバ425によりスキャナにスキャン処理を実行(ステップα)させると共に、プリント要求部434からプリントシステム412へのプリント要求のもと、プリンタドライバ445によりプリンタにプリント処理を実行(ステップβ)させることになる。すなわち、スキャン処理の開始操作(ステップE)に応じて、画像データを読取原稿から読み取る「スキャン処理」が実行(ステップα)されるだけでなく、当該画像データを印刷用紙に印刷する「プリント処理」が実行(ステップβ)されるのである。スキャン処理に係る画像データのプリント処理を実施する旨が設定されてない(分岐5)場合には、スキャナドライバ425によりスキャナにスキャン処理を実行(ステップα)させるに留まる。
なお、スキャン処理に係る画像データのデータ保存処理を実施する旨の設定に関しても同様である。PC301は、スキャン処理に係る画像データのデータ保存処理を実施する旨が設定されている場合には、スキャナドライバ425によりスキャナにスキャン処理を実行させると共に、データ保存要求部435からストレージシステム413へのデータ保存要求の下、ストレージドライバ451によりOA機器にデータ保存処理を実行させることになる。すなわち、スキャン処理の開始操作に応じて、画像データを読取原稿から読み取る「スキャン処理」が実行されるだけでなく、当該画像データをストレージに保存する「データ保存処理」が実行されるのである。スキャン処理に係る画像データのデータ保存処理を実施する旨が設定されてない場合には、スキャナドライバ425によりスキャナにスキャン処理を実行させるに留まる。
図6は、図5のステップJの詳細を記載したフロー図である。
ステップJにて、プリント条件作成部431は、スキャン条件データ領域464に格納されたスキャン条件の各項目(S101)につき、プリント条件に転用可能か否かを判断(S102)する。プリント条件作成部431は、プリント条件に転用可能と判断されたスキャン条件の各項目につき、当該スキャン条件をプリント条件に転用すべく、当該スキャン条件をプリント条件に変換(S103)する。例えば、スキャナにスキャン処理を実行させる際の読取サイズ,読取向き,読取面,読取解像度等のスキャン条件をプリンタにプリント処理を実行させる際の印刷サイズ,印刷向き,印刷面,印刷解像度等のプリント条件に変換する。
図7は、図5のステップOの詳細を記載したフロー図である。
ステップOにおいて、プリンタ適合部433は、自動選択で選択された複数のプリンタにつき、自動選択又は手動選択で選択されたスキャナと共にスキャン処理とプリント処理を実施するのに適したプリンタを選定する「プリンタ適合処理」を実施する。以下、プリンタ適合処理の詳細について説明する。
プリンタ適合部433は、プリンタ適合処理を実施しない設定(S201)の場合は、自動選択で選択された全プリンタをプリンタ選択UIの画面表示対象として(S211)ステップOを終了する。
プリンタ適合部433は、プリンタ適合処理を実施する設定(S201)の場合にて、自動選択又は手動選択で選択されたスキャナが複合機又は融合機である(S202)場合は、自動選択で選択されたプリンタの内、自動選択又は手動選択で選択されたスキャナと同じモデル,同じ設置位置のプリンタをプリンタ選択UIの画面表示対象として(S212)ステップOを終了する。
プリンタ適合部433は、自動選択又は手動選択で選択されたスキャナが複合機又は融合機でない(S202)場合にて、自動選択又は手動選択で選択されたスキャナと同じフロアにプリンタがない(S203)場合は、自動選択で選択された全プリンタをプリンタ選択UIの画面表示対象として(S211)ステップOを終了する。
プリンタ適合部433は、自動選択又は手動選択で選択されたスキャナと同じフロアにプリンタがある(S203)場合にて、自動選択又は手動選択で選択されたスキャナと同じメーカーのプリンタがない(S204)場合は、自動選択で選択されたプリンタの内、自動選択又は手動選択で選択されたスキャナと同じフロアのプリンタをプリンタ選択UIの画面表示対象として(S213)ステップOを終了する。
プリンタ適合部433は、自動選択又は手動選択で選択されたスキャナと同じメーカーのプリンタがある(S204)場合は、自動選択で選択されたプリンタの内、自動選択又は手動選択で選択されたスキャナと同じメーカー,同じフロアのプリンタをプリンタ選択UIの画面表示対象として(S214)ステップOを終了する。
なお、プリンタ適合処理において、プリンタ選択UIの画面表示対象となるプリンタが1個になった場合には、ステップOに続いてステップP1,P2ではなくステップP3,P4が実行されるようにする。
図8は、図5のステップBの詳細を記載したフロー図である。
ステップBにて、スキャナ検索部422はまず、スキャナ検索(ディスカバリ)を実行すべく、スキャナ検索要求(ブロードキャスト)を発行(S301)する。スキャナ検索部422は、当該スキャナ検索要求に応じて各スキャナから発行されたスキャナ検索応答に基づいて、検索条件を満足するスキャナの存在確認を実行(S302)する。スキャナ検索部422は、検索条件を満足するスキャナ(S302)につき、プロファイル情報を取得(S303)し、論理スキャナを作成(S304)する。
スキャナ検索の検索レベルとしては、スキャナのプロファイル情報とハードウェア条件を要求する「詳細検索レベル」とスキャナのプロファイル情報のみを要求する「簡易検索レベル」が存在する。プロファイル情報は、スキャナの識別情報やネットワークアドレス等の情報であり、ハードウェア条件は、スキャナがハードウェア構成として具備する条件に関する情報である。上記のスキャナ検索要求では、詳細検索レベルでも簡易検索レベルでも、プロファイル情報の問い合わせはなされているがハードウェア条件の問い合わせはなされていない。そのため、検索レベルが詳細検索レベルの場合には、ハードウェア条件の問い合わせがなされることになる。
スキャナ検索部422は、検索レベルが詳細検索レベル(S305)の場合、検索条件を満足するスキャナにつき、ハードウェア条件を要求(S306)する。スキャナ検索部422は、タイムアウトまでにハードウェア条件を取得(S307)すると、当該ハードウェア条件のデータ形式を変換(S308)し、当該ハードウェア条件を論理スキャナに追加(S309)する。
図9は、図5のステップCの詳細を記載したフロー図である。
ステップCにて、スキャン条件ベース作成部423はまず、固定条件データ領域462に固定条件が存在するか否かを判断(S401)する。スキャン条件ベース作成部423は、固定条件データ領域462に固定条件が存在する場合には、当該固定条件のデータ形式を変換(S402)し、当該固定条件をスキャン条件ベース463に追加(S403)する。
スキャン条件ベース作成部423は続いて、論理スキャナデータ領域461に論理スキャナが存在するか否かを判断(S411)する。スキャン条件ベース作成部423は、論理スキャナデータ領域461に論理スキャナが存在しない場合には、スキャナ検索部422にスキャナ検索を実行(S412)させる。
スキャン条件ベース作成部423は続いて、論理スキャナデータ領域461に追加対象となる論理スキャナが存在するか否かを判断(S421)する。スキャン条件ベース作成部423は、論理スキャナデータ領域461に追加対象となる論理スキャナが存在する場合には、当該論理スキャナのデータ形式を変換(S422)し、当該論理スキャナをスキャン条件ベース463に追加(S423)する。
図10は、論理スキャナの登録処理に係るフロー図である。
論理スキャナの登録処理では、論理スキャナがスキャンシステム411に登録される。論理スキャナの登録処理の態様(S501)としては、スキャナ検索により作成された論理スキャナの登録処理(態様1)と、画面入力されたデータから作成された論理スキャナの登録処理(態様2)と、ダウンロードされたデータから作成された論理スキャナの登録処理(態様3)が存在する。態様1では、登録する論理スキャナが、スキャナ検索により作成された論理スキャナから選択(S502)される。態様2では、登録する論理スキャナが、画面入力されたデータから作成(S503)される。態様3では、登録する論理スキャナが、ダウンロードされたデータから作成(S504)される。これら論理スキャナは、保存属性(物理的にスキャナが存在しない場合にも論理的にスキャナを保存しておくこと)をONにして、スキャンシステム411に登録(S505)される。論理プリンタの登録処理についても、論理スキャナの登録処理と同様である。
図11は、固定条件の登録処理に係るフロー図である。
固定条件の登録処理では、固定条件がスキャンシステム411に登録される。固定条件の登録処理の態様(S601)としては、新規の固定条件を論理スキャナから生成して登録する登録処理(態様1)と、新規の固定条件を画面入力されたデータから生成して登録する登録処理(態様2)と、登録済の固定条件を画面入力されたデータにより変更して再登録する登録処理(態様3)が存在する。態様1では、新規な固定条件を生成するための論理スキャナが選択(S602)され、選択された論理スキャナからハードウェア条件が選択(S603)され、新規の固定条件が、選択されたハードウェア条件から生成(S604)される。態様2では、新規の固定条件が、画面入力されたデータから生成(S605)される。態様3では、登録済の固定条件が、画面入力されたデータにより変更(S606)される。これら固定条件は、スキャンシステム411に登録(S607)される。プリント条件に係る固定条件の登録処理についても、スキャン条件に係る固定条件の登録処理と同様である。
図12は、図4のスキャン条件ベース463のデータ構造,図4の論理スキャナデータ領域461に格納された論理スキャナのデータ構造,図4の固定条件データ領域462に格納された固定条件のデータ構造を表す。
スキャン条件ベース(図12A)は、スキャン条件と当該スキャン条件をサポートしている(当該スキャン条件でスキャン処理を実行することができる)スキャナとの対応関係に係るデータベースである。図4のスキャン条件ベース463は、スキャン条件毎に存在するスキャン条件ベースオブジェクト(図12A)の集合体である。図12Aのスキャン条件ベースオブジェクトは、スキャン条件ベースのデータ構造を定義するクラスをインスタンス化したオブジェクトである。
スキャン条件ベースオブジェクトは、図12Aのように、1)読取サイズ,読取向き,読取面,読取解像度,読取方法,エンドーサ等の「条件名」と、2)リスト(設定方法がリストからの選択)か数値(設定方法が数値の入力)の「条件種別」と、3)設定項目毎のサブオブジェクト等により構成される。サブオブジェクトは、図12Aのように、1)A4(読取サイズ)や縦(読取向き)や両面(読取面)や600dpi(読取解像度)やADF(読取方法)やON(エンドーサ)等の「設定項目」と,2)設定項目をサポートしているスキャナのリスト等により構成される。
論理スキャナ(図12B)は、スキャナやグループスキャナと1対1で対応するオブジェクトである。図4の論理スキャナデータ領域461に格納された論理スキャナ0,1,2等はそれぞれ、論理スキャナのデータ構造を定義するクラスをインスタンス化したオブジェクト(図12Bの論理スキャナオブジェクト)である。
論理スキャナオブジェクトは、図12Bのように、1)スキャナ0,スキャナ1,スキャナ2等の「スキャナ名」と、2)モデルA,モデルB,モデルC等の「モデル名」と、3)IPアドレス等の「ネットワークアドレス」と、4)設置フロアと設置ブロック等の「設置位置」と、5)ドライバ0,ドライバ1,ドライバ2等の「ドライバ名」と、6)オンラインかオフラインの「接続状態」と、7)物理的にスキャナが存在しない場合にも論理的にスキャナを保存しておくか否かの「保存属性」と、8)最終更新時刻と、、、n)ハードウェア条件毎のサブオブジェクト等により構成される。サブオブジェクトは、図12Bのように、1)読取サイズ,読取向き,読取面,読取解像度,読取方法,エンドーサ等の「条件名」と、2)リスト(設定方法がリストからの選択)か数値(設定方法が数値の入力)の「条件種別」と、3)サポートしている設定項目のリストと、4)組み合わせることができないハードウェア条件である排他条件のリスト等により構成される。
固定条件(図12C)は、全てのスキャナがサポートしている標準的なスキャン条件である。図4の固定条件データ領域462に格納された固定条件0,1,2等はそれぞれ、固定条件のデータ構造を定義するクラスをインスタンス化したオブジェクト(図12Cの固定条件オブジェクト)である。
固定条件オブジェクトは、図12Cのように、1)読取サイズ,読取向き,読取面,読取解像度,読取方法,エンドーサ等の「条件名」と、2)リスト(設定方法がリストからの選択)か数値(設定方法が数値の入力)かの「条件種別」と、3)設定項目のリスト等により構成される。
図13は、スキャナ選択部424(図4参照)により実行されるスキャナの自動選択に係るデータフロー図である。ただしここでは、スキャナ検索部422(図4参照)により実行されたスキャナ検索が、スキャナのプロファイル情報とハードウェア条件を要求する詳細検索レベル(図8参照)であったものとする。なお、図13の文中にて図5中のステップ符号を適宜使用する。
論理スキャナデータ領域461には、論理スキャナ0,1,2が格納されている。ここで特徴的なのは、n)の「ハードウェア条件毎のサブオブジェクト」が存在している点である。これは、スキャナ検索部422により実行されたスキャナ検索が、スキャナのプロファイル情報とハードウェア条件を要求する詳細検索レベルであったことによる。
固定条件データ領域462には、固定条件0,1,2が格納されている。固定条件0により、読取サイズ「A4」と「A3」と「B4」が固定条件となる。固定条件1により、読取向き「縦」と「横」が固定条件となる。固定条件2により、読取解像度「300dpi」と「600dpi」が固定条件となる。
スキャン条件ベース作成部423は、図13のように、論理スキャナデータ領域461に格納された論理スキャナ0,1,2等と、固定条件データ領域462に格納された固定条件0,1,2等とを利用して、スキャン条件ベース463を作成(ステップC)する。ここで特徴的なのは、n)の「ハードウェア条件毎のサブオブジェクト」がスキャン条件ベース463に反映されている点である。
スキャンシステムUI部421は、スキャン条件ベース463を利用してスキャン条件設定UIの画面表示(ステップA1)を行う。当該スキャン条件設定UIにて、スキャン条件の設定操作(ステップA2)が入力され、スキャン処理の開始操作が入力(ステップE)される。スキャンシステムUI部421は、図13のように、スキャン条件設定UIで設定されたスキャン条件を、スキャン条件オブジェクトとしてスキャン条件データ領域464に格納(ステップF)する。ここでは、図13のように、読取サイズ「A4」読取向き「縦」読取面「両面」読取解像度「600dpi」読取方法「ADF」というスキャン条件が、スキャン条件オブジェクトとしてスキャン条件データ領域464に格納されている。
スキャナ選択部424は、以下のように、スキャン条件ベース463を利用して、スキャン処理を実行させるスキャナの自動選択(ステップI)を実行することになる。
スキャナ選択部424はまず、スキャン条件オブジェクトa1(読取サイズ:A4)b1(読取向き:縦)c1(読取面:両面)d1(読取解像度:600dpi)e1(読取方法:ADF)に対応するオブジェクトを、スキャン条件ベース463内から探し出す。これによって、スキャン条件ベースオブジェクトのサブオブジェクトa2(読取サイズ:A4)b2(読取向き:縦)c2(読取面:両面)d2(読取解像度:600dpi)e2(読取方法:ADF)が、スキャン条件ベース463内から探し出される。
スキャナ選択部424は続いて、スキャン条件ベースオブジェクトのサブオブジェクトa2,b2,c2,d2,e2の「設定項目をサポートしているスキャナのリスト」を、スキャン条件オブジェクトa1,b1,c1,d1,e1内に設定する。これによって、a1(読取サイズ:A4)内に読取サイズ「A4」をサポートしているスキャナのリスト「スキャナ0,1,2」が設定される。b1(読取向き:縦)内に読取向き「縦」をサポートしているスキャナのリスト「スキャナ0,1,2」が設定される。c1(読取面:両面)内に読取面「両面」をサポートしているスキャナのリスト「スキャナ1,2」が設定される。d1(読取解像度:600dpi)内に読取解像度「600dpi」をサポートしているスキャナのリスト「スキャナ0,1」が設定される。e1(読取方法:ADF)内に読取方法「ADF」をサポートしているスキャナのリスト「スキャナ1,2」が設定される。
スキャナ選択部424は続いて、スキャン条件オブジェクトa1,b1,c1,d1,e1内に共通に設定されているスキャナを探し出す。これは、読取サイズ「A4」と読取向き「縦」と読取面「両面」と読取解像度「600dpi」と読取方法「ADF」をサポートしているスキャナを意味する。こうして、読取サイズ「A4」読取向き「縦」読取面「両面」読取解像度「600dpi」読取方法「ADF」というスキャン条件をサポートしているスキャナ「スキャナ1」が探し出されるのである。
スキャナ選択部424は最後に、スキャナ1に対応する論理スキャナ1を参酌して設定に矛盾がなければ、スキャン条件データ領域464に格納されたスキャン条件をサポートしているスキャナ「スキャナ1」をもって、スキャン条件データ領域464に格納されたスキャン条件でスキャン処理を実行させるスキャナの自動選択の選択結果とする。これに続いて、ステップD1,D2の情報処理が実行されることになる。
図14は、スキャナ選択部424(図4参照)により実行されるスキャナの自動選択に係るデータフロー図である。ただしここでは、スキャナ検索部422(図4参照)により実行されたスキャナ検索が、スキャナのプロファイル情報のみを要求する簡易検索レベル(図8参照)であったものとする。なお、図14の文中にて図5中のステップ符号を適宜使用する。
論理スキャナデータ領域461には、論理スキャナ0,1,2が格納されている。ここで特徴的なのは、n)の「ハードウェア条件毎のサブオブジェクト」が存在してない点である。これは、スキャナ検索部422により実行されたスキャナ検索が、スキャナのプロファイル情報のみを要求する簡易検索レベルであったことによる。
固定条件データ領域462には、固定条件0,1,2が格納されている。固定条件0により、読取サイズ「A4」と「A3」と「B4」が固定条件となる。固定条件1により、読取向き「縦」と「横」が固定条件となる。固定条件2により、読取解像度「300dpi」と「600dpi」が固定条件となる。
スキャン条件ベース作成部423は、図14のように、論理スキャナデータ領域461に格納された論理スキャナ0,1,2等と、固定条件データ領域462に格納された固定条件0,1,2等とを利用して、スキャン条件ベース463を作成(ステップC)する。ここで特徴的なのは、固定条件0,1,2がスキャン条件ベース463に反映されている点である。
スキャンシステムUI部421は、スキャン条件ベース463を利用してスキャン条件設定UIの画面表示(ステップA1)を行う。当該スキャン条件設定UIにて、スキャン条件の設定操作(ステップA2)が入力され、スキャン処理の開始操作が入力(ステップE)される。スキャンシステムUI部421は、図14のように、スキャン条件設定UIで設定されたスキャン条件を、スキャン条件オブジェクトとしてスキャン条件データ領域464に格納(ステップF)する。ここでは、図14のように、読取サイズ「A4」読取向き「縦」読取解像度「600dpi」というスキャン条件が、スキャン条件オブジェクトとしてスキャン条件データ領域464に格納されている。
スキャナ選択部424は、以下のように、スキャン条件ベース463を利用して、スキャン処理を実行させるスキャナの自動選択(ステップI)を実行することになる。
スキャナ選択部424はまず、スキャン条件オブジェクトa1(読取サイズ:A4)b1(読取向き:縦)c1(読取解像度:600dpi)に対応するオブジェクトを、スキャン条件ベース463内から探し出す。これによって、スキャン条件ベースオブジェクトのサブオブジェクトa2(読取サイズ:A4)b2(読取向き:縦)c2(読取解像度:600dpi)が、スキャン条件ベース463内から探し出される。
スキャナ選択部424は続いて、スキャン条件ベースオブジェクトのサブオブジェクトa2,b2,c2の「設定項目をサポートしているスキャナのリスト」を、スキャン条件オブジェクトa1,b1,c1内に設定する。これによって、a1(読取サイズ:A4)内に読取サイズ「A4」をサポートしているスキャナのリスト「スキャナ0,1,2」が設定される。b1(読取向き:縦)内に読取向き「縦」をサポートしているスキャナのリスト「スキャナ0,1,2」が設定される。c1(読取解像度:600dpi)内に読取解像度「600dpi」をサポートしているスキャナのリスト「スキャナ0,1,2」が設定される。
スキャナ選択部424は続いて、スキャン条件オブジェクトa1,b1,c1内に共通に設定されているスキャナを探し出す。これは、読取サイズ「A4」と読取向き「縦」と読取解像度「600dpi」をサポートしているスキャナを意味する。こうして、読取サイズ「A4」読取向き「縦」読取解像度「600dpi」というスキャン条件をサポートしているスキャナ「スキャナ0,1,2」が探し出されるのである。
スキャナ選択部424は最後に、スキャン条件データ領域464に格納されたスキャン条件をサポートしているスキャナ「スキャナ0,1,2」をもって、スキャン条件データ領域464に格納されたスキャン条件でスキャン処理を実行させるスキャナ(の候補)の自動選択の選択結果とする。これに続いて、ステップD3,D4の情報処理が実行されることになる。
なお、スキャナの自動選択において、論理スキャナオブジェクトの「接続状態」が参酌されるようにしてもよい。これにより、オフラインのスキャナが自動選択の対象から除外されるようにするのである。
図15は、図4のプリント条件ベース473のデータ構造,図4の論理プリンタデータ領域471に格納された論理プリンタのデータ構造,図4の固定条件データ領域472に格納された固定条件のデータ構造を表す。
プリント条件ベース(図15A)は、プリント条件と当該プリント条件をサポートしている(当該プリント条件でプリント処理を実行することができる)プリンタとの対応関係に係るデータベースである。図4のプリント条件ベース473は、プリント条件毎に存在するプリント条件ベースオブジェクト(図15A)の集合体である。図15Aのプリント条件ベースオブジェクトは、プリント条件ベースのデータ構造を定義するクラスをインスタンス化したオブジェクトである。
プリント条件ベースオブジェクトは、図15Aのように、1)印刷サイズ,印刷向き,印刷面,印刷解像度,パンチ,ステープル等の「条件名」と、2)リスト(設定方法がリストからの選択)か数値(設定方法が数値の入力)の「条件種別」と、3)設定項目毎のサブオブジェクト等により構成される。サブオブジェクトは、図15Aのように、1)A4(印刷サイズ)や縦(印刷向き)や両面(印刷面)や600dpi(印刷解像度)や左2箇所(パンチ)や左(ステープル)等の「設定項目」と,2)設定項目をサポートしているプリンタのリスト等により構成される。
論理プリンタ(図15B)は、プリンタやグループプリンタと1対1で対応するオブジェクトである。図4の論理プリンタデータ領域471に格納された論理プリンタ0,1,2等はそれぞれ、論理プリンタのデータ構造を定義するクラスをインスタンス化したオブジェクト(図15Bの論理プリンタオブジェクト)である。
論理プリンタオブジェクトは、図15Bのように、1)プリンタ0,プリンタ1,プリンタ2等の「プリンタ名」と、2)モデルA,モデルB,モデルC等の「モデル名」と、3)IPアドレス等の「ネットワークアドレス」と、4)設置フロアと設置ブロック等の「設置位置」と、5)ドライバ0,ドライバ1,ドライバ2等の「ドライバ名」と、6)オンラインかオフラインの「接続状態」と、7)物理的にプリンタが存在しない場合にも論理的にプリンタを保存しておくか否かの「保存属性」と、8)最終更新時刻と、、、n)ハードウェア条件毎のサブオブジェクト等により構成される。サブオブジェクトは、図15Bのように、1)印刷サイズ,印刷向き,印刷面,印刷解像度,パンチ,ステープル等の「条件名」と、2)リスト(設定方法がリストからの選択)か数値(設定方法が数値の入力)の「条件種別」と、3)サポートしている設定項目のリストと、4)組み合わせることができないハードウェア条件である排他条件のリスト等により構成される。
固定条件(図15C)は、全てのプリンタがサポートしている標準的なプリント条件である。図4の固定条件データ領域472に格納された固定条件0,1,2等はそれぞれ、固定条件のデータ構造を定義するクラスをインスタンス化したオブジェクト(図15Cの固定条件オブジェクト)である。
固定条件オブジェクトは、図15Cのように、1)印刷サイズ,印刷向き,印刷面,印刷解像度,パンチ,ステープル等の「条件名」と、2)リスト(設定方法がリストからの選択)か数値(設定方法が数値の入力)かの「条件種別」と、3)設定項目のリスト等により構成される。
図16は、プリンタ選択部444(図4参照)により実行されるプリンタの自動選択に係るデータフロー図である。ただしここでは、プリンタ検索部442(図4参照)により実行されたプリンタ検索が、プリンタのプロファイル情報とハードウェア条件を要求する詳細検索レベル(図8参照)であったものとする。なお、図16の文中にて図5中のステップ符号を適宜使用する。
論理プリンタデータ領域471には、論理プリンタ0,1,2が格納されている。ここで特徴的なのは、n)の「ハードウェア条件毎のサブオブジェクト」が存在している点である。これは、プリンタ検索部442により実行されたプリンタ検索が、プリンタのプロファイル情報とハードウェア条件を要求する詳細検索レベルであったことによる。
固定条件データ領域472には、固定条件0,1,2が格納されている。固定条件0により、印刷サイズ「A4」と「A3」と「B4」が固定条件となる。固定条件1により、印刷向き「縦」と「横」が固定条件となる。固定条件2により、印刷解像度「300dpi」と「600dpi」が固定条件となる。
プリント条件ベース作成部443は、図16のように、論理プリンタデータ領域471に格納された論理プリンタ0,1,2等と、固定条件データ領域472に格納された固定条件0,1,2等とを利用して、プリント条件ベース473を作成する。ここで特徴的なのは、n)の「ハードウェア条件毎のサブオブジェクト」がプリント条件ベース473に反映されている点である。
プリント条件作成部431は、スキャン条件データ領域464に格納されたスキャン条件を転用したプリント条件を作成(ステップJ)する。プリント条件作成部431は、図16のように、スキャン条件データ領域464に格納されたスキャン条件を転用したプリント条件を、プリント条件オブジェクトとしてプリント条件データ領域465に格納(ステップK)する。ここでは、図16のように、印刷サイズ「A4」印刷向き「縦」印刷面「両面」印刷解像度「600dpi」というプリント条件が、プリント条件オブジェクトとしてプリント条件データ領域465に格納されている。
プリンタ選択部444は、以下のように、プリント条件データ領域465に格納されたプリント条件をサポートしているプリンタの自動選択要求(ステップN)の下、プリント条件ベース473を利用して、プリント処理を実行させるプリンタの自動選択を実行することになる。
プリンタ選択部444はまず、プリント条件オブジェクトa1(印刷サイズ:A4)b1(印刷向き:縦)c1(印刷面:両面)d1(印刷解像度:600dpi)に対応するオブジェクトを、プリント条件ベース473内から探し出す。これにより、プリント条件ベースオブジェクトのサブオブジェクトa2(印刷サイズ:A4)b2(印刷向き:縦)c2(印刷面:両面)d2(印刷解像度:600dpi)が、プリント条件ベース473内から探し出される。
プリンタ選択部444は続いて、プリント条件ベースオブジェクトのサブオブジェクトa2,b2,c2,d2の「設定項目をサポートしているスキャナのリスト」を、プリント条件オブジェクトa1,b1,c1,d1内に設定する。これにより、a1(印刷サイズ:A4)内に印刷サイズ「A4」をサポートしているプリンタのリスト「プリンタ0,1,2」が設定される。b1(印刷向き:縦)内には印刷向き「縦」をサポートしているプリンタのリスト「プリンタ0,1,2」が設定される。c1(印刷面:両面)内には印刷面「両面」をサポートしているプリンタのリスト「プリンタ1,2」が設定される。d1(印刷解像度:600dpi)内には印刷解像度「600dpi」をサポートしているプリンタのリスト「プリンタ0,1」が設定される。
プリンタ選択部444は続いて、プリント条件オブジェクトa1,b1,c1,d1内に共通して設定されているプリンタを探し出す。これは、印刷サイズ「A4」と印刷向き「縦」と印刷面「両面」と印刷解像度「600dpi」とをサポートしているプリンタを意味する。こうして、印刷サイズ「A4」印刷向き「縦」印刷面「両面」印刷解像度「600dpi」というプリント条件をサポートしているプリンタ「プリンタ1」が探し出されるのである。
プリンタ選択部444は最後に、プリンタ1に対応する論理プリンタ1を参酌して設定に矛盾がなければ、プリント条件データ領域465に格納されたプリント条件をサポートしているプリンタ「プリンタ1」をもって、プリント条件データ領域465に格納されたプリント条件でプリント処理を実行させるプリンタの自動選択の選択結果とする。これに続いて、ステップP1,P2の情報処理が実行されることになる。
図17は、プリンタ選択部444(図4参照)により実行されるプリンタの自動選択に係るデータフロー図である。ただしここでは、プリンタ検索部442(図4参照)により実行されたプリンタ検索が、プリンタのプロファイル情報のみを要求する簡易検索レベル(図8参照)であったものとする。なお、図17の文中にて図5中のステップ符号を適宜使用する。
論理プリンタデータ領域471には、論理プリンタ0,1,2が格納されている。ここで特徴的なのは、n)の「ハードウェア条件毎のサブオブジェクト」が存在してない点である。これは、プリンタ検索部442により実行されたプリンタ検索が、プリンタのプロファイル情報のみを要求する簡易検索レベルであったことによる。
固定条件データ領域472には、固定条件0,1,2が格納されている。固定条件0により、印刷サイズ「A4」と「A3」と「B4」が固定条件となる。固定条件1により、印刷向き「縦」と「横」が固定条件となる。固定条件2により、印刷解像度「300dpi」と「600dpi」が固定条件となる。
プリント条件ベース作成部443は、図17のように、論理プリンタデータ領域471に格納された論理スキャナ0,1,2等と、固定条件データ領域472に格納された固定条件0,1,2等とを利用して、プリント条件ベース473を作成する。ここで特徴的なのは、固定条件0,1,2がスキャン条件ベース473に反映されている点である。
プリント条件作成部431は、スキャン条件データ領域464に格納されたスキャン条件を転用したプリント条件を作成(ステップJ)する。プリント条件作成部431は、図17のように、スキャン条件データ領域464に格納されたスキャン条件を転用したプリント条件を、プリント条件オブジェクトとしてプリント条件データ領域465に格納(ステップK)する。ここでは、図17のように、印刷サイズ「A4」印刷向き「縦」印刷解像度「600dpi」というプリント条件が、プリント条件オブジェクトとしてプリント条件データ領域465に格納されている。
プリンタ選択部444は、以下のように、プリント条件データ領域465に格納されたプリント条件をサポートしているプリンタの自動選択要求(ステップN)の下、プリント条件ベース473を利用して、プリント処理を実行させるプリンタの自動選択を実行することになる。
プリンタ選択部444はまず、プリント条件オブジェクトa1(印刷サイズ:A4)b1(印刷向き:縦)c1(印刷解像度:600dpi)に対応するオブジェクトを、プリント条件ベース473内から探し出す。これによって、プリント条件ベースオブジェクトのサブオブジェクトa2(印刷サイズ:A4)b2(印刷向き:縦)c2(印刷解像度:600dpi)が、プリント条件ベース473内から探し出される。
プリンタ選択部444は続いて、プリント条件ベースオブジェクトのサブオブジェクトa2,b2,c2の「設定項目をサポートしているスキャナのリスト」を、プリント条件オブジェクトa1,b1,c1内に設定する。これによって、a1(印刷サイズ:A4)内に印刷サイズ「A4」をサポートしているプリンタのリスト「プリンタ0,1,2」が設定される。b1(印刷向き:縦)内に印刷向き「縦」をサポートしているプリンタのリスト「プリンタ0,1,2」が設定される。c1(印刷解像度:600dpi)内に印刷解像度「600dpi」をサポートしているプリンタのリスト「プリンタ0,1,2」が設定される。
プリンタ選択部444は続いて、プリント条件オブジェクトa1,b1,c1内に共通に設定されているプリンタを探し出す。これは、印刷サイズ「A4」と印刷向き「縦」と印刷解像度「600dpi」をサポートしているプリンタを意味する。こうして、印刷サイズ「A4」印刷向き「縦」印刷解像度「600dpi」というプリント条件をサポートしているプリンタ「プリンタ0,1,2」が探し出されるのである。
プリンタ選択部444は最後に、プリント条件データ領域465に格納されたプリント条件をサポートしているプリンタ「プリンタ0,1,2」をもって、プリント条件データ領域465に格納されたプリント条件でプリント処理を実行させるプリンタ(の候補)の自動選択の選択結果とする。これに続いて、ステップP3,P4の情報処理が実行されることになる。
なお、プリンタの自動選択において、論理プリンタオブジェクトの「接続状態」が参酌されるようにしてもよい。これにより、オフラインのプリンタ(トナーが切れているプリンタ,ジャムが起きているプリンタ等)が自動選択の対象から除外されるようにするのである。
図18は、プリント条件作成部431(図4参照)により実行されるプリント条件作成処理に係るデータフロー図である。なお、図18の文中にて図5中のステップ符号を適宜使用する。
ステップJ,Kにて、プリント条件作成部431は、スキャン条件データ領域464に格納されたスキャン条件をプリント条件に転用すべく、図18のように、スキャン条件データ領域464に格納されたスキャン条件をプリント条件に変換(図6参照)し、プリント条件データ領域465に格納する。この際、スキャン条件のどの項目をプリント条件のどの項目に変換するかの判断、すなわち、スキャン条件のどの項目をプリント条件のどの項目に転用可能かの判断は、共通設定リストに基づいて実行される。共通設定リストは、図18のように、共通設定リストオブジェクトとして共通設定リストデータ領域481に格納されている。
図18の共通設定リストでは、a)スキャン条件の項目「読取サイズ」はプリント条件の項目「印刷サイズ」に転用可能、b)スキャン条件の項目「読取向き」はプリント条件の項目「印刷向き」に転用可能、c)スキャン条件の項目「読取面」はプリント条件の項目「印刷面」に転用可能、d)スキャン条件の項目「読取解像度」はプリント条件の項目「印刷解像度」に転用可能である旨が規定されている。これによって、図18のように、読取サイズ「A4」読取向き「縦」読取面「両面」読取解像度「600dpi」読取方法「ADF」というスキャン条件が印刷サイズ「A4」印刷向き「縦」印刷面「両面」印刷解像度「600dpi」というプリント条件に変換されるのである。なお、スキャン条件の項目「読取方法」がプリント条件の項目に転用可能である旨は規定されておらず、読取方法「ADF」というスキャン条件はプリント条件に変換されない。
図19は、図1,2のPC301の画面上に表示される論理スキャナ登録画面501を表す。論理スキャナ登録画面501では、図10の論理スキャナの登録処理で言う「態様2」の画面入力操作が可能である。
論理スキャナ登録画面501には、スキャナ名入力欄511、モデル名入力欄512、ネットワークアドレス入力欄513、設置位置入力欄514、ドライバ名入力欄515、スキャナ選択ボタン521、ドライバダウンロードボタン522、登録ボタン531、キャンセルボタン532が存在する。
スキャナ名入力欄511は、論理スキャナと対応させるスキャナのスキャナ名を入力するための入力欄である。モデル名入力欄512は、論理スキャナと対応させるスキャナのモデル名を入力するための入力欄である。ネットワークアドレス入力欄513は、論理スキャナと対応させるスキャナのネットワークアドレスを入力するための入力欄である。設置位置入力欄514は、論理スキャナと対応させるスキャナの設置位置を入力するための入力欄である。ドライバ名入力欄515、論理スキャナと対応させるスキャナのドライバのドライバ名を入力するための入力欄である。
スキャナ選択ボタン521は、論理スキャナと対応させるスキャナを選択するためのボタンである。ドライバダウンロードボタン522は、論理スキャナと対応させるスキャナのドライバをダウンロードするためのボタンである。
PC301は、登録ボタン531がクリックされると、論理スキャナ登録画面501で画面入力されたデータから論理スキャナを作成し、当該論理スキャナをスキャンシステム411に登録する。PC301は、キャンセルボタン532がクリックされると、論理スキャナ登録画面501で画面入力されたデータをキャンセルする。論理プリンタ登録画面についても、図19の論理スキャナ登録画面501と同様である。
図20は、図1,2のPC301の画面上に表示される固定条件登録画面601を表す。固定条件登録画面601では、図11の固定条件の登録処理で言う「態様2」の画面入力操作が可能である。
固定条件登録画面601には、条件名入力欄611、条件種別選択欄612、設定項目入力欄613、設定項目表示欄614、設定項目追加ボタン615、設定項目削除ボタン616、論理スキャナ選択ボタン621、固定条件選択ボタン622、登録ボタン631、キャンセルボタン632が存在する。
条件名入力欄611は、固定条件とするスキャン条件の条件名を入力するための入力欄である。条件種別選択欄612は、固定条件とするスキャン条件の条件種別を選択するための選択欄である。設定項目入力欄613は、追加する設定項目を入力するための入力欄である。設定項目表示欄614は、追加された設定項目を表示するための表示欄である。設定項目追加ボタン615は、設定項目入力欄613に入力された設定項目を追加するためのボタンである。設定項目削除ボタン616は、設定項目表示欄614にて選択された設定項目を削除するためのボタンである。
PC301は、登録ボタン631がクリックされると、固定条件登録画面601で画面入力されたデータから固定条件を作成し、当該固定条件をスキャンシステム411に登録する。PC301は、キャンセルボタン632がクリックされると、固定条件登録画面601で画面入力されたデータをキャンセルする。プリント条件に係る固定条件登録画面についても、図20のスキャン条件に係る固定条件登録画面601と同様である。
図21は、図1,2のPC301の画面上に表示されるスキャン条件設定UI701を表す。図5のステップA1で登場したUIである。
スキャン条件設定UI701には、スキャン条件設定欄711、スキャナ自動選択要求入力欄712、スキャナ手動選択ボタン713、プリント要求入力欄721、データ保存要求入力欄722、開始ボタン731、キャンセルボタン732が存在する。
スキャン条件設定欄711は、スキャナにスキャン処理を実行させる際のスキャン条件を設定するための設定欄である。図21のスキャン条件設定UI701には、読取サイズの設定欄711a,読取向きの設定欄711b,読取面の設定欄711c,読取解像度の設定欄711d,読取方法の設定欄711e,エンドーサの設定欄711f等のスキャン条件設定欄711が存在する。図21のスキャン条件設定UI701では、読取サイズの設定欄に「A4」が、読取向きの設定欄に「縦」が、読取面の設定欄に「両面」が、読取解像度の設定欄に「600dpi」が、読取方法の設定欄に「ADF」が、エンドーサの設定欄に「ON」が設定されている。なお、スキャンシステムUI421部は、スキャン条件ベース463を利用して、これらの設定欄の条件名や設定項目の画面表示を行う。
スキャナ自動選択要求入力欄712は、スキャン処理を実行させるスキャナを自動選択で選択する旨を入力するための入力欄である。図21のように、スキャナ自動選択入力欄712がチェックされている場合、スキャン処理を実行させるスキャナが自動選択で選択されることになる。
スキャナ手動選択ボタン713は、スキャン処理を実行させるスキャナを手動選択で選択するためのボタンである。スキャナ手動選択ボタン713がクリックされると、図22のようなスキャナ選択UI801が画面表示される。スキャナ選択UI801については後述することにする。
プリント要求入力欄721は、スキャン処理に係る画像データのプリント処理の実施を要求する旨を入力するための入力欄である。図21のように、プリント要求入力欄721がチェックされている場合、スキャン処理に係る画像データのプリント処理が実施されることになる。なお、プリント要求入力欄721の応用例として、ファックス送信要求入力欄(スキャン処理に係る画像データのファックス送信処理の実施を要求する旨を入力するための入力欄)等が考えられる。
データ保存要求入力欄722は、スキャン処理に係る画像データのデータ保存処理の実施を要求する旨を入力するための入力欄である。図21のように、データ保存要求入力欄722がチェックされている場合、ファイル名の入力欄に入力されたファイル名により、スキャン処理に係る画像データのデータ保存処理が実施されることになる。なお、データ保存要求入力欄722の応用例として、メール配信要求入力欄(スキャン処理に係る画像データのメール配信処理の実施を要求する旨を入力するための入力欄)等が考えられる。
PC301は、開始ボタン731がクリックされることで、スキャン条件設定欄711で設定されたスキャン条件でスキャナにスキャン処理を実行させることになる。PC301は、キャンセルボタン732がクリックされると、スキャン条件設定UI701で画面入力されたデータをキャンセルする。
このように、スキャン条件設定UI701は、異なるスキャナにつき共通に利用される統一UIとなっている。これによって、異なるスキャナにつきスキャン条件の設定操作が統一されるため、スキャナ操作用のUIの操作性が向上される。スキャナドライバ毎に異なるUIを利用する場合と比較してみると、その差が理解されるであろう。
また、スキャン条件設定欄711で設定されたスキャン条件でスキャン処理を実行させるスキャナとして、スキャン条件設定欄711で設定されたスキャン条件をサポートしているスキャナが自動選択で選択されることで、所望のスキャン条件でスキャナにスキャン処理を実行させたいユーザが、そのスキャン条件をサポートしているスキャナを自ら特定する必要がなくなる。ユーザは、スキャン条件の設定操作に専念すればよいのである。
さらに、スキャン処理に係る画像データのプリント処理を実行させるプリンタとして、スキャン条件設定欄711で設定されたスキャン条件を転用したプリント条件をサポートしているプリンタが自動選択で選択されることで、ユーザが、プリント処理を実行させるプリンタの選択操作やプリント条件の設定操作を実行する必要がなくなる。仮に、ユーザが、スキャン条件の設定操作とプリント条件の設定操作の両方を実行するとなると、読取サイズと印刷サイズ,読取向きと印刷向き,読取面と印刷面,読取解像度と印刷解像度のように、同じような項目(本実施例で転用可能としているような項目)の設定操作を実行することになり、無駄である。
図22は、図1,2のPC301の画面上に表示されるスキャナ選択UI801を表す。図5のステップD1で登場したUIである。
スキャナ選択UI801には、スキャナ選択欄811、OKボタン821、キャンセルボタン831が存在する。
スキャナ選択欄811は、スキャン処理を実行させるスキャナを手動選択で選択するための選択欄である。図22のスキャナ選択欄811には、スキャン処理を実行させるスキャナの候補として「スキャナ0」と「スキャナ1」と「スキャナ2」が設置位置と共に表示されている。PC301は、OKボタン821がクリックされることで、スキャナ選択欄811にて手動選択で選択されたスキャナにスキャン処理を実行させる(スキャン処理の開始操作前であれば、スキャン条件設定UI701に一旦戻る)ことになる。
図23は、図1,2のPC301の画面上に表示されるスキャナ選択結果通知UI802を表す。図5のステップD3で登場したUIである。
スキャナ選択結果通知UI802には、OKボタン822が存在する。
スキャナ選択結果通知UI802には、スキャン処理を実行させるスキャナの選択結果が表示される。図23のスキャナ選択結果通知UI802には、スキャン処理を実行させるスキャナとして「スキャナ1」が設置位置と共に表示されている。PC301は、OKボタン822がクリックされることで、自動選択で選択されたスキャナにスキャン処理を実行させることになる。
図24は、図1,2のPC301の画面上に表示されるプリンタ選択UI901を表す。図5のステップP1で登場したUIである。
プリンタ選択UI901には、スキャナ選択欄911、OKボタン921、キャンセルボタン931が存在する。
プリンタ選択欄911は、プリント処理を実行させるプリンタを手動選択で選択するための選択欄である。図24のプリンタ選択欄911には、プリント処理を実行させるプリンタの候補として「プリンタ0」と「プリンタ1」と「プリンタ2」が設置位置と共に表示されている。PC301は、OKボタン921がクリックされることで、プリンタ選択欄911にて手動選択で選択されたプリンタにプリント処理を実行させることになる。
図25は、図1,2のPC301の画面上に表示されるプリンタ選択結果通知UI902を表す。図5のステップP3で登場したUIである。
プリンタ選択結果通知UI902には、OKボタン922が存在する。
プリンタ選択結果通知UI902には、プリント処理を実行させるプリンタの選択結果が表示される。図25のスキャナ選択結果通知UI902には、プリント処理を実行させるプリンタとして「プリンタ1」が設置位置と共に表示されている。PC301は、OKボタン922がクリックされることで、自動選択で選択されたプリンタにプリント処理を実行させることになる。
(変形例)
図1,2のPC301は、本発明(情報処理装置)の実施例に該当し、図1,2のPC301に存在する図4のソフトウェアは、本発明(情報処理プログラム)の実施例に該当する。図1,2のPC301により実行される情報処理は、本発明(情報処理方法)の実施例に該当し、図4のソフトウェアが記録されたCD−ROMは、本発明(記録媒体)の実施例に該当する。図1,2の機器群により実行される画像形成処理は、本発明(画像形成方法)の実施例に該当する。なお、図1の各スキャナ101や図2の各プリンタ201は、図7からも明らかなように、スキャナやプリンタやコピーやファクシミリとして機能する「複合機」や「融合機」であっても構わない。
図26は、OA機器が接続されたネットワークに係る機器配置図である。図26では、プリンタ1101、スキャナ1102、ストレージ装置1103、認証サーバ1111、ACL(Access Control List)サーバ1112、ポリシーサーバ1113、PC(Personal Computer)1121、プロキシサーバ1122がネットワーク1131により相互接続されている。PC1121は、プリンタ1101,スキャナ1102,ストレージ装置1103のクライアント端末として機能する情報処理装置である。プロキシサーバ1122は、PC1121のプロキシサーバとして機能する情報処理装置である。
図26のOA機器はそれぞれ、BMLinkSに準拠したOA機器である。プリンタ1101にはプリントサービス1104が、スキャナ1102にはスキャンサービス1105が、ストレージ装置1103にはストレージサービス1106が存在する。PC1121には、プリンタドライバやスキャナドライバやストレージドライバ等のBMLinkSドライバがインストールされている。
なお、プリンタ1101,スキャナ1102はそれぞれ、プリンタとして機能する複合機や融合機,スキャナとして機能する複合機や融合機でも構わない。また、図26のように、プリンタ1101,スキャナ1102,ストレージ装置1103をそれぞれネットワーク1131に接続する代わりに、図27のように、プリンタ1101に接続されたプリントサーバ1107,スキャナ1102に接続されたスキャンサーバ1108,ストレージ装置1103に接続されたストレージサーバ1109をそれぞれネットワーク1131に接続しても構わない。OA機器をネットワーク1131に接続する代わりに、OA機器のサーバをネットワーク1131に接続するのである。プリントサーバ1107にはプリントサービス1104が、スキャンサーバ1108にはスキャンサービス1105が、ストレージサーバ1109にはストレージサービス1106が存在する。
図28は、図26,27のプリンタ1101に係るハードウェア構成図である。図26,27のプリンタ1101は、CPU1301と、ROM1302と、RAM1303と、HDD(ハードディスクドライブ)1304と、プリントユニット1311と、操作表示ユニット1312と、通信ユニット1313と、USBIF1321と、セントロニクスIF1322等により構成されている。これらのハードウェア構成要素は、システムバス1331に接続されている。
CPU1301は、プリンタ1101の制御等の情報処理を実行するハードウェアである。ROM1302は、上記の情報処理用のプログラム等が格納されたハードウェアである。RAM1303は、上記の情報処理用のメモリである。HDD1304は、上記の情報処理用のストレージであり、上記の情報処理用のプログラム等が格納されたハードウェアである。
プリントユニット1311は、プリント処理を実行するためのハードウェアであり、プリンタエンジン等により構成される。操作表示ユニット1312は、ユーザがプリンタ1101に入力を行うためのハードウェアであると共に、ユーザがプリンタ1101から出力を得るためのハードウェアであり、オペレーションパネル等により構成される。通信ユニット1313は、プリンタ1101をイーサネット(登録商標)や電話回線等のネットワークに接続するためのハードウェアであり、NICやMODEM等により構成される。
USBIF1321は、USB規格に準拠したケーブルを接続するためのインタフェースである。セントロニクスIF1322は、セントロニクス仕様のケーブルを接続するためのインタフェースである。
図29は、図26,27のスキャナ1102に係るハードウェア構成図である。図26,27のスキャナ1102は、CPU1401と、ROM1402と、RAM1403と、HDD(ハードディスクドライブ)1404と、スキャンユニット1411と、操作表示ユニット1412と、通信ユニット1413と、USBIF1421と、SCSIIF1423等により構成されている。これらのハードウェア構成要素は、システムバス1431に接続されている。
CPU1401は、スキャナ1102の制御等の情報処理を実行するハードウェアである。ROM1402は、上記の情報処理用のプログラム等が格納されたハードウェアである。RAM1403は、上記の情報処理用のメモリである。HDD1404は、上記の情報処理用のストレージであり、上記の情報処理用のプログラム等が格納されたハードウェアである。
スキャンユニット1411は、スキャン処理を実行するためのハードウェアであり、スキャナエンジン等により構成される。操作表示ユニット1412は、ユーザがスキャナ1102に入力を行うためのハードウェアであると共に、ユーザがスキャナ1102から出力を得るためのハードウェアであり、オペレーションパネル等により構成される。通信ユニット1413は、スキャナ1102をイーサネット(登録商標)や電話回線等のネットワークに接続するためのハードウェアであり、NICやMODEM等により構成される。
USBIF1421は、USB規格に準拠したケーブルを接続するためのインタフェースである。SCSIIF1423は、SCSI規格に準拠したケーブルを接続するためのインタフェースである。
図30は、図26,27のストレージ装置1103に係るハードウェア構成図である。図26,27のストレージ装置1103は、CPU1501と、ROM1502と、RAM1503と、HDD(ハードディスクドライブ)1504と、操作表示ユニット1512と、通信ユニット1513と、USBIF1521等により構成されている。これらのハードウェア構成要素は、システムバス1531に接続されている。これらのハードウェア構成要素の役割等は、プリンタ1101やスキャナ1102と同様である。
図31は、図26,27のPC1121に係るハードウェア構成図である。図26,27のPC1121は、CPU1601、ROM1602、RAM1603、HDD(ハードディスクドライブ)1604、操作ユニット1611、表示ユニット1612、通信ユニット1613、USBIF1621、セントロニクスIF1622、SCSIIF1623等により構成されている。これらのハードウェア構成要素は、システムバス1631に接続されている。
CPU1601は、種々の制御等の情報処理を実行するハードウェアである。ROM1602は、上記の情報処理用のプログラム等が格納されたハードウェアである。RAM1603は、上記の情報処理用のメモリである。HDD1604は、上記の情報処理用のストレージであり、上記の情報処理用のプログラム等が格納されたハードウェアである。
操作ユニット1611は、ユーザがPC1121に入力を行うためのハードウェアであり、キーボードやマウス等により構成される。表示ユニット1612は、ユーザがPC1121から出力を得るためのハードウェアであり、ディスプレイ等により構成される。通信ユニット1613は、PC1121をイーサネット(登録商標)や電話回線等のネットワークに接続するためのハードウェアであり、NICやMODEM等により構成される。
USBIF1621は、USB規格に準拠したケーブルを接続するためのインタフェースである。セントロニクスIF1622は、セントロニクス仕様のケーブルを接続するためのインタフェースである。SCSIIF1623は、SCSI規格に準拠したケーブルを接続するためのインタフェースである。
図32は、図26,27のプロキシサーバ1122に係るハードウェア構成図である。図26,27のプロキシサーバ1122は、CPU1701、ROM1702、RAM1703、HDD(ハードディスクドライブ)1704、操作ユニット1711、表示ユニット1712、通信ユニット1713、USBIF1721等により構成されている。これらのハードウェア構成要素は、システムバス1731に接続されている。
CPU1701は、種々の制御等の情報処理を実行するハードウェアである。ROM1702は、上記の情報処理用のプログラム等が格納されたハードウェアである。RAM1703は、上記の情報処理用のメモリである。HDD1704は、上記の情報処理用のストレージであり、上記の情報処理用のプログラム等が格納されたハードウェアである。
操作ユニット1711は、ユーザがプロキシサーバ1122に入力を行うためのハードウェアであり、キーボードやマウス等により構成される。表示ユニット1712は、ユーザがプロキシサーバ1122から出力を得るためのハードウェアであり、ディスプレイ等により構成される。通信ユニット1713は、プロキシサーバ1122をイーサネット(登録商標)や電話回線等のネットワークに接続するためのハードウェアであり、NICやMODEM等により構成される。
USBIF1721は、USB規格に準拠したケーブルを接続するためのインタフェースである。
図33は、図27のプリントサーバ1107に係るハードウェア構成図である。図27のプリントサーバ1107は、CPU1801、ROM1802、RAM1803、HDD(ハードディスクドライブ)1804、操作ユニット1811、表示ユニット1812、通信ユニット1813、USBIF1821、セントロニクスIF1822等により構成されている。これらのハードウェア構成要素は、システムバス1831に接続されている。これらのハードウェア構成要素の役割等は、PC1121やプロキシサーバ1122と同様である。
図34は、図27のスキャンサーバ1108に係るハードウェア構成図である。図27のスキャンサーバ1108は、CPU1901、ROM1902、RAM1903、HDD(ハードディスクドライブ)1904、操作ユニット1911、表示ユニット1912、通信ユニット1913、USBIF1921、SCSIIF1923等により構成されている。これらのハードウェア構成要素は、システムバス1931に接続されている。これらのハードウェア構成要素の役割等は、PC1121やプロキシサーバ1122と同様である。
図35は、図27のストレージサーバ1109に係るハードウェア構成図である。図27のストレージサーバ1109は、CPU2001と、ROM2002と、RAM2003と、HDD(ハードディスクドライブ)2004と、操作ユニット2011と、表示ユニット2012と、通信ユニット2013と、USBIF2021等により構成されている。これらのハードウェア構成要素は、システムバス2031に接続されている。これらのハードウェア構成要素の役割等は、PC1121やプロキシサーバ1122と同様である。
(文書処理)
以上の説明を踏まえて、図26の文書処理システムにおいて実行される文書処理について説明する。当該文書処理を、図26の文書処理システムにおいて実行するのと同様にして、図27の文書処理システムにおいて実行しても構わない。
PC1121は、文書データを印刷する旨の入力操作が行われた場合、プリントジョブを生成する旨のジョブ生成要求のコマンドを発行して、プリンタ1101にアクセスすることになる。プリンタ1101は、認証処理で認証が許可されたことを条件に、プリントジョブを生成する旨のジョブ生成要求のコマンドを実行して、文書データを印刷する(プリントジョブを実行する)ことになる。上記の認証処理で使用される認証情報は、上記のジョブ生成要求のコマンドに挿入された状態で授受される。以下、コマンド発行処理とコマンド実行処理について説明することにする。
(1)コマンド発行処理
図36は、PC1121の画面上に表示されるプリンタ操作画面2101を表す。図37は、PC1121の画面上に表示される認証情報設定画面2201を表す。PC1121にはプリンタドライバがインストールされており、プリンタ操作画面2101や認証情報設定画面2201はプリンタドライバにより表示される。
プリンタ操作画面2101では、どのプリンタで印刷を行うか、どのような印刷条件で印刷を行うかを設定することができる。プリンタ操作画面2101で認証情報設定ボタン2121をクリックすると、認証情報設定画面2201に画面が移る。認証情報設定画面2201では、ユーザ情報「Requesting User Name」と共に、認証情報「組織名」「部署名」「肩書き」を設定することができる。認証情報設定画面2201でOKボタン2211をクリックすると、プリンタ操作画面2101に画面が戻り、認証情報が設定される。プリンタ操作画面2101でOKボタン2111をクリックすると、プリントジョブを生成する旨のジョブ生成要求のコマンドが発行されることになる。
図38,39は、ジョブ生成要求(create_job)のコマンドのスクリプトの例を表す。SOAP(Simple Object Access Protocol)エンベロープは省略してある。図38は認証情報挿入前のコマンドであり、図39は認証情報挿入後のコマンドである。記述38,39が、BMLinkSコマンド「create_job」に係る記述で、XML(eXtensible Markup Language)にて記述されている。記述38−1,39−1はユーザ名「Yamada Taroh」である。記述38−2,39−2はジョブ名「sample−job」である。記述39−3は、独自のタグを用いてコマンドに挿入された認証情報である。
タグについて説明することにする。本実施例では、コマンドに認証情報を挿入するためのタグとして、組織名のタグ<x−ORG−name>や、部署名のタグ<x−ORG−group−name>や、部署名その1のタグ<x−ORG−group−name−1>や、部署名その2のタグ<x−ORG−group−name−2>や、部署名その3のタグ<x−ORG−group−name−3>や、部署名その4のタグ<x−ORG−group−name−4>や、肩書きのタグ<x−ORG−title>等が定義されている。これらのタグの挿入位置は、ユーザ情報のタグ<requesting−user−name>が存在する場合にはその直後、ユーザ情報のタグ<requesting−user−name>が存在しない場合には<job−instruction>と同レベルとする。
図40は、ジョブ生成応答(create_jobRESPONSE)のスクリプトの例を表す。SOAP(Simple Object Access Protocol)エンベロープは省略してある。記述40が、BMLinkSコマンドレスポンス「create_jobRESPONSE」に係る記述で、XML(eXtensible Markup Language)にて記述されている。記述40−1はジョブ生成要求に対する「ok」である。記述40−2はジョブID「001」である。記述40−3は文書データの転送先となるURI「http://192.168.1.4/spool/job−001」である。
図41は、認証情報挿入処理の実行主体について説明するための図である。
図41Aは、PC1121内のプリンタドライバ2601を認証情報挿入処理の実行主体とする場合の図である。図41Aでは、PC1121内のプリンタドライバ2601が認証情報取得機能と認証情報挿入機能とを有する。図41Aでは、PC1121内のプリンタドライバ2601が、プリンタ1101内のプリントサービス1104に対するジョブ生成要求のコマンドを発行することになると共に、PC1121内のプリンタドライバ2601が、認証情報を取得し、当該コマンドに当該認証情報をタグを用いて挿入することになる。
図41Bは、PC1121内のプロキシサービス2602を認証情報挿入処理の実行主体とする場合の図である。図41Bでは、PC1121内のプロキシサービス2602が認証情報取得機能と認証情報挿入機能とを有する。図41Bでは、PC1121内のプリンタドライバ2601が、プリンタ1101内のプリントサービス1104に対するジョブ生成要求のコマンドを発行することになると共に、PC1121内のプロキシサービス2602が、認証情報を取得し、当該コマンドに当該認証情報をタグを用いて挿入することになる。
図41Cは、プロキシサーバ1122内のプロキシサービス2602を認証情報挿入処理の実行主体とする場合の図である。図41Cでは、プロキシサーバ1122内のプロキシサービス2602が認証情報取得機能と認証情報挿入機能とを有する。図41Bでは、PC1121内のプリンタドライバ2601が、プリンタ1101内のプリントサービス1104に対するジョブ生成要求のコマンドを発行し、プロキシサーバ1122内のプロキシサービス2602が、当該コマンドをプリンタ1101内のプリントサービス1104に転送することになると共に、プロキシサーバ1122内のプロキシサービス2602が、認証情報を取得し、当該コマンドに当該認証情報をタグを用いて挿入することになる。
図41Aと比べて図41Bや図41Cには、プリンタドライバ2601が認証情報取得機能や認証情報挿入機能のない標準ドライバでよいという利点がある。図41Bと比べて図41Cには、複数のクライアントが1のプロキシを共用できるという利点がある。
認証情報取得処理の態様としては、1)画面入力により認証情報を取得する態様,2)ICカード等の記憶媒体の読取により認証情報を取得する態様,3)指紋や虹彩等の生体情報の読取を利用した生体認証により認証情報を取得する態様が挙げられる。
態様1では、PC1121又はプロキシサーバ1122の操作表示ユニット2611(操作ユニット1611,1711や表示ユニット1612,1712に相当)を通じて認証情報が画面入力される。認証情報の画面入力は、図37の認証情報設定画面2201で行う。図41Aの場合、図37の認証情報設定画面2201は、上述のように、PC1121内のプリンタドライバ2601によりPC1121の画面上に表示される。図41Bの場合、図37の認証情報設定画面2201は、PC1121内のプロキシサービス2602によりPC1121の画面上に表示される。図41Cの場合、図37の認証情報設定画面2201は、プロキシサーバ1122内のプロキシサービス2602によりプロキシサーバ1122の画面上に表示される。
態様2では、PC1121又はプロキシサーバ1122のICカードIF2612にセットされたICカードに記憶されている認証情報が読み取られる。ICカードIF2612は例えばプリンタ1101等のオプション製品として提供される。
態様3では、PC1121又はプロキシサーバ1122の生体認証ユニット2613により実行される生体認証を通じて認証情報が取得される。生体認証ユニット2613は例えばプリンタ1101等のオプション製品として提供される。
認証情報取得処理は、図36のプリンタ操作画面2101でOKボタン2111がクリックされる前に実行される場合(事前取得と呼ぶ)もあれば、図36のプリンタ操作画面2101でOKボタン2111がクリックされた後に実行される場合(事後取得と呼ぶ)もある。図36のプリンタ操作画面2101で認証情報設定ボタン2121がクリックされると図37の認証情報設定画面2201が表示されるが、これは事前取得(態様1)の具体例に相当する。事前取得により取得された認証情報は、図41Aの場合にはPC1121内のプリンタドライバ2601により、図41Bの場合にはPC1121内のプロキシサービス2602により、図41Cの場合にはプロキシサーバ1122内のプロキシサービス2602により管理される。事前取得により取得された認証情報は、図41Bや図41Cの場合には図42のようなテーブルで管理される。図42のテーブルは、クライアントのIPアドレスとクライアントの認証情報等との対応関係に係るテーブルである。この対応関係を利用して、上記のIPアドレスを包含するコマンドに、上記のIPアドレスに対応する認証情報を挿入するのである。
認証情報挿入処理は、所定の設定に応じて実行されるものとする。設定が「事前取得」の場合には、事前取得により取得された認証情報による認証情報挿入処理が実行される。設定が「事後取得」の場合には、事後取得により取得された認証情報による認証情報挿入処理が実行される。設定が「不実施」の場合には、認証情報挿入処理は実行されない。
図43は、プリンタドライバ2601により実行される認証情報挿入処理に係るフローチャート図である。プリンタドライバ2601は、図36のプリンタ操作画面2101でOKボタン2111がクリックされると、プリントジョブを生成する旨のジョブ生成要求のコマンドを発行することになる。その際に、認証情報挿入処理の設定が「事前取得」の場合(S1111)には、認証情報の事前取得が実行済みの場合(S1121)に限り、当該事前取得により取得された認証情報による認証情報挿入処理が実行(S1122)される。認証情報挿入処理の設定が「事後取得」の場合(S1111)には、認証情報取得処理が実行(S1131)されて、当該事後取得により取得された認証情報による認証情報挿入処理が実行(S1132)される。プリンタドライバ2601は、これらの処理を経由した後、上記のコマンドを発行(S1141)する。
図44は、プロキシサービス2602により実行される認証情報挿入処理に係るフローチャート図である。プロキシサービス2602は、プリントジョブを生成する旨のジョブ生成要求のコマンドをプリンタドライバ2601から受け取り、プリンタ1101内のプリントサービス1104に転送することになる。その際に、認証情報挿入処理の設定が「事前取得」の場合(S1211)には、認証情報の事前取得が実行済みの場合(S1221)に限り、当該事前取得により取得された認証情報による認証情報挿入処理が実行(S1222)される。実行済みでない場合(S1221)には、認証情報取得処理が実行(S1223)され、当該事後取得により取得された認証情報による認証情報挿入処理が実行(S1224)される。認証情報挿入処理の設定が「事後取得」の場合(S1211)にも、認証情報取得処理が実行(S1231)され、当該事後取得により取得された認証情報による認証情報挿入処理が実行(S1232)される。すでに認証情報が挿入済みの場合(S1201)には、これらの処理は不要である。プロキシサービス2602は、これらの処理を経由した後、上記のコマンドをプリンタ1101内のプリントサービス1104に転送(S1241)する。
図45は、プリンタドライバ2601やプロキシサービス2602によって実行される認証情報取得処理に係るフローチャート図である。図43のS1131や図44のS1223やS1231がこれに相当する。
認証情報取得処理の設定が態様1(画面入力により認証情報を取得)の場合(S1301Yes)には、図37の認証情報設定画面2201が表示(S1311)される。図37の認証情報設定画面2201で認証情報が画面入力されることになる。こうして、認証情報が取得(S1313)される。途中、認証情報取得処理が中止(S1312)になると、認証情報は「なし」になる。
認証情報取得処理の設定が態様2(記憶媒体の読取により認証情報を取得)の場合(S1302Yes)には、ICカードのセットを促すメッセージが表示(S1321)される。メッセージに従いICカードがセットされることになる。メッセージに従いセットされたICカードに記憶されている認証情報が読み取られ(S1323)て、認証情報が取得(S1324)される。そして、認証情報の取得結果の確認画面として、図37の認証情報設定画面2201が表示(S1325)される。途中、認証情報取得処理が中止(S1322)になると、認証情報は「なし」になる。記憶媒体の読取が失敗した場合も同様である。
認証情報取得処理の設定が態様3(生体情報の読取を利用した生体認証により取得)の場合(S1303Yes)には、生体情報の読取のための動作を促すメッセージが表示(S1331)される。メッセージに従い生体情報の読取のための動作が行われることになる。生体情報が読み取られる(S1333)と、生体情報と個人特定情報さらには認証情報との対応関係に係る内部のデータベースとの照合を通じて、個人特定情報が取得(S1334)され、さらには認証情報が取得(S1335)される。そして、認証情報の取得結果の確認画面として、図37の認証情報設定画面2201が表示(S1336)される。途中、認証情報取得処理が中止(S1332)になると、認証情報は「なし」になる。生体情報の読取やデータベースとの照合が失敗した場合も同様である。
(2)機能情報提供処理
プリンタ1101内のプリントサービス1104は、自身がどんな機能をサポートしているかに係る情報を提供することができる。具体的には、どんな機能をサポートしているかに係る情報を提供する旨の要求(機能情報提供要求と呼ぶ)のコマンドに対し、どんな機能をサポートしているかに係る情報を包含する応答(機能情報提供応答と呼ぶ)を発行するのである。
図46は、上記の機能情報提供要求のコマンドのスクリプトの例を表す。SOAPエンベロープは省略してある。記述46が、BMLinkSコマンドに係る記述で、XMLにて記述されている。記述46−1はユーザ名「Yamada Taroh」である。
図47は、上記の機能情報提供応答のスクリプトの例を表す。SOAPエンベロープは省略してある。記述47が、BMLinkSコマンドレスポンスに係る記述で、XMLにて記述されている。記述47−2はユーザ名「Yamada Taroh」である。記述47−2はどんな「標準機能」をサポートしているかに係る情報である。ここでは、ステープルをサポートしていないこと、カラーをサポートしていること、片面印刷・水平折り両面印刷・垂直折り両面印刷をサポートしていることが解る。すなわち、どんな印刷条件をサポートしているかが解る。記述47−3はどんな「拡張機能」をサポートしているかに係る情報である。ここでは、組織名のタグをサポートしていること、部署名のタグをサポートしていること、部署名その1のタグをサポートしていること、部署名その2のタグをサポートしていること、部署名その3のタグをサポートしていないこと、部署名その4のタグをサポートしていないこと、肩書きのタグをサポートしていることが解る。すなわち、どんな認証情報をサポートしているかが解る。なお、拡張機能にちなんで、これらのタグや認証情報を拡張タグや拡張認証情報とも呼ぶ。
なお、プリンタ1101内のプリントサービス1104は、どんな「標準機能」をサポートしているかに係る情報と、どんな「拡張機能」をサポートしているかに係る情報とを別々のテーブルで管理しており、どんな「拡張機能」をサポートしているかに係る情報の提供を、所定の設定に応じて制限することが可能である。設定が「制限」の場合には、図47の機能情報提供応答に記述47−3のような記述が添付されないことになる。設定が「非制限」の場合には、図47の機能情報提供応答に記述47−3のような記述が添付されることになる。設定を「制限」とすることで、拡張機能を理解していないユーザによる拡張機能の誤用、悪意を持つユーザによる拡張機能の悪用を防止することができる。
図48は、プリントサービス1104によって実行される機能情報提供処理に係るフローチャート図である。プリントサービス1104は、PC1121によって発行された機能情報提供要求のコマンドを受け取ると、PC1121に対して機能情報提供応答を発行することになる。この際に、プリントサービス1104が拡張機能をサポートしている場合(S1401)であって、拡張機能に係る機能情報提供の設定が「非制限」の場合(S1402)は、どんな「標準機能」をサポートしているかに係る情報と、どんな「拡張機能」をサポートしているかに係る情報とを包含する機能情報提供応答が発行(S1403)される。一方、プリントサービス1104が拡張機能をサポートしていない場合(S1401)や、拡張機能に係る機能情報提供の設定が「制限」の場合(S1402)は、どんな「標準機能」をサポートしているかに係る情報は包含するものの、どんな「拡張機能」をサポートしているかに係る情報は包含しない機能情報提供応答が発行(S1404)される。
(3)コマンド実行処理
PC1121によって発行(コマンド発行処理)されたプリントサービス1104に対するコマンドは、当該プリントサービス1104によって実行(コマンド実行処理)されることになる。第1節ではコマンド発行処理について説明したが、第3節ではコマンド実行処理について説明することにする。
プリントサービス1104は、プリントジョブを生成する旨のジョブ生成要求のコマンドを受け取ると、コマンドに挿入された認証情報に基づいて認証処理を実行する旨の「認証要求」を認証サーバ1111に対して発行する。当該認証処理で認証が許可されることを、当該コマンドを実行するための条件とするからである。
プリントサービス1104は、上記の認証処理で認証が許可された場合、上記のプリントジョブを実行する権限(アクセス権限)の有無を判断する旨の「アクセス権限判断要求」をACLサーバ1112に対して発行する。上記の認証処理で認証が許可されることに加えて、上記のプリントジョブを実行する権限の存在が確認されることを、上記のコマンドを実行するための条件とするからである。プリントサービス1104は、上記のプリントジョブを実行する権限の存在が確認された場合、上記のコマンドを実行して、上記のプリントジョブを生成する。プリンタ1101は、プリントサービス1104によって生成されたプリントジョブを実行して、文書データを印刷することになる。
プリントサービス1104は、上記の認証処理で認証が許可されなかった場合、プリンタ1101のポリシーに係る情報を提供する旨の「ポリシー情報提供要求」をポリシーサーバ1113に対して発行する。プリンタ1101のポリシーに係る情報に基づいて上記のコマンドを修正するためである。プリントサービス1104は、プリンタ1101のポリシーに合致する印刷条件(プリントジョブ実行条件)で文書データが印刷される(プリントジョブが実行される)ように上記のコマンドを修正した後、当該修正されたコマンドを実行して、プリントジョブを生成する。そのままでは実行できないコマンドを、実行できるよう修正して実行するのである。プリンタ1101は、プリントサービス1104によって生成されたプリントジョブを実行して、文書データを印刷することになる。
なお、認証サーバ1111とACLサーバ1112とポリシーサーバ1113の3台のサーバでそれぞれ実行される処理を、1台または2台のサーバでまとめて実行するようにしてもよい。また、プリンタ1101と別個の認証サーバ1111で実行される処理をプリンタ1101内の認証サービスで、プリンタ1101と別個のACLサーバ1112で実行される処理をプリンタ1101内のACLサービスで、プリンタ1101と別個のポリシーサーバ1113で実行される処理をプリンタ1101内のポリシーサービスで実行するようにしてもよい。
図49は、認証要求のコマンドのスクリプトの例を表す。SOAPエンベロープは省略してある。記述49が、BMLinkSコマンドに係る記述であり、XMLで記述されている。記述49−1はユーザ名「Yamada Taroh」である。記述49−2は、独自のタグを用いてジョブ生成要求のコマンドに挿入された状態で授受された認証情報である。
図50,51は、認証応答のスクリプトの例を表す。SOAPエンベロープは省略してある。図50は認証が成功した場合(認証が許可された場合)の認証応答であり、図51は認証が失敗した場合(認証が許可されなかった場合)の認証応答である。記述50,51が、BMLinkSコマンドレスポンスに係る記述であり、XMLで記述されている。
図52は、ACLサーバ1112により管理されているACL(Access Control List)の例を表す。アクセス権限欄の+と−はそれぞれ、プリントサービス1104(プリンタ1101)に対するアクセス権限の有無を意味する。例えば+rと−rはそれぞれ、プリントサービス1104に対するRead権限の有無、即ち、プリンタ1101からステータス情報を取得する権限の有無を意味する。例えば+wと−wはそれぞれ、プリントサービス1104に対するWrite権限の有無、即ち、プリンタ1101でプリントジョブを実行する権限の有無を意味する。
記述52−1は、認証情報「x−ORG−name」が「***株式会社」である場合には、営業部プリンタ(プリンタ1101の名前)に対するRead権限もWrite権限も有ることを意味している。記述52−2は、認証情報「x−ORG−group−name」が「・・・営業部」である場合には、営業部プリンタ(プリンタ1101の名前)に対するRead権限もWrite権限も有ることを意味している。記述52−3は、認証情報「x−ORG−title」が「課長」である場合には、営業部プリンタ(プリンタ1101の名前)に対するRead権限もWrite権限も無いことを意味している。
ACLサーバ1112は、プリントサービス1104によって発行されたアクセス権限判断要求を受け取ると、図52のようなACLに基づいてアクセス権限の有無を判断し、当該判断結果を包含するアクセス権限判断応答をプリントサービス1104に対して発行する。プリントサービス1104は、当該判断結果を参酌してアクセス権限の存在を確認する。
図53は、ポリシー情報提供要求のコマンドのスクリプトの例を表す。SOAPエンベロープは省略してある。記述53が、BMLinkSコマンドに係る記述であり、XMLで記述されている。記述53−1はユーザ名「Yamada Taroh」である。記述53−2は、独自のタグを用いてジョブ生成要求のコマンドに挿入された状態で授受された認証情報である。記述53−3は、ジョブ生成要求のコマンドに関するポリシーを情報提供対象とする旨の記述である。
図54は、ポリシー情報提供応答のスクリプトの例を表す。SOAPエンベロープは省略してある。記述54が、BMLinkSコマンドレスポンスに係る記述であり、XMLで記述されている。記述54−1は、ジョブ生成要求のコマンドに関するポリシーに係る情報提供内容である。ここでは、印刷色はモノクロが必須であること、印刷面は水平折り両面印刷が必須であること、レイアウトは2upが必須であること、ページ数は6ページが最大許容ページ数であることが解る。このように、ジョブ生成要求のコマンドに関するポリシーとして、各種印刷条件(プリントジョブ実行条件)に関するポリシーがポリシーサーバ1113により管理されているである。
図55,56は、プリントサービス1104が受け取ったジョブ生成要求(create_job)のコマンドのスクリプトの例を表す。SOAPエンベロープは省略してある。図55はポリシーに基づいて修正する前のコマンドであり、図56はポリシーに基づいて修正した後のコマンドである。記述55,56が、BMLinkSコマンドに係る記述であり、XMLで記述されている。条件1「印刷色」は、カラーからモノクロに修正されており、条件2「印刷面」は、片面印刷から水平折り両面印刷に修正されている。図54のポリシーによれば、印刷色はモノクロが必須であり、印刷面は水平折り両面印刷が必須であるためである。
図57は、プリントサービス1104によって実行されるコマンド実行処理に係るフローチャート図である。
プリントサービス1104は、プリントジョブを生成する旨のジョブ生成要求のコマンドを受け取ると、コマンドに認証情報が挿入されている場合(S1501)には、コマンドに挿入された認証情報に基づいて認証処理を実行する旨の「認証要求」を認証サーバ1111に対して発行(S1502)する。当該認証要求には、ジョブ生成要求のコマンド内の認証情報やRequesting User Name等が添付される。
プリントサービス1104は、上記の認証処理で認証が成功した場合(S1503)には、上記のプリントジョブを実行する権限(アクセス権限)の有無を判断する旨の「アクセス権限判断要求」をACLサーバ1112に対して発行(S1511)する。当該アクセス権限判断要求には、判断対象とするアクセス対象は何か(ここではプリンタ1101)の情報,判断対象とするアクセス権限は何か(ここではWrite権限)の情報,ジョブ生成要求のコマンド内の認証情報,等が添付される。プリントサービス1104は、上記のプリントジョブを実行する権限の存在が確認された場合(S1512)には、上記のコマンドを実行(S1541)する。確認されなかった場合(S1512)には、上記のコマンドを却下(S1521に移行するようにしてもよい)する。
プリントサービス1104は、上記の認証処理で認証が失敗した場合(S1503)には、プリンタ1101のポリシーに係る情報を提供する旨の「ポリシー情報提供要求」をポリシーサーバ1113に対して発行(S1521)する。当該ポリシー情報提供要求には、情報提供対象とするポリシーは何か(ここではジョブ生成要求のコマンドに関するポリシー)の情報等が添付される。プリントサービス1104は、ポリシー情報提供応答を受け取る(S1522)と、プリンタ1101のポリシーに合致する印刷条件(プリントジョブ実行条件)で文書データが印刷される(プリントジョブが実行される)ように上記のコマンドを修正(S1523)して、当該修正されたコマンドを実行(S1541)する。
一方、プリントサービス1104は、コマンドに認証情報が挿入されていない場合(S1501)には、アクセス制御を実施する設定の場合(S1531)に限り、プリントサービス1104が管理するRequesting User Nameのリスト中に、ジョブ生成要求のコマンド内のRequesting User Nameがリストアップされてるか否かを判断(S1532)する。リストアップされている場合には上記のコマンドは実行(S1541)され、リストアップされていない場合には上記のコマンドは却下(S1521に移行するようにしてもよい)される。なお、アクセス制御を実施しない設定の場合(S1531)には、アクセスフリーとなり、上記のコマンドが実行(S1541)される。
図58は、プリントサービス1104によって実行されるコマンド修正処理に係るフローチャート図である。図57のS1523がこれに相当する。
プリンタ1101のポリシー中に「ステープル」に係るポリシーが存在する場合(S1601)には、修正可能な限度(S1602)において、ジョブ生成要求のコマンド中の「ステープル」に係る印刷条件をポリシーに合致するように修正(S1603)する。修正不可能な場合(S1602)には、コマンドを却下する。
プリンタ1101のポリシー中に「印刷色」に係るポリシーが存在する場合(S1611)には、修正可能な限度(S1612)において、ジョブ生成要求のコマンドの「印刷色」に係る印刷条件をポリシーに合致するように修正(S1613)する。修正不可能な場合(S1612)には、コマンドを却下する。
プリンタ1101のポリシー中に「印刷面」に係るポリシーが存在する場合(S1621)には、修正可能な限度(S1622)において、ジョブ生成要求のコマンドの「印刷面」に係る印刷条件をポリシーに合致するように修正(S1623)する。修正不可能な場合(S1622)には、コマンドを却下する。
プリンタ1101のポリシー中に「レイアウト」に係るポリシーが存在する場合(S1631)には、修正可能な限度(S1632)において、ジョブ生成要求のコマンドの「レイアウト」に係る印刷条件をポリシーに合致するように修正(S1633)する。修正不可能な場合(S1632)には、コマンドを却下する。
プリンタ1101のポリシー中に「頁数」に係るポリシーが存在する場合(S1641)には、修正可能な限度(S1642)において、ジョブ生成要求のコマンドの「頁数」に係る印刷条件をポリシーに合致するように修正(S1643)する。修正不可能な場合(S1642)には、コマンドを却下する。
さて、第3節では、プリンタ1101内のプリントサービス1104が、コマンド実行処理の一環として、認証要求やアクセス権限判断要求やポリシー情報提供要求の発行等を行う場合について説明してきた。図57が、そのフローチャート図に相当する。その変形例として、プロキシサーバ1122内のプロキシサービス2602が、コマンド転送処理の一環として、認証要求やアクセス権限判断要求やポリシー情報提供要求の発行等を行う場合について説明することにする。図59と図60を説明に使用する。
図59は、プロキシサーバ1122においてプロキシサービス2602により実行されるコマンド転送処理に係るフローチャート図である。図59は図44の変形例に相当し、S1701,S1711,S1721,S1722,S1723,S1724,S1731,S1732,S1741はそれぞれ、S1201,S1211,S1221,S1222,S1223,S1224,S1231,S1232,S1241に相当する。ただし、S1741の処理の前にS1751の処理が実行される点が図44との相違点である。すなわち、図60の処理を経由(S1751)した後、コマンドが転送(S1741)されることになる。
図60は、プロキシサーバ1122においてプロキシサービス2602により実行されるコマンド転送処理に係るフローチャート図である。図60は図57の変形例に相当し、S1801,S1802,S1803,S1811,S1812,S1821,S1822,S1823,S1831,S1832はそれぞれ、S1501,S1502,S1503,S1511,S1512,S1521,S1522,S1523,S1531,S1532に相当する。なお、S1541の「コマンド実行」に相当する処理が存在しない点が図57との相違点である。代わりに存在する処理が、図59のS1741の「コマンド転送」である。
図60の「START」から「END」までの処理が、図59のS1751の処理に相当する。
なお、第1節から第3節までの説明は、プリンタ1101とプリントサービス1104を、スキャナ1102とスキャンサービス1105,ストレージ装置1103とストレージサービス1106に置き換えても成立する。すなわち、PC1121によって発行されたプリントサービス1104に対するコマンドが当該プリントサービス1104によって実行されるのと同様にして、PC1121によって発行されたスキャンサービス1105に対するコマンドが当該スキャンサービス1105によって実行され、PC1121によって発行されたストレージサービス1106に対するコマンドが当該ストレージサービス1106によって実行されるのである。この場合、プリントジョブを生成する旨のジョブ生成要求のコマンドは、スキャンジョブを生成する旨のジョブ生成要求のコマンド,ファイルを生成する旨のファイル生成要求のコマンド,データを読み出す旨のデータ読出要求のコマンド,データを書き込む旨のデータ書込要求のコマンド等に置き換えられる。プリンタドライバはスキャナドライバやストレージドライバに置き換えられる。
また、第1節から第3節までの説明は、図26でのプリンタ1101内のプリントサービス1104を、図27のプリントサーバ1107内のプリントサービス1104に置き換えても成立する。すなわち、PC1121によって発行された「プリンタ1101内のプリントサービス1104」に対するコマンドが当該プリントサービス1104によって実行されるのと同様にして、PC1121によって発行された「プリントサーバ1107内のプリントサービス1104」に対するコマンドが当該プリントサービス1104によって実行されるのである。この場合、プリントジョブは、プリントサーバ1107により生成され、プリンタ1101により実行されることになる。本段落の説明と前段落の説明とを総合すれば、図27のスキャンサーバ1108内のスキャンサービス1105,図27のストレージサーバ1109内のストレージサービス1106についても同様のことが言えることは明らかである。
(変形例)
図26や図27のPC1121は、本発明(情報処理装置)の実施例に該当し、図26や図27のPC1121により実行される情報処理は、本発明(情報処理方法)の実施例に該当する。図26や図27のPC1121は例えば、当該情報処理をコンピュータに実行させるコンピュータプログラムがインストールされたパーソナルコンピュータである。当該コンピュータプログラムは、本発明(情報処理プログラム)の実施例に該当し、当該コンピュータプログラムが記録されたCD−ROMは、本発明(記録媒体)の実施例に該当する。図26や図27のPC1121は例えば、当該CD−ROMに記録された当該コンピュータプログラムがインストールされたパーソナルコンピュータである。
図26や図27のプロキシサーバ1122は、本発明(情報処理装置)の実施例に該当し、図26や図27のプロキシサーバ1122により実行される情報処理は、本発明(情報処理方法)の実施例に該当する。図26や図27のプロキシサーバ1122は例えば、当該情報処理をコンピュータに実行させるコンピュータプログラムがインストールされたパーソナルコンピュータである。当該コンピュータプログラムは、本発明(情報処理プログラム)の実施例に該当し、当該コンピュータプログラムが記録されたCD−ROMは、本発明(記録媒体)の実施例に該当する。図26や図27のプロキシサーバ1122は例えば、当該CD−ROMに記録された当該コンピュータプログラムがインストールされたパーソナルコンピュータである。
本発明を実施するための最良の形態について図面を参照して説明する。
本実施の形態の画像処理装置は、図61に示す印刷システムのブロック図のように、プリンタ1がネットワーク2等を介して間接的又は直接的に接続されたホストコンピュータ(パーソナルコンピュータ)3への適用例を示す。プリンタ1の印刷方式は任意でありレーザプリンタ等でもよいが、本実施の形態では、例えば、図62に示すようなフルカラー両面印刷可能なインクジェットプリンタが用いられている。
このホストコンピュータ3は、コンピュータの主要部であって各部を集中的に制御するCPU(Central Processing Unit)4を備えており、このCPU4には、各種のROM(Read Only Memory)、RAM(Random Access Memory)からなる記憶媒体であるメモリ5と、ネットワーク2と通信を行う所定の通信インターフェイス6と、ユーザから各種の操作を受付けるキーボード等の操作パネル7とが、バス8を介して接続されている。
さらには、CRT(Cathode Ray Tube)やLCD(Liquid Crystal Display)等の表示装置であるディスプレイ9と、外部記憶装置であるHDD(Hard Disk Drive)10と、配布されたプログラムであるコンピュータソフトウェアを記憶した記憶媒体11からコンピュータソフトウェアを読み取るための機構であるドライブ12と、を備えており、これらのディスプレイ9、HDD10、ドライブ12も、バス8を介してCPU4に接続されている。
このような構成のホストコンピュータ3のメモリ5(のROM)には、制御プログラムの他、アプリケーションプログラムやプリンタドライバなるソフトウェアが記憶されている。
なお、記憶媒体11としては、CDやDVDなどの各種の光ディスク、各種光磁気ディスク、FDなどの各種磁気ディスク、半導体メモリ等、各種方式のメディアを用いることができる。また、ネットワーク2からプログラムをダウンロードし、メモリ5にインストールするようにしてもよい。なお、プログラムは、所定のOS(Operating System)上で動作するものであってもよいし、その場合に後述の各種処理の一部の実行をOSに肩代わりさせるものであってもよいし、所定のアプリケーションソフトやOSなどを構成する一群のプログラムファイルの一部として含まれているものであってもよい。
図62は、フルカラー両面印刷可能なインクジェットプリンタ1の主に用紙搬送経路を示す概略側面図である。本実施の形態で用いられるプリンタ1は、装置本体内の下部側に例えば2段の給紙カセット13を選択自在に備え、これらの給紙カセット13内に収容された用紙14を各々対応する給紙ローラ15、共通の搬送ローラ16,17を有する搬送経路18を経てインクヘッド19に対向する印刷位置に搬送可能とされている。インクヘッド19はインク(黒インク:顔料、カラーインク:染料)を有して排紙トレイ20上を搬送される用紙14に対してフルカラー印刷が可能なもので、主走査方向(紙面表裏方向)に往復移動自在とされている。なお、排紙トレイ20の下部には廃液タンク21が設けられている。また、搬送経路18に隣接させて用紙反転ユニット22が設けられている。この用紙反転ユニット22は大径な反転用ローラ23とこの反転用ローラ23周りに設けられて用紙14をこの反転用ローラ23面上にガイドするガイドローラ24等により構成されている。ここに、片面印刷モード時には給紙カセット13から搬送経路18を経て用紙14がインクヘッド19位置に搬送され、印刷動作を受けながら排紙トレイ20上にそのまま排紙される。一方、両面印刷モード時には、インクヘッド19により片面が印刷された用紙14を搬送ローラ17等の逆転により反転用ローラ23側に引き戻し、反時計方向に回転駆動されるこの反転用ローラ23周りを経て再びインクヘッド19側に搬送させて印刷に供することで裏面印刷が行われ、表裏両面に印刷された結果物が排紙トレイ20上に排紙される。
図63は、図61に示した印刷システムのソフトウェア構成図を示す。図63に示すように、ホストコンピュータ3内のソフトウェアは、各種描画データ用の複数のアプリケーションプログラム31と、プリンタドライバ32とからなり、プリンタ1はインクヘッド19を主とするプリンタエンジン33と記憶部34とプリンタコントローラ35とからなる。実際的には、アプリケーションプログラム31とプリンタドライバ32との間にはOSモジュールが介在されている。
ここに、アプリケーションプログラム31上での印刷指示からプリンタ1で通常印刷が行われるまでの基本的な動作について簡単に説明する。ユーザがホストコンピュータ3上で稼動しているアプリケーションプログラム31に対して印刷指示を与えると、アプリケーションプログラム31はそのソフトウェアに依存しない共通の手続きを通じて、そこに保持されている描画データを本文データとしてピクセル毎にプリンタドライバ32に出力する。プリンタドライバ32はアプリケーションプログラム31から入力された指示及び描画データをプリンタ1が理解できるコード形式に変換し、これをプリンタコントローラ35に出力する。プリンタコントローラ35はプリンタドライバ32から入力された描画データを順次解釈し、データに応じたビットマップ画像を形成し、プリンタエンジン33に出力することにより印刷動作を行わせる。
このような前提の下、印刷要求される画像データに対して濃度低下モードの設定に従いその印刷濃度を対象となるオブジェクトの種類に応じて低下させる処理を施して濃度低下モードによる印刷を可能にする本実施の形態のプリンタドライバ32の機能ブロック図を図64に示す。このプリンタドライバ32は、概略的には、UI(User Interface)設定部41とグラフィック処理部42とよりなる。UI設定部41はユーザインタフェースとして機能し、後述する濃度低下モードに関する各種設定を行うための濃度設定部43を有して当該プリンタドライバ32のUI処理を行うブロックである。このUI設定部41では、この他、印刷全般に関する各種印刷設定を指定することが可能である。
グラフィック処理部42は、当該プリンタドライバ32の印刷イメージを作成するためのブロックであり、本実施の形態の場合、オブジェクト分離部44、イメージ処理部45、グラフィック処理部46、文字処理部47、濃度補正部48及びインク噴出イメージ作成部49を有する。オブジェクト分離部44は、OSからの印刷要求に対してオブジェクト毎に処理を進めるためにオブジェクトを認識してオブジェクト毎に分離する処理を行う既存の機能部である。イメージ処理部45、グラフィック処理部46及び文字処理部47の各処理部は、各オブジェクト毎に印刷イメージを作成するためにオブジェクト特有の処理を行う既存の機能部である。濃度補正部48は、本実施の形態による特徴的な機能部の一つであり、オブジェクト毎に持つ色情報に対してその印刷濃度を補正する処理、具体的には、濃度低下モードが設定されている条件下では、対象となるオブジェクト毎に設定されている濃度低下分の補正処理(印刷画素に占める印刷材料の割合、ここでは、インク滴の大きさを変更する処理)を行う機能部である。インク噴出イメージ作成部49は、補正処理後の印刷イメージをインクヘッド19からのインク噴出のための噴出の並び順にデータ(最終的なドットイメージパターン)を並べ替え変換を行う機能部であり、このインク噴出イメージ作成部49により作成されたドットイメージパターンのデータは、OSのスプーラを介してプリンタ1に伝送されるデータとなる。なお、場合によっては、データに加工を施す等の処理を行う場合もある。
ここで、本実施の形態で利用するオブジェクト分離の仕組みの概略について図65を参照して説明する。まず、オブジェクトには、OSが規定するテキスト、イメージ、グラフィックによる3種類が存在し、本実施の形態ではこれらの3種類のオブジェクトを対象とする。もっとも、グラフィックによるオブジェクトには、定義された領域内を塗りつぶすフィルと線画であるラインとの2種類のオブジェクトが存在する。OSがN種類(Nは2以上の整数)のオブジェクトを規定する場合は、当該N種類のオブジェクトを対象とするとよい。まず、図65(a)に示すような印刷イメージをOSより受け取ったプリンタドライバ32は、図65(b)に示すようにテキスト、イメージ、グラフィック各々のオブジェクトを認識して分離する処理を行う。ついで、図65(c)に示すように、テキスト、イメージ、グラフィック各々のオブジェクトの情報整理を行う。ここでは、一例としてオブジェクトの種類とRGBの色情報とを例示しているが、情報の種類としては、例示したものに限らず、各オブジェクト毎に最適な情報種類が存在するのはもちろんである。
より実際的には、オブジェクトを分離するとは、例えば本実施の形態のようにプリンタドライバ32内での処理であれば、その上位のOSモジュールより、ページを記述するための無数のオブジェクト描画命令、例えば、図66(a)に示す「グラフィック ライン描画命令1」(一例として、Nの太さの黒線を始点(x1,y1)から(x2,y2)まで書け)、…、「テキスト 文字描画命令1」(一例として、文字"あいうえお"を黒で明朝体で始点(x3,y3)から書け)、…、「グラフィック ライン描画命令2」、「グラフィックライン描画命令3」、「イメージ ライン描画命令1」、…がくることになる。このような描画命令をオブジェクト分離部44でオブジェクトを認識して図66(b)に示すようにオブジェクト毎に分離抽出し、各々堆積させていく処理を行うものである。
このような構成において、本実施の形態では、プリンタドライバ32に、印刷要求される画像データに対してその印刷濃度を当該画像データのオブジェクトの種類に応じて低下させる濃度低下モードを選択的に設定する機能と、画像データに関してそのオブジェクトを認識して分離する機能と、分離された当該画像データに対して濃度低下モードの設定に従いその印刷濃度を対象となるオブジェクトの種類に応じて低下させる処理を施す機能と、処理が施された画像データに基づきドットイメージパターンを作成して前記プリンタに出力する機能と、を実行させるようにしたものである。即ち、アプリケーションプログラム31から印刷要求があった場合、プリンタドライバ32はOSモジュール経由で印刷処理を担うが、その際に、本実施の形態では、当該ページ中の画像データに関してオブジェクト分離部44でオブジェクトを認識分離して各々のオブジェクト(テキスト、イメージ、グラフィック)を抽出し、濃度補正部48で印刷濃度を低下させる処理としてそのRGB色濃度を変更する処理を行う。印刷濃度を低下させる処理として色濃度の変更を行うか否かは、オブジェクト毎の濃度低下モードの設定如何によるものであり、プログラム上での一定の定義に基づく自動モード設定によるものでも、UI設定部41を利用した設定画面上でのユーザからの設定操作に基づくものでもよい。濃度低下モードが設定されていないオブジェクトに関しては、印刷濃度を元のデータのまま据え置きとする。なお、印刷濃度を低下させる処理とは、基本的に、何れのオブジェクトに関してもその印刷位置、即ち印刷データ自身は変えることなく(情報量の低下は伴わない)、その大きさ、インクジェットプリンタの場合であれば、インクヘッド19から吐出させる噴出滴の大きさを少なくとも2段階以上に変更させることを意味し、特許文献1のような間引き方式とは全く異なるものである。
即ち、本実施の形態のようなインクジェットプリンタ1の場合であれば、図67中に示す黒丸がインクヘッド19の噴出滴の大きさを表しているとすると、印刷濃度の低下処理を行わない濃度100%の場合には図67(a)に示すように最大のドットサイズで印刷させるが、印刷濃度の低下処理として濃度70%の印刷を行わせる場合であれば、図67(b)に示すように、ドット中心位置(印刷位置)に変更はないがそのドットサイズを小さくすることにより、全体的にその濃度を低下させるものである。即ち、ドット中心間隔(印刷間隔)を一定間隔に維持しつつそのドットサイズを小さくすることにより、全体的にその濃度を低下させるのである。
この場合の印刷濃度を低下させる調整処理の一例としては、例えば、設定された濃度パラメータ(%)を濃度の計算値に反映させ、計算値から算出された濃度変換パラメータによりRGB値を変換し、変換されたRGB値によって、最終的に印刷のためのビットマップデータを作成する方法を採ることができる。つまり、図67(a)(b)に示すように濃度パラメータ(%)によりビットマップ上のドット配置間隔を調整し、濃度が薄くなるほど間隔をあけ濃度が濃いほど間隔が詰まるようにすることとなり、ドットサイズを併せて考慮すると、結果的には、ドット中心位置は変更されないビットマップデータとなる。
このような印刷濃度を低下させる処理を、図66(c)に示すように、各オブジェクト毎にモード設定に従い選択的に行うものである。
ところで、オブジェクト毎に印刷濃度を低下させるか否かの濃度低下モードの設定は任意であるが、本実施の形態の場合、濃度低下モードの態様としては各種態様を採り得る。
その一つとしては、テキスト、グラフィック及びイメージなる3種類のオブジェクトの全てについて印刷濃度を低下させる濃度低下モードの態様である。この態様によれば、情報量の低下による画質劣化を避けつつ、インクを大幅に節約することができる。特に、本実施の形態の両面印刷可能なインクジェットプリンタ1の場合におけるフルカラー両面印刷モード時に当該態様の濃度低下モードが設定されるようにすれば、インクの節約を図りつつ裏写り、裏抜け等の不具合の少ない両面印刷物を得ることができる。
濃度低下モードの別の態様例としては、テキスト、グラフィック及びイメージなる3種類のオブジェクトのうちの2種類又は1種類のオブジェクトについてのみ印刷濃度を低下させ残りの1種類又は2種類のオブジェクトについては濃度を据え置きとする濃度低下モードの態様である。具体的には、
a.グラフィックとイメージのオブジェクトのみ印刷濃度を低下させる濃度低下モード
b.イメージとテキストのオブジェクトのみ印刷濃度を低下させる濃度低下モード
c.テキストとグラフィックのオブジェクトのみ印刷濃度を低下させ濃度低下モード
d.テキストのオブジェクトのみ印刷濃度を低下させる濃度低下モード
e.グラフィックのみ印刷濃度を低下させる濃度低下モード
f.イメージのみ印刷濃度を低下させる濃度低下モード
のような組合せ例が挙げられる。何れの態様で設定するかは、印刷文書、印刷目的等に応じて適宜選択設定すればよい。
例えば、イメージ画像やグラフィック主体の文書であって文字情報が重要ではない文書を印刷する場合には、テキストについてのみ印刷濃度を低下させる濃度低下モードの設定が効果的となる。或いは、ウォータマーク文字が印刷設定に設定してある文書(印刷設定を文書に有するアプリケーション文書など)を印刷する際には、テキストについてのみ印刷濃度を低下させる濃度低下モードの設定としウォータマーク文字濃度を変更することで文書中の不要な情報の存在を邪魔にならない程度にその濃度を変更(薄く)することが有効である。また、文字とグラフィック、イメージの各々のオブジェクトで構成されている文書であって、文字情報が重要でありグラフィックやイメージはその補足的な役割を果たすと見做せる文書(一般には、オフィス文書の大半が相当すると思われる)を印刷する際には、グラフィックとイメージのみ印刷濃度を低下させる濃度低下モードの設定が効果的となる。
この場合、オブジェクトをさらに細分化すると、グラフィックのオブジェクトには、フィルとラインとがあるが、これらのオブジェクトについても個別に印刷濃度を低下させる濃度低下モードの設定を可能とすることにより、画像に応じた好みの印刷濃度の低下設定ができる。即ち、ベタ画像的なフィルなるオブジェクトに関して濃度低下モードを設定すれば、インクの節約を図ることができる。
さらに、これらのオブジェクトに関して、他の印刷要因との関係で、濃度低下モードを設定自在とするのも効果的である。例えば、カラー画像印刷モード時には、テキスト中の白黒文字以外の全てのオブジェクトの印刷濃度を低下させる態様の濃度低下モードを設定可能とすれば、例えばカラー文書として作成されたオフィス文書の印刷等に活用し、印刷イメージをそれほど損なわずにインクの節約を図ることができる。もっとも、この際、特定色、例えば、黄色等の元々目立たない色に関しては、印刷濃度の低下設定の対象外とすることが好ましい。これによれば、特定色に関する視認性の低下を防止することができる。また、白黒印刷モード時には、テキスト以外のオブジェクトの印刷濃度を低下させる態様の濃度低下モードを設定可能とすれば、例えば白黒文書として作成されたビジネス文書の印刷等に活用することで、印刷イメージをそれほど損なわずにインクの節約を図ることができる。
さらには、印刷に用いられる用紙14としては、普通紙、厚紙、インクジェット専用紙、OHP、CD−R等のラベル用紙など色々あるが、印刷する用紙の種類に応じて濃度低下モードの態様を自在に設定できるようにすることも効果的である。例えば、裏写りの点を考えた場合には、両面印刷時であっても裏写りの心配のない厚紙等の場合には濃度低下モードに設定せず通常通り印刷させるが、裏写りの心配のある普通紙等の場合には濃度低下モードを活用する等、用紙の種類に応じた印刷処理が可能となる。
ところで、このような各種態様の濃度低下モードの設定について説明する。この設定は、プリンタドライバ32におけるUI設定部41を利用し、ユーザがホストコンピュータ3のディスプレイ9を見ながら操作パネル7を操作することにより行われる。即ち、印刷オプションとしてディスプレイ9に表示される図68に簡略化して示すようなプリンタドライバ32の設定画面を通じて設定される。この設定画面は、濃度低下モードに関するもので、基本的な設定項目欄として、印刷時に濃度低下モードに設定するか否かを選択設定するための濃度調整モード設定欄51と両面時自動的に濃度調整を有効にするか否かを指定するための設定欄52とを有する。これにより、基本的に、濃度調整モード設定欄51にチェックを入れると濃度低下モードに設定され、同様に、設定欄52にチェックを入れると両面印刷モード時には自動的に濃度低下モードが有効となるように設定される。
また、より詳細な設定を行うために、オブジェクト別の設定欄53a〜53dが設けられており、所望の設定欄53a〜53dにチェックを入れることにより上述したような任意の組合せ態様の濃度低下モードに設定できる。例えば、濃度調整モード設定欄51にチェックを入れ、設定欄53a,53dにチェックを入れると、テキストとイメージとのオブジェクトに関して濃度低下モードが設定される。さらに、用紙種類毎に濃度低下モードを設定するか否かを指定するための設定欄54と用紙の種類として例えば普通紙、厚紙、インクジェット専用紙、OHP、CD−Rラベル用紙等を選択するための選択欄55とが設けられており、用紙種類毎の個別の濃度低下モードの設定が可能とされている。さらに、このような濃度低下モードの設定に際して、その濃度を低下させる程度(濃度%)は、当該プリンタ1用として予め実験結果等に基づき設定されている設定値をそのまま用いる自動濃度調整モードとする設定欄56aとユーザが独自に濃度%値を入力設定するモードとする設定欄56bとが択一的に設けられている。この場合、設定欄56aにチェックを入れれば、濃度低下モードにおける濃度低下の程度は、例えば70%の如く、装置仕様に従い自動的に設定される。設定欄56bにチェックを入れれば、濃度低下モードにおける濃度低下の程度はユーザ設定値に従うこととなる。この場合の濃度%値の設定は、設定欄57a〜57dを通じて各オブジェクト毎に任意に可能とされている。なお、58は設定内容を確定するためのOKキー、59は設定内容をキャンセルするためのキャンセルキーである。
図69を参照して濃度低下モードの設定内容例について説明する。図中の濃度数値はテキスト/グラフィック(ライン)/グラフィック(フィル)/イメージの各オブジェクト順の濃度値(%)とする。図示例では、片面印刷モード時と両面印刷モード時とについての設定例である。片面印刷モード時において、濃度調整モード設定欄51がチェックされておらずOFFの場合には、濃度低下処理を行わないため、100/100/100/100とされている。濃度調整モード設定欄51がチェックされてONの状態で、文字テキスト用の設定欄53aのみチェックされておらず、かつ、自動濃度用の設定欄56aがチェックされてONの場合には、100/70/70/70なる設定とされている。即ち、テキストに関しては濃度低下処理を行わない態様の濃度低下モードの設定例である。個別用の設定欄56bがチェックされてONの場合には、個別設定値による。もっとも、初期値は自動濃度ON時の値が参照される。また、両面印刷モード時の第1面に関しては、設定欄53a〜53dの全てがチェックされ、かつ、自動濃度用の設定欄56aがチェックされてONの場合には、85/70/70/70なる設定とされている。第2面に関しては、片面印刷時と同様に自動濃度用の設定欄56aがチェックされてONの場合には、100/70/70/70なる設定とされている。個別用の設定欄56bがチェックされてONの場合には、個別設定値による。このようなモード設定内容は、テーブルとして濃度設定部43に保持される。なお、第1面の設定「85/70/70/70」の方が第2面の設定「100/70/70/70」よりテキストの分だけ低いのは、乾燥前のインクが用紙搬送経路の随所に付着するのを防止するため、及び、裏移りや裏抜けを防止するためである。
このような設定条件下での濃度低下モードの処理制御例を図70に示す概略フローチャートを参照して説明する。まず、OSからの印刷要求があった場合、当該印刷要求に対してオブジェクト毎に処理を進めるためオブジェクト分離部44によりオブジェクト(テキスト、グラフィック、イメージ)を認識しオブジェクト毎に分離する(ステップS1)。次に、オブジェクト毎に必要な処理を行うが、濃度補正部48では、片面印刷モード/両面印刷モード等の印刷条件(第1面/第2面等を含めて)とともに、濃度設定部43より濃度低下モードに関する情報としてオブジェクト毎の濃度パラメータ情報(濃度%)を取得する(S2)。そして、取得した濃度パラメータ情報を用いてオブジェクト毎の色情報に対して濃度補正演算処理を行い、色情報(RGB)を決定する(S3)。この場合の濃度補正演算処理は、例えば、単純%乗算処理等である。このように決定された色情報を用いて各オブジェクト毎のビットマップデータを作成して合成することでページイメージを作成する(S4)。この場合、濃度を3段階に補正可能とし1画素を2ビットで表現するものとすると、濃度100%:11、濃度85%:10,濃度70%:01、濃度0%(印刷せず):00の如きビットマップデータに変換される。インク噴出イメージ作成部49では、このように促成されたページイメージをインクヘッド19用のヘッド情報にデータ変換し、必要に応じてデータ圧縮処理を施す(S5)。そして、変換されたデータをプリンタ1に転送出力させ(OS側で転送させるシステムが多い)(S6)、当該プリンタ1での印刷を実行させる(S7)。
図71に具体的な印刷出力例を示す。図71(a)はテキストとイメージとのオブジェクトを含むオフィス文書に基づく濃度100%(図右側のドットパターン例参照)での印刷出力例を示す。この例では、テキストは全て黒文字であり、イメージはフルカラー写真である。一方、図71(b)はこのようなオフィス文書に関して、イメージなるオブジェクトについては例えば濃度70%(図右側のドットパターン例参照)に濃度低下させる濃度低下モードに設定してある場合の印刷出力例を示す。テキスト部分の印刷濃度は100%で据え置きである。この場合、図71(a)のイメージ部分の印刷出力例との対比では、ドット抜けのない状態(情報量の低下のない状態)で印刷濃度が全体的に低下しており(インク消費量が節約されている)、ユーザに違和感を与えるほどには出力状態は変わっておらず、十分にその内容を把握し得る状態となっている。
図72に別の具体的な印刷出力例を示す。図72(a)はテキストとイメージとグラフィックとのオブジェクトが混在したオフィス文書に基づく濃度100%(図右側のドットパターン例参照)での印刷出力例を示す。この例では、テキストは白文字、黒文字、色文字であり、イメージはフルカラー写真であり、グラフィックはカラーグラフである。一方、図72(b)はこのようなオフィス文書に関して、イメージ及びグラフィックなるオブジェクトについては例えば濃度70%(図下側のドットパターン例参照)に濃度低下させる濃度低下モードに設定してある場合の印刷出力例を示す。テキスト部分の印刷濃度は100%で据え置きである。この場合、図72(a)のイメージ部分及びグラフィック部分の印刷出力例との対比では、ドット抜けのない状態(情報量の低下のない状態)で印刷濃度が全体的に低下しており(インク消費量が節約されている)、ユーザに違和感を与えるほどには出力状態は変わっておらず、十分にその内容を把握し得る状態となっている。