(57)【要約】【課題】印刷機器がサポートするＰＤＬと印刷データを記述するＰＤＬのプロトコルクラスの不一致に起因して印刷エラーが生じることを防止できる印刷指示プログラムを提供する。【解決手段】ネットワーク上の１つの印刷機器に対して印刷を指示する印刷指示装置を制御するための印刷指示プログラムであって、印刷機器に関する情報を取得する手順（Ｓ１０２）と、印刷機器に関する情報とＰＤＬのプロトコルクラスとが関連付けられたデータベースを参照して、取得された情報と関連付けられたプロトコルクラスを認識する手順と、ＰＤＬのプロトコルクラス別に用意された複数のプログラムモジュールのうち使用するモジュールを、認識されたプロトコルクラスに対応するモジュールに切り替える手順（Ｓ１０７）と、切り替えられたモジュールを使用して印刷機器に送信する印刷データを生成するための処理を行う手順と、を印刷指示装置に実行させる。【選択図】図５
2012168807.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク上の１つの印刷機器を指定し当該印刷機器に対して印刷を指示する印刷指示装置を制御するための印刷指示プログラムであって、
前記印刷機器から当該印刷機器に関する情報を取得する手順（ａ）と、
印刷機器に関する情報とページ記述言語のプロトコルクラスとが関連付けられたデータベースを参照して、前記手順（ａ）において取得された情報と関連付けられたプロトコルクラスを認識する手順（ｂ）と、
ページ記述言語のプロトコルクラス別に用意された複数のプログラムモジュールのうち使用するモジュールを、前記手順（ｂ）において認識されたプロトコルクラスに対応するモジュールに切り替える手順（ｃ）と、
前記手順（ｃ）において切り替えられたモジュールを使用して、前記印刷機器に送信する印刷データを生成するための処理を行う手順（ｄ）と、
を前記印刷指示装置に実行させる印刷指示プログラム。
【請求項２】
前記手順（ａ）において取得された情報が前記データベースに存在しない場合、前記複数のプログラムモジュールのうち使用するモジュールを、最も低いプロトコルクラスに対応するモジュールに切り替える手順（ｅ）をさらに前記印刷指示装置に実行させることを特徴とする請求項１に記載の印刷指示プログラム。
【請求項３】
前記データベースは、前記印刷指示装置の記憶部に記憶されていることを特徴とする請求項１または２に記載の印刷指示プログラム。
【請求項４】
前記データベースは、前記ネットワーク上のサーバ装置に記憶されていることを特徴とする請求項１または２に記載の印刷指示プログラム。
【請求項５】
前記印刷指示プログラムは、各印刷機器に共通して使用される共通モジュールと、特定機種の印刷機器が指定された場合に使用される機種別モジュールと、前記機種別モジュールと択一的に使用される、印刷機器の機種に依存しない汎用モジュールと、を有し、
前記汎用モジュールは、前記プロトコルクラス別に複数用意されており、
前記手順（ｃ）において、前記機種別モジュールおよび複数の汎用モジュールが、モジュール単位で切り替えられることを特徴とする請求項１〜４のいずれか１項に記載の印刷指示プログラム。
【請求項６】
前記印刷指示プログラムは、各印刷機器に共通して使用される共通モジュールと、特定機種の印刷機器が指定された場合に使用される機種別モジュールと、前記機種別モジュールと択一的に使用される、印刷機器の機種に依存しない汎用モジュールと、を有し、
前記汎用モジュールは、ページ記述言語のプロトコルクラス別に用意された複数のサブモジュールを含み、
前記手順（ｃ）において前記汎用モジュールが使用される場合、前記複数のサブモジュールが切り替えられることを特徴とする請求項１〜４のいずれか１項に記載の印刷指示プログラム。
【請求項７】
請求項１〜６のいずれか１項に記載の印刷指示プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項８】
ネットワーク上の１つの印刷機器を指定し当該印刷機器に対して印刷を指示する印刷指示装置で使用される印刷指示方法であって、
前記印刷機器から当該印刷機器に関する情報を取得するステップ（ａ）と、
印刷機器に関する情報とページ記述言語のプロトコルクラスとが関連付けられたデータベースを参照して、前記ステップ（ａ）において取得された情報と関連付けられたプロトコルクラスを認識するステップ（ｂ）と、
ページ記述言語のプロトコルクラス別に用意された複数のプログラムモジュールのうち使用するモジュールを、前記ステップ（ｂ）において認識されたプロトコルクラスに対応するモジュールに切り替えるステップ（ｃ）と、
前記ステップ（ｃ）において切り替えられたモジュールを使用して、前記印刷機器に送信する印刷データを生成するための処理を行うステップ（ｄ）と、
を有することを特徴とする印刷指示方法。
【請求項９】
前記ステップ（ａ）において取得された情報が前記データベースに存在しない場合、前記複数のプログラムモジュールのうち使用するモジュールを、最も低いプロトコルクラスに対応するモジュールに切り替えるステップ（ｅ）をさらに有することを特徴とする請求項８に記載の印刷指示方法。
【請求項１０】
前記データベースは、前記印刷指示装置の記憶部に記憶されていることを特徴とする請求項８または９に記載の印刷指示方法。
【請求項１１】
前記データベースは、前記ネットワーク上のサーバ装置に記憶されていることを特徴とする請求項８または９に記載の印刷指示方法。
【請求項１２】
前記複数のプログラムモジュールは、特定機種の印刷機器が指定された場合に使用される機種別モジュールと、前記機種別モジュールと択一的に使用される、印刷機器の機種に依存しない汎用モジュールと、を含み、
前記汎用モジュールは、前記プロトコルクラス別に複数用意されており、
前記ステップ（ｃ）において、前記機種別モジュールおよび複数の汎用モジュールが、モジュール単位で切り替えられることを特徴とする請求項８〜１１のいずれか１項に記載の印刷指示方法。
【請求項１３】
前記複数のプログラムモジュールは、特定機種の印刷機器が指定された場合に使用される機種別モジュールと、前記機種別モジュールと択一的に使用される、印刷機器の機種に依存しない汎用モジュールと、を含み、
前記汎用モジュールは、ページ記述言語のプロトコルクラス別に用意された複数のサブモジュールを含み、
前記手順（ｃ）において前記汎用モジュールが使用される場合、前記複数のサブモジュールが切り替えられることを特徴とする請求項８〜１１のいずれか１項に記載の印刷指示方法。
【請求項１４】
ネットワーク上の１つの印刷機器を指定し当該印刷機器に対して印刷を指示するための印刷指示プログラムがインストールされた印刷指示装置であって、
印刷機器に関する情報とページ記述言語のプロトコルクラスとが関連付けられたデータベースを記憶している記憶部と、
前記印刷機器から当該印刷機器に関する情報を取得する取得部と、
前記記憶部に記憶されているデータベースを参照して、前記取得部により取得された情報と関連付けられたプロトコルクラスを認識する認識部と、
ページ記述言語のプロトコルクラス別に用意された複数のプログラムモジュールのうち使用するモジュールを、前記認識部により認識されたプロトコルクラスに対応するモジュールに切り替える切替部と、
前記切替部により切り替えられたモジュールを使用して、前記印刷機器に送信する印刷データを生成するための処理を行う処理部と、
を有することを特徴とする印刷指示装置。
【請求項１５】
ネットワーク上の１つの印刷機器を指定し当該印刷機器に対して印刷を指示するための印刷指示プログラムがインストールされた印刷指示装置と前記ネットワークを通じて前記印刷指示装置に接続されるサーバ装置とを有する印刷指示システムであって、
前記サーバ装置は、
印刷機器に関する情報とページ記述言語のプロトコルクラスとが関連付けられたデータベースを記憶している記憶部を有し、
前記印刷指示装置は、
前記印刷機器から当該印刷機器に関する情報を取得する取得部と、
前記記憶部に記憶されているデータベースを参照して、前記取得部により取得された情報と関連付けられたプロトコルクラスを認識する認識部と、
ページ記述言語のプロトコルクラス別に用意された複数のプログラムモジュールのうち使用するモジュールを、前記認識部により認識されたプロトコルクラスに対応するモジュールに切り替える切替部と、
前記切替部により切り替えられたモジュールを使用して、前記印刷機器に送信する印刷データを生成するための処理を行う処理部と、を有することを特徴とする印刷指示システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク上の１つの印刷機器を指定し当該印刷機器に対して印刷を指示するための印刷指示プログラム、印刷指示方法、印刷指示装置、および印刷指示システムに関する。
【背景技術】
【０００２】
近年、複数機種のプリンタに１つのプリンタドライバで対応でき、印刷実行のたびに出力先のプリンタを選択可能な、複数機種共通のプリンタドライバ（Ｕｎｉｖｅｒｓａｌ  Ｐｒｉｎｔｅｒ  Ｄｒｉｖｅｒ：以下、ＵＰＤと称する）が提案されている（非特許文献１参照）。ＵＰＤによれば、プリンタ毎に対応するプリンタドライバをＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）にインストールすることなく、ユーザは、ネットワーク上の複数のプリンタの中から１つのプリンタを選択して、印刷の実行を指示することができる。印刷の実行を指示するための印刷データは、ＰＳ（ＰｏｓｔＳｃｒｉｐｔ（登録商標））やＰＣＬ（Ｐｒｉｎｔｅｒ  Ｃｏｎｔｒｏｌ  Ｌａｎｇｕａｇｅ）等のページ記述言語（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ：以下、ＰＤＬと称する）で記述される。
【０００３】
ところで、１つのＰＤＬには、複数のプロトコルクラスが存在する。たとえば、ＰＤＬの１つであるＰＣＬ  ＸＬには、現在、「１．１」、「２．０」、「２．１」、および「３．０」の４つのプロトコルクラスが存在する。プロトコルクラスが高いＰＤＬは、プロトコルクラスの低いＰＤＬに比べて機能が拡張されている。したがって、たとえば、ＰＣＬ  ＸＬに対応するプリンタであっても、プロトコルクラスが異なる機種であれば、対応可能な機能が異なることがある。
【０００４】
プリンタとプリンタドライバとが一対一で対応する一般的なプリンタドライバでは、印刷データを記述するＰＤＬのプロトコルクラスとプリンタがサポートするＰＤＬのプロトコルクラスとは通常一致しており、印刷の実行を指示する際にプロトコルクラスが問題となることはほとんどない。
【０００５】
しかしながら、ネットワーク上にはＰＤＬのプロトコルクラスが異なる複数のプリンタが存在するため、ＵＰＤによりネットワーク上の複数のプリンタの中から１つのプリンタを選択して印刷の実行を指示する場合、選択されたプリンタがサポートするＰＤＬのプロトコルクラスと、ＵＰＤにより生成される印刷データを記述するＰＤＬのプロトコルクラスとが一致しない場合がある。
【０００６】
プリンタがサポートするＰＤＬのプロトコルクラスと、印刷データを記述するＰＤＬのプロトコルクラスとが一致しない場合、印刷データの一部をプリンタが解釈できず、印刷エラーが生じるおそれがある。したがって、ＵＰＤによりネットワーク上の複数のプリンタの中から１つのプリンタを選択して印刷の実行を指示する場合、選択されたプリンタがサポートするＰＤＬのプロトコルクラスと一致するプロトコルクラスのＰＤＬで印刷データを生成する必要がある。
【０００７】
なお、下記の特許文献１には、ＰＣにインストールされているプリンタドライバのＰＤＬの種類およびバージョン情報をＰＣからプリンタに送信し、プリンタドライバにプリンタが対応可能か否かをプリンタが判断し、判断結果をレポート印刷する技術が開示されている。この技術によれば、ＰＣのユーザは、プリンタドライバにプリンタが対応していないことを把握することができる。しかしながら、この技術は、プリンタがサポートするＰＤＬのプロトコルクラスと一致するプロトコルクラスのＰＤＬで記述された印刷データをプリンタドライバにより生成するものではない。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００６−１９２８０３号公報
【非特許文献】
【０００９】
【非特許文献１】ＨＰ  Ｕｎｉｖｅｒｓａｌ  Ｐｒｉｎｔ  Ｄｒｉｖｅｒ、[online]、ヒューレット・パッカード  カンパニー（ＨＰ）、インターネット<http://h20338.www2.hp.com/Hpsub/cache/343033-0-0-225-121.html>
【発明の概要】
【発明が解決しようとする課題】
【００１０】
本発明は、上述した課題に鑑みてなされたものである。したがって、本発明の目的は、ネットワーク上の１つの印刷機器を指定して印刷の実行を指示する際、指定された印刷機器がサポートするページ記述言語のプロトコルクラスと一致するプロトコルクラスのページ記述言語で印刷データを生成して、印刷機器がサポートするページ記述言語のプロトコルクラスと印刷データを記述するページ記述言語のプロトコルクラスとの不一致に起因して印刷エラーが生じることを防止できる印刷指示プログラム、印刷指示方法、印刷指示装置、および印刷指示システムを提供することである。
【課題を解決するための手段】
【００１１】
本発明の上記目的は、下記の手段によって達成される。
【００１２】
（１）ネットワーク上の１つの印刷機器を指定し当該印刷機器に対して印刷を指示する印刷指示装置を制御するための印刷指示プログラムであって、前記印刷機器から当該印刷機器に関する情報を取得する手順（ａ）と、印刷機器に関する情報とページ記述言語のプロトコルクラスとが関連付けられたデータベースを参照して、前記手順（ａ）において取得された情報と関連付けられたプロトコルクラスを認識する手順（ｂ）と、ページ記述言語のプロトコルクラス別に用意された複数のプログラムモジュールのうち使用するモジュールを、前記手順（ｂ）において認識されたプロトコルクラスに対応するモジュールに切り替える手順（ｃ）と、前記手順（ｃ）において切り替えられたモジュールを使用して、前記印刷機器に送信する印刷データを生成するための処理を行う手順（ｄ）と、を前記印刷指示装置に実行させる印刷指示プログラム。
【００１３】
（２）前記手順（ａ）において取得された情報が前記データベースに存在しない場合、前記複数のプログラムモジュールのうち使用するモジュールを、最も低いプロトコルクラスに対応するモジュールに切り替える手順（ｅ）をさらに前記印刷指示装置に実行させることを特徴とする上記（１）に記載の印刷指示プログラム。
【００１４】
（３）前記データベースは、前記印刷指示装置の記憶部に記憶されていることを特徴とする上記（１）または（２）に記載の印刷指示プログラム。
【００１５】
（４）前記データベースは、前記ネットワーク上のサーバ装置に記憶されていることを特徴とする上記（１）または（２）に記載の印刷指示プログラム。
【００１６】
（５）前記印刷指示プログラムは、各印刷機器に共通して使用される共通モジュールと、特定機種の印刷機器が指定された場合に使用される機種別モジュールと、前記機種別モジュールと択一的に使用される、印刷機器の機種に依存しない汎用モジュールと、を有し、前記汎用モジュールは、前記プロトコルクラス別に複数用意されており、前記手順（ｃ）において、前記機種別モジュールおよび複数の汎用モジュールが、モジュール単位で切り替えられることを特徴とする上記（１）〜（４）のいずれか１つに記載の印刷指示プログラム。
【００１７】
（６）前記印刷指示プログラムは、各印刷機器に共通して使用される共通モジュールと、特定機種の印刷機器が指定された場合に使用される機種別モジュールと、前記機種別モジュールと択一的に使用される、印刷機器の機種に依存しない汎用モジュールと、を有し、前記汎用モジュールは、ページ記述言語のプロトコルクラス別に用意された複数のサブモジュールを含み、前記手順（ｃ）において前記汎用モジュールが使用される場合、前記複数のサブモジュールが切り替えられることを特徴とする上記（１）〜（４）のいずれか１つに記載の印刷指示プログラム。
【００１８】
（７）上記（１）〜（６）のいずれか１つに記載の印刷指示プログラムを記録したコンピュータ読み取り可能な記録媒体。
【００１９】
（８）ネットワーク上の１つの印刷機器を指定し当該印刷機器に対して印刷を指示する印刷指示装置で使用される印刷指示方法であって、前記印刷機器から当該印刷機器に関する情報を取得するステップ（ａ）と、印刷機器に関する情報とページ記述言語のプロトコルクラスとが関連付けられたデータベースを参照して、前記ステップ（ａ）において取得された情報と関連付けられたプロトコルクラスを認識するステップ（ｂ）と、ページ記述言語のプロトコルクラス別に用意された複数のプログラムモジュールのうち使用するモジュールを、前記ステップ（ｂ）において認識されたプロトコルクラスに対応するモジュールに切り替えるステップ（ｃ）と、前記ステップ（ｃ）において切り替えられたモジュールを使用して、前記印刷機器に送信する印刷データを生成するための処理を行うステップ（ｄ）と、を有することを特徴とする印刷指示方法。
【００２０】
（９）前記ステップ（ａ）において取得された情報が前記データベースに存在しない場合、前記複数のプログラムモジュールのうち使用するモジュールを、最も低いプロトコルクラスに対応するモジュールに切り替えるステップ（ｅ）をさらに有することを特徴とする上記（８）に記載の印刷指示方法。
【００２１】
（１０）前記データベースは、前記印刷指示装置の記憶部に記憶されていることを特徴とする上記（８）または（９）に記載の印刷指示方法。
【００２２】
（１１）前記データベースは、前記ネットワーク上のサーバ装置に記憶されていることを特徴とする上記（８）または（９）に記載の印刷指示方法。
【００２３】
（１２）前記複数のプログラムモジュールは、特定機種の印刷機器が指定された場合に使用される機種別モジュールと、前記機種別モジュールと択一的に使用される、印刷機器の機種に依存しない汎用モジュールと、を含み、前記汎用モジュールは、前記プロトコルクラス別に複数用意されており、前記ステップ（ｃ）において、前記機種別モジュールおよび複数の汎用モジュールが、モジュール単位で切り替えられることを特徴とする上記（８）〜（１１）のいずれか１つに記載の印刷指示方法。
【００２４】
（１３）前記複数のプログラムモジュールは、特定機種の印刷機器が指定された場合に使用される機種別モジュールと、前記機種別モジュールと択一的に使用される、印刷機器の機種に依存しない汎用モジュールと、を含み、前記汎用モジュールは、ページ記述言語のプロトコルクラス別に用意された複数のサブモジュールを含み、前記手順（ｃ）において前記汎用モジュールが使用される場合、前記複数のサブモジュールが切り替えられることを特徴とする上記（８）〜（１１）のいずれか１つに記載の印刷指示方法。
【００２５】
（１４）ネットワーク上の１つの印刷機器を指定し当該印刷機器に対して印刷を指示するための印刷指示プログラムがインストールされた印刷指示装置であって、印刷機器に関する情報とページ記述言語のプロトコルクラスとが関連付けられたデータベースを記憶している記憶部と、前記印刷機器から当該印刷機器に関する情報を取得する取得部と、前記記憶部に記憶されているデータベースを参照して、前記取得部により取得された情報と関連付けられたプロトコルクラスを認識する認識部と、ページ記述言語のプロトコルクラス別に用意された複数のプログラムモジュールのうち使用するモジュールを、前記認識部により認識されたプロトコルクラスに対応するモジュールに切り替える切替部と、前記切替部により切り替えられたモジュールを使用して、前記印刷機器に送信する印刷データを生成するための処理を行う処理部と、を有することを特徴とする印刷指示装置。
【００２６】
（１５）ネットワーク上の１つの印刷機器を指定し当該印刷機器に対して印刷を指示するための印刷指示プログラムがインストールされた印刷指示装置と前記ネットワークを通じて前記印刷指示装置に接続されるサーバ装置とを有する印刷指示システムであって、前記サーバ装置は、印刷機器に関する情報とページ記述言語のプロトコルクラスとが関連付けられたデータベースを記憶している記憶部を有し、前記印刷指示装置は、前記印刷機器から当該印刷機器に関する情報を取得する取得部と、前記記憶部に記憶されているデータベースを参照して、前記取得部により取得された情報と関連付けられたプロトコルクラスを認識する認識部と、ページ記述言語のプロトコルクラス別に用意された複数のプログラムモジュールのうち使用するモジュールを、前記認識部により認識されたプロトコルクラスに対応するモジュールに切り替える切替部と、前記切替部により切り替えられたモジュールを使用して、前記印刷機器に送信する印刷データを生成するための処理を行う処理部と、を有することを特徴とする印刷指示システム。
【発明の効果】
【００２７】
本発明によれば、印刷機器に関連付けられたページ記述言語のプロトコルクラスが認識され、認識されたプロトコルクラスに対応するプログラムモジュールを使用して印刷データが生成されるため、印刷機器がサポートするページ記述言語のプロトコルクラスと一致するプロトコルクラスのページ記述言語で印刷データが生成される。したがって、ネットワーク上の１つの印刷機器を指定して印刷の実行を指示する際、印刷機器がサポートするページ記述言語のプロトコルクラスと印刷データを記述するページ記述言語のプロトコルクラスとの不一致に起因して印刷エラーが生じることが防止される。
【００２８】
また、本発明によれば、印刷機器に関する情報とプロトコルクラスとが関連付けられたデータベースを参照して、印刷機器がサポートするページ記述言語のプロトコルクラスが認識されるため、ページ記述言語のプロトコルクラス情報を印刷機器から直接取得することなく、印刷機器の機種名情報や製造者情報から、印刷機器がサポートするページ記述言語のプロトコルクラスを認識することが可能になる。したがって、印刷機器からページ記述言語のプロトコルクラス情報を取得することができない印刷機器についても、印刷データを記述するページ記述言語のプロトコルクラスと印刷機器がサポートしているページ記述言語のプロトコルクラスとを一致させることが可能になる。
【図面の簡単な説明】
【００２９】
【図１】本発明の第１の実施形態に係る印刷システムの全体構成を示すブロック図である。
【図２】図１に示されるＰＣの構成を示すブロック図である。
【図３】図１に示されるＰＣにインストールされているプリンタドライバの機能を示すブロック図である。
【図４】図１に示されるプリンタの構成を示すブロック図である。
【図５】図１に示されるＰＣにより実行される印刷指示処理の手順を示すフローチャートである。
【図６】デバイス情報データベースの一例を示す図である。
【図７】チャイルドドライバが切り替えられたプリンタドライバのバージョン情報確認画面を示す図である。
【図８】本発明の第２の実施形態に係る印刷システムの全体構成を示すブロック図である。
【図９】図８に示されるサーバの構成を示すブロック図である。
【図１０】図９に示されるハードディスクの内容を示すブロック図である。
【図１１】図８に示されるＰＣにインストールされているプリンタドライバの機能を示すブロック図である。
【図１２】図８に示されるＰＣにより実行される印刷指示処理の手順を示すフローチャートである。
【発明を実施するための形態】
【００３０】
以下、図面を参照して、本発明の実施形態を詳細に説明する。
【００３１】
（第１の実施形態）
図１は、本発明の第１の実施形態に係る印刷システムの全体構成を示すブロック図である。
【００３２】
本実施形態の印刷システムは、クライアントＰＣ１０と、プリンタ２０Ａ，２０Ｂ，２０Ｃ，２０Ｄ，２０Ｅとを備える。ＰＣ１０とプリンタ２０Ａ〜２０Ｅとは、ネットワーク５０を介して相互に通信可能に接続されている。
【００３３】
ネットワーク５０は、たとえば、イーサネット（登録商標）、トークンリング、およびＦＤＤＩ（Ｆｉｂｅｒ  Ｄｉｓｔｒｉｂｕｔｅｄ  Ｄａｔａ  Ｉｎｔｅｒｆａｃｅ）等の規格によりコンピュータやネットワーク機器同士を接続したＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、またはＬＡＮ同士を専用線で接続したＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等の各種のネットワークからなる。なお、ネットワーク５０に接続される機器の種類および台数は、図１に示される例に限定されない。また、プリンタ２０Ａ〜２０Ｅは、同一の製造者により製造された異なる機種のプリンタのみならず、異なる製造者により製造されたプリンタが含まれる。プリンタ２０Ａ〜２０Ｅには、ＭＦＰ（Ｍｕｌｔｉ−Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）等の画像形成装置が含まれる。
【００３４】
図２は、図１に示されるＰＣの構成を示すブロック図である。ＰＣ１０は、印刷指示装置として、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１２、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１３、ハードディスク１４、ディスプレイ１５、入力装置１６、および通信インタフェース１７を含み、これらは信号をやり取りするためのバス１８を介して相互に接続されている。
【００３５】
ＣＰＵ１１は、プログラムにしたがって上記各部の制御や各種の演算処理を行う。ＲＯＭ１２は、各種プログラムや各種データを格納する。ＲＡＭ１３は、作業領域として一時的にプログラムやデータを記憶する。ハードディスク１４は、オペレーティングシステム（ＯＳ）を含む各種プログラムや、各種データを格納する。
【００３６】
ディスプレイ１５は、たとえば、液晶ディスプレイであり、各種の情報を表示する。入力装置１６は、マウス等のポインティングデバイス、およびキーボードを含み、各種の入力を行うために使用される。通信インタフェース１７は、ネットワーク５０を介し他の機器と通信するためのインタフェースであり、イーサネット（登録商標）、トークンリング、ＦＤＤＩ等の規格が用いられる。
【００３７】
ハードディスク１４には、文書ファイルを作成するための文書ファイル作成アプリケーションと、プリンタドライバ１００（図３参照）とがインストールされている。
【００３８】
プリンタドライバ１００は、ＰＣ１０に格納されているＯＳ上にインストールされ、印刷データを生成するプログラムである。本実施形態では、プリンタドライバ１００は、印刷時に、操作画面（不図示）にネットワーク５０上の複数のプリンタの情報を一覧表示し、操作画面を用いたユーザの操作に基づいて、複数のプリンタの中から出力先のプリンタを選択することができる。
【００３９】
図３は、本実施形態に係るプリンタドライバの機能を示すブロック図である。
【００４０】
プリンタドライバ１００は、共通機能部１１０、個別機能部１２０ａ，１２０ｂ，１２０ｃ，１２０ｄ，１２０ｅ，１２０ｆ、プリンタ切替部１３０、およびデータベース記憶部１４０を有している。各部の機能は、それぞれに対応するモジュールをＣＰＵ１１がＲＡＭ１３上で実行することにより発揮される。各モジュールは、たとえば、ＤＬＬ（Ｄｙｎａｍｉｃ  Ｌｉｎｋ  Ｌｉｂｒａｒｙ）等のプログラムファイルからなる。
【００４１】
共通機能部１１０は、プリンタドライバ全体の制御を行う。共通機能部１１０は、印刷出力のための描画処理、操作画面の制御、個別機能部１２０ａ〜１２０ｆおよびプリンタ切替部１３０間のやり取りの制御等、すべてのプリンタに共通する処理を行う。
【００４２】
個別機能部１２０ａ〜１２０ｆは、出力先のプリンタに応じて使用されるものであり、機種別機能部１２０ａ，１２０ｂと汎用機能部１２０ｃ〜１２０ｆとを含む。機種別機能部１２０ａ，１２０ｂおよび汎用機能部１２０ｃ〜１２０ｆの機能は、それぞれに対応するモジュール（以下、機種別チャイルドドライバおよび汎用チャイルドドライバとそれぞれ称する）をＣＰＵ１１がＲＡＭ１３上で実行することにより発揮される。機種別チャイルドドライバおよび汎用チャイルドドライバは、たとえば、ＤＬＬ等のプログラムファイルであり、プリンタドライバ１００に含まれる他のモジュールと連携して動作する。
【００４３】
機種別機能部１２０ａ，１２０ｂは、特定機種のプリンタに印刷の実行を指示するために使用される。機種別機能部１２０ａ，１２０ｂは、たとえば、プリンタに固有の機能についての設定情報を出力する機能や当該設定情報を設定するための操作画面（印刷設定画面）を提供する機能を実現する。なお、プリンタに固有の機能には、たとえば、セキュリティのためのパスワード印刷機能およびトナー消費量を抑制するためのドラフト印刷機能等の印刷機能、ステープル処理、穴開け処理、折り処理、および糊付け処理等の後処理機能、ＰＣおよびプリンタ間の双方向通信機能が含まれる。機種別機能部１２０ａおよび機種別機能部１２０ｂは、たとえば、機種Ａのプリンタであるプリンタ２０Ａおよび機種Ｂのプリンタであるプリンタ２０Ｂにそれぞれ対応している。なお、ネットワーク５０上に同一機種のプリンタが複数存在する場合、これらのプリンタに対応する機種別機能部が１つ存在すればよい。しかしながら、同一機種のプリンタであっても、搭載している機能が異なる場合（たとえば、後処理機能を備えているプリンタと、備えていないプリンタが混在している場合）には、同一機種のプリンタについて、後処理機能の違いに対応する複数の機種別機能部が備えられる。機種別機能部１２０ａ，１２０ｂは、対応するプリンタがサポートするＰＤＬのプロトコルクラスに対応している。
【００４４】
汎用機能部１２０ｃ〜１２０ｆは、対応する機種別機能部１２０ａ，１２０ｂが存在しないプリンタに印刷の実行を指示するために使用される。汎用機能部１２０ｃ〜１２０ｆによれば、詳細な仕様や機能が分からないプリンタに対しても、ＰＤＬ標準のコマンドを出力することにより標準的な機能を使用して印刷を指示することができる。本実施形態の汎用機能部１２０ｃ〜１２０ｆは、プリンタドライバ１００がサポートするＰＤＬであるＰＣＬ  ＸＬのプロトコルクラス別に設けられている。具体的には、汎用機能部１２０ｃ〜１２０ｆは、ＰＣＬ  ＸＬの「１．１」、「２．０」、「２．１」、および「３．０」の４つのプロトコルクラスにそれぞれ対応している。
【００４５】
プリンタ切替部１３０は、出力先のプリンタに応じて、個別機能部（機種別チャイルドドライバおよび汎用チャイルドドライバ）を切り替える。プリンタ切替部１３０は、出力先のプリンタとして指定された１つのプリンタに適合する１つの個別機能部を共通機能部１１０経由で呼び出す。なお、上述したとおり、本実施形態では、プリンタドライバ１００の機能により、ネットワーク５０上の複数のプリンタの情報を一覧表示して、ユーザの操作により１つのプリンタを選択することができる。また、過去に使用したプリンタの履歴情報を表示して１つのプリンタを選択することができる。あるいは、プリンタのＩＰアドレスまたは機種名を直接指定して１つのプリンタを選択することができる。
【００４６】
データベース記憶部１４０は、デバイス情報データベース２００（図６参照）を記憶している。データベース記憶部１４０は、プリンタのデバイス情報と当該プリンタがサポートするＰＤＬのプロトコルクラスとが関連付けられたデータベースであるデバイス情報データベース２００を記憶している。
【００４７】
図４は、図１に示されるプリンタの構成を示すブロック図である。プリンタ２０Ａ〜２０Ｅは、相互に同様の構成であるため、以下、プリンタ２０Ａを代表として用いて説明する。
【００４８】
プリンタ２０Ａは、ＣＰＵ２１、ＲＯＭ２２、ＲＡＭ２３、ハードディスク２４、操作パネル２５、印刷部２６、後処理部２７、および通信インタフェース２８を含み、これらは信号をやり取りするためのバス２９を介して相互に接続されている。なお、プリンタ２０Ａの上記各部のうち、ＰＣ１０の上記各部と同様の機能を有する部分については、説明の重複を避けるためその説明を省略する。
【００４９】
操作パネル２５は、各種情報の表示および各種指示の入力に使用される。印刷部２６は、電子写真式プロセス等の周知の作像プロセスを用いて、ビットマップ画像データに基づく画像を用紙等の記録媒体に印刷する。後処理部２７は、印刷部２６により印刷が実行された用紙に対して、ステープル処理、穴開け処理、折り処理等の後処理を実行する。
【００５０】
ＲＡＭ２３およびハードディスク２４等の記憶部には、印刷ジョブを記憶するための印刷ジョブ記憶部が割り当てられる。また、ハードディスク２４は、ネットワーク通信部および制御部に対応するプログラムを格納するためのそれぞれの領域を有する。
【００５１】
ネットワーク通信部は、ＰＣ１０からの要求に応じて、プリンタ２０Ａに関する情報（たとえば、機器名情報）を提供する。このため、ネットワーク通信部には、ＳＮＭＰ（Ｓｉｍｐｌｅ  Ｎｅｔｗｏｒｋ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ）  ＭＩＢ（Ｍａｎａｇｅｍｅｎｔ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｂａｓｅ）−IIのパブリックエリアおよびプライベートエリアが設けられている。また、ネットワーク通信部は、ネットワーク５０上のＰＣから印刷ジョブを受信する。
【００５２】
制御部は、印刷部２６への印刷ジョブの提供を制御する。制御部は、印刷部２６が印刷処理中でなければ印刷ジョブ記憶部から印刷ジョブを読み出して印刷部２６に送信する一方で、印刷処理中であれば印刷ジョブを印刷ジョブ記憶部に記憶させる。ネットワーク通信部および制御部の機能は、対応するプログラムをＣＰＵ２１が実行することにより発揮される。
【００５３】
なお、ＰＣ１０およびプリンタ２０Ａ〜２０Ｅは、上記の構成要素以外の構成要素を含んでいてもよく、あるいは、上記の構成要素のうちの一部が含まれていなくてもよい。
【００５４】
次に、図５〜図７を参照して、ＰＣ１０の動作について説明する。
【００５５】
図５は、図１に示されるＰＣにより実行される印刷指示処理の手順を示すフローチャートである。なお、図５のフローチャートにより示されるアルゴリズムは、ＰＣ１０のハードディスク１４にプログラムとして記憶されており、ＣＰＵ１１によって実行される。
【００５６】
印刷指示処理では、まず、接続先のプリンタが選択される（ステップＳ１０１）。本実施形態では、まず、ネットワーク上に存在するプリンタが検索され、ネットワーク上のプリンタの情報がディスプレイ１５に一覧表示される。そして、ユーザの操作により、一覧表示されるプリンタのうちの１つのプリンタが、出力先のプリンタとして選択される。
【００５７】
続いて、デバイス情報が取得される（ステップＳ１０２）。本実施形態では、ステップＳ１０１に示す処理で選択されたプリンタとの通信が行われ、当該プリンタから機種名情報および製造者情報がデバイス情報として取得される。
【００５８】
続いて、デバイス情報データベース２００が参照される（ステップＳ１０３）。本実施形態では、ステップＳ１０１に示す処理で選択されたプリンタがサポートするＰＤＬのプロトコルクラスを認識するために、デバイス情報データベース２００が参照される。
【００５９】
図６は、デバイス情報データベースの一例を示す図である。デバイス情報データベース２００は、機種名情報、製造者情報、およびプロトコルクラス情報を含む。機種名情報、製造者情報、およびプロトコルクラス情報は、互いに関連付けられている。デバイス情報データベース２００が参照されることにより、プリンタの機種名情報や製造者情報から、プリンタがサポートするＰＤＬのプロトコルクラスが認識される。
【００６０】
続いて、該当する機種名情報がデバイス情報データベース２００に存在するか否かが判断される（ステップＳ１０４）。本実施形態では、ステップＳ１０２に示す処理で取得された機種名情報がデバイス情報データベース２００に存在するか否かが判断される。
【００６１】
該当する機種名情報がデバイス情報データベース２００に存在すると判断される場合（ステップＳ１０４：ＹＥＳ）、ステップＳ１０７の処理に移行する。
【００６２】
一方、該当する機種名情報がデバイス情報データベース２００に存在しないと判断される場合（ステップＳ１０４：ＮＯ）、該当する製造者情報がデバイス情報データベース２００に存在するか否かが判断される（ステップＳ１０５）。本実施形態では、ステップＳ１０２に示す処理で取得された製造者情報がデバイス情報データベース２００に存在するか否かが判断される。
【００６３】
該当する製造者情報がデバイス情報データベース２００に存在しないと判断される場合（ステップＳ１０５：ＮＯ）、使用するチャイルドドライバが、最も低いプロトコルクラスに対応するチャイルドドライバに切り替えられる（ステップＳ１０６）。本実施形態では、デバイス情報データベース２００に機種名情報または製造者情報が存在せず、プリンタがサポートするＰＤＬのプロトコルクラスが不明であるとして、最も低いプロトコルクラスに対応する汎用チャイルドドライバに、使用するチャイルドドライバが切り替えられる。たとえば、ネットワーク上に存在する機種名「モデル４」および製造者「Ｄ社」のプリンタが出力先として選択された場合、図６に示すデバイス情報データベース２００には「モデル４」または「Ｄ社」が存在しないため、最も低いプロトコルクラス「１．１」に対応する汎用チャイルドドライバに、使用するチャイルドドライバが切り替えられる。
【００６４】
一方、ステップＳ１０５に示す処理で該当する製造者情報がデバイス情報データベース２００に存在すると判断される場合（ステップＳ１０５：ＹＥＳ）、または、ステップＳ１０４に示す処理で該当する機種名情報がデバイス情報データベース２００に存在すると判断される場合（ステップＳ１０４：ＹＥＳ）、使用するチャイルドドライバが、適合するチャイルドドライバに切り替えられる（ステップＳ１０７）。本実施形態では、まず、デバイス情報データベース２００において、ステップＳ１０２に示す処理で取得されたデバイス情報に関連付けられているプロトコルクラスが認識される。そして、認識されたプロトコルクラスに適合するチャイルドドライバに、使用するチャイルドドライバが切り替えられる。
【００６５】
具体的には、ステップＳ１０４に示す処理で機種名情報がデバイス情報データベース２００に存在すると判断された場合、まず、デバイス情報データベース２００において、機種名情報と関連付けられているプロトコルクラスが認識される。そして、認識されたプロトコルクラスに適合するチャイルドドライバに、使用するチャイルドドライバが切り替えられる。たとえば、ネットワーク上に存在する機種名「モデル１」および製造者「Ａ社」のプリンタが出力先として選択された場合、まず、デバイス情報データベース２００が参照され、機種名「モデル１」に関連付けられているプロトコルクラス「３．０」が認識される。そして、プロトコルクラス「３．０」に対応するチャイルドドライバに、使用するチャイルドドライバが切り替えられる。より具体的には、「モデル１」用の機種別チャイルドドライバが存在する場合には、使用するチャイルドドライバが「モデル１」用の機種別チャイルドドライバに切り替えられる。一方、「モデル１」用の機種別チャイルドドライバが存在しない場合には、プロトコルクラス「３．０」に対応する汎用チャイルドドライバに、使用するチャイルドドライバが切り替えられる。
【００６６】
また、ステップＳ１０５に示す処理で製造者情報がデバイス情報データベース２００に存在すると判断された場合、まず、デバイス情報データベース２００において、製造者情報と関連付けられているプロトコルクラスが認識される。そして、認識されたプロトコルクラスに適合するチャイルドドライバに、使用するチャイルドドライバが切り替えられる。たとえば、ネットワーク上に存在する機種名「モデル３」および製造者「Ｃ社」のプリンタが出力先として選択された場合、まず、デバイス情報データベース２００が参照され、製造者「Ｃ社」に関連付けられているプロトコルクラス「２．０」が認識される。そして、プロトコルクラス「２．０」に対応する汎用チャイルドドライバに、使用するチャイルドドライバが切り替えられる。このような構成によれば、特定の製造者により製造された複数機種のプリンタがすべて同一のプロトコルクラスをサポートしている場合に対応することができる。
【００６７】
なお、ステップＳ１０５に示す処理は省略されてもよく、ステップＳ１０４に示す処理で機種名情報がデバイス情報データベース２００に存在しないと判断される場合（ステップＳ１０４：ＮＯ）、直ちにステップＳ１０６の処理に移行してもよい。
【００６８】
以上のとおり、図５に示されるフローチャートの処理によれば、出力先として選択されたプリンタのデバイス情報に基づいて、当該プリンタがサポートするＰＤＬのプロトコルクラスが認識される。そして、認識されたプロトコルクラスに適合するチャイルドドライバに、使用するチャイルドドライバが切り替えられる。
【００６９】
図７は、チャイルドドライバが切り替えられたプリンタドライバのバージョン情報確認画面を示す図である。
【００７０】
図７（Ａ）は、使用するチャイルドドライバがプロトコルクラス「２．０」に対応するチャイルドドライバに切り替えられた場合のバージョン情報確認画面を示す図であり、図７（Ｂ）は、使用するチャイルドドライバがプロトコルクラス「１．１」に対応するチャイルドドライバに切り替えられた場合のバージョン情報確認画面を示す図である。
【００７１】
たとえば、ネットワーク上の複数のプリンタのうち、「Ｃ社」のプリンタに対して印刷の実行を指示する場合、図６に示すデバイス情報データベース２００が参照され、プロトコルクラス「２．０」に対応するチャイルドドライバに、使用するチャイルドドライバが切り替えられる。また、ネットワーク上の複数のプリンタのうち、「Ｄ社」のプリンタに対して印刷の実行を指示する場合、図６に示すデバイス情報データベース２００が参照され、プロトコルクラス「１．１」に対応するチャイルドドライバに、使用するチャイルドドライバが切り替えられる。
【００７２】
そして、切り替えられたチャイルドドライバを使用して、当該チャイルドドライバが対応するプロトコルクラスのＰＤＬで印刷データが生成される。印刷データは、印刷ジョブとしてプリンタに送信される。
【００７３】
以上のとおり、本実施形態によれば、プリンタに関連付けられたＰＤＬのプロトコルクラスが認識され、認識されたプロトコルクラスに対応するチャイルドドライバを使用して印刷データが生成されるため、プリンタがサポートするＰＤＬのプロトコルクラスと一致するプロトコルクラスのＰＤＬで印刷データが生成される。したがって、ネットワーク上の１つのプリンタを指定して印刷の実行を指示する際、プリンタがサポートするＰＤＬのプロトコルクラスと印刷データを記述するＰＤＬのプロトコルクラスとの不一致に起因して印刷エラーが生じることが防止される。また、プリンタがサポートするＰＤＬのプロトコルクラスに応じた印刷設定画面が提供されるため、プリンタがサポートするプロトコルクラスに応じた機能を使用することが可能になる。
【００７４】
また、本実施形態によれば、プリンタのデバイス情報がデバイス情報データベース２００に存在しない場合、プロトコルクラスの最も低いＰＤＬに対応する汎用チャイルドドライバが使用される。プロトコルクラスの高いＰＤＬは、プロトコルクラスの低いＰＤＬの機能をサポートしているため、プロトコルクラスの最も低いＰＤＬに対応するチャイルドドライバを使用して印刷データを生成することにより、プリンタが印刷データの一部を解釈できずに印刷エラーが生じることが防止される。
【００７５】
また、本実施形態によれば、デバイス情報とプロトコルクラスとが関連付けられたデバイス情報データベース２００を参照して、プリンタがサポートするＰＤＬのプロトコルクラスが認識されるため、ＰＤＬのプロトコルクラス情報をプリンタから直接取得することなく、プリンタの機種名情報や製造者情報を取得することにより、プリンタがサポートするＰＤＬのプロトコルクラスを認識することが可能になる。したがって、プリンタからＰＤＬのプロトコルクラス情報を取得することができないプリンタについても、印刷データを記述するＰＤＬのプロトコルクラスとプリンタがサポートしているＰＤＬのプロトコルクラスとを一致させることが可能になる。
【００７６】
なお、プリンタのＭＩＢの「ｐｒｔＩｎｔｅｒｐｒｅｔｅｒＬａｎｇＦａｍｉｌｙ」から、プリンタがサポートするＰＤＬの種類（ＰＳ、ＰＣＬ等）を認識することができるが、ＰＣＬ  ＸＬのプロトコルクラスのような詳細なバージョン情報を取得することはできない。ＭＩＢには「ｐｒｔＩｎｔｅｒｐｒｅｔｅｒＬａｎｇＬｅｖｅｌ」や「ｐｒｔＩｎｔｅｒｐｒｅｔｅｒＬａｎｇＶｅｒｓｉｏｎ」のようにＰＤＬのレベルやバージョンを示すオブジェクトも用意されているが、製造者間で解釈に違いがあるため、プロトコルクラスを認識するために用いることはできない。
【００７７】
（第２の実施形態）
次に、図８〜図１２を参照して、本発明の第２の実施形態について説明する。本実施形態は、デバイス情報データベースがネットワーク上のサーバ装置に記憶されている実施形態である。
【００７８】
図８は、本発明の第２の実施形態に係る印刷システムの全体構成を示すブロック図である。
【００７９】
本実施形態の印刷システムは、クライアントＰＣ１０と、プリンタ２０Ａ，２０Ｂ，２０Ｃ，２０Ｄ，２０Ｅと、サーバ３０とを備える。ＰＣ１０、プリンタ２０Ａ〜２０Ｅ、およびサーバ３０は、ネットワーク５０を介して相互に通信可能に接続されている。なお、ネットワーク５０にサーバ３０が接続されている点を除いては、本実施形態に係る印刷システムの構成は、第１の実施形態に係る印刷システムの構成と同様であるため、説明を省略する。
【００８０】
図９は、図８に示されるサーバの構成を示すブロック図であり、図１０は、図９に示されるハードディスクの内容を示すブロック図である。
【００８１】
サーバ３０は、ＣＰＵ３１、ＲＯＭ３２、ＲＡＭ３３、ハードディスク３４、ディスプレイ３５、入力装置３６、および通信インタフェース３７を含み、これらは信号をやり取りするためのバス３８を介して相互に接続されている。なお、サーバ３０の上記各部は、ＰＣ１０の上記各部と同様であるため、説明を省略する。
【００８２】
ハードディスク３４には、デバイス情報データベース２００が記憶されている。
【００８３】
図１１は、本実施形態に係るプリンタドライバの機能を示すブロック図である。
【００８４】
プリンタドライバ１００は、共通機能部１１０、個別機能部１２０ａ〜１２０ｆ、およびプリンタ切替部１３０を有している。なお、データベース記憶部を備えていない点を除いては、本実施形態に係るプリンタドライバの構成は、第１の実施形態に係るプリンタドライバの構成と同様であるため、説明を省略する。
【００８５】
図１２は、図８に示されるＰＣにより実行される印刷指示処理の手順を示すフローチャートである。
【００８６】
ステップＳ２０１〜Ｓ２０２に示す処理は、図５のステップＳ１０１〜Ｓ１０２に示す処理と同様であるため、説明を省略する。
【００８７】
ステップＳ２０３では、サーバ３０との通信が開始される。本実施形態では、サーバ３０に格納されているデバイス情報データベース２００を参照するために、サーバ３０との通信が開始される。
【００８８】
続いて、サーバ３０からの応答があるか否かが判断される（ステップＳ２０４）。サーバ３０からの応答があると判断される場合（ステップＳ２０４：ＹＥＳ）、ステップＳ２０５の処理に移行する。一方、サーバ３０からの応答がないと判断される場合（ステップＳ２０４：ＮＯ）、ステップＳ２０８の処理に移行する。
【００８９】
ステップＳ２０５〜Ｓ２０９に示す処理は、図５のステップＳ１０３〜Ｓ１０７に示す処理と同様であるため、説明を省略する。
【００９０】
以上のとおり、本実施形態によれば、ネットワーク上のサーバ３０にデバイス情報データベース２００が格納されるため、ネットワーク５０上の複数のＰＣによってデバイス情報データベース２００が共有される。したがって、デバイス情報データベース２００の情報を更新する必要が生じた場合、サーバ３０に格納されているデバイス情報データベース２００のみを更新すれば、更新内容をネットワーク５０上の複数のＰＣに反映させることが可能になる。
【００９１】
本発明は、上述した実施形態のみに限定されるものではなく、特許請求の範囲内において、種々改変することができる。
【００９２】
たとえば、上述した実施形態では、プリンタドライバに、プロトコルクラス別の汎用チャイルドドライバが複数用意され、プリンタがサポートするＰＤＬのプロトコルクラスに応じて、汎用チャイルドドライバが切り替えられた。しかしながら、プリンタドライバに、プロトコルクラス別の複数のサブモジュールを備える１つの汎用チャイルドドライバのみが用意され、プリンタがサポートするＰＤＬのプロトコルクラスに応じて、汎用チャイルドドライバで使用されるサブモジュールが切り替えられてもよい。
【００９３】
また、上述した実施形態では、プリンタのデバイス情報がデバイス情報データベース２００に存在しない場合、プリンタドライバ１００に用意されている複数の汎用チャイルドドライバのうち最も低いプロトコルクラス（プロトコルクラス「１．１」）のＰＤＬに対応する１つの汎用チャイルドドライバが使用された。しかしながら、使用される汎用チャイルドドライバは、プリンタドライバ１００に用意されている複数の汎用チャイルドドライバのうち最も低いプロトコルクラスのＰＤＬに対応する汎用チャイルドドライバではなく、デバイス情報データベース２００に記述されているプロトコルクラスのうち、最も低いプロトコルクラス（図６では、プロトコルクラス「２．０」）のＰＤＬに対応する汎用チャイルドドライバであってもよい。
【００９４】
本実施形態にかかる印刷指示装置における各種処理を行う手段および方法は、専用のハードウエア回路、またはプログラムされたコンピュータのいずれによっても実現することが可能である。上記プログラムは、たとえば、フレキシブルディスクおよびＣＤ−ＲＯＭ等のコンピュータ読み取り可能な記録媒体によって提供されてもよいし、インターネット等のネットワークを介してオンラインで提供されてもよい。この場合、コンピュータ読み取り可能な記録媒体に記録されたプログラムは、通常、ハードディスク等の記憶部に転送され記憶される。また、上記プログラムは、単独のアプリケーションソフトとして提供されてもよいし、印刷指示装置の一機能としてその装置のソフトウエアに組み込まれてもよい。
【符号の説明】
【００９５】
１０  ＰＣ、
１１，２１，３１  ＣＰＵ、
１２，２２，３２  ＲＯＭ、
１３，２３，３３  ＲＡＭ、
１４，２４，３４  ハードディスク、
１５，３５  ディスプレイ、
１６，３６  入力装置、
１７，２８，３７  通信インタフェース、
１８，２９，３８  バス、
２０Ａ〜２０Ｅ  プリンタ、
２５  操作パネル、
２６  印刷部、
２７  後処理部、
３０  サーバ、
５０  ネットワーク、
１００  プリンタドライバ、
２００  デバイス情報データベース。
【図１】
2012168807.tif 000003
【図２】
2012168807.tif 000004
【図３】
2012168807.tif 000005
【図４】
2012168807.tif 000006
【図５】
2012168807.tif 000007
【図６】
2012168807.tif 000008
【図７】
2012168807.tif 000009
【図８】
2012168807.tif 000010
【図９】
2012168807.tif 000011
【図１０】
2012168807.tif 000012
【図１１】
2012168807.tif 000013
【図１２】
2012168807.tif 000014