(57)【要約】【目的】ユーザーへのレスポンスを高めることができる印刷装置を提供すること。【構成】プリンタとホストコンピュータ及びそのホストコンピュータ上で動作するプリンタドライバと、ジョブ管理アプリケーションプログラムで構成される印刷装置において、任意のタイミングでユーザーからの印刷キャンセルを受け付ける手段と、任意のタイミングで印刷をキャンセルする手段と、印刷ジョブキャンセルをプリンタドライバに通知する手段と、データ送信をストップする手段と、プリンタに排紙を行わせる手段と、印刷ジョブの最後を示す制御コードを送信してプリンタをアイドル状態に戻す手段と、プリンタドライバは印刷ジョブの最後を示す制御コードを送信した後、印刷ジョブを終了させる手段を設ける。【選択図】      図１
2004216693.tif 000002
【特許請求の範囲】
【請求項１】
プリンタとホストコンピュータ及びそのホストコンピュータ上で動作するプリンタドライバと、ジョブ管理アプリケーションプログラムで構成される印刷装置において、
ジョブ管理アプリケーションプログラムは任意のタイミングでユーザーからの印刷キャンセルを受け付ける手段と、ジョブ管理アプリケーションプログラムは任意のタイミングで印刷をキャンセルする手段と、ジョブ管理アプリケーションプログラムは受け付けた印刷ジョブキャンセルをプリンタドライバに通知する手段と、印刷がキャンセルされたことを通知されたプリンタドライバは未送信の印刷データをコマンドが完結するきりの良いところまで送信してもうこれ以上送信しないようにデータ送信をストップする手段と、プリンタドライバは給紙中、給紙実行制御コマンドを受信しているプリンタに排紙を要求する排紙実行制御コードを送信してプリンタに排紙を行わせる手段と、プリンタドライバは印刷ジョブの最後を示す制御コードを送信してプリンタをアイドル状態に戻す手段と、プリンタドライバは印刷ジョブの最後を示す制御コードを送信した後、印刷ジョブを終了させる手段を有することを特徴とする印刷装置。
【請求項２】
プリンタとホストコンピュータ及びそのホストコンピュータ上で動作するプリンタドライバで構成される印刷装置において、
プリンタドライバは任意のタイミングでユーザーからの印刷キャンセルを受け付ける手段と、プリンタドライバは任意のタイミングで印刷をキャンセルする手段と、印刷がキャンセルされたことを通知されたプリンタドライバは未送信の印刷データをコマンドが完結するきりの良いところまで送信してもうこれ以上送信しないようにデータ送信をストップする手段と、プリンタドライバは給紙中、給紙実行制御コマンドを受信しているプリンタに排紙を要求する排紙実行制御コードを送信してプリンタに排紙を行わせる手段と、プリンタドライバは印刷ジョブの最後を示す制御コードを送信してプリンタをアイドル状態に戻す手段と、プリンタドライバは印刷ジョブの最後を示す制御コードを送信した後、印刷ジョブを終了させる手段を有することを特徴とする印刷装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ステータスモニタ等のジョブ及びプリンタ管理アプリケーション又はサービス（以下、総称してジョブ管理アプリケーションプログラム）と組み合わせて動作するプリンタドライバ、若しくはジョブ管理アプリケーションプログラムと同等の機能を持ったプリンタドライバにおいて、印刷キャンセル時にプリンタドライバによって印刷ジョブを任意にキャンセル可能な印刷装置に関するもである。
【０００２】
【従来の技術】
従来、印刷ジョブをキャンセルする際はＯＳのプリントサービスを利用していた。印刷中はＯＳがプリンタドライバに印刷データを分割して送信するが、印刷がキャンセルされると残りの印刷データがプリンタドライバに送られて来ず、ＯＳは、その印刷ジョブを削除してしまうものであった。
【０００３】
又、ジョブ管理アプリケーションプログラムもＯＳに印刷ジョブをキャンセルすることを通知して印刷をキャンセルさせているため、同様に分割された印字データの途中までしかプリンタドライバには渡されない。
【０００４】
【発明が解決しようとする課題】
このＯＳによる印刷キャンセル処理はプリンタに送信されている印刷データやプリンタの現在の状態をまるで無視し、突然印字データの送信をストップさせ、終了処理を行うようにプリンタドライバに命令するものであるため、プリンタは、残りの印刷データの受信待ちやエラー状態のままで放置されることがあった。
【０００５】
このような問題を回避するためプリンタドライバでは、次に行われる印刷が正常に行われるようにリセット処理等の特別な処理を行う必要があった。
【０００６】
本発明は上記問題に鑑みてなされたもので、その目的とする処は、ユーザーへのレスポンスを高めることができる印刷装置を提供することにある。
【０００７】
【課題を解決するための手段】
本発明の印刷キャンセル処理では上述した課題を解決するために以下の手段を有することを特徴とする。
（１）ユーザーからの印刷キャンセルを受け取るジョブ及びプリンタ管理アプリケーション又はサービス（以下、総称してジョブ管理アプリケーションプログラム）を有する、若しくはジョブ管理アプリケーションプログラムと同等の手段を持ったプリンタドライバを有する。
（２）ユーザーからの印刷キャンセル受け取ったジョブ管理アプリケーションプログラムがプリンタドライバに印刷キャンセルを通知できる手段を有する。
（３）プリンタは、印刷キャンセルを受け付けた後に印刷中の用紙を排紙する手段を有する。
（４）印刷キャンセルを通知されたプリンタドライバは、未送信の印刷データをコマンドが完結するきりの良いところまで送信して、それ以上送信しないようにデータ送信をストップする手段を有する。
（５）プリンタドライバは、印刷ジョブの最後を示す制御コードを送信してプリンタに印刷データの送信終了を通知する手段を有する。
（６）プリンタドライバは、印刷ジョブの最後を示す制御コードを送信した後、印刷ジョブを終了させる手段を有する。
【０００８】
【発明の実施の形態】
以下に本発明の実施の形態を添付図面に基づいて説明する。
【０００９】
図１は本発明の一実施の形態を示す。これはコンピュータ１  とプリンタ２とを接続したシステムの例である。外部インタフェースとしてセントロパラレルインタフェースを用いていたが、ＵＳＢやＳＣＳＩ、ＩＥＥＥ１３９４等の他のインタフェースであっても良い。
【００１０】
コンピュータ１は、入力インタフェース１１とＣＰＵ１２、ＲＯＭ１３、ＲＡＭ１４、外部記憶装置１５、出力インタフェース１６、表示部１７、マウス１８、入出力インタフェース１９とを有する。
【００１１】
ＲＯＭ１３は初期化プログラムが入っており、外部記憶装置１５は図２に示すようにアプリケーションプログラム群３０とＯＳ４０、プリンタドライバ５０等が入っている。
【００１２】
印刷アプリケーションプログラム３１は、作画環境と印刷環境を提供し印刷開始を命令するためのプログラムである。ジョブ管理アプリケーションプログラム３２は、ジョブやプリンタの管理を行い、ユーザーにその情報を報告し、又、ユーザーの命令をプリンタやプリンタドライバ、ＯＳに通知する。データスプールプログラム４１は、生成された印刷データを受け取り、外部記憶装置１５内に一旦蓄積するためのプログラムである。データ送信処理プログラム４２は、蓄積した印刷データを任意のサイズの印刷データブロックに分割してプリンタドライバ５０に繰り返しデータ転送を要求するためのプログラムである。
【００１３】
インタフェース制御プログラム４３は、セントロニクス・パラレルインタフェースを通じてデータ書き込み、読み込みを実際に行い、プリンタ２の受信バッファがフルになった等のデータ受信が即座に実行できない状況においてビジー信号を発行する役割を担うプログラムである。
【００１４】
印刷データ生成プログラム５１は、印刷アプリケーションプログラム３１に従って作画された図柄情報をプリンタコマンドに変換するためのプログラムである。データ送受信制御プログラム５２は、データ送信処理プログラム４２から来るデータ転送要求を受け付け、入力された印刷データブロックをパースしてプリンタコマンドの区切りを検出するプログラムである。ここで検出されたコマンドの区切り位置は後に印刷がキャンセルされた時にコマンドの区切りまで送信する処理のため必要となる。
【００１５】
又、データ送受信制御プログラム５２は、プリンタからのステータス情報をインターフェース制御プログラムを通じて取得することができる。更に、データ送受信制御プログラム５２は、ジョブ管理アプリケーションプログラム３２とメールスロット等、何らかの手段を用いて通信を行っている。
【００１６】
ＲＡＭ１４は、図柄情報記憶部１４ａと印刷データ記憶部１４ｂとプログラムロード領域１４ｃを有し、外部記憶装置１５にストアされる制御プログラムに従って各部を制御するものである。
【００１７】
図３は図１のプリンタ２の構成を示す。
【００１８】
プリンタ２は、インタフェース部２１とＲＡＭ２２、ＲＯＭ２３、ＣＰＵ２４、エンジン２５を有する。インタフェース部２１は、コンピュータ１の入出力インタフェース１９に接続してある。ＲＯＭ２３は、制御プログラムが入っている。ＣＰＵ２４はＲＯＭ２３に入っている制御プログラムに従ってプリンタ２の各部を制御するものである。ＲＡＭ２２は、ＣＰＵ２４の主メモリとワークメモリとして用いられ、受信したデータを一旦保存するための受信バッファを有する。エンジン２５は、ＲＡＭ２２に保存されたデータに基づき印刷を行うものである。
【００１９】
図４は図２のデータ送受信制御プログラム５２の印刷キャンセル処理についてのフローチャートであり、この図を用いて印刷キャンセル処理について説明する。
【００２０】
ステップＳ１にて、ＯＳのデータスプールプログラムが一旦蓄積した印刷データをＯＳのデータ送信処理プログラムが一定のサイズに分割してプリンタドライバのデータ送受信制御プログラムに渡してくる。データ送受信制御プログラムは、この印刷データを受信して続く処理に備える。
【００２１】
ステップＳ２では、ステップＳ１で受信した印刷データをパースし、受信した印刷データの先頭から何バイトでコマンドの区切りの位置となるか検出する。これは後に印刷がキャンセルされた時にコマンドの区切りまで送信する処理ステップＳ７のために必要となる。
【００２２】
ステップＳ３では、プリンタからセントロニクスパラレルインタフェース並びにＯＳのインタフェース制御プログラムを通じてプリンタの現在の印刷ステータスを取得する。
【００２３】
ステップＳ４では、取得したプリンタのステータス情報や印刷ジョブの情報をジョブ管理アプリケーションプログラムに提供し、ステップＳ５で、ジョブ管理アプリケーションプログラムより取得する。
【００２４】
ステップＳ５では、ステップＳ４で取得したジョブ管理アプリケーションプログラムからの情報で印刷ジョブがキャンセルが指示されたかどうかを判断する。キャンセルであれば、ステップＳ７に進み、そうでなけば、Ｓ１で受信した印刷データをプリンタに送信（ステップＳ１３）し、その印刷ジョブ、全ての印刷データをプリンタに送信し終えた場合は、終了する。もし、全ての印刷データを送信していないならば次の印刷データの受信をＯＳのデータ送信処理プログラムに要求する（ステップＳ１５）。
【００２５】
ステップＳ６でジョブ管理アプリケーションプログラムより印刷ジョブキャンセルの要求があった場合、コマンドの区切り位置まで印刷データを送信する。これは次に続く排紙を実行するための制御コードや印刷ジョブの終わりを示す制御コードをプリンタに認識させるために行うレングス調整処理である。具体的には、ステップＳ２で検出したコマンド区切りまでのバイト数を印刷データ先頭から送信する。これを行わずにステップＳ１０，Ｓ１１、排紙実行制御コードやジョブ終了制御コードを送信してもプリンタは受信途中のコマンドの一部と見なしてしまう。
【００２６】
ステップＳ８ではプリンタが既に給紙しているか、又は給紙実行制御コードが既にプリンタに送信されたかどうか判断する。もし、給紙済みや給紙実行制御コードが送信済みであれば、ステップＳ９に進み、今度は既に排紙実行制御コードが送信済みかどうかを判断する。もし送信済みであればステップＳ１１に進み、未だ送信していないなら、ステップＳ１０で排紙実行制御コードをプリンタに送信する。この処理によって給紙中の紙が排紙される。
【００２７】
ステップＳ１１では、印刷ジョブの最後を示す制御コードを送信する。この制御コードによってプリンタはアイドル状態となり、次の印刷ジョブに備える。
【００２８】
ステップＳ１２では、続く印刷データをプリンタドライバに渡すことなく、速やかに印刷ジョブを終了するようにＯＳのデータ送信制御プログラムに要求する。これを受けたデータ送信制御プログラムは、一旦蓄積した印刷データを全て消去して印刷ジョブを終了する。
【００２９】
【発明の効果】
以上の説明で明らかなように、本発明によれば、コマンドの区切り、排紙、ジョブの終了制御コードをプリンタに送信するので次のジョブを正常に行うことができるとともに、キャンセル後の不要な印字データをプリンタに送信しないためユーザーへのレスポンスが良くなる。
【図面の簡単な説明】
【図１】本発明の一実施の形態を示すブロック図である。
【図２】図１の外部記憶装置１５にストアされるプログラムの例を示す図である。
【図３】図１のプリンタ２の構成を示すブロック図である。
【図４】図１のＲＡＭ１４にストアされるプリンタドライバの中のデータ送信プログラムを示すフローチャートである。
【符号の説明】
１          コンピュータ
２          プリンタ
１０      キーボード
１１      入力インタフェース
１２      ＣＰＵ
１３      ＲＯＭ
１４      ＲＡＭ
１４ａ    図柄情報記憶部
１４ｂ    印刷データ記憶部
１４ｃ    プログラムロード領域
１５      外部記憶装置
１６      出力インタフェース
１７      表示部
１８      マウス
１９      入出力インタフェース
【図１】
2004216693.tif 000003
【図２】
2004216693.tif 000004
【図３】
2004216693.tif 000005
【図４】
2004216693.tif 000006