(57)【特許請求の範囲】
【請求項１】
プリンタの印刷環境を設定するための設定情報が先頭に含まれる印刷ジョブデータに基づいて印刷を行うプリンタにおいて、
入力される印刷ジョブデータを記憶する保存手段と、
前記保存手段に対する前記印刷ジョブデータの記憶・読出しを制御する受信データ制御手段と、
前記印刷ジョブデータを先頭から順に解釈して、前記設定情報に応じて前記印刷環境を設定した後に印刷要求を発行する解釈手段と、
前記解釈手段から発行される印刷要求が有効か否かを判定する印刷要求判定手段と、
前記印刷要求判定手段により有効と判定された印刷要求に応じて印刷を行うプリントエンジンと、
印刷中断要求の発生を監視し、前記印刷中断要求が発生した場合は、印刷ジョブデータの処理を終了して印刷を中断させる印刷中断処理手段と、
前記中断された印刷ジョブデータの印刷中断位置情報を管理する印刷中断位置情報管理手段と、を備え、
前記中断された印刷ジョブデータの印刷を再開するときには、
該印刷ジョブデータを前記保存手段から読み出して前記解釈手段に供給し、
前記解釈手段は、前記供給された前記印刷ジョブデータを先頭から順に解釈して、前記設定情報に応じて前記印刷環境を再設定した後に印刷要求を発行し、
前記印刷要求判定手段は、前記印刷中断位置情報を参照することにより、既に印刷されたページに係る印刷要求を無効なものとして破棄し、未印刷のページに係る印刷要求のみを有効なものとして前記プリントエンジンに入力させることを特徴とするプリンタ。
【請求項２】
前記印刷中断位置情報として、印刷済の積算ページ数を用いる請求項１に記載のプリンタ。
【請求項３】
前記印刷中断要求には、少なくとも、割込印刷の発生が含まれている請求項１または請求項２のいずれかに記載のプリンタ。
【請求項４】
前記印刷中断処理手段は、入力される印刷ジョブデータの優先レベルに基づいて、前記割込印刷を許可するか否かを判定する請求項３に記載のプリンタ。
【請求項５】
前記受信データ制御手段は、入力される印刷ジョブデータの優先レベルが所定のレベル以下の場合に該印刷ジョブデータを前記保存手段に記憶させ、前記印刷中断処理手段は、前記割込印刷に係る印刷ジョブデータの優先レベルが前記保存手段に記憶された先行印刷ジョブデータの優先レベル以上の場合に、前記割込印刷を許可する請求項３に記載のプリンタ。
【請求項６】
入力される印刷ジョブデータの属性情報に基づいて前記優先レベルを設定する請求項４または請求項５のいずれかに記載のプリンタ。
【請求項７】
プリンタの印刷環境を設定するための設定情報が先頭に含まれる印刷ジョブデータに基づいて、プリンタにより実行される印刷方法において、
入力される印刷ジョブデータを保存手段に記憶させる第１ステップと、
前記印刷ジョブデータを先頭から順に解釈して、前記設定情報に応じて前記印刷環境を設定した後に印刷要求を発行する第２ステップと、
前記印刷要求に応じてプリントエンジンを駆動することにより印刷を行う第３ステップと、
印刷済みのページ数を積算する第４ステップと、
印刷中断要求が発生したか否かを検出する第５ステップと、
前記印刷中断要求が検出された場合には、前記印刷ジョブデータの処理を終了して印刷を中断させる第６ステップと、
前記中断された印刷ジョブデータの印刷を再開するか否かを判定する第７ステップと、
前記中断された印刷ジョブデータの印刷を再開する場合は、該印刷ジョブデータを前記保存手段から読み出す第８ステップと、
前記読み出された印刷ジョブデータを、先頭から順に解釈して、前記設定情報に応じて前記印刷環境を再設定した後に印刷要求を発行する第９ステップと、
前記発行された印刷要求のうち未印刷のページに係る印刷要求のみを有効とする第１０ステップと、
前記有効とされた印刷要求に応じて前記プリントエンジンを駆動することにより印刷を行う第１１ステップと、を含んでなることを特徴とする印刷方法。
【請求項８】
前記印刷中断要求には、少なくとも、割込印刷の発生が含まれている請求項７に記載の印刷方法。
【請求項９】
前記第５ステップでは、入力される印刷ジョブデータの優先レベルに基づいて前記割込印刷の可否を判定する請求項８に記載の印刷方法。
【請求項１０】
前記第１ステップでは、入力される印刷ジョブデータの優先レベルが所定のレベル以下の場合に該印刷ジョブデータを前記保存手段に記憶させ、前記第５ステップでは、前記割込印刷に係る印刷ジョブデータの優先レベルが前記保存手段に記憶された先行印刷ジョブデータの優先レベル以上の場合に、前記割込印刷を許可する請求項８に記載の印刷方法。
【請求項１１】
プリンタの印刷環境を設定するための設定情報が先頭に含まれる印刷ジョブデータに基づいて印刷を行うプリンタを制御するためのコンピュータプログラムを記録したプログラム記録媒体において、
保存手段に対する印刷ジョブデータの記憶・読出しを制御する受信データ制御機能と、
前記印刷ジョブデータを先頭から順に解釈して、前記設定情報に応じて前記印刷環境を設定した後に印刷要求を発行する解釈機能と、
印刷中断要求が発生したか否かを検出し、前記印刷中断要求を許可する場合は印刷ジョブデータの処理を終了して印刷を中断させる印刷中断処理機能と、
前記中断された印刷ジョブデータの印刷中断位置情報を管理する印刷中断位置情報管理機能と、
前記中断された印刷ジョブデータの印刷を再開する場合に、前記印刷中断位置情報を参照することにより、未印刷のページに係る印刷要求のみを有効と判定し、プリントエンジンに通知させる印刷要求判定機能と、を前記コンピュータに実現させるためのプログラムを前記コンピュータが読取りおよび理解可能な形態で記録したプログラム記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えば、割込印刷等によって中断された印刷ジョブデータの印刷を再開することができるプリンタ及び印刷方法に関する。
【０００２】
【従来の技術】
従来のプリンタは、ホストコンピュータにローカル接続されることが多く、ローカル接続されたプリンタは、単一のホストコンピュータからの印刷ジョブ、即ち、単一の印刷クライアントからのデータのみを処理すればよかった。従って、ある印刷ジョブを印刷中に他の印刷ジョブの処理を行うという割込印刷機能が必要とされることも少なかった。
【０００３】
【発明が解決しようとする課題】
しかし、近年では、LAN（Local Area Network）等のネットワーク環境の普及に伴って、複数のホストコンピュータで複数のプリンタを共有するというネットワーク印刷システムが採用されている。かかる印刷システムでは、あるホストコンピュータから依頼された印刷ジョブを処理している間に、他のホストコンピュータからの印刷ジョブが入力される可能性が高い。割込印刷機能を持たない従来のプリンタでは、印刷ジョブが競合した場合に、先着の印刷ジョブの印刷が終了するまで、他の印刷ジョブの処理を受け付けないが、この場合は、印刷システム全体からみて印刷効率が低下し、使い勝手も低いという問題がある。即ち、印刷終了までに時間のかかる印刷ジョブが先に処理されている間は、印刷時間が短くて済む小さな印刷ジョブであっても処理することができないため、印刷システム全体からみると、印刷待ちの状態におかれる印刷ジョブの数が増大し、使い勝手が低下する。このため、割込機能を備えたプリンタの提供が望まれている。
【０００４】
ところで、割込機能を備えたコピーマシンは従来から知られている。このようなコピーマシンでは、割込要求が発生すると、コピー中のイメージデータをメモリ内に退避させ、割込コピーが終了した後に、中断されたコピーを再開するようになっている。プリンタとコピーマシンとは、イメージデータを用紙に印刷する点で共通するため、コピーマシンに採用された割込機能をプリンタに用いることも考えられる。しかし、コピーマシンは、画像読取り部で読み取られたイメージデータをコピー印刷すれば良いのに対し、プリンタは、ホストコンピュータから入力された印刷データを解釈して印刷出力用のイメージデータを生成する必要がある。即ち、プリンタは、印刷前に、印刷データを解釈して、イメージデータの生成に必要なフォントデータをダウンロード等しなければならず、印刷ジョブ毎に印刷環境を整える必要がある。従って、コピーマシンにおける割込機能を単純にプリンタに適用することはできない。
【０００５】
また、全ての印刷ジョブに対して割込印刷を可能とすると、先行して印刷された印刷ジョブが終了するまでの時間が長くなる可能性があり、使い勝手が低いという問題もある。
【０００６】
一方、割込印刷に限らず、例えば、インクやトナーの残量不足、用紙切れ等の各種印刷中断要求によって、印刷が中断される場合がある。従って、各種の印刷中断要求に応じて中断された印刷を簡易に再開させる機能も求められている。
【０００７】
本発明は、上記のような種々の課題に鑑みなされたものであり、その目的は、中断された印刷を重複印刷することなく再開することができ、簡易な割込印刷機能を実現して、使い勝手を向上できるようにしたプリンタ及び印刷方法を提供することにある。
【０００８】
【課題を解決するための手段】
上記課題を解決するため、本発明に係るプリンタ及び印刷方法では、中断された印刷ジョブデータの印刷を再開するときに、既に印刷されたページに係る印刷要求を無効とし、未印刷のページの印刷要求のみを有効とすることにより、重複印刷を防止して印刷を再開できるようにしている。
【０００９】
請求項１に係る発明では、プリンタの印刷環境を設定するための設定情報が先頭に含まれる印刷ジョブデータに基づいて印刷を行うプリンタにおいて、
入力される印刷ジョブデータを記憶する保存手段と、
前記保存手段に対する前記印刷ジョブデータの記憶・読出しを制御する受信データ制御手段と、
前記印刷ジョブデータを先頭から順に解釈して、前記設定情報に応じて前記印刷環境を設定した後に印刷要求を発行する解釈手段と、
前記解釈手段から発行される印刷要求が有効か否かを判定する印刷要求判定手段と、
前記印刷要求判定手段により有効と判定された印刷要求に応じて印刷を行うプリントエンジンと、
印刷中断要求の発生を監視し、前記印刷中断要求が発生した場合は、印刷ジョブデータの処理を終了して印刷を中断させる印刷中断処理手段と、
前記中断された印刷ジョブデータの印刷中断位置情報を管理する印刷中断位置情報管理手段と、を備え、
前記中断された印刷ジョブデータの印刷を再開するときには、
該印刷ジョブデータを前記保存手段から読み出して前記解釈手段に供給し、
前記解釈手段は、前記供給された前記印刷ジョブデータを先頭から順に解釈して、前記設定情報に応じて前記印刷環境を再設定した後に印刷要求を発行し、
前記印刷要求判定手段は、前記印刷中断位置情報を参照することにより、既に印刷されたページに係る印刷要求を無効なものとして破棄し、未印刷のページに係る印刷要求のみを有効なものとして前記プリントエンジンに入力させることを特徴としている。
【００１０】
ホストコンピュータ等から入力された印刷ジョブデータは、保存手段に記憶される。「保存手段」としては、例えば、ハードディスク装置等の比較的大容量の補助記憶装置が好ましい。印刷ジョブデータは、保存手段に記憶されると共に、解釈手段に送られて解釈される。解釈手段は、印刷ジョブデータを先頭から解釈して印刷ジョブデータの先頭に含まれる設定情報に従ってプリンタの印刷環境を設定し、印刷環境に応じて印刷出力用のイメージデータを生成し、このイメージデータの印刷を要求する。印刷環境とは、例えば、フォントデータが含まれる。印刷要求判定手段は、解釈手段が発行した印刷要求について有効であるか否かを判定し、プリントエンジンは有効と判定された印刷要求に応じて、イメージデータを印刷する。
【００１１】
ここで、例えば、割込印刷等の印刷中断要求が発生すると、印刷中断処理手段は、現在印刷中の印刷ジョブデータの処理を終了させて印刷を中断させる。ここで、印刷ジョブデータの処理を終了させることにより、印刷ジョブデータの解釈に必要なフォントデータ等が消去されてメモリが解放される。印刷ジョブデータの印刷中断位置情報は、印刷中断位置情報管理手段により管理される。
【００１２】
そして、印刷中断事由が解消し、中断された印刷ジョブデータの印刷を再開する場合に、保存手段に保存された印刷ジョブデータが解釈手段に供給され、印刷要求判定手段は、解釈手段から発行される印刷要求のうち、未印刷のページに係る印刷要求のみを有効とする。即ち、印刷再開時に、保存手段に記憶された印刷ジョブデータが解釈手段に供給されると、解釈手段は、必要なフォントデータ等を改めて用意し、印刷ジョブデータを再び先頭ページから解釈して印刷出力用のイメージデータを生成する。ここで、既に印刷されたページの印刷要求も有効なものとして扱うと、プリントエンジンにより重複印刷されるため、印刷要求判定手段は、未印刷のページの印刷要求のみを有効とする。これにより、重複した無駄な印刷物を生じることなく、中断された印刷を再開することができる。
【００１３】
なお、印刷要求判定手段に関しては、少なくとも２つの方法を採用することができる。一つは、通常印刷時にも、印刷要求判定手段によって全ての印刷要求の有効・無効を判定させるものである。通常印刷時に解釈手段から発行される印刷要求は、全て未印刷のページに係る印刷要求であるから、印刷要求判定手段は全ての印刷要求を有効と判定してプリントエンジンに渡すことができる。他の一つは、印刷再開時にのみ、印刷要求判定手段を起動させるものである。上述の通り、通常印刷時には、全ての印刷要求が有効と判定されるため、印刷要求の判定を行う必要がない。そこで、中断された印刷を再開する場合にのみ、印刷要求の判定を行うことができる。請求項１に係る発明は、これら２つの方法を包含している。
【００１４】
また、両面印刷中の印刷ジョブを中断する場合には、表裏いずれかの区切りのよいページを印刷したところで印刷を中断することにより、用紙の無駄を防止することができる。
【００１５】
請求項２に係る発明のように、前記印刷中断位置情報として、印刷済みの積算ページ数を用いることもできる。
【００１６】
印刷済みの積算ページ数とは、同一の印刷ジョブデータ内で既に印刷された通算枚数を意味する。印刷中断位置情報としてページ番号を用いる場合は、複数部数を印刷するときに、印刷中断位置を求めることが難しい。これに対し、印刷済みページ数を用いることにより、複数部数を印刷する場合でも、正確に印刷中断位置を検出することができる。
【００１７】
請求項３に係る発明のように、前記印刷中断要求には、少なくとも、割込印刷の発生を含めることができる。
【００１８】
請求項４に係る発明のように、前記印刷中断処理手段は、入力される印刷ジョブデータの優先レベルに基づいて割込印刷の可否を判定することもできる。
【００１９】
印刷中に他の印刷ジョブデータが入力された場合には、この新たに到着した印刷ジョブデータの割込印刷を常に許可することもできる。しかし、無制限に割込印刷を許可したのでは、先行印刷ジョブデータの印刷終了までに長い時間を要する可能性がある。そこで、印刷ジョブデータが有する優先レベルに基づいて、割込印刷を許可するか否かを判定することにより、適正な割込印刷を行うことができる。
【００２０】
ここで、印刷ジョブデータに優先レベルを与える方法としては、幾つかの方法を採用することができる。例えば、物理インターフェースまたは論理インターフェースが複数用意されている場合は、各インターフェース毎に予め優先レベルを設定しておき、入力に用いられたインターフェースの優先レベルを印刷ジョブデータの優先レベルとすることができる。また、例えば、印刷ジョブデータのヘッダ等に優先レベルを示す情報を予め格納しておくこともできる。さらに、印刷ジョブデータを生成したホストコンピュータに割り当てられたネットワークアドレス毎に予め優先レベルを設定しておくこともできる。また、例えば、後述のように、ページ数等の印刷ジョブデータの属性情報に基づいて動的に優先レベルを設定することも可能である。
【００２１】
なお、ここで、「優先レベルに基づいて」には、割り込まれる印刷ジョブデータの優先レベルと割り込む印刷ジョブデータの優先レベルとを比較する場合に限らず、割り込む印刷ジョブデータの優先レベルと予め設定された所定のレベルとを比較する場合も含む。
【００２２】
請求項５に係る発明のように、前記受信データ制御手段は、入力される印刷ジョブデータの優先レベルが所定のレベル以下の場合に該印刷ジョブデータを前記保存手段に記憶させ、前記印刷中断処理手段は、割込印刷に係る印刷ジョブデータの優先レベルが前記保存手段に記憶された先行印刷ジョブデータの優先レベル以上の場合に、割込印刷を許可することもできる。
【００２３】
入力された印刷ジョブデータを全て保存手段に記憶させるのではなく、所定のレベル以下の優先レベルを有する印刷ジョブデータのみを保存手段に選択的に記憶させる。即ち、優先レベルが低く割り込まれやすい印刷ジョブデータのみを保存手段に記憶させることにより、保存手段の記憶容量を効率的に利用することができる。そして、印刷中断処理手段は、割込印刷に係る印刷ジョブデータの優先レベルと保存手段に記憶された先行印刷ジョブデータの割込印刷レベルとを比較し、割込印刷に係る印刷ジョブデータの優先レベルの方が高いときに、割込印刷を許可する。
【００２４】
請求項６に係る発明のように、入力される印刷ジョブデータの属性情報に基づいて前記優先レベルを設定することもできる。
【００２５】
「印刷ジョブデータの属性情報」とは、例えば、１部あたりのページ数、印刷部数、総データ量、カラー印刷／モノクロ印刷の別、印刷色の使用数、使用するフォントの種類、フォントデータのダウンロード等に必要な時間、フォントデータ等の環境を切り換えるのに必要なスイッチ時間等を挙げることができる。印刷ジョブデータの属性情報に基づいて優先レベルを動的に設定することにより、割り込まれても比較的支障の少ない印刷ジョブデータに対して低い優先レベルを付与する一方、割り込まれることにより印刷終了時間等が増大する印刷ジョブデータに対して高い優先レベルを付与することができ、使い勝手が向上する。
【００２６】
請求項７に係る発明では、プリンタの印刷環境を設定するための設定情報が先頭に含まれる印刷ジョブデータに基づいて、プリンタにより実行される印刷方法において、
入力される印刷ジョブデータを保存手段に記憶させる第１ステップと、
前記印刷ジョブデータを先頭から順に解釈して、前記設定情報に応じて前記印刷環境を設定した後に印刷要求を発行する第２ステップと、
前記印刷要求に応じてプリントエンジンを駆動することにより印刷を行う第３ステップと、
印刷済みのページ数を積算する第４ステップと、
印刷中断要求が発生したか否かを検出する第５ステップと、
前記印刷中断要求が検出された場合には、前記印刷ジョブデータの処理を終了して印刷を中断させる第６ステップと、
前記中断された印刷ジョブデータの印刷を再開するか否かを判定する第７ステップと、
前記中断された印刷ジョブデータの印刷を再開する場合は、該印刷ジョブデータを前記保存手段から読み出す第８ステップと、
前記読み出された印刷ジョブデータを、先頭から順に解釈して、前記設定情報に応じて前記印刷環境を再設定した後に印刷要求を発行する第９ステップと、
前記発行された印刷要求のうち未印刷のページに係る印刷要求のみを有効とする第１０ステップと、
前記有効とされた印刷要求に応じて前記プリントエンジンを駆動することにより印刷を行う第１１ステップと、を含んでなることを特徴としている。
【００２７】
これにより、前記請求項２に係る発明と同様の作用を得ることができる。
【００２８】
請求項８に係る発明のように、前記印刷中断要求には、少なくとも、割込印刷の発生を含めることができる。
【００２９】
請求項９に係る発明のように、前記第５ステップでは、入力される印刷ジョブデータの優先レベルに基づいて割込印刷の可否を判定することもできる。
【００３０】
これにより、前記請求項４に係る発明と同様の作用を得ることができる。
【００３１】
請求項１０に係る発明のように、前記第１ステップでは、入力される印刷ジョブデータの優先レベルが所定のレベル以下の場合に該印刷ジョブデータを前記保存手段に記憶させ、前記第５ステップでは、割込印刷に係る印刷ジョブデータの優先レベルが前記保存手段に記憶された先行印刷ジョブデータの優先レベル以上の場合に、割込印刷を許可することもできる。
【００３２】
これにより、前記請求項５に係る発明と同様の作用を得ることができる。
【００３３】
請求項１１に係る発明では、プリンタの印刷環境を設定するための設定情報が先頭に含まれる印刷ジョブデータに基づいて印刷を行うプリンタを制御するためのコンピュータプログラムを記録したプログラム記録媒体において、保存手段に対する印刷ジョブデータの記憶・読出しを制御する受信データ制御機能と、前記印刷ジョブデータを先頭から順に解釈して、前記設定情報に応じて前記印刷環境を設定した後に印刷要求を発行する解釈機能と、印刷中断要求が発生したか否かを検出し、前記印刷中断要求を許可する場合は印刷ジョブデータの処理を終了して印刷を中断させる印刷中断処理機能と、前記中断された印刷ジョブデータの印刷中断位置情報を管理する印刷中断位置情報管理機能と、前記中断された印刷ジョブデータの印刷を再開する場合に、前記印刷中断位置情報を参照することにより、未印刷のページに係る印刷要求のみを有効と判定し、プリントエンジンに通知させる印刷要求判定機能と、を前記コンピュータに実現させるためのプログラムを前記コンピュータが読取りおよび理解可能な形態で記録している。
【００３４】
ここで、「プログラム記録媒体」には、例えば、フロッピーディスク（FD）、コンパクトディスク（CD-ROM,CD-R）、ハードディスク（HD）、メモリ等の種々の記録媒体を採用することができる。また、これに限らず、例えば、通信回線を介してプログラムをリモートダウンロードする等のように、通信媒体を利用することもできる。
【００３５】
前記所定のプログラムを記録した記録媒体をコンピュータに読み込ませることにより、割込印刷を行わせることができる。
【００３６】
【発明の実施の形態】
以下、図面に基づいて本発明の実施の形態について詳細に説明する。
【００３７】
１．第１の実施の形態
図１〜図３に基づいて、本発明の第１の実施の形態を説明する。ネットワークプリンタとして構成されるプリンタ１は、インターフェース（以下「Ｉ／Ｆ」と略記）２を介して通信回線１００に接続されている。図示を省略しているが、通信回線１００には、複数のホストコンピュータや他のプリンタ等が接続されている。
【００３８】
プリンタ１は、それぞれ後述する如く、Ｉ／Ｆ２と、受信データ制御部４と、補助記憶装置５と、コマンド解釈部６と、割込制御部７と、印刷要求判定部８と、印刷中断位置管理テーブル９と、プリントエンジン１１とを備えて構成されている。
【００３９】
Ｉ／Ｆ２には、ポート番号毎にそれぞれ設けられた受信バッファ３が接続されている。Ｉ／Ｆ２を介して受信された印刷ジョブデータ（図中では、「印刷ジョブ」として示す場合もある）は、ヘッダ内に格納された宛先ポート番号が検査され、各ポート毎に対応した受信バッファ３に一時的に記憶される。
【００４０】
「受信データ制御手段」としての受信データ制御部４は、入力された印刷ジョブデータを補助記憶装置５に保存させると共に、保存された印刷ジョブデータを補助記憶装置５から読み出してコマンド解釈部６に転送するものである。「保存手段」としての補助記憶装置５は、例えば、ハードディスク装置等の比較的大容量の記憶装置から構成されている。なお、ＲＡＭの一部も補助記憶装置として利用することができる。
【００４１】
「解釈手段」としてのコマンド解釈部６は、印刷ジョブデータの各コマンドを解釈して所定の動作を行うものである。即ち、コマンド解釈部６は、印刷ジョブデータの解釈に必要なフォントデータ等を図示せぬメモリにロードした後、印刷ジョブデータの各コマンドを解釈して印刷出力用のイメージデータを生成し、印刷要求を発行する。イメージデータは、イメージメモリ１０に展開される。また、コマンド解釈部６は、プリンタステータスの問い合わせ等の他のコマンドも処理する。
【００４２】
「印刷中断処理手段」としての割込制御部７は、割込の発生を検出し、割込印刷を許可する場合には、現在印刷中の印刷ジョブデータの処理を終了させて、割込印刷を行わせるものである。なお、本実施の形態では、割込印刷制御部７は、原則として全ての割込印刷を許可するようになっている。ここで、「原則として」とは、先行する印刷ジョブデータの印刷終了が近い場合には、割込を拒否できる点を考慮したものである。
【００４３】
「印刷要求判定手段」としての印刷要求判定部８は、コマンド解釈部８から発行された印刷要求を有効とするか無効とするか判定するものである。印刷要求判定部８は、通常の印刷時には、コマンド解釈部６からの印刷要求を全て有効なものとして次処理に通知し、割込印刷発生時には、現在印刷中の印刷ジョブデータに係る次の印刷分の印刷要求を無効なものとして破棄する。また、印刷要求判定部８は、割り込まれた印刷ジョブデータの印刷再開時に、印刷中断位置情報管理テーブル９を参照することにより、コマンド解釈部６から発行された印刷要求のうち未印刷の印刷ページに係る印刷要求のみを有効なものとしてプリントエンジン１１に通知する。
【００４４】
「印刷中断位置情報管理手段」としての印刷中断位置管理テーブル９は、各印刷ジョブデータについて通算何枚の印刷要求が出されたか否か、即ち、各印刷ジョブデータ毎に、通算して何枚の印刷が行われたかを管理するものである。例えば、１０ページのドキュメントを１部だけ印刷する印刷ジョブデータを４ページまで印刷した時点で割込印刷を行う場合、管理テーブル９には「４枚」という情報が格納される。従って、印刷要求判定部８は、印刷中断位置管理テーブル９を参照することにより、既に印刷されたページの印刷要求を破棄し、未印刷のページの印刷要求のみを有効なものとして次処理に通知することができる。なお、印刷中断位置管理テーブル９には、補助記憶装置５における印刷ジョブデータの格納アドレス情報も記憶されている。
【００４５】
プリントエンジン１１は、コマンド解釈部６から発行された印刷要求に応じて、イメージメモリ１０に展開されたイメージデータに基づいた印刷を行うものである。プリントエンジン１１としては、インクジェット式、熱転写式、レーザ式等の種々のものを採用することができる。
【００４６】
次に、図２に基づいて、本実施の形態の作用を説明する。図２は、プリンタ１により実行される印刷処理のフローチャートである。
【００４７】
ステップ（以下、「Ｓ」と略記）１では、入力された印刷ジョブデータを補助記憶装置（図中では「ＨＤ」と略記）５に保存させる。次に、印刷ジョブデータの解釈に必要なフォントデータ等をメモリ上にダウンロードすることにより、解釈のための環境を整え、補助記憶装置５から読み出した印刷ジョブデータを解釈する（Ｓ２）。これにより、印刷出力用のイメージデータが生成されて印刷要求が発行され、プリントエンジン１１により印刷される（Ｓ３）。
【００４８】
プリントエンジン１１により印刷されたページ数（プリントエンジン１１により処理された印刷要求の数）は、印刷中断位置管理テーブル９により管理される（Ｓ４）。そして、印刷ジョブデータの印刷が全て終了したか否かを判定し（Ｓ５）、印刷が終了していない場合は、他の印刷ジョブデータが到着して割込が発生したか否かを判定する（Ｓ６）。割込が発生していない場合は、前記Ｓ２に戻り、次のページのデータを解釈して印刷を行う（Ｓ３，Ｓ４）。
【００４９】
一方、現在処理中の印刷ジョブデータを全て印刷する前に、他の印刷ジョブデータが受信された場合は、前記Ｓ６により「ＹＥＳ」と判定され、先行する印刷ジョブデータの処理を終了して印刷を中断させる（Ｓ７）。即ち、次の印刷分の印刷要求を破棄させると共に、先行印刷ジョブデータの解釈に用いたフォントデータ等をメモリ上から削除してメモリを解放する。即ち、プリンタ１のコンピュータ資源は、新たに受信された印刷ジョブデータの印刷に用いられる。そして、Ｓ２〜Ｓ６を繰り返すことにより、割込印刷を行う。なお、割込印刷に係る印刷ジョブデータも補助記憶装置５に記憶されている。
【００５０】
割込印刷が終了すると、前記Ｓ５で「ＹＥＳ」と判定され、補助記憶装置５から割込印刷に係る印刷ジョブデータが削除される。また、印刷中断位置管理テーブル９からも割込印刷に係る印刷ジョブデータの印刷済み積算ページ数が削除されると共に、メモリ等が解放される。
【００５１】
そして、印刷中断位置管理テーブル９を参照することにより、未処理の印刷ジョブデータがあるか否か、即ち、割込印刷によって印刷が中断された印刷ジョブデータが存在するか否かを判定する（Ｓ９）。未処理の印刷ジョブデータが無い場合は、処理を終了する。未処理の印刷ジョブデータが存在する場合は、印刷中断位置管理テーブル９を参照し、中断された印刷ジョブデータの格納アドレスや印刷済みのページ数等を読み出してセットする（Ｓ１０）。次に、補助記憶装置５から中断された印刷ジョブデータを読出し（Ｓ１１）、必要なフォントデータ等をメモリにダウンロードして解釈環境を整備し、中断された印刷ジョブデータを再び先頭から解釈する（Ｓ１２）。
【００５２】
これにより、割込発生前に既に印刷されたページのデータも再び解釈されて印刷要求が発行される。しかし、次のＳ１３では、印刷中断位置管理テーブル９を参照することにより、既に印刷されたページに係る印刷要求であるか否かが判定され、既に印刷されたページであると判定された場合は、この印刷要求は破棄されて（Ｓ１４）、前記Ｓ１１に戻る。従って、印刷中断前に既に印刷されたページの印刷要求は、Ｓ１１〜Ｓ１４を繰り返すことにより破棄される。そして、未印刷のページに係る印刷要求が発行された場合は、前記Ｓ１３で「ＮＯ」と判定されてＳ３に移り、プリントエンジン１１により印刷される。
【００５３】
図３は、印刷の状況を模式的に示す説明図である。図３（ａ）に示すように、必要なフォントデータ等をメモリにロード等した後に、印刷ジョブデータの各ページのデータが解釈されて印刷されている。ここで、３ページ目の印刷を終了した時点で、新たな印刷ジョブデータが受信されて割込が発生すると、先行する印刷ジョブデータの処理が終了され、フォントデータ等が削除されてメモリが解放される。
【００５４】
次に、図３（ｂ）に示すように、割込印刷に係る印刷ジョブデータの解釈に必要なフォントデータ等を新たに準備した後、割込印刷を行う。割込印刷を終了した場合は、この割込印刷に用いられたフォントデータ等が削除されてメモリが解放される。
【００５５】
そして、図３（ｃ）に示すように、割込印刷によって中断された先行印刷ジョブデータの印刷を再開する。即ち、必要なフォントデータ等をメモリにロード等した後、先頭のページから解釈を行い、各ページ毎に印刷要求を発行する。ここで、１ページ目から３ページ目までは、既に印刷されているため、１〜３ページまでの印刷要求は、印刷要求判定部８により破棄される。そして、まだ印刷されていない４ページ目以降の印刷要求のみが有効なものとしてプリントエンジン１１に通知されることにより、先行印刷ジョブデータの印刷が終了する。
【００５６】
このように構成される本実施の形態によれば、以下の効果を奏する。
【００５７】
第１に、割込が発生した場合には、先行印刷ジョブデータの処理を終了させて割込印刷を実行し、割込印刷終了後には、補助記憶装置５から先行印刷ジョブデータを読み出して先頭のページから解釈し、未印刷のページに係る印刷要求のみを有効なものとしてプリントエンジン１１に通知するため、プリンタ１に搭載されたメモリを十分に利用することができ、簡易な構成で割込印刷を実現することができる。
【００５８】
即ち、印刷再開時には、印刷ジョブデータを先頭から解釈して、必要なフォントデータをメモリにロードする等の印刷環境を整備した上で、印刷処理を再開するため、中断された印刷ジョブデータが使用するフォントデータ等をメモリに保持しておく必要がなく、印刷再開位置の記憶アドレスや使用フォント等を指定するヘッダ部の記憶アドレス等を管理する必要がなく、簡易なデータ処理で割込印刷を実現することができる。換言すれば、本発明は、印刷再開位置のページデータを直接読み出して解釈・印刷するものではないため、印刷再開時の印刷処理時間は多少増大するものの、再開位置のデータを直接指定するためのデータ処理や印刷環境を保持しておくためのメモリ領域等を必要とせず、簡易かつ低コストに割込印刷を行うことができる。なお、例えば、１００枚のドキュメントの９０枚目まで印刷が終了している場合のように、先行する印刷ジョブデータを所定値以上印刷している場合は、割込印刷を拒否することができる。これにより、印刷再開時に破棄される印刷要求の数を少なくすることができ、印刷時間を短縮することができる。
【００５９】
第２に、少ないメモリ量で割込印刷を行うことができる。例えば、プリンタ１に大容量のメモリを搭載しておき、先行する印刷ジョブと割込印刷に係る印刷ジョブとがメモリを共用する構成も考えられる。しかし、この場合は、実際の印刷処理が行われていない印刷ジョブによってメモリが消費されるため、メモリ不足を回避するために大量のメモリを必要とし、十分なメモリが搭載されていない場合は、ワークエリアの不足等によってデータ処理速度が低下する。これに対し、本発明では、先行印刷ジョブデータまたは割込印刷ジョブデータのいずれかによって全てのメモリを使用させることができ、少ないメモリ量で割込印刷を実現することができる。
【００６０】
第３に、印刷済みのページ数を管理することにより印刷再開位置を検出するため、複数部数の印刷を行う場合でも、正確に印刷を再開させることができる。
【００６１】
２．第２の実施の形態
次に、図４〜図６に基づいて本発明の第２の実施の形態を説明する。なお、以下の各実施の形態では、上述した第１の実施の形態の構成要素と同一の構成要素に同一の符号を付し、その説明を省略するものとする。本実施の形態の特徴は、所定の優先レベル以下の印刷ジョブデータのみを補助記憶装置５に記憶させる点にある。
【００６２】
本実施の形態によるプリンタ２１は、入力された全ての印刷ジョブデータを補助記憶装置５に記憶させるのではなく、優先レベルが低く、割り込まれる可能性の高い印刷ジョブデータのみを記憶させている。即ち、受信データ制御部２２は、優先レベル管理テーブル２３を参照することにより、入力された印刷ジョブデータの優先レベルを検査し、この優先レベルが所定レベル以下の印刷ジョブデータのみを補助記憶装置５に記憶させる。
【００６３】
図５に示すように、例えば、優先レベル管理手段として表現可能な優先レベル管理テーブル２３には、各受信ポート毎に予め優先レベルがそれぞれ設定されている。従って、印刷ジョブデータは、転送に用いられたポートによって優先レベルが設定される。
【００６４】
また、本実施の形態における割込制御部２４は、先行する印刷ジョブデータの優先レベルと新たに到着した印刷ジョブデータの優先レベルとを比較し、先行する印刷ジョブデータの優先レベルの方が低い場合にのみ、割込を許可するようになっている。
【００６５】
図６は、本実施の形態による印刷処理のフローチャートである。本処理には、図２と共に上述したＳ１〜Ｓ１４までの全ステップが含まれている。これに加えて、本処理では、まず最初に、受信された印刷ジョブデータの優先レベルが所定のレベル以下であるか否かを判定する（Ｓ２１）。印刷ジョブデータの優先レベルが所定のレベル以下の場合は、この印刷ジョブデータを補助記憶装置５に記憶させる（Ｓ１）。一方、受信された印刷ジョブデータの優先レベルが所定レベルよりも大きい場合は、Ｓ１をスキップし、この印刷ジョブデータを補助記憶装置５に記憶させない。
【００６６】
そして、本実施の形態では、Ｓ６で割込の発生が検出された後、この割込を許可するか否かを判定する（Ｓ２２）。優先レベルが所定レベルよりも高い印刷ジョブデータは、補助記憶装置５に記憶されていないため、優先レベルの高い印刷ジョブデータに対しては、割込印刷は許可されない。Ｓ２２では、補助記憶装置５に記憶されている印刷ジョブデータの優先レベルと新たに受信された印刷ジョブデータの優先レベルとを比較し、新たに受信された印刷ジョブデータの優先レベルの方が高い場合に、割込印刷を許可する。
【００６７】
このように構成される本実施の形態でも、上述した第１の実施の形態と同様の作用を得ることができる。これに加えて、本実施の形態では、優先レベルが低い印刷ジョブデータのみを補助記憶装置５に記憶させると共に、優先レベルに基づいて割込印刷を許可するか否かを決定する。従って、補助記憶装置５の記憶容量を比較的少なくすることができ、また、無制限な割込印刷を禁止して、先行する印刷ジョブデータの処理時間が増大するのを防止することができ、適正な割込印刷を実現することができる。
【００６８】
３．第３の実施の形態
次に、図７〜図１０に基づいて本発明の第３の実施の形態を説明する。本実施の形態の特徴は、入力された印刷ジョブデータの属性を解析することにより、印刷ジョブ毎に優先レベルを動的に設定する点にある。
【００６９】
本実施の形態によるプリンタ３１の割込制御部３２は、例えば、優先レベル設定手段として表現可能な優先レベル設定テーブル３３を参照することにより、入力された印刷ジョブデータの属性に基づいた優先レベルを設定する。また、割込制御部３２によって設定された優先レベルは、優先レベル管理テーブル３４によって管理されている。
【００７０】
図８は、各テーブル３３，３４の概略構成を示す説明図である。優先レベル設定テーブル３３には、印刷ジョブデータから抽出される各属性情報Ａ〜Ｎと、該各属性情報毎に予め設定されたポイント数Ａ〜Ｎとが記憶されている。割込制御部３２は、入力された印刷ジョブデータの属性情報に基づいてポイント数を算出し、この合計ポイント数に基づいて優先レベルを設定することができる。例えば、印刷部数１部毎に１０ポイント、印刷ページ１枚毎に１ポイント、カラー印刷の場合は２０ポイントのように、各属性に応じてポイント数が設定されており、１０ポイント以下は優先レベル１、１１〜２０ポイントまでは優先レベル２のように定めておけば、印刷ジョブデータの属性情報に応じて優先レベルを設定することができる。
【００７１】
そして、各印刷ジョブデータ毎に設定された優先レベルは、優先レベル管理テーブル３４に書き込まれて管理される。
【００７２】
なお、図８では、各属性情報毎にポイント数を定めておき、ポイント数の合計をもって優先レベルを設定する場合を例示したが、本発明はこれに限らず、種々の方法を採用することができる。例えば、印刷枚数等の一つの属性のみに着目して優先レベルを設定してもよい。
【００７３】
次に、図９は、本実施の形態による印刷処理のフローチャートである。本処理では、図２中に示すＳ１〜Ｓ１４までの各ステップを全て備えている。これに加えて、本処理では、まず最初に、印刷ジョブデータの属性情報に基づいて優先レベルを設定する（Ｓ３１）。そして、Ｓ６で割込の発生が検出された場合は、Ｓ３１で設定された優先レベルに基づいて、割込印刷を許可するか否かを判定するようになっている（Ｓ３２）。
【００７４】
図１０は、図９中にＳ３１として示された優先レベル設定処理のフローチャートである。まず、入力された印刷ジョブデータから印刷部数やページ数等の属性情報を抽出して解析し（Ｓ４１）、この解析された属性情報に基づいて優先レベル設定テーブル３３を参照することにより（Ｓ４２）、印刷ジョブデータに割り当てるべき優先レベルを設定する（Ｓ４３）。そして、この設定された優先レベルを優先レベル管理テーブル３４に記憶して管理させる。従って、図９中のＳ３２では、優先レベル管理テーブル３４を参照することにより、割込印刷を許可するか否かを判定することができる。
【００７５】
このように構成される本実施の形態でも、上述した第１の実施の形態と同様の効果を得ることができる。これに加えて、本実施の形態では、印刷ジョブデータの属性情報に基づいて優先レベルを設定するため、印刷ジョブデータの属性に応じて適正な割込印刷を行うことができる。
【００７６】
４．第４の実施の形態
次に、図１１及び図１２に基づいて本発明の第４の実施の形態を説明する。本実施の形態の特徴は、トナー残量不足や用紙切れ等の印刷中断要求によって中断された印刷を再開させる点にある。
【００７７】
本実施の形態によるプリンタ４１では、割込印刷のみならず、トナー不足や用紙切れ等の各種印刷中断要求に応じて印刷の中断処理を行う印刷中断処理部４２が設けられている。即ち、印刷中断処理部４２には、用紙切れを検出する用紙センサ４３と、トナー残量を検出するトナーセンサ４４と、操作パネル上のリセットスイッチ（図中ではスイッチを「ＳＷ」と略記）４５とからの信号がそれぞれ入力されるようになっている。印刷中断処理部４２は、用紙切れ、トナー不足、リセット要求、割込印刷等の各種印刷中断要求が発生すると、印刷中の印刷ジョブデータを終了させる。
【００７８】
図１２のフローチャートは、本実施の形態による印刷処理を示す。本処理では、図２中のＳ１〜Ｓ５，Ｓ８，Ｓ１０〜Ｓ１４の各ステップを備えている。本処理では、Ｓ６に代えて、印刷中断要求が発生したか否かを判定し（Ｓ５１）、印刷中断要求が発生した場合は、印刷を終了させる（Ｓ５２）。次に、例えば、トナーや用紙等が補充されることにより、印刷中断要求が解消されたか否かを判定し（Ｓ５３）、印刷中断要求が解消された場合には、中断された印刷があるか否かを判定する（Ｓ５４）。中断された印刷がある場合は、この印刷ジョブデータを再度読み出して解釈し、既に印刷されたページの印刷要求を破棄することにより、重複印刷を行わずに印刷を再開させる（Ｓ１０〜Ｓ１４）。
【００７９】
このように構成される本実施の形態でも、上述した第１の実施の形態と同様の効果を得ることができる。これに加えて、本実施の形態では、割込印刷以外の印刷中断要求にも対応できるため、使い勝手を一層向上させることができる。
【００８０】
なお、当業者であれば、前記各実施の形態に記載された本発明の要旨の範囲内で種々の追加、変更等が可能である。例えば、図１中に示すように、記録媒体ＭＭに所定のプログラムを記憶させておき、該プログラムをプリンタにロードすることにより、本発明を実現することもできる。記録媒体としては、例えば、ＲＯＭ，ＦＤ，ＣＤ−ＲＯＭ，メモリカード等の種々の有形的記憶媒体のほか、通信ネットワークを介してダウンロードさせる通信媒体をも含む。
【００８１】
また、図１３に示す変形例のように、割込印刷を行う場合は、先行印刷ジョブデータの印刷に用いた出力トレイとは別の出力トレイに切り換えて割込印刷を行い（Ｓ６１）、中断された印刷ジョブデータの印刷を再開する場合には、元の出力トレイに切り換えて（Ｓ６２）排紙させることもできる。
【００８２】
【発明の効果】
以上説明した通り、本発明に係るプリンタ及び印刷方法によれば、印刷を再開するときに、既に印刷されたページの印刷要求を破棄し、未印刷のページの印刷要求のみを有効なものとして扱うため、印刷ジョブデータを解釈するために必要なフォントデータ等を保持しておく必要がなく、簡易な構成で割込印刷を実現することができ、重複印刷を防止しつつ印刷を再開することができる。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態に係るプリンタのブロック図である。
【図２】印刷処理を示すフローチャートである。
【図３】割込印刷時の印刷状況を模式的に示す説明図である。
【図４】本発明の第２の実施の形態に係るプリンタのブロック図である。
【図５】優先レベル管理テーブルの構成を示す説明図である。
【図６】印刷処理を示すフローチャートである。
【図７】本発明の第３の実施の形態に係るプリンタの説明図である。
【図８】優先レベル設定テーブル及び優先レベル管理テーブルの構成をそれぞれ示す説明図である。
【図９】印刷処理を示すフローチャートである。
【図１０】優先レベル設定処理を示すフローチャートである。
【図１１】本発明の第４の実施の形態に係るプリンタのブロック図である。
【図１２】印刷処理を示すフローチャートである。
【図１３】本発明の変形例に係る印刷処理を示すフローチャートである。
【符号の説明】
１  プリンタ
４  受信データ制御部
５  補助記憶装置
６  コマンド解釈部
７  割込制御部
８  印刷要求判定部
９  印刷中断位置管理テーブル
１１  プリントエンジン
２１  プリンタ
２２  受信データ制御部
２３  優先レベル管理テーブル
２４  割込制御部
３１  プリンタ
３２  割込制御部
３３  優先レベル設定テーブル
３４  優先レベル管理テーブル
４１  プリンタ
４２  印刷中断処理部
【図１】
0003896689.tif 000002
【図２】
0003896689.tif 000003
【図３】
0003896689.tif 000004
【図４】
0003896689.tif 000005
【図５】
0003896689.tif 000006
【図６】
0003896689.tif 000007
【図７】
0003896689.tif 000008
【図８】
0003896689.tif 000009
【図９】
0003896689.tif 000010
【図１０】
0003896689.tif 000011
【図１１】
0003896689.tif 000012
【図１２】
0003896689.tif 000013
【図１３】
0003896689.tif 000014