(57)【特許請求の範囲】
【請求項１】
第１の環境において、前記第１の環境で動作するアプリケーションから印刷の指示を受け、かつ、印刷設定情報にユーザー入力情報を必要とする印刷設定情報が含まれていた場合、前記第１の環境とは異なる第２の環境で動作するソフトウェアを新たに起動する起動手段を有し、
前記起動手段により前記ソフトウェアが新たに起動されることにより前記第１の環境から前記第２の環境に変更され、前記変更された前記第２の環境に前記ユーザー入力情報を入力するための入力ユーザーインターフェースが表示され、
前記第１の環境は、アクティブなアプリケーションのユーザーインターフェースが表示され、その他のアプリケーションのユーザーインターフェースが表示されない環境であり、前記第２の環境は、アクティブなアプリケーションのユーザーインターフェースとその他のアプリケーションのユーザーインターフェースとを表示できる環境であることを特徴とする情報処理装置。
【請求項２】
前記起動手段により前記ソフトウェアが起動されることにより前記第２の環境に表示された前記入力ユーザーインターフェースに対してユーザー入力情報が入力され、かつ、印刷の指示を受け付けた場合、前記印刷設定情報と前記第１の環境で動作するアプリケーションが発行する描画データと前記ユーザー入力情報とに基づいて印刷データを生成する生成手段を更に備えることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
印刷を指示するアプリケーションが前記第１の環境で動作するアプリケーションか、前記第２の環境で動作するアプリケーションかを判定する判定手段と、
前記判定手段により前記アプリケーションが前記第２の環境で動作するアプリケーションと判定された場合、前記ユーザー入力情報を入力するための入力ユーザーインターフェースを表示する表示手段を更に備え、
前記判定手段により前記アプリケーションが前記第１の環境で動作するアプリケーションと判定された場合、前記起動手段は、前記ソフトウェアを起動することを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記起動手段により前記ソフトウェアが起動されることにより、前記第２の環境に表示される前記入力ユーザーインターフェースのサイズは、前記表示手段により表示される前記入力ユーザーインターフェースのサイズよりも大きいことを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記起動手段により前記ソフトウェアが起動されることにより前記第２の環境に表示された前記入力ユーザーインターフェースに対してユーザー入力情報が入力され、かつ、印刷の指示を受け付けた後、印刷を指示する前記第１の環境で動作するアプリケーションのユーザーインターフェースが表示されるように指示する指示手段を更に備えることを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記ユーザー入力情報を必要とする印刷設定情報は、親展印刷と部門管理とＦＡＸの少なくとも１つであることを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
第１の環境において、前記第１の環境で動作するアプリケーションから印刷の指示を受け、かつ、印刷設定情報にユーザー入力情報を必要とする印刷設定情報が含まれていた場合、前記第１の環境とは異なる第２の環境で動作するソフトウェアを新たに起動する起動工程を有し、
前記起動工程により前記ソフトウェアが新たに起動されることにより前記第１の環境から前記第２の環境に変更され、前記変更された前記第２の環境に前記ユーザー入力情報を入力するための入力ユーザーインターフェースが表示され、
前記第１の環境は、アクティブなアプリケーションのユーザーインターフェースが表示され、その他のアプリケーションのユーザーインターフェースが表示されない環境であり、前記第２の環境は、アクティブなアプリケーションのユーザーインターフェースとその他のアプリケーションのユーザーインターフェースとを表示できる環境であることを特徴とする制御方法。  
【請求項８】
コンピュータを、
第１の環境において、前記第１の環境で動作するアプリケーションから印刷の指示を受け、かつ、印刷設定情報にユーザー入力情報を必要とする印刷設定情報が含まれていた場合、前記第１の環境とは異なる第２の環境で動作するソフトウェアを新たに起動する起動手段として機能させるプログラムであって、
前記起動手段により前記ソフトウェアが新たに起動されることにより前記第１の環境から前記第２の環境に変更され、前記変更された前記第２の環境に前記ユーザー入力情報を入力するための入力ユーザーインターフェースが表示され、
前記第１の環境は、アクティブなアプリケーションのユーザーインターフェースが表示され、その他のアプリケーションのユーザーインターフェースが表示されない環境であり、前記第２の環境は、アクティブなアプリケーションのユーザーインターフェースとその他のアプリケーションのユーザーインターフェースとを表示できる環境であることを特徴とするプログラム。
【請求項９】
前記起動手段により前記ソフトウェアが起動されることにより前記第２の環境に表示された前記入力ユーザーインターフェースに対してユーザー入力情報が入力され、かつ、印刷の指示を受け付けた場合、前記印刷設定情報と前記第１の環境で動作するアプリケーションが発行する描画データと前記ユーザー入力情報とに基づいて印刷データを生成する生成手段を更に備えることを特徴とする請求項８に記載のプログラム。
【請求項１０】
印刷を指示するアプリケーションが前記第１の環境で動作するアプリケーションか、前記第２の環境で動作するアプリケーションかを判定する判定手段と、
前記判定手段により前記アプリケーションが前記第２の環境で動作するアプリケーションと判定された場合、前記ユーザー入力情報を入力するための入力ユーザーインターフェースを表示する表示手段を更に備え、
前記判定手段により前記アプリケーションが前記第１の環境で動作するアプリケーションと判定された場合、前記起動手段は、前記ソフトウェアを起動することを特徴とする請求項８または９に記載のプログラム。
【請求項１１】
前記起動手段により前記ソフトウェアが起動されることにより、前記第２の環境に表示される前記入力ユーザーインターフェースのサイズは、前記表示手段により表示される前記入力ユーザーインターフェースのサイズよりも大きいことを特徴とする請求項１０に記載のプログラム。
【請求項１２】
前記起動手段により前記ソフトウェアが起動されることにより前記第２の環境に表示された前記入力ユーザーインターフェースに対してユーザー入力情報が入力され、かつ、印刷の指示を受け付けた後、印刷を指示する前記第１の環境で動作するアプリケーションのユーザーインターフェースが表示されるように指示する指示手段を更に備えることを特徴とする請求項８乃至１１のいずれか１項に記載のプログラム。
【請求項１３】
前記第１の環境は、アクティブなアプリケーションのユーザーインターフェースが表示され、その他のアプリケーションのユーザーインターフェースが表示されない環境であり、前記第２の環境は、アクティブなアプリケーションのユーザーインターフェースとその他のアプリケーションのユーザーインターフェースとを表示できる環境であることを特徴とする請求項８乃至１２のいずれか１項に記載のプログラム。
【請求項１４】
前記ユーザー入力情報を必要とする印刷設定情報は、親展印刷と部門管理とＦＡＸの少なくとも１つであることを特徴とする請求項８乃至１３のいずれか１項に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は印刷処理を実行する情報処理装置、制御方法、及びプログラムに関する。
【背景技術】
【０００２】
プリンターは、通常ホストコンピューター上で動作するプリンタードライバーと呼ばれるソフトウェアによって制御される。プリンタードライバーの役割は大きく２つある。１つはユーザーから印刷設定情報を受け付ける役割である。この役割のためにプリンタードライバーは、印刷設定情報を受け付けるユーザーインターフェース（ＵＩ）を有している。もう一つはアプリケーションからの描画命令をプリンターの解釈できる印刷データ（ＰＤＬ：Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）に変換してプリンターに印刷データを送信する役割である。どちらもホストコンピューター上のオペレーティングシステムによって管理されている。
また、印刷時にパスワード等のユーザー入力情報の入力をユーザーに要求するために、印刷時に入力ダイアログを表示してユーザーの入力を待ち、入力された値を利用して親展印刷を実現する処理が行われている。（特許文献１）
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００１−３１８７７９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、オペレーティングシステム（ＯＳ）の環境によっては、特許文献１のようにパスワードのようなユーザー入力情報を受け付けるための入力ダイアログをユーザーが容易に認識できるように印刷時に表示できない場合もある。その結果、適切に印刷処理を実行できなくなるおそれがある。
【課題を解決するための手段】
【０００５】
上記目的を達成するために本願の情報処理装置は、第１の環境において、前記第１の環境で動作するアプリケーションから印刷の指示を受け、かつ、印刷設定情報にユーザー入力情報を必要とする印刷設定情報が含まれていた場合、前記第１の環境とは異なる第２の環境で動作するソフトウェアを新たに起動する起動手段を有し、前記起動手段により前記ソフトウェアが新たに起動されることにより前記第１の環境から前記第２の環境に変更され、前記変更された前記第２の環境に前記ユーザー入力情報を入力するための入力ユーザーインターフェースが表示され、前記第１の環境は、アクティブなアプリケーションのユーザーインターフェースが表示され、その他のアプリケーションのユーザーインターフェースが表示されない環境であり、前記第２の環境は、アクティブなアプリケーションのユーザーインターフェースとその他のアプリケーションのユーザーインターフェースとを表示できる環境であることを特徴とする。
【発明の効果】
【０００６】
ユーザーがユーザー入力情報を受け付けるための入力ダイアログが表示されていることに容易に気づくことができる。
【図面の簡単な説明】
【０００７】
【図１】本発明の実施形態としての、コンピューターシステムのハードウェアとソフトウェアの一例を示したブロック構成図である。
【図２】本発明の実施形態としての、クライアントとサーバー、そしてプリンターが接続されたネットワークの一例を示した構成図である。
【図３】本発明の実施形態としての、一般的なコンピューターを用いた印刷処理システムの一例を示したブロック構成図である。
【図４】本発明の実施形態としての、印刷設定であるＤＥＶＭＯＤＥ構造体のデータ構造の一例を示したブロック構成図である。
【図５】ａ本発明の実施形態としての、プリンタードライバーのユーザーインターフェースの一例を示した図である。  ｂ本発明の実施形態としての、プリンタードライバーのユーザーインターフェースの一例において、印刷時の設定を示した図である。
【図６】従来のＵＩ環境の一例を示した図である。
【図７】タッチパネルに最適なＵＩ環境の一例を示した図である。
【図８】タッチパネル用ＵＩアプリケーションからの印刷時のＵＩの一例を示した図である。
【図９】本発明の実施形態としての、印刷処理の一例を示したフローチャート図である。
【図１０】本発明の実施形態としての、プリンタードライバーが起動するプロセスの処理の一例を示したフローチャート図である。
【図１１】ａ本発明の実施形態としての、従来のＵＩ環境でのメッセージダイアログの一例を示した図である。  ｂ本発明の実施形態としての、タッチパネル用ＵＩアプリケーションからの印刷時に表示するメッセージダイアログの一例を示した図である。
【図１２】本発明の実施形態としての、プリンタードライバーが起動するプロセスの処理の一例を示したフローチャート図である。
【発明を実施するための形態】
【０００８】
以下、本発明を実施するための最良の形態について図面を用いて説明する。
【０００９】
図１は情報処理装置（一般的なコンピューター、クライアントコンピュータとも呼ぶ）のブロック構成図である。なお、特に断らない限り、本発明の機能が実行されるのであれば、単体の機能であっても、複数の機器からなるシステムであっても、ネットワークを介して接続がなされ処理が行われるシステムであっても、本発明を適用できることは言うまでもない。
【００１０】
ＣＰＵ１０１は主記憶装置１０２のＲＯＭ１０２１あるいはＲＡＭ１０２２あるいは補助記憶装置１０５に格納されたプログラムに従って装置全体を制御する。ＲＡＭ１０２２はＣＰＵ１０１が各種処理を行う際のワークエリアとしても使用される。補助記憶装置１０５はオペレーティングシステム（ＯＳ）１０５３やアプリケーション１０５１等を記録する。キーボード１０３１やマウスなどに代表されるポインティングデバイス１０３２、タッチパネルなどの入力機器は、入力Ｉ／Ｆ１０３を通じて、ユーザーがコンピューターに対して各種指示を与えるためのデバイスである。出力Ｉ／Ｆ１０４は、データを外部に出力するためのインターフェースであり、モニタ１０４１やプリンター１０４２などの出力機器に対してデータを出力する。プリンター１０４２とは直接接続されるローカルＩ／Ｏのみならず、通信Ｉ／Ｆ１０６を通じて接続されるネットワーク１０６１を通して接続されていてもよい。また、１０７は共通データシステムバスで、Ｉ／Ｆやモジュール間でデータのやりとりを行う。なお、ＣＰＵ１０１が補助記憶装置１０５に記憶されているプログラムに基づき処理を実行することによって、図３に示されるようなコンピューターのソフトウェア構成及び後述するフローチャートの各ステップの処理が実現される。
【００１１】
図２は本発明の実施の形態におけるネットワーク１０６１の環境を簡略した図である。印刷を行う文書や画像を作成するクライアントコンピュータ２０１／２０２が単体もしくは複数ネットワークに接続されている。また、クライアントのユーザーやプリンターを管理するサーバーコンピュータ２０３が接続されていることもある。プリンター２０４／２０５が単体もしくは複数ネットワークに接続されており、プリンター２０５のように物理的に接続されていても実際には使用できないオフライン状態であることもある。ネットワークにはＰＡＮ（Ｐｅｒｓｏｎａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＭＡＮ（Ｍｅｔｒｏｐｏｌｉｔａｎ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などの小規模から大規模までのネットワークがあり、これらの機器がすべてのネットワークに接続されている。クラウド環境のように、サーバーやプリンターがインターネットを越えて接続されていてもかまわない。
【００１２】
図３において、情報処理装置の印刷処理システムを示す。アプリケーション１０５１と、プリンタードライバー１０５２、オペレーティングシステム１０５３は、図１の補助記憶装置１０５に格納されている。グラフィックスエンジン３０２、プリントマネージャ３０６はオペレーティングシステム１０５３に含まれるモジュールである。ユーザーはキーボード１０３１やマウス１０３２などといった入力装置を使用して、出力装置のモニタ１０４１に映し出されたアプリケーション１０５１を使用して作成した文書３０１の印刷処理の実行を指示する。印刷処理はプリンターの選択、印刷設定情報の作成、描画データの変換と３つの処理を順番に行うことで実行される。まずは、プリンターの選択として、印刷を実行するプリンター１０４２に対応したプリンタードライバー１０５２を選択する（プリントキューを選択するとも言う）。次に印刷設定情報３０１２の作成を行う。文書の印刷設定情報３０１２はプリンタードライバー１０５２のコンフィギュレーションモジュール３０４によって初期値が作成される。作成された印刷設定情報３０１２は、アプリケーション１０５１もしくはプリンタードライバー１０５２のユーザーインターフェースを使用してユーザーが望む最終印刷結果になるように変更される。たとえば、出力する用紙サイズの変更や、両面印刷、白黒印刷を行なうといった設定へと変更される。プリンタードライバー１０５２のユーザーインターフェースは、コンフィギュレーションモジュール３０４が提供する。印刷設定情報３０１２はＲＡＭ１０２２上に確保されるが、保存する形式はバイナリのデータ構造体であったり、マークアップ言語のＸＭＬであったりする。この形態はプリンタードライバー１０５２やオペレーティングシステム１０５３の仕様によって異なる。印刷設定情報３０１２は文書を印刷するたびに作成される。しかし、プリンター１０４２のオプション機器構成や、ユーザーごとの環境設定など設定を保持しておきたいものは、プリンタードライバー１０５２がオペレーティングシステム１０５３のレジストリデータベース３０８に保存する。印刷設定情報３０１２のユーザーごとのデフォルト値はオペレーティングシステム１０５３のプリントマネージャ３０６が、レジストリデータベース３０８に保存する。最後に描画データの変換を行う。アプリケーション１０５１は、印刷設定情報３０１２が作成し終わったら、ユーザーから印刷処理の実行の指示を受け付け、オペレーティングシステム１０５３に印刷処理を通知する。オペレーティングシステム１０５３はグラフィックスエンジン３０２を通じて、指定されたプリンタードライバー１０５２への描画を行う。印刷設定情報３０１２でレイアウト処理が指定されている場合、プリンタードライバー１０５２のレンダリングモジュール３０３に処理が移る前に、プリンタードライバー１０５２は、プリントマネージャ３０６を通して、一時的なスプールファイル３０７を生成する。そして、プリンタードライバー１０５２は、レイアウトモジュール３０９を起動する。レイアウト処理とはページの順番を入れ替えたり、一枚の用紙の面に相当する領域に複数ページを配置する処理を指す。レイアウトモジュール３０９はレイアウトを変更した後、プリンタードライバー１０５２への描画を再度行う。描画データが送られてきたプリンタードライバー１０５２はレンダリングモジュール３０３によって、プリンターが理解できるデータ言語すなわちプリンター制御言語に変換する。このとき印刷設定情報３０１２も、プリンター制御言語に変換される。レンダリングモジュール３０３、コンフィギュレーションモジュール３０４はともに複数の種類のプリンター１０４２に対して共通のモジュールであることが多く、機種ごとの違いは機種依存データファイル３０５に記述されている。レンダリングモジュール３０３、コンフィギュレーションモジュール３０４は適宜、この機種依存データファイル３０５を参照する。変換されたデータはスプールファイル３０７として逐次保存していく。プリントマネージャ３０６はスプールファイル３０７を取得し、印刷ジョブファイルとして印刷処理のスケジュール管理を行う。プリンターが印刷できる状態になったら、プリントマネージャ３０６はＩ／Ｏモジュール３１０を介してプリンター１０４２に順次印刷データを送信する。このようにして、アプリケーションが発行する描画データと印刷設定情報に基づく印刷データがプリンターに送信されて、印刷が実行される。
【００１３】
文書３０１の印刷設定情報３０１２を作成するには、アプリケーションによって印刷設定情報３０１２を直接書き換えるか、プリンタードライバー１０５２のコンフィギュレーションモジュール３０４が提供するユーザインタフェース（図５ａ）を使用する。印刷設定情報３０１２はＭｉｃｒｏｓｏｆｔ（登録商標）Ｗｉｎｄｏｗｓ（登録商標）オペレーティングシステムでは、ＤＥＶＭＯＤＥ構造体と呼ばれる図４の構造をしている。ＤＥＶＭＯＤＥ構造体はオペレーティングシステムで公開定義されている標準の設定領域４０１と、プリンタードライバーが拡張した設定領域４０２に分けられている。標準の設定領域４０１には、用紙サイズや給紙段の切り替え、カラー白黒の切り替えなど印刷の基本的な設定の値がある。拡張した設定領域４０２には、プリンターのオプションに応じた排紙機能や、細かい色調整機能などの値がある。アプリケーションは各プリンタードライバー１０５２が持つ拡張設定を知ることはできないので、直接印刷設定を書き換えることができるのは、システムで定義されている標準の設定領域４０１だけとなる。そこで、アプリケーションはプリンタードライバー１０５２のユーザーインターフェースを表示させて、拡張された印刷設定４０２をユーザーに行わせるのが一般的である。コンフィギュレーションモジュール３０４はユーザーインターフェースだけではなく、アプリケーションプログラムインタフェース（ＡＰＩ：Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）も提供している。そのため、ユーザーインターフェースを表示せずに拡張された印刷設定４０２を外部から設定することも可能である。しかし、コンフィギュレーションモジュール３０４のＡＰＩを使用する場合はアプリケーションがプリンタードライバー１０５２ごとに対応しなければならないので、一般的なアプリケーションは標準の設定領域４０１のみ変更を行う。
【００１４】
近年、携帯電話などのモバイル機器やタブレットの発展により、タッチパネルしか持たない画面の小さなデバイスが多くなってきた。そこで、オペレーティングシステムは、従来のＵＩ環境（図６）とは別に、タッチパネルに最適化されたＵＩ環境（図７）を持つようになってきている。なお、従来のＵＩ環境は、以降、デスクトップＵＩ、デスクトップＵＩ環境と呼ばれることもある。一方、タッチパネルに最適化されたＵＩ環境は、以降、タッチパネル用ＵＩ、タッチパネル用ＵＩ環境と呼ばれることもある。
【００１５】
タッチパネルに最適なＵＩ環境は、操作しやすいようなボタン配置となっている。なお、デスクトップＵＩ環境とタッチパネル用ＵＩ環境では、ＵＩの提供方法が異なる。例えば、複数のアプリケーションがアクティブな状態であっても、タッチパネル用ＵＩ環境では、表示されるアプリケーションは１つに限られ、そのアプリケーションのＵＩのみがモニタ１０４１に表示される。よって、その他のアクティブなアプリケーションのＵＩは表示されない。ここで、表示対象のアプリケーションが変更された場合、変更後のアプリケーションのＵＩがモニタ１０４１に表示される。一方、デスクトップＵＩ環境では、アクティブなアプリケーションのＵＩとその他のアプリケーションのＵＩとの両者を同時にモニタ１０４１に表示することができる。また、デスクトップＵＩ環境では、ツリー構造でデータの構成を表示することができるが、タッチパネル用ＵＩ環境では、ツリー構造でデータの構造を表示できない。
【００１６】
特に、デスクトップＵＩとタッチパネル用ＵＩを切り替えることができるように構成されたオペレーティングシステムも出てきた。このようなオペレーティングシステム上で動作するアプリケーションを作成するには、それぞれのＵＩ向けに異なるパッケージを用意する必要がある。一方、プリンタードライバーは互換性を持っており、デスクトップＵＩでインストールしたプリンタードライバーはタッチパネル用ＵＩのアプリケーションからでも使用可能である。これによってユーザーはデスクトップＵＩ用に作成されたプリンタードライバー（デスクトップ用のプリンタードライバーとも呼ぶ）を使用してタッチパネル用ＵＩのアプリケーションからも印刷指示を行なうことができる。例えば、図８ではタッチパネル用ＵＩのアプリケーションからデスクトップＵＩ用のプリンタードライバーを選択し、印刷を指示するために「Ｐｒｉｎｔ」ボタンが選択される。その結果、タッチパネル用ＵＩのアプリケーションから発行された描画データを使ってデスクトップＵＩ用のプリンタードライバーが印刷データを生成する。
【００１７】
しかしながら、前述の通りプリンタードライバーはＵＩを有しており、タッチパネル用ＵＩのアプリケーションからデスクトップＵＩ用のプリンタードライバーに対してＵＩの表示を指示すると使い勝手の悪いものとなってしまう。タッチパネルで操作するユーザーにとって、マウスやキーボードの入力を前提としたデスクトップＵＩ用のプリンタードライバーのＵＩは細かすぎるからである。このため、タッチパネル用ＵＩ環境ではデスクトップＵＩ用のプリンタードライバーのＵＩを直接表示せず、ＸＭＬ形式のメタデータを元にオペレーティングシステムがＵＩ（図８の８０１）を生成して印刷設定情報を受け付けることで使い勝手の向上を図っている。
【００１８】
ところが、ＸＭＬ形式のメタデータを元に生成されるＵＩでは受付可能な印刷設定情報が特定の情報に限定されている。そのため、例えば、オペレーティングシステムにより生成されるＵＩでは、親展印刷を設定することができない。
【００１９】
また、例えば初期値として印刷時に入力ダイアログが表示される親展印刷が設定されているデスクトップＵＩ用のプリンタードライバーが、タッチパネル用ＵＩのアプリケーションから選択された場合を想定する。なお、入力ダイアログは、入力ユーザーインターフェース、入力ＵＩと呼ばれることもある。
【００２０】
初期値として印刷時に入力ダイアログが表示される印刷設定情報が設定されたデスクトップＵＩ用のプリンタードライバーを選択することで図８の画面８０１が表示される。ユーザーは、画面８０１の「Ｐｒｉｎｔ」ボタンを選択した場合、デスクトップＵＩ用のプリンタードライバーがデスクトップＵＩ環境へ入力ダイアログの表示処理を実行する。つまり、表示画面にはタッチパネル用ＵＩのアプリケーションの画面８０２が表示されているにも関わらず（現在の環境がタッチパネル用ＵＩ環境であるにも関わらず）、デスクトップＵＩ環境へ入力ダイアログの表示処理が行われることになる。そのため、情報処理装置を操作しているユーザーは、入力ダイアログが表示されていることに気づくことが困難となる。その結果、入力ダイアログにパスワード等が入力されないことにより印刷処理が適切に進まなくなるという課題が生じるおそれがあった。
【００２１】
上記課題を解決する本実施例を、図９のフローチャートを用いて説明する。
【００２２】
本フローチャートは、印刷時に入力ダイアログを表示してユーザーの入力を促すデスクトップ用のプリンタードライバーの処理に関する。なお、以降におけるプリンタードライバー１０５２は、デスクトップ用のプリンタードライバーとして説明を続ける。
【００２３】
本フローチャートは、プリンタードライバー１０５２が、アプリケーション１０５１から印刷の指示を受けるところから始まる。具体的には、図８の画面８０１において「Ｐｒｉｎｔ」ボタンが押されることにより処理が始まる。
【００２４】
そして、プリンタードライバー１０５２は、印刷設定情報３０１２に、入力ダイアログを表示してユーザーの入力を促すような設定が含まれているか否かを判定する（ステップＳ９０１）。入力ダイアログを表示してユーザーの入力を促すケースとしては、ユーザー名とパスワードを入力させ、プリンター側で認証を行わせる「親展印刷」機能がある。その他には、「部門管理」機能、や「ＦＡＸ」機能等が挙げられる。親展印刷が選択された場合は、図１１のようにユーザー名、パスワードを入力するための入力ダイアログが印刷時（図８の画面８０１の「Ｐｒｉｎｔ」ボタンが押下された時）に表示される。部門管理が選択された場合は、部門ＩＤとパスワードを入力するための入力ダイアログが印刷時に表示される。ＦＡＸが選択された場合は、電話番号を入力するための入力ダイアログが印刷時に表示される。なお、これらの機能は、図５ｂのドライバーＵＩによって設定されるものであり、予めデフォルトの設定として設定されるケースがある。
【００２５】
本判定により、プリンタードライバー１０５２が、印刷時に入力ダイアログを表示してユーザーの入力を促す設定が印刷設定情報３０１２に含まれていないと判定した場合は、描画データ３０１１及び印刷設定情報３０１２を印刷データへ変換する。そして、ステップＳ９０８へ進み、プリンタードライバー１０５２は印刷データをプリンターへ送信する。入力ダイアログを表示してユーザーの入力を促す設定が含まれていると判定した場合は、ステップＳ９０２へ進む。
【００２６】
そして、プリンタードライバー１０５２は、アプリケーションから印刷の指示を受け付けた時に、印刷の指示を発行したアプリケーションの情報を、ＡＰＩを利用して取得する（ステップＳ９０２）。
【００２７】
そして、プリンタードライバー１０５２は、該アプリケーションの情報からプロセス名を取得し、タッチパネル用ＵＩ上で動作するアプリケーションか否かを判定する（ステップＳ９０３）。具体的には、プリンタードライバー１０５２が、印刷を要求したアプリケーション名と、そのアプリケーションのｅｘｅファイル名とを比較し、両者が同じであればデスクトップＵＩ用のアプリケーションから印刷要求を受けたと判定する。一方、両者が違う場合、プリンタードライバー１０５２は、タッチパネル用ＵＩのアプリケーションから印刷要求を受け付けたと判定する。また、その他にも印刷を要求したアプリケーションがＯＳの特定のプラットフォーム上で動作するか否かを判定することによりＳ９０３の処理を行っても良い。具体的には、ＯＳの特定のプラットフォーム上で動作していると判定された場合、そのアプリケーションはタッチパネル用ＵＩのアプリケーションと判定される。一方、ＯＳの特定のプラットフォーム上で動作していないと判定された場合、そのアプリケーションはデスクトップＵＩ用のアプリケーションと判定される。
【００２８】
もしくは、ＷｉｎｄｏｗｓＡＰＩを利用して判定しても良い。プリンタードライバー１０５２は、タッチパネル用ＵＩ上で動作するアプリケーションであると判定した場合は、ステップＳ９０５へ進み、デスクトップＵＩ上で動作するアプリケーションである判定した場合は、ステップＳ９０４へ進む。
【００２９】
そして、デスクトップＵＩ上で動作するアプリケーションであると判定した場合は、プリンタードライバー１０５２が、ユーザーの入力を促す入力ダイアログをデスクチップＵＩ上に、表示する（ステップＳ９０４）。具体的には図１１ａのような表示が行われる。
そして、プリンタードライバー１０５２は、図１１ａを介して入力されたユーザー名やパスワードなど情報を含む印刷データを作成し、プリンターへ送信する（ステップＳ９０８）。
【００３０】
一方、ステップＳ９０３にて、タッチパネル用ＵＩ上で動作するアプリケーションではあると判定した場合、プリンタードライバー１０５２は、ユーザー入力を促す入力ダイアログに関するフラグを設定する（ステップＳ９０５）。該フラグは、たとえば「親展印刷」や、「部門管理」といった設定を見分けるためのフラグである。該フラグは印刷設定情報が含まれるＤＥＶＭＯＤＥ構造体の拡張領域４０２に含められる。
【００３１】
そして、ステップＳ９０６にて、プリンタードライバー１０５２は、プリントマネージャ３０６を経由して、入力ダイアログを表示する機能を備えたデスクトップＵＩ上で動作するデスクトップＵＩ用の印刷アプリケーションを起動する。この時、デスクトップＵＩ用の印刷アプリケーションはプリンタードライバーとは別プロセスとして起動する。（デスクトップＵＩ用の印刷アプリケーションの動作については、図１０を用いて後述する。）
そして、プリンタードライバー１０５２は、アプリケーションが発行した描画データと印刷設定情報に基づいてスプールファイル３０７を生成して、そのスプールファイル３０７をスプール処理（記憶）する（ステップＳ９０７）。そして、プリンタードライバー１０５２は、印刷処理のプロセスを終了する。なお、ユーザーがタッチパネル用ＵＩの環境で操作している状況において、別プロセスでデスクトップＵＩ上にて動作するソフトウェアが起動されることにより、ＯＳはタッチパネル用ＵＩの環境からデスクトップＵＩの環境へと変更する。また、デスクトップＵＩ上にて動作するソフトウェアを、本実施例では、デスクトップＵＩ用の印刷アプリケーションと呼ぶこともある。
【００３２】
ここで、ステップＳ９０６で、プリンタードライバーが起動したデスクトップＵＩ用の印刷アプリケーションの処理について、図１０のフローチャートを用いて説明する。なお、本願においてデスクトップＵＩ用の印刷アプリケーションは図３のレイアウトモジュールを想定しているが、レイアウトモジュールに限る必要はない。
まず、デスクトップＵＩ用の印刷アプリケーションは、プリンタードライバー１０５２により起動された後、ステップＳ９０７で生成された該スプールファイルを取得する（ステップＳ１００１）。
【００３３】
そして、デスクトップＵＩ用の印刷アプリケーションは、印刷設定情報として含まれるＤＥＶＭＯＤＥから、ステップＳ９０５でセットされたフラグを判定する（ステップＳ１００２）。そして、デスクトップＵＩ用の印刷アプリケーションは、フラグに応じてユーザーの入力を促す入力ダイアログをデスクトップＵＩ上に表示する（ステップＳ１００３）。なお、入力ダイアログは、ＷｉｎｄｏｗｓのＡＰＩを利用して、最前面のＵＩとして表示される。
【００３４】
この時、ディスプレイ上では、タッチパネル用ＵＩ（図７）上で動作するアプリケーション（図８）から、デスクトップＵＩ上にデスクトップＵＩ用のアプリケーションが表示した入力ダイアログにフォーカスが切り替わる（図１１ａ）。
【００３５】
そして、デスクトップＵＩ用の印刷アプリケーションは、図１１ａまたは図１１ｂのＯＫボタンが選択された場合、ユーザーから入力されるパスワード等のユーザー入力情報を取得する。そして、デスクトップＵＩ用の印刷アプリケーションは、取得したユーザー入力情報を印刷設定情報に含め、再スプール処理を行う（ステップＳ１００４）。そして、デスクトップＵＩ用の印刷アプリケーションは、スプールファイルを生成し、そのスプールファイルをプリンタードライバー１０５２へ通知する（ステップＳ１００５）。プリンタードライバー１０５２は、Ｓ１００５の処理によりデスクトップＵＩ用の印刷アプリケーションから通知されたスプールファイルに基づいて印刷データを生成し、プリンターへと送信する。この処理を経ることで、描画データとユーザー入力情報を含む印刷設定情報に基づく印刷データが生成される。
【００３６】
なお、本実施例では、図８の状態から「Ｐｒｉｎｔ」ボタンが押されることにより、プリンタードライバーが図９の処理を行う。そして、図９の処理結果により、プリンタードライバーが、プリンタードライバーとは別プロセスで、デスクトップＵＩ上で動作するアプリケーションを起動する。その結果、図１１へ画面遷移をすることでユーザー入力情報を容易に入力可能な状態にすることを説明してきた。しかしながら、プリンタードライバーとは別プロセスで表示ＵＩを持ったデスクトップＵＩ用のソフトウェアが起動されれば、デスクトップＵＩ上で動作するアプリケーションに限る必要はない。例えば、デスクトップＵＩの最前面にＵＩを表示するデスクトップＵＩ用のプログラムやモジュールであってもよい。
【００３７】
本実施例では、タッチパネル用ＵＩ上で動作するアプリケーションからの印刷において、ユーザー入力を促す入力ダイアログを表示する必要がある場合、プリンタードライバー１０５２が別プロセスで、デスクトップＵＩ上で動作するアプリケーションを起動する。その結果、ＯＳがタッチパネル用ＵＩ環境からデスクトップＵＩ環境へと画面を遷移し、その遷移されたデスクトップＵＩの最前面に入力ダイアログが表示される。その結果、ユーザーが図１１ａのような入力ダイアログが表示されていることに容易に気づくことができる。
【００３８】
続いて、ユーザーに入力を促す入力ダイアログについて、図１１を用いて説明する。
【００３９】
上述した説明では、Ｓ１００３で図１１ａが表示される例について説明した。しかしながら、タッチパネル用ＵＩの操作から図９と図１０の処理により図１１ａが表示された場合、タッチ操作がしづらくなるおそれがある。
【００４０】
そこで、Ｓ１００３において、デスクトップＵＩ上で動作するアプリケーションが
図１１ｂをＳ１００３にて表示する。
【００４１】
図１１ｂの入力ダイアログのサイズは、図１１ａのダイアログのサイズよりも大きく、画面いっぱいに表示される。図１１ａのメッセージダイアログの文字列・入力カラム・ボタン等のリソース情報を取得し、前記図１０のデスクトップＵＩで動作する別アプリケーションが、各リソースを拡大表示して再配置したダイアログである。また、これらのリソースは、前記別アプリケーションが保持していても良い。
【００４２】
例えば、ユーザーがタッチパネル用ＵＩでタッチ操作によりを行っていた時に実施例１の処理が行われタッチパネル用ＵＩ環境からデスクトップＵＩ環境へと遷移された場合に、図１１ｂのように入力ダイアログが画面いっぱいに表示される。その結果、デスクトップＵＩ上でもユーザーがタッチ操作を行いやすいＵＩを提供できる。
【００４３】
また、ユーザーに入力を促す入力ダイアログを表示した際に、ダイアログの大きさが大きく変わらないことから、ユーザーに大きな違和感を与えることがなくなる。
【００４４】
また、ユーザーがタッチパネル用ＵＩでタッチ操作を行っていた時に図９の処理によりデスクトップＵＩ環境へと遷移され、図１１ａまたはｂのままで処理が終わってしまった場合、元のタッチパネル用ＵＩ環境へとユーザーが戻す必要が生じる。このユーザーの操作を軽減するための処理について、図１２のフローチャートを用いて説明する。
【００４５】
本フローチャートは、別プロセスで起動したデスクトップＵＩ用のアプリケーションが、ステップＳ１００１と同様にスプールファイルを取得するところから始まる（ステップＳ１２０１）。
【００４６】
そして、デスクトップＵＩ用のアプリケーションは、スプールファイルの印刷設定情報からアプリケーションの情報を取得する（ステップＳ１２０２）。なお、Ｓ１２０２で取得されるアプリケーションの情報は、プリンタードライバー１０５２がＳ９０２で取得した情報である。なお、Ｓ１２０３−Ｓ１２０６は図１０のＳ１００２−Ｓ１００５と同じ処理であるため省略する。
【００４７】
そして、Ｓ１２０６の後で、デスクトップＵＩ用の印刷アプリケーションは、ＷｉｎｏｄｗｓのＡＰＩを使用して起動しているアプリケーション、乃至、プロセスの一覧を取得する。そして、デスクトップＵＩ用の印刷アプリケーションは、ステップＳ１００２で取得したアプリケーションの情報をキーとして、取得されたアプリケーションと合致するプロセスが有るか否かを判定する（ステップＳ１２０７）。
【００４８】
そして、該アプリケーションに該当するプロセスが見つからなければ、そのまま終了する。一方、該アプリケーションに該当するプロセスが見つかれば、デスクトップＵＩ用の印刷アプリケーションは、該アプリケーションのＵＩを最前面に表示させて（ステップＳ１２０８）、本フローチャートを終了する。
【００４９】
これにより、ユーザーがタッチパネル用ＵＩでタッチ操作によりを行っていた時に図９の処理が行われタッチパネル用ＵＩからデスクトップＵＩへと遷移された場合であっても、使用していたタッチパネル用のアプリケーションへ戻ることが可能となる。
【００５０】
［他の実施形態］
また、本発明は、以下の処理を実行することによっても実現される。
【００５１】
即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００５２】
１０４２  プリンター
１０５１  アプリケーション
１０５２  プリンタードライバー
【図１】
0005911309.tif 000002
【図２】
0005911309.tif 000003
【図３】
0005911309.tif 000004
【図４】
0005911309.tif 000005
【図５】
0005911309.tif 000006
【図６】
0005911309.tif 000007
【図７】
0005911309.tif 000008
【図８】
0005911309.tif 000009
【図９】
0005911309.tif 000010
【図１０】
0005911309.tif 000011
【図１１】
0005911309.tif 000012
【図１２】
0005911309.tif 000013