(57)【要約】【課題】印刷装置の機能拡張に依らずに印刷装置が処理可能なデータを生成することが可能な情報処理装置等を提供する。【解決手段】情報処理装置１０は、印刷装置の機能に係る機能設定情報を記憶する情報記憶手段４４０と、情報記憶手段４４０から機能設定情報を取得し、印刷装置の印刷設定を格納するためのデータ構造体に、機能設定情報に基づき設定される印刷設定値を割り当てるための領域を確保して、その領域に印刷設定値を割り当てるデータ構造割り当て手段４２０と、情報記憶手段４４０に記憶された機能設定情報を参照することによって、データ構造割り当て手段４２０によってデータ構造体に割り当てられた印刷設定値から、印刷装置が処理可能なデータを生成するデータ生成手段４３８とを有する。【選択図】図４
2008097574.tif 000002
【特許請求の範囲】
【請求項１】
印刷装置が処理可能なデータを生成する情報処理装置であって、
前記印刷装置の機能に係る機能設定情報を記憶する情報記憶手段と、
前記情報記憶手段から前記機能設定情報を取得し、前記印刷装置の印刷設定を格納するためのデータ構造体に、前記機能設定情報に基づき設定される印刷設定値を割り当てるための領域を確保して、該領域に前記印刷設定値を割り当てるデータ構造割り当て手段と、
前記情報記憶手段に記憶された機能設定情報を参照することによって、前記データ構造割り当て手段によって前記データ構造体に割り当てられた印刷設定値から、前記印刷装置が処理可能なデータを生成するデータ生成手段とを有する、ことを特徴とする情報処理装置。
【請求項２】
前記機能設定情報は、前記印刷装置の機能と、該機能の設定値に対応するコマンドのデータサイズとを含み、
前記データ構造割り当て手段は、前記データサイズの情報に基づき、前記印刷設定値に対応するコマンドを格納する分だけ前記データ構造体に前記領域を確保し、該領域に前記印刷設定値に対応するコマンドを格納する、ことを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記データ構造体は、情報を追加可能な領域を有し、
前記データ構造割り当て手段は、前記印刷設定値を割り当てるための領域を、前記情報を追加可能な領域において確保する、ことを特徴とする請求項１又は２記載の情報処理装置。
【請求項４】
前記情報記憶手段に記憶された前記機能設定情報に基づいて、前記印刷装置の印刷設定を行うための設定画面を表示する表示手段を更に有し、
前記印刷設定値は、前記表示手段により表示された前記設定画面に入力された入力値である、ことを特徴とする請求項１記載の情報処理装置。
【請求項５】
前記情報記憶手段は、前記表示手段により表示される前記設定画面のレイアウトを決定するレイアウト情報を更に記憶し、
前記表示手段は、前記レイアウト情報に基づいて前記設定画面を構成して、表示することを特徴とする請求項４記載の情報処理装置。
【請求項６】
前記情報記憶手段は、前記印刷装置の所定の機能を当該情報処理装置において実行可能とする追加機能情報を更に記憶し、
前記データ生成手段は、生成した前記印刷装置が処理可能なデータに含まれるイメージデータを、前記追加機能情報に基づいて処理する、ことを特徴とする請求項１記載の情報処理装置。
【請求項７】
前記機能設定情報は、ユーザによる直接入力、記録媒体の読み込み、所定のサーバからの取得、又は前記印刷装置からの取得のうち少なくとも１つによって取得された情報である、ことを特徴とする請求項１記載の情報処理装置。
【請求項８】
コンピュータを、印刷装置が処理可能なデータを生成する情報処理装置として機能させるプログラムであって、
前記印刷装置の印刷設定を格納するためのデータ構造体に、前記印刷装置の機能に係る機能設定情報に基づき設定される印刷設定値を割り当てるための領域を確保して、該領域に前記印刷設定値を割り当てるデータ構造割り当てステップと、
前記機能設定情報を参照することによって、前記データ構造割り当て手段によって前記データ構造体に割り当てられた印刷設定値から、前記印刷装置が処理可能なデータを生成するデータ生成ステップとを実行させるためのプログラム。
【請求項９】
前記機能設定情報は、前記印刷装置の機能と、該機能の設定値に対応するコマンドのデータサイズとを含み、
前記データ構造割り当てステップは、前記データサイズの情報に基づき、前記印刷設定値に対応するコマンドを格納する分だけ前記データ構造体に前記領域を確保し、該領域に前記印刷設定値に対応するコマンドを格納するステップを含む、ことを特徴とする請求項８記載の情報処理装置。
【請求項１０】
前記データ構造体は、情報を追加可能な領域を有し、
前記データ構造割り当てステップは、前記印刷設定値を割り当てるための領域を、前記情報を追加可能な領域において確保するステップを含む、ことを特徴とする請求項８又は９記載の情報処理装置。
【請求項１１】
前記コンピュータに、更に
前記機能設定情報に基づいて、前記印刷装置の印刷設定を行うための設定画面を表示する表示ステップを実行させ、
前記印刷設定値は、前記表示ステップで表示された前記設定画面に入力された入力値である、ことを特徴とする請求項８記載のプログラム。
【請求項１２】
前記表示ステップは、前記設定画面のレイアウトを決定するレイアウト情報に基づいて前記設定画面を構成して、表示するステップを含む、ことを特徴とする請求項１１記載のプログラム。
【請求項１３】
前記データ生成ステップは、生成した前記印刷装置が処理可能なデータに含まれるイメージデータを、前記印刷装置の所定の機能を当該情報処理装置において実行可能とする追加機能情報に基づいて処理する、ことを特徴とする請求項８記載のプログラム。
【請求項１４】
前記機能設定情報は、ユーザによる直接入力、記録媒体の読み込み、所定のサーバからの取得、又は前記印刷装置からの取得のうち少なくとも１つによって取得された情報である、ことを特徴とする請求項８記載のプログラム。
【請求項１５】
請求項８乃至１４のうちいずれか一項記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷装置が処理可能なデータを生成する情報処理装置と、コンピュータをそのような情報処理装置として機能させるプログラム及びその記録媒体とに関する。
【背景技術】
【０００２】
ネットワーク又はシリアルで、例えばパーソナルコンピュータ等の情報処理装置（以下、単にＰＣという。）と、例えばプリンタ、スキャナ又はファクシミリ（ＦＡＸ）等の周辺機器とが接続されている場合に、ＰＣは、自身にインストールされているアプリケーションで作成又は閲覧されたデータを周辺機器が処理可能なデータへ変換するためのデバイスドライバを有する。例えば、レーザプリンタ（ＬＰ）及び複合機能プリンタ（ＭＦＰ）等の画像形成装置（以下、単にプリンタという。）の場合に、ＰＣには、一般的に、そのプリンタ専用のプリンタドライバが組み込まれており、これによって、アプリケーションで作成又は閲覧されたデータは、プリンタが処理可能なプリンタ言語（ＰＤＬ）データへと変換される。
【０００３】
ＰＣへデバイスドライバを組み込む作業は一般にインストールと称されるが、このインストール作業は、ネットワーク管理上、特定の管理者が行うよう制限されている場合が多く、また手順も煩雑である。また、特にプリンタでは、印刷業務が非常に重要である企業において、新たなプリンタドライバがインストールされると、そのプリンタドライバを実際の業務で使用する前に、企業内外で予め基本的な印刷処理が実施可能か確認テストを行うことがある。一方、ＰＣに既にインストールされたデバイスドライバの機能を拡張する場合には、拡張される新機能を搭載した新たなデバイスドライバを再度インストールする方法が一般的である。従って、管理者は、デバイスドライバに新しい機能が追加される度に煩雑なインストール作業を行い、場合によっては、更に確認テストを行わなければならない。これは、管理者を含むユーザにとって相当な負担となる。
【０００４】
これに対して、一般的なプログラムの場合には、プラグインと呼ばれる方法によって、基本のプログラムをあらためてインストールすることなしに新機能を追加することが可能である。しかし、プリンタドライバ等のデバイスドライバの場合には、デバイスドライバ内部の構成がＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）により規定されており、一般的なプログラムのように自由な設計を行うことができないため、前出のプラグインを用いることができない。
【０００５】
例えばプリンタドライバの場合には、ＯＳがウィンドウズ（登録商標）であるならば、プリンタドライバは、印刷設定を行うための画面を表示させるユーザインターフェース（ＵＩ）部と、アプリケーションで作成した文書等のデータを印刷データに変換し、ＵＩ部で設定した内容を印刷データに付加するグラフィック部とに分かれており、ＵＩ部で設定した内容をグラフィック部が受け取るためのデータ構造としてＤＥＶＭＯＤＥと呼ばれる構造体が規定されている。ＤＥＶＭＯＤＥは、ＯＳで共通としているＰｕｂｌｉｃ部と、ベンダーが個別に定義可能としているＰｒｉｖａｔｅ部とを有する。機能追加は、Ｐｒｉｖａｔｅ部を変更することにより可能であるが、ＤＥＶＭＯＤＥの構造はインストール時に決定されてしまうので、インストール後にＰｒｉｖａｔｅ部を変更することはできない。
【０００６】
特開２００６−１１３８１２号公報（特許文献１）は、画像形成装置が有する機能について、使用する機能が変更された際に、ホスト装置側の対応を容易に行うことを可能とするドライバプログラムを開示する。このドライバプログラムは、想定しうる全ての機能を予め内包しており、画像形成装置の機能に応じて必要な機能のみを表示させる。
【０００７】
また、特開２００４−３２６６０１号公報（特許文献２）は、印刷を行う際に実現される機能の追加、更新及び削除を適切に行うことができる印刷制御装置を開示する。この印刷制御装置は、ドライバ本体モジュールに接続されたプラグインモジュールを用いることにより、元のプリンタドライバは何ら変更することなく、プリンタ機能を新規に追加したり、既存のプリンタ機能をこれに代わる新たなプリンタ機能で置き換えて更新したり、削除可能なプリンタ機能を削除したりすることができる。
【特許文献１】特開２００６−１１３８１２号公報
【特許文献２】特開２００４−３２６６０１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかし、上記特許文献１及び２では、予め保有しているリストから機能を追加及び削除することによりプリンタドライバインストール後の機能追加に対応しており、そのリストにない機能が追加された場合には、やはり再インストールを必要とするという問題がある。また、これらの文献には、ＤＥＶＭＯＤＥのような、ＯＳにより規定されるデータ構造への対応については記載されておらず、機能追加の際に何らかの制約が生ずることが懸念される。
【０００９】
本発明は、上記問題を鑑みなされたものであり、印刷装置の機能拡張に依らずに印刷装置が処理可能なデータを生成することが可能な情報処理装置、プログラム及びその記録媒体を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、本発明の情報処理装置は、印刷装置が処理可能なデータを生成する情報処理装置であって、前記印刷装置の機能に係る機能設定情報を記憶する情報記憶手段と、前記情報記憶手段から前記機能設定情報を取得し、前記印刷装置の印刷設定を格納するためのデータ構造体に、前記機能設定情報に基づき設定される印刷設定値を割り当てるための領域を確保して、該領域に前記印刷設定値を割り当てるデータ構造割り当て手段と、前記情報記憶手段に記憶された機能設定情報を参照することによって、前記データ構造割り当て手段によって前記データ構造体に割り当てられた印刷設定値から、前記印刷装置が処理可能なデータを生成するデータ生成手段とを有する。
【００１１】
これにより、印刷装置の機能拡張に依らずに印刷装置が処理可能なデータを生成することが可能な情報処理装置を提供することができる。即ち、印刷装置に対応したプリンタドライバが情報処理装置にインストールされた後であっても、印刷装置に新しい機能が拡張された場合又は別の印刷装置が接続された場合に、新しいプリンタドライバをインストールする手間を省略することができる。
【００１２】
望ましくは、本発明の情報処理装置において、前記機能設定情報は、前記印刷装置の機能と、該機能の設定値に対応するコマンドのデータサイズとを含み、前記データ構造割り当て手段は、前記データサイズの情報に基づき、前記印刷設定値に対応するコマンドを格納する分だけ前記データ構造体に前記領域を確保し、該領域に前記印刷設定値に対応するコマンドを格納する。
【００１３】
これにより、プリンタドライバのインストール後に、所定のデータ構造体に設定値を格納するための領域を確保することができる。
【００１４】
更に望ましくは、前記データ構造体は、情報を追加可能な領域を有し、前記データ構造割り当て手段は、前記印刷設定値を割り当てるための領域を、前記情報を追加可能な領域において確保する。
【００１５】
これにより、例えばＤＥＶＭＯＤＥのような、ＯＳにより規定されるデータ構造であっても、プリンタドライバのインストール後に、設定値を格納するための領域を確保することができる。
【００１６】
望ましくは、本発明の情報処理装置は、前記情報記憶手段に記憶された前記機能設定情報に基づいて、前記印刷装置の印刷設定を行うための設定画面を表示する表示手段を更に有し、前記印刷設定値は、前記表示手段により表示された前記設定画面に入力された入力値である。
【００１７】
これにより、印刷装置の印刷設定を行うための設定画面に対しても、プリンタドライバのインストール後に機能拡張等による機能変更を反映させることが可能となり、ユーザは、機能変更を反映された設定画面から印刷設定を行うことができる。
【００１８】
更に望ましくは、本発明の情報処理装置において、前記情報記憶手段は、前記表示手段により表示される前記設定画面のレイアウトを決定するレイアウト情報を更に記憶し、前記表示手段は、前記レイアウト情報に基づいて前記設定画面を構成して、表示する。
【００１９】
これにより、機能拡張等による印刷装置の機能変更に応じたレイアウトを有する設定画面を表示することができる。
【００２０】
望ましくは、本発明の情報処理装置において、前記情報記憶手段は、前記印刷装置の所定の機能を当該情報処理装置において実行可能とする追加機能情報を更に記憶し、前記データ生成手段は、生成した前記印刷装置が処理可能なデータに含まれるイメージデータを、前記追加機能情報に基づいて処理する。
【００２１】
これにより、印刷装置側で利用可能でない機能を、代わりに情報処理装置側で実行することができる。
【００２２】
望ましくは、本発明の情報処理装置において、前記機能設定情報は、ユーザによる直接入力、記録媒体の読み込み、所定のサーバからの取得、又は前記印刷装置からの取得のうち少なくとも１つによって取得された情報である。
【００２３】
これにより、情報処理装置において、機能拡張等による印刷装置の機能変更に対応するための情報を様々な方法で取得することができる。
【００２４】
また、上記目的を達成するために、本発明のプログラムは、コンピュータを、印刷装置が処理可能なデータを生成する情報処理装置として機能させるプログラムであって、前記印刷装置の印刷設定を格納するためのデータ構造体に、前記印刷装置の機能に係る機能設定情報に基づき設定される印刷設定値を割り当てるための領域を確保して、該領域に前記印刷設定値を割り当てるデータ構造割り当てステップと、前記機能設定情報を参照することによって、前記データ構造割り当て手段によって前記データ構造体に割り当てられた印刷設定値から、前記印刷装置が処理可能なデータを生成するデータ生成ステップとを実行させる。
【００２５】
これにより、印刷装置の機能拡張に依らずに印刷装置が処理可能なデータを生成することを可能にするプログラムを提供することができる。
【００２６】
望ましくは、本発明のプログラムにおいて、前記機能設定情報は、前記印刷装置の機能と、該機能の設定値に対応するコマンドのデータサイズとを含み、前記データ構造割り当てステップは、前記データサイズの情報に基づき、前記印刷設定値に対応するコマンドを格納する分だけ前記データ構造体に前記領域を確保し、該領域に前記印刷設定値に対応するコマンドを格納するステップを含む。
【００２７】
更に望ましくは、本発明のプログラムにおいて、前記データ構造体は、情報を追加可能な領域を有し、前記データ構造割り当てステップは、前記印刷設定値を割り当てるための領域を、前記情報を追加可能な領域において確保するステップを含む。
【００２８】
望ましくは、本発明のプログラムは、前記コンピュータに、更に、前記機能設定情報に基づいて、前記印刷装置の印刷設定を行うための設定画面を表示する表示ステップを実行させ、前記印刷設定値は、前記表示ステップで表示された前記設定画面に入力された入力値である
望ましくは、本発明のプログラムにおいて、前記表示ステップは、前記設定画面のレイアウトを決定するレイアウト情報に基づいて前記設定画面を構成して、表示する。
【００２９】
望ましくは、本発明のプログラムにおいて、前記データ生成ステップは、生成した前記印刷装置が処理可能なデータに含まれるイメージデータを、前記印刷装置の所定の機能を当該情報処理装置において実行可能とする追加機能情報に基づいて処理する。
【００３０】
また、上記目的を達成するために、本発明のプログラムは、コンピュータ読み取り可能な記録媒体に記録されることにより実現可能である。
【発明の効果】
【００３１】
本発明により、印刷装置で利用可能な機能に係る機能設定情報を取得することで、印刷装置の機能拡張に依らずに印刷装置が処理可能なデータを生成することが可能な情報処理装置、プログラム及びその記録媒体を提供することが可能となる。
【発明を実施するための最良の形態】
【００３２】
本発明を実施するための最良の形態を、添付の図面を参照して説明する。
【００３３】
〔構成〕
図１は、本発明の一実施形態としての情報処理システムのネットワーク構成例を示す。
【００３４】
図１において、情報処理システム１は、情報処理装置としてのコンピュータ１０と、第１及び第２のプリンタ１２及び１４と、それらを相互に接続して、データ通信を可能にするネットワーク１６とを有する。
【００３５】
コンピュータ１０は、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）に基づくユーザインターフェース（ＵＩ）を表示することが可能なパーソナルコンピュータ（ＰＣ）、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔｓ）又は携帯電話等の装置であっても良い。
【００３６】
第１及び第２のプリンタ１２、１４は、コンピュータ１０からの要求に従って動作する機器であって、本実施形態では、レーザプリンタ（ＬＰ）又は複合機能プリンタ（ＭＦＰ）等の画像形成装置を例とする。
【００３７】
図１では、コンピュータ及びプリンタは、夫々、１台又は２台ずつしか示されていないが、実際には複数台であっても良い。また、コンピュータとプリンタとの間の接続は、図１に示されるようなローカルエリアネットワーク（ＬＡＮ）やインターネット等のネットワーク形式はもちろん、例えばＵＳＢ等のようなシリアル形式であっても良い。
【００３８】
図２は、本発明の一実施形態としてのコンピュータのハードウェア構成例を示す。図２に示されるように、コンピュータ１０は、バス２６によって相互に接続されたドライブ装置２１と、補助記憶装置２２と、メモリ装置２３と、演算処理装置２４と、インターフェース装置２５とを有する。コンピュータ１０での処理を実現するプログラムは、ＣＤ−ＲＯＭ等の記録媒体２７によって提供される。
【００３９】
ドライブ装置２１は、記録媒体２７を読み取るための装置である。プログラムを記録した記録媒体２７がドライブ装置２１にセットされると、プログラムが記録媒体２７からドライブ装置２１を介して補助記憶装置２２にインストールされる。なお、本実施形態では、記録媒体に記録されたプログラムとして、プリンタドライバやＰＣ−ＦＡＸドライバ等の各種デバイスドライバが適用可能であるが、説明を簡単なものとするため、以降はプリンタドライバを例として説明する。
【００４０】
補助記憶装置２２は、インストールされたプログラムを格納すると共に、必要なファイル及びデータ等を格納する装置である。メモリ装置２３は、プログラムの起動指示があった場合に、補助記憶装置２２からプログラムを読み出して格納する装置である。演算処理装置２４は、メモリ装置２３に格納されたプログラムに従って、コンピュータ１０に係る機能を実行する装置である。インターフェース装置２５は、コンピュータ１０を図1のネットワーク１６へ接続するための装置である。
【００４１】
図３は、コンピュータ１０の機能構成例を示す。図３に示されるように、コンピュータ１０は、ネットワーク１６を介してプリンタ１２に接続されており、アプリケーション３２と、描画サービス３４と、プリンタドライバ３６と、データ送信部３８とを有する。
【００４２】
アプリケーション３２は、例えばウィンドウズ（登録商標）のようなＯＳ上で動作するプログラムであって、例えば、文書作成ソフト及び表計算ソフト等のような汎用アプリケーションである。
【００４３】
描画サービス３４は、ＯＳ上で動作する描画エンジンであって、一般に、アプリケーション３２と描画サービス３４との間を接続するインターフェースと共にＧＤＩ（Ｇｒａｐｈｉｃ  Ｄｅｖｉｃｅ  Ｉｎｔｅｒｆａｃｅ）に含まれている。
【００４４】
プリンタドライバ３６は、ＯＳの内部命令をプリンタ１２が処理可能なデータ、所謂プリンタ言語（ＰＤＬ）データに変換するモジュールである。一般に、ＧＤＩ３４とプリンタドライバ３６との間は、ＤＤＩ（Ｄｅｖｉｃｅ  Ｄｒｉｖｅｒ  Ｉｎｔｅｒｆａｃｅ）と呼ばれるインターフェースで接続されている。
【００４５】
データ送信部３８は、所謂スプーラであって、プリンタドライバ３６で生成されたＰＤＬデータをスプールするモジュールである。スプーラ３８によりスプールされたＰＤＬデータは、印刷ポートからネットワーク１６を介してプリンタ１２へ送信される。
【００４６】
プリンタ１２は、コンピュータ１０で作成又は閲覧されたデータを印刷する機能を有する機器であって、コンピュータ１０のデータ送信部から送信されたＰＤＬデータを受信するデータ受信部４２と、データ受信部４２によって受信されたＰＤＬデータを処理して、印刷するデータ処理部４４とを有する。
【００４７】
図４は、本実施形態のコンピュータが有しているプリンタドライバ３６の構成例を表すブロック図である。図４に示されるように、プリンタドライバ３６は、ユーザインターフェース（ＵＩ）部４１０と、グラフィック部４３０と、情報記憶部４４０とを有する。
【００４８】
ＵＩ部４１０は、ユーザ入力に基づいてプリンタ１２の印刷設定を行う手段であって、表示部４１２と、第１の機能設定情報読込部４１４と、レイアウト情報読込部４１６と、入力部４１８と、データ構造割り当て部４２０とを有する。
【００４９】
表示部４１２は、情報記憶部４４０に格納された情報に基づいて、プリンタ１２の印刷設定を行うための設定画面を生成し、例えばモニタ等のディスプレイ装置（図示せず。）に表示する。また、表示部４１２は、ユーザによって入力された設定情報を受けて、プリンタ１２の印刷設定の処理内容を設定する。ここで、「処理内容」とは、デバイス初期化及びプリンタ環境等に関する情報を含み、ＤＥＶＭＯＤＥ構造体というデータ構造体に格納される。
【００５０】
第１の機能設定情報読込部４１４は、情報記憶部４４０から、表示部４１２で用いられる機能設定情報を読み込むための手段である。ここで、「機能設定情報」とは、プリンタ１２のデバイス構成情報と、これに関連したコマンド情報とを対応付けているファイル情報である。
【００５１】
レイアウト情報読込部４１６は、情報記憶部４４０から、表示部４１２で用いられるレイアウト情報を読み込むための手段である。ここで、「レイアウト情報」とは、表示部４１２が表示する前出の設定画面等のＵＩのレイアウトに関する情報である。
【００５２】
入力部４１８は、例えばマウス及びキーボード等の入力装置を介してユーザから入力された設定情報を受ける部である。
【００５３】
データ構造割り当て部４２０は、表示部４１２によって設定された処理内容を所定のデータ構造体、即ち、本実施形態ではＤＥＶＭＯＤＥに割り当てるための手段である。
【００５４】
次に、グラフィック部４３０は、アプリケーション３２で作成又は閲覧した文書等のデータを、ＵＩ部４１０によって設定された処理内容に従って、プリンタ１２が処理可能なデータへ変換する手段であって、第２の機能設定情報読込部４３２と、追加機能情報読込部４３４と、出力コマンド決定部４３６と、データ生成部４３８とを有する。
【００５５】
第２の機能設定情報読込部４３２は、第１の機能設定情報読込部４１４と同じく、情報記憶部４４０から機能設定情報を読み込むための手段である。
【００５６】
追加機能情報読込部４３４は、プリンタドライバ３６の追加機能情報を読み込むための手段である。ここで、「追加機能情報」とは、インストール後にプリンタドライバ３６に追加された機能に関する情報である。
【００５７】
出力コマンド決定部４３６は、第２の機能設定情報読込部４３２によって読み込まれた機能設定情報と、追加機能情報読込部４３４によって読み込まれた追加機能情報とを参照して、ＵＩ部４１０によって設定された処理内容に対応する、プリンタ１２が解釈可能なコマンドを決定する。
【００５８】
データ生成部４３８は、出力コマンド決定部４３６により決定されたコマンドに基づいて、アプリケーション３２で作成又は閲覧された文書等のデータを変換して、プリンタ１２が処理可能なＰＤＬデータを生成する。データ生成部４３８が生成したＰＤＬデータは、スプーラ３８へ送られる。
【００５９】
また、情報記憶部４４０は、ＵＩ部４１０及びグラフィック部４３０で用いられる情報を記憶する手段であって、機能設定情報を格納するための機能設定情報データベース（ＤＢ）４４２と、レイアウト情報を格納するためのレイアウト情報ＤＢ４４４と、機能実行ファイル４５０としての追加機能情報を格納するための追加機能情報ＤＢ４４６と、デフォルトの処理内容又は前回の印刷時に設定された処理内容を格納する印刷設定情報ＤＢ４４８とを有する。
【００６０】
〔機能設定情報のデータ記述例〕
図５は、図４の機能設定情報ＤＢ４４２に格納される機能設定情報のデータ記述をテーブル形式で表した例である。図５に示されるように、機能設定情報５００は、第１、第２、第３及び第４の機能情報５１０、５２０、５３０及び５４０を有する。第１、第２、第３及び第４の機能情報５１０、５２０、５３０、５４０の夫々は、プリンタ１２が実行可能な機能の機能名、ＤＥＶＭＯＤＥ構造体でのデータ形式、及び選択肢等の情報を有する。
【００６１】
第１の機能情報５１０は、ステープル機能に係る情報であって、機能名として「ステープル」という情報を有する。ステープル機能は、幾つかの所定の選択肢の中から１つを選択することによって設定されるので、そのＤＥＶＭＯＤＥ構造体でのデータ形式は、設定方法の種類として「選択」という情報を有する。更に、ＤＥＶＭＯＤＥ構造体でのデータ形式は、ＤＥＶＭＯＤＥ構造体のデータサイズとして「１バイト」という情報を有する。これは、ステープル機能が何らかの選択肢を選択されることによって設定された場合に、その設定情報をＤＥＶＭＯＤＥ構造体に書き込むために要するサイズを意味する。第１の機能情報５１０は、「しない」、「上」、「右」及び「左」の４つの選択肢を有し、夫々の選択肢は、その選択肢が選択された場合にＤＥＶＭＯＤＥ構造体に書き込まれる値と、その選択肢に対応する、プリンタ１２が解釈可能なコマンドとを関連付けられている。
【００６２】
第２の機能情報５２０は、両面印刷機能に係る情報であって、機能名として「両面印刷」という情報を有する。両面印刷機能は、前出のステープル機能と同じく、幾つかの所定の選択肢の中から１つを選択することによって設定されるので、そのＤＥＶＭＯＤＥ構造体でのデータ形式は、設定方法の種類として「選択」という情報と、ＤＥＶＭＯＤＥ構造体のデータサイズとして「１バイト」という情報とを有する。第２の機能情報５２０は、「しない」、「右綴じ」及び「左綴じ」の３つの選択肢を有し、第１の機能情報５１０と同じく、夫々の選択肢は、その選択肢が選択された場合にＤＥＶＭＯＤＥ構造体に書き込まれる値と、その選択肢に対応する、プリンタ１２が解釈可能なコマンドとを関連付けられている。
【００６３】
第３の機能情報５３０は、パスワード機能に係る情報であって、機能名として「パスワード」という情報を有する。パスワード機能は、ユーザが入力した文字列によって設定されるので、そのＤＥＶＭＯＤＥ構造体でのデータ形式は、設定方法の種類として「文字列」という情報を有する。更に、ＤＥＶＭＯＤＥ構造体でのデータ形式には、ＤＥＶＭＯＤＥ構造体のデータサイズとして、ユーザが入力する文字列分のデータサイズの情報を有する。例えば、１文字が１バイトとすると、パスワードとしてユーザが入力する文字列が８文字である場合には、データサイズの情報は「８バイト」である。第３の機能情報５３０は、また、パスワードとして入力可能な文字の種類に係る情報を有し、例えば、パスワードがアルファベットのみから成る場合には、入力可能文字として「アルファベット」という情報を有する。第３の機能情報５３０は、また、当該機能に対応する、プリンタ１２が解釈可能なコマンドの情報を有する。
【００６４】
第４の機能情報５４０は、地紋印刷機能に係る情報であって、機能名として「地紋印刷」という情報を有する。地紋印刷機能は、前出のステープル機能と同じく、幾つかの所定の選択肢の中から１つを選択することによって設定されるので、そのＤＥＶＭＯＤＥ構造体でのデータ形式は、設定方法の種類として「選択」という情報と、ＤＥＶＭＯＤＥ構造体のデータサイズとして「１バイト」という情報とを有する。第４の機能情報５４０は、「しない」及び「する」の２つの選択肢を有し、第１の機能情報５１０と同じく、夫々の選択肢は、その選択肢が選択された場合にＤＥＶＭＯＤＥ構造体に書き込まれる値と、その選択肢に対応する、プリンタ１２が解釈可能なコマンドとを関連付けられている。
【００６５】
〔レイアウト情報のデータ記述例〕
図６は、図４のレイアウト情報ＤＢ４４４に格納されるレイアウト情報のデータ記述をテーブル形式で表した例である。図６に示されるように、レイアウト情報６００は、第１、第２、第３、第４及び第５の配置情報６１０、６２０、６３０、６４０及び６５０を有する。第１、第２、第３、第４及び第５の配置情報６１０、６２０、６３０、６４０及び６５０の夫々は、設定画面に表示される機能の名称、入力欄及び機能イメージの配置（表示タブ及び座標）、並びに機能イメージのファイル名等の情報を有する。
【００６６】
第１の配置情報６１０は、ステープル機能に係る情報であって、機能名として「ステープル」という情報を有する。また、第１の配置情報６１０には、ステープル機能の設定入力欄及び機能イメージが、印刷設定画面内に表示される「基本設定」タブにおいて座標（Ｘ，Ｙ）＝（０，６４）の位置に配置され、その機能イメージが、ファイル名「ｓｔａｂｌｅ．ｂｍｐ」を有する画像ファイルから取得されることが記述されている。
【００６７】
第２の配置情報６２０は、両面印刷機能に係る情報であって、機能名として「両面印刷」という情報を有する。また、第２の配置情報６２０には、両面印刷機能の設定入力欄及び機能イメージが、印刷設定画面内に表示される「基本設定」タブにおいて座標（Ｘ，Ｙ）＝（０，０）の位置に配置され、その機能イメージが、ファイル名「ｄｕｐｌｅｘ．ｂｍｐ」を有する画像ファイルから取得されることが記述されている。
【００６８】
第３の配置情報６３０は、パスワード機能に係る情報であって、機能名として「パスワード」という情報を有する。また、第３の配置情報６３０には、パスワード機能の設定入力欄及び機能イメージが、印刷設定画面内に表示される「基本設定」タブにおいて座標（Ｘ，Ｙ）＝（２５６，０）の位置に配置され、その機能イメージが、ファイル名「ｐａｓｓｗｏｒｄ．ｂｍｐ」を有する画像ファイルから取得されることが記述されている。
【００６９】
第４の配置情報６４０は、色調整機能に係る情報であって、機能名として「色情報」という情報を有する。また、第４の配置情報６４０には、色調整機能の設定入力欄及び機能イメージが、印刷設定画面内に表示される「追加設定」タブにおいて座標（Ｘ，Ｙ）＝（０，０）の位置に配置され、その機能イメージが、ファイル名「ｃｏｌｏｒ．ｂｍｐ」を有する画像ファイルから取得されることが記述されている。
【００７０】
第５の機能情報６５０は、地紋印刷機能に係る情報であって、機能名として「地紋印刷」という情報を有する。また、第５の配置情報６５０には、地紋印刷機能の設定入力欄及び機能イメージが、印刷設定画面内に表示される「基本設定」タブにおいて座標（Ｘ，Ｙ）＝（２５６，６４）の位置に配置され、その機能イメージが、ファイル名「ｗａｔｅｒｍａｒｋ．ｂｍｐ」を有する画像ファイルから取得されることが記述されている。
【００７１】
なお、機能設定情報５００及びレイアウト情報６００は、図５及び６に示したようにテーブル形式であっても良いが、他の形式であっても良い。また、図５の機能設定情報５００は、４つの機能情報を有するが、４以下又は以上の機能情報を有しても良く、図６のレイアウト情報６００は、５つの配置情報を有するが、５以下又は以上の配置情報を有しても良い。
【００７２】
機能設定情報５００及びレイアウト情報６００は、ユーザによる直接入力、記録媒体の読み込み、所定のサーバからの取得、又はプリンタ１２からの取得のいずれかによって取得され、コンピュータ１０に保存される。例えば、プリンタ１２から取得される場合に、機能設定情報５００及びレイアウト情報６００は、プリンタ１２がコンピュータ１０から発せられた作動要求に応答すると同時に、プリンタ１２からコンピュータ１０へ送られても良い。
【００７３】
以下、図４のプリンタドライバ３６の動作について、機能設定情報及びレイアウト情報が図５及び図６に示したようなデータを有する場合を例として説明する。
【実施例１】
【００７４】
本実施例は、プリンタ１２が処理可能なデータを生成する際に、デフォルトの処理内容又は前回の印刷時に設定された処理内容を用いる場合のコンピュータ１０の動作について、図７のシーケンス図を交えながら説明する。
【００７５】
デフォルト又は前回の処理内容が用いられる場合としては、例えば、ユーザが、アプリケーション実行中に表示される画面上部のプリンタアイコンを押すことによって、プリンタドライバ３６に対して印刷要求を行う場合が考えられる。このような場合に、最初に、ステップＳ１０１で、印刷要求がアプリケーション３２からプリンタドライバ３６へ送信される。
【００７６】
印刷要求を受けて、ステップＳ１０２で、ＵＩ部４１０は、第１の機能設定情報読み込み部４１４を用いて情報記憶部４４０の機能設定情報ＤＢ４４２から機能設定情報５００（図５参照。）を読み込む。次に、ＵＩ部４１０は、データ構造割り当て部４２０において、ステップＳ１０３で、第１の機能設定情報読み込み部４１４によって読み込んだ機能設定情報５００から夫々の機能に係る機能情報を取得し、更に、ステップＳ１０４で、取得した機能情報から、その機能に対する処理内容をＤＥＶＭＯＤＥ構造体に書き込むために必要なデータサイズを取得して、データサイズに対応する領域をＤＥＶＭＯＤＥ構造体に確保する。機能設定情報読み込み部４１４によって読み込まれていない機能設定情報が依然として情報記憶部４４０にある場合には、前出のステップＳ１０２からＳ１０４を繰り返す。このようなＤＥＶＭＯＤＥ構造体の領域確保については、後に図８及び図９を参照して詳細に説明する。
【００７７】
ＤＥＶＭＯＤＥ構造体に必要な領域が確保された後、ＵＩ部４１０は、データ構造割り当て部４２０において、ステップＳ１０５で、情報記憶部４４０の印刷設定情報ＤＢ４４８から処理内容のデフォルト設定を読み込み、ステップＳ１０６で、このデフォルト設定をＤＥＶＭＯＤＥ構造体に割り当てる。
【００７８】
ステップＳ１０７で、ＵＩ部４１０は、データ構造割り当て部４２０によって処理内容としてデフォルト設定を割り当てられたＤＥＶＭＯＤＥ構造体をアプリケーション３２へ送る。アプリケーション３２は、ステップＳ１０９で、ＵＩ部４１０から送られたＤＥＶＭＯＤＥ構造体を一時的に保存し、ステップＳ１１０で、アプリケーション３２で作成又は閲覧されたイメージデータとともに、プリンタドライバ３６のグラフィック部４３０へ送られる。
【００７９】
ステップＳ１１０で、グラフィック部４３０は、第２の機能設定情報読み込み部４３２を用いて情報記憶部４４０の機能設定情報ＤＢ４４２から機能設定情報５００を読み込む。ステップＳ１１１で、グラフィック部４３０は、コマンド決定部４３６において、第２の機能設定情報読み込み部４３２によって読み込んだ機能設定情報５００を参照して、アプリケーション３２から読み込んだＤＥＶＭＯＤＥ構造体に割り当てられたデフォルト設定に対応する、プリンタ１２が解釈可能なコマンドを決定する。ステップＳ１１２で、グラフィック部４３０は、データ生成部４３８において、コマンド決定部４３６によって決定されたコマンドに基づいて、アプリケーション３２から読み込んだイメージデータと、ＤＥＶＭＯＤＥ構造体に割り当てられたデフォルト設定とから、プリンタ１２が処理可能なデータを生成する。最後に、ステップＳ１１３で、グラフィック部４３０は、データ生成部４３８によって生成されたデータをスプーラ３８（図３参照。）を介してプリンタ１２へ送信する。
【００８０】
次に、上述したＤＥＶＭＯＤＥ構造体の領域確保について、図８を交えて更に詳細に説明する。
【００８１】
例えば印刷要求をトリガとして、ステップＳ２０１で、データ構造割り当て部４２０は、ＤＥＶＭＯＤＥ構造体のオフセットを０で初期化する。
【００８２】
ステップＳ２０２で、データ構造割り当て部４２０は、第１の機能設定情報読み込み部４１４によって読み込まれた機能設定情報５００から、最初の機能情報を取得する。ステップＳ２０３で、データ構造割り当て部４２０は、取得した機能情報から、その機能に設定される処理内容をＤＥＶＭＯＤＥ構造体に書き込むために必要なデータサイズを取得する。ステップＳ２０４で、データ構造割り当て部４２０は、ＤＥＶＭＯＤＥ構造体のオフセットから取得したデータサイズ分の領域を確保する。
【００８３】
ステップＳ２０５で、データ構造割り当て部４２０は、機能設定情報５００に未だ取得していない機能情報があるか否かを判定し、そのような機能情報がある場合には、現在のオフセットに先に取得したデータサイズを足した後、前出のステップＳ２０２からＳ２０４を繰り返す。そのような機能情報がない場合には、データ割り当て部４２０は、ＤＥＶＭＯＤＥ構造体の領域確保を終了する。
【００８４】
次に、上述したＤＥＶＭＯＤＥ構造体への処理内容の割り当てについて、図９を交えて更に詳細に説明する。
【００８５】
図９は、本実施例におけるＤＥＶＭＯＤＥ構造体のデータ構造の一例を示す。一般的なＤＥＶＭＯＤＥ構造体は、ＯＳで共通としているＰｕｂｌｉｃ部と、ベンダーが個別に定義可能としているＰｒｉｖａｔｅ部とを有する。図９のＤＥＶＭＯＤＥ構造体は、Ｐｒｉｖａｔｅ部８０に、プリンタドライバのインストール後であっても情報の追加、削除、及び書き換えが可能な未使用領域９０を付加された可変ＤＥＶＭＯＤＥ構造体である。
【００８６】
（ａ）は、未使用領域９０に何も割り当てられていない状態のＤＥＶＭＯＤＥ構造体９００ａを示す。この構造体９００ａに、図５の機能設定情報５００により定義される夫々の機能の処理内容が割り当てられる場合を考える。
【００８７】
最初に、データ構造割り当て部４２０は、図８を参照して説明されたように、ＤＥＶＭＯＤＥ構造体に処理内容を割り当てるための領域を確保する。データ構造割り当て部４２０は、先ず、ＤＥＶＭＯＤＥ構造体９００ａのオフセットを０で初期化する（ステップＳ２０１）。図９（ａ）で、オフセット０は、Ｐｒｉｖａｔｅ部８０と未使用領域９０との間の境界であるとする。次に、データ構造割り当て部４２０は、第１の機能設定情報読み込み部４１４によって読み込まれた機能設定情報５００から、ステープル機能に係る情報である第１の機能情報５１０を取得し（ステップＳ２０２）、更に、第１の機能情報５１０から、ステープル機能に設定される処理内容をＤＥＶＭＯＤＥ構造体に書き込むために必要なデータサイズ「１バイト」を取得する（ステップＳ２０３）。データ構造割り当て部４２０は、図９（ｂ）に示されるように、ＤＥＶＭＯＤＥ構造体９００ａにおいてオフセット０から１バイト分の領域９２を確保し、結果として、ＤＥＶＭＯＤＥ構造体９００ｂを得る。その後、データ構造割り当て部４２０は、機能設定情報５００に未だ取得していない機能情報があるか否かを判定する（ステップＳ２０５）。図５に示されるように、機能設定情報５００は、次に両面印刷機能に係る情報である第２の機能情報５２０を有するので、現在のオフセット０に、ステープル機能の処理内容が書き込まれた領域９２のデータサイズ「１バイト」を足して、それを新たなオフセット「１」とする。
【００８８】
図５の機能設定情報５００は、既にＤＥＶＭＯＤＥ構造体にその処理内容を割り当てるための領域を確保されたステープル機能に係る第１の機能情報５１０の他に、両面印刷、パスワード及び地紋印刷の各機能に係る第２、第３及び第４の機能情報５２０、５３０、５４０を含む。第２の機能情報５２０によれば、両面印刷機能の処理内容をＤＥＶＭＯＤＥ構造体に割り当てるために必要とされるデータサイズは「１バイト」である。従って、データ構造割り当て部４２０は、図９（ｃ）に示されるように、ＤＥＶＭＯＤＥ構造体９００ｂにおいてオフセット１から１バイト分の領域９４を確保し、結果として、ＤＥＶＭＯＤＥ構造体９００ｃを得る。このとき、オフセットは新たに「２」となる。同様に、第３の機能情報５３０によれば、パスワード機能の処理内容をＤＥＶＭＯＤＥ構造体に割り当てるために必要とされるデータサイズは「８バイト」であるから、データ構造割り当て部４２０は、図９（ｄ）に示されるように、ＤＥＶＭＯＤＥ構造体９００ｃにおいて新たなオフセット２から８バイト分の領域９６を確保し、結果として、ＤＥＶＭＯＤＥ構造体９００ｄを得る。また、第４の機能情報５４０によれば、地紋印刷の処理内容をＤＥＶＭＯＤＥ構造体に割り当てるために必要とされるデータサイズは「１バイト」であるから、データ構造割り当て部４２０は、図９（ｅ）に示されるように、ＤＥＶＭＯＤＥ構造体９００ｄにおいて新たなオフセット１０から１バイト分の領域９８を確保し、結果として、ＤＥＶＭＯＤＥ構造体９００ｅを得る。
【００８９】
このように、機能設定情報５００に含まれる全ての機能情報を基にＤＥＶＭＯＤＥ構造体に領域を確保した後、データ構造割り当て部４２０は、対応する処理内容（本実施例では、デフォルト設定）をそれらの領域に割り当てる。
【００９０】
例えば、ステープル機能のデフォルト設定が選択肢「しない」であったとすると、データ構造割り当て部４２０は、先に取得した第１の機能情報５１０から選択肢「しない」に対応するＤＥＶＭＯＤＥ値「０」を取得し、図９（ｂ）のＤＥＶＭＯＤＥ構造体９００ｂに確保されたオフセット０から１バイト分の領域９２にＤＥＶＭＯＤＥ値「０」を書き込む。
【００９１】
また、例えば、両面印刷機能のデフォルト設定が選択肢「右綴じ」であったとすると、データ構造割り当て部４２０は、先に取得した第２の機能情報５２０から選択肢「右綴じ」に対応するＤＥＶＭＯＤＥ値「１」を取得し、図９（ｃ）のＤＥＶＭＯＤＥ構造体９００ｃに確保されたオフセット１から１バイト分の領域９４にＤＥＶＭＯＤＥ値「１」を書き込む。
【００９２】
また、例えば、パスワード機能のデフォルト値が「ＡＢＣＤＥＦＧＨ」のアルファベット８文字から成る文字列であったとすると、データ構造割り当て部４２０は、図９（ｄ）のＤＥＶＭＯＤＥ構造体９００ｄに確保されたオフセット２から８バイト分の領域９６に、１文字につき１バイトの領域を用いて、文字列「ＡＢＣＤＥＦＧ」を書き込む。
【００９３】
また、例えば、地紋印刷機能のデフォルト値が選択肢「する」であったとすると、図５に示されるように、第４の機能情報５４０において選択肢「する」に対応するＤＥＶＭＯＤＥ値は「１」である。また、同じく図５に示されるように、地紋印刷機能に設定される処理内容をＤＥＶＭＯＤＥ構造体に書き込むために必要なデータサイズは「１バイト」であるから、データ構造割り当て部４２０は、先に取得した第４の機能情報５４０から選択肢「する」に対応するＤＥＶＭＯＤＥ値「１」を取得し、図９（ｅ）のＤＥＶＭＯＤＥ構造体９００ｅに確保されたオフセット１０から１バイト分の領域９８にＤＥＶＭＯＤＥ値「１」を書き込む。
【００９４】
以上、図５の機能設定情報５００に含まれる全ての機能情報について、その処理内容をＤＥＶＭＯＤＥ構造体へ割り当てることができた。
【００９５】
更に、処理内容が割り当てられたＤＥＶＭＯＤＥ構造体からプリンタが解釈可能なコマンドを決定する動作について、図１０を交えて説明する。
【００９６】
図７のステップＳ１１０でグラフィック部４３０によって情報記憶部４４０から機能設定情報５００が読み込まれた後、ステップＳ３０１で、コマンド決定部４３６は、ＤＥＶＭＯＤＥ構造体のオフセットを０で初期化する。
【００９７】
ステップＳ３０２で、コマンド決定部４３６は、第２の機能設定情報読み込み部４３２によって読み込まれた機能設定情報５００から、最初の機能情報を取得する。ステップＳ３０３で、コマンド決定部４３６は、取得した機能情報から、その機能に設定される処理内容をＤＥＶＭＯＤＥ構造体に書き込むために必要なデータサイズを取得する。ステップＳ３０４で、コマンド決定部４３６は、ＤＥＶＭＯＤＥ構造体から、そのオフセット０からステップＳ３０３で取得したデータサイズ分の領域に書き込まれたＤＥＶＭＯＤＥ値を取得する。次に、コマンド決定部４３６は、ステップＳ３０２で取得した機能情報を参照して、ステップＳ３０５において、取得したＤＥＶＭＯＤＥ値に関連付けられた処理内容を検索し、ステップＳ３０６においてその処理内容に関連付けられたコマンドを決定する。コマンド決定後、ステップＳ３０７で、コマンド決定部４３６は、現在のオフセットにステップＳ３０３で取得したデータサイズを足し、それを新たなオフセットとする。
【００９８】
ステップＳ３０８で、コマンド決定部４３６は、機能設定情報５００に未だ取得していない機能情報があるか否かを判定し、そのような機能情報がある場合には、前出のステップＳ３０２からＳ３０７を繰り返す。そのような機能情報がない場合には、コマンド決定部４３６は、ＤＥＶＭＯＤＥ構造体に基づくコマンド決定動作を終了する。
【００９９】
ここで、図５の機能設定情報５００により定義される夫々の機能の処理内容が図９（ｅ）のＤＥＶＭＯＤＥ構造体９００ｅのように割り当てられている場合を例として、図１０に示した動作を更に詳細に説明する。
【０１００】
最初に、ステップＳ３０１で、コマンド決定部４３６は、ＤＥＶＭＯＤＥ構造体のオフセットを０で初期化する。図９（ｅ）で、オフセット０は、Ｐｒｉｖａｔｅ部８０とステープル機能の処理内容が書き込まれた領域９２との間の境界に相当する。
【０１０１】
次に、ステップＳ３０２で、コマンド決定部４３６は、第２の機能設定情報読み込み部４３２によって読み込まれた機能設定情報５００から、ステープル機能に係る情報である第１の機能情報５１０を取得する。ステップＳ３０３で、コマンド決定部４３６は、第１の機能情報５１０から、ステープル機能に設定される処理内容をＤＥＶＭＯＤＥ構造体に書き込むために必要なデータサイズ「１バイト」を取得する。ステップＳ３０４で、コマンド決定部４３６は、ＤＥＶＭＯＤＥ構造体９００ｅのオフセット０からデータサイズ「１バイト」分の領域９２に書き込まれたＤＥＶＭＯＤＥ値「０」を取得する。ステップＳ３０５で、コマンド決定部４３６は、ステップＳ３０２で取得した第１の機能情報５１０を参照して、取得したＤＥＶＭＯＤＥ値「０」に関連付けられた処理内容を検索する。図５に示されるように、第１の機能情報５１０においてＤＥＶＭＯＤＥ値「０」に関連付けられた処理内容は、選択肢「しない」である。従って、ステップＳ３０６で、コマンド決定部４３６は、第１の機能情報５１０において選択肢「しない」に関連付けられたコマンド「ＳＴＡＰＬＥ＝ＮＯＮＥ」を決定する。コマンド決定後、ステップＳ３０７で、コマンド決定部４３６は、現在のオフセット０に領域９２のデータサイズ「１バイト」を足し、それを新たなオフセット「１」とする。
【０１０２】
ステップＳ３０８で、コマンド決定部４３６は、機能設定情報５００に未だ取得していない機能情報があるか否かを判定定する。図５に示されるように、機能設定情報５００は、次に両面印刷機能に係る情報である第２の機能情報５２０を有するので、両面印刷機能に関して、先のステープル機能の場合と同様に前出のステップＳ３０２からＳ３０７が実行される。
【０１０３】
図９（ｅ）のＤＥＶＭＯＤＥ構造体９００ｅにおいて、領域９２の次の領域９４に書き込まれたＤＥＶＭＯＤＥ値は「１」であるから、コマンド決定部４３６は、第２の機能情報５２０を参照して、ＤＥＶＭＯＤＥ値「１」に関連付けられた処理内容が選択肢「右綴じ」であることを検出し、検出された選択肢「右綴じ」に関連付けられたコマンド「ＤＵＰＬＥＸ＝ＲＩＧＨＴＢＩＮＤ」を決定する。
【０１０４】
また、機能設定情報５００は、次に、パスワード機能に係る情報である第３の機能情報５３０を有する。パスワード機能に関しても、先のステープル機能の場合と同様に前出のステップＳ３０２からＳ３０７が実行される。図９（ｅ）のＤＥＶＭＯＤＥ構造体９００ｅにおいて、領域９４の次の領域９６に書き込まれたＤＥＶＭＯＤＥ値は「ＡＢＣＤＥＦＧＨ」であるから、コマンド決定部４３６は、第３の機能情報５３０を参照して、ＤＥＶＭＯＤＥ値「ＡＢＣＤＥＦＧＨ」に関連付けられた処理内容を検出する。パスワード機能は、入力されたアルファベット文字から成る文字列により設定されるので、コマンド決定部４３６は、文字列「ＡＢＣＤＥＦＧＨ」を含むコマンド「ＰＡＳＳＷＯＲＤ＝"ＡＢＣＤＥＦＧＨ"」を決定する。
【０１０５】
また、機能設定情報５００は、次に、地紋印刷機能に係る情報である第４の機能情報５４０を有する。地紋印刷機能に関しても、先のステープル機能の場合と同様に前出のステップＳ３０２からＳ３０７が実行される。図９（ｅ）のＤＥＶＭＯＤＥ構造体９００ｅにおいて、領域９６の次の領域９８に書き込まれたＤＥＶＭＯＤＥ値は「１」であるから、コマンド決定部４３６は、第４の機能情報５４０を参照して、ＤＥＶＭＯＤＥ値「１」に関連付けられた処理内容が選択肢「する」であることを検出し、検出された選択肢「する」に関連付けられたコマンド「ＪＩＭＯＮ＝ＯＮ」を決定する。
【０１０６】
以上、図９（ｅ）のＤＥＶＭＯＤＥ構造体９００ｅに割り当てられた処理内容に基づいて、プリンタが解釈可能なコマンドを決定することができた。
【０１０７】
このように、本実施例のコンピュータは、ＤＥＶＭＯＤＥ構造体のようなＯＳで規定される所定のデータ構造に情報を追加可能な領域を設け、プリンタ等の機器の所定の機能に設定された処理内容を書き込むための領域を確保することによって、デバイスドライバのインストール後であっても再インストールを伴わずに、機器の機能変更に対応して、機器が処理可能なデータを生成することができる。
【実施例２】
【０１０８】
本実施例は、プリンタ１２が処理可能なデータを生成する際に、設定画面上でユーザによって設定された処理内容を用いる場合のコンピュータ１０の動作について、図１１のシーケンス図を交えながら説明する。
【０１０９】
設定画面上でユーザによって設定された処理内容が用いられる場合としては、例えば、ユーザが、ウィンドウズ（登録商標）で動作するアプリケーションの印刷設定画面において「プロパティ」ボタンを押すことによって、プリンタドライバ３６に対してプリンタ１２を設定する設定画面（例えば、プロパティ画面。）を表示するための設定画面呼出要求を行う場合が考えられる。このような場合に、最初に、ステップＳ４０１で、設定画面呼出要求がアプリケーション３２からプリンタドライバ３６のＵＩ部４１０へ送信される。
【０１１０】
ＵＩ部４１０は、アプリケーション３２からの要求を受け、ステップＳ４０２で、第１の機能設定情報読み込み部４１４を用いて情報記憶部４４０の機能設定情報ＤＢ４４２から機能設定情報５００（図５参照。）を読み込む。ＵＩ部４１０は、データ構造割り当て部４２０において、ステップＳ４０３で、第１の機能設定情報読み込み部４１４によって読み込んだ機能設定情報５００から夫々の機能に係る機能情報を取得し、更に、ステップＳ４０４で、取得した機能情報から、その機能に対する処理内容をＤＥＶＭＯＤＥ構造体に書き込むために必要なデータサイズを取得して、データサイズに対応する領域をＤＥＶＭＯＤＥ構造体に確保する。
【０１１１】
次に、ステップＳ４０５で、ＵＩ部４１０は、表示部４１２において、先のステップで第１の機能設定情報読み込み部４１４によって読み込んだ機能設定情報５００から１又は複数の機能の機能名を取得し、更に、その機能が幾つかの所定の選択肢の中から１つを選択することによって設定される場合には選択肢も取得し、これらに基づいて設定画面を構築して、モニタ等のディスプレイ装置（図示せず。）に表示する。ステップＳ４０６で、ユーザは、表示部４１２によって表示された設定画面に従って、キーボード等の入力装置（図示せず。）を用いて、プリンタ１２の各機能を設定するよう設定情報を入力する。ユーザによって入力された設定情報は、入力部４１８を介して表示部４１２に送られ、プリンタ１２の処理内容として設定される。ステップＳ４０７で、ＵＩ部４１０は、データ構造割り当て部４２０において、図９を参照して説明したように、表示部４１２により設定された処理内容のデータをＤＥＶＭＯＤＥ構造体に割り当てる。
【０１１２】
ステップＳ４０８で、ＵＩ部４１０は、データ構造割り当て部４２０によって処理内容のデータを割り当てられたＤＥＶＭＯＤＥ構造体をアプリケーション３２へ送る。アプリケーション３２は、ステップＳ４０９で、ＵＩ部４１０から送られたＤＥＶＭＯＤＥ構造体を保存する。その後、ステップＳ４１０で、ユーザが印刷設定画面内に表示された「ＯＫ」ボタン（図１２参照。）を押すことによって、印刷要求がアプリケーション３２からプリンタドライバ３６へ送信される。印刷要求とともに、又は印刷要求の送信後、ステップＳ４１１で、アプリケーション３２に保存されているＤＥＶＭＯＤＥ構造体と、アプリケーション３２で作成又は閲覧されたイメージデータとが、プリンタドライバ３６のグラフィック部４３０へ送られる。
【０１１３】
ステップＳ４１２で、グラフィック部４３０は、第２の機能設定情報読み込み部４３２を用いて情報記憶部４４０の機能設定情報ＤＢ４４２から機能設定情報５００を読み込む。ステップＳ４１３で、グラフィック部４３０は、コマンド決定部４３６において、第２の機能設定情報読み込み部４３２によって読み込んだ機能設定情報５００を参照して、アプリケーション３２から読み込んだＤＥＶＭＯＤＥ構造体に割り当てられた処理内容のデータに対応する、プリンタ１２が解釈可能なコマンドを決定する。ステップＳ４１４で、グラフィック部４３０は、データ生成部４３８において、コマンド決定部４３６によって決定されたコマンドに基づいて、アプリケーション３２から読み込んだイメージデータと、ＤＥＶＭＯＤＥ構造体に割り当てられた処理内容のデータとから、プリンタ１２が処理可能なデータを生成する。最後に、ステップＳ４１５で、グラフィック部４３０は、データ生成部４３８によって生成されたデータをスプーラ３８（図３参照。）を介してプリンタ１２へ送信する。
【０１１４】
このように、機能設定情報は、アプリケーション３２からプリンタドライバ３６のＵＩ部４１０に設定画面の呼び出しがなされるたびに、機能設定情報ＤＢ４４２からＵＩ部４１０に読み込まれる。
【０１１５】
例えば、本実施例のコンピュータ１０が、ステープル機能、両面印刷機能及びパスワード機能を有するプリンタに接続されているとする。その後、このプリンタに地紋印刷機能が追加されると、ユーザによる直接入力、記録媒体の読み込み、所定のサーバからの取得、又はコンピュータ１０に接続された機器からの取得のいずれかによって、機能設定情報ＤＢ４４２に格納された機能設定情報にも、地紋印刷機能に係る機能情報が追加される。この結果、図５の機能設定情報５００が得られる。従って、プリンタに地紋印刷機能が追加されたことに応じて、機能設定情報ＤＢ４４２には地紋印刷機能に係る機能情報５４０を付加された機能設定情報５００が格納されているので、ＵＩ部４１０の表示部４１２は、そのようなプリンタの機能追加に応じた設定画面を表示することができる。
【０１１６】
図１２は、本実施例におけるプリンタの設定画面の例を示す。（ａ）は機能追加前の設定画面であり、（ｂ）は地紋印刷機能が追加された後の設定画面である。
【０１１７】
機能追加前の設定画面１２０ａは、基本設定タブ１２１ａ及び追加設定タブ１２３ａを有する。本実施例では、基本設定タブ１２１ａが前面に表示されている。基本設定タブ１２１ａには、機能名と設定情報の入力欄とを有する設定項目１２２、１２４及び１２６が縦に順に表示されている。設定項目１２２、１２４及び１２６は、夫々、ステープル機能、両面印刷機能及びパスワード機能の夫々の処理内容を設定するための項目である。
【０１１８】
その後、設定画面１２０ａにより設定されたプリンタに地紋印刷機能が追加されると、コンピュータ１０が有する機能設定情報にも地紋印刷機能に係る機能情報が追加されるので、ＵＩ部４１０の表示部４１２は、設定画面１２０ａの基本設定タブ１２１ａに地紋印刷機能を設定するための項目１２８を付加した設定画面１２０ｂを表示する。
【０１１９】
このように、本実施例のコンピュータは、プリンタの印刷設定画面を表示する際に、取得した機能設定情報を用いることによって、プリンタドライバのインストール後であっても再インストールを伴わずに、プリンタの機能変更に応じた設定画面を表示することが可能となる。
【実施例３】
【０１２０】
本実施例は、実施例２のように設定画面を表示する場合に、機器の機能変更に応じて機器を設定するための設定画面のレイアウトも変更することが可能なコンピュータ１０の動作について、図１３のシーケンス図を交えて説明する。
【０１２１】
ユーザが、プリンタ１２の設定要求を行った場合、最初にステップＳ５０１で、プリンタ１２を設定する設定画面を表示するための設定画面呼び出し要求が、アプリケーション３２からプリンタドライバ３６のＵＩ部４１０へ送信される。
【０１２２】
ＵＩ部４１０は、アプリケーション３２からの要求を受け、ステップＳ５０２で、第１の機能設定情報読み込み部４１４を用いて情報記憶部４４０の機能設定情報ＤＢ４４２から機能設定情報５００（図５参照。）を読み込み、更に、ステップＳ５０３で、レイアウト情報読み込み部４１６を用いて情報記憶部４４０のレイアウト情報ＤＢ４４４から、ステップＳ５０２で取得した機能設定情報５００に対応するレイアウト情報６００（図６参照。）を読み込む。
【０１２３】
ＵＩ部４１０は、データ構造割り当て部４２０において、ステップＳ５０４で、第１の機能設定情報読み込み部４１４によって読み込んだ機能設定情報５００から夫々の機能に係る機能情報を取得し、更に、ステップＳ５０５で、取得した機能情報から、その機能に対する処理内容をＤＥＶＭＯＤＥ構造体に書き込むために必要なデータサイズを取得して、データサイズに対応する領域をＤＥＶＭＯＤＥ構造体に確保する。
【０１２４】
次に、ステップＳ５０６で、ＵＩ部４１０は、表示部４１２において、先のステップで第１の機能設定情報読み込み部４１４によって読み込んだ機能設定情報５００から１又は複数の機能の機能名を取得し、更に、その機能が幾つかの所定の選択肢の中から１つを選択することによって設定される場合には選択肢も取得し、レイアウト情報読み込み部４１６により読み込まれたレイアウト情報に従って、取得した機能名及び選択肢に基づく設定画面を構築して、モニタ等のディスプレイ装置（図示せず。）に表示する。ステップＳ５０７で、ユーザは、表示部４１２によって表示された設定画面に従って、キーボード等の入力装置（図示せず。）を用いて、プリンタ１２の各機能を設定するよう設定情報を入力する。ユーザによって入力された設定情報は、入力部４１８を介して表示部４１２に送られ、プリンタ１２の処理内容として設定される。ステップＳ５０８で、ＵＩ部４１０は、データ構造割り当て部４２０において、図９を参照して説明したように、表示部４１２により設定された処理内容のデータをＤＥＶＭＯＤＥ構造体に割り当てる。
【０１２５】
ステップＳ５０９で、ＵＩ部４１０は、データ構造割り当て部４２０によって処理内容のデータを割り当てられたＤＥＶＭＯＤＥ構造体をアプリケーション３２へ送る。アプリケーション３２は、ステップＳ５１０で、ＵＩ部４１０から送られたＤＥＶＭＯＤＥ構造体を保存する。その後、ステップＳ５１１で、ユーザが印刷設定画面内に表示された「ＯＫ」ボタン（図１４参照。）を押すことによって、印刷要求がアプリケーション３２からプリンタドライバ３６へ送信される。印刷要求とともに、又は印刷要求の送信後、ステップＳ５１２で、アプリケーション３２に保存されているＤＥＶＭＯＤＥ構造体と、アプリケーション３２で作成又は閲覧されたイメージデータとが、プリンタドライバ３６のグラフィック部４３０へ送られる。
【０１２６】
ステップＳ５１３で、グラフィック部４３０は、第２の機能設定情報読み込み部４３２を用いて情報記憶部４４０の機能設定情報ＤＢ４４２から機能設定情報５００を読み込む。ステップＳ５１４で、グラフィック部４３０は、コマンド決定部４３６において、第２の機能設定情報読み込み部４３２によって読み込んだ機能設定情報５００を参照して、アプリケーション３２から読み込んだＤＥＶＭＯＤＥ構造体に割り当てられた処理内容のデータに対応する、プリンタ１２が解釈可能なコマンドを決定する。ステップＳ５１５で、グラフィック部４３０は、データ生成部４３８において、コマンド決定部４３６によって決定されたコマンドに基づいて、アプリケーション３２から読み込んだイメージデータと、ＤＥＶＭＯＤＥ構造体に割り当てられた処理内容のデータとから、プリンタ１２が処理可能なデータを生成する。最後に、ステップＳ５１６で、グラフィック部４３０は、データ生成部４３８によって生成されたデータをスプーラ３８（図３参照。）を介してプリンタ１２へ送信する。
【０１２７】
図１３に示される本実施例のコンピュータ１０の動作は、アプリケーション３２からプリンタドライバ３６のＵＩ部４１０に設定画面呼び出し要求が送信された後、ＵＩ部４１０が情報記憶部４４０から機器設定情報とともにレイアウト情報も読み込む点で、図１１に示される実施例２のコンピュータ１０の動作とは異なる。
【０１２８】
例えば、本実施例のコンピュータ１０が、ステープル機能、両面印刷機能及びパスワード機能を有するプリンタに接続されているとする。その後、このプリンタに地紋印刷機能が追加されると、ユーザによる直接入力、記録媒体の読み込み、所定のサーバからの取得、又はコンピュータ１０に接続された機器からの取得のいずれかによって、レイアウト情報ＤＢ４４４に格納されたレイアウト情報にも、地紋印刷機能に係る配置情報が追加される。この結果、図６のレイアウト情報６００が得られる。従って、プリンタに地紋印刷機能が追加されたことに応じて、レイアウト情報ＤＢ４４４には地紋印刷機能に係る配置情報６５０を付加された機能設定情報６００が格納されている。ＵＩ部４１０の表示部４１２は、このレイアウト情報６００に基づき、同じく情報記憶部４４０に格納された機能設定情報に含まれる機能情報により定義されるプリンタの各機能の処理内容を設定するための項目を設定画面に配置することができる。
【０１２９】
図１４は、本実施例におけるプリンタの設定画面の例を示す。図１４の設定画面１４０は、プリンタに後から地紋印刷機能が追加された場合に表示される設定画面であって、機能名１４２ａ、１４４ａ、１４６ａ、１４８ａと、設定情報入力欄１４２ｂ、１４４ｂ、１４６ｂ、１４８ｂと、機能イメージ１４２ｃ、１４４ｃ、１４６ｃ、１４８ｃとを夫々有する４つの設定項目を有する。これらの設定項目は、縦横２列ずつで、左下から時計回りに「ステープル」、「両面印刷」、「パスワード」、「地紋印刷」の順に並べられている。
【０１３０】
図１２（ｂ）に示される実施例２の設定画面１２０ｂと比べると、本実施例の設定画面１４０は、レイアウト情報に基づいて構築されることにより、夫々の設定項目への機能イメージの追加、設定項目内での機能名、入力欄及び機能イメージの配置変更、並びに設定項目の配置変更をなされていることが分かる。
【０１３１】
このように、本実施例のコンピュータは、プリンタの印刷設定画面を表示する際に、機能設定情報とともにレイアウト情報も取得することによって、プリンタドライバのインストール後であっても再インストールを伴わずに、プリンタの機能変更に応じたレイアウトを有する設定画面を表示することが可能となる。
【実施例４】
【０１３２】
本実施例は、実施例２のように設定画面を表示する場合に、本来プリンタ側で実行される機能を実行可能なコンピュータ１０の動作について、図１５のシーケンス図を交えて説明する。
【０１３３】
ユーザが、プリンタ１２の設定要求を行った場合、最初にステップＳ６０１で、プリンタ１２を設定する設定画面を表示するための設定画面呼び出し要求が、アプリケーション３２からプリンタドライバ３６のＵＩ部４１０へ送信される。
【０１３４】
ＵＩ部４１０は、アプリケーション３２からの要求を受け、ステップＳ６０２で、第１の機能設定情報読み込み部４１４を用いて情報記憶部４４０の機能設定情報ＤＢ４４２から機能設定情報５００（図５参照。）を読み込む。ＵＩ部４１０は、データ構造割り当て部４２０において、ステップＳ６０３で、第１の機能設定情報読み込み部４１４によって読み込んだ機能設定情報５００から夫々の機能に係る機能情報を取得し、更に、ステップＳ６０４で、取得した機能情報から、その機能に対する処理内容をＤＥＶＭＯＤＥ構造体に書き込むために必要なデータサイズを取得して、データサイズに対応する領域をＤＥＶＭＯＤＥ構造体に確保する。
【０１３５】
次に、ステップＳ６０５で、ＵＩ部４１０は、表示部４１２において、先のステップで第１の機能設定情報読み込み部４１４によって読み込んだ機能設定情報５００から１又は複数の機能の機能名を取得し、更に、その機能が幾つかの所定の選択肢の中から１つを選択することによって設定される場合には選択肢も取得し、これらに基づいて設定画面を構築して、モニタ等のディスプレイ装置（図示せず。）に表示する。ステップＳ６０６で、ユーザは、表示部４１２によって表示された設定画面に従って、キーボード等の入力装置（図示せず。）を用いて、プリンタ１２の各機能を設定するよう設定情報を入力する。ユーザによって入力された設定情報は、入力部４１８を介して表示部４１２に送られ、プリンタ１２の処理内容として設定される。ステップＳ６０７で、ＵＩ部４１０は、データ構造割り当て部４２０において、図９を参照して説明したように、表示部４１２により設定された処理内容のデータをＤＥＶＭＯＤＥ構造体に割り当てる。
【０１３６】
ステップＳ６０８で、ＵＩ部４１０は、データ構造割り当て部４２０によって処理内容のデータを割り当てられたＤＥＶＭＯＤＥ構造体をアプリケーション３２へ送る。アプリケーション３２は、ステップＳ６０９で、ＵＩ部４１０から送られたＤＥＶＭＯＤＥ構造体を保存する。その後、ステップＳ６１０で、ユーザが印刷設定画面内に表示された「ＯＫ」ボタン（図１２参照。）を押すことによって、印刷要求がアプリケーション３２からプリンタドライバ３６へ送信される。印刷要求とともに、又は印刷要求の送信後、ステップＳ６１１で、アプリケーション３２に保存されているＤＥＶＭＯＤＥ構造体と、アプリケーション３２で作成又は閲覧されたイメージデータとが、プリンタドライバ３６のグラフィック部４３０へ送られる。
【０１３７】
ステップＳ６１２で、グラフィック部４３０は、第２の機能設定情報読み込み部４３２を用いて情報記憶部４４０の機能設定情報ＤＢ４４２から機能設定情報５００を読み込む。ステップＳ６１３で、グラフィック部４３０は、コマンド決定部４３６において、第２の機能設定情報読み込み部４３２によって読み込んだ機能設定情報５００を参照して、アプリケーション３２から読み込んだＤＥＶＭＯＤＥ構造体に割り当てられた処理内容のデータに対応する、プリンタ１２が解釈可能なコマンドを決定する。
【０１３８】
コマンド決定後、ステップＳ６１４で、グラフィック部４３０は、追加機能情報読み込み部４３４を用いて情報記憶部４４０の追加機能情報ＤＢ４４６から追加機能情報を読み込む。ステップＳ６１５で、グラフィック部４３０は、データ生成部４３８において、コマンド決定部４３６によって決定されたコマンドと、追加機能情報読み込み部４３４により読み込んだ追加情報とに基づいて、アプリケーション３２から読み込んだイメージデータと、ＤＥＶＭＯＤＥ構造体に割り当てられた処理内容のデータとから、プリンタ１２が処理可能なデータを生成する。最後に、ステップＳ６１６で、グラフィック部４３０は、データ生成部４３８によって生成されたデータをスプーラ３８（図３参照。）を介してプリンタ１２へ送信する。
【０１３９】
図１５に示される本実施例のコンピュータ１０の動作は、コマンド決定後、グラフィック部４３０が情報記憶部４４０から追加機能情報を読み込み、コマンド決定部４３６によって決定されたコマンドのみならず、この追加機能情報にも基づいてデータ生成がなされる点で、図１１に示される実施例２のコンピュータ１０の動作とは異なる。
【０１４０】
次に、上述した追加機能情報に基づくデータ生成動作について、図１６を交えて説明する。
【０１４１】
図１５のステップＳ６１４で追加機能情報読み込み部４３４により追加機能情報が読み込まれた後、ステップＳ７０１で、データ生成部４３８は、ステップＳ６１３でコマンド決定部４３６によって決定されたコマンドを取得する。ステップＳ７０２で、データ生成部４３８は、取得したコマンドの中に、追加機能情報に基づいてデータ生成部４３８において実行可能なコマンドがあるか否かを判定する。
【０１４２】
実行可能なコマンドがある場合に、ステップＳ７０３で、データ生成部４３８は、そのコマンドに基づいて、アプリケーション３２から読み込んだイメージデータを処理する。一方、実行可能なコマンドがない場合には、データ生成部４３８は、追加機能情報に基づくデータ生成動作を終了する。
【０１４３】
追加機能情報は、プリンタドライバ３６がプリンタ１２と同じようにコマンドを実行することを可能にするプログラムである。例えば、本実施例のコンピュータが、地紋印刷機能の実行を可能にする追加機能情報を有するプリンタドライバ３６を組み込まれたコンピュータであって、ステープル機能、両面印刷機能及びパスワード機能を有するが、地紋印刷機能を有さないプリンタに接続されているとする。この場合に、プリンタドライバ３６の機能設定情報ＤＢ４４２に格納された機能設定情報は、プリンタの機能、即ち、ステープル機能、両面印刷機能及びパスワード機能の夫々の機能情報と、プリンタドライバ３６において実行可能な機能、即ち、地紋印刷機能の機能情報とを有する。この結果、図５の機能設定情報５００が得られる。従って、ＵＩ部４１０の表示部４１２は、この機能設定情報５００に基づき、プリンタ側で実行される機能を設定するための基本設定タブ（図１２参照。）と、プリンタドライバ３６側で実行可能な機能を設定するための追加設定タブ（図１２参照。）とを設定画面上に表示する。次に、コマンド決定部４３６は、設定画面を介してユーザにより設定された夫々の機能の処理内容に対応する、プリンタが解釈可能なコマンドを決定する。コマンド決定部４３６により決定されたコマンドには、プリンタドライバ３６で実行される地紋印刷機能のコマンドも含まれる。データ生成部４３８は、追加機能情報に基づいて地紋印刷機能のコマンドを実行し、アプリケーション３２から取得したイメージデータに地紋を付加したデータを生成する。
【０１４４】
また、その後、プリンタに地紋印刷機能が追加された場合には、プリンタドライバ３６から地紋印刷機能に係る追加機能情報を取り除いても良い。
【０１４５】
このように、本実施例のコンピュータは、追加機能情報に基づいて、本来プリンタ側で実行される機能をコンピュータ側で実行することができるので、プリンタドライバのインストール後であっても再インストールを伴わずに、プリンタに搭載されていない機能をコンピュータに追加することが可能となる。
【実施例５】
【０１４６】
本実施例は、実施例２のように設定画面を表示する場合に、機器の機能変更に応じて機器を設定するための設定画面のレイアウトが変更可能であって、且つ、本来プリンタ側で実行される機能を実行可能なコンピュータ１０の動作について、図１７を交えて説明する。
【０１４７】
ユーザが、プリンタ１２の設定要求を行った場合、最初にステップＳ８０１で、プリンタ１２を設定する設定画面を表示するための設定画面呼び出し要求が、アプリケーション３２からプリンタドライバ３６のＵＩ部４１０へ送信される。
【０１４８】
ＵＩ部４１０は、アプリケーション３２からの要求を受け、ステップＳ８０２で、第１の機能設定情報読み込み部４１４を用いて情報記憶部４４０の機能設定情報ＤＢ４４２から機能設定情報５００（図５参照。）を読み込み、更に、ステップＳ８０３で、レイアウト情報読み込み部４１６を用いて情報記憶部４４０のレイアウト情報ＤＢ４４４から、ステップＳ８０２で取得した機能設定情報５００に対応するレイアウト情報６００（図６参照。）を読み込む。
【０１４９】
ＵＩ部４１０は、データ構造割り当て部４２０において、ステップＳ８０４で、第１の機能設定情報読み込み部４１４によって読み込んだ機能設定情報５００から夫々の機能に係る機能情報を取得し、更に、ステップＳ８０５で、取得した機能情報から、その機能に対する処理内容をＤＥＶＭＯＤＥ構造体に書き込むために必要なデータサイズを取得して、データサイズに対応する領域をＤＥＶＭＯＤＥ構造体に確保する。
【０１５０】
次に、ステップＳ８０６で、ＵＩ部４１０は、表示部４１２において、先のステップで第１の機能設定情報読み込み部４１４によって読み込んだ機能設定情報５００から１又は複数の機能の機能名を取得し、更に、その機能が幾つかの所定の選択肢の中から１つを選択することによって設定される場合には選択肢も取得し、レイアウト情報読み込み部４１６により読み込まれたレイアウト情報に従って、取得した機能名及び選択肢に基づく設定画面を構築して、モニタ等のディスプレイ装置（図示せず。）に表示する。ステップＳ８０７で、ユーザは、表示部４１２によって表示された設定画面に従って、キーボード等の入力装置（図示せず。）を用いて、プリンタ１２の各機能を設定するよう設定情報を入力する。ユーザによって入力された設定情報は、入力部４１８を介して表示部４１２に送られ、プリンタ１２の処理内容として設定される。ステップＳ１５０８で、ＵＩ部４１０は、データ構造割り当て部４２０において、図９を参照して説明したように、表示部４１２により設定された処理内容のデータをＤＥＶＭＯＤＥ構造体に割り当てる。
【０１５１】
ステップＳ８０９で、ＵＩ部４１０は、データ構造割り当て部４２０によって処理内容のデータを割り当てられたＤＥＶＭＯＤＥ構造体をアプリケーション３２へ送る。アプリケーション３２は、ステップＳ８１０で、ＵＩ部４１０から送られたＤＥＶＭＯＤＥ構造体を保存する。その後、ステップＳ８１１で、ユーザが印刷設定画面内に表示された「ＯＫ」ボタン（図１４参照。）を押すことによって、印刷要求がアプリケーション３２からプリンタドライバ３６へ送信される。印刷要求とともに、又は印刷要求の送信後、ステップＳ８１２で、アプリケーション３２に保存されているＤＥＶＭＯＤＥ構造体と、アプリケーション３２で作成又は閲覧されたイメージデータとが、プリンタドライバ３６のグラフィック部４３０へ送られる。
【０１５２】
ステップＳ８１３で、グラフィック部４３０は、第２の機能設定情報読み込み部４３２を用いて情報記憶部４４０の機能設定情報ＤＢ４４２から機能設定情報５００を読み込む。ステップＳ８１４で、グラフィック部４３０は、コマンド決定部４３６において、第２の機能設定情報読み込み部４３２によって読み込んだ機能設定情報５００を参照して、アプリケーション３２から読み込んだＤＥＶＭＯＤＥ構造体に割り当てられた処理内容のデータに対応する、プリンタ１２が解釈可能なコマンドを決定する。
【０１５３】
コマンド決定後、ステップＳ８１５で、グラフィック部４３０は、追加機能情報読み込み部４３４を用いて情報記憶部４４０の追加機能情報ＤＢ４４６から追加機能情報を読み込む。ステップＳ８１６で、グラフィック部４３０は、データ生成部４３８において、コマンド決定部４３６によって決定されたコマンドと、追加機能情報読み込み部４３４により読み込んだ追加情報とに基づいて、アプリケーション３２から読み込んだイメージデータと、ＤＥＶＭＯＤＥ構造体に割り当てられた処理内容のデータとから、プリンタ１２が処理可能なデータを生成する。最後に、ステップＳ８１７で、グラフィック部４３０は、データ生成部４３８によって生成されたデータをスプーラ３８（図３参照。）を介してプリンタ１２へ送信する。
【０１５４】
図１７に示される本実施例のコンピュータ１０の動作は、アプリケーション３２からプリンタドライバ３６のＵＩ部４１０に設定画面呼び出し要求が送信された後、ＵＩ部４１０が情報記憶部４４０から機器設定情報とともにレイアウト情報も読み込む点と、コマンド決定後、グラフィック部４３０が情報記憶部４４０から追加機能情報を読み込み、コマンド決定部４３６によって決定されたコマンドのみならず、この追加機能情報にも基づいてデータ生成がなされる点とで、図１１に示される実施例２のコンピュータ１０の動作とは異なる。本実施例のコンピュータは、実施例３及び実施例４におけるコンピュータ１０の動作を組み合わすことにより実現される。
【０１５５】
このように、本発明のコンピュータ、追加機能情報に基づいて、本来プリンタ側で実行される機能をコンピュータ側で実行することができるので、プリンタドライバのインストール後であっても再インストールを伴わずに、プリンタに搭載されていない機能をコンピュータに追加することが可能であり、更に、プリンタの印刷設定画面を表示する際に、機能設定情報とともにレイアウト情報も取得することによって、このようなコンピュータへの機能追加に応じた設定画面を表示することが可能となる。
【０１５６】
〔変形例〕
以上、本発明の実施形態では、デバイスドライバの一例としてのプリンタドライバに関して説明したが、アプリケーションからの指示を機器が処理可能なデータに変換するソフトウェアであれば、スキャナドライバ及びＰＣ−ＦＡＸドライバ等の他のデバイスドライバにも適用することができる。
【０１５７】
また、上記実施形態において、本発明は、情報処理装置のハードディスク（ＨＤＤ）、読出し専用メモリ（ＲＯＭ）等のメモリに格納されたプログラムによって実現されるとしたが、あるいは、情報処理装置においてハードウェアとして実現されても良い。
【０１５８】
また、本発明の実施形態は、デバイスドライバドライバ及びそれに準じるモジュールの形態に限定されず、アプリケーション自身に適用させても良い。
【０１５９】
以上、発明を実施するための最良の形態について説明を行ったが、本発明は、この最良の形態で述べた実施の形態に限定されるものではない。本発明の主旨を損なわない範囲で変更することが可能である。
【図面の簡単な説明】
【０１６０】
【図１】本実施形態の情報処理システムのネットワーク構成例を示す図である。
【図２】本実施形態のコンピュータのハードウェア構成例を示す図である。
【図３】本実施形態におけるコンピュータの機能構成例を示す図である。
【図４】本実施形態のプリンタドライバの構成例を示す図である。
【図５】本実施形態の機能設定情報のデータ記述例を示す図である。
【図６】本実施形態のレイアウト情報のデータ記述例を示す図である。
【図７】実施例１のコンピュータによるデータ生成動作の一例を説明するシーケンス図である。
【図８】実施例１のコンピュータによるＤＥＶＭＯＤＥ構造体への処理内容の割り当て動作の一例を説明するフローチャートである。
【図９】実施例１におけるＤＥＶＭＯＤＥ構造体のデータ構造の一例を示す図である。
【図１０】実施例１のコンピュータによるＤＥＶＭＯＤＥ構造体からプリンタが解釈可能なコマンドを決定する動作の一例を説明するフローチャートである。
【図１１】実施例２のコンピュータによるデータ生成動作の一例を説明するシーケンス図である。
【図１２】実施例２の印刷設定画面の表示例を示す図である。
【図１３】実施例３のコンピュータによるデータ生成動作の一例を説明するシーケンス図である。
【図１４】実施例３の印刷設定画面の表示例を示す図である。
【図１５】実施例４のコンピュータによるデータ生成動作の一例を説明するシーケンス図である。
【図１６】実施例４のコンピュータによる追加機能情報に基づくデータ生成動作の一例を説明するフローチャートである。
【図１７】実施例５のコンピュータによるデータ生成動作の一例を説明するシーケンス図である。
【符号の説明】
【０１６１】
１  情報処理システム
１０  コンピュータ
１２，１４  プリンタ
１６  ネットワーク
２７  記録媒体
３２  アプリケーション
３４  描画サービス
３６  プリンタドライバ
３８  データ送信部（スプーラ）
４２  データ受信部
４４  データ処理部
４１０  ＵＩモジュール
４１２  表示部
４１４，４３２  機能設定情報読み込み部
４１６  レイアウト情報読み込み部
４１８  入力部
４２０  データ構造割り当て部
４３０  グラフィック部
４３４  追加機能情報読み込み部
４３６  コマンド決定部
４３８  データ生成部
４４０  情報記憶部
５００  機能設定情報
５１０，５２０，５３０，５４０  機能情報
６００  レイアウト情報
５１０，６２０，６３０，６４０，６５０  配置情報
１１０ａ，１１０ｂ，１３０  設定画面
９００ａ〜９００ｅ  ＤＥＶＭＯＤＥ構造体
９０  未使用領域
【図１】
2008097574.tif 000003
【図２】
2008097574.tif 000004
【図３】
2008097574.tif 000005
【図４】
2008097574.tif 000006
【図５】
2008097574.tif 000007
【図６】
2008097574.tif 000008
【図７】
2008097574.tif 000009
【図８】
2008097574.tif 000010
【図９】
2008097574.tif 000011
【図１０】
2008097574.tif 000012
【図１１】
2008097574.tif 000013
【図１２】
2008097574.tif 000014
【図１３】
2008097574.tif 000015
【図１４】
2008097574.tif 000016
【図１５】
2008097574.tif 000017
【図１６】
2008097574.tif 000018
【図１７】
2008097574.tif 000019