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