(57)【要約】【課題】印刷装置の機能を拡張しても利用できない機能がプリンタドライバに追加されることを防止する。【解決手段】プリンタドライバ１６０と、プリンタドライバをインストール先とする第１プラグインの機能をプリンタ側で使用可能とするための第２プラグインをインストール可能なプラットフォームを示す第１ソフト識別子を記憶する第１ソフト識別子記憶部１３２と、プリンタドライバの制御対象のプリンタのプラットフォームを示す第２ソフト識別子を取得するソフト識別子取得部１５２と、第１ソフト識別子と第２ソフト識別子とを比較し、プリンタのプラットフォームが第２プラグインをインストール可能であるか否かを判定するインストール可否判定部１５４と、インストール可能と判定された場合に、第１プラグインをプリンタドライバにインストールするインストール部１５６とを備える。【選択図】図２
2010287099.tif 000002
【特許請求の範囲】
【請求項１】
プリンタドライバと、
前記プリンタドライバをインストール先とする第１プラグインの機能を印刷装置側で使用可能とするための第２プラグインをインストール可能なソフトウェアを示す第１ソフト識別子を記憶する第１ソフト識別子記憶手段と、
前記プリンタドライバの制御対象の印刷装置である制御対象印刷装置のソフトウェアを示す第２ソフト識別子を取得するソフト識別子取得手段と、
前記第１ソフト識別子記憶手段から前記第１ソフト識別子を取得し、前記ソフト識別子取得手段により取得された前記第２ソフト識別子と比較して、前記制御対象印刷装置のソフトウェアが前記第２プラグインをインストール可能であるか否かを判定するインストール可否判定手段と、
インストール可能と判定された場合に、前記第１プラグインを前記プリンタドライバにインストールするインストール手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記インストール可否判定手段は、前記第１ソフト識別子と前記第２ソフト識別子とが一致する場合に、前記制御対象印刷装置のソフトウェアが前記第２プラグインをインストール可能であると判定することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記ソフト識別子取得手段は、前記プリンタドライバに前記第２ソフト識別子の取得を指示して、前記第２ソフト識別子を取得することを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記プリンタドライバは、通信手段に前記制御対象印刷装置との間の双方向通信を行わせて、前記第２ソフト識別子を取得することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記第２ソフト識別子を記憶する第２ソフト識別子記憶手段を更に備え、
前記プリンタドライバは、前記第２ソフト識別子記憶手段から前記第２ソフト識別子を取得することを特徴とする請求項３に記載の情報処理装置。
【請求項６】
前記ソフト識別子取得手段は、前記プリンタドライバがサポートしているインターフェースの自由記述部を用いて、前記プリンタドライバから前記第２ソフト識別子を取得することを特徴とする請求項３〜５のいずれか１つに記載の情報処理装置。
【請求項７】
前記第１プラグインがインストールされた前記プリンタドライバは、
前記制御対象印刷装置のソフトウェアにインストールされているプラグインを示すインストール済みプラグイン識別子を取得するプラグイン識別子取得手段と、
前記プラグイン識別子取得手段により取得された前記インストール済みプラグイン識別子が前記第２プラグインを示すか否かを判定するプラグイン判定手段と、
前記第２プラグインを示すと判定された場合に、前記第１プラグインの機能を選択可能な態様で印刷設定画面を表示手段に表示させ、前記第２プラグインを示さないと判定された場合に、前記第１プラグインの機能を選択不可能な態様で印刷設定画面を表示手段に表示させる表示制御手段と、を更に備えることを特徴とする請求項１〜６のいずれか１つに記載の情報処理装置。
【請求項８】
前記第１プラグインを示す第１プラグイン識別子を記憶する第１プラグイン識別子記憶手段を更に備え、
前記プラグイン判定手段は、第１プラグイン識別子記憶手段から前記第１プラグイン識別子を取得し、取得した前記第１プラグイン識別子が前記プラグイン識別子取得手段により取得された前記インストール済みプラグイン識別子と一致する場合に、前記インストール済みプラグイン識別子が前記第２プラグインを示すと判定し、取得した前記第１プラグイン識別子が前記プラグイン識別子取得手段により取得された前記インストール済みプラグイン識別子と一致しない場合に、前記インストール済みプラグイン識別子が前記第２プラグインを示さないと判定することを特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記プラグイン識別子取得手段は、通信手段に前記制御対象印刷装置との間の双方向通信を行わせて、前記インストール済みプラグイン識別子を取得することを特徴とする請求項７又は８に記載の情報処理装置。
【請求項１０】
前記ソフトウェアは、プラットフォームであり、
前記第１ソフト識別子及び前記第２ソフト識別子は、プラットフォームの名称であることを特徴とする請求項１〜９のいずれか１つに記載の情報処理装置。
【請求項１１】
ソフト識別子取得手段が、プリンタドライバの制御対象の印刷装置である制御対象印刷装置のソフトウェアを示す第２ソフト識別子を取得するソフト識別子取得ステップと、
インストール可否判定手段が、前記プリンタドライバをインストール先とする第１プラグインの機能を印刷装置側で使用可能とするための第２プラグインをインストール可能なソフトウェアを示す第１ソフト識別子を記憶する第１ソフト識別子記憶手段から前記第１ソフト識別子を取得し、前記ソフト識別子取得ステップにより取得された前記第２ソフト識別子と比較して、前記制御対象印刷装置のソフトウェアが前記第２プラグインをインストール可能であるか否かを判定するインストール可否判定ステップと、
インストール手段が、インストール可能と判定された場合に、前記第１プラグインを前記プリンタドライバにインストールするインストールステップと、
をコンピュータに実行させるためのインストーラプログラム。
【請求項１２】
請求項１１に記載のインストーラプログラムを記憶したコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、インストーラプログラム、及び記憶媒体に関する。
【背景技術】
【０００２】
従来から、プラグインをインストールすることによりプリンタなどの印刷装置の機能を拡張する技術が知られている。また、この拡張された印刷装置の機能を利用可能とするために、ＰＣ（Personal Computer）などの印刷要求元の情報処理装置にインストールされているプリンタドライバの機能を、プラグインをインストールすることにより拡張する技術も知られている。
【０００３】
上記のような情報処理装置では、通常、各種の整合性を確認してからプラグインをプリンタドライバにインストールする。例えば特許文献１には、ＰＤＬドライバのバージョンとインストール可能なプラグインとが対応付けられた対応管理表を参照することにより、プラグインとＰＤＬドライバとの整合性を確認して、プラグインをインストールする技術が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述した従来技術に開示された技術では、プリンタドライバとプラグインとの整合性を確認しているだけである。このため、インストール対象のプラグインの機能を印刷装置側で使用可能にするプラグインを印刷装置にインストールできないにも関わらず、インストール対象のプラグインをプリンタドライバにインストールしてしまい、印刷装置の機能を拡張しても利用できない機能がプリンタドライバに追加されるおそれがある。
【０００５】
本発明は、上記事情に鑑みてなされたものであり、印刷装置の機能を拡張しても利用できない機能がプリンタドライバに追加されることを防止できる情報処理装置、インストーラプログラム、及び記憶媒体を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、本発明の一態様にかかる情報処理装置は、プリンタドライバと、前記プリンタドライバをインストール先とする第１プラグインの機能を印刷装置側で使用可能とするための第２プラグインをインストール可能なソフトウェアを示す第１ソフト識別子を記憶する第１ソフト識別子記憶手段と、前記プリンタドライバの制御対象の印刷装置である制御対象印刷装置のソフトウェアを示す第２ソフト識別子を取得するソフト識別子取得手段と、前記第１ソフト識別子記憶手段から前記第１ソフト識別子を取得し、前記ソフト識別子取得手段により取得された前記第２ソフト識別子と比較して、前記制御対象印刷装置のソフトウェアが前記第２プラグインをインストール可能であるか否かを判定するインストール可否判定手段と、インストール可能と判定された場合に、前記第１プラグインを前記プリンタドライバにインストールするインストール手段と、を備えることを特徴とする。
【０００７】
また、本発明の別の態様にかかるインストーラプログラムは、ソフト識別子取得手段が、プリンタドライバの制御対象の印刷装置である制御対象印刷装置のソフトウェアを示す第２ソフト識別子を取得するソフト識別子取得ステップと、インストール可否判定手段が、前記プリンタドライバをインストール先とする第１プラグインの機能を印刷装置側で使用可能とするための第２プラグインをインストール可能なソフトウェアを示す第１ソフト識別子を記憶する第１ソフト識別子記憶手段から前記第１ソフト識別子を取得し、前記ソフト識別子取得ステップにより取得された前記第２ソフト識別子と比較して、前記制御対象印刷装置のソフトウェアが前記第２プラグインをインストール可能であるか否かを判定するインストール可否判定ステップと、インストール手段が、インストール可能と判定された場合に、前記第１プラグインを前記プリンタドライバにインストールするインストールステップと、をコンピュータに実行させるためのものである。
【０００８】
また、本発明の別の態様にかかる記憶媒体は、上記インストーラプログラムを記憶したコンピュータ読み取り可能な記憶媒体である。
【発明の効果】
【０００９】
本発明によれば、印刷装置の機能を拡張しても利用できない機能がプリンタドライバに追加されることを防止できるという効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】図１は、第１実施形態のプリンタシステムの構成例を示すブロック図である。
【図２】図２は、第１実施形態のＰＣの第１プラグインのインストール前の構成例を示すブロック図である。
【図３】図３は、第１ソフト識別子の例を示す図である。
【図４】図４は、第１実施形態のＰＣの第１プラグインのインストール後の構成例を示すブロック図である。
【図５】図５は、第１実施形態のプリンタの構成例を示すブロック図である。
【図６】図６は、第１実施形態のＰＣで行われる第１プラグインのインストール処理例を示すフローチャートである。
【図７】図７は、第１実施形態のプリンタシステムで行われる第２ソフト識別子の取得処理例を示すシーケンス図である。
【図８】図８は、第１実施形態のプリンタシステムで行われる印刷設定画面の表示処理例を示すシーケンス図である。
【図９】図９は、第２実施形態のＰＣの第１プラグインのインストール前の構成例を示すブロック図である。
【図１０】図１０は、第２ソフト識別子の例を示す図である。
【図１１】図１１は、第２実施形態のＰＣで行われる第２ソフト識別子の取得処理例を示すシーケンス図である。
【発明を実施するための形態】
【００１１】
以下、添付図面を参照しながら、本発明にかかる情報処理装置、インストーラプログラム、及び記憶媒体の実施の形態を詳細に説明する。なお、以下の実施の形態では、情報処理装置としてＰＣ（Personal Computer）を例にとり説明するが、これに限定されるものではない。
【００１２】
（第１の実施の形態）
まず、第１の実施の形態のＰＣを含むプリンタシステムの構成について説明する。
【００１３】
図１は、第１の実施の形態のプリンタシステム１の構成の一例を示すブロック図である。図１に示すように、プリンタシステム１は、印刷要求元のＰＣ１０と、ＰＣ１０からの印刷要求に従って印刷を行うプリンタ２０（印刷装置の一例）とを備えており、両装置は、ネットワーク５を介して接続されている。
【００１４】
なお、プリンタシステム１は、ＰＣ１０を複数備えるようにしてもよいし、プリンタ２０を複数備えるようにしてもよい。また、ネットワーク５は、有線若しくは無線、またＬＡＮ(Local Area Network)や公衆通信回線を問わず、どのようなネットワークであってもよい。また、ＰＣ１０とプリンタ２０とをＵＳＢ（Universal Serial Bus）ケーブルなどで接続してもよい。
【００１５】
図２は、第１の実施の形態のＰＣ１０の構成の一例を示すブロック図である。図２に示すように、ＰＣ１０は、操作部１１０と、表示部１２０と、記憶部１３０と、制御部１４０と通信部１８０とを備える。
【００１６】
操作部１１０は、各種操作の入力を行うものであり、キーボード、マウス、タッチパッド又はタッチパネルなどの既存の入力装置により実現できる。
【００１７】
表示部１２０は、アプリケーションによる作業画面や、印刷の設定を行うための印刷設定画面等の各種メニュー画面などを表示するものであり、液晶ディスプレイやタッチパネル式ディスプレイなどの既存の表示装置により実現できる。
【００１８】
記憶部１３０は、ＰＣ１０で実行される各種プログラムやＰＣ１０で行われる各種処理に使用される各種情報などを記憶するものあり、例えば、ＨＤＤ（Hard Disk Drive）、ＳＳＤ（Solid State Drive）、メモリカード、光ディスク、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）などの磁気的、光学的、又は電気的に記憶可能な既存の記憶装置により実現できる。そして、記憶部１３０は、第１ソフト識別子記憶部１３２を含む。なお、第１ソフト識別子記憶部１３２の詳細については後述する。
【００１９】
制御部１４０は、ＰＣ１０の全体を制御するものであり、ＣＰＵ（Central Processing Unit）などにより実現できる。そして、制御部１４０は、ＯＳ１４２と、アプリケーション１４４と、インストーラ１５０と、プリンタドライバ１６０とを含む。なお、ＯＳ１４２、アプリケーション１４４、インストーラ１５０、プリンタドライバ１６０は、それぞれ記憶部１３０に記憶されているＯＳプログラム、アプリケーションプログラム、インストーラプログラム、プリンタドライバプログラムが制御部１４０により起動（実行）されることで実現されるものである。また、プリンタドライバ１６０は、ドライバ拡張用のプラグインである第１プラグインをインストールすることにより機能を追加（拡張）できる。
【００２０】
ＯＳ１４２は、ＰＣ１０の各部（詳細には、ＰＣ１０のハードウェア及びソフトウェア）を制御するものであり、例えば、Ｗｉｎｄｏｗｓ（登録商標）やＵＮＩＸ（登録商標）などの基本ソフトウェアにより実現できる。
【００２１】
アプリケーション１４４は、文書の作成、文書の閲覧、又は数値計算など所定の作業をＰＣ１０で行うためのものであり、例えば、基本ソフトウェア上で動作する文書作成ソフトウェア、閲覧ソフトウェア、又は表計算ソフトウェアなどにより実現できる。そして、アプリケーション１４４は、操作部１１０から印刷設定画面の表示を指示する操作入力や画像データの印刷を指示する操作入力を受け付け、ＯＳ１４２を介して後述のプリンタドライバ１６０にその旨を通知する。
【００２２】
インストーラ１５０は、記憶部１３０に記憶されているインストール対象の第１プラグインをプリンタドライバ１６０にインストールするものであり、インストール作業を支援するソフトウェアなどにより実現できる。そして、インストーラ１５０は、ソフト識別子取得部１５２と、インストール可否判定部１５４と、インストール部１５６とを含む。
【００２３】
ここで、第１ソフト識別子記憶部１３２について説明する。第１ソフト識別子記憶部１３２は、プリンタドライバ１６０をインストール先とする第１プラグインの機能をプリンタ側で使用可能とするためのプリンタ拡張用のプラグインである第２プラグインをインストール可能なソフトウェアを示す第１ソフト識別子を記憶する。なお、第１の実施の形態では、ソフトウェアとして、プリンタ本体を制御するプラットフォームを例にとり説明する。
【００２４】
図３は、第１ソフト識別子の一例を示す図である。図３に示す例では、第１ソフト識別子は、プラットフォームの名称を示しており、インストーラ１５０によりインストールされる第１プラグインの名称に対応付けられてｉｎｉ形式で第１ソフト識別子記憶部１３２に記憶されている。
【００２５】
具体的に説明すると、スコープ名のｐｌｕｇｉｎＡが、第１プラグインの名称を示しており、ｐｌｕｇｉｎＡというスコープ内のＰｌａｔｆｏｒｍＮａｍｅに設定されているｐｌａｔｆｏｒｍＡとｐｌａｔｆｏｒｍＣが、プラットフォームの名称を示している。つまり、図３に示す例では、ｐｌｕｇｉｎＡの機能をプリンタ側で使用可能とするための第２プラグインをインストール可能なプラットフォームは、ｐｌａｔｆｏｒｍＡとｐｌａｔｆｏｒｍＣであることを示している。
【００２６】
図２に戻り、ソフト識別子取得部１５２は、プリンタドライバ１６０の制御対象のプリンタ２０（制御対象印刷装置の一例）のプラットフォームを示す第２ソフト識別子を取得する。具体的には、ソフト識別子取得部１５２は、操作部１１０からインストールを指示する操作入力を受けると、プリンタドライバ１６０に第２ソフト識別子の取得を指示して、第２ソフト識別子を取得する。
【００２７】
例えば、ソフト識別子取得部１５２は、プリンタドライバ１６０がサポートしているインターフェースの自由記述部を用いて、プリンタドライバ１６０から第２ソフト識別子を取得する。これにより、プリンタドライバ１６０がそもそも第１プラグインをインストールできない場合であっても、ソフト識別子取得部１５２は、プログラムエラー等の問題なく、プリンタドライバ１６０に対して安全に問い合わせをすることができる。
【００２８】
インストール可否判定部１５４は、第１ソフト識別子記憶部１３２から第１ソフト識別子を取得し、ソフト識別子取得部１５２により取得された第２ソフト識別子と比較して、プリンタ２０のプラットフォームが第２プラグインをインストール可能であるか否かを判定する。具体的には、インストール可否判定部１５４は、第１ソフト識別子と第２ソフト識別子とが一致すれば、プリンタ２０のプラットフォームが第２プラグインをインストール可能と判定し、第１ソフト識別子と第２ソフト識別子とが一致しなければ、プリンタ２０のプラットフォームが第２プラグインをインストール不可能と判定する。
【００２９】
例えば、図３に示すように、第１ソフト識別子がｐｌａｔｆｏｒｍＡ又はｐｌａｔｆｏｒｍＣである場合には、インストール可否判定部１５４は、ソフト識別子取得部１５２により取得された第２ソフト識別子がｐｌａｔｆｏｒｍＡ又はｐｌａｔｆｏｒｍＣであれば、プリンタ２０のプラットフォームが第２プラグインをインストール可能と判定する。一方、ソフト識別子取得部１５２により取得された第２ソフト識別子がｐｌａｔｆｏｒｍＡ又はｐｌａｔｆｏｒｍＣ以外であれば、インストール可否判定部１５４は、プリンタ２０のプラットフォームが第２プラグインをインストール不可能と判定する。
【００３０】
インストール部１５６は、インストール可否判定部１５４によりインストール可能と判定された場合に、第１プラグインをプリンタドライバ１６０にインストールする。なお、インストール可否判定部１５４によりインストール不可能と判定された場合には、第１プラグインはプリンタドライバ１６０にインストールされない。
【００３１】
プリンタドライバ１６０は、ＰＣ１０からプリンタ２０を動作させるためのものであり、ＯＳ１４２とプリンタ２０の差分を吸収するためのソフトウェアにより実現できる。そして、プリンタドライバ１６０は、コアドライバ１６２を含む。
【００３２】
また前述したように、プリンタドライバ１６０は、インストーラ１５０を用いて第１プラグインをインストールすることにより機能を追加できるように構成されている。なお、インストーラ１５０によりプリンタドライバ１６０にインストールされた第１プラグインの機能については、後述する。
【００３３】
コアドライバ１６２は、第１プラグインのインストールの有無に関わらず、プリンタドライバ１６０が当初から備えている機能部であり、標準機能部１６４と、ソフト識別子取得部１６６とを含む。
【００３４】
標準機能部１６４は表示制御部１６５を含み、標準機能部１６４がＯＳ１４２を介してアプリケーション１４４から印刷設定画面の表示指示を受け付けると、表示制御部１６５は、印刷設定画面を表示部１２０に表示させる。そして、標準機能部１６４は、操作部１１０からの操作入力に従って印刷設定画面上で印刷内容を設定する。
【００３５】
また、標準機能部１６４は、ＯＳ１４２を介してアプリケーション１４４から印刷対象の画像データなどを受け付け、印刷設定などとともに、プリンタ２０が解釈可能な印刷命令に変換する。そして、標準機能部１６４は、変換した印刷命令を通信部１８０からプリンタ２０に送信させ、プリンタ２０に印刷対象の画像データを印刷させる。
【００３６】
ソフト識別子取得部１６６は、インストーラ１５０からの第２ソフト識別子の取得の指示を受け、プリンタ２０から第２ソフト識別子を取得する。具体的には、ソフト識別子取得部１６６は、インストーラ１５０からの第２ソフト識別子の取得の指示を受けると、通信部１８０にプリンタ２０との間の双方向通信を行わせて、プリンタ２０から第２ソフト識別子を取得する。例えば、ソフト識別子取得部１６６は、通信部１８０とプリンタ２０との間の双方向通信としてＳＮＭＰ（Simple Network Management Protocol）通信などを行わせる。
【００３７】
通信部１８０は、ネットワーク５を介して、プリンタ２０などの外部機器との間で情報の送受信を行うものであり、通信インターフェースなどの既存の通信装置により実現できる。例えば、通信部１８０は、第２ソフト識別子の取得要求をプリンタ２０に送信して、プリンタ２０から第２ソフト識別子を受信したり、標準機能部１６４により変換された印刷命令をプリンタ２０に送信したりする。
【００３８】
ここまで、図２等を参照しながら、プリンタドライバ１６０に第１プラグインがインストールされる前のＰＣ１０の構成について説明したが、続いて、図４を参照しながら、インストーラ１５０によりプリンタドライバ１６０に第１プラグインがインストールされた後のＰＣ１０の構成について説明する。
【００３９】
図４は、第１の実施の形態のＰＣ１０の第１プラグインのインストール後の構成の一例を示すブロック図である。図４に示すように、ＰＣ１０のプリンタドライバ１６０に第１プラグインがインストールされると、図２に示す状態から、記憶部１３０に第１プラグイン識別子記憶部１３４が追加され、プリンタドライバ１６０に追加機能部１７０が追加される。詳細には、追加機能部１７０は、第１プラグインのインストールにより記憶部１３０に記憶された第１プラグインプログラムがプリンタドライバプログラムとともに制御部１４０により起動（実行）されることで、プリンタドライバ１６０の一部として実現される。なお、以下では、第１プラグイン識別子記憶部１３４及び追加機能部１７０について説明する。
【００４０】
第１プラグイン識別子記憶部１３４は、第１プラグインを示す第１プラグイン識別子を記憶する。なお、第１の実施の形態では、第１プラグイン識別子は、第１プラグインのＩＤであり、第１プラグインのＩＤと第２プラグインのＩＤとが同一である場合を例にとり説明するが、これに限定されるものではない。
【００４１】
追加機能部１７０は、第１プラグインのインストールによりプリンタドライバ１６０に追加された機能部であり、プラグイン識別子取得部１７２と、プラグイン判定部１７４とを含む。
【００４２】
プラグイン識別子取得部１７２は、プリンタ２０のプラットフォームにインストールされているプラグインを示すインストール済みプラグイン識別子をプリンタ２０から取得する。具体的には、プラグイン識別子取得部１７２は、標準機能部１６４から印刷設定の禁則チェックの指示を受けると、通信部１８０にプリンタ２０との間の双方向通信を行わせて、プリンタ２０からインストール済みプラグイン識別子を取得する。
【００４３】
プラグイン判定部１７４は、プラグイン識別子取得部１７２により取得されたインストール済みプラグイン識別子が第２プラグインを示すか否かを判定する。
【００４４】
具体的には、プラグイン判定部１７４は、第１プラグイン識別子記憶部１３４から第１プラグイン識別子を取得し、取得した第１プラグイン識別子がプラグイン識別子取得部１７２により取得されたインストール済みプラグイン識別子と一致する場合に、インストール済みプラグイン識別子が第２プラグインを示すと判定する。一方、取得した第１プラグイン識別子がプラグイン識別子取得部１７２により取得されたインストール済みプラグイン識別子と一致しない場合に、インストール済みプラグイン識別子が第２プラグインを示さないと判定する。補足すると、第１プラグイン識別子は、第１プラグインのＩＤであり、第１プラグインのＩＤと第２プラグインのＩＤとが同一であるため、第１プラグイン識別子とインストール済みプラグイン識別子とが一致する場合、インストール済みプラグイン識別子は、第２プラグインのＩＤとなる。
【００４５】
そして、標準機能部１６４の表示制御部１６５は、プラグイン判定部１７４によりインストール済みプラグイン識別子が第２プラグインを示すと判定された場合に、第１プラグインの機能を選択可能な態様で印刷設定画面を表示部１２０に表示させる。一方、プラグイン判定部１７４によりインストール済みプラグイン識別子が第２プラグインを示さないと判定された場合には、表示制御部１６５は、第１プラグインの機能を選択不可能な態様で印刷設定画面を表示部１２０に表示させる。
【００４６】
なお、ＰＣ１０は、上述した各部の全てを必須の構成とする必要はなく、その一部を省略した構成としてもよい。
【００４７】
図５は、第１の実施の形態のプリンタ２０の構成の一例を示すブロック図である。図５に示すように、プリンタ２０は、通信部２１０と、記憶部２２０と、制御部２３０と、印刷部２４０とを備える。
【００４８】
通信部２１０は、ネットワーク５を介して、ＰＣ１０などの外部機器との間で情報の送受信を行うものであり、通信インターフェースなどの既存の通信装置により実現できる。例えば、通信部２１０は、ＰＣ１０から第２ソフト識別子の取得要求を受信して、記憶部２２０に記憶されている第２ソフト識別子をＰＣ１０に送信したり、ＰＣ１０からインストール済みプラグイン識別子の取得要求を受信して、記憶部２２０に記憶されているインストール済みプラグイン識別子をＰＣ１０に送信したり、ＰＣ１０から印刷命令を受信したりする。
【００４９】
記憶部２２０は、プリンタ２０で実行される各種プログラムやプリンタ２０で行われる各種処理に使用される各種情報などを記憶するものあり、例えば、ＨＤＤ（Hard Disk Drive）、ＳＳＤ（Solid State Drive）、メモリカード、光ディスク、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）などの磁気的、光学的、又は電気的に記憶可能な既存の記憶装置により実現できる。そして、記憶部２２０は、第２ソフト識別子を記憶する第２ソフト識別子記憶部２２２と、インストール済みプラグイン識別子を記憶するインストール済みプラグイン識別子記憶部２２４とを含む。
【００５０】
制御部２３０は、プリンタ２０の全体を制御するものであり、ＣＰＵ（Central Processing Unit）などにより実現できる。そして、制御部２３０は、プラットフォーム２３２を含む。なお、プラットフォーム２３２は、記憶部２２０に記憶されているプラットフォームプログラムが制御部２３０により起動（実行）されることで実現されるものである。
【００５１】
プラットフォーム２３２は、プリンタ２０の動作を制御するとともに、第２プラグインの追加を管理するものであり、追加機能部２３４を含む。なお、プラットフォーム２３２は、第２プラグインをインストールすることにより機能を追加（拡張）でき、追加機能部２３４は、第２プラグインのインストールにより実現されるものである。つまり、追加機能部２３４は、第２プラグインのインストールにより記憶部２２０に記憶された第２プラグインプログラムが制御部２３０により起動（実行）されることで実現されるものである。
【００５２】
印刷部２４０は、通信部２１０により受信された印刷命令に従って印刷対象の画像データを印刷する。
【００５３】
なお、プリンタ２０は、上述した各部の全てを必須の構成とする必要はなく、その一部を省略した構成としてもよい。
【００５４】
次に、第１の実施の形態のＰＣを含むプリンタシステムの動作について説明する。
【００５５】
図６は、第１の実施の形態のＰＣ１０で行われる第１プラグインのインストール処理の手順の流れの一例を示すフローチャートである。
【００５６】
まず、インストーラ１５０のソフト識別子取得部１５２は、プリンタドライバ１６０の制御対象の印刷装置２０のソフトウェアを示す第２ソフト識別子を取得する（ステップＳ１０）。なお、第２ソフト識別子の取得の詳細な手順は後述する。また、第２ソフト識別子の取得に失敗した場合には（ステップＳ１２でＮｏ）、インストーラ１５０は処理を終了する。
【００５７】
続いて、ソフト識別子取得部１５２により第２ソフト識別子が取得された場合には（ステップＳ１２でＹｅｓ）、インストール可否判定部１５４は、第１ソフト識別子記憶部１３２から第１ソフト識別子を取得する（ステップＳ１４）。
【００５８】
そして、インストール可否判定部１５４は、取得した第２ソフト識別子と、ソフト識別子取得部１５２により取得された第２ソフト識別子とが一致するか確認し、プリンタ２０のプラットフォームが第２プラグインをインストール可能であるか否かを判定する（ステップＳ１６）。
【００５９】
続いて、インストール部１５６は、インストール可否判定部１５４によりインストール可能と判定された場合に（ステップＳ１６でＹｅｓ）、第１プラグインをプリンタドライバ１６０にインストールする（ステップＳ１８）。なお、インストール可否判定部１５４によりインストール不可能と判定された場合には（ステップＳ１６でＮｏ）、インストール部１５６による第１プラグインのインストールは行われず、インストーラ１５０は処理を終了する。
【００６０】
図７は、第１の実施の形態のプリンタシステム１で行われる第２ソフト識別子の取得処理の手順の流れの一例を示すシーケンス図である。なお、図７に示す例では、ＯＳ１４２がＷｉｎｄｏｗｓ（登録商標）である場合を例にとり説明する。
【００６１】
まず、インストーラ１５０のソフト識別子取得部１５２は、ＯＳ１４２に第２ソフト識別子の取得を指示する（ステップＳ１００）。具体的には、ソフト識別子取得部１５２は、ＤｅｖｉｃｅＣａｐａｂｉｌｉｔｉｅｓ（）の第３引数にＤＣ＿ＰＥＲＳＯＮＡＬＩＴＹを指定して実行する。
【００６２】
続いて、ＯＳ１４２は、ソフト識別子取得部１５２からの指示を受け、プリンタドライバ１６０のソフト識別子取得部１６６に第２ソフト識別子の取得を指示する（ステップＳ１０２）。具体的には、ＯＳ１４２は、ＤｒｖＤｅｖｉｃｅＣａｐａｂｉｌｉｔｉｅｓ()の第３引数にＤＣ＿ＰＥＲＳＯＮＡＬＩＴＹを指定して実行する。
【００６３】
続いて、ソフト識別子取得部１６６は、通信部１８０に第２ソフト識別子の取得を指示する（ステップＳ１０４）。
【００６４】
続いて、通信部１８０は、プリンタ２０との間で双方向通信を行って、第２ソフト識別子の取得要求をプリンタ２０に送信する（ステップＳ１０６）。
【００６５】
続いて、プリンタ２０は、通信部１８０からの第２ソフト識別子の取得要求を受け、第２ソフト識別子を通信部１８０に送信する（ステップＳ１０８）。
【００６６】
続いて、通信部１８０は、プリンタドライバ１６０のソフト識別子取得部１６６に第２ソフト識別子を返す（ステップＳ１１０）。
【００６７】
続いて、ソフト識別子取得部１６６は、ＯＳ１４２に第２ソフト識別子を返す（ステップＳ１１２）。ここで、ソフト識別子取得部１６６は、ステップＳ１０２において、ＤｒｖＤｅｖｉｃｅＣａｐａｂｉｌｉｔｉｅｓ()の第３引数にＤＣ＿ＰＥＲＳＯＮＡＬＩＴＹが指定されているため、自由記述部を用いて第２ソフト識別子をＯＳ１４２に返す。具体的には、ソフト識別子取得部１６６は、通信部１８０から返された第２ソフト識別子を記憶部１３０の所定領域に記憶させ、そのアドレスをＯＳ１４２に返す。
【００６８】
続いて、ＯＳ１４２は、インストーラ１５０のソフト識別子取得部１５２に第２ソフト識別子を返す（ステップＳ１１４）。
【００６９】
図８は、第１の実施の形態のプリンタシステム１で行われる印刷設定画面の表示処理の手順の流れの一例を示すシーケンス図である。なお、図８に示す印刷設定画面の表示処理は、第１プラグインのインストール後に行われる。
【００７０】
まず、ＯＳ１４２は、アプリケーション１４４から印刷設定画面の表示の指示を受けると、プリンタドライバ１６０の標準機能部１６４に印刷設定画面の表示の指示を指示する（ステップＳ２００）。
【００７１】
続いて、標準機能部１６４は、プリンタドライバ１６０にインストールされた第１プラグインの機能の印刷設定の禁則チェックを追加機能部１７０に指示する（ステップＳ２０２）。
【００７２】
続いて、追加機能部１７０のプラグイン識別子取得部１７２は、印刷設定の禁則チェックの指示を受けると、通信部１８０にインストール済みプラグイン識別子の取得を指示する（ステップＳ２０４）。
【００７３】
続いて、通信部１８０は、プリンタ２０との間で双方向通信を行って、インストール済みプラグイン識別子の取得要求をプリンタ２０に送信する（ステップＳ２０６）。
【００７４】
続いて、プリンタ２０は、通信部１８０からのインストール済みプラグイン識別子の取得要求を受け、インストール済みプラグイン識別子を通信部１８０に送信する（ステップＳ２０８）。
【００７５】
続いて、通信部１８０は、インストール済みプラグイン識別子を追加機能部１７０のプラグイン識別子取得部１７２に返す（ステップＳ２１０）。
【００７６】
続いて、追加機能部１７０のプラグイン判定部１７４は、プラグイン識別子取得部１７２により取得されたインストール済みプラグイン識別子が第２プラグインを示すか否かを判定する。そして、インストール済みプラグイン識別子が第２プラグインを示す場合には、プラグイン判定部１７４は、第１プラグインの機能がＯＦＦになるように印刷設定を修正するとともに（ステップＳ２１２）、第１プラグインの機能の禁則情報を生成する（ステップＳ２１４）。なお、インストール済みプラグイン識別子が第２プラグインを示さない場合には、プラグイン判定部１７４は、ステップＳ２１２及びステップＳ２１４の処理を行わない。
【００７７】
続いて、プラグイン判定部１７４は、第１プラグインの機能の印刷設定及び禁則情報を標準機能部１６４に返す（ステップＳ２１６）。
【００７８】
続いて、標準機能部１６４の表示制御部１６５は、第１プラグインの機能の印刷設定及び禁則情報を基に、印刷設定画面を表示部１２０に表示させる（ステップＳ２１８）。例えば、第１プラグインの機能がＯＦＦになるように印刷設定が修正され、禁則情報が生成されている場合には、印刷設定画面の中の第１プラグインの機能は、半輝度で表示され、選択不可能な態様で表示部１２０に表示される。一方、印刷設定が修正されず、禁則情報も生成されていない場合には、印刷設定画面の中の第１プラグインの機能は、選択可能な態様で表示部１２０に表示される。
【００７９】
以上より第１の実施の形態によれば、第１プラグインの機能を使用可能にする第２プラグインをプリンタ２０のプラットフォームがインストール可能な場合のみ、第１プラグインをプリンタドライバ１６０にインストールすることができ、プリンタ２０の機能を拡張しても利用できない機能がプリンタドライバ１６０に追加されることを防止できるという効果を奏する。
【００８０】
また第１の実施の形態では、第２プラグインがプリンタ２０のプラットフォームにインストールされていない状態で、第１プラグインがプリンタドライバ１６０にインストールされた場合であっても、プリンタドライバ１６０が第１プラグインの機能を選択不可能な態様で印刷設定画面を表示部１２０に表示させる。また、第２プラグインがプリンタ２０のプラットフォームにインストールされた以降は、プリンタドライバ１６０が第１プラグインの機能を選択可能な態様で印刷設定画面を表示部１２０に表示させる。
【００８１】
このため第１の実施の形態によれば、第２プラグインがプリンタ２０のプラットフォームにインストールされた場合のみ、プリンタドライバ１６０が第１プラグインの機能を有効化することができ、機能間の不整合を防止することができる。
【００８２】
（第２の実施の形態）
次に、第２の実施の形態では、プリンタ２０と双方向通信を行わずに第２ソフト識別子を取得する例について説明する。なお、以下では、第１の実施の形態との相違点の説明を主に行い、第１の実施の形態と同様の機能を有する構成要素については、第１の実施の形態と同様の名称・符号を付し、その説明を省略する。
【００８３】
まず、第２の実施の形態のＰＣの構成について説明する。なお、第２の実施の形態の
ＰＣを含むプリンタシステムの構成は、第１の実施の形態と同様であるため説明を省略する。
【００８４】
図９は、第２の実施の形態のＰＣ１０１０の第１プラグインのインストール前の構成の一例を示すブロック図である。図９に示すＰＣ１０１０は、記憶部１１３０が第２ソフト識別子記憶部１１３６を含み、制御部１１４０のプリンタドライバ１１６０のコアドライバ１１６２のソフト識別子取得部１１６６が、第２ソフト識別子記憶部１１３６から第２ソフト識別子を取得する点で、第１プラグインのインストール前の第１の実施の形態のＰＣ１０と相違する。
【００８５】
従って、以下では、第１の実施の形態と第２の実施の形態の主要な相違点である第２ソフト識別子記憶部１１３６及びソフト識別子取得部１１６６について説明する。
【００８６】
第２ソフト識別子記憶部１１３６は、第２ソフト識別子を記憶する。図１０は、第２ソフト識別子の一例を示す図である。図１０に示す例では、第２ソフト識別子は、プラットフォームの名称を示しており、プリンタドライバ１１６０の制御対象のプリンタ２０の名称に対応付けられてｉｎｉ形式で第２ソフト識別子記憶部１１３６に記憶されている。
【００８７】
具体的に説明すると、スコープ名のＰｒｉｎｔｅｒＡが、プリンタ２０の名称を示しており、ＰｒｉｎｔｅｒＡというスコープ内のＰｌａｔｆｏｒｍＮａｍｅに設定されているｐｌａｔｆｏｒｍＡが、プラットフォームの名称を示している。つまり、図１０に示す例では、ＰｒｉｎｔｅｒＡのプラットフォームは、ｐｌａｔｆｏｒｍＡであることを示している。
【００８８】
図９に戻り、ソフト識別子取得部１１６６は、インストーラ１５０からの第２ソフト識別子の取得の指示を受けると、第２ソフト識別子記憶部１１３６から第２ソフト識別子を取得する。
【００８９】
なお、ＰＣ１０１０に第１プラグインがインストールされると、第１の実施の形態同様、記憶部１１３０に第１プラグイン識別子記憶部１３４が追加され、プリンタドライバ１１６０に追加機能部１７０が追加されるが、ここではその説明は省略する。
【００９０】
次に、第２の実施の形態のＰＣの動作について説明する。但し、第２ソフト識別子の取得処理を除き、第１の実施の形態と同様の動作であるため、ここでは、第１の実施の形態と第２の実施の形態の主要な相違点である第２ソフト識別子の取得処理について説明する。
【００９１】
図１１は、第２の実施の形態のＰＣ１０１０で行われる第２ソフト識別子の取得処理の手順の流れの一例を示すシーケンス図である。
【００９２】
まず、インストーラ１５０のソフト識別子取得部１５２は、ＯＳ１４２に第２ソフト識別子の取得を指示する（ステップＳ３００）。
【００９３】
続いて、ＯＳ１４２は、ソフト識別子取得部１５２からの指示を受け、プリンタドライバ１１６０のソフト識別子取得部１１６６に第２ソフト識別子の取得を指示する（ステップＳ３０２）。
【００９４】
続いて、ソフト識別子取得部１１６６は、第２ソフト識別子記憶部１１３６から第２ソフト識別子を取得して、ＯＳ１４２に第２ソフト識別子を返す（ステップＳ３０４）。
【００９５】
続いて、ＯＳ１４２は、インストーラ１５０のソフト識別子取得部１５２に第２ソフト識別子を返す（ステップＳ３０６）。
【００９６】
以上のように、第２の実施の形態においても、第１プラグインの機能を使用可能にする第２プラグインをプリンタ２０のプラットフォームがインストール可能な場合のみ、第１プラグインをプリンタドライバ１１６０にインストールすることができ、プリンタ２０の機能を拡張しても利用できない機能がプリンタドライバ１１６０に追加されることを防止できるという効果を奏する。
【００９７】
（ハードウェア構成）
次に、第１〜２の実施の形態のＰＣのハードウェア構成の一例について説明する。
【００９８】
第１〜２の実施の形態のＰＣは、ＣＰＵなどの制御装置と、ＲＯＭやＲＡＭなどの記憶装置と、ＨＤＤやリムーバブルドライブ装置などの外部記憶装置と、ディスプレイなどの表示装置と、キーボードやマウスなどの入力装置を備えており、通常のコンピュータを利用したハードウェア構成となっている。
【００９９】
第１〜２の実施の形態のＰＣで実行されるインストーラプログラムやプリンタドライバプログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、ＣＤ−Ｒ、メモリカード、ＤＶＤ（Digital Versatile Disk）、フレキシブルディスク（ＦＤ）等のコンピュータで読み取り可能な記憶媒体に記憶されて提供される。
【０１００】
また、第１〜２の実施の形態のＰＣで実行されるインストーラプログラムやプリンタドライバプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するようにしてもよい。また、第１〜２の実施の形態のＰＣで実行されるインストーラプログラムやプリンタドライバプログラムを、インターネット等のネットワーク経由で提供または配布するようにしてもよい。また、第１〜２の実施の形態のＰＣで実行されるインストーラプログラムやプリンタドライバプログラムを、ＲＯＭ等に予め組み込んで提供するようにしてもよい。
【０１０１】
第１〜２の実施の形態のＰＣで実行されるインストーラプログラムは、上述した各部（ソフト識別子取得部、インストール可否判定部、インストール部等）をコンピュータ上で実現させるためのモジュール構成となっている。実際のハードウェアとしては、ＣＰＵがＨＤＤからインストーラプログラムをＲＡＭ上に読み出して実行することにより、上記各部（ソフト識別子取得部、インストール可否判定部、インストール部等）がコンピュータ上で実現されるようになっている。
【０１０２】
同様に、第１〜２の実施の形態のＰＣで実行されるプリンタドライバプログラムは、上述した各部（コアドライバ、標準機能部、表示制御部、ソフト識別子取得部、追加機能部、プラグイン識別子取得部、プラグイン判定部等）をコンピュータ上で実現させるためのモジュール構成となっている。実際のハードウェアとしては、ＣＰＵがＨＤＤからインストーラプログラムをＲＡＭ上に読み出して実行することにより、上記各部（コアドライバ、標準機能部、表示制御部、ソフト識別子取得部、追加機能部、プラグイン識別子取得部、プラグイン判定部等）がコンピュータ上で実現されるようになっている。
【０１０３】
なお、上記第１〜２の実施の形態では、印刷装置としてプリンタを例にとり説明したが、これに限定されるものではない。例えば、印刷装置は、プリンタ機能に加え、コピー機能、スキャナ機能、及びファクシミリ機能の少なくともいずれかの機能を備える複合機（ＭＦＰ：Multifunction Printer）などでもよい。
【符号の説明】
【０１０４】
１  プリンタシステム
５  ネットワーク
１０、１０１０  ＰＣ
２０  プリンタ
１１０  操作部
１２０  表示部
１３０、１１３０  記憶部
１３２  第１ソフト識別子記憶部
１３４  第１プラグイン識別子記憶部
１４０、１１４０  制御部
１４２  ＯＳ
１４４  アプリケーション
１５０  インストーラ
１５２  ソフト識別子取得部
１５４  インストール可否判定部
１５６  インストール部
１６０、１１６０  プリンタドライバ
１６２、１１６２  コアドライバ
１６４  標準機能部
１６５  表示制御部
１６６、１１６６  ソフト識別子取得部
１７０  追加機能部
１７２  プラグイン識別子取得部
１７４  プラグイン判定部
１８０  通信部
２１０  通信部
２２０  記憶部
２２２  第２ソフト識別子記憶部
２２４  インストール済みプラグイン識別子記憶部
２３０  制御部
２３２  プラットフォーム
２３４  追加機能部
２４０  印刷部
１１３６  第２ソフト識別子記憶部
【先行技術文献】
【特許文献】
【０１０５】
【特許文献１】特開２００５−１７３７０１号公報
【図１】
2010287099.tif 000003
【図２】
2010287099.tif 000004
【図３】
2010287099.tif 000005
【図４】
2010287099.tif 000006
【図５】
2010287099.tif 000007
【図６】
2010287099.tif 000008
【図７】
2010287099.tif 000009
【図８】
2010287099.tif 000010
【図９】
2010287099.tif 000011
【図１０】
2010287099.tif 000012
【図１１】
2010287099.tif 000013