(57)【特許請求の範囲】
【請求項１】
印刷データの印刷を制御する制御部から、前記制御部に接続されている画像形成装置を識別する識別情報と前記画像形成装置の機種を示す機種情報とを取得し、前記識別情報と前記機種情報と前記制御部を識別する制御部識別情報と対応付けて記憶装置に記憶する記憶手段と、
印刷データを印刷する画像形成装置の設定項目及び前記設定項目の値を示す印刷設定情報が追記可能な形式のジョブ情報を生成するアプリケーション部からの要求に応答して前記印刷データと前記画像形成装置の識別情報とを送信するインタフェース部から、前記印刷データと前記識別情報とを受信する受信手段と、
前記受信手段で受信された前記識別情報に対応付けられている制御部識別情報を前記記憶装置から読み出し、前記制御部識別情報により識別される制御部を前記印刷データの印刷を制御する制御部として特定する特定手段と、
を有することを特徴とする情報処理装置。
【請求項２】
前記制御部は、当該情報処理装置に設けられ、
前記印刷データのパスの情報を前記制御部に通知する通知手段を更に有することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記制御部は、当該情報処理装置とは異なる他の情報処理装置に設けられ、
前記印刷データを前記制御部に送信する送信手段を更に有することを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記インタフェース部は、当該情報処理装置とは異なる他の情報処理装置に設けられていることを特徴とする請求項１乃至３の何れか１項に記載の情報処理装置。
【請求項５】
前記ジョブ情報は、前記印刷データを参照する情報を含んで構成されていることを特徴とする請求項１乃至４の何れか１項に記載の情報処理装置。
【請求項６】
印刷データの印刷を制御する制御部から、前記制御部に接続されている画像形成装置を識別する識別情報と前記画像形成装置の機種を示す機種情報とを取得し、前記識別情報と前記機種情報と前記制御部を識別する制御部識別情報と対応付けて記憶装置に記憶する記憶工程と、
印刷データを印刷する画像形成装置の設定項目及び前記設定項目の値を示す印刷設定情報が追記可能な形式のジョブ情報を生成するアプリケーション部からの要求に応答して前記印刷データと前記画像形成装置の識別情報とを送信するインタフェース部から、前記印刷データと前記識別情報とを受信する受信工程と、
前記受信工程で受信された前記識別情報に対応付けられている制御部識別情報を前記記憶装置から読み出し、前記制御部識別情報により識別される制御部を前記印刷データの印刷を制御する制御部として特定する特定工程と、
を有することを特徴とする印刷制御方法。
【請求項７】
コンピュータを、
印刷データの印刷を制御する制御部から、前記制御部に接続されている画像形成装置を識別する識別情報と前記画像形成装置の機種を示す機種情報とを取得し、前記識別情報と前記機種情報と前記制御部を識別する制御部識別情報と対応付けて記憶装置に記憶する記憶手段と、
印刷データを印刷する画像形成装置の設定項目及び前記設定項目の値を示す印刷設定情報が追記可能な形式のジョブ情報を生成するアプリケーション部からの要求に応答して前記印刷データと前記画像形成装置の識別情報とを送信するインタフェース部から、前記印刷データと前記識別情報とを受信する受信手段と、
前記受信手段で受信された前記識別情報に対応付けられている制御部識別情報を前記記憶装置から読み出し、前記制御部識別情報により識別される制御部を前記印刷データの印刷を制御する制御部として特定する特定手段と、
して機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、印刷制御方法、及びプログラムに関する。
【背景技術】
【０００２】
通常、クライアントアプリケーションは、プリンタに印刷の指示を行う場合は、プリンタの種別に対応したプリンタドライバを指定し、印刷に係る情報を設定して印刷を指示する。この場合、プリンタの種別が異なってもクライアントアプリケーションの処理は同一である。
他方、プリンタドライバで提供されるＵＩ（ユーザインタフェース）を利用せずに独自のＵＩで印刷を行うクライアントアプリケーションでは、プリンタの種別毎に処理の実装が必要となる。この場合、プリンタの種別毎に提供されるプリンタドライバのＳＤＫ（Software Development Kit）やプリンタドライバを使用しない接続用ＳＤＫを使用してプリンタ毎に処理が行われる。このため、新規のプリンタに対応するためには、プログラムの修正が必要となる。
【０００３】
また、クライアントアプリケーションが複数種類のプリンタを使用する場合、各プリンタで処理可能な形式にデータを変換するプリンタドライバやＳＤＫが動作するＰＣに負荷がかかるが、負荷を分散する手段が提供されていない。
ここで、個々のプリンタの種別の差異を吸収する方法として、共通のプリンタ制御命令を、各プリンタの特性情報を参照して固有の制御命令に変換する方法が開示されている（特許文献１参照）。また、プリンタの機能を細分化して部品化し、この部品の組み合わせとして印刷データを作成する方法が開示されている（特許文献２参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平５−２７４０９５号公報
【特許文献２】特開平８−１２３６３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述の特許文献で開示されている方法では、既存のプリンタにはなかった新規の機能を具備したプリンタを使用する場合、新規の機能に対応した制御命令の処理手順を構成に追加する必要がある。
また、上述の特許文献で開示されている方法では、プリンタの機能を生かした印刷を行うためには、プリンタでサポートされる機能を選択的に取り込んだ印刷データを準備する必要がある。また、上述の特許文献で開示されている方法では、新規のプリンタに対応する場合、印刷制御装置全体の修正が必要となる。
【０００６】
本発明はこのような問題点に鑑みなされたもので、新規のプリンタでの印刷をより容易に行うことを目的とする。
【課題を解決するための手段】
【０００７】
そこで、本発明に係る情報処理装置は、印刷データの印刷を制御する制御部から、前記制御部に接続されている画像形成装置を識別する識別情報と前記画像形成装置の機種を示す機種情報とを取得し、前記識別情報と前記機種情報と前記制御部を識別する制御部識別情報と対応付けて記憶装置に記憶する記憶手段と、印刷データを印刷する画像形成装置の設定項目及び前記設定項目の値を示す印刷設定情報が追記可能な形式のジョブ情報を生成するアプリケーション部からの要求に応答して前記印刷データと前記画像形成装置の識別情報とを送信するインタフェース部から、前記印刷データと前記識別情報とを受信する受信手段と、前記受信手段で受信された前記識別情報に対応付けられている制御部識別情報を前記記憶装置から読み出し、前記制御部識別情報により識別される制御部を前記印刷データの印刷を制御する制御部として特定する特定手段と、を有することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、新規のプリンタでの印刷をより容易に行うことができる。
【図面の簡単な説明】
【０００９】
【図１】印刷制御システムの構成の一例を示す図である。
【図２】ＰＣのハードウェア構成の一例を示す図である。
【図３】画面、及び画面で設定される値を保持するファイルの一例を示す図である。
【図４】画面、及び画面で設定される値を保持するファイルの一例を示す図である。
【図５】画面、及び画面で設定される値を保持するファイルの一例を示す図である。
【図６】検索登録処理に係るフローチャートの一例を示す図である。
【図７】画面の一例を示す図である。
【図８】検索結果の一例を示す図である。
【図９】画面の一例を示す図である。
【図１０】印刷装置管理テーブルの一例を示す図である。
【図１１】印刷装置制御モジュール管理テーブルの一例を示す図である。
【図１２】印刷装置管理テーブルの一例を示す図である。
【図１３】画面の一例を示す図である。
【図１４】ステータス情報、及びこの情報の取得に用いるパスの一例を示す図である。
【図１５】ステータスパス管理テーブルの一例を示す図である。
【図１６】ステータスパス管理テーブルの一例を示す図である。
【図１７】印刷処理に係るフローチャートの一例を示す図である。
【図１８】チケットの一例を示す図である。
【図１９】チケットの一例を示す図である。
【図２０】パス、及びパスをもとに取得されるデータの一例を示す図である。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態について図面に基づいて説明する。なお、実施形態は、本発明を限定するものではなく、また、実施形態で説明されている全ての構成が本発明の課題を解決するための手段に必須であるとは限らない。
【００１１】
＜印刷制御システムの構成＞
図１は、本実施形態に係る印刷制御システムの構成の一例を示す図である。本印刷制御システムは、情報処理装置（コンピュータ）の一例であるＰＣ１（１０１）、ＰＣ２（１０２）、ＰＣ３（１０３）、及びＰＣ４（１０４）を含んで構成される。
ＰＣ１（１０１）は、アプリケーション部の一例であるクライアントアプリ１０５が動作するＰＣである。クライアントアプリ１０５は、印刷制御システムを構成するインタフェースモジュール１０６で提供されるＡＰＩ（Application Programming Interface）を介して印刷制御システムを利用する。
【００１２】
ＰＣ２（１０２）は、管理部の一例である印刷装置管理モジュール１０７が動作するＰＣである。印刷装置管理モジュール１０７は、インタフェース部の一例であるインタフェースモジュール１０６を介して送信されるクライアントアプリ１０５からの要求に応答して該要求を処理する。
また、印刷装置管理モジュール１０７は、要求とともに指定される印刷装置に対応する制御部の一例である印刷装置制御モジュール（１０８、１１０）に要求を転送する。また、印刷装置管理モジュール１０７は、印刷装置（１０９、１１１）で発生したイベントの情報を、印刷装置制御モジュール（１０８、１１０）及びインタフェースモジュール１０６を介してクライアントアプリ１０５に送信する。
【００１３】
このようなことから、印刷装置管理モジュール１０７は、クライアントアプリ１０５、クライアントアプリ１０５が使用する印刷装置、及び印刷装置を制御する印刷装置制御モジュールの対応関係を示す情報を管理する。
また、印刷装置管理モジュール１０７は、クライアントアプリ１０５がＡＰＩにより設定する印刷装置におけるステータスの変化を通知する対象を指定する指定情報と指定情報の設定を行ったクライアントアプリ１０５との対応関係を示す情報を管理する。
ここで、印刷装置管理モジュール１０７と印刷装置制御モジュール（１０８、１１０）との間の通信は、印刷装置制御モジュールの種類によらず共通化されている。故に、新規の印刷装置に対応する印刷装置制御モジュールをプラグイン形式で追加することで、新規の印刷装置のサポートが可能となる。
【００１４】
ＰＣ３（１０３）は、印刷装置制御モジュールＡ１０８が動作するＰＣであり、ＰＣ４（１０４）は、印刷装置制御モジュールＢ１１０が動作するＰＣである。
印刷装置制御モジュールＡ１０８及び印刷装置制御モジュールＢ１１０は、印刷装置管理モジュール１０７から送信された要求を処理する。印刷装置制御モジュールＡ１０８は、印刷装置Ａ１０９を制御して印刷の実行や印刷装置Ａ１０９の設定情報を変更する処理などを行う。印刷装置制御モジュールＢ１１０は、印刷装置Ｂ１１１を制御して印刷の実行や印刷装置Ｂ１１１の設定情報を変更する処理などを行う。
【００１５】
印刷装置Ａ１０９は、印刷装置制御モジュールＡ１０８に印刷装置Ａ１０９のステータスの変化を通知する。印刷装置Ｂ１１１は、印刷装置制御モジュールＢ１１０に印刷装置Ｂ１１１のステータスの変化を通知する。
このようなことから、印刷装置制御モジュール（１０８、１１０）は、クライアントアプリ１０５がＡＰＩにより設定する印刷装置（１０９、１１１）におけるステータスの変化を通知する対象を指定する指定情報を管理する。
ここで、印刷装置Ａ１０９及び印刷装置Ｂ１１１は、画像形成装置の一例であり、それぞれ異なるタイプ（種別）の画像形成装置である。より具体的には、印刷装置Ａ１０９及び印刷装置Ｂ１１１は、それぞれ異なるタイプのＳＦＰ（Single Function Printer）、ＭＦＰ（Multi Function Printer）などである。
【００１６】
環境設定アプリ１１２は、印刷制御システムの環境に係る情報を設定する。より具体的には、環境設定アプリ１１２は、起動されたＰＣで動作するモジュールの動作パラメータ（動作設定情報）、及び該モジュールと接続する他のモジュールとの通信に係る情報（接続設定情報）を設定する。なお、環境設定アプリ１１２は、ＰＣ１（１０１）、ＰＣ２（１０２）、ＰＣ３（１０３）、及びＰＣ４（１０４）で動作させることができる。
次に、印刷制御システムを構成する各モジュールの起動について順次説明するが、インタフェースモジュール１０６以外は、任意の順序で起動することができる。
【００１７】
＜印刷装置管理モジュールの起動＞
印刷装置管理モジュール１０７は、ＰＣ２（１０２）で動作するＯＳ（Operation System）に常駐するプロセスとして実装される。換言するならば、印刷装置管理モジュール１０７は、ＯＳ上のサービスとして実装される。
図２は、ＰＣ２（１０２）のハードウェア構成の一例を示す図である。ＰＣ２（１０２）は、ＣＰＵ２０１、ＲＡＭ２０２、ＲＯＭ２０３、ネットワークＩ／Ｆ２０４、バス２０５、ＶＲＡＭ２０６、入力装置Ｉ／Ｆ２０８、ハードディスク２１０、及び光学ドライブ２１１を有する。各ユニットは、バス２０５を介して通信可能に接続されている。
【００１８】
ＣＰＵ２０１は、ＲＡＭ２０２に読み込まれている制御プログラムに従って、ＰＣ２（１０２）全体の制御を行う。ＲＡＭ２０２は、各種のデータを一時記憶する。ＲＯＭ２０３は、各種のデータを記憶（保持）する。ネットワークＩ／Ｆ２０４は、ＰＣ１（１０１）、ＰＣ３（１０３）、ＰＣ４（１０４）等の他のＰＣとネットワークを介して印刷データや要求を送受信する。
ＶＲＡＭ２０６は、液晶ディスプレイなどの表示装置２０７に表示される各種の情報を保持する。入力装置Ｉ／Ｆ２０８は、マウス、キーボードなどの入力装置２０９と接続され、入力装置ドライバなどを介して利用者からの入力を処理する。
【００１９】
ハードディスク２１０は、印刷装置管理モジュール１０７のプログラムを記憶し、テーブル、印刷データなどの各種のデータを記憶する。光学ドライブ２１１は、ＤＶＤなどのメディアを読み込み、ＰＣ２（１０２）にインストールする印刷装置管理モジュール１０７のプログラム等のデータをメディアから読出すと共に、ＤＶＤに各種のデータを格納（バックアップ）する。
ここで、印刷装置管理モジュール１０７（サービス）は、ＰＣ２（１０２）の起動時に自動的に起動される。より具体的には、ＰＣ２（１０２）が起動すると、ハードディスク２１０から印刷装置管理モジュール１０７のプログラムがＲＡＭ２０２に読み込まれ、ＣＰＵ２０１で解釈されて実行されることにより印刷装置管理モジュール１０７が起動される。そして、印刷装置管理モジュール１０７は、障害が発生したときや明示的に終了操作が行われない限り常駐して動作する。
なお、ＰＣ１（１０１）、ＰＣ３（１０３）、及びＰＣ４（１０４）のハードウェア構成は、ＰＣ２（１０２）の構成と同様である。
【００２０】
＜印刷装置制御モジュールの起動＞
印刷装置制御モジュールＡ１０８及び印刷装置制御モジュールＢ１１０は、印刷装置管理モジュール１０７と同様に、それぞれＰＣ３（１０３）、ＰＣ４（１０４）上のサービスとして実装される。また、印刷装置制御モジュールＡ１０８及び印刷装置制御モジュールＢ１１０は、それぞれＰＣ３（１０３）、ＰＣ４（１０４）の起動時に自動的に起動される。
以下では、印刷装置制御モジュールＡ１０８の起動の詳細について説明する。なお、印刷装置制御モジュールＢ１１０についても同様である。
【００２１】
印刷装置制御モジュールＡ１０８（サービス）は、ＰＣ３（１０３）の起動時に自動的に起動される。より具体的には、ＰＣ３（１０３）が起動すると、ハードディスク２１０から印刷装置制御モジュールＡ１０８のプログラムがＲＡＭ２０２に読み込まれ、ＣＰＵ２０１で解釈されて実行されることにより印刷装置制御モジュールＡ１０８が起動される。そして、印刷装置制御モジュールＡ１０８は、障害が発生したときや明示的に終了操作が行われない限り常駐して動作する。
また、印刷装置制御モジュールＡ１０８は、後述の接続設定情報に従って印刷装置管理モジュール１０７との接続を確立する。印刷装置制御モジュールＡ１０８は、起動時に、印刷装置管理モジュール１０７が起動していない場合は、既定の時間間隔、及び既定の回数の双方あるいは一方を条件に印刷装置管理モジュール１０７への接続を試みる。このとき、印刷装置制御モジュールＡ１０８は、印刷装置管理モジュール１０７への接続を試みて失敗した場合、エラーメッセージを表示して起動に係る処理を終了する。
【００２２】
＜モジュールの設定情報＞
印刷制御システムを構成する各モジュールについては、利用前に各モジュールの動作設定情報が設定され、他のモジュールとの接続設定情報が設定されている必要がある。各モジュールの動作設定情報、及びモジュール間の接続設定情報は、環境設定アプリ１１２を介して設定される。
インタフェースモジュール１０６に関する設定情報は、以下のように設定される。まず、印刷制御システムの利用者は、環境設定アプリ１１２をインタフェースモジュール１０６が動作するＰＣ１（１０１）で起動する。
【００２３】
図３に示すように、インタフェースモジュール１０６の設定情報としては、ログを出力する際に用いるログ設定情報がある。ログ設定情報の設定項目としては、ログレベル、ログフォルダがある。ここでは、ログレベルを「ＷＡＲＮ」、ログフォルダを「ＴＥＭＰ」に設定するものとする。また、インタフェースモジュール１０６の設定情報としては、インタフェースモジュール１０６が接続する印刷装置管理モジュール１０７との接続設定情報があり、接続設定情報の設定項目として、接続先のアドレス、ポートがある。
ここで、利用者は、環境設定アプリ１１２により提供されるユーザインタフェースを介して、ログレベル、ログフォルダ、接続先の印刷装置管理モジュール１０７のアドレス、ポートの値を指定する。
【００２４】
図３（ａ）は、環境設定アプリ１１２により提供されるユーザインタフェース（画面）の一例を示す図である。図３（ａ）の画面で各種の設定項目の値を指定して設定ボタンを押下するユーザ操作（利用者による入力装置２０９の操作）が行われると、指定された内容は、ＰＣ１（１０１）のハードディスク２１０に、例えば図３（ｂ）に示すＸＭＬファイルとして保存される。本実施形態では、ＰＣ１（１０１）でインタフェースモジュール１０６が起動されるときに、ＸＭＬファイルがハードディスク２１０から読み込まれて設定情報が反映される。
ここで、図３（ｂ）のＸＭＬファイルでは、ログ設定情報は、Ｌｏｇタグ内のＬｅｖｅｌタグ及びＦｏｌｄｅｒタグの値として設けられる。また、印刷装置管理モジュール１０７との接続設定情報は、Ｃｏｎｎｅｃｔｉｏｎタグ中のＡｄｄｒｅｓｓタグ及びＰｏｒｔタグの値として設けられる。
【００２５】
図４に示すように、印刷装置管理モジュール１０７の設定情報としては、ログ設定情報がある。ログ設定情報の設定項目としては、ログレベル、ログフォルダがある。ここでは、ログレベルを「ＷＡＲＮ」、ログフォルダを「ＴＥＭＰ」に設定するものとする。
また、印刷装置管理モジュール１０７の設定情報としては、印刷装置管理モジュール１０７が接続する他のモジュールとの接続設定情報があり、接続設定情報の設定項目として、接続先のアドレス、ポートがある。なお、印刷装置管理モジュール１０７は、インタフェースモジュール１０６、印刷装置制御モジュールＡ１０８、及び印刷装置制御モジュールＢ１１０と接続し、各種の情報を送受信する。
【００２６】
ここで、利用者は、環境設定アプリ１１２により提供されるユーザインタフェースを介して、ログレベル、ログフォルダ、接続先のモジュールのアドレス、及びポートの値を指定する。
図４（ａ）は、環境設定アプリ１１２により提供されるユーザインタフェース（画面）の一例を示す図である。図４（ａ）の画面で各種の設定項目の値を指定して設定ボタンを押下するユーザ操作が行われると、指定された内容は、ＰＣ２（１０２）のハードディスク２１０に、例えば図４（ｂ）に示すＸＭＬファイルとして保存される。本実施形態では、ＰＣ２（１０２）で印刷装置管理モジュール１０７が起動されるときに、ＸＭＬファイルがハードディスク２１０から読み込まれて設定情報が反映される。
【００２７】
ここで、図４（ｂ）のＸＭＬファイルでは、ログ設定情報は、Ｌｏｇタグ内のＬｅｖｅｌタグ及びＦｏｌｄｅｒタグの値として設けられる。
また、インタフェースモジュール１０６との接続設定情報は、ＩＦＭｏｄｕｌｅタグ中のＡｄｄｒｅｓｓタグ及びＰｏｒｔタグの値として設けられる。印刷装置制御モジュールＡ１０８との接続設定情報は、ｉｄ属性の値が「Ａ」であるＣｏｎｔｒｏｌＭｏｄｕｌｅタグ中のＡｄｄｒｅｓｓタグ及びＰｏｒｔタグの値として設けられる。印刷装置制御モジュールＢ１１０との接続設定情報は、ｉｄ属性の値が「Ｂ」であるＣｏｎｔｒｏｌＭｏｄｕｌｅタグ中のＡｄｄｒｅｓｓタグ及びＰｏｒｔタグの値として設けられる。
【００２８】
図５に示すように、印刷装置制御モジュールＡ１０８の設定情報としては、ログ設定情報がある。ログ設定情報の設定項目としては、ログレベル、ログフォルダがある。ここでは、ログレベルを「ＷＡＲＮ」、ログフォルダを「ＴＥＭＰ」に設定するものとする。また、印刷装置制御モジュールＡ１０８の設定情報としては、印刷装置制御モジュールＡ１０８が接続する他のモジュールとの接続設定情報があり、接続設定情報の設定項目としては、接続先のアドレス、ポートがある。なお、印刷装置制御モジュールＡ１０８は、印刷装置管理モジュール１０７と接続し、各種の情報を送受信する。
ここで、利用者は、環境設定アプリ１１２により提供されるユーザインタフェースを介して、ログレベル、ログフォルダ、接続先の印刷装置管理モジュール１０７のアドレス、及びポートの値を指定する。
【００２９】
図５（ａ）は、環境設定アプリ１１２により提供されるユーザインタフェース（画面）の一例を示す図である。図５（ａ）の画面で各種の設定項目の値を指定して設定ボタンを押下するユーザ操作が行わると、指定された内容は、ＰＣ３（１０３）のハードディスク２１０に、例えばＸＭＬファイルとして保存される。本実施形態では、ＰＣ３（１０３）で印刷装置制御モジュールＡ１０８が起動されるときに、ＸＭＬファイルがハードディスク２１０から読み込まれて設定情報が反映される。
【００３０】
ここで、図５（ｂ）のＸＭＬファイルでは、ログ設定情報は、Ｌｏｇタグ内のＬｅｖｅｌタグ及びＦｏｌｄｅｒタグの値として設けられる。印刷装置管理モジュール１０７との接続設定情報は、ＭａｎａｇｅＭｏｄｕｌｅタグ中のＡｄｄｒｅｓｓタグ及びＰｏｒｔタグの値として設けられる。
なお、印刷装置制御モジュールＢ１１０の設定情報は、印刷装置制御モジュールＡ１０８の設定情報と同様に設定される。
【００３１】
上述した構成によれば、環境設定アプリ１１２を介して、印刷装置管理モジュール１０７及び印刷装置制御モジュール（１０８、１１０）の設定情報を設定することにより、印刷制御システムの他の部分を変更することなく、新規の印刷装置に対応することができる。
ここで、印刷制御システムを利用する前に、印刷制御システムでの利用を可能にする印刷装置の情報を、印刷装置管理モジュール１０７及び印刷装置制御モジュール（１０８、１１０）に格納する必要がある（いわゆる「印刷装置の登録」）。そこで、印刷制御システムで利用可能な印刷装置を検索し、検索された印刷装置のうち利用が指定された印刷装置を登録する方法について説明する。
【００３２】
＜印刷装置の検索＞
印刷装置管理モジュール１０７が動作するＰＣ２（１０２）で、環境設定アプリ１１２を動作させることにより、印刷装置制御モジュール（１０８、１１０）を介して接続された印刷装置（１０９、１１１）の検索が行われる。
図６は、印刷装置を検索し、印刷装置の登録を行う検索登録処理のプログラムに係るフローチャートの一例を示す図である。
【００３３】
Ｓ６００は、検索登録処理の開始を示す。Ｓ６０１では、環境設定アプリ１１２は、印刷装置管理モジュール１０７と通信して、印刷装置管理モジュール１０７に接続されている印刷装置制御モジュールを識別可能な識別子（制御部識別情報の一例）等を取得し、取得した情報をもとに画面に表示する。
図７に、印刷装置制御モジュールの名称（印刷装置制御モジュール名）をリスト７０１として表した画面の一例（印刷装置検索画面）を示す。
Ｓ６０２では、環境設定アプリ１１２は、印刷装置検索画面に表示された印刷装置制御モジュール名の中から任意の印刷装置制御モジュール名を選択し、検索ボタン７０２を押下するユーザ操作を受け付けることにより、印刷装置の検索を開始する。Ｓ６０３では、環境設定アプリ１１２は、印刷装置制御モジュール名を指定して印刷装置の検索を印刷装置管理モジュール１０７に要求する。
【００３４】
Ｓ６０４では、印刷装置管理モジュール１０７は、指定された印刷装置制御モジュール名の印刷装置制御モジュールに対して印刷装置の検索を要求する。以下では、印刷装置検索画面で印刷装置制御モジュールＡ１０８が指定された場合について説明する。
Ｓ６０５では、環境設定アプリ１１２は、印刷装置制御モジュールＡ１０８が制御し得る印刷装置を検索した結果を印刷装置制御モジュールＡ１０８から受信する。ここで、本実施形態では、印刷装置Ａ１０９を識別可能な情報（印刷装置識別子）などが検索結果に含まれている。しかしながら、印刷装置制御モジュールには複数の印刷装置が接続可能であり、この場合は接続された複数の印刷装置の各々を識別可能な情報などが検索結果に含まれる。
【００３５】
図８に、検索結果の一例（検索結果８０１）を示す。検索結果８０１には、印刷装置Ａ１０９に関する情報のみが印刷装置情報テーブルとして示されているが、上述のように複数の印刷装置が接続されている場合は検索結果８０１には複数の印刷装置に関する情報が含まれる。
検索結果８０１は、複数の項目の情報を含んで構成される。より具体的には、検索結果８０１には、印刷装置識別子、印刷装置名、印刷装置種別、ＩＰアドレス、ポートの項目の情報が含まれる。なお、印刷装置識別子は、印刷装置を識別可能な識別情報の一例であり、印刷装置種別は、印刷装置の種別を示す情報（画像形成装置の機種を示す機種情報）の一例である。
Ｓ６０６では、環境設定アプリ１１２は、他の印刷装置制御モジュールで検索するか否かを利用者に問い合わせるための画面（図示せず。）を表示する。このとき、利用者が他の印刷装置制御モジュールでの検索を行うことを指示するユーザ操作をした場合、Ｓ６０１の処理が行われ、他方、利用者が他の印刷装置制御モジュールでの検索を行わないことを指示するユーザ操作をした場合、Ｓ６０７の処理が行われる。
【００３６】
＜印刷装置の登録＞
Ｓ６０７では、環境設定アプリ１１２は、印刷装置制御モジュールＡ１０８、印刷装置管理モジュール１０７を介して取得される検索結果を画面に表示する。
図９に、検索結果を一覧形式で表示した画面の一例（検索結果画面）を示す。検索結果画面の検索結果一覧９０１には、印刷装置名（図８の印刷装置名の値）が表示される。
Ｓ６０８では、環境設定アプリ１１２は、検索結果一覧９０１の中から使用したい印刷装置にチェックマークを付け、登録ボタン９０２を押下するユーザ操作を受け付けることにより、指定された印刷装置の登録を開始する。
【００３７】
Ｓ６０９では、環境設定アプリ１１２は、チェックマークが付けられた印刷装置（より具体的には、印刷装置識別子）を指定して印刷装置の登録を印刷装置管理モジュール１０７に要求する。登録の要求は、チェックマークが付けられた印刷装置のうち未登録のものの先頭の要素について行われる。
Ｓ６１０では、印刷装置管理モジュール１０７は、指定された印刷装置識別子の印刷装置の情報を印刷装置管理モジュール１０７内の印刷装置管理テーブルに追加する。
【００３８】
図１０に、ＰＣ２（１０２）のハードディスク２１０に記憶される印刷装置管理テーブルの一例（印刷装置管理テーブル１００１）を示す。
印刷装置管理テーブル１００１には、印刷装置識別子、印刷装置名、印刷装置種別、ＩＰアドレス、及びポートの項目の情報が格納されている。印刷装置管理テーブル１００１への印刷装置の情報の格納は、指定された印刷装置識別子の印刷装置の情報を印刷装置管理テーブル１００１の対応する項目に入れることにより行われる。
【００３９】
印刷装置管理テーブル１００１を更新した後、印刷装置管理モジュール１０７は、登録する印刷装置の印刷装置種別に対応する印刷装置制御モジュールに印刷装置識別子を指定して印刷装置の登録を要求する。印刷装置管理モジュール１０７は、登録を要求する印刷装置制御モジュールを、印刷装置制御モジュール管理テーブルを使用して決定する。
図１１に、ＰＣ２（１０２）のハードディスク２１０に記憶される印刷装置制御モジュール管理テーブルの一例（印刷装置制御モジュール管理テーブル１１０１）を示す。印刷装置制御モジュール管理テーブル１１０１には、印刷装置種別と、その種別に属する印刷装置を制御する印刷装置制御モジュールの名称とが対応付けられた情報が格納されている。
【００４０】
ここで、印刷装置制御モジュールは、印刷装置管理モジュール１０７と接続するときに、制御する印刷装置の印刷装置種別を通知する。また、印刷装置管理モジュール１０７は、通知を受けて印刷装置制御モジュール管理テーブル１１０１を更新する。
なお、本実施形態では、検索結果８０１から印刷装置Ａの印刷装置種別が読み出され、印刷装置Ａを制御する印刷装置制御モジュールとして、印刷装置制御モジュール管理テーブル１１０１から印刷装置種別に対応する印刷装置制御モジュールＡ１０８が特定される。
【００４１】
Ｓ６１１では、印刷装置管理モジュール１０７は、印刷装置制御モジュールＡ１０８に印刷装置Ａの登録を要求する。換言するならば、印刷装置制御モジュールＡ１０８は、指定された印刷装置識別子の印刷装置の情報を自身の印刷装置管理テーブルに追加する。
図１２に、ＰＣ３（１０３）のハードディスク２１０に記憶される印刷装置管理テーブルの一例（印刷装置管理テーブル１２０１）を示す。
Ｓ６１２では、環境設定アプリ１１２は、Ｓ６０８でチェックマークが付けられた印刷装置に未登録のものが残っているかを判定する。このとき、未登録のものが残っていると判断した場合、Ｓ６０９の処理が行われ、他方、未登録のものが残っていないと判断した場合、検索登録処理は終了する（Ｓ６１３）。
【００４２】
＜クライアントアプリの起動＞
上述のように、使用する印刷装置の登録が終了すると、クライアントアプリ１０５から印刷制御システムへの要求が可能となる。
クライアントアプリ１０５は、起動時にインタフェースモジュール１０６に接続する。クライアントアプリ１０５とインタフェースモジュール１０６とは協働し、ＰＣ１（１０１）で動作するＯＳで提供されるインタフェースを使用して通信を行う。本実施形態では、Ｗｉｎｄｏｗｓ（登録商標）のＣＯＭ（Component Object Model）インタフェースを使用する。
【００４３】
また、クライアントアプリ１０５は、インタフェースモジュール１０６で提供されるＡＰＩを使用して自身を識別するためのインスタンスを生成し、その識別子（クライアント識別子）を得る。以降のＡＰＩの呼び出しにおいては、クライアント識別子を指定することにより要求元がクライアントアプリ１０５であることを印刷制御システム（各モジュール）に伝えることができる。
次に、クライアントアプリ１０５は、印刷制御システムから印刷装置の各種ステータスやエラー通知を受けるためのコールバック用のイベント受信オブジェクトを登録する。イベント受信オブジェクトは、既定のインタフェースを実装し、イベント受信オブジェクトを登録するＡＰＩ（イベント受信オブジェクト登録用ＡＰＩ）を使用して登録される。
【００４４】
上述の準備が終了すると、クライアントアプリ１０５は、印刷装置の情報を取得するＡＰＩを使用して印刷制御システムに登録された印刷装置の情報を取得する。印刷装置の情報としては、印刷装置管理モジュール１０７が保持する印刷装置の情報のリストがクライアントアプリ１０５に返される。
そして、クライアントアプリ１０５は、印刷装置の情報を取得した後、印刷装置の情報からクライアントアプリ１０５で使用する印刷装置を指定するユーザ操作を受け付け、指定された印刷装置に対応する印刷装置識別子を取得する。
図１３は、クライアントアプリ１０５により表示される、使用する印刷装置を指定するユーザ操作を受け付ける画面の一例（印刷装置指定画面）を示す図である。利用者は、印刷装置指定画面の印刷装置一覧表示部１３０１から使用する印刷装置を選択し、設定ボタン１３０２を押下するユーザ操作を行う。
【００４５】
また、クライアントアプリ１０５は、利用者が選択した印刷装置に対応する印刷装置識別子を引数として、印刷装置インスタンスを生成するＡＰＩを呼び出し、生成された印刷装置インスタンスの識別子を得る。以降のＡＰＩの呼び出しにおいては、印刷装置インスタンスの識別子（印刷装置インスタンス識別子）を指定することにより、ＡＰＩに対応する処理の対象となる印刷装置が指定される。印刷装置インスタンスは、印刷装置管理モジュール１０７で生成され、印刷装置識別子との対応を管理される。ＡＰＩ呼び出しには印刷装置インスタンス識別子が指定され、印刷装置管理モジュール１０７で印刷装置識別子に置き換えられて以降の処理が行われる。
また、クライアントアプリ１０５は、特定の印刷装置のステータスや特定の印刷装置で実行される印刷ジョブのステータスの変化の通知が必要である場合、ステータスを示すパス（ステータスパス）をＡＰＩ（ステータスパス登録用ＡＰＩ）により登録する。
【００４６】
図１４（ａ）に、印刷装置制御モジュールが各印刷装置のステータスを管理するためのステータス情報の一例を示す。ステータス情報は、ＸＭＬ（Extensible Markup Language）形式のデータとしてハードディスク２１０に記憶される。ステータス情報のうち変化の通知を受け取りたいステータスを指定するには、ＸＰａｔｈ（XML Path Language）に準じた記法でスタータスパスを指定する。
図１４（ｂ）にステータスパスの記述の一例を示す。例えば、図１４（ａ）のステータス情報内のノードのうち、リーフノード以外のノードを指定することによって、その子ノードの全てを指定することができる。
【００４７】
クライアントアプリ１０５によりステータスパス登録用ＡＰＩが呼び出されると、インタフェースモジュール１０６を介して印刷装置管理モジュール１０７にステータスパスの登録が要求される。印刷装置管理モジュール１０７は、要求を受けてクライアント識別子、印刷装置識別子、及びスタータスパスを関連付けた情報をステータスパス管理テーブルに登録する。
図１５に、ＰＣ２（１０２）のハードディスク２１０に記憶されるステータスパス管理テーブルの一例（ステータスパス管理テーブル１５０１）を示す。
【００４８】
次に、印刷装置管理モジュール１０７は、印刷装置管理テーブル１００１と印刷装置制御モジュール管理テーブル１１０１とから印刷装置識別子に対応する印刷装置を制御する印刷装置制御モジュールの印刷装置制御モジュール名を取得する。印刷装置管理モジュール１０７は、取得した印刷装置制御モジュール名に対応する印刷装置制御モジュール（例えば、印刷装置制御モジュールＡ１０８）に、印刷装置識別子、ステータスパスを指定してステータスパスの登録を要求する。
印刷装置制御モジュールＡ１０８は、ステータスパスの登録の要求を受けると、印刷装置識別子とステータスパスとを自身のステータスパス管理テーブルに登録する。
図１６に、ＰＣ３（１０３）のハードディスク２１０に記憶されるステータスパス管理テーブルの一例（ステータスパス管理テーブル１６０１）を示す。本実施形態では、印刷装置制御モジュールＡ１０８について説明しているが、印刷装置制御モジュールＢ１１０についても同様である。
【００４９】
＜イベントの発生と受信＞
印刷装置Ａ１０９において登録されたステータスパスに対応するステータスに変化があると、印刷装置Ａ１０９は、印刷装置制御モジュールＡ１０８にステータスが変更した旨を通知（変更通知）する。印刷装置Ａ１０９のステータスの変更通知を受けた印刷装置制御モジュールＡ１０８は、印刷装置Ａ１０９に対応するステータス情報内の対応するノードの値（ノード値）を更新する。
次に、印刷装置制御モジュールＡ１０８は、ステータスパス管理テーブル１６０１を参照して印刷装置管理モジュール１０７にステータス情報の変化を通知するか否かを決定する。印刷装置制御モジュールＡ１０８は、変化したステータスに対応するステータスパスがステータスパス管理テーブル１６０１内に存在する場合は、ステータスパスとステータスパスのノード値とを印刷装置管理モジュール１０７に通知する。印刷装置制御モジュールＡ１０８は、ステータスパスがリーフノードを示している場合は、ノード値としてリーフノード値を、それ以外の場合はノード値としてＮＵＬＬを印刷装置管理モジュール１０７に通知する。
【００５０】
印刷装置管理モジュール１０７は、まず、通知されたスタータスパスを登録したクライアントアプリのクライアント識別子をステータスパス管理テーブル１５０１から検索する。そして、印刷装置管理モジュール１０７は、検索したクライアント識別子に対応するクライアントアプリ１０５に接続されたインタフェースモジュール１０６にステータスパスとノード値とを通知する。
通知を受けたインタフェースモジュール１０６は、クライアントアプリ１０５に対応するイベント受信オブジェクトにステータスパスとノード値とを通知する。クライアントアプリ１０５は、通知を受けて、ステータスパスに対応したステータス（ノード値など）を取得して画面表示を更新するなどの処理を行う。
【００５１】
＜印刷ジョブの発行＞
図１７は、印刷ジョブを実行する印刷処理のプログラムに係るフローチャートの一例を示す図である。
Ｓ１７００は、印刷処理の開始を示す。Ｓ１７０１では、クライアントアプリ１０５は、印刷ジョブを構成するジョブ情報の一例であるジョブデータを準備する。ジョブデータは、チケットと実データとを含んで構成される。チケットには、印刷ジョブの構成、各ページの印刷設定情報、及び実データ名（実データの参照を指示する情報）が記述されている。実データは、ＪＰＥＧ等の画像データ、ＰＤＬファイル等である。
【００５２】
図１８に、印刷制御システムで使用するチケットの一例を示す。チケットは、ＸＭＬ形式で記述される。チケットのルートノードは、ＪｏｂＴｉｃｋｅｔノードである。ＪｏｂＴｉｃｋｅｔノードの子ノードとして、印刷データの構造を記述するＤｏｃノードと印刷設定情報を指定するＰｒｉｎｔＴｉｃｋｅｔノードとがある。ＰｒｉｎｔＴｉｃｋｅｔノードは、印刷設定情報が追記可能な構造を有する。Ｄｏｃノードは、さらに子ノードとして印刷データを構成するページを表すＰａｇｅノードを有する。Ｐａｇｅノードは、属性としてページ番号を有し、子ノードとしてページのコンテンツを指定する。
図１８のチケットでは、各ページのコンテンツとしてＪＰＥＧファイルが指定されている。また、ＰｒｉｎｔＴｉｃｋｅｔノードでは、印刷設定情報のパラメータと設定値とが指定されている。ここでは、属性「ＯｕｔｐｕｔＭｅｄｉａＳｉｚｅ」、「Ｄｕｐｌｅｘ」、「Ｃｏｐｉｅｓ」に、それぞれ「Ａ４」、「ＯｎｅＳｉｄｅｄ」、「１」が指定されている。
【００５３】
Ｓ１７０２では、クライアントアプリ１０５は、印刷ジョブを開始する。より詳細に説明すると、クライアントアプリ１０５は、印刷ジョブを開始するＡＰＩ（印刷ジョブ開始ＡＰＩ）を呼び出す。印刷ジョブ開始ＡＰＩでは、入力としてクライアント識別子、印刷装置識別子、チケットが指定され、出力としてジョブを識別するジョブ識別子が得られる。
なお、印刷ジョブ開始ＡＰＩの呼び出しは、印刷装置管理モジュール１０７を介して印刷装置制御モジュールＡ１０８又は印刷装置制御モジュールＢ１１０まで同期処理される。
【００５４】
Ｓ１７０３では、クライアントアプリ１０５は、印刷装置管理モジュール１０７に印刷データなどを送信する。より詳細に説明すると、クライアントアプリ１０５は、印刷データを送信するＡＰＩ（印刷データ送信ＡＰＩ）を呼び出す。印刷データ送信ＡＰＩでは、入力として、クライアント識別子、印刷装置識別子、ジョブ識別子、実データバッファ、実データサイズが指定される。
印刷データ送信ＡＰＩからの要求は、印刷装置管理モジュール１０７において、印刷データの送信先の印刷装置毎に要求キューで管理される。なお、クライアントアプリ１０５からの印刷データ送信ＡＰＩの呼び出しは、印刷データが印刷装置管理モジュール１０７に転送された時点で（転送終了時に）終了する。
【００５５】
Ｓ１７０４では、クライアントアプリ１０５は、印刷ジョブに必要なすべてのデータを送信し終わったか否かを判定する。このとき、すべてのデータの転送が終了していると判断した場合、Ｓ１７０５の処理が行われ、他方、終了していないと判断した場合、Ｓ１７０３の処理が行われる。
Ｓ１７０５では、クライアントアプリ１０５は、印刷ジョブを終了する。より詳細に説明すると、クライアントアプリ１０５は、印刷ジョブを終了するＡＰＩ（印刷ジョブ終了ＡＰＩ）を呼び出す。印刷ジョブ終了ＡＰＩでは、入力として、クライアント識別子、印刷装置識別子、ジョブ識別子が指定される。
【００５６】
印刷ジョブ終了ＡＰＩの呼び出しは、印刷装置管理モジュール１０７において、印刷データの送信先の印刷装置毎にキュー管理される。なお、クライアントアプリ１０５からの印刷ジョブ終了ＡＰＩの呼び出しは、印刷装置管理モジュール１０７への要求が終了した時点で終了する。
Ｓ１７０６では、印刷装置管理モジュール１０７は、印刷装置制御モジュールに要求（印刷ジョブなど）を送信する。より具体的には、印刷装置管理モジュール１０７は、印刷装置毎の要求キューにたまった要求を、対応する印刷装置制御モジュールに順次送信する。
【００５７】
より詳細に説明すると、まず、印刷装置管理モジュール１０７は、印刷装置管理テーブル１００１を参照して、受信した印刷装置識別子の印刷装置種別を読み出す。そして、印刷装置管理モジュール１０７は、印刷装置制御モジュール管理テーブル１１０１を参照し、読み出した印刷装置種別に対応する印刷装置制御モジュール名（印刷装置制御モジュールＡ１０８）を特定し、印刷装置制御モジュールＡ１０８に要求を送信する。ここで、本実施形態では、テーブルを２つ用いて、印刷装置識別子、印刷装置種別、印刷装置制御モジュール名などを対応付けているが、この構成に限られるものではない。
なお、印刷装置制御モジュールＡ１０８は、送信された要求を処理して印刷装置Ａ１０９により印刷を行う。
【００５８】
また、本実施形態では、Ｓ１７０６の処理は、印刷装置管理モジュール１０７に印刷ジョブの要求が全て転送された後に実行されているが、この構成に限られるものではない。例えば、Ｓ１７０３において印刷装置管理モジュール１０７で要求キューに要求が追加された時点からＳ１７０３〜Ｓ１７０５の処理と並列にＳ１７０６の処理が実行されるように構成してもよい。
Ｓ１７０７では、印刷装置制御モジュールＡ１０８は、印刷装置Ａ１０９からの印刷ジョブが終了した旨の通知（印刷ジョブ終了通知）を受け、印刷ジョブが終了したことを、モジュール（１０６、１０７）を介してクライアントアプリ１０５に通知する。そして、印刷処理は終了する（Ｓ１７０８）。
【００５９】
＜チケットによる印刷装置毎の機能の違いへの対応＞
ここで、印刷ジョブの発行において、印刷ジョブを送信する印刷装置の種類毎の機能差をどのように吸収するかについて説明する。
図１８に示すチケットは、印刷装置Ａ１０９に対応するチケットであるが、同様な機能を有する他の印刷装置についても使用可能である。他の印刷装置に、印刷装置Ａ１０９にはないフィニッシャー（他の機能）が装備されている場合、従来の方法では、印刷データのフォーマットにフィニッシャーに対応する記述を追加する変更が必要になる。
これに対し、印刷制御システムでは、図１９に示すチケットのように、Ｆｉｎｉｓｈｉｎｇオプションと、その値として「Ｓｔａｐｌｅ」の記載を追加するのみで、他のモジュールを変更することなく他の印刷装置の他の機能を使用することができる。
【００６０】
＜印刷ジョブの制御＞
本実施形態では、印刷ジョブを発行した後に、印刷ジョブを制御するＡＰＩ（印刷ジョブ制御ＡＰＩ）を使用して印刷ジョブの制御を行うことができる。
印刷ジョブ制御ＡＰＩでは、入力として、クライアント識別子、印刷装置識別子、ジョブ識別子、制御種別が指定される。制御種別には、キャンセル、削除などがある。
印刷ジョブ制御ＡＰＩでは、クライアントアプリ１０５自身が発行した印刷ジョブ以外に、他のクライアントアプリや印刷装置に対応したプリンタドライバなどを使用して発行した印刷ジョブをこの印刷ジョブのジョブ識別子を指定して制御することができる。
【００６１】
クライアントアプリ１０５自身が発行した印刷ジョブ以外の印刷ジョブのジョブ識別子は、以下の手順で取得する。
クライアントアプリ１０５は、ステータスパスを取得するＡＰＩ（ステータス取得ＡＰＩ）を使用して印刷装置内の印刷ジョブの情報のリストを取得する。ステータス取得ＡＰＩでは、入力として、クライアント識別子、印刷装置識別子、ステータスパスが指定される。ステータスパスには、図２０（ａ）に示すパスが指定される。また、図２０（ｂ）に、ステータスパスを指定してステータス取得ＡＰＩを呼び出した場合に得られるデータの一例を示す。
【００６２】
ここで、クライアントアプリ１０５から発行した印刷ジョブのジョブ識別子が「ＪＯＢ０１０００−０００００００１」である場合を例に挙げて以下に説明する。
ＪｏｂＬｉｓｔ内の３つのＪｏｂＬｉｓｔＩｔｅｍノードの子ノードＪｏｂＰｕｂｌｉｓｈｅｒの値が「ＡＰＩ」であるものは、本印刷制御システムを使用して発行した印刷ジョブであることを示す。ＪｏｂＰｕｂｌｉｓｈｅｒの値が「ＮｏｔＡＰＩ」であるものは、本印刷制御システム以外から発行された印刷ジョブであることを示す。
３つのＪｏｂＬｉｓｔＩｔｅｍノードのうち属性ｉｄが「ＪＯＢ０１０００−０００００００１」のものは、クライアントアプリ１０５から発行した印刷ジョブに対応する。また、属性ｉｄが「ＪＯＢ０１０００−０００００００４」のものは、本印刷制御システムを使用して発行した印刷ジョブであるが、クライアントアプリ１０５以外のクライアントアプリで発行されたものである。なお、上記の例の場合、３番目のＪｏｂＬｉｓｔＩｔｅｍノードの属性ｉｄの値「ＪＯＢ０１０００−０００００００５」は、本印刷制御システム以外から発行された印刷ジョブの識別子である。
【００６３】
上述した構成によれば、印刷データ自身や印刷の処理手順を変更することなく印刷設定情報を有するチケットの記載を拡張することで、印刷制御システムの他の部分への影響がなく、新規の機能を有するプリンタをサポートすることができる。
また、同じ印刷データに異なるチケットを組み合わせることでプリンタの特性を生かした印刷の制御を容易に実現できる。
【００６４】
また、プリンタに対応した印刷装置制御モジュールを追加し、環境設定アプリでモジュール間の接続設定情報が設定されることで、他のモジュールを修正せずに新規のプリンタに対応することができる。また、種類の異なるプリンタでも、共通のイベント配信の仕組みを提供することによってクライアントアプリケーションの処理の共通化が可能となる。
また、上述の構成に限られるものではなく、例えば、複数の印刷装置制御モジュールのうち相対的に負荷の高い印刷装置制御モジュールを別のＰＣに配置する構成としてもよい。したがって、上述の構成によれば、負荷の高い印刷装置制御モジュールを別のＰＣに配置することができるので、一のＰＣにかかる負荷を容易に分散させることができる。
【００６５】
＜第２の実施形態＞
本実施形態の印刷制御システムでは、印刷装置管理モジュール１０７、印刷装置制御モジュールＡ１０８、及び印刷装置制御モジュールＢ１１０は、同一のＰＣに配置された構成を有する。
この構成の場合、印刷装置管理モジュール１０７から印刷装置制御モジュール（１０８、１１０）に実印刷データを転送せずに、印刷装置管理モジュール１０７で印刷データをファイルに保存する。
そして、印刷データのパスを印刷装置制御モジュール（１０８、１１０）に通知して、印刷装置制御モジュールでファイルから印刷データを読み込む。この構成によれば、転送の負荷を低減して処理効率を高めることができる。
【００６６】
＜その他の実施形態＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【００６７】
上述した実施形態の構成によれば、新規のプリンタでの印刷をより容易に行うことができる。
【００６８】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図１】
0005641917.tif 000002
【図２】
0005641917.tif 000003
【図３】
0005641917.tif 000004
【図４】
0005641917.tif 000005
【図５】
0005641917.tif 000006
【図６】
0005641917.tif 000007
【図７】
0005641917.tif 000008
【図８】
0005641917.tif 000009
【図９】
0005641917.tif 000010
【図１０】
0005641917.tif 000011
【図１１】
0005641917.tif 000012
【図１２】
0005641917.tif 000013
【図１３】
0005641917.tif 000014
【図１４】
0005641917.tif 000015
【図１５】
0005641917.tif 000016
【図１６】
0005641917.tif 000017
【図１７】
0005641917.tif 000018
【図１８】
0005641917.tif 000019
【図１９】
0005641917.tif 000020
【図２０】
0005641917.tif 000021