JP4364475B2 - Printing device - Google Patents

Printing device Download PDF

Info

Publication number
JP4364475B2
JP4364475B2 JP2002052436A JP2002052436A JP4364475B2 JP 4364475 B2 JP4364475 B2 JP 4364475B2 JP 2002052436 A JP2002052436 A JP 2002052436A JP 2002052436 A JP2002052436 A JP 2002052436A JP 4364475 B2 JP4364475 B2 JP 4364475B2
Authority
JP
Japan
Prior art keywords
printing
data
print job
print
descriptor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2002052436A
Other languages
Japanese (ja)
Other versions
JP2003246102A (en
Inventor
由高 西山
Original Assignee
株式会社沖データ
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社沖データ filed Critical 株式会社沖データ
Priority to JP2002052436A priority Critical patent/JP4364475B2/en
Publication of JP2003246102A publication Critical patent/JP2003246102A/en
Application granted granted Critical
Publication of JP4364475B2 publication Critical patent/JP4364475B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Facsimiles In General (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Record Information Processing For Printing (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、主記憶メモリ以外にハードディスクやフラッシュメモリ等の大容量の不揮発の外部記憶手段を内蔵した印刷装置に関する。
【0002】
【従来の技術】
一般に、印刷装置は、大きく2つのユニットで構成されている。1つは、用紙、封筒、OHPシート等の物理的な記録媒体を吸引および搬送し、その上にインク、トナー等を用いて白黒やカラーの像を形成する印刷ユニットである。もう1つは、ホストコンピュータから印刷データを受信し、この印刷データを処理して前記記録媒体上の像を表すデータ(以下、ビデオデータという)を生成し、前記印刷ユニットを制御しながら前記ビデオデータを前記印刷ユニットへ送信する制御ユニットである。
通常、印刷ユニットは、印刷前の記録媒体を格納しておく入力トレイを1つまたは複数有しており、入力トレイごとに異なるサイズや種類の記録媒体、例えばA4サイズの厚紙、B5サイズの薄紙、封筒、OHPシート等を収納できる。また、印刷ユニットは、印刷後の記録媒体の排出先となる1つまたは複数の出力ビンを有している。例えば、印刷面を上にして排出するための出力ビンや印刷面を下にして排出するための出力ビン、あるいは複写機と同様の複数段の出力ビンを有している。
【0003】
ホストコンピュータが、1ページまたは複数ページで構成される文書を印刷するために印刷装置へ送信するデータ(以下、印刷ジョブデータという)は、通常、印刷に用いる記録媒体の指定、記録媒体を吸引する入力トレイおよび搬出先の出力ビンの指定、あるいは印刷時の解像度の指定、印刷部数の指定等を行うためのジョブ制御コマンドと、そのジョブに属する各ページのページデータと、データの終わりを示すジョブ終端データで構成される。また、各ページデータは、通常、ビットマップ、JPEG、TIFF等の画像データ形式や、文字コード、画像データ、描画コマンド等を含むページ記述言語形式等で送信される。ページデータには、ジョブ制御コマンドと同様に、そのページの印刷に用いる記録媒体や入力ビンを指定するための制御コマンドが含まれている場合もある。
【0004】
制御ユニットは、前記ジョブ制御コマンドを解釈して、印刷の際に印刷ユニットに指定する記録媒体のサイズ、種類、入力トレイ、出力ビン、データの解像度等に関する印刷制御パラメータを取得する。また、ページデータに含まれる画像データの変換やページ記述言語コマンドの解釈・実行等の処理を行い、印刷ユニットへ送出するビデオデータを生成する。
【0005】
ビデオデータの形式としては、印刷ユニットごとに種々の形式があるが、例えば、白黒印刷装置ならば、ビットマップまたはそのビットマップを圧縮した形式が考えられるが、カラー印刷装置ならばシアン、マゼンタ、イエロー、ブラックといった色成分ごとのビットマップあるいは前記色成分ごとのビットマップを圧縮した形式が考えられる。
制御ユニットでは、ビデオデータが生成されると、前記印刷制御パラメータに従って、印刷ユニットに記録媒体の吸引と搬送を指示し、印刷ユニット内での記録媒体の走行に同期して、前記ビデオデータを印刷ユニットへ送出する。
以上のように、制御ユニットは、印刷ジョブデータの受信以降印刷ユニットからの記録媒体の排出までを制御する。
【0006】
図14は、従来の印刷装置の構成を示すブロック図である。この印刷装置1401は、制御ユニット1402と印刷ユニット1403で構成されている。制御ユニット1402は、CPU1404、ROM1405、RAM1406、ホストインタフェース(I/F)デバイス1407、ビデオインタフェース(I/F)デバイス1408、およびコマンドインタフェース(I/F)デバイス1409で構成されている。ROM1405には、制御ユニット1402の機能を実現するためのプログラムが格納されており、それはCPU1404によって実行される。RAM1406は、主メモリであり、受信データやビデオデータを格納する領域や、ROM1405に格納されているプログラムが使用する作業領域が割り振られる。制御ユニット1402は、ホストインタフェースデバイス1407を介してホストコンピュータ1400と接続されており、ホストコンピュータ1400が送信した印刷ジョブデータを受信する。この印刷ジョブデータは、制御ユニット1402内で処理され、ビデオデータが生成される。制御ユニット1402は、コマンドインタフェースデバイス1409を通じて前記ビデオデータを印刷ユニット1403へ送信する。また、印刷ユニット1403からの記録媒体の排出や異常状態の発生等の通知も、コマンドインタフェースデバイス1409を通じて制御ユニット1402へ送信される。
【0007】
このように構成された従来の印刷装置1401では、ホストコンピュータ1400から送信された印刷ジョブデータを受信した順に、前記のような処理手順に従って印刷処理が行われるため、印刷中の印刷ジョブデータがある場合には、その印刷ジョブデータの印刷が終了するか、印刷中の印刷ジョブデータを途中で破棄するまで、次の印刷ジョブデータを処理することができなかった。
【0008】
【発明が解決しようとする課題】
近年、ホストコンピュータ・印刷装置間のデータ通信には、LANやUSB等の高速インタフェースが採用されており、また、制御ユニットに備えられるCPUの動作も高速化されてきているため、印刷ジョブデータの受信と、その解釈・実行によるビデオデータの生成過程が高速化されている。特に、主要なデータが文字であって、1ページ当たりのデータが少ないビジネス文書等の印刷では、ホストコンピュータからの印刷ジョブデータの送信開始から印刷ユニットでの最終ページの排出までの印刷処理工程で、最も時間を要する処理は、印刷ユニット内での記録媒体の吸引、搬送および印刷の工程である。印刷ユニットの処理速度(通常1分当たりの印刷枚数を表すPPM値が用いられる)が全体の処理時間を決定することになるのである。
【0009】
また、昨今、印刷装置の処理速度の向上および印刷装置に収納できる記録媒体の大容量化に伴って、LAN等のネットワークを介して、複数のホストコンピュータから印刷装置へ印刷ジョブデータを送信することによって、1台の印刷装置を複数のホストコンピュータあるいは複数の利用者間で共用する利用形態が増えてきた。また、印刷される文書に含まれるページ数も増加している。
【0010】
このような形態の印刷装置では、印刷ジョブデータが集中している時間帯や、ページ数の多い印刷ジョブデータの印刷処理を行っている場合には、後から印刷ジョブデータを送信した利用者は印刷処理完了まで長く待たされるケースが多くなる。これでは、急を要する文書の印刷を行いたい場合に不都合が生じる。このような場合には、印刷装置に装着されているオペレータ用のパネルを操作して、印刷処理中の印刷ジョブデータを破棄(キャンセル)することも考えられるが、共有された印刷装置では、印刷処理中の印刷ジョブデータが誰の指示によるものかも分からないため、印刷ジョブデータを破棄すること自体が許されない状況にある。そのため、共有されている印刷装置では、印刷処理中の印刷ジョブデータを途中で破棄することなく中断して、優先度の高い印刷ジョブデータを先に処理し、その後に中断した印刷ジョブデータの処理を再開できる機能が望まれている。
【0011】
そこで、本発明は上記のような従来技術の有する問題点に鑑みなされたものであり、その目的は、受信した印刷ジョブデータの先後を問わず、その印刷ジョブデータの処理順序を任意に決定できる印刷装置を提供することにある。
【0012】
【課題を解決するための手段】
〈構成1〉
上記目的を達成するため、本発明の印刷装置は、印刷処理を実行するための印刷手段と、上位装置から印刷ジョブを受信するための受信手段と、受信した印刷ジョブを解読して該ジョブに含まれる各ページを印刷処理可能なビデオデータに順次展開する翻訳手段と、各ビデオデータを展開順に記憶するためのビデオデータ記憶手段と、ビデオデータ記憶手段に各ビデオデータが記憶される毎に印刷手段が各ビデオデータ印刷処理を順次実行するよう制御する印刷制御手段とを備える印刷装置であって、ユーザから中断指示を受け付けるための処理中断ボタンを有する操作入力パネルと、ビデオデータを退避させるための記憶手段とを備え、印刷制御手段は、印刷手段の印刷処理を実行中に処理中断ボタンの押下を検知すると、印刷手段に印刷処理を中断させると共に、翻訳手段に印刷未処理の残ページを解読させてビデオデータに展開させて該残ページ分のビデオデータを記憶手段に退避させ、印刷手段に次の印刷ジョブに基づく印刷処理を実行させて該印刷処理の終了を検知すると、記憶手段の残ページ分のビデオデータを印刷手段に印刷処理させるべく供給することを特徴とする。
【0015】
【発明の実施の形態】
以下、図示した一実施形態により本発明を詳細に説明する。
〈実施の形態1〉
図1は、本実施の形態にかかる印刷装置のハードウェア構成を示すブロック図である。本実施の形態の印刷装置101は、CPU104、ROM105、RAM106、ホストインタフェース(I/F)デバイス107、ビデオインタフェース(I/F)デバイス108、コマンドインタフェース(I/F)デバイス109、ディスクインタフェース(I/F)デバイス110、オペレータパネルインタフェース(I/F)デバイス111からなる制御ユニット102と、カットされた用紙や封筒、OHPシート等の記録媒体上にトナーやインク等を用いて白黒やカラーの像を形成する印刷ユニット103と、ビデオデータを格納するための外部記憶ユニット112と、制御ユニット102や印刷ユニット103に発生するエラーや警報等のメッセージを表示したり、ユーザが印刷処理中の印刷ジョブデータを中断させるためのボタン操作を行うオペレータパネル113と、を含み構成されている。
【0016】
ROM105には、制御ユニット102の機能を実現するためのプログラムが格納されており、これはCPU104によって実行される。RAM106は、主メモリであり、受信データやビデオデータを格納する領域や、ROM105に格納されているプログラムが使用する作業領域が割り振られる。制御ユニット102は、ホストインタフェースデバイス107を介してホストコンピュータ100と接続されており、ホストコンピュータ100が送信した印刷ジョブデータを受信する。この印刷ジョブデータは、制御ユニット102内で処理され、ビデオデータが生成される。このとき生成されるビデオデータの形式としては、例えば、白黒印刷装置ならば1ページ分のビットマップデータあるいはそのビットマップデータを圧縮した後のデータを用いることができる。また、カラー印刷装置の場合には、例えば、1ページ内のシアン、マゼンタ、イエロー、ブラック等の色成分ごとのビットマップデータまたはそのビットマップデータを圧縮した後のデータをビデオデータとすることができる。制御ユニット102は、そのビデオデータをコマンドインタフェースデバイス109を介して印刷ユニット103へ送信する。
【0017】
外部記憶ユニット112は、ディスクインタフェースデバイス110を介して制御ユニット102と接続されており、制御ユニット102からのビデオデータを書き込みまたは読み出しすることができるようになっている。この外部記憶ユニット112はできるだけ大容量のものが好ましく、例えばハードディスクを採用することが考えられる。外部記憶ユニット112内のビデオデータの格納形式としては、例えば、外部記憶ユニット112内にビデオデータを読み書きするための固定長の大容量ランダムアクセスファイルを1つ作成し、ファイルの先頭から印刷処理する順にビデオデータを書き込む形式が好ましい。
【0018】
印刷ユニット103は、制御ユニット102から、コマンドインタフェースデバイス109を介して記録媒体の吸引や印刷のための搬送開始等のタイミングに関する印刷コマンドを受信するとともに、ビデオインタフェースデバイス108を介してビデオデータを受信し、記録媒体の搬送に同期して記録媒体上に前記ビデオデータで表現された像を形成していく。また、印刷ユニット103は、印刷中の記録媒体が排出されたことや、異常が発生したこと等をコマンドインタフェースデバイス109を介して制御ユニット102へ通知する。具体的には、制御ユニット102に対して割り込みを発生させたり、メッセージを送信したりする。
【0019】
制御ユニット102が受信した印刷ユニット103からの記録媒体の排出や異常状態の発生等の通知と、制御ユニット102自身に発生した異常等の通知は、オペレータパネルインタフェースデバイス111を介してオペレータパネル113へ通知され、そのディスプレイ上にメッセージが表示される。また、オペレータパネル113のボタンの押下状態は、制御ユニット102がオペレータパネルインタフェースデバイス111を介して定期的に検出する。
【0020】
次に、印刷装置101を構成する制御ユニット102内のモジュール構成について説明する。制御ユニット102内のモジュールはソフトウェアであり、そのプログラムは図1に示したROM105内に格納されており、これはCPU104によって実行される。図2は、この制御ユニット102内のモジュール構成を示すブロック図である。制御ユニット102は、印刷ジョブデータ受信モジュール201、印刷データ翻訳モジュール202、印刷制御モジュール203およびオペレータパネル監視モジュール204を有しており、各モジュールはそれぞれ独立して動作することが可能である。また、データ受信領域として、受信バッファ205とジョブ記述子スタック206が設けられている。受信バッファ205は、ホストコンピュータ100から受信した印刷ジョブデータを図1に示したRAM106内に書き込み、または前記RAM106内に書き込まれてた印刷ジョブデータを書き込まれた順に読み出すことができる。なお、この印刷ジョブデータの読み書きは排他的に行われる。
【0021】
ジョブ記述子スタック206内の構成は、各印刷ジョブデータに対して1つずつ生成されるジョブ記述子を生成された順に積み上げた配列となっており、ジョブ記述子スタック206へのジョブ記述子の追加削除は排他的に行われる。図3は、ジョブ記述子スタック206の構成の一例を示す図である。ここでは、2つのジョブ記述子301、302が格納されているジョブ記述子スタック206を示している。ジョブ記述子301が印刷中断された印刷ジョブデータを表し、ジョブ記述子302が現在印刷処理がなされているものより後に受信された印刷ジョブデータを表している。また、印刷ジョブポインタ300は、現在印刷中の印刷ジョブデータを示すポインタであり、印刷中の印刷ジョブデータがない場合には0に設定される。
【0022】
ジョブ記述子301は、ページ記述子リスト301aと、ジョブ終端検出フラグ301bと、印刷中断フラグ301cを備えている。ページ記述子リスト301aは、印刷ジョブポインタ300が示す印刷ジョブデータに属するページのページ記述子301a−1、301a−2、…を印刷処理を行う順に配列したものである。ジョブ終端検出フラグ301bは、ページ記述子リスト301aに印刷ジョブポインタ300が示す印刷ジョブデータに属するすべてのページ記述子が配列されている場合には1に、さもなくば0に設定されるフラグである。印刷中断フラグ301cは、印刷ジョブポインタ300が示す印刷ジョブデータの処理が中断された場合には1に、さもなくば0に設定されるフラグである。また、ジョブ記述子302もこのジョブ記述子301と同様に構成されている。
【0023】
ページ記述子が新しく生成されると(例えば、ページ記述子301a−n)、新しく生成されたページ記述子301a−nは、それが所属するページ記述子リスト301aの最後に追加されていく。また、印刷ユニット103内でページデータの印刷は、ページ記述子リスト301aの先頭のページ記述子301a−1から順に行われる。ページ記述子301a−1の印刷処理が終了すると、ページ記述子301a−1はページ記述子リスト301aから削除される。
【0024】
図4は、このページ記述子301a−1の構成の一例を示す図である。ページ記述子301a−1は、外部記憶フラグ301a−1aと、格納位置ポインタ301a−1bを備えている。外部記憶フラグ301a−1aは、前記印刷データ翻訳モジュール202が、印刷ジョブデータに含まれる画像データや文字コード、描画コマンド等を翻訳・実行することによって生成した1ページ分のビデオデータが、外部記憶ユニット112に格納されている場合には1に、制御ユニット102内の主メモリであるRAM106上にある場合には0に設定されるフラグである。格納位置ポインタ301a−1bは前記ビデオデータの格納位置(RAM106上にあるか外部記憶ユニット112内にあるか)を指し示すものである。
【0025】
本実施の形態の印刷装置101では、印刷ジョブデータ受信モジュール201は、ホストインタフェースデバイス107を介して、ホストコンピュータ100が送信した印刷ジョブデータを受信し、この印刷ジョブデータを受信バッファ205に書き込む。また、印刷ジョブデータ受信モジュール201は、受信バッファ205が一杯になった場合あるいは一杯になりかけた場合には、ホストインタフェースデバイス107を介してホストコンピュータ100へ印刷ジョブデータの送信停止要求信号を送る。また、受信バッファ205から印刷ジョブデータが読み出されて空き容量ができると、印刷ジョブデータ受信モジュール201は、ホストコンピュータ100へ印刷ジョブデータの送信再開要求信号を送る。ホストコンピュータ100から送られてくる印刷ジョブデータには、印刷データ翻訳モジュール202が、印刷ジョブデータの境界の検出が可能なように、印刷ジョブデータの終わりを示す所定の終端マーク用のデータやコマンドを付与してある。また、印刷ジョブデータの先頭にその印刷ジョブデータの長さを付与しても同様の効果がある。
【0026】
印刷データ翻訳モジュール202は、受信バッファ205からの印刷ジョブデータの最初のデータを受信した際に、図3に示したジョブ記述子301を生成し、その中のジョブ終端検出フラグ301bと印刷中断フラグ301cを0に設定した後、このジョブ記述子301をジョブ記述子スタック206に積む。その後、受信バッファ205から印刷ジョブデータを逐次読み出して翻訳・実行し、1ページ分のビデオデータがRAM106上に生成されると、図4に示したページ記述子301a−1を生成して、その中の外部記憶フラグ301a−1aを0に設定し、RAM106上のビデオデータの格納アドレスを格納位置ポインタ301a−1bへ書き込む。この後、ジョブ記述子スタック206の一番上にあるジョブ記述子内のページ記述子リストの終わりに、生成したページ記述子を追加する。この処理は、印刷ジョブデータの終端が検出されるまで繰り返される。印刷データ翻訳モジュール202は、印刷ジョブデータの終端を検出すると、ジョブ記述子スタック206の一番上に積まれているジョブ記述子内のジョブ終端検出フラグを0に設定する。このようにして、1つの印刷ジョブデータの処理が終了し、次の印刷ジョブデータも同様の方法で処理していく。
【0027】
前記ページ記述子リストにページ記述子が追加されると、印刷制御モジュール203に状態変化、即ち新たなページ記述子の追加が通知される。印刷データ翻訳モジュール202が停止するのは、印刷ジョブデータを読み出そうとした時に受信バッファ205中に印刷ジョブデータがない場合か、ジョブ記述子やページ記述子を生成するための必要なメモリ領域が獲得できない場合である。印刷データ翻訳モジュール202が、受信バッファ205中に印刷ジョブデータがないことによって停止した場合は、印刷ジョブデータ受信モジュール201が印刷ジョブデータを受信バッファ205へ送ると、印刷データ翻訳モジュール202は動作を再開する。一方、必要なメモリ領域を確保できないために印刷データ翻訳モジュール202が停止したときは、次の場合に印刷データ翻訳モジュール202が動作を再開する。即ち、印刷制御モジュール203がすでに生成されているページの印刷を行って、不要となったページ記述子に割り付けられていたメモリ領域の解放がなされるか、中断された印刷ジョブデータのページを外部記憶ユニット112へビデオデータとして書き込み、このビデオデータが格納されていたメモリ領域を解放するかして、空きメモリ領域ができた場合である。
【0028】
オペレータパネル監視モジュール204は、図1に示したオペレータパネルインタフェースデバイス111を介してオペレータパネル113の処理中断指令用のボタンが押下されたか否かを検出する。処理中断ボタンが押下されたのを検出すると、印刷ジョブポインタ300が0でない場合に、印刷ジョブポインタ300が指し示すジョブ記述子内の印刷中断フラグを1に設定する。
【0029】
次に、印刷制御モジュール203が行う処理の手順を図5に示したプログラムを参照しながら説明する。図5に示すプログラム文は、if-elseやwhile等の制御文を用いてC言語を真似た疑似言語で記載してある。
まず、印刷制御モジュール203は、ジョブ記述子スタック206を空の状態に初期化し、処理中の印刷ジョブデータのジョブ記述子を指す印刷ジョブポインタ300を0に初期化する(500〜501行目)。その後、502〜548行目の処理を繰り返すことになる。
【0030】
ループの先頭では、まず、印刷ジョブポインタ300が0でなく(処理中の印刷ジョブデータが存在し)、かつ、印刷ジョブポインタ300が指し示すジョブ記述子内のページ記述子リストが空でない場合には(503〜504行目)、前記ページ記述子リスト中のページ記述子に対して506〜526行目の処理を繰り返す。もし、印刷ジョブポインタ300が指し示すジョブ記述子の印刷中断フラグが0(印刷中)の場合、ページ記述子内のビデオデータを印刷ユニット103に送信し、印刷を行う(515〜518行目)。その際、印刷ジョブポインタ300が指し示すジョブ記述子が、中断されていた印刷ジョブデータのものならば、そのビデオデータは外部記憶ユニット112内のファイルに格納されているため、ビデオデータをファイルからRAM106上に読み上げる必要がある(511〜513行目)。印刷ジョブポインタ300が指し示すジョブ記述子の印刷中断フラグが1(中断処理中)の場合には、外部記憶ユニット112内のファイルに書き出されていないジョブ記述子リスト内のデータをそのファイルに書き込む(520〜523行目)。
【0031】
ページ記述子リストの終わりに到達すると、印刷ジョブポインタ300が指し示すジョブ記述子の全ページが処理されたか否かを調べる。すべてのページ記述子の処理が終了していない場合には、新たなページ記述子が生成されるまで待つ(545〜547行目)。印刷ジョブポインタ300が指し示すジョブ記述子内の全ページ記述子の処理が完了した場合には、次に処理すべき印刷ジョブデータを選択することになる。ただ、印刷ジョブポインタ300が指すジョブ記述子が、印刷処理されたか中断されたかによって、次に選択される印刷ジョブデータは異なる。
【0032】
印刷ジョブポインタ300が指し示すジョブ記述子の処理が中断された場合には、ジョブ記述子スタック206内の未処理のジョブ記述子の中で、最も古い(スタックのより下にある)ものが、次に処理するジョブ記述子として選択され、処理される(529〜531行目)。未処理のジョブ記述子がない場合には、新たなジョブ記述子が生成され、そこに最初のページ記述子が追加されるまで待つことになる。
【0033】
一方、印刷ジョブポインタ300が指し示すジョブ記述子が印刷処理された場合には、まず、印刷ジョブポインタ300が指すジョブ記述子は不要になったため、ジョブ記述子スタック206から取り除かれ、その分メモリ領域が解放される。次に、ジョブ記述子スタック206中に、処理が中断されているジョブ記述子が存在するか否かを調べる。処理が中断されているジョブ記述子が存在する場合には、最も新しい(スタックのより上側にある)ジョブ記述子を次に処理するジョブ記述子として選ぶ。その際、選択されたジョブ記述子内の印刷中断フラグは0に設定される(535〜537行目)。処理が中断されているジョブ記述子がない場合には、未処理の印刷ジョブデータのジョブ記述子があればそのもっとも古いものを選び、それを次に処理するジョブ記述子とする(538〜539行目)。ジョブ記述子スタック206が空の場合には、新たなジョブ記述子が生成され、そこに最初のページ記述子が登録されるまで待つ。
【0034】
以上説明したように、本実施の形態の印刷装置では、オペレータパネル113に現在印刷中の印刷ジョブデータの処理中断が表示されると、印刷制御モジュール203は現在印刷処理中の印刷ジョブデータの残りページのビデオデータを印刷ユニット103に送るのではなく、外部記憶ユニット112に保存する。通常、圧縮されたビデオデータはそれを印刷ユニット103で印刷するよりも、外部記憶ユニット112に格納するほうが速い。したがって、印刷処理中のビデオデータを最後まで処理することに比べ、印刷処理を中断してビデオデータを外部記憶ユニット112に格納するほうが、速やかに次の印刷ジョブデータの処理に移行できる。
【0035】
例えば、縦横1インチ当たり600ドットの画素(以下、600DPIという)で構成されるA4サイズの白黒の画像を1画素当たり1ビットで表現したビデオデータあるいはビットマップデータは、圧縮を行わない場合4Mバイト程度の容量がある。また、通常のビジネス文書は、面積的に画像データよりも文字データを多く含むため、そのビデオデータを圧縮した場合、1/10〜1/5程度の容量に簡単に圧縮できるものが多い。そのような場合、600DPIのA4サイズ1ページ当たりのビデオデータの容量は、0.4〜0.8Mバイト程度にまで小さくなる。一方、近年のパーソナルコンピュータ(以下、PCという)で用いられている標準的なハードディスクでは、1秒当たり8Mバイト以上のデータ転送速度を実現している。そのため、圧縮しなくても、A4サイズの600DPIの白黒のビデオデータを約0.5秒で書き込める。10/1〜5/1に圧縮した場合には、そのビデオデータを0.05〜0.1秒でハードディスクに書き込める。また、ハードディスクの容量も数Gバイト程度のものが主流となっており、標準的なPCの主メモリに対して数十〜数百倍程度の容量となっている。これに対し、印刷ユニット103での印刷速度はビデオデータの容量に関係なく一定であり、比較的高速な印刷装置でも1分当たりの印刷ページ数(以下PPMという)は20〜50程度であり、1ページ当たりの印刷所要時間は1〜3秒程度を要する。したがって、前記ビデオデータをハードディスクに格納する時間は、印刷ユニット103での印刷時間に比べて、ビデオデータを圧縮できない場合でも1/6〜1/2、圧縮できた場合には1/60〜1/10程度にできる。
【0036】
また、本実施の形態の印刷装置では、通常の文書では、前述のように外部記憶ユニット112へのビデオデータの書き出し時間と、印刷ユニット103での印刷時間の差が大きく開くことを利用し、印刷処理中の印刷ジョブデータを中断する間に、ビデオデータを外部記憶ユニット112へ退避させることによって、印刷処理中の印刷ジョブデータの受信とビデオデータ生成処理を速やかに終了させる。そして、次の印刷ジョブデータの印刷処理を速やかに開始し、その印刷ジョブデータの処理が終了した後に、外部記憶ユニット112に退避させておいたビデオデータを用いて、中断した前記印刷ジョブデータの残りのページ印刷を再開することができる。
【0037】
〈実施の形態2〉
本実施の形態にかかる印刷装置のハードウェア構成は実施の形態1のものと同様であるため、説明は省略する。図6は、本実施の形態の印刷装置601を構成する制御ユニット602内のモジュール構成を示すブロック図である。制御ユニット602内のモジュールはソフトウェアであり、そのプログラムは図1に示したROM105内に格納されており、これはCPU104によって実行される。本実施の形態の印刷装置601のモジュール構成は、図2に示したものに加えて、ビデオデータ格納モジュール603が設けられている。そして、このビデオデータ格納モジュール603を含めた各モジュールはそれぞれ独立して動作することが可能である。
【0038】
本実施の形態の印刷装置601も、実施の形態1のものと同様、印刷処理中の印刷ジョブデータを廃棄することなく、できる限り速やかに中断して、後続の印刷ジョブデータの印刷処理を開始し、それが終了した時点で、中断していた前記印刷ジョブデータの印刷処理を再開することができる。
以下の説明では、実施の形態1の装置と同様の動作が行われる部位の説明は省略している。
【0039】
ビデオデータ格納モジュール603は、オペレータパネル113の処理中断ボタンが押下され、それをオペレータパネル監視モジュール204が検出し、図3に示した印刷ジョブポインタ300が差し示す印刷処理中のジョブ記述子内の中断フラグが1に設定された際に、オペレータパネル監視モジュール204からの信号で作動する。作動したビデオデータ格納モジュール603は、印刷処理中のジョブ記述子内のページ記述子リストを後ろから前に向かってたどりながら、図5に示したプログラムの520〜523行目の記述と同様の方法により、ビデオデータを外部記憶ユニット112に格納し、前記ビデオデータを格納していたRAM106のメモリ領域を解放する。その際、ビデオデータ格納モジュール603は、すでに外部記憶ユニット112に格納されているページ記述子と同じページ記述子と出会うと、そこで処理を中断し待機状態となる。また、印刷データ翻訳モジュール202は、新たに生成したページ記述子を、印刷ジョブポインタ300が指し示す印刷処理中のジョブ記述子のページ記述子リストに追加した際に、ビデオデータ格納モジュール603を作動させる。再度作動したビデオデータ格納モジュール603は、前述した方法で、印刷処理中のジョブ記述子のページ記述子リストを後ろからたどって、当該ビデオデータを外部記憶ユニット112に格納し、RAM106のメモリ領域を解放していく。
【0040】
印刷制御モジュール203は、図7に示すプログラムに従った処理を実行する。特に、実施の形態1の装置と異なるのは次の点である。即ち、図7に示すプログラムの706〜709行目の記述にあるように、印刷ジョブポインタ300が指し示す印刷処理中のジョブ記述子の中断フラグが1に設定された場合(印刷中断要求があった場合)でも、印刷処理中のジョブ記述子のページ記述子リストに最終のページ記述子が生成されるまで、印刷ユニット103では印刷処理を継続する。また、前記ページ記述子リストに最終のページ記述子が追加された際に、印刷処理中のジョブ記述子内の当該ページ記述子リストに他のページ記述子がなかったならば、最終ページも印刷し、中断要求のあった印刷処理中の印刷ジョブデータを中断させずに正常に終了させる。
【0041】
実施の形態1では、印刷ジョブデータが複雑であるため印刷データ翻訳モジュール202がビデオデータを生成するために時間を要する。したがって、現在印刷処理中の印刷ジョブデータの処理を中断しないでそのまま印刷する場合とそれを中断する場合とで、次の印刷ジョブデータの印刷処理が可能になるまでの時間差が殆どないといった状態が発生することがある。
【0042】
そこで、このような欠点を補うため、本実施の形態では、印刷制御モジュール203が印刷処理中の印刷ジョブデータの処理を中断する場合でも、印刷処理中のジョブ記述子内のページ記述子リストに最終のページ記述子が生成されるまでは、印刷ユニット103での印刷の中止は行わない。したがって、印刷データ翻訳モジュール202がビデオデータを生成する速度が印刷ユニット103の印刷速度(PPM値)よりも遅い場合、前記最終のページ記述子が生成された時点で、印刷処理中のジョブ記述子内に前記最終のページ記述子しか存在しない場合には、その最終のページ記述子も印刷するようにしておけば、前述した実施の形態1の装置における問題点も解消できる。
【0043】
また、本実施の形態では、現在印刷処理中の印刷ジョブデータの処理を中断する際に、印刷制御モジュール203自体は、最後のページ記述子が生成されるまでは印刷処理を継続するが、この間ビデオデータ格納モジュール603が印刷処理中のジョブ記述子につながれているページ記述子内のデータを外部記憶ユニット112に書き出していく。したがって、RAM106上で保存されているビデオデータは、印刷ユニット103が印刷中のページのものだけになる。それ以外の未印刷ページのビデオデータ用のメモリ領域は、ビデオデータ格納モジュール603によって解放される。したがって、装置全体としては、利用可能なメモリ領域が増えるため、印刷データ翻訳モジュール202は、より多くのページ記述子を生成することが可能になり、結果として、現在印刷処理中の印刷ジョブデータの処理中断速度が加速される。この効果は、印刷データ翻訳モジュール202によるビデオデータの生成速度が、印刷ユニット103の印刷速度より速いほど大きくなる。
【0044】
〈実施の形態3〉
本実施の形態にかかる印刷装置のハードウェア構成は、図1に示した実施の形態1の装置と同様である。また、印刷装置を構成する制御ユニット内のモジュール構成は図6に示した実施の形態2のものと同様である。本実施の形態の印刷装置では、印刷データ翻訳モジュール202が受信した印刷ジョブデータを外部記憶ユニット112に格納し、中断された印刷ジョブデータの処理を再開する際に、格納しておいた前記印刷ジョブデータを読み出して再度処理を行うものである。
以下の説明では、実施の形態1または2の装置と同様の動作が行われる部位の説明は省略している。
【0045】
図8は、印刷データ翻訳モジュール202が生成するジョブ記述子801の構成の一例を説明するための図である。ジョブ記述子801は、図3に示したジョブ記述子301、302と同様のページ記述子リスト801a、ジョブ終端検出フラグ801b、印刷中断フラグ801cに加え、ページ記述子総数801dと印刷ジョブデータ格納位置ポインタ801eを備えている。ページ記述子総数801dは、印刷ジョブデータの処理を中断した時点(正確には、処理中断に伴い印刷データ翻訳モジュール202がページ記述子の生成を停止した時点)までに生成されていたページ記述子の総数を示すものである。また、印刷ジョブデータ格納位置ポインタ801eは、印刷データ翻訳モジュール202が外部記憶ユニット112に格納した印刷ジョブデータの格納位置を示すポインタである。
【0046】
印刷データ翻訳モジュール202は、最初の印刷ジョブデータを受信したとき、図8に示すジョブ記述子801を生成し、すべての要素を0に初期化する。その後、外部記憶ユニット112上に受信した印刷ジョブデータを格納するためのファイルを生成し、そのファイルへのポインタを印刷ジョブデータ格納位置ポインタ801eに設定する。そして、ジョブ記述子801をジョブ記述子スタック206へ送る。また、印刷データ翻訳モジュール202内にもジョブ記述子801へのポインタを保持しておく。
【0047】
次に、印刷データ翻訳モジュール202は、受信した印刷ジョブデータを外部記憶ユニット112上の前記ファイルに書き込みながら、印刷ジョブデータを翻訳・実行し、1ページ分のビデオデータとページ記述子を生成し、これを前記ジョブ記述子801のページ記述子リスト801aの終わりに追加する。その際、ジョブ記述子801のページ記述子総数801dが1増加される。その後、印刷データ翻訳モジュール202は、ページ記述子801の印刷中断フラグ801cが0か1かを確認し、それが0の間は前記印刷ジョブデータの受信、翻訳・実行、およびページ記述子の生成と、ここで生成されたページ記述子をページ記述子リスト801aへ追加する動作を繰り返す。これに対して、印刷中断フラグ801cが1の場合には、印刷ジョブデータの翻訳・実行は中止し、これ以降は印刷ジョブデータを単に受信して、外部記憶ユニット112に格納するだけのデータ読み込みモードに移行する。そして、印刷ジョブデータの終わりに到達するまで、そのデータ読み込みモードは維持される。
【0048】
印刷制御モジュール203は、実施の形態2の装置と同様に、ジョブ終端検出フラグ802bが設定されるを待つことなく、即座に印刷ジョブデータの処理を停止する。そして、印刷制御モジュール203は、ページ記述子リストに最初のページ記述子が登録されたジョブ記述子がジョブ記述子スタック206に登録されるまで待機する。
【0049】
一方、印刷処理の中断に伴い、印刷ジョブデータの読み出しと外部記憶ユニット112への格納のみを行っている印刷データ翻訳モジュール202は、印刷ジョブデータの終端に到達すると、前記データ読み込みモードを終了し、再び印刷データの翻訳・実行を行うモードに戻る。そして、次の印刷ジョブデータを中断することなく処理し終えた場合には、印刷ジョブポインタが0でなければ、そのポインタが指し示すジョブ記述子から、印刷ジョブデータ格納位置ポインタを取得する。そして、これが示すファイルから印刷ジョブデータを読み込んで、これを翻訳・実行しページ記述子を生成する。ただし、ファイルから読み出した印刷ジョブデータから生成されたページ記述子の個数が、ジョブ記述子に格納されているページ記述子総数を越えない間は、生成したページ記述子を印刷ジョブポインタが指し示すジョブ記述子に登録することなく破棄し、前記ページ記述子総数を越えたものからは、前記ジョブ記述子に追加していく。これにより、1度生成されたビデオデータと同じものが重複して生成されることを防止する。
【0050】
実施の形態1および2の装置は、現在印刷処理中の印刷ジョブデータの処理中断の要請があった場合に、その印刷ジョブデータを終わりまで翻訳・実行し、ビデオデータとページ記述子は生成してしまうが、外部記憶ユニット112へのビデオデータの格納速度に比べかなり低速な印刷ユニット103へのビデオデータの転送および印刷を行わないことによって、印刷処理中の印刷ジョブデータの処理を速やかに中断し、後続の印刷ジョブデータのできる限りはやい処理を可能にしていた。しかし、印刷ジョブデータの翻訳・実行に時間がかかっている場合には、印刷処理中の印刷ジョブデータを最後まで翻訳・実行すること自体に問題があった。
【0051】
この問題点を解決するため、本実施の形態の装置は、印刷データ翻訳モジュール202において、受信した印刷ジョブデータを外部記憶ユニット112に格納し、外部記憶ユニット112に格納しておいた印刷ジョブデータを読み出して処理する機能と、前記ジョブ記述子内の印刷中断フラグが1に設定されると、その後ページ記述子を生成した時点で、印刷ジョブデータの翻訳・実行処理を中止し、印刷ジョブデータの読み込みと外部記憶ユニット112への格納のみを行う機能を追加した。また、印刷ユニット103においては、印刷処理中の印刷ジョブデータの処理を中断した際に、その時点までに印刷したページ数と、印刷データ翻訳モジュール202が外部記憶ユニット112に格納した印刷ジョブデータの格納位置をジョブ記述子に記録しておき、印刷データ翻訳モジュール202が外部記憶ユニット112に格納しておいた印刷ジョブデータを再度読み出してページ記述子を生成した場合に、ジョブ記述子に記録しておいたページ数分のページ記述子を破棄する機能を追加している。
【0052】
即ち、予め印刷ジョブデータを外部記憶ユニット112に格納しておくことにより、印刷処理の中断要求があった場合には、それ以降印刷ジョブデータは翻訳・実行せずに単に外部記憶ユニット112に格納していき、印刷処理再開時に、格納しておいた印刷ジョブデータを先頭から再度翻訳・実行していき、中断前に生成済みのページ以降のページ記述子のみを生成する。これにより、印刷処理中断時の印刷ジョブデータの翻訳・実行による遅延の問題を回避できる。
【0053】
〈実施の形態4〉
実施の形態1〜3に示した装置では、セントロやRS232C、USBのようなホストインタフェースを通して、印刷装置がホストコンピュータから印刷ジョブデータを受信する場合に、これらのインタフェースは、図9に示すように、1つのデータチャンネル上に複数の印刷ジョブデータが逐次送信されてくる状態を想定している。このため、例えば、図9に示す先頭の印刷ジョブデータ900−1の印刷処理を中断して、次の印刷ジョブデータ900−2の印刷処理を開始するには、先に送られた印刷ジョブデータ900−1をすべて受信してから次の印刷ジョブデータ900−2を取り出す必要がある。そこで、実施の形態1〜3の装置では、中断対象の印刷ジョブデータを最後まで翻訳・実行してビデオデータを生成するか、単に印刷ジョブデータを保存しながら読み飛ばすかしているが、何れにせよ、そのことが印刷処理中の印刷ジョブデータの処理を中断する際に状況によっては長い時間を要する原因となっている。
【0054】
一方、図10に示すように、LAN上のTCP/IPプロトコルを用いて、ホストコンピュータ・印刷装置間で複数の仮想チャンネルを張り、各チャンネルごとに1つの印刷ジョブデータを送ることも考えられる。
そこで、本実施の形態では、図10に示した状況において、次の印刷ジョブデータを取り出すために、処理中断した印刷ジョブデータの最後まで読み進むことをせずに、印刷処理中の印刷ジョブデータをより素早く中断することを可能とする。特に、TCP/IPプロトコルを用いた複数の仮想チャンネルから印刷ジョブデータを受信するような環境では、基本的に各印刷ジョブデータはすべて別のチャンネルから受信されるため、どのような印刷ジョブデータであっても、即座に(直近のページ境界)で処理を中断し、別の印刷ジョブデータの印刷処理を開始することが可能となる。
【0055】
本実施の形態にかかる印刷装置のハードウェア構成も図1に示した実施の形態1の装置と同様であるため、説明は省略する。また、図11は、本実施の形態の印刷装置1101を構成する制御ユニット1102内のモジュール構成を示すブロック図である。制御ユニット1102内のモジュールはソフトウェアであり、そのプログラムは図1に示したROM105内に格納されており、これはCPU104によって実行される。本実施の形態のモジュールは、複数のホストインタフェースに対応するため、複数の印刷ジョブデータ受信モジュール1103a、1103b、1103c、…と、複数の受信バッファ1104a、1104b、1104c、…を備えている点を除き、実施の形態2に示した印刷装置のものと同様である。
【0056】
また、図12に示すように、本実施の形態の印刷装置で生成されるジョブ記述子1201は、図8に示したジョブ記述子801と同様の、ページ記述子リスト1201a、ジョブ終端検出フラグ1201b、印刷中断フラグ1201c、ページ記述子総数1201d、印刷ジョブデータ格納位置ポインタ1201eに加え、ホストインタフェース(T/F)識別子1201fを含んでいる。このホストインタフェース識別子1201fは、印刷処理中の印刷ジョブデータの処理を中断する際に、現在受信中のホストインタフェースを認識し、次に処理すべき印刷ジョブデータを処理中断された印刷ジョブデータを受信したホストインタフェース以外から受信できないかを調べる際に参照される。
以下の説明では、実施の形態1〜3の装置と同様の動作が行われる部位の説明は省略している。
【0057】
本実施の形態の印刷装置1101では、印刷データ翻訳モジュール202は、最初または次の印刷ジョブデータの受信を行う際には、ラウンドロビンや固定順序等所定の順番にホストインタフェースにアクセスしてデータの有無を調べ、印刷ジョブデータを有するホストインタフェースからデータの受信を始める。その際、まず、図12に示すジョブ記述子1201を生成し、すべての要素を0に初期化した後、外部記憶ユニット112上に受信した印刷ジョブデータを格納するためのファイルを生成し、そのファイルへのポインタをジョブ記述子1201の印刷ジョブデータ格納位置ポインタ1201eに設定する。また、印刷ジョブデータを受信するホストインタフェースの識別子をジョブ記述子1201のホストインタフェース識別子1201fに設定する。最後に、ジョブ記述子1201をジョブ記述子スタック206へ送る。また、印刷データ翻訳モジュール202内に、ジョブ記述子スタック206へ送ったジョブ記述子1201へのポインタを保持しておく。
【0058】
次に、印刷データ翻訳モジュール202は、受信した印刷ジョブデータを外部記憶ユニット112上の前記ファイルに書き込みながら印刷ジョブデータを翻訳・実行し、1ページ分のビデオデータとページ記述子を生成し、それをジョブ記述子1201のページ記述子リスト1201aの終わりに追加する。その際、ジョブ記述子1201中のページ記述子総数1201dが1増加される。その後、印刷データ翻訳モジュール202はページ記述子1201の印刷中断フラグ1201cが0か1かを調べる。印刷中断フラグ1201cが0の間は、前記の印刷ジョブデータの受信、翻訳・実行、およびページ記述子1201の生成とページ記述子リスト1201aへの追加を繰り返す。一方、印刷中断フラグ1201cが1の場合には、印刷ジョブデータの翻訳・実行を中断する。
【0059】
次に、中断された印刷ジョブデータのジョブ記述子1201に格納されているホストインタフェース識別子1201fを取り出し、この識別子で指定されるホストインタフェースの受信バッファ上に別の印刷ジョブデータがあるか否かを所定の順番にアクセスして調べる。もし、存在していない場合には、実施の形態3の場合と同様に、それ以降は印刷ジョブデータを受信して、外部記憶ユニット112に格納するだけのデータ読み込みモードに移行し、印刷ジョブデータの終わりに到達するまで、そのデータ読み込みモードを継続する。そして、印刷ジョブデータの終わりに到達すると、そこでホストインタフェースを0クリアする。他のホストインタフェース上に印刷ジョブデータがある場合には、中断したジョブ記述子1201中のホストインタフェース識別子1201fはそのままにして、新たなホストインタフェースからの印刷ジョブデータの受信・処理を開始する。
【0060】
中断した印刷ジョブデータのジョブ記述子1201中のホストインタフェース識別子1201fの値が0である場合は、中断した印刷ジョブデータの処理を再開時に、ジョブ記述子1201中の印刷ジョブデータ格納位置ポインタ1201eが指し示す外部記憶ユニット112上のファイルに、すべての印刷ジョブデータが格納済みの状態である。また、ホストインタフェース識別子1201fが0でない場合は、まず、ジョブ記述子1201中の印刷ジョブデータ格納位置ポインタ1201eが指し示す外部記憶ユニット112上のファイルから、印刷ジョブデータを読み出し、すべてのデータを読み出すと、ホストインタフェース識別子1201fが指し示すホストインタフェースから残りのデータを読み出す処理に移る。
【0061】
〈実施の形態5〉
実施の形態1〜4に示した印刷装置では、オペレータパネル113経由で印刷処理中の印刷ジョブデータの処理を中断することを想定しているが、本実施の形態では、LAN等のネットワークに接続されている印刷装置において、送信した印刷ジョブデータそのもの、あるいは印刷ジョブデータを受信したホストインタフェースに優先度をもたせ、その優先度に従って印刷処理中の印刷ジョブデータの処理の中断、再開を制御することを可能にした。
【0062】
本実施の形態にかかる印刷装置のハードウェア構成も図1に示した実施の形態1の装置と同様であるため、説明は省略する。また、図13は、本実施の形態の印刷装置1301を構成する制御ユニット1302内のモジュール構成を示すブロック図である。制御ユニット1302内のモジュールはソフトウェアであり、そのプログラムは図1に示したROM105内に格納されており、これはCPU104によって実行される。本実施の形態では、印刷処理中の印刷ジョブデータの処理を中断するか否かをオペレータパネル113からの指示に従うのではなく、現在印刷処理中の印刷ジョブデータの優先度と新たな印刷ジョブデータを受信したホストインタフェースの優先度との比較によって、現在印刷処理中の印刷ジョブデータの処理を中断して、新たに受信した印刷ジョブデータの印刷処理を行うか否かを決定する。このため、本実施の形態の印刷装置1301の制御ユニット1302内に、ホストインタフェース監視モジュール1303を設けた。
【0063】
このホストインタフェース監視モジュール1303は、複数のホストインタフェースから印刷ジョブデータを受信する受信バッファ1204a、1204b、1204c、…を監視し、新たなデータを受信すると、そのホストインタフェースの優先度を割り出し、これと現在印刷中の印刷ジョブデータのジョブ記述子に格納されている優先度とを比較して、現在印刷中の印刷ジョブデータの優先度が低ければ現在印刷処理中の印刷ジョブデータのジョブ記述子の印刷中断フラグを1に設定する。この他の構成は、図11に示した実施の形態4のものと同様である。
以下の説明では、実施の形態1〜4の装置と同様の動作が行われる部位の説明は省略している。
【0064】
制御ユニット1302中の印刷データ翻訳モジュール202は、最初または次の印刷ジョブデータの受信を行う際には、各ホストインタフェースに割りつけられている優先度の高い順に、印刷ジョブデータの有無を調べ、最も優先度の高いホストインタフェースからデータの受信を開始する。その際、まず、図12に示したジョブ記述子1201を生成するが、印刷ジョブデータを受信したホストインタフェースの優先度をジョブ記述子1201に書き込む。
【0065】
一方、ホストインタフェース監視モジュール1303は、現在印刷処理中または処理が中断されているもの以外のホストインタフェースにはその優先度の順に定期的にアクセスし、新たな印刷ジョブデータの到着の有無を調べる。もし、新たな印刷ジョブデータが到着していた場合には、その印刷ジョブデータを受信したホストインタフェースの優先度を調べる。そして、その優先度が現在印刷処理中の印刷ジョブデータのジョブ記述子1201に書き込まれている優先度より高い場合には、現在印刷処理中の印刷ジョブデータのジョブ記述子1201の印刷中断フラグ1201cを1に設定する。
【0066】
このように、本実施の形態の印刷装置では、ホストインタフェースに優先度を割りつけ、これによって印刷ジョブデータの処理の中断、再開を判定する。したがって、オペレータが印刷装置のそばに出向いてオペレータパネル113の操作を行う必要がない。また、本実施の形態の装置では、ホストインタフェースに優先度を割りつけたが、送信される印刷ジョブデータの先頭に優先度情報を付与しておき、ホストインタフェース監視モジュール1303や印刷データ翻訳モジュール202が、先頭の優先度を読み出すことによっても、同様の処理の中断、再開の機能を実現できる。
【0067】
以上、本発明の一実施形態を図面に沿って説明した。しかしながら本発明はこの実施の形態に示した事項に限定されず、特許請求の範囲の記載に基づいてその変更、改良等が可能であることは云うまでもない。例えば、本発明では、外部記憶ユニット112としてハードディスクを想定しているが、大容量の記憶機能を備えたものであればハードディスクに代えて他の手段を用いることが可能である。また、本発明では、制御ユニット内のモジュールをソフトウェアで構成しているが、これをハードウェアで構成することも可能である。さらに、上記各実施の形態において示した装置構成を組み合わせることも可能である。
【0068】
【発明の効果】
上述のように、本発明によれば、受信した印刷ジョブデータの先後を問わず、受信した印刷ジョブデータの処理順序を任意に設定できる印刷装置を提供できる。
【図面の簡単な説明】
【図1】実施の形態1にかかる印刷装置のハードウェア構成を示すブロック図である。
【図2】実施の形態1にかかる印刷装置のモジュール構成を示すブロック図である。
【図3】ジョブ記述子スタック206の構成の一例を示す図である。
【図4】ページ記述子301a−1の構成の一例を示す図である。
【図5】実施の形態1の印刷装置において、印刷制御モジュール203が行う処理手順のプログラムである。
【図6】実施の形態2にかかる印刷装置のモジュール構成を示すブロック図である。
【図7】実施の形態2の印刷装置において、印刷制御モジュール203が行う処理手順のプログラムである。
【図8】ジョブ記述子801の構成の一例を示す図である。
【図9】1つのデータ通信路を介してホストコンピュータから印刷装置が印刷ジョブデータを受信する状態を説明するための図である。
【図10】複数のデータ通信路を介してホストコンピュータから印刷装置が印刷ジョブデータを受信する状態を説明するための図である。
【図11】実施の形態4にかかる印刷装置のモジュール構成を示すブロック図である。
【図12】ジョブ記述子1201の構成の一例を示す図である。
【図13】実施の形態5にかかる印刷装置のモジュール構成を示すブロック図である。
【図14】従来の印刷装置のハードウェア構成を示すブロック図である。
【符号の説明】
100、1400 ホストコンピュータ
101、601、1101、1301、1401 印刷装置
102、602、1102、1302、1402 制御ユニット
103、1403 印刷ユニット
104、1404 CPU
105、1405 ROM
106、1406 RAM
107、1407 ホストインタフェースデバイス
108、1408 ビデオインタフェースデバイス
109、1409 コマンドインタフェースデバイス
110 ディスクインタフェースデバイス
111 オペレータパネルインタフェースデバイス
112 外部記憶ユニット
113 オペレータパネル
201、1103a、1103b、1103c、… 印刷ジョブデータ受信モジュール
202 印刷データ翻訳モジュール
203 印刷制御モジュール
204 オペレータパネル監視モジュール
205、1104a、1104b、1104c、… 受信バッファ
206 ジョブ記述子スタック
300 印刷ジョブポインタ
301、302、801、1201 ジョブ記述子
301a、302a、801a、1201a ページ記述子リスト
301b、302b、801b、1201b ジョブ終端検出フラグ
301c、302c、801c、1201c 印刷中断フラグ
301a−1〜301a−n、302a−1〜302a−n ページ記述子
301a−1a 外部記憶フラグ
301a−1b 格納位置ポインタ
603 ビデオデータ格納モジュール
801d、1201d ページ記述子総数
801e、1201e 印刷ジョブデータ格納位置ポインタ
900−1〜900−2 印刷ジョブデータ
1201f ホストインタフェース識別子
1303 ホストインタフェース監視モジュール
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a printing apparatus incorporating a large-capacity nonvolatile external storage means such as a hard disk and a flash memory in addition to a main storage memory.
[0002]
[Prior art]
In general, a printing apparatus is mainly composed of two units. One is a printing unit that sucks and conveys physical recording media such as paper, envelopes, and OHP sheets, and forms black and white or color images on the recording medium using ink, toner, or the like. The other receives print data from a host computer, processes the print data to generate data representing an image on the recording medium (hereinafter referred to as video data), and controls the video while controlling the print unit. A control unit for transmitting data to the printing unit;
Usually, the printing unit has one or a plurality of input trays for storing recording media before printing, and recording media of different sizes and types for each input tray, for example, A4 size thick paper, B5 size thin paper. Envelopes, OHP sheets, etc. can be stored. Further, the printing unit has one or a plurality of output bins to which the recording medium after printing is discharged. For example, it has an output bin for discharging with the printing surface facing up, an output bin for discharging with the printing surface facing down, or a multi-stage output bin similar to a copier.
[0003]
The data (hereinafter referred to as print job data) transmitted from the host computer to the printing apparatus for printing a document composed of one page or a plurality of pages normally designates a recording medium used for printing and sucks the recording medium. Job control commands for specifying the input tray and output bin for output, specifying the resolution for printing, specifying the number of copies, etc., the page data for each page belonging to the job, and the job indicating the end of the data Consists of end data. Each page data is usually transmitted in an image data format such as bitmap, JPEG, TIFF or the like, a page description language format including character codes, image data, drawing commands, and the like. Similarly to the job control command, the page data may include a control command for designating a recording medium and an input bin used for printing the page.
[0004]
The control unit interprets the job control command, and acquires print control parameters relating to the size, type, input tray, output bin, data resolution, etc., of the recording medium designated for the print unit at the time of printing. Further, it performs processing such as conversion of image data included in page data and interpretation / execution of page description language commands to generate video data to be sent to the printing unit.
[0005]
There are various formats of video data for each printing unit. For example, in the case of a black and white printing apparatus, a bitmap or a format in which the bitmap is compressed is considered, but in the case of a color printing apparatus, cyan, magenta, A format in which a bitmap for each color component such as yellow or black or a bitmap for each color component is compressed is conceivable.
When the video data is generated, the control unit instructs the printing unit to suck and convey the recording medium according to the printing control parameters, and prints the video data in synchronization with the running of the recording medium in the printing unit. Send to unit.
As described above, the control unit controls from the reception of the print job data to the discharge of the recording medium from the print unit.
[0006]
FIG. 14 is a block diagram illustrating a configuration of a conventional printing apparatus. The printing apparatus 1401 includes a control unit 1402 and a printing unit 1403. The control unit 1402 includes a CPU 1404, ROM 1405, RAM 1406, host interface (I / F) device 1407, video interface (I / F) device 1408, and command interface (I / F) device 1409. The ROM 1405 stores a program for realizing the function of the control unit 1402 and is executed by the CPU 1404. A RAM 1406 is a main memory, and an area for storing received data and video data and a work area used by a program stored in the ROM 1405 are allocated. The control unit 1402 is connected to the host computer 1400 via the host interface device 1407, and receives print job data transmitted from the host computer 1400. This print job data is processed in the control unit 1402 to generate video data. The control unit 1402 transmits the video data to the printing unit 1403 through the command interface device 1409. Also, notifications such as ejection of a recording medium from the printing unit 1403 and occurrence of an abnormal state are transmitted to the control unit 1402 through the command interface device 1409.
[0007]
In the conventional printing apparatus 1401 configured in this manner, print processing is performed in the order in which print job data transmitted from the host computer 1400 is received, in accordance with the processing procedure as described above. Therefore, there is print job data being printed. In this case, the next print job data cannot be processed until the printing of the print job data is completed or until the print job data being printed is discarded.
[0008]
[Problems to be solved by the invention]
In recent years, high-speed interfaces such as LAN and USB have been adopted for data communication between a host computer and a printing apparatus, and the operation of a CPU provided in a control unit has been accelerated, so that print job data The process of generating video data by receiving and interpreting / executing it has been accelerated. In particular, when printing business documents, etc., in which the main data is characters and the data per page is small, the print processing process from the start of print job data transmission from the host computer to the final page discharge in the print unit The most time consuming process is the steps of sucking, transporting and printing the recording medium in the printing unit. The processing speed of the printing unit (usually a PPM value representing the number of printed sheets per minute is used) determines the overall processing time.
[0009]
In recent years, printing job data is transmitted from a plurality of host computers to a printing apparatus via a network such as a LAN in accordance with an increase in processing speed of the printing apparatus and an increase in capacity of a recording medium that can be stored in the printing apparatus. As a result, usage forms in which one printing apparatus is shared among a plurality of host computers or a plurality of users have increased. In addition, the number of pages included in a printed document is increasing.
[0010]
In such a form of printing apparatus, when the print job data is concentrated or when print processing of print job data with a large number of pages is performed, the user who sent the print job data later In many cases, the printer waits for a long time to complete the printing process. This causes inconvenience when it is desired to print an urgent document. In such a case, it may be possible to discard (cancel) the print job data being printed by operating an operator panel mounted on the printing apparatus. Since it is not known who is instructing the print job data being processed, discarding the print job data itself is not permitted. For this reason, in a shared printing device, the print job data being printed is interrupted without being discarded halfway, high-priority print job data is processed first, and then processing of the interrupted print job data is performed. A function that can resume the process is desired.
[0011]
Therefore, the present invention has been made in view of the above-described problems of the prior art, and the purpose thereof is to arbitrarily determine the processing order of the print job data regardless of the preceding or following of the received print job data. To provide a printing apparatus.
[0012]
[Means for Solving the Problems]
<Configuration 1>
  In order to achieve the above object, the printing apparatus of the present invention provides:From the printing means for executing the printing process and the host deviceprintingjobReceiveforReceiving means;RecievedprintingjobDecipherEach page included in the job can be printedVideo dataA translating means that sequentially develops the video data, a video data storage means for storing each video data in the order of development, and a printing means each time each video data is stored in the video data storage means.Video dataofPrint processingTo run sequentiallyPrinting control means to controlPrinting apparatus comprisingBecauseFrom userReceived an interruption instructionAn operation input panel having a process interruption button for attaching, and a storage means for saving video data,The print control meansWhen it is detected that the processing interruption button is pressed during execution of the printing process of the printing unit, the printing unit interrupts the printing process, and the translation unit causes the unprinted remaining page to be decoded and expanded into video data to be displayed on the remaining page. Video data for the remaining pages in the storage means is printed on the printing means when the end of the printing process is detected by causing the printing means to execute the printing process based on the next print job. It is characterized by supplying as much as possible.
[0015]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, the present invention will be described in detail with reference to an illustrated embodiment.
<Embodiment 1>
FIG. 1 is a block diagram illustrating a hardware configuration of the printing apparatus according to the present embodiment. The printing apparatus 101 according to the present embodiment includes a CPU 104, a ROM 105, a RAM 106, a host interface (I / F) device 107, a video interface (I / F) device 108, a command interface (I / F) device 109, a disk interface (I / F) Black and white or color image using toner, ink, etc. on a recording unit such as a device 110, an operator panel interface (I / F) device 111, and a recording medium such as cut paper, envelope, or OHP sheet A print unit 103, an external storage unit 112 for storing video data, a message such as an error or an alarm generated in the control unit 102 or the print unit 103, or a print job being printed by the user For interrupting data It is constituted comprising an operator panel 113, the performing button operations.
[0016]
The ROM 105 stores a program for realizing the function of the control unit 102, and this is executed by the CPU 104. The RAM 106 is a main memory, and is allocated with an area for storing received data and video data, and a work area used by a program stored in the ROM 105. The control unit 102 is connected to the host computer 100 via the host interface device 107 and receives print job data transmitted from the host computer 100. This print job data is processed in the control unit 102 to generate video data. As a format of the video data generated at this time, for example, in the case of a monochrome printing apparatus, bitmap data for one page or data after compression of the bitmap data can be used. In the case of a color printing apparatus, for example, bitmap data for each color component such as cyan, magenta, yellow, and black in one page or data obtained by compressing the bitmap data may be video data. it can. The control unit 102 transmits the video data to the printing unit 103 via the command interface device 109.
[0017]
The external storage unit 112 is connected to the control unit 102 via the disk interface device 110 and can write or read video data from the control unit 102. The external storage unit 112 preferably has a capacity as large as possible. For example, a hard disk may be adopted. As a storage format of the video data in the external storage unit 112, for example, one fixed-length large-capacity random access file for reading and writing video data is created in the external storage unit 112, and printing processing is performed from the beginning of the file. A format in which video data is sequentially written is preferable.
[0018]
The printing unit 103 receives from the control unit 102 a print command related to timing such as suction of a recording medium and start of conveyance for printing via the command interface device 109 and also receives video data via the video interface device 108. Then, an image expressed by the video data is formed on the recording medium in synchronization with the conveyance of the recording medium. Further, the printing unit 103 notifies the control unit 102 via the command interface device 109 that the recording medium being printed has been ejected or an abnormality has occurred. Specifically, an interrupt is generated for the control unit 102 or a message is transmitted.
[0019]
The notification of the discharge of the recording medium from the printing unit 103 and the occurrence of an abnormal state received by the control unit 102 and the notification of the abnormality generated in the control unit 102 itself are sent to the operator panel 113 via the operator panel interface device 111. You are notified and a message appears on the display. Further, the pressed state of the button on the operator panel 113 is periodically detected by the control unit 102 via the operator panel interface device 111.
[0020]
Next, a module configuration in the control unit 102 configuring the printing apparatus 101 will be described. The module in the control unit 102 is software, and the program is stored in the ROM 105 shown in FIG. 1 and is executed by the CPU 104. FIG. 2 is a block diagram showing a module configuration in the control unit 102. The control unit 102 includes a print job data receiving module 201, a print data translation module 202, a print control module 203, and an operator panel monitoring module 204, and each module can operate independently. A reception buffer 205 and a job descriptor stack 206 are provided as a data reception area. The reception buffer 205 can write the print job data received from the host computer 100 into the RAM 106 shown in FIG. 1 or read the print job data written in the RAM 106 in the order written. Note that the print job data is read and written exclusively.
[0021]
The configuration in the job descriptor stack 206 is an array in which job descriptors generated one by one for each print job data are stacked in the order of generation. Addition and deletion are performed exclusively. FIG. 3 is a diagram illustrating an example of the configuration of the job descriptor stack 206. Here, a job descriptor stack 206 in which two job descriptors 301 and 302 are stored is shown. A job descriptor 301 represents print job data for which printing has been interrupted, and a job descriptor 302 represents print job data received after the current print processing. The print job pointer 300 is a pointer indicating print job data that is currently being printed, and is set to 0 when there is no print job data that is being printed.
[0022]
The job descriptor 301 includes a page descriptor list 301a, a job end detection flag 301b, and a print interruption flag 301c. The page descriptor list 301a is an arrangement of page descriptors 301a-1, 301a-2,... Of pages belonging to the print job data indicated by the print job pointer 300 in the order in which print processing is performed. The job end detection flag 301b is a flag that is set to 1 when all the page descriptors belonging to the print job data indicated by the print job pointer 300 are arranged in the page descriptor list 301a, and is set to 0 otherwise. is there. The print interruption flag 301c is a flag that is set to 1 when the processing of the print job data indicated by the print job pointer 300 is interrupted, and is set to 0 otherwise. The job descriptor 302 is configured in the same manner as the job descriptor 301.
[0023]
When a page descriptor is newly generated (for example, page descriptor 301a-n), the newly generated page descriptor 301a-n is added to the end of the page descriptor list 301a to which the page descriptor belongs. Also, the page data is printed in the printing unit 103 in order from the first page descriptor 301a-1 of the page descriptor list 301a. When the printing process of the page descriptor 301a-1 is completed, the page descriptor 301a-1 is deleted from the page descriptor list 301a.
[0024]
FIG. 4 is a diagram showing an example of the configuration of the page descriptor 301a-1. The page descriptor 301a-1 includes an external storage flag 301a-1a and a storage position pointer 301a-1b. The external storage flag 301a-1a indicates that one page of video data generated by the print data translation module 202 translating and executing image data, character codes, drawing commands, etc. included in the print job data is stored in the external storage flag 301a-1a. The flag is set to 1 when stored in the unit 112, and set to 0 when stored in the RAM 106, which is the main memory in the control unit 102. The storage position pointers 301a-1b indicate the storage position of the video data (whether it is on the RAM 106 or the external storage unit 112).
[0025]
In the printing apparatus 101 of this embodiment, the print job data receiving module 201 receives the print job data transmitted from the host computer 100 via the host interface device 107 and writes the print job data in the reception buffer 205. The print job data reception module 201 sends a print job data transmission stop request signal to the host computer 100 via the host interface device 107 when the reception buffer 205 is full or almost full. . When print job data is read from the reception buffer 205 and free space is available, the print job data reception module 201 sends a print job data transmission resumption request signal to the host computer 100. The print job data sent from the host computer 100 includes data and commands for a predetermined end mark indicating the end of the print job data so that the print data translation module 202 can detect the boundary of the print job data. Is given. The same effect can be obtained by adding the length of the print job data to the head of the print job data.
[0026]
When the print data translation module 202 receives the first data of the print job data from the reception buffer 205, the print data translation module 202 generates the job descriptor 301 shown in FIG. 3, and includes a job end detection flag 301b and a print interruption flag therein. After setting 301c to 0, this job descriptor 301 is loaded on the job descriptor stack 206. Thereafter, the print job data is sequentially read from the reception buffer 205, translated and executed, and when one page of video data is generated on the RAM 106, the page descriptor 301a-1 shown in FIG. The external storage flag 301a-1a is set to 0, and the storage address of the video data on the RAM 106 is written into the storage position pointer 301a-1b. Thereafter, the generated page descriptor is added to the end of the page descriptor list in the job descriptor at the top of the job descriptor stack 206. This process is repeated until the end of the print job data is detected. When the print data translation module 202 detects the end of the print job data, it sets the job end detection flag in the job descriptor stacked at the top of the job descriptor stack 206 to 0. In this way, the processing of one print job data is completed, and the next print job data is processed in the same manner.
[0027]
When a page descriptor is added to the page descriptor list, the print control module 203 is notified of a state change, that is, addition of a new page descriptor. The print data translation module 202 stops when there is no print job data in the reception buffer 205 when trying to read the print job data, or a memory area necessary for generating a job descriptor or page descriptor Is not available. If the print data translation module 202 is stopped due to the absence of print job data in the reception buffer 205, the print data translation module 202 operates when the print job data reception module 201 sends the print job data to the reception buffer 205. Resume. On the other hand, when the print data translation module 202 stops because a necessary memory area cannot be secured, the print data translation module 202 resumes operation in the following case. That is, the print control module 203 prints a page that has already been generated, and the memory area allocated to the page descriptor that has become unnecessary is released, or the page of the interrupted print job data is externally This is a case where a free memory area is created by writing video data to the storage unit 112 and releasing the memory area where the video data is stored.
[0028]
The operator panel monitoring module 204 detects whether or not a processing interruption command button on the operator panel 113 has been pressed via the operator panel interface device 111 shown in FIG. When it is detected that the process interruption button has been pressed, if the print job pointer 300 is not 0, the print interruption flag in the job descriptor indicated by the print job pointer 300 is set to 1.
[0029]
Next, the procedure of processing performed by the print control module 203 will be described with reference to the program shown in FIG. The program statement shown in FIG. 5 is described in a pseudo language that imitates the C language using control statements such as if-else and while.
First, the print control module 203 initializes the job descriptor stack 206 to an empty state, and initializes the print job pointer 300 indicating the job descriptor of the print job data being processed to 0 (lines 500 to 501). . Thereafter, the processing on the 502nd to 548th rows is repeated.
[0030]
At the head of the loop, first, when the print job pointer 300 is not 0 (the print job data being processed exists) and the page descriptor list in the job descriptor pointed to by the print job pointer 300 is not empty. (Lines 503 to 504), the processing of lines 506 to 526 is repeated for the page descriptors in the page descriptor list. If the print interrupt flag of the job descriptor indicated by the print job pointer 300 is 0 (during printing), the video data in the page descriptor is transmitted to the print unit 103 and printing is performed (lines 515 to 518). At this time, if the job descriptor pointed to by the print job pointer 300 is that of the interrupted print job data, the video data is stored in the file in the external storage unit 112. It is necessary to read up (line 511-513). When the print interrupt flag of the job descriptor indicated by the print job pointer 300 is 1 (interrupt processing is in progress), the data in the job descriptor list that has not been written to the file in the external storage unit 112 is written to the file. (Lines 520-523).
[0031]
When the end of the page descriptor list is reached, it is checked whether all pages of the job descriptor indicated by the print job pointer 300 have been processed. If all the page descriptors have not been processed, the process waits until a new page descriptor is generated (lines 545 to 547). When processing of all page descriptors in the job descriptor indicated by the print job pointer 300 is completed, print job data to be processed next is selected. However, the print job data to be selected next differs depending on whether the job descriptor pointed to by the print job pointer 300 has been subjected to print processing or has been interrupted.
[0032]
When the processing of the job descriptor pointed to by the print job pointer 300 is interrupted, the oldest unprocessed job descriptor in the job descriptor stack 206 (below the stack) is the next one. Is selected and processed (line 529-531). If there are no outstanding job descriptors, a new job descriptor is created and the process waits until the first page descriptor is added.
[0033]
On the other hand, when the job descriptor pointed to by the print job pointer 300 is printed, first, the job descriptor pointed to by the print job pointer 300 is no longer necessary and is therefore removed from the job descriptor stack 206, and the memory area accordingly. Is released. Next, it is checked whether or not there is a job descriptor whose processing is suspended in the job descriptor stack 206. If there is a job descriptor for which processing is suspended, the newest job descriptor (above the stack) is selected as the next job descriptor to be processed. At that time, the print interruption flag in the selected job descriptor is set to 0 (lines 535 to 537). If there is no job descriptor for which processing has been interrupted, if there is a job descriptor for unprocessed print job data, the oldest one is selected and used as the next job descriptor (538 to 539). Line). If the job descriptor stack 206 is empty, a new job descriptor is generated and waits until the first page descriptor is registered there.
[0034]
As described above, in the printing apparatus according to the present embodiment, when the processing interruption of the print job data currently being printed is displayed on the operator panel 113, the print control module 203 displays the remaining print job data currently being printed. The video data of the page is not sent to the printing unit 103 but is stored in the external storage unit 112. Usually, it is faster to store the compressed video data in the external storage unit 112 than to print it in the printing unit 103. Therefore, when the video data being printed is processed to the end, the printing process is interrupted and the video data is stored in the external storage unit 112, so that the processing of the next print job data can be quickly performed.
[0035]
For example, video data or bitmap data representing an A4 size black and white image composed of 600 dots per inch vertically and horizontally (hereinafter referred to as 600 DPI) with 1 bit per pixel is 4 Mbytes when compression is not performed. There is a capacity of about. In addition, since ordinary business documents include more character data than image data in terms of area, many of them can be easily compressed to a capacity of about 1/10 to 1/5 when the video data is compressed. In such a case, the capacity of video data per 600 API A4 size page is reduced to about 0.4 to 0.8 Mbytes. On the other hand, a standard hard disk used in a recent personal computer (hereinafter referred to as a PC) realizes a data transfer rate of 8 Mbytes or more per second. Therefore, A4 size 600 DPI monochrome video data can be written in about 0.5 seconds without compression. When compressed to 10/1 to 5/1, the video data can be written to the hard disk in 0.05 to 0.1 seconds. Also, the capacity of the hard disk is mainly about several Gbytes, which is about several tens to several hundred times the capacity of a standard PC main memory. On the other hand, the printing speed in the printing unit 103 is constant regardless of the capacity of the video data, and the number of printed pages per minute (hereinafter referred to as PPM) is about 20 to 50 even in a relatively high-speed printing apparatus. The time required for printing per page is about 1 to 3 seconds. Therefore, the time for storing the video data in the hard disk is 1/6 to 1/2 even when the video data cannot be compressed, and 1/60 to 1 when the video data can be compressed, compared with the printing time in the printing unit 103. / 10.
[0036]
In the printing apparatus according to the present embodiment, the normal document uses the fact that the difference between the video data writing time to the external storage unit 112 and the printing time at the printing unit 103 is widened as described above. While the print job data being printed is interrupted, the video data is saved in the external storage unit 112, thereby promptly terminating the reception of the print job data being printed and the video data generating process. Then, the printing process of the next print job data is started immediately, and after the processing of the print job data is completed, the video data saved in the external storage unit 112 is used to store the interrupted print job data. The remaining page printing can be resumed.
[0037]
<Embodiment 2>
Since the hardware configuration of the printing apparatus according to the present embodiment is the same as that of the first embodiment, description thereof is omitted. FIG. 6 is a block diagram showing a module configuration in the control unit 602 constituting the printing apparatus 601 of the present embodiment. The module in the control unit 602 is software, and its program is stored in the ROM 105 shown in FIG. 1 and is executed by the CPU 104. The module configuration of the printing apparatus 601 according to the present embodiment is provided with a video data storage module 603 in addition to the one shown in FIG. Each module including the video data storage module 603 can operate independently.
[0038]
As with the first embodiment, the printing apparatus 601 according to the present embodiment also interrupts print job data being printed, as soon as possible without discarding the print job data, and starts printing processing of subsequent print job data. When this is completed, the interrupted print job data printing process can be resumed.
In the following description, the description of the part where the same operation as the apparatus of the first embodiment is performed is omitted.
[0039]
In the video data storage module 603, when the processing interruption button on the operator panel 113 is pressed, the operator panel monitoring module 204 detects this, and the print job pointer 300 shown in FIG. When the interrupt flag is set to 1, it is activated by a signal from the operator panel monitoring module 204. The activated video data storage module 603 traces the page descriptor list in the job descriptor being printed from the back to the front, and uses the same method as described in the lines 520 to 523 of the program shown in FIG. Thus, the video data is stored in the external storage unit 112, and the memory area of the RAM 106 storing the video data is released. At that time, when the video data storage module 603 encounters the same page descriptor as that already stored in the external storage unit 112, the video data storage module 603 interrupts the processing and enters a standby state. The print data translation module 202 operates the video data storage module 603 when the newly generated page descriptor is added to the page descriptor list of the job descriptor being printed indicated by the print job pointer 300. . The video data storage module 603 that has been actuated again follows the page descriptor list of the job descriptor that is being printed by the above-described method, stores the video data in the external storage unit 112, and stores the memory area of the RAM 106. Release.
[0040]
The print control module 203 executes processing according to the program shown in FIG. In particular, the following points are different from the apparatus of the first embodiment. That is, as described in lines 706 to 709 of the program shown in FIG. 7, when the interrupt flag of the job descriptor being printed indicated by the print job pointer 300 is set to 1 (there is a print interrupt request) However, the printing unit 103 continues the printing process until the final page descriptor is generated in the page descriptor list of the job descriptor being printed. When the last page descriptor is added to the page descriptor list, if there is no other page descriptor in the page descriptor list in the job descriptor being printed, the last page is also printed. Then, the print job data in the print process requested to be interrupted is normally terminated without being interrupted.
[0041]
In the first embodiment, since the print job data is complicated, it takes time for the print data translation module 202 to generate video data. Therefore, there is almost no time difference between when printing is performed without interrupting the processing of the print job data currently being printed and when it is interrupted. May occur.
[0042]
Therefore, in order to make up for such a drawback, in this embodiment, even when the print control module 203 interrupts the processing of the print job data being printed, the page descriptor list in the job descriptor being printed is displayed. The printing unit 103 does not stop printing until the final page descriptor is generated. Therefore, when the print data translation module 202 generates video data at a speed slower than the print speed (PPM value) of the print unit 103, the job descriptor being printed at the time when the final page descriptor is generated. If only the final page descriptor exists in the printer, the problem in the apparatus of the first embodiment can be solved by printing the final page descriptor.
[0043]
In this embodiment, when the processing of the print job data currently being printed is interrupted, the print control module 203 itself continues the printing process until the last page descriptor is generated. The video data storage module 603 writes the data in the page descriptor connected to the job descriptor being printed to the external storage unit 112. Therefore, the video data stored on the RAM 106 is only for the page being printed by the printing unit 103. The video data storage module 603 releases the memory area for video data of other unprinted pages. Therefore, since the available memory area of the entire apparatus increases, the print data translation module 202 can generate more page descriptors. As a result, the print job data currently being printed can be generated. Processing interruption speed is accelerated. This effect increases as the generation speed of the video data by the print data translation module 202 is faster than the printing speed of the printing unit 103.
[0044]
<Embodiment 3>
The hardware configuration of the printing apparatus according to the present embodiment is the same as that of the apparatus according to the first embodiment shown in FIG. The module configuration in the control unit constituting the printing apparatus is the same as that of the second embodiment shown in FIG. In the printing apparatus according to the present embodiment, the print job data received by the print data translation module 202 is stored in the external storage unit 112, and the stored print job data is resumed when processing of the interrupted print job data is resumed. The job data is read and processed again.
In the following description, the description of the part where the same operation as that of the apparatus of Embodiment 1 or 2 is performed is omitted.
[0045]
FIG. 8 is a diagram for explaining an example of the configuration of the job descriptor 801 generated by the print data translation module 202. The job descriptor 801 includes a page descriptor list 801a similar to the job descriptors 301 and 302 shown in FIG. 3, a job end detection flag 801b, a print interruption flag 801c, a total page descriptor 801d, and a print job data storage location. A pointer 801e is provided. The total number of page descriptors 801d is a page descriptor that has been generated up to the point when processing of print job data is interrupted (more precisely, when the print data translation module 202 stops generating page descriptors due to processing interruption). Indicates the total number. The print job data storage position pointer 801e is a pointer indicating the storage position of the print job data stored in the external storage unit 112 by the print data translation module 202.
[0046]
When the print data translation module 202 receives the first print job data, it generates a job descriptor 801 shown in FIG. 8 and initializes all elements to zero. Thereafter, a file for storing the received print job data is generated on the external storage unit 112, and a pointer to the file is set in the print job data storage position pointer 801e. Then, the job descriptor 801 is sent to the job descriptor stack 206. A pointer to the job descriptor 801 is also stored in the print data translation module 202.
[0047]
Next, the print data translation module 202 translates and executes the print job data while writing the received print job data to the file on the external storage unit 112, and generates video data and a page descriptor for one page. This is added to the end of the page descriptor list 801a of the job descriptor 801. At that time, the total number of page descriptors 801d of the job descriptor 801 is increased by one. Thereafter, the print data translation module 202 confirms whether the print interruption flag 801c of the page descriptor 801 is 0 or 1, and while it is 0, the print job data is received, translated / executed, and a page descriptor is generated. Then, the operation of adding the generated page descriptor to the page descriptor list 801a is repeated. On the other hand, if the print interruption flag 801c is 1, the translation / execution of the print job data is stopped, and after that, the data is simply read and stored in the external storage unit 112. Enter mode. The data reading mode is maintained until the end of the print job data is reached.
[0048]
The print control module 203 immediately stops processing of print job data without waiting for the job end detection flag 802b to be set, as in the apparatus of the second embodiment. Then, the print control module 203 waits until the job descriptor in which the first page descriptor is registered in the page descriptor list is registered in the job descriptor stack 206.
[0049]
On the other hand, when the print processing is interrupted, the print data translation module 202 that only reads the print job data and stores it in the external storage unit 112 ends the data reading mode when the end of the print job data is reached. Return to the mode for translating and executing the print data again. When the next print job data is processed without interruption, if the print job pointer is not 0, the print job data storage position pointer is acquired from the job descriptor indicated by the pointer. Then, print job data is read from the file indicated by this, and this is translated and executed to generate a page descriptor. However, as long as the number of page descriptors generated from the print job data read from the file does not exceed the total number of page descriptors stored in the job descriptor, the job in which the print job pointer points to the generated page descriptor Discard without registering in the descriptor, and add to the job descriptor if it exceeds the total number of page descriptors. This prevents the same video data generated once from being generated repeatedly.
[0050]
The apparatus of the first and second embodiments translates and executes the print job data to the end when there is a request for interruption of the print job data currently being printed, and generates video data and a page descriptor. However, by not transferring and printing the video data to the printing unit 103, which is considerably slower than the storage speed of the video data in the external storage unit 112, the processing of the print job data during the printing process is promptly interrupted. However, the subsequent print job data can be processed as quickly as possible. However, when it takes time to translate and execute the print job data, there is a problem in translating and executing the print job data being printed to the end.
[0051]
In order to solve this problem, the apparatus according to the present embodiment stores the received print job data in the external storage unit 112 in the print data translation module 202, and the print job data stored in the external storage unit 112. If the print descriptor flag in the job descriptor is set to 1, the print job data translation / execution process is stopped when the page descriptor is generated, and the print job data A function for only reading and storing data in the external storage unit 112 was added. In the printing unit 103, when the processing of the print job data being printed is interrupted, the number of pages printed up to that point and the print job data stored in the external storage unit 112 by the print data translation module 202 are displayed. The storage position is recorded in the job descriptor, and when the print data translation module 202 reads the print job data stored in the external storage unit 112 again to generate the page descriptor, the storage position is recorded in the job descriptor. Added a function to discard the page descriptors for the number of pages that have been set.
[0052]
In other words, by storing print job data in the external storage unit 112 in advance, if there is a print processing interruption request, the print job data is simply stored in the external storage unit 112 without being translated or executed thereafter. Then, when the printing process is resumed, the stored print job data is re-translated and executed from the top, and only the page descriptors after the page already generated before the interruption are generated. Thereby, it is possible to avoid the problem of delay due to the translation / execution of the print job data when the printing process is interrupted.
[0053]
<Embodiment 4>
In the apparatuses shown in the first to third embodiments, when the printing apparatus receives print job data from the host computer through a host interface such as Centro, RS232C, or USB, these interfaces are shown in FIG. It is assumed that a plurality of print job data are sequentially transmitted on one data channel. Therefore, for example, in order to interrupt the print processing of the first print job data 900-1 shown in FIG. 9 and start the print processing of the next print job data 900-2, the print job data sent earlier It is necessary to take out the next print job data 900-2 after receiving all of 900-1. Therefore, in the apparatuses of the first to third embodiments, the print job data to be interrupted is translated and executed to generate video data or simply skipped while saving the print job data. In any case, this causes a long time depending on the situation when the processing of the print job data being printed is interrupted.
[0054]
On the other hand, as shown in FIG. 10, a plurality of virtual channels may be provided between the host computer and the printing apparatus using the TCP / IP protocol on the LAN, and one print job data may be sent for each channel.
Therefore, in the present embodiment, in the situation shown in FIG. 10, in order to take out the next print job data, the print job data being printed is not read until the end of the print job data interrupted. Can be interrupted more quickly. In particular, in an environment where print job data is received from a plurality of virtual channels using the TCP / IP protocol, basically, all print job data is received from different channels. Even in such a case, the processing can be interrupted immediately (the latest page boundary), and the print processing of another print job data can be started.
[0055]
The hardware configuration of the printing apparatus according to this embodiment is the same as that of the apparatus according to the first embodiment shown in FIG. FIG. 11 is a block diagram showing a module configuration in the control unit 1102 constituting the printing apparatus 1101 of the present embodiment. The module in the control unit 1102 is software, and the program is stored in the ROM 105 shown in FIG. 1 and is executed by the CPU 104. The module according to the present embodiment includes a plurality of print job data reception modules 1103a, 1103b, 1103c,... And a plurality of reception buffers 1104a, 1104b, 1104c,. Except for this, it is the same as that of the printing apparatus shown in the second embodiment.
[0056]
Also, as shown in FIG. 12, the job descriptor 1201 generated by the printing apparatus according to the present embodiment is similar to the job descriptor 801 shown in FIG. 8 and includes a page descriptor list 1201a and a job end detection flag 1201b. In addition to the print interruption flag 1201c, the total number of page descriptors 1201d, and the print job data storage position pointer 1201e, a host interface (T / F) identifier 1201f is included. The host interface identifier 1201f recognizes the currently received host interface when interrupting the processing of the print job data being printed, and receives the print job data whose processing has been interrupted for the next print job data to be processed. Referenced when checking whether it can be received from other than the host interface.
In the following description, the description of the part where the same operation as that of the apparatus of the first to third embodiments is performed is omitted.
[0057]
In the printing apparatus 1101 according to the present embodiment, when receiving the first or next print job data, the print data translation module 202 accesses the host interface in a predetermined order such as round robin or fixed order to transfer data. The presence or absence is checked, and reception of data is started from the host interface having print job data. At that time, first, a job descriptor 1201 shown in FIG. 12 is generated, all elements are initialized to 0, and then a file for storing the received print job data on the external storage unit 112 is generated. A pointer to the file is set in the print job data storage position pointer 1201e of the job descriptor 1201. Also, the identifier of the host interface that receives the print job data is set in the host interface identifier 1201f of the job descriptor 1201. Finally, the job descriptor 1201 is sent to the job descriptor stack 206. Further, a pointer to the job descriptor 1201 sent to the job descriptor stack 206 is held in the print data translation module 202.
[0058]
Next, the print data translation module 202 translates and executes the print job data while writing the received print job data to the file on the external storage unit 112, generates video data and a page descriptor for one page, It is added to the end of the page descriptor list 1201a of the job descriptor 1201. At this time, the total number of page descriptors 1201d in the job descriptor 1201 is increased by one. Thereafter, the print data translation module 202 checks whether the print interruption flag 1201c of the page descriptor 1201 is 0 or 1. While the print interruption flag 1201c is 0, reception of the print job data, translation / execution, generation of the page descriptor 1201, and addition to the page descriptor list 1201a are repeated. On the other hand, when the print interruption flag 1201c is 1, the translation / execution of the print job data is interrupted.
[0059]
Next, the host interface identifier 1201f stored in the job descriptor 1201 of the interrupted print job data is extracted, and whether or not there is another print job data in the reception buffer of the host interface specified by this identifier. Access and examine in a predetermined order. If it does not exist, as in the case of the third embodiment, after that, the print job data is received, and the mode shifts to a data reading mode in which only the print job data is stored in the external storage unit 112. The data reading mode is continued until the end of is reached. When the end of the print job data is reached, the host interface is cleared to zero. If there is print job data on another host interface, the host interface identifier 1201f in the interrupted job descriptor 1201 is left as it is, and reception / processing of print job data from a new host interface is started.
[0060]
When the value of the host interface identifier 1201f in the job descriptor 1201 of the interrupted print job data is 0, the print job data storage position pointer 1201e in the job descriptor 1201 is displayed when the processing of the interrupted print job data is resumed. All the print job data are already stored in the file on the external storage unit 112 indicated. If the host interface identifier 1201f is not 0, first, print job data is read from the file on the external storage unit 112 pointed to by the print job data storage location pointer 1201e in the job descriptor 1201, and all data is read. Then, the process proceeds to a process of reading the remaining data from the host interface indicated by the host interface identifier 1201f.
[0061]
<Embodiment 5>
In the printing apparatuses described in the first to fourth embodiments, it is assumed that the processing of print job data that is being printed via the operator panel 113 is interrupted. In this embodiment, the printing apparatus is connected to a network such as a LAN. In the printing apparatus that is used, priority is given to the transmitted print job data itself or the host interface that has received the print job data, and control of interruption and resumption of processing of print job data during print processing is performed according to the priority. Made possible.
[0062]
The hardware configuration of the printing apparatus according to this embodiment is the same as that of the apparatus according to the first embodiment shown in FIG. FIG. 13 is a block diagram showing a module configuration in the control unit 1302 constituting the printing apparatus 1301 of the present embodiment. The module in the control unit 1302 is software, and the program is stored in the ROM 105 shown in FIG. 1 and is executed by the CPU 104. In this embodiment, whether or not to interrupt the processing of the print job data being printed is not obeyed from the instruction from the operator panel 113, but the priority of the print job data currently being printed and the new print job data. Is compared with the priority of the host interface that has received the print job data, it is determined whether to interrupt the print job data currently being printed and to perform the print process of the newly received print job data. Therefore, a host interface monitoring module 1303 is provided in the control unit 1302 of the printing apparatus 1301 of this embodiment.
[0063]
The host interface monitoring module 1303 monitors the reception buffers 1204a, 1204b, 1204c,... That receive print job data from a plurality of host interfaces. When new data is received, the host interface monitoring module 1303 calculates the priority of the host interface. Compare the priority stored in the job descriptor of the print job data currently being printed, and if the priority of the print job data currently being printed is low, the job descriptor of the print job data currently being printed Set the print interruption flag to 1. Other configurations are the same as those of the fourth embodiment shown in FIG.
In the following description, the description of the part where the same operation as that of the apparatus of the first to fourth embodiments is performed is omitted.
[0064]
When receiving the first or next print job data, the print data translation module 202 in the control unit 1302 checks the presence or absence of print job data in descending order of priority assigned to each host interface, Start receiving data from the host interface with the highest priority. At this time, first, the job descriptor 1201 shown in FIG. 12 is generated, but the priority of the host interface that has received the print job data is written into the job descriptor 1201.
[0065]
On the other hand, the host interface monitoring module 1303 periodically accesses the host interfaces other than those that are currently being printed or whose processing is interrupted in order of priority, and checks whether new print job data has arrived. If new print job data has arrived, the priority of the host interface that received the print job data is checked. If the priority is higher than the priority written in the job descriptor 1201 of the print job data currently being printed, the print interruption flag 1201c of the job descriptor 1201 of the print job data currently being printed is displayed. Is set to 1.
[0066]
As described above, in the printing apparatus according to the present embodiment, priority is assigned to the host interface, thereby determining whether to interrupt or resume the processing of the print job data. Therefore, it is not necessary for the operator to go to the printing apparatus and operate the operator panel 113. In the apparatus according to the present embodiment, the priority is assigned to the host interface. However, priority information is assigned to the head of the print job data to be transmitted, and the host interface monitoring module 1303 and the print data translation module 202 are assigned. However, the same processing interruption and resumption functions can be realized by reading the head priority.
[0067]
The embodiment of the present invention has been described with reference to the drawings. However, the present invention is not limited to the matters shown in the embodiments, and it goes without saying that modifications, improvements and the like can be made based on the description of the scope of claims. For example, although a hard disk is assumed as the external storage unit 112 in the present invention, other means can be used instead of the hard disk as long as it has a large capacity storage function. In the present invention, the module in the control unit is configured by software, but it can also be configured by hardware. Furthermore, it is possible to combine the apparatus configurations shown in the above embodiments.
[0068]
【The invention's effect】
As described above, according to the present invention, it is possible to provide a printing apparatus that can arbitrarily set the processing order of received print job data regardless of whether the received print job data is ahead or after.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating a hardware configuration of a printing apparatus according to a first embodiment.
FIG. 2 is a block diagram illustrating a module configuration of the printing apparatus according to the first embodiment.
FIG. 3 is a diagram illustrating an example of a configuration of a job descriptor stack 206. FIG.
FIG. 4 is a diagram illustrating an example of a configuration of a page descriptor 301a-1.
FIG. 5 is a program of a processing procedure performed by the print control module 203 in the printing apparatus according to the first embodiment.
FIG. 6 is a block diagram illustrating a module configuration of the printing apparatus according to the second embodiment.
7 is a program of a processing procedure performed by the print control module 203 in the printing apparatus of Embodiment 2. FIG.
8 is a diagram illustrating an example of the configuration of a job descriptor 801. FIG.
FIG. 9 is a diagram for explaining a state in which the printing apparatus receives print job data from the host computer via one data communication path.
FIG. 10 is a diagram for explaining a state in which a printing apparatus receives print job data from a host computer via a plurality of data communication paths.
FIG. 11 is a block diagram illustrating a module configuration of a printing apparatus according to a fourth embodiment.
12 is a diagram illustrating an example of the configuration of a job descriptor 1201. FIG.
FIG. 13 is a block diagram illustrating a module configuration of a printing apparatus according to a fifth embodiment.
FIG. 14 is a block diagram illustrating a hardware configuration of a conventional printing apparatus.
[Explanation of symbols]
100, 1400 Host computer
101, 601, 1101, 1301, 1401 Printing apparatus
102, 602, 1102, 1302, 1402 Control unit
103, 1403 printing unit
104, 1404 CPU
105, 1405 ROM
106, 1406 RAM
107, 1407 Host interface device
108, 1408 Video interface device
109, 1409 Command interface device
110 Disk interface device
111 Operator panel interface device
112 External storage unit
113 Operator panel
201, 1103a, 1103b, 1103c,... Print job data receiving module
202 Print Data Translation Module
203 Print control module
204 Operator panel monitoring module
205, 1104a, 1104b, 1104c,... Reception buffer
206 Job descriptor stack
300 Print job pointer
301, 302, 801, 1201 Job descriptor
301a, 302a, 801a, 1201a Page descriptor list
301b, 302b, 801b, 1201b Job end detection flag
301c, 302c, 801c, 1201c Print interruption flag
301a-1 to 301a-n, 302a-1 to 302a-n Page descriptor
301a-1a External storage flag
301a-1b Storage position pointer
603 video data storage module
801d, 1201d Total number of page descriptors
801e, 1201e Print job data storage position pointer
900-1 to 900-2 Print job data
1201f Host interface identifier
1303 Host interface monitoring module

Claims (5)

印刷処理を実行するための印刷手段と、上位装置から印刷ジョブを受信するための受信手段と、受信した印刷ジョブを解読して該ジョブに含まれる各ページを印刷処理可能なビデオデータに順次展開する翻訳手段と、各ビデオデータを展開順に記憶するためのビデオデータ記憶手段と、前記ビデオデータ記憶手段に各ビデオデータが記憶される毎に前記印刷手段が各ビデオデータの印刷処理を順次実行するよう制御する印刷制御手段とを備える印刷装置であって、
ユーザから中断指示を受け付けるための処理中断ボタンを有する操作入力パネルと、
前記ビデオデータを退避させるための記憶手段とを備え、
前記印刷制御手段は、前記印刷手段の印刷処理を実行中に前記処理中断ボタンの押下を検知すると、前記印刷手段に印刷処理を中断させると共に、前記翻訳手段に印刷未処理の残ページを解読させてビデオデータに展開させて該残ページ分のビデオデータを前記記憶手段に退避させ、前記印刷手段に次の印刷ジョブに基づく印刷処理を実行させて該印刷処理の終了を検知すると、前記記憶手段の残ページ分のビデオデータを前記印刷手段に印刷処理させるべく供給することを特徴とする印刷装置。
Printing means for executing print processing, receiving means for receiving a print job from a host device, and decoding the received print job to sequentially develop each page included in the job into video data that can be printed Translating means, video data storage means for storing each video data in the order of development, and each time the video data is stored in the video data storage means, the printing means sequentially executes the printing process of each video data And a printing control means for controlling
An operation input panel having a process interruption button for receiving an interruption instruction from the user;
Storage means for saving the video data,
When the printing control unit detects that the processing interruption button is pressed during execution of the printing process of the printing unit, the printing control unit interrupts the printing process and causes the translation unit to decode the unprocessed remaining page. And storing the video data for the remaining pages in the storage unit, causing the printing unit to execute a printing process based on a next print job and detecting the end of the printing process. A printing apparatus for supplying video data for the remaining pages of the printing means to cause the printing means to perform printing processing.
前記記憶手段は、外部記憶ユニットであることを特徴とする請求項1に記載の印刷装置。  The printing apparatus according to claim 1, wherein the storage unit is an external storage unit. 前記記憶手段は、ハードディスクであることを特徴とする請求項1又は2に記載の印刷装置。  The printing apparatus according to claim 1, wherein the storage unit is a hard disk. 前記印刷制御手段は、前記処理中断ボタンの押下を前記印刷ジョブのジョブ記述子に含まれる印刷中断フラグの値に基づいて検知することを特徴とする請求項1乃至3のいずれか1項に記載の印刷装置。  4. The print control unit according to claim 1, wherein the print control unit detects pressing of the process interruption button based on a value of a print interruption flag included in a job descriptor of the print job. 5. Printing device. 前記印刷制御手段は、前記残ページ分のビデオデータの前記記憶手段への退避処理が完了するまで、前記印刷手段に印刷処理の実行を継続させることを特徴とする請求項1乃至4のいずれか1項に記載の印刷装置。  5. The print control unit according to claim 1, wherein the printing unit causes the printing unit to continue the printing process until the saving process of the video data for the remaining pages to the storage unit is completed. The printing apparatus according to item 1.
JP2002052436A 2002-02-27 2002-02-27 Printing device Expired - Fee Related JP4364475B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002052436A JP4364475B2 (en) 2002-02-27 2002-02-27 Printing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002052436A JP4364475B2 (en) 2002-02-27 2002-02-27 Printing device

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2009170078A Division JP2009255577A (en) 2009-07-21 2009-07-21 Printing device

Publications (2)

Publication Number Publication Date
JP2003246102A JP2003246102A (en) 2003-09-02
JP4364475B2 true JP4364475B2 (en) 2009-11-18

Family

ID=28664116

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002052436A Expired - Fee Related JP4364475B2 (en) 2002-02-27 2002-02-27 Printing device

Country Status (1)

Country Link
JP (1) JP4364475B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007237693A (en) 2006-03-10 2007-09-20 Oki Data Corp Image processor
JP5338763B2 (en) 2010-07-26 2013-11-13 ブラザー工業株式会社 Printing device
JP5240254B2 (en) * 2010-08-19 2013-07-17 ブラザー工業株式会社 Printing device

Also Published As

Publication number Publication date
JP2003246102A (en) 2003-09-02

Similar Documents

Publication Publication Date Title
KR100470518B1 (en) Printing methods and systems that provide print job buffering for printers on the fast data path.
US7999953B2 (en) Printer having print and receive buffers and a printer control method for controlling same
US6985257B2 (en) Job processing apparatus
US7158243B2 (en) Printing apparatus and printing system, control method, storage medium and program
US9359166B2 (en) Sheet eject device, fullness detecting method, and computer-readable recording medium
US20060055952A1 (en) Continuous raster image processing control across print jobs
US20030007180A1 (en) Printing control method for long pages
US20050146749A1 (en) Image input-output apparatus and method therefor
JP4109821B2 (en) Information processing apparatus and job processing result confirmation method
JP4364475B2 (en) Printing device
JP3711433B2 (en) Printing control method and system, and recording medium
JP2009255577A (en) Printing device
JP4449367B2 (en) Printer
JPH03155974A (en) Printing system and error recovery method thereof
JP4226361B2 (en) Image communication method and image forming apparatus
JP2006185112A (en) Printing apparatus and control method for the same
JP2002019212A (en) Printer
US11010111B2 (en) Image forming apparatus including a constant log storage
JP2001047706A (en) Imaging system in network environment
JP4276159B2 (en) Printing apparatus and program
US20120250092A1 (en) Print management for plurality of print requests in image forming apparatus
JP2003285478A (en) Data transfer device in printer, method of transferring data in printer, and recording medium storing program
JP2003127502A (en) Printer
JP2020170212A (en) Information processing system, information processing device and program
JP2002229750A (en) Printing control system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20041228

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050331

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081216

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090216

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090526

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090721

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090818

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090819

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120828

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4364475

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130828

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees