(57)【要約】【課題】コンフリクトにより同時に設定することができない印刷設定項目が印刷設定画面の複数シートに跨っている場合でも、ユーザによる設定項目の設定操作に応じて競合する他の設定項目の設定が無効となったことをユーザが容易に認識可能にすること。【解決手段】クライアントコンピュータ100のデバイスアプリ1052は、印刷設定画面を介してユーザから第１設定項目の設定する操作を受け付けた場合に、第１設定項目と競合する第２設定項目の設定が存在し(S806でYes)、第１設定項目の優先度が第２設定項目の優先度より高い場合(S808でYes)、第２設定項目の設定を無効し(S810)、第１設定項目の設定を有効し(S811)、第２設定項目の設定が無効に変更されたことを通知するためのコンフリクトマークを、印刷設定画面の各シートの共通領域に表示する(S812)。【選択図】図８
2017194766.tif 000002
【特許請求の範囲】
【請求項１】
プリンタに対する複数種類の印刷設定項目の設定を行う情報処理装置であって、
前記印刷設定項目の設定操作が可能な操作画面を介して前記印刷設定項目の設定操作をユーザから受け付ける操作手段と、
前記操作手段を介してユーザから第１設定項目を設定する操作を受け付けた場合に、該第１設定項目と同時に設定することができない第２設定項目が設定されているか否かを判定する第１判定手段と、
前記第１判定手段により前記第１設定項目と同時に設定することができない前記第２設定項目が設定されていると判定された場合、前記第１設定項目の優先度と前記第２設定項目の優先度とを比較し、前記第１設定項目の優先度が前記第２設定項目の優先度より高いか否かを判定する第２判定手段と、
前記第２判定手段により前記第１設定項目の優先度が前記第２設定項目の優先度よりも高いと判定された場合、前記第２設定項目の設定を無効に変更し、前記第１設定項目の設定を有効に変更する変更手段と、
前記変更手段により前記第２設定項目の設定が無効に変更されたことを通知するための情報を、前記複数種類の設定項目のいずれをユーザが閲覧又は設定している状態でも該ユーザにより視認可能に表示する第１通知手段と、
を有することを特徴とする情報処理装置。
【請求項２】
前記操作画面は、複数のシートを有し、該シートを切り換えて表示するものであり、
前記第１通知手段は、前記第２設定項目の設定が無効に変更されたことを通知するための情報を、前記各シートで共通の領域に表示することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記変更手段により無効に変更された前記第２設定項目と、有効に変更された前記第１設定項目を記憶する記憶手段と、
前記情報処理装置で動作するオペレーティングシステムにより提供される戻るボタンがユーザにより押下された場合に、前記第２設定項目の設定が無効にされたことを通知するための情報が表示されているか否かを判定する第３判定手段と、
前記第３判定手段により前記第２設定項目の設定が無効に変更されたことを通知するための情報が表示されていると判定された場合、前記記憶手段に記憶される情報に基づいて、前記有効に変更された前記第１設定項目の設定を無効に変更し、前記無効に変更された前記第２設定項目の設定を有効に変更する第１制御を行う制御手段と、
を有することを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記制御手段は、前記第１制御において、前記変更手段により前記第２設定項目の設定が無効に変更されたことを通知するための情報を非表示に制御することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記制御手段は、前記第３判定手段により前記第２設定項目の設定が無効に変更されたことを通知するための情報が表示されていないと判定された場合、前記複数種類の印刷設定項目の設定を保存し、前記操作画面を終了させる第２制御を行うことを特徴とする請求項３又は４に記載の情報処理装置。
【請求項６】
前記オペレーティングシステムは、タッチ操作に適した操作環境を提供することを特徴とする請求項３〜５のいずれか１項に記載の情報処理装置。
【請求項７】
前記変更手段は、前記第２判定手段により前記第１設定項目の優先度が前記第２設定項目の優先度よりも低いと判定された場合、前記第１設定項目の設定を変更せず、
前記第２判定手段により前記第１設定項目の優先度が前記第２設定項目の優先度よりも低いと判定された場合、前記第２設定項目の設定により前記第１設定項目の設定を変更できないことを示す情報を通知する第２通知手段を有することを特徴とする請求項１〜６のいずれか１項に記載の情報処理装置。
【請求項８】
プリンタに対する複数種類の印刷設定項目の設定を行う情報処理装置の制御方法であって、
前記印刷設定項目の設定操作が可能な操作画面を介して前記印刷設定項目の設定操作をユーザから受け付ける操作ステップと、
前記操作ステップでユーザから第１設定項目を設定する操作を受け付けた場合に、該第１設定項目と同時に設定することができない第２設定項目が設定されているか否かを判定する第１判定ステップと、
前記第１判定ステップで前記第１設定項目と同時に設定することができない前記第２設定項目が存在すると判定された場合、前記第１設定項目の優先度と前記第２設定項目の優先度とを比較し、前記第１設定項目の優先度が前記第２設定項目の優先度より高いか否かを判定する第２判定ステップと、
前記第２判定ステップで前記第１設定項目の優先度が前記第２設定項目の優先度よりも高いと判定された場合、前記第２設定項目の設定を無効に変更し、前記第１設定項目の設定を有効に変更する変更ステップと、
前記変更ステップで前記第２設定項目の設定が無効に変更されたことを通知するための情報を、前記複数種類の設定項目のいずれをユーザが閲覧又は設定している状態でも該ユーザにより視認可能に表示する通知ステップと、
を有することを特徴とする情報処理装置の制御方法。
【請求項９】
コンピュータを、請求項１〜７のいずれか１項に記載の手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンタに対する複数種類の印刷設定項目の設定を行う情報処理装置、情報処理装置の制御方法、及びプログラムに関するものである。
【背景技術】
【０００２】
従来から、コンピュータ上で作成した文書や図といったファイルを、アプリケーションから印刷する際には、プリンタドライバを使って描画データをページ記述言語（Page Description Language、以下「ＰＤＬ」という。）に変換してプリンタに送信するのが一般的である。そのとき、用紙サイズや両面、カラー、給紙方法といった印刷設定については、アプリケーションが持つ印刷設定用のユーザインタフェースか、プリンタドライバが提供する印刷設定用のユーザインタフェースを使って設定を行う。以下、ユーザインタフェースを「ＵＩ」という。
【０００３】
ところで、近年、タブレット型コンピュータの普及により、タブレット型コンピュータでの操作が容易なWindows8（登録商標）もしくはWindows8.1（登録商標）が、Microsoft社からリリースされている。Windows8（登録商標）もしくはWindows8.1（登録商標）では、従来のデスクトップＵＩ環境に加えて、タッチ操作に適した全画面ＵＩ環境（以下「タブレットモード」という。）が追加された。それぞれのＵＩ環境では、ウィンドウ型で表示されるデスクトップアプリケーションと全画面で表示されるWindows（登録商標） Storeアプリケーション（以下「ストアアプリ」という。）という二種類のアプリケーションが動作し、プリンタドライバが提供する印刷設定用のＵＩもそれぞれのＵＩ環境に応じて切り替わる。このうち、ストアアプリ用の印刷設定ＵＩは、ＷＳＤＡ（Windows（登録商標） Store Device App）と呼ばれており、ストアアプリの一種として実装されている（以下「デバイスアプリ」という）。
【０００４】
また、Windows10（登録商標）では、ストアアプリの機能拡張が行われ、従来の全画面表示以外にもウィンドウ型で表示することが可能となった（以下「ウィンドウモード」という）。さらに、Windows10（登録商標）のタブレットモードでは、システムの戻るボタンがＯＳ（オペレーティングシステム）から提供されている。Windows10（登録商標）で動作するストアアプリでは、システムの戻るボタンを使用することができる。
【０００５】
プリンタドライバは、詳細な印刷設定を行うために、専用のＵＩを持っている。従来の印刷設定処理システムでは、アプリケーションで印刷を行うときに、ユーザが詳細な設定を行うためのボタンを押下した場合に、プリンタドライバのＵＩが呼び出されていた。
【０００６】
このプリンタドライバのＵＩ上にてユーザが印刷設定を変更する場合、変更後の印刷設定として、不整合となる組み合わせ（コンフリクト）を選んでしまう可能性がある。これを防止するために、プリンタドライバが、不整合な組み合わせとなる印刷設定のコントロールを設定無効に制御する仕組みがある。そして、そのことをユーザに知らせるために、印刷設定のコントロールが設定無効にされた理由や設定無効にされたことを示すマークを、プリンタドライバのＵＩ上に表示する仕組みがある（特許文献１）。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００８−１５２６７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかし、従来のプリンタドライバのＵＩで実現できていた表示方法が、タッチパネルに適したプリンタドライバのＵＩでは実現できないものも少なくない。
【０００９】
例えば、従来のプリンタドライバのＵＩでは、ユーザが設定項目を変更して、その設定によってコンフリクトが生じるときに優先度の低い設定をグレーアウトして、設定を変更させないようにすることができる。このようにすることで、ユーザに対してコンフリクトの解消を間接的に提供している。
一方、タッチパネルに適したプリンタドライバのＵＩでは、コンフリクトが生じるときであっても、優先度の低い設定をグレーアウトして設定を変更させないようにすることができず、優先順位の低い機能が無効にされてしまう。そのため、ある印刷設定をユーザが変更した際に別シートに属する印刷設定でコンフリクトが発生して機能が無効にされてしまったとしても、そのことをユーザが認識できず、ユーザが意図しない状態となってしまう可能性があるという課題があった。
【００１０】
また、システムの戻るボタンが押下された場合に、ユーザが行った印刷設定の変更を取り消すだけでは、ユーザが意図しない状態となってしまう可能性があるという課題もあった。例えば、上述のようにユーザによる印刷設定の変更によりコンフリクトが発生して他の印刷設定の機能が無効にされてしまった状態では、ユーザが行った印刷設定の変更を取り消すだけでは、ユーザが意図しない状態となってしまう可能性があった。
【００１１】
本発明は、上記の問題点を解決するためになされたものである。本発明の目的は、コンフリクトにより同時に設定することができない印刷設定項目が印刷設定画面の複数シートに跨っている場合でも、ユーザによる設定項目の設定操作に応じて競合する他の設定項目の設定が無効となったことをユーザが容易に認識可能にする仕組みを提供することである。
【課題を解決するための手段】
【００１２】
本発明は、プリンタに対する複数種類の印刷設定項目の設定を行う情報処理装置であって、前記印刷設定項目の設定操作が可能な操作画面を介して前記印刷設定項目の設定操作をユーザから受け付ける操作手段と、前記操作手段を介してユーザから第１設定項目を設定する操作を受け付けた場合に、該第１設定項目と同時に設定することができない第２設定項目が設定されているか否かを判定する第１判定手段と、前記第１判定手段により前記第１設定項目と同時に設定することができない前記第２設定項目が存在すると判定された場合、前記第１設定項目の優先度と前記第２設定項目の優先度とを比較し、前記第１設定項目の優先度が前記第２設定項目の優先度より高いか否かを判定する第２判定手段と、前記第２判定手段により前記第１設定項目の優先度が前記第２設定項目の優先度よりも高いと判定された場合、前記第２設定項目の設定を無効に変更し、前記第１設定項目の設定を有効に変更する変更手段と、前記変更手段により前記第２設定項目の設定が無効に変更されたことを通知するための情報を、前記複数種類の設定項目のいずれをユーザが閲覧又は設定している状態でも該ユーザにより視認可能に表示する第１通知手段と、を有することを特徴とする。
【発明の効果】
【００１３】
本発明によれば、コンフリクトにより同時に設定することができない印刷設定項目が印刷設定画面の複数シートに跨っている場合でも、ユーザによる設定項目の設定操作に応じて競合する他の設定項目の設定が無効となったことをユーザが容易に認識可能にすることができる。
【図面の簡単な説明】
【００１４】
【図１】本実施例の印刷処理システムのシステム構成図
【図２】クライアントコンピュータのハードウェア構成図
【図３】クライアントコンピュータのソフトウェア構成図
【図４】ソフトウェアモジュール間でやり取りされるデータを例示する図
【図５】印刷処理の概要を例示するフローチャート
【図６】ストアアプリからの印刷時に表示される印刷設定画面を例示する図
【図７Ａ】デバイスアプリの印刷設定画面を例示する図
【図７Ｂ】デバイスアプリの印刷設定画面を例示する図
【図８】デバイスアプリの処理を例示するフローチャート
【図９】システムの戻るボタン押下時の処理を例示するフローチャート
【図１０】禁則により設定できない旨のメッセージを例示する図
【図１１】禁則関係にある設定項目が無効になった旨のメッセージを例示する図
【図１２】禁則変更記憶部に記憶される情報を例示する図
【発明を実施するための形態】
【００１５】
以下、本発明を実施するための形態について図面を用いて説明する。
【実施例１】
【００１６】
図１は、本発明の一実施例を示す印刷処理システムの構成を例示するシステム構成図である。
図１に示すように、本実施例のプリントシステムは、１又は複数のクライアントコンピュータ100、１又は複数のサーバ2000、１又は複数のプリンタ2500で構成される。そして、上記クライアントコンピュータ100、サーバ2000、プリンタ2500は、ローカルエリアネットワーク3000を介して接続される構成となっている。なお、クライアントコンピュータ100は、例えばユーザ毎に設けられる。また、サーバ2000は、例えばフロア毎に設置される。また、プリンタ2500はフロア毎に設置される。
【００１７】
ネットワーク3000には、ＰＡＮ（Personal Area Network）、ＬＡＮ（Local Area Network）などの小規模から大規模までのネットワークがあり、これらの機器が全てのネットワークに接続されている。なお、クラウドなど、サーバやプリンタがインターネット等を介して接続されていてもかまわない。
【００１８】
クライアントコンピュータ100は、ネットワーク3000等を介してプリンタ2500に複数の印刷設定項目で構成される印刷設定情報に基づく印刷データを送信することができる。なお、印刷データは、サーバ2000を介してプリンタ2500に送信される構成であってもよい。また、クライアントコンピュータ100から不図示のＵＳＢインタフェース等を介してプリンタ2500に印刷データを送信する構成でもよい。
【００１９】
図２は、クライアントコンピュータ100のハードウェア構成を例示する図である。ここでは、一例として、一般的なコンピュータ（情報処理装置）を用いた構成を示す。
【００２０】
ＣＰＵ101は、主記憶装置102のＲＯＭ1021、ＲＡＭ1022あるいは補助記憶装置105に格納されたプログラムに従って、コンピュータ100全体の制御を行う。本発明のポイントとなるデバイスアプリ1052とプリンタドライバ1053は、補助記憶装置105にプログラムとして記憶されており、ＲＡＭ1022にロードされＣＰＵ101によって実行されることにより機能する。
【００２１】
ＲＡＭ1022は、ＣＰＵ101が各種処理を行う際のワークエリアとしても使用される。補助記憶装置105には、アプリケーション（アプリ）1051やデバイスアプリケーション（デバイスアプリ）1052、プリンタドライバ（ドライバ）1053、オペレーティングシステム（ＯＳ）1054等の各種プログラムが格納される。これらのプログラムは、ＣＰＵ101が必要に応じて補助記憶装置105からＲＡＭ1022にロードして実行することにより機能する。なお、ＯＳ1054は、タッチ操作に適した操作環境、例えば全画面ＵＩ環境（タブレットモード）を提供可能である。このタブレットモードでは、システムの戻るボタン（後述する図７Ａ、図７Ｂの720）がＯＳ1054から提供されている。
【００２２】
キーボード108やマウス・タッチパネルなどに代表されるポインティングデバイス（マウス）109などの入力機器は、入力Ｉ／Ｆ103を通じてコンピュータ100に接続される。出力Ｉ／Ｆ104には、モニタ110などの出力デバイスが接続され、プログラムの指示に従いモニタ上にユーザインタフェース（ＵＩ）を表示する。クライアントコンピュータ100では、これらの入力機器や出力機器から、ユーザからのプログラムへの操作を受け付ける。なお、キーボード108を備えていない構成であってもよい。この場合、例えば、モニタ110に表示されるスクリーンキーボードを、タッチパネル等を介してタッチすることにより、キーボード108と同等の機能を実現することができる。
【００２３】
通信Ｉ／Ｆ106は、ネットワーク3000に接続されており、コンピュータ100の外部機器、例えば、図１のサーバ2000やプリンタ2500などとの通信を可能にする。
上記の各モジュールは、共通データシステムバス107で接続され、各モジュール間でデータのやり取りが可能である。
【００２４】
また、プログラム1051〜1054等のプログラムは、不図示のＣＤ−ＲＯＭやＵＳＢメモリーを介して補助記憶装置105に追加可能である。さらに、ネットワーク3000を経由して補助記憶装置105にプログラムを追加することも可能である。
【００２５】
なお、特に断らない限り、本発明の機能が実行されるのであれば、機器の構成に係わらず本発明を適用できることは言うまでもない。単体の機器であっても、複数の機器からなるシステムであっても、ＬＡＮ，ＷＡＮ等のネットワークを介して接続が為され処理が行われるシステムであってもよい。
【００２６】
図３は、クライアントコンピュータ100のソフトウェアモジュールを例示する図である。なお、図３では、本発明に関連するもののみ示し、その他については省略する。
【００２７】
クライアントコンピュータ100は、ソフトウェアモジュールとして、アプリケーション1051、印刷システム10540、プリンタドライバ1053、システムスプーラ10541、デバイスアプリ1052を有する。これらのソフトウェアモジュールは、補助記憶装置105に格納されており、ユーザの要求や、他のシステムの要求に応じて、補助記憶装置105からＲＡＭ1022にロードされ、ＣＰＵ101で実行されることにより機能する。
【００２８】
アプリ1051は、ワードプロセッサやＷｅｂブラウザなどの一般的なアプリケーションである。アプリ1051は、モニタ110上にＵＩを表示し、ポインティングデバイス109やキーボード108などの入力機器によってユーザの印刷要求を受け付ける。ユーザの印刷要求を受けて、アプリ1051は、印刷システム10540へ印刷要求を出す。
【００２９】
印刷システム10540は、ＯＳ1054のサブシステムである。印刷システム10540は、アプリ1051とプリンタドライバ1053の中間に位置し、印刷処理における共通処理の実行を行う。印刷システム10540の具体的な実行処理としては、印刷対象プリンタの選択や、選択されたプリンタに対応するプリンタドライバ1053を用いた設定情報の生成およびプリンタが一般に解釈可能な標準文書データのPage Description Language（ＰＤＬ）への変換である。
【００３０】
プリンタドライバ1053は、印刷出力先のプリンタに依存する処理を受け持つモジュールである。プリンタドライバ1053は、大きくわけて２つのサブモジュールで構成されている。１つは、設定関連の情報を作成するコンフィグモジュール10530である。コンフィグモジュール10530は、設定生成部300と設定解析部301を有し、プリンタ2500で実現可能な設定情報の作成処理を行う。もう１つは、グラフィックスフィルタ10531である。グラフィックスフィルタ10531は、標準文書データ解析部302と出力データ生成部303を有し、アプリ1051より印刷システム10540経由で、設定情報を含むプリンタが一般に解釈可能な標準文書データを受け取り、プリンタ2500で解釈可能なＰＤＬ313に変換する。変換したＰＤＬは、ＯＳ1054のサブシステムであるシステムスプーラ10541に受け渡され、プリンタ2500へ送信される。
【００３１】
デバイスアプリ1052は、プリンタドライバ1053の補助アプリである。デバイスアプリ1052は、プリンタドライバ1053と同様に、プリンタ2500に対応したソフトウェアで、設定一覧と各プリンタドライバ固有の設定項目を解釈できる。デバイスアプリ1052は、詳細設定生成部304、詳細設定表示部305と、詳細設定解析部306と、禁則判断部307と禁則変更記憶部308を有する。これらの機能については、後述するフローチャートの説明の中で説明する。
【００３２】
図４は、図３に示したソフトウェアモジュール間でやり取りされるデータを例示する図である。図４では、これらのデータが、拡張可能なマーク付け言語（ＸＭＬ）の形式で記載されている場合を例示するが、ＸＭＬ形式に限定されるものではない。
【００３３】
図４に示すデータは、設定一覧310の一例に対応する。設定一覧には、プリンタ2500で実現可能な設定項目と、その選択肢が記載されている。設定項目としては、パブリックな項目400と、プライベートな項目401の２種類が存在する。
【００３４】
パブリックな設定項目400は、標準的な設定として規定され、仕様が一般に公開されている。そのため、パブリックな設定項目400は、一般的なアプリ1051の印刷設定ＵＩや、印刷システムが提供する標準印刷設定ＵＩより設定可能なものである。
【００３５】
プライベートな設定項目401は、プリンタ2500のベンダーが独自に規定した項目である。このため、一般的なアプリ1051では、プライベートな設定項目401の仕様はわからない。プライベートな設定項目401を設定するためには、プリンタ2500のベンダーが提供するプリンタドライバ1053や、その関連モジュールであるデバイスアプリ1052を用いる必要がある。
【００３６】
ここで、図５のフローチャートを用いて、印刷処理の概要を説明する。
図５は、印刷処理の概要を例示するフローチャートである。図５、後述する図８および図９の処理は、図３に示したソフトウェアモジュールにより実行される。すなわち、これらの処理は、ＣＰＵ101が補助記憶装置105に格納されたプログラムを必要に応じてＲＡＭ1022にロードし実行することにより実現されるものである。また、本処理は、まずユーザの印刷要求を受けて、アプリ1051が印刷システム10540へ印刷要求を出すことにより開始される。
【００３７】
ステップS501において、アプリ1051は、印刷システム10540経由で、プリンタドライバ1053に設定可能な項目の一覧（以下、設定一覧310）と現在設定されている情報（以下、設定情報311）の生成を依頼する。これらの情報は、コンフィグモジュール10530の設定生成部300で生成される。生成された設定一覧310と現在の設定情報311を基に、印刷システム10540は、図６のような印刷設定画面205を構成し、モニタ110に表示制御する。
【００３８】
ここで図６を用いて印刷設定画面205について説明する。
図６は、本実施例のストアアプリであるアプリ1051からの印刷時に表示される印刷設定画面を例示する図である。
印刷設定画面205において、601は詳細設定ボタン（More Settingボタン）で、詳細設定を行う場合に押下する。602はPrintボタンで、印刷を実行する場合に押下する。
【００３９】
以下、図５の説明に戻る。
次に、S502において、印刷システム10540は、印刷設定画面205に対するユーザからの操作を受け付ける。そして、S503において、印刷システム10540は、印刷設定画面205の詳細設定ボタン601が押下されたか否かを判定する。
【００４０】
そして、詳細設定ボタン601が押下されたと判定した場合（S503でYesの場合）、印刷システム10540は、Ｓ504へ処理を進める。S504において、印刷システム10540は、デバイスアプリ1052を呼び出し、呼び出されたデバイスアプリ1052が処理を実行する。なお、S504で呼び出されたデバイスアプリ1052の処理については、後述する図８に示す。なお、呼び出されたデバイスアプリ1052の処理が終了すると、印刷システム10540は、S505に処理を進める。
一方、詳細設定ボタン601が押下されていないと判定した場合（S503でNoの場合）、印刷システム10540は、そのままＳ505へ処理を進める。
【００４１】
S505において、印刷システム10540は、印刷設定画面205のPrintボタン602の押下を受けて、現在の設定から設定情報311を生成し、該設定情報311をプリンタドライバ1053へ受け渡す。なお、図示しないが、Printボタン602の押下がない場合には、印刷システム10540は、S502に処理を戻し、ユーザの操作を受け付ける。
S506において、プリンタドライバ1053のコンフィグモジュール10530は、設定解析部301を用いて、設定情報311の検証を行い、該検証の結果を印刷システム10540に返す。
【００４２】
S507において、印刷システム10540は、上記S506の検証の結果を基に、全ての設定値が有効（問題がない状態）か否かを判定する。
そして、いずれかの設定値が有効でないと判定した場合（S507でNoの場合）、印刷システム10540は、S502に処理を戻し、ユーザの操作を受け付ける。
一方、全ての設定値が有効であると判定した場合（S507でYesの場合）、印刷システム10540は、印刷設定画面205を閉じて、S508に処理を進める。
【００４３】
S508において、印刷システム10540は、印刷対象の標準文書を作成し、設定情報311を付加して標準文書データ312を生成する。ここでの標準文書とは、プリンタが一般に解釈可能なもの、例えばＰＤＬを指す。そして、印刷システム10540は、設定情報311を含む標準文書データ312を、グラフィックスフィルタ10531へ出力する。
【００４４】
S509において、グラフィックスフィルタ10531は、上記受け取った標準文書データ312を、標準文書データ解析部302を用いて解析する。さらに、グラフィックスフィルタ10531は、標準文書データ312を、出力データ生成部303を用いてプリンタ2500で解釈可能なＰＤＬ313に変換する。
次に、S510において、グラフィックスフィルタ10531は、該変換したＰＤＬ313を、ＯＳ1054のサブシステムであるシステムスプーラ10541に受け渡し、プリンタ2500に送信する。以上の処理を行うことで、印刷処理が実行される。
【００４５】
以下、デバイスアプリ1052の処理に関して説明するが、その前に、図７Ａ、図７Ｂを参照して、デバイスアプリ1052の画面に関する説明を行う。
図７Ａ、図７Ｂは、デバイスアプリ1052の印刷設定画面を例示する図である。
本実施例で対象とするデバイスアプリ1052は、図７Ａ、図７Ｂに示すような印刷設定画面701を有する。また、デバイスアプリ1052には、機器にパラメータをインプットする複数種類の項目が存在しており、各項目のことを、ここでは設定項目と呼んでいる。印刷設定画面701は、ユーザによる印刷設定項目の設定操作が可能な操作画面である。
【００４６】
図７Ａの例では、原稿サイズを設定する設定項目702や、部数を設定する設定項目703や、印刷の向きを設定する設定項目704がある。この設定項目に入力されているパラメータを、ここでは設定値と呼んでいる。
図７Ａの例では、設定項目702の場合「Ａ４」というパラメータが設定値である。この設定項目はテキストの入力や、スピンボタンを操作することで数値を入力することもできるが、設定を一覧で表示し、ユーザに選択させることで値を入力することもできる。
【００４７】
以下、図５のS504で呼び出されたデバイスアプリ1052の動作について、図８のフローチャートを用いて説明を行う。
図８は、図５のS504で呼び出されたデバイスアプリ1052の処理を例示するフローチャートである。図５のS504でデバイスアプリの呼び出しが行われると、デバイスアプリ1052は、本処理を開始する。
【００４８】
ステップS801において、デバイスアプリ1052は、印刷システム10540を介してプリンタドライバ1053から設定一覧310と設定情報311を取得する。
次に、S802において、デバイスアプリ1052は、詳細設定生成部304により、上記S801で取得した設定一覧310と設定情報311を基に、図７Ａのような印刷設定画面701を生成し、詳細設定表示部305によって、モニタ110に表示制御する。
【００４９】
次に、S803において、デバイスアプリ1052は、上記表示した印刷設定画面701に従った入力（ユーザ操作）を受け付ける。
次に、S814において、デバイスアプリ1052は、詳細設定解析部306を用いて、システムの戻るボタン720が押下されたか否かを判定する。例えば、Windows10（登録商標）のタブレットモードでは、図７Ａのようなシステムの戻るボタン720がＯＳから提供され、ストアアプリやデバイスアプリ1052ではシステムの戻るボタン720を使用することができる。
【００５０】
上記S814において、システムの戻るボタン720が押下されたと判定した場合（S814でYesの場合）、デバイスアプリ1052は、S815に処理を進める。なお、S815のシステムの戻るボタン押下時の処理の詳細は、後述する図９で説明する。
一方、システムの戻るボタン720が押下されていないと判定した場合（S814でNoの場合）、デバイスアプリ1052は、S804に処理を進める。
【００５１】
S804において、デバイスアプリ1052は、詳細設定解析部306を用いて、印刷設定画面701のＯＫボタン710が押下された否かを判定する。そして、上記S804においてＯＫボタン710が押下されていないと判定した場合（S804でNoの場合）、デバイスアプリ1052は、S806に処理を進める。
【００５２】
S806において、デバイスアプリ1052の禁則判断部307は、ユーザにより設定（変更操作）された設定項目と同時に設定することができない設定項目（禁則の関係にある設定項目）があるか否かを判定する。例えば、ユーザにより図７Ａの製本の設定項目705が図７Ｂの製本の設定項目706のように操作されると、製本が有効（ＯＮ）になる。この例の場合、禁則判断部307は、製本という設定項目と同時に設定することができない設定項目（競合する設定項目）があるか否かを判断する。本実施例ではデバイスアプリ1052が同時に設定することができない設定項目（禁則の関係にある設定項目）の情報を保持しており、例えば、製本とポスターが同時に設定することができない設定項目となっている。
【００５３】
そして、上記S806において、ユーザにより設定された設定項目と同時に設定することができない設定項目がないと判定した場合（S806でNoの場合）、デバイスアプリ1052は、S807に処理を進める。
S807において、デバイスアプリ1052の詳細設定表示部305は、ユーザにより設定された設定値を印刷設定画面701に反映し、モニタ110に表示制御する。そして、S807の処理の後、デバイスアプリ1052は、S803に処理を戻し、ユーザの入力を受け付ける。
【００５４】
一方、上記S806において、ユーザにより設定された設定項目と同時に設定することができない設定項目があると判定した場合（S806でYesの場合）、デバイスアプリ1052は、S808に処理を進める。
S808において、デバイスアプリ1052の禁則判断部307は、ユーザにより設定（変更操作）された設定項目の優先度と同時に設定することができない設定項目の優先度を比較し、ユーザにより設定された設定項目の優先度が、該同時に設定することができない設定項目の優先度より高いか否かを判定する。本実施例ではデバイスアプリ1052が設定項目毎の優先度を保持しており、例えば、製本とポスターであれば製本の方がポスターより優先度が高くなっている。
【００５５】
そして、上記S808において、該同時に設定することができない設定項目の優先度の方が高いと判定した場合（S808でNoの場合）、デバイスアプリ1052は、S809に処理を進める。これは、例えば、製本が有効の状態でユーザがポスターを無効から有効にしようとした場合である。
S809において、デバイスアプリ1052は、ユーザにより変更操作された設定項目はデバイスアプリ1052内の設定項目の設定により設定することができない旨のメッセージ1001を表示する。本実施例におけるメッセージの一例を図１０に示す。
【００５６】
図１０は、デバイスアプリ内の設定項目によりユーザにより変更操作された設定項目を設定することができない場合に表示されるメッセージを例示する図である。
この例では、１００１のように、製本の設定が有効の状態でポスターを有効（ＯＮ）に設定することができない旨のメッセージが表示される。このメッセージ画面でＯＫボタンが押下されると、デバイスアプリ1052は、S803に処理を戻し、ユーザの入力を受け付ける。
【００５７】
一方、上記S808において、ユーザにより変更操作された設定項目の優先度の方が高いと判定した場合（S808でYesの場合）、デバイスアプリ1052は、S810に処理を進める。例えば、ポスターが有効の状態でユーザが製本を無効（ＯＦＦ）から有効（ＯＮ）にしようとした場合である。
【００５８】
S810において、デバイスアプリ1052の詳細設定表示部305は、ユーザにより変更操作された設定項目と同時に設定することができない設定項目の設定を無効にする。すなわち、ユーザにより変更操作された設定項目と同時に設定することができない（禁則関係にある）設定項目の設定値を、ユーザにより変更操作された設定項目の設定値とコンフリクトしない設定値に変更する。
【００５９】
次に、S811において、詳細設定表示部305は、ユーザにより変更操作された設定項目の設定値を有効に変更する。すなわち、ユーザにより変更操作された設定項目の設定値を、該ユーザの変更操作により指示された設定値に変更する。
【００６０】
さらに、S812において、詳細設定表示部305は、ユーザにより変更操作された設定項目と同時に設定することができない設定項目の設定値が無効に変更されたことをユーザに通知するコンフリクトマーク750を、印刷設定画面701の各シートを切り替えても表示が変わらない共通エリアに表示する。印刷設定画面701は、複数のシートを有し、このシートを切り替えて各設定を行うことができる。例えば、図７Ａ，図７Ｂに示す例は、711のように、６枚のシートのうち１番目のシートが表示されている状態が示されている。例えば、印刷設定画面701を左右にスワイプすることにより、他のシートに表示を切り替えることができる。このシートはタブシートであってもよい。なお、印刷設定画面701には、上述のように、各シートを切り替えても表示が変わらない共通エリアが存在し、いずれのシートに表示が切り替えられても、共通エリアのコンフリクトマーク750の表示は変わらない。本実施例におけるコンフリクトマーク750の一例を図７Ｂに示す。コンフリクトマーク750が押下されると、デバイスアプリ1052は、上記S810において無効になった設定項目を記したメッセージ1101を表示する。本実施形態におけるメッセージの一例を図１１に示す。
図１１は、禁則関係にある設定項目が無効になった旨のメッセージを例示する図である。
【００６１】
さらに、S813において、デバイスアプリ1052の禁則変更記憶部308は、上記S810で設定値を無効に変更した設定項目と上記S811で設定値を有効に変更した設定項目を記憶する。本実施例における禁則変更記憶部308の一例を図１２に示す。
【００６２】
図１２は、本実施例において禁則変更記憶部308に記憶される情報を例示する図である。
図１２の禁則変更記憶部308には、上記S810で設定値を無効に変更した設定項目を特定可能な情報が"無効に変更した設定項目"1202として、上記S811で設定値を有効に変更した設定項目を特定可能な情報が"有効に変更した設定項目"1203として、番号1201とともに保存されている。番号1201が小さいほど古い設定の変更であり、禁則変更記憶部308に情報が保存されるたびに番号1201が増加していく。即ち、番号1201が大きいほど新しい設定である。なお、上記S810で設定値を無効に変更した設定項目や、上記S811で設定値を有効に変更した設定項目が複数存在する場合には、同一の番号1201に紐付けられて、該複数の設定項目が"無効に変更した設定項目"1202や"有効に変更した設定項目"1203として保存されることになる。また、本実施例では、"無効に変更した設定項目"1202、"有効に変更した設定項目"1203として、変更した設定項目を特定可能な情報を記憶する構成について説明した。しかし、"無効に変更した設定項目"1202、"有効に変更した設定項目"1203として、変更した設定項目を特定可能な情報とともに、変更前の設定値も保存するようにしてもよい。
【００６３】
上記S813の処理の後、デバイスアプリ1052は、S803に処理を戻し、ユーザの入力を受け付ける。
【００６４】
また、上記S804においてＯＫボタン710が押下されたと判定した場合（S804でYesの場合）、印刷システム10540が、S805において、現在の印刷設定画面701で設定されている各設定項目の設定値を設定情報311に保存し、本フローチャートの処理を終了する。
【００６５】
なお、本実施例では、ユーザにより設定値が変更操作された設定項目と同時に有効に設定することができない設定項目の設定値が無効に変更されたことを通知するための情報としてコンフリクトマーク750（図７Ｂの例ではエクスクラメーションマーク（exclamation mark））を表示している。しかし、該通知はマークに限定されるものではなく、上記共通エリアに、設定値が無効に変更された設定項目を特定可能な情報等を含むメッセージを表示するようにしてもよい。
【００６６】
以下、ＯＳ1054から提供されるシステムの戻るボタン720が押下された場合のデバイスアプリ1052の挙動（図８のS815のシステムの戻るボタン押下時の処理）について、図９のフローチャートを用いて説明を行う。
図９は、図８のS815のシステムの戻るボタン押下時の処理を例示するフローチャートである。
【００６７】
ステップS901において、デバイスアプリ1052の詳細設定解析部306は、システムの戻るボタン720が押下されたときに図７Ｂのコンフリクトマーク750が表示されているか否かを判定する。
【００６８】
そして、コンフリクトマーク750が表示されていると判定した場合（S901でYesの場合）、デバイスアプリ1052は、S904に処理を進める。
S904において、詳細設定解析部306は、デバイスアプリ1052の禁則変更記憶部308から一番新しい情報（最も番号1201の大きい"無効に変更した設定項目"1202、"有効に変更した設定項目"1203の情報）を取得する。
次に、S905において、詳細設定表示部305は、上記S904で取得した"有効に変更した設定項目"1203が示す設定項目の設定値を無効に変更する。
【００６９】
次に、S906において、詳細設定表示部305は、上記S904で取得した"無効に変更した設定項目"1202が示す設定項目の設定値を有効に変更する。例えば、ポスターが有効（ＯＮ）の状態でユーザが製本を無効（ＯＦＦ）から有効（ＯＮ）にしようとしたときに、ポスターが無効（ＯＦＦ）になってコンフリクトマーク750が表示されている状態で、システムの戻るボタン720が押下されると、製本が有効（ＯＮ）から無効（ＯＦＦ）になり、ポスターが無効（ＯＦＦ）から有効（ＯＮ）に制御される。
【００７０】
なお、"無効に変更した設定項目"1202、"有効に変更した設定項目"1203として、変更した設定項目を特定可能な情報とともに、変更前の設定値も保存されている構成の場合には、S905、S906において、"無効に変更した設定項目"1202、"有効に変更した設定項目"1203に対応する各設定項目を、それぞれ保存されている変更前の設定値に戻すように制御する。
【００７１】
次に、S907において、禁則変更記憶部308は、上記S904で取得した情報を削除する。
さらに、S908において、禁則変更記憶部308は、"無効に変更した設定項目"1202と"有効に変更した設定項目"1203の情報がまだ禁則変更記憶部308に残っているか否かを判定する。
【００７２】
そして、"無効に変更した設定項目"1202と"有効に変更した設定項目"1203の情報が残っていると判定した場合（S908でYesの場合）、デバイスアプリ1052は、図８のS803に処理を戻し、再びユーザからの操作を受け付ける。
【００７３】
一方、上記S908において、"無効に変更した設定項目"1202と"有効に変更した設定項目"1203の情報が残っていないと判定した場合（S908でNoの場合）、デバイスアプリ1052は、S909に処理を進める。
S909において、詳細設定表示部305は、コンフリクトマーク750を非表示にして、図８のS803に処理を戻し、再びユーザからの操作を受け付ける。
【００７４】
また、上記S901において、コンフリクトマーク750が表示されていないと判定した場合（S901でNoの場合）、デバイスアプリ1052は、S902に処理を進める。
S902において、印刷システム10540は、現在の印刷設定画面701で設定されている各設定項目の設定値を設定情報311に保存する。
そして、S903において、印刷システム10540は、デバイスアプリ1052を終了して、印刷設定画面205を表示し、本フローチャートの処理を終了する。
【００７５】
以上の手順により、デバイスアプリ1052は、ユーザにより設定値が変更操作された設定項目の優先度が、該設定項目と同時に設定することができない設定項目の優先度よりも高い場合に、該同時に設定することができない設定項目の設定を無効にして、印刷設定ＵＩの各シートの共通エリア（いずれの設定項目の設定値をユーザが閲覧又は設定している状態でも該ユーザにより視認可能な領域）にその旨を通知するためのコンフリクトマークを表示する制御を行う。この制御により、コンフリクトにより同時に設定することができない設定項目が各シートに跨っていた場合においてもユーザはコンフリクトにより同時に設定することができない設定項目の設定値が無効になったものがあると容易に認識できるので、ユーザが意図しない状態となってしまうことを防止できる。よって、ユーザの利便性が向上するという効果を奏する。
【００７６】
また、デバイスアプリ1052は、システムの戻るボタン720押下時にコンフリクトマーク750が表示されていれば、ユーザ操作により変更された設定項目の設定値を無効にして、同時に設定することができない設定項目の設定値を有効に制御する。この制御により、システムの戻るボタン720が押下された場合に、ユーザが意図しない状態となってしまうことを防止できる。よって、同時に設定することができない設定項目の設定値を有効に戻す際、ユーザ操作により変更された設定項目の設定値を無効するというユーザの手間を省き、システムの戻るボタン720の押下のみで、コンフリクトにより無効になった設定項目のみを有効の状態に戻すことができる。したがって、ユーザの利便性が向上するという効果を奏する。
【００７７】
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されていてもよい。
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
また、上記各実施例を組み合わせた構成も全て本発明に含まれるものである。
【００７８】
（その他の実施例）
本発明は、上述の実施例の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
また、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。
本発明は上記実施例に限定されるものではなく、本発明の趣旨に基づき種々の変形（各実施例の有機的な組合せを含む）が可能であり、それらを本発明の範囲から除外するものではない。即ち、上述した各実施例及びその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【００７９】
100    クライアントコンピュータ
1051    アプリケーション
1052    デバイスアプリ
1053    プリンタドライバ
10540    印刷システム
【図１】
2017194766.tif 000003
【図２】
2017194766.tif 000004
【図３】
2017194766.tif 000005
【図４】
2017194766.tif 000006
【図５】
2017194766.tif 000007
【図６】
2017194766.tif 000008
【図７Ａ】
2017194766.tif 000009
【図７Ｂ】
2017194766.tif 000010
【図８】
2017194766.tif 000011
【図９】
2017194766.tif 000012
【図１０】
2017194766.tif 000013
【図１１】
2017194766.tif 000014
【図１２】
2017194766.tif 000015