(57)【要約】【課題】ユーザが項目を設定する順序と、プリンタドライバが調停を行うときの項目間の優先順位とをマッチングさせて、プリンタドライバによって調停が行われることを抑制する。【解決手段】アプリケーション３が、プリンタドライバ１からＰｒｉｎｔＴｉｃｋｅｔ及びＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓを取得し（Ｓ１１、Ｓ１２）、ＰｒｉｎｔＴｉｃｋｅｔに含まれる項目を配置した印刷設定画面を合成して、表示させる（Ｓ１３）。印刷設定画面の各項目について、ＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓに含まれている選択可能な設定値の中から選択を受け付けてＰｒｉｎｔＴｉｃｋｅｔを更新し、更新後のＰｒｉｎｔＴｉｃｋｅｔをプリンタドライバ１へ送信する（Ｓ１４，Ｓ１５）。プリンタドライバ１は、取得したＰｒｉｎｔＴｉｃｋｅｔの整合性を判定し、不整合があるときは調停を行う（Ｓ２１〜Ｓ２３）。【選択図】図７
2008276744.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションからの印刷要求に基づいてプリンタを制御する印刷制御装置であって、
前記アプリケーションからの要求に応じて、複数の設定項目の設定値と、前記複数の設定項目の優先順位とを含む第１通知を出力する手段と、
前記アプリケーションからの要求に応じて、前記第１通知に係る各設定項目の設定値として設定可能な値を示す第２通知を出力する手段と、
前記複数の設定項目の設定値を含み、前記アプリケーションで変更された変更後の設定値を含む第３通知を取得する手段と、
前記取得した第３通知の前記複数の設定項目間の設定値の整合性を判定し、整合していないときは、前記複数の設定項目の優先順位に従って前記複数の設定項目間の設定値が整合するように変更する調停手段と、
前記アプリケーションからの印刷要求を受けると、整合している前記複数の設定項目の設定値に従う制御を行って、前記プリンタに印刷を実行させる手段と、を備えた印刷制御装置。
【請求項２】
アプリケーションからの印刷要求に基づいてプリンタを制御する印刷制御装置であって、
前記アプリケーションからの要求に応じて、複数の設定項目の設定値を含む第１通知を出力する手段と、
前記アプリケーションでいずれかの設定項目の設定値及び前記複数の設定項目の優先順位の指定に関する第３通知を取得する手段と、
前記取得した第３通知の前記複数の設定項目間の設定値の整合性を判定し、整合していないときは、前記取得した第３通知の複数の設定項目の優先順位に従って前記複数の設定項目間の設定値が整合するように変更する調停手段と、
前記アプリケーションからの印刷要求を受けると、整合している前記複数の設定項目の設定値に従う制御を行って、前記プリンタに印刷を実行させる手段と、を備えた印刷制御装置。
【請求項３】
印刷制御装置に対して印刷要求を発行する情報処理装置であって、
前記印刷制御装置から、複数の設定項目の設定値及び前記複数の設定項目の優先順位を含む第１通知を取得する手段と、
前記印刷制御装置から、前記第１通知に係る各設定項目の設定値として設定可能な値を示す第２通知を取得する手段と、
前記取得した第１通知に含まれる前記複数の設定項目の優先順位の高い設定項目ほど上位に配置した印刷設定画面を合成して表示させる手段と、
前記印刷設定画面において、前記取得した第２通知に含まれている各設定項目の選択可能な設定値の中からユーザが選択した設定値を含む第３通知を作成し、前記第３通知を前記印刷制御装置へ送信する手段と、を備える情報処理装置。
【請求項４】
前記第２通知の取得手段は、
一つの設定項目の設定値の選択を行う度に、前記第２通知を取得することを特徴とする請求項３または４記載の情報処理装置。
【請求項５】
前記第１の通知及び第３の通知はＰｒｉｎｔＴｉｃｋｅｔであり、
前記第２の通知はＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓである請求項３または４に記載の情報処理装置。
【請求項６】
印刷制御装置に対して印刷要求を発行する情報処理装置であって、
前記印刷制御装置から、複数の設定項目の設定値及び前記複数の設定項目の優先順位を含む第１通知を取得する手段と、
前記取得した第１通知に含まれる複数の設定項目の優先順位を変更し、変更後の前記複数の設定項目の優先順位を含む第２通知を前記印刷制御装置へ送信する手段と、
変更後の前記複数の設定項目の優先順位に従って設定された各設定項目の設定値を含む第３通知を作成し、前記第３通知を前記印刷制御装置へ送信する手段と、を備える情報処理装置。
【請求項７】
ユーザから前記各設定項目の設定値の選択を受け付ける印刷設定画面を生成して、表示させる手段を更に備え、
前記印刷設定画面で上位に配置されている設定項目ほど、優先順位が高くなるように、前記複数の設定項目の優先順位を設定することを特徴とする請求項７記載の情報処理装置。
【請求項８】
前記第３通知を前記印刷制御装置へ送信した後、前記印刷制御装置から前記印刷制御装置における前記複数の設定項目の設定値を含む第４通知を取得する手段と、
前記取得した第４通知に含まれる前記複数の設定項目の設定値の中で、前記第１通知に含まれる設定値から変更されている設定項目があるか否かを判定する手段と、
前記判定の結果、変更されている設定項目があるときは、前記印刷制御装置から前記変更されている設定項目の設定値として設定可能な値を示す第５通知を取得する手段と、をさらに備え、
前記取得した第５通知に含まれ、かつ、前記第１通知において前記変更されている設定項目に設定されている設定値を、前記印刷設定画面において、前記変更されている設定項目の選択可能な設定値として提示することを特徴とする請求項５〜７のいずれかに記載の情報処理装置。
【請求項９】
アプリケーションからの印刷要求に基づいてプリンタを制御する印刷制御装置のためのコンピュータプログラムであって、
前記コンピュータプログラムを実行した前記印刷制御装置が、
前記アプリケーションからの要求に応じて、複数の設定項目の設定値と、前記複数の設定項目の優先順位とを含む第１通知を出力し、
前記アプリケーションからの要求に応じて、前記第１通知に係る各設定項目の設定値として設定可能な値を示す第２通知を出力し、
前記複数の設定項目の設定値を含み、前記アプリケーションで変更された変更後の設定値を含む第３通知を取得し、
前記取得した第３通知の前記複数の設定項目間の設定値の整合性を判定し、整合していないときは、前記複数の設定項目の優先順位に従って前記複数の設定項目間の設定値が整合するように変更し、
前記アプリケーションからの印刷要求を受けると、整合している前記複数の設定項目の設定値に従う制御を行って、前記プリンタに印刷を実行させることを特徴とするコンピュータプログラム。
【請求項１０】
アプリケーションからの印刷要求に基づいてプリンタを制御する印刷制御装置のためのコンピュータプログラムであって、
前記コンピュータプログラムを実行した前記印刷制御装置が、
前記アプリケーションからの要求に応じて、複数の設定項目の設定値を含む第１通知を出力し、
前記アプリケーションでいずれかの設定項目の設定値及び前記複数の設定項目の優先順位の指定に関する第３通知を取得し、
前記取得した第３通知の前記複数の設定項目間の設定値の整合性を判定し、整合していないときは、前記取得した第３通知の複数の設定項目の優先順位に従って前記複数の設定項目間の設定値が整合するように変更し、
前記アプリケーションからの印刷要求を受けると、整合している前記複数の設定項目の設定値に従う制御を行って、前記プリンタに印刷を実行させることを特徴とするコンピュータプログラム。
【請求項１１】
印刷制御装置に対して印刷要求を発行する情報処理装置のためのコンピュータプログラムであって、
前記コンピュータプログラムを実行した前記情報処理装置が、
前記印刷制御装置から、複数の設定項目の設定値及び前記複数の設定項目の優先順位を含む第１通知を取得し、
前記印刷制御装置から、前記第１通知に係る各設定項目の設定値として設定可能な値を示す第２通知を取得し、
前記取得した第１通知に含まれる前記複数の設定項目の優先順位の高い設定項目ほど上位に配置した印刷設定画面を合成して表示させ、
前記印刷設定画面において、前記取得した第２通知に含まれている各設定項目の選択可能な設定値の中からユーザが選択した設定値を含む第３通知を作成し、前記第３通知を前記印刷制御装置へ送信することを特徴とするコンピュータプログラム。
【請求項１２】
印刷制御装置に対して印刷要求を発行する情報処理装置のためのコンピュータプログラムであって、
前記コンピュータプログラムを実行した前記情報処理装置が、
前記印刷制御装置から、複数の設定項目の設定値及び前記複数の設定項目の優先順位を含む第１通知を取得し、
前記取得した第１通知に含まれる複数の設定項目の優先順位を変更し、変更後の前記複数の設定項目の優先順位を含む第２通知を前記印刷制御装置へ送信し、
変更後の前記複数の設定項目の優先順位に従って設定された各設定項目の設定値を含む第３通知を作成し、前記第３通知を前記印刷制御装置へ送信することを特徴とするコンピュータプログラム。
【請求項１３】
プリンタドライバとアプリケーションとが連携してプリンタを制御する方法であって、
前記アプリケーションと前記プリンタドライバとの間で、複数の設定項目の設定値と前記複数の設定項目の優先順位とを通知するステップと、
前記アプリケーションで設定した前記複数の設定項目間の設定値の整合性を判定し、整合しないときは、前記複数の設定項目の優先順位に従って前記複数の設定項目間の設定値が整合するように変更するステップと、
前記アプリケーションからの印刷要求を受けると、整合する前記設定値に従う制御を行って、前記プリンタに印刷を実行させるステップと、を備える印刷制御方法。
【請求項１４】
アプリケーションが発行する印刷要求に基づいてプリンタを制御するプリンタドライバプログラムであって、
前記アプリケーションと前記プリンタドライバとの間で、複数の設定項目の設定値と前記複数の設定項目の優先順位とを通知するステップと、
前記アプリケーションで設定した前記複数の設定項目間の設定値の整合性を判定し、整合しないときは、前記複数の設定項目の優先順位に従って前記複数の設定項目間の設定値が整合するように変更するステップと、
前記アプリケーションからの印刷要求を受けると、整合する前記設定値に従う制御を行って、前記プリンタに印刷を実行させるステップと、をコンピュータに実行させるプリンタドライバプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンタドライバでの印刷設定に関し、特にユーザが複数の項目の設定を順次行っていくときに、調停によって設定値が強制的に変更させないようにする技術に関する。
【背景技術】
【０００２】
マイクロソフト社のＷｉｎｄｏｗｓ  Ｖｉｓｔａ（登録商標または商標）では、従来はＤＥＶＭＯＤＥ構造体で管理していたプリンタなどのデバイスの設定情報を、ＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）で管理するＰｒｉｎｔＴｉｃｋｅｔという仕様が導入された（例えば特許文献１）。
【特許文献１】特開２００６−２８５８７０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ＰｒｉｎｔＴｉｃｋｅｔに含まれる印刷設定の各設定項目は、予め定められた選択肢の中から、それぞれ独立に設定可能である。ここで、ある項目間には所定の依存関係がある場合がある。例えば、封筒印刷とふちなし印刷との組み合わせ等、複数の項目の設定値には、同時にはとり得ない組み合わせが存在し、これらが同時に選択されたときには、プリンタドライバが、所定の優先順位に従っていずれか一方の項目の設定を優先し、他方の設定を強制的に変更する調停を行って、項目間の整合をとることが行われる。
【０００４】
このような調停が行われると、例えばアプリケーションの印刷設定画面において、ユーザが一旦設定を行った項目について強制的に設定値が変更されてしまうことになる。この変更は、必ずしもユーザの意図するとおりにはならないので、ユーザは、はじめから再度設定をやり直さなければならないようなことが起きてしまう。
【０００５】
また、ＰｒｉｎｔＴｉｃｋｅｔの標準規格では、プリンタドライバが行う調停の優先順位を知ることができない。
【０００６】
そこで、本発明の目的は、ユーザが項目を設定していくときの順序と、プリンタドライバが調停を行うときの項目間の優先順位とをマッチングさせて、プリンタドライバによって調停が行われることによる設定項目の変更を抑制することである。
【課題を解決するための手段】
【０００７】
本発明の一実施態様に従う、アプリケーションからの印刷要求に基づいてプリンタを制御する印刷制御装置は、前記アプリケーションからの要求に応じて、複数の設定項目の設定値と、前記複数の設定項目の優先順位とを含む第１通知を出力する手段と、前記アプリケーションからの要求に応じて、前記第１通知に係る各設定項目の設定値として設定可能な値を示す第２通知を出力する手段と、前記複数の設定項目の設定値を含み、前記アプリケーションで変更された変更後の設定値を含む第３通知を取得する手段と、前記取得した第３通知の前記複数の設定項目間の設定値の整合性を判定し、整合していないときは、前記複数の設定項目の優先順位に従って前記複数の設定項目間の設定値が整合するように変更する調停手段と、前記アプリケーションからの印刷要求を受けると、整合している前記複数の設定項目の設定値に従う制御を行って、前記プリンタに印刷を実行させる手段と、を備える。
【０００８】
本発明の一実施態様に従う、アプリケーションからの印刷要求に基づいてプリンタを制御する印刷制御装置は、前記アプリケーションからの要求に応じて、複数の設定項目の設定値を含む第１通知を出力する手段と、前記アプリケーションでいずれかの設定項目の設定値及び前記複数の設定項目の優先順位の指定に関する第３通知を取得する手段と、前記取得した第３通知の前記複数の設定項目間の設定値の整合性を判定し、整合していないときは、前記取得した第３通知の複数の設定項目の優先順位に従って前記複数の設定項目間の設定値が整合するように変更する調停手段と、前記アプリケーションからの印刷要求を受けると、整合している前記複数の設定項目の設定値に従う制御を行って、前記プリンタに印刷を実行させる手段と、を備える。
【０００９】
本発明の一実施態様に従う、印刷制御装置に対して印刷要求を発行する情報処理装置は、前記印刷制御装置から、複数の設定項目の設定値及び前記複数の設定項目の優先順位を含む第１通知を取得する手段と、前記印刷制御装置から、前記第１通知に係る各設定項目の設定値として設定可能な値を示す第２通知を取得する手段と、前記取得した第１通知に含まれる前記複数の設定項目の優先順位の高い設定項目ほど上位に配置した印刷設定画面を合成して表示させる手段と、前記印刷設定画面において、前記取得した第２通知に含まれている各設定項目の選択可能な設定値の中からユーザが選択した設定値を含む第３通知を作成し、前記第３通知を前記印刷制御装置へ送信する手段と、を備える。
【００１０】
好適な実施形態では、前記第２通知の取得手段は、一つの設定項目の設定値の選択を行う度に、前記第２通知を取得するようにしてもよい。
【００１１】
好適な実施形態では、前記第１の通知及び第３の通知はＰｒｉｎｔＴｉｃｋｅｔであり、前記第２の通知はＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓであってもよい。
【００１２】
本発明の一実施態様に従う、印刷制御装置に対して印刷要求を発行する情報処理装置は、前記印刷制御装置から、複数の設定項目の設定値及び前記複数の設定項目の優先順位を含む第１通知を取得する手段と、前記取得した第１通知に含まれる複数の設定項目の優先順位を変更し、変更後の前記複数の設定項目の優先順位を含む第２通知を前記印刷制御装置へ送信する手段と、変更後の前記複数の設定項目の優先順位に従って設定された各設定項目の設定値を含む第３通知を作成し、前記第３通知を前記印刷制御装置へ送信する手段と、を備える。
【００１３】
好適な実施形態では、ユーザから前記各設定項目の設定値の選択を受け付ける印刷設定画面を生成して、表示させる手段を更に備え、前記印刷設定画面で上位に配置されている設定項目ほど、優先順位が高くなるように、前記第２通知の優先順位を設定するようにしてもよい。
【００１４】
好適な実施形態では、前記第３通知を前記印刷制御装置へ送信した後、前記印刷制御装置から前記印刷制御装置における前記複数の設定項目の設定値を含む第４通知を取得する手段と、前記取得した第４通知に含まれる前記複数の設定項目の設定値の中で、前記第１通知に含まれる設定値から変更されている設定項目があるか否かを判定する手段と、前記判定の結果、変更されている設定項目があるときは、前記印刷制御装置から前記変更されている設定項目の設定値として設定可能な値を示す第５通知を取得する手段と、をさらに備える。そして、前記取得した第５通知に含まれ、かつ、前記第１通知において前記変更されている設定項目に設定されている設定値を、前記印刷設定画面において、前記変更されている設定項目の選択可能な設定値として提示するようにしてもよい。
【００１５】
なお、いずれの態様においても、第Ｎ通知（Ｎは１〜５）は、それぞれが一回の通知で構成されていてもよいし、各通知が複数回の通知によって構成されていてもよい。さらに、第Ｎ通知の２つ以上をまとめて通知してもよい。
【発明を実施するための最良の形態】
【００１６】
以下、本発明の一実施形態に係る印刷システムについて、図面を参照して説明する。
【００１７】
図１は、本実施形態に係る印刷システムの構成図である。本システムは、同図に示すように、印刷制御装置１０とプリンタ５とを備える。印刷制御装置１０には、入力装置２０と表示装置３０が接続されている。印刷制御装置１０は、プリンタドライバ１と、アプリケーション３とを備える。
【００１８】
印刷制御装置１０は、例えば汎用的なコンピュータシステムにより構成され、印刷制御装置１０内のプリンタドライバ１及びアプリケーション３は、例えば、コンピュータプログラムを実行することにより実現される。
【００１９】
プリンタドライバ１は、プリンタ５を制御し、アプリケーション３からの印刷要求に従って印刷を実行させる。また、プリンタドライバ１は、ＰｒｉｎｔＴｉｃｋｅｔによりプリンタ５の設定情報を管理する。
【００２０】
アプリケーション３は、プリンタドライバ１に対して印刷要求を送り、印刷を依頼する。また、アプリケーション３は、表示装置３０に所定の印刷設定画面を表示して、ユーザが入力装置２０を用いてこの画面に対する行う種々の入力を受け付ける。
【００２１】
アプリケーション３は、プリンタドライバ１からＰｒｉｎｔＴｉｃｋｅｔを取得して、現在のプリンタドライバ１の設定を把握する。また、アプリケーション３は、各設定項目の設定値として設定可能な値を示すＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓをプリンタドライバ１から取得する。アプリケーション３は、ＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓを参照して、プリンタドライバ１の設定項目の設定値を変更する。さらに、アプリケーション３は、変更したＰｒｉｎｔＴｉｃｋｅｔをプリンタドライバ１へ送信する。アプリケーション３は、これによりプリンタドライバ１の設定を変更できる。
【００２２】
図２は、標準仕様に従うＰｒｉｎｔＴｉｃｋｅｔ１００の一例を示す。
【００２３】
ＰｒｉｎｔＴｉｃｋｅｔ１００は、ＸＭＬで記述されていて、プリンタドライバ１における現在の設定値が記述されている。同図の例では、ＸＭＬ文１１０で用紙サイズとして「Ａ４」、ＸＭＬ文１２０で給紙装置として「ＡｕｔｏＳｅｌｅｃｔ」が設定されている。
【００２４】
本実施形態では、ＰｒｉｎｔＴｉｃｋｅｔの標準仕様を拡張し、図２のＰｒｉｎｔＴｉｃｋｅｔ１００に設定項目間の優先順位を示す、ベンダ固有のＸＭＬ文を追加する（図３参照）。ここで優先順位とは、設定項目間の不整合を防止するための調停を行うときに、いずれの設定項目を優先させるかに関する優先順位である。
【００２５】
プリンタドライバ１での複数の設定項目には、一方の設定が他方に影響するような依存関係にある設定項目がある。例えば、一方の設定項目がある値に設定されると、他方の設定項目としてとりうる値が制限されるような場合である。具体的には、縁なし印刷が可能な用紙サイズが限定されているときに、縁なし印刷の指定がされているにも関わらず、縁なし印刷ができない用紙サイズが選択されているような場合である。
【００２６】
このような設定項目間の不整合を防止するために、プリンタドライバ１は、上述の優先順位に従っていずれか一方の設定項目の設定を優先して、他方の設定を変更する調停を行う。
【００２７】
図３は、ＰｒｉｎｔＴｉｃｋｅｔ１００に追加される設定項目間の優先順位を示すベンダ固有のＸＭＬ文１５０の例を示す。同図の例では、優先順位の高い設定項目ほど前に記載されている。すなわち、同図ＡのＸＭＬ文１５０は、給紙装置が用紙サイズより優先順位が高く、同図ＢのＸＭＬ文１５０では、その反対に用紙サイズが給紙装置より優先順位が高い。
【００２８】
図４及び図５は、ＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓ２００，３００の一例を示す。
【００２９】
ＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓ２００，３００は、いずれもＸＭＬで記述されている。ＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓ２００は用紙サイズに関するものであり、ＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓ３００は給紙装置に関するものである。
【００３０】
図４のＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓ２００では、印刷用紙として設定可能である用紙サイズとして、ＸＭＬ文２１０で「Ａ４」、ＸＭＬ文２２０で「Ａ５」、ＸＭＬ文２３０で「はがき」、ＸＭＬ文２４０で「長形３号封筒Ａ４」がそれぞれ設定されている。
【００３１】
図５のＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓ３００では、給紙装置の設定で設定可能な値として、ＸＭＬ文３１０で「ＡｕｔｏＳｅｌｅｃｔ」、ＸＭＬ文３２０で「Ｍａｎｕａｌ」、ＸＭＬ文３３０で「Ｃａｓｓｅｔｔｅ」、ＸＭＬ文３４０で「Ｔａｃｔｏｒ」、ＸＭＬ文３５０で「ＡｕｔｏＳｈｅｅｔＦｅｅｄｅｒ」がそれぞれ設定されている。
【００３２】
例えば、アプリケーション３が用紙サイズの設定を変更する場合は、ＰｒｉｎｔＴｉｃｋｅｔ１００のＸＭＬ文１１０を、ＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓ２００に記述されているいずれかの用紙サイズに書き換える。また、アプリケーション３が給紙装置の設定を変更する場合も同様に、ＰｒｉｎｔＴｉｃｋｅｔ１００のＸＭＬ文１１０を、ＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓ２００に記述されているいずれかの給紙装置に書き換える。
【００３３】
次に、図６は、アプリケーション３が提供する印刷設定画面５００の一例を示す。印刷設定画面５００には、ユーザが設定を行う項目名５１０と、各項目の設定値を入力する領域５２０とが表示されている。入力領域５２０は、例えばプルダウンリストになっていて、各項目で設定可能な選択肢を表示させる。
【００３４】
図７に示す本実施形態の第１の態様では、アプリケーション３は、設定項目間の優先順位に応じて、印刷設定画面５００に表示すべき項目の表示位置を変更する。つまり、アプリケーション３は、印刷設定画面５００において、優先順位が高い設定項目ほど上位に割り当てる。例えば、図６のように項目を上下方向に並べるときは、優先順位が高いほど上に表示し、図６とは異なり、項目を左右方向に並べるときは、優先順位が高いほど左に表示するようにしてもよい。従って、同図Ａは用紙サイズが給紙装置よりも優先順位が高い場合の例であり、同図Ｂは給紙装置が用紙サイズより優先順位が高い場合の例である。
【００３５】
また、図８に示す本実施形態の第２の態様では、アプリケーション３が予め印刷設定画面５００を定義しており、印刷設定画面５００に合わせて項目間の優先順位を定める。
【００３６】
いずれの態様においても、上位の項目について、入力領域５２０でいずれかの選択肢が選択されて設定されると、それよりも下位の項目の入力領域５２０のプルダウンリストに表示される選択肢は、上位項目の設定値に応じて変化する。つまり、上位項目の設定値に対して設定可能な選択肢のみが下位項目のプルダウンリストで表示される。
【００３７】
次に、図７のフローチャートを用いて、本実施形態の第１の態様の処理手順を説明する。この態様は、アプリケーション３がプリンタドライバ１の優先順位に合わせて印刷設定画面５００を変更する。
【００３８】
まず、アプリケーション３が、ＤｅｆａｕｌｔＰｒｉｎｔＴｉｃｋｅｔ（）により、プリンタドライバ１からデフォルトのＰｒｉｎｔＴｉｃｋｅｔを取得し、現在のプリンタドライバ１の設定を把握する（Ｓ１１）。さらに、アプリケーション３は、ＧｅｔＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓ（）により、プリンタドライバ１からＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓを取得し、各設定項目に設定が可能な設定値の一覧を把握する（Ｓ１２）。
【００３９】
また、アプリケーション３は、上記処理で取得したＰｒｉｎｔＴｉｃｋｅｔに含まれる、設定項目の優先順位を記述したＸＭＬ１５０を解析し、ここで指定されている優先順位の高い設定項目が上位になるように印刷設定画面を合成して、表示装置３０に表示する（Ｓ１３）。
【００４０】
印刷設定画面５００において、ユーザがいずれかの設定項目の入力領域５２０に、プルダウンリストから選択した設定値を設定すると、アプリケーション３はこれを受け付ける（Ｓ１４）。
【００４１】
アプリケーション３は、ＰｒｉｎｔＴｉｃｋｅｔに記述されている既存の設定値を、ここで受け付けた設定値に変更する。そして、その変更後のＰｒｉｎｔＴｉｃｋｅｔをプリンタドライバ１へ送る（Ｓ１５）。
【００４２】
プリンタドライバ１は、アプリケーション３で変更されたＰｒｉｎｔＴｉｃｋｅｔを受け取り、各設定項目の設定値同士の整合性をチェックし、不整合箇所があれば優先順位に従って調停する（Ｓ２１、Ｓ２２）。プリンタドライバ１は、この時点で有効なＰｒｉｎｔＴｉｃｋｅｔをアプリケーション３へ送付する（Ｓ２３）。
【００４３】
アプリケーション３は、プリンタドライバ１から送られたＰｒｉｎｔＴｉｃｋｅｔを受け取ると、受け取ったＰｒｉｎｔＴｉｃｋｅｔと直前に送ったＰｒｉｎｔＴｉｃｋｅｔを比較して、プリンタドライバ１で調停が行われたか否かを判定する（Ｓ１６）。調停が行われていなければ（Ｓ１６：Ｎｏ）、ステップＳ１４へ戻る。
【００４４】
一方、プリンタドライバ１で調停が行われていたときは（Ｓ１６：Ｙｅｓ）、アプリケーション３は、再び、ＧｅｔＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓ（）により、プリンタドライバ１からＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓを取得する（Ｓ１７）。そして、アプリケーション３は、印刷設定画面５００で既に設定されている項目よりも下位の項目及びプリンタドライバ１で調停が行われた項目について、設定可能な選択肢だけがプルダウンリストで表示されるように印刷設定画面５００の設定を修正する（Ｓ１８）。この後、ステップＳ１４へ戻って処理を続ける。
【００４５】
これにより、上位の項目から順次設定されていくと、下位項目入力領域５２０のプルダウンリストで表示される選択肢が、上位項目の設定値に応じて変動する。この結果、ユーザが上位の項目から順次設定していけば、原則として、プリンタドライバ１で調停が行われることはない。従って、ユーザが一度設定した項目については、その設定をプリンタドライバ１によって覆されることなく、ユーザが再設定を行うことなく印刷設定を決めていくことができる。
【００４６】
なお、ステップステップＳ１６で調停が行われていたことが検出されたときは、その旨をユーザに通知するためのメッセージを出力するようにしてもよい。
【００４７】
また、上記のフローチャートにおいて、一項目を設定する毎にステップＳ１５以降のフローを進めても良いし、全項目を設定した時点でステップＳ１５以降のフローを進めても良い。ただし、この場合には、ユーザが一度設定した項目であっても、その設定をプリンタドライバ１によって覆されることが起こりうる。
【００４８】
次に、図８のフローチャートを用いて、本実施形態の第２の態様の処理手順を説明する。この態様は、プリンタドライバ１が、アプリケーション３が指定する優先順位に従って調停を行う。アプリケーション３が指定する優先順位は、予め定められている印刷設定画面で上位に配置されている項目ほど高くなるように設定されている。
【００４９】
まず、第１の態様と同様に、アプリケーション３が、ＤｅｆａｕｌｔＰｒｉｎｔＴｉｃｋｅｔ（）により、プリンタドライバ１からデフォルトのＰｒｉｎｔＴｉｃｋｅｔを取得し、現在のプリンタドライバ１の設定を把握する（Ｓ３１）。さらに、アプリケーション３は、ＧｅｔＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓ（）により、プリンタドライバ１からＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓを取得し、各設定項目に設定可能な設定値の一覧を把握する（Ｓ３２）。
【００５０】
ここで、アプリケーション３は、ステップＳ３１で取得したＰｒｉｎｔＴｉｃｋｅｔに含まれる、設定項目の優先順位を記述したＸＭＬ１５０を、印刷設定画面５００に配置されている各項目の配置順序に従って変更し、プリンタドライバ１へ送付する（Ｓ３３）。これにより、プリンタドライバ１における各項目の優先順位が変更される。このとき、プリンタドライバ１では、ステップＳ２１〜Ｓ２３と同様に、この優先順位の変更が受け入れ可能であるかを判定し、その結果をアプリケーション３へ通知するようにしてもよい。
【００５１】
この後、アプリケーション３は、印刷設定画面５００を表示する（Ｓ３４）。
【００５２】
これ以降の処理は、第１の態様と共通である。本実施形態では、プリンタドライバ１が保持するＰｒｉｎｔＴｉｃｋｅｔで定義されるデフォルトの優先順位が、アプリケーション３が指定する優先順位に変更されるので、ステップＳ２２では、アプリケーション３が指定する優先順位に従って調停が行われる。ただし、プリンタドライバ１にとっては許容できない優先順位の変更は無視される。
【００５３】
なお、ステップＳ３３で行うＰｒｉｎｔＴｉｃｋｅｔの通知を省略し、各項目の優先順位の変更の通知は、ステップＳ１５で項目の値を設定した後に、この設定値の通知とあわせて行うようにしてもよい。
【００５４】
これにより、アプリケーション３が提供する印刷設定画面５００の定義に従った優先順位で複数の設定項目の設定値を決めていくことができる。
【００５５】
次に、図９のフローチャートを用いて、本実施形態の第３の態様の処理手順を説明する。この態様は、ある設定項目に対してプリンタドライバ１で調停が行われたときに、その調停が行われた設定項目に対して、他の設定値の設定が可能であるか否かを、ユーザがトライアンドエラーによって確認することができるようにしたものである。
【００５６】
まず、第１及び第２の態様と同様に、アプリケーション３が、ＤｅｆａｕｌｔＰｒｉｎｔＴｉｃｋｅｔ（）により、プリンタドライバ１からデフォルトのＰｒｉｎｔＴｉｃｋｅｔを取得し、現在のプリンタドライバ１の設定を把握する（Ｓ４１）。さらに、アプリケーション３は、ＧｅｔＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓ（）により、プリンタドライバ１からＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓを取得し、各設定項目に設定可能な設定値の一覧を把握する（Ｓ４２）。
【００５７】
ここで、アプリケーション３は、ステップＳ４１で取得したＰｒｉｎｔＴｉｃｋｅｔに含まれる、設定項目の優先順位を記述したＸＭＬ１５０を、印刷設定画面５００に配置されている各項目の配置順序に従って変更し、プリンタドライバ１へ送付する（Ｓ４３）。これにより、プリンタドライバ１における各項目の優先順位が変更される。このとき、プリンタドライバ１では、ステップＳ２１〜Ｓ２３と同様に、この優先順位の変更が受け入れ可能であるかを判定し、その結果をアプリケーション３へ通知するようにしてもよい。
【００５８】
この後、アプリケーション３は、印刷設定画面５００を表示する（Ｓ４４）。
【００５９】
印刷設定画面５００において、ユーザがいずれかの設定項目の入力領域５２０に、プルダウンリストから選択した設定値を設定すると、アプリケーション３はこれを受け付ける（Ｓ４５）。
【００６０】
アプリケーション３は、ＰｒｉｎｔＴｉｃｋｅｔに記述されている既存の設定値を、ここで受け付けた設定値に変更する。そして、アプリケーション３は、その変更後のＰｒｉｎｔＴｉｃｋｅｔを一時的に保存するとともに、プリンタドライバ１へ送る（Ｓ４６）。
【００６１】
ここでプリンタドライバ１が行う処理は、第１の実施形態と同様である。すなわち、プリンタドライバ１は、アプリケーション３で変更されたＰｒｉｎｔＴｉｃｋｅｔを受け取り、各設定項目の設定値同士の整合性をチェックし、不整合箇所があれば優先順位に従って調停する（Ｓ２１、Ｓ２２）。プリンタドライバ１は、この時点で有効なＰｒｉｎｔＴｉｃｋｅｔをアプリケーション３へ送付する（Ｓ２３）。
【００６２】
アプリケーション３は、プリンタドライバ１から送られたＰｒｉｎｔＴｉｃｋｅｔを受け取ると、受け取ったＰｒｉｎｔＴｉｃｋｅｔと一時的に保存しておいたＰｒｉｎｔＴｉｃｋｅｔとを比較して、プリンタドライバ１で調停が行われたか否かを判定する（Ｓ４７）。調停が行われていなければ（Ｓ４７：Ｎｏ）、ステップＳ４５へ戻る。
【００６３】
一方、プリンタドライバ１で調停が行われていたときは（Ｓ４７：Ｙｅｓ）、アプリケーション３は、調停が行われていた設定項目を特定する。複数の設定項目が調停されていたときは、それらの設定項目のうち、最も優先順位が高い設定項目を特定する。そして、アプリケーション３は、ここで特定された設定項目に設定可能な設定値（ＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓ）をプリンタドライバ１から取得する（Ｓ４８）。ここで取得する設定値は、優先順位が上位の設定項目の設定値との依存関係を考慮して、設定可能な設定値のみが含まれるようにしてもよい。
【００６４】
そして、アプリケーション３は、印刷設定画面５００において、ステップＳ４７で特定された設定項目について、ステップＳ４８で取得した設定値からステップＳ４６で保存されたＰｒｉｎｔＴｉｃｋｅｔで設定されている設定値を除外した設定値を、設定可能な選択肢としてプルダウンリストで表示されるように印刷設定画面５００の設定を修正する（Ｓ４９）。この後、ステップＳ４５へ戻って処理を続ける。
【００６５】
図１０は、上述した第２の態様に従って処理が実行されたときの印刷設定画面５００の表示例を示す。図１０の例では、「用紙サイズ」が「給紙装置」よりも優先順位が高くなっている。
【００６６】
まず、図１０Ａに示す印刷設定画面５００ａでは、「用紙サイズ」の入力領域５２１に「Ａ４」、「給紙装置」の入力領域５２３に「ＡｕｔｏＳｅｌｅｃｔ」が設定される（図９のステップＳ４５）。なお、「給紙装置」の入力領域５２３において設定可能な設定値は、同図のプルダウンリストに示す「ＡｕｔｏＳｅｌｅｃｔ」、「カセットＡ」及び「カセットＢ」である。ここで設定された設定値に従ってＰｒｉｎｔＴｉｃｋｅｔが変更され、変更後のＰｒｉｎｔＴｉｃｋｅｔが保存されて、プリンタドライバ１へ通知される（図９のステップＳ４６）。
【００６７】
プリンタドライバ１では、図９のステップＳ２１〜Ｓ２３の処理によって、「用紙サイズ」に「Ａ４」、「給紙装置」に「カセットＡ」に調停されたものとする。つまり、「用紙サイズ」が「Ａ４」であるときには、「給紙装置」としては「ＡｕｔｏＳｅｌｅｃｔ」が選択できないものとする。
【００６８】
その結果、プリンタドライバ１から通知を受けたＰｒｉｎｔＴｉｃｋｅｔが調停されていることが検出されると（図９のステップＳ４７）、アプリケーション３は、調停された項目が「給紙装置」であることを特定して、「給紙装置」に設定可能な設定値（ＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓ）をプリンタドライバ１から取得する（図９のステップＳ４８）。
【００６９】
アプリケーション３は、ステップＳ４７で取得した「給紙装置」のＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓに、「ＡｕｔｏＳｅｌｅｃｔ」、「カセットＡ」及び「カセットＢ」が含まれるときは、ステップＳ４６で保存したＰｒｉｎｔＴｉｃｋｅｔの「給紙装置」に設定されている「ＡｕｔｏＳｅｌｅｃｔ」を除外した、「カセットＡ」及び「カセットＢ」を、印刷設定画面５００ｂにおける「給紙装置」の選択肢とする（図９のステップＳ４８）。その印刷設定画面５００ｂを図１０Ｂに示す。同図に示すように、印刷設定画面５００ｂの「給紙装置」の入力領域５２３では、プルダウンリストに「カセットＡ」及び「カセットＢ」が表示される。ここで、ユーザは「カセットＡ」及び「カセットＢ」の何れも選択可能である。
【００７０】
なお、ステップＳ４７でプリンタドライバ１が出力するＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓには、Ａ４用紙では設定できない「ＡｕｔｏＳｅｌｅｃｔ」を含めないようにしてもよい。
【００７１】
ここで、図１０Ｂにおいて、ユーザが「用紙サイズ」の入力領域５２１に「Ａ４」、「給紙装置」の入力領域５２３に「カセットＢ」を設定すると、再び、図９のステップＳ４５、４６でＰｒｉｎｔＴｉｃｋｅｔの変更、保存及び通知が行われる。このとき、図１０Ａにおける変更後のＰｒｉｎｔＴｉｃｋｅｔも引き続き保存されている。
【００７２】
ここで、再びプリンタドライバ１では、図９のステップＳ２１〜Ｓ２３の処理が行われ、「用紙サイズ」に「Ａ４」、「給紙装置」に「カセットＡ」に調停されたものとする。つまり、「用紙サイズ」が「Ａ４」であるときには、「給紙装置」としては「カセットＢ」も選択できないものとする。
【００７３】
その結果、プリンタドライバ１から通知を受けたＰｒｉｎｔＴｉｃｋｅｔが調停されていることが検出されると（図９のステップＳ４７）、アプリケーション３は、調停された項目が「給紙装置」であることを特定して、「給紙装置」に設定可能な設定値（ＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓ）をプリンタドライバ１から再度取得する（図９のステップＳ４８）。
【００７４】
アプリケーション３は、再度取得した「給紙装置」のＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓに、「ＡｕｔｏＳｅｌｅｃｔ」、「カセットＡ」及び「カセットＢ」が含まれるときは、ステップＳ４６で保存した２つのＰｒｉｎｔＴｉｃｋｅｔに基づいて、印刷設定画面５００ｂにおける「給紙装置」の選択肢とする（図９のステップＳ４８）。つまり、図１０Ａにおける変更後のＰｒｉｎｔＴｉｃｋｅｔと、図１０Ｂにおける変更後のＰｒｉｎｔＴｉｃｋｅｔにおいて、「給紙装置」に設定されている設定値、つまり「ＡｕｔｏＳｅｌｅｃｔ」及び「カセットＡ」を除外した「カセットＢ」が、印刷設定画面５００ｃにおける「給紙装置」の選択肢となる（図９のステップＳ４８）。これにより、図１０Ｃに示す印刷設定画面５００ｃでは、同図に示すように、印刷設定画面５００ｃの「給紙装置」の入力領域５２３では、プルダウンリストに「カセットＢ」のみが表示される。
【００７５】
上述したように、第３の形態では、プリンタドライバ１で調停が行われた設定項目については、調停によって設定が認められなかった設定値を除く他の設定値をユーザに改めて提示して、ユーザにトライアンドエラーを実行させるようにすることができる。
【００７６】
なお、上述の実施形態のようにアプリケーションが印刷設定画面を表示する場合に限らず、アプリケーションが設定画面を表示せず内部で自動的に印刷設定を行うようにしてもよい。この場合、各項目の設定値は、ユーザの選択により定めるのではなく、アプリケーションが自ら設定を行う。
【００７７】
上述した本発明の実施形態は、本発明の説明のための例示であり、本発明の範囲をそれらの実施形態にのみ限定する趣旨ではない。当業者は、本発明の要旨を逸脱することなしに、他の様々な態様で本発明を実施することができる。
【図面の簡単な説明】
【００７８】
【図１】本発明の一実施形態に係る印刷システムの構成図である。
【図２】ＰｒｉｎｔＴｉｃｋｅｔ１００の一例を示す。
【図３】ＰｒｉｎｔＴｉｃｋｅｔ１００に追加される設定項目間の優先順位を示すベンダ固有のＸＭＬ文１５０の例を示す。
【図４】ＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓ２００の一例を示す。
【図５】ＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓ３００の一例を示す。
【図６】アプリケーション３が提供する印刷設定画面５００の一例を示す。
【図７】第１の態様の処理手順を示すフローチャートである。
【図８】第２の態様の処理手順を示すフローチャートである。
【図９】第３の態様の処理手順を示すフローチャートである。
【図１０】第３の態様における印刷設定画面５００の遷移を示す。
【符号の説明】
【００７９】
１…プリンタドライバ、３…アプリケーション、５…プリンタ、１０…印刷制御装置、１００…ＰｒｉｎｔＴｉｃｋｅｔ、２００，３００…ＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓ、５００…印刷設定画面。
【図１】
2008276744.tif 000003
【図２】
2008276744.tif 000004
【図３】
2008276744.tif 000005
【図４】
2008276744.tif 000006
【図５】
2008276744.tif 000007
【図６】
2008276744.tif 000008
【図７】
2008276744.tif 000009
【図８】
2008276744.tif 000010
【図９】
2008276744.tif 000011
【図１０】
2008276744.tif 000012