(57)【特許請求の範囲】
【請求項１】
複数のプリンタドライバを用いて前記複数のプリンタドライバの各々に対応したプリンタに複数の印刷ジョブを発行する印刷システムであって、
前記複数のプリンタドライバに対する共通の印刷設定をまとめて設定可能な第１ユーザインタフェースを表示させる第１表示制御手段と、
前記複数のプリンタドライバより指定されたプリンタドライバの個別のユーザインタフェースを表示部に表示させる第２表示制御手段と、
前記各々に対応したプリンタへの印刷ジョブの発行において、前記指定されたプリンタドライバに対応するプリンタに対しては前記第１ユーザインタフェース及び前記個別のユーザインタフェースを介して設定された印刷設定に基づく印刷ジョブを発行させ、他のプリンタに対しては前記個別のユーザインタフェースを用いることなく前記第１ユーザインタフェースを介して設定された印刷設定に基づく印刷ジョブを発行させる発行制御手段とを有することを特徴とする印刷システム。
【請求項２】
前記指定されたプリンタドライバの種別を判別する判別手段を更に備え、
前記第２表示制御手段は、前記判別手段の判別結果に応じて前記個別のユーザインターフェースの表示形態を変更させることを特徴とする請求項１に記載の印刷システム。
【請求項３】
前記判別手段は、前記指定されたプリンタドライバの前記個別のユーザインターフェースの表示内容を前記第２表示制御手段によって制御可能か否かを判別し、該判別結果に応じて前記個別のユーザインタフェースの表示形態を変更させることを特徴とする請求項２に記載の印刷システム。
【請求項４】
前記第２表示制御手段は、前記判別手段によって制御可能と判定された場合に、前記第１ユーザインターフェースにおける設定対象の設定項目については設定がなされないインターフェースとして、前記個別のユーザインターフェースを表示部に表示させることを特徴とする請求項３に記載の印刷システム。
【請求項５】
前記個別のユーザインタフェースにおいては、前記第１ユーザインタフェースでの設定対象の設定項目が非有効であることを特徴とする請求項１乃至３のいずれかに記載の印刷システム。
【請求項６】
所定の設定項目について、前記第１ユーザインターフェースを介しての設定を有効にするか、前記個別のユーザインターフェースを介しての設定を有効にするかを設定する設定手段を更に備えることを特徴とする請求項１乃至５のいずれかに記載の印刷システム。
【請求項７】
前記所定の設定項目には、給紙口設定が含まれることを特徴とする請求項６に記載の印刷システム。
【請求項８】
前記設定手段により所定の設定項目について個別のユーザインターフェースでの設定を有効にすると設定された場合に、前記第１ユーザインターフェースにおける該所定の設定項目についての設定表示を非有効にする手段を更に備えることを特徴とする請求項６又は７に記載の印刷システム。
【請求項９】
前記複数のプリンタドライバの夫々の設定項目のうち複数のプリンタドライバが共通で持つ設定項目を抽出する抽出手段を更に備え、
前記第１表示制御手段は、前記抽出手段により抽出された設定項目を設定可能な形態で前記第１ユーザインターフェースに反映させることを特徴とする請求項１乃至８のいずれかに記載の印刷システム。
【請求項１０】
前記発行制御手段は、分散印刷ジョブ、或いは、同報印刷ジョブ、或いは、代行印刷ジョブとしての印刷ジョブを発行させることを特徴とする請求項１乃至９の何れかに記載の印刷システム。
【請求項１１】
複数のプリンタの各々に印刷ジョブを発行する印刷システムであって、
前記複数の印刷ジョブに対する共通の印刷設定をまとめて設定可能な第１ユーザインタフェースを表示させる第１表示制御手段と、
前記複数のプリンタより指定されたプリンタの個別のユーザインタフェースを表示部に表示させる第２表示制御手段と、
前記複数のプリンタの各々への印刷ジョブの発行において、前記指定されたプリンタに対しては前記第１ユーザインタフェース及び前記個別のユーザインタフェースを介して設定された印刷設定に基づく印刷ジョブを発行させ、他のプリンタに対しては前記個別のユーザインタフェースを用いることなく前記第１ユーザインタフェースを介して設定された印刷設定に基づく印刷ジョブを発行させる発行制御手段とを有することを特徴とする印刷システム。
【請求項１２】
前記第２表示制御手段は、前記第１ユーザインタフェースにおける設定対象の設定項目を設定できないように前記個別のユーザインタフェースを表示部に表示させることを特徴とする請求項１１に記載の印刷システム。
【請求項１３】
複数のプリンタドライバを介して発行される複数の印刷ジョブへの印刷設定処理を含む印刷データ処理方法であって、
前記複数のプリンタドライバに対する共通の印刷設定をまとめて設定可能な第１ユーザインタフェースを表示させる第１表示制御工程と、
前記複数のプリンタドライバより指定されたプリンタドライバの個別のユーザインタフェースを表示部に表示させる第２表示制御工程と、
前記複数のプリンタドライバの各々に対応したプリンタへの印刷ジョブの発行において、前記指定されたプリンタドライバに対応するプリンタに対しては前記第１ユーザインタフェース及び前記個別のユーザインタフェースを介して設定された印刷設定に基づく印刷ジョブを発行させ、他のプリンタに対しては前記個別のユーザインタフェースを用いることなく前記第１ユーザインタフェースを介して設定された印刷設定に基づく印刷ジョブを発行させる発行制御工程とを有することを特徴とする印刷データ処理方法。
【請求項１４】
前記指定されたプリンタドライバの種別を判別する判別工程を更に備え、
前記第２表示制御工程は、前記判別工程の判別結果に応じて前記個別のユーザインターフェースの表示形態を変更させることを特徴とする請求項１３に記載の印刷データ処理方法。
【請求項１５】
前記判別工程は、前記指定されたプリンタドライバの前記個別のユーザインターフェースの表示内容を、前記制御工程によって制御可能か否かを判別し、該判別結果に応じて前記第個別のユーザインタフェースの表示形態を変更させることを特徴とする請求項１４に記載の印刷データ処理方法。
【請求項１６】
前記第２表示制御工程は、前記判別工程によって制御可能と判定された場合に、前記第１ユーザインターフェースにおける設定対象の設定項目については設定がなされないインターフェースとして、前記個別のユーザインターフェースを表示部に表示させることを特徴とする請求項１５に記載の印刷データ処理方法。
【請求項１７】
前記個別のユーザインタフェースにおいては、前記第１ユーザインタフェースでの設定対象の設定項目が非有効であることを特徴とする請求項１３乃至１５のいずれかに記載の印刷データ処理方法。
【請求項１８】
所定の設定項目について、前記第１ユーザインターフェースを介しての設定を有効にするか、前記個別のユーザインターフェースを介しての設定を有効にするかを設定する設定工程を更に備えることを特徴とする請求項１３乃至１６のいずれかに記載の印刷データ処理方法。
【請求項１９】
前記所定の設定項目には、給紙口設定が含まれることを特徴とする請求項１８に記載の印刷データ処理方法。
【請求項２０】
前記設定工程により所定の設定項目について個別のユーザインターフェースでの設定を有効にすると設定された場合に、前記第１ユーザインターフェースにおける該所定の設定項目についての設定表示を非有効にする工程を更に備えることを特徴とする請求項１８又は１９に記載の印刷データ処理方法。
【請求項２１】
前記複数のプリンタドライバの夫々の設定項目のうち複数のプリンタドライバが共通で持つ設定項目を抽出する抽出工程を更に備え、
前記第１表示制御工程は、前記抽出工程において抽出された設定項目を設定可能な形態で前記第１ユーザインターフェースに反映させることを特徴とする請求項１３乃至２０のいずれかに記載の印刷データ処理方法。
【請求項２２】
前記発行制御工程は、分散印刷ジョブ、或いは、同報印刷ジョブ、或いは、代行印刷ジョブとしての印刷ジョブを発行させることを特徴とする請求項１３乃至２１の何れかに記載の印刷データ処理方法。
【請求項２３】
複数のプリンタの各々に対して発行される印刷ジョブへの印刷設定処理を含む印刷データ処理方法であって、
前記複数の印刷ジョブに対する共通の印刷設定をまとめて設定可能な第１ユーザインタフェースを表示させる第１表示制御工程と、
前記複数のプリンタより指定されたプリンタの個別のユーザインタフェースを表示部に表示させる第２表示制御工程と、
前記複数のプリンタの各々への印刷ジョブの発行において、前記指定されたプリンタに対しては前記第１ユーザインタフェース及び前記個別のユーザインタフェースを介して設定された印刷設定に基づく印刷ジョブを発行させ、他のプリンタに対しては前記個別のユーザインタフェースを用いることなく前記第１ユーザインタフェースを介して設定された印刷設定に基づく印刷ジョブを発行させる発行制御工程とを有することを特徴とする印刷データ処理方法。
【請求項２４】
前記第２表示制御工程は、前記第１ユーザインタフェースにおける設定対象の設定項目を設定できないように前記個別のユーザインタフェースを表示部に表示させることを特徴とする請求項２３に記載の印刷データ処理方法。
【請求項２５】
請求項１３乃至２４のいずれかに記載の印刷データ処理方法をコンピュータに実行させるための制御プログラム。
【請求項２６】
請求項２５に記載の制御プログラムをコンピュータ可読の形態で記憶した記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、アプリケーションからの描画コマンドに対応して印刷処理を行う印刷制御装置及び方法及びコンピュータに印刷データ処理を実行させるための制御プログラム、並びにその制御プログラムを格納したコンピュータが読み出し可能な記憶媒体に関するものである。
【０００２】
【従来の技術】
近年、ネットワーク機器が一般に利用され、ネットワーク上に多数のパソコン（以下、ＰＣ）やプリンタが接続されるようになった。このような印刷環境下で、複数のプリンタを対象にした分散印刷や同報印刷等が知られている。例えば、分散印刷では、１つのジョブを所定のページ範囲に分割して複数のプリンタにて印刷を行わせる。また、同報印刷では、複数のプリンタに所定部数づつの印刷を割り当てて、並行して処理させることにより、１つのジョブについて複数部数の印刷出力を得る。
【０００３】
また、上に説明したような印刷環境下において利用される複数のプリンタは夫々異なる特性（設定項目）を持ったプリンタが混在していることがあることがあり、そのような夫々が異なる特性を持った複数のプリンタの設定を行うには、夫々のプリンタに対応したプリンタドライバが提供するユーザインターフェースを介して設定を個別に行う必要があった。また、複数のプリンタを対象に、まとめて統一された設定を行うような設定方法も提案されている。
【０００４】
【発明が解決しようとする課題】
しかしながら、上述した、従来の、統一された設定を行う設定方法においては、夫々のプリンタの特性の矛盾（複数のプリンタ間における設定可能な機能等の不一致）が考慮されていないために、多々不都合が生じていた。
【０００５】
また、複数のプリンタドライバを対象とするような印刷設定を前提とした場合に、一括して設定させるよりも、個々のプリンタドライバで個別に設定したほうが効率的であるような項目が存在することは想定され得ることである。しかしながら、従来ではそのようなことは想定されていない。さらに、夫々のプリンタドライバについて個別に設定する項目が存在するような場合には、従来では個別に設定を行うしかなかった。
【０００６】
そこで、例えば、夫々のメンバプリンタドライバの設定ユーザインターフェースを１つのユーザインターフェースに一括して設定可能に表示させるようなことも考えられるが、そのようなことは設定項目数を多くしすぎることに結びつき、かえってユーザを混乱させてしまうおそれがある。
【０００７】
以上のように、従来の技術においては、複数のプリンタを対象にした場合に、個々のプリンタドライバに対して可能な限りの設定を効率良くユーザが行えるような設定環境はなかった。すなわち、複数のメンバプリンタドライバＵＩの設定を１つのプリンタドライバＵＩで設定する方法として、いくつかの方法が提案されてはいるものの、個々のメンバプリンタドライバＵＩで設定を行う方法に勝る効率の良い設定方法はなかった。
【０００８】
本発明は上記課題を解決するためになされたものであり、複数のプリンタを対象に効率良く、容易に機能設定を行えるユーザインターフェースを提供することを目的とする。
【０００９】
【課題を解決するための手段】
上記の目的を達成するための本発明による印刷システムは以下の構成を備える。即ち、
複数のプリンタドライバを用いて前記複数のプリンタドライバの各々に対応したプリンタに複数の印刷ジョブを発行する印刷システムであって、
前記複数のプリンタドライバに対する共通の印刷設定をまとめて設定可能な第１ユーザインタフェースを表示させる第１表示制御手段と、
前記複数のプリンタドライバより指定されたプリンタドライバの個別のユーザインタフェースを表示部に表示させる第２表示制御手段と、
前記各々に対応したプリンタへの印刷ジョブの発行において、前記指定されたプリンタドライバに対応するプリンタに対しては前記第１ユーザインタフェース及び前記個別のユーザインタフェースを介して設定された印刷設定に基づく印刷ジョブを発行させ、他のプリンタに対しては前記個別のユーザインタフェースを用いることなく前記第１ユーザインタフェースを介して設定された印刷設定に基づく印刷ジョブを発行させる発行制御手段とを備える。
【００１０】
また、上記の目的を達成するための本発明による印刷データ処理方法は、
複数のプリンタドライバのを介して発行される複数の印刷ジョブへの印刷設定処理を含む印刷データ処理方法であって、
前記複数のプリンタドライバに対する共通の印刷設定をまとめて設定可能な第１ユーザインタフェースを表示させる第１表示制御工程と、
前記複数のプリンタドライバより指定されたプリンタドライバの個別のユーザインタフェースを表示部に表示させる第２表示制御工程と、
前記複数の印刷ジョブの発行において、前記指定されたプリンタドライバに対応するプリンタに対しては前記第１ユーザインタフェース及び前記個別のユーザインタフェースを介して設定された印刷設定に基づく印刷ジョブを発行させ、他のプリンタに対しては前記個別のユーザインタフェースを用いることなく前記第１ユーザインタフェースを介して設定された印刷設定に基づく印刷ジョブを発行させる発行制御手段とを備える。
【００１１】
【発明の実施の形態】
以下、添付の図面を参照して本発明の好適な実施形態について説明する。
【００１２】
図１は、本発明を適用可能な情報処理システムの構成を説明するブロック図である。なお、本システムにおけるクライアントコンピュータは、１台、または複数台接続されていることを仮定している。
【００１３】
図１において、１０２、１０３、１０４はクライアントとしての情報処理装置（以下、クライアントコンピュータという）であり、イーサネット（登録商標）などのネットワークケーブルによって、ネットワーク１０６に接続され、アプリケーションプログラム等の各種のプログラムを実行可能である。各クライアントは、印刷データをプリンタに対応するプリンタ言語に変換する機能を有するプリンタドライバを搭載している。なお、プリンタドライバは複数のプリンタドライバをサポートするものとする。すなわち、システムに登録可能なプリンタは複数台であり、かつ、メンバプリンタドライバとしては複数のメーカから提供されるドライバでも対象となる。
【００１４】
１０１は本実施形態のサーバとしての情報処理装置（以下、プリントサーバと呼ぶ）であり、ネットワークケーブルによって、ネットワーク１０６に接続され、ネットワーク１０６で使用されるファイルを蓄積したり、ネットワーク１０６の使用状態を監視したりする。プリントサーバ１０１は、ネットワーク１０６に接続されている複数のプリンタを管理している。
【００１５】
なお、クライアントコンピュータ１０２〜１０４とプリントサーバ１０１の構成は、一般的な情報処理装置であり、クライアントコンピュータとプリントサーバには、それぞれ異なる制御を行う印刷制御プログラムが実行可能に格納されている。また、プリントサーバ１０１は、クライアントとしての機能を同時に持つこともできる。
【００１６】
本実施形態におけるプリントサーバ１０１はさらに次のような機能を備えている。すなわち、（１）クライアントコンピュータ１０２、１０３、１０４から印刷要求が出された印字データを含む印刷ジョブを格納して印刷する、（２）クライアントコンピュータ１０２、１０３、１０４から印字データを含まないジョブ情報を受け取り、クライアントコンピュータ１０２、１０３、１０４の印刷順序を管理し、印刷の順番が来たクライアントに対して印字データを含む印刷ジョブの送信許可を通知する、（３）ネットワークプリンタ１０５のステータスや印刷ジョブの各種情報を取得し、クライアントコンピュータ１０２、１０３、１０４に通知する、等の機能を揃えている。
【００１７】
１０５は印刷制御装置であるネットワークプリンタであり、図示を省略したネットワークインタフェースを介してネットワーク１０６と接続されている。ネットワークプリンタ１０５は、クライアントコンピュータから送信される印字データを含む印刷ジョブをネットワーク１０６を介して受信し、これを解析して１ページずつドットイメージに変換して、１ページ毎に印刷する。また、１０６はネットワークであり、クライントコンピュータ１０２、１０３、１０４、サーバ１０１、ネットワークプリンタ１０５等を接続している。
【００１８】
図２は、本実施形態の情報処理装置の構成を説明するブロック図である。クライントコンピュータ１０２、１０３、１０４は、情報処理装置であり、図２に示構成を有する。さらにプリントサーバ１０１も図２に示される構成と同様あるいは同等のハードウエア構成を有する。よって、以下の説明において、図２はクライアントとサーバの構成を説明するブロック図として説明する。
【００１９】
図２において、２００は情報処理装置の制御手段であるＣＰＵであり、ハードディスク（ＨＤ）２０５に格納されているアプリケーションプログラム、プリンタドライバプログラム、ＯＳや本実施形態のネットワークプリンタ制御プログラム等を実行し、ＲＡＭ２０２にプログラムの実行に必要な情報、ファイル等を一時的に格納する制御を行う。
【００２０】
２０１は記憶手段であるＲＯＭであり、内部には、基本Ｉ／Ｏプログラム等のプログラム、文書処理の際に使用するフォントデータ、テンプレート用データ等の各種データを記憶する。２０２は一時記憶手段であるＲＡＭであり、ＣＰＵ２００の主メモリ、ワークエリア等として機能する。
【００２１】
２０３は記憶媒体読み込み手段としてのフロッピー（登録商標）ディスク（ＦＤ）ドライブであり、後述する図５に示すようにＦＤドライブ２０３を通じて記憶媒体としてのＦＤ２０４に記憶されたプログラム等を本コンピュータシステムにロードすることができる。なお、記憶媒体は、ＦＤに限らず、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＰＣカード、ＤＶＤ、ＩＣメモリカード、ＭＯ、メモリスティック等、任意である。なお、２０４は記憶媒体であるフロッピーディスク（ＦＤ）であり、コンピュータが読み取り可能なプログラムが格納された記憶媒体である。
【００２２】
２０５は外部記憶手段の一つであり、大容量メモリとして機能するハードディスク（ＨＤ）であり、アプリケーションプログラム、プリンタドライバプログラム、ＯＳ、ネットワークプリンタ制御プログラム、関連プログラム等を格納している。さらにスプール手段であるスプーラはここに確保される。スプール手段は、クライアントではクライアントスプーラのことであり、プリントサーバではサーバスプーラのことである。また、プリントサーバでは、クライアントから受けたジョブ情報を格納し、順序制御を行うためのテーブルもこの外部記憶手段に格納される。
【００２３】
２０６は指示入力手段であるキーボードであり、ユーザがクライアントコンピュータに対して、また、オペレータや管理者がプリントサーバに対して、デバイスの制御コマンドの命令等を入力指示するものである。２０７は表示手段であるディスプレイであり、キーボード２０６から入力したコマンドや、プリンタの状態等を表示したりするものである。２０８はシステムバスであり、クライアントやプリントサーバであるコンピュータ内のデータの流れを司るものである。２０９は入出力手段であるインタフェースであり、該インタフェース２０９を介して情報処理装置は外部装置とのデータのやり取りを行う。インターフェース２０９は例えばネットワークインターフェースであり、ネットワーク１０６とシステムバス２０８とを接続する。
【００２４】
図３は、図２に示したＲＡＭ２０２のメモリマップの一例を示す図であり、ＦＤ２０４からネットワークプリンタ制御プログラムがＲＡＭ２０２にロードされ実行可能となった状態のメモリマップである。本実施形態では、ＦＤ２０４からネットワークプリンタ制御プログラムおよび関連データを直接ＲＡＭ２０２にロードして実行させる例を示すが、これ以外にも、ネットワークプリンタ制御プログラムを動作させる度に、既にネットワークプリンタ制御プログラムがインストールされているＨＤ２０５から、等該制御プログラムをＲＡＭ２０２にロードするようにしてもよい。
【００２５】
また、本ネットワークプリンタ制御プログラムを記憶する媒体は、ＦＤ以外にＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＰＣカード、ＤＶＤ、ＩＣメモリカードであってもよい。さらに、本ネットワークプリンタ制御プログラムをＲＯＭ２０１に記憶しておき、これをメモリマップの一部となすように構成し、直接ＣＰＵ２００で実行することも可能である。また、以上の各装置と同等の機能を実現するソフトウェアをもって、ハードウェア装置の代替として構成することもできる。
【００２６】
また、本ネットワークプリンタ制御プログラムのことを、簡単に印刷制御プログラムと呼ぶこともある。印刷制御プログラムは、クライアントにおいて印刷ジョブの印刷先の変更を指示したり、印刷順序を変更する指示をするための制御を行うプログラムを含み、また、プリントサーバにおいて、印刷ジョブの順序制御を行ったり、印刷ジョブの印刷終了や印刷先変更要求などを通知するためのプログラムを含んでいる。
【００２７】
また、このような制御を行う本実施形態の印刷制御プログラムは、クライアントにインストールされるモジュールと、プリントサーバにインストールされるモジュールを別々に分けてもよいし、ひとつの印刷制御プログラムが、実行される環境によりクライアント用として機能したり、またはプリントサーバ用として機能するようにしてもよい。あるいは一台のコンピュータに、クライアント用の機能を持つモジュールと、プリントサーバ用として機能するモジュールをともにインストールし、同時に、あるいは時分割で擬似的に平行動作させる構成も可能である。
【００２８】
図３において、３０１は基本Ｉ／Ｏプログラムであり、本制御装置の電源がＯＮされたときに、ＨＤ２０５からＯＳをＲＡＭ２０２にロードしてＯＳの動作を開始させるＩＰＬ（イニシャルプログラムローデイング）機能などを有するプログラムである。３０２はオペレーティングシステム（ＯＳ）であり、３０３はネットワークプリンタ制御プログラムで、それぞれＲＡＭ２０２上に確保される領域に記憶される。３０４は関連データで、ＲＡＭ２０２上に確保される領域に記憶される。さらに、３０５はワークエリアで、ＣＰＵ２００が本プリンタ制御プログラムを実行するにおいて、一時的なデータの格納等に利用するべく確保された領域である。
【００２９】
図４は、図２に示したＦＤ２０４のメモリマップの一例を示す図である。図４において、４０１はデータの情報を示すボリューム情報であり、４０２はディレクトリ情報、４０３は本実施形態で説明する印刷制御プログラムであるネットワークプリンタ制御プログラム、４０４はその関連データである。４０３のネットワークプリンタ制御プログラムは、実施形態で説明するフローチャートに基づいてプログラム化したものであり、本実施例では、クライアント、サーバ共、同様の構成をとっている。
【００３０】
図５は、図２に示したＦＤドライブ２０３に対して挿入されるＦＤ２０４との関係を示す図であり、図２と同一のものには同一の符号を付してある。図５において、ＦＤ２０４には、図４で説明したように、本実施形態で説明するネットワークプリンタ制御プログラムおよび関連データが格納されている。
【００３１】
次に本実施形態における、プリンタを複数台使用して、前述の分散、同報、代行といった印刷処理を行う、印刷ジョブ制御システムについて説明する。なお、本実施形態では、複数のプリンタを１台のプリンタとして仮想的に束ね、これをグループプリンタ（仮想的なプリンタである）と呼び、束ねられている各プリンタをメンバプリンタと呼ぶ。また、対応するプリンタドライバをそれぞれグループプリンタドライバ、メンバプリンタドライバと呼ぶ。メンバプリンタドライバとはプリンタが解釈可能なＰＤＬデータを生成するソフトゥエア自体を指すものとする。
【００３２】
また、夫々のメンバプリンタドライバには通信ポートが対応して設定されており、物理的なプリントデバイスが対応している。このため、メンバプリンタドライバを該メンバプリンタドライバに対応したプリントデバイスとして本発明を適用することも場合によっては想定される。
【００３３】
図６は本システムのクライアントサーバモデルにおいてＭｉｃｒｏｓｏｆｔ  Ｗｏｒｄ（商標）などの一般的なアプリケーションから発行された印刷ジョブが、印刷ジョブ制御システムにおいてどのように処理されるかを示した図である。図６において、６００はクライアントコンピュータ（図１の１０２から１０４に対応する）であり、本実施形態の印刷ジョブ制御システムのクライアントモジュールが動作するマシンを指す。また、６１０はプリントサーバであり、図１の１０１に対応している。
【００３４】
通常、印刷の指示がされるとアプリケーションプログラムは一連の描画命令を生成し、プリンタドライバを経てスプーラ（例えば、Ｗｉｎｄｏｗｓ  Ｓｐｏｏｌｅｒ）に渡される。スプーラは、ユーザが選択したポートモニタにプリントジョブデータを渡してプリントデバイスに送信させる手順をとる。
【００３５】
これに対して、本実施形態では、ユーザはあらかじめ印刷ジョブ制御システム用のポートモニタ６２１（以降、本実施形態ではジョブ制御ポートモニタと略記）を指定して印刷を指示する。印刷指示を受けたアプリケーションプログラム６０１は一連の描画命令を生成する。描画命令を受け取ったグループプリンタドライバ６０３では、汎用印刷ファイルを生成する。そして、グループプリンタドライバ６０３は、プリントデバイスへプリントジョブデータを送信するポートモニタではなく、ジョブ制御ポートモニタ６２１に、この汎用印刷ファイルをプリントジョブデータとして送信する。さらに、ジョブ制御ポートモニタ６２１はプリントジョブデータをプリントデバイス６５０に送信するのではなく、印刷ジョブ制御システム用プリントサービス６２２（以降、本実施形態ではジョブ制御プリントサービスと略記）に送信する。ジョブ制御プリントサービス６２２は、受けとったプリントジョブデータに対して、後述するような印刷ジョブ制御処理を行う。
【００３６】
印刷ジョブ制御システム用プリントマネージャ６２３（以降、本実施例ではジョブ制御プリントマネージャと略記）は、ユーザがジョブ制御プリントサービス６２２内部でプリントジョブがどのような状態にあるかを調べたり、プリントジョブを操作したりするためのユーザインタフェース（以下、ＵＩ）を提供するためのプログラムである。ジョブ制御プリントマネージャ６２３はジョブ制御プリントサービス６２２のソフトウェアのインタフェース（ＡＰＩ）を介して、ジョブ制御プリントサービス６２２と情報・指示をやり取りしている。
【００３７】
一方、プリントサーバ６１０において、印刷ジョブ制御システム用サーバ６３０（以降、本実施例ではジョブ制御サーバと略記）は、個々のクライアント６００上のジョブ制御プリントサービス６２２がプリントデバイス６５０にプリントジョブデータを送信するタイミングを集中制御（スケジューリング）している。印刷ジョブ制御システム用マネージメントコンソール６３３（以降、本実施形態ではジョブ制御マネージメントコンソールと略記）は、ジョブ制御サーバ６３０が持つソフトウェアがアクセスするためのＡＰＩを介してジョブ制御サーバ６３０と情報・指示をやり取りすることで、印刷ジョブ制御システム全体を監視することができる。
【００３８】
また、ジョブ制御サーバ６３０はデバイス情報コントロールモジュール６３１を用いて各プリントデバイス６５０と通信を行い、各プリントデバイス内の印刷ジョブや動作状態に関する情報を入手したり、操作を行ったりする。入手した情報はクライアント６００側のジョブ制御プリントサービス６２２に渡すことができる。
【００３９】
次に本実施形態におけるグループプリンタドライバ６０３からの印刷について説明する。グループプリンタドライバ６０３はアプリケーションプログラムが生成した一連の描画コマンドを、プリントデバイスの種類に依存しない中間フォーマットのファイルである汎用印刷ファイルに変換する。この汎用印刷ファイルの構成については後述する。
【００４０】
この汎用印刷ファイルは前述したようにスプーラ６０４からジョブ制御ポートモニタ６２１を経て（ａ）、ジョブ制御プリントサービス６２２に導かれる（ｂ）。ジョブ制御プリントサービス６２２はこのプリントジョブに対して行うジョブ制御の種類に応じて、汎用印刷ファイルをもとに描画コマンドを生成し（ｃ）、ＰＤＬドライバ６０２がその描画コマンドをプリントデバイス６５０が解釈可能なＰＤＬファイルにする。図６では、ジョブ制御プリントサービス６２２で、このプリントジョブに対してプリントジョブを２つに分けるジョブ制御が行われる例であり、２つのメンバジョブが生成された例を２つの矢印（ｃ）で示している。ＰＤＬドライバ６０２で生成されたＰＤＬファイルはスプーラ６０４、ジョブ制御ポートモニタ６２１を経て（ｄ）、再びジョブ制御プリントサービス６２２に渡される（ｅ）。ジョブ制御プリントサービス６２２は、ジョブ制御サーバ６３０の指示に従ってＰＤＬのプリントジョブデータをプリントデバイス６５０に送信する（ｆ）。
【００４１】
ジョブ制御プリントサービス６２２は、汎用印刷ファイル中の印刷指示書（図８で後述する印刷指示部）の指示にしたがって、一つの汎用印刷ファイルを複数のプリントジョブに論理的に分割してそれぞれ別のプリントデバイスに送信したり、一度送信したプリントジョブデータを別のプリントデバイスに送信し直したりする。図６における（ｃ）（ｄ）（ｅ）（ｆ）はそのような場合のプリントジョブデータの経路を示している。
【００４２】
一方、汎用印刷ファイルをアプリケーションソフトウェアが作成し、そのアプリケーションソフトウェアが汎用印刷ファイルを印刷ジョブとして直接投入する場合、一般のアプリケーションとはグループプリンタドライバ６０３への情報の渡し方や、グループプリンタドライバ６０３での処理内容が異なる。
【００４３】
前述のように、一般のアプリケーションの場合、アプリケーションはグループプリンタドライバ６０３に描画情報を渡す際、通常のプリンタドライバと同じようにＷｉｎｄｏｗｓのＧＤＩ関数を呼び出し、グループプリンタドライバ６０３がそれに応じて汎用印刷ファイルを生成する。これに対して汎用印刷ファイルを直接作成するアプリケーションの場合は、アプリケーションが汎用印刷ファイルをすでに持っており、それをグループプリンタドライバ６０３に供給する。グループプリンタドライバ６０３は、必要に応じて、あらかじめ設定された印刷方法に基づいて汎用印刷ファイル内部の印刷指示書を書き換えてスプーラ６０４に送る。
【００４４】
図８は、汎用印刷ファイルの構成の一例を示した図である。本実施形態で使用される汎用印刷ファイルは、印刷指示部８−ａと、ドキュメントデータ部８−ｂからなる。印刷指示部８−ａは、ドキュメントの情報と印刷指示を記述した部分である。また、ドキュメントデータ部８−ｂは、アプリケーションのドキュメントのデータを汎用的な形式のデータに変換したものであり、プリンタ言語に依存しないデータフォーマットとなっている。
【００４５】
印刷指示部８−ａはヘッダ部、ページ情報部、印刷体裁指示部、出力方法指定部、グループプリンタドライバ設定情報部、メンバプリンタ数（メンバプリンタドライバ数）、メンバプリンタドライバ名、メンバプリンタドライバ設定情報部などから構成されている。以下、これらについて説明する。
【００４６】
ヘッダ部は本ファイルのバージョン識別やファイル情報などの情報を格納する部分である。ページ情報部は、ドキュメントデータ部８−ｂのドキュメントデータのページ数、各ページのサイズなどの情報を格納する部分である。印刷体裁指示部は、印刷ページ範囲、印刷部数、ドキュメントデータの面付け情報（Ｎ−ＵＰや製本印刷など）、ステイプル指示やパンチ指示など、出力体裁に関する情報を格納する部分である。出力方法指定部は、出力方法として、分散印刷、カラーモノクロ分散印刷、代行印刷、同報印刷などの情報を格納する部分である。グループプリンタドライバ設定情報部は、後述するグループプリンタドライバのＵＩの設定情報を格納する部分である。メンバプリンタ数はグループプリンタドライバが関連付けているメンバプリンタドライバの数を格納する部分である。メンバプリンタドライバ名（メンバプリンタドライバを識別するための識別情報）は、メンバプリンタのプリンタドライバ名を格納する部分である。メンバプリンタドライバ設定情報部はメンバプリンタドライバのドライバＵＩの設定情報として例えばＤＥＶＭＯＤＥ情報を格納する部分である。このメンバプリンタドライバ名とメンバプリンタドライバ設定情報部は、前述のメンバプリンタ数に格納された数だけの格納エリアを持っている。
【００４７】
前述の図６で説明したグループプリンタドライバ６０３では、汎用印刷ファイルを生成する際、グループプリンタドライバが提供するＧＵＩ上の設定を印刷指示部８−ａへ記録する。さらに、グループプリンタドライバ６０３はＧＤＩでアプリケーション６０１より受け取ったデータを汎用的なデータに変換しドキュメントデータとして、本汎用印刷ファイルのドキュメントデータ部８−ｂに記録することとなる。
【００４８】
なお、本汎用印刷ファイルは、印刷指示部８−ａとドキュメントデータ部８−ｂが異なるファイルであってもかまわない。その場合、印刷指示部は印刷指示書ファイルとして、ドキュメントデータ部はドキュメントデータファイルとしてそれぞれ存在し、これらを一つのアーカイブ形式でまとめて同様に一つのファイルのように扱うことも可能である。
【００４９】
次に図７を参照して、Ｗｉｎｄｏｗｓが提供するＰｒｉｎｔＳｙｓｔｅｍと印刷ジョブ制御システムにおける印刷ジョブの関係と処理概要をさらに詳しく述べる。
【００５０】
図７中で印刷ジョブ制御システム７００は、サーバとクライアントの制御プログラムが動作する物理的なマシンを跨いだ、印刷ジョブ制御システムの範囲を示している。また、サーバが管理している出力ポート（Ｏｕｔｐｕｔ  Ｐｏｒｔ）７１１Ａ，Ｂは、クライアントのジョブ制御プリントサービス６２２のプロキシ出力ポート（Ｐｒｏｘｙ  ＯｕｔｐｕｔＰｏｒｔ）７１２Ａ，Ｂと関連付けられ、ひとつのポートに関連づけられた各クライアント上のプロキシ出力ポート全てを統一的に管理している。本実施形態では、実際のプリントジョブデータは各々のクライアントのプロキシ出力ポート７１２に保持される。ジョブ制御サーバ６３０は、プリントジョブデータ自体の送信処理は行わず、ジョブ制御プリントサービス６２２に対して印刷ジョブの送信指示のみを行う。クライアントのジョブ制御プリントサービス６２２は、その指示に応じてプリントジョブデータをデバイス６５０に送信する。
【００５１】
次に、印刷ジョブ制御システム７００が、代行印刷、分散印刷、同報印刷などの付加価値的な印刷を行う場合の処理を説明する。
【００５２】
印刷ジョブ制御システム７００が、代行印刷、分散印刷、同報印刷などの付加価値的な印刷を行う場合には、前述のようにユーザまたはアプリケーション６０１はグループプリンタドライバ６０３が割り当てられたプリンタに印刷ジョブを発行しなければならない。ジョブ制御プリントサービス６２２は、グループプリンタドライバ６０３によって処理されたジョブデータをジョブ制御ポートモニタ６２１、論理ポート７１０を介して汎用印刷ファイルとして受け取る。ジョブ制御プリントサービス６２２はこのジョブを受け取り、デスプーラ（Ｄｅ−ｓｐｏｏｌｅｒ）７０１を介してＰＤＬドライバ６０２が割り当てられた別のプリンタにジョブ（メンバジョブ）を発行して印刷を行わせる。
【００５３】
このとき、デスプーラ７０１は前述の図８で説明した汎用印刷ファイルの印刷指示部８−ａを解釈し、ドキュメントデータ部８−ｂのドキュメントデータを加工して、ＷｉｎｄｏｗｓのＧＤＩに変換し、各プリンタドライバに対して印刷指示を行い印刷ジョブを発行する。例えば印刷体裁指定部に、２−ＵＰの指示が記録されていた場合、用紙１枚に２ページ分のドキュメントデータを縮小レイアウトする。また分散印刷あるいは同報印刷の場合には、それらの設定に応じて印刷指示部８−ａに記述されている複数のメンバプリンタドライバにジョブを発行する。代行印刷の場合は、代行する条件が満たされたときに、自動代行では事前の設定、手動代行ではユーザの操作に応じてメンバジョブを発行する。
【００５４】
また、デスプーラ７０１は各メンバプリンタドライバにジョブを発行する際、メンバプリンタドライバに対応する印刷指示として、各メンバプリンタドライバのＤＥＶＭＯＤＥ（ドライバ設定情報等が記述されたデータ）を作成する必要があるが、このＤＥＶＭＯＤＥは印刷指示部８−ａに記載された内容を適宜各メンバプリンタドライバのＤＥＶＭＯＤＥに反映させて生成する。
【００５５】
クライアント側のジョブ制御プリントサービス６２２は、ＰＤＬドライバ６０２によってレンダリングされた、それぞれのメンバジョブのＰＤＬデータをジョブ制御ポートモニタ６２１を介して受け取り、受け取ったジョブに関する情報をサーバ側に知らせるとともに、ジョブデータを自身のプロキシ出力キュー（Ｐｒｏｘｙ  Ｏｕｔｐｕｔ  Ｐｏｒｔ）７１２Ａ，Ｂで一時保持する。その後、ジョブ制御サーバ６３０からの送信指示を受けた後に、保持しているプリントジョブをプリントデバイス６５０に送信する。
次に本実施の形態における、プリンタドライバに対応したプリンタを複数台使用して、前述の分散、同報、代行といった印刷処理を行う、印刷ジョブ制御システムのためのプリンタドライバのＵＩ制御について説明する。
【００５６】
図９は、本実施形態によるグループプリンタドライバのＵＩ制御の処理を示すフローチャートである。アプリケーション６０１からグループプリンタドライバ６０３へのＵＩ表示要求が来ると、グループプリンタドライバ６０３はステップＳ９−１でこれを受信する。
【００５７】
ステップＳ９−２では、印刷ジョブ制御システムＡＰＩを使って、グループプリンタドライバを構成するメンバプリンタドライバの識別ＩＤを問い合わせ、グループプリンタを構成する全てのメンバプリンタドライバの識別ＩＤを獲得する。ここで、メンバプリンタドライバのＩＤについて詳しく説明すると、本実施形態におけるメンバプリンタドライバのＩＤとしては、例えば、プリンタドライバに対応したアイコンに登録された名称（テキストデータ）や、プリンタドライバに独自に割り当てられたシリアル番号などの識別情報、登録されたプリンタドライバの管理テーブルに独自に割り当てられた識別情報などが想定されるが、夫々のメンバプリンタドライバを特定することができる情報であれば上記に限らず適用可能となる。このことは本実施形態におけるほかのプリンタドライバＩＤについても同様のことが言える。なお、メンバプリンタドライバの登録は、グループプリンタドライバのユーザインターフェースを介して行われる。
【００５８】
ステップＳ９−３では、ステップＳ９−２で獲得した各メンバプリンタドライバの識別ＩＤよりメンバプリンタドライバの能力を取得する。即ち、グループプリンタドライバ６０３を構成する全てのメンバプリンタドライバに対して、能力（設定項目）を問い合わせ、取得する。図１３はステップＳ９−３でグループプリンタドライバ６０３が問い合わせを行う設定項目の一例を示す図である。
【００５９】
次に、ステップＳ９−４では、上記ステップＳ９−３で収得したメンバプリンタドライバの能力に基づいてグループプリンタドライバＵＩで表示する項目を決定して表示し、ユーザによる項目の設定を行わせる。以下、ステップＳ９−４の処理について図１０を参照して詳述する。
【００６０】
図１０は、ステップＳ９−４におけるドライバＵＩ表示及び項目設定処理の詳細を示したフローチャートである。ステップＳ１０−１では、グループプリンタドライバＵＩを表示する。このステップでは、上記ステップＳ９−３で取得した各メンバプリンタドライバの能力を基に機能のコンフリクト処理を行い、その結果に基づきグループプリンタドライバＵＩを表示する。ここで、機能のコンフリクト処理とは、グループプリンタに所属する各メンバプリンタドライバに対して、各設定項目の機能の“あり”、“なし”をチェックし、対象となるメンバープリンタドライバの全てがその機能を有する場合に、グループプリンタドライバＵＩでその機能を設定可能項目として扱い、対象となるメンバープリンタドライバのうちの１台でも、その機能を有しないものがあれば、その項目については設定不可項目として扱う処理である。
【００６１】
具体例を示して上述のＵＩ制御（機能コンフリクト処理）を説明する。図１４は機能コンフリクト処理例を示す図である。図１４中のプリンタドライバＡは、グループプリンタドライバを表している。また、プリンタドライバＢ，Ｃ，Ｄはそのグループプリンタドライバを構成するメンバプリンタドライバを表す。また、表中の、“あり”、“なし”は各メンバプリンタドライバが製本印刷機能、ステイプル印刷機能、パンチ機能をサポートしているかどうかを示したものである。
【００６２】
まず製本印刷機能に着目すると、ドライバＢ、Ｄは製本印刷機能があるが、ドライバＣにはその機能がないため、グループプリンタドライバＡの製本印刷機能は“なし”となる。同様に、ステイプル機能は、Ｂ，Ｃ，Ｄ全てのメンバプリンタドライバに機能があるため、グループプリンタドライバＡのステイプルは、“あり”となり、パンチ機能は、Ｂ，Ｃ，Ｄ全てのメンバプリンタドライバに機能がないため、グループプリンタドライバＡのパンチ機能は、“なし”となる。
【００６３】
図１０において、ステップＳ１０−２〜１０−７は、上記コンフリクト処理によって設定可能項目と判定された各設定項目について、ユーザによる項目設定を行う処理である。
【００６４】
ステップＳ１０−２では、設定項目に設けられた“出力プリンタで指定”が指定されたかどうかを判定する。指定された場合にはステップＳ１０−４に進み、指定されなかった場合にはステップＳ１０−３へ進む。なお、この“出力プリンタで指定”ＵＩは、グループドライバＵＩが煩雑になってしまうような設定項目に対して設けられ、意図的にメンバプリンタドライバでの設定を有効にしたい場合に用いられる。
【００６５】
ステップＳ１０−３では、グループプリンタドライバＵＩ上で設定を行う。ＵＩ上で設定された内容は、図８に示した印刷指示部８−ａ内のグループプリンタ設定情報部の当該項目にセットされる。また、ステップＳ１０−４は、ＵＩ上で“出力プリンタで指定”が選択された項目に対して処理を行うステップであり、“出力プリンタで指定”を指定した項目に対して、それに対応するグループプリンタ設定情報部の該当項目に、“出力プリンタの設定を優先する”ことを示すフラグをセットする。このフラグがセットされた項目については、印刷ジョブ制御システム７００において出力する際に、図８に示した印刷指示部８−ａ内の各メンバプリンタドライバのメンバプリンタドライバ設定情報部のデータを用いて出力が行われることになる。
【００６６】
図１５は、給紙部の指定に関するグループプリンタドライバのＵＩ表示例を示す図であり、グループプリンタドライバのＵＩから設定可能な設定項目の一つである給紙口の設定を行う画面例である。図１５の（ａ）では、“給紙部で指定”が選択されており、グループプリンタドライバのＵＩから給紙口を設定可能な状態となっている。給紙口は、プリンタによって２段持つもの、３段持つものと様々であり、上記コンフリクト処理では、複数のメンバプリンタが有する給紙口の給紙段をＡＮＤし、グループプリンタドライバで設定可能な範囲が決定される。そして、この設定可能な範囲で給紙口の設定が行えるべくＵＩ表示され、グループプリンタドライバを介しての設定を可能とする。
【００６７】
一方、図１５の（ｂ）に示されるように“出力プリンタで指定”が選択されると、グループプリンタドライバＵＩから当該項目の設定は行えなくなる。そして、メンバプリンタドライバ個別のユーザインターフェースを介して行われる設定が有効となる。例えば、図１５の（ｂ）における給紙口の設定において、「自動、手差しトレイ、カセット１、カセット２、カセット３」などの表示はグレー表示され、マウス等のポインティングデバイスを介しても指定できないような設定画面として表示される。そして、給紙口の設定はメンバプリンタドライバのＵＩを介して実行可能となる。以上、図１５（ａ）、（ｂ）に示したように、グループプリンタＵＩを介しての設定とメンバプリンタドライバを介しての設定を切り替えて利用することができるので、異なる印刷環境に対して柔軟に対応することが可能である。
【００６８】
特に給紙口に関しては、上述のようにコンフリクト処理によって各メンバプリンタの有する給紙段が反映されない場合や、給紙口のＩＤの振られ方が異なる場合がある。例えば、カセット１を指定したとしても、最下段のカセットを指す場合があったり、最上段のカセットを指す場合がある。このため、グループプリンタドライバにてまとめて設定を行うおうとすると矛盾が生じる可能性があり、全てのメンバプリンタドライバに対応する全てのメンバプリンタにおいて、ユーザが意図する給紙口から記録媒体が供給されるとは限らない。
【００６９】
本実施形態では、上述したように、給紙口の設定についてメンバプリンタドライバ個別の設定を行えるようにグループプリンタドライバユーザインターフェースを介して設定することが可能となっている。従って、プリントデバイス毎にＩＤの割付が異なるような給紙口についてもユーザは容易に設定を行うことができる。また、初めから夫々のメンバプリンタドライバのユーザインターフェースを介して設定を行うような形態と比較して、個別に設定を行う必要がある項目を抽出し、抽出された項目について、メンバプリンタドライバ個別の設定を有効にするよう設定することが本印刷制御プログラム（グループプリンタドライバ）では可能なので、効率の良いメンバプリンタドライバの個別設定環境をユーザに提供することができる。
【００７０】
また、上記の説明においては給紙口に関しての説明を行ったが、これに限定されるものではなく、メンバプリンタドライバ個別に設定が必要な項目（或いはその方が効率的な項目）に関して適用可能であり、例えば、排紙口の指定など他多様な印刷設定項目に関して適用可能である。
【００７１】
尚、この図１５（ａ）、（ｂ）に示されている表示は、本実施形態の印刷制御用プログラム（グループプリンタドライバを含む）に含まれている、ユーザインターフェイスを表示するための画面情報が、ＯＳを介して表示部に表示されたものに相当するものであり、本実施形態における他の表示も同様の仕組みに基づくものとなる。
【００７２】
ステップＳ１０−５では、ユーザによるＵＩ設定の終了が指示されたかを判定する。ここでは、ＵＩに設けられたＯＫボタン１５０１がクリックされたか否かで判定する。終了が指示された場合にはステップＳ１０−６へ進み、そうでなければステップＳ１０−２の直前に戻り、設定を継続する。
【００７３】
ステップＳ１０−６、Ｓ１０−７は、各メンバプリンタドライバのＵＩを開き設定を行うための処理である。グループプリンタドライバのＵＩより、メンバプリンタドライバ指定を選択することにより、ステップＳ１０−６からステップＳ１０−７へ処理が進み、メンバプリンタドライバＵＩでの詳細設定が可能となる。
【００７４】
図１６は、ステップＳＳ１０−６におけるメンバプリンタドライバを指定するユーザインターフェースの一例を示す図である。図１６では、１００１の「ＰＲＩＮＴＥＲ  Ａ」が選択された様子が示されている。ここで、選択されず、設定が変更されなかったメンバプリンタドライバにおける、「出力先で指定」が設定された項目には、各メンバプリンタドライバのデフォルト値が利用される。
【００７５】
図１１は、ステップＳ１０−７の詳細を示したフローチャートであり、メンバプリンタドライバＵＩを開く際のＵＩ表示処理を示したものである。ステップＳ１１−１では、指定されたメンバプリンタドライバから種別情報（メーカ、ドライバーバージョンなどの情報）を取得し、この種別情報から、指定されたメンバプリンタドライバがグループプリンタドライバによってＵＩ制御可能かどうか判定する。例えば、指定された種別情報が表すメーカ名が、グループプリンタドライバでサポートされていないメーカであった場合には、グループプリンタドライバからのＵＩ制御を行うことはできない。グループプリンタドライバによるＵＩ制御が行えないメンバプリンタドライバであると判定された場合は、ステップＳ１１−２へ進み、当該メンバプリンタドライバのＵＩをそのまま表示する。なお、本実施形態では、メーカやドライババージョンによる種別情報を用いてグループプリンタドライバによるＵＩ制御が可能か否かの種別判定をしたが、種別判定に用いる材料はこれに限られるものではなく、他の情報を用いて判定するようにしてもよい。また、例えば、拡張設定項目を解析して、それが解釈可能か否かによって種別を判定するようにしてもよい。
【００７６】
一方、ＵＩ制御可能であればステップＳ１１−３へ進む。図１２は、ステップＳ１１−３の詳細を示したフローチャートである。まず、ステップＳ１２−１で、ドライバＵＩの表示項目を読み出す。表示項目を読み出した後、ステップＳ１２−２へ進み、読み出した項目が、グループプリンタドライバＵＩ上の設定項目かどうか判定する。当該設定項目がグループドライバの設定項目でない場合は、ステップＳ１２−５へ進み、その設定項目の表示を行う。
【００７７】
グループドライバ設定項目であった場合は、ステップＳ１２−３へ進み、その項目がグループプリンタドライバＵＩで“出力プリンタで設定”として選択されたものかどうか判定する。この判定は、上述した“出力プリンタの設定を優先する”ことを示すフラグが設定されているか否かで行える。“出力プリンタで設定”として選択されたものであれば、ステップＳ１２−５へ進み、その設定項目を表示する。ステップＳ１２−３で、当該設定項目が、“出力プリンタで設定”として選択されたものでない場合は、ステップＳ１２−４へ進み、当該設定項目をグレーアウト表示、もしくは非表示とし、メンバプリンタドライバのＵＩによる設定が行えないようにする。すなわち、グループドライバ設定項目であって「出力プリンタで設定」となっていない設定項目は、設定不可項目であり、グレーアウト表示、もしくは非表示となる。
【００７８】
図１７は、（ａ）設定不可項目をグレーアウト表示した状態（図では１７０１で示される両面印刷、製本印刷、製本詳細ボタンがグレーアウト表示となっている）、（ｂ）設定不可項目を非表示制御した状態（（ａ）で示されていたグレーアウトの部分（１７０１）が非表示となっている）の具体例を示す図である。設定項目の両面印刷、製本印刷のダイアログボックスが前記ＵＩ制御を施した部分である。このような設定不可項目に関するメンバプリンタドライバのＵＩ制御は、メンバプリンタドライバＵＩを開いた際にグループプリンタドライバで設定した項目についても設定可能としてしまうと、同一機能が両ドライバで設定された場合に処理が２重にかかってしまうという不具合を防止するための処理である。
【００７９】
次に、ステップＳ１２−６では、全ての設定項目が表示終了したかどうかを判定し、終了していない場合にはステップＳ１２−１に戻り、他の設定項目のＵＩ制御表示を行うべく処理を継続する。また、全ての設定項目の表示が終了したならば、図１２に示す処理を終了して図１１のステップＳ１１−４へ進む。
【００８０】
図１１−４では、メンバプリンタドライバＵＩによってユーザによる設定が可能な項目について設定を行い、設定終了の指示により図１１の処理を終了する。設定終了指示は、図１７に示すＯＫボタンのクリックを検出することで行うのが一般的であろう。
【００８１】
図１１に示される処理を終えると、図９のステップＳ９−５へ進む。ステップＳ９−５では、グループプリンタドライバＵＩ上で全ての設定が終わったか否かを、設定終了を示すＯＫボタンがクリックされたか否かで判定する。設定終了が指示されていなければ、ステップＳ９−４に戻り、上記処理を繰り返す。設定終了が指示されていれば、ステップＳ９−６へ進み、グループプリンタで設定した項目が、各メンバプリンタドライバの設定項目として矛盾がないかどうか、チェックを行う。
【００８２】
たとえば、
・プリンタＡでは、Ａ４用紙にステイプル可能な位置は用紙左上のみ
・プリンタＢでは、Ａ４用紙にステイプル可能な位置は用紙左下のみ
といった様に、プリンタにはデバイスのもつ機能に密接に関連した項目がある。そこで、ステップＳ９−６では、グループプリンタドライバＵＩ上で設定した項目が、各メンバプリンタドライバの設定項目として反映可能かどうかを、メンバプリンタドライバを対象にチェックを行う。
【００８３】
そして、ステップＳ９−６で行ったコンフリクトチェックの結果、グループプリンタドライバＵＩ上で設定した設定項目が、全てのメンバプリンタドライバで妥当であった場合には、ステップＳ９−７からステップＳ９−１０に進み、グループプリンタドライバＵＩの表示を終了する。一方、ステップＳ９−７で設定項目にコンフリクトが発生する項目があると判定された場合には、ステップＳ９−８へ進み、「グループプリンタドライバＵＩ上で設定項目を再設定するか、もしくは、現状の設定項目で印刷処理を行うか」といったメッセージと共に、再設定、強行ボタンをＵＩ表示する。
【００８４】
ステップＳ９−９では、再設定、強行ボタンのどちらが押されたかを判定する。再設定ボタンが押された場合には、設定項目の再設定を行うべくステップＳＳ９−４に処理を戻す。また、強行ボタンが押された場合には、ステップＳ９−１０に進みグループプリンタドライバＵＩの表示を終了する。
【００８５】
次に、本実施形態における、上記ＵＩで設定された情報の記録と前述の図８に示した汎用印刷ファイルとの関係について説明する。本実施形態においては、前述のＵＩで設定された情報について、グループプリンタドライバのドライバ設定情報（ＤＥＶＭＯＤＥ）は、前述の図８で説明した汎用印刷ファイル内の印刷指示部８−ａに記録される。また、各メンバプリンタドライバのドライバ設定情報（ＤＥＶＭＯＤＥ）は、汎用印刷ファイル内の対応するメンバプリンタドライバ情報設定部に記録されることとなる。その後、本汎用印刷ファイルは前述の印刷ジョブ制御システムを使ったプリンティング処理にて利用され、本実施の形態における印刷を行うことが可能となる。
【００８６】
以上説明したように、本実施形態によれば、グループプリンタドライバを使った印刷ジョブ制御システムにおいて、メンバプリンタドライバの設定項目において、その設定内容が複雑でかつ、機種ごとに異なるようなケースでは、代表的な設定内容のみ代表プリンタに設定を設け、その他の設定内容に関しては、意図的に各メンバプリンタドライバで設定させるためのボタンを設け、設定させるようにしている。これにより、メンバプリンタドライバで設定する項目を意図的に指定できるので、グループプリンタの表示内容が煩雑にならず、且つ詳細な設定が各メンバプリンタドライバにて設定が可能となり、ユーザの操作性を大きく改善したより良い印刷手段を提供できる。
【００８７】
なお、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
【００８８】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００８９】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，磁気テープ，不揮発性のメモリカード，ＲＯＭなどを用いることができる。
【００９０】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００９１】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００９２】
【発明の効果】
以上説明したように、本発明によれば、複数のプリンタを対象に効率良く、容易に機能設定を行えるユーザインターフェースを提供できる。
【図面の簡単な説明】
【図１】本発明を適用可能な情報処理システムの構成を説明するブロック図である。
【図２】本実施形態の情報処理装置の構成を説明するブロック図である。
【図３】図２に示したＲＡＭ２０２のメモリマップの一例を示す図である。
【図４】図２に示したＦＤ２０４のメモリマップの一例を示す図である。
【図５】図２に示したＦＤドライブ２０３に対して挿入されるＦＤ２０４との関係を示す図である。
【図６】本システムのクライアントサーバモデルにおいてアプリケーションから発行された印刷ジョブが、印刷ジョブ制御システムにおいてどのように処理されるかを示した図である。
【図７】Ｗｉｎｄｏｗｓ（商標）が提供するＰｒｉｎｔＳｙｓｔｅｍと印刷ジョブ制御システムにおける印刷ジョブの関係と処理概要を詳しく示す図である。
【図８】汎用印刷ファイルの構成の一例を示した図である。
【図９】本実施形態によるグループプリンタドライバのＵＩ制御の処理を示すフローチャートである。
【図１０】ステップＳ９−４におけるドライバＵＩ表示及び項目設定処理の詳細を示したフローチャートである。
【図１１】ステップＳ１０−７による、メンバプリンタドライバＵＩを開く際のＵＩ表示処理の詳細を示すフローチャートである。
【図１２】ステップＳ１１−３の詳細を示したフローチャートである。
【図１３】ステップＳ９−３でグループプリンタドライバ６０３が問い合わせを行う設定項目の一例を示す図である。
【図１４】機能コンフリクト処理を説明する図である。
【図１５】“出力プリンタで指定”が選択された際のＵＩの例を示す図である。
【図１６】ステップＳＳ１０−６におけるメンバプリンタドライバを指定するユーザインターフェースの一例を示す図である。
【図１７】メンバプリンタドライバＵＩにおいて、設定不可項目をグレーアウト表示した状態と設定不可項目を非表示制御した状態の具体例を示す図である。
【図１】
0003634783.tif 000002
【図２】
0003634783.tif 000003
【図３】
0003634783.tif 000004
【図４】
0003634783.tif 000005
【図５】
0003634783.tif 000006
【図６】
0003634783.tif 000007
【図７】
0003634783.tif 000008
【図８】
0003634783.tif 000009
【図９】
0003634783.tif 000010
【図１０】
0003634783.tif 000011
【図１１】
0003634783.tif 000012
【図１２】
0003634783.tif 000013
【図１３】
0003634783.tif 000014
【図１４】
0003634783.tif 000015
【図１５】
0003634783.tif 000016
【図１６】
0003634783.tif 000017
【図１７】
0003634783.tif 000018