(58)【調査した分野】(Int.Cl.,DB名)
前記処理手段は、前記追加機能に係る処理の処理順序において当該追加機能に係る処理を実行する実行手段を呼び出して、当該追加機能に係る処理を行うことを特徴とする請求項2または3に記載の情報処理装置。
【発明を実施するための形態】
【0008】
以下、添付図面を参照して、本発明の実施の形態について詳細に説明する。
<システムの全体構成>
まず、本実施の形態に係る印刷システム1の全体構成について説明する。
図1は、本実施の形態に係る印刷システム1の概略構成の一例を示す図である。図示するように、印刷システム1は、ネットワーク30を介して接続された、端末装置10と印刷装置20とを備えている。
【0009】
端末装置10は、ユーザが文書を印刷する際に操作するコンピュータ装置であり、ユーザの操作をもとに印刷装置20に対して印刷の指示を行う。端末装置10としては、例えばPC(Personal Computer)を用いればよい。本実施の形態では、情報処理装置の一例として、端末装置10が用いられる。
【0010】
印刷装置20は、用紙等の記録媒体に画像を形成し印刷処理を行う装置である。印刷装置20としては、プリント機能のみを有するものを用いてもよいが、プリント機能に加えて、コピー機能、スキャン機能、ファクシミリ機能等の他の画像処理機能を有するものを用いてもよい。
【0011】
ネットワーク30は、端末装置10と印刷装置20との間の情報通信に用いられる通信手段であり、例えば、LAN(Local Area Network)やインターネットを用いるとよい。
【0012】
ここで、本実施の形態に係る印刷システム1では、ユーザが端末装置10を操作して印刷する際、端末装置10にてプリンタードライバーが起動され、印刷の設定を行うための印刷設定画面が表示される。
【0013】
以下では、端末装置10で起動されるプリンタードライバーの一例として、Windows(登録商標)のV4のプリンタードライバーを挙げて説明する。詳細については後述するが、WindowsのV4のプリンタードライバーでは、印刷装置20に特有の機能を指定可能な拡張UIが使用される。
なお、本実施の形態で用いられるプリンタードライバーとしては、V4のプリンタードライバーに限られるものではない。
【0014】
<端末装置のハードウェア構成>
次に、端末装置10のハードウェア構成について説明する。
図2は、本実施の形態に係る端末装置10のハードウェア構成例を示した図である。
【0015】
図示するように、端末装置10は、演算手段であるCPU(Central Processing Unit)11と、記憶手段であるメインメモリ12および磁気ディスク装置(HDD:Hard Disk Drive)13とを備える。ここで、CPU11は、OS(Operating System)やアプリケーションプログラム(以下、「アプリケーション」という)等の各種プログラムを実行し、端末装置10の各機能を実現する。また、メインメモリ12は、各種プログラムやその実行に用いるデータ等を記憶する記憶領域であり、磁気ディスク装置13は、各種プログラムに対する入力データや各種プログラムからの出力データ等を記憶する記憶領域である。さらに、端末装置10は、外部との通信を行うための通信I/F14と、ビデオメモリやディスプレイ等からなる表示機構15と、キーボードやマウス等の入力デバイス16とを備える。
【0016】
なお、本発明の実施の形態を実現するプログラムは、磁気記録媒体(磁気テープ、磁気ディスクなど)、光記録媒体(光ディスクなど)、光磁気記録媒体、半導体メモリなどのコンピュータが読取可能な記録媒体に記憶した状態で提供し得る。また、インターネットなどの通信手段を用いて端末装置10にダウンロードさせてもよい。
【0017】
<端末装置の機能構成>
次に、端末装置10の機能構成について説明する。
図3は、本実施の形態に係る端末装置10の機能構成例を示したブロック図である。端末装置10では、アプリケーション101と、OS102と、プリンタードライバー110と、ドライバー拡張UI120と、追加機能モジュール103と、スプーラー104と、ポートモニター105とが動作する。
【0018】
アプリケーション101は、V4プリンタードライバーと連動してインストール可能なWindowsストアデバイスアプリと呼ばれるアプリケーションの一種である。このアプリケーション101は、ユーザの操作に応じて、OS102上で動作し、印刷対象となる画像データが含まれる印刷データを作成する。
また、アプリケーション101は、印刷要求があった場合に、プリントケーパビリティ(PC:Print Capabilities)の要求を、OS102を介してプリンタードライバー110の後述する構成モジュール111に送信する。
【0019】
ここで、PCとは、印刷装置20がサポートする機能をXML形式で記述したものである。具体的には、PCには、プリンタードライバー110にて設定可能な印刷設定機能と、それぞれの印刷設定機能の設定値およびその属性がXML形式で記述されている。例えば、用紙の種類のように複数の選択肢から選択する印刷設定機能の場合には、「用紙種類の設定値は選択式で、A4、A5、Letterが選択可能」という内容がXML形式で記述される。また、印刷部数のように数値を設定する印刷設定機能の場合には、「設定値は数値で、0〜999まで入力可能」という内容がXML形式で記述される。
【0020】
アプリケーション101は、構成モジュール111からPCを受け取ると、PCに記述される内容を把握し、それに基づいて、ドライバー拡張UI120に対して後述する拡張印刷設定UI121の表示要求を行う。
詳細については後述するが、アプリケーション101は、拡張印刷設定UI121の表示要求に際し、PCに記述される内容に基づいてプリントチケット(PT:Print Ticket)を作成する。そして、アプリケーション101は、作成したPTを、OS102を介してドライバー拡張UI120の後述する機能変更解釈部123に送信する。
【0021】
ここで、PTとは、印刷設定情報の一例であり、PCで定義されている印刷設定機能に対しての設定値をXML形式で記述したものである。例えば、「用紙種類はA4」という内容がXML形式で記述される。設定値としては、拡張印刷設定UI121に表示する際のデフォルト値や、プリンタードライバー110側で設定された値が記述される場合もある。
【0022】
PTは、カスタマイズが可能である。例えば、アプリケーション101は、PTを作成する際に、PCで定義されている印刷設定機能とは異なる印刷設定機能の追加や、PCで定義されている印刷設定機能の削除についての情報を付加することもできる。詳細については後述するが、アプリケーション101がPTに付加する印刷設定機能の追加や削除についての情報としては、追加する印刷設定機能に係る設定項目の印刷設定画面における表示位置や、追加する印刷設定機能に係るフィルター処理の処理順序、削除する印刷設定機能の設定項目やその選択肢等の情報が挙げられる。
なお、以下の説明において、PCで定義されている印刷設定機能を「既存機能」と呼び、アプリケーション101により新たに追加する印刷設定機能を「追加機能」と呼ぶ場合がある。
【0023】
また、アプリケーション101は、印刷時には、XPS(XML Paper Specification)形式の印刷データを、PTとともにプリンタードライバー110に送信する。ここで、XPSとは、電子文書を記述するためのXMLベースのフォーマットである。
【0024】
OS102は、基本ソフトウェアであって、端末装置10のハードウェアとソフトウェアとを管理し、各種プログラムやその実行の制御を行う。
【0025】
追加機能モジュール103は、実行手段の一例であって、印刷データに対して追加機能に対応する加工処理を行うプラグインモジュールである。追加機能モジュール103は、プリンタードライバー110の後述するレンダリングモジュール113からの呼び出しに基づいて、アプリケーション101から送信されたXPS形式の印刷データに対して加工を施す。追加機能モジュール103は、後述するレンダリングモジュール113と同様に、加工処理がXPSフィルターとして定義されて、XPSファイルに含まれる印刷設定に応じて加工が施される。本実施の形態のプリンタードライバー110では、追加機能モジュール103により、レンダリングモジュール113におけるXPSフィルター構成を変更することなく、追加機能に対応する加工処理を施すことができるようになっている。
【0026】
スプーラー104は、印刷処理のスケジュール管理を行うOSモジュールである。このスプーラー104は、後述するレンダリングモジュール113により登録された印刷データを受け付けて、順次送信する制御を行う。
【0027】
ポートモニター105は、スプーラー104と印刷装置20との間のデータのやり取りを仲介するモジュールである。具体的には、ポートモニター105は、スプーラー104から印刷データを受け付けて、受け付けた印刷データを印刷装置20に送信する。印刷データが印刷装置20に送信されることにより、印刷装置20にて印刷処理が行われる。
【0028】
プリンタードライバー110は、V4プリンタードライバーであり、構成モジュール111と、レンダリングモジュール変更部112と、レンダリングモジュール113とを有している。
【0029】
構成モジュール111は、プリンタードライバー110が備える印刷設定機能の情報を保持する。そして、構成モジュール111は、アプリケーション101からOS102を介してPCの要求を受けた場合に、PCを生成し、OS102を介してアプリケーション101にPCを返す。
また、構成モジュール111は、OS102を介してドライバー拡張UI120の後述する拡張印刷設定UI121から受け取ったPTに基づいて印刷設定制御を行う。
【0030】
レンダリングモジュール変更部112は、導出手段の一例であって、OS102を介してドライバー拡張UI120の拡張印刷設定UI121から受け取ったPTに基づいて、追加機能の有無や、既存機能の削除の有無等を解釈する。また、レンダリングモジュール変更部112は、追加機能がある場合や既存機能の削除がある場合には、PTに記述される追加機能モジュール103の呼び出し位置や削除する既存機能に関する情報を、レンダリングモジュール113に伝える。言い換えると、レンダリングモジュール変更部112は、PTに記述される情報に基づいて、追加機能や既存機能に係る処理の処理順序を導出し、レンダリングモジュール113に伝える。
【0031】
レンダリングモジュール113は、処理手段の一例であって、アプリケーション101から送信されたXPS形式の印刷データに対して様々な加工を施す。ここで、プリンタードライバー110では、各加工処理がXPSフィルターとして定義される。そのため、レンダリングモジュール113には、各種のXPSフィルター(XPSフィルター群)が設けられており、印刷データとともに送られたPTに記述される印刷設定やレンダリングモジュール変更部112からの情報に応じて、各XPSフィルターにて適切な加工が施されていく。
詳細については後述するが、例えば追加機能がある場合には、レンダリングモジュール113は、レンダリングモジュール変更部112から受け取った呼び出し位置に関する情報に基づいて、追加機能モジュール103を呼び出し、処理を実行する。また、既存機能の削除がある場合には、レンダリングモジュール113は、削除する既存機能に関する処理をスキップしながら、各処理を実行する。
【0032】
また、レンダリングモジュール113には、印刷データを最終的には印刷装置20が解釈するページ記述言語(PDL(Page Description Language))に変換するXPSフィルターも存在しており、このXPSフィルターが印刷データをスプーラー104に登録する。
【0033】
ドライバー拡張UI120は、Windowsストアデバイスアプリの一種であり、プリンタードライバー110に詳細な印刷設定を行わせるためのアプリケーションである。このドライバー拡張UI120が存在する環境では、アプリケーション101からOS102を介してドライバー拡張UI120を呼び出すことができる。ドライバー拡張UI120は、拡張印刷設定UI121と、表示制御部122と、機能変更解釈部123とを有している。
【0034】
拡張印刷設定UI121は、ドライバー拡張UI120にて動作する印刷設定画面であり、ユーザからの操作入力を受け付けるモジュールである。例えば、拡張印刷設定UI121は、ユーザからの操作入力をもとに、画面に表示された印刷設定の設定変更を受け付ける。また、この拡張印刷設定UI121では、Microsoft社が提示するV4のUIガイドラインに準拠する必要があるが、各プリンターベンダーにて自由に拡張した表示を行うことができる。
【0035】
また、拡張印刷設定UI121は、印刷設定画面にてユーザからの操作入力を受け付けた場合に、ユーザが設定した設定値(選択肢)をPTに格納し、プリンタードライバー110のレンダリングモジュール変更部112に出力する出力手段としても機能する。
【0036】
表示制御部122は、表示制御手段の一例であって、各プリンターベンダーにて拡張した拡張印刷設定UI121の画面を表示機構15などに表示して制御するモジュールである。本実施の形態の表示制御部122は、機能変更解釈部123から受け取った表示情報に基づいて、拡張印刷設定UI121の印刷設定画面のレイアウトを決定する。詳細については後述するが、機能変更解釈部123は、機能変更解釈部123からの表示情報に基づいて、拡張印刷設定UI121の印刷設定画面にて追加機能に係る設定項目を追加したり、既存機能に係る設定項目の表示を削除したりする。
【0037】
機能変更解釈部123は、受付手段の一例であって、OS102を介して、プリンタードライバー110の構成モジュール111との間でPTのやり取りを行う。具体的には、機能変更解釈部123は、拡張印刷設定UI121にて表示された情報をPTに反映し、OS102を介して構成モジュール111に出力する。
さらに、機能変更解釈部123は、OS102を介して構成モジュール111から受け取ったPTを表示情報として解釈し、解釈した表示情報を表示制御部122に出力する。
【0038】
さらに、本実施の形態の機能変更解釈部123は、OS102を介してアプリケーション101から受け取ったPTを表示情報として解釈し、解釈した表示情報を表示制御部122に出力する。
なお、上述したように、アプリケーション101からのPTには、表示情報として、アプリケーション101にて追加された印刷設定機能(追加機能)の仕様やアプリケーション101にて削除された既存機能の種類等の情報が記録される。
【0039】
上述したように、V4プリンタードライバーでは、拡張印刷設定UI121における表示レイアウトを変更(カスタマイズ)することが可能に構成されている。
例えば、プリンタードライバー110は、構成モジュール111が保持する印刷設定機能の情報を変更することで、拡張印刷設定UI121の印刷設定画面の表示レイアウトを変更することができる。
【0040】
ところで、例えば業務専用のアプリケーション101を用いる場合に特殊な印刷設定機能が必要になる等、構成モジュール111が保持する印刷設定機能とは異なる印刷設定機能を使用したい場合がある。
具体的には、特定のアプリケーション101から印刷要求を行う場合に特殊の印刷設定機能を用いたいという場合や、アプリケーション101の種類等に応じて異なる印刷設定機能を用いたいという場合がある。また、このような場合には、アプリケーション101による印刷設定機能の追加や削除に応じて、拡張印刷設定UI121の印刷設定画面を変更(カスタマイズ)する必要がある。
【0041】
しかしながら、上述したように構成モジュール111が保持する印刷設定機能の情報を変更してプリンタードライバー110ごとに拡張印刷設定UI121の印刷設定画面の表示レイアウトを変更する場合には、異なるアプリケーション101から印刷要求を行った場合であっても、同じ表示内容の印刷設定画面が表示されることになる。この場合、特定のアプリケーション101により既存の印刷設定機能とは異なる印刷設定機能の追加を行った場合に印刷設定画面に追加機能が表示されなかったり、特定のアプリケーション101では用いることができない印刷設定機能が印刷設定画面に表示されたりする場合がある。
【0042】
また、例えばWindows 8以降のOS102を用いる場合、プリンタードライバー110をインストールする際に、プリンタードライバー110への電子署名が必須となっている。
このため、アプリケーション101によって印刷設定機能の追加や削除を行う場合にプリンタードライバー110の構成を変更した場合、再度電子署名を行う必要がある。このような場合には、拡張印刷設定UI121の印刷設定画面の表示を変更したり、印刷データに対してアプリケーション101により追加された追加機能に係る処理を施したりする場合に、電子署名を行う必要があるため、手間がかかりやすい。
【0043】
これに対し、本実施の形態では、アプリケーション101で作成されるPTを用いることで、プリンタードライバー110の構成を変更することなく、アプリケーション101による印刷設定機能の追加や削除を可能としている。
【0044】
<アプリケーションによる印刷設定機能の変更に係る処理例1>
続いて、アプリケーション101により、PCにて定義されている印刷設定機能とは異なる印刷設定機能(追加機能)が追加された場合に本実施の形態の印刷システム1にて行われる処理について、具体例を用いて説明する。
図4は、印刷設定機能の追加を行う場合にアプリケーション101により作成されるPTの例を示した図である。ここで、
図4では、アプリケーション101により追加機能として「ID Print」機能が追加される場合に、アプリケーション101が作成するPTを示している。
【0045】
アプリケーション101は、プリンタードライバー110の構成モジュール111からPCを受け取ると、受け取ったPCに基づいて、PTを作成する。
本実施の形態のアプリケーション101は、上述したように、PCで定義されている印刷設定機能(既存機能)とは異なる印刷設定機能の追加を行う場合、PTに追加する印刷設定機能(追加機能)に関する情報を付加する。
【0046】
具体的には、アプリケーション101は、
図4に示すように、PCにて定義されている印刷設定機能(既存機能)に対しての設定値に関する設定値情報P1に加えて、追加する印刷設定機能(追加機能)の仕様に関する追加仕様情報P2を記述する。追加仕様情報P2は、追加機能の仕様として、追加機能の名称、追加機能の設定値の型(選択型、設定型等)、設定値の選択肢、設定値のデフォルト値、追加機能に対する制限、追加機能に係る設定項目の表示位置、追加機能のフィルター処理位置等が、ドライバー拡張UI120の機能変更解釈部123が解釈できる形式で記述される。追加仕様情報P2は、設定値情報P1とは異なり、PCに記述される印刷設定機能の仕様と同様の形式で記述される。
この例では、追加仕様情報P2が印刷設定機能を変更する変更情報に当たる。
【0047】
図4に示すPTには、追加機能である「ID Print」の名称、設定値の型、設定値のデフォルト値(「fx12345」)、追加機能である「ID Print」の設定項目の表示位置等が、XML形式で記述されている。
【0048】
そして、アプリケーション101は、設定値情報P1と追加仕様情報P2とを記述したPTを、ドライバー拡張UI120(機能変更解釈部123)に送る。
【0049】
ドライバー拡張UI120の機能変更解釈部123は、アプリケーション101にて作成されたPTを受け取ると、PTに記述された設定値情報P1および追加仕様情報P2を解釈する。そして、ドライバー拡張UI120の表示制御部122は、機能変更解釈部123にて解釈した設定値情報P1および追加仕様情報P2に基づいて、拡張印刷設定UI121の印刷設定画面を変更して表示する。
図5は、表示を変更する前の(アプリケーション101により印刷設定機能を追加していない)拡張印刷設定UI121の印刷設定画面の一例を示した図である。また、
図6は、
図4に示したPTの記述に基づいて表示を変更した後の拡張印刷設定UI121の印刷設定画面の一例を示した図である。
【0050】
アプリケーション101により印刷設定機能が追加されていない場合に表示される印刷設定画面は、
図5に示すように、PCにて記述されている既存機能の設定項目として、「用紙サイズ」の項目201、「給紙方法」の項目202、「カラーモード」の項目203、「印刷の向き」の項目204、「まとめて1枚」の項目205が表示されている。そして、
図5に示すように、PTに記述された設定値情報P1に基づいて、「用紙サイズ」の項目201は「A4」、「給紙方法」の項目202は「自動」、「カラーモード」の項目203は「カラー」、「印刷の向き」の項目204は「縦」、「まとめて1枚」の項目205は「2アップ」が設定されている。
【0051】
一方、アプリケーション101によって印刷設定機能(この例では、「ID Print」機能)が追加されると、ドライバー拡張UI120の表示制御部122は、PTに記述された追加仕様情報P2に基づいて、印刷設定画面に対して追加機能の設定項目として「ID Print」の項目210を追加する。ここでは、
図6に示すように、追加機能である「ID Print」の項目210が、既存機能の設定項目である「まとめて1枚」の項目205の下部に表示される。そして、
図6に示すように、追加機能である「ID Print」の項目210のIDの設定値(デフォルト値)として、「fx12345」が設定される。
このように、アプリケーション101によって追加された追加機能の設定項目が印刷設定画面に表示されることで、ユーザが追加機能の設定項目およびその設定値を把握することが可能となる。これにより、ユーザが意図しない追加機能が実現されることが抑制される。
【0052】
続いて、印刷設定画面において追加機能が表示され、設定値が設定(または選択)された状態でユーザにより印刷が指示されると、拡張印刷設定UI121は、追加仕様情報P2に、設定または選択された追加機能の設定値の情報を加え、PTに格納する。そして、拡張印刷設定UI121は、既存機能に係る設定値情報P1および追加機能に係る追加仕様情報P2が格納されたPTを、OS102を介してプリンタードライバー110に出力する。
【0053】
プリンタードライバー110のレンダリングモジュール変更部112は、拡張印刷設定UI121からPTを受け取ると、PTに記述されている設定値情報P1、追加仕様情報P2を解釈する。本実施の形態では、レンダリングモジュール変更部112は、設定値情報P1から既存機能の設定項目および設定値を解釈するのに加えて、追加仕様情報P2から、追加機能の設定項目(「ID Print」)、設定値(fx12345)、および追加機能に係る処理を行う順序(追加機能に係るフィルターの呼び出し位置)を解釈する。言い換えると、レンダリングモジュール変更部112は、PTから追加機能および既存機能に係る処理の処理順序を導出する。
【0054】
続いて、プリンタードライバー110のレンダリングモジュール113は、レンダリングモジュール変更部112にて解釈した情報に基づき、印刷データに対して加工を施す。すなわち、レンダリングモジュール113は、レンダリングモジュール変更部112にて導出された処理順序に基づき、既存機能に係るフィルター処理および追加機能に係るフィルター処理を行う。言い換えると、レンダリングモジュール113は、既存機能に係るフィルター処理を行いながら、レンダリングモジュール変更部112にて解釈された呼び出し位置で追加機能モジュール103から追加機能に係るフィルターを呼び出して、追加機能に係るフィルター処理を行う。
【0055】
ここで、本実施の形態では、レンダリングモジュール113は、追加機能に係るフィルター処理を行う場合には、レンダリングモジュール113に設けられるXPSフィルター群に追加機能に係るフィルターを追加するのではなく、プリンタードライバー110の外に設けられた追加機能モジュール103から追加機能に係るフィルターを呼び出して処理を行う。このような構成を採用することで、アプリケーション101からの要求に応じて追加機能に係る処理を行う場合であっても、プリンタードライバー110の構成を変更する必要がなくなる。これにより、本実施の形態では、プリンタードライバー110について再度電子署名を行うことなく、アプリケーション101により追加された追加機能に係る処理を行うことが可能となっている。
【0056】
その後、レンダリングモジュール113は、既存機能および追加機能に係る処理を施しPDLに変換した印刷データをスプーラー104に出力する。そして、スプーラー104に登録された印刷データは、ポートモニター105を介して印刷装置20に送信され、印刷装置20にて印刷処理が行われる。これにより、本実施の形態の印刷システム1にて行われる一連の処理が終了する。
【0057】
<アプリケーションによる印刷設定機能の変更に係る処理例2>
アプリケーション101によって、PCにて定義されている印刷設定機能(既存機能)とは異なる印刷設定機能(追加機能)が追加された場合、既存機能と追加機能との間で禁則が生じる場合がある。具体的には、PCにて定義されている既存機能の中に、アプリケーション101により追加された追加機能とは同時に行うことができない印刷設定機能が存在したり、アプリケーション101により追加された追加機能とは同時に設定(または選択)することができない追加機能の設定値(選択肢)が存在したりする場合がある。
ここでは、既存機能と追加機能との間で禁則が生じる場合に本実施の形態の印刷システム1にて行われる処理例について説明する。
【0058】
図7は、アプリケーション101により追加機能として「ID Print」機能が追加される場合に、アプリケーション101により作成されるPTの一例を示している。
図7に示すPTには、既存機能に対しての設定値に関する設定値情報P1、および追加機能の仕様に関する追加仕様情報P2に加えて、アプリケーション101により追加される追加機能と既存機能との間に生じる禁則に関しての情報(禁則情報P3)が記述される。
この例では、追加仕様情報P2および禁則情報P3が変更情報に当たる。
【0059】
ここで、禁則情報P3には、追加機能と禁則関係にある既存機能の種類や、追加機能と禁則関係にある既存機能の設定値(選択肢)が記述される。
具体的には、
図7に示すように、禁則情報P3には、追加機能と禁則関係にある既存機能やその設定値が例えば<ns0000:Constraint>等のような独自のタグ内に表記される。この例では、追加機能である「ID Print」機能と禁則関係にある既存機能として、<ns0000:Constraint>のタグ内に、「まとめて1枚」機能(Document NUp)が表記されている。
【0060】
ドライバー拡張UI120の機能変更解釈部123は、禁則情報P3が記述されたPTをアプリケーション101から受け取ると、設定値情報P1および追加仕様情報P2と同様に、禁則情報P3についても解釈する。機能変更解釈部123は、禁則情報P3について具体的には、追加機能と禁則関係にある既存機能の種類や既存機能の設定値(選択肢)を解釈する。そして、機能変更解釈部123は、禁則情報P3に基づいて、設定値情報P1に含まれる既存機能やその設定値が、追加機能と禁則関係に当たるか否かを判定する。
【0061】
次いで、ドライバー拡張UI120の表示制御部122は、機能変更解釈部123にて解釈した設定値情報P1、追加仕様情報P2および禁則情報P3に基づいて、拡張印刷設定UI121の印刷設定画面を変更して表示する。具体的には、表示制御部122は、印刷設定画面において、追加機能と禁則関係にある既存機能に係る設定項目、または追加機能と禁則関係にある既存機能の設定値(選択肢)を、非表示またはグレーアウトで表示する。これにより、印刷設定画面においてユーザが追加機能と禁則関係にある既存機能に係る設定項目、または追加機能と禁則関係にある既存機能の設定値(選択肢)を設定できないようにする。
【0062】
また、本実施の形態のドライバー拡張UI120では、印刷設定画面においてユーザにより各設定項目の設定値(選択肢)が変更される度に、PTの更新を行うとともに、機能変更解釈部123が、設定された設定値(選択肢)が追加機能と禁則関係に当たるか否かの判定を行う。そして、機能変更解釈部123によって、ユーザにより設定された設定値(選択肢)が追加機能と禁則関係に当たると判定された場合には、表示制御部122は、禁則関係に当たる設定項目または設定値(選択肢)を非表示またはグレーアウトで表示する。
【0063】
本実施の形態では、追加機能と禁則関係にある既存機能の設定項目、または追加機能と禁則関係にある既存機能の設定値(選択肢)を設定できないようにすることで、ユーザが禁則関係にある既存機能やその設定値を誤って設定することが抑制される。
【0064】
図8は、
図7に示したPTの記述に基づいて表示を変更した後の拡張印刷設定UI121の印刷設定画面の一例を示した図である。
図8に示すように、印刷設定画面には、表示制御部122により、アプリケーション101にて追加された「ID Print」機能に係る設定項目210が追加して表示される。さらに、
図8に示すように、印刷設定画面には、表示制御部122により、「ID Print」機能と禁則関係にある「まとめて1枚」機能の設定項目205が、グレーアウトで表示される。これにより、「まとめて1枚」機能の設定項目205が、ユーザによる操作対象から外れ、「ID Print」機能と禁則となる「まとめて1枚」機能に係る処理が設定されることが防止される。
【0065】
その後、印刷設定画面にてユーザにより印刷指示がされると、拡張印刷設定UI121は、上述した設定値情報P1および追加仕様情報P2に加えて、追加機能と禁則となる既存機能に係る禁則情報P3をPTに格納する。そして、拡張印刷設定UI121は、PTを、プリンタードライバー110のレンダリングモジュール変更部112に出力する。
レンダリングモジュール変更部112は、拡張印刷設定UI121からPTを受け取ると、既存機能の設定値、追加機能の設定値および追加機能に係る処理を行う順序に加えて、禁則となる既存機能を解釈する。
【0066】
そして、レンダリングモジュール113は、レンダリングモジュール変更部112にて解釈された処理順序に基づき、追加機能モジュール103を呼び出しながら、既存機能に係るフィルター処理および追加機能に係るフィルター処理を行う。この際、レンダリングモジュール113は、追加機能と禁則となる既存機能については、処理を行わずにスキップする。この例では、レンダリングモジュール113は、「まとめて1枚」機能に係る処理を行わずにスキップする。
【0067】
その後、レンダリングモジュール113は、既存機能および追加機能に係る処理を施しPDLに変換した印刷データをスプーラー104に出力する。そして、スプーラー104に登録された印刷データは、ポートモニター105を介して印刷装置20に送信され、印刷装置20にて印刷処理が行われる。これにより、本実施の形態の印刷システム1にて行われる一連の処理が終了する。
【0068】
<アプリケーションによる印刷設定機能の変更に係る処理例3>
また、アプリケーション101によって、PCにて定義されている印刷設定機能(既存機能)を用いた印刷を許可せずに削除する指示をする場合がある。PCにて定義されている既存機能を削除する場合にアプリケーション101が作成するPTには、既存機能に対しての設定値に関する設定値情報P1(
図4参照)に加えて、削除する既存機能を示した情報(削除情報)が記述される。この例では、削除情報が変更情報に当たる。
【0069】
例えば、アプリケーション101がカラーでの印刷を許可しない場合には、アプリケーション101により作成されるPTには、削除情報として、「カラーモード」機能を削除する旨が、ドライバー拡張UI120の機能変更解釈部123が解釈できる形式で記述される。さらに、カラーでの印刷をせずにモノクロでの印刷を行うために、PTの設定値情報P1には、「カラーモード」機能の設定値として「モノクロ」が指定され記述される。
【0070】
ドライバー拡張UI120の機能変更解釈部123は、削除情報が記述されたPTをアプリケーション101から受け取ると、削除する既存機能を解釈する。
そして、ドライバー拡張UI120の表示制御部122は、機能変更解釈部123にて解釈した削除情報に基づいて、拡張印刷設定UI121の印刷設定画面を変更して表示する。具体的には、表示制御部122は、印刷設定画面において、削除する既存機能に係る設定項目を非表示とし、削除しない既存機能の設定項目のみを表示する。
【0071】
図9は、アプリケーション101(
図3参照)により既存機能を削除する指示がなされた場合の拡張印刷設定UI121の印刷設定画面の一例を示した図である。
図9に示すように、印刷設定画面は、表示制御部122により、「カラーモード」機能の設定項目203(
図5参照)が削除され非表示状態とされる。また、印刷設定画面には、「カラーモード」機能以外の既存機能の設定項目である「用紙サイズ」の項目201、「給紙方法」の項目202、「印刷の向き」の項目204、「まとめて1枚」の項目205およびその設定値が表示される。
【0072】
その後、印刷設定画面にてユーザにより印刷指示がされると、拡張印刷設定UI121からプリンタードライバー110のレンダリングモジュール変更部112にPTが出力される。この例では、アプリケーション101により「カラーモード」機能が削除されておりカラーでの印刷が制限されるため、上述したように、PTには、「カラーモード」の設定値として「モノクロ」が設定され記述されている。
レンダリングモジュール変更部112は、拡張印刷設定UI121からPTを受け取ると、既存機能の設定値や、アプリケーション101により削除された既存機能の種類、既存機能の処理順序を解釈する。
【0073】
そして、レンダリングモジュール113は、レンダリングモジュール変更部112にて解釈された処理順序に基づき、既存機能に係るフィルター処理を行う。この際、レンダリングモジュール113は、アプリケーション101により削除された既存機能については、処理を行わずにスキップする。
この例では、上述したように、アプリケーション101により「カラーモード」機能が削除されており、「カラーモード」の設定値として「モノクロ」が設定されている。したがって、レンダリングモジュール113は、印刷データに対して「カラー」フィルターによる処理は行わずに、モノクロの印刷データをスプーラー104に出力する。
【0074】
その後、スプーラー104に登録された印刷データは、ポートモニター105を介して印刷装置20に送信され、印刷装置20にて印刷処理が行われる。これにより、本実施の形態の印刷システム1にて行われる一連の処理が終了する。
【0075】
<ドライバー拡張UIにおける処理手順>
続いて、アプリケーション101により印刷設定機能の追加・変更がされる場合に、ドライバー拡張UI120にて行われる処理の手順について説明する。
図10は、ドライバー拡張UI120にて行われる処理の手順の一例を示すフローチャートである。
上述したように、印刷要求がなされると、プリンタードライバー110の構成モジュール111からPCを受け取ったアプリケーション101にて、PCに基づいてPTが作成され、PTがOS102を介してドライバー拡張UI120に出力される。
【0076】
ドライバー拡張UI120の機能変更解釈部123は、アプリケーション101から出力されたPTを受け付ける(ステップ101)。
そして、機能変更解釈部123は、受け付けたPTの内容を解釈し(ステップ102)、PTに追加機能の仕様に関する追加仕様情報P2があるか否かの判定を行う(ステップ103)。言い換えると、機能変更解釈部123は、アプリケーション101によりPCに定義されている既存機能とは異なる印刷設定機能(追加機能)の追加が行われているか否かを判定する。
【0077】
ステップ103においてPTに追加仕様情報P2があると判定された場合(ステップ103にてYes)、機能変更解釈部123は、PTの追加仕様情報P2から追加機能の設定項目、および拡張印刷設定UI121の印刷設定画面における追加機能の設定項目の表示位置を解釈し、表示制御部122に伝える(ステップ104)。また、PTに禁則情報P3が含まれる場合には、ステップ104において機能変更解釈部123は、追加機能と禁則となる既存機能の設定項目または設定値を解釈し、併せて表示制御部122に伝える。
【0078】
次いで、表示制御部122は、機能変更解釈部123から受け取った情報に基づいて、拡張印刷設定UI121の印刷設定画面に対して、追加機能の設定項目を追加する変更を行う(ステップ105)。また、表示制御部122は、追加機能に禁則となる既存機能の設定項目または設定値がある場合には、その既存機能を印刷設定画面から削除またはグレーアウトする変更を行う。
【0079】
また、ステップ103においてPTに追加仕様情報P2がないと判定された場合(ステップ103にてNo)、ステップ104およびステップ105を行わずに、後述するステップ106へ移行する。
【0080】
続いて、機能変更解釈部123は、PTに既存機能の削除に関する削除情報があるか否かの判定を行う(ステップ106)。言い換えると、機能変更解釈部123は、アプリケーション101によりPCに定義されている既存機能の削除が行われているか否かを判定する。
【0081】
ステップ106においてPTに削除情報があると判定された場合(ステップ106にてYes)、機能変更解釈部123は、PTの削除情報から削除する既存機能の設定項目を解釈し、表示制御部122に伝える(ステップ107)。
次いで、表示制御部122は、機能変更解釈部123から受け取った情報に基づいて、削除する既存機能の設定項目を拡張印刷設定UI121の印刷設定画面から削除する変更を行う(ステップ108)。
一方、ステップ106において削除情報がないと判定された場合(ステップ106にてNo)、ステップ107およびステップ108を行わずに、ステップ109へ移行する。
【0082】
次いで、表示制御部122は、変更後の拡張印刷設定UI121の印刷設定画面を表示する(ステップ109)。これにより、例えばアプリケーション101により印刷設定機能(追加機能)の追加がされた場合には、
図6および
図8に示したように、追加機能(「ID Print」機能)の設定項目210が追加された印刷設定画面が表示される。また、アプリケーション101により印刷設定機能(既存機能)の削除がされた場合には、
図9に示したように、既存機能(「カラーモード」機能)の設定項目203(
図5参照)が削除された印刷設定画面が表示される。これにより、ドライバー拡張UI120における一連の処理フローが終了する。
【0083】
<プリンタードライバーにおける処理手順>
続いて、アプリケーション101により印刷設定機能の追加・変更がされる場合に、プリンタードライバー110にて行われる処理の手順について説明する。
図11は、プリンタードライバー110にて行われる処理の手順の一例を示すフローチャートである。
上述したように、拡張印刷設定UI121の印刷設定画面においてユーザにより印刷が指示されると、拡張印刷設定UI121により、既存機能および追加機能の設定項目、設定値(選択肢)、処理順序等が格納されたPTがOS102を介してプリンタードライバー110に出力される。
【0084】
プリンタードライバー110のレンダリングモジュール変更部112は、拡張印刷設定UI121から出力されたPTを受け付ける(ステップ201)。
そして、レンダリングモジュール変更部112は、受け付けたPTの内容を解釈し、アプリケーション101からの印刷設定機能(追加機能)の追加があるか否かの判定を行う(ステップ202)。
【0085】
ステップ202において、アプリケーション101からの印刷設定機能(追加機能)の追加があると判定された場合(ステップ202にてYes)、レンダリングモジュール変更部112は、PTから、追加機能に係る処理を行う追加機能モジュールの呼び出し位置を解釈し、レンダリングモジュール113に伝える(ステップ203)。言い換えると、レンダリングモジュール変更部112は、追加機能に係る処理の処理順序を解釈し、レンダリングモジュール113に伝える。
一方、ステップ202においてアプリケーション101からの印刷設定機能(追加機能)の追加がないと判定された場合(ステップ202にてNo)、ステップ203の処理は行わずに、ステップ204に移行する。
【0086】
続いて、レンダリングモジュール変更部112は、PTの内容を解釈し、アプリケーション101から印刷設定機能(既存機能)の削除があるか否かの判定を行う(ステップ204)。
ステップ204において、アプリケーション101からの印刷設定機能(既存機能)の削除があると判定された場合(ステップ204にてYes)、レンダリングモジュール変更部112は、PTから、削除する既存機能に係る機能モジュールを解釈し、レンダリングモジュール113に伝える(ステップ205)。
一方、ステップ204においてアプリケーション101からの印刷設定機能(既存機能)の削除がないと判定された場合(ステップ204にてNo)、ステップ205の処理は行わずに、ステップ206に移行する。
【0087】
続いて、レンダリングモジュール113は、レンダリングモジュール変更部112から伝えられた情報に基づき、印刷データに対して処理を施す(ステップ206)。
例えば、アプリケーション101からの印刷設定機能(追加機能)の追加がある場合には、レンダリングモジュール113は、レンダリングモジュール変更部112から伝えられた呼び出し位置で、追加機能モジュール103から追加機能に係るフィルターを呼び出して、追加機能に係るフィルター処理を行う。また、アプリケーション101からの印刷設定機能(既存機能)の削除がある場合には、レンダリングモジュール113は、削除する既存機能に係るフィルター処理を行わずにスキップしながら、他の既存機能に係るフィルター処理を実行する。
また、アプリケーション101からの印刷設定機能(追加機能)の追加や印刷設定機能(既存機能)の削除がない場合には、レンダリングモジュール113は、既存機能に係るフィルター処理を予め定められた順序で実行する。
【0088】
次いで、レンダリングモジュール113は、それぞれの印刷設定機能に係る処理を施しPDLに変換した印刷データをスプーラー104に出力する(ステップ207)。これにより、プリンタードライバー110における一連の処理フローが終了する。