(57)【要約】  【課題】プリンタードライバーにおける各種設定のコンフリクトの解消をする際のユーザービリティーを、より向上する。  【解決手段】プリンタードライバーは、印刷設定を行うためのＵＩ画面において印刷設定が変更され、他の印刷設定とコンフリクトが生じた場合、コンフリクトの警告および印刷設定を変更するためのＵＩ画面６００を表示する。ＵＩ画面６００は、設定が変更された対象機能の印刷設定を設定するための欄を含む対象機能欄６１０と、対象機能とコンフリクトするコンフリクト対象機能の印刷設定を設定するための欄を含むコンフリクト対象機能欄６２０とを有する。【選択図】図５
2010244317.tif 000002
【特許請求の範囲】
【請求項１】
コンピューターにより実行されるプリンタードライバーであって、
前記コンピューターを、
第１のユーザーインターフェイスを表示して、複数の印刷設定の設定を受け付ける設定受付手段と、
設定が変更された第１の印刷設定とコンフリクトする他の印刷設定を抽出するコンフリクト抽出手段と、
設定された複数の印刷設定に従って印刷データを生成する印刷データ生成手段として機能させ、
前記設定受付手段は、
前記コンフリクト抽出手段が前記他の印刷設定を抽出した場合、前記第１の印刷設定、および前記他の印刷設定の一覧を含む第２のユーザーインターフェイスを表示する、
ことを特徴とするプリンタードライバー。
【請求項２】
請求項１に記載のプリンタードライバーであって、
前記設定受付手段は、
前記第２のユーザーインターフェイスにより、前記第１の印刷設定、および前記他の印刷設定の変更を受け付ける、
ことを特徴とするプリンタードライバー。
【請求項３】
請求項２に記載のプリンタードライバーであって、
前記設定受付手段は、
前記第２のユーザーインターフェイスにより、前記他の印刷設定の前記第１の印刷設定に対するコンフリクトを解消するためのユーザーの指示を受け付け、
前記コンフリクト抽出手段は、
前記ユーザーの指示があった場合、前記他の印刷設定について、前記第１の印刷設定とコンフリクトが解消する設定を抽出し、
前記設定受付手段は、
前記第２のユーザーインターフェイスに、前記他の印刷設定について、コンフリクトが解消する設定を表示する、
ことを特徴とするプリンタードライバー。
【請求項４】
請求項３に記載のプリンタードライバーであって、
前記コンフリクト抽出手段は、
前記ユーザーの指示があった場合、前記他の印刷設定について、前記第１の印刷設定とコンフリクトが解消する設定を複数抽出し、
前記設定受付手段は、
前記第２のユーザーインターフェイスに、前記他の印刷設定について、コンフリクトが解消する設定を複数候補として表示し、当該候補の中から設定の変更を受け付ける、
ことを特徴とするプリンタードライバー。
【請求項５】
請求項１〜４いずれか一項に記載のプリンタードライバーであって、
前記設定受付手段は、
前記第２のユーザーインターフェイスにおいて、前記第１の印刷設定および前記他の印刷設定を確定するためのユーザーの指示を受け付け、
前記印刷データ生成手段は、
前記ユーザーの指示があった場合、確定した前記第１の印刷設定および前記他の印刷設定に従って印刷データを生成する、
ことを特徴とするプリンタードライバー。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンターなどの印刷装置を制御するためのプリンタードライバーに関し、特に、複数の機能（印刷設定）間の競合（コンフリクト）を制御する技術に関する。
【背景技術】
【０００２】
プリンタードライバーは、複数の印刷設定（例えば、印刷品質、カラー、用紙サイズ、印刷方向、用紙トレイ、用紙種類、両面印刷、印刷部数など）の設定を、例えば、ユーザーインターフェイス（以下、「ＵＩ」）画面を介して受け付ける。そして、受け付けた印刷設定に従って印刷データを生成し、プリンターに送って印刷を実行させる。
【０００３】
ここで、プリンタードライバーでは複数の印刷設定を設定可能であるために、各印刷設定の間ではコンフリクトが発生する場合がある。例えば、用紙種類「ＯＨＰシート」と両面印刷とはコンフリクトする。このようなコンフリクトを回避するための技術として、所定のコンフリクト処理ルールを用いて、設定の変更を行う方法がある（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００２−２０２８６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
一方で、コンフリクトが発生した場合のＵＩ制御に関して、従来のプリンタードライバーは、例えば、（１）コンフリクトが生じる度に警告ダイアログを表示したり、（２）ＵＩ画面上のコンフリクトが生じた印刷設定の設定欄の近傍に、コンフリクトが生じていることを示すインジケーター画像を表示したりする。そして、ユーザーの操作により、印刷設定が変更され、コンフリクトが解消される。
【０００６】
しかしながら、上記の（１）のプリンタードライバーでは、例えば、ユーザーがコンフリクトが発生している印刷設定を設定変更した後、未だコンフリクトが解消されていない場合には、再び警告ダイアログが表示される。すなわち、警告ダイアログが繰り返し表示される事態に陥る場合があり、ユーザービリティーが低下する。
【０００７】
また、上記の（２）のプリンタードライバーでは、例えば、ＵＩ画面がタブにより切り替え可能な複数の画面を含んでいる場合などに、コンフリクトが生じている印刷設定がどれなのか、また、いくつあるのか等を把握するのはユーザーにとって困難である。
【０００８】
このように、上記のような技術では、コンフリクトが発生している状態から、ユーザーが望む印刷設定により全てのコンフリクトを解消した状態に辿り着くまでの、ユーザービリティーが低い。
【０００９】
なお、ユーザーの負担を減らすために、コンフリクトが発生した際に、プリンタードライバーが自動的にコンフリクトが生じない状態に印刷設定を変更する方法も考えられる。しかし、この方法では、ユーザーが望まない印刷設定で印刷が実行されてしまう場合があり、却ってユーザーに不都合である。
【００１０】
そこで、本発明は、プリンタードライバーにおける各種設定のコンフリクトの解消をする際のユーザービリティーを、より向上するための技術を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記の課題を解決するための本発明の一態様は、コンピューターにより実行されるプリンタードライバーであって、前記コンピューターを、第１のユーザーインターフェイスを表示して、複数の印刷設定の設定を受け付ける設定受付手段と、設定が変更された第１の印刷設定とコンフリクトする他の印刷設定を抽出するコンフリクト抽出手段と、設定された複数の印刷設定に従って印刷データを生成する印刷データ生成手段として機能させ、前記設定受付手段は、前記コンフリクト抽出手段が前記他の印刷設定を抽出した場合、前記第１の印刷設定、および前記他の印刷設定の一覧を含む第２のユーザーインターフェイスを表示する、ことを特徴とする。
【００１２】
ここで、上記のプリンタードライバーであって、前記設定受付手段は、前記第２のユーザーインターフェイスにより、前記第１の印刷設定、および前記他の印刷設定の変更を受け付ける、ことを特徴としていてもよい。
【００１３】
また、上記のプリンタードライバーであって、前記設定受付手段は、前記第２のユーザーインターフェイスにより、前記他の印刷設定の前記第１の印刷設定に対するコンフリクトを解消するためのユーザーの指示を受け付け、前記コンフリクト抽出手段は、前記ユーザーの指示があった場合、前記他の印刷設定について、前記第１の印刷設定とコンフリクトが解消する設定を抽出し、前記設定受付手段は、前記第２のユーザーインターフェイスに、前記他の印刷設定について、コンフリクトが解消する設定を表示する、ことを特徴としていてもよい。
【００１４】
また、上記のプリンタードライバーであって、前記コンフリクト抽出手段は、前記ユーザーの指示があった場合、前記他の印刷設定について、前記第１の印刷設定とコンフリクトが解消する設定を複数抽出し、前記設定受付手段は、前記第２のユーザーインターフェイスに、前記他の印刷設定について、コンフリクトが解消する設定を複数候補として表示し、当該候補の中から設定の変更を受け付ける、ことを特徴としていてもよい。
【００１５】
また、上記のいずれかのプリンタードライバーであって、前記設定受付手段は、前記第２のユーザーインターフェイスにおいて、前記第１の印刷設定および前記他の印刷設定を確定するためのユーザーの指示を受け付け、前記印刷データ生成手段は、前記ユーザーの指示があった場合、確定した前記第１の印刷設定および前記他の印刷設定に従って印刷データを生成する、ことを特徴としていてもよい。
【図面の簡単な説明】
【００１６】
【図１】本発明の一実施形態の一例であるホストコンピューターのハードウェアの概略構成を示す図。
【図２】ホストコンピューターの機能構成の一例を示すブロック図。
【図３】印刷設定を設定するためのＵＩ画面例を示す図。
【図４】コンフリクト判定テーブルの一例を示す図。
【図５】コンフリクトの警告および印刷設定を変更するためのＵＩ画面例を示す図。
【図６】コンフリクトの警告および印刷設定を変更するためのＵＩ画面例を示す図。
【図７】コンフリクト対象機能抽出処理の一例を示すフロー図。
【図８】対象機能優先処理の一例を示すフロー図。
【図９】従来のコンフリクトの警告ダイアログのＵＩ画面例を示す図。
【発明を実施するための形態】
【００１７】
以下に、本発明の一実施形態について説明する。
【００１８】
図１は、本発明の一実施形態の一例であるホストコンピューターのハードウェアの概略構成を示す図である。
【００１９】
本図に示すように、ホストコンピューター１は、例えば、各種演算を行うＣＰＵ１０と、ＣＰＵ１０が実行するプログラムやデータを格納するＲＡＭ１１と、起動に必要なプログラムやデータを予め格納するＲＯＭ１２と、ハードディスク等の補助記憶装置１３と、ＵＩ画面などを表示するＬＣＤなどの表示装置１４と、キーボードやマウス等の入力装置１５と、ＣＤ−ＲＯＭ等の可搬性を有する可搬型記憶媒体の情報を読み出すメディア読取装置１６と、ＬＡＮなどのネットワークを介して外部装置と通信を行う通信インターフェイス（Ｉ／Ｆ）１７とを備える、一般的なコンピューターである。
【００２０】
本実施形態では、ホストコンピューター１は、ＬＡＮなどのネットワークを介して、プリンター２と接続される。そして、ホストコンピューター１は、プリンター２に印刷を実行させる。そのため、ホストコンピューター１には、プリンター２を制御するプリンタードライバープログラム（不図示）がインストールされる。なお、ホストコンピューター１は、ＵＳＢなどにより直接プリンター２と接続されてもよい。
【００２１】
プリンター２は、ホストコンピューター１から送信された印刷データに従って印刷を実行する。プリンター２は、例えば、インクジェット方式のカラープリンターである。レーザー方式のページプリンターであってもよい。
【００２２】
以上のホストコンピューター１およびプリンター２構成は、本願発明の特徴を説明するにあたって主要構成を説明したのであって、上記の構成に限られない。また、一般的なホストコンピューター１およびプリンター２が備える構成を排除するものではない。
【００２３】
図２は、ホストコンピューター１の機能構成の一例を示すブロック図である。
【００２４】
本図に示すように、ホストコンピューター１は、プリンタードライバー部１００を有する。また、ホストコンピューター１は、ＯＳ部（不図示）やアプリケーション部（不図示）を有する。
【００２５】
プリンタードライバー部１００は、例えば、ＣＰＵ１０が補助記憶装置１３からＲＡＭ１１にロードした所定のプリンタードライバープログラムを実行することにより実現される。ＯＳ部やアプリケーション部は、例えば、ＣＰＵ１０が補助記憶装置１３からＲＡＭ１１にロードした所定のＯＳプログラムやアプリケーションプログラムを実行することにより実現される。
【００２６】
プリンタードライバープログラムは、例えば、インターネットなどのネットワーク上の外部のサーバーからダウンロードされてインストールもしくは更新される。もちろん、メディア読取装置１６によりＣＤ−ＲＯＭ等の記憶媒体から読み出されてインストールもしくは更新されてもよい。
【００２７】
プリンタードライバー部１００は、例えば、プリンタードライバーの各種ＵＩ画面の表示制御処理、ＵＩ画面を介したユーザーの操作の入力制御処理、アプリケーション部から受け付けた印刷対象のデータを含む印刷データを生成する印刷データ生成処理、印刷データをプリンター２に送信する送信処理などを行う。そのため、プリンタードライバー部１００は、設定受付部１１０、コンフリクト判定部１２０、および印刷データ生成部１３０を有する。
【００２８】
設定受付部１１０は、プリンタードライバー部１００が起動された場合に、例えば、図３に示すような、印刷設定を設定するためのＵＩ画面５００を表示装置１４に表示する。そして、入力装置１５を介して各種印刷設定の設定を受け付ける。
【００２９】
本実施形態では、ＵＩ画面５００は、タブにより切り替え可能な、基本設定画面５０１、拡張レイアウト画面５０２、およびオプション画面５０３を含んでいる。また、ＵＩ画面５００は、ＵＩ画面５００上の各種印刷設定を印刷データの生成に使用する印刷設定として適用するためのＯＫボタン５０４、および印刷設定の適用を中止するキャンセルボタン５０５を含んでいる。
【００３０】
基本設定画面５０１は、印刷品質を設定するための印刷品質欄５１０、印刷のカラーを設定するためカラー欄５２０、用紙サイズを設定するための用紙サイズ欄５３０、印刷方向を設定するための印刷方向欄５４０、用紙トレイを設定するための用紙トレイ欄５５０、用紙種類を設定するための用紙種類欄５６０、両面印刷に関する設定を設定するための両面印刷欄５７０、および部数印刷に関する設定を設定するための印刷部数欄５８０を含んでいる。拡張レイアウト画面５０２、およびオプション画面５０３についての詳細な説明は省略する。
【００３１】
もちろん、印刷設定を設定するためのＵＩ画面５００の構成は一例であり、上記に限られない。
【００３２】
図２に戻って、設定受付部１１０は、上記のようなＵＩ画面５００上で印刷設定の設定変更を受け付けると、印刷設定間のコンフリクトを抽出するように、コンフリクト判定部１２０に要求する。また、後述するように、コンフリクトが発生した場合には、コンフリクトの警告および印刷設定の変更を行うためのＵＩ画面６００（図５、６）を表示する。そして、ＵＩ画面５００上で印刷設定の設定変更などを受け付ける。
【００３３】
コンフリクト判定部１２０は、各種印刷設定の間のコンフリクトを抽出する。具体的には、コンフリクト判定部１２０は、設定受付部１１０から設定が変更された印刷設定（以下、「対象機能」と呼ぶ場合がある。）を取得する。そして、当該対象機能と競合する印刷設定（以下、「コンフリクト対象機能」と呼ぶ場合がある。）を抽出する。そのため、コンフリクト判定部１２０は、図４に示すような、コンフリクト判定テーブル１２００を有する。
【００３４】
コンフリクト判定テーブル１２００は、対象機能１２１０の各パラメーター（選択肢）１２２０に対する、機能（判定対象機能）１２３０の各パラメーター１２４０のコンフリクトの有無を示す情報を含む、マトリックスである。
【００３５】
ここで、対象機能１２１０および機能１２３０は、例えば、ＵＩ画面５００（図３）の、印刷品質、カラー、用紙サイズ、印刷方向、用紙トレイ、用紙種類、両面印刷、印刷部数等に対応する。また、パラメーター１２２０およびパラメーター１２４０は、各機能について選択可能な選択肢、例えば、カラーの選択肢であるカラーおよびブラック、用紙サイズの選択肢であるＡ４およびＢ５などに対応する。
【００３６】
本図では、「０」は、コンフリクトが無いことを示し、「１」は、コンフリクトが有ることを示している。また、「−」は、パラメーターが無いことを示す。なお、説明を分かり易くするため、以下では、「−」もパラメーターとして扱う。すなわち、パラメーターが一つあるものとして扱う。
【００３７】
なお、コンフリクトの例としては、例えば、用紙種類「ＯＨＰ」とはがき用の用紙トレイ、用紙サイズ「はがき」と両面印刷、透かし印刷と割付印刷、用紙種類「はがき」とはがきをセットできない用紙トレイ、などの組み合わせが挙げられる。もちろん、上記に限られない。
【００３８】
もちろん、コンフリクト判定テーブル１２００の構成は、一例であり、上記に限られない。また、コンフリクトを抽出するための方法は、テーブルを用いた方法に限られない。
【００３９】
コンフリクト判定部１２０は、設定受付部１１０から設定が変更されたパラメーターおよび当該パラメーターを有する対象機能を特定する情報を取得する。そして、コンフリクト判定テーブル１２００を参照し、判定対象機能１２３０のうち、取得したパラメーター（パラメーター１２２０）とコンフリクトするパラメーター１２４０および当該パラメーター１２４０を有する機能１２３０を全て抽出し、コンフリクト対象機能として特定する。
【００４０】
上記のようにして、コンフリクト対象機能を抽出した場合、コンフリクト判定部１２０は、例えば、図５に示すような、コンフリクトの警告および印刷設定を変更するためのＵＩ画面６００を表示装置１４に表示するように、設定受付部１１０に要求する。
【００４１】
本実施形態では、ＵＩ画面６００は、ＵＩ画面６００上の印刷設定を印刷データの生成に使用する印刷設定として適用する（図３のＵＩ画面５００の印刷設定に適用する）ためのＯＫボタン６０１、および印刷設定の適用を中止するキャンセルボタン６０２を含んでいる。なお、ＯＫボタン６０１もしくはキャンセルボタン６０２が選択された場合は、設定受付部１１０は、ＵＩ画面６００の表示を消去し、ＵＩ画面５００（図３）に制御を戻す。
【００４２】
また、ＵＩ画面６００は、対象機能が表示される対象機能欄６１０、およびコンフリクト対象機能が表示されるコンフリクト対象機能欄６２０を含んでいる。
【００４３】
対象機能欄６１０は、対象機能の印刷設定を設定するための欄を含んでいる。例えば、図５（Ａ）では、用紙種類を設定するための用紙種類欄が表示されている。また、対象機能欄６１０は、対象機能の設定を変更しないまま、コンフリクトが解消されるようにコンフリクト対象機能の設定を自動的に変更する設定を行うための対象機能優先欄６１１を含んでいる。
【００４４】
コンフリクト対象機能欄６２０は、コンフリクト対象機能の印刷設定を設定するための欄を含んでいる。例えば、図５（Ａ）では、用紙トレイを設定するための用紙トレイ欄、および両面印刷に関する設定を設定するための両面印刷欄が表示されている。また、コンフリクト対象機能欄６２０には、コンフリクト対象機能の数を示すコンフリクト対象機能数６２１が表示される。図５（Ａ）では、「２」が表示されている。また、コンフリクト対象機能が対象機能とコンフリクト状態にあることを示すインジケーター６２２が表示される。
【００４５】
もちろん、コンフリクトの警告および印刷設定を変更するためのＵＩ画面６００の構成は一例であり、上記に限られない。
【００４６】
コンフリクト判定部１２０は、上記のようなＵＩ画面６００を設定受付部１１０に表示させる。また、ＵＩ画面６００上における、コンフリクト対象機能の設定変更、対象機能の設定変更、および対象機能優先欄６１１の選択を、設定受付部１１０を介して受け付ける。
【００４７】
コンフリクト対象機能の設定が変更された場合、コンフリクト判定部１２０は、設定受付部１１０から、設定が変更されたパラメーターおよび当該パラメーターを有するコンフリクト対象機能を特定する情報を取得する。なお、コンフリクト対象機能自体の設定が無効に変更された場合も、当該コンフリクト対象機能を特定する情報を取得する。
【００４８】
そして、コンフリクト判定部１２０は、コンフリクト判定テーブル１２００を参照し、対象機能（対象機能１２１０）のパラメーター（パラメーター１２２０）と、設定が変更されたコンフリクト対象機能（機能１２３０）のパラメーター（パラメーター１２４０）がコンフリクトするか否かを判定する。
【００４９】
コンフリクトしていない（コンフリクトが解消した）場合には、コンフリクト判定部１２０は、コンフリクトが解消したコンフリクト対象機能に対応するＵＩ画面６００のインジケーター６２２の表示を消去するように、設定受付部１１０に要求する。なお、コンフリクト対象機能自体の設定が無効に設定された場合も、当該コンフリクト対象機能に対応するインジケーター６２２の表示を消去するように、設定受付部１１０に要求する。一方、コンフリクトしている（コンフリクトが解消していない）場合には、インジケーター６２２を引き続き表示するように、設定受付部１１０に要求する。
【００５０】
例えば、図５（Ａ）から（Ｂ）への遷移例では、用紙トレイ欄の選択肢が「自動選択」から「ＭＰトレイ」に変更されたことにより、用紙種類欄の選択肢である「ＯＨＰ」とのコンフリクトが解消し、インジケーター６２２の表示が消去されている。一方、両面印刷欄の設定には変更がないため、インジケーター６２２が引き続き表示されている。
【００５１】
対象機能の設定が変更された場合、コンフリクト判定部１２０は、設定受付部１１０から、設定が変更されたパラメーターおよび当該パラメーターを有する対象機能を特定する情報を取得する。なお、対象機能自体の設定が無効に設定された場合も、当該対象機能を特定する情報を取得する。
【００５２】
そして、コンフリクト判定部１２０は、コンフリクト判定テーブル１２００を参照し、判定対象機能１２３０のうち、取得したパラメーター（パラメーター１２２０）とコンフリクトするパラメーター１２４０および当該パラメーター１２４０を有する機能１２３０を全て抽出し、コンフリクト対象機能として特定する。そして、ＵＩ画面６００のコンフリクト対象機能欄６２０の表示をリフレッシュするように、設定受付部１１０に要求する。なお、対象機能自体の設定が無効に設定された場合も、コンフリクト対象機能欄６２０の表示をリフレッシュするように、設定受付部１１０に要求する。
【００５３】
対象機能優先欄６１１が選択された場合、コンフリクト判定部１２０は、コンフリクト判定テーブル１２００を参照し、コンフリクト対象機能（機能１２３０）のパラメーター（パラメーター１２４０）のうち、対象機能（機能１２１０）のパラメーター（パラメーター１２２０）と、コンフリクトしないパラメーター１２４０を特定する。
【００５４】
コンフリクトしないパラメーター１２４０を少なくとも１つ以上特定した場合、コンフリクト判定部１２０は、現在設定されているコンフリクト対象機能のパラメーターを特定したパラメーターに変更するように、設定受付部１１０に要求する。
【００５５】
一方、コンフリクトしないパラメーター１２４０を特定できなかった場合、コンフリクト判定部１２０は、コンフリクト対象機能自体の設定を無効にするように、設定受付部１１０に要求する。
【００５６】
例えば、図５（Ａ）から図６（Ｃ）への遷移例では、用紙トレイ欄の選択肢が「自動選択」から「ＭＰトレイ」に変更され、インジケーター６２２の表示が消去されている。また、両面印刷欄の表示が無効に設定され、設定変更できないようにグレーアウトされている。これに伴い、コンフリクト対象機能数６２１が「１」に変更されている。
【００５７】
図２に戻って、印刷データ生成部１３０は、設定受付部１１０から印刷設定を取得し、当該印刷設定に従って印刷データを生成する。すなわち、印刷データ生成部１３０は、ＵＩ画面５００のＯＫボタン５０４が押下されたときに設定されている各種印刷設定を、設定受付部１１０から取得する。そして、例えば、アプリケーション部などから指定された印刷対象のデータを取得し、当該データから印刷設定に応じた印刷データを生成する。そして、プリンター２に送信し、当該印刷データに基づく印刷を実行させる。
【００５８】
以上の各構成要素は、ホストコンピューター１およびプリンタードライバー部１００の構成を理解容易にするために、主な処理内容に応じて分類したものである。構成要素の分類の仕方や名称によって、本願発明が制限されることはない。ホストコンピューター１およびプリンタードライバー部１００の構成は、処理内容に応じて、さらに多くの構成要素に分類することもできる。また、１つの構成要素がさらに多くの処理を実行するように分類することもできる。また、各構成要素の処理は、１つのハードウェアで実行されてもよいし、複数のハードウェアで実行されてもよい。
【００５９】
次に、上記のホストコンピューター１およびプリンタードライバー部１００により実現される特徴的な処理について説明する。
【００６０】
図７は、コンフリクト対象機能抽出処理の一例を示すフロー図である。本フローは、プリンタードライバー部１００の起動後、設定受付部１１０が、ＵＩ画面５００において、対象機能Ｘの印刷設定の変更を受け付けた場合に開始される。なお、プリンタードライバー部１００は、例えば、アプリケーション部の印刷設定画面などから起動される。
【００６１】
Ｓ１１０では、コンフリクト判定部１２０は、コンフリクトカウンターＩを０に初期化する。コンフリクトカウンターとは、コンフリクトの数を記録するためのカウンターである。また、コンフリクト判定部１２０は、コンフリクト対象機能を記録するための、例えば、リスト、の内容を初期化する。そして、コンフリクト判定部１２０は、処理をＳ１２０に進める。
【００６２】
Ｓ１２０では、コンフリクト判定部１２０は、対象機能Ｘと機能Ｙとのコンフリクトを判定する。具体的には、コンフリクト判定部１２０は、設定受付部１１０から、設定が変更されたパラメーターおよび当該パラメーターを有する対象機能能Ｘを特定する情報を取得する。また、所定の順序（例えば、コンフリクト判定テーブル１２００に設定されている機能１２３０の順）に従って判定対象の機能Ｙを１つ特定する。そして、設定受付部１１０から、特定した機能Ｙについて現在設定されているパラメーターを特定する情報を取得する。
【００６３】
それから、コンフリクト判定部１２０は、コンフリクト判定テーブル１２００を参照し、取得した対象機能Ｘ（対象機能１２１０）のパラメーター（パラメーター１２２０）と、取得した判定対象機能Ｙ（機能１２３０）について現在設定されているパラメーター（パラメーター１２４０）と、がコンフリクトするか否かを判定する。
【００６４】
コンフリクトがある場合（Ｓ１２０：コンフリクト有り）、コンフリクト判定部１２０は、処理をＳ１３０に進める。コンフリクトが無い場合（Ｓ１２０：コンフリクトなし）、コンフリクト判定部１２０は、処理をＳ１７０に進める。
【００６５】
Ｓ１３０では、コンフリクト判定部１２０は、コンフリクトカウンターＩを１インクリメントする。また、コンフリクト判定部１２０は、コンフリクトがあった機能Ｙをコンフリクト対象機能として、例えば、リストなどに記録する。そして、処理をＳ１４０に進める。
【００６６】
Ｓ１４０では、コンフリクト判定部１２０は、警告ダイアログ（図５のＵＩ画面６００）を表示済みか否かを判定する。具体的には、ＵＩ画面６００が設定受付部１１０により表示されているか否かを判定する。表示済みでない場合（Ｓ１４０：ＮＯ）、処理をＳ１５０に進める。表示済みの場合（Ｓ１４０：ＹＥＳ）、処理をＳ１６０に進める。
【００６７】
Ｓ１５０では、コンフリクト判定部１２０は、警告ダイアログを表示する。具体的には、ＵＩ画面６００を表示するように、設定受付部１１０に要求する。設定受付部１１０は、ＵＩ画面６００を表示装置１４に表示する。設定受付部１１０は、対象機能欄６１０に、対象機能Ｘの印刷設定を設定するための欄（パラメーターがある場合は、変更されたパラメーターも）を表示する。その後、コンフリクト判定部１２０は、処理をＳ１６０に進める。
【００６８】
Ｓ１６０では、コンフリクト判定部１２０は、コンフリクト対象機能の表示を更新する。具体的には、ＵＩ画面６００のコンフリクト対象機能欄６２０の表示を更新するように、設定受付部１１０に要求する。設定受付部１１０は、コンフリクト対象機能欄６２０に、Ｓ１３０で記録されたコンフリクト対象機能Ｙの印刷設定を設定するための欄（パラメーターがある場合は、現在設定されているパラメーターも）を表示（２つ目以降は、追加表示）する。また、コンフリクト対象機能数６２１としてコンフリクトカウンターの値を表示する。また、表示したコンフリクト対象機能に対応させてインジケーター６２２を表示する。そして、処理をＳ１７０に進める。
【００６９】
Ｓ１７０では、コンフリクト判定部１２０は、全ての機能についてコンフリクトの判定が終了したか否かを判定する。具体的には、コンフリクト判定部１２０は、所定の順序（例えば、コンフリクト判定テーブル１２００に設定されている機能１２３０の順）で全ての判定対象機能Ｙについての判定を終了したか否かを判定する。判定が終了した場合（Ｓ１７０：ＹＥＳ）、処理をＳ１８０に進める。判定が終了していない場合（Ｓ１７０：ＮＯ）、次の判定対象機能Ｙについての判定を行うため、処理をＳ１２０に戻す。
【００７０】
Ｓ１８０では、コンフリクト判定部１２０は、警告ダイアログ（図５のＵＩ画面６００）を表示済みか否かを判定する。具体的には、ＵＩ画面６００が設定受付部１１０により表示されているか否かを判定する。表示済みの場合（Ｓ１８０：ＹＥＳ）、処理をＳ１９０に進める。表示済みでない場合（Ｓ１８０：ＮＯ）、本フローを終了する。
【００７１】
Ｓ１９０では、設定受付部１１０は、ユーザー操作を受け付ける。具体的には、設定受付部１１０は、ＵＩ画面６００上の、対象機能の印刷設定の変更（対象機能欄６１０）、コンフリクト対象機能の印刷設定の変更（コンフリクト対象機能欄６２０）、対象機能優先欄６１１の選択、ＯＫボタン６０１の選択、もしくはキャンセルボタン６０２の選択を受け付ける。
【００７２】
そして、対象機能の印刷設定の変更（対象機能欄６１０）、コンフリクト対象機能の印刷設定の変更（コンフリクト対象機能欄６２０）、もしくは対象機能優先欄６１１の選択を受け付けた場合（Ｓ１９０：機能設定変更、対象機能優先）、設定受付部１１０は、処理をＳ２００に進める。一方、ＯＫボタン６０１の選択、もしくはキャンセルボタン６０２の選択を受け付けた場合（Ｓ１９０：ＯＫ、キャンセル）、本フローを終了する。
【００７３】
Ｓ２００では、コンフリクト判定部１２０は、機能の設定変更があったか否かを判定する。具体的には、Ｓ１９０で設定受付部１１０により、対象機能の印刷設定の変更（対象機能欄６１０）、もしくはコンフリクト対象機能の印刷設定の変更（コンフリクト対象機能欄６２０）が受け付けられた場合（Ｓ２００：ＹＥＳ）、処理をＳ２１０に進める。一方、Ｓ１９０で設定受付部１１０により、対象機能優先欄６１１の選択が受け付けられた場合（Ｓ２００：ＮＯ）、処理をＳ５００（図８を参照して後述する。）に進める。
【００７４】
Ｓ２１０では、コンフリクト判定部１２０は、コンフリクト対象機能の設定変更があったか否かを判定する。具体的には、Ｓ１９０で設定受付部１１０により、対象機能の印刷設定の変更（対象機能欄６１０）が受け付けられた場合（Ｓ２１０：ＮＯ）、処理をＳ２４０に進める。一方、Ｓ１９０で設定受付部１１０により、コンフリクト対象機能の印刷設定の変更（コンフリクト対象機能欄６２０）が受け付けられた場合（Ｓ２１０：ＹＥＳ）、処理をＳ２２０に進める。
【００７５】
Ｓ２２０では、コンフリクト判定部１２０は、対象機能Ｘとコンフリクト対象機能とのコンフリクトを判定する。具体的には、コンフリクト判定部１２０は、Ｓ１３０でリストに記録したコンフリクト対象機能のうち、Ｓ１９０で設定変更されたパラメーターおよび当該パラメーターを有するコンフリクト対象機能を特定する情報を設定受付部１１０から取得する。なお、コンフリクト対象機能自体の設定が無効に設定された場合も、当該コンフリクト対象機能を特定する情報を取得する。
【００７６】
そして、コンフリクト判定部１２０は、コンフリクト判定テーブル１２００を参照し、対象機能Ｘ（対象機能１２１０）のパラメーター（パラメーター１２２０）と、取得したコンフリクト対象機能（機能１２３０）の設定変更後のパラメーター（パラメーター１２４０）と、がコンフリクトするか否かを判定する。
【００７７】
コンフリクトがある（解消していない）場合（Ｓ２２０：コンフリクト有り）、コンフリクト判定部１２０は、処理をＳ１９０に進める。なお、コンフリクトが新たに発生した場合は、コンフリクト判定部１２０は、ＵＩ画面６００のコンフリクト対象機能欄６２０の表示を更新するように、設定受付部１１０に要求する。設定受付部１１０は、対象機能Ｘとのコンフリクトが発生したコンフリクト対象機能に対応するインジケーター６２２をコンフリクト対象機能欄６２０に表示する。
【００７８】
一方、コンフリクトが無い（解消した）場合（Ｓ２２０：コンフリクト解消）、コンフリクト判定部１２０は、処理をＳ２３０に進める。なお、コンフリクト対象機能自体の設定が無効に設定された場合も、処理をＳ２３０に進める。
【００７９】
Ｓ２３０では、コンフリクト判定部１２０は、コンフリクト対象機能の表示を更新する。具体的には、ＵＩ画面６００のコンフリクト対象機能欄６２０の表示を更新するように、設定受付部１１０に要求する。設定受付部１１０は、Ｓ２２０で対象機能Ｘとのコンフリクトが解消したコンフリクト対象機能に対応する、コンフリクト対象機能欄６２０のインジケーター６２２の表示を消去する（例えば、図５（Ａ）から（Ｂ）への遷移を参照）。そして、処理をＳ１９０に進める。
【００８０】
一方、Ｓ２４０では、コンフリクト判定部１２０は、警告ダイアログの表示を更新する。具体的には、ＵＩ画面６００のコンフリクト対象機能欄６２０の表示を更新するように、設定受付部１１０に要求する。設定受付部１１０は、コンフリクト対象機能欄６２０の中の、コンフリクト対象機能の印刷設定を設定するための欄、インジケーター６２２、およびコンフリクト対象機能数６２１の表示を消去する。そして、処理をＳ１１０に進める。
【００８１】
以上が、コンフリクト対象機能抽出処理の一例を示すフロー図である。
【００８２】
図８は、対象機能優先処理の一例を示すフロー図である。本フローは、図７のＳ５００に対応する。すなわち、Ｓ１９０で設定受付部１１０により、対象機能優先欄６１１の選択が受け付けられた場合（Ｓ２００：ＮＯ）に開始される。
【００８３】
Ｓ５１０では、コンフリクト判定部１２０は、対象機能Ｘとコンフリクト対象機能とのコンフリクトを判定する。具体的には、コンフリクト判定部１２０は、設定受付部１１０から対象機能Ｘおよび現在設定されているパラメーターを特定する情報を取得する。また、所定の順序（例えば、Ｓ１３０（図７）でリストに記録した順）に従って判定対象のコンフリクト対象機能を１つ特定する。
【００８４】
そして、コンフリクト判定部１２０は、コンフリクト判定テーブル１２００を参照し、特定したコンフリクト対象機能（機能１２３０）のパラメーター（パラメーター１２４０）のうち、現在設定されている対象機能Ｘ（対象機能１２１０）のパラメーター（パラメーター１２２０）とコンフリクトしないパラメーター１２４０を特定する。
【００８５】
コンフリクトしないパラメーターがある場合（Ｓ５１０：コンフリクト解消可能）、コンフリクト判定部１２０は、処理をＳ５２０に進める。一方、コンフリクトしないパラメーターがない場合（Ｓ５１０：コンフリクト解消不可能）、コンフリクト判定部１２０は、処理をＳ５４０に進める。
【００８６】
Ｓ５２０では、コンフリクト判定部１２０は、コンフリクト対象機能の設定を変更する。具体的には、コンフリクト判定部１２０は、Ｓ５１０で特定したコンフリクト対象機能の現在設定されているパラメーターを、Ｓ５１０で特定した対象機能Ｘとコンフリクトしないパラメーターのうちのいずれかに変更するように、設定受付部１１０に要求する。対象機能Ｘとコンフリクトしないパラメーターが複数ある場合は、所定の順序（例えば、予め定められたパラメーターの優先順）に従ってパラメーターを１つ選択する。そして、処理をＳ５３０に進める。
【００８７】
Ｓ５３０では、コンフリクト判定部１２０は、コンフリクト対象機能の表示を更新する。具体的には、ＵＩ画面６００のコンフリクト対象機能欄６２０の表示を更新するように、設定受付部１１０に要求する。設定受付部１１０は、Ｓ５２０で対象機能Ｘとのコンフリクトが解消したコンフリクト対象機能に対応する、コンフリクト対象機能欄６２０のインジケーター６２２の表示を消去する。また、コンフリクト対象機能の印刷設定を設定するための欄のパラメーターを、Ｓ５２０で特定した対象機能Ｘとコンフリクトしないパラメーターに変更する。
【００８８】
例えば、図５（Ａ）から図６（Ｃ）への遷移例では、用紙トレイ欄の選択肢が「自動選択」から「ＭＰトレイ」に変更され、インジケーター６２２の表示が消去されている。すなわち、用紙トレイ欄の選択肢「自動選択」が、用紙種類欄の選択肢である「ＯＨＰ」とのコンフリクトがない「ＭＰトレイ」に変更されている。
【００８９】
また、設定受付部１１０は、コンフリクト対象機能の印刷設定を設定するための欄のパラメーターの選択範囲（ユーザーが指定できる選択しの選択範囲）を、Ｓ５２０で特定した対象機能Ｘとコンフリクトしないパラメーターの選択範囲に設定する。
【００９０】
例えば、対象機能である用紙種類欄の選択肢が「ＯＨＰ」であり、コンフリクト対象機能である用紙トレイ欄の選択肢の選択範囲が、「自動選択」、「トレイ１」、「トレイ２」および「ＭＰトレイ」であり、「ＯＨＰ」にコンフリクトしない選択肢が、「トレイ１」および「ＭＰトレイ」である場合を考える。この場合、Ｓ５２０では、「トレイ１」および「ＭＰトレイ」が特定される。そのため、設定受付部１１０は、用紙トレイ欄の選択肢を「ＭＰトレイ」に設定すると共に、選択範囲を「トレイ１」および「ＭＰトレイ」に設定する。すなわち、ユーザーは、「トレイ１」および「ＭＰトレイ」を選択可能である。
【００９１】
その後、設定受付部１１０は、処理をＳ５７０に進める。
【００９２】
一方、Ｓ５４０では、コンフリクト判定部１２０は、コンフリクト対象機能の設定を無効にする。具体的には、コンフリクト判定部１２０は、Ｓ５１０で特定したコンフリクト対象機能の設定を無効にするように、設定受付部１１０に要求する。そして、処理をＳ５５０に進める。
【００９３】
Ｓ５５０では、コンフリクト判定部１２０は、コンフリクトカウンターＩを１デクリメントする。そして、処理をＳ５６０に進める。
【００９４】
Ｓ５６０では、コンフリクト判定部１２０は、コンフリクト対象機能の表示を更新する。具体的には、ＵＩ画面６００のコンフリクト対象機能欄６２０の表示を更新するように、設定受付部１１０に要求する。設定受付部１１０は、Ｓ５４０でコンフリクト判定部１２０により指定されたコンフリクト対象機能の印刷設定を設定するための欄を、ユーザーが操作できないように無効にする。
【００９５】
例えば、図５（Ａ）から図６（Ｃ）への遷移例では、両面印刷欄の選択が解除され、かつ、無効（グレーアウト）にされている。グレーアウトではなく、両面印刷欄の表示を消去するようにしてもよい。すなわち、用紙種類欄の選択肢である「ＯＨＰ」に対するコンフリクトは、両面印刷が選択されていると解消されないため、両面印刷欄の選択が解除され、かつ、無効にされている。
【００９６】
その後、設定受付部１１０は、処理をＳ５７０に進める。
【００９７】
Ｓ５７０では、コンフリクト判定部１２０は、全てのコンフリクト対象機能についてコンフリクト解消の判定が終了したか否かを判定する。具体的には、コンフリクト判定部１２０は、所定の順序（例えば、Ｓ１３０（図７）でリストに記録した順）で全てのコンフリクト対象機能についての判定を終了したか否かを判定する。判定が終了した場合（Ｓ５７０：ＹＥＳ）、本フローを終了する。判定が終了していない場合（Ｓ５７０：ＮＯ）、次の判定対象のコンフリクト対象機能についての判定を行うため、処理をＳ５１０に戻す。
【００９８】
以上が、対象機能優先処理の一例を示すフロー図である。
【００９９】
以上の図７および図８のフローの各処理単位は、ホストコンピューター１およびプリンタードライバー部１００の処理を理解容易にするために、主な処理内容に応じて分割したものである。処理単位の分割の仕方や名称によって、本願発明が制限されることはない。ホストコンピューター１およびプリンタードライバー部１００の処理は、処理内容に応じて、さらに多くの処理単位に分割することもできる。また、１つの処理単位がさらに多くの処理を含むように分割することもできる。
【０１００】
以上、本発明の一実施形態について説明した。本実施形態によれば、プリンタードライバーにおける各種設定のコンフリクトの解消をする際のユーザービリティーをより向上することができる。
【０１０１】
すなわち、一つの警告ダイアログに、コンフリクト対象機能が一覧表示される。また、当該警告ダイアログにおいて、各コンフリクト対象機能の設定が変更可能である。このような構成により、ユーザーは、コンフリクト対象機能を容易にまとめて把握することができると共に、コンフリクトの解消を容易にまとめて行うことができる。
【０１０２】
また、上記の警告ダイアログに、対象機能の設定を変更しないまま、コンフリクトが解消されるようにコンフリクト対象機能の設定を自動的に変更する設定を行うための、対象機能優先欄が設けられている。また、対象機能優先欄が選択された場合には、コンフリクト対象機能のパラメーターの選択範囲がコンフリクトが発生しないものに限定される。このような構成により、ユーザーは、コンフリクトの解消を一括して行うことができるとともに、コンフリクトが発生しないパラメーターの候補の中から容易に希望のパラメーターを選択することができる。
【０１０３】
ここで、比較のために、本願の特徴を有さない警告ダイアログの表示例について、図３および図９を参照して説明する。例えば、図３のＵＩ画面５００において、印刷設定が変更されてコンフリクトが発生した場合、まず、図９（Ａ）に示すようなＵＩ画面９００が表示される。ユーザーは、ＵＩ画面９００のメッセージに従って、ＵＩ画面５００上でコンフリクトが解消されるように設定変更を行い、その後、ＵＩ画面９００のボタン９０１を選択する。すると、図９（Ａ）のＵＩ画面９００は非表示となる。しかしながら、他にもコンフリクトがある場合、図９（Ｂ）に示すようなＵＩ画面９００が更に表示される。
【０１０４】
このように、本願の特徴を有さないプリンタードライバーでは、ユーザーは、コンフリクト対象機能をまとめて把握することができない。また、コンフリクトの解消をまとめて行うことができない。また、ユーザーは、コンフリクトを解消する際に、コンフリクトが発生しないパラメーターを容易に知ることができない。
【０１０５】
なお、上記の本発明の実施形態は、本発明の要旨と範囲を例示することを意図し、限定するものではない。多くの代替物、修正および変形例が当業者にとって明らかである。
【０１０６】
例えば、本発明は、プリンター機能を備えたコピー機、および複合機等のドライバープログラムにも適用することができる。また、スキャナー、スキャナー機能を備えたコピー機、および複合機等のドライバープログラムにも適用することができる。
【符号の説明】
【０１０７】
１：ホストコンピューター、２：プリンター、１０：ＣＰＵ、１１：ＲＡＭ、１２：ＲＯＭ、１３：補助記憶装置、１４：表示装置、１５：入力装置、１６：メディア読取装置、１７：通信Ｉ／Ｆ、１００：プリンタードライバー部、１１０：設定受付部、１２０：コンフリクト判定部、１３０：印刷データ生成部、５００：ＵＩ画面、５０１：基本設定画面、５０２：拡張レイアウト画面、５０３：オプション画面、５０４：ＯＫボタン、５０５：キャンセルボタン、５１０：印刷品質欄、５２０：カラー欄、５３０：用紙サイズ欄、５４０：印刷方向欄、５５０：用紙トレイ欄、５６０：用紙種類欄、５７０：両面印刷欄、５８０：印刷部数欄、６００：ＵＩ画面、６０１：ＯＫボタン、６０２：キャンセルボタン、６１０：対象機能欄、６１１：対象機能優先欄、６２０：コンフリクト対象機能欄、６２１：コンフリクト対象機能数、６２２：インジケーター、９００：ＵＩ画面、９０１：ボタン、１２００：コンフリクト判定テーブル、１２１０：対象機能、１２２０：パラメーター（選択肢）、１２３０：機能（判定対象機能）、１２４０：パラメーター（選択肢）
【図１】
2010244317.tif 000003
【図２】
2010244317.tif 000004
【図３】
2010244317.tif 000005
【図４】
2010244317.tif 000006
【図５】
2010244317.tif 000007
【図６】
2010244317.tif 000008
【図７】
2010244317.tif 000009
【図８】
2010244317.tif 000010
【図９】
2010244317.tif 000011