(57)【要約】【課題】  カスタマイズ設定ウィンドウにて、ユーザが、非表示とするコントロールを選択し設定することを可能とすることによって、カスタマイズ必要なコントロールだけを表示させる。【解決手段】  ステップ１８０１では、レジストリからカスタマイズ情報を読み込む。ステップ１８０２では、各コントロールの設定値等の初期化処理を行う。ステップ１８０３では、ステップ１８０１で読み込んだカスタマイズ情報を元に各コントロールの表示または非表示の処理を行う。ステップ１８０４では、ステップ１８０１で読み込んだカスタマイズ情報を元に各コントロールの移動距離情報を参照して、コントロールの移動処理を行う。【選択図】  図１８
2006189920.tif 000002
【特許請求の範囲】
【請求項１】
カスタマイズ設定画面と印刷設定画面とを表示するユーザインタフェース装置において、
プリンタ構成情報を取得する取得手段と、
前記取得手段で取得したプリンタ構成情報に基づき前記印刷設定画面上の印刷設定コントロールを、前記カスタマイズ設定画面上で表示又は非表示設定する設定手段と、
前記設定手段で設定された前記印刷設定コントロールを前記印刷設定画面に表示又は非表示を行う制御手段と
を備えることを特徴とするユーザインタフェース装置。
【請求項２】
前記設定手段で設定された設定情報に基づいて前記印刷設定画面を生成する生成手段を備えることを特徴とする請求項１に記載のユーザインタフェース装置。
【請求項３】
前記生成手段は、前記印刷設定画面を生成する際に表示する前記印刷設定コントロールを再配置することを特徴とする請求項２に記載のユーザインタフェース装置。
【請求項４】
前記設定情報に排紙口情報がある場合、設定された排紙口情報に基づいて排紙口を決定する手段を更に備えることを特徴とする請求項２から３のいずれか１に記載のユーザインタフェース装置。
【請求項５】
前記排紙口情報は、ユーザ名に基づいてデータベースより取得することを特徴とする請求項４記載のユーザインタフェース装置。
【請求項６】
前記排紙口情報はプリンタに記憶される排紙口情報と一致することを特徴とする請求項５記載のユーザインタフェース装置。
【請求項７】
前記取得手段で取得したプリンタ構成情報に基づき前記印刷設定画面上の印刷設定コントロールを、前記カスタマイズ設定画面上で非表示設定した場合、前記非表示設定した印刷設定コントロールを設定変更不可とする設定変更不可手段を特徴とする請求項１から６のいずれか１に記載のユーザインタフェース装置。
【請求項８】
カスタマイズ設定画面と印刷設定画面とを表示するユーザインタフェースの表示方法において、
プリンタ構成情報を取得する取得ステップと、
前記取得ステップで取得したプリンタ構成情報に基づき前記印刷設定画面上の印刷設定コントロールを、前記カスタマイズ設定画面上で表示又は非表示設定する設定ステップと、
前記設定ステップで設定された前記印刷設定コントロールを前記印刷設定画面に表示又は非表示を行う制御ステップと
を備えることを特徴とするユーザインタフェースの表示方法。
【請求項９】
カスタマイズ設定画面と印刷設定画面とを表示するコンピュータに、
プリンタ構成情報を取得する取得工程と、
前記取得工程で取得したプリンタ構成情報に基づき前記印刷設定画面上の印刷設定コントロールを、前記カスタマイズ設定画面上で表示又は非表示設定する設定工程と、
前記設定手工程で設定された前記印刷設定コントロールを前記印刷設定画面に表示又は非表示を行う制御工程と
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザインタフェースを用いてプログラムの動作を指示するための設定画面のカスタマイズに関するものであり、特に、コンピュータ機器等のディスプレイに表示された項目欄を指示してデータを入力するユーザインタフェース装置、表示方法及びプログラムに関する。
【背景技術】
【０００２】
近年、プリンタドライバは、各ベンダーから提供されたドライバおよびオペレーションシステムに付属されているドライバを使用している。
【０００３】
最近は、プリンタが多機能になってきており、それに連れてユーザインタフェースも各機能を設定するためのコントロールが増えてきており、プリンタドライバを使用するユーザの負荷を減らすための様々な方法が提案されている。
【０００４】
その１つとして、特許文献１には、プリンタドライバのユーザインタフェースをカスタマイズする制御について記載されている。特に、特許文献１には、ユーザ定義パネルと称するウィンドウに、ドラックアンドドロップにて必要なコントロールをコピーして、ユーザはユーザ定義パネル上での設定を行うことでユーザが所望するコントロール構成を実現する技術が記載されている。
【０００５】
また、特許文献２には、ユーザのプリンタドライバ設定の負荷を軽減させるために、プリンタの構成情報を取得してドライバの設定に反映させる制御について記載されている。
【０００６】
そして、特許文献３には、プリンタの排紙ビンに設定されたユーザ名情報を取得し、入力されたユーザ名に設定された排紙ビンを指定して、印刷先ユーザが所望とする排紙ビンに排紙する制御について記載されている。
【０００７】
【特許文献１】特開平９−２４４８４３号公報
【特許文献２】特開２０００−２４２５９７号公報
【特許文献３】特開２０００−１３２３５６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
従来技術においては、プリンタドライバは各ベンダーから提供されたものを使用していたため、各ユーザに適したユーザインタフェースは提供されていなかった。一方、近年、プリンタの多機能化が進むにつれて、プリンタドライバのユーザインタフェースの仕組みも複雑かつ煩雑なものになってきた。このような背景のもと、各ユーザに適したユーザインタフェースをユーザ自身が構築できる技術が求められている。
【０００９】
特許文献１では、ユーザ自身がユーザインタフェースを構築することできるが、カスタマイズ制御はあくまでもユーザが設定したいコントロールをユーザ定義ウィンドウに配置して操作するものであり、プリンタドライバが提供する形式（例えばタブ構成）などが変更されてしまい、従来と使用方法が変更され、逆に使い勝手が悪くなってしまうという問題が発生していた。
【００１０】
特許文献２では、プリンタの構成情報を取得してユーザインタフェースに反映させる制御が開示されているが、ユーザが普段使用しないコントロールについても設定が反映されコントロールパネルに表示されてしまう等、不必要なコントロールが表示、反映され使い勝手が悪かった。
【００１１】
特許文献３には、プリンタは排紙装置として複数の排紙ビンをもつ装置を装着し、その各排紙ビンにユーザ名を割り当てて、印刷時に入力されたユーザ名をもとに排紙ビンを特定し排紙を行うという技術が記載されている。しかし、現在のオフィス環境では、出力を管理することが多く、例えば出力する人の管理を行うことや、プリンタの排紙ビンをユーザ毎に割り当てることが行われている。このため、プリンタドライバで設定を行う際にユーザ自身が排紙ビンを指定しなければならず、特に自分がどの排紙ビンを使用してよいかわからない場合などはマニュアルを見て、自分がどのグループに所属しているのかを確認してから設定を行わなければならない等煩雑な作業が発生していた。
【００１２】
本発明は、このような課題に鑑みてなされたもので、その目的とするところは、ユーザによるプリンタドライバのカスタマイズを行うことを可能とし、さらに、カスタマイズを行う際のユーザ毎の設定に関する上記の問題を解決するユーザインタフェース装置等を提供することにある。
【課題を解決するための手段】
【００１３】
このような目的を達成するために、本発明は、カスタマイズ設定ウィンドウにて、ユーザが、非表示とするコントロールを選択し設定することを可能とすることによって、カスタマイズが必要なコントロールだけを表示させ、ユーザ毎に関連付けられる設定値の制御を実現する。また、本発明は、プリンタドライバのユーザインタフェースをカスタマイズする際に、コントロールの表示・非表示、デフォルト設定を容易に設定することができ、特に排紙ビンのように設定が難しいような場合においても容易に設定することができるようにする。
【００１４】
したがって、本発明のユーザインタフェース装置は、カスタマイズ設定画面と印刷設定画面とを表示するユーザインタフェース装置において、プリンタ構成情報を取得する取得手段と、取得手段で取得したプリンタ構成情報に基づき印刷設定画面上の印刷設定コントロールを、カスタマイズ設定画面上で表示又は非表示設定する設定手段と、設定手段で設定された印刷設定コントロールを印刷設定画面に表示又は非表示を行う制御手段とを備えることを特徴とする。
【００１５】
また本発明のユーザインタフェースの表示方法は、カスタマイズ設定画面と印刷設定画面とを表示するユーザインタフェースの表示方法において、プリンタ構成情報を取得する取得ステップと、取得ステップで取得したプリンタ構成情報に基づき印刷設定画面上の印刷設定コントロールを、カスタマイズ設定画面上で表示又は非表示設定する設定ステップと、設定ステップで設定された印刷設定コントロールを印刷設定画面に表示又は非表示を行う制御ステップとを備えることを特徴とする。
【００１６】
さらに本発明のプログラムは、カスタマイズ設定画面と印刷設定画面とを表示するコンピュータに、プリンタ構成情報を取得する取得工程と、取得工程で取得したプリンタ構成情報に基づき印刷設定画面上の印刷設定コントロールを、カスタマイズ設定画面上で表示又は非表示設定する設定工程と、設定手工程で設定された印刷設定コントロールを印刷設定画面に表示又は非表示を行う制御工程とを実行させることを特徴とする。
【発明の効果】
【００１７】
本発明によれば、プリンタドライバの複雑化されたユーザインタフェースにおいて、ユーザが独自に設定する必要のあるコントロールのみを表示させることができるため、設定時のユーザの負担を軽減することができる。
【００１８】
また、本発明によれば、排紙ビンを指定して出力する際に、ユーザは、排紙ビンの指定を意識することなく適切な排紙ビンへ出力することができ、他の部署の排紙ビンへの出力を回避することができ、情報漏洩を防ぐことができる。
【発明を実施するための最良の形態】
【００１９】
以下、図面を参照して、本発明の実施形態を詳細に説明する。  
図１は本発明が適用される印刷機器制御システムの構成を説明するブロック図である。なお、本発明の機能が実行されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、ＬＡＮ，ＷＡＮ等のネットワークを介して接続が為され処理が行われるシステムであっても本発明を適用できる。即ち、該実施形態で接続される各種端末の構成は一例であり、用途や目的に応じて様々な構成例があることは言うまでもない。
【００２０】
図１において、３０００はホストコンピュータ又はクライアントコンピュータ（以下、ホストコンピュータ等という。）である。ホストコンピュータ等内のＲＯＭ１０３あるいは外部メモリ１１１には、ＣＰＵ１０１の制御プログラムであるＢＩＯＳ(Basic Input / Output System)やオペレーティングシステムプログラム（以下ＯＳという。）や、各サーバ或いは各ＰＣの実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。本実施形態で使用するＯＳは、ウィンドウズＸＰ（登録商標）であるが、これに限るものではない。ＲＡＭ１０２は、ＣＰＵ１０１の主メモリ、ワークエリア等として機能する。ＣＰＵ１０１は、処理の実行に際して必要なプログラム等をＲＡＭ１０２にロードして、プログラムを実行することで各種動作を実現する。
【００２１】
また、入力コントロール（入力Ｃ）１０５は、キーボード（ＫＢ）１０９や不図示のマウス等のポインティングデバイスからの入力を制御する。ビデオコントロール（ＶＣ）１０６は、ＣＲＴディスプレイ（ＣＲＴ）１１０等の表示器への表示を制御する。表示器は、液晶ディスプレイでも構わない。これらは必要に応じて管理者が使用するものであり、本発明とは直接関係はない。
【００２２】
メモリコントロール（ＭＣ）１０７は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するハードディスク（ＨＤ）やフロッピー（登録商標）ディスク或いはＰＣＭＣＩＡカードスロットにアダプタを介して接続されるコンパクトフラッシュ（登録商標）メモリ等の外部メモリ１１１に対するアクセスを制御する。通信Ｉ／Ｆコントロール（通信Ｉ／ＦＣ）１０８は、ネットワークを介して、外部機器と接続・通信するものであり、ネットワーク上の通信制御処理を実行する。例えば、ＴＣＰ／ＩＰを用いたインタネット通信やプリンタ１５００との間でデータ送受信等が可能である。なお、ＣＰＵ１０１は、例えばＲＡＭ１０２内の表示情報用領域へアウトラインフォントの展開（ラスタライズ）処理を実行することにより、ＣＲＴ１１０上での表示を可能としている。また、ＣＰＵ１０１は、ＣＲＴ１１０上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【００２３】
また図１において、１５００はプリンタである。プリンタ１５００において、プリンタ内のＣＰＵ１１２は、プログラムＲＯＭ１１３ｂに記憶された制御プログラム等あるいは外部メモリ１１４に記憶された制御プログラム等に基づいてシステムバス１１５に接続される印刷部（プリンタエンジン）１１７に出力情報としての画像信号を出力する。また、プログラムＲＯＭ１１３ｂは、ＣＰＵ１１２が実行する制御プログラム等を記憶する。フォントＲＯＭ１１３ａは、上記出力情報を生成する際に使用するフォントデータ等を記憶し、データＲＯＭ１１３ｃは、ハードディスク等の外部メモリ１１４がないプリンタの場合に、ホストコンピュータ等上で利用される情報等も記憶する。
【００２４】
排紙装置接続部１２２は、オプションとしての端装置とプリンタ１５００との接続を可能にする。
【００２５】
ＣＰＵ１１２は、入力部１１８を介してホストコンピュータ等との通信処理が可能となっており、プリンタ内の情報等をホストコンピュータ等３０００に通知可能に構成されている。ＲＡＭ１１９は、ＣＰＵ１１２の主メモリであり、ワークエリア等として機能する。ＲＡＭ１１９は、図示しない増設ポートに接続されるオプションＲＡＭによりメモリ容量を拡張することができるように構成されている。
【００２６】
なお、ＲＡＭ１１９は、出力情報展開領域、環境データ格納領域、ＮＶＲＡＭ等にも用いられる。前述したハードディスク（ＨＤ）、ＩＣカード等の外部メモリ１１４は、メモリコントロール（ＭＣ）１２０によりアクセスを制御される。外部メモリ１１４は、オプションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。また、入力部１１８は、前述した操作パネルであり、操作のためのスイッチおよびＬＥＤ表示器等を配置している。
【００２７】
また前述した外部メモリは、１個又は複数個であり、内蔵フォントに加えてオプションフォントカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていてもよい。さらに、外部メモリは、図示しないＮＶＲＡＭを有し、操作部１５０１からのプリンタモード設定情報を記憶する様にしてもよい。
【００２８】
また、本実施形態では、プリンタ１５００がサポートするページ記述言語（以下、ＰＤＬという。）が例えば、ＬＢＰ  Ｉｍａｇｅ Ｐｒｏｃｅｓｓｉｎｇ Ｓｙｓｔｅｍ（キヤノン社製、以下ＬＩＰＳという。）といった比較的に高度なＰＤＬであると想定しているが、これに限るものではない。
【００２９】
本発明を実現するための印刷機器制御プログラム（以下、プリンタドライバという。）は外部メモリ１１１に記録されており、必要に応じてＲＡＭ１０２にロードされることによりＣＰＵ１０１によって実行されるものである。さらに、本発明に係わるプリンタドライバが用いる定義ファイル及び各種情報テーブルは外部メモリ１１１に格納されており、これらについての詳細な説明は後述する。
【００３０】
図２は、図１に示したホストコンピュータ等３０００からプリンタ１５００に印刷ジョブデータを送信する際の流れを示した主要な機能ブロック図である。
【００３１】
ホストコンピュータ等３０００におけるアプリケーションプログラム（以下、アプリケーションという。）２０１、グラフィックエンジン２０２、プリンタドライバ２０３及びプリントサブシステム２０４等のプログラムモジュールは、それぞれ図１に示した外部メモリ１１１にファイルとして保存され、実行される際に、ＯＳや、あるモジュールを利用する他のモジュールによってＲＡＭ１０２にロードされ実行される。
【００３２】
なお、アプリケーション２０１及びプリンタドライバ２０３は、外部メモリ１１１のＦＤや不図示のＣＤ−ＲＯＭあるいは後述するネットワークを経由して外部メモリ１１１のハードディスク（ＨＤ）に追加可能になっている。
【００３３】
外部メモリ１１１に保存されているアプリケーション２０１は、ＣＰＵ１０１によってＲＡＭ１０２にロードされて実行される。アプリケーション２０１からプリンタ１５００に対して印刷を行わせる際には、同様にＣＰＵ１０１によってＲＡＭ１０２にロードされて実行されるグラフィックエンジン２０２を利用して出力（描画）を行う。
【００３４】
グラフィックエンジン２０２は、印刷装置毎に用意されたプリンタドライバ２０３を起動する。これにより、プリンタドライバ２０３は、ＣＰＵ１０１によって外部メモリ１１１からＲＡＭ１０２にロードされて実行される。グラフィックエンジン２０２は、プリンタドライバ２０３を用いて、アプリケーション２０１の出力をＰＤＬによるプリンタ制御命令に変換する。
【００３５】
プリンタドライバ２０３により変換されたプリンタ制御命令は、プリントサブシステム２０４を経て通信インタフェース２２１経由でプリンタ１５００に出力される。
【００３６】
なお、プリントサブシステム２０４は、ＯＳによって起動されて、ＣＰＵ１０１によって外部メモリ１１１からＲＡＭ１０２にロードされて実行されるものであり、印刷ジョブのスケジューリング、プリンタとのホストコンピュータ等と接続制御やプリンタのステータスの管理を行う。また、プリンタドライバ２０３は、前述した、アプリケーション２０１から指示された印字や描画命令の出力に関するプリンタ制御命令を生成し、プリント出力に反映されるようプリンタに指示する。さらに、プリンタドライバ２０３は、プリンタドライバ２０３やプリンタ１５００本体が持つ機能を制御するための設定を行う機能（以下、ユーザインタフェースという。）と、その設定を記憶する機能、プリンタドライバ２０３やプリンタ１５００本体が持つ能力をアプリケーションやＯＳに情報提供する機能、上記ユーザインタフェースで設定された機能がプリンタの有する機能である場合にプリンタ制御命令を生成する機能、また、ユーザインタフェースで設定された機能がプリンタドライバ独自で行う機能の場合にその機能を実現する機能等を有する。
【００３７】
図３は、図１に示したホストコンピュータ等３０００、プリンタ１５００を適用可能な印刷システムの一例を示すシステム構成図である。図３において、３０１はネットワークであり、ネットワーク３０１に、複数のホストコンピュータ等３０００，プリンタ１５００，プリントサーバコンピュータ４０００が接続されている。
【００３８】
本システムにおいては、ホストコンピュータ等３０００の通信Ｉ／Ｆコントロール１０８(図１参照)は、ネットワークインタフェースカード（ＮＩＣ）の機能を有する。プリンタ１５００は、セントロニクスやＵＳＢ等のローカルインタフェース３０２を介してプリントサーバコンピュータ４０００と接続されプリントサーバコンピュータ４０００を介してホストコンピュータ等３０００に接続される形態であっても、ネットワーク３０１に直接接続される形態であってもよい。なお、ネットワーク３０１に直接接続されているプリンタ１５００の入力部１１８（図１参照）は、ネットワークインタフェースカード（ＮＩＣ）の機能を有する。
【００３９】
プリントサーバコンピュータ４０００を介してネットワーク３０１に接続されるプリンタ１５００に各ホストコンピュータ等３０００から印刷ジョブを送信する場合、まず各ホストコンピュータ等３０００は、プリントサブシステム２０４（図２参照）を介して、プリントサーバコンピュータ４０００へ印刷ジョブを送信する。そして、プリントサーバコンピュータ４０００は、各ホストコンピュータ等３０００から送信されてきた印刷ジョブを、プリントサーバコンピュータ４０００上の不図示のプリントサブシステムを介して、プリンタ１５００へ送信する。これにより、各ホストコンピュータ等３０００は、プリントサーバコンピュータ４０００を介して印刷ジョブをプリンタ１５００へ送信することができる。照合（認証）サーバ５０００は、組織の部門情報を保持するデータベース(ＤＢ)６０００を保有するサーバである。
【００４０】
また、ネットワーク３０１に直接接続されるプリンタ１５００に各ホストコンピュータ等３０００から印刷ジョブを送信する場合、各ホストコンピュータ等３０００は、プリントサブシステム２０４（図２参照）を介して、ネットワーク３０１に直接接続されるプリンタ１５００へ印刷ジョブを送信する。
【００４１】
次に、図４のタイミングチャートを用いて、本発明を適用するのに好適なプリンタドライバの基本的な処理の流れについて説明する。
【００４２】
図４は、印刷制御装置における印刷を行う場合の基本的な処理の流れを示すステータス図であり、特に、図２に示したアプリケーション２０１，グラフィックエンジン２０２，プリンタドライバ２０３の処理に対応する。なお、図２と同一のものには同一の符号を付してある。
【００４３】
図２に示したように、アプリケーション２０１は、プリンタドライバ２０３と直接やり取りを行うのではなく、ＯＳの持つグラフィックスエンジン２０２を介して行うため、アプリケーション２０１自体は、実際にはグラフィックスエンジン２０２とやり取りを行う。グラフィックエンジン２０２はアプリケーション２０１から指示を受け、プリンタドライバ２０３に対して指示を行う。
【００４４】
まず、ステップ４０１において、アプリケーション２０１は、片面／両面設定や部数設定などの印刷設定をＲＡＭ１０２に確保されたメモリを介してグラフィックエンジン２０２に通知し、グラフィックエンジン２０２は、その印刷設定の通知と、その印刷設定を元にプリンタドライバ２０３が印刷処理を行う上で必要な情報を格納するために新たにＲＡＭ１０２上に確保されたメモリ領域の初期化要求とをプリンタドライバ２０３に送る。これにより、プリンタドライバ２０３は、プリンタドライバ２０３が印刷処理を行うために必要な情報（プリンタドライバ情報）を保持するメモリ領域を確保し、通知された印刷設定に従ってそのメモリ領域を初期化する。
【００４５】
ステップ４０２において、プリンタドライバ２０３は、プリンタドライバ２０３が参照するメモリ領域の初期化処理要求の受信により必要な処理を完了すると、ステップ４０１で受信した印刷設定に応じたプリンタドライバ２０３の印刷能力をグラフィックエンジン２０２に通知し、グラフィックエンジン２０２は、最終的にプリンタ１５００に送信される印刷ジョブとその印刷ジョブに反映させる印刷設定とを関連付けるために必要なハンドル値をアプリケーション２０１に送る。
【００４６】
ステップ４０３において、アプリケーション２０１は、印刷開始要求をグラフィックエンジン２０２に送ると、グラフィックエンジン２０２は、プリンタドライバ２０３に印刷開始要求を送る。これにより、プリンタドライバ２０３は、ＰＤＬの生成処理を開始し、プリンタ１５００が印刷を開始するのに必要なプリンタ命令を生成する。ただし、プリンタ１５００が印刷を開始するのに必要なプリンタ命令を生成する処理は、最初のページ（１ページ目）の印刷処理が開始された時点（アプリケーションからの最初のページの描画指示を受信した時点）でもあっても良い。
【００４７】
ステップ４０４において、アプリケーション２０１は、文字やイメージ等の描画オブジェクトの描画を実現するための描画指示や改ページ指示をグラフィックエンジン２０２に送る。グラフィックエンジン２０２は、その描画指示や改ページ指示をプリンタドライバ２０３に送る。これにより、プリンタドライバ２０３は、指定された描画オブジェクトや改ページ、更には不図示の印刷設定を途中で変更するための要求などを反映したプリンタ制御命令を適宜生成し、プリンタ１５００へ出力する。なお、印刷するページ数はアプリケーション２０１からの指定に依る。
【００４８】
ステップ４０５において、アプリケーション２０１は、印刷終了要求をグラフィックエンジン２０２に送り、グラフィックエンジン２０２は、その印刷終了要求をプリンタドライバ２０３に送る。これにより、プリンタドライバ２０３は、プリンタ１５００が印刷終了に必要なプリンタ命令を生成し、ＰＤＬの生成処理を終了する。
【００４９】
ステップ４０６において、アプリケーション２０１は、ステップ４０２で取得したハンドル値の破棄要求をグラフィックエンジン２０２に送り、グラフィックエンジン２０２は、プリンタドライバ２０３が印刷処理を行う上で必要な情報を格納するメモリ領域にある情報（プリンタドライバ情報）の破棄要求をプリンタドライバ２０３に送る。これにより、プリンタドライバ２０３は、上記プリンタドライバ情報の破棄処理を行う。
【００５０】
以上に示した、ステップ４０３〜４０５の処理により、プリンタ１５００へ送信するための１つのジョブが生成されることになる。
【００５１】
本実施形態の印刷システムは、図１および図２で示すプリンタとホストコンピュータ等からなる印刷システムに加えて、更にアプリケーション２０１からの印刷データを一旦中間コードデータでスプールする構成を有する。このシステムにおいては、一旦スプールした中間コードデータの内容に対して加工することができる。これによりアプリケーション２０１からの印刷データに対して、拡大縮小や、複数ページを１ページに縮小して印刷する等、アプリケーションの持たない機能を実現することができる。
【００５２】
図５にグラフィックエンジン２０２からプリンタドライバ２０３へ印刷命令を送る際に、一旦中間コードからなるスプールファイル５０４を生成するべく拡張されたシステム構成を示す。図５で示すシステムにおいては、スプールファイル５０４の内容に対して加工することができる。これによりアプリケーションからの印刷データに対して、拡大縮小や、複数ページを１ページに縮小して印刷する等、アプリケーション２０１が持たない機能を実現することができる。
【００５３】
これらの目的のために、図２のシステムに対し、図５に示すように中間コードデータでスプールする等のシステムの拡張がなされてきている。なお、印刷データの加工を行うためには、通常プリンタドライバ２０３が提供するウィンドウから設定を行い、プリンタドライバ２０３がその設定内容をＲＡＭ１０２上あるいは外部メモリ１１１上に保存する。
【００５４】
以下、図５の詳細を説明する。図に示す通り、この拡張された処理方式では、グラフィックエンジン２０２からの印刷命令であるＤＤＩ関数をディスパッチャ５０１が受け取る。ディスパッチャ５０１がグラフィックエンジン２０２から受け取ったＤＤＩ関数が、アプリケーション２０１からグラフィックエンジン２０２へ発行された印刷命令（ＧＤＩ関数）に基づくものである場合には、ディスパッチャ５０１は外部メモリ１１１に格納されている内部スプール処理モジュール５０２内のスプーラ５０３をＲＡＭ１０２にロードし、通常の印字データ作成処理５０７ではなくスプーラ５０３へＤＤＩ関数を送る。
【００５５】
スプーラ５０３は受け取ったＤＤＩ関数を解析し、ページ単位に中間コードに変換してスプールファイル５０４に出力する。このページ単位に格納されている中間コードのスプールファイルをページ描画ファイル（ＰＤＦ：Page Description File）と呼ぶ。また、スプーラ５０３は、プリンタドライバ２０３に対して設定されている印刷データに関する加工設定（製本印刷、Ｎｕｐ、両面、ステイプル、カラー／モノクロ指定等）をプリンタドライバ２０３から取得してジョブ単位のファイルとしてスプールファイル５０４に保存する。
【００５６】
この時ジョブ単位に格納されている設定ファイルをジョブ設定ファイル（簡略してＳＤＦ：Spool Description Fileと呼ぶこともある）と呼ぶ。このジョブ設定ファイルについては後述する。なお、スプールファイル５０４は、外部メモリ１１１（図１参照）上にファイルとして生成される、ＲＡＭ１０２上に生成されても構わない。更にスプーラ５０３は、外部メモリ１１１に格納されているスプールファイルマネージャ５０５をＲＡＭ１０２（図１参照）にロードし、スプールファイルマネージャ５０５に対してスプールファイル５０４の生成状況を通知する。その後、スプールファイルマネージャ５０５は、スプールファイル５０４に保存された印刷データに関する加工設定の内容に従って印刷を行えるか判断する。
【００５７】
スプールファイルマネージャ５０５がグラフィックエンジン２０２を利用して印刷を行えると判断した際には、外部メモリ１１１に格納されているデスプーラ５０６をＲＡＭ１０２にロードし、デスプーラ５０６に対して、スプールファイル５０４に記述された中間コードのページ描画ファイルの印刷処理を行うように指示する。
【００５８】
デスプーラ５０６は、スプールファイル５０４に含まれる中間コードのページ描画ファイルをスプールファイル５０４に含まれる加工設定情報を含むジョブ設定ファイルに従って加工し、ＧＤＩ関数を再生成し、もう一度グラフィックエンジン２０２経由でＧＤＩ関数を出力する。
【００５９】
ディスパッチャ５０１がグラフィックエンジン２０２から受け取った印刷命令（ＤＤＩ関数）がデスプーラ５０６からグラフィックエンジン２０２へ発行された印刷命令（ＧＤＩ関数）に基づいたものである場合には、ディスパッチャ５０１は、スプーラ５０３ではなく、プリンタドライバの通常の印字データ作成処理５０７に印刷命令を送る。プリンタドライバ２０３はグラフィックエンジン２０２から取得したＤＤＩ関数に基づいてＰＤＬ等からなるプリンタ制御命令を生成し、プリントサブシステム２０４経由でプリンタ１５００に出力する。
【００６０】
さて、これまでの記述で図１〜図５を用いて本発明を実施するのに好適な動作環境或いはプリンタドライバ２０３の全体的な処理内容を説明したが、以下に本発明を詳述する。尚、これらの図１〜図１９の各種テーブルの構成及びその内容は限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。尚、本実施例ではクライアントコンピュータで動作する形態で説明する。
【００６１】
図７から図９を参照して、印刷設定画面のカスタマイズを行う手順について説明する。
【００６２】
図７は、プリンタプロパティの設定画面を示す図であり、プリンタの構成を設定するためのユーザインタフェースを示す。７０２の設定１シート、７０３の設定２シート、７０４の設定３シートは、ウィンドウズシステムで管理しているウィンドウズスプーラーを管理する設定シート、出力ポートを管理する設定シート、プリンタの構成を設定するシート等の従来から存在する設定シートである。７０５のカスタマイズ設定シートは、ユーザがカスタマイズ設定を行うための設定シートである。
【００６３】
７０６のボタンであるカスタマイズ設定手動は、全コントロールに対する表示、非表示の設定をユーザ自身で行う場合に押下するプッシュボタン型コントロールである。
【００６４】
７０７のボタンであるカスタマイズ設定自動は、プリンタの構成情報を取得し、一部のコントロールについてプリンタの構成情報に応じて表示、非表示の設定を自動で行う場合に押下するプッシュボタン型コントロールである。例えば、両面制御装置が装着されていない場合には、両面印刷が行えないので印刷方法は片面印刷固定となるため、その操作コントロールである印刷方法などを非表示設定にする。
【００６５】
尚、プリンタの構成情報に応じて表示、非表示の設定を自動で行った後に、表示、非表示の設定をユーザ自身で行えるように構成している。
【００６６】
また、プリンタの構成情報に応じて非表示の設定されたコントロールに関してはユーザが表示、非表示設定を変更できないように構成してもよい。
【００６７】
これにより、間違ってユーザが表示設定することを防ぐことができるので、ユーザの煩雑な作業を無くし、無駄な表示を無くすことが可能である。
【００６８】
７０８はプッシュボタン型のＯＫボタンであり、このボタンを押下することでシート上の変更情報を更新してシートを終了することができる。
【００６９】
７０９はプッシュボタン型のキャンセルボタンであり、このボタンを押下することでシート上の変更情報を更新せずにシートを終了することができる。
【００７０】
７１０はプッシュボタン型のヘルプボタンであり、このボタンを押下することでシートの各コントロールの内容情報を表示することができる。
【００７１】
図８は、カスタマイズ設定画面を示す図であり、図７のカスタム設定手動ボタン７０６又はカスタム設定自動ボタン７０７を押下したときに表示されるユーザインタフェースである。８０２、８０３、８０４、８０５は印刷を行うときに使用するドキュメント設定のコントロールが配置されているシートである。８０２の設定１シートを例にコントロールの構成を説明する。
【００７２】
８０６のコントロールは、チェックボックス型であり８１３のコントロールと関連している。ユーザは、プリントサーバコンピュータ４０００やホストコンピュータ等３０００に装着されているキーボードやマウスの入力装置を用いてチェックボックス型コントロールのチェックをＯＮ、ＯＦＦに設定することが可能である。８０６のチェックボックス型コントロールをＯＮにした場合には、カスタマイズ設定画面８０１上で８１３はＥｎａｂｌｅ表示（コントロールがグレイ表示でなく操作可能な状態）になる。これに対して、８０６のチェックボックス型コントロールをＯＦＦにした場合には、８１３はＤｉｓａｂｌｅ表示（コントロールがグレイ表示になり操作不可能な状態）になる。
【００７３】
例えば、８０６のチェックボックス型コントロールをＯＮに設定した場合には、印刷設定を行う画面（当該設定を反映させた画面であり、後述する図１０に示す印刷設定画面）では、８１３のコントロールを表示しないことになる。８０６のチェックボックス型コントロールをＯＦＦにした場合には、８１３のコントロールを印刷設定画面に表示することになる。８０７から８１２のチェックボックス型コントロールは右隣にあるコントロールと同様な動作を行う。また、８０６から８１２のチェックボックス型コントロールについては、チェックがＯＦＦを初期値とする。８１３から８１７のコントロールについては、標準の設定値が初期値として選択されている。そして、ユーザはコントロールを非表示とするために関連付いているチェックボックス型コントロールをチェックＯＮにした場合のみ設定値を変更することが可能である。
【００７４】
ユーザが８２０のプッシュボタン型のＯＫコントロールを押下するとカスタマイズ設定がレジストリに保存される。ユーザが各コントロールの設定を変更しても８２１のプッシュボタン型のキャンセルボタンを押下した場合には、変更内容はレジストリには保存されない。
【００７５】
図９は、９１９のプッシュボタン型のコントロール（オプション２）を押下した時に表示される９２３のダイアログと９１２のチェックボックス型コントロールの関係について示している。９１９を押下したときに９２３のオプション２のダイアログが表示される。９２３のオプション２のダイアログには、９２４から９２６のチェックボックス型コントロールと、９２７から９２９の印刷設定を行うエディットボックス型コントロールが配置されている。９２４のチェックボックス型コントロールと、９２７のエディットボックス型コントロールとは関連しており、９２４のチェックボックス型コントロールのチェックがＯＮの場合には、９２７のエディットボックス型コントロールがＥｎａｂｌｅになり、９２４のチェックボックス型のコントロールのチェックがＯＦＦの場合には、９２７のエディットボックス型コントロールがＤｉｓａｂｌｅになる。９２５と９２８、９２６と９２９の関係も９２４と９２７の関係と同様である。
【００７６】
９２４、９２５および９２６のチェックがＯＮの場合には、印刷設定画面において、関連付けられている９２７、９２８および９２９は非表示となる。
【００７７】
９０１のカスタマイズ設定画面の設定１シートを第１階層とし、その第１階層のコントロールである９１９を押下して開いた９２３のオプション２のダイアログを第２階層とする。
【００７８】
第２階層である９２３のダイアログに存在するエディットボックス型コントロール９２７、９２８および９２９に関連づいているチェックボックス型コントロール９２４、９２５および９２６のチェックをＯＮにして、プッシュボタン型コントロール９３０のＯＫボタンを押下して９２３のダイアログを閉じた場合には、ダイアログ９２３内の全てのコントロールを印刷設定画面で非表示にすることになるので、第１階層のコントロールである９３３の設定１シート上の９５１のプッシュボタン型コントロールを、印刷設定画面において非表示にする制御を行う。そのため、９４４のチェックボックス型コントロールのチェックをＯＮにする。
【００７９】
図１０は、図９に示すカスタマイズ設定を９５２のプッシュボタン型ＯＫボタンを押下して保存したレジストリ情報を読み込んで印刷設定画面に反映させた状態を示す図である。図１０の上の画面（１００１）は反映前を示す印刷設定画面であり、図１０の下の画面（１０１６）は反映後を示す印刷設定画面である。
【００８０】
図１０の上のウィンドウの１００２の設定１シートは標準の印刷設定の状態である。一方、図９の９３４の設定１シートで設定されたチェック状態で９５２のプッシュボタン型ＯＫボタンを押下し、印刷設定画面の設定１シートを表示した時のコントロールの状態が、図１０の下の画面のウィンドウ１０１６の１０１７の設定１シートである。図９の設定１シート９３４の９３９、９４１、９４２、９４４のチェックボックスコントロールがチェックＯＮであることから、標準の印刷設定で表示されるべきコントロールである１００７、１００９、１０１０、１０１１が非表示になる。また、１００７のコントロールが非表示になることから、１００８は上部に移動する。そして、１０１１のコントロールが非表示になることから、１０１３のコントロールが右へ移動する。このようにコントロールが非表示及び移動した状態が図１０の下のウィンドウ１０１６である。１０２１のコントロールと１０２２のコントロールが上下に並んで表示され、１０２３のコントロールが右に表示され各コントロールの配置が整えられる。
【００８１】
図１５から図１７は、図８、図９を用いて説明したカスタマイズ情報の作成を行う処理を示すフローチャートである。この処理を実行する制御プログラムは、コンピュータ機器の主メモリに記憶され実行される。以下、当該処理について説明する。
【００８２】
図１５のステップ１５０１において、ユーザがカスタマイズファイルを作成するためのカスタマイズ設定ウィンドウ８０１（図８参照）を表示する。
【００８３】
ステップ１５０２において、カスタマイズ設定ウィンドウ８０１を開いたときには、カスタマイズ情報を保持するためのメモリ領域の確保を行う。ステップ１５０２でメモリ領域の確保を行う際、図７の７０７のカスタム設定自動のプッシュボタン型コントロールが押下された場合、プリンタ１５００よりプリンタ構成情報を取得し、プリンタ構成情報に対応するチェックボックス型コントロールは表示（チェックＯＦＦ）にし、それ以外のチェックボックス型コントロールについては非表示（チェックＯＮ）として予め図１３の１３０４のコントロールのチェック状態に記憶される。
【００８４】
図１９は、プリンタ構成情報を取得し、その取得状況に応じて表示、非表示が設定されるコントロールについて説明する図である。１９０１に示すのは、プリンタの構成情報取得を行った際に、両面ユニットの情報を取得するが、両面ユニットが装着されている場合には、対応コントロールである印刷方法に対応したメモリ領域の１３０４（図１３参照）がＯＦＦになる。両面ユニットが装着されていない場合には、当該メモリ領域の１３０４がＯＮになる。１９０２のプリンタ構成情報取得で取得される排紙オプションについても、同様に装着状況に応じてメモリ領域が記憶される。
【００８５】
尚、プリンタから取得するプリンタ構成情報として、排紙ビンの情報についても取得するように構成しても良い。
【００８６】
図１５に戻って説明すると、ステップ１５０２でカスタマイズ情報のメモリ確保を行うことになるが、確保するメモリ構成は図１３の１３０１から１３０２および１３０３から１３１０になる。ここで確保するメモリ領域はユーザインタフェース上に存在する数だけ領域を確保することになる。これらのメモリ領域の初期値であるが、１３０１と１３０２に関しては、予め関連付けられている。１３０１には、図８の８０６から８１２に示すチェックボックス型コントロールのＩＤが設定され、１３０２には、図８の８１３から８１９に示すコントロールのＩＤが設定される。この１３０１と１３０２は、１つの情報テーブルとして設定される。この情報テーブルを用いることにより、１３０１と１３０２のコントロールＩＤの関連付けがなされている。一方、１３０３から１３１０に関しては、次のように初期値が設定される。１３０３は、ユーザインタフェース上に存在する各コントロールＩＤになる。１３０４は、８０６から８１２に示すコントロールＩＤのチェック状態になるが、初期値はチェックＯＦＦになる。１３０５から１３０７は標準のコントロールの位置と幅、高さになる。１３０８はカスタマイズ設定後のコントロールの座標になる。１３０９は、カスタマイズの結果、１３０５の従来の座標位置から移動する距離を設定することになるが、初期値は移動距離なしになる。１３１０は、８０６から８１２のチェック状態がＯＮの場合には、そのコントロールに関連付けられている８１３から８１９のコントロールが印刷設定画面で非表示対象になる。そして、ステップ１５０３にてユーザが各コントロールの操作を行ったときに受けるメッセージを待つ。このメッセージには、どのコントロールを操作したかのコントロールＩＤを取得し、どのような操作を行ったかを取得することができる。
【００８７】
そして、ステップ１５０４にてメッセージを受けた時に、そのコントロールが図８の８０６から８１２に示す表示、非表示を設定するためのチェックボックス型コントロールであるかを、取得したコントロールＩＤから判断する。そのメッセージが表示、非表示を行うためのチェックボックス型コントロールからのメッセージであった場合には、１３０１と１３０２で構成される情報テーブルを参照することにより、取得したコントロールＩＤをキーとして、１３０１のコントロールＩＤと比較を行う。比較して一致したメモリの１３０２が関連付けられているコントロールＩＤとなる。
【００８８】
そして、ステップ１５０６において、その１３０２のコントロールＩＤをキーとして、１３０３のメモリ領域を比較検索する。
【００８９】
そして、ステップ１５０７において、一致したメモリ領域に対して、コントロール型チェックボックスの設定値のＯＮまたはＯＦＦを１３０４に設定する。
【００９０】
ステップ１５０８では、第２階層のウィンドウを表示する際に押下するプッシュボタン型コントロールであるか判断を行い、そのコントロールであった場合には、ステップ１５０９の処理を行う。
【００９１】
ステップ１５０３で受けたメッセージが、図８の８０２シート上の８２０のＯＫボタンが押下された時の処理ステップ１５１０では、メモリ上の情報から移動距離計算処理を行い、メモリ上の情報をレジストリに保存して処理を終了する。
【００９２】
ステップ１５１１では、コントロール移動距離を算出する。図９の下の画面の９３３のウィンドウがカスタマイズ設定画面であり、このカスタマイズ設定を反映させた印刷設定画面が、図１０の下の画面の１０１６のウィンドウになる。ここで図９の下の画面の９３９がチェックＯＮ、９４０がチェックＯＦＦである。よって、９３９と関連付けられているコントロールである９４６は印刷設定画面では非表示となり、９４０と関連付けられているコントロールである９４７は印刷設定画面では表示となる。その結果が、図１０の印刷設定画面の１０２２の上部へのコントロール移動になる。このような各コントロールの前後の表示情報を図１３に示すメモリを参照することにより計算を行う。
【００９３】
ステップ１５０３で受けたメッセージが、図８の８０２のシート上の８２１のキャンセルボタンが押下された時の処理ステップ１５１３では、メモリ上に保持している情報をレジストリに保存せずに、処理を終了する。
【００９４】
ステップ１５０３で受けたメッセージが、シート上のコントロールに対応するものでない場合には、処理を行わず次のメッセージ監視処理を行なう。
【００９５】
図１６は、プッシュボタン型コントロールを押下した場合の処理フローである。ここでいうプッシュボタン型コントロールは、第１階層に存在し、第２階層を表示するために押下するボタンである。図８の８１８のオプションボタン１および８１９のオプションボタン２がそれに該当する。ステップ１６０１では、まず第１階層でプッシュボタン型コントロールを押下されたときに第２階層のダイアログウィンドウを表示する処理である。
【００９６】
ステップ１６０２は、第２階層に存在する全コントロールに対してのメッセージを待つ処理である。各コントロールをユーザが操作した場合には、どのコントロールに対してどのような操作を行ったかのメッセージを受け取る。これ以降の処理（ステップ１６０３〜１６０８、ステップ１６１１）については、図１５と同一処理であるが、唯一、ステップ１６０７でＯＫボタンを押下した後の処理が異なる。ステップ１６０８で移動距離計算処理を行った後に、ステップ１６０９でダイアログウィンドウ内の全ての表示、非表示を設定するチェックボックス型コントロールがチェックＯＮであるか、図１３のメモリに記憶されている各コントロールのコントロールチェック状態の情報を取得し、確認する。ここで、全てＯＮであった場合には、第２階層コントロールを表示するために押下したプッシュボタン型コントロールに関連付けられている表示、非表示を行うためのチェックボックス型コントロールをＯＮにする。これは、第２階層の全てのコントロールを非表示と設定した場合には、関連付いている第１階層のプッシュボタン型コントロールを印刷設定画面で非表示とするためである。
【００９７】
以上まとめると、図７の７０６のカスタム設定手動が押下された場合には、ユーザが手動でカスタマイズ設定を行うことができ、７０７の設定自動が押下された場合にプリンタ１５００からプリンタの構成情報の取得を行い、自動でユーザインタフェースのコントロールのカスタマイズを行う。自動の場合には、取得してきた情報に基づいて、図１３の各コントロールのチェック状態に表示、非表示チェックのＯＮ/ＯＦＦが記憶される。この情報に基づいて図１５、図１６に示された処理が行われる。
【００９８】
尚、本実施形態では、非表示にするコントロールに対してチェックを行うように構成したが、表示させるコントロールにチェックを行うように構成してもよい。
【００９９】
次に、図１１および図１２を用いて、ユーザセパレート機能を設定値としてコントロールを非表示にするカスタマイズ設定を行う手順を説明する。
【０１００】
まず、ユーザセパレート機能について説明する。図３のプリンタ本体１５００の排紙装置として図６に示す排紙口６０１から６０７が装着されているとする。この６０１から６０７の各排紙口に対して名称を割り当てることができる。この割り当てられた情報はプリンタ本体１５００のメモリ上に格納される。ユーザは排紙口名称を指定することにより、指定した排紙口に印刷物を排紙することが可能である。プリンタドライバは、ユーザに排紙名称を指定するユーザインタフェースを提供するとともに、ユーザに指定された名称を、プリンタへ指定することにより、プリンタは指定された排紙口に出力を行う。その前提として、ユーザは各排紙口へユーザの所属するＳＥＣＴＩＯＮ名を名称設定していることとする。また、プリントサーバコンピュータ４０００上に図１４に示すＳＥＣＴＩＯＮ  （部署名等）とＭＥＭＢＥＲ（ユーザ名等）との関係を構成し、ＭＥＭＢＥＲ名からＳＥＣＴＩＯＮ名を検索することが可能なデータベースが構築されている。
【０１０１】
尚、ＳＥＣＴＩＯＮ名はプリンタ１５００に記憶されている排紙口（排紙ビン）の名称と対応しており、プリンタ１５００で排紙口（排紙ビン）名称が変更されると図１４の情報も変更される。また、図１４の情報（ＳＥＣＴＩＯＮ名）が変更されるとそれに対応するプリンタ１５００の排紙口（排紙ビン）名称も変更される。
【０１０２】
図１１の下の画面は、排紙方法、排紙設定を含むカスタマイズ設定を行う１１０３の設定２シートおよび１１１５のプッシュボタン型コントロール（排紙設定）を押下した時に表示される排紙設定ダイアログ１１１７である。チェックボックス型コントロール１１０８のチェックボックスをＯＮにすることで、１１１４のコントロールを非表示設定とする。また、１１１４のコントロール（排紙方法）では、ユーザセパレートモードが選択されている。ユーザセパレートモードを選択した際には１１１５のプッシュボタン型コントロールを押下して排紙先を選択する必要がある。１１１５のプッシュボタン型コントロールを押下すると、１１１７の排紙設定ダイアログが表示される。１１１７には、排紙先を設定するチェックボックス型コントロール１１１９がある。１１１９を非表示にするためには、１１１８のチェックボックス型コントロールをＯＮにする。１１１９のコントロール内に、チェックボックス型コントロール１１２０から１１２７が存在する。この選択肢の中には、実在する排紙ビンとは別に１１２７のチェックボックス型コントロールが存在する。１１２７のチェックボックス型コントロールが存在する意味は次のとおりである。
【０１０３】
図３に記載したようなプリントサーバコンピュータ４０００とホストコンピュータ等３０００で構成される形態の場合には、プリントサーバコンピュータ４０００側でカスタマイズ設定を行うことになる。このカスタマイズ設定をホストコンピュータ等３０００側で引き継ぐ。その場合、図１１の１１１９のコントロールにて、１１２０から１１２６のチェックボックス型コントロールのどれかを選択して設定した場合には、プリントサーバコンピュータ４０００に接続された全てのユーザの排紙が設定された排紙口に出力されてしまうことになる。それを回避するため、チェックボックス型コントロール１１２７の排紙ビン自動という選択肢を設ける。チェックボックス型コントロール１１２７の排紙ビン自動を選択することで、照合（認証）サーバ５０００上のデータベース６０００と、印刷を行うために印刷設定を行うユーザ名とを照合することで排紙口を決定することになる。尚、プリントサーバ４０００で照合を行っても良い。
【０１０４】
図１２は、印刷設定ウィンドウ１２０１を示し、１２０２の設定１シートは、図１１で設定した排紙方法、排紙設定のカスタマイズ情報をレジストリから読み込み、設定を反映させたものである。図１１のチェックボックス型コントロール１１０８および１１０９でチェックをＯＮにしているため、図１１のコントロール１１１４および１１１５は非表示になる。そのため、図１２においては排紙方法コントロールおよび排紙設定コントロールは表示されない。
【０１０５】
図１１についてのカスタマイズ設定のフローチャートは、前述の図１５、図１６、図１７に示したフローチャートと同様である。
【０１０６】
図１１に示す画面で設定したカスタマイズ情報を使用した印刷設定である図１２の排紙設定を行うフローチャートが図１７および図１８である。ここからは、図１７および図１８にて、図１４のＭＥＭＢＥＲ１４がホストコンピュータ等３０００上でログインを行い、カスタマイズ設定にてユーザセパレートで排紙ビン自動が選択されていた時の、印刷設定を行う際に決定される排紙口について説明する。
【０１０７】
また、図３の照合（認証）サーバ５０００上のデータベース６０００に図１４に示すデータが構成されているとする。図１４は、ＳＥＣＴＩＯＮ名とそのＳＥＣＴＩＯＮに所属するＭＥＭＢＥＲ名で構成されている。このデータベースにより、ＭＥＭＢＥＲ名からそのＭＥＭＢＥＲが所属するＳＥＣＴＩＯＮ名を検索することが可能である。
【０１０８】
図１７に示す処理は、アプリケーションやウィンドウズシステム上で印刷設定を行おうとしたときに実行される処理である。まずステップ１７０１でカスタマイズ設定を行うのであればレジストリに設定されていることになるカスタマイズ情報を確認する。カスタマイズ情報が確認できなければ、カスタマイズ処理を行わずステップ１７１２にてユーザが通常のユーザインタフェースを用いて処理を行う。レジストリにカスタマイズ情報が確認できた場合には、ステップ１７０２においてユーザインタフェースの非表示処理を行う。  ステップ１７０２の詳細について図１８を用いて説明する。
【０１０９】
図１８のステップ１８０１からステップ１８０４において、レジストリから読み込んだカスタマイズ情報を元にコントロールの表示および非表示の設定、コントロール位置の移動処理を行う。ステップ１８０１では、レジストリからカスタマイズ情報を読み込む。ステップ１８０２では、各コントロールの設定値等の初期化処理を行う。ステップ１８０３では、ステップ１８０１で読み込んだカスタマイズ情報を元に各コントロールの表示または非表示の処理を行う。ここで図１１の１１０８のチェックボックス型コントロールがチェックＯＮになっているため、図１２では排紙方法のコントロールは非表示となる。同様に図１１の１１０９のチェックボックス型コントロールもチェックがＯＮになっているので排紙設定のコントロールは図１２では非表示になる。
【０１１０】
ステップ１８０４では、ステップ１８０１で読み込んだカスタマイズ情報を元に各コントロールの移動距離情報を参照して、コントロールの移動処理を行う。
【０１１１】
図１７のステップ１７０３では、非表示設定となっていた場合に設定されていた値が図１１の１１２７のチェックボックス型コントロールで選択した排紙ビン自動であるかの判断を行う。設定値が排紙ビン自動でなければ、ステップ１７１１において、選択された設定を印刷時に使用するＤＥＶＭＯＤＥ（プリンタの設定を保存するための構造体）値として使用する。設定値が排紙ビン自動である場合には、ステップ１７０４にてシステムからログインユーザ名を取得する。ここでＭＥＭＢＥＲ１４が取得されることになる。ステップ１７０５では、照合（認証）サーバ５０００上のデータベース６０００からステップ１７０４にて取得されたログインユーザ名を照合して所属するＳＥＣＴＩＯＮ名を取得する（図１４参照）。また、ステップ１７０６にてプリンタ１５００から排紙口に設定されている名称を取得する。
【０１１２】
ステップ１７０７では、プリンタから取得した排紙口に設定されている名称の中にデータベースから取得したＳＥＣＴＩＯＮ名が存在するか判定を行う。存在した場合には、そのＳＥＣＴＩＯＮ名をＤＥＶＭＯＤＥに選択する。存在しない場合には、適切な排紙口がない旨を伝えるメッセージを表示し、標準の排紙口をＤＥＶＭＯＤＥへ設定する。ここで印刷設定したＤＥＶＭＯＤＥ情報を用いて、図４のステップ４０２での能力通知を行い、印刷を行うことになる。
【０１１３】
尚、本実施形態では、排紙ビンが自動設定になっていた場合、予め排紙する排紙ビンを特定するように構成したが、印刷を実行した際にユーザ名を元に排紙する排紙ビンがあるかどうかを判定してもよく、ユーザ名と同じ排紙ビンがなければ、ユーザの所属するＳＥＣＴＩＯＮ名を取得してそのＳＥＣＴＩＯＮ名と同じ排紙ビンに対して出力指示を出すように構成しても良い。
【０１１４】
その際、印刷命令にユーザ名を付加しておき、サーバでその付加情報（ユーザ名）に基づき排紙ビンを決定するようにする。
【０１１５】
また、印刷命令を受けたプリンタでユーザ名に対応する排紙ビンがあるかどうかを判定し、なかった場合にサーバ或いはプリンタに記憶されている図１４の情報を元に排紙ビンを決定するように構成しても良い。
【０１１６】
さらに、チェックボックス１１２７に関する項目（例えば、「図１１の下の図のビン自動」）をボタン化し、該ボタンが押下されたタイミングでログインユーザ名に基づき排紙ビンを決定し、自動で１１２０〜１１２６の何れかにチェックが入るように構成してもよい。
【０１１７】
以上説明したように、本実施形態によれば、ユーザによるプリンタドライバのカスタマイズを行うことが可能であり、カスタマイズを行う際のユーザ毎の設定に関する問題を解決することが可能である。
【０１１８】
本実施形態は例示であって制限的なものではない。したがって、本実施形態の他にも変形は可能である。その変形が特許請求の範囲によって示される技術的思想の範囲内である限り、その変形は本発明の技術的範囲内である。
【図面の簡単な説明】
【０１１９】
【図１】本発明を適用可能な印刷システムの構成例を説明するブロック図である。
【図２】図１に示したホストコンピュータ等からプリンタに印刷ジョブデータを送信する際の流れを示した主要な機能ブロック図である。
【図３】図１に示したホストコンピュータ等をクライアントおよびサーバ用途に夫々使用し、プリンタを接続した印刷システムの一例を示すシステム構成図である。
【図４】本発明を適用可能なプリンタドライバの基本的な処理の流れを示すステータス図である。
【図５】図１に示したホストコンピュータ等からプリンタに印刷ジョブデータを送信する際の流れを示した主要な機能ブロック図であり、かつプリンタドライバの内部処理をより詳細に記したブロック図である。
【図６】プリンタに装着される排紙装置を示す図である。
【図７】カスタマイズ設定を行うシートを示す図である。
【図８】カスタマイズ設定を編集するためのウィンドウを示す図である。
【図９】カスタマイズ設定を編集するため第１階層のウィンドウと第２階層のダイアログの設定における制御を説明する図である。
【図１０】カスタマイズ設定を行う前と行った後の印刷設定を説明する図である。
【図１１】排紙方法および排紙設定におけるカスタマイズ設定を説明する図である。
【図１２】排紙方法および排紙設定のカスタマイズ設定を行った後の印刷設定を説明する図である。
【図１３】本発明の実施形態の記憶媒体のデータ構成を示すメモリマップ図である。
【図１４】本発明の実施形態のデータベース構成を示す図である。
【図１５】カスタマイズ情報を作成する制御方法を示すフローチャートである。
【図１６】カスタマイズ情報を作成する際のプッシュボタン型コントロールを押下した際の制御方法を示すフローチャートである。
【図１７】排紙方法および排紙設定のカスタマイズ設定情報を印刷設定時に適用する制御方法を示すフローチャートである。
【図１８】印刷設定時にカスタマイズ設定情報を適用した際のユーザインタフェースの非表示方法の制御方法を示すフローチャートである。
【図１９】プリンタ構成情報を取得し、その取得状況に応じて表示、非表示が設定されるコントロールを示す図である。
【符号の説明】
【０１２０】
１５００    プリンタ
１５０１    操作部
３０００    ホストコンピュータ等
４０００    プリントサーバコンピュータ
１０１      ＣＰＵ
１０２      ＲＡＭ
１０３      ＲＯＭ
１０４      システムバス
１０５      入力コントロール
１０６      ビデオコントロール
１０７      メモリコントロール
１０８      通信Ｉ／Ｆコントロール
１０９      キーボード
１１０      ＣＲＴ（モニタ）
１１１      外部メモリ（ＨＤ、ＦＤ）
１１２      ＣＰＵ
１１３ａ    フォントＲＯＭ
１１３ｂ    プログラムＲＯＭ
１１３ｃ    データＲＯＭ
１１４      外部メモリ
１１５      システムバス
１１６      印刷部Ｉ／Ｆ
１１７      印刷部
１１８      入力部
１１９      ＲＡＭ
１２０      メモリコントロール
１２１      データ転送経路
１２２      排紙装置接続部
２０１      アプリケーション
２０２      グラフィックスエンジン
２０３      プリンタドライバ
２０４      プリントサブシステム
３０１      ネットワーク
３０２      ローカルインタフェース
【図１】
2006189920.tif 000003
【図２】
2006189920.tif 000004
【図３】
2006189920.tif 000005
【図４】
2006189920.tif 000006
【図５】
2006189920.tif 000007
【図６】
2006189920.tif 000008
【図７】
2006189920.tif 000009
【図８】
2006189920.tif 000010
【図９】
2006189920.tif 000011
【図１０】
2006189920.tif 000012
【図１１】
2006189920.tif 000013
【図１２】
2006189920.tif 000014
【図１３】
2006189920.tif 000015
【図１４】
2006189920.tif 000016
【図１５】
2006189920.tif 000017
【図１６】
2006189920.tif 000018
【図１７】
2006189920.tif 000019
【図１８】
2006189920.tif 000020
【図１９】
2006189920.tif 000021