以下、本発明を実施するための最良の形態について図面などを参照して説明する。
(第1実施形態)
図1を参照して、本実施形態に係るシステム構成の概略を説明する。本システムは、情報処理装置の一例であるクライアントコンピュータ101と、ページ記述言語(PDL)形式の印刷データを受信し印刷を行うことが可能なプリンタ102を備える。これらは、ローカル・エリア・ネットワーク(LAN)に代表されるネットワーク103を介して接続され通信可能であり、ネットワーク103は、外部のネットワークと通信可能に接続される。なお、プリンタ102は、印刷機能のみを備えるシングルファンクションプリンタでもよく、印刷機能、スキャン機能、複写機能等を備えるマルチファンクションプリンタでもよい。
図2は、図1のクライアントコンピュータ101のハードウェア構成を示すブロック図である。クライアントコンピュータ101において、中央演算処理装置(CPU)は、ランダムアクセスメモリ(RAM202)に記憶されているプログラムに従って、システムバスに接続される各デバイスを制御する。なお、クライアントコンピュータ101は、少なくとも1つのCPU201を備えるものとする。加えて、CPU201が外部メモリ209に記憶されているプログラムに基づき処理を実行することによって、後述の図3および4に示すようなクライアントコンピュータ101のソフトウェア構成及び後述するフローチャートの各ステップの処理が実現される。
RAM202は、CPU201の主メモリ、ワークエリア等として機能する。リードオンリーメモリ(ROM)203は、ブートプログラムや基本入出力システム(BIOS)等の各種プログラムが書き込まれてある。操作入力装置インターフェース(I/F)204は、キーボードやポインティングデバイス(マウス)タッチUI(User Interface)などの操作入力装置205を制御するインターフェースである。ディスプレイI/F206は、ディスプレイ207への画面の表示を制御する。外部メモリI/F208は、例えば、ハードディスク(HD)、ソリッドステートディスク(SSD)等の外部メモリ209とのアクセスを制御する。外部メモリ209は、オペレーティングシステムプログラム(OS)210や、タッチパネル、デスクトップそれぞれに対応した各種アプリケーション212、プリンタードライバーを含むドライバー211、各種ファイル等を記憶する。そして、コンピュータが読み取り可能な記憶媒体として機能する。ネットワークI/F213は、ネットワーク103を介してプリンタ102に接続され、プリンタ102との間で通信制御処理を行う。
図3および4を参照して、OS210で動作するアプリケーションとドライバーの構成について説明する。本実施形態では、ユーザーが直接操作を行うことができるアプリケーション層とアプリケーションからの要求に応じ、OS210が制御するドライバー・OS層に分かれる。各アプリケーション及びモジュールは、外部メモリ209に格納されており、必要に応じてRAM202にロードされ、クライアントコンピュータ101上のCPU201で実行される。OS210で行われる印刷に関する処理は、タッチパネルで行われる印刷指示と、ドライバー・OS層の印刷処理に分けられる。最初にタッチパネルで行われる印刷指示におけるソフトウェア構成について説明する。
各タッチパネルアプリケーション3004は、印刷用の基本UIである基本印刷設定UI8500を持つ。そして、ユーザーの要求に応じてプリントキュー情報3302をOS210から取得し、プリントキュー情報3302と関連づいた基本印刷設定UI8500を表示する。プリントキュー情報3302は、インストールされているプリントキュー名などを含む、プリントキューごとの情報である。基本印刷設定UI8500は、プリントケイパビリティ3202とプリントチケット3102を基にOS210が作成して表示する簡易的な印刷設定UIである。プリントチケット(印刷設定情報)3102は、設定されている印刷設定の情報である。プリントケイパビリティ3202は、ドライバー211が設定できる印刷設定の一覧の情報である。なお、プリントチケット3102とプリントケイパビリティ3202は、XML(Extensive Markup Language)と呼ばれるタグで項目を区切って情報を管理する形式で記述されている。
タッチパネル印刷詳細設定アプリケーション3006は、基本印刷設定UI8500からユーザーの要求に応じて起動され、表示制御手段として機能する。また、タッチパネル印刷詳細設定アプリケーション3006は、他のアプリケーションが印刷実行する際に呼び出されて起動された場合、詳細な印刷設定を行える機能として呼ばれる。なお、タッチパネル印刷詳細設定アプリケーション3006は、ユーザーがスタート画面でタイルを選択することによって起動された場合、タイルアプリ機能として呼ばれる。なお、本実施形態では、詳細な印刷設定を行える機能として呼ばれており、各種ドライバー211の機能の一覧の表示と詳細な印刷設定の変更をタッチパネルアプリケーション3004から行う。このタッチパネル印刷詳細設定アプリケーション3006は、ユーザープロパティバッグ3012、アプリデータ領域3030、キュープロパティバッグ3013に独自のデータの出し入れができる。また、タッチパネル印刷詳細設定アプリケーション3006とタッチパネルアプリケーション3004は、内部的に自身のバージョン情報を持っている。
ドライバープロパティバッグ3020は、プリンタードライバーのバージョン情報を含むプリンタードライバーごとの情報を記憶してある記憶領域である。ユーザープロパティバッグ3012は、タッチパネル印刷詳細設定アプリケーション3006の保存領域であり、印刷設定におけるユーザーの設定情報などを保存する。アプリデータ領域3030もタッチパネル印刷詳細設定アプリケーション3006の保存領域であり、タッチパネル印刷詳細設定アプリケーション3006の情報などを管理する。キュープロパティバッグ3013は、OS210の管理者で設定された設定情報やステイプルを打つためのフィニッシャーの情報を含むデバイスの設定情報を記憶するための領域である。
タッチパネル印刷詳細設定アプリケーション3006は、OS210にプリントチケット3102とプリントケイパビリティ3202を要求する。プリントケイパビリティ3202とプリントチケット3102の構成については後述する。タッチパネル印刷詳細設定アプリケーション3006は、プリントケイパビリティ3202、プリントチケット3102と用語データベース30064に基づいてUIを生成し、ユーザー操作を受け付ける。用語データベース30064は、タッチパネル印刷詳細設定アプリケーション3006で表示される用語が登録されているデータベースである。
受付完了後、タッチパネル印刷詳細設定アプリケーション3006は、印刷設定を確定し、OS210に確定した印刷設定であるプリントチケット3102を渡す。基本印刷設定UI8500は、ユーザー操作で印刷イベントを受け付け、プリントチケット3102と印刷対象であるXPS(XML Paper Specification)ファイル3402をマージモジュール3018に渡す。なお、XPSファイルとは、XML形式で記述されている文書ファイルである。
次に、ドライバー・OS層の印刷処理におけるソフトウェアコンポーネントについて説明する。この印刷処理では、タッチパネルアプリケーション3004からXPSファイル3402とプリントチケット3102を受けとり、PDL3600を生成して、プリンタ102に渡すところまでの処理が行われる。タッチパネルアプリケーション3004からプリントチケット3102とXPSファイル3402を渡されたマージモジュール3018は、プリントチケット3102とXPSファイル3402を結合して印刷対象のXPSファイル3402を生成する。マージモジュール3018は、XPSファイル3402に印刷設定であるプリントチケット3102を付加する形で結合を行う。マージモジュール3018は、XPSファイル3402をプリントスプーラー3008に渡す。
プリントスプーラー3008は、XPSファイル3402をプリントコンフィグ3007に渡してコンフリクトを解消する。プリントスプーラー3008は、プリントコンフィグ3007から、コンフリクトを解消する処理が行われたXPSファイル3402を取得する。プリントスプーラー3008は、フィルターパイプラインマネージャー3009にXPSファイル3402を渡す。フィルターパイプラインマネージャー3009は、フィルターと呼ばれるモジュールを呼び出すことを担うモジュールであり、フィルターを通じてXPSファイル3402からPDL3600を生成する。フィルターコンフィグ3106には、フィルターパイプラインマネージャー3009が呼び出すべきフィルターの構成がXMLで記述してあり、その記述に応じて必要なフィルターを呼び出す。なお、本実施形態では、一例としてレンダラーフィルター3010を呼び出している。プリントスプーラー3008は、フィルターパイプラインマネージャー3009からPDL3600を取得し、プリンタ102にPDL3600を渡すことで印刷が行われる。
次に、図5および6を参照して、OS210で動作するタッチパネルUIおよびタッチパネルUIからの印刷の基本フローについて説明する。タッチパネルアプリケーション3004は、タッチディスプレイでの操作に重きを置いたUIのデザインになっている。指やペンなどのタッチでの操作が容易であるように、大きなボタンで構成される。タッチパネルアプリケーション3004は、マウスやキーボードの操作入力も受け付けるが、本実施形態では、タッチ操作を行うことを前提に説明する。
図5(A)は、タッチパネルアプリケーション3004を起動するためのOS画面であるスタート画面8000を示す図である。スタート画面8000は、タッチディスプレイ上の全面に表示されている。スタート画面8000には、タッチパネルアプリケーション3004がタイル8001という形式で表示されている。ユーザーがタイル8001をタップすると、そのタイル8001に該当するタッチパネルアプリケーション3004がディスプレイ上全面に表示される。
図5(B)は、WEBブラウザ8100の表示例を示す図である。WEBブラウザ8100は、タッチパネルディスプレイの全面に表示され、他のアプリは表示されない。タッチパネルアプリケーション3004で印刷を行う場合、タッチディスプレイ8101上の右端にタッチし、指を左に滑らせて図5(C)のチャーム8200というメニュー画面を開くことから始まる。チャーム8200の中には、複数の選択肢が存在し、その中のデバイスに関連するメニューの一覧であるデバイスメニューボタン8201をタップすることで、デバイスメニュー8300を開くことができる。
図6(A)は、デバイスメニュー8300の一例を示す図である。本実施形態では、デバイスメニュー8300に、再生、印刷、表示など複数の選択肢が存在し、その中で印刷8301をタップすることで、図6(B)に示す印刷出力先のプリントキューを選ぶプリントキュー選択メニュー8400が表示される。プリントキュー選択メニュー8400には、印刷出力先の候補が列挙されている。印刷出力先の候補の一つである“プリンタ01”8401をタップすると、図6(C)に示す、OS210により提供される基本印刷設定UI8500が表示される。基本印刷設定UI8500で部数やカラーモードなどの基本的な印刷設定情報が設定できる。詳細設定8501が押下されると、タッチパネル印刷詳細設定アプリケーション3006が起動され、ユーザーは、基本設定にはない、さらに詳細な設定を行うことができる。これに関しては、後に詳細に説明する。設定完了後、ユーザーが印刷ボタン8502をタップすることで、PDL3600が作成され、印刷が行われる。
次に、図7を参照して、タッチパネル印刷詳細設定アプリケーション3006について説明する。本実施形態で対象とするタッチパネル印刷詳細設定アプリケーション3006は、図7(A)のトップページ画面と、出力方法などを含む図7(B)のフル機能設定画面を有する。トップページ画面は、ドライバーの基本的な機能を集めたものであり、フル機能設定画面は、さらに詳細な設定機能を集めたものである。これらの2つの印刷設定画面は、画面上で指を左右にスライドすることで移動することができる。フル機能設定画面は、フリップビューと呼ばれるコントロールにより複数のシートから構成されている。フリップビューでは、ユーザーが指を左右にスライドすることで隣接するページに遷移することができる。また、タッチパネル印刷詳細設定アプリケーション3006には、ページドット9002がトップページ画面とフル機能設定画面の全ての下部領域に表示されている。ページドット9002は、ページ数分だけ表示され、それぞれにページ番号が表示されている。ユーザーは、ページドット9002をタップすることで、対応するページ番号のシートに一度に遷移することができる。
図7(A)ではカラーモードのカラー及びモノクロのどちらかを設定するUIのカラーモードUI9003を示す。両面機能UI9004は、両面機能の片面、両面のどちらかを選択するコントロールUIである。出力用紙サイズUI9005は、出力用紙サイズを選択するためのコントロールUIである。本実施形態では、対応する用紙の用語が用語データベース30064になかった時に利用される仮用語が表示されている。入力用紙サイズUI9006は、入力用紙サイズを選択するためのコントロールUIである。本実施形態では、A4用紙が選択されている。ステイプルUI9007は、ステイプル機能を持っていることを示すUIである。
ボタン9001は、戻るボタンであり、ユーザーが印刷設定を確定してタッチパネル印刷詳細設定アプリケーション3006を終了させる時にタップする。図7(B)では、一例として、セキュアプリントなどの選択肢を設定可能な項目である出力方法9011を示す。本実施形態では、通常の印刷を示す「印刷」が設定されている。
次に、図8および9のフローチャートを用いて、タッチパネル印刷詳細設定アプリケーション3006を起動する基本フローについて説明をする。なお、特に指定がない限り、本フローチャートの主語はタッチパネル印刷詳細設定アプリケーション3006である。また、各サブプロセスは図10〜13にて後述する。
まず、タッチパネル印刷詳細設定アプリケーション3006は、他のシステムやユーザーの要求に応じて外部メモリ209からRAM202にロードされ、CPU201で実行され、処理が開始する(ステップS6001)。次に、タッチパネル印刷詳細設定アプリケーション3006は、プリントチケット3102を読み込む(ステップS6002)。
次に、プリントチケット3102のカラーモード機能の設定がモノクロになっているか否かを判定する(ステップS6003)。ここで、カラーモード機能とは、カラー印刷とモノクロ印刷を切り替える機能である。カラー印刷ができるデバイスの場合(カラー機)には、カラーとモノクロを切り替えることができ、モノクロ印刷のみのデバイス(モノクロ機)では、モノクロ固定である。次に、プリントチケット3102のカラーモード機能にカラーが設定されている場合(No)、カラーモードを変更するためのコントロールのカラーモードUI9003を作成する(ステップS6005)。すなわち、選択肢にカラーとモノクロの二つ以上の選択肢があると判定し、カラーモードUI9003を作成する。一方、プリントチケット3102のカラーモード機能にモノクロが設定されている場合(Yes)、設定しているプリントキューがモノクロ機かカラー機の判断がつかないためカラーモードUI仮作成処理を行う(ステップS6004)。
次に、プリントチケット3102の両面機能の設定を確認する(ステップS6006)。すなわち、プリントチケット3102の両面機能の設定が片面設定か否かを判定する。ここで、両面機能とは、両面印刷と片面印刷を切り替える機能である。両面印刷ができるデバイス(両面機)の場合には、両面と片面を切り替えることができ、片面印刷のみができるデバイス(片面機)においては、片面固定となる。
プリントチケット3102の両面機能に両面が設定されている場合(No)、選択肢に両面と片面の二つ以上あると判断し、両面機能UI9004を作成する(ステップS6007)。一方、プリントチケット3102の両面機能に片面が設定されている場合(Yes)、片面機なのか両面機なのかの判断がつかない。片面機の場合には、選択肢が一つのため両面機能は不要だが、両面機ならば選択肢が二つ以上のため両面機能UI9004が必要になる。そこで、片面が設定されている場合には、両面機能仮UI作成処理を行う(ステップS6008)。
次に、プリントチケット3102に設定されている入力用紙サイズと出力用紙サイズの用語を用語データベース30064に持っているか否かを判定する(ステップS6009)。用語データベース30064にプリントチケット3102に設定されている用紙の用語がない場合(Yes)、用紙名仮作成処理を行う(ステップS6011)。一方、用語データベース30064にプリントチケット3102に設定されている用紙の用語を持っている場合(No)、用紙に対応した用語を取得し、入力用紙サイズUI9006及び出力用紙サイズUI9005に表示する(ステップS6010)。
次に、プリントチケット3102にステイプルが設定されているか否かを判定する(ステップS6012)。ステイプルが設定されている場合(No)、ステイプルUI9007を作成する(ステップS6013)。一方、ステイプルが設定されていない場合、ステイプル仮UI作成処理を行う(ステップS6014)。
次に、図5で示すトップページを表示する(ステップS6015)。トップページ表示後に、バックグラウンドでキャッシュデータの作成を行っているか否かを判定する(ステップS6016)。ここで、キャッシュデータとは、既にタッチパネル印刷詳細設定アプリケーション3006を起動していた場合に、保存手段として機能するアプリデータ領域3030に保存されているプリントケイパビリティ3202の情報である。なお、キャッシュデータの作成については図12、13にて後述する。
キャッシュデータを作成している場合(Yes)、バックグラウンド処理が完了するまで待機する(ステップS6017)。なお、バックグラウンド処理についても図10および11にて後述する。キャッシュデータを作成していない場合(No)、またはバックグラウンド処理が完了するまで待機した後、アプリデータ領域3030にキャッシュデータが存在しているか否かを判定する(ステップS6018)。キャッシュデータがアプリデータ領域3030に存在していない場合(No)、以降の起動時にキャッシュを参照できるようにするためにキャッシュデータを作成する(ステップS6019)。キャッシュデータがアプリデータ領域3030に存在している場合(Yes)、またはキャッシュデータを作成した後、処理を終了する。
図10〜13のフローチャートを用いて、図8および9のフローチャートのサブプロセスの処理について説明する。なお、特に指定がない限り、本フローチャートの主語はタッチパネル印刷詳細設定アプリケーション3006である。タッチパネル印刷詳細設定アプリケーション3006は、他のシステムやユーザーの要求に応じて外部メモリ209からRAM202にロードされ、CPU201で実行される。
図10(A)のフローチャートを用いて、カラーモード仮UI作成処理について説明する。カラーモード仮UI作成処理は、タッチパネル印刷詳細設定アプリケーション3006起動時のプリントチケット3102のカラーモードにモノクロが設定されていた場合に開始される(ステップS7001)。次に、キャッシュデータの取得を行い、カラーモードキャッシュ10004を取得する(ステップS7002)。次に、キャッシュデータの取得が出来たか否かを判定する(ステップS7003)。
キャッシュデータの取得に失敗した場合(No)、仮のUIとしてカラーモードUI9003を作成して処理を終了する(ステップS7005)。一方、キャッシュデータの取得に成功した場合(Yes)、キャッシュデータのカラーモードの機能の選択肢が二つ以上あるか否かを判定する(ステップS7004)。二つ以上ある場合(Yes)、カラーモードUI9003を作成して処理を終了する(ステップS7005)。一方、選択肢が一つしかない場合、すなわち選択肢が二つ以上ない場合(No)、カラーモードUI9003を表示することなくそのまま処理を終了する。
次に、図10(B)を用いて両面機能仮UI作成処理について説明する。両面機能仮UI作成処理は、起動時のプリントチケット3102の両面機能に片面が設定されている場合に開始される(ステップS7102)。次に、キャッシュデータの取得を行い、両面機能キャッシュ10005を取得する(ステップS7103)。次に、キャッシュデータの取得が出来たか否かを判定する(ステップS7104)。キャッシュデータの取得に失敗した場合(No)、仮のUIとして両面機能UI9004を表示して処理を終了する(ステップS7105)。一方、キャッシュデータの取得に成功した場合(Yes)、キャッシュデータの両面機能の選択肢が二つ以上あるか否かを判定する(ステップS7105)。二つ以上ある場合(Yes)、両面機能UI9004を作成して処理を終了する(ステップS7106)。一方、選択肢が一つしかない場合、すなわち選択肢が二つ以上ない場合(No)、両面機能仮UIを表示することなくそのまま処理を終了する。
次に、図11(A)を用いて用紙名仮UI作成処理について説明する。用紙名仮UI作成処理は、起動時のプリントチケット3102の入力用紙サイズ及び出力用紙サイズの用紙名を用語データベース30064に持っていない場合に開始される(ステップS7201)。まず、キャッシュデータの取得を行い、用紙のOption名をKeyとしてディスプレイネームキャッシュ10006を取得する(ステップS7203)。次に、キャッシュデータの取得が出来たか否かを判定する(ステップS7204)。キャッシュデータの取得に失敗した場合(No)、用語データベース30064内に登録してある仮の仮用語を入力用紙サイズUI9006及び出力用紙サイズUI9005に表示して処理を終了する(ステップS7205)。一方、キャッシュデータの取得に成功した場合(Yes)、用紙に対応したキャッシュデータ内のDisplayNameを取得して表示する(ステップS7206)。そして、処理を終了する。
次に、図11(B)を用いてステイプル仮UI作成処理について説明する。まず、処理が開始されると(ステップS7301)、最初にキュープロパティバッグ3013からステイプル情報を読み出す(ステップS7302)。次に、ステイプル機能がオンになっているか否かを判定する(ステップS7303)。ステイプル機能がオンになっている場合(Yes)、ステイプルUI9007を表示して処理を終了する(ステップS7304)。一方、ステイプル機能がオンになっていない場合(No)、ステイプルUI9007を表示しないで処理を終了する。
次に、図12を用いてキャッシュデータの取得について説明する。まず、処理が開始され(ステップS8001)、アプリデータ領域3030にキャッシュデータが存在するか否かを判定する(ステップS8002)。キャッシュデータが存在しない場合(No)、バックグラウンド処理を行って処理を終了する(ステップS8006)。一方、キャッシュデータが存在する場合(Yes)、キャッシュデータを取得する(ステップS8003)。次に、キャッシュデータのドライババージョン10007を確認する(ステップS8004)。すなわち、キャッシュデータのドライババージョン10007とプリンタードライバーのバージョンが同じか否かを判定する。ここで、ドライババージョン10007とは、キャッシュデータを作成した時のプリンタードライバーのバージョン情報であり、キャッシュデータ共に保存してある。プリンタードライバーのバージョンが、ドライババージョン10007と異なる場合(No)、キャッシュデータを破棄して(ステップS8005)、バックグラウンド処理を行って処理を終了する(ステップS8006)。
一方、プリンタードライバーのバージョンとドライババージョン10007が同じ場合(Yes)、キャッシュデータのアプリバージョン10008を確認する(ステップS8007)。すなわち、キャッシュデータのアプリバージョン10008と現在のタッチパネル印刷詳細設定アプリケーション3006のバージョンが同じか否かを判定する。ここで、アプリバージョン10008とは、キャッシュデータを作成した時のタッチパネル印刷詳細設定アプリケーション3006のバージョンであり、キャッシュデータ共に自身のバージョンを保存する。アプリバージョン10008と現在のタッチパネル印刷詳細設定アプリケーション3006のバージョンが異なる場合(No)、キャッシュデータを破棄して(ステップS8005)、バックグラウンド処理を行って処理を終了する(ステップS8006)。アプリバージョン10008とタッチパネル印刷詳細設定アプリケーション3006のバージョンが同じ場合(Yes)、そのまま処理を終了する。なお、キャッシュデータの破棄については、一部を破棄してもよく、全てを破棄してもよい。
次に、図13を用いてバックグラウンド処理について説明する。まず、処理が開始され(ステップS8101)、キャッシュデータを作成する(ステップS8102)。具体的には、プリントケイパビリティ3202とドライバープロパティバッグ3020のドライバーのバージョン情報、タッチパネル印刷詳細設定アプリケーション3006のバージョン情報からキャッシュデータを作成する。なお、ステップS8102で作成するキャッシュデータは、プリントケイパビリティ3202の情報全てであってもよく、または一部であってもよい。本実施形態では、先述したドライババージョン10007とアプリバージョン10008もキャッシュデータと共に保存する。プリントケイパビリティ3202を基に加工して別の情報としてキャッシュしてもよい。
また、ドライバープロパティバッグ3020に無効な印刷設定の組み合わせを解消するための情報(GPDファイル)等を保持していた場合、GPDファイルの印刷設定に関わる情報を構文解析して、キャッシュを作成してもよい。さらに、プリントケイパビリティ3202のDisplayNameは、英語、日本語等の言語ごとに異なるため、各国語ごとにキャッシュデータを作成して管理してもよい。なお、キャッシュデータを管理する場所は、アプリデータ領域3030でもよい。
キャッシュデータの作成後、プリントケイパビリティ3202のカラーモードの選択肢が二つ以上あるか否かを判定する(ステップS8103)。選択肢が一つの場合(No)、すなわち選択肢が二つ以上ない場合、カラーモードUI9003を表示する必要がないため非表示にして(ステップS8104)、ステップS8105に進む。一方、選択肢が二つ以上ある場合(Yes)、表示したままにしておき、ステップS8105。
次に、プリントケイパビリティ3202の両面機能の選択肢が二つ以上あるか否かを判定する(ステップS8105)。選択肢が一つの場合(No)、すなわち選択肢が二つ以上ない場合、両面機能UI9004を非表示にして(ステップS8106)、ステップS8107に進む。一方、選択肢が二つ以上ある場合(Yes)、表示したままにして、ステップS8107に進む。
次に、プリントチケット3102に設定されている入力用紙サイズ及び出力用紙サイズの用語を用語データベース30064に持っているか否かを判定する(ステップS8107)。用語データベース30064にある場合(Yes)、何もせずに処理を終了する。一方、用語データベース30064に持っていない場合(No)、プリントケイパビリティ3202のDisplayNameを入力用紙サイズUI9006及び出力用紙サイズUI9005に対応する用紙サイズの用語で表示する(ステップS8108)。そして、処理を終了する。
なお、本実施形態では、プリントチケット3102でトップページを作成する際に、カラーモードUI9003と両面機能UI9004の選択肢が1つなのか2つ以上なのか一意に判断できない場合には、仮のUIを表示しておく。そして、キャッシュデータの作成後に1つの場合には、その仮のUIを非表示にしている。すなわち、表示している仮のUIとキャッシュデータ作成後に表示すべきUIが一致している場合は表示したままにし、違う場合にはその仮のUIを非表示にする。また、プリントチケット3102でトップページを作成する際に、カラーモードUI9003、両面機能UI9004は、選択肢が1つなのか2つ以上なのかの判断ができない場合には非表示にしておき、キャッシュデータの作成後に表示にしてもよい。
次に、図14を参照して、プリントケイパビリティ3202及びプリントチケット3102について説明する。図14(A)は、プリントケイパビリティ3202の一例を示す図である。プリントケイパビリティ3202は、プリンタードライバーが保持している能及び項目の一覧であり、XMLで記述されている。機能の一覧は、Feature12001と呼ばれるタグで記述される。本実施形態では、用紙サイズの一例として、“PageMediaSize”と記述する。各機能の項目の一覧は、Option12002と呼ばれるタグで記述される。本実施形態では、Option12002の一例として、用紙サイズの一つである“Letter”と記述する。Feature12001、Option12002は、それぞれ1つから複数個存在している。DisplayName12005は、Feature12001、Option12002の簡易的な表示をするための用語であり、プリントチケットには存在せず、プリントケイパビリティ3202のみに存在する。また、英語や日本語等のOSで設定されている言語に応じてDisplayNameの内容も各国語に対応した用語へと変更される。本実施形態では、Option12002の“Letter”の“Displayname”を示している。
図14(B)は、プリントチケット3102の一例を示す図である。プリントチケット3102は、印刷設定の選択項目の一覧であり、XMLで記述されている。機能と項目は、プリントケイパビリティ3202と同様に、Feature12003とOption12004のタグで記述されている。本実施形態では、Feature12003の一例として、両面機能を意味する“DocumentDuplex”と記述する。また、Option12004の一例として、選択肢である片面印刷を意味する“OneSided”と記述する。
次に、図15を用いて、本実施形態において重要な位置を占めるキャッシュデータの構成について説明する。本実施形態では、キャッシュデータは、Locality、Container、Key、Valueの4つの要素を持つ。本実施形態では、上述した処理において、キャッシュ情報を取得した際にこの4つの要素を参照して処理を進める。
Localityは、キャッシュ情報の保存場所を決定する設定であり、Temporary、Local、Roamingの3つの設定を持つ。Temporaryは、一時的な保存をする設定であり、ローカルPC内で保存され、OSが任意の時間で保存してある情報を削除する。Localは、ローカルPC内で情報が保存され続ける。Roamingは、ネットワーク103で接続されている複数のデバイスに保存している情報を複製する。ただし、共有するデバイスは、ネットワーク103上で行われるMicrosoftが提供する個人認証で複数のデバイス上のアカウントが同じと判断された時に限られる。また、OSに任意の時間で情報を削除されることはない。なお、本実施形態では、一例として、LocalityにLocal10000を示す。
次に、Containerについて説明する。Containerは、データのまとまりごとに管理するKeyとValueの集合体である。一つのContainerには、複数のKeyとValueを登録することができる。また、一つのLocalityに対し、複数のContainerを持つことができる。なお、本実施形態では、一例として、ContainerにPrint01(10001)のContainerを示す。
KeyとValueは、Container内の保存先と保存してある情報を示す要素である。KeyとValueは、1対1の関係にあり、Keyで検索をすることによりValueの情報を取得することができる。また、Valueの値は、キャッシュを取得する際に得られる情報である。本実施形態では、一例として、KeyにPrintCapabilities10002を示し、ValueにPrintCapabilities10003を示す。カラー機とモノクロ機を判断するためのValueのカラーモードキャッシュとしてColor10004を示す。また、両面機能を判断するためのValueの両面機能キャッシュとしてDuplex10005を示す。用紙名が不明な際に利用するDisplayNameのValueのディスプレイネームキャッシュとしてSecondLetter10006を示す。なお、ディスプレイキャッシュは、Option名をKeyとして、DisplayNameをValueとする。
また、本実施形態では、一例として、ドライババージョン10007として、5.0.0を示す。なお、ドライババージョン10007は、キャッシュ作成時のプリンタードライバーのバージョン情報である。また、本実施形態では、一例として、アプリバージョン10008として、2.0.0を示す。アプリバージョン10008は、キャッシュ作成時のタッチパネル印刷詳細設定アプリケーション3006のバージョン情報である。
以上、本実施形態によれば、プリントチケット3102のみでは、表示方法が不確定なUIにおいても高速に表示しておくことができ、操作時には正式なUIを表示することができる。また、再度起動する際には正式なUIを最初から表示することができるようになる。
(その他の実施例)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
また、本発明の好ましい実施形態について説明したが、本発明は、これらの実施形態に限定されず、その要旨の範囲内で種々の変形および変更が可能である。