(57)【要約】【課題】  印刷ジョブの印字データが印刷ジョブの最初の送信処理でジョブエンドコマンドを含む印刷データの全てを送信できるようなデータである場合において、データ送信直後本体ジョブキャンセルされた場合にでも確実に「読み捨て中」のステータスを取得でき、ジョブの終了を確認できるという印刷ジョブ管理方法を提供する。【解決手段】  印刷ジョブの最初の印字データがジョブエンドコマンド含む印刷データの全てを送信できると判断された場合、ジョブエンドコマンド除いた印字データとジョブエンドコマンドとに必ず分けてプリンタに送信する。【選択図】  図５
2009217354.tif 000002
【特許請求の範囲】
【請求項１】
印刷装置と印刷装置と接続された情報処理装置およびその情報処理装置上で動作するプリンタドライバで構成される印刷システムにおいて、
印刷装置は、
前記情報処理装置にステータスを返却するステータス返却手段と、
前記印刷装置は、前記情報処理装置から送信されてきた印字データを解析する印字データ解析手段とを備え、
前記印刷システムは、前記情報処理装置から前記印刷装置にステータスの返却を要求するステータス要求手段と、
前記ステータス要求手段によって取得したステータスを解析するステータス解析手段と、
1回のデータ送信可能量を取得するデータ送信可能量取得手段と、
送信する印刷ジョブのデータが前記データ送信可能量取得手段で取得したデータ送信可能量と比較して、1度に印刷ジョブのデータの全てを送れるかどうかを判断する判断手段と、
前記判断手段によって印刷ジョブのデータを1度に送れると判断された場合、印刷ジョブのデータをジョブエンドコマンドの前までの印刷ジョブの第１の印字データと、ジョブエンドコマンド部のみの第２の印字データに分割する印字データ分割手段と、
前記印字データ分割手段によって分割された第２の印字データを、前記印刷装置に前記第１の印字データを送信した後に、前記ステータス要求手段により前記印刷装置のステータスを取得し、前記ステータス解析手段によりステータスを解析した結果、「読み捨て中」または「ジョブ中」のステータスを確認してから前記第２の印字データを送信する印字データ送信手段とを有することを特徴とする印刷システム。
【請求項２】
印刷装置と印刷装置と接続された情報処理装置およびその情報処理装置上で動作するプリンタドライバで構成される印刷システムにおいて、
印刷装置は、
前記情報処理装置にステータスを返却するステータス返却手段と、
前記印刷装置は、前記情報処理装置から送信されてきた印字データを解析する印字データ解析手段とを備え、
前記印刷システムは、
前記情報処理装置から前記印刷装置にステータスの返却を要求するステータス要求手段と、
前記ステータス要求手段によって取得したステータスを解析するステータス解析手段と、
1回のデータ送信可能量を取得するデータ送信可能量取得手段と、
送信する印刷ジョブのデータが前記データ送信可能量取得手段で取得したデータ送信可能量と比較して、1度に印刷ジョブのデータの全てを送れるかどうかを判断する判断手段と、
前記判断手段によって印刷ジョブのデータを1度に送れると判断された場合、印刷ジョブのデータのジョブエンドコマンド部を除いて、前記データ送信可能量取得手段によって取得した1回のデータ送信可能量と同じサイズかそれ以上のサイズになるように印刷ジョブのデータにダミーデータを付加して前記印刷装置に送信する印刷ジョブデータ送信手段とを有することを特徴とする印刷システム。
【請求項３】
前記データ送信可能量取得手段は、前記情報処理装置と前記印刷装置とを接続している通信インターフェースの種類によって判断することを特徴とする請求項１、又は請求項２に記載の印刷システム。
【請求項４】
前記データ送信可能量取得手段は、前記印刷装置の空きバッファ量から判断することを特徴とする請求項１、又は請求項２に記載の印刷システム。
【請求項５】
印刷装置と印刷装置と接続された情報処理装置およびその情報処理装置上で動作するプリンタドライバで構成される印刷システムの情報処理方法において、
印刷装置は、
前記情報処理装置にステータスを返却するステータス返却手段と、
前記印刷装置は、前記情報処理装置から送信されてきた印字データを解析する印字データ解析手段とを備え、
前記印刷システムは、前記情報処理装置から前記印刷装置にステータスの返却を要求するステータス要求手段と、
前記ステータス要求手段によって取得したステータスを解析するステータス解析手段と、
1回のデータ送信可能量を取得するデータ送信可能量取得手段と、
送信する印刷ジョブのデータが前記データ送信可能量取得手段で取得したデータ送信可能量と比較して、1度に印刷ジョブのデータの全てを送れるかどうかを判断する判断手段と、
前記判断手段によって印刷ジョブのデータを1度に送れると判断された場合、印刷ジョブのデータをジョブエンドコマンドの前までの印刷ジョブの第１の印字データと、ジョブエンドコマンド部のみの第２の印字データに分割する印字データ分割手段と、
前記印字データ分割手段によって分割された第２の印字データを、前記印刷装置に前記第１の印字データを送信した後に、前記ステータス要求手段により前記印刷装置のステータスを取得し、前記ステータス解析手段によりステータスを解析した結果、「読み捨て中」または「ジョブ中」のステータスを確認してから前記第２の印字データを送信する
ことを特徴とする印刷システムの情報処理方法。
【請求項６】
印刷装置と印刷装置と接続された情報処理装置およびその情報処理装置上で動作するプリンタドライバで構成される印刷システムの情報処理方法において、
印刷装置は、
前記情報処理装置にステータスを返却するステータス返却手段と、
前記印刷装置は、前記情報処理装置から送信されてきた印字データを解析する印字データ解析手段とを備え、
印刷システムは、前記情報処理装置から前記印刷装置にステータスの返却を要求するステータス要求手段と、
前記ステータス要求手段によって取得したステータスを解析するステータス解析手段と、
1回のデータ送信可能量を取得するデータ送信可能量取得手段と、
送信する印刷ジョブのデータが前記データ送信可能量取得手段で取得したデータ送信可能量と比較して、1度に印刷ジョブのデータの全てを送れるかどうかを判断する判断手段と、
前記判断手段によって印刷ジョブのデータを1度に送れると判断された場合、印刷ジョブのデータのジョブエンドコマンド部を除いて、前記データ送信可能量取得手段によって取得した1回のデータ送信可能量と同じサイズかそれ以上のサイズになるように印刷ジョブのデータにダミーデータを付加して前記印刷装置に送信することを特徴とする印刷システムの情報処理方法。
【請求項７】
前記データ送信可能量取得手段は、前記情報処理装置と前記印刷装置とを接続している通信インターフェースの種類によって判断することを特徴とする請求項５、又は請求項６に記載の印刷システムの情報処理方法。
【請求項８】
前記データ送信可能量取得手段は、前記印刷装置の空きバッファ量から判断することを特徴とする請求項５、又は請求項６に記載の印刷システムの情報処理方法。
【請求項９】
請求項５から請求項８までのいずれかに記載された情報処理方法をコンピュータに実行させるためのプログラム。
【請求項１０】
請求項９記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は印刷システムにおける情報処理方法、印刷ジョブの管理方法に関する。
【背景技術】
【０００２】
従来、プリンティングシステムは、出力を可能とするプリンタと、そのプリンタを制御し印刷ジョブのデータを生成するホストコンピュータと、その双方を接続する通信インターフェースとから構成されるのが一般的である。ホストコンピュータではオペレーティングシステムが動作しており、各種のソフトウェアがこのオペレーティングシステム上で動作するようになっている。アプリケーションソフトウェアで作成した各種ドキュメントを印刷する際には、アプリケーションソフトウェア、プリンタドライバ、オペレーティングシステムが規定の手順で関数呼び出し等を行うことによってデータをやり取りしてプリンタコマンドを生成し、生成されたプリンタコマンドをプリンタへ転送することで印刷が行われるようになっている。プリンタドライバのランゲージモニタは、オペレーティングシステムが提供する通信機能を用いてプリンタと双方向通信を行う。そのことにより、プリンタのステータスの取得を可能とし、ランゲージモニタが随時プリンタに問い合わせて(ポーリングで)ステータスの遷移を確認することにより、印刷ジョブを管理している。
【０００３】
例えばプリンタは通常、印字データを受信するとステータスを「ジョブ中」に更新する。印刷ジョブ途中で印刷ジョブキャンセルされた場合は、プリンタはステータスを印字データを廃棄し続ける「読み捨て中」に変更し、ジョブエンドコマンド発見後、ジョブ終了処理を行い、ステータスを「アイドル中」に変更し、次のジョブを受付可能な状態にする。
【０００４】
このとき、ランゲージモニタでは、プリンタに印字データを送信後、ポーリングでのステータス確認しており、ステータスが「読み捨て中」であればジョブエンドコマンドを送信する(既に送信している場合は必要なし)。その後、「アイドル中」のステータスを確認するまで待機し、「アイドル中」のステータスが確認できれば、ジョブを終了する。
【０００５】
まとめるとランゲージモニタは、プリンタの「ジョブ中」から「ジョブ終了」というステータス遷移を確認することによりジョブ終了を判断し、本体ジョブキャンセルされた場合は、「読み捨て中」から「アイドル状態」というステータス遷移を確認することによりジョブの終了を判断している。
【０００６】
上記の例として、下記特許文献１をあげることが出来る。
【特許文献１】特開2002-200825号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかし、ジョブの最初の印字データ送信処理でジョブエンドコマンドまで入ってしまうような小さな印刷ジョブの場合、印字データ送信直後に本体ジョブキャンセルが行われると、ステータスが「読み捨て中」になっている時間が短くなってしまう。このときのランゲージモニタとプリンタの動作を表した時系列を図１に示す。一度にジョブエンドコマンドまで含んだ印字データを送信すると、次にランゲージモニタがポーリングでプリンタのステータスを取得する前に、「読み捨て中」から「アイドル中」にステータスが遷移してしまう。すると、プリンタドライバは「読み捨て中」のステータスを取得できず、「アイドル中」のステータスしか取得できなくなってしまう。結果、プリンタドライバは「読み捨て中」から「アイドル中」に遷移したことが確認できないので、ジョブを終了できなくなってしまうという問題があった。
【０００８】
本発明は上記の課題を解決するためになされたもので、ジョブの最初の印字データ送信処理で一度に印字データの全てを送信できると判断された場合、最初の印字データ送信処理でジョブエンドコマンドを送信せずに、印字データとジョブエンドコマンドを分けてプリンタに送信することによって、本体ジョブキャンセルされた際、「読み捨て中」のステータスを必ず取得でき、確実にジョブの終了を確認できるという印刷ジョブ管理方法を提供することである。
【課題を解決するための手段】
【０００９】
上記の課題を解決するために、本発明の第一の情報処理装置は、印刷装置と印刷装置と接続された情報処理装置およびその情報処理装置上で動作するプリンタドライバで構成される印刷システムにおいて、印刷装置は、前記情報処理装置にステータスを返却するステータス返却手段と、前記印刷装置は、前記情報処理装置から送信されてきた印字データを解析する印字データ解析手段と、印刷システムは、前記情報処理装置から前記印刷装置にステータスの返却を要求するステータス要求手段と、前記印刷システムは、前記ステータス要求手段によって取得したステータスを解析するステータス解析手段と、前記印刷システムは、1回のデータ送信可能量を取得するデータ送信可能量取得手段と、前記印刷システムは、送信する印刷ジョブのデータが前記データ送信可能量取得手段で取得したデータ送信可能量と比較して、1度に印刷ジョブのデータの全てを送れるかどうかを判断する判断手段と、前記印刷システムは、前記判断手段によって印刷ジョブのデータを1度に送れると判断された場合、印刷ジョブのデータをジョブエンドコマンドの前までの印刷ジョブの第１の印字データと、ジョブエンドコマンド部のみの第２の印字データに分割する印字データ分割手段と、前記印刷システムは、前記印字データ分割手段によって分割された第２の印字データを、前記印刷装置に前記第１の印字データを送信した後に、前記ステータス要求手段により前記印刷装置のステータスを取得し、前記ステータス解析手段によりステータスを解析した結果、「読み捨て中」または「ジョブ中」のステータスを確認してから前記第２の印字データを送信する印字データ送信手段と、を有することを特徴とする。
【００１０】
上記の課題を解決するために、本発明の第二の情報処理装置は、印刷装置と印刷装置と接続された情報処理装置およびその情報処理装置上で動作するプリンタドライバで構成される印刷システムにおいて、印刷装置は、前記情報処理装置にステータスを返却するステータス返却手段と、前記印刷装置は、前記情報処理装置から送信されてきた印字データを解析する印字データ解析手段と、印刷システムは、前記情報処理装置から前記印刷装置にステータスの返却を要求するステータス要求手段と、前記印刷システムは、前記ステータス要求手段によって取得したステータスを解析するステータス解析手段と、前記印刷システムは、1回のデータ送信可能量を取得するデータ送信可能量取得手段と、前記印刷システムは、送信する印刷ジョブのデータが前記データ送信可能量取得手段で取得したデータ送信可能量と比較して、1度に印刷ジョブのデータの全てを送れるかどうかを判断する判断手段と、前記印刷システムは、前記判断手段によって印刷ジョブのデータを1度に送れると判断された場合、印刷ジョブのデータのジョブエンドコマンド部を除いて、前記データ送信可能量取得手段によって取得した1回のデータ送信可能量と同じサイズかそれ以上のサイズになるように印刷ジョブのデータにダミーデータを付加して前記印刷装置に送信する印刷ジョブデータ送信手段と、を有することを特徴とする。
【００１１】
上記の課題を解決するために、本発明の第三の情報処理装置は、前記情報処理装置と前記印刷装置とを接続している通信インターフェースの種類によって判断することを特徴とする。
【００１２】
上記の課題を解決するために、本発明の第四の情報処理装置は、前記印刷装置の空きバッファ量から判断することを特徴とする。
【００１３】
上記の課題を解決するために、本発明の第五の情報処理方法は、印刷装置と印刷装置と接続された情報処理装置およびその情報処理装置上で動作するプリンタドライバで構成される印刷システムにおいて、印刷装置は、前記情報処理装置にステータスを返却するステータス返却手段と、前記印刷装置は、前記情報処理装置から送信されてきた印字データを解析する印字データ解析手段と、印刷システムは、前記情報処理装置から前記印刷装置にステータスの返却を要求するステータス要求手段と、前記印刷システムは、前記ステータス要求手段によって取得したステータスを解析するステータス解析手段と、前記印刷システムは、1回のデータ送信可能量を取得するデータ送信可能量取得手段と、前記印刷システムは、送信する印刷ジョブのデータが前記データ送信可能量取得手段で取得したデータ送信可能量と比較して、1度に印刷ジョブのデータの全てを送れるかどうかを判断する判断手段と、前記印刷システムは、前記判断手段によって印刷ジョブのデータを1度に送れると判断された場合、印刷ジョブのデータをジョブエンドコマンドの前までの印刷ジョブの第１の印字データと、ジョブエンドコマンド部のみの第２の印字データに分割する印字データ分割手段と、前記印刷システムは、前記印字データ分割手段によって分割された第２の印字データを、前記印刷装置に前記第１の印字データを送信した後に、前記ステータス要求手段により前記印刷装置のステータスを取得し、前記ステータス解析手段によりステータスを解析した結果、「読み捨て中」または「ジョブ中」のステータスを確認してから前記第２の印字データを送信する印字データ送信手段と、を有することを特徴とする。
【００１４】
上記の課題を解決するために、本発明の第六の情報処理方法は、印刷装置と印刷装置と接続された情報処理装置およびその情報処理装置上で動作するプリンタドライバで構成される印刷システムにおいて、印刷装置は、前記情報処理装置にステータスを返却するステータス返却手段と、前記印刷装置は、前記情報処理装置から送信されてきた印字データを解析する印字データ解析手段と、印刷システムは、前記情報処理装置から前記印刷装置にステータスの返却を要求するステータス要求手段と、前記印刷システムは、前記ステータス要求手段によって取得したステータスを解析するステータス解析手段と、前記印刷システムは、1回のデータ送信可能量を取得するデータ送信可能量取得手段と、前記印刷システムは、送信する印刷ジョブのデータが前記データ送信可能量取得手段で取得したデータ送信可能量と比較して、1度に印刷ジョブのデータの全てを送れるかどうかを判断する判断手段と、前記印刷システムは、前記判断手段によって印刷ジョブのデータを1度に送れると判断された場合、印刷ジョブのデータのジョブエンドコマンド部を除いて、前記データ送信可能量取得手段によって取得した1回のデータ送信可能量と同じサイズかそれ以上のサイズになるように印刷ジョブのデータにダミーデータを付加して前記印刷装置に送信する印刷ジョブデータ送信手段と、を有することを特徴とする。
【００１５】
上記の課題を解決するために、本発明の第七の情報処理方法は、前記情報処理装置と前記印刷装置とを接続している通信インターフェースの種類によって判断することを特徴とする。
【００１６】
上記の課題を解決するために、本発明の第八の情報処理方法は、前記印刷装置の空きバッファ量から判断することを特徴とする。
【発明の効果】
【００１７】
上記構成によれば、ジョブの最初の印字データ送信処理で一度に印字データの全てを送信できるような小さな印字データであっても、本体ジョブキャンセル時にステータスの「読み捨て中」を必ず取得することができ、確実にジョブの終了が行えるジョブ管理方法を提供することができる。また、上記構成ではプリンタ本体の動作処理を変更することなく、プリンタドライバのみの処理の対応で実現可能であると共に、一度に印字データの全てを送信できるような小さな印字データであるために、上記構成を実現しても印刷処理のパフォーマンスを落とすことなく確実にジョブ終了が行えるジョブ管理方法を提供することが可能である。
【発明を実施するための最良の形態】
【００１８】
次に、本発明の詳細を実施の形態の記述に従って説明する。
【００１９】
以下、添付図面を参照して本発明の好適な実施の形態を詳しく説明する。尚、以下の実施の形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施の形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【００２０】
＜実施形態１＞
本実施形態のコンピュータ装置の構成について、図２を参照して説明する。
【００２１】
図２はインクジェットプリンタとＰＣを接続した例である。PCとインクジェットプリンタは直接USB等のI/Fにより接続してもよいし、ネットワーク上のサーバーＰＣに接続されたプリンタに対して接続する形態でもよい。またはプリンタを直接ネットワークに接続し、ネットワーク上のＰＣからアクセスする形態であってもよい。
【００２２】
図３は上記インクジェット記録装置に送信する印刷データを作成し、プリンタの異常状態、および警告を表示するホスト装置の一例であるホストコンピュータの構成を示した図である。
【００２３】
ホストコンピュータ１００には、インクジェットプリンタなどのプリンタ１０４が接続されている。
【００２４】
ホストコンピュータ１００は、ワードプロセッサ、表計算、インターネットブラウザなどのアプリケーションソフトウェア１０１を有する。印刷を行う場合、アプリケーションソフトウェア１０１によって発行される出力画像を示す各種描画処理命令群（イメージ描画命令、テキスト描画命令およびグラフィクス描画命令）は、オペレーティングシステム(ＯＳ)１０２を介して、プリンタドライバ１０３へ入力される。プリンタドライバ１０３は、それら描画命令群を処理して印刷データを作成しプリンタ１０４に印刷させるソフトウェアである。
【００２５】
ホストコンピュータ１００は、上記のソフトウェアはＨＤＤ１０５、またはＲＯＭ１０８に記憶されておりＲＡＭ１０７に読み出されて、ＣＰＵ１０６に実行される。なお、図２に示すホストコンピュータ１００として一般に普及しているIBM AT互換機のパーソナルコンピュータを使用することを想定する。そして、そのようなパーソナルコンピュータに、印刷機能を有する任意のアプリケーションソフトウェア１０１をインストールし、プリンタ１０４を接続した形態を想定する。
【００２６】
ホストコンピュータ１００では、アプリケーションソフトウェア１０１により、文字などのテキストに分類されるテキストデータ、図形などのグラフィクスに分類されるグラフィクスデータ、写真画像などに分類されるイメージ画像データなどを用いて出力画像データが作成される。そして、出力画像データに基づく画像を印刷する場合、アプリケーションソフトウェア１０１は、ＯＳ１０２に印刷出力要求を行い、テキストデータ部はテキスト描画命令、グラフィクスデータ部分はグラフィクス描画命令、イメージ画像データ部分はイメージ描画命令で構成される描画命令群をＯＳ １０２に発行する。
【００２７】
OS １０２はアプリケーションソフトウェア１０１から印刷出力要求を受けると、プリンタドライバ１０３に描画命令群を渡す。プリンタドライバ１０３はＯＳ１０２から渡される印刷出力要求および描画命令群を処理して、プリンタ１０４が印刷処理可能な印刷データを作成し、その印刷データをプリンタ１０４に送る。ホストコンピュータ１００とプリンタ１０４は例えばUSB（Universal Serial Bus）のような双方向通信が可能なインターフェースにより接続される。
【００２８】
次に、図４は本発明の実施形態における印刷システムのソフトウェア（主にプリンタドライバ）の構成を示すブロック図である。本図において、アプリケーション１０１は文書を作成し、その文書を印刷するためにユーザインタフェースドライバ２０３にプリンタシステムの機能を問い合わせた後、ＯＳの印刷サービス２０２を含む印刷システムに印刷開始を通知する。ここでＯＳの印刷サービス２０２は、アプリケーション１０１から印刷開始の通知を受けると、ユーザインタフェースドライバ２０３にアプリケーション１０１による印刷開始の印刷イベントを通知する。続いてアプリケーション１０１は印刷対象の文書の印刷データをＯＳの印刷サービス２０２に供給し印刷処理を続行する。ＯＳの印刷サービス２０２を経由した印刷データはスプールファイル２０４に格納される。プリントプロセッサ２０５は、スプールファイル２０４から印刷データを読み出し、その印刷データはグラフィクスドライバ２０６を介した後、ランゲージモニタ２０７に送られる。ランゲージモニタ２０７は、プリンタ１０４と双方向通信を行いながら、印刷データをプリンタ１０４へと送信する。ランゲージモニタ２０７は随時、プリンタ１０４が保持しているステータスの情報を受信する。またランゲージモニタ２０７は、プリンタから受信した情報や送信する印刷データを元に、現在のプリンタや印刷の状況をステータスモニタ２０９に伝える。ステータスモニタ２０９は、プリンタや印刷の状況を表示するのみでなく、何らかの理由により印刷が中断されている場合は、対処選択肢をユーザに提示し、それに対するユーザからのレスポンス入力を受け取り、ランゲージモニタ２０８に伝達する。上記のソフトウエアはＨＤＤ１０５、またはＲＯＭ１０８に記憶されておりＲＡＭ１０７に読み出されて、ＣＰＵ１０６に実行される。
【００２９】
ここから本発明の詳細な処理を説明する。詳しいランゲージモニタ２０７の処理の流れを図５に示す。まず印刷ジョブが開始されたら、ランゲージモニタ２０７は最初の印字データを受信すると（Ｓ５０１）、そのデータにエンドジョブコマンドが含まれているかどうかを確認する（Ｓ５０２）。もし含まれていなければ、プリンタ１０４にＳ５０１で受信した印字データを送信する（Ｓ５０９）。そしてランゲージモニタ２０７はステータス取得後（Ｓ５１０）、印字データを再度受信し（Ｓ５１１）、プリンタ１０４に印刷データを送信する（Ｓ５１２）。再度ジョブエンドコマンドが含まれているかを確認し（Ｓ５１３）、含まれていればジョブ終了見届け処理（ステータスをポーリングで取得し、「ジョブ終了」になるまで待つ）を行い（Ｓ５１４）、ジョブを終了する。Ｓ５０２において、ジョブエンドコマンドが最初の印字データに含まれていれば、その印刷ジョブがジョブの最初の送信処理で全ての印字データをプリンタ１０４に送信できるかを確認する。まず、受信した印字データのサイズ（バイト数）を調べる（Ｓ５０３）。次にＳ５０３で調べた印字データのサイズが1度にプリンタ１０４に送信できるかどうかを判断する（Ｓ５０４）。この判断する方法は、ホストコンピュータ１００とプリンタ１０４とを接続している通信インターフェースの種類によって判断することができる。例えば、ホストコンピュータ１００とプリンタ１０４がUSBで接続されているとすれば４Kバイトまでのデータを1度に送信することができるので、印字データのバイト数が４K以下であれば1度に送信できると判断できる。ホストコンピュータ１００とプリンタ１０４がどのような通信インターフェースで接続されているかを取得する手段はここでは詳しく説明はしない。他の方法として、プリンタ１０４の受信バッファの空き容量を調べて、印字データのブロックと比較する判断方法も考えることができる。当然判断方法はこの２つに限定されるものではなく、他の判断方法も本件に含まれることは言うまでもない。以上より、1度に印字データを送信できるかどうかを判断し、もし1度に送信できないと判断された場合は、Ｓ５０９からＳ５１４を行う。1度に送信できると判断された場合、プリンタ１０４に印字データを送信し（Ｓ５０５）、ポーリングでステータスを取得し続け（Ｓ５０６）、ステータスが「読み捨て中」か「ジョブ中」になるまで待つ（Ｓ５０７）。ステータスが「読み捨て中」か「ジョブ中」であることが確認できれば、ジョブエンドコマンドのみをプリンタ１０４に送信する（Ｓ５０８）。そして、ジョブ見届け処理（ステータスをポーリングで取得し続け、「アイドル中」になるのと待つ）を行い（Ｓ５１４）、ジョブを終了する。
【００３０】
＜実施形態２＞
本体ジョブキャンセル時の「読み捨て中」から「アイドル中」というステータスの遷移の確認を確実に行うことができる別の方法を図６に示す。
【００３１】
まず印刷ジョブが開始されたら、ランゲージモニタ２０７は最初の印字データを受信し（Ｓ６０１）、そのデータにエンドジョブコマンドが含まれているかどうかを確認する（Ｓ６０２）。もし含まれていなければ、プリンタ１０４にＳ６０１で受信した印字データを送信する（Ｓ６０９）。ランゲージモニタ２０７はステータス取得（Ｓ６１０）後、印字データを再度受信し（Ｓ６１１）、プリンタ１０４に送信する（Ｓ６１２）。再度ジョブエンドコマンドが含まれているかを確認し（Ｓ６１３）、含まれていればジョブ終了見届け処理に入り（Ｓ６１４）、ジョブを終了する。（補足だがＳ６１４の見届け処理は、Ｓ５１４と同様の処理である。）Ｓ６０２において、ジョブエンドコマンドが最初の印字データに含まれていれば、その印刷データが一度の送信処理でプリンタ１０４に送信できるかを確認する。まず、受信した印字データのサイズ（バイト数）を調べる（Ｓ６０３）。次にＳ６０３で調べた印字データのバイト数が1度に全てプリンタ１０４に送信できるかどうかを判断する（Ｓ６０４）。この判断方法は実施例１でも説明したとおり、通信インターフェースの種類やプリンタ１０５にプリンタ受信バッファの空き容量が考えられ、この2つ以外の方法でもよい。この判断方法により、1度に送信できないと判断された場合は、Ｓ６０９からＳ６１４を行う。1度に送信できると判断された場合、印字データのジョブエンドコマンドの前に、ジョブエンドコマンドを除いた印字データのサイズが一度に送信可能なサイズと同じまたはそれ以上になるようにダミーデータを付加する（Ｓ６０５）。例えば、一度に送信可能なサイズが４Kバイトで、ジョブエンドコマンドを除いた印字データのサイズが３Kバイトだとすると、印字データに１Kバイトのダミーデータを付加して合計４Kバイトとするということである。このようにダミーデータを付加することで、印字データを１度に送信することができず、必ず２度に分けて送信することができる(ジョブエンドコマンドは２度目の送信にすることができる)。このダミーデータを付加したジョブエンドコマンドなしの印字データをプリンタ１０４に送信する（Ｓ６０６）。そして、プリンタ１０４のステータスを取得する（Ｓ６０７）。この時点で、プリンタはダミーデータを含む印字データの解析中なはずである。すると、ステータスは「ジョブ中」、または本体ジョブキャンセルが行われてれば「読み捨て中」になっているはずなので、少なくともこの２つのどちらかのステータスを取得できる。プリンタ１０４にジョブエンドコマンド（を含む印字データ）を送信して（Ｓ６０８）、ジョブ終了見届け処理を行い（Ｓ６１４）、ジョブを終了する。
【００３２】
＜実施形態３＞
本発明の目的は前述した実施例の機能を実現するソフトウエアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵまたはＭＰＵ）が記録媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することとなり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００３３】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤなどを用いることができる。
【００３４】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施例の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳなどが実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれることは言うまでもない。
【００３５】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書きこまれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【００３６】
【図１】本体ジョブキャンセル時のプリンタの処理とプリンタドライバ（ランゲージモニタ）の処理の関係を示す図である。
【図２】プリンタとＰＣの接続環境の構成例を示す図である。
【図３】画像処理装置の構成例を示すブロック図である。
【図４】プリンタドライバ内のモジュールと処理フローを示す図である。
【図５】本発明が適用できる実施形態における実施例１の処理フローを示す図である。
【図６】本発明が適用できる実施形態における実施例２の処理フローを示す図である。
【図１】
2009217354.tif 000003
【図２】
2009217354.tif 000004
【図３】
2009217354.tif 000005
【図４】
2009217354.tif 000006
【図５】
2009217354.tif 000007
【図６】
2009217354.tif 000008