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