(57)【特許請求の範囲】
【請求項１】
複数のメンバプリンタドライバを制御可能なグループプリンタドライバによる印刷制御方法であって、
前記グループプリンタドライバが制御可能な複数の出力方法の中の指示された出力方法に応じて出力方法を切り替える切り替えステップと、
前記切り替えステップによって切り替えられた出力方法の種別に応じて前記出力方法の設定を行う為のユーザインターフェイスの表示を切り替えるよう制御する制御ステップとを有することを特徴とする印刷制御方法。
【請求項２】
前記出力方法は、割合分散印刷、或は、カラー／白黒分散印刷、或は、同報印刷、或は、自動代行印刷のうちの少なくとも２つ以上を含むことを特徴とする請求項１に記載の印刷制御方法。
【請求項３】
前記複数の出力方法から割合分散印刷を指定された場合に、前記制御ステップは、割合設定を行う為のユーザインターフェイスを提供させるよう制御することを特徴とする請求項１又は２に記載の印刷制御方法。
【請求項４】
前記複数の出力方法から前記カラー／白黒分散印刷を指定された場合に、前記制御ステップは、前記カラー印刷処理を行う為のメンバプリンタドライと、前記白黒印刷処理を行う為のメンバプリンタドライバとを、夫々カラー、或は、白黒に対応したメンバプリンタドライバであることを識別可能に表示させることを特徴とする請求項１から３の何れかに記載の印刷制御方法。
【請求項５】
前記複数の出力方法から同報印刷を指定された場合に、前記複数のメンバプリンタドライバの設定場所を設定するためのボタンを表示させるよう制御することを特徴とする請求項１から４に記載の印刷制御方法。
【請求項６】
前記複数の出力方法から自動代行印刷を指定された場合に、前記制御ステップは、優先順位を設定するための設定ボタンを表示させるよう制御することを特徴とする請求項１から４の何れかに記載の印刷制御方法。
【請求項７】
前記切り替えステップによって出力方法が変更されたことに応じて前記制御ステップは前記出力方法に対応したメンバプリンタドライバの構成を示す情報を切り替え表示させるよう制御することを特徴とする請求項１から６の何れかに記載の印刷制御方法。
【請求項８】
前記複数の出力方法の種別毎にメンバプリンタドライバの構成を登録する登録ステップを更に有することを特徴とする請求項１から７の何れかに記載の印刷制御方法。
【請求項９】
メンバプリンタドライバを制御可能なグループプリンタドライバによる印刷制御方法であって、
複数種類の出力方法から、選択指示に応じて設定された所定の出力方法を認識する認識ステップと、
前記認識ステップにより認識された所定の出力方法に対応するメンバプリンタドライバを切り換えて表示させるよう制御する制御ステップとを有することを特徴とする印刷制御方法。
【請求項１０】
前記所定の出力方法に対応するメンバプリンタドライバの構成は、前記出力方法毎に設定可能であることを特徴とする請求項１に記載の印刷制御方法。
【請求項１１】
前記制御ステップは、前記出力方法の種別に応じて、前記メンバプリンタドライバの構成を特定し、該特定されたメンバプリンタドライバの構成を示す表示を前記出力方法の変更に応じて、切り替え表示させるよう制御することを特徴とする請求項７又は８に記載の印刷制御方法。
【請求項１２】
前記制御ステップは、前記認識ステップにて認識された前記選択指示に応じて設定された出力方法の種別に応じて前記出力方法の設定を行う為のユーザインターフェイスの表示を切り替えるよう制御することを特徴とする請求項９から１１の何れかに記載の印刷制御方法。
【請求項１３】
前記グループプリンタドライバを構成するメンバプリンタドライバは複数のメンバプリンタドライバであることを特徴とする請求項９から１２の何れかに記載の印刷制御方法。
【請求項１４】
複数のメンバプリンタドライバを制御可能なグループプリンタドライバによる制御を実行する印刷制御装置であって、
前記グループプリンタドライバが制御可能な複数の出力方法の中の指示された出力方法に応じて出力方法を切り替える切り替え手段と、
前記切り替え手段によって切り替えられた出力方法の種別に応じて前記出力方法の設定を行う為のユーザインターフェイスの表示を切り替えるよう制御する制御手段とを有することを特徴とする印刷制御装置。
【請求項１５】
前記出力方法は、割合分散印刷、或は、カラー／白黒分散印刷、或は、同報印刷、或は、自動代行印刷のうちの少なくとも２つ以上を含むことを特徴とする請求項１４に記載の印刷制御装置。
【請求項１６】
前記複数の出力方法から割合分散印刷を指定された場合に、前記制御手段は、割合設定を行う為のユーザインターフェイスを提供させるよう制御することを特徴とする請求項１４又は１５に記載の印刷制御装置。
【請求項１７】
前記複数の出力方法から前記カラー／白黒分散印刷を指定された場合に、前記制御手段は、前記カラー印刷処理を行う為のメンバプリンタドライと、前記白黒印刷処理を行う為のメンバプリンタドライバとを、夫々カラー、或は、白黒に対応したメンバプリンタドライバであることを識別可能に表示させることを特徴とする請求項１４から１６の何れかに記載の印刷制御装置。
【請求項１８】
前記複数の出力方法から同報印刷を指定された場合に、前記複数のメンバプリンタドライバの設定場所を設定するためのボタンを表示させるよう制御することを特徴とする請求項１４から１７の何れかに記載の印刷制御装置。
【請求項１９】
前記複数の出力方法から自動代行印刷を指定された場合に、前記制御手段は、優先順位を設定するための設定ボタンを表示させるよう制御することを特徴とする請求項１４から１７の何れかに記載の印刷制御装置。
【請求項２０】
前記切り替え手段によって出力方法が変更されたことに応じて前記制御手段は前記出力方法に対応したメンバプリンタドライバの構成を示す情報を切り替え表示させるよう制御することを特徴とする請求項１４から１９の何れかに記載の印刷制御装置。
【請求項２１】
前記複数の出力方法の種別毎にメンバプリンタドライバの構成を登録する登録手段を更に有することを特徴とする請求項１４から２０の何れかに記載の印刷制御装置。
【請求項２２】
メンバプリンタドライバを制御可能なグループプリンタドライバによる制御を実行する印刷制御装置であって、
複数種類の出力方法から、選択指示に応じて設定された所定の出力方法を認識する認識手段と、
前記認識手段により認識された所定の出力方法に対応するメンバプリンタドライバを切り換えて表示させるよう制御する制御手段とを有することを特徴とする印刷制御装置。
【請求項２３】
前記所定の出力方法に対応するメンバプリンタドライバの構成は、前記出力方法毎に設定可能であることを特徴とする請求項２２に記載の印刷制御装置。
【請求項２４】
前記制御手段は、前記出力方法の種別に応じて、前記メンバプリンタドライバの構成を特定し、該特定されたメンバプリンタドライバの構成を示す表示を前記出力方法の変更に応じて、切り替え表示させるよう制御することを特徴とする請求項２２又は２３に記載の印刷制御装置。
【請求項２５】
前記制御手段は、前記認識手段にて認識された前記選択指示に応じて設定された出力方法の種別に応じて前記出力方法の設定を行う為のユーザインターフェイスの表示を切り替えるよう制御することを特徴とする請求項２２から２４の何れかに記載の印刷制御装置。
【請求項２６】
前記グループプリンタドライバを構成するメンバプリンタドライバは複数のメンバプリンタドライバであることを特徴とする請求項２２から２５の何れかに記載の印刷制御方法。
【請求項２７】
請求項１から１３の何れかに記載の印刷制御方法を実現するための情報処理装置により実行されるプログラム。
【請求項２８】
請求項１から１３に記載された印刷制御方法を情報処理装置が読み込み実行する為のプログラムコードを記憶した記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、アプリケーションからの描画コマンドに対応して印刷処理を行う印刷制御方法及び印刷制御装置及びコンピュータが実行可能な印刷データ処理を行う印刷制御プログラム並びにコンピュータが読み出し可能なプログラムを格納した記憶媒体に関するものである。
【０００２】
【従来の技術】
近年、ネットワーク機器が一般に利用され、ネットワーク上に多数のパソコン（以下、ＰＣ）やプリンターが接続されるようになった。このようなネットワーク環境において、印刷を行う際、ページ数の多いドキュメントあるいは部数の多いドキュメントについては、印刷時間の短縮を図るために、いったん印刷ジョブをスプールし、複数のプリンタに頁ごとあるいは部数ごとに分散して出力するシステム（分散印刷システム）が知られている。
【０００３】
さらに、このようなネットワーク環境において、カラー頁、モノクロ頁が混在する一つのドキュメントに対して、印刷時のコストおよび印刷時間の短縮を図るために、カラー頁はカラープリンタへ、モノクロ頁はモノクロプリンタへ分散して出力するシステム（カラー・モノクロ分散印刷システム）が知られている。
【０００４】
さらに、このようなネットワーク環境において、一つのドキュメントを一度の印刷指示で、複数のプリンタに同時に送信し印刷するシステム（同報印刷システム）が知られている。
【０００５】
さらに、このようなネットワーク環境において、一つのプリンタに送信したドキュメントに対し、そのプリンタでエラーが発生した場合は、自動的に他のプリンタに切り替えて印刷するシステム（エラー代行印刷システム）が知られている。
【０００６】
また、一般のプリンタドライバは、通常の印刷処理に必要な基本的な設定情報（たとえば、印刷の部数、両面印刷の可否情報）をドライバ設定情報の共通領域（Public DEVMODE）と呼ばれる領域に記憶している。この領域に設定されている情報は異なるプリンタベンダにおいても、設定項目の読み書きが可能であることが知られている。
【０００７】
一方、プリンタ固有の機能として、たとえば、ステイプル機能、パンチ機能、製本印刷機能といったものは、ドライバ設定情報の拡張領域（拡張  DEVMODE）に記憶しており、この領域の設定情報はプリンタベンダによってフォーマットが異なることも知られている。
【０００８】
そして、上に説明したような複数のプリンタデバイスに対して一括して印刷指示を行う為の仮想プリンタドライバも知られている。
【０００９】
【発明が解決しようとする課題】
しかしながら、従来の仮想プリンタドライバのユーザインターフェイスにおいては、複数の出力方法の夫々と、夫々の出力方法における対象となるプリンタドライバと、の関連付けがなされておらず、ユーザは出力方法を変更する都度に、対象となるプリンタドライバ（対応するプリンタデバイスに対応）を再度構築し直したり、対象となるプリンタドライバを構築しなおすことに応じて、その都度、印刷設定を変更して設定し直す必要があった。
【００１０】
また、出力方法の変更の度に印刷設定を設定しなおすことが煩雑な為に、印刷設定は固定的なものにするような方法も考えられるが、そのような方法では、一括して設定させる印刷設定項目の内容を、どのようなプリンタでも適応可能な最低限の設定範囲（例えば、用紙サイズはＡ４のみ等）に限定してしまい、夫々のプリンタの機能／能力を十分に活用したような印刷設定の仕組みではなかった。
【００１１】
また、出力方法を変更したが為に、印刷設定を合わせて変更した場合に、再度元の出力方法に戻したとしても、印刷設定をも復元するようなことはできなかった。
【００１２】
本発明は上記問題点に鑑みてなされたものであり、出力方法が変更されたことに応じて変更される印刷設定の整合性を、ユーザが意識することなく印刷設定を行えるような仕組みを提供することにある。
【００１３】
さらには、分散印刷、同報印刷、自動代行印刷等の出力方法の指定が変わったとしても、プリンタドライバの組み合わせの再構築を容易に実現することができる仕組みを提供することを目的とする。
【００１４】
【課題を解決するための手段】
本発明は、上記目的を達成する為に、複数のメンバプリンタドライバを制御可能なグループプリンタドライバによる印刷制御方法であって、前記グループプリンタドライバが制御可能な複数の出力方法の中の指示された出力方法に応じて出力方法を切り替える切り替えステップと、前記切り替えステップによって切り替えられた出力方法の種別に応じて前記出力方法の設定を行う為のユーザインターフェイスの表示を切り替えるよう制御する制御ステップと実現させる仕組みを提供する。
【００１５】
さらに好ましくは、前記出力方法は、割合分散印刷、或は、カラー／白黒分散印刷、或は、同報印刷、或は、自動代行印刷のうちの少なくとも２つ以上を含むことを特徴とする。
【００１６】
さらに好ましくは、前記複数の出力方法から割合分散印刷を指定された場合に、前記制御ステップは、割合設定を行う為のユーザインターフェイスを提供させるよう制御することを特徴とする。
【００１７】
さらに好ましくは、前記複数の出力方法から前記カラー／白黒分散印刷を指定された場合に、前記制御ステップは、前記カラー印刷処理を行う為のメンバプリンタドライと、前記白黒印刷処理を行う為のメンバプリンタドライバとを、夫々カラー、或は、白黒に対応したメンバプリンタドライバであることを識別可能に表示させることを特徴とする。
【００１８】
さらに好ましくは、前記複数の出力方法から同報印刷を指定された場合に、前記複数のメンバプリンタドライバの設定場所を設定するためのボタンを表示させるよう制御することを特徴とする。
【００１９】
さらに好ましくは、前記複数の出力方法から自動代行印刷を指定された場合に、前記制御ステップは、優先順位を設定するための設定ボタンを表示させるよう制御することを特徴とする。
【００２０】
さらに好ましくは、前記切り替えステップによって出力方法が変更されたことに応じて前記制御ステップは前記出力方法に対応したメンバプリンタドライバの構成を示す情報を切り替え表示させるよう制御することを特徴とする。
【００２１】
さらに好ましくは、前記複数の出力方法の種別毎にメンバプリンタドライバの構成を登録する登録ステップを更に有することを特徴とする。
【００２２】
或は、メンバプリンタドライバを制御可能なグループプリンタドライバによる印刷制御方法であって、複数種類の出力方法から、選択指示に応じて設定された所定の出力方法を認識する認識ステップと、前記認識ステップにより認識された所定の出力方法に対応するメンバプリンタドライバを切り換えて表示させるよう制御する制御ステップとを実現する為の仕組みを提供する。
【００２３】
さらに好ましくは、前記所定の出力方法に対応するメンバプリンタドライバの構成は、前記出力方法毎に設定可能であることを特徴とする。
【００２４】
さらに好ましくは、前記制御ステップは、前記出力方法の種別に応じて、前記メンバプリンタドライバの構成を特定し、該特定されたメンバプリンタドライバの構成を示す表示を前記出力方法の変更に応じて、切り替え表示させるよう制御することを特徴とする。
【００２５】
さらに好ましくは、前記制御ステップは、前記認識ステップにて認識された前記選択指示に応じて設定された出力方法の種別に応じて前記出力方法の設定を行う為のユーザインターフェイスの表示を切り替えるよう制御することを特徴とする。
【００２６】
さらに好ましくは、前記グループプリンタドライバを構成するメンバプリンタドライバは複数のメンバプリンタドライバであることを特徴とする。
【００２７】
【発明の実施の形態】
（第１の実施例）
以下、本発明を適用するのに好適である実施形態について説明を行う。
【００２８】
図１は、本発明を適用可能な情報処理システムの構成を説明するブロック図である。なお、本システムにおけるクライアントコンピュータは、１台、または複数台接続されていることを仮定している。
【００２９】
図１において、１０２、１０３、１０４はクライアントコンピュータ（クライアント）としての情報処理装置であり、イーサネット（登録商標）などのネットワークケーブルによって、ネットワーク１０６に接続され、アプリケーションプログラム等の各種のプログラムを実行可能であり、印刷データをプリンタに対応するプリンタ言語に変換する機能を有するプリンタドライバを搭載している。なお、プリンタドライバは複数のプリンタドライバをサポートするものとする。
【００３０】
１０１は本実施形態のサーバ（以下、プリントサーバと呼ぶ）としての情報処理装置であり、ネットワークケーブルによって、ネットワーク１０６に接続され、ネットワークで使用されるファイルを蓄積したり、ネットワーク１０６の使用状態を監視したりする。プリントサーバ１０１は、ネットワーク１０６に接続されている複数のプリンタを管理している。
【００３１】
構成としては、クライアント１０２〜１０４とプリントサーバ１０１は、一般的な情報処理装置であり、クライアントとプリントサーバには、それぞれ異なる制御を行う印刷制御プログラムが実行可能に格納されている。
【００３２】
また、プリントサーバ１０１は、一般的な情報処理装置であり、クライアント１０２〜１０４の機能を同時に持つこともできる。
【００３３】
本実施形態におけるプリントサーバ１０１は、さらにクライアントコンピュータ１０２、１０３、１０４から印刷要求が出された印字データを含む印刷ジョブを格納して印刷したり、または、クライアントコンピュータ１０２、１０３、１０４から印字データを含まないジョブ情報のみ受け取り、クライアントコンピュータ１０２、１０３、１０４の印刷順序を管理し、印刷順序になったクライアントに対して印字データを含む印刷ジョブの送信許可を通知したり、ネットワークプリンタ１０５のステータスや印刷ジョブの各種情報を取得し、クライアントコンピュータ１０２、１０３、１０４に通知したりする機能を揃えている。
【００３４】
１０５は印刷制御装置であるネットワークプリンタであり、図示省略したネットワークインタフェースを介してネットワーク１０６と接続されており、クライアントコンピュータから送信される印字データを含む印刷ジョブを解析して１ページずつドットイメージに変換して、１ページ毎に印刷する。１０６はネットワークであり、クライントコンピュータ１０２、１０３、１０４、サーバ１０１、ネットワークプリンタ１０５等と接続している。
【００３５】
図２は、本発明の情報処理装置の構成を説明するブロック図であり、情報処理装置であるクライントコンピュータ１０２、１０３、１０４も同じ構成であり、さらにサーバ１０１も同様あるいは同等のハードウエア構成とする。よって、クライアントとサーバの構成を説明するブロック図として説明する。
【００３６】
図２において、２００は情報処理装置の制御手段であるＣＰＵであり、ハードディスク（ＨＤ）２０５に格納されているアプリケーションプログラム、プリンタドライバプログラム、ＯＳや本発明のネットワークプリンタ制御プログラム等を実行し、ＲＡＭ２０２にプログラムの実行に必要な情報、ファイル等を一時的に格納する制御を行う。
【００３７】
２０１は記憶手段であるＲＯＭであり、内部には、基本Ｉ／Ｏプログラム等のプログラム、文書処理の際に使用するフォントデータ、テンプレート用データ等の各種データを記憶する。２０２は一時記憶手段であるＲＡＭであり、ＣＰＵ２００の主メモリ、ワークエリア等として機能する。
【００３８】
２０３は記憶媒体読み込み手段としてのフロッピー（登録商標）ディスク（ＦＤ）ドライブであり、後述する図５に示すようにＦＤドライブ２０３を通じて記憶媒体としてのＦＤ２０４に記憶されたプログラム等を本コンピュータシステムにロードすることができる。なお、記憶媒体は、ＦＤに限らず、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＰＣカード、ＤＶＤ、ＩＣメモリカード、ＭＯ、メモリスティック等、任意である。
【００３９】
２０４は記憶媒体であるフロッピーディスク（ＦＤ）であり、コンピュータが読み取り可能なプログラムが格納された記憶媒体である。
【００４０】
２０５は外部記憶手段の一つであり、大容量メモリとして機能するハードディスク（ＨＤ）であり、アプリケーションプログラム、プリンタドライバプログラム、ＯＳ、ネットワークプリンタ制御プログラム、関連プログラム等を格納している。さらにスプール手段であるスプーラはここに確保される。スプール手段は、クライアントではクライアントスプーラのことであり、プリントサーバではサーバスプーラのことである。また、プリントサーバでは、クライアントから受けたジョブ情報を格納し、順序制御を行うためのテーブルもこの外部記憶手段に生成されて格納される。
【００４１】
２０６は指示入力手段であるキーボードであり、ユーザがクライアントコンピュータに対して、また、オペレータや管理者がプリントサーバに対して、デバイスの制御コマンドの命令等を入力指示するものである。
【００４２】
２０７は表示手段であるディスプレイであり、キーボード２０６から入力したコマンドや、プリンタの状態等を表示したりするものである。
【００４３】
２０８はシステムバスであり、クライアントやプリントサーバであるコンピュータ内のデータの流れを司るものである。
【００４４】
２０９は入出力手段であるインタフェースであり、該インタフェース２０９を介して情報処理装置は外部装置とのデータのやり取りを行う。
【００４５】
図３は、図２に示したＲＡＭ２０２のメモリマップの一例を示す図であり、ＦＤ２０４からロードされる上記ネットワークプリンタ制御プログラムが、ＲＡＭ２０２にロードされ実行可能となった状態のメモリマップである。
【００４６】
本実施形態では、ＦＤ２０４からネットワークプリンタ制御プログラムおよび関連データを直接ＲＡＭ２０２にロードして実行させる例を示すが、これ以外にも、ＦＤ２０４からネットワークプリンタ制御プログラムを動作させる度に、既にネットワークプリンタ制御プログラムがインストールされているＨＤ２０５からＲＡＭ２０２にロードするようにしてもよい。
【００４７】
また、本ネットワークプリンタ制御プログラムを記憶する媒体は、ＦＤ以外にＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＰＣカード、ＤＶＤ、ＩＣメモリカードであってもよい。さらに、本ネットワークプリンタ制御プログラムをＲＯＭ２０１に記憶しておき、これをメモリマップの一部となすように構成し、直接ＣＰＵ２００で実行することも可能である。
【００４８】
また、以上の各装置と同等の機能を実現するソフトウェアをもって、ハードウェア装置の代替として構成することもできる。
【００４９】
また、本ネットワークプリンタ制御プログラムのことを、簡単に印刷制御プログラムと呼ぶこともある。印刷制御プログラムは、クライアントにおいて印刷ジョブの印刷先の変更を指示したり、印刷順序を変更する指示をするための制御を行うプログラムを含み、また、プリントサーバにおいて、印刷ジョブの順序制御を行ったり、印刷ジョブの印刷終了や印刷先変更要求などを通知するためのプログラムを含んでいる。また、このような制御を行う本発明の印刷制御プログラムは、クライアントにインストールされるモジュールと、プリントサーバにインストールされるモジュールを別々に分けてもよいし、ひとつの印刷制御プログラムが、実行される環境によりクライアント用として機能したり、またはプリントサーバ用として機能するようにしてもよい。あるいは一台のコンピュータに、クライアント用の機能を持つモジュールと、プリントサーバ用として機能するモジュールをともにインストールし、同時に、あるいは時分割で擬似的に平行動作させる構成も可能である。
【００５０】
３０１は基本Ｉ／Ｏプログラムであり、本制御装置の電源がＯＮされたときに、ＨＤ２０５からＯＳがＲＡＭ２０２に読み込まれ、ＯＳの動作を開始させるＩＰＬ（イニシャルプログラムローデイング）機能などを有しているプログラムが入っている領域である。
【００５１】
３０２はオペレーティングシステム（ＯＳ）であり、３０３はネットワークプリンタ制御プログラムで、ＲＡＭ２０２上に確保される領域に記憶される。３０４は関連データで、ＲＡＭ２０２上に確保される領域に記憶される。３０５はワークエリアで、ＣＰＵ２００が本プリンタ制御プログラムを実行する領域が確保されている。
【００５２】
図４は、図２に示したＦＤ２０４のメモリマップの一例を示す図である。
【００５３】
図４において、４００は前記ＦＤ２０４のデータ内容であり、４０１はデータの情報を示すボリューム情報であり、４０２はディレクトリ情報、４０３は本実施形態で説明する印刷制御プログラムであるネットワークプリンタ制御プログラム、４０４はその関連データである。４０３のネットワークプリンタ制御プログラムは、実施形態で説明するフローチャートに基づいてプログラム化したものであり、本実施例では、クライアント、サーバ共、同様の構成をとっている。
【００５４】
図５は、図２に示したＦＤドライブ２０３に対して挿入されるＦＤ２０４との関係を示す図であり、図２と同一のものには同一の符号を付してある。
【００５５】
図５において、ＦＤ２０４には、本実施形態で説明するネットワークプリンタ制御プログラムおよび関連データを格納している。
【００５６】
次に本実施の形態における、プリンタを複数台使用して、前述の分散、同報、代行といった印刷処理を行う、印刷ジョブ制御システムについて説明する。
【００５７】
なお、本実施の形態では、複数のプリンタを１台のプリンタとして仮想的に束ねるプリンタをグループプリンタ、束ねられるプリンタをメンバプリンタと呼ぶ。また、それに対応するプリンタドライバをそれぞれグループプリンタドライバ、メンバプリンタドライバと呼ぶ。
【００５８】
図６は本システムのクライアントサーバモデルにおいてＭｉｃｒｏＳｏｆｔ  Ｗｏｒｄなどの一般的なアプリケーションから発行された印刷ジョブが、印刷ジョブ制御システムにおいてどのように処理されるかを示した図である。図６において、６００はクライアントマシンで、印刷ジョブ制御システムのクライアントモジュールが動作するマシンを指す。
【００５９】
通常、印刷の指示がされるとアプリケーションプログラムは一連の描画命令を生成し、プリンタドライバを経てＷｉｎｄｏｗＳ  Ｓｐｏｏｌｅｒに渡される。ＷｉｎｄｏｗＳ  Ｓｐｏｏｌｅｒは、ユーザが選択したポートモニタにプリントジョブデータを渡してプリンタデバイスに送信させる手順をとる。
【００６０】
本実施の形態では、ユーザはあらかじめ印刷ジョブ制御システム用のポートモニタ６２１（以降、本実施例ではジョブ制御ポートモニタと略記）を指定して印刷を指示する。アプリケーションプログラム６０１は一連の描画命令を生成する。描画命令を受け取ったグループプリンタドライバ６０３では、汎用印刷ファイルを生成し、プリンタデバイスへプリントジョブデータを送信するポートモニタではなく、ジョブ制御ポートモニタ６２１にプリントジョブデータとして送信する。ジョブ制御ポートモニタ６２１はプリントジョブデータをプリンタデバイス６５０に送信するのではなく、印刷ジョブ制御システム用プリントサービス６２２（以降、本実施例ではジョブ制御プリントサービスと略記）に送信する。ジョブ制御プリントサービス６２２は、プリントジョブデータに対して、後述するような印刷ジョブ制御処理を行う。
【００６１】
印刷ジョブ制御システム用プリントマネージャ６２３（以降、本実施例ではジョブ制御プリントマネージャと略記）は、ユーザがジョブ制御プリントサービス６２２内部でプリントジョブがどのような状態にあるかを調べたり、プリントジョブを操作したりするためのユーザインタフェース（ＵＩ）を提供するプログラムである。
【００６２】
ジョブ制御プリントマネージャ６２３はジョブ制御プリントサービス６２２のソフトウェアのインタフェース（ＡＰＩ）を介して、ジョブ制御プリントサービス６２２と情報・指示をやり取りしている。
【００６３】
印刷ジョブ制御システム用サーバ６３０（以降、本実施例ではジョブ制御サーバと略記）は、個々のクライアント６００上のジョブ制御プリントサービス６２２がプリンタデバイス６５０にプリントジョブデータを送信するタイミングを集中制御（スケジューリング）している。
【００６４】
印刷ジョブ制御システム用マネージメントコンソール６３３（以降、本実施例ではジョブ制御マネージメントコンソールと略記）は、ジョブ制御サーバ６３０が持つソフトウェアがアクセスするためのＡＰＩを介してジョブ制御サーバ６３０と情報・指示をやり取りすることで、印刷ジョブ制御システム全体を監視することができる。
【００６５】
また、ジョブ制御サーバ６３０はデバイス情報コントロールモジュール６３１を用いて各プリンタデバイス６５０と通信を行い、各プリンタ内の印刷ジョブや動作状態に関する情報を入手したり、操作を行ったりする。入手した情報はクライアント６００側のジョブ制御プリントサービス６２２に渡すことができる。
【００６６】
次に本実施の形態におけるグループプリンタドライバ６０３からの印刷について説明する。
【００６７】
グループプリンタドライバ６０３はアプリケーションプログラムが生成した一連の描画コマンドを、プリンタデバイスの種類に依存しない中間フォーマットのファイルである汎用印刷ファイルに変換する。この汎用印刷ファイルの構成については後述する。
【００６８】
この汎用印刷ファイルは前述したようにＷｉｎｄｏｗＳ  スプーラ６０４からジョブ制御ポートモニタ６２１を経て（ａ）、ジョブ制御プリントサービス６２２に導かれる（ｂ）。ジョブ制御プリントサービス６２２はこのプリントジョブに対して行うジョブ制御の種類に応じて、汎用印刷ファイルをもとに描画コマンドを生成し（ｃ）、続いてＰＤＬドライバ６０２がその描画コマンドをプリンタデバイス６５０が解釈可能なＰＤＬファイルにする。図６では、ジョブ制御プリントサービス６２２で、このプリントジョブに対してプリントジョブをふたつに分けるジョブ制御が行われる例で、２つのメンバジョブが生成された例を２つの矢印（ｃ）で示している。ＰＤＬドライバ６０２で生成されたＰＤＬファイルはＷｉｎｄｏｗＳ  スプーラ６０４、ジョブ制御ポートモニタ６２１を経て（ｄ）、再びジョブ制御プリントサービス６２２に渡される  （ｅ）。ジョブ制御プリントサービス６２２は、ジョブ制御サーバ６３０の指示に従ってＰＤＬのプリントジョブデータをプリンタデバイス６５０に送信する（ｆ）。
【００６９】
ジョブ制御プリントサービス６２２は、汎用印刷ファイル中の印刷指示書の指示にしたがって、一つの汎用印刷ファイルを複数のプリントジョブに論理的に分割してそれぞれ別のプリンタデバイスに送信したり、一度送信したプリントジョブデータを別のプリンタデバイスに送信し直したりする。図Ａ中の（ｃ）（ｄ）（ｅ）（ｆ）はそのような場合のプリントジョブデータの経路を示している。
【００７０】
一方、汎用印刷ファイルをアプリケーションソフトウェアが作成し、そのアプリケーションソフトウェアが直接汎用印刷ファイルを印刷ジョブとして投入する場合、一般のアプリケーションとはグループプリンタドライバ６０３への情報の渡し方や、グループプリンタドライバ６０３での処理内容が異なる。前述のように、一般のアプリケーションの場合、アプリケーションはグループプリンタドライバ６０３に描画情報を渡す際、通常のプリンタドライバと同じようにＷｉｎｄｏｗＳのＧＤＩ関数を呼び出し、グループプリンタドライバ６０３がそれに応じて汎用印刷ファイルを生成する。これに対して汎用印刷ファイルを直接作成するアプリケーションの場合は、アプリケーションが汎用印刷ファイルをすでに持ち、それをグループプリンタドライバ６０３に供給する。グループプリンタドライバ６０３は必要に応じてあらかじめ設定された印刷方法にもとづいて汎用印刷ファイル内部の印刷指示書を書き換えてＷｉｎｄｏｗＳ  Ｓｐｏｏｌｅｒ６０４に送る。
【００７１】
図８は、汎用印刷ファイルの構成の一例を示した図である。
【００７２】
本実施の形態で使用される汎用印刷ファイルは、印刷指示部8-aと、ドキュメントデータ部8-bからなる。印刷指示部は、ドキュメントの情報と印刷指示を記述した部分である。また、ドキュメントデータは、アプリケーションのドキュメントのデータを汎用的な形式のデータに変換したものであり、プリンタ言語に依存しないデータフォーマットとなっている。
【００７３】
印刷指示部はヘッダ部、ページ情報部、印刷体裁指示部、出力方法指定部、グループプリンタドライバ設定情報部、メンバプリンタ数、メンバプリンタドライバ名、メンバプリンタドライバ設定情報部などから構成されている。
【００７４】
ヘッダ部は本ファイルのバージョン識別やファイル情報などの情報を格納する部分である。
【００７５】
ページ情報部は、ドキュメントデータ部8-bのドキュメントデータのページ数、各ページのサイズなどの情報を格納する部分である。
【００７６】
印刷体裁指示部は、印刷ページ範囲、印刷部数、ドキュメントデータの面付け情報（N-UPや製本印刷など）、ステイプル指示やパンチ指示など、出力体裁に関する情報を格納する部分である。
【００７７】
出力方法指定部は、出力方法として、分散印刷、カラーモノクロ分散印刷、代行印刷、同報印刷などの情報を格納する部分である。
【００７８】
グループプリンタドライバ設定情報部は、後述するグループプリンタドライバのUIの設定情報を格納する部分である。
【００７９】
メンバプリンタ数はグループプリンタドライバが関連付けているメンバプリンタの数を格納する部分である。
【００８０】
メンバプリンタドライバ名は、メンバプリンタのプリンタドライバ名を格納する部分である。
【００８１】
メンバプリンタドライバ設定情報部はメンバプリンタのドライバUIの設定情報として例えばDEVMODE情報を格納する部分である。
【００８２】
このメンバプリンタドライバ名とメンバプリンタドライバ設定情報部は、前述のメンバプリンタ数に格納された数だけの格納エリアを持っている。
【００８３】
前述の図６で説明したグループプリンタドライバ６０３では、汎用印刷ファイルを生成する際、グループプリンタドライバGUI上の設定を印刷指示部8-aへ記録する。さらに、グループプリンタドライバ６０３はGDIで受け取ったデータを汎用的なデータに変換しドキュメントデータとして、本汎用印刷ファイルのドキュメントデータ部に記録することとなる。
【００８４】
なお、本ファイルは、印刷指示部8-aとドキュメントデータ部8-bが異なるファイルであってもかまわない。その場合、印刷指示部は印刷指示書ファイルとして、ドキュメントデータ部はドキュメントデータファイルとしてそれぞれ存在し、これらを一つのアーカイブ形式でまとめて同様に一つのファイルのように扱うことも可能である。
【００８５】
次に図７でWindowＳが提供するPrintＳyＳtemと印刷ジョブ制御システムにおける印刷ジョブの関係と処理概要をさらに詳しく述べる。
【００８６】
図７中で印刷ジョブ制御システム７００は、サーバとクライアントの制御プログラムが動作する物理的なマシンをまたいだ、印刷ジョブ制御システムの範囲を示している。 また、サーバが管理している出力ポート（Output Port）７１１は、クライアントのジョブ制御プリントサービス６２２のプロキシ出力ポート（Proxy Output Port）７１２と関連付けられ、ひとつのポートに関連づけられた各クライアント上のプロキシ出力ポート全てを統一的に管理している。本実施例では、実際のプリントジョブデータはおのおののクライアントのプロキシ出力ポート７１２に保持される。ジョブ制御サーバ６３０は、プリントジョブデータ自体の送信処理は行わず、ジョブ制御プリントサービス６２２に対して印刷ジョブの送信指示のみを行う。その指示に応じてクライアントのジョブ制御プリントサービス６２２はプリントジョブデータをデバイス６５０に送信する。
【００８７】
次に、印刷ジョブ制御システム７００が、代行印刷、分散印刷、同報印刷などの付加価値的な印刷を行う場合の処理を説明する。
【００８８】
印刷ジョブ制御システム７００が、代行印刷、分散印刷、同報印刷などの付加価値的な印刷を行う場合には、前述のようにユーザまたはアプリケーション６０１はグループプリンタドライバ６０３が割り当てられたプリンタに印刷ジョブを発行しなければならない。ジョブ制御プリントサービス６２２は、グループプリンタドライバ６０３によって処理されたジョブデータをジョブ制御ポートモニタ６２１を介して汎用印刷ファイルとして受け取る。ジョブ制御プリントサービス６２２はこのジョブを受け取り、DeＳpooler７０１を介してPDLドライバが割り当てられた別のプリンタにジョブ（メンバジョブ）を発行して印刷を行わせる。この時、DeＳpooler７０１は前述の図８で説明した汎用印刷ファイルの印刷指示部8-aを解釈し、ドキュメントデータ部8-bのドキュメントデータを加工して、WindowＳのGDIに変換し、各プリンタドライバに対して印刷指示を行い印刷ジョブを発行する。例えば印刷体裁指定部に、2-UPの指示が記録されていた場合、用紙1枚に2ページ分のドキュメントデータを縮小レイアウトする。また分散印刷あるいは同報印刷の場合には、それらの設定に応じて印刷指示部8-aに記述されている複数のメンバプリンタにジョブを発行する。代行印刷の場合は、代行する条件が満たされた時に、自動代行では事前の設定、手動代行ではユーザの操作に応じてメンバジョブを発行する。
【００８９】
また、DeＳpooler７０１は各メンバプリンタにジョブを発行する際、メンバプリンタドライバに対応する印刷指示として、各メンバプリンタのDEVMODEを作成する必要があるが、このDEVMODEは印刷指示部8-aに記載された内容を適宜各メンバプリンタのDEVMODEに反映させて生成する。
【００９０】
クライアント側のジョブ制御プリントサービス６２２は、PDLドライバ６０２によってレンダリングされた、それぞれのメンバジョブのPDLデータをジョブ制御ポートモニタ６２１を介して受け取り、受け取ったジョブに関する情報をサーバ側に知らせ、ジョブデータは自身のプロキシ出力キュー（Proxy Output Port）７１２で一時保持する。その後、ジョブ制御サーバ６３０からの送信指示を受けた後にプリントデバイス６５０に送信する。
【００９１】
次に本実施の形態における、共通設定領域と、拡張設定領域といった記憶領域をもつプリンタドライバを持つプリンタを複数台使用して、前述の分散、同報、代行といった印刷処理を行う、印刷ジョブ制御システムのためのプリンタドライバのUI制御について説明する。
【００９２】
図９は、本発明のグループプリンタドライバのＵＩ制御フローを示すフローチャートである。尚、図９のフローチャートの各ステップの処理は上に説明した情報処理装置に設けられたＣＰＵ（中央演算処理装置）が、ＲＯＭ、ＦＤ、ハードディスク（ＨＤ）等の所定の不揮発性記憶手段に記憶された制御プログラムを読込み、該読込んだプログラムに基づく処理を実行することに応じて実現されるものとする。また、後述する図１３、１４、１５、１８、２４の各フローチャートにおいても同様のものとする。
【００９３】
ステップＳ９０１では、アプリケーションからＯＳを介して本制御プログラムに対してグループプリンタドライバへのＵＩ表示要求を受け付ける。
【００９４】
ステップＳ９０２では、ステップＳ９０１のＵＩ表示要求を受けて、印刷ジョブ制御システムＡＰＩを使って、グループプリンタドライバを構成するメンバプリンタドライバの識別ＩＤ問い合わせるステップであり、グループプリンタドライバを構成する全てのメンバプリンタドライバの識別ＩＤを獲得する。該識別ＩＤとしては、各メンバプリンタドライバの名称や、そのほか識別するための情報であれば適用可能である。
【００９５】
ステップＳ９０３では、前記ステップＳ９０２で獲得した各メンバプリンタドライバの識別ＩＤよりメンバプリンタドライバの能力を収得（問合せて応答を得る）する。グループプリンタを構成する全てのメンバプリンタドライバに対して、ドライバ機能の収得がドライバ設定情報の拡張領域の部分まで可能でドライバUI制御が可能な、"機能制御可能なドライバ"か、或は、それ以外のドライバ"機能制御不可なドライバ"かを読み出す処理に相当する。
【００９６】
ステップＳ９０４では、ステップＳ９０３で読み出した機能制御可否の情報より、メンバプリンタドライバの構成を判定する。そして、ステップＳ９０４の判定により、"機能制御可能なドライバ"のみで構成されている場合にはステップＳ９０５へ処理を移行し、それ以外の構成と判定された場合には処理をステップＳ９０６へ移行させる。
【００９７】
図１０に本発明のグループプリンタドライバを構成するメンバプリンタドライバの構成の種類と、設定可能項目の対応を示す。
【００９８】
また、図１１に、共通設定項目・拡張設定項目と各設定項目の対応を示す。
【００９９】
なお、本特許では共通設定項目は、前記、共通設定領域に存在する項目、拡張設定項目は、前記、拡張設定領域に存在する項目として分類し規定しているが、印刷ジョブ制御システムを運用するOＳの違いによっては、設定項目の分類が異なる場合や設定可能項目に変更がある場合があるが、本特許のUI制御フローが有効なのは言うまでもない。
【０１００】
図１３は、ステップＳ９０５の詳細な処理を表したフローチャートである。
【０１０１】
ステップＳ１３０１は各メンバプリンタドライバの個々の共通設定項目に関する能力を問い合わせて、機能のコンフリクト処理を行い、その結果に基づきグループプリンタドライバＵＩで表示する項目の選択を行うステップである。
【０１０２】
ここで、機能のコンフリクト処理とは、グループプリンタドライバの対象となる各メンバプリンタドライバに対して、各設定項目の機能のあり・なしをチェックし、各設定項目毎に対象となるメンバープリンタドライバ全てに機能（項目）がある場合に、グループプリンタドライバＵＩでその機能（項目）を設定可能項目するようにＵＩ表示制御を行い、また、１台でも、機能がないものがあればその項目については、設定不可項目とするようにＵＩ表示制御を行う処理を指す。
【０１０３】
具体例を示して前記ＵＩ制御を説明する。
【０１０４】
図１２中のプリンタドライバＡは、グループプリンタドライバを表しプリンタドライバ、Ｂ，Ｃ，Ｄはグループプリンタドライバを構成するメンバプリンタドライバを表す。表中の、”あり”、”なし”は本制御プログラムにより取得されるものであり、各メンバプリンタドライバが製本印刷機能、ステイプル印刷機能、パンチ機能をサポートしているかどうかを示す。無論、その他の所定の機能（設定項目）についても同様のものとする。
【０１０５】
まず製本印刷機能に着目すると、ドライバＡ、Ｂは製本印刷機能があるが、ドライバＣにはその機能がないため、グループプリンタドライバＡの製本印刷機能は”なし”となる。
【０１０６】
同様に、ステイプル機能は、Ｂ，Ｃ，Ｄ全てのメンバプリンタドライバに機能があるため、グループプリンタドライバＡのステイプルは、”あり”となり、パンチ機能は、Ｂ，Ｃ，Ｄ全てのメンバプリンタドライバに機能がないため、グループプリンタドライバＡのパンチ機能は、”なし”となる。
【０１０７】
ステップＳ１３０２は、前記ステップで示した機能のコンフリクト処理を各メンバプリンタドライバの拡張設定項目に関して行うステップである。
【０１０８】
ステップＳ１３０３では、ステップＳ１３０１、１３０２で行ったコンフリクト処理の結果に基づきグループプリンタドライバUI表示行い、ユーザの操作指示に応じて各設定項目に対する設定が行われる。
【０１０９】
前記コンフリクトの結果、機能のないもの（例えば、図１２における「製本印刷機能」）については、ＵＩ上で設定が行えないよう、例えば、設定を行えないようにする対象となる所定の項目をグレーアウト表示、もしくは非表示といったように表示するよう制御し、機能がある項目についてはそのような表示制御は施さない。
【０１１０】
図１６の（ａ）、（ｂ）にステップＳ１３０３に対応するユーザインターフェイスのグレーアウト制御、非表示制御の具体例を示す。設定項目の両面印刷、製本印刷のダイアログボックスが前記ＵＩ制御を施した部分である。
【０１１１】
また、ステップＳ１３０３では、ユーザの指定により、たとえば「製本印刷」が指定された時のパンチや、ステイプルの指定といった、機能上ありえない組み合わせが設定できないようＵＩ制御を行い設定項目に矛盾が発生しないようにする。
【０１１２】
ステップＳ１３０４では、グループプリンタドライバＵＩ上に設定項目がない項目、即ち上に説明したような非表示のＵＩ表示制御が施された項目を対象に、メンバプリンタドライバのユーザインターフェイスを個別に表示させ、該表示されたメンバプリンタドライバ個別のユーザインターフェイスを介して詳細な設定を行う為に、グループプリンタドライバＵＩ上でから、設定対象のメンバプリンタドライバ指定するステップである。ここで、指定の対象となるメンバプリンタドライバは、グループプリンタドライバを構成するメンバプリンタドライバであり、例えば、図１８のＰｒｉｎｔｅｒ  Ａ、Ｐｒｉｎｔｅｒ  Ｂ、Ｐｒｉｎｔｅｒ  Ｃなどからマウス等のポインティングデバイスの入力に応じて選択された所定のメンバプリンタドライバに相当する。
【０１１３】
ステップＳ１３０５は、ステップＳ１３０４ステップで指定されたメンバプリンタドライバＵＩを開き、詳細設定を行うステップである。
【０１１４】
なお、グループプリンタドライバＵＩを介してメンバプリンタドライバＵＩが呼び出された表示された場合、グループプリンタドライバを介して設定可能な所定の項目についても、メンバプリンタドライバＵＩを介して設定可能である場合、同一機能が両者に設定される為に設定処理が２重に施される。そこで、本発明では、次に示すＵＩ制御を施しメンバプリンタドライバの表示処理を実行する。
【０１１５】
▲１▼  メンバプリンタドライバが”機能制御可能なドライバ”である場合、グループプリンタドライバＵＩ上の設定項目と競合する項目については、メンバプリンタドライバＵＩでの設定が行えないように、項目をグレーアウト表示、或は、非表示など、設定が行えないようにＵＩ制御する。また、設定指示は行えるようにＵＩを表示させて、設定が施されると警告などを表示させて指示された設定を無効にするようにしても良い。
【０１１６】
▲２▼  メンバプリンタドライバが”機能制御不可なドライバ”である場合、共通設定項目についてはグループプリンタドライバＵＩを介して設定された設定様子でＵＩを表示させる。メンバプリンタドライバＵＩの表示制御後、該メンバプリンタドライバＵＩを介して予めグループプリンタドライバＵＩを介して設定された項目について変更がなされた場合には、メンバプリンタドライバＵＩが閉じられる処理が施される際に、グループプリンタドライバで設定された設定項目の情報を対応するメンバプリンタドライバの共通設定項目に上書きし、メンバプリンタＵＩ上での設定変更を許さないように制御をする。
【０１１７】
また、上書き処理を行う際に、メンバプリンタドライバUI上での設定変更が無効であるといった警告表示をような表示制御も想定される。
【０１１８】
なお、ステップＳ１３０５では、対象となるメンバプリンタドライバの全てが"機能制御可能なドライバ"であるとのステップＳ９０４の判定処理に対応する処理なので、前記▲１▼のＵＩ制御が実行される。
【０１１９】
図１４は、ステップＳ９０６の詳細な処理を表したフローチャートである。
【０１２０】
本フローチャートにおける処理は、メンバプリンタドライバの構成が、ステップＳ９０５に移行する場合とは異なり、”機能制御可能なドライバ”と”機能制御不可能なドライバ”との混合や、”機能制御不可能なドライバ”によってのみメンバプリンタドライバが構成される場合の処理に対応する。したがって、グループプリンタドライバＵＩで設定可能な項目は、共通に設定情報の読み書きが可能な共通設定項目に限定される。
【０１２１】
ステップＳ１４０１では、前記ステップ１３０１と同様に各メンバプリンタドライバの個々の共通設定項目に関する能力を問い合わせて、各機能（各項目）についてのコンフリクト処理が実行され、その結果に基づきグループプリンタドライバＵＩで表示する項目が共通設定項目の中から更に選択（抽出）される。
【０１２２】
ステップＳ１４０２では、ステップＳ１４０１で行われたＵＩコンフリクト処理の結果に基づきグループプリンタドライバＵＩ表示を行うステップでありコンフリクトの結果、機能のないもの及び拡張設定項目については、ＵＩ上で設定が行えないよう項目を上に説明したようにグレーアウト表示もしくは非表示等になるような制御が行われる。
【０１２３】
ステップＳ１４０３では、ステップＳ１４０２で設定が行えないように制御された各項目や拡張設定項目（各メンバプリンタが持つ固有の設定項目）の設定を行うためにメンバプリンタドライバのＵＩを開く指示が為されたか否かの判定が行われる。
【０１２４】
グループプリンタドライバＵＩを介して詳細に設定するべくメンバプリンタドライバが指定されたことが認識されると処理をステップＳ１４０４に移行する。
【０１２５】
ステップ１４０４では、ステップ１４０３において指定されたメンバプリンタドライバのＵＩを開き、マウス等のポインティングデバイスを介して入力された指示に応じてメンバプリンタドライバ個別の設定を行わせる。ここで、所定のメンバプリンタドライバのシテは、図１３と同様に、例えば、図１８に示されるグループプリンタドライバのＵＩを介して行われる。
【０１２６】
図１５は、ステップＳ１４０４の処理の更なる詳細を表したフローチャートである。
【０１２７】
ステップＳ１５０１では、メンバプリンタドライバの種別判定を行う。
【０１２８】
対象となる指定されたメンバプリンタドライバが”機能制御可能なドライバ”であれば、ステップＳ１５０２へ、それ以外であればステップＳ１５０３へ処理を進める。
【０１２９】
ここで、メンバプリンタドライバの種別の判定とは、例えば、拡張項目をＯＳを介して読込んだ場合に、得られたデータが認識可能なデータであるか否か、即ち認識されれば機能制御可能なドライバと判定するような処理や、若しくは、メンバプリンタドライバに付された提供元識別情報などを判定することによって実現される。
【０１３０】
ステップＳ１５０２は、ステップＳ１３０５の▲１▼で示した規則に則して、メンバプリンタドライバの共通設定項目ＵＩの制御を行うステップであり、共通設定項目に対してＵＩのグレーアウト制御等を施したＵＩ表示制御が行われ、該表示制御が施されたメンバプリンタドライバＵＩを介して所定の印刷設定が行われる。
【０１３１】
ステップＳ１５０３では、ステップＳ１３０５の▲２▼で示した規則に則して、メンバプリンタドライバの共通設定項目ＵＩの表示制御が行われる。そして、該表示制御が施されたＵＩを介して詳細な印刷設定が行われる。
【０１３２】
そして、ステップＳ９０７において、グループプリンタドライバＵＩ上で全ての設定が終わった場合、設定終了ボタンが押下されると設定終了の一連の処理に移行される。
【０１３３】
ステップＳ９０８では、グループプリンタドライバで設定した項目が、各メンバプリンタドライバの設定項目として矛盾がないかどうかのチェックが行われる。
具体的には、例えば、
プリンタＡでは、Ａ４用紙にステイプル可能な位置は用紙左上のみ
プリンタＢでは、Ａ４用紙にステイプル可能な位置は用紙左下のみ
といった様に、プリンタにはデバイスのもつ機能に密接に関連した項目がある。
【０１３４】
本ステップでは、各メンバプリンタにステップＳ１３０３で行われた、設定機能上ありえない組み合わせについてのコンフリクトチェックの他に、各メンバプリンタドライバに対して、グループプリンタドライバＵＩ上で設定した項目が、各メンバプリンタドライバの設定項目として反映可能かどうかを、メンバプリンタドライバを対象にチェックを行う。
【０１３５】
ステップＳ９０９では、ステップＳ９０８で行われたコンフリクトチェックの結果を判定する。
【０１３６】
ここで、グループプリンタドライバUI上で設定した設定項目が、全てのメンバプリンタで妥当であった場合には、ステップＳ９１２に処理を進め、グループプリンタドライバUIの表示の処理を終了する。
【０１３７】
また、ステップＳ９０９で、設定項目にコンフリクト（不都合）が発生する項目があると判定された場合には、ステップＳ９１０へ進み、「グループプリンタドライバUI上で設定項目を再設定するか」、或は、「現状の設定項目で印刷処理を行うか」といったメッセージと共に、再設定、強行ボタンをUI表示させる。
【０１３８】
ステップＳ９１１では、再設定、強行ボタンのどちらが押されたかを判定するステップであり、再設定ボタンが押された場合には、メンバプリンタドライバの構成によって、ステップＳ１３０３（メンバプリンタドライバが機能制御可能な場合）または、ステップＳ１４０２（メンバプリンタドライバが機能制御不可の場合）の直前に処理を戻す。
【０１３９】
また、強行ボタンが押された場合には、ステップＳ９１２に処理を進め、グループプリンタドライバUIの表示の処理を終了させる。
【０１４０】
次に、本実施の形態における前述のUIで設定された情報の記録と前述の図8における汎用印刷ファイルとの関係について説明する。
【０１４１】
本実施の形態においては、前述のUIで設定された情報について、グループプリンタドライバのドライバ設定情報（DEVMODE）は共通領域、拡張領域共に、前述の図８で説明した汎用印刷ファイル内の印刷指示部に記録される。また、各メンバプリンタのドライバ設定情報（DEVMODE）は、共通領域、拡張領域共に、汎用印刷ファイル内のメンバプリンタのドライバ情報設定部に記録されることとなる。
【０１４２】
その後、本汎用印刷ファイルは前述の印刷ジョブ制御システムを使ったプリンティング処理にて利用され、本実施の形態における印刷を行うことが可能となる。
【０１４３】
次に前述のステップＳ１３０３、或は、ステップＳ１４０２におけるグループプリンタドライバのユーザインターフェイスの表示様子について説明する。
【０１４４】
本実施の形態では、本グループプリンタドライバＵＩを開くことにより、複数種類の出力方法から適宜ユーザ所望の出力方法を選択することができ、例えば、割合分散、カラー／白黒分散、同報、自動代行の何れかの出力方法を設定することができる。また、夫々に対してメンバプリンタドライバの指定および設定を行うことにより、１つのプリンタドライバから複数の印刷指示が可能となるものである。
【０１４５】
図１７は本実施の形態のＵＩ操作フローを示したフローチャートである。
【０１４６】
まずステップＳ１７０１において、出力方法を指定する。出力方法には、前述のとおり割合分散、カラー／白黒分散、同報、自動代行等が選択が可能であるが、これに限定されるものではなく、その他の複数のプリンタデバイスを対象にした印刷処理の出力方法を適用可能であることは、言うまでもない。
【０１４７】
次にステップＳ１７０２に進み、それぞれの出力方法において指定されたメンバプリンタの登録が行われる。尚、ここで、各出力方法毎に登録されたメンバプリンタドライバは、本制御プログラムにより、指定された出力方法に応じて表示されるメンバプリンタドライバに対応するものとなる。ここで、出力方法毎に登録された、各出力方法毎に構築されるメンバプリンタドライバの組合せは、本制御プログラムが、グループプリンタドライバＵＩを介して指定された出力方法を認識し、認識した所定の出力方法に対応するメンバプリンタドライバを切り換えて表示させるよう制御する処理に結びつくものとなる。
【０１４８】
次にステップＳ１７０３に進み、それぞれの出力方法の詳細指定を行う。尚、夫々の出力方法に関する詳細な設定は後述にて行うものとする。
【０１４９】
次にステップＳ１７０４に進み、それぞれの出力方法におけるコンフリクト対象のメンバプリンタドライバを設定する。ここで、各出力方法に対応するコンフリクト対象のメンバプリンタドライバはステップＳ１７０２にて登録されたメンバプリンタドライバに対応する。さらには、ここで設定されたメンバプリンタドライバに対して、図９〜図１６で説明したグループプリンタドライバ、メンバプリンタドライバについてのコンフリクト処理が実行される。
【０１５０】
該図１７のフローチャートの処理により、複数のメンバプリンタドライバを制御可能なグループプリンタドライバによって、出力方法の選択に応じて出力方法の設定が切り替えられると、切り替えられた出力方法の種別に応じて、出力方法の設定を行う為のユーザインターフェイスの表示を切り替えられるような制御が行われるので、ユーザは、出力方法を適宜変更しても、変更した出力方法に対して最適な印刷設定を行う為のユーザインターフェイスを得ることができる。また、ここでの出力方法に応じた最適な印刷設定をするためのユーザインターフェイスとは図９〜１６に説明してきなコンフリクト処理によるものであったり，後述にて説明する各出力方法に固有の印刷設定に関するものであったりする。また、後述にても説明するがコンフリクト処理の詳細な方法が出力方法毎によっても異なり、それに応じて出力方法に応じた印刷設定の為のユーザインターフェイスも異なる。
【０１５１】
本実施の形態の１つの例として、出力方法として割合分散（分散印刷と同義）が選択されていた場合、コンフリクト対象のメンバプリンタは、分散先のすべてのメンバプリンタのプリンタドライバが対象となるものとする。
【０１５２】
次にステップＳ１７０５に進み、上記設定した各項目の記録を行う。この設定項目の記録は、図８で説明した汎用印刷ファイルに記録することで実現する。例えば、上記設定項目は、本汎用印刷ファイルの印刷指示部８−ｂ中、特に、ステップＳ１７０１の設定項目においては出力方法指定部を利用して記録する。また、ステップＳ１７０２の設定項目においては、メンバプリンタ数およびメンバプリンタドライバ名、メンバプリンタドライバ情報設定部を利用して記録する。また、ステップＳ１７０３の設定項目においては、グループプリンタドライバ設定情報部を利用して記録する。
【０１５３】
次に図１８を用いて本実施の形態のユーザインターフェイス（グループプリンタドライバＵＩ）を具体的に示して説明する。
【０１５４】
図１８において、図１８０１は前述の図１７のステップＳ１７０１で説明した、出力方法を選択し、指定する為のコンボボックスである。この１８０１のコンボボックスをマウス等のポインティングデバイスを介して指示すると、複数の出力方法のリストが表示され、該表示されたリストより所定の出力方法の指定が為される。
【０１５５】
図１８０２は図１７のステップＳ１７０２で説明した、メンバプリンタドライバの登録を行うためのＵＩを開くボタンである。ここで開かれるＵＩについては後述する。
【０１５６】
図１８の１８０３はメンバプリンタを登録した後に、登録されたメンバプリンタドライバの一覧を表示するリストボックスである。
【０１５７】
このＵＩの例では、メンバプリンタドライバの名称とともにそのメンバプリンタに関する各種情報も表示している。また、この一覧表示の内容は前述の１６０１で指定した出力方法に従って、その表示内容も変更される。即ち複数種類の出力方法毎に夫々メンバープリンタドライバの構成を有している。これによって、ユーザは出力方法毎に適したメンバプリンタドライバを容易に呼び出すことができ、わざわざ出力方法を変更する度に新たなメンバプリンタドライバを登録する必要がなくなる。
【０１５８】
また、１８０７は前述の図１７のＳ１７０２において説明した、登録したメンバプリンタドライバを出力対象のプリンタドライバとして、一時的に構成に含まれないようにしたり、或は、含まれないような状態からメンバプリンタドライバの構成に追加したりするチェックボックスである。このチェックボックスのチェックが有りの時は、そのメンバプリンタを対象プリンタドライバとみなし、チェックが無しの時にはそのメンバプリンタドライバを一時的に対象プリンタドライバから外す処理が施される。即ち、前述のステップＳ１７０２メンバプリンタドライバの一次登録処理に相当し、また、チェックボックスをチェックすることによりメンバプリンタドライバを実際の印刷処理の対象プリンタドライバとすることは二次登録処理に相当する。
【０１５９】
このようにメンバプリンタドライバの登録において、一次登録と二次登録の二段階の設定の仕組みが本発明により可能になり、例えば、通常の分散印刷では、印刷処理の対象としているような所定のメンバプリンタドライバに対して、該メンバプリンタドライバに対応する印刷装置が故障などしていることにより、一次的に該所定のメンバプリンタドライバを対象から外すことができたり、また逆に故障していた印刷装置が復帰したような場合には、チェックボックスの操作により再び実際の印刷処理の際に起動されるメンバプリンタドライバとすることができる。これは、ステップＳ１７０２において、出力方法毎に登録されたメンバプリンタと、チェックボックスにより、利用されるメンバプリンタドライバとされているか否かを夫々別々に、所定の記憶部に保持させる構成により実現される。
【０１６０】
更に、本発明においては、上に説明した一次登録、二次登録が、複数の出力方法毎に設定可能であり、割合分散印刷を始め、後述する同報印刷、カラー/白黒分散印刷、代行印刷の夫々に独立して一次登録、二次登録が処理されるようになっている。これは、出力方法毎に一次登録、二次登録の設定様子を所定の記憶部に記憶し保持する構成を有し、さらに該保持された情報を参照し表示させる構成をも有することによって可能とされる。また、出力方法毎に一次登録、二次登録の設定様子を保持させておくことは、完全に複数の出力毎に一次登録、二次登録の設定情報を記憶させておくことのみではなく、少なくとも二つ以上の出力方法に対して独立して一次登録、二次登録の設定をさせるようにすることでも、同様の効果は得られる。
【０１６１】
また、図１８０６は各デバイスの属性情報の表示欄である。グループプリンタドライバに設定されている各メンバプリンタドライに対応するデバイスの属性情報を、メンバプリンタドライバの名称と共に、本制御プログラムの表示制御に応じて表示されたものに相当する。
【０１６２】
図１８の１８０４は、前述の図１７のステップＳ１７０３における出力方法の詳細指定を行うためのＵＩを開くボタンである。この詳細設定の内容は前述の１６０１で指定した出力方法に従って、その表示内容も変更される。
【０１６３】
図１８の１８０５は、メンバプリンタドライバの詳細な印刷設定を行うためのメンバプリンタドライバＵＩを表示させる為のボタンである。１８０３の一覧の中からマウス等のポインティングデバイスを介して入力指示された所定のメンバプリンタドライバに対して、１８０５のボタンの押下信号が情報処理装置に入力されると、該選択されていると認識されているメンバプリンタドライバのＵＩが呼び出され表示される。
【０１６４】
また、メンバプリンタドライバ個別のＵＩが呼び出され表示される際には、前述の図１７のステップＳ１７０４で設定されたメンバプリンタドライバに対して、コンフリクト処理を行う。そして、このコンフリクト処理の結果を反映させたメンバプリンタドライバのＵＩを表示させる。
【０１６５】
次に、メンバプリンタドライバの登録／削除について、図１９を参照しつつ説明する。
【０１６６】
図１９は先に説明した図１８における１８０２の「デバイスの追加／削除」ボタンの押下信号を本制御プログラムが認識した際に表示されるＵＩである。
【０１６７】
図１９において、１９０１は選択可能なメンバプリンタドライバの一覧を表示するリストボックスである。選択可能なメンバプリンタドライバとは、本システムがハンドリング可能なポートを割り付けてインストールしてあるプリンタドライバであり、本制御プログラムが存在を認識することができるプリンタドライバとなる。
【０１６８】
１９０２は選択したメンバプリンタドライバの一覧を表示するリストボックスである。１９０３、１９０４、１９０５、１９０６の夫々のボタンにより、選択可能なメンバプリンタ一覧よりメンバプリンタに追加、削除を行うことが可能となっている。
【０１６９】
１９０３の押下信号を認識した際には、１９０１にて押下時に選択されているプリンタドライバをメンバプリンタドライバの一構成として追加する処理を行う。
【０１７０】
また、１９０４の押下信号を認識した際には、１９０１のリストに示される全てのプリンタドライバを対象として１９０２に表示されるメンバプリンタドライバを構成するものとするよう制御する。
【０１７１】
また、１９０５は、１９０３、１９０４とは逆でメンバプリンタドライバから外すためのボタンを示し、１９０３、１９０５の押下信号が認識されると１９０２のメンバプリンタドライバの構成から外されるよう、対象となるメンバプリンタドライバは制御される。
【０１７２】
次に前述の図１７のステップＳ１７０３における出力方法の詳細指定について、図２０を用いて説明する。
【０１７３】
図２０は前述の図１８における１８０４のボタンが押下されることにより表示されるＵＩである。図１８の１８０３より選択されているメンバプリンタドライバに対する詳細設定を可能とするＵＩに相当する。
【０１７４】
ここでは、図１８において出力方法として割合分散が選択、指定されているので、ここで表示されるＵＩは、分散印刷時の夫々のメンバプリンタドライバの印刷処理の割合設定を行う為のＵＩとなっている。指定されたメンバプリンタの分散比率をそれぞれ整数値で指定することが可能となっている。
【０１７５】
（第２の実施例）
第２の実施例では、第１の実施例における図１７のステップＳ１７０１で出力方法として、カラー／白黒分散が選択され設定された場合の例について説明する。
【０１７６】
第２の実施例においては、基本的な処理の流れは第１の実施例と同じであり、図１７におけるステップＳ１７０２、Ｓ１７０３で表示されるＵＩおよび、Ｓ１７０４で設定されるコンフリクト対象のメンバプリンタの設定が異なるだけで、あとは同じである。従って、これらの例に特有の部分のみを抽出して説明することとする。
【０１７７】
図２１は図１７のステップＳ１７０１で出力方法として、カラー／白黒分散が選択された場合のグループプリンタドライバのＵＩの表示様子を示したものである。
【０１７８】
カラー／白黒分散とは、ドキュメント中のカラーページはカラープリンタドライバに処理されるよう制御し、白黒ページはモノクロプリンタドライバに処理させるよう制御し、夫々カラープリンタデバイス、モノクロプリンタデバイスにより印刷出力が行われる形態を指す。メンバプリンタ構成としては、カラープリンタおよびモノクロプリンタそれぞれ１台ずつとなっている。即ち,カラープリンタデバイスに対応したプリンタドライバと、白黒プリンタデバイスに対応した夫々のプリンタドライバがメンバプリンタドライバを構成している。また、夫々のメンバプリンタドライバの詳細な設定を行うためのメンバプリンタドライバＵＩを表示させるためには、図１８にて説明した場合と同様の操作で可能である。
【０１７９】
また図２１に示したような形態に対応して、図１７のステップＳ１７０２ではカラープリンタドライバおよびモノクロプリンタドライバが夫々登録され、図２１のようなユーザインターフェイスが構築される。
【０１８０】
また、図１７のステップＳ１７０３における出力方法の詳細指定は、本実施の形態では図１８にて説明した「割合設定」のような、出力方法のさらなる詳細指定の指示をするためのボタンは表示されていないが、例えば、図２１の表示に、例えば、カラープリンタにおける障害代行時に代行先に白黒プリンタによる代行印刷を許可するか否かなどの代行先について詳細な設定を施すためのボタンを設けることなどが考えられる。
【０１８１】
さらに、図１７のステップＳ１７０４におけるコンフリクト対象のメンバプリンタの設定については、本実施例２において、出力方法としてカラー／モノクロ分散が選択されていた場合、コンフリクト対象のメンバプリンタは、カラーに関する設定項目については、カラープリンタに対応するメンバプリンタドライバにおいてコンフリクト処理が行われ、その他の印刷項目については、カラープリンタに対応するメンバプリンタドライバとモノクロプリンタに対応するメンバプリンタドライバを合わせてコンフリクト処理を行うような形態も想定される。即ち、カラープリンタのプリンタドライバとモノクロプリンタのプリンタドライバが、夫々カラー／白黒分散におけるメンバプリンタドライバとして選択されていたような場合には、カラープリンタ固有の項目についてはカラープリンタのメンバプリンタドライバの設定可能情報が参照され、カラープリンタ及びモノクロプリンタに共通して参照されるような項目（例えば用紙サイズ等）については、双方のメンバプリンタドライバの項目が参照されて、コンフリクト処理が行われる。
【０１８２】
例えば、図１１におけるカラーに関する設定項目は共通設定項目のグレースケールのみであるが、これは一例であり、メンバプリンタドライバの機能によって項目を変更／追加されるのは適宜想定される。
【０１８３】
（第３の実施例）
第３の実施例では、第１の実施例における図１７のＳ１７０１において出力方法として、同報を選択され、出力方法として設定された場合の例について説明する。
【０１８４】
第３の実施例においては、基本的な処理の流れは第１の実施例と同じであり、図１７におけるステップＳ１７０２、Ｓ１７０３で表示されるＵＩおよび、Ｓ１７０４で設定されるコンフリクト対象のメンバプリンタドライバの設定が異なる点として挙げられるが、その他の処理については同様のものする。従って、異なる点を特に詳しく説明していくことにする。
【０１８５】
図２２は図１７のステップＳ１７０１において、同報印刷がマウスなどの所定のポインティングデバイスを介して選択され、出力方法として設定された場合のＵＩの表示様子の例を示したものである。
【０１８６】
同報印刷とは、部数が一部のドキュメント（印刷データ）を指定した複数のメンバプリンタドライバ全てに印刷処理をさせ、複数のメンバプリンタドライバ夫々に対応したデバイスに対して同じドキュメント印刷を実行させる印刷出力方法を指す。
【０１８７】
メンバプリンタドライバの構成としては、割合分散（分散印刷）の場合にて説明したものと同様に、複数のメンバプリンタドライバが登録可能となっている。
【０１８８】
また、それぞれのメンバプリンタドライバの個別に対応したＵＩを開くことも可能であり、これは、図１８にて説明したものと同様の操作に応じて実現されるものであり、図２２中の複数の出力先デバイス（図２２中では、PrinterA、PrinterB、PrinterC）からマウス等のポインティングデバイスを介して入力指示された所定のメンバプリンタドライバに対して、図２２中の「プリンタプロパティ」に対する押下信号が情報処理装置に入力されると、該選択されていると認識されているメンバプリンタドライバのＵＩが呼び出され表示される。
【０１８９】
また、出力方法として同報印刷が図１７のステップＳ１７０１に対応して設定された場合には、上に説明した割合分散の場合と同様、図１９に示したようなＵＩを「図２２中のデバイスの追加／削除」ボタンの押下信号の入力に応じて表示させ、同報印刷において起動させるメンバプリンタドライバの登録／削除が実現される（図１７のステップＳ１７０２に相当）。
【０１９０】
また、図１７のステップＳ１７０３に対応する出力方法（第３の実施例では同報印刷に関する詳細設定）の詳細設定に関しては、図２２の場合には、同報印刷に対して特に詳細な設定を行う為のボタンは表示されてはいないが、例えば、同報先のプリンタ、或いは、プリンタドライバにおいて、何らかのトラブルが生じ、正常に生成された印刷データ（PLDLや中間ファイルデータ）が送信されなかった場合に印刷データの送信をリトライする回数などを設定することができるようにしても良い。
【０１９１】
また、第３の実施例における出力方法として同報印刷が設定されているような場合には、図１７のステップＳ１７０４のコンフリクト処理に相当する処理では、対象のメンバプリンタドライバの設定は、コンフリクト対象のメンバプリンタドライバは、割合分散印刷の場合と同様に全てのメンバプリンタドライバが対象コンフリクト処理の対象となるので、詳細な説明は省略することとする。
【０１９２】
（第４の実施例）
第４の実施例では、第１の実施例における図１７のステップＳ１７０１において、出力方法として、自動代行印刷が選択され指定された場合の例について説明する。
【０１９３】
第４の実施例においては、基本的な流れは第１の実施例と同じであり、図１７のステップＳ１７０２、ステップＳ１７０３で表示されるUIおよび、ステップＳ１７０４においてなされるコンフリクト処理の対象のメンバプリンタドライバの抽出の制御が異なる点として挙げられる。その他の処理について、前の実施の形態における処理と同様の部分については、ここでは詳細な説明は省略する。
【０１９４】
図２３は図１７のステップＳ１７０１で自動代行印刷が選択され出力方法として設定された場合のUIの表示様子の例を示したものである。
【０１９５】
本実施例４における自動代行印刷では、メンバプリンタドライバの夫々に優先順位が設けられており、設定された優先順位の１番高いメンバプリンタドライバによりまず優先的に印刷が行われ、現在印刷処理を行わせようとしているプリンタデバイスにトナー無し等のエラーが発生し印刷不可能になった場合、自動的に次の優先順位のメンバプリンタドライバに印刷処理をさせるように制御が行われる処理が行われる。
【０１９６】
この場合メンバプリンタドライバの構成としては、割合分散（分散印刷）の場合と同様、複数登録可能であり、本制御プログラムは夫々のメンバプリンタドライバに対して優先順位を設定する機能を有している。
【０１９７】
図２３の２１０１、２１０２は、メンバプリンタドライバの優先順位を変更する為のボタンである。このUIの例ではメンバプリンタの優先順位は、メンバプリンタ一覧２１０３にリスティングされている順番と一致している。
【０１９８】
従って、２３０３のリストの一覧よりメンバプリンタドライバを選択し、２１０１のボタンにより、メンバプリンタリスト上の順番を１つ上げる（上のほうに移動表示）ると共に、優先順位も上げることが可能である。
【０１９９】
また２３０２のボタンにより、メンバプリンタリスト上の順番を１つ下げる（下のほうに移動表示）するとともに、優先順位も下げることが可能である。また、それぞれのメンバプリンタのGUIを開くためには、図１８等にて説明した処理と同様の処理により実現可能であるので、ここでは詳細な説明は省略する。
【０２００】
また、図１７のステップＳ１７０２に対応するメンバプリンタドライバの登録（追加／削除）についても、第２の実施の形態において説明した通りであり、図１９に示されるものと同様なUIが表示されるような制御が行われ、メンバプリンタの登録削除処理が行われる。
【０２０１】
また、図１７のステップＳ１７０３における出力方法の詳細設定の処理は、本実施の形態では特に存在していないので、図１９のUIでは、ボタンを設けていない。
【０２０２】
また、図１７のステップＳ１７０４におけるコンフリクト処理の対象となるメンバプリンタドライバの設定については、出力方法として自動代行印刷が設定されている場合には、コンフリクト対象のメンバプリンタドライバとしては、優先順位が１番高いメンバプリンタドライの設定条件を優先的に採用するような形態が想定される。このように優先順位が最も高いメンバプリンタドライバの設定を選択するようにすれば、仮に代行印刷処理が実行されたとしても、優先順位が最も高いメンバプリンタドライバでの設定を制限させないようにすることが出きるようになる。無論、第１の実施例と同様に登録されたメンバプリンタドライバの全てを対象に、各設定項目の有り／なしのＡＮＤ処理を行うようなコンフリクト処理を実行させるようにするような形態も想定される。
【０２０３】
このように、図１８、２１、２２、２３、に示したように、出力方法の指定に応じて、夫々の出力方法毎に登録することができ、また、登録されたメンバプリンタドライバの構成が出力方法の指定に応じて切り替え表示されるので、ユーザは容易に出力方法毎に管理されるメンバプリンタドライバを認識することができると共に、利用することができる。
【０２０４】
次に図２４で、図１８の１８０６で示されたデバイス情報（デバイスの属性情報）の設定、取得の処理について説明する。
【０２０５】
図２４は本システムをセットアップする際、システムにインストールするプリンタドライバを本メンバプリンタの対象となるべく設定を行い、同時にデバイスの情報を設定（取得）するフローチャートを示したものである。
【０２０６】
まずステップＳ２４０１でセットアップを開始する。
【０２０７】
次にステップＳ２４０２でメンバープリンタの対象となるべきプリンタドライバを選択し、インストール対象とする。
【０２０８】
次にステップＳ２４０３で、前記選択したプリンタドライバをインストールし、メンバプリンタドライバとして登録設定を行う。即ち、このステップＳ２４０３にてインストールされたドライバが上に説明した図１７のＳ１７０２でのメンバプリンタドライバとして登録されることになる。
【０２０９】
次にステップＳ２４０３でインストールされた各プリンタドライバのデバイス情報を取得する。デバイス情報としては、概インストールしたプリンタドライバの対象デバイスの属性として、例えば、サポート用紙サイズがA3,A4,B5であるといった情報や、両面可能かどうか、ステイプル可能かどうか、その他、フィニシングの機能として、パンチ穴が可能か、Z折りが可能かなどを入力する。また、デバイス情報の取得としては、各インストールされたプリンタドライバが対応するプリンタデバイスに所定のネットワークを介して問い合わせ取得したデバイス情報を本制御プログラムが取得するような形態、或いは、予めメンバプリンタドライバがデフォルト値として有するデバイス情報を本制御プログラムが取得するような形態、或いは、キーボード等から入力された設定値をデバイス情報として登録させるような処理の形態が想定される。
【０２１０】
次にステップＳ２４０５で対象となるメンバプリンタドライバのインストールを完了させるか否か判断し、完了でなければ前記ステップＳ２４０２に戻り、次に所定の選択操作に応じて選択されたプリンタドライバをメンバプリンタドライバとして登録させる処理を繰り返す。一方、完了であればステップＳ２４０６に進む。この完了か否かの判断は、例えば、情報処理装置の表示部に表示された「インストールを完了しますか？」なる表示に対してユーザが「ＹｅＳ」／「Ｎｏ」を選択したことを認識することに応じて処理される。
【０２１１】
ステップＳ２４０６では、ステップＳ２４０４で取得されたデバイスの属性情報の設定値を、例えばシステムのレジストリなどにプリンタドライバの名称とともに記憶し保持する。また、該ステップＳ２４０４で取得されたデバイスの属性はステップＳ１７０２にて登録された各出力方法に応じてメンバプリンタドライバの構成とともに所定の記憶部に保持される。
【０２１２】
前述の図１８の１８０６に示されたデバイス情報は、前記ステップＳ２４０６で保存した情報を該当するメンバプリンタごとに表示したものに相当する。
【０２１３】
このように、グループプリンタドライバを構成するメンバプリンタドライバの名称と共に、それぞれのプリンタドライバに対応するデバイスの属性情報が表示されるので、ユーザは複数のメンバプリンタドライバに対応したデバイスがどのような属性（機能）を有しているのかを一目瞭然に知ることができる。また、図１８の１８０６にて説明した、一次登録、二次登録についても、図２４のフローチャートによる処理により各メンバプリンタドライバに対応する属性情報が表示されるので、ユーザは印刷の要望に応じて、適宜一次登録されたメンバプリンタドライバから二次登録をさせるか否かを容易に決定することができるようになる効果が得られる。
【０２１４】
（その他の実施例）
なお、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記憶した記憶媒体を、システムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成される。
【０２１５】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０２１６】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピーディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【０２１７】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【０２１８】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【０２１９】
このように本実施の形態によれば、一つの仮想的な画像入出力装置に束ねられた複数の画像入出力装置に対して印刷ジョブを制御する印刷処理システムにおいて、一つの仮想的な画像入出力装置に対するドライバ上で、割合分散、カラー/白黒分散、同報、自動代行などの出力方法を切り替えて印刷することが可能となった。また、１つの仮想的な画像入出力装置に対応するドライバ上で束ねられた複数の画像入出力装置の構成を変更することが可能となった。
【０２２０】
また、出力方法の変更に伴って、１つの仮想的な画像入出力装置に対応するドライバとそれに束ねられた複数の画像入出力装置に対応した各ドライバのUI制御を切り替えて出力することが可能となった。
【０２２１】
【発明の効果】
以上説明してきたように、本発明によれば、分散印刷、同報印刷、自動代行印刷などの出力方法の指定が変わったとしても、プリンタドライバの組み合わせの再構築を容易に実現することができるようになった。
【図面の簡単な説明】
【図１】本発明を適用可能な情報処理システムの構成を説明するブロック図。
【図２】本発明の情報処理装置の構成を説明するブロック図。
【図３】図２に示したＲＡＭ２０２のメモリマップの一例。
【図４】図２に示したＦＤ２０４のメモリマップの一例。
【図５】図２に示したＦＤドライブ２０３に対して挿入されるＦＤ２０４との関係を示す図。
【図６】本発明の情報処理装置のプリント制御モジュール構成を説明するブロック図。
【図７】プリントサーバで管理されるジョブ情報のデータ構造の一例。
【図８】汎用印刷ファイルの構造を示す図。
【図９】グループプリンタドライバの動作を示す制御フローチャート。
【図１０】メンバプリンタドライバの構成と設定可能項目との対応表。
【図１１】共通設定項目、拡張設定項目と設定項目との対応表。
【図１２】コンフリクト処理の仕組みを説明するための表。
【図１３】グループプリンタドライバの動作を示す制御フローチャート。
【図１４】グループプリンタドライバの動作を示す制御フローチャート。
【図１５】グループプリンタドライバの動作を示す制御フローチャート。
【図１６】表示制御が施されたグループプリンタドライバＵＩの表示様子例。
【図１７】指定された出力方法に対応したグループプリンタドライバの動作を示す制御フローチャート。
【図１８】出力方法に割合分散印刷が指定された際のＵＩの表示様子例。
【図１９】メンバプリンタドライバの追加/削除（登録）機能を有するＵＩの表示様子例。
【図２０】出力方法の詳細設定を行うＵＩの表示様子例。
【図２１】出力方法にカラー／白黒分散印刷が指定された際のＵＩの表示様子例。
【図２２】出力方法に同報印刷が指定された際のＵＩの表示様子例。
【図２３】出力方法に自動代行印刷が指定された際のＵＩの表示様子例。
【図２４】グループプリンタドライバにおけるメンバプリンタドライバの属性情報を取得する動作フローチャート。
【符号の説明】
１０１  サーバ
１０２  クライアント
１０３  クライアント
１０４  クライアント
１０５  ネットワークプリンタ
【図１】
0003706823.tif 000002
【図２】
0003706823.tif 000003
【図３】
0003706823.tif 000004
【図４】
0003706823.tif 000005
【図５】
0003706823.tif 000006
【図６】
0003706823.tif 000007
【図７】
0003706823.tif 000008
【図８】
0003706823.tif 000009
【図９】
0003706823.tif 000010
【図１０】
0003706823.tif 000011
【図１１】
0003706823.tif 000012
【図１２】
0003706823.tif 000013
【図１３】
0003706823.tif 000014
【図１４】
0003706823.tif 000015
【図１５】
0003706823.tif 000016
【図１６】
0003706823.tif 000017
【図１７】
0003706823.tif 000018
【図１８】
0003706823.tif 000019
【図１９】
0003706823.tif 000020
【図２０】
0003706823.tif 000021
【図２１】
0003706823.tif 000022
【図２２】
0003706823.tif 000023
【図２３】
0003706823.tif 000024
【図２４】
0003706823.tif 000025