(57)【特許請求の範囲】
【請求項１】
一連の印刷コマンドからなる印刷データをプリンタへ送るものにおいて、
前記印刷データの印刷コマンドを順次に前記プリンタへ送信する送信制御部と、
緊急停止ボタンをユーザに提供し、ユーザによる前記緊急停止ボタンの操作に応答して緊急停止命令を前記送信制御部に与える緊急停止操作部と、
を備え、
前記送信制御部は、前記印刷コマンドを送信している途中で前記緊急停止命令を受けると、前記印刷コマンドの送信を中止し、かつ、同一印刷ジョブにかかる未送信の印刷コマンドを破棄し、さらに印刷中止命令を前記プリンタに送る、
印刷データ送信装置。
【請求項２】
グラフィックユーザインタフェース画面を有し、前記緊急停止ボタンが、前記グラフィックユーザインタフェース画面のデスクトップ上又はアプリケーションウィンドウ上に表示される請求項１記載の印刷データ送信装置。
【請求項３】
一連の印刷コマンドからなる印刷データをプリンタに送信することができるコンピュータにおいて、
印刷キューを有し、印刷キュー内の印刷データを先頭から送出する印刷スプーラと、
前記印刷スプーラから送出された前記印刷データを受け取り、受け取った印刷データの印刷コマンドを順次に送出する送信制御部と、
前記送信制御部から送出された印刷コマンドを前記プリンタへ送信するポートと、
グラフィックユーザインタフェース画面上に緊急停止ボタンを表示し、ユーザによる前記緊急停止ボタンの操作に応答して緊急停止命令を前記送信制御部に与える緊急停止操作部と、
を備え、
前記送信制御部は、前記印刷コマンドを送信している途中で前記緊急停止命令を受けると、前記印刷コマンドの送信を中止し、かつ、前記印刷スプーラから既に受け取った及び将来受け取る同一印刷ジョブにかかる未送信の印刷コマンドを破棄し、さらに印刷中止命令を前記プリンタに送る、
コンピュータ。
【請求項４】
前記緊急停止ボタンが、前記グラフィックユーザインタフェース画面のデスクトップ上又はアプリケーションウィンドウ上に表示される請求項３記載のコンピュータ。
【請求項５】
一連の印刷コマンドからなる印刷データをプリンタへ送る方法において、
前記印刷データの印刷コマンドを順次に前記プリンタへ送信するステップと、
緊急停止ボタンをユーザに提供するステップと、
前記印刷コマンドを送信している途中でユーザが前記緊急停止ボタンを操作すると、前記印刷コマンドの送信を中止し、かつ、同一印刷ジョブにかかる未送信の印刷コマンドを破棄し、さらに印刷中止命令を前記プリンタに送るステップと、
を有する印刷データ送信方法。
【請求項６】
一連の印刷コマンドからなる印刷データをプリンタへ送る方法であって、
前記印刷データの印刷コマンドを順次に前記プリンタへ送信するステップと、
緊急停止ボタンをユーザに提供するステップと、
前記印刷コマンドを送信している途中でユーザが前記緊急停止ボタンを操作すると、前記印刷コマンドの送信を中止し、かつ、同一印刷ジョブにかかる未送信の印刷コマンドを破棄し、さらに印刷中止命令を前記プリンタに送るステップと、
を有する印刷データ送信方法を、
コンピュータに実行させるためのプログラムを担持したコンピュータ読み取り可能な記録媒体。
【請求項７】
プリンタと、一連の印刷コマンドからなる印刷データを前記プリンタへ送る印刷データ送信装置とを備え、
前記印刷データ送信装置は、
前記印刷データの印刷コマンドを順次に前記プリンタへ送信する送信制御部と、
緊急停止ボタンをユーザに提供し、ユーザによる前記緊急停止ボタンの操作に応答して緊急停止命令を前記送信制御部に与える緊急停止操作部と、
を有し、
前記送信制御部は、前記印刷コマンドを送信している途中で前記緊急停止命令を受けると、前記印刷コマンドの送信を中止し、同一印刷ジョブにかかる未送信の印刷コマンドを破棄し、かつ、印刷中止命令を前記プリンタに送り、
前記プリンタは、前記印刷中止命令を受けると、印刷データの処理を中止し、前記プリンタ内の同一印刷ジョブにかかる未処理の印刷データ及び処理途中で生成された中間的データを破棄する印刷システム。
【請求項８】
プリンタと、一連の印刷コマンドからなる印刷データを前記プリンタに送信することができるコンピュータとを備え、
前記コンピュータは、
印刷キューをもち、印刷キュー内の印刷データを先頭から送出する印刷スプーラと、
前記印刷スプーラから送出された前記印刷データを受け取り、受け取った印刷データの印刷コマンドを順次に送出する送信制御部と、
前記送信制御部から送出された印刷コマンドを前記プリンタへ送信するポートと、
グラフィックユーザインタフェース画面上に緊急停止ボタンを表示し、ユーザによる前記緊急停止ボタンの操作に応答して緊急停止命令を前記送信制御部に与える緊急停止操作部と、
を有し、
前記送信制御部は、前記印刷コマンドを送信している途中で前記緊急停止命令を受けると、前記印刷コマンドの送信を中止し、前記印刷スプーラから既に受け取った及び将来受け取る同一印刷ジョブにかかる未送信の印刷コマンドを破棄し、かつ、印刷中止命令を前記プリンタに送り、
前記プリンタは、前記印刷中止命令を受けると、印刷データの処理を中止し、前記プリンタ内の同一印刷ジョブにかかる未処理の印刷データ及び処理途中で生じた中間的なデータを破棄する印刷システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンピュータシステムなどにおいて印刷動作を制御する技術に関わり、特に、印刷ジョブをその実行途中でキャンセルするための技術に関する。
【０００２】
【従来の技術】
図１に示すように、コンピュータシステムなどにおけるホスト１は、プリンタ３を制御するために、通常、ＯＳの一部として、プリンタドライバ５及び印刷スプーラ７を有する。ホストのユーザは、印刷を行いたいとき、プリンタドライバ５を呼び出し、印刷したい文書や画像を指定して印刷実行を命じる。すると、プリンタドライバ５は、その印刷対象の文書や画像をプリンタに印刷させるための印刷データを生成する。印刷スプーラ７は、プリンタドライバ５が生成した印刷データを、ディスクなどのストレージ上の印刷キュー９にスプールした上で、印刷キュー９から印刷データを順に取り出して、所定のポート１１を通じてプリンタ３へ転送する。
【０００３】
プリンタドライバ５に印刷実行を命じた後に、その印刷ジョブを中止したくなった場合、ユーザは、印刷キュー内の印刷ジョブのリストを画面に表示して、そのリストから印刷ジョブを選択し、その選択したジョブの印刷データ削除又は印刷中止をスプーラ７に命じる。これを受けて、スプーラ７は選択された印刷データを印刷キューから削除する。
【０００４】
【発明が解決しようとする課題】
印刷キュー内のジョブリストを画面に表示し、ジョブを選択し、そして印刷データ削除又は印刷中止をスプーラに命じるという印刷中止の操作は、面倒で手間と時間がかかる。この操作に手間取っている間に、中止したい印刷ジョブのデータのプリンタへの送信が開されてしまうことも多い。そうすると、印刷キューからその印刷データを削除することはできなくなるので、印刷を中止することができなくなる。
【０００５】
従って、本発明の目的は、印刷データがプリンタへ送信されている途中でも、ユーザが欲したとき即座にその印刷データの印刷中止が行えるようにすることにある。
【０００６】
【課題を解決するための手段】
本発明の一つの観点に従えば、ホスト側で、印刷を緊急に中止するための緊急停止ボタンを（例えばグラフィックユーザインタフェース画面に表示するなどの態様で）ユーザに予め提供しておき、印刷中は、印刷データである一連の印刷コマンドを順次にプリンタに送りながら、その最中に緊急停止ボタンがユーザに操作されると、印刷コマンドの送信を中止し、かつ、その送信中止した印刷ジョブにかかる未送信の印刷コマンドを破棄する。これにより、ユーザが緊急停止ボタンを押した時点で、ホストに残っている未送信の印刷データはプリンタへ送信されず印刷されない。
【０００７】
好適な実施形態では、緊急停止ボタンが操作されると、ホストはさらに、印刷中止命令をプリンタに送る。すると、プリンタは、当該印刷ジョブの処理を停止、かつ、当該印刷ジョブにかかる未処理の印刷データを破棄する。したがって、緊急停止操作が行われた時点で用紙に印刷中のデータを除いて、以降の印刷データは印刷されない。
【０００８】
本発明にの第２の観点に従うコンピュータは、印刷キュー内の印刷データを先頭から送出する印刷スプーラと、印刷スプーラから送出された印刷データを受け取り、受け取った印刷データの印刷コマンドを順次に送出する送信制御部と、この送信制御部から送出された印刷コマンドをプリンタへ送信するポートと、グラフィックユーザインタフェース画面上に緊急停止ボタンを表示し、ユーザによる緊急停止ボタンの操作に応答して緊急停止命令を送信制御部に与える緊急停止操作部とを備える。そして、送信制御部は、印刷コマンドを送信している途中で緊急停止命令を受けると、印刷コマンドの送信を中止し、かつ、印刷スプーラから既に受け取った及び将来受け取る同一印刷ジョブにかかる未送信の印刷コマンドを破棄する。したがって、印刷スプーラが印刷データの送出を開始した後でも、その印刷ジョブの中止ができる。
【０００９】
本発明の第３の観点に従う印刷データ送信装置は、グラフィックユーザインタフェース画面と、このグラフィックユーザインタフェース画面上に緊急停止ボタンを表示し、ユーザによる緊急停止ボタンの操作に応答して緊急停止命令を発する緊急停止操作部と、緊急停止命令に応答して、印刷を停止するための所定の動作（これは、上述した本発明の緊急停止方法に限らず、従来のスプーラに対する印刷中止動作であってもよい）を行う印刷中止部とを備える。グラフィックユーザインタフェース画面上に緊急停止ボタンが表示されているので、ユーザは必要なときに簡単かつ迅速に緊急停止命令を発することができる。
【００１０】
好適な実施形態では、緊急停止ボタンが、デスクトップ上（デスクトップ周縁にあるタスクバーなどのバー類も含む）またはアプリケーションのウィンドウ上に表示される。これにより、アプリケーション上で作業中に、別のウィンドウやメニューなどを新たに開かなくても、緊急停止ボタンを即座に操作することができる。
【００１１】
本発明は典型的にはコンピュータにより実施することができるが、そのためのコンピュータプログラムは、ディスク型ストレージ、半導体メモリおよび通信ネットワークなどの各種の媒体を通じてコンピュータにインストールまたはロードすることができる。
【００１２】
【発明の実施の形態】
図２は、本発明の一実施形態の構成を示す。
【００１３】
図２に示すように、ホスト２１は例えばパーソナルコンピュータであって、プリンタ２３へ印刷データを転送する作業を行うためのプログラムモジュールとして、プリンタドライバ、印刷スプーラ２７、ランゲージモニタ３１及びポート３５を有している。
【００１４】
プリンタドライバ２５は、ユーザが印刷を行おうとするときに呼び出されて、ユーザから「印刷実行」命令を受けると、ユーザの指定した印刷対象の文書や画像の印刷データを作成する。この印刷データは印刷スプーラ２７に送られる。印刷スプーラ２７は、印刷データを受け取って、ディスク等のストレージ上の印刷キュー２９に書き込んだ後、印刷キュー２９の先頭から印刷データを読み出して送出する。ランゲージモニタ３１は、スプーラ２７から送出された印刷データをホストのメモリ上のデータバッファ３３に一旦受け取り、後に詳述するように、その印刷データの個々の印刷コマンドを解析しつつメモリ内のページデータ領域３４に格納していき、完全な１ページ分の印刷データがページデータ領域３４に揃うと、その１ページ分の印刷データをページデータ領域３４から先頭から順に読み出し送出する。ポート３５は、ランゲージモニタ３１が送出した印刷データを受けてプリンタ２３へ転送する。
【００１５】
さらに、プリンタドライバ２５は、印刷中にそれを緊急に中止するための緊急停止ボタン３７を有している。この緊急停止ボタン３７は、プリンタドライバ２５をホスト２１にインストールした時に自動的に（または、インストール後のユーザによる手動設定によって）グラフィックユーザインタフェース画面の所定場所に表示される。例えば、図３に示すように、グラフィックユーザインタフェース画面５１のデスクトップ上のタスクバー６１等内に、アイコン６３の一つとして緊急停止ボタン３７が表示されてもよいし、或いは、所定のアプリケーションのウィンドウ５３内の所定のツールバー５５内に、ボタン５７の一つとして緊急停止ボタン３７がアドインされてもよい。或いは、図示していないが、デスクトップ内の独立したアイコンとして、或いは、何らかのプルダウンメニュー内にメニュー項目の一つとして、或いは、プリンタドライバ２５のウィンドウ内にボタンの一つとして、それぞれ緊急停止ボタン３７が存在していてもよい。ただ、図３に例示したように、アプリケーションウィンドウ５３上で作業中に即座に操作できる場所に緊急停止ボタン３７が表示されている方が、迅速な操作のために望ましいであろう。いずれにしても、この緊急停止ボタン３７をユーザがマウスなどで操作すると、プリンタドライバ２１は、「緊急停止」命令を、ランゲージモニタ３１に直接（つまり、印刷スプーラ２７を飛び越して）送る。ランゲージモニタ３１は、緊急停止命令３９を受けると、後に詳述するように、直ちに印刷データの送信を停止して代わりに「印刷中止」命令をプリンタ２３に送り、かつ、ページデータ領域３４内の印刷データを消去し、さらに、印刷スプーラ２７からデータバッファ３３受け取った後続の印刷データはデータバッファ３３から読み出して（ページデータ領域３４に書き込むことなく）全て破棄していく。したがって、緊急停止命令３９を受けた後は、ランゲージモニタ３１は印刷データをプリンタ２３へ送らない。
【００１６】
プリンタ２３は、印刷データから各ページの印刷イメージを作成するマイクロコンピュータおよび周辺回路からなるコントローラ４１と、コントローラ４１の作成した印刷イメージを用紙上に印刷する印刷エンジン４７を有する。コントローラ４１は、ホスト２１から転送されてきた印刷データをメモリ上の受信バッファ４３に受けてから、その印刷データを解釈して印刷イメージを作成してメモリ上のイメージバッファ４５に展開する。印刷エンジン４７は、イメージバッファ４５から印刷イメージをＤＭＡにより取り込んで、それを用紙上に印刷する。
【００１７】
コントローラ４１は、ホスト２１から印刷中止命令を受けると、直ちに印刷データの処理を停止して自身の状態を初期化し、受信バッファ内のデータを消去し、現在印刷中のページの印刷が終わった後にイメージバッファ４５および印刷エンジン４７の状態も初期化して、電源投入時の状態に戻る。したがって、印刷中止命令を受けると、プリンタ２３は、その時点で印刷途中のページを印刷し終えて、その印刷ジョブの処理を終えるので、後続のページは印刷しない。
【００１８】
図４は、ランゲージモニタ３１の動作を示す。
【００１９】
まず、印刷途中に緊急停止が行われない通常の場合の動作を説明する。
【００２０】
ランゲージモニタ３１は、スプーラ２７が先頭から単純に送り込んでくる印刷データをデータバッファ３３に受け取った（ステップＳ３）上で、データバッファ３３の先頭から印刷データを頭から取り出して個々の印刷コマンドを解析する（Ｓ４）ことにより、１ページ分の完全な印刷データを受け取り終わったか否かをチェックし（Ｓ５）つつ、その印刷データをコマンド単位で順にページデータ領域３４に順に書き込んでいく（Ｓ６）。印刷コマンドを１つスプーラ２７から受け取る都度、印刷データの終了または印刷中断が生じたか否かのチェック（Ｓ１）、及び緊急停止命令が入力されたか否かのチェック（Ｓ２）を行う。
【００２１】
１ページ分の完全な印刷データが受け取り終わると（Ｓ５でＹＥＳ）、その１ページ分の完全な印刷データを最後までページデータ領域３４に格納した（Ｓ７）上で、次にランゲージモニタ３１は、ページデータ領域３４から印刷データを読み出し（Ｓ１０）、それをコマンド単位で順にポート３５を通じてプリンタ２３へ送信する（Ｓ１１）。印刷コマンドを１つプリンタ２３へ送信する都度、緊急停止命令が入力されたか否かのチェック（Ｓ８）、及び１ページ分の印刷データを全部がプリンタ３へ送信し終わったか否かのチェック（Ｓ９）を行う。１ページ分の印刷データを全部プリンタ２３へ送信し終わると（Ｓ９でＹＥＳ）、ランゲージモニタ３１は、その送信し終わったページの印刷データをページデータ領域１３から消去し、再びステップＳ１へ戻って、スプーラ２７からバッファ３３に後続の印刷データを受け取り（Ｓ３）、それを解析しつつページデータ領域３４に書き込んでいく（Ｓ６）という同様の動作を繰り返す。
【００２２】
スプーラ２７から来る印刷データが終了するかまたは中断すると（つまり、スプーラ２７から印刷データが来ないまま所定時間が経過する、または、スプーラ２７から「印刷終了」または「印刷中断」のメッセージが来ると）（Ｓ１でＹＥＳ）、ランゲージモニタ３１は、データバッファ３３内の印刷データを最後までページバッファ領域１３に書きこみ終えた後に、ステップＳ５のチェック結果に基づいて、ページバッファ領域１３に格納した印刷データがページとして不完全な印刷データのままで終わっていないかチェックする（Ｓ１２）。印刷データが正常に終了した場合は、ページとして完全な状態で印刷データが終わるので（Ｓ１２でＮＯ）、この場合は、前述したステップＳ７以下の動作を続けてページバッファ領域３４内のデータを最後までプリンタ２３へ転送し終えてから、動作を終了する。一方、印刷中断の場合（たとえば、印刷途中でユーザがスプーラ２７に対して印刷中止を命じたような場合）には通常、スプーラ２７から送られてくる印刷データがページの途中で中断されるので（Ｓ１２でＹＥＳ）、ランゲージモニタ３１は、ステップＳ１３へ進み、ページデータ領域３４に残っているページとして不完全なデータを全て消去して、これをプリンタ２３へ転送することなく動作を終了する。
【００２３】
以上のランゲージモニタ３１の動作により、ページとして完全な印刷データだけがプリンタ３に送られ、ページとして不完全なデータがプリンタ２３に送られることはない。
【００２４】
次に、印刷途中で緊急停止命令３９を受けたときのランゲージモニタ３１の動作を説明する。
【００２５】
すでに説明したように、ランゲージモニタ３１は印刷コマンド単位で受け取った印刷データをページデータ領域３４に書き込んだりプリンタ２３へ送信したりしているが、緊急停止命令が入力されると、その時点で印刷コマンドのページデータ領域３４への書き込み及びプリンタ２３への送信を停止して、ステップＳ１４へ進み印刷中止命令をポート３５を通じてプリンタ２３へ送信し、そして、ページデータ領域３４に残っている印刷データを全て消去する（Ｓ１５）。続いて、ランゲージモニタ３１は、データバッファ３３から印刷データを読み出して、各印刷コマンドを解析しつつ（Ｓ１６）、データバッファ３３から取り出した印刷データを（ページデータ領域３４に書き込まずに）破棄する（Ｓ１７）。さらに、スプーラ２７から送り出される後続の印刷データをデータバッファ３３に受け取り（Ｓ１９）、これもデータバッファ３３から読み出して解析しつつ（Ｓ１６）、（ページデータ領域３４に書き込まずに）破棄する（Ｓ１７）。このようにスプーラ２７から印刷データを受け取って破棄するという動作を、スプーラ２７から同一印刷ジョブの印刷データが継続して来る限り繰り返し、印刷データ終了または印刷中断が生じると、動作を終了する。
【００２６】
したがって、印刷中にユーザが緊急停止ボタンを操作すると、その時点でプリンタ２３への印刷コマンドの送信は即座に中止され、代わりに印刷中止命令がプリンタ２３へ送られ、かつ、後続の印刷データはスプーラ２７からは送出されるがランゲージモニタ３１によって破棄されてプリンタ２３には送られない。従来のようにスプーラ２７が送出を開始した印刷データを途中で止めることができずに全てプリンタ２３に送ってしまう、という事態は本実施形態では発生しない。
【００２７】
図５は、印刷中止命令を受けたときのプリンタ２３内のコントローラ４１動作を示す。
【００２８】
プリンタ２３では、印刷中止命令をホスト２１から受けると、コントローラが、自己のシステムメモリをクリアし（Ｓ３１）、印刷データの処理に関わるＣＰＵへの割り込みや、ＤＭＡなどの設定やステータスを解除し（Ｓ３２）、受信バッファ４３をクリアし（Ｓ３３）、そして、印刷エンジン４７が現在印刷中のページの印刷が終わったところで印刷エンジン４７を停止し、イメージバッファ４５もクリアし（Ｓ３４）、プリンタ２３全体を電源投入時の初期状態に戻す（Ｓ３５）。以上の動作により、ユーザが緊急停止ボタンを操作すると、その時点で印刷実行中のページは印刷されるが、後続のページの印刷は回避される。
【００２９】
以上、本発明の一実施形態を説明したが、この実施形態はあくまで本発明の説明のための例示であり、本発明をこの実施形態にのみ限定する趣旨ではない。従って、本発明は、上記実施形態以外の様々な形態でも実施することができる。例えば、上述の実施形態では、プリンタは印刷停止命令を受けると、現在印刷中のページだけを印刷してから後続のページの印刷を中止するが、そうせずに、印刷停止命令を受けた時点で直ちに、或いは現在印刷中の行だけ印刷してから、或いは現在印刷中のバンドだけ印刷してから、印刷中止し排紙するようにしてもよい。
【図面の簡単な説明】
【図１】従来のシステムの構成を示すブロック図。
【図２】本発明の一実施形態の構成を示すブロック図
【図３】緊急停止ボタンの配置場所を説明するためのグラフィックユーザインタフェース画面の一例を示した図。
【図４】ランゲージモニタの動作を示すフローチャート。
【図５】印刷中止命令を受けたときのプリンタ２３の動作を示すフローチャート。
【符号の説明】
２１  ホスト
２３  プリンタ
２５  プリンタドライバ
２７  印刷スプーラ
３１  ランゲージモニタ
３９  緊急停止命令
【図１】
0003620633.tif 000002
【図２】
0003620633.tif 000003
【図３】
0003620633.tif 000004
【図４】
0003620633.tif 000005
【図５】
0003620633.tif 000006