(57)【要約】【課題】印刷設定ＵＩで表示していない機能の禁則にも対応した印刷設定ＵＩを提供することを目的とする。【解決手段】デバイスアプリケーションの印刷設定画面を介して変更された設定値と同時に設定することができない設定項目又は設定値に関する機能がデバイスアプリケーションでサポートしている機能か否かを判定する判定手段と、判定手段による判定の結果に応じて、デバイスアプリケーションで設定を変更すればよいか、又はデバイスアプリケーション以外のアプリケーションで設定変更すればよいか、を表示する表示制御手段と、を有することによって課題を解決する。【選択図】図８
2016152012.tif 000002
【特許請求の範囲】
【請求項１】
デバイスアプリケーションの印刷設定画面を介して変更された設定値と同時に設定することができない設定項目又は設定値に関する機能が前記デバイスアプリケーションでサポートしている機能か否かを判定する判定手段と、
前記判定手段による判定の結果に応じて、前記デバイスアプリケーションで設定を変更すればよいか、又は他のアプリケーションで設定変更すればよいか、を表示する表示制御手段と、
を有する情報処理装置。
【請求項２】
前記表示制御手段は、前記判定手段により前記設定項目又は設定値に関する機能が前記デバイスアプリケーションでサポートしている機能であると判定された場合、前記デバイスアプリケーションで設定変更すればよいことを表示し、前記判定手段により前記設定項目又は設定値に関する機能が前記デバイスアプリケーションでサポートしている機能でないと判定された場合、他のアプリケーションで設定変更すればよいことを表示する請求項１記載の情報処理装置。
【請求項３】
前記表示制御手段は、どのアプリケーションで設定変更すればよいかと共に、どの設定項目又は設定値を変更すればよいかを表示する請求項２記載の情報処理装置。
【請求項４】
前記判定手段は、印刷設定画面を介して変更された設定値と同時に設定することができない設定項目又は設定値に関する機能が前記デバイスアプリケーションの画面のコントロールが定義されているコントロール生成表に含まれているか否かに応じて、前記デバイスアプリケーションでサポートしている機能か否かを判定する請求項１乃至３何れか１項記載の情報処理装置。
【請求項５】
デバイスアプリケーションの印刷設定画面を介して変更された設定値と同時に設定することができない設定項目又は設定値に関する機能が前記デバイスアプリケーションでサポートしている機能か否かを判定する判定手段と、
前記判定手段により前記設定項目又は設定値に関する機能が前記デバイスアプリケーションでサポートしている機能でないと判定された場合、前記変更された設定値と同時に設定することができない設定項目又は設定値を変更することができる一時的な印刷設定画面を生成し、表示する表示制御手段と、
を有する情報処理装置。
【請求項６】
前記表示制御手段は、前記判定手段により前記設定項目又は設定値に関する機能が前記デバイスアプリケーションでサポートしている機能でないと判定された場合、前記変更された設定値と同時に設定することができない設定項目又は設定値のＤｉｓｐｌａｙＮａｍｅをプリンタードライバーから取得した設定一覧のＤｉｓｐｌａｙＮａｍｅから取得し、前記ＤｉｓｐｌａｙＮａｍｅを含む前記一時的な印刷設定画面を生成し、表示する請求項５記載の情報処理装置。
【請求項７】
前記表示制御手段は、前記取得したＤｉｓｐｌａｙＮａｍｅと、前記デバイスアプリケーションの画面のＤｉｓｐｌａｙＮａｍｅ用のコントロールが定義されているコントロール生成表と、に基づいて、前記一時的な印刷設定画面を生成し、表示する請求項６記載の情報処理装置。
【請求項８】
プリンタードライバーから取得した設定情報にデバイスアプリケーションの画面のコントロールが定義されているコントロール生成表にはない設定項目が含まれているか否かを判定する判定手段と、
前記判定手段により前記設定情報に前記コントロール生成表にはない設定項目が含まれていると判定された場合、前記コントロール生成表にはない設定項目の設定値と同時に設定することができない設定項目又は設定値がなくなるまで前記コントロール生成表にはない設定項目の設定値を変更する変更手段と、
前記変更手段により変更された設定値を前記設定情報に保存する保存手段と、
前記設定情報に基づいてデバイスアプリケーションの印刷設定画面を生成し、表示する表示制御手段と、
を有する情報処理装置。
【請求項９】
前記表示制御手段は、前記プリンタードライバーから取得した設定一覧と、前記設定情報と、に基づいて前記印刷設定画面を生成し、表示する請求項８記載の情報処理装置。
【請求項１０】
情報処理装置が実行する情報処理方法であって、
デバイスアプリケーションの印刷設定画面を介して変更された設定値と同時に設定することができない設定項目又は設定値に関する機能が前記デバイスアプリケーションでサポートしている機能か否かを判定する判定ステップと、
前記判定ステップによる判定の結果に応じて、前記デバイスアプリケーションで設定を変更すればよいか、又は他のアプリケーションで設定変更すればよいか、を表示する表示制御ステップと、
を含む情報処理方法。
【請求項１１】
情報処理装置が実行する情報処理方法であって、
デバイスアプリケーションの印刷設定画面を介して変更された設定値と同時に設定することができない設定項目又は設定値に関する機能が前記デバイスアプリケーションでサポートしている機能か否かを判定する判定ステップと、
前記判定ステップにより前記設定項目又は設定値に関する機能が前記デバイスアプリケーションでサポートしている機能でないと判定された場合、前記変更された設定値と同時に設定することができない設定項目又は設定値を変更することができる一時的な印刷設定画面を生成し、表示する表示制御ステップと、
を含む情報処理方法。
【請求項１２】
情報処理装置が実行する情報処理方法であって、
プリンタードライバーから取得した設定情報にデバイスアプリケーションの画面のコントロールが定義されているコントロール生成表にはない設定項目が含まれているか否かを判定する判定ステップと、
前記判定ステップにより前記設定情報に前記コントロール生成表にはない設定項目が含まれていると判定された場合、前記コントロール生成表にはない設定項目の設定値と同時に設定することができない設定項目又は設定値がなくなるまで前記コントロール生成表にはない設定項目の設定値を変更する変更ステップと、
前記変更ステップにより変更された設定値を前記設定情報に保存する保存ステップと、
前記設定情報に基づいてデバイスアプリケーションの印刷設定画面を生成し、表示する表示制御ステップと、
を含む情報処理方法。
【請求項１３】
コンピュータを、請求項１乃至９何れか１項記載の情報処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
従来、コンピュータ上で作成した文書や図といったファイルをアプリケーションから印刷する際には、プリンタードライバーを使って描画データをページ記述言語に変換しプリンターに送信するのが一般的である。ちなみに、ページ記述言語をＰａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ又はＰＤＬとも言う。またそのとき、用紙の種類や両面、カラー、給紙方法といった印刷設定は、アプリケーションが持つ印刷設定用のユーザインターフェースか、プリンタードライバーが提供する印刷設定用のユーザインターフェースを使って設定が行われる。またユーザインターフェースをＵＩとも言うことがある。
ところで、近年、タブレット型コンピュータの普及により、タブレット型コンピュータで操作し易いＷｉｎｄｏｗｓ（登録商標）  ８又はＷｉｎｄｏｗｓ  ８．１がリリースされている。Ｗｉｎｄｏｗｓ  ８又はＷｉｎｄｏｗｓ  ８．１では、従来のデスクトップＵＩ環境に加えて、「スタート画面」と呼ばれるタッチで操作し易いタッチパネルＵＩ環境が追加されている。２つのＵＩ環境は排他的にクライアントコンピュータのディスプレイに表示される。また、それぞれのＵＩ環境では、ＵＩ環境に特化した、デスクトップアプリケーションとＷｉｎｄｏｗｓ  Ｓｔｏｒｅアプリケーション（以下、ストアアプリとも呼ぶ）という二種類のアプリケーションが動作する。プリンタードライバーが提供する印刷設定用のＵＩもそれぞれのＵＩ環境に応じて切り替えられる。
【０００３】
他にもＷｉｎｄｏｗｓ  ８又はＷｉｎｄｏｗｓ  ８．１では、Ｖ４プリンタードライバーと呼ばれる新しいアーキテクチャで動作するプリンタードライバーが導入されている。Ｖ４プリンタードライバーは、Ｖ３プリンタードライバーのアーキテクチャとして提供されていたＸＰＳプリンタードライバーの後継となるアーキテクチャであり、ＸＰＳ文書を利用した印刷パスが利用されている。ここで、ＸＰＳは、ＸＭＬ  Ｐａｐｅｒ  Ｓｐｅｃｉｆｉｃａｔｉｏｎの略である。
このＸＰＳ印刷パスにおいて、印刷物の体裁を決定するために利用されるものがＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓと呼ばれるＸＭＬ形式で記述された印刷機能情報と、ＰｒｉｎｔＴｉｃｋｅｔと呼ばれるＸＭＬ形式で記述された印刷設定情報とである。Ｖ４プリンタードライバーは、ＧＰＤ（Ｇｅｎｅｒｉｃ  Ｐｒｉｎｔｅｒ  Ｄｅｓｃｒｉｐｔｉｏｎ）と呼ばれる印刷設定定義ファイルを同梱している。このＧＰＤを含んだプリンタードライバーをＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）にインストールすることで、ユーザに対してＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓやＰｒｉｎｔＴｉｃｋｅｔを利用した印刷設定変更機能を提供することができる。
この印刷設定変更機能には、デバイスが同時に実行できない印刷設定を制御する「禁則」と呼ばれる機能が備わっている。例えば、「はがき」の用紙サイズに対して「両面印刷」ができないデバイスに対応したプリンタードライバーの場合、プリンタードライバーはユーザに対してこれらの設定を同時に設定させない制御を行う必要がある。
そして、従来のプリンタードライバーにおいて、デバイスが同時に実行できない印刷設定を印刷設定用ＵＩで制御するプリンタードライバーがある（特許文献１）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１０−２４４３１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来のプリンタードライバーはデスクトップアプリケーション用の印刷設定ＵＩとストアアプリ用の印刷設定ＵＩとを持っており、両方の印刷設定ＵＩで設定できる機能が同一とは限らない。そのため、ストアアプリ用の印刷設定ＵＩでは設定できない機能（例えば、機能Ａ）がＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓやＰｒｉｎｔＴｉｃｋｅｔに記述されていることがある。このとき、機能Ａと機能Ｂとが「禁則」の関係にあり、機能Ａと機能Ｂとが同時に設定できない場合において、ストアアプリ用の印刷設定ＵＩでは機能Ｂを設定しようとしても設定することができないという問題があった。
また特許文献１では禁則が発生した場合に印刷設定を変更するためのＵＩ画面を表示するが、印刷設定ＵＩで設定できる機能しか表示していないため、印刷設定ＵＩで表示していない機能の禁則には対応できないという問題があった。
本発明は、印刷設定ＵＩで表示していない機能の禁則にも対応した印刷設定ＵＩを提供することを目的とする。
【課題を解決するための手段】
【０００６】
そこで、本発明の情報処理装置は、デバイスアプリケーションの印刷設定画面を介して変更された設定値と同時に設定することができない設定項目又は設定値に関する機能が前記デバイスアプリケーションでサポートしている機能か否かを判定する判定手段と、前記判定手段による判定の結果に応じて、前記デバイスアプリケーションで設定を変更すればよいか、又は他のアプリケーションで設定変更すればよいか、を表示する表示制御手段と、を有する。
【発明の効果】
【０００７】
本発明によれば、印刷設定ＵＩで表示していない機能の禁則にも対応した印刷設定ＵＩを提供することができる。
【図面の簡単な説明】
【０００８】
【図１】印刷処理システムのシステム構成の一例を示す図である。
【図２】クライアントコンピュータのハードウェア構成の一例を示す図である。
【図３】クライアントコンピュータのソフトウェア構成の一例を示す図である。
【図４】ソフトウェアモジュール間でやり取りされるデータの一例を示す図である。
【図５】印刷処理の概要を説明するフローチャートである。
【図６】プリンタードライバーの印刷設定画面の一例を示す図である。
【図７】デバイスアプリの印刷設定画面の一例を示す図である。
【図８】実施形態１のデバイスアプリの呼び出し処理の一例を示すフローチャートである。
【図９】メッセージの一例を示す図である。
【図１０】実施形態２のデバイスアプリの呼び出し処理の一例を示すフローチャートである。
【図１１】コントロール生成表の一例を示す図である。
【図１２】印刷設定ＵＩの一例を示す図である。
【図１３】実施形態３のデバイスアプリの呼び出し処理の一例を示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について図面に基づいて説明する。
【００１０】
＜実施形態１＞
図１は、印刷処理システムのシステム構成の一例を示す図である。本実施形態の印刷処理システムは、１又は複数のクライアントコンピュータ１００（例えば、ユーザ毎）、１又は複数のサーバー２０００（例えば、階毎に設置）、１又は複数のプリンター２５００（例えば、階毎に設置）で構成される。更に、クライアントコンピュータ１００、サーバー２０００、プリンター２５００がネットワーク３０００を介して接続される構成となっている。ネットワーク３０００にはＰＡＮ（Ｐｅｒｓｏｎａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等の小規模から大規模までのネットワークがあり、これらの機器が全てのネットワークに接続されている。なお、クラウド等、サーバーやプリンターがインターネットを越えて接続されていてもよい。
【００１１】
図２は、クライアントコンピュータのハードウェア構成の一例を示す図である。ＣＰＵ１０１は、主記憶装置１０２のＲＯＭ１０２１、ＲＡＭ１０２２又は補助記憶装置１０５に格納されたプログラムに従って、クライアントコンピュータ１００全体の制御を行う。デバイスアプリ１０５２やプリンタードライバー１０５３のプログラムは、補助記憶装置１０５に記憶されており、ＲＡＭ１０２２にロードされＣＰＵ１０１によって実行される。このことによって、デバイスアプリ１０５２やプリンタードライバー１０５３の機能が実現される。ＲＡＭ１０２２は、ＣＰＵ１０１が各種処理を行う際のワークエリアとしても使用される。補助記憶装置１０５には、アプリケーション（アプリ）１０５１やデバイスアプリケーション（デバイスアプリ）１０５２、プリンタードライバー（ドライバー）１０５３、オペレーティングシステム（ＯＳ）１０５４等の各種プログラムが格納される。キーボード１０８やマウス・タッチパネル等に代表されるポインティングデバイス（マウス）１０９等の入力機器は、入力Ｉ／Ｆ１０３を通じてクライアントコンピュータ１００に接続される。出力Ｉ／Ｆ１０４にはモニター１１０等の出力デバイスが接続され、ＣＰＵ１０１の指示に従いモニター上にユーザインターフェース（ＵＩ）を表示する。これらの入力・出力機器からユーザからのＣＰＵ１０１への操作を受け付ける。通信Ｉ／Ｆ１０６は、ネットワーク３０００に接続されており、クライアントコンピュータ１００の外部機器、例えば、図１のサーバー２０００やプリンター２５００との通信が可能である。上記のモジュールは、共通データシステムバス１０７で接続され、各モジュール間でデータのやり取りが可能である。アプリやドライバー等のプログラムは、不図示のＣＤ−ＲＯＭやＵＳＢメモリーを介して補助記憶装置１０５に追加可能である。更に、前記プログラムは、ネットワーク３０００を経由して補助記憶装置１０５に追加することも可能である。なお、特に断らない限り、本実施形態の機能が実行されるのであれば、機器の構成に係わらず本実施形態を適用できる。単体の機器であっても、複数の機器からなるシステムであっても、ＬＡＮ、ＷＡＮ等のネットワークを介して接続が為され処理が行われるシステムであってもよい。
ＣＰＵ１０１が主記憶装置１０２、又は補助記憶装置１０５等に記憶されたプログラムに基づき処理を実行することにより後述するクライアントコンピュータ１００のソフトウェア構成及びフローチャートの処理が実現される。後述するＣＰＵ１０１の処理に利用されるデータ等は、主記憶装置１０２、又は補助記憶装置１０５等に記憶されている。
デバイスアプリケーションとは、クライアントコンピュータと接続されたデバイス（例えば、プリンタやデジタルカメラ等）を制御するためのアプリケーションである。クライアントコンピュータは、情報処理装置の一例である。
【００１２】
図３は、クライアントコンピュータのソフトウェア構成の一例を示す図である。ソフトウェアの基本構成は、アプリ１０５１、印刷システム１０５４０、プリンタードライバー１０５３、システムスプーラー１０５４１、デバイスアプリ１０５２である。これらのソフトウェアモジュールのプログラムは、補助記憶装置１０５に格納されており、ユーザの要求や、他のシステムの要求に応じて、補助記憶装置１０５からＲＡＭ１０２２にロードされ、ＣＰＵ１０１で実行される。アプリ１０５１は、ワードプロセッサやブラウザ等の一般的なアプリケーションである。アプリ１０５１は、モニター１１０上にＵＩを表示し、ポインティングデバイス１０９やキーボード１０８等の入力機器によってユーザの印刷要求を受け付ける。ユーザの印刷要求を受けて、アプリ１０５１は、印刷システム１０５４０へ印刷要求を出す。印刷システム１０５４０は、ＯＳ１０５４のサブシステムである。印刷システム１０５４０は、アプリ１０５１とプリンタードライバー１０５３との中間に位置し、印刷処理における共通処理の実行を行う。印刷システム１０５４０のより具体的な実行処理としては、以下の処理がある。印刷対象プリンターの選択や、選択されたプリンタードライバー１０５３を用いた設定情報の生成及びプリンターが一般に解釈可能な標準文書データのＰａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ（ＰＤＬ）への変換等である。プリンタードライバー１０５３は、印刷出力先のプリンターに依存する処理を受け持つモジュールである。プリンタードライバー１０５３は、大きくわけて２つのサブモジュールで構成されている。一つは、設定関連の情報を作成するコンフィグモジュール１０５３０であり、プリンター２５００で実現可能な設定情報の作成処理を行う。もう一つは、グラフィックスフィルタ１０５３１である。グラフィックスフィルタ１０５３１は、アプリ１０５１より印刷システム１０５４０経由で、設定情報を含むプリンターが一般に解釈可能な標準文書データを受け取り、プリンター２５００で解釈可能なＰＤＬに変換する。変換されたＰＤＬは、ＯＳ１０５４のサブシステムであるシステムスプーラー１０５４１に受け渡され、プリンター２５００へ送信される。
デバイスアプリ１０５２は、プリンタードライバー１０５３の補助アプリである。デバイスアプリ１０５２は、プリンタードライバー１０５３と同様にプリンター２５００に対応したソフトウェアで、設定一覧と各プリンタードライバー固有の設定項目とを解釈できる。デバイスアプリ１０５２は、詳細設定生成部３０４と、詳細設定表示部３０５と、詳細設定解析部３０６と、禁則判断部３０７とで構成される。
【００１３】
図４は、ソフトウェアモジュール間でやり取りされるデータの一例を示す図である。これらのデータは、拡張可能なマーク付け言語（ＸＭＬ）の形式で記載されている。
図４は設定一覧４５０の一例である。設定一覧には、プリンター２５００で実現可能な設定項目とその選択肢とが記載されている。設定項目としては、パブリックな設定項目４００と、プライベートな設定項目４０１との２種類が存在する。パブリックな設定項目４００は、標準的な設定として規定され、仕様が一般に公開されている。そのため一般的なアプリ１０５１の印刷設定ＵＩや、印刷システムが提供する標準印刷設定ＵＩより設定可能である。プライベートな設定項目４０１は、プリンター２５００のベンダーが独自に規定した項目である。一般的なアプリ１０５１は、プライベートな設定項目４０１の仕様がわからない。プライベートな設定項目４０１を設定するためには、プリンター２５００のベンダーが提供するプリンタードライバー１０５３や、その関連モジュールであるデバイスアプリ１０５２を用いる必要がある。
【００１４】
ここで、図５のフローチャートを用いて、印刷処理の概要を説明する。本処理は、まずユーザの印刷要求を受けてアプリ１０５１が印刷システム１０５４０へ印刷要求を出すことにより開始される（Ｓ５００）。
Ｓ５０１において、印刷システム１０５４０は、現在設置されているプリンタードライバー１０５３の情報を基に、印刷可能なプリンターの一覧を示すＵＩをモニター１１０上に表示する。
Ｓ５０２において、印刷システム１０５４０は、プリンターの一覧を示すＵＩ上でユーザによる出力プリンターの選択を受けて、該当のプリンタードライバー１０５３のプログラムを補助記憶装置１０５からＲＡＭ１０２２にロードする。そして、ＣＰＵ１０１が、プリンタードライバー１０５３のプログラムを実行する。
Ｓ５０３において、印刷システム１０５４０は、プリンタードライバー１０５３に設定可能な項目の一覧（以下、設定一覧３１０）と現在設定されている情報（以下、設定情報３１１）との生成を依頼する。これらの情報はコンフィグモジュール１０５３０の設定生成部３００で生成される。印刷システム１０５４０は、生成された設定一覧３１０と現在の設定情報３１１とを基に図６の印刷設定画面６０１を構成し、モニター１１０に表示する。
【００１５】
次にＳ５０４において、印刷システム１０５４０は、印刷設定画面６０１に対するユーザからの操作を受け付ける。
Ｓ５０５において、印刷システム１０５４０は、印刷設定画面６０１の「Ｍｏｒｅ  Ｓｅｔｔｉｎｇｓ」リンク６０２が押下されたかの判定を行う。
「Ｍｏｒｅ  Ｓｅｔｔｉｎｇｓ」リンク６０２が押下されたと判断した場合、Ｓ５０６において、印刷システム１０５４０は、デバイスアプリ１０５２を呼び出す。このときの、Ｓ５０６の処理に関しては後述する。「Ｍｏｒｅ  Ｓｅｔｔｉｎｇｓ」リンク６０２が押下されていないと判断した場合、印刷システム１０５４０は、Ｓ５０７へ進む。
Ｓ５０７において、印刷システム１０５４０は、印刷設定画面６０１の戻るボタン６０３の押下を受けてプリンタードライバー１０５３へ現在の設定情報３１１を受け渡す。
Ｓ５０８において、プリンタードライバー１０５３のコンフィグモジュール１０５３０は、設定解析部３０１を用いて設定情報３１１の検証を行う。
Ｓ５０９において、設定解析部３０１は、検証の結果を基に、全ての設定値が有効か判断を行い、有効な場合は印刷設定画面６０１を閉じてＳ５１０に処理を移行する。全ての設定が有効でなかった場合は、Ｓ５０４に移り、印刷システム１０５４０は、ユーザの操作を受け付ける。
【００１６】
Ｓ５１０において、印刷システム１０５４０は、印刷対象の標準文書を作成し、設定情報３１１を付加する。ここでの標準文書とはプリンターが一般に解釈可能なもの、例えばＰＤＬを指す。そして、印刷システム１０５４０は、設定情報３１１を含む標準文書データをグラフィックスフィルタ１０５３１へ出力する。
Ｓ５１１において、グラフィックスフィルタ１０５３１は、受け取った標準文書データを、標準文書データ解析部３０２を用いて解析する。そして、グラフィックスフィルタ１０５３１は、解析の結果に基づき、出力データ生成部３０３を用いて、プリンター２５００で解釈可能なＰＤＬに変換する。
Ｓ５１２において、グラフィックスフィルタ１０５３１は、変換されたＰＤＬをＯＳ１０５４のサブシステムであるシステムスプーラー１０５４１に受け渡す。そして、システムスプーラー１０５４１がＰＤＬをプリンター２５００に送信する。以上の処理を行うことで、印刷処理が実行される。
【００１７】
ここから、デバイスアプリ１０５２の表示処理に関して説明するが、その前にデバイスアプリ１０５２の画面に関する説明を行う。本実施形態で対象とするデバイスアプリ１０５２は、図７（Ａ）の印刷設定画面７０１を持つ。また、デバイスアプリ１０５２には機器にパラメーターをインプットする項目が存在しており、各項目のことをここでは設定項目と呼んでいる。設定項目には、図７（Ａ）の例では部数を設定する設定項目７０３や印刷の向きを設定する設定項目７０４がある。この設定項目に入力されているパラメーターを、ここでは設定値と呼んでいる。図７（Ａ）の例では、設定項目７０２の場合「はがき」というパラメーターが設定値である。ユーザは設定項目にテキストの入力や、スピンボタンを操作することで数値を入力することもできるが、設定を一覧で表示させ、選択することで値を入力することもできる。
【００１８】
デバイスアプリ１０５２の呼び出し処理に関して図８のフローチャートを用いて説明を行う。なお、フローチャートのデバイスアプリ１０５２のプログラムは、クライアントコンピュータ１００の補助記憶装置１０５に格納されており、ＲＡＭ１０２２に読み出されＣＰＵ１０１によって実行される。また、特に断らない限り本実施形態のフローチャートの主体はデバイスアプリ１０５２である。
Ｓ８０１において、デバイスアプリ１０５２は、印刷システム１０５４０を介してプリンタードライバー１０５３から設定一覧３１０と設定情報３１１とを取得する。
Ｓ８０２において、詳細設定生成部３０４は、取得した設定一覧３１０と設定情報３１１とを基に、図７（Ａ）の印刷設定画面７０１を生成する。詳細設定表示部３０５は、印刷設定画面７０１をモニター１１０に表示する。
次にＳ８０３において、デバイスアプリ１０５２は、表示した印刷設定画面７０１に従った入力を受け付ける。
そして、Ｓ８０４において、デバイスアプリ１０５２は、詳細設定解析部３０６を用いて、印刷設定画面７０１の戻るボタン７１０が押下された否かを判断する。
Ｓ８０４で戻るボタン７１０が押下されたと判断した場合、Ｓ８０５において、印刷システム１０５４０は、現在の印刷設定画面７０１で設定されている各設定項目の設定値を設定情報３１１に保存する。
一方、Ｓ８０４において、戻るボタン７１０が押下されていないと判断した場合、デバイスアプリ１０５２は、Ｓ８０６に進む。
【００１９】
Ｓ８０６において、禁則判断部３０７は、ユーザにより設定された設定項目の設定値と同時に設定することができない設定項目又は設定値があるか否かを判断する。例えば、ユーザにより図７（Ａ）のページ集約の設定項目７０５が図７（Ｂ）のページ集約の設定項目７１００のように操作されるとページ集約が有効になり、ページ集約の設定値７１１０として「２ｉｎ１」が設定される。禁則判断部３０７は、このページ集約における設定値７１１０の「２ｉｎ１」と同時に設定することができない設定項目又は設定値があるか否かを判断する。
Ｓ８０６で同時に設定することができない設定項目又は設定値がないと判断した場合、デバイスアプリ１０５２は、Ｓ８０７に進む。Ｓ８０７において、詳細設定表示部３０５は、ユーザにより設定された設定値を印刷設定画面７０１に反映し、モニター１１０に表示する。
一方、Ｓ８０６で、同時に設定することができない設定項目又は設定値があると判断した場合、デバイスアプリ１０５２は、Ｓ８０８に進む。Ｓ８０８において、デバイスアプリ１０５２は、ユーザにより設定された設定値と同時に設定することができない設定項目又は設定値がデバイスアプリ１０５２でサポートしている機能か否かを判断する。本実施形態ではユーザにより設定された設定値と同時に設定することができない設定項目又は設定値がコントロール生成表等に含まれていればデバイスアプリ１０５２でサポートしている機能とする。しかし、デバイスアプリでサポートしている機能か否かが判断できればどのような方法で判断してもよい。ここで、コントロール生成表は、デバイスアプリ１０５２の画面（ＵＩ）のテキストボックスやボタン等のウィジェット（コントロール）を生成するための定義データであり、主記憶装置１０２又は補助記憶装置１０５等に予め設定され、記憶されている。
【００２０】
Ｓ８０８で同時に設定することができない設定項目又は設定値がデバイスアプリ１０５２でサポートしている機能であると判断した場合、デバイスアプリ１０５２は、Ｓ８０９に進む。Ｓ８０９において、デバイスアプリ１０５２は、デバイスアプリ１０５２内の設定項目又は設定値により設定することができない旨のメッセージ１００１を表示する。本実施形態におけるメッセージ１００１の一例を図９（Ａ）に示す。
一方、Ｓ８０８で、同時に設定することができない設定項目又は設定値がデバイスアプリ１０５２でサポートしている機能でないと判断した場合、デバイスアプリ１０５２は、Ｓ８１０に進む。Ｓ８１０において、デバイスアプリ１０５２は、他アプリケーションの設定項目又は設定値により設定することができない旨のメッセージ１０１０を表示する。本実施形態におけるメッセージ１０１０の一例を図９（Ｂ）に示す。
Ｓ８０９やＳ８１０の処理は、表示制御の処理の一例である。
【００２１】
本実施形態の処理等によれば、デバイスアプリ１０５２は、ユーザにより設定された設定項目の設定値と同時に設定することができない設定項目又は設定値があるか否かを判断し、表示するメッセージを変えることができる。
これにより、ユーザは設定したい設定項目の設定値を設定できない場合にデバイスアプリ１０５２で設定変更すればよいか、他のアプリケーションで設定変更すればよいかが分かるのでユーザの利便性が向上するという効果がある。
【００２２】
＜実施形態２＞
実施形態２では図１０のフローチャートを使って、同時に設定することができない設定項目又は設定値を変更することができる印刷設定ＵＩを一時的に生成する処理について説明する。なお、特に断らない限りこのフローチャートの処理の主体はデバイスアプリ１０５２である。
図１０のＳ９０１〜Ｓ９０９までの処理は図８のＳ８０１〜Ｓ８０９の処理と同じため説明は省略する。
Ｓ９０８で、同時に設定することができない設定項目又は設定値がデバイスアプリ１０５２でサポートしている機能でないと判断した場合、デバイスアプリ１０５２は、Ｓ９１０に進む。Ｓ９１０において、デバイスアプリ１０５２は、ユーザにより設定された設定項目の設定値と禁則の関係にある設定項目と設定値のＤｉｓｐｌａｙＮａｍｅを設定一覧３１０から取得する。例えば、ユーザにより設定された設定項目の設定値と禁則の関係にある設定項目（Ｆｅａｔｕｒｅ）が「ＪｏｂＭｉｘｅｄＰａｐｅｒＳｉｚｅＰｒｉｎｔ」だった場合、デバイスアプリ１０５２は、ＤｉｓｐｌａｙＮａｍｅとして「サイズ／向き混在」４１０を取得する（図４参照）。また、ユーザにより設定された設定項目の設定値と禁則の関係にある設定値（Ｏｐｔｉｏｎ）が「Ａ４＿Ａ３」だった場合、デバイスアプリ１０５２は、ＤｉｓｐｌａｙＮａｍｅとして「Ａ４／Ａ３」４１１を取得する（図４参照）。
Ｓ９１１において、詳細設定生成部３０４は、Ｓ９１０の処理で取得されたＤｉｓｐｌａｙＮａｍｅと図１１のコントロール生成表１２０１とを用いて、図１２のような印刷設定ＵＩ１３０１を生成する。なお、本実施形態ではコントロール生成表１２０１にＤｉｓｐｌａｙＮａｍｅ用のコントロール１２０５が定義されている。
この印刷設定ＵＩ１３０１はユーザにより設定された設定項目の設定値と同時に設定することができない設定項目又は設定値を変更することができるコントロール１３０２を持つ。
【００２３】
本実施形態の処理等によれば、デバイスアプリは同時に設定することができない設定項目又は設定値を変更することができる印刷設定ＵＩを一時的に生成することができる。
これにより、ユーザは同時に設定することができない設定項目又は設定値を変更することで、ユーザが設定したい設定項目又は設定値を設定することができるため、操作性が向上するという効果がある。
【００２４】
＜実施形態３＞
実施形態３では図１３のフローチャートを使って、デバイスアプリ１０５２におけるサポートしていない設定項目又は設定値を印刷設定ＵＩ生成時に丸める処理について説明する。なお、特に断らない限りこのフローチャートの処理の主体はデバイスアプリ１０５２である。丸めるとは、数値を一定の規則に従って、近似値で表現することである。
Ｓ１１０１において、デバイスアプリ１０５２は、印刷システム１０５４０を介してプリンタードライバー１０５３から設定一覧３１０と設定情報３１１とを取得する。
次にＳ１１０２において、デバイスアプリ１０５２は、設定情報３１１の中にコントロール生成表１２０１では定義されていない設定項目が含まれているか否かを判断する。
Ｓ１１０２で、設定情報３１１の中にコントロール生成表１２０１では定義されていない設定項目が含まれていないと判断した場合、デバイスアプリ１０５２は、Ｓ１１０６に進む。
一方、Ｓ１１０２で、設定情報３１１の中にコントロール生成表１２０１では定義されていない設定項目が含まれていると判断した場合、デバイスアプリ１０５２は、Ｓ１１０３に進む。Ｓ１１０３において、デバイスアプリ１０５２は、コントロール生成表１２０１では定義されていない設定情報３１１の設定項目の設定値を変更する。本実施形態では、デバイスアプリ１０５２は、設定項目を無効にするような設定値に変更するが、設定値を変更するのであればどのような設定値でもよい。
【００２５】
Ｓ１１０４において、禁則判断部３０７は、Ｓ１１０３で変更した設定項目の設定値と同時に設定することができない設定項目又は設定値があるか否かを判断する。
Ｓ１１０４で、同時に設定することができない設定項目又は設定値があると判断した場合、デバイスアプリ１０５２は、Ｓ１１０３に戻る。
一方、Ｓ１１０４で、同時に設定することができない設定項目又は設定値がないと判断した場合、Ｓ１１０５に進む。Ｓ１１０５において、デバイスアプリ１０５２は、Ｓ１１０３で変更した設定項目の設定値を設定情報３１１に保存する。
Ｓ１１０６において、詳細設定生成部３０４は、設定一覧３１０と設定情報３１１とを基に図７（Ａ）の印刷設定画面７０１を生成し、詳細設定表示部３０５によってモニター１１０に表示される。
次にＳ１１０７において、デバイスアプリ１０５２は、表示した印刷設定画面７０１に従った入力を受け付ける。
そして、Ｓ１１０８において、デバイスアプリ１０５２は、詳細設定解析部３０６を用いて、印刷設定画面７０１の戻るボタン７１０が押下された否かを判断する。
Ｓ１１０８で、戻るボタン７１０が押下されたと判断した場合、Ｓ１１０９において、印刷システム１０５４０は、現在の印刷設定画面７０１で設定されている各設定項目の設定値を設定情報３１１に保存する。
一方、Ｓ１１０８で、戻るボタン７１０が押下されていないと判断した場合、デバイスアプリ１０５２は、Ｓ１１１０に進む。
【００２６】
Ｓ１１１０において、禁則判断部３０７は、ユーザにより設定された設定項目の設定値と同時に設定することができない設定項目又は設定値があるか否かを判断する。
Ｓ１１１０で、同時に設定することができない設定項目又は設定値がないと判断した場合、デバイスアプリ１０５２は、Ｓ１１１１に進む。
Ｓ１１１１において、詳細設定表示部３０５は、ユーザにより設定された設定値を印刷設定画面７０１に反映し、モニター１１０に表示する。
一方、Ｓ１１１０で、同時に設定することができない設定項目又は設定値があると判断した場合、デバイスアプリ１０５２は、Ｓ１１１２に進む。
Ｓ１１１２において、デバイスアプリ１０５２は、デバイスアプリ１０５２内の設定項目又は設定値により設定することができない旨のメッセージ１００１を表示する。メッセージ１００１の一例を図９（Ａ）に示す。
【００２７】
本実施形態の処理等によれば、デバイスアプリはデバイスアプリでサポートしていない設定項目又は設定値があった場合には印刷設定ＵＩ生成時にその設定項目又は設定値を丸めることができる。
これにより、ユーザはデバイスアプリでサポートしていない設定項目又は設定値により設定したい設定項目の設定値を設定できないということがなくなるのでユーザの利便性が向上するという効果がある。
【００２８】
＜その他の実施形態＞
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給する。そして、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読み出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００２９】
以上、上述した各実施形態の処理等によれば、印刷設定ＵＩで表示していない機能により禁則しているか否かを判断して、ユーザに通知する内容を変えることができる。
これにより、ユーザは設定したい設定項目の設定値を設定できない場合にデバイスアプリで設定変更すればよいか、他のアプリケーションで設定変更すればよいかが分かるのでユーザの利便性が向上するという効果がある。
よって、印刷設定ＵＩで表示していない機能の禁則にも対応した印刷設定ＵＩを提供することができる。
【符号の説明】
【００３０】
１００  クライアントコンピュータ、１０１  ＣＰＵ、１０２  主記憶装置、１０５  補助記憶装置
【図１】
2016152012.tif 000003
【図２】
2016152012.tif 000004
【図３】
2016152012.tif 000005
【図４】
2016152012.tif 000006
【図５】
2016152012.tif 000007
【図６】
2016152012.tif 000008
【図７】
2016152012.tif 000009
【図８】
2016152012.tif 000010
【図９】
2016152012.tif 000011
【図１０】
2016152012.tif 000012
【図１１】
2016152012.tif 000013
【図１２】
2016152012.tif 000014
【図１３】
2016152012.tif 000015