(57)【要約】【課題】ＭＦＰで実行中の自ジョブの実行に関する操作を行うことができる印刷制御方法を提供する。【解決手段】ＰＣ１０１は、印刷データを特定する印刷データ特定情報を含む印刷データを生成し、生成された印刷データを仮想デバイススプーラモジュール４０４に保持し、保持された印刷データに含まれる印刷データ特定情報に基づいて、表示部２０８に表示されたキャンセルボタン８０４及びスキップボタン８０５を有効化する。【選択図】図８
2017129961.tif 000002
【特許請求の範囲】
【請求項１】
プリンタドライバと、前記プリンタドライバによって生成された印刷データを格納するスプーラと、前記スプーラから受信した印刷データを印刷装置に送信するデバイスサービスと、前記印刷装置において実行中の印刷のステータスを表示するステータスウィンドウとを備える情報処理装置で実行される印刷制御方法であって、
前記プリンタドライバは、
前記スプーラから印刷データを特定する特定情報を取得する第１の取得ステップと、
前記取得された特定情報を含む印刷データを前記スプーラに送信する第１の送信ステップとを有し、
前記デバイスサービスは、
前記特定情報を含む印刷データを保持する保持ステップと、
前記保持された印刷データを前記印刷装置に送信する第２の送信ステップと、
前記印刷装置において実行中の印刷データの情報を前記印刷装置から取得する第２の取得ステップと、
前記実行中の印刷データの情報を前記ステータスウィンドウに通知する通知ステップとを有し、
前記ステータスウィンドウは、
前記デバイスサービスから通知された前記情報に基づいて前記実行中の印刷データのステータスを示すステータス画面を表示する表示ステップと、
前記デバイスサービスから通知された前記情報に基づいて前記実行中の印刷データの実行に関する操作を許可するか否かを判別する判別ステップと、
前記実行中の印刷データの実行に関する操作を許可する場合に、前記実行中の印刷データの実行に関する操作を行う操作ボタンを前記ステータス画面において有効化する制御ステップとを有することを特徴とする印刷制御方法。
【請求項２】
前記判別ステップは、前記実行中の印刷データの送信元が前記情報処理装置である場合、前記実行中の印刷データの実行に関する操作を許可することを特徴とする請求項１記載の印刷制御方法。
【請求項３】
前記操作ボタンは、前記実行中の印刷データをキャンセルするためのキャンセルボタンを少なくとも含むことを特徴とする請求項１又は２記載の印刷制御方法。
【請求項４】
前記操作ボタンは、発生しているエラーをスキップして印刷を継続するためのスキップボタンを少なくとも含むことを特徴とする請求項１乃至３のいずれか１項に記載の印刷制御方法。
【請求項５】
前記プリンタドライバは、Ｖ４ドライバであることを特徴とする請求項１乃至４のいずれか１項に記載の印刷制御方法。
【請求項６】
プリンタドライバと、前記プリンタドライバによって生成された印刷データを格納するスプーラと、前記スプーラから受信した印刷データを印刷装置に送信するデバイスサービスと、前記印刷装置において実行中の印刷のステータスを表示するステータスウィンドウとを備える情報処理装置で実行される印刷制御方法をコンピュータに実行させるプログラムであって、
前記印刷制御方法は、
前記プリンタドライバは、
前記スプーラから印刷データを特定する特定情報を取得する第１の取得ステップと、
前記取得された特定情報を含む印刷データを前記スプーラに送信する第１の送信ステップとを有し、
前記デバイスサービスは、
前記特定情報を含む印刷データを保持する保持ステップと、
前記保持された印刷データを前記印刷装置に送信する第２の送信ステップと、
前記印刷装置において実行中の印刷データの情報を前記印刷装置から取得する第２の取得ステップと、
前記実行中の印刷データの情報を前記ステータスウィンドウに通知する通知ステップとを有し、
前記ステータスウィンドウは、
前記デバイスサービスから通知された前記情報に基づいて前記実行中の印刷データのステータスを示すステータス画面を表示する表示ステップと、
前記デバイスサービスから通知された前記情報に基づいて前記実行中の印刷データの実行に関する操作を許可するか否かを判別する判別ステップと、
前記実行中の印刷データの実行に関する操作を許可する場合に、前記実行中の印刷データの実行に関する操作を行う操作ボタンを前記ステータス画面において有効化する制御ステップとを有することを特徴とするプログラム。
【請求項７】
プリンタドライバと、前記プリンタドライバによって生成された印刷データを格納するスプーラと、前記スプーラから受信した印刷データを印刷装置に送信するデバイスサービスと、前記印刷装置において実行中の印刷のステータスを表示するステータスウィンドウとを備える情報処理装置であって、
前記プリンタドライバは、
前記スプーラから印刷データを特定する特定情報を取得する第１の取得手段と、
前記取得された特定情報を含む印刷データを前記スプーラに送信する第１の送信手段とを有し、
前記デバイスサービスは、
前記特定情報を含む印刷データを保持する保持手段と、
前記保持された印刷データを前記印刷装置に送信する第２の送信手段と、
前記印刷装置において実行中の印刷データの情報を前記印刷装置から取得する第２の取得手段と、
前記実行中の印刷データの情報を前記ステータスウィンドウに通知する通知手段とを有し、
前記ステータスウィンドウは、
前記デバイスサービスから通知された前記情報に基づいて前記実行中の印刷データのステータスを示すステータス画面を表示する表示手段と、
前記デバイスサービスから通知された前記情報に基づいて前記実行中の印刷データの実行に関する操作を許可するか否かを判別する判別手段と、
前記実行中の印刷データの実行に関する操作を許可する場合に、前記実行中の印刷データの実行に関する操作を行う操作ボタンを前記ステータス画面において有効化する制御手段とを有することを特徴とする情報処理装置。
【請求項８】
前記判別手段は、前記実行中の印刷データの送信元が前記情報処理装置である場合、前記実行中の印刷データの実行に関する操作を許可することを特徴とする請求項７記載の情報処理装置。
【請求項９】
前記操作ボタンは、前記実行中の印刷データをキャンセルするためのキャンセルボタンを少なくとも含むことを特徴とする請求項７又は８記載の情報処理装置。
【請求項１０】
前記操作ボタンは、発生しているエラーをスキップして印刷を継続するためのスキップボタンを少なくとも含むことを特徴とする請求項７乃至９のいずれか１項に記載の情報処理装置。
【請求項１１】
前記プリンタドライバは、Ｖ４ドライバであることを特徴とする請求項７乃至１０のいずれか１項に記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷制御方法、プログラム、及び情報処理装置に関し、特に、プリンタドライバモジュールがインストールされる印刷制御方法、プログラム、及び情報処理装置に関する。
【背景技術】
【０００２】
情報処理装置としてのパーソナルコンピュータ（ＰＣ）及び印刷装置としてのＭＦＰによって印刷ジョブを実行する印刷システムが知られている。印刷システムが実行する印刷ジョブでは、ＰＣは印刷データを生成し、生成された印刷データをＰＣに設けられる標準スプーラに送信する。標準スプーラは印刷データを受信すると、当該印刷データを特定する印刷データ特定情報を生成して所定の期間、例えば、ＭＦＰによる印刷が完了するまで印刷データ及び印刷データ特定情報を保持する。ＰＣは標準スプーラで生成された印刷データをＭＦＰに送信し、ＭＦＰが受信された印刷データに基づく印刷を行う。
【０００３】
印刷システムにおいて、印刷ジョブを実行するために、ＰＣには当該ＰＣと接続されたＭＦＰに対応するプリンタドライバモジュールがインストールされる。プリンタドライバモジュールには、ユーザが印刷データの各設定を行うためのユーザーインターフェースモジュールや各設定に基づいて印刷データを生成する印刷データ生成モジュール等が組み込まれる。また、従来のＯＳ（Operating System）に対応するＶｅｒｓｉｏｎ３のプリンタドライバモジュール（以下、単に「Ｖ３ドライバ」という。）には、上記モジュールの他に、ＰＣ及びＭＦＰの間のデータ通信を制御する通信制御モジュール等の新たなモジュールを追加することができる。通信制御モジュールは、標準スプーラに保持された印刷データをＰＣからＭＦＰへ送信する制御や、ＭＦＰで実行中の印刷ジョブの実行状況に関する情報（以下、「印刷状況情報」という。）をＭＦＰから受信する制御を行う。ＰＣは印刷状況情報を受信した場合、標準スプーラに保持された印刷データ特定情報に基づいて、受信された印刷状況情報が当該ＰＣ自らが送信した印刷データに基づいて実行された印刷ジョブ（以下、「自ジョブ」という。）の印刷状況情報であるか否かを判別する判別処理を行う。受信された印刷状況情報が自ジョブの印刷状況情報である場合、印刷システムでは、実行中の印刷の中止をＰＣから指示可能である（例えば、特許文献１参照）。
【０００４】
近年では、Ｗｉｎｄｏｗｓ８（登録商標）以降のＯＳに対応するプリンタドライバモジュールとしてＶｅｒｓｉｏｎ４のプリンタドライバモジュール（以下、単に「Ｖ４ドライバ」という。）が開発され、Ｖ３ドライバからＶ４ドライバへのアップデートが検討されている。ところが、Ｖ４ドライバでは、Ｖ３ドライバのように、当該Ｖ４ドライバ内に通信制御モジュール等の新たなモジュールを追加することができない。そのため、ＰＣは、Ｖ３ドライバをＶ４ドライバへ単にアップデートするだけでは、通信制御モジュールが行うようなＰＣ及びＭＦＰの間のデータ通信を実現することができない。これに対応して、印刷システムでは、ＭＦＰの仮想デバイスモジュールをＰＣにインストールし、仮想デバイスモジュールによってＰＣ及びＭＦＰの間のデータ通信を実現する。これにより、ＰＣは、例えば、印刷データを標準スプーラから仮想デバイスモジュールの仮想デバイススプーラに送信し、仮想デバイススプーラに送信された印刷データをさらにＭＦＰに送信する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００４−３３４６６０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、Ｖ４ドライバがインストールされたＰＣは、システムの仕様上、標準スプーラから仮想デバイスモジュールへの印刷データの送信が完了すると、当該印刷データに関する全ての処理が完了したと判別してしまう。そのため、ＰＣは、標準スプーラから印刷データに関する全ての情報を削除し、例えば、印刷データ特定情報も保持されない。その結果、Ｖ４ドライバがインストールされたＰＣでは、自ジョブの実行中に印刷データ特定情報に基づく判別処理等が実行されず、ＭＦＰで実行中の印刷の中止等の操作、つまり、ＭＦＰで実行中の自ジョブの実行に関する操作を行うことができない。
【０００７】
本発明の目的は、ＭＦＰで実行中の自ジョブの実行に関する操作を行うことができる印刷制御方法、プログラム、及び情報処理装置を提供することにある。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、本発明の印刷制御方法は、プリンタドライバと、前記プリンタドライバによって生成された印刷データを格納するスプーラと、前記スプーラから受信した印刷データを印刷装置に送信するデバイスサービスと、前記印刷装置において実行中の印刷のステータスを表示するステータスウィンドウとを備える情報処理装置で実行される印刷制御方法であって、前記プリンタドライバは、前記スプーラから印刷データを特定する特定情報を取得する第１の取得ステップと、前記取得された特定情報を含む印刷データを前記スプーラに送信する第１の送信ステップとを有し、前記デバイスサービスは、前記特定情報を含む印刷データを保持する保持ステップと、前記保持された印刷データを前記印刷装置に送信する第２の送信ステップと、前記印刷装置において実行中の印刷データの情報を前記印刷装置から取得する第２の取得ステップと、前記実行中の印刷データの情報を前記ステータスウィンドウに通知する通知ステップとを有し、前記ステータスウィンドウは、前記デバイスサービスから通知された前記情報に基づいて前記実行中の印刷データのステータスを示すステータス画面を表示する表示ステップと、前記デバイスサービスから通知された前記情報に基づいて前記実行中の印刷データの実行に関する操作を許可するか否かを判別する判別ステップと、前記実行中の印刷データの実行に関する操作を許可する場合に、前記実行中の印刷データの実行に関する操作を行う操作ボタンを前記ステータス画面において有効化する制御ステップとを有することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、ＭＦＰで実行中の自ジョブの実行に関する操作を行うことができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施の形態に係るＰＣを含む印刷システムの構成を概略的に示す構成図である。
【図２】図１のＰＣのハードウェアの構成を概略的に示すブロック図である。
【図３】図１のＶ４ドライバの構成を概略的に示すブロック図である。
【図４】図１の仮想デバイスサービスモジュールの構成を概略的に示すブロック図である。
【図５】図１におけるＶ４ドライバで実行される印刷データ送信処理の手順を示すフローチャートである。
【図６】図１における仮想デバイスモジュールで実行される通信処理の手順を示すフローチャートである。
【図７】図１におけるステータスウィンドウモジュールで実行される有効化処理の手順を示すフローチャートである。
【図８】図２における表示部に表示される操作画面を説明するための図であり、図８（ａ）はキャンセルボタン及びスキップボタンが選択不可能に表示された場合を示し、図８（ｂ）はキャンセルボタン及びスキップボタンが選択可能に表示された場合を示す。
【図９】図１の印刷システムの変形例の構成を概略的に示す構成図である。
【発明を実施するための形態】
【００１１】
以下、本発明の実施の形態を図面を参照しながら詳述する。
【００１２】
図１は、本発明の実施の形態に係るＰＣ１０１を含む印刷システム１００の構成を概略的に示す構成図である。
【００１３】
図１において、印刷システム１００は、ＰＣ１０１及びＭＦＰ１０２，１０３を備え、ＰＣ１０１及びＭＦＰ１０２はＵＳＢケーブル１０４を介して接続され、ＰＣ１０１及びＭＦＰ１０３はＬＡＮ１０５を介して接続されている。すなわち、印刷システム１００では、ＭＦＰ１０２，１０３は直接接続されず、ＰＣ１０１を介して接続される。なお、本実施の形態では、一例として、ＰＣ１０１及びＭＦＰ１０２がＵＳＢケーブル１０４を介して接続され、ＰＣ１０１及びＭＦＰ１０３がＬＡＮ１０５を介して接続される場合、つまり、ＰＣ１０１がＭＦＰ１０２，１０３とそれぞれ異なる種別の接続手段で接続された場合について説明するが、ＭＦＰ１０２，１０３が直接接続されなければ、同じ種別の接続手段で接続されてもよい。
【００１４】
ＰＣ１０１は、ユーザからの印刷の実行の指示に応じて印刷データを生成し、生成された印刷データをＭＦＰ１０２やＭＦＰ１０３に送信する。ＰＣ１０１はＭＦＰ１０２やＭＦＰ１０３と印刷ジョブを実行するためのソフトウェア１０６を備える。ソフトウェア１０６は、アプリケーション１０７、Ｖ４ドライバモジュール１０８、Ｗｉｎｄｏｗｓ標準スプーラモジュール１０９、及びステータスウィンドウモジュール１１０を備える。また、ソフトウェア１０６は設定アプリケーションモジュール１１１及び仮想デバイスサービスモジュール１１２を備える。ソフトウェア１０６の各処理は、後述する図２のＣＰＵ２０１がＲＯＭ２０４に格納された制御プログラムを実行することによって行われる。
【００１５】
アプリケーション１０７は起動が指示されると、印刷対象となる画像データや印刷設定情報等を設定する印刷設定画面の表示の制御を後述する図３のＵＩモジュール３０１に指示する。アプリケーション１０７は印刷設定画面によって設定された画像データや印刷設定情報を含む印刷指示データをＶ４ドライバモジュール１０８に送信する。Ｖ４ドライバモジュール１０８は受信された印刷指示データに基づいて印刷データを生成する。Ｗｉｎｄｏｗｓ標準スプーラモジュール１０９は、ＰＣ１０１に予めインストールされているＭｉｃｒｏｓｏｆｔ  ＷｉｎｄｏｗｓのＯＳの印刷用スプーラである。Ｗｉｎｄｏｗｓ標準スプーラモジュール１０９は、生成された印刷データを一時的に格納し、格納された印刷データをＷｉｎｄｏｗｓネットワーク機能１１３によって仮想デバイスサービスモジュール１１２に送信する。ステータスウィンドウモジュール１１０はＲＰＣ（Remote Procedure Call）クライアント機能を有する。ステータスウィンドウモジュール１１０はＭＦＰ１０２，１０３の印刷状況情報の送信要求を仮想デバイスサービスモジュール１１２に通知し、仮想デバイスサービスモジュール１１２から送信されたＭＦＰ１０２，１０３の印刷状況情報を受信する。ステータスウィンドウモジュール１１０及び仮想デバイスサービスモジュール１１２の間のデータ通信はＷｉｎｄｏｗｓネットワーク機能１１３によって行われる。また、ステータスウィンドウモジュール１１０は受信されたＭＦＰ１０２，１０３の印刷状況情報をＰＣ１０１の後述する図２の表示部２０８に表示させる。設定アプリケーションモジュール１１１は仮想デバイスサービスモジュール１１２の設定及び管理を行う。仮想デバイスサービスモジュール１１２は、ＭＦＰ１０２，１０３の仮想デバイスとしてＶ４ドライバモジュール１０８、Ｗｉｎｄｏｗｓ標準スプーラモジュール１０９、及びステータスウィンドウモジュール１１０とＭＦＰ１０２，１０３との間のデータ通信の中継を行う。これにより、ＰＣ１０１は、Ｖ３ドライバで実行されていたようなＰＣ１０１及びＭＦＰ１０２，１０３の間のデータ通信を実現する。ＭＦＰ１０２，１０３は受信された印刷データに基づいて印刷を行う。
【００１６】
図２は、図１のＰＣ１０１のハードウェアの構成を概略的に示すブロック図である。
【００１７】
図２において、ＰＣ１０１は、ＣＰＵ２０１、ＲＡＭ２０２、ＮＶＭＥＭ（Non Volatile Memory）２０３、ＲＯＭ２０４、ＨＤＤ２０５、ＬＡＮＩ／Ｆ２０６、ＵＳＢＩ／Ｆ２０７、及び表示部２０８を備える。ＣＰＵ２０１、ＲＡＭ２０２、ＮＶＭＥＭ２０３、ＲＯＭ２０４、ＨＤＤ２０５、ＬＡＮＩ／Ｆ２０６、ＵＳＢＩ／Ｆ２０７、及び表示部２０８はシステムバス２０９を介して互いに接続されている。
【００１８】
ＣＰＵ２０１は、ＰＣ１０１全体を統括的に制御し、ＲＯＭ２０４に格納された制御プログラムを実行してソフトウェア１０６の処理等を実行する。ＲＡＭ２０２はＣＰＵ２０１の作業領域として用いられ、また、ＲＡＭ２０２は各データの一時格納領域として用いられる。ＮＶＭＥＭ２０３は不揮発性メモリであり、設定情報等を格納する。ＲＯＭ２０４は不揮発性メモリであり、ＣＰＵ２０１が実行する制御プログラムを格納する。ＨＤＤ２０５は各データを格納する。ＬＡＮＩ／Ｆ２０６はＬＡＮ１０５に接続された装置とデータ通信を行う。ＵＳＢＩ／Ｆ２０７はＵＳＢケーブル１０４を介して接続された装置とデータ通信を行う。表示部２０８は各画像を表示する。本実施の形態では、表示部２０８は、例えば、ＭＦＰ１０２，１０３で実行中の印刷の中止等を指示する後述する図８（ａ）の操作画面８００を表示する。
【００１９】
図３は、図１のＶ４ドライバモジュール１０８の構成を概略的に示すブロック図である。
【００２０】
図３において、Ｖ４ドライバモジュール１０８は、ＵＩモジュール３０１、印刷設定管理モジュール３０２、及びデバイス情報取得モジュール３０３を備える。また、Ｖ４ドライバモジュール１０８は印刷データ生成モジュール３０４、ＰＤＬ（page description language）変換モジュール３０５、及びデバイスＩ／Ｆモジュール３０６を備える。Ｖ４ドライバモジュール１０８の各処理は、ＣＰＵ２０１がＲＯＭ２０４に格納された制御プログラムを実行することによって行われる。
【００２１】
ＵＩモジュール３０１は印刷対象となる画像データや印刷設定情報等を設定する印刷設定画面の表示を制御する。印刷設定管理モジュール３０２は印刷設定画面で設定可能な設定項目の組合せを管理する。デバイス情報取得モジュール３０３はＲＰＣクライアント機能を有し、仮想デバイスサービスモジュール１１２とデータ通信を行う。本実施の形態では、デバイス情報取得モジュール３０３は、印刷データの生成に用いられる画像パラメータの送信要求を印刷データ生成モジュール３０４から通知されると、仮想デバイスサービスモジュール１１２に画像パラメータの送信要求を通知する。これにより、仮想デバイスサービスモジュール１１２は、ＭＦＰ１０２，１０３から画像パラメータを取得し、取得された画像パラメータをデバイス情報取得モジュール３０３に送信する。デバイス情報取得モジュール３０３は受信された画像パラメータを印刷データ生成モジュール３０４に送信する。印刷データ生成モジュール３０４は取得した画像パラメータ及び印刷指示データに基づいてレンダリングを行ってＸＰＳ（XML Paper Specification）形式の中間データを生成する。ＰＤＬ変換モジュール３０５はＸＰＳ形式の中間データをＭＦＰ１０２，１０３で読み込み可能なＰＤＬ（Page Description Language）形式の印刷データに変換する。印刷データには印刷対象となる画像データ等が含まれる。デバイスＩ／Ｆモジュール３０６は変換されたＰＤＬ形式の印刷データをＷｉｎｄｏｗｓ標準スプーラモジュール１０９に送信する。
【００２２】
図４は、図１の仮想デバイスサービスモジュール１１２の構成を概略的に示すブロック図である。
【００２３】
図４において、仮想デバイスサービスモジュール１１２は、複数の仮想デバイスモジュールを備え、各仮想デバイスモジュールは各ＭＦＰに対応して設けられる。仮想デバイスサービスモジュール１１２は仮想デバイスの登録や削除を受け付ける機能を有し、新たな仮想デバイスの登録を受け付けた場合、ＰＣ１０１の受信ポート番号と新たな仮想デバイスとを対応付けする。ＰＣ１０１は、仮想デバイスサービスモジュール１１２に複数の仮想デバイスを有する場合、異なる受信ポート番号に各仮想デバイスを対応付けする。本実施の形態では、仮想デバイスサービスモジュール１１２は、一例として、ＭＦＰ１０２，１０３に対応して２つの仮想デバイスモジュール４００，４０１を備える場合を前提とする。具体的に、仮想デバイスモジュール４００がＭＦＰ１０２に対応し、仮想デバイスモジュール４０１がＭＦＰ１０３に対応する。仮想デバイスサービスモジュール１１２の各処理は、ＣＰＵ２０１がＲＯＭ２０４に格納された制御プログラムを実行することによって行われる。なお、本実施の形態では、仮想デバイスモジュール４００，４０１は同様の構成を有するため、以下、一例として、仮想デバイスモジュール４００を用いて説明する。
【００２４】
仮想デバイスモジュール４００は、受信モジュール４０２、ＲＰＣサーバモジュール４０３、及び仮想デバイススプーラモジュール４０４（保持ステップ、保持モジュール）を備える。また、仮想デバイスモジュール４００は仮想デバイスランゲージモニタモジュール４０５及びポートモニタモジュール４０６を備える。
【００２５】
受信モジュール４０２は、Ｗｉｎｄｏｗｓ標準スプーラモジュール１０９から、ＭＦＰ１０２に送信する印刷データを、仮想デバイスモジュール４００に対応付けされた受信ポート番号を介して受信する。ＲＰＣサーバモジュール４０３はステータスウィンドウモジュール１１０やデバイス情報取得モジュール３０３等のＲＰＣ機能を有する各モジュールとデータ通信を行う。仮想デバイススプーラモジュール４０４は受信モジュール４０２によって受信された印刷データを格納する。また、仮想デバイススプーラモジュール４０４は格納された印刷データの印刷データ特定情報を生成する。印刷データ特定情報は、ＰＣ１０１の装置名、印刷の実行を指示したユーザ名、及び印刷指示データに含まれる画像データのデータ名等を含む。仮想デバイスランゲージモニタモジュール４０５は仮想デバイスモジュール４００におけるデータ通信を制御する。例えば、仮想デバイスランゲージモニタモジュール４０５は、ＭＦＰ１０２への印刷データの送信を制御し、ＭＦＰ１０２からの当該ＭＦＰ１０２の印刷状況情報の受信や画像パラメータ等の受信を制御する。また、仮想デバイスランゲージモニタモジュール４０５はＭＦＰ１０２の印刷状況情報をステータスウィンドウモジュール１１０へ送信する制御を行う。ポートモニタモジュール４０６はＭＦＰ１０２とデータ通信を行う。仮想デバイスモジュール４０１においても、同様に、受信モジュール４０２がＷｉｎｄｏｗｓ標準スプーラモジュール１０９から、ＭＦＰ１０３に送信する印刷データを仮想デバイスモジュール４０１に対応付けされた受信ポート番号を介して受信する。仮想デバイスモジュール４０１は、受信された印刷データを仮想デバイススプーラモジュール４０４で一時的に格納し、格納された印刷データをポートモニタモジュール４０６からＭＦＰ１０３に送信する。また、仮想デバイスモジュール４０１はポートモニタモジュール４０６によってＭＦＰ１０３の印刷状況情報等を当該ＭＦＰ１０３から受信する。
【００２６】
図５は、図１におけるＶ４ドライバモジュール１０８で実行される印刷データ送信処理の手順を示すフローチャートである。
【００２７】
図５の処理は、ＣＰＵ２０１がＲＯＭ２０４等に格納された制御プログラムを実行することによって行われ、一例として、ＰＣ１０１からＭＦＰ１０２に印刷データが送信される場合を前提とする。
【００２８】
図５において、まず、ＣＰＵ２０１はデバイス情報取得モジュール３０３から仮想デバイスモジュール４００に画像パラメータの送信要求を通知する（ステップＳ５０１）。これにより、仮想デバイスモジュール４００がＭＦＰ１０２に画像パラメータの送信要求通知を送信する。仮想デバイスモジュール４００は送信要求通知に応じたＭＦＰ１０２からの画像パラメータを受信すると、受信された画像パラメータをデバイス情報取得モジュール３０３に送信する。次いで、ＣＰＵ２０１は、仮想デバイスモジュール４００から画像パラメータを受信し、且つアプリケーション１０７から印刷指示データを受信すると（ステップＳ５０２でＹＥＳ）、仮想デバイスサービスモジュール１１２から処理の実行が指示されたか否かを判別する（ステップＳ５０３）。
【００２９】
ステップＳ５０３の判別の結果、仮想デバイスサービスモジュール１１２から処理の実行が指示されたとき、ＣＰＵ２０１は、当該指示に基づいて各処理を実行し（ステップＳ５０４）、処理の終了が指示されたか否かを判別する（ステップＳ５０５）。ステップＳ５０５では、例えば、仮想デバイスサービスモジュール１１２から印刷ジョブの実行の完了が通知された場合、ＣＰＵ２０１は処理の終了が指示されたと判別する。一方、仮想デバイスサービスモジュール１１２から印刷ジョブの実行の完了が通知されない場合、ＣＰＵ２０１は処理の終了が指示されないと判別する。
【００３０】
ステップＳ５０５の判別の結果、処理の終了が指示されたとき、ＣＰＵ２０１は本処理を終了する。一方、ステップＳ５０５の判別の結果、処理の終了が指示されないとき、ＣＰＵ２０１は印刷データに関する処理が必要であるか否かを判別する（ステップＳ５０６）。
【００３１】
ステップＳ５０６の判別の結果、印刷データに関する処理が必要でないとき、ＣＰＵ２０１はステップＳ５０２の処理に戻る。一方、ステップＳ５０６の判別の結果、印刷データに関する処理が必要であるとき、ＣＰＵ２０１は、取得された印刷指示データ及び画像パラメータに基づいてレンダリングを行う（ステップＳ５０７）。これにより、ＸＰＳ形式の中間データが生成される。次いで、ＣＰＵ２０１は生成された中間データをＷｉｎｄｏｗｓ標準スプーラモジュール１０９に送信する（ステップＳ５０８）。Ｗｉｎｄｏｗｓ標準スプーラモジュール１０９は中間データを受信すると、当該中間データに基づいて印刷データ特定情報を生成する。次いで、ＣＰＵ２０１はＷｉｎｄｏｗｓ標準スプーラモジュール１０９から印刷データ特定情報を取得する（ステップＳ５０９）（第１の取得ステップ）。その後、ＣＰＵ２０１は取得された印刷データ特定情報及び中間データを合成し、合成された中間データを変換してＰＤＬ形式の印刷データを生成する（ステップＳ５１０）。これにより、印刷データ特定情報を含む印刷データが生成される。次いで、ＣＰＵ２０１は生成された印刷データをＷｉｎｄｏｗｓ標準スプーラモジュール１０９に送信し（ステップＳ５１１）（第１の送信ステップ）、送信された印刷データはＷｉｎｄｏｗｓ標準スプーラモジュール１０９に格納される。格納された印刷データはさらに仮想デバイスモジュール４００に送信される。仮想デバイスモジュール４００への印刷データの送信が完了すると、印刷データ及び印刷データ特定情報はＷｉｎｄｏｗｓ標準スプーラモジュール１０９から削除される。その後、ＣＰＵ２０１はステップＳ５１１の処理を実行した後にステップＳ５０３の処理に戻る。
【００３２】
図６は、図１における仮想デバイスモジュール４００で実行される通信処理の手順を示すフローチャートである。
【００３３】
図６の処理は、ＣＰＵ２０１がＲＯＭ２０４等に格納された制御プログラムを実行することによって行われる。
【００３４】
図６において、まず、ＣＰＵ２０１は、受信モジュール４０２によってデータを受信すると（ステップＳ６０１でＹＥＳ）、受信されたデータ（以下、「受信データ」という。）が印刷データであるか否かを判別する（ステップＳ６０２）。
【００３５】
ステップＳ６０２の判別の結果、受信データが印刷データであるとき、ＣＰＵ２０１は当該印刷データの印刷ジョブをキューに投入し、印刷データを保持する（ステップＳ６０３）（保持ステップ）。次いで、ＣＰＵ２０１は当該キューに実行候補となる印刷ジョブが含まれているか否かを判別する（ステップＳ６０４）。
【００３６】
ステップＳ６０４の判別の結果、キューに実行候補となる印刷ジョブが含まれていないとき、ＣＰＵ２０１はステップＳ６０１の処理に戻る。一方、ステップＳ６０４の判別の結果、キューに実行候補となる印刷ジョブが含まれているとき、ＣＰＵ２０１は仮想デバイスランゲージモニタモジュール４０５を制御して当該印刷ジョブの印刷データの送信制御を行う。具体的に、ＣＰＵ２０１は実行候補となる印刷ジョブから実行対象となる印刷ジョブを決定する（ステップＳ６０５）。次いで、ＣＰＵ２０１は決定された印刷ジョブの印刷データに含まれる画像データ及び印刷データ特定情報をＭＦＰ１０２にそれぞれ送信する（ステップＳ６０６）（第２の送信ステップ）。その後、ＣＰＵ２０１はＭＦＰ１０２から画像データ及び印刷データ特定情報の受信状況に関する情報（以下、「受信状況情報」という。）を取得する（ステップＳ６０７）。ＣＰＵ２０１は画像データ及び印刷データ特定情報の送信、つまり、印刷データの送信が完了すると（ステップＳ６０８でＹＥＳ）、当該印刷データを仮想デバイススプーラモジュール４０４から削除することなく、ステップＳ６０１の処理に戻る。すなわち、本実施の形態では、ＰＣ１０１からＭＦＰ１０２への印刷データの送信が完了しても、仮想デバイススプーラモジュール４０４に印刷データ特定情報を含む印刷データが保持される。
【００３７】
ステップＳ６０２の判別の結果、受信データが印刷データでないとき、ＣＰＵ２０１は受信データがＶ４ドライバモジュール１０８からの画像パラメータの送信要求を示すデータであるか否かを判別する（ステップＳ６０９）。
【００３８】
ステップＳ６０９の判別の結果、受信データが画像パラメータの送信要求を示すデータでないとき、ＣＰＵ２０１は後述するステップＳ６１３以降の処理を行う。一方、ステップＳ６０９の判別の結果、受信データが画像パラメータの送信要求を示すデータであるとき、ＣＰＵ２０１はＭＦＰ１０２に画像パラメータの送信要求通知を送信する（ステップＳ６１０）。次いで、ＣＰＵ２０１は画像パラメータの送信要求通知に応じた応答通知として画像パラメータをＭＦＰ１０２から受信すると（ステップＳ６１１でＹＥＳ）、Ｖ４ドライバモジュール１０８に画像パラメータを送信する（ステップＳ６１２）。次いで、ＣＰＵ２０１は、受信データがステータスウィンドウモジュール１１０からのＭＦＰ１０２の印刷状況情報の送信要求を示すデータであるか否かを判別する（ステップＳ６１３）。
【００３９】
ステップＳ６１３の判別の結果、受信データがＭＦＰ１０２の印刷状況情報の送信要求を示すデータでないとき、ＣＰＵ２０１はステップＳ６０１の処理に戻る。一方、ステップＳ６１３の判別の結果、受信データがＭＦＰ１０２の印刷状況情報の送信要求を示すデータであるとき、ＣＰＵ２０１はＭＦＰ１０２の印刷状況情報の送信要求通知をＭＦＰ１０２に送信する（ステップＳ６１４）。次いで、ＣＰＵ２０１は印刷状況情報の送信要求通知に応じた応答通知として印刷状況情報をＭＦＰ１０２から取得すると（ステップＳ６１５でＹＥＳ）（第２の取得ステップ）、当該印刷状況情報をステータスウィンドウモジュール１１０に通知する（ステップＳ６１６）（通知ステップ）。これにより、ステータスウィンドウモジュール１１０によってＭＦＰ１０２の印刷状況情報が表示部２０８に表示される。次いで、ＣＰＵ２０１はステップＳ６１６の処理を実行した後にステップＳ６０１の処理に戻る。
【００４０】
図７は、図１におけるステータスウィンドウモジュール１１０で実行される有効化処理の手順を示すフローチャートである。
【００４１】
図７の処理は、ＣＰＵ２０１がＲＯＭ２０４等に格納された制御プログラムを実行することによって行われ、ステータスウィンドウモジュール１１０がＭＦＰ１０２の印刷状況情報を取得した場合を前提とする。この場合、ステータスウィンドウモジュール１１０によってＭＦＰ１０２の印刷状況情報が表示部２０８に表示され、ＭＦＰ１０２でエラーが発生すると、図８（ａ）に示すような操作画面８００（ステータス画面）が表示部２０８に表示される。操作画面８００はコメント欄８０１〜８０３、キャンセルボタン８０４及びスキップボタン８０５を含む。コメント欄８０１にはエラーに関する情報が表示され、コメント欄８０２にはエラーに関する詳細情報が表示され、コメント欄８０３にはＭＦＰ１０２で実行中の印刷データの印刷データ特定情報が表示される。キャンセルボタン８０４はＭＦＰ１０２で実行中の印刷の中止を指示する操作ボタンであり、スキップボタン８０５はＭＦＰ１０２で発生したエラーをスキップして印刷の継続を指示する操作ボタンである。通常、キャンセルボタン８０４及びスキップボタン８０５は選択不可能、例えば、図８（ａ）に示すようにグレーに表示される。
【００４２】
図７において、まず、ＣＰＵ２０１は仮想デバイスモジュール４００にＭＦＰ１０２で実行中の印刷データの印刷データ特定情報（以下、「実行中印刷データ特定情報」という。）の送信要求を通知する（ステップＳ７０１）。これにより、仮想デバイスモジュール４００は実行中印刷データ特定情報の送信要求通知をＭＦＰ１０２に送信する。実行中印刷データ特定情報の送信要求通知に応じた応答通知としてＭＦＰ１０２から実行中印刷データ特定情報が送信されると、仮想デバイスモジュール４００は受信された実行中印刷データ特定情報をステータスウィンドウモジュール１１０に送信する。その後、ＣＰＵ２０１は仮想デバイスモジュール４００から実行中印刷データ特定情報を受信したか否かを判別する（ステップＳ７０２）。
【００４３】
ステップＳ７０２の判別の結果、実行中印刷データ特定情報を受信しないとき、ＣＰＵ２０１は、例えば、図８（ａ）に示すように、キャンセルボタン８０４やスキップボタン８０５を選択不可能に表示したまま、本処理を終了する。一方、ステップＳ７０２の判別の結果、実行中印刷データ特定情報を受信したとき、ＣＰＵ２０１は、図８（ｂ）に示すように、実行中印刷データ特定情報をコメント欄８０３に表示する（ステップＳ７０３）（表示ステップ）。次いで、ＣＰＵ２０１は実行中印刷データ特定情報が仮想デバイスモジュール４００に保持された印刷データに含まれる印刷データ特定情報、つまり、自ジョブの印刷データ特定情報と対応するか否かを判別する（ステップＳ７０４）（判別ステップ）。自ジョブはＰＣ１０１が投入した印刷ジョブを示す。
【００４４】
ステップＳ７０４の判別の結果、実行中印刷データ特定情報が自ジョブの印刷データ特定情報と対応しないとき、ＣＰＵ２０１は、例えば、図８（ａ）に示すように、キャンセルボタン８０４やスキップボタン８０５を選択不可能に表示したまま、本処理を終了する。一方、ステップＳ７０４の判別の結果、実行中印刷データ特定情報が自ジョブの印刷データ特定情報と対応するとき、ＣＰＵ２０１は実行中の印刷を中止可能な状態であるか否かを判別する（ステップＳ７０５）。
【００４５】
ステップＳ７０５の判別の結果、実行中の印刷を中止可能な状態でないとき、ＣＰＵ２０１は、キャンセルボタン８０４を選択不可能に表示したまま、後述するステップＳ７０７以降の処理を行う。一方、ステップＳ７０５の判別の結果、実行中の印刷を中止可能な状態であるとき、ＣＰＵ２０１はキャンセルボタン８０４を有効化する（ステップＳ７０６）（制御ステップ）。これにより、操作画面８００では、図８（ｂ）に示すように、キャンセルボタン８０４が選択可能に表示され、ユーザはＰＣ１０１からＭＦＰ１０２で実行中の印刷の中止を指示可能となる。次いで、ＣＰＵ２０１はエラーをスキップして印刷を継続可能な状態であるか否かを判別する（ステップＳ７０７）。
【００４６】
ステップＳ７０７の判別の結果、エラーをスキップして印刷を継続可能な状態でないとき、ＣＰＵ２０１は、スキップボタン８０５を選択不可能に表示したまま、本処理を終了する。一方、ステップＳ７０７の判別の結果、エラーをスキップして印刷を継続可能な状態であるとき、ＣＰＵ２０１はスキップボタン８０５を有効化する（ステップＳ７０８）（制御ステップ）。これにより、操作画面８００では、図８（ｂ）に示すように、スキップボタン８０５が選択可能に表示され、ユーザはＰＣ１０１からエラーをスキップして印刷の継続を指示可能となる。すなわち、本実施の形態では、ＭＦＰ１０２で実行中の印刷ジョブが自ジョブである場合のみ、ＰＣ１０１はＭＦＰ１０２で実行中の印刷に関する指示の受け付けを許可する。その後、ＣＰＵ２０１はステップＳ７０８の処理を実行した後に本処理を終了する。
【００４７】
上述した図５、図６、及び図７の処理によれば、印刷データ特定情報を含む印刷データが保持される。これにより、印刷データの仮想デバイスモジュール４００への送信に伴って印刷データ特定情報がＷｉｎｄｏｗｓ標準スプーラモジュール１０９から削除されたとしても、印刷データの保持によって印刷データ特定情報を実質的に保持することができる。その結果、印刷データ特定情報に基づくステップＳ７０４の処理等の特定の処理を確実に実行することができる。
【００４８】
また、上述した図５、図６、及び図７の処理では、実行中印刷データ特定情報が保持された印刷データに含まれる印刷データ特定情報に対応するか否かに基づいて実行中の印刷に関する指示、例えば、印刷の中止を受け付けるか否かが決定される。これにより、印刷データ特定情報がＷｉｎｄｏｗｓ標準スプーラモジュール１０９から削除されたとしても、上記印刷に関する指示を受け付けるか否かを決定することができる。
【００４９】
さらに、上述した図５、図６、及び図７の処理では、印刷データ特定情報がＰＣ１０１の装置名を少なくとも含むので、ＰＣ１０１から送信された印刷データを確実に特定することができる。
【００５０】
上述した図５、図６、及び図７の処理では、印刷データの生成に用いられるＸＰＳ形式の中間データに基づいて生成された印刷データ特定情報が取得される。すなわち、印刷データ及び印刷データ特定情報は同じＸＰＳ形式の中間データに基づいて生成されるため、印刷データ特定情報を印刷データに確実に関連付けることができる。
【００５１】
また、上述した図５、図６、及び図７の処理では、印刷データはＸＰＳ形式のデータからの変換を必要とするＰＤＬ形式のデータであるが、中間データはＰＤＬ形式のデータに変換される前のＸＰＳ形式のデータである。ここで、印刷データ特定情報は中間データに基づいて生成されるため、印刷データ特定情報の生成のためにＸＰＳ形式のデータからＰＤＬ形式のデータへの変換の必要性をなくすことができ、もって、印刷データ特定情報の生成における手間を低減することができる。
【００５２】
以上、本発明について実施の形態を用いて説明したが、本発明は上述した実施の形態に限定されるものではない。
【００５３】
例えば、ＰＣ１０１がサーバとして機能し、且つ後述する図９に示すように、クライアントとして機能する複数、例えば、２つの他の情報処理装置としてのクライアントＰＣ９０１，９０２のそれぞれと直接接続されてもよい。
【００５４】
図９は、図１の印刷システム１００の変形例の構成を概略的に示す構成図である。
【００５５】
図９において、印刷システム９００は、ＰＣ１０１及びＭＦＰ１０２，１０３の他に、クライアントＰＣ９０１，９０２を備える。ＰＣ１０１及びＭＦＰ１０２はＵＳＢケーブル１０４を介して接続され、ＰＣ１０１及びＭＦＰ１０３はＬＡＮ１０５を介して接続され、クライアントＰＣ９０１，９０２及びＰＣ１０１はＬＡＮ９０３を介して接続されている。すなわち、クライアントＰＣ９０１，９０２は、ＭＦＰ１０２，１０３と直接接続されず、クライアントＰＣ９０１，９０２はＰＣ１０１を介してＭＦＰ１０２，１０３と間接的に接続される。
【００５６】
クライアントＰＣ９０１，９０２はソフトウェア９０４を備える。ソフトウェア９０４は、図１のアプリケーション１０７、Ｖ４ドライバモジュール１０８、Ｗｉｎｄｏｗｓ標準スプーラモジュール１０９、及びステータスウィンドウモジュール１１０を備える。すなわち、ソフトウェア９０４は、図１のソフトウェア１０６の設定アプリケーションモジュール１１１及び仮想デバイスサービスモジュール１１２を含まない。そのため、クライアントＰＣ９０１，９０２はＰＣ１０１を介してＭＦＰ１０２，１０３に印刷データを送信する。具体的に、クライアントＰＣ９０１，９０２はＬＡＮ９０３を介してＰＣ１０１の仮想デバイスサービスモジュール１１２に印刷データ特定情報を含む印刷データを送信する。送信された印刷データはさらにＭＦＰ１０２，１０３に送信される。仮想デバイスサービスモジュール１１２では、ＭＦＰ１０２，１０３への印刷データの送信が完了しても、当該印刷データが保持される。また、クライアントＰＣ９０１，９０２は、ＰＣ１０１を介してＭＦＰ１０２，１０３の印刷状況情報を取得可能であり、取得されたＭＦＰ１０２，１０３の印刷状況情報をクライアントＰＣ９０１，９０２の図示しない表示部に表示可能である。このとき、上述した図７と類似した処理を実行可能であり、ＰＣ１０１の仮想デバイスサービスモジュール１１２から印刷データ特定情報を含む印刷データを取得し、取得された印刷データに含まれる印刷データ特定情報に基づいて図７のステップＳ７０４以降の処理を行う。これにより、上述した本実施の形態と同様の効果を奏することができる。
【００５７】
また、上述した本実施の形態では、ＭＦＰ１０２で実行中の印刷ジョブが自ジョブでない場合でも、ＰＣ１０１に表示される操作画面８００においてキャンセルボタン８０４やスキップボタン８０５を選択可能に表示してもよい。例えば、ＭＦＰ１０２で実行中の印刷がクライアントＰＣ９０１から実行が指示された印刷であった場合、クライアントＰＣ９０１には、図８（ｂ）に示すように、キャンセルボタン８０４やスキップボタン８０５が選択可能に表示される。本実施の形態では、ＭＦＰ１０２に直接印刷の実行を指示可能なＰＣ１０１、及びＭＦＰ１０２を介して印刷の実行を指示可能なクライアントＰＣ９０２にもキャンセルボタン８０４やスキップボタン８０５が選択可能な操作画面８００が表示される。これにより、例えば、エラーが発生してＭＦＰ１０２が他の印刷ジョブを受け付け不可能な状態に遷移したにも拘らず、ユーザがクライアントＰＣ９０１からエラーが発生したことを確認できない場合であっても、他のユーザがＰＣ１０１やクライアントＰＣ９０２からエラーが発生したことを確認し、エラーに対応する操作を行うことができる。その結果、他の印刷ジョブが停滞するのを回避することができる。
【００５８】
本発明は、上述の実施の形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読み出して実行する処理でも実現可能である。また、本発明は、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００５９】
１０１  ＰＣ
１０２，１０３  ＭＦＰ
１０８  Ｖ４ドライバモジュール
１０９  Ｗｉｎｄｏｗｓ標準スプーラモジュール
１１０  ステータスウィンドウモジュール
１１２  仮想デバイスサービスモジュール
２０１  ＣＰＵ
４０２  受信モジュール
４０３  ＲＰＣサーバモジュール
４０４  仮想デバイススプーラモジュール
【図１】
2017129961.tif 000003
【図２】
2017129961.tif 000004
【図３】
2017129961.tif 000005
【図４】
2017129961.tif 000006
【図５】
2017129961.tif 000007
【図６】
2017129961.tif 000008
【図７】
2017129961.tif 000009
【図８】
2017129961.tif 000010
【図９】
2017129961.tif 000011