(57)【特許請求の範囲】
【請求項１】
プログラムモジュールを追加可能な情報処理装置であって、
印刷条件を設定させる印刷設定画面を表示させる印刷設定画面表示手段と、
予め定められたインタフェースによって実装された前記プログラムモジュールに、拡張された印刷条件を設定させる拡張画面を生成させ、該拡張画面を前記印刷設定画面より表示可能とする拡張モジュール制御手段と、
画像形成装置より対応可能な印刷条件を識別するための対応情報を取得する対応情報取得手段と、
前記対応情報に基づいて、前記画像形成装置による前記拡張画面において設定された印刷条件の対応の可否を判定する対応可否判定手段と、
対応不可能な印刷条件が有るときに、該対応不可能な印刷条件に対応するためのプログラムの追加要求を前記画像形成装置に送信する追加要求送信手段とを有する情報処理装置。
【請求項２】
前記拡張画面において設定される印刷条件と他の印刷条件との整合性を判定するための情報が記録された整合性情報管理手段と、
前記情報に基づいて、前記拡張画面において設定された印刷条件について他の印刷条件との整合性を判定する判定手段とを有する請求項１記載の情報処理装置。
【請求項３】
プログラムモジュールを追加可能な情報処理装置が実行する情報処理方法であって、
印刷条件を設定させる印刷設定画面を表示させる印刷設定画面表示手順と、
予め定められたインタフェースによって実装された前記プログラムモジュールに、拡張された印刷条件を設定させる拡張画面を生成させ、該拡張画面を前記印刷設定画面より表示可能とする拡張モジュール制御手順と、
画像形成装置より対応可能な印刷条件を識別するための対応情報を取得する対応情報取得手順と、
前記対応情報に基づいて、前記画像形成装置による前記拡張画面において設定された印刷条件の対応の可否を判定する対応可否判定手順と、
対応不可能な印刷条件が有るときに、該対応不可能な印刷条件に対応するためのプログラムの追加要求を前記画像形成装置に送信する追加要求送信手順とを有する情報処理方法。
【請求項４】
前記拡張画面において設定される印刷条件と他の印刷条件との整合性を判定するための情報が記録された整合性情報管理手段を用いて、前記拡張画面において設定された印刷条件について他の印刷条件との整合性を判定する判定手順を有する請求項３記載の情報処理方法。
【請求項５】
プログラムモジュールを追加可能なコンピュータに、
印刷条件を設定させる印刷設定画面を表示させる印刷設定画面表示手順と、
予め定められたインタフェースによって実装された前記プログラムモジュールに、拡張された印刷条件を設定させる拡張画面を生成させ、該拡張画面を前記印刷設定画面より表示可能とする拡張モジュール制御手順と、
画像形成装置より対応可能な印刷条件を識別するための対応情報を取得する対応情報取得手順と、
前記対応情報に基づいて、前記画像形成装置による前記拡張画面において設定された印刷条件の対応の可否を判定する対応可否判定手順と、
対応不可能な印刷条件が有るときに、該対応不可能な印刷条件に対応するためのプログラムの追加要求を前記画像形成装置に送信する追加要求送信手順とを実行させるためのプログラム。
【請求項６】
前記拡張画面において設定される印刷条件と他の印刷条件との整合性を判定するための情報が記録された整合性情報管理手段を用いて、前記拡張画面において設定された印刷条件について他の印刷条件との整合性を判定する判定手順を有する請求項５記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷条件を設定させる情報処理装置、情報処理方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、プリンタ又は複合機等の画像形成装置は、その出荷後にプログラムを追加（インストール）することにより機能強化が可能となっている。機能強化が行われた場合、当該機能に対応する画面が画像形成装置の備える操作パネルに表示される。したがって、ユーザは、操作パネルを介して追加機能を利用することができる。
【０００３】
ところで、ネットワークを介して接続されるＰＣ（Personal Computer）等において印刷指示を行う場合、その印刷条件は、当該ＰＣにインストールされたプリンタドライバが表示させる印刷設定ダイアログを介して設定される。
【特許文献１】特開２００２−１７５２５８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来、プリンタドライバによるＧＵＩ（Graphical User Interface）は固定的であった。したがって、画像形成装置側における機能強化により新たな印刷条件の設定が可能となった場合、当該印刷条件の設定を可能とするためにはプリンタドライバのソースコードを修正する必要があった。エンドユーザから見れば、プリンタドライバの再インストールといった煩雑な作業が必要とされた。
【０００５】
本発明は、上記の点に鑑みてなされたものであって、印刷設定用のＧＵＩの柔軟性を向上させることのできる情報処理装置、情報処理方法、及びプログラムの提供を目的とする。
【課題を解決するための手段】
【０００６】
そこで上記課題を解決するため、本発明は、プログラムモジュールを追加可能な情報処理装置であって、印刷条件を設定させる印刷設定画面を表示させる印刷設定画面表示手段と、予め定められたインタフェースによって実装された前記プログラムモジュールに、拡張された印刷条件を設定させる拡張画面を生成させ、該拡張画面を前記印刷設定画面より表示可能とする拡張モジュール制御手段とを有することを特徴とする。
【０００７】
このような情報処理装置では、印刷設定用のＧＵＩの柔軟性を向上させることができる。
【発明の効果】
【０００８】
本発明によれば、印刷設定用のＧＵＩの柔軟性を向上させることのできる情報処理装置、情報処理方法、及びプログラムを提供することができる。
【発明を実施するための最良の形態】
【０００９】
以下、図面に基づいて本発明の実施の形態を説明する。図１は、本発明の実施の形態における印刷システムの構成例を示す図である。図１において、ホストコンピュータ１０とプリンタ２０とはＬＡＮ（Local Area Network）等のネットワーク（有線又は無線の別は問わない。）又はＵＳＢ（Universal Serial Bus）ケーブル等によって接続されている。
【００１０】
ホストコンピュータ１０は、ユーザが文書データの生成や文書データの印刷指示等を行うために利用するコンピュータである。ホストコンピュータ１０は、例えば、Ｗｉｎｄｏｗｓ（登録商標）等のＯＳ（Operating System）上で各種のソフトウェアを実行する。図１において、ホストコンピュータ１０は、文書データ等の印刷に関する機能として、アプリケーション１１、描画プログラム１２、及びプリンタドライバ１３等を有する。これらは、ホストコンピュータ１０にインストールされたプログラムが、非図示のＣＰＵによって処理されることにより機能する。なお、当該プログラムは、ネットワークを介してダウンロードされてもよいし、ＣＤ−ＲＯＭ等の記録媒体よりインストールされてもよい。
【００１１】
アプリケーション１１は、文書データ等、プリンタ２０に印刷させる情報の生成等に利用されるワープロソフト又は表計算ソフト等のアプリケーションである。
【００１２】
描画プログラム１２は、プリンタやディスプレイ等のデバイスの種別による差違を吸収した描画用の関数インタフェースをアプリケーション１１に提供するモジュールである。アプリケーション１１は、操作対象となっている文書データの印刷が指示されると、描画プログラム１２の関数を呼び出す。描画プログラム１２は、アプリケーション１１からの関数呼び出しに応じ、アプリケーション固有の形式による文書データをアプリケーション非依存のＯＳに解釈可能な形式のデータ（例えば、ＥＭＦ（Enhanced Meta File）形式等のデータ、以下「描画データ」という。）に変換し、生成された描画データをプリンタドライバ１３に出力する。なお、描画プログラム１２は、例えば、Ｗｉｎｄｏｗｓ（登録商標）環境においてはＧＤＩ（Graphics Device Interface）が相当する。
【００１３】
プリンタドライバ１３は、ＵＩ部１３１及び描画処理部１３２等を有する。ＵＩ部１３１は、印刷条件（印刷設定）又は印刷コマンド（集約、両面印刷、ステープル、パンチ等の印刷条件）を設定させるためのＧＵＩ（Graphical User Interface）として印刷設定ダイアログを表示装置に表示させる。
【００１４】
同図において、ＵＩ部１３１には、ＵＩコア部１４と、拡張ＵＩモジュール１５ａ及び１５ｂ（以下、総称する場合「拡張ＵＩモジュール１５」という。）と等が含まれている。ＵＩコア部１４は、基本ＵＩ部１４１、整合性検証部１４２、及び拡張ＵＩモジュールインタフェース１４３を有する。基本ＵＩ部１４１は、プリンタドライバ１３の基本的な機能（プリンタドライバ１３がインストール時に備えている機能）に対応するＧＵＩ（印刷設定ダイアログ）の表示制御等を行う。設定整合性検証部１４２は、印刷設定ダイアログに対する印刷条件の設定内容の整合性をチェック（検証）する。ここで、整合性とは、例えば、排他的な関係にある機能又は値等が設定されていないことをいう。拡張ＵＩモジュールインタフェース１４３は、印刷設定ダイアログの機能を拡張させるプログラムモジュール（拡張ＵＩモジュール１５）に対するインタフェース部分である。すなわち、本実施の形態におけるプリンタドライバ１３は、拡張ＵＩモジュール１５をインストール（追加）することによって印刷設定ダイアログの表示内容を拡張することができる。同図における拡張ＵＩモジュール１５ａ及び拡張ＵＩモジュール１５ｂは、拡張ＵＩモジュール１５の例示である。
【００１５】
なお、拡張ＵＩモジュール１５によるＧＵＩの拡張は、例えば、プロパティシートの追加又は新たなダイアログの追加等、ＵＩコア部１４において予め定められた仕様及びインタフェースに基づいて行われる。したがって、各拡張ＵＩモジュール１５は、当該仕様等に従って実装される必要がある。具体的には、拡張ＵＩモジュール１５は、当該仕様等に従った拡張ＵＩ生成関数を備える。拡張ＵＩモジュールインタフェース１４３によって拡張ＵＩ生成関数が呼び出されると、拡張ＵＩモジュール１５は、当該仕様において定められた表示部品（プロパティシート又はダイアログ等）を生成し、当該表示部品（拡張ＵＩ）を操作するための情報（ハンドル又はＩＤ等）を拡張ＵＩモジュールインタフェース１４３に返却する。拡張ＵＩモジュールインタフェース１４３は、返却された情報に基づいて、拡張ＵＩを印刷設定ダイアログに追加する。例えば、拡張ＵＩがプロパティシートである場合、拡張ＵＩモジュールインタフェース１４３は、当該プロパティシートを基本ＵＩ部１４１によって生成される印刷設定ダイアログに追加する。また、拡張ＵＩがダイアログである場合、拡張ＵＩモジュールインタフェース１４３は、当該ダイアログを表示させるためのボタンを基本ＵＩ部１４１によって生成される印刷設定ダイアログの所定の位置に追加する。
【００１６】
描画処理部１３２は、描画データに基づくＯＳからの描画命令（例えば、ＤＤＩ（Device Driver Interface）を介した呼び出し）に応じ、印刷設定ダイアログにおいて設定された印刷条件に基づいてプリンタに文書データを印刷させるための印刷データを生成する。なお、描画処理部１３２よりに出力される印刷データは、非図示のスプーラ及びポートモニタを経てプリンタ２０へ送信される。
【００１７】
以下、印刷システムの処理手順について説明する。図２は、印刷設定ダイアログ表示時の処理手順を説明するためのフローチャートである。
【００１８】
ユーザにより印刷刷設定ダイアログの表示要求が入力されると（Ｓ１０１）、ＵＩコア部１４の基本ＵＩ部１４１は、基本的な（拡張されていない）印刷設定ダイアログ（以下、「基本ＵＩ」という。）を生成する（Ｓ１０２）。続いて、ＵＩコア部１４の拡張モジュールインタフェース１４３は、拡張ＵＩモジュール１５のインストールの有無を確認する（Ｓ１０３）。当該確認は、例えば、拡張ＵＩモジュール１５のファイルが、ホストコンピュータ１０の記憶装置の所定の位置（例えば、所定のフォルダ等）に存在するか否かに基づいて行えばよい。拡張モジュールが存在しない場合（Ｓ１０４でＮｏ）、基本ＵＩ部１４１は、基本ＵＩを表示させる（Ｓ１０８）。
【００１９】
一方、拡張モジュールが存在する場合（Ｓ１０４でＹｅｓ）、拡張ＵＩモジュールインタフェース１４３は、存在する各拡張ＵＩモジュール１５の拡張ＵＩ情報を取得する（Ｓ１０５）。ここで、拡張ＵＩ情報とは、拡張ＵＩモジュールのモジュール識別子、モジュールバージョン、拡張されるＵＩの名前（拡張ＵＩ名）、及び整合性情報等を含む情報である。整合性情報とは、基本ＵＩにおいて設定可能な印刷条件（以下、「基本条件」という。）と、当該拡張ＵＩモジュールの拡張ＵＩにおいて設定可能な印刷条件（以下、「拡張条件」という。）との関係が定義された情報をいう。具体的には、基本条件のうちの或るパラメータと、拡張条件のうちの或るパラメータとが排他関係又は必須関係（いずれか一方が指定されている場合は、必ず他方も指定される必要がある関係）に有る場合は、その旨が記述される。また、整合性情報は、基本条件との関係だけではなく、他の拡張ＵＩモジュール１５による拡張条件との関係が定義されていてもよい。後から開発された拡張ＵＩモジュール１５においては、既に存在する拡張ＵＩモジュール１５による拡張条件との関係が定義可能だからである。なお、拡張ＵＩ情報は、各拡張ＵＩモジュール１５に関連付けられたファイル内より取得されてもよいし、各拡張ＵＩモジュール１５の所定の関数（拡張ＵＩ情報取得関数）を呼び出すことにより、取得してもよい。後者の場合、各拡張ＵＩモジュール１５には、拡張ＵＩ情報取得関数が予め定められたインタフェースによって実装されている必要がある。
【００２０】
続いて、拡張ＵＩモジュールインタフェース１４３は、取得された拡張ＵＩ情報をＵＩコア部１４において認識可能な保存位置（例えば、メモリ上の所定の変数内）に登録する。続いて、拡張ＵＩモジュールインタフェース１４３は、各拡張ＵＩモジュール１５の拡張ＵＩ生成関数を呼び出すことにより、各拡張ＵＩモジュール１５に拡張ＵＩを生成させ、当該拡張ＵＩ（例えば、プロパティシート）を基本ＵＩに配置する（Ｓ１０７）。なお、拡張ＵＩがダイアログの場合は、このタイミングにおいてダイアログは生成されなくてもよい。少なくともダイアログを表示させるボタンが拡張ＵＩモジュール１５又は基本ＵＩ部１４１によって生成され、印刷設定ダイアログに配置されればよい。その後、当該ボタンが押下された際に、印刷ＵＩモジュールインタフェース１４３は、対応する拡張ＵＩモジュール１５の拡張ＵＩ生成関数を呼び出す。それに応じ、当該拡張ＵＩモジュール１５は拡張ＵＩであるダイアログを表示させる。
【００２１】
ステップＳ１０７に続いて、基本ＵＩ部１４１は、印刷設定ダイアログを表示装置に表示させる（Ｓ１０８）。この際、印刷設定ダイアログには拡張ＵＩ又は拡張ＵＩを表示させるためのボタンが配置されている。したがって、ユーザは、拡張ＵＩを用いて拡張条件を設定することができる。
【００２２】
続いて、印刷設定ダイアログの表示後において行われる、印刷設定ダイアログに対する印刷条件の設定時の処理について説明する。図３は、基本ＵＩにおける印刷条件の設定処理を説明するためのシーケンス図である。
【００２３】
基本ＵＩが表示されている状態において、基本ＵＩ部１４１は、ユーザによる各種の基本条件の設定を受け付ける（Ｓ２０１）。その後、ＯＫボタン等の押下により、設定の終了指示が入力されると（Ｓ２０２）、基本ＵＩ部１４１は、基本ＵＩ上において設定された印刷条件をＵＩコア部１４に通知する（Ｓ２０３）。
【００２４】
ＵＩコア部１４は、通知された印刷条件について整合性の検証を実行する（Ｓ２０４）。ここでは、基本条件についてのみの整合性の検証になる。したがって、当該検証は、予めＵＩコア部１４にプログラムロジックとして組み込まれている定義に基づいて行われてもよいし、外部ファイルに定義されている情報に基づいて行われてもよい。
【００２５】
整合性に問題がある場合、ＵＩコア部１４は、整合性の問題点を基本ＵＩ部１４１に通知する（Ｓ２０５）。基本ＵＩ部１４１は、当該通知に応じ、整合性に問題があることを通知するダイアログを表示装置に表示させる（Ｓ２０６）。
【００２６】
図４は、整合性における問題点を通知するダイアログの例を示す図である。同図において、ダイアログ５１０には、「集約」と「変倍」とが同時に設定できない旨を通知するメッセージ５１１と、「変倍」と「両面」は同時に設定できない旨を通知するメッセージ５１２とが表示されている。いずれのメッセージに対しても、排他的な関係にあるパラメータのいずれをキャンセルするかが選択可能とされている。したがって、ダイアログ５１１によって、ユーザは容易に（改めて、印刷設定ダイアログにおいて操作をすることなく）整合性をとることができる。ダイアログ５１０においてＯＫボタン５１３が押下されると、基本ＵＩ部１４１は、ステップＳ２０３と同様に、改めてＵＩコア部１４に印刷条件を通知する。
【００２７】
続いて、ＵＩコア部１４は、基本ＵＩ部１４１より通知された印刷条件を所定の変数（構造体）に登録する（Ｓ２０７）。続いて、ＵＩコア部１４は、印刷条件の設定処理の正常終了を基本ＵＩ部１４１に通知する（Ｓ２０８）。当該通知を受けて、基本ＵＩ部１４１は、印刷設定ダイアログをクローズする。
【００２８】
なお、印刷条件が設定された所定の変数（構造体）に基づいて、描画処理部１３２によって印刷データの生成処理が実行される。
【００２９】
続いて、拡張ＵＩに対して設定が行われる際の処理について説明する。図５及び図６は、拡張ＵＩにおける印刷条件の設定処理を説明するためのシーケンス図である。同図の処理は、図３の処理の前後のいずれにおいても実行可能である。
【００３０】
印刷設定ダイアログが表示されている状態において、ユーザによって拡張ＵＩモジュール１５ａに係る拡張ＵＩ（拡張ＵＩａ）の表示要求（タブ又はボタンの選択等）が入力されると（Ｓ３０１）、ＵＩコア部１４は、拡張ＵＩモジュール１５ａに対して、拡張ＵＩａの表示を指示する（Ｓ３０２）。当該指示に応じ、拡張ＵＩモジュール１５ａは、拡張ＵＩａを表示させる。
【００３１】
拡張ＵＩａが表示されている状態において、拡張ＵＩモジュール１５ａは、ユーザによる各種の拡張条件の設定を受け付ける（Ｓ３０３）。その後、他のタブボタン又はＯＫボタン等の押下により、拡張ＵＩａ上における設定の終了指示が入力されると（Ｓ３０４）、拡張ＵＩモジュール１５ａは、拡張ＵＩａ上において設定された拡張条件をＵＩコア部１４に通知する（Ｓ３０５）。
【００３２】
ＵＩコア部１４は、通知された拡張条件について基本条件との整合性の検証を実行する（Ｓ３０６）。ここでは、拡張ＵＩモジュール１５ａに係る整合性情報に基づいて整合性の検証が行われる。
【００３３】
整合性に問題がある場合、ＵＩコア部１４は、整合性の問題点を拡張ＵＩモジュール１５ａに通知する（Ｓ３０７）。拡張ＵＩモジュール１５ａは、当該通知に応じ、整合性に問題があることを通知するダイアログ５１０を表示装置に表示させる（Ｓ３０８）。ダイアログ５１０においてＯＫボタン５１３が押下されると、拡張ＵＩモジュール１５ａは、ステップＳ３０５と同様に、改めてＵＩコア部１４に拡張条件を通知する。
【００３４】
続いて、ＵＩコア部１４は、拡張ＵＩモジュール１５ａより通知された拡張条件を所定の変数（構造体）に登録する（Ｓ３０９）。続いて、ＵＩコア部１４は、拡張条件の設定処理の正常終了を拡張ＵＩモジュール１５ａに通知する（Ｓ３１０）。当該通知を受けて、拡張ＵＩモジュール１５ａは、拡張ＵＩに係るプロパティシート又はダイアログをクローズする。これにより、印刷設定ダイアログは基本ＵＩが表示されている状態となる。
【００３５】
斯かる状態において、ユーザによって拡張ＵＩモジュール１５ｂに係る拡張ＵＩ（拡張ＵＩｂ）の表示要求（タブ又はボタンの選択等）が入力されると（図６：Ｓ４０１）、ＵＩコア部１４は、拡張ＵＩモジュール１５ｂに対して、拡張ＵＩｂの表示を指示する（Ｓ４０２）。当該指示に応じ、拡張ＵＩモジュール１５ｂは、拡張ＵＩｂを表示させる。
【００３６】
以降、ステップＳ４０３〜Ｓ４１０は、拡張ＵＩモジュール１５ａの代わりに拡張ＵＩモジュール１５ｂが利用される点を除いて、図５のステップＳ３０３〜Ｓ３１０と同様であるためその説明は省略する。
【００３７】
なお、ステップＳ４０６において、ＵＩコア部１４は、拡張ＵＩモジュール１５ｂより通知された拡張条件について基本条件との整合性の検証を実行する（Ｓ４０６）。ここでは、拡張ＵＩモジュール１５ｂに係る整合性情報に基づいて整合性の検証が行われる。当該整合性情報において、拡張ＵＩモジュール１５ａにおいて設定される拡張条件との整合性いついても定義されている場合は、当該拡張条件との整合性も検証される。
【００３８】
上述したように、本実施の形態におけるプリンタドライバ１３によれば、拡張ＵＩモジュール１５を追加することにより、印刷設定用のＧＵＩ（印刷設定ダイアログ）を拡張することができる。したがって、プリンタドライバ１３をインストールした後でも、再インストールすることなく印刷設定ダイアログの表示内容を変更することができる。
【００３９】
また、プリンタドライバの提供者は、ユーザの運用に合わせた特注的な機能に対して容易に対応することが可能となる。
【００４０】
ところで、プリンタドライバ１３側において拡張が行われた場合、当該拡張に対応する機能がプリンタ２０側に搭載されていない可能性が有る。そこで、斯かる不都合を解決した例を説明する。
【００４１】
図７は、プリンタドライバに対する拡張に対応する機能がプリンタに搭載されていないときの処理手順を説明するためのシーケンス図である。同図には、拡張ＵＩモジュール１５ａによって拡張条件が設定される場合の例が示されている。
【００４２】
ステップＳ５０１〜Ｓ５０７は、図５におけるステップＳ３０１〜Ｓ３０５とほぼ同様である。但し、図７では、拡張ＵＩａの表示要求に応じ、ＵＩコア部１４は、プリンタ２０に対して対応可能な印刷機能（印刷条件）を問い合わせ（Ｓ５０２）、その応答内容（以下「プリンタ対応条件情報」という。）をメモリ上に保持しておく（Ｓ５０３）。
【００４３】
ステップＳ５０７において設定された拡張条件が、拡張ＵＩモジュール１５ａより通知されると、ＵＩコア部１４は、通知された拡張条件についてプリンタ２０による対応の可否をプリンタ対応条件情報に基づいて判定する（Ｓ５０８）。具体的には、設定された拡張条件のパラメータの全てが、プリンタ対応条件情報において対応可能なパラメータとして含まれているか否かを判定する。なお、整合性の判定も行われるが、ここでは便宜上省略する。
【００４４】
設定された拡張条件の少なくとも一部のパラメータが、プリンタ２０において対応可能でない場合、ＵＩコア部１４は、当該パラメータの名前等を指定して、プリンタ２０に対して機能追加の可否を問い合わせる（Ｓ５０９）。プリンタ２０は、当該問い合わせに応じ、機能追加の可否を確認しその結果を応答する。例えば、予め拡張可能な機能の一覧がプリンタ２０に記録されており、その機能を実現するためのプログラムの所在地（ＵＲＬ等）が記録されている場合、プリンタ２０は、当該機能一覧に基づいて機能追加の可否を判定する。また、ネットワーク上におけるディスカバリサービス（Ｗｅｂサービス）等を利用して動的に追加機能に係るプログラムを検索してもよい。
【００４５】
プリンタ２０からの応答において機能追加が可能であることが示されている場合、ＵＩコア部１４は、プリンタ２０に対して追加機能に係るプログラムのインストールを指示する（Ｓ５１０）。当該インストール指示に応じ、プリンタ２０は、当該プログラムをインストールする。なお、プリンタ２０において、プログラムの実行環境としてＯＳＧｉ（Open Services Gateway Initiative）フレームワークが用いられていると好適である。
【００４６】
ＯＳＧｉフレームワークは、ＯＳＧｉアライアンスによる標準化技術であり、Ｊａｖａ（登録商標）言語に基づいたオープンなソフトウェア部品化技術に基づいて作成されたソフトウェア部品の実行環境を提供するソフトウェアプラットフォームである。ＯＳＧｉフレームワーク上において、Ｊａｖａ（登録商標）言語のソフトウェアは「バンドル」と呼ばれるソフトウェア部品の形で実装される。一つのバンドルは、一つのＪＡＲ（Java（登録商標） ARchive）ファイルによって構成され、それぞれ独立して動的に（装置の再起動を要することなく）インストール可能である。
【００４７】
したがって、プリンタ２０がＯＳＧｉフレームワークを備えており、追加機能に係るプログラムがバンドルとして実装されている場合、バンドルのインストールに伴って、プリンタ２０を再起動する必要はない。但し、動的な（再起動が不要な）インストールが可能でなくてもよい。この場合は、インストール後に自動的にリブート（再起動）を行えばよい。
【００４８】
機能追加ができない場合又はインストールに失敗した場合、ＵＩコア部１４は、拡張モジュール１５ａに対して拡張条件に対応した印刷は不可能であることを通知する（Ｓ５１１）。拡張ＵＩモジュール１５ａは、当該通知に応じ、例えば、拡張条件の設定変更等を要求するメッセージを表示装置に表示させる（Ｓ５１２）。
【００４９】
一方、インストールが正常に終了した場合、ＵＩコア部１４は、拡張ＵＩモジュール１５ａより通知された拡張条件を所定の変数（構造体）に設定する（Ｓ５１３）。
【００５０】
このように、本実施の形態におけるプリンタドライバ１３は、プリンタ２０の機能が拡張ＵＩに対応していない場合でも、プリンタ２０に動的に機能拡張を実行させることができる。したがって、プリンタドライバ１３側において設定可能な印刷条件と、プリンタ２０が対応可能な印刷条件との差違について、ユーザに負担をかけることなく適切に吸収することができる。
【００５１】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図面の簡単な説明】
【００５２】
【図１】本発明の実施の形態における印刷システムの構成例を示す図である。
【図２】印刷設定ダイアログ表示時の処理手順を説明するためのフローチャートである。
【図３】基本ＵＩにおける印刷条件の設定処理を説明するためのシーケンス図である。
【図４】整合性における問題点を通知するダイアログの例を示す図である。
【図５】拡張ＵＩにおける印刷条件の設定処理を説明するためのシーケンス図である。
【図６】拡張ＵＩにおける印刷条件の設定処理を説明するためのシーケンス図である。
【図７】プリンタドライバに対する拡張に対応する機能がプリンタに搭載されていないときの処理手順を説明するためのシーケンス図である。
【符号の説明】
【００５３】
１０          ホストコンピュータ
１１          アプリケーション
１２          描画プログラム
１３          プリンタドライバ
１４          ＵＩコア部
１５ａ、１５ｂ      拡張ＵＩモジュール
２０          プリンタ
１３１        ＵＩ部
１３２        描画処理部
１４１        基本ＵＩ部
１４２        整合性検証部
１４３        拡張ＵＩモジュールインタフェース
【図１】
0005020131.tif 000002
【図２】
0005020131.tif 000003
【図３】
0005020131.tif 000004
【図４】
0005020131.tif 000005
【図５】
0005020131.tif 000006
【図６】
0005020131.tif 000007
【図７】
0005020131.tif 000008