(57)【要約】      （修正有）【課題】再プログラミングを極力少なくした形で、様々な能力のプラットフォームに適合させる印刷制御装置とその方法及びプリンタドライバを提供する。【解決手段】所定のインターフェースを介して接続されている印刷装置を制御する印刷制御装置における方法であって、印刷制御を実行するための複数のモジュールを記憶しておき、接続されている印刷装置に応じたモジュールを指定するためのカタログファイルに記述されたモジュールが記憶されているかどうかを判定し、記憶されていると判定されると当該モジュールを読み出して実行可能にメモリに記憶し、そのモジュールを使用して印刷装置に出力する印刷データを作成する。【選択図】図７
2005135326.tif 000002
【特許請求の範囲】
【請求項１】
所定のインターフェースを介して接続されている印刷装置を制御する印刷制御装置であって、
印刷制御を実行するための複数のモジュールを記憶する記憶手段と、
前記接続されている印刷装置に応じたモジュールを指定するためのカタログファイルを取得する取得手段と、
前記取得手段により取得した前記カタログファイルに記述されたモジュールが前記記憶手段に記憶されているかどうかを判定し、記憶されていると判定されると当該モジュールを読み出して実行可能にメモリに記憶する手段と、
前記実行可能に記憶されたモジュールを使用して前記印刷装置に出力する印刷データを作成するデータ処理手段と、
を有することを特徴とする印刷制御装置。
【請求項２】
前記複数のモジュールは、少なくとも色補正、色空間変換、二値化及びプリンタ命令生成モジュールのいずれかを含むことを特徴とする請求項１に記載の印刷制御装置。
【請求項３】
前記取得手段により取得した前記カタログファイルに記述されたモジュールが前記記憶手段に記憶されてないと判定されると、デフォルトの代替機能を使用することを特徴とする請求項１又は２に記載の印刷制御装置。
【請求項４】
前記カタログファイルは、色補正、色空間変換、二値化及びプリンタ命令生成モジュールの少なくともいずれかを指示していることを特徴とする請求項２に記載の印刷制御装置。
【請求項５】
前記カタログファイルは、前記接続されている印刷装置の機種名に対応したモジュール名を指示していることを特徴とする請求項１乃至４のいずれか１項に記載の印刷制御装置。
【請求項６】
所定のインターフェースを介して接続されている印刷装置を制御する印刷制御方法であって、
前記接続されている印刷装置に応じたモジュールを指定するためのカタログファイルを取得する取得工程と、
前記取得工程で取得した前記カタログファイルに記述されたモジュールが、印刷制御を実行するための複数のモジュールを記憶する記憶装置に記憶されているかどうかを判定し、記憶されていると判定されると当該モジュールを読み出して実行可能にメモリに記憶する工程と、
前記実行可能に記憶されたモジュールを使用して前記印刷装置に出力する印刷データを作成するデータ処理工程と、
を有することを特徴とする印刷制御方法。
【請求項７】
前記複数のモジュールは、少なくとも色補正、色空間変換、二値化及びプリンタ命令生成モジュールのいずれかを含むことを特徴とする請求項６に記載の印刷制御方法。
【請求項８】
前記取得工程で取得した前記カタログファイルに記述されたモジュールが前記記憶装置に記憶されてないと判定されると、デフォルトの代替機能を使用することを特徴とする請求項６又は７に記載の印刷制御方法。
【請求項９】
前記カタログファイルは、色補正、色空間変換、二値化及びプリンタ命令生成モジュールの少なくともいずれかを指示していることを特徴とする請求項７に記載の印刷制御方法。
【請求項１０】
前記カタログファイルは、前記接続されている印刷装置の機種名に対応したモジュール名を指示していることを特徴とする請求項６乃至９のいずれか１項に記載の印刷制御方法。
【請求項１１】
所定のインターフェースを介して接続されている印刷装置を制御するプリンタドライバであって、
前記接続されている印刷装置に応じたモジュールを指定するためのカタログファイルを取得する取得工程と、
前記取得工程で取得した前記カタログファイルに記述されたモジュールが、印刷制御を実行するための複数のモジュールを記憶する記憶装置に記憶されているかどうかを判定し、記憶されていると判定されると当該モジュールを読み出して当該プリンタモジュールのモジュールとして記憶する記憶工程と、
前記記憶工程で記憶されたモジュールを使用して、アプリケーションから受け取った画像データを処理し前記印刷装置に出力する印刷データを作成するデータ処理工程と、
を有することを特徴とするプリンタドライバ。
【請求項１２】
前記複数のモジュールは、少なくとも色補正、色空間変換、二値化及びプリンタ命令生成モジュールのいずれかを含むことを特徴とする請求項１１に記載のプリンタドライバ。
【請求項１３】
前記取得工程で取得した前記カタログファイルに記述されたモジュールが前記記憶装置に記憶されてないと判定されると、当該プリンタドライバが有するデフォルトの代替機能モジュールを使用することを特徴とする請求項１１又は１２に記載のプリンタドライバ。
【請求項１４】
前記カタログファイルは、色補正、色空間変換、二値化及びプリンタ命令生成モジュールの少なくともいずれかを指示していることを特徴とする請求項１２に記載のプリンタドライバ。
【請求項１５】
前記カタログファイルは、前記接続されている印刷装置の機種名に対応したモジュール名を指示していることを特徴とする請求項１１乃至１４のいずれか１項に記載のプリンタドライバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、各種印刷条件に対応できる印刷制御装置とその方法及びプリンタドライバを提供するための技術に関する。
【背景技術】
【０００２】
プリンタドライバは、色補正部、色空間変換部、二値化部、プリンタ命令出力部など様々な要素を備えている。また同じメーカのプリンタであっても、プリンタの機種毎にその仕様の細部が異なる場合は、その機種毎に機種依存モジュールが必要となる。このため従来のプリンタドライバでは、各モジュールをＤＬＬ（Dynamic Load Library）等の形式で提供し、インストール時に、必要なプリンタドライバモジュール、モデル依存モジュールをハードディスク上にインストールしていた。
【０００３】
各プリンタメーカは独自の色処理技術を開発し、印刷品質において、他のメーカに対して優位性を高めようとしている。そのため色処理モジュールは肥大化の一途を辿っている。また、一つのプリンタドライバで、同じメーカで製造される多くの機種のプリンタに対応する動きも見られる。また、プリンタ自体も高解像度化が進み、より多くのメモリが必要となってきている。
【０００４】
この事実は、演算能力やメモリを豊富に持つ、一般用途のパーソナルコンピュータ（以下、ＰＣと略す）では問題にされることは少なくなってきた。これは、近年のＰＣが高速なＣＰＵと、巨大なメモリ空間を利用できる仮想記憶システムに支えられているからである。
【０００５】
その一方、携帯型のコンピュータ機器も近年普及しつつある。これら携帯型のコンピュータ機器は、一般のノート型ＰＣに比べて携帯性に優れるため、そのユーザ数も増加する傾向にあり、このような携帯型の機器を使用して印刷したいという需要も高まってきている。これら携帯型の機器は、持ち運びには便利な反面、それに搭載されるＣＰＵの演算能力やメモリ容量は、一般のディスクトップ型のＰＣのそれに比べ非常に小さなものである。このため、これらの携帯機器を使用して印刷するためには、小さなメモリで稼動するプリンタドライバを再度設計、開発することを余儀なくされていた。
【０００６】
一方、プログラミング言語の世界では、米国Sun Microsystems社のオブジェクト指向言語Ｊａｖａ（登録商標）が流通し始め、大型計算機、一般用ＰＣ、ワークステーションから、家庭用電化製品等の組込み用途まで様々なプラットフォーム上で、同じプログラムが利用できる環境が整い始めている。このＪａｖａ（登録商標）の普及は、今までのプラットフォーム間での非互換性を解消する上で重要な役割を果たしてきている。しかし、Ｊａｖａ（登録商標）プログラムを用いても、通常のプログラム方法では、単一のプリンタドライバで全てを網羅することは難しい。これは演算能力や搭載メモリがプラットフォームによって極端に異なることによるものである。このため、プリンタドライバが利用できるリソース量に応じて、プラットフォーム毎にプリンタドライバを設計しなければならなかった。
【特許文献１】特開２００１−２５１５２５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明は、再プログラミングを極力少なくした形で、様々な能力のプラットフォームに適合させる印刷制御装置とその方法及びプリンタドライバを提供するものである。
【課題を解決するための手段】
【０００８】
本発明に係る印刷制御装置は、以下のような構成を備える。即ち、
所定のインターフェースを介して接続されている印刷装置を制御する印刷制御装置であって、
印刷制御を実行するための複数のモジュールを記憶する記憶手段と、
前記接続されている印刷装置に応じたモジュールを指定するためのカタログファイルを取得する取得手段と、
前記取得手段により取得した前記カタログファイルに記述されたモジュールが前記記憶手段に記憶されているかどうかを判定し、記憶されていると判定されると当該モジュールを読み出して実行可能にメモリに記憶する手段と、
前記実行可能に記憶されたモジュールを使用して前記印刷装置に出力する印刷データを作成するデータ処理手段とを有することを特徴とする。
【０００９】
本発明に係る印刷制御方法は、以下のような工程を備える。即ち、
所定のインターフェースを介して接続されている印刷装置を制御する印刷制御方法であって、
前記接続されている印刷装置に応じたモジュールを指定するためのカタログファイルを取得する取得工程と、
前記取得工程で取得した前記カタログファイルに記述されたモジュールが、印刷制御を実行するための複数のモジュールを記憶する記憶装置に記憶されているかどうかを判定し、記憶されていると判定されると当該モジュールを読み出して実行可能にメモリに記憶する工程と、
前記実行可能に記憶されたモジュールを使用して前記印刷装置に出力する印刷データを作成するデータ処理工程とを有することを特徴とする。
【００１０】
本発明に係るプリンタドライバは、以下のような工程を備える。即ち、
所定のインターフェースを介して接続されている印刷装置を制御するプリンタドライバであって、
前記接続されている印刷装置に応じたモジュールを指定するためのカタログファイルを取得する取得工程と、
前記取得工程で取得した前記カタログファイルに記述されたモジュールが、印刷制御を実行するための複数のモジュールを記憶する記憶装置に記憶されているかどうかを判定し、記憶されていると判定されると当該モジュールを読み出して当該プリンタモジュールのモジュールとして記憶する記憶工程と、
前記記憶工程で記憶されたモジュールを使用して、アプリケーションから受け取った画像データを処理し前記印刷装置に出力する印刷データを作成するデータ処理工程とを有することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、プラットフォームと印刷装置に依存する最小限のモジュールを作成してカタログファイルに登録するだけで、各種印刷装置に対応する印刷制御を実行することができる。
【発明を実施するための最良の形態】
【００１２】
以下、添付図面を参照して本発明の好適な実施の形態を詳しく説明する。尚、以下に説明する本発明の実施の形態の概要を簡単に説明すると以下のようになる。
【００１３】
主記憶の記憶容量或は二次記憶の記憶容量が豊富な環境では、全てのファイルセットを二次記憶上におけば、プリンタドライバの全機能が有効になる。これに対して記憶容量の少ない環境では、その環境に必要なファイルのみを二次記憶上に置けば、プリンタドライバは自動的にロード可能なファイルを選択し、必要な機能のみを実現したドライバが実行される。具体的には、プリンタドライバを、本体、各種処理モジュール、対象プラットフォーム依存モジュールに分けた上で該当プラットフォームの二次記憶上に格納しておき、各モジュールをドライバ本体がプラットフォームの能力に合わせて選択し、自動的にロードする。これにより、必要最低限のモジュールをプラットフォームの二次記憶上に格納しておくだけで、プラットフォームに合わせたプリンタドライバが構成できる。
【００１４】
本実施の形態に係るプリンタドライバは以下の要素から構成される。
【００１５】
・プリンタドライバローダ
・プリンタドライバ本体（デフォルトPlug-Inを含む）
・Plug-Inモジュール
・Plug-Inカタログファイル
このうち、Plug-Inモジュールは必要に応じた個数を用意できることとする。
【００１６】
Plug−Inカタログファイルは、どのようなPlug-Inが、そのシステムに用意されているかを記述するテキストファイルである。
【００１７】
プリンタドライバの初期化時にPlug-Inカタログを参照し、そのカタログの中からロードすべきPlug-Inモジュール名を取得する。プリンタドライバの初期化部は、二次記憶中にロードすべきモジュールが存在するかどうかを調査し、存在しない場合は、プリンタドライバの内蔵Plug-Inモジュールを使用する。存在する場合は、Plug-InモジュールをロードしてPlug-Inモジュールを初期化する。
【００１８】
以下、詳しく説明する。
【００１９】
図１は、本発明の一実施の形態を説明する図で、情報処理装置１０１と印刷装置１０２とが、例えばセントロニクスインターフェースやＵＳＢ（Universal Serial Bus）などのインターフェースにより接続されていることを前提としている。
【００２０】
図２は、本実施の形態に係る情報処理装置１００で稼動するソフトウェアの構成を示すブロック図である。
【００２１】
アプリケーション２０１は、ユーザから印刷を要求されると、描画命令や印刷指令をレンダリングエンジン２０２に渡す。レンダリングエンジン２０２は、描画命令を実行し、印刷装置１０２で利用可能な解像度でレンダリングを行う。本実施の形態では、レンダリングとは、描画命令を所定のビットマップイメージに変換することを指すものとする。プリンタドライバ２０３は、レンダリングエンジン２０２から受け取ったビットマップデータを、プリンタ用命令、プリンタ用のプリントデータに変換し、入出力インターフェース２０４を通じて印刷装置（プリンタ）１０２に送信する。
【００２２】
図３は、標準的なプリンタドライバの構成を示すブロック図である。
【００２３】
プリンタドライバ本体は、色補正、色変換、量子化及びプリンタ命令生成といった４つのモジュール３０１〜３０４を呼び出す。色補正モジュール３０１は、受け取ったＲＧＢデータを、対象プリンタで印刷を行ったときに、より美しい印刷品質を得るために行う色補正処理である。色変換モジュール３０２は、受け取ったＲＧＢデータを、シアン、マゼンタ、イエロー、ブラックからなるＣＭＹＫデータに変換する色変換モジュールである。量子化モジュール３０３は、ＣＭＹＫの多値（典型的にはＣＭＹＫ各色８ビット、それぞれ２５６段階）を、印刷対象の印刷装置で表現可能な１〜４ビットの値に変換するためのモジュールで二値化モジュールとも呼ばれる。プリンタ命令生成モジュール３０４は、量子化されたデータを受け取り、印刷装置が実行可能なプリンタ命令、プリンタデータを生成するモジュールである。
【００２４】
従来では、出力結果の品質を高めるために、特に色補正、色変換、量子化モジュールの処理が複雑化し、モジュールの多さも巨大化しつつあった。
【００２５】
図４は、本実施の形態に係る情報処理装置１０１の構成を説明するブロック図である。
【００２６】
４１０は、この情報処理装置１０１全体の動作を制御するＣＰＵである。ＲＡＭ４１１は、ＣＰＵ４１０による制御を実行させるためのプログラムを記憶しているとともに、ＣＰＵ４１０による制御動作時に、各種データを一時的に保存するワークエリアとしてのメモリ領域を提供している。４１２は表示部で、後述するユーザインターフェースなどを表示する。４１３はネットワークインターフェース（Ｉ／Ｆ）で、ＬＡＮやインターネット等を介して通信を行うことができる。４１４は入力部で、例えばキーボードや、マウスなどのポインティングデバイスを含んでいる。ＨＤ（大容量記憶装置）４２５は、ＣＰＵ４１０により実行されるＯＳ４２０，各種アプリケーションソフトウェア４２１や、プリンタドライバ４２２などのプログラム、更には後述するプラグインモジュール４２３が予めインストールされており、これらは実行時に、ＲＡＭ４１１にロードされてＣＰＵ４１０により実行される。４１６はＩ／Ｏインターフェースで、例えばＵＳＢやＩＥＥＥ１３９４などのインターフェースを含み、各種入出力デバイス（例えば前述の印刷装置１０２）とのインターフェース制御を行っている。４３０はこれらを接続するシステムバスである。
【００２７】
［実施の形態１］
図５は、本発明の実施の形態に係るプリンタドライバ２０３の機能構成を示すブロック図である。
【００２８】
この実施の形態１では、プリンタドライバ２０３の初期化の際にプラグイン（Plug-In）カタログファイル４０２を参照して、ＨＤ４２５からロードすべきPlug-Inモジュールを決定してＲＡＭ４１１にロードする。
【００２９】
ここでは、プリンタドライバ本体４０１と、ロード対象であるPlug-In 1色補正モジュール４０３、Plug-In 2色空間変換モジュール４０４、Plug-In 3二値化モジュール４０５及びPlug-In 4プリンタ命令生成モジュール４０６が示されている。
【００３０】
図６は、このPlug-Inカタログファイル４０２の一例を示す図で、プリンタドライバ２０３で使用されるモジュールを列挙したテキストファイルである。なお、このPlug-Inカタログファイル４０２は、接続されているプリンタ１０２の仕様に基づいてユーザが作成して入力部４１４により入力しても良く、或は接続されているプリンタ１０２の仕様に基づいて自動的に作成されて提供されても良い。また或は、インターフェースを介してプリンタ１０２から提供されても良い。
【００３１】
各モジュールがプリンタドライバのどの位置にロードされるかは、カタログファイルのPlug-In番号（Plug-In 1，Plug-In 2等）で指定する。各Plug-In番号の下欄には、ロードされるモジュール名が記されている。
【００３２】
図６の例では、ロードすべきPlug-Inモジュールとして、Plug-In 1色補正モジュール４０３の「PrinterColorMatching.class」、Plug-In 2色空間変換モジュール４０４の「RGBtoCMYK.class」、Plug-In 3二値化モジュール４０５の「Halftone.class」及びPlug-In 4プリンタ命令生成モジュール４０６の「DefaultPlugIn4.class」が記述されている。
【００３３】
図７は、本実施の形態に係るプリンタドライバ２０３の初期化手順を示すフローチャートである。
【００３４】
このプリンタドライバ２０３は、ステップＳ１で初期化処理に入るとステップＳ２に進み、カタログファイル４０２の参照処理を実行する。
【００３５】
図８は、このステップＳ２のカタログファイル４０２の参照処理を説明するフローチャートである。
【００３６】
図８において、先ずステップＳ１１で、プリンタドライバに必要なカタログファイル４０２が存在するかを調査し、存在しなければステップＳ１５に進んでエラー処理に入る。存在する場合はステップＳ１２に進み、必要なモジュールリストをカタログファイルから検索し、ステップＳ１３で、必要なモジュールリストを作成し、そのモジュールリストをプリンタドライバ２０３へ通知する（ステップＳ１４）。
【００３７】
ここで、プリンタドライバ２０３を示す図７のステップＳ３に戻り、モジュールリストからモジュールを一個ずつ取り出す。ステップＳ４で、対応するモジュールファイルが存在するときはステップＳ５で、そのモジュール名を有するPlug-Inモジュールをロードする。そしてステップＳ６で、そのPlug-Inモジュールをオブジェクトとして初期化する。
【００３８】
一方、ステップＳ４でモジュールファイルが存在しないときはステップＳ１０に進み、プリンタドライバ２０３に組み込まれた標準Plug-Inモジュールを指定してステップＳ６に進み、Plug-Inモジュールをオブジェクトとして初期化する。
【００３９】
そしてステップＳ７に進み、そのPlug-Inモジュールを、プリンタドライバ２０３が持つメンバ変数として格納する。これにより、これ以降、モジュールの呼び出しは、このメンバ変数にアクセスすることにより行われる。そしてステップＳ８に進み、その取り出したPlug-Inモジュールを、そのリストから削除する。そしてステップＳ９で、そのリストの全てモジュールに対する処理が終了したかを調べ、全てのモジュールに対する処理が終了していないときはステップＳ３に戻って前述の処理を繰り返すが、リストが空になって、リストアップされた全てのモジュールに対する処理が終了すると、この処理を終了する。
【００４０】
このようにステップＳ３〜Ｓ９の処理は、モジュールリストが空になるまで繰り返されるため、全てのモジュールが初期化される。ここで、見つからないモジュールはロードされず、ステップＳ１０で、プリンタドライバ２０３に組み込まれたデフォルトの標準Plug-Inが使用される。この標準Plug-Inは、各Plug-Inに対して定義された最低限の処理を行うモジュールである。
【００４１】
図６に示すPlug-Inカタログファイルの例では、Plug-In 4として、プリンタドライバ内蔵のデフォルトの標準Plug-In「DefaultPlug-In4」を指定している。このような標準Plug-Inによる処理は、例えば色補正の場合では何も処理を行わず、受け取ったＲＧＢデータをそのままプリンタドライバ２０３へ返すものである。この様に、Plug-Inカタログ４０２に含まれないPlug-Inモジュールは、そのプリンタドライバ内臓の標準Plug-Inで代用される。従って、利用できるリソースが少ない環境では、高度の処理を行うPlug-Inモジュールを置かないことにより、最低限の処理だけを行うコンパクトなプリンタドライバ２０３を構成することができる。
【００４２】
また、情報処理装置１０１及び印刷装置１０２の能力に応じて、それに適合したPlug-InモジュールをPlug-Inカタログ４０２としてリストアップすることにより、その能力に応じた最適なプリンタドライバ２０３を、プリンタドライバ２０３本体を改変することなくスケーラブルに構築することができる。
【００４３】
［実施の形態２］
次に本発明の実施の形態２について説明する。尚、この実施の形態２に係るハードウェア構成は前述の実施の形態１の場合と同様であるため、その説明を省略する。
【００４４】
図９は、実施の形態２に係るPlug-Inカタログファイル４０２の一例を説明する図である。
【００４５】
この例では、印刷対象のプリンタの機種毎に、プリンタドライバで使用されるモジュールを列挙されている。即ち、９００は、機種「BFJ850」のプリンタ用のPlug-Inモジュールを示し、９０１は９００は、機種「BFJ600」のプリンタ用のPlug-Inモジュールを示している。
【００４６】
図１０は、本実施の形態２に係るプリンタドライバ２０３の初期化手順を示すフローチャートである。
【００４７】
このプリンタドライバ２０３は、ステップＳ２１で初期化処理に入るとステップＳ２２に進み、カタログファイル４０２の参照処理を実行する。
【００４８】
図１１は、このステップＳ２２のカタログファイル４０２の参照処理を説明するフローチャートである。
【００４９】
図１１において、先ずステップＳ３１で、そのカタログファイル４０２に、アプリケーションから指定されたプリンタの機種名に該当するプラグインモジュールが記述されているかどうかを調査し、存在しなければステップＳ３５に進んでエラー処理に入る。その機種名が記述されているときはステップＳ３２に進み、その機種に必要なモジュールリストをカタログファイルから検索し、ステップＳ３３で、その機種に必要なモジュールリストを作成し、そのモジュールリストをプリンタドライバ２０３へ通知する（ステップＳ３４）。
【００５０】
ここで、プリンタドライバ２０３を示す図１０のステップＳ２３に戻り、モジュールリストからモジュールを一個ずつ取り出す。ステップＳ２４で、対応するモジュールファイルが存在するときはステップＳ２５で、そのモジュール名を有するPlug-InモジュールをＨＤ４１５からＲＡＭ４１１にロードする。そしてステップＳ２６で、そのPlug-Inモジュールをオブジェクトとして初期化する。
【００５１】
一方、ステップＳ２４でモジュールファイルが存在しないときはステップＳ３０に進み、プリンタドライバ２０３に組み込まれた標準Plug-Inモジュールを指定してステップＳ２６に進み、Plug-Inモジュールをオブジェクトとして初期化する。
【００５２】
そしてステップＳ２７に進み、そのPlug-Inモジュールを、プリンタドライバ２０３が持つメンバ変数として格納する。これにより、これ以降、モジュールの呼び出しは、このメンバ変数にアクセスすることにより行われる。そしてステップＳ２８に進み、その取り出したPlug-Inモジュールを、そのリストから削除する。そしてステップＳ２９で、そのリストの全てモジュールに対する処理が終了したかを調べ、全てのモジュールに対する処理が終了していないときはステップＳ２３に戻って前述の処理を繰り返すが、リストが空になって、リストアップされた全てのモジュールに対する処理が終了すると、この処理を終了する。
【００５３】
このようにステップＳ２３〜Ｓ２９の処理は、その機種に対応するモジュールリストが空になるまで繰り返されるため、全てのモジュールが初期化される。ここで、見つからないモジュールはロードされず、ステップＳ３０で、プリンタドライバ２０３に組み込まれたデフォルトの標準Plug-Inが使用される。この標準Plug-Inは、各Plug-Inに対して定義された最低限の処理を行うモジュールである。
【００５４】
図１２は、カタログファイル４０２から対応する機種名を抽出する処理を説明するフローチャートである。
【００５５】
新たな対象プリンタ機種を増やす場合は、その機種用のPlug-Inを開発（或は既存のモジュールを流用）した上で、カタログファイル４０２に追加すれば自動的に、新たなプリンタ機種に対応したプリンタドライバが構築される。
【００５６】
図１２において、ステップＳ４１で、カタログファイル４０２が存在するかを調べ、存在しないときはステップＳ４７に進んで、エラー処理を行う。ステップＳ４１で、カタログファイル４０２が存在する時はステップＳ４２に進み、そのカタログファイル４０２から１行を読み込む。その行において、「［」と「］」とで囲まれた文字列（図９参照）が存在するときはステップＳ４３からステップＳ４４に進み、その「［」で「］」で囲まれた文字列をプリンタの機種名として、リストに追加する。そしてステップＳ４５で、カタログファイル４０２の最後になるまでステップＳ４２〜Ｓ４５の処理を繰り返し、そのモジュールリストをプリンタドライバ２０３のオブジェクトに返す。
【００５７】
以上説明したように本実施の形態によれば、Ｊａｖａ（登録商標）などのマルチプラットフォームで利用できる実行環境を用いることにより、マルチプラットフォーム間で同一のプリンタドライバを利用できる。これにより開発者は、プラットフォームとプリンタ機種に依存する最小限のモジュールを作成し、テキストファイルであるPlug-Inカタログに登録するだけで、プリンタドライバ本体に何ら改変を加えることなく、対象プラットフォームに適合したプリンタドライバを構成することができる。
【００５８】
また、カタログファイルをテキストファイルとして定義することにより、特定のPlug-Inモジュールを別のPlug-Inモジュールに置き換えることも容易である。
【００５９】
［他の実施の形態］
本発明は、上述した実施の形態の機能を実現するソフトウェアのプログラムをコンピュータ又はＣＰＵに供給し、そのコンピュータ又はＣＰＵが該供給されたプログラムを読出して実行することによって、その目的を達成することができる。
【００６０】
この場合、上記プログラムは、該プログラムを記録した記憶媒体から直接に供給されるか、又はインターネット、商用ネットワーク、若しくはローカルエリアネットワーク等に接続される不図示の他のコンピュータやデータベース等からダウンロードすることにより供給される。
【００６１】
上記プログラムの形態は、オブジェクトコード、インタプリタにより実行されるプログラムコード、ＯＳ（オペレーティングシステム）に供給されるスクリプトデータ等の形態から成ってもよい。
【００６２】
また、本発明は、上述した実施の形態の機能を実現するソフトウェアのプログラムを記憶した記憶媒体をコンピュータ又はＣＰＵに供給し、そのコンピュータ又はＣＰＵが記憶媒体に記憶されたプログラムを読出して実行することによっても、達成することができる。
【００６３】
この場合、格納媒体から読出されたプログラムコード自体が上述した各実施の形態の機能を実現すると共に、そのプログラムコードを記憶した記憶媒体は本発明を構成する。
【００６４】
プログラムコードを記憶する記憶媒体としては、例えば、ＲＯＭ、ＲＡＭ、ＮＶ−ＲＡＭ、フロッピー（登録商標）ディスク、ハードディスク、光ディスク（登録商標）、光磁気ディスク、ＣＤ−ＲＯＭ、ＭＯ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷ、磁気テープ、不揮発性のメモリカード等がある。
【００６５】
上述した実施の形態の機能は、コンピュータから読出されたプログラムコードを実行することによるばかりでなく、コンピュータ上で稼動するＯＳ等がプログラムコードの指示に基づいて実際の処理の一部又は全部を行うことによっても実現することができる。
【図面の簡単な説明】
【００６６】
【図１】本発明の実施の形態に係る情報処理装置と印刷装置との接続を示す図である。
【図２】本実施の形態に係る情報処理装置で稼動するソフトウェアの構成を示すブロック図である。
【図３】標準的なプリンタドライバの構成を表す図である。
【図４】本実施の形態に係る情報処理装置の構成を示すブロック図である。
【図５】本実施の形態に係るプリンタドライバの構成図である。
【図６】本発明の実施の形態１に係るカタログファイルの一例を示す図である。
【図７】本発明の実施の形態１に係るプリンタドライバの初期化手順を示すフローチャートである。
【図８】本発明の実施の形態１に係るプリンタドライバの初期化手順におけるカタログファイルの参照処理を示すフローチャートである。
【図９】本発明の実施の形態２に係るカタログファイルの一例を示す図である。
【図１０】本発明の実施の形態２に係るプリンタドライバの初期化手順を示すフローチャートである。
【図１１】本発明の実施の形態２に係るプリンタドライバの初期化手順におけるカタログファイルの参照処理を示すフローチャートである。
【図１２】実施の形態２に係るカタログファイルから対応する機種名を抽出する処理を説明するフローチャートである。
【図１】
2005135326.tif 000003
【図２】
2005135326.tif 000004
【図３】
2005135326.tif 000005
【図４】
2005135326.tif 000006
【図５】
2005135326.tif 000007
【図６】
2005135326.tif 000008
【図７】
2005135326.tif 000009
【図８】
2005135326.tif 000010
【図９】
2005135326.tif 000011
【図１０】
2005135326.tif 000012
【図１１】
2005135326.tif 000013
【図１２】
2005135326.tif 000014