(57)【要約】【課題】  アプリケーションが有する出力条件設定画面において、各出力条件において設定可能な選択肢の全ての組み合わせを任意に設定することができるため、実際には印刷出力することができない不適切な印刷条件を設定してしまい、意図しない印刷結果になってしまう恐れがあった。【解決手段】  例えば、アプリケーションが、画像処理に係る出力設定の設定順位を示す情報と、デバイスドライバから出力条件の候補を取得する第１取得手段と、前記取得手段が取得した画像処理に係る出力設定の設定順位を示す情報を用いて、前記取得手段が取得した出力条件の候補の中から所定の出力条件を取得する第２取得手段と、を備えることを特徴とする情報処理装置が一例として開示される。【選択図】  図１８
2005158051.tif 000002
【特許請求の範囲】
【請求項１】
画像処理に係る出力設定の設定順位を示す情報と、デバイスドライバから出力条件の候補を取得する第１取得手段と、
前記取得手段が取得した画像処理に係る出力設定の設定順位を示す情報を用いて、前記取得手段が取得した出力条件の候補の中から所定の出力条件を取得する第２取得手段とを、アプリケーションが備えることを特徴とする情報処理装置。
【請求項２】
前記第２取得手段は、アプリケーション側に実装されるものであり、プリンタドライバで画像形成が行われる前に、前記設定順位を示す情報を用いて、前記出力条件の候補の中から所定の出力条件を取得することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第１取得手段が取得した設定順位を示す情報を用いて、アプリケーションが有する出力条件を設定するための表示画面において設定する複数の出力条件における選択肢を表示する処理を制御する表示制御手段をさらに備えることを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記第１取得手段は、アプリケーション側に実装されるものであって、前記第１取得手段が出力条件を取得した後に、前記第１取得手段が取得した設定順位を示す情報が示す順位より下位の出力条件をデバイスドライバから取得することを特徴とする請求項１乃至３のいずれかに記載の情報処理装置。
【請求項５】
画像処理に係る出力設定の設定順位を示す情報と、デバイスドライバから出力条件の候補を取得する第１取得工程と、
前記取得工程が取得した画像処理に係る出力設定の設定順位を示す情報を用いて、前記取得工程が取得した出力条件の候補の中から所定の出力条件を取得する第２取得工程とを、アプリケーションが備えることを特徴とする情報処理方法。
【請求項６】
前記第２取得工程は、アプリケーション側に実装されるものであり、プリンタドライバで画像形成が行われる前に、前記設定順位を示す情報を用いて、前記出力条件の候補の中から所定の出力条件を取得することを特徴とする請求項５に記載の情報処理方法。
【請求項７】
前記第１取得工程が取得した設定順位を示す情報を用いて、アプリケーションが有する出力条件を設定するための表示画面において設定する複数の出力条件における選択肢を表示する処理を制御する表示制御工程をさらに備えることを特徴とする請求項５又は６に記載の情報処理方法。
【請求項８】
前記第１取得工程は、アプリケーション側に実装されるものであって、前記第１取得工程が出力条件を取得した後に、前記第１取得工程が取得した設定順位を示す情報が示す順位より下位の出力条件をデバイスドライバから取得することを特徴とする請求項５乃至７のいずれかに記載の情報処理方法。
【請求項９】
アプリケーションと情報を授受するデバイスドライバを搭載した情報処理装置において、
出力条件と、該出力条件に対応する設定順位を管理する管理手段と、
アプリケーションを介して入力された出力条件を取得する取得手段と、
前記管理手段が管理する出力条件であって、かつ、前記取得手段が取得した出力条件に対応する設定順位を持つ出力条件と、前記出力条件の設定順位とを前記アプリケーションに通知する通知手段と、
を備えたことを特徴とする情報処理装置。
【請求項１０】
アプリケーションと情報を授受するデバイスドライバにおける情報処理方法において、出力条件と、該出力条件に対応する設定順位を管理する管理工程と、
アプリケーションを介して入力された出力条件を取得する取得工程と、
前記管理工程で管理される出力条件であって、かつ、前記取得工程が取得した出力条件に対応する設定順位を持つ出力条件と、前記出力条件の設定順位とを前記アプリケーションに通知する通知工程と、
を備えたことを特徴とする情報処理方法。
【請求項１１】
請求項５乃至８、及び請求項９に記載のいずれかの方法をコンピュータに実行させることを特徴とする制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、該画像処理装置からデータを受信して処理する情報処理装置、方法、システム、制御プログラムに関するものである。
【背景技術】
【０００２】
従来より、例えば、オペレーティングシステムが搭載されたパーソナルコンピュータ等を含む情報処理装置において、文書編集や画像編集のためのオペレーティングシステム上で稼動するアプリケーションにより編集された文書或いは画像等のデータをプリンタドライバで画像形成して印刷装置で印刷出力する前に、アプリケーションが有する印刷条件設定画面において複数の印刷条件を設定させる場合、アプリケーションは各印刷条件において設定可能な選択肢の一覧をプリンタドライバから取得していた。しかし、アプリケーションが設定するための出力条件は、オペレーティングシステムのＡＰＩ（Ａｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）を介して任意の順序、任意のタイミングで取得されていた。
【０００３】
一般的に、アプリケーションは、印刷条件設定画面を開いた際に、各印刷条件において設定可能な選択肢の一覧を任意の順序で取得しておき、印刷条件設定画面に取得した選択肢の一覧を表示して、ユーザに印刷条件を任意に設定させるようにしている。
【０００４】
実際に印刷出力を行う印刷装置によっては、ハード的な制限により、例えば、ＯＨＰシートでは、両面印刷やフチなし印刷をすることができない等、複数の印刷条件の設定内容の組み合わせによっては印刷出力することができないケースがある。
【０００５】
係る出力設定の競合に対応するため、プリンタドライバにおいては、ユーザインタフェースを介してプリンタドライバに対して入力された出力設定の内容の競合を判定したり出力設定を丸めたりする技術がある（特許文献１参照）。
【特許文献１】特開２０００−２４２５９７
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上述の従来の印刷システムにおいては、アプリケーションは、各出力条件において設定可能な選択肢の一覧を取得することができ、ユーザは、アプリケーションが有する出力条件設定画面において、各出力条件において設定可能な選択肢の全ての組み合わせを任意に設定することができるため、実際には印刷出力することができない不正な印刷条件を設定してしまい、結果としてユーザの意図しない印刷結果になってしまう恐れがあった。
【０００７】
係る状況を防ぐため、アプリケーション開発各社及び画像形成システム開発各社が、アプリケーションが設定可能な選択肢の設定順序や設定の取り決め各社間においてそれぞれ勝手に行い、各社は取り決めに従って、その選択肢の優先順序を参考にしてシステム及び装置が動作するよう実装することが考え得る。
【０００８】
しかしながら、近年の画像形成システムの高機能化及び多機能化によって、画像形成装置やプリンタドライバの機能アップが頻繁にあり、それに伴ってアプリケーションの設定可能な出力設定の内容が拡張及び変更されることが多くなっている。
【０００９】
このような状況下で、各社が独自に定めた取り決めに従っていると、アプリケーションによってなされた、所定の出力結果を得るための同じ設定内容に係る画像データや印刷ジョブであっても、出力結果が、画像形成装置の種類やプリンタドライバの種類によっては異なる結果となり、正しい出力結果を得られない場合があるという問題がある。
【００１０】
本発明は上述の問題点の少なくとも一つを除去するためになされたものであり、本発明は、アプリケーションが、出力設定の設定順位を把握する仕組みを提供することを目的とする。
【００１１】
アプリケーションが、オペレーティングシステムを介して、現在設定可能な出力設定と、当該出力設定の設定順位をプリンタドライバから取得する、又は、プリンタドライバから当該出力設定の設定順位を通知する仕組みを提供することをさらに別の目的とする。
【００１２】
さらに、アプリケーションが取得した出力設定の設定順位を考慮して設定可能な出力設定の選択肢を決定し、上記画像形成装置で出力することができないような不正な出力設定が設定されることを防ぐ仕組みを提供することをさらに別の目的とする。
【課題を解決するための手段】
【００１３】
アプリケーションが、画像処理に係る出力設定の設定順位を示す情報（いわばどの設定がどの設定に優先して設定されるべきかという優先度情報）と、デバイスドライバから出力条件の候補を取得する第１取得手段と、前記取得手段が取得した画像処理に係る出力設定の設定順位を示す情報を用いて、前記取得手段が取得した出力条件の候補の中から所定の出力条件を取得する第２取得手段と、を備えることを特徴とする情報処理装置が一例として開示される。
【００１４】
アプリケーションと情報を授受するデバイスドライバを搭載した情報処理装置において、
出力条件と、該出力条件に対応する優先度を管理する管理手段と、アプリケーションを介して入力された出力条件を取得する取得手段と、前記管理手段が管理する出力条件であって、かつ、前記取得手段が取得した出力条件に対応する優先度を持つ出力条件と、前記出力条件の設定順位とを前記アプリケーションに通知する通知手段とを備えた情報処理装置が一例として開示される。
【発明の効果】
【００１５】
本発明によれば、画像処理装置に出力するために画像データに設定される出力設定の設定順位をアプリケーション側で事前に把握する仕組みを提供することができる。
【００１６】
さらに、本発明の別の側面によれば、アプリケーションが事前に把握した出力設定の設定順位を考慮するので、アプリケーションが事前に設定可能な出力設定の選択肢を事前に決定でき、ユーザに煩雑な操作を強いることなく、上記画像形成装置で出力することができないような不正な出力設定が設定されることを防ぐことができる。
【発明を実施するための最良の形態】
【００１７】
以下、本発明の実施の形態について図面を用いて説明する。
【００１８】
本発明は、例えば、図１に示すような印刷システム１００に適用される。本実施の形態の印刷システム１００は、パーソナルコンピュータ等で起動可能なアプリケーションにより作成された文書や画像等の印刷データを印刷装置１０２で用紙上に印刷出力するにあたり、表示装置１０４で表示されるアプリケーションが有する印刷条件設定画面において設定する複数の印刷条件における選択肢の一覧をアプリケーションに通知するように構成されている。
【００１９】
以下、本実施の形態の印刷システム１００の構成及び動作について具体的に説明する。
【００２０】
＜印刷システム１００の全体構成＞
印刷システム１００は、上記図１に示すように、ホストコンピュータ１０１に対して、印刷装置１０２、ハードディスク装置１０３、表示装置１０４、データ入力装置１０５、メディア読取装置１０６、及び通信制御装置１０７がそれぞれ接続された構成としている。
【００２１】
ホストコンピュータ１０１は、所定のシステムプログラムを実行することで、印刷システム１００全体の動作制御及び監視を行う。
【００２２】
具体的には例えば、ホストコンピュータ１０１は、後述するような、システムボード上に配置されたＣＰＵ（Ｃｅｎｔｒａｌ  ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、及びＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）等を含むコンピュータ機能を備え、ＣＰＵが、内蔵メモリ又は外付けのハードディスク１０３等から所要の処理プログラムを適宜から読み出して実行することで、印刷システム１００全体の動作制御を司る。
【００２３】
ここでは一例として、ホストコンピュータ１０１が実行する各種プログラムの格納先をハードディスク１０３としており、このハードディスク１０３には、本実施の形態における動作を実現するための処理プログラムや、印刷データを生成するための各種アプリケーション等が格納されている。
【００２４】
尚、本実施の形態における動作を実現するための処理プログラム（プログラムコード）の格納先は、ハードディスク１０３や内蔵メモリに限られることはなく、例えば、ＣＤ−ＲＯＭやフレキシブルディスク等の可搬性記録媒体に対して、当該処理プログラムをホストコンピュータ１０１が読取可能な形態で記録して流通させ、印刷システム１００の構築時において、メディア読取装置１０６、或いは通信制御装置１０７を介して、ホストコンピュータ１０１が当該処理プログラムを読み取ってハードディスク１０３にインストールするようにしてもよい。
【００２５】
また、本実施の形態では、ホストコンピュータ１０１において、ＯＳ（オペレーティングシステム）が稼動している。印刷装置１０２は、ホストコンピュータ１０１から印刷データ共に印刷条件の設定内容等の情報を受信すると、所定の印刷プロセスを実行することで、当該印刷データを印刷用紙上に印刷出力（画像形成）する。
【００２６】
印刷装置１０２としては、例えば、シリアルプリンタや、ページプリンタ、或いはその他の電子複写型プリンタ等の様々なプリンタを適用可能である。また、印刷装置１０２とホストコンピュータ１０１の接続形態についても、例えば、スタンドアロン接続やネットワーク接続等の様々な接続形態を適用可能である。
【００２７】
表示装置１０４は、ホストコンピュータ１０１からのシステムプログラムやアプリケーション等の実行による指示に呼応して、所定のダイアログウィンドウを表示する。特に、表示装置１０４は、ホストコンピュータ１０１からの指示に従って、アプリケーションが有する印刷条件設定画面を表示する。
【００２８】
データ入力装置１０５は、キーボード、マウス、及びその他のポインティングデバイス等を含み、ユーザからの各種指示を受け付け、これをホストコンピュータ１０１に伝える。例えば、データ入力装置１０５は、ユーザから入力された、印刷装置１０２に対する印刷条件の設定内容を、ホストコンピュータ１０１に伝える。メディア読取装置１０６は、ＣＤ−ＲＯＭドライブ及びフレキシブルディスク（ＦＤ）ドライブ等を含む装置であり、ＣＤ−ＲＯＭやＦＤ等の記録媒体から読み取った情報をホストコンピュータ１０１に供給する。
【００２９】
通信制御装置１０７は、例えば、印刷システム１００と外部のネットワークを通信可能に接続するための接続インタフェースである。
【００３０】
＜印刷システム１００の機能構成＞
図２は、ホストコンピュータ１０１が所定の処理プログラムを実行することで実現される印刷システム１００の機能のうち、特に、印刷制御機能に着目した図である。ホストコンピュータ１０１による印刷制御機能は、上記図２に示すように、アプリケーション２０１、ＧＤＩ（Ｇｒａｐｈｉｃｓ  Ｄｅｖｉｃｅ  Ｉｎｔｅｒｆａｃｅ）２０２、ユーザインタフェースドライバ２０３、スプールファイル２０４、プリントプロセッサ２０５、プリンタグラフィックスドライバ２０６を含んでいる。まず、ホストコンピュータ１０１による印刷制御機能に含まれる主なる機能について説明する。アプリケーション２０１は、ＧＤＩ２０２を介して、印刷装置（プリンタ）１０２に対して印刷条件を設定する機能を有する。
【００３１】
具体的には例えば、アプリケーション２０１は、印刷に使用する用紙サイズ、及びその他の印刷条件を設定する機能を有する。
【００３２】
ユーザインタフェースドライバ２０３は、好適にはＯＳの一機能として実装されるＧＤＩ２０２を介して、印刷条件を設定する上での最適な設定順序、及び、各印刷条件において設定可能な選択肢の一覧をアプリケーション２０１に通知する機能を有する。
【００３３】
プリントプロセッサ２０５は、スプールファイル２０４に格納された印刷データを１ページ単位で処理する機能を有する。
【００３４】
プリンタグラフィックスドライバ２０６は、印刷データを印刷装置（プリンタ）１０２で印刷出力可能なビットマップデータに変換する機能を有する。つぎに、ホストコンピュータ１０１による印刷制御機能の一連の動作について説明する。先ず、アプリケーション２０１は、ユーザからの操作指示に従って、任意の文書を作成する。続いて、アプリケーション２０１は、印刷条件設定画面を表示装置１０４で表示すると共に、ＧＤＩ２０２を介して、印刷条件を設定する上での最適な設定順序をユーザインタフェースドライバ２０３に問い合わせる。
【００３５】
ユーザインタフェースドライバ２０３は、印刷条件を設定する上での最適な設定順序の問い合わせを受けると、詳細は後述するが、予め内部で保持している設定順序情報テーブルを参照して、印刷条件を設定する上での最適な設定順序を取得し、アプリケーション２０１に通知する。
【００３６】
アプリケーション２０１は、通知された設定順序、及び、ユーザからの操作指示に従って、ＧＤＩ２０２を介して、現在印刷条件設定画面で設定されている印刷条件の設定内容を通知して、各印刷条件において設定可能な選択肢の一覧をユーザインタフェースドライバ２０３に問い合わせる。
【００３７】
ユーザインタフェースドライバ２０３は、アプリケーション２０１から指定された印刷条件において設定可能な選択肢の一覧の問い合わせを受けると、詳細は後述するが、指定された印刷条件よりも設定の高い印刷条件の設定内容の組み合わせごとに予め保持している選択肢一覧情報テーブルを参照して、指定された印刷条件において設定可能な選択肢の一覧を取得し、アプリケーション２０１に通知する。
【００３８】
アプリケーション２０１は、各印刷条件において設定可能な選択肢の一覧を受け取ると、印刷条件設定画面の内容を更新し、さらに、ユーザからの操作指示を受ける。また、アプリケーション２０１は、ユーザからの操作指示に従って、ＧＤＩ２０２に対して、印刷条件設定画面で設定した印刷条件の設定内容を通知して、当該文書データ（印刷データ）の印刷実行を指示する。
【００３９】
これにより、ＧＤＩ２０２は、ユーザインタフェースドライバ２０３に対して、印刷装置（プリンタ）１０２での印刷条件の設定内容、及び、印刷開始のイベントを通知する。
【００４０】
続いて、アプリケーション２０１は、ＧＤＩ２０２を介して、上記の文書データ（印刷データ）をＥＭＦスプールファイル２０４に格納する。
【００４１】
このとき、ＥＭＦスプールファイル２０４には、ユーザインタフェースドライバ２０３により、印刷装置（プリンタ）１０２での印刷条件の設定内容が予め格納されている。
【００４２】
プリントプロセッサ２０５は、ＥＭＦスプールファイル２０４から印刷条件の設定内容及び印刷データを取得し、当該印刷条件の設定内容及び印刷データを１ページ単位で、プリンタグラフィックスドライバ２０６に供給する。
【００４３】
プリンタグラフィックスドライバ２０６は、ＧＤＩ２０２により生成されたグラフィックス描画コマンド、及び事前にプリントプロセッサ２０５から通知された印刷条件の設定内容に基づいて、プリントプロセッサ２０５から供給された印刷ページデータから、印刷用のビットマップデータ（以下、「印刷画像」と言う）を生成する。
【００４４】
そして、プリンタグラフィックスドライバ２０６は、当該印刷画像を、任意のデータ送信部（不図示）を経由して、印刷装置（プリンタ）１０２に供給する。
【００４５】
プリンタ１０２は、プリンタグラフィックスドライバ２０６から供給された印刷画像を用紙（２１０）上に印刷出力する。図３は、ユーザインタフェースドライバ２０３が保持している設定順序情報テーブルの一例を示した図である。上記図３において、“３０１”は、印刷条件を設定する上での最適な設定順序の順番を示している。
【００４６】
上記図３において、“３０２”は、印刷条件を設定する上での最適な設定順序において、“３０１”で示した順番に設定・決定・指示するべき出力条件としての印刷条件を示している。例えば、設定順位を示す情報の一例である設定順序が一位であるのがフチなし印刷、設定順序が二位であるのは用紙の種類、続いて三位が用紙サイズになる。つまり、図３のエントリに掲げる設定順位がより上位の出力条件の指定に応答して、より下位に出力条件の指定の選択肢が決定されることになる。例えば、上位のフチなし印刷のＯＮ，ＯＦＦの指定に応答して、用紙の種類の選択肢が決定され、用紙の種類の選択に応答して、用紙サイズの選択肢が決定される。
【００４７】
図４乃至図６は、ユーザインタフェースドライバ２０３が保持している選択肢一覧情報テーブルの一例を示したものである。
【００４８】
図４は、フチなし印刷における選択肢一覧情報テーブルの一例を示した図である。上記図４において、“４０１”は、出力条件の一例であるフチなし印刷において設定可能な選択肢の一覧を示している。つまり、図４によると、フチなし印刷の出力条件として、ＯＮとＯＦＦが選択可能であるということである。
【００４９】
図５は、用紙の種類における選択肢一覧情報テーブルの一例を示した図である。上記図５において、“５０１”は、アプリケーション２０１が表示する処理を制御する図７の７０２にてフチなし印刷の設定が「ＯＦＦ」である場合に、出力条件の一例である用紙の種類おいて設定可能な選択肢の一覧を示している。上記図５において、“５０２”は、図７の７０２にてフチなし印刷の設定が「ＯＮ」である場合に、用紙の種類おいて設定可能な選択肢の一覧を示している。この情報は、アプリケーション２０１がユーザインタフェースドライバ２０３に問い合わせることにより、表示する。
【００５０】
図６は、用紙サイズにおける選択肢一覧情報テーブルの一例を示した図である。上記図６において、“６０１”は、フチなし印刷の設定が「ＯＦＦ」であり、かつ、図７の７０３における用紙の種類の設定が「普通紙」である場合に、用紙サイズにおいて設定可能な選択肢の一覧を示している。上記図６において、“６０２”は、フチなし印刷の設定が「ＯＦＦ」であり、かつ、図７の７０３における用紙の種類の設定が「官製はがき」である場合に、用紙サイズにおいて設定可能な選択肢の一覧を示している。よって、図７でフチなし印刷の設定がＯＦＦであり、かつ、用紙の種類の設定が官製はがきである場合は、用紙サイズは葉書しか選べないことになる。ユーザは、これにより、印刷前に、選択肢を適切かつ容易に設定できる。
【００５１】
上記図６において、“６０３”は、フチなし印刷の設定が「ＯＮ」であり、かつ、用紙の種類の設定が「光沢紙」である場合に、出力条件の一例である用紙サイズにおいて設定可能な選択肢の一覧を示している。
【００５２】
＜アプリケーションが有する印刷条件設定画面＞
図７は、アプリケーション２０１により表示装置１０４で表示される印刷条件設定画面７００の一例を示した図である。上記図７において、“７０１”は、印刷データを印刷実行させる印刷装置（プリンタ）を選択させるための項目欄である。上記図７において、“７０２”は、印刷データを用紙にフチができないように印刷出力か否かを選択させるための項目欄である。
【００５３】
上記図７において、“７０３”は、印刷データを印刷出力する用紙の種類を選択させるための項目欄である。上記図７において、“７０４”は、印刷データを印刷出力する用紙のサイズを選択させるための項目欄である。上記図７において、“７０５”は、ＧＤＩ２０２に対して、印刷条件設定画面で設定した印刷条件の設定内容を通知して、印刷データの印刷実行を指示してから印刷条件設定画面を閉じるための項目欄である。
【００５４】
上記図７において、“７０６”は、印刷データの印刷実行を指示しないで印刷条件設定画面を閉じるための項目欄である。図８乃至図１０は、アプリケーション２０１により表示装置１０４で表示される印刷条件設定画面において、図７の印刷条件設定画面７００の状態から、フチなし印刷「ＯＦＦ」、用紙の種類「官製はがき」、用紙サイズ「葉書」に設定変更する手順を踏んだ場合における、表示装置１０４で表示される印刷条件設定画面８００乃至１０００の一例を示したものである。
【００５５】
図８は、フチなし印刷の設定が「ＯＦＦ」である場合の印刷条件設定画面８００の一例を示した図である。上記図８において、“８０１”は、フチなし印刷の設定が「ＯＦＦ」である場合に、用紙の種類おいて設定可能な選択肢の一覧を示している。図９は、上記図８の“８０１”において、用紙の種類の設定を「官製はがき」に変更した場合の印刷条件設定画面９００の一例を示した図である。
【００５６】
上記図９において、“９０１”は、フチなし印刷の設定が「ＯＦＦ」であり、かつ、用紙の種類の設定が「官製はがき」である場合に、用紙サイズにおいて設定可能な選択肢の一覧を示している。図１０は、上記図９の“９０１”において、用紙サイズの設定を「葉書」に変更した場合の印刷条件設定画面１０００の一例を示した図である。
【００５７】
具体的な動作を説明すると、図７でアプリケーション２０１においてフチなし印刷オフが選択された場合に、アプリケーション２０１は、ＧＤＩ２０２を介して、ユーザインタフェースドライバ２０３が保持する図５のテーブルに格納された情報を取得する。そして、アプリケーション２０１は、例えば、フチなし印刷ＯＦＦが図７の７０２で指定されるのに応答して、図５のテーブルに格納された情報をユーザインタフェースドライバ２０３からＧＤＩ２０２を介して受け取り、図５の５０１に掲げる選択肢を選択して図８の８０１のように選択可能に表示する。あるいは、アプリケーションは、ふちなし印刷ＯＦＦが指定されたことをユーザインタフェースドライバ２０３に通知し、ユーザインタフェースドライバ２０３に図５のＯＦＦに対応する５０１のデータを取得して返却するように依頼してもよい。なお、図７の７０２でふちなし印刷ＯＮが指定された場合には、同様にユーザインタフェースドライバ２０３と通信して、今度は図５の５０２に格納された値を表示する（図示省略）。
【００５８】
図１１〜図１４は、アプリケーション２０１により表示装置１０４で表示される印刷条件設定画面において、図７の印刷条件設定画面７００の状態から、フチなし印刷「ＯＮ」、用紙の種類「光沢紙」、用紙サイズ「Ｌ判」に設定変更する手順を踏んだ場合における、表示装置１０４で表示される印刷条件設定画面１１００〜１４００の一例を示したものである。
【００５９】
図１１は、印刷条件設定画面１１００の一例を示した図である。上記図１１において、“１１０１”は、フチなし印刷において設定可能な選択肢の一覧を示している。図１２は、上記図１１の“１１０１”において、フチなし印刷の設定を「ＯＮ」に変更した場合の印刷条件設定画面１２００の一例を示した図である。上記図１２において、“１２０１”は、フチなし印刷の設定が「ＯＮ」である場合に、用紙の種類において設定可能な選択肢の一覧を示している。
【００６０】
図１３は、上記図１２の“１２０１”において、用紙の種類の設定を「光沢紙」に変更した場合の印刷条件設定画面１３００の一例を示した図である。
【００６１】
上記図１３において、“１３０１”は、フチなし印刷の設定が「ＯＮ」であり、かつ、かつ、用紙の種類の設定が「光沢紙」である場合に、用紙サイズにおいて設定可能な選択肢の一覧を示している。
【００６２】
図１４は、上記図１３の“１３０１”において、用紙サイズの設定を「Ｌ判」に変更した場合の印刷条件設定画面１４００の一例を示した図である。
【００６３】
＜印刷システム１００の動作＞
図１５は、印刷システム１００の動作として、ユーザインタフェースドライバ２０３が印刷条件を設定する上での最適な設定順序をアプリケーション２０１に通知する処理をフローチャートにより示したものである。
【００６４】
ステップＳ１５０１：
ユーザインタフェースドライバ２０３は、上記図３で示した設定順序情報テーブルから、印刷条件を設定する上での最適な設定順序を取得する。ステップＳ１５０２で、ユーザインタフェースドライバ２０３は、ステップＳ１５０１により取得した印刷条件を設定する上での最適な設定順序をアプリケーション２０１に通知し、本処理終了する。
【００６５】
図１６は、印刷システム１００の動作として、ユーザインタフェースドライバ２０３が、アプリケーション２０１から指定された印刷条件において設定可能な選択肢の一覧を決定し、アプリケーション２０１に通知する処理をフローチャートにより示したものである。
【００６６】
ステップＳ１６０１で、ユーザインタフェースドライバ２０３は、上記図３で示した設定順序情報テーブルを参照して、アプリケーション２０１から指定された印刷条件の設定順序を取得する。
【００６７】
ステップＳ１６０３乃至ステップＳ１６０５では、アプリケーション２０１から指定された印刷条件よりも設定順序の高い印刷条件の数だけ処理を繰り返すことによって、アプリケーション２０１から指定された印刷条件よりも設定順序の高い印刷条件の設定内容の取得を行うため、ステップＳ１６０２で処理カウンタの値を１に初期化する。
【００６８】
ステップＳ１６０３では、ユーザインタフェースドライバ２０３は、処理カウンタの値が、アプリケーション２０１から指定された印刷条件よりも設定順序の高い印刷条件の数を超えたかどうかを判別する。この判別の結果、アプリケーション２０１から指定された印刷条件よりも設定順序の高い印刷条件の数を超えた場合にはステップＳ１６０６へ進み、超えていない場合にはステップＳ１６０４へ進む。
【００６９】
ステップＳ１６０４では、ユーザインタフェースドライバ２０３は、アプリケーション２０１から通知された現在印刷条件設定画面で設定されている印刷条件の設定内容を参照して、処理カウンタの値と同じ設定順序（優先度）である印刷条件の設定内容を取得する。
【００７０】
ステップＳ１６０５では、ユーザインタフェースドライバ２０３は、処理カウンタの値を１つ増やし、ステップＳ１６０３に戻る。
【００７１】
ステップＳ１６０６では、ユーザインタフェースドライバ２０３は、上記図４〜図６で示した出力条件の選択肢一覧情報テーブルのうち、アプリケーション２０１から指定された出力条件の一例である印刷条件における選択肢一覧情報テーブルの総数を取得する。
【００７２】
すなわち、ステップＳ１６０８〜ステップＳ１６１１では、上記図４〜図６で示した選択肢一覧情報テーブルのうち、アプリケーション２０１から指定された印刷条件における選択肢一覧情報テーブルの中から、ステップＳ１６０３により取得した印刷条件の設定内容の組み合わせにおける選択肢一覧情報テーブルの検索を行うため、ステップＳ１６０７では、処理カウンタの値を１に初期化する。
【００７３】
ステップＳ１６０８では、ユーザインタフェースドライバ２０３は、処理カウンタの値が、ステップＳ１６０６により取得した選択肢一覧情報テーブルの総数を超えたかどうかを判別する。この判別の結果、ステップＳ１６０６により取得した選択肢一覧情報テーブルの総数を超えた場合には本処理終了し、超えていない場合にはステップＳ１６０９へ進む。
【００７４】
ステップＳ１６０９では、ユーザインタフェースドライバ２０３は、図４〜図６で示した選択肢一覧情報テーブルのうち、アプリケーション２０１から指定された印刷条件における選択肢一覧情報テーブルの中から、処理カウンタの値と同じ順番である選択肢一覧情報テーブルを取得する。
【００７５】
ステップＳ１６１０では、ユーザインタフェースドライバ２０３は、ステップＳ１６０９により取得した選択肢一覧情報テーブルが、ステップＳ１６０３により取得した印刷条件の設定内容の組み合わせにおける選択肢一覧情報テーブルであるかどうかを判別する。この判別の結果、ステップＳ１６０３により取得した印刷条件の設定内容の組み合わせにおける選択肢一覧情報テーブルである場合にはステップＳ１６１２へ進み、そうでない場合にはステップＳ１６１１へ進む。
【００７６】
ステップＳ１６１１では、ユーザインタフェースドライバ２０３は、処理カウンタの値を１つ増やし、ステップＳ１６０８に戻る。
【００７７】
ステップＳ１６１２では、ユーザインタフェースドライバ２０３は、ステップＳ１６０９により取得した選択肢一覧情報テーブルを参照して、アプリケーション２０１から指定された印刷条件において選択可能な選択肢の一覧を取得する。
【００７８】
ステップＳ１６１３では、ユーザインタフェースドライバ２０３は、ステップＳ１６１２により取得したアプリケーション２０１から指定された印刷条件において選択可能な選択肢の一覧を、アプリケーション２０１に通知し、本処理終了する。
【００７９】
図１７は、アプリケーション２０１の実行によって印刷条件設定画面７００を表示装置１０４で表示する際の処理をフローチャートにより示したものである。
【００８０】
ステップＳ１７０１では、アプリケーション２０１は、ユーザインタフェースドライバ２０３から、ＧＤＩ２０２を介して印刷条件を設定する上での最適な設定順序を取得してＳ１７０２へ進む。ステップＳ１７０２では、アプリケーション２０１は、ステップＳ１７０１により取得した印刷条件を設定する上での最適な設定順序を参照して、印刷条件設定画面７００において設定させる印刷条件の総数を取得する。ステップＳ１７０４〜ステップＳ１７０８では、ステップＳ１７０２により取得した印刷条件設定画面７００において設定させる印刷条件の総数の分だけ処理を繰り返すことによって、印刷条件設定画面７００の初期表示を行うため、ステップＳ１７０３で処理カウンタの値を１に初期化する。
【００８１】
ステップＳ１７０４で、アプリケーション２０１は、処理カウンタの値が、印刷条件設定画面７００において設定させる印刷条件の総数を超えたかどうかを判別する。この判別の結果、印刷条件設定画面７００において設定させる印刷条件の総数を超えた場合にはステップＳ１７０９へ進み、超えていない場合にはステップＳ１７０５へ進む。
【００８２】
ステップＳ１７０５では、アプリケーション２０１は、ステップＳ１７０１により取得した印刷条件を設定する上での最適な設定順序を参照し、処理カウンタの値と同じ設定順序である印刷条件の項目欄を印刷条件設定画面７００に配置する。
【００８３】
ステップＳ１７０６では、アプリケーション２０１は、ステップＳ１７０１により取得した印刷条件を設定する上での最適な設定順序を参照し、ユーザインタフェースドライバ２０３から、処理カウンタの値と同じ設定順序である印刷条件において設定可能な選択肢の一覧を取得する。
【００８４】
ステップＳ１７０７では、アプリケーション２０１は、ステップＳ１７０５により配置した項目欄に、ステップＳ１７０６により取得した設定可能な選択肢の一覧を表示する。
【００８５】
ステップＳ１７０８では、アプリケーション２０１は、処理カウンタの値を１つ増やし、ステップＳ１７０４に戻る。
【００８６】
ステップＳ１７０９では、アプリケーション２０１は、印刷条件設定画面７００において、ユーザからの操作指示を受けてイベントを取得する。
【００８７】
ステップＳ１７１０では、アプリケーション２０１は、ステップＳ１７０９により取得したイベントにより、プリンタが変更されたかどうかを判別する。この判別の結果、プリンタが変更された場合にはステップＳ１７０１に戻り、そうでない場合にはステップＳ１７１１へ進む。
【００８８】
ステップＳ１７１１では、アプリケーション２０１は、ステップＳ１７０９により取得したイベントにより、図７の“７０５”の項目欄が選択されたどうかを判別する。この判別の結果、図７の“７０５”の項目欄が選択された場合にはステップＳ１７１９へ進み、そうでない場合にはステップＳ１７１２へ進む。
【００８９】
ステップＳ１７１２では、アプリケーション２０１は、ステップＳ１７０９により取得したイベントにより、図７の“７０６”の項目欄が選択されたどうかを判別する。この判別の結果、図７の“７０６”の項目欄が選択された場合には本処理終了し、そうでない場合にはステップＳ１７１３へ進む。
【００９０】
ステップＳ１７１３では、アプリケーション２０１は、ステップＳ１７０９により取得したイベントにより、任意の印刷条件の設定内容が変更されたどうかを判別する。この判別の結果、任意の印刷条件の設定内容が変更された場合にはステップＳ１７１４へ進み、そうでない場合にはステップＳ１７０９に戻る。
【００９１】
ステップＳ１７１５〜ステップＳ１７１８では、ステップＳ１７０９により取得したイベントによって設定内容が変更された印刷条件よりも設定順序の低い印刷条件における項目欄の再表示を行う。このため、ステップＳ１７１４では、ステップＳ１７０１により取得した印刷条件を設定する上での最適な設定順序を参照し、ステップＳ１７０９により取得したイベントによって設定内容が変更された印刷条件より一つ低い順位の印刷条件の順番を取得して、処理カウンタにセットする。例えば、図７の７０２でフチなし印刷ＯＦＦが選択された場合には、図３で設定順序がひとつ下位に規定されている用紙の種類が再表示される処理に該当する。
【００９２】
ステップＳ１７１５では、アプリケーション２０１は、処理カウンタの値が、印刷条件設定画面７００において設定させる印刷条件の総数を超えたかどうかを判別する。この判別の結果、印刷条件設定画面７００において設定させる印刷条件の総数を超えた場合にはステップＳ１７０９に戻り、超えていない場合にはステップＳ１７１６へ進む。
【００９３】
ステップＳ１７１６では、アプリケーション２０１は、ステップＳ１７０１により取得した印刷条件を設定する上での最適な設定順序を参照し、ユーザインタフェースドライバ２０３から、処理カウンタの値と同じ設定順序（優先順位）である印刷条件において設定可能な選択肢の一覧を取得する。ステップＳ１７１７では、アプリケーション２０１は、ステップＳ１７０５により配置した項目欄に、ステップＳ１７１６により取得した設定可能な選択肢の一覧を表示する。
【００９４】
ステップＳ１７１８では、アプリケーション２０１は、処理カウンタの値を１つ増やし、ステップＳ１７１５に戻る。ステップＳ１７１９では、アプリケーション２０１は、ＧＤＩ２０２に対して、印刷条件設定画面７００で設定した印刷条件の設定内容を通知し、印刷データの印刷実行を指示して、本処理終了する。
【００９５】
図１８は、情報の授受を示す各種ドライバとＧＤＩ（ＯＳ）のブロック構造の一例を示す図である。図１８に示す各プログラムは、図２の同名のモジュールプログラムに対応し、これらのプログラムハードディスク１０３に格納されホストコンピュータ（ＣＰＵ）１０１により実行される。まず、アプリケーション２０１は、図１８の（１）（２）に示すようにＧＤＩを介して印刷条件を設定する上での最適な設定順序を問い合わせる。図１８の（３）に示すように、ユーザインタフェースドライバは、図３の設定順序情報テーブルを探索し、印刷条件を設定する上での最適な設定順序を取得する。（４）及び（５）に示すように、ユーザインタフェースドライバは、ＧＤＩを介して、（３）で取得した印刷時条件を示す最適な設定順序を通知する。（６）に示すように、アプリケーションは、（５）で取得した設定順序に従って図７のような印刷設定条件ダイアログを表示する。（７）では、アプリケーションは、ユーザからの入力待ちとなる。ユーザからの入力があると、（８）及び（９）に示すように、ユーザが入力した印刷条件をＧＤＩを介してユーザインタフェースドライバに通知する。（１０）に示すように、ユーザが設定入力した印刷条件よりも設定順序の低い印刷条件のコンフリクトを解決する。（１１）で示すように、ユーザインタフェースドライバは、図４乃至図６の選択肢一覧情報を検索し、ユーザが設定入力した員Ｓ夏条件よりも設定順序（設定順位、優先度）の低い印刷条件において、選択可能な選択肢を決定する。（１２）及び（１３）に示すように、ユーザインタフェースドライバは、ＧＤＩを介して、アプリケーションに（１０）と（１１）の結果を通知する。（１４）に示すように、（１３）で取得した内容によって、（７）でユーザが指示・設定・入力した印刷条件よりも設定順位の低い印刷条件の項目欄を再表示する。以下、階層的に（１）乃至（１４）を設定順位の最下位の項目まで続けることになる。
【００９６】
なお、（６）について補足すると、ダイアログを表示する際、（５）で取得した設定順序に従って各印刷条件の項目欄を表示する処理が必要になる。ここで、各印刷条件の項目欄を表示するための処理とは、（８）、（９）、（１１）、（１２）、（１３）、（１４）の処理である。
【００９７】
以上説明したようにアプリケーション２０１が、画像処理に係る出力条件の一例である印刷条件の設定順位を示す情報（図３に示す設定順序、設定順位を示す優先度）と、デバイスドライバから出力条件の候補を取得する。また、アプリケーション２０１が取得した画像処理に係る出力条件の設定順位を示す情報を用いて、アプリケーション２０１は、先に取得した出力条件の候補の中から所定の出力条件をさらに取得する。
【００９８】
アプリケーション２０１は、プリンタドライバ（プリンタグラフィックドライバ２０６）で画像形成が行われる前に、図３に示す情報を用いて、つまり、出力条件（用紙の種類）より設定順位がひとつ高いフチなし印刷がＯＦＦであることを確認して、先に取得した出力条件の候補（図５に示す情報）の中から図５の５０１を取得し、ふちなし印刷がＯＮの場合は図５の５０２に示す情報を取得する。アプリケーション２０１は、図５で５０１の情報を取得した場合は、５０１を出力条件選択候補として表示し、５０２の情報を取得した場合は、図５の５０２の情報を出力条件選択候補として表示する。
【００９９】
アプリケーション２０１が出力条件を取得した後に、アプリケーション２０１が取得した設定順位を示す情報が示す設定順位より下位の出力条件をデバイスドライバの一例であるユーザインタフェースドライバから取得する。
【０１００】
尚、本発明は、必ずしも本実施の形態に限定されるものではなく、種々の形態での実施が可能である。本発明のデバイスドライバは、画像形成装置の一例であるプリンタを駆動するプリンタドライバが好適であるが、デジタルカメラなどの画像処理装置、周辺装置であってもよい。
【０１０１】
例えば、本実施の形態では、任意の印刷条件において設定可能な選択肢の一覧を、上記図４乃至図６に示したような選択肢一覧情報テーブルにより決定しているが、決定方法はこれに限定されるものではない。
【０１０２】
また、本実施の形態では、アプリケーション２０１が有する印刷条件設定画面を、上記図７の印刷条件設定画面７００に示したように印刷条件の項目欄を並べて表示するように構成しているが、Ｗｉｚａｒｄ形式のように複数の画面に分けて構成してもよいし、印刷条件設定画面の構成はこれに限定されるものではない。
【０１０３】
（他の実施形態）
本実施形態における図１５乃至図１８に示す処理が、外部からインストールされるプログラムによって、ホストコンピュータ１０１により遂行される。そして、その場合、ＣＤ−ＲＯＭやフラッシュメモリやＦＤ等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群をホストコンピュータに供給される場合でも本発明は適用されるものである。
【０１０４】
以上のように、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、又は、外部サーバ（図示省略）からダウンロードすることで、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【０１０５】
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。プログラムコードを供給するための記憶媒体としては、たとえば、フロッピィーディスク、ハードディスク、光ディスク、光磁気ディスク、ＤＶＤ、ＣＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＥＥＰＲＯＭ等を用いることができる。
【０１０６】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【０１０７】
【図１】本発明を適用した印刷システムの構成を示すブロック図である。
【図２】上記印刷システムの機能構成を示すブロック図である。
【図３】ユーザインタフェースドライバが保持している設定順序情報テーブルの一例を示した図である。
【図４】フチなし印刷における選択肢一覧情報テーブルの一例を示した図である。
【図５】用紙の種類における選択肢一覧情報テーブルの一例を示した図である。
【図６】用紙サイズにおける選択肢一覧情報テーブルの一例を示した図である。
【図７】アプリケーションにより表示装置で表示される印刷条件設定画面の一例を示した図である。
【図８】フチなし印刷の設定が「ＯＦＦ」である場合の印刷条件設定画面の一例を示した図である。
【図９】用紙の種類の設定を「官製はがき」に変更した場合の印刷条件設定画面の一例を示した図である。
【図１０】用紙サイズの設定を「葉書」に変更した場合の印刷条件設定画面の一例を示した図である。
【図１１】印刷条件設定画面の一例を示した図である。
【図１２】フチなし印刷の設定を「ＯＮ」に変更した場合の印刷条件設定画面の一例を示した図である。
【図１３】用紙の種類の設定を「光沢紙」に変更した場合の印刷条件設定画面の一例を示した図である。
【図１４】用紙サイズの設定を「Ｌ判」に変更した場合の印刷条件設定画面の一例を示した図である。
【図１５】ユーザインタフェースドライバが印刷条件を設定する上での最適な設定順序をアプリケーションに通知する処理を説明するためのフローチャートである。
【図１６】ユーザインタフェースドライバが、アプリケーションから指定された印刷条件において設定可能な選択肢の一覧をアプリケーションに通知する処理を説明するためのフローチャートである。
【図１７】アプリケーションが印刷条件設定画面を表示装置で表示する際の処理を説明するためのフローチャートである。
【図１８】情報の授受を示す各種ドライバとＧＤＩ（ＯＳ）のブロック構造の一例を示す図である。
【符号の説明】
【０１０８】
１００  印刷システム
１０１  ホストコンピュータ
１０２  印刷装置
１０３  ハードディスク
１０４  表示装置
１０５  データ入力装置
１０６  メディア読取装置
１０７  通信制御装置
２０１  アプリケーション
２０２  ＧＤＩ
２０３  ユーザインタフェースドライバ
２０４  ＥＭＦスプールファイル
２０５  プリントプロセッサ
２０６  プリンタグラフィックドライバ
【図１】
2005158051.tif 000003
【図２】
2005158051.tif 000004
【図３】
2005158051.tif 000005
【図４】
2005158051.tif 000006
【図５】
2005158051.tif 000007
【図６】
2005158051.tif 000008
【図７】
2005158051.tif 000009
【図８】
2005158051.tif 000010
【図９】
2005158051.tif 000011
【図１０】
2005158051.tif 000012
【図１１】
2005158051.tif 000013
【図１２】
2005158051.tif 000014
【図１３】
2005158051.tif 000015
【図１４】
2005158051.tif 000016
【図１５】
2005158051.tif 000017
【図１６】
2005158051.tif 000018
【図１７】
2005158051.tif 000019
【図１８】
2005158051.tif 000020