印刷装置、印刷制御方法、および、プログラム
【課題】比較的簡単な構成で、割り込み復帰時のパフォーマンスを向上する。
【解決手段】LAN制御部18aは、クライアント装置30等から印刷データを受信する。入力ジョブ保存部32は、受信された印刷データに含まれる一連のPDLコマンドを、ハードディスク29に登録する。入力ジョブキュー管理部33は、受信された印刷データにより表される印刷ジョブを特定する印刷ジョブ特定情報を、入力ジョブキュー34の末尾に追加する。PDL解釈・実行部31は、ハードディスク装置29に記憶されている一連のPDLコマンドを先頭から順次実行する。PDL解釈・実行部31は、実行済みのPDLコマンドが再実行不要コマンドであると判別した場合、ハードディスク29に記憶されている当該PDLコマンドを、NOPコマンドに書き換える。
【解決手段】LAN制御部18aは、クライアント装置30等から印刷データを受信する。入力ジョブ保存部32は、受信された印刷データに含まれる一連のPDLコマンドを、ハードディスク29に登録する。入力ジョブキュー管理部33は、受信された印刷データにより表される印刷ジョブを特定する印刷ジョブ特定情報を、入力ジョブキュー34の末尾に追加する。PDL解釈・実行部31は、ハードディスク装置29に記憶されている一連のPDLコマンドを先頭から順次実行する。PDL解釈・実行部31は、実行済みのPDLコマンドが再実行不要コマンドであると判別した場合、ハードディスク29に記憶されている当該PDLコマンドを、NOPコマンドに書き換える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、割り込み印刷が可能な印刷装置、印刷制御方法、および、プログラムに関する。
【背景技術】
【0002】
今日、ホストコンピュータ等のホスト機器(クライアント装置)と単機能印刷装置や所謂複合機等の印刷装置とがネットワークを介して接続された印刷システムが利用されている。このようなシステムにおいては、印刷装置があるホスト機器から依頼された印刷ジョブを処理する間に、この印刷装置に他のホスト機器から次の印刷ジョブが供給される可能性が高い。
【0003】
印刷ジョブが競合した場合、先着の印刷ジョブの印刷処理が終了するまで、他の印刷ジョブの処理を受け付けない制御も可能である。しかしながら、この場合、印刷システム全体としてみると、効率が低下し、使い勝手の悪いシステムとなる。すなわち、印刷終了までに時間を要する印刷ジョブが先に処理される間、印刷時間が短くて済む小容量の印刷ジョブであっても印刷処理が待たされるため、印刷システム全体として考えると、印刷待ちの状態におかれる印刷ジョブの数が増大し、効率の悪いシステムとなる。
また、ユーザは、緊急に印刷を行いたい場合でも、印刷終了までに時間のかかる印刷ジョブが先に処理されると、この印刷処理が終了するまで、長時間待たされる。
【0004】
上記問題に鑑み、例えば以下のような特許文献1、及び特許文献2が開示されている。何れの特許文献も、印刷処理中のジョブの中断処理、緊急の印刷ジョブの割込み印刷処理、割込まれた印刷ジョブの復帰処理、ならびに、割込まれた印刷ジョブの再開印刷処理を実行する割込印刷機能を持つ印刷装置の発明である。
【0005】
先ず、特許文献1は、クライアント装置から受信した非ページ独立のページ記述言語(Page Description Languageであり、以降PDLと呼ぶ)で記載された印刷ジョブを記憶し、各ページのイメージを順次生成し、生成したイメージを印刷装置に供給して印刷させる通常モードと、印刷装置へイメージの供給を行わない非印刷モードと、の2つの動作モードを有し、印刷が中断された場合に印刷再開ページを算出し、印刷再開時に印刷再開信号を受信すると、中断された印刷ジョブをジョブ記憶手段により最初から処理し、印刷再開ページに達するまでは非印刷モードで動作し、印刷再開ページ以降は通常モードで動作する印刷制御装置を開示する。
【0006】
また、特許文献2は、割込まれた印刷ジョブを再開する方法として、入力されるジョブデータを保存しておき、再開時には中断された印刷ジョブデータを先頭から解釈し、ページ毎に印刷要求を発行するが、既に印刷されたページに係る印刷要求を無効とし、未印刷のページの印刷要求のみを有効とする方法を採用することにより、重複印刷を防止する発明を開示する。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開平10−177464号公報
【特許文献2】特開平11−312062号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、いずれの装置も、入力された印刷ジョブを保存しておき、割り込み要求が発生した場合、印刷実行中のジョブをページの区切りで中断し、印刷済みのページ番号、又は再開のページ番号を記憶し、印刷ジョブの中断処理を行った後、割り込み印刷を実行する。そして、いずれの装置も、割り込み印刷が終了すると、中断した印刷ジョブの先頭よりコマンド解釈を実行し、既に印刷済みのページについては印刷を行うことなく、未印刷のページから、印刷処理を再開する復帰再開処理を行っている。この印刷ジョブの復帰再開処理では、割り込まれたジョブの先頭から解釈を実行して印刷画像を生成していくため、既に印刷出力されたページについても解釈実行および印刷画像生成が行われ、印刷処理を再開するまで長時間を要する。
【0009】
このため、割込み印刷機能を使用すると、割込まれた先行印刷ジョブの復帰に時間を要し、その結果、割込み印刷機能を使用する際の障害となっている。従って、割込み印刷処理を行った後の中断した印刷ジョブの印刷再開までの復帰再開処理を短時間で行うことが可能な印刷装置が望まれている。
さらに、特許文献1には、ハード的に画像を生成するPDLコマンドは動作させないようにしてジョブ復帰時間の短縮を図る手法が開示されているが、この場合、回路規模が大きくなり、また、ロジック構成も複雑になり、コストアップの原因となる。このため、比較的簡単な構成で、割り込み復帰時のパフォーマンスを向上することが可能な印刷装置が望まれている。
【0010】
本発明は、上記問題に鑑みてなされたものであり、比較的簡単な構成で、割り込み復帰時のパフォーマンスを向上することが可能な印刷装置、印刷制御方法、および、プログラムを提供することを目的とする。
【課題を解決するための手段】
【0011】
上記目的を達成するため、本発明にかかる印刷装置は、
ネットワークを介して接続された電子機器から供給された印刷データに基づいて印刷ジョブを実行し、ある印刷ジョブの実行中に他の印刷ジョブの割り込み処理を許容する印刷装置であって、
前記印刷データは、一連のPDLコマンドを含み、
前記一連のPDLコマンドのそれぞれは、前記割り込み処理により中断された印刷ジョブが再開される際、再度実行することが必要なPDLコマンドである再実行必要コマンドと、前記割り込み処理により中断された印刷ジョブが再開される際、再度実行することが不要なPDLコマンドである再実行不要コマンドと、のうちのいずれかに分類され、
前記電子機器から前記印刷データを受信する受信手段と、
前記受信された印刷データに含まれる一連のPDLコマンドを、PDLコマンド記憶手段に登録するPDLコマンド登録手段と、
前記印刷データが受信されたことを検知すると、当該受信された印刷データにより表される印刷ジョブを特定する印刷ジョブ特定情報を、印刷ジョブキューの末尾に追加する印刷ジョブ制御手段と、
前記PDLコマンド記憶手段に記憶されている一連のPDLコマンドを先頭から順次実行することにより前記印刷ジョブを実行するコマンド実行手段と、を備え、
前記コマンド実行手段は、前記PDLコマンドを実行する毎に、当該PDLコマンドが前記再実行不要コマンドであるか否かを判別し、当該PDLコマンドが前記再実行不要コマンドであると判別した場合、前記PDLコマンド記憶手段に記憶されている当該PDLコマンドを、何も処理しないことを指示するコマンドであるNOPコマンドに書き換え、
前記印刷ジョブ制御手段は、
前記コマンド実行手段による印刷ジョブの実行の終了を検知すると、前記コマンド実行手段を、前記印刷ジョブキューの先頭の印刷ジョブ特定情報により特定される印刷ジョブの実行を開始するように制御し、
前記割り込み処理の指示を検知すると、割り込み処理の指示がなされた印刷ジョブを特定する印刷ジョブ特定情報を、前記印刷ジョブキューの先頭に追加するとともに、前記コマンド実行手段を、実行中の印刷ジョブを中断し、前記割り込み印刷の指示がなされた印刷ジョブの実行を開始するように制御する、
ことを特徴とする。
【発明の効果】
【0012】
本発明によれば、比較的簡単な構成で、割り込み復帰時のパフォーマンスを向上することができる。
【図面の簡単な説明】
【0013】
【図1】実施形態1に係る印刷装置が備える印刷制御部のソフトウエア構成を示す図である。
【図2】実施形態1に係る印刷装置の概略断面図である。
【図3】実施形態1に係る印刷装置が備える印刷制御部のハードウエア構成を示す図である。
【図4】操作パネルの構成を示す図である。
【図5A】LAN制御部及び入力ジョブ保存部が実行する処理を示すフローチャートである。
【図5B】入力ジョブキュー管理部が実行する処理を示すフローチャートである。
【図5C】入力ジョブキュー管理部が実行する処理を示すフローチャートである。
【図6】入力ジョブキューのデータ構成を示す図である。
【図7A】PDL解釈・実行部が実行する処理を示すフローチャートである。
【図7B】PDL解釈・実行部が実行する処理を示すフローチャートである。
【図8】印刷データのデータフォーマットの一部とNOPコマンドに置き換えられた印刷データのデータフォーマットの一部とを示す図である。
【図9】表示パネルの表示例を示す図である。
【図10】実施形態2に係る印刷装置が備える印刷制御部のソフトウエア構成を示す図である。
【図11】印刷データのデータフォーマットを示す図である。
【図12A】LAN制御部及び入力ジョブ保存部が実行する処理を示すフローチャートである。
【図12B】入力ジョブ保存部が実行する処理を示すフローチャートである。
【図13】識別フラグ&レングス記述部に関する処理を詳しく示す図である。
【図14A】入力ジョブキュー管理部が実行する処理を示すフローチャートである。
【図14B】入力ジョブキュー管理部が実行する処理を示すフローチャートである。
【図15】入力ジョブキューのデータ構成を示す図である。
【図16A】PDL解釈・実行部が実行する処理を示すフローチャートである。
【図16B】PDL解釈・実行部が実行する処理を示すフローチャートである。
【図16C】PDL解釈・実行部が実行する処理を示すフローチャートである。
【図17】印刷データのデータフォーマットの一部とNOPデータに置き換えられた印刷データのデータフォーマットの一部とを示す図である。
【図18】ファイル完全消去部が実行する処理を示すフローチャートである。
【発明を実施するための形態】
【0014】
(実施形態1)
以下、本発明の実施形態1を図面に基づいて説明する。
図2は本実施形態を説明する印刷装置として、例えば4連タンデム構成の電子写真方式のカラープリンタ(以下、印刷装置で示す)の例を示す概略断面図である。
同図において、印刷装置1のエンジン部は、画像形成部2、記録媒体給紙部3、記録媒体搬送部4で構成されている。画像形成部2は、マゼンタ(M)、シアン(C)、イエロー(Y)、ブラック(K)の各画像形成ユニット2M、2C、2Y、2Kで構成され、用紙搬送方向に沿って所定の間隔を保持して順次で配設されている。
【0015】
各画像形成ユニット2M、2C、2Y、2Kは、それぞれ感光体ドラム5、及び感光体ドラム5の周囲に配設された帯電器5a、印字ヘッド(LEDヘッド)5b、現像器5c、転写器5dを有し、電子写真プロセスに従って用紙に画像形成を行う。尚、電子写真プロセスは、帯電、露光、現像、転写、クリーニングの各工程を繰り返して、用紙(記録媒体)に画像形成を行うプロセスである。具体的には、帯電によって感光体ドラム5の表面に均一な電荷を付与し、露光によって感光体ドラム5の表面に静電潜像を形威し、現像によって静電潜像に従ったトナー像を形成し、転写によってトナー像を用紙に転写し、用紙に転写されたトナー像は定着処理によって用紙に熱定着される。
【0016】
記録媒体給紙部3は、上下に階層して配設された記録媒体給紙部3a〜3eで構成される。一方、記録媒体給紙部3a〜3eの何れかから給紙された用紙は、待機ローラ10を介して、記録媒体搬送部4に送られる。記録媒体搬送部4は、ベルト駆動ローラ11や従動ローラ12、搬送ベルト13等で構成される。搬送ベルト13は、ベルト駆動ローラ11の駆動力によって回転し、待機ローラ10によってタイミングを合わせて搬送ベルト13に送られた用紙を画像形成部2に送る。
【0017】
画像形成部2に送られた用紙は、前述の画像形成ユニット2M、2C、2Y、2Kによって対応するトナーが順次転写される。用紙に転写されたトナー像は定着器15によって熱定着される。その後、用紙は、排紙部16に送られる。
尚、上記各部は、用紙の材質(例えば、紙、OHPシート)、用紙の呼量(例えば、薄紙、普通紙、厚紙)、用紙の長さ(例えば、長尺紙)等に基づいて、転写スピード(搬送速度)や転写バイアス、定着温度等のプリンタエンジンの動作モードを設定し、それぞれの用紙に最適となる印刷制御を行う。
【0018】
図3は、上記構成の印刷装置1において、印刷制御部17のハードウエア構成を示す図である。印刷制御部17は、LAN制御回路18、USB制御回路19、CPU20、メモリ21、不揮発性メモリ22、ROM23、エンジン制御回路24、操作パネル制御回路25、ハードディスク制御回路(以下、HDD制御回路で示す)28で構成されている。
【0019】
また、エンジン制御回路24にはプリンタエンジン26が接続され、操作パネル制御回路25には操作パネル27が接続され、HDD制御回路28にはハードディスク29が接続されている。
【0020】
図4は操作パネル27の構成を示す図であり、操作パネル27は表示部27aとキー部27bで構成されている。表示部27aには、後述する入力ジョブキューから読み出された印刷実行中又は印刷実行待ちの印刷ジョブ情報が表示される。また、ユーザ操作に基づくキー部27bからの操作信号は、操作パネル制御回路25を介してCPU20に送信される。
【0021】
一方、図1は上記印刷制御部17のソフトウエア構成を示す図であり、上記図3に示す回路に基づく機能部は関連する番号を使用して説明する。本例の印刷装置1(印刷制御部17)はLAN(Local Area Network)を介してパーソナルコンピュータ(PC)等のクライアント装置(ホスト機器)30に接続される。クライアント装置30は、例えば、不図示のアプリケーションプログラムや、プリンタドライバ、スプーラ、及びLAN接続制御部で構成されている。
【0022】
クライアント装置30は、アプリケーションプログラムに従って作成した印刷データをプリンタドライバによって前述のPDLコマンドを含む中間データに変換し、スプーラに保持し、LAN接続制御部を介して印刷装置1に出力する。
【0023】
クライアント装置30から出力された印刷データは、上記LAN制御回路18(LAN制御部18a)を介して印刷装置1に入力される。
印刷装置1は上記のように、エンジン制御回路24に対応するエンジン制御部(プリンタエンジン制御部)24a、操作パネル制御回路25に対応する操作パネル制御部25a、及びメモリ21に対応する画像メモリ21aを備える。印刷装置1は、更に、ROM23に記憶されたプログラムによってCPU20を制御し、印刷データの解釈、実行を行うPDL解釈・実行部31、入力ジョブの保存処理を行う入力ジョブ保存部32、及び、入力ジョブキュー34の管理を行う入力ジョブキュー管理部33を備える。
【0024】
また、前述のエンジン制御回路24に対応するエンジン制御部24aはプリンタエンジン26に対してプリンタエンジン動作モード等を設定し、給紙処理、画像メモリ21aからの画像データの転送、排紙処理等の制御を行なう。また、エンジン制御部24aは、ある一定間隔で定期的に、エンジン状態を監視し、また、給紙口の状態を各給紙口から取得し、各給紙口の状態を監視する。尚、給紙口より取得できる情報は、例えばカセットの装着/未装着や、カセットのセット状態/引出し状態、用紙の有無、及び用紙サイズ等の情報である。
【0025】
また、入力ジョブキュー34は、前述の不揮発性メモリ22またはハードディスク29上に構築されている。尚、図3に示すUSB制御回路19の構成は、特に図1において示していない。
【0026】
以上の構成において、以下に本例の処理動作を説明する。
図5A、図5Bおよび図5Cは、LAN制御部18a、入力ジョブ保存部32、及び入力ジョブキュー管理部33の処理動作を説明するフローチャートである。
先ず、LAN制御部18aはクライアント装置30から出力された印刷データを受信すると(ステップ(以下、Sで示す)1)、印刷データを受信バッファにバッファリングする(S2)。尚、受信バッファは、例えば前述のメモリ21の所定エリアに設定されている。
【0027】
次に、LAN制御部18aは印刷データの入力を入力ジョブ保存部32に通知し、入力ジョブ保存部32をウエイクアップする(S3)。
印刷データの受信を待っていた入力ジョブ保存部32は、上記LAN制御部18aからの通知により、処理を開始し、受信バッファに格納された印刷データを読み出し、順次印刷ジョブ単位で前述のハードディスク29に書き込む(S4、S5)。
【0028】
その後、入力ジョブ保存部32は、クライアント装置30から出力され、受信バッファに格納した印刷ジョブの全てのデータをハードディスク29に書き込んだか判断し(S6)、印刷ジョブの全てのデータをハードディスク29に書き込むまで、上記処理を繰り返す(S6:NO、S4〜S6)。そして、印刷ジョブ全ての書き込み処理が完了すると(S6:YES)、入力ジョブ保存部32は入力ジョブキュー管理部33に対して、印刷ジョブの登録要求を出力する(S7)。その際、ハードディスク29に記憶した印刷ジョブのファイル名を入力ジョブキュー管理部33に受け渡す。なお、印刷ジョブファイル名称については、入力ジョブ保存部32がユニークな名称を自動生成する。
【0029】
入力ジョブキュー管理部33は、要求待ち状態で待機しており(S8)、上記入力ジョブ保存部32からアクセスがあると、登録要求であるか判断する(S9)。ここで、入力ジョブキュー管理部33は入力ジョブ保存部32から登録要求があると判断すると(S9:YES)、入力ジョブキュー管理部33は上記印刷ジョブのファイル名の情報を受け取り、入力ジョブキュー34のジョブファイル名にセットし、入力ジョブキュー34の最後に追加する(S10)。
【0030】
図6は入力ジョブキュー34のデータ構成を示す。スタートキューポインタは、最初の印刷ジョブ情報34−1にリンクする。つまり、スタートキューポインタは、最初の印刷ジョブ情報34−1の先頭のアドレスを示す。最初の印刷ジョブ情報34−1のネクストポインタは次の印刷ジョブ情報34−2を指示し、以後順次ネクストポインタの指示に従って次の印刷ジョブ情報34−nが指示される。つまり、印刷ジョブ情報34−i(ただし、iは、1≦i<nを満たす整数。)のネクストポインタは、印刷ジョブ情報34−(i+1)の先頭のアドレスを示す。尚、各印刷ジョブ情報34−1〜34−nには前述の印刷ジョブファイル名が記憶されている。
【0031】
次に、入力ジョブキュー管理部33は、上記印刷ジョブファイルの情報が入力ジョブキュー34の先頭に追加されたか判断する(S11)。ここで、入力ジョブキュー34の先頭に追加された場合(S11:YES)、入力ジョブキュー管理部33はPDL解釈・実行部31に対して印刷ジョブの実行を指示する(S12)。この際、入力ジョブキュー管理部33はPDL解釈・実行部31に対して、印刷ジョブファイル名の情報を受け渡す。
【0032】
図7Aおよび図7Bは、PDL解釈・実行部31の処理を説明するフローチャートである。要求待ち状態(ステップ(以下、STで示す)1)で待機していたPDL解釈・実行部31に印刷ジョブの実行指示が有ると(ST2)、PDL解釈・実行部31は、入力ジョブキュー管理部33から受け渡された印刷ジョブファイル名の情報を受け取る(ST3)。
【0033】
次に、PDL解釈・実行部31は、受け渡された印刷ジョブファイルの情報を読み出す(ST4)。そして、PDL解釈・実行部31は、読み出しデータがあるか判断する(ST5)。PDL解釈・実行部31は、最初のこの判断では、印刷ジョブファイルに読み出しデータはありと判断し(ST5:YES)、印刷ジョブファイルに記憶されたPDLコマンドの解析を行う(ST6)。
【0034】
先ず、PDL解釈・実行部31は、画像データを生成しないPDLコマンド、例えば印刷処理を行う際に必要な給紙口の情報や解像度、階調値の情報等のPDLコマンドについては、そのままコマンド処理を行う(ST7)。また、PDL解釈・実行部31は、画像データを生成するPDLコマンドについても、そのままコマンド処理を行う(ST8)。
【0035】
図8は、印刷データのデータフォーマットの一部を示す図であり、画像データを生成するコマンドの構成を示す図である。図8における(a)は、印刷データのデータフォーマットの一部を示す。例としてイメージ描画コマンドを挙げている。画像データを生成するコマンドは、イメージ描画コマンドや文字描画コマンド、直線・円などのグラフィック描画コマンドであり、また描画するための座標を指定するコマンドも含まれる。PDL解釈・実行部31は、この画像データを生成するPDLコマンドについても、そのままコマンド処理を行う。
【0036】
次に、PDL解釈・実行部31は、上記PDLコマンドをNOPコマンドに置き換え、ハードディスク29の同じ印刷ジョブファイルに書き戻す(ST9)。PDL解釈・実行部31は、例えば、図8における(a)に示す“IM len”を、同図における(b)に示すNOPコマンドである“NOP len2”に置き換えて(b−1)、ハードディスク29の同じ印刷ジョブファイルの同じ位置に書き戻す。尚、PDL解釈・実行部31は、画像データを生成するコマンドの中の残りのパラメータ部分とデータ部分(b−2)については変更することなく、書き戻す必要もなくそのままとする。また、PDL解釈・実行部31は、元のPDLコマンドのサイズを超えないように書き戻す。なお、PDL解釈・実行部31は、NOPコマンドの最小サイズより短いPDLコマンドは、元のPDLコマンドのサイズ分、NOPデータ(1バイトのデータであり、値は0x00)に置き換えて、印刷ジョブファイルに書き戻す。
【0037】
次に、改頁コマンドの場合、PDL解釈・実行部31は、画像メモリ21aに生成中の画像データを印刷データとして確定し、エンジン制御部24aに印刷処理を指示し、同時に上記給紙口の情報や解像度、階調値の情報をパラメ-タとして受け渡す(ST10)。また、PDL解釈・実行部31は、改頁コマンドについても、NOPコマンドに置き換えて、ハードディスク29の同じ印刷ジョブファイルに書き戻す(ST11)。
【0038】
次に、PDL解釈・実行部31は、ジョブ中断停止フラグがオンされているか判断し(ST12)、ジョブ中断停止フラグがオンされていなければ(ST12:NO)、読み出したデータを全て解釈したか判断して上記処理を繰り返す(ST13:NO、ST6〜ST13)。
【0039】
その後、PDL解釈・実行部31は、読み出したデータを全て解釈すると(ST13:YES、ST5:NO)、入力ジョブキュー管理部33に対して印刷ジョブの終了を通知する(ST14)。入力ジョブキュー管理部33は、PDL解釈・実行部31から印刷ジョブの終了通知を受信すると(S13:YES)、入力ジョブキュー34の先頭のキューデータを取り外し、次のキューデータを先頭にする(S14)。そして、入力ジョブキュー管理部33は、終了した印刷ジョブの印刷ジョブファイルを削除する(S15)。
【0040】
さらに、入力ジョブキュー管理部33は、入力ジョブキュー34に先頭キューデータがあるか判断し(S16)、入力ジョブキュー34の先頭にキューデータがある場合(S16:YES)、前述と同様、PDL解釈・実行部31に対して印刷ジョブの実行を指示し(S12)、上記PDL解釈・実行部31による印刷処理を繰り返す。
【0041】
一方、上記印刷処理の間、操作パネル27には入力ジョブキュー34に記憶された情報が表示される。図9は入力ジョブキュー34に記憶された印刷ジョブ情報が操作パネル27に表示される例を示す図である。同図に示すように、操作パネル27には印刷実行中の印刷ジョブ名とユーザ名、及び印刷実行待ちの印刷ジョブ名とユーザ名が表示される。また、操作パネル27には割込印刷が可能な状態の場合には割り込み印刷可能状態を表す「割込印刷」マーク27cが表示される。
【0042】
上記図9に示す表示状態において、割込キー27d(図4に示す右矢印キー(>)で代替え)が押下されると、同図に示すように、印刷実行待ちの印刷ジョブ名とユーザ名の表示が反転され、前述の図4に示す上下矢印キー(∧、∨)を押下することによって、割り込み印刷を行う印刷ジョブを選択することができる。また、選択した印刷ジョブの決定は、前述の図4に示すキー部27bにある決定キーを押下することによって行なうことができる。
【0043】
上記操作によって割り込み印刷が指示されると、操作パネル27から操作信号が操作パネル制御部25aの制御に従って、割込要求として入力ジョブキュー管理部33に通知される。入力ジョブキュー管理部33は、上記割込要求が通知されると(S8、S9:NO、S13:NO、ST17:NO、ST18:YES)、割り込み処理を行う印刷ジョブ名の情報を受け取り、入力ジョブキュー34をサーチする(S19)。
【0044】
そして、入力ジョブキュー管理部33は、割り込み印刷の指定が行なわれた印刷ジョブ名が入力ジョブキュー34に存在するか判断し、存在しない場合は(S20:NO)、操作パネルに「指定のジョブは既に印刷終了しました」と表示する(S31)。入力ジョブキュー管理部33は、割り込み指示が行われた印刷ジョブ名のキューデータが存在する場合(S20:YES)、当該印刷ジョブ名のキューが先頭のキューデータであるかの判断を行う(S21)。入力ジョブキュー管理部33は、当該印刷ジョブ名のキューデータが先頭であれば(S21:YES)、現在印刷中であるため操作パネルに「指定のジョブは現在印刷中」と表示し、以後特別に割り込み処理を行う必要がないので、現在の印刷をそのまま継続する(S32)。
入力ジョブキュー管理部33は、当該印刷ジョブ名のキューデータが先頭でなければ(S21:NO)、ジョブの中断・停止要求フラグをオンして(S22)、ジョブの中断を待つ(S8)。
【0045】
ここで、ジョブの中断・停止要求フラグがオンされた場合、印刷処理中であるPDL解釈・実行部31は、前述の判断(ST12)において、ジョブの中断・停止要求フラグがオンであることから(ST12:YES)、PDL解釈・実行部31の内部状態を初期化し、実行中の印刷ジョブの処理を中断する(ST15)。また、PDL解釈・実行部31は、入力ジョブキュー管理部33に対して、継続中の印刷ジョブの処理を中断する旨の通知を行う(ST16)。
【0046】
入力ジョブキュー管理部33は、ジョブ中断、停止の通知があると(S17:YES)、ジョブの中断・停止要求フラグをオフし(S23)、割込み要求の印刷ジョブのキューデータを入力ジョブキュー34から一旦取り外し、入力ジョブキュー34の先頭に挿入する(S24)。
【0047】
以後、入力ジョブキュー管理部33は、入力ジョブキュー34の先頭にキューデータがあることを判断して(S16:YES)、前述と同様、入力ジョブキュー管理部33はPDL解釈・実行部31に対して印刷ジョブの実行を指示し(S12)、上記PDL解釈・実行部31による印刷処理を行う。この割り込み印刷の印刷処理は前述と同様であり、PDL解釈・実行部31によって実行される。
【0048】
次に、入力ジョブキュー管理部33は、上記割込み印刷が終了すると(ST13:YES、ST14、S13:YES)、前述と同様、入力ジョブキュー34の先頭の割込み印刷を行ったキューデータを取り外し、次のキューデータを先頭にする(S14)。そして、終了した印刷ジョブの印刷ジョブファイルを削除する(S15)。
さらに、入力ジョブキュー管理部33は、入力ジョブキュー34に先頭キューデータがあるか判断し(S16)、この場合中断した印刷ジョブファイルの情報が入力ジョブキュー34に先頭に記憶されており、以下の処理を行なう。
【0049】
すなわち、PDL解釈・実行部31は、前述と同様、先ず印刷ジョブファイルの情報を読み出し、ジョブファイルに記憶されたPDLコマンドの解析を行い、復帰印刷処理を行う。この場合、前述のように、印刷ジョブファイルには印刷処理を行う際に必要な給紙口の情報や解像度、階調値の情報等のPDLコマンドが含まれており、このPDLコマンドについてはそのままコマンド処理を行う(ST7)。
【0050】
一方、PDL解釈・実行部31は、図8における(b)に示すNOPコマンドについては、当該コマンドのパラメータで指定されるサイズ分データを読み飛ばす(ST17)。したがって、先の印刷処理において印刷処理が行われた画像データを生成するコマンド、及び改頁コマンドについてはNOPコマンドに書き換えられており、読み飛ばす。
【0051】
すなわち、一旦中断した印刷ジョブの復帰再開処理において、NOPコマンドについては読み飛ばすことができる。したがって、印刷ジョブの復帰再開処理において既に印刷出力された頁については、前述の処理によってNOPコマンドに書き換えられており、既に印刷出力された頁まで印刷データを読み飛ばすことができる。尚、先の印刷処理において未だ印刷出力されていない頁については、NOPコマンドへの書き換え処理が行なわれておらず、前述の処理(ST8、ST10)が行なわれる。
【0052】
以上のように、本例によれば、割込み印刷処理後のジョブ復帰再開処理を効率よく、短時間で行なうことができる。したがって、印刷ジョブの復帰処理を高速化し、割込復帰のパフォーマンスを格段に改善することができる。
【0053】
また、本実施形態では、画像データを生成するPDLコマンドを解釈実行したあと、NOPコマンドに変換して印刷ジョブファイルに書き戻したが、NOPコマンドを使用せずに、元のPDLコマンドのサイズ分全て、1バイトデータで値が0x00のNOPデータに置き換えて印刷ジョブファイルに書き戻してもよい。
この場合、印刷が終了した時点では、ハードディスク上の印刷ジョブファイルの中には、画像データを生成するPDLコマンドは全く無くなり、すべてNOPデータ(値は0x00)に置き換わっている。そして、この状態でファイル削除される。つまり、印刷ジョブファイル上、印刷物の内容に関する情報が全く無くなっており、その状態でファイル削除されている。このため、たとえ、ハードディスクが盗難等にあい、悪意のユーザに何らかの方法で削除されている印刷ジョブファイルを復元されたとしても、印刷物の内容に関する情報が全く無くなっているため、情報漏洩の心配が全く無い。
このように、前述の印刷ジョブの復帰処理を高速化・割込復帰のパフォーマンスの向上のほか、セキュリティ面での効果もある。
但し、本実施形態では、印刷処理中に、元のPDLコマンドのサイズ分をNOPデータに置き換えて印刷ジョブファイルに書き戻す。従って、特に、容量の多いイメージ描画コマンドもそのイメージデータをも含めてNOPデータに置き換え書き戻す為、これがオーバーヘッドとなり、印刷スピードへの悪影響を及ぼす可能性が高い。
そこで、この問題も解決して印刷スピードを維持し、かつ、割込復帰処理の高速化、更に、高いセキュリティを保証する実施形態2を以下に示す。
【0054】
(実施形態2)
近年、セキュリティの重要性が叫ばれ、情報漏洩防止の為に、印刷装置といえども、ファイルの管理情報の消去だけでなく、ファイルの完全消去が求められている。ここで、ファイルの管理情報の消去は、印刷処理過程での印刷データ及び処理過程で生成される中間データを含むハードディスク装置内のファイルにアクセスするための情報を削除することである。一方、ファイルの完全消去は、ハードディスク装置内のファイルそのものを特定のパターンデータで上書き処理を行ったうえでファイルを削除することである。以下、セキュリティの高い印刷装置に本発明を適用する例について説明する。
【0055】
以下、本発明の実施形態2を図面に基づいて説明する。なお、実施形態2に係る印刷装置の構成の大部分は、実施形態1に係る印刷装置の構成と同様である。従って、以下では、実施形態1と同様の構成については、適宜、説明を省略する。
【0056】
図10は上記印刷制御部17のソフトウエア構成を示す図であり、上記図3に示す回路に基づく機能部については関連する番号を使用して説明する。本例の印刷装置1(印刷制御部17)はLAN(Local Area Network)を介してパーソナルコンピュータ(PC)等のクライアント装置(ホスト機器)30に接続される。クライアント装置30は、例えば、アプリケーションプログラム30a、プリンタドライバ30b、スプーラ30c、及びLAN制御部30dで構成されている。
【0057】
クライアント装置30は、アプリケーションプログラム30aによって作成した印刷データをプリンタドライバ30bによって前述のPDLコマンドを含む中間データに変換し、スプーラ30cに保持し、LAN制御部30dを介して印刷装置1に出力する。
【0058】
クライアント装置30から出力された印刷データは、上記LAN制御回路18(LAN制御部18a)を介して印刷装置1に入力する。
印刷装置1は上記のように、エンジン制御回路24に対応するエンジン制御部24a、操作パネル制御回路25に対応する操作パネル制御部25a、及びメモリ21に対応する画像メモリ21aを備える。印刷装置1は、更に、ROM23に記憶されたプログラムによってCPU20を制御し、印刷データの解釈、実行を行うPDL解釈・実行部31、入力ジョブ保存処理を行う入力ジョブ保存部32、入力ジョブキューの管理を行う入力ジョブキュー管理部33、ファイルデータの全てをあるパターンデータで上書きした上でファイル削除するファイル完全消去部35を備える。
【0059】
また、前述のエンジン制御回路24に対応するエンジン制御部24aはプリンタエンジン26に対してプリンタエンジン動作モード等を設定し、給紙処理、画像メモリ21aからの画像データの転送、排紙処理等の制御を行なう。また、エンジン制御部24aは、ある一定間隔で定期的に、エンジン状態の監視し、また、給紙口の状態を各給紙口より取得し、各給紙口の状態を監視する。尚、給紙口より取得できる情報は、例えばカセットの装着/未装着や、カセットのセット状態/引出し状態、用紙の有無、及び用紙サイズ等の情報である。
【0060】
また、入力ジョブキュー34は、前述の不揮発性メモリ22またはハードディスク29上に構築されている。尚、図3に示すUSB制御回路19の構成は、特に図10において示していない。
【0061】
図11はプリンタドライバ30bが生成し、印刷装置1に入力される印刷データ(印刷ジョブ)のデータフォーマットを示す図である。印刷データは、先ず識別フラグとレングスが記述された識別フラグ&レングス記述部D1、データ記述エリアD2、識別フラグ&レングス記述部D3、データ記述エリアD4、識別フラグ&レングス記述部D5、データ記述エリアD6、識別フラグ&レングス記述部D7、・・・、識別フラグ&レングス記述部D99で構成されている。
【0062】
ここで、識別フラグ&レングス記述部D1、D3、D5、D7、・・・に記述される識別フラグは、例えば“0”がイメージ描画コマンド以外のPDLコマンドが次のエリアに記述されていることを示し、“1”がイメージ描画コマンド(PDLコマンド)が次のエリアに記述されていることを示し、“2”がユーザ名及び印刷ジョブ名の情報が次のエリアに記述されていることを示す。また、レングスは次のエリア(D2、D4、D6、・・・)に記述される情報の長さを示す。D99に記述される識別フラグ“9”は印刷ジョブの終了を表わし、この場合レングスは0である。
【0063】
例えば、図11に示す例では、最初の識別フラグ&レングス記述部D1の識別フラグが“2”であり、次のデータ記述エリアD2にユーザ名及び印刷ジョブ名が記述され、次の識別フラグ&レングス記述部D3の識別フラグが“0”であり、次のデータ記述エリアD4にイメージ描画コマンド以外のPDLコマンドが記述されている。このPDLコマンドは、例えば用紙サイズの情報や、給紙口の情報、解像度や階調設定の情報等のPDLコマンドである。
【0064】
また、次の識別フラグ&レングス記述部D5の識別フラグが“1”であり、次のデータ記述エリアD6にイメージ描画コマンドが記述されている。このイメージ描画コマンドは、クライアント装置側で既に印刷すべきイメージデータに展開されたデータを含み、印刷装置側でそのままイメージデータを描画するように指示する制御コマンド部分とイメージデータ部分とから構成される。
そして、最後に識別フラグ&レングス記述部D99の識別フラグが“9”であり、印刷ジョブの終了を表す。
【0065】
以上の構成において、以下に本例の処理動作を説明する。
先ず、図12A及び図12Bは、LAN制御部18a、及び入力ジョブ保存部32の処理動作を説明するフローチャートであり、上記フォーマットの印刷データが入力された際に行う処理を説明するものである。先ず、LAN制御部18aは、印刷データを受信すると(ステップ(以下、SUで示す)1)、印刷データを受信バッファにバッファリングする(SU2)。尚、受信バッファは、例えば前述のメモリ21の所定エリアに設定されている。
【0066】
次に、LAN制御部18aは、印刷データの入力を入力ジョブ保存部32に通知し、入力ジョブ保存部32をウエイクアップする(SU3)。
印刷データの受信を待っていた入力ジョブ保存部32は、上記LAN制御18aからの通知により、処理を開始し、受信バッファに格納された印刷データを読み出す(SU4、SU5)。この処理により、入力ジョブ保存部32には前述のフォーマットの印刷データが読み出され、識別フラグ&レングス記述部の解析処理が行われる。
【0067】
図13は、識別フラグ&レングス記述部D3、D5、及びデータ記述エリアD4、D6に対する処理を詳しく説明する図である。
【0068】
先ず、入力ジョブ保存部32は、印刷データの最初の識別フラグ&レングス記述部D1に含まれる識別フラグとレングスの情報を読み出す(SU6)。図11に示す例の場合、識別フラグは“2”であり、レングスは“len0”である。この場合、判断はYES(SU7:YES)となり、入力ジョブ保存部32は、識別フラグ&レングス記述部D1に続くデータ記述エリアD2に記述されたユーザ名及び印刷ジョブ名の情報をセーブする(SU8)。そして、入力ジョブ保存部32は、印刷ジョブファイル1及び2の名称を自動生成しセーブする(SU9)。この印刷ジョブファイル1及び2の名称はユニークな名称である。
【0069】
一方、上記判断(SU7)において、識別フラグが“2”でない場合、入力ジョブ保存部32は、識別フラグが“9”であるか判断する(SU10)。識別フラグが“9”、即ち、印刷ジョブの終了の場合、入力ジョブ保存部32は、入力ジョブキュー管理部33に対してジョブ登録要求を出す(SU11)。入力ジョブ保存部32は、その際セーブしているユーザ名、印刷ジョブ名、及びジョブファイル2の名称を入力ジョブキュー管理部33に受け渡す。
【0070】
上記判断(SU10)において、識別フラグが“9”でない場合、入力ジョブ保存部32は、更に識別フラグが“0”か判断する(SU12)。図13に示す例では、次の識別フラグ&レングス記述部D3には識別フラグとして、“0”が設定されており(SU7:NO、SU10:NO、SU12:YES)、識別フラグ&レングス記述部D3に続くデータ記述エリアD4からイメージ描画コマンド以外のPDLコマンドを読み出す。すなわち、レングス“len1”分、PDLコマンドを読み出し、印刷ジョブファイル1に当該PDLコマンドを書き込む(SU13)。
【0071】
尚、この処理は、図13に示す処理aである。また、上記印刷ジョブファイル1は、前述のハードディスク29に構築されたファイルであり、上記PDLコマンド及び後述するイメージ描画2コマンド(内部コマンド)を記憶するファイルである。
したがって、上記処理によって印刷ジョブファイル1の所定エリアに、先ずPDLコマンドが書き込まれる(図13に示すb)。
【0072】
次に、入力ジョブ保存部32は、識別フラグ&レングス記述部D5の情報を読み出し、識別フラグを判断する。図13に示す例では、この識別フラグは“1”であり、識別フラグ&レングス記述部D5に続くデータ記述エリアD6のイメージ描画コマンドを読み出す(SU12:NO)。
ここで、イメージ描画コマンドやイメージ描画2コマンドの形式は、コマンドID,データ部サイズ,パラメータ,区切りコード,データで構成されており、
イメージ描画コマンドは、
コマンドID…イメージ描画コマンドを示すコマンド識別子(IM)、
データ部サイズ…本コマンドのデータ部分のサイズ(len)、
パラメータ…本コマンドのパラメータ(x,y,Δx,Δy)、
区切りコード…パラメータとデータ部分を区切るコード(*)、
データ…イメージデータ実体(サイズはデータ部サイズlenで示される)、
なる構造である。
【0073】
この場合、入力ジョブ保存部32は、イメージ描画コマンドのイメージデータ部分を印刷ジョブファイル2の最後に追記し、コマンドパラメータ部分をイメージ描画2コマンドに置き換えて、印刷ジョブファイル1に書き込む。
イメージ描画2コマンドは、
コマンドID…イメージ描画2コマンドを示すコマンド識別子(IM2)、
データ部サイズ…本コマンドのデータ部分のサイズ(ln2)、
パラメータ…イメージ描画コマンドのパラメータと同じ(x,y,Δx,Δy)、
区切りコード…パラメータとデータ部分を区切るコード(*)、
データ…イメージデータ実体を示す印刷ジョブファイル2上の相対アドレス(Loc)とイメージデータのサイズ(len)(このLocとlenを併せたサイズがデータ部サイズln2。)、
なる構造である。
入力ジョブ保存部32は、先ず印刷ジョブファイル2のファイルサイズを取得し、イメージ描画2コマンドの相対アドレスLoc(ロケーション)とする(SU14)。
【0074】
この印刷ジョブファイル2もハードディスク29に構築されたファイルであり、イメージ描画コマンドのイメージデータ部分を記憶するファイルである。すなわち、印刷ジョブファイル2の最後にイメージデータを追記するため、追記する前のファイルサイズが該イメージデータの印刷ジョブファイル2上の相対アドレスLocである。
次に、入力ジョブ保存部32は、イメージ描画コマンドのイメージデータ部分を、イメージ描画コマンドのデータ部サイズで指定されるレングス分、印刷ジョブファイル2の最後に記憶する(SU15)。すなわち、図13のcに示すように、印刷ジョブファイル2の相対アドレスLoc位置からイメージデータ(サイズlen)を追記する。
【0075】
次に、入力ジョブ保存部32は、イメージ描画コマンドを、内部コマンドであるイメージ描画2コマンドに変換する。すなわち、入力ジョブ保存部32は、コマンドIDをイメージ描画(IM)からイメージ描画2(IM2)に変え、イメージ描画2のパラメータは元のパラメータのままとし、イメージ描画2のデータ部分は、イメージデータを印刷ジョブファイル2に追記した際の相対アドレスLocとイメージデータサイズlenとする(データ部分のサイズは、新しいイメージ描画2のデータ部分のサイズln2とする)(SU16)。すなわち、図13のdに示すように、元のイメージ描画コマンドのパラメータである“IM2 ln2 x, y, Δx, Δy*”と、イメージデータサイズであるlenと、相対アドレスLocと、が、イメージ描画2コマンドのデータとして記憶される。
【0076】
次に、入力ジョブ保存部32は、生成したイメージ描画2コマンドを、イメージ描画コマンドの代わりに印刷ジョブファイル1に出力する(SU17)。
次に、入力ジョブ保存部32は、受信バッファより読み出した印刷データを全て処理したか判断し(SU18)、読み出した印刷データを全て処理するまで上記処理を繰り返す(SU18:NO、SU6〜SU17)。そして、全ての処理が完了すると(SU18:YES)、印刷データの受信を待つ(SU4)。
【0077】
次に、図14A及び図14Bを参照して、入力ジョブキュー管理部の動作について説明する。
【0078】
入力ジョブキュー管理部33は、要求待ち状態で待機しており(ステップ(以下、SWで示す)1)、上記入力ジョブ保存部32から登録要求が出されると、まず要求がジョブ登録要求であるか判断する(SW2)。ここで、入力ジョブキュー管理部33は、入力ジョブ保存部32からジョブ登録要求があると判断すると(SW2:YES)、上記ユーザ名と印刷ジョブ名、及び印刷ジョブファイル1および2の名称の情報を受け取り、新規にキューデータを作成し、受け取った印刷ジョブ名等の情報をキューデータにセットし、そのキューデータを入力ジョブキューの最後に追加する(SW3)。
【0079】
図15は入力ジョブキュー34のデータ構成を示す。スタートキューポインタは最初の印刷ジョブ情報34−1にリンクする。つまり、スタートキューポインタは、最初の印刷ジョブ情報34−1の先頭のアドレスを示す。最初の印刷ジョブ情報34−1のネクストポインタは次の印刷ジョブ情報34−2を指示し、以後順次ネクストポインタの指示に従って次の印刷ジョブ情報34−nが指示される。つまり、印刷ジョブ情報34−i(ただし、iは、1≦i<nを満たす整数。)のネクストポインタは、印刷ジョブ情報34−(i+1)の先頭のアドレスを示す。尚、各印刷ジョブ情報34−1〜34−nには前述のユーザ名、印刷ジョブ名、印刷ジョブファイル1及び2の名称が記憶されている。
【0080】
次に、入力ジョブキュー管理部33は、上記印刷ジョブファイルの情報が入力ジョブキュー34の先頭に追加されたか判断する(SW4)。すなわち、入力ジョブキュー管理部33は、印刷していない状態でジョブが投入されたか判断する。ここで、入力ジョブキュー34の先頭に追加された場合(SW4:YES)、入力ジョブキュー管理部33は、PDL解釈・実行部31に対して印刷ジョブの実行を指示する(SW5)。この際、入力ジョブキュー管理部33は、PDL解釈・実行部31に対して、印刷ジョブファイル1及び2の名称等の情報を受け渡す。
【0081】
図16A、図16Bおよび図16Cは、PDL解釈・実行部31の処理を説明するフローチャートである。要求待ち状態(ステップ(以下、SXで示す)1)で待機していたPDL解釈・実行部31に印刷ジョブの実行指示が有ると(SX2)、PDL解釈・実行部31は、入力ジョブキュー管理部33から受け渡された印刷ジョブファイル1及び2の名称等の情報を受け取る(SX3)。
【0082】
次に、PDL解釈・実行部31は、先ず印刷ジョブファイル1の情報を読み出す(SX4)。そして、PDL解釈・実行部31は、読み出しデータがあるか判断する(SX5)。PDL解釈・実行部31は、印刷ジョブファイル1に読み出しデータがある場合(SX5:YES)、印刷ジョブファイル1に記憶されたPDLコマンドの解析を行う(SX6)。
【0083】
先ず、PDL解釈・実行部31は、画像データを生成しないPDLコマンド、例えば印刷処理を行う際に必要な給紙口の情報や解像度、階調値の情報等のPDLコマンドについては、そのままコマンド処理を行う(SX7)。また、PDL解釈・実行部31は、画像データを生成するPDLコマンドについても、そのままコマンド処理を行う(SX8)。
【0084】
なお、PDL解釈・実行部31は、入力ジョブ保存部にて置き換えられた内部コマンドのイメージ描画2コマンドについては、イメージ描画2コマンドの相対アドレスLocとレングスlenの情報を取り出し(SX9)、印刷ジョブファイル2の相対アドレスLocの位置から上記レングスlen分のデータを読み出す(SX10)。このデータは、前述の処理によってハードディスク29の印刷ジョブファイル2に記憶されたイメージデータ部分であり、このイメージデータ部分の情報が読み出され、読み出したイメージデータに基づいて画像データが生成される(SX11)。
【0085】
図17は、印刷データのデータフォーマットの一部を示す図であり、画像データを生成するコマンドの構成を示す図である。図17における(a)は、印刷データのデータフォーマットの一部を示す。例として前記内部コマンドのイメージ描画2コマンドを挙げている。画像データを生成するPDLコマンドは、内部コマンドのイメージ描画2コマンドをはじめ、文字描画コマンド、直線・円などのグラフィック描画コマンドであり、また描画するための座標を指定するPDLコマンドも含まれる。PDL解釈・実行部31は、この画像データを生成するPDLコマンドについても、そのままコマンド処理を行う。
【0086】
PDL解釈・実行部31は、画像データを生成するPDLコマンドのそれぞれの処理を終えると、次に、上記PDLコマンドをそのサイズ分、NOPデータ(1バイトのデータであり、値は0x00)に置き換えて、ハードディスク29の同じ印刷ジョブファイル1に書き戻す(上書きする)。(SX12)。
【0087】
次に、PDL解釈・実行部31は、読み出したデータを全て解釈していなければ(SX13:NO)、PDLコマンド解析(SX6)を続行する。改頁コマンドの場合、PDL解釈・実行部31は、画像メモリ21aに生成中の画像データを印刷データとして確定し、エンジン制御部24aに印刷処理を指示し、同時に上記給紙口の情報や解像度、階調値の情報をパラメータとして受け渡す(SX14)。また、PDL解釈・実行部31は、改頁コマンドについても、NOPデータに置き換えて、ハードディスク29の同じ印刷ジョブファイル1に書き戻す(SX15)。
【0088】
PDL解釈・実行部31は、続いて改頁コマンドの処理として、ジョブ中断停止フラグがオンされているか判断し(SX16)、ジョブ中断停止フラグがオンされていなければ(SX16:NO)、読み出したデータを全て解釈したか判断して上記処理を繰り返す(SX13:NO、SX6〜SX13)。
【0089】
その後、PDL解釈・実行部31は、読み出したデータを全て解釈すると(SX13:YES、SX5:NO)、入力ジョブキュー管理部33に対して印刷ジョブの終了を通知する(SX20)。入力ジョブキュー管理部33は、PDL解釈・実行部31から印刷ジョブの終了通知を受信すると(SW6:YES)、入力ジョブキュー34の先頭のキューデータを取り外し、次のキューデータを先頭にする(SW7)。そして、入力ジョブキュー管理部33は、終了した印刷ジョブの印刷ジョブファイル1を削除し、印刷ジョブファイル2をファイル完全消去要求ディレクトリに移動し、ファイル完全消去部35に対し、ファイル完全消去要求を出す(SW8、SW9)。
【0090】
ファイル完全消去部35は、図18の如く、ある一定時間間隔か、又は入力ジョブキュー管理部33からファイル完全消去要求を出されたときに起こされ(SY1、SY2)、現在印刷中か調べ(SY3)、印刷中で無いならば(SY3:NO)、完全消去要求ディレクトリに完全消去要求のファイルがあるかチェックする(SY4)。ありの場合(SY4:YES)、ファイル完全消去部35は、その要求されたファイルのサイズを取得し、そのサイズ分、あるパターン(ex.0x00)のデータをそのファイルに上書きし、そのあとファイル削除する(SY5、SY6)。すなわち、印刷装置が印刷中で無い時に、ファイルデータを完全消去した上でファイル削除を行う。
【0091】
さらに、入力ジョブキュー管理部33は、入力ジョブキュー34に先頭キューデータがあるか判断し(SW10)、入力ジョブキュー34の先頭にキューデータがある場合(SW10:YES)、前述と同様、入力ジョブキュー管理部33はPDL解釈・実行部31に対して印刷ジョブの実行を指示し(SW5)、上記PDL解釈・実行部31による印刷処理を繰り返す。
【0092】
一方、上記印刷処理の間、上記入力ジョブキュー34に登録された印刷ジョブ情報は、操作パネル制御部25aの制御によって操作パネル27に表示される。図9は、入力ジョブキュー34に記憶された印刷ジョブ情報が操作パネル27に表示される例を示す図である。同図に示すように、操作パネル27には印刷実行中の印刷ジョブ名とユーザ名、及び印刷実行待ちの印刷ジョブ名とユーザ名が表示される。また、操作パネル27には、割込印刷が可能な状態の場合には割り込み印刷可能状態を表す「割込印刷」マーク27cが表示される。
【0093】
尚、上記表示においては、操作パネル制御部25aが、入力ジョブキュー管理部33に対して、ユーザ名、印刷ジョブ名リスト取得要求を出し、取得されたリストに基づき、操作パネル27にユーザ名・印刷ジョブ名を表示する。
入力ジョブキュー管理部33は、ユーザ名、印刷ジョブ名リスト取得要求があると(SW21:YES)、入力ジョブキュー34の先頭のキューデータより、キューデータを辿り、入力ジョブキュー34内のユーザ名及び印刷ジョブ名を取り出し、リストを作成する(SW22)。そして、入力ジョブキュー管理部33は、上記リストの応答を行なう(SW23)。
【0094】
上記図9に示す表示状態において、割込キー27d(図4に示す右矢印キー(>)で代替え)が押下されると、同図に示すように、印刷実行待ちの印刷ジョブ名とユーザ名の表示が反転され、前述の図4に示す上下矢印キー(∧、∨)を押下することによって、割り込み印刷を行う印刷ジョブを選択することができる。また、選択した印刷ジョブの決定は、前述の図4に示すキー部27bにある決定キーを押下することによって行なうことができる。
【0095】
上記操作によって割り込み印刷が指示されると、操作パネル27から操作信号が操作パネル制御部25aの制御に従って、割込要求として入力ジョブキュー管理部33に通知される。入力ジョブキュー管理部33は、上記割込要求が通知されると(SW1が「要求あり」、SW2:NO、SW6:NO、SW11:NO、SW12:YES)、割り込み処理を行う印刷ジョブ名の情報を受け取り、入力ジョブキュー34をサーチする(SW13)。
【0096】
そして、入力ジョブキュー管理部33は、割り込み印刷の指定が行なわれた印刷ジョブ名が入力ジョブキュー34に存在するか判断し、存在しない場合は(SW14:NO)、操作パネルに「指定のジョブは既に印刷終了しました」と表示する(SW19)。入力ジョブキュー管理部33は、割り込み指示が行われた印刷ジョブ名のキューデータが存在する場合(SW14:YES)、当該印刷ジョブ名のキューが先頭のキューデータであるかの判断を行う(SW15)。入力ジョブキュー管理部33は、当該印刷ジョブ名のキューデータが先頭であれば(SW15:YES)、現在印刷中であるため操作パネルに「指定のジョブは現在印刷中」と表示し、以後特別に割り込み処理を行う必要がないので、現在の印刷をそのまま継続する(SW20)。
入力ジョブキュー管理部33は、当該印刷ジョブ名のキューデータが先頭でなければ(SW15:NO)、ジョブの中断・停止要求フラグをオンして(SW16)、ジョブの中断を待つ(SW1)。
【0097】
ここで、ジョブの中断・停止要求フラグがオンされた場合、印刷処理中であるPDL解釈・実行部31は、前述の判断(SX16)において、ジョブの中断・停止要求フラグがオンであることから(SX16:YES)、PDL解釈・実行部31の内部状態を初期化し、実行中の印刷ジョブの処理を中断する(SX17)。また、PDL解釈・実行部31は、入力ジョブキュー管理部33に対して、継続中の印刷ジョブの処理を中断する旨の通知を行う(SX18)。
【0098】
入力ジョブキュー管理部33は、ジョブ中断、停止の通知があると(SW11:YES)、ジョブの中断・停止要求フラグをオフし(SW17)、割込み要求の印刷ジョブのキューデータを入力ジョブキュー34から一旦取り外し、入力ジョブキュー34の先頭に挿入する(SW18)。
【0099】
以後、入力ジョブキュー管理部33は、入力ジョブキュー34の先頭にキューデータがあることを判断して(SW10:YES)、前述と同様、入力ジョブキュー管理部33はPDL解釈・実行部31に対して印刷ジョブの実行を指示し(SW5)、上記PDL解釈・実行部31による印刷処理を行う。この割り込み印刷の印刷処理は前述と同様であり、PDL解釈・実行部31によって実行される。
【0100】
次に、上記割込み印刷が終了すると(SX13:YES、SX20、SW6:YES)、入力ジョブキュー管理部33は、前述と同様、入力ジョブキュー34の先頭の割込み印刷を行ったキューデータを取り外し、次のキューデータを先頭にする(SW7)。そして、入力ジョブキュー管理部33は、終了した印刷ジョブの印刷ジョブファイル1を削除し、印刷ジョブファイル2を、ファイル完全消去要求ディレクトリに移動し、ファイル完全消去部に対し、ファイル完全消去要求を出す(SW8、SW9)。さらに、入力ジョブキュー管理部33は、入力ジョブキュー34に先頭キューデータがあるか判断し(SW10)、この場合中断した印刷ジョブファイルの情報が入力ジョブキュー34に先頭に記憶されており、以下の処理を行なう。
【0101】
すなわち、PDL解釈・実行部31は、前述と同様、先ず印刷ジョブファイル1の情報をファイル先頭より読み出し、印刷ジョブファイル1に記憶されたPDLコマンドの解析を行い、復帰印刷処理を行う。この場合、前述のように、印刷ジョブファイル1には印刷処理を行う際に必要な給紙口の情報や解像度、階調値の情報等のPDLコマンドが含まれており、PDL解釈・実行部31は、このPDLコマンドについてはそのままコマンド処理を行う(SX7)。
【0102】
一方、図17における(b)に示すNOPデータについては読み飛ばす(SX19)。したがって、先の印刷処理において印刷処理が行われた画像データを生成するコマンド、及び改頁コマンドについてはNOPデータに書き換えられており、読み飛ばされる。
【0103】
すなわち、一旦中断した印刷ジョブの復帰再開処理において、既に印刷出力された頁については、前述の処理によってNOPデータに書き換えられており、NOPデータについては読み飛ばすことができ、しかも容量の大きいイメージデータが記憶されている印刷ジョブファイル2には一切アクセスもしなくて済む。尚、先の印刷処理において未だ印刷出力されていない頁については、NOPデータへの書き換え処理が行なわれておらず、前述の処理(SX8、SX9、SX14)が行なわれる。
【0104】
以上のように、本例によれば、割込み印刷処理後のジョブ復帰再開処理を効率よく、短時間で行なうことができる。したがって、印刷ジョブの復帰処理を高速化し、割込復帰のパフォーマンスを格段に改善することができる。
【0105】
また、画像データを生成するPDLコマンドを、値が0x00のNOPデータに置き換えて印刷ジョブファイル1に書き戻しており、印刷が終了した時点では、ハードディスク上の印刷ジョブファイル1の中には、画像データを生成するPDLコマンドは全く無くなり、すべてNOPデータ(値は0x00)に置き換わっている。そして、この状態でファイル削除される。つまり、イメージデータ以外の印刷物の内容に関する情報が全く無くなっており、その状態でファイル削除されている。また、印刷ジョブファイル2については、印刷を行なっていない時に全データを0x00の値で上書きした上でファイル削除される為、イメージデータについても内容も消され、印刷物の内容は完全に痕跡が無くなっている。このため、たとえ、ハードディスクが盗難等にあい、悪意のユーザに何らかの方法で削除されている印刷ジョブファイルを復元されたとしても、印刷物の内容に関する情報が全く無くなっているため、情報漏洩の心配が全く無い。
【0106】
また、小容量の印刷ジョブファイル1をNOPデータで上書きしてもたいした時間もかからず、性能に与える影響はほとんど無く、大きい容量の印刷ジョブファイル2については、印刷処理を行なっていないときに完全消去される為、印刷処理に及ぼす性能的影響はほぼ無い。
このように、前述の印刷ジョブの復帰処理を高速化・割込復帰のパフォーマンスの向上のほか、セキュリティ面での効果もある。
【0107】
(変形例)
これまで、本発明のいくつかの実施形態を説明したが、本発明の範囲はこれらの実施形態に限定されない。つまり、これらの実施形態における各要素を当業者がこれと均等なものに置換した実施形態も本発明の範囲に含まれる。
【0108】
上記実施形態では、操作パネル27を操作し、割り込み処理を行なう印刷ジョブを指定したが、受信する印刷ジョブ自身に優先度を持たせても良い。例えば、至急/通常のような優先度の指定、又は優先順位の特定等を行ない、上記と同様な処理を行なってもよい。
【0109】
この場合、優先度を認識できるように印刷ジョブの先頭に優先度に関する記述を行い、入力ジョブ保存部32では、この優先度を認識し、印刷ジョブを保存した後、優先度が高い印刷ジョブに対して、割込み印刷要求を出力する。この割込印刷の要求があると、解釈・実行中の印刷ジョブの中断・停止を行い、割込印刷の登録要求の印刷ジョブを入力ジョブキューの先頭に挿入し、この印刷ジョブの解釈・実行を行なうように制御する。また、上記実施形態の説明では印刷装置としてカラープリンタの例で説明したが、例えばMFP等の複合機であっても同様に実施できる。
【0110】
なお、上記実施形態の印刷装置と同様の機能や構成を予め備えた印刷装置によって本発明を実現できることはもとより、既存の印刷装置にプログラムを適用することで、本発明にかかる印刷装置として機能させることもできる。この場合、上記実施形態で例示した印刷装置と同様の構成を備えた印刷装置のコンピュータ(CPUなどの制御部)に、上述した印刷装置の機能と同様の機能を実現させるためのプログラムを実行させることで、本発明にかかる印刷装置として機能させることができる。このようなプログラムの適用方法は任意であり、例えば、CD−ROMやメモリカードなどの記憶媒体に格納して適用できる他、例えば、インターネットなどの通信媒体を介して適用することもできる。
【0111】
また、本発明には、特許請求の範囲に記載された発明とその均等の範囲が含まれる。以下に、本出願の当初の特許請求の範囲に記載された発明を付記する。
【0112】
(付記1)
ネットワークを介して接続された電子機器から供給された印刷データに基づいて印刷ジョブを実行し、ある印刷ジョブの実行中に他の印刷ジョブの割り込み処理を許容する印刷装置であって、
前記印刷データは、一連のPDLコマンドを含み、
前記一連のPDLコマンドのそれぞれは、前記割り込み処理により中断された印刷ジョブが再開される際、再度実行することが必要なPDLコマンドである再実行必要コマンドと、前記割り込み処理により中断された印刷ジョブが再開される際、再度実行することが不要なPDLコマンドである再実行不要コマンドと、のうちのいずれかに分類され、
前記電子機器から前記印刷データを受信する受信手段と、
前記受信された印刷データに含まれる一連のPDLコマンドを、PDLコマンド記憶手段に登録するPDLコマンド登録手段と、
前記印刷データが受信されたことを検知すると、当該受信された印刷データにより表される印刷ジョブを特定する印刷ジョブ特定情報を、印刷ジョブキューの末尾に追加する印刷ジョブ制御手段と、
前記PDLコマンド記憶手段に記憶されている一連のPDLコマンドを先頭から順次実行することにより前記印刷ジョブを実行するコマンド実行手段と、を備え、
前記コマンド実行手段は、前記PDLコマンドを実行する毎に、当該PDLコマンドが前記再実行不要コマンドであるか否かを判別し、当該PDLコマンドが前記再実行不要コマンドであると判別した場合、前記PDLコマンド記憶手段に記憶されている当該PDLコマンドを、何も処理しないことを指示するコマンドであるNOPコマンドに書き換え、
前記印刷ジョブ制御手段は、
前記コマンド実行手段による印刷ジョブの実行の終了を検知すると、前記コマンド実行手段を、前記印刷ジョブキューの先頭の印刷ジョブ特定情報により特定される印刷ジョブの実行を開始するように制御し、
前記割り込み処理の指示を検知すると、割り込み処理の指示がなされた印刷ジョブを特定する印刷ジョブ特定情報を、前記印刷ジョブキューの先頭に追加するとともに、前記コマンド実行手段を、実行中の印刷ジョブを中断し、前記割り込み印刷の指示がなされた印刷ジョブの実行を開始するように制御する、
ことを特徴とする印刷装置。
【0113】
(付記2)
前記印刷ジョブ制御手段は、
前記割り込み処理の指示を検知すると、改ページコマンドであるPDLコマンドが前記コマンド実行手段により実行されるまで待ち、その後、割り込み処理の指示がなされた印刷ジョブを特定する印刷ジョブ特定情報を、前記印刷ジョブキューの先頭に追加するとともに、前記コマンド実行手段を、実行中の印刷ジョブを中断し、前記割り込み印刷の指示がなされた印刷ジョブの実行を開始するように制御する、
ことを特徴とする付記1に記載の印刷装置。
【0114】
(付記3)
前記割り込み処理は、新たに受信された印刷データにより表される印刷ジョブを直ちに実行する処理である、
ことを特徴とする付記1又は2に記載の印刷装置。
【0115】
(付記4)
前記割り込み処理は、前記印刷ジョブキューに登録済みの印刷ジョブ特定情報により特定される印刷ジョブを直ちに実行する処理である、
ことを特徴とする付記1又は2に記載の印刷装置。
【0116】
(付記5)
前記再実行必要コマンドには、印刷装置の動作を制御する制御情報を指定するPDLコマンドが含まれ、
前記再実行不要コマンドには、イメージの描画を指示するPDLコマンドが含まれる、
ことを特徴とする付記1乃至4のいずれか1つに記載の印刷装置。
【0117】
(付記6)
前記再実行不要コマンドには、イメージの描画を指示するコマンドを表すコマンド部と、イメージデータを表すデータ部と、から構成されるイメージ描画コマンドが含まれ、
前記PDLコマンド記憶手段は、コマンドが記憶されるコマンド記憶手段と、イメージデータが記憶されるイメージデータ記憶手段と、を備え、
前記PDLコマンド登録手段は、
前記受信された印刷データに含まれるPDLコマンドが前記イメージ描画コマンドである場合、当該イメージ描画コマンドのコマンド部を内部コマンドに変換して前記コマンド記憶手段に登録するとともに、当該イメージ描画コマンドのイメージデータ部を前記イメージデータ記憶手段に登録し、
前記受信された印刷データに含まれるPDLコマンドがイメージ描画コマンドでない場合、当該PDLコマンドを前記コマンド記憶手段に登録し、
前記コマンド実行手段は、
前記内部コマンドを実行する場合、前記コマンド記憶手段に記憶されている内部コマンドと、前記イメージデータ記憶手段に登録されているイメージデータと、に基づいて、イメージの描画を実行し、
前記内部コマンドの実行後、前記コマンド記憶手段に記憶されている当該内部コマンドを、当該内部コマンドのサイズ分の、何も処理しないことを指示する制御データであるNOPデータに書き換え、
前記内部コマンド以外の再実行不要コマンドについては、当該コマンドの実行後、前記コマンド記憶手段に記憶されている当該コマンドを、当該コマンドのサイズ分のNOPデータに書き換える、
ことを特徴とする付記1乃至5のいずれか1つに記載の印刷装置。
【0118】
(付記7)
前記内部コマンドには、前記イメージデータ記憶手段に登録されたイメージデータの相対アドレスおよび長さを特定する情報が含まれる、
ことを特徴とする付記6に記載の印刷装置。
【0119】
(付記8)
前記内部コマンドの実行後、前記イメージデータ記憶手段に記憶されているイメージデータを、所定のデータで置き換えるイメージデータ消去手段、をさらに備える、
ことを特徴とする付記6又は7に記載の印刷装置。
【0120】
(付記9)
ネットワークを介して接続された電子機器から供給された印刷データに基づいて印刷ジョブを実行し、ある印刷ジョブの実行中に他の印刷ジョブの割り込み処理を許容する印刷装置が実行する印刷制御方法であって、
前記印刷データは、一連のPDLコマンドを含み、
前記一連のPDLコマンドのそれぞれは、前記割り込み処理により中断された印刷ジョブが再開される際、再度実行することが必要なPDLコマンドである再実行必要コマンドと、前記割り込み処理により中断された印刷ジョブが再開される際、再度実行することが不要なPDLコマンドである再実行不要コマンドと、のうちのいずれかに分類され、
前記電子機器から前記印刷データを受信する受信ステップと、
前記受信された印刷データに含まれる一連のPDLコマンドを、PDLコマンド記憶手段に登録するPDLコマンド登録ステップと、
前記印刷データが受信されたことを検知すると、当該受信された印刷データにより表される印刷ジョブを特定する印刷ジョブ特定情報を、印刷ジョブキューの末尾に追加する印刷ジョブ制御ステップと、
前記PDLコマンド記憶手段に記憶されている一連のPDLコマンドを先頭から順次実行することにより前記印刷ジョブを実行するコマンド実行ステップと、を備え、
前記コマンド実行ステップでは、前記PDLコマンドを実行する毎に、当該PDLコマンドが前記再実行不要コマンドであるか否かを判別し、当該PDLコマンドが前記再実行不要コマンドであると判別した場合、前記PDLコマンド記憶手段に記憶されている当該PDLコマンドを、何も処理しないことを指示するコマンドであるNOPコマンドに書き換え、
前記印刷ジョブ制御ステップでは、
前記コマンド実行ステップによる印刷ジョブの実行の終了を検知すると、前記印刷ジョブキューの先頭の印刷ジョブ特定情報により特定される印刷ジョブの実行を開始するように制御し、
前記割り込み処理の指示を検知すると、割り込み処理の指示がなされた印刷ジョブを特定する印刷ジョブ特定情報を、前記印刷ジョブキューの先頭に追加するとともに、実行中の印刷ジョブを中断し、前記割り込み印刷の指示がなされた印刷ジョブの実行を開始するように制御する、
ことを特徴とする印刷制御方法。
【0121】
(付記10)
ネットワークを介して接続された電子機器から供給された印刷データに基づいて印刷ジョブを実行し、ある印刷ジョブの実行中に他の印刷ジョブの割り込み処理を許容する印刷装置が備えるコンピュータに実行させるプログラムであって、
前記印刷データは、一連のPDLコマンドを含み、
前記一連のPDLコマンドのそれぞれは、前記割り込み処理により中断された印刷ジョブが再開される際、再度実行することが必要なPDLコマンドである再実行必要コマンドと、前記割り込み処理により中断された印刷ジョブが再開される際、再度実行することが不要なPDLコマンドである再実行不要コマンドと、のうちのいずれかに分類され、
前記プログラムは、前記コンピュータを、
前記電子機器から前記印刷データを受信する受信手段、
前記受信された印刷データに含まれる一連のPDLコマンドを、PDLコマンド記憶手段に登録するPDLコマンド登録手段、
前記印刷データが受信されたことを検知すると、当該受信された印刷データにより表される印刷ジョブを特定する印刷ジョブ特定情報を、印刷ジョブキューの末尾に追加する印刷ジョブ制御手段、
前記PDLコマンド記憶手段に記憶されている一連のPDLコマンドを先頭から順次実行することにより前記印刷ジョブを実行するコマンド実行手段、として機能させ、
前記コマンド実行手段は、前記PDLコマンドを実行する毎に、当該PDLコマンドが前記再実行不要コマンドであるか否かを判別し、当該PDLコマンドが前記再実行不要コマンドであると判別した場合、前記PDLコマンド記憶手段に記憶されている当該PDLコマンドを、何も処理しないことを指示するコマンドであるNOPコマンドに書き換え、
前記印刷ジョブ制御手段は、
前記コマンド実行手段による印刷ジョブの実行の終了を検知すると、前記コマンド実行手段を、前記印刷ジョブキューの先頭の印刷ジョブ特定情報により特定される印刷ジョブの実行を開始するように制御し、
前記割り込み処理の指示を検知すると、割り込み処理の指示がなされた印刷ジョブを特定する印刷ジョブ特定情報を、前記印刷ジョブキューの先頭に追加するとともに、前記コマンド実行手段を、実行中の印刷ジョブを中断し、前記割り込み印刷の指示がなされた印刷ジョブの実行を開始するように制御する、
ことを特徴とするプログラム。
【産業上の利用可能性】
【0122】
本発明は、割り込み機能を有する印刷装置に適用することができる。
【符号の説明】
【0123】
1…印刷装置、2…画像形成部、2M、2C、2Y、2K…画像形成ユニット、3、3a〜3e…記録媒体給紙部、4…記録媒体搬送部、5…感光体ドラム、5a…帯電器、5b…印字ヘッド、5c…現像器、5d…転写器、10…待機ローラ、11…ベルト駆動ローラ、12…従動ローラ、13…搬送ベルト、16…排紙部、17…印刷制御部、18…LAN制御回路、18a…LAN制御部、19…USB制御回路、20…CPU、21…メモリ、21a…画像メモリ、22…不揮発性メモリ、23…ROM、24…エンジン制御回路、24a…エンジン制御部、25…操作パネル制御回路、25a…操作パネル制御部、26…プリンタエンジン、27…操作パネル、27a…表示部、27b…キー部、27c…マーク、27d…割込キー、28…ハードディスク制御回路、29…ハードディスク、30…クライアント装置、30a…アプリケーションプログラム、30b…プリンタドライバ、30c…スプーラ、30d…LAN制御部、31…PDL解釈・実行部、32…入力ジョブ保存部、33…入力ジョブキュー管理部、34…入力ジョブキュー、35…ファイル完全消去部
【技術分野】
【0001】
本発明は、割り込み印刷が可能な印刷装置、印刷制御方法、および、プログラムに関する。
【背景技術】
【0002】
今日、ホストコンピュータ等のホスト機器(クライアント装置)と単機能印刷装置や所謂複合機等の印刷装置とがネットワークを介して接続された印刷システムが利用されている。このようなシステムにおいては、印刷装置があるホスト機器から依頼された印刷ジョブを処理する間に、この印刷装置に他のホスト機器から次の印刷ジョブが供給される可能性が高い。
【0003】
印刷ジョブが競合した場合、先着の印刷ジョブの印刷処理が終了するまで、他の印刷ジョブの処理を受け付けない制御も可能である。しかしながら、この場合、印刷システム全体としてみると、効率が低下し、使い勝手の悪いシステムとなる。すなわち、印刷終了までに時間を要する印刷ジョブが先に処理される間、印刷時間が短くて済む小容量の印刷ジョブであっても印刷処理が待たされるため、印刷システム全体として考えると、印刷待ちの状態におかれる印刷ジョブの数が増大し、効率の悪いシステムとなる。
また、ユーザは、緊急に印刷を行いたい場合でも、印刷終了までに時間のかかる印刷ジョブが先に処理されると、この印刷処理が終了するまで、長時間待たされる。
【0004】
上記問題に鑑み、例えば以下のような特許文献1、及び特許文献2が開示されている。何れの特許文献も、印刷処理中のジョブの中断処理、緊急の印刷ジョブの割込み印刷処理、割込まれた印刷ジョブの復帰処理、ならびに、割込まれた印刷ジョブの再開印刷処理を実行する割込印刷機能を持つ印刷装置の発明である。
【0005】
先ず、特許文献1は、クライアント装置から受信した非ページ独立のページ記述言語(Page Description Languageであり、以降PDLと呼ぶ)で記載された印刷ジョブを記憶し、各ページのイメージを順次生成し、生成したイメージを印刷装置に供給して印刷させる通常モードと、印刷装置へイメージの供給を行わない非印刷モードと、の2つの動作モードを有し、印刷が中断された場合に印刷再開ページを算出し、印刷再開時に印刷再開信号を受信すると、中断された印刷ジョブをジョブ記憶手段により最初から処理し、印刷再開ページに達するまでは非印刷モードで動作し、印刷再開ページ以降は通常モードで動作する印刷制御装置を開示する。
【0006】
また、特許文献2は、割込まれた印刷ジョブを再開する方法として、入力されるジョブデータを保存しておき、再開時には中断された印刷ジョブデータを先頭から解釈し、ページ毎に印刷要求を発行するが、既に印刷されたページに係る印刷要求を無効とし、未印刷のページの印刷要求のみを有効とする方法を採用することにより、重複印刷を防止する発明を開示する。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開平10−177464号公報
【特許文献2】特開平11−312062号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、いずれの装置も、入力された印刷ジョブを保存しておき、割り込み要求が発生した場合、印刷実行中のジョブをページの区切りで中断し、印刷済みのページ番号、又は再開のページ番号を記憶し、印刷ジョブの中断処理を行った後、割り込み印刷を実行する。そして、いずれの装置も、割り込み印刷が終了すると、中断した印刷ジョブの先頭よりコマンド解釈を実行し、既に印刷済みのページについては印刷を行うことなく、未印刷のページから、印刷処理を再開する復帰再開処理を行っている。この印刷ジョブの復帰再開処理では、割り込まれたジョブの先頭から解釈を実行して印刷画像を生成していくため、既に印刷出力されたページについても解釈実行および印刷画像生成が行われ、印刷処理を再開するまで長時間を要する。
【0009】
このため、割込み印刷機能を使用すると、割込まれた先行印刷ジョブの復帰に時間を要し、その結果、割込み印刷機能を使用する際の障害となっている。従って、割込み印刷処理を行った後の中断した印刷ジョブの印刷再開までの復帰再開処理を短時間で行うことが可能な印刷装置が望まれている。
さらに、特許文献1には、ハード的に画像を生成するPDLコマンドは動作させないようにしてジョブ復帰時間の短縮を図る手法が開示されているが、この場合、回路規模が大きくなり、また、ロジック構成も複雑になり、コストアップの原因となる。このため、比較的簡単な構成で、割り込み復帰時のパフォーマンスを向上することが可能な印刷装置が望まれている。
【0010】
本発明は、上記問題に鑑みてなされたものであり、比較的簡単な構成で、割り込み復帰時のパフォーマンスを向上することが可能な印刷装置、印刷制御方法、および、プログラムを提供することを目的とする。
【課題を解決するための手段】
【0011】
上記目的を達成するため、本発明にかかる印刷装置は、
ネットワークを介して接続された電子機器から供給された印刷データに基づいて印刷ジョブを実行し、ある印刷ジョブの実行中に他の印刷ジョブの割り込み処理を許容する印刷装置であって、
前記印刷データは、一連のPDLコマンドを含み、
前記一連のPDLコマンドのそれぞれは、前記割り込み処理により中断された印刷ジョブが再開される際、再度実行することが必要なPDLコマンドである再実行必要コマンドと、前記割り込み処理により中断された印刷ジョブが再開される際、再度実行することが不要なPDLコマンドである再実行不要コマンドと、のうちのいずれかに分類され、
前記電子機器から前記印刷データを受信する受信手段と、
前記受信された印刷データに含まれる一連のPDLコマンドを、PDLコマンド記憶手段に登録するPDLコマンド登録手段と、
前記印刷データが受信されたことを検知すると、当該受信された印刷データにより表される印刷ジョブを特定する印刷ジョブ特定情報を、印刷ジョブキューの末尾に追加する印刷ジョブ制御手段と、
前記PDLコマンド記憶手段に記憶されている一連のPDLコマンドを先頭から順次実行することにより前記印刷ジョブを実行するコマンド実行手段と、を備え、
前記コマンド実行手段は、前記PDLコマンドを実行する毎に、当該PDLコマンドが前記再実行不要コマンドであるか否かを判別し、当該PDLコマンドが前記再実行不要コマンドであると判別した場合、前記PDLコマンド記憶手段に記憶されている当該PDLコマンドを、何も処理しないことを指示するコマンドであるNOPコマンドに書き換え、
前記印刷ジョブ制御手段は、
前記コマンド実行手段による印刷ジョブの実行の終了を検知すると、前記コマンド実行手段を、前記印刷ジョブキューの先頭の印刷ジョブ特定情報により特定される印刷ジョブの実行を開始するように制御し、
前記割り込み処理の指示を検知すると、割り込み処理の指示がなされた印刷ジョブを特定する印刷ジョブ特定情報を、前記印刷ジョブキューの先頭に追加するとともに、前記コマンド実行手段を、実行中の印刷ジョブを中断し、前記割り込み印刷の指示がなされた印刷ジョブの実行を開始するように制御する、
ことを特徴とする。
【発明の効果】
【0012】
本発明によれば、比較的簡単な構成で、割り込み復帰時のパフォーマンスを向上することができる。
【図面の簡単な説明】
【0013】
【図1】実施形態1に係る印刷装置が備える印刷制御部のソフトウエア構成を示す図である。
【図2】実施形態1に係る印刷装置の概略断面図である。
【図3】実施形態1に係る印刷装置が備える印刷制御部のハードウエア構成を示す図である。
【図4】操作パネルの構成を示す図である。
【図5A】LAN制御部及び入力ジョブ保存部が実行する処理を示すフローチャートである。
【図5B】入力ジョブキュー管理部が実行する処理を示すフローチャートである。
【図5C】入力ジョブキュー管理部が実行する処理を示すフローチャートである。
【図6】入力ジョブキューのデータ構成を示す図である。
【図7A】PDL解釈・実行部が実行する処理を示すフローチャートである。
【図7B】PDL解釈・実行部が実行する処理を示すフローチャートである。
【図8】印刷データのデータフォーマットの一部とNOPコマンドに置き換えられた印刷データのデータフォーマットの一部とを示す図である。
【図9】表示パネルの表示例を示す図である。
【図10】実施形態2に係る印刷装置が備える印刷制御部のソフトウエア構成を示す図である。
【図11】印刷データのデータフォーマットを示す図である。
【図12A】LAN制御部及び入力ジョブ保存部が実行する処理を示すフローチャートである。
【図12B】入力ジョブ保存部が実行する処理を示すフローチャートである。
【図13】識別フラグ&レングス記述部に関する処理を詳しく示す図である。
【図14A】入力ジョブキュー管理部が実行する処理を示すフローチャートである。
【図14B】入力ジョブキュー管理部が実行する処理を示すフローチャートである。
【図15】入力ジョブキューのデータ構成を示す図である。
【図16A】PDL解釈・実行部が実行する処理を示すフローチャートである。
【図16B】PDL解釈・実行部が実行する処理を示すフローチャートである。
【図16C】PDL解釈・実行部が実行する処理を示すフローチャートである。
【図17】印刷データのデータフォーマットの一部とNOPデータに置き換えられた印刷データのデータフォーマットの一部とを示す図である。
【図18】ファイル完全消去部が実行する処理を示すフローチャートである。
【発明を実施するための形態】
【0014】
(実施形態1)
以下、本発明の実施形態1を図面に基づいて説明する。
図2は本実施形態を説明する印刷装置として、例えば4連タンデム構成の電子写真方式のカラープリンタ(以下、印刷装置で示す)の例を示す概略断面図である。
同図において、印刷装置1のエンジン部は、画像形成部2、記録媒体給紙部3、記録媒体搬送部4で構成されている。画像形成部2は、マゼンタ(M)、シアン(C)、イエロー(Y)、ブラック(K)の各画像形成ユニット2M、2C、2Y、2Kで構成され、用紙搬送方向に沿って所定の間隔を保持して順次で配設されている。
【0015】
各画像形成ユニット2M、2C、2Y、2Kは、それぞれ感光体ドラム5、及び感光体ドラム5の周囲に配設された帯電器5a、印字ヘッド(LEDヘッド)5b、現像器5c、転写器5dを有し、電子写真プロセスに従って用紙に画像形成を行う。尚、電子写真プロセスは、帯電、露光、現像、転写、クリーニングの各工程を繰り返して、用紙(記録媒体)に画像形成を行うプロセスである。具体的には、帯電によって感光体ドラム5の表面に均一な電荷を付与し、露光によって感光体ドラム5の表面に静電潜像を形威し、現像によって静電潜像に従ったトナー像を形成し、転写によってトナー像を用紙に転写し、用紙に転写されたトナー像は定着処理によって用紙に熱定着される。
【0016】
記録媒体給紙部3は、上下に階層して配設された記録媒体給紙部3a〜3eで構成される。一方、記録媒体給紙部3a〜3eの何れかから給紙された用紙は、待機ローラ10を介して、記録媒体搬送部4に送られる。記録媒体搬送部4は、ベルト駆動ローラ11や従動ローラ12、搬送ベルト13等で構成される。搬送ベルト13は、ベルト駆動ローラ11の駆動力によって回転し、待機ローラ10によってタイミングを合わせて搬送ベルト13に送られた用紙を画像形成部2に送る。
【0017】
画像形成部2に送られた用紙は、前述の画像形成ユニット2M、2C、2Y、2Kによって対応するトナーが順次転写される。用紙に転写されたトナー像は定着器15によって熱定着される。その後、用紙は、排紙部16に送られる。
尚、上記各部は、用紙の材質(例えば、紙、OHPシート)、用紙の呼量(例えば、薄紙、普通紙、厚紙)、用紙の長さ(例えば、長尺紙)等に基づいて、転写スピード(搬送速度)や転写バイアス、定着温度等のプリンタエンジンの動作モードを設定し、それぞれの用紙に最適となる印刷制御を行う。
【0018】
図3は、上記構成の印刷装置1において、印刷制御部17のハードウエア構成を示す図である。印刷制御部17は、LAN制御回路18、USB制御回路19、CPU20、メモリ21、不揮発性メモリ22、ROM23、エンジン制御回路24、操作パネル制御回路25、ハードディスク制御回路(以下、HDD制御回路で示す)28で構成されている。
【0019】
また、エンジン制御回路24にはプリンタエンジン26が接続され、操作パネル制御回路25には操作パネル27が接続され、HDD制御回路28にはハードディスク29が接続されている。
【0020】
図4は操作パネル27の構成を示す図であり、操作パネル27は表示部27aとキー部27bで構成されている。表示部27aには、後述する入力ジョブキューから読み出された印刷実行中又は印刷実行待ちの印刷ジョブ情報が表示される。また、ユーザ操作に基づくキー部27bからの操作信号は、操作パネル制御回路25を介してCPU20に送信される。
【0021】
一方、図1は上記印刷制御部17のソフトウエア構成を示す図であり、上記図3に示す回路に基づく機能部は関連する番号を使用して説明する。本例の印刷装置1(印刷制御部17)はLAN(Local Area Network)を介してパーソナルコンピュータ(PC)等のクライアント装置(ホスト機器)30に接続される。クライアント装置30は、例えば、不図示のアプリケーションプログラムや、プリンタドライバ、スプーラ、及びLAN接続制御部で構成されている。
【0022】
クライアント装置30は、アプリケーションプログラムに従って作成した印刷データをプリンタドライバによって前述のPDLコマンドを含む中間データに変換し、スプーラに保持し、LAN接続制御部を介して印刷装置1に出力する。
【0023】
クライアント装置30から出力された印刷データは、上記LAN制御回路18(LAN制御部18a)を介して印刷装置1に入力される。
印刷装置1は上記のように、エンジン制御回路24に対応するエンジン制御部(プリンタエンジン制御部)24a、操作パネル制御回路25に対応する操作パネル制御部25a、及びメモリ21に対応する画像メモリ21aを備える。印刷装置1は、更に、ROM23に記憶されたプログラムによってCPU20を制御し、印刷データの解釈、実行を行うPDL解釈・実行部31、入力ジョブの保存処理を行う入力ジョブ保存部32、及び、入力ジョブキュー34の管理を行う入力ジョブキュー管理部33を備える。
【0024】
また、前述のエンジン制御回路24に対応するエンジン制御部24aはプリンタエンジン26に対してプリンタエンジン動作モード等を設定し、給紙処理、画像メモリ21aからの画像データの転送、排紙処理等の制御を行なう。また、エンジン制御部24aは、ある一定間隔で定期的に、エンジン状態を監視し、また、給紙口の状態を各給紙口から取得し、各給紙口の状態を監視する。尚、給紙口より取得できる情報は、例えばカセットの装着/未装着や、カセットのセット状態/引出し状態、用紙の有無、及び用紙サイズ等の情報である。
【0025】
また、入力ジョブキュー34は、前述の不揮発性メモリ22またはハードディスク29上に構築されている。尚、図3に示すUSB制御回路19の構成は、特に図1において示していない。
【0026】
以上の構成において、以下に本例の処理動作を説明する。
図5A、図5Bおよび図5Cは、LAN制御部18a、入力ジョブ保存部32、及び入力ジョブキュー管理部33の処理動作を説明するフローチャートである。
先ず、LAN制御部18aはクライアント装置30から出力された印刷データを受信すると(ステップ(以下、Sで示す)1)、印刷データを受信バッファにバッファリングする(S2)。尚、受信バッファは、例えば前述のメモリ21の所定エリアに設定されている。
【0027】
次に、LAN制御部18aは印刷データの入力を入力ジョブ保存部32に通知し、入力ジョブ保存部32をウエイクアップする(S3)。
印刷データの受信を待っていた入力ジョブ保存部32は、上記LAN制御部18aからの通知により、処理を開始し、受信バッファに格納された印刷データを読み出し、順次印刷ジョブ単位で前述のハードディスク29に書き込む(S4、S5)。
【0028】
その後、入力ジョブ保存部32は、クライアント装置30から出力され、受信バッファに格納した印刷ジョブの全てのデータをハードディスク29に書き込んだか判断し(S6)、印刷ジョブの全てのデータをハードディスク29に書き込むまで、上記処理を繰り返す(S6:NO、S4〜S6)。そして、印刷ジョブ全ての書き込み処理が完了すると(S6:YES)、入力ジョブ保存部32は入力ジョブキュー管理部33に対して、印刷ジョブの登録要求を出力する(S7)。その際、ハードディスク29に記憶した印刷ジョブのファイル名を入力ジョブキュー管理部33に受け渡す。なお、印刷ジョブファイル名称については、入力ジョブ保存部32がユニークな名称を自動生成する。
【0029】
入力ジョブキュー管理部33は、要求待ち状態で待機しており(S8)、上記入力ジョブ保存部32からアクセスがあると、登録要求であるか判断する(S9)。ここで、入力ジョブキュー管理部33は入力ジョブ保存部32から登録要求があると判断すると(S9:YES)、入力ジョブキュー管理部33は上記印刷ジョブのファイル名の情報を受け取り、入力ジョブキュー34のジョブファイル名にセットし、入力ジョブキュー34の最後に追加する(S10)。
【0030】
図6は入力ジョブキュー34のデータ構成を示す。スタートキューポインタは、最初の印刷ジョブ情報34−1にリンクする。つまり、スタートキューポインタは、最初の印刷ジョブ情報34−1の先頭のアドレスを示す。最初の印刷ジョブ情報34−1のネクストポインタは次の印刷ジョブ情報34−2を指示し、以後順次ネクストポインタの指示に従って次の印刷ジョブ情報34−nが指示される。つまり、印刷ジョブ情報34−i(ただし、iは、1≦i<nを満たす整数。)のネクストポインタは、印刷ジョブ情報34−(i+1)の先頭のアドレスを示す。尚、各印刷ジョブ情報34−1〜34−nには前述の印刷ジョブファイル名が記憶されている。
【0031】
次に、入力ジョブキュー管理部33は、上記印刷ジョブファイルの情報が入力ジョブキュー34の先頭に追加されたか判断する(S11)。ここで、入力ジョブキュー34の先頭に追加された場合(S11:YES)、入力ジョブキュー管理部33はPDL解釈・実行部31に対して印刷ジョブの実行を指示する(S12)。この際、入力ジョブキュー管理部33はPDL解釈・実行部31に対して、印刷ジョブファイル名の情報を受け渡す。
【0032】
図7Aおよび図7Bは、PDL解釈・実行部31の処理を説明するフローチャートである。要求待ち状態(ステップ(以下、STで示す)1)で待機していたPDL解釈・実行部31に印刷ジョブの実行指示が有ると(ST2)、PDL解釈・実行部31は、入力ジョブキュー管理部33から受け渡された印刷ジョブファイル名の情報を受け取る(ST3)。
【0033】
次に、PDL解釈・実行部31は、受け渡された印刷ジョブファイルの情報を読み出す(ST4)。そして、PDL解釈・実行部31は、読み出しデータがあるか判断する(ST5)。PDL解釈・実行部31は、最初のこの判断では、印刷ジョブファイルに読み出しデータはありと判断し(ST5:YES)、印刷ジョブファイルに記憶されたPDLコマンドの解析を行う(ST6)。
【0034】
先ず、PDL解釈・実行部31は、画像データを生成しないPDLコマンド、例えば印刷処理を行う際に必要な給紙口の情報や解像度、階調値の情報等のPDLコマンドについては、そのままコマンド処理を行う(ST7)。また、PDL解釈・実行部31は、画像データを生成するPDLコマンドについても、そのままコマンド処理を行う(ST8)。
【0035】
図8は、印刷データのデータフォーマットの一部を示す図であり、画像データを生成するコマンドの構成を示す図である。図8における(a)は、印刷データのデータフォーマットの一部を示す。例としてイメージ描画コマンドを挙げている。画像データを生成するコマンドは、イメージ描画コマンドや文字描画コマンド、直線・円などのグラフィック描画コマンドであり、また描画するための座標を指定するコマンドも含まれる。PDL解釈・実行部31は、この画像データを生成するPDLコマンドについても、そのままコマンド処理を行う。
【0036】
次に、PDL解釈・実行部31は、上記PDLコマンドをNOPコマンドに置き換え、ハードディスク29の同じ印刷ジョブファイルに書き戻す(ST9)。PDL解釈・実行部31は、例えば、図8における(a)に示す“IM len”を、同図における(b)に示すNOPコマンドである“NOP len2”に置き換えて(b−1)、ハードディスク29の同じ印刷ジョブファイルの同じ位置に書き戻す。尚、PDL解釈・実行部31は、画像データを生成するコマンドの中の残りのパラメータ部分とデータ部分(b−2)については変更することなく、書き戻す必要もなくそのままとする。また、PDL解釈・実行部31は、元のPDLコマンドのサイズを超えないように書き戻す。なお、PDL解釈・実行部31は、NOPコマンドの最小サイズより短いPDLコマンドは、元のPDLコマンドのサイズ分、NOPデータ(1バイトのデータであり、値は0x00)に置き換えて、印刷ジョブファイルに書き戻す。
【0037】
次に、改頁コマンドの場合、PDL解釈・実行部31は、画像メモリ21aに生成中の画像データを印刷データとして確定し、エンジン制御部24aに印刷処理を指示し、同時に上記給紙口の情報や解像度、階調値の情報をパラメ-タとして受け渡す(ST10)。また、PDL解釈・実行部31は、改頁コマンドについても、NOPコマンドに置き換えて、ハードディスク29の同じ印刷ジョブファイルに書き戻す(ST11)。
【0038】
次に、PDL解釈・実行部31は、ジョブ中断停止フラグがオンされているか判断し(ST12)、ジョブ中断停止フラグがオンされていなければ(ST12:NO)、読み出したデータを全て解釈したか判断して上記処理を繰り返す(ST13:NO、ST6〜ST13)。
【0039】
その後、PDL解釈・実行部31は、読み出したデータを全て解釈すると(ST13:YES、ST5:NO)、入力ジョブキュー管理部33に対して印刷ジョブの終了を通知する(ST14)。入力ジョブキュー管理部33は、PDL解釈・実行部31から印刷ジョブの終了通知を受信すると(S13:YES)、入力ジョブキュー34の先頭のキューデータを取り外し、次のキューデータを先頭にする(S14)。そして、入力ジョブキュー管理部33は、終了した印刷ジョブの印刷ジョブファイルを削除する(S15)。
【0040】
さらに、入力ジョブキュー管理部33は、入力ジョブキュー34に先頭キューデータがあるか判断し(S16)、入力ジョブキュー34の先頭にキューデータがある場合(S16:YES)、前述と同様、PDL解釈・実行部31に対して印刷ジョブの実行を指示し(S12)、上記PDL解釈・実行部31による印刷処理を繰り返す。
【0041】
一方、上記印刷処理の間、操作パネル27には入力ジョブキュー34に記憶された情報が表示される。図9は入力ジョブキュー34に記憶された印刷ジョブ情報が操作パネル27に表示される例を示す図である。同図に示すように、操作パネル27には印刷実行中の印刷ジョブ名とユーザ名、及び印刷実行待ちの印刷ジョブ名とユーザ名が表示される。また、操作パネル27には割込印刷が可能な状態の場合には割り込み印刷可能状態を表す「割込印刷」マーク27cが表示される。
【0042】
上記図9に示す表示状態において、割込キー27d(図4に示す右矢印キー(>)で代替え)が押下されると、同図に示すように、印刷実行待ちの印刷ジョブ名とユーザ名の表示が反転され、前述の図4に示す上下矢印キー(∧、∨)を押下することによって、割り込み印刷を行う印刷ジョブを選択することができる。また、選択した印刷ジョブの決定は、前述の図4に示すキー部27bにある決定キーを押下することによって行なうことができる。
【0043】
上記操作によって割り込み印刷が指示されると、操作パネル27から操作信号が操作パネル制御部25aの制御に従って、割込要求として入力ジョブキュー管理部33に通知される。入力ジョブキュー管理部33は、上記割込要求が通知されると(S8、S9:NO、S13:NO、ST17:NO、ST18:YES)、割り込み処理を行う印刷ジョブ名の情報を受け取り、入力ジョブキュー34をサーチする(S19)。
【0044】
そして、入力ジョブキュー管理部33は、割り込み印刷の指定が行なわれた印刷ジョブ名が入力ジョブキュー34に存在するか判断し、存在しない場合は(S20:NO)、操作パネルに「指定のジョブは既に印刷終了しました」と表示する(S31)。入力ジョブキュー管理部33は、割り込み指示が行われた印刷ジョブ名のキューデータが存在する場合(S20:YES)、当該印刷ジョブ名のキューが先頭のキューデータであるかの判断を行う(S21)。入力ジョブキュー管理部33は、当該印刷ジョブ名のキューデータが先頭であれば(S21:YES)、現在印刷中であるため操作パネルに「指定のジョブは現在印刷中」と表示し、以後特別に割り込み処理を行う必要がないので、現在の印刷をそのまま継続する(S32)。
入力ジョブキュー管理部33は、当該印刷ジョブ名のキューデータが先頭でなければ(S21:NO)、ジョブの中断・停止要求フラグをオンして(S22)、ジョブの中断を待つ(S8)。
【0045】
ここで、ジョブの中断・停止要求フラグがオンされた場合、印刷処理中であるPDL解釈・実行部31は、前述の判断(ST12)において、ジョブの中断・停止要求フラグがオンであることから(ST12:YES)、PDL解釈・実行部31の内部状態を初期化し、実行中の印刷ジョブの処理を中断する(ST15)。また、PDL解釈・実行部31は、入力ジョブキュー管理部33に対して、継続中の印刷ジョブの処理を中断する旨の通知を行う(ST16)。
【0046】
入力ジョブキュー管理部33は、ジョブ中断、停止の通知があると(S17:YES)、ジョブの中断・停止要求フラグをオフし(S23)、割込み要求の印刷ジョブのキューデータを入力ジョブキュー34から一旦取り外し、入力ジョブキュー34の先頭に挿入する(S24)。
【0047】
以後、入力ジョブキュー管理部33は、入力ジョブキュー34の先頭にキューデータがあることを判断して(S16:YES)、前述と同様、入力ジョブキュー管理部33はPDL解釈・実行部31に対して印刷ジョブの実行を指示し(S12)、上記PDL解釈・実行部31による印刷処理を行う。この割り込み印刷の印刷処理は前述と同様であり、PDL解釈・実行部31によって実行される。
【0048】
次に、入力ジョブキュー管理部33は、上記割込み印刷が終了すると(ST13:YES、ST14、S13:YES)、前述と同様、入力ジョブキュー34の先頭の割込み印刷を行ったキューデータを取り外し、次のキューデータを先頭にする(S14)。そして、終了した印刷ジョブの印刷ジョブファイルを削除する(S15)。
さらに、入力ジョブキュー管理部33は、入力ジョブキュー34に先頭キューデータがあるか判断し(S16)、この場合中断した印刷ジョブファイルの情報が入力ジョブキュー34に先頭に記憶されており、以下の処理を行なう。
【0049】
すなわち、PDL解釈・実行部31は、前述と同様、先ず印刷ジョブファイルの情報を読み出し、ジョブファイルに記憶されたPDLコマンドの解析を行い、復帰印刷処理を行う。この場合、前述のように、印刷ジョブファイルには印刷処理を行う際に必要な給紙口の情報や解像度、階調値の情報等のPDLコマンドが含まれており、このPDLコマンドについてはそのままコマンド処理を行う(ST7)。
【0050】
一方、PDL解釈・実行部31は、図8における(b)に示すNOPコマンドについては、当該コマンドのパラメータで指定されるサイズ分データを読み飛ばす(ST17)。したがって、先の印刷処理において印刷処理が行われた画像データを生成するコマンド、及び改頁コマンドについてはNOPコマンドに書き換えられており、読み飛ばす。
【0051】
すなわち、一旦中断した印刷ジョブの復帰再開処理において、NOPコマンドについては読み飛ばすことができる。したがって、印刷ジョブの復帰再開処理において既に印刷出力された頁については、前述の処理によってNOPコマンドに書き換えられており、既に印刷出力された頁まで印刷データを読み飛ばすことができる。尚、先の印刷処理において未だ印刷出力されていない頁については、NOPコマンドへの書き換え処理が行なわれておらず、前述の処理(ST8、ST10)が行なわれる。
【0052】
以上のように、本例によれば、割込み印刷処理後のジョブ復帰再開処理を効率よく、短時間で行なうことができる。したがって、印刷ジョブの復帰処理を高速化し、割込復帰のパフォーマンスを格段に改善することができる。
【0053】
また、本実施形態では、画像データを生成するPDLコマンドを解釈実行したあと、NOPコマンドに変換して印刷ジョブファイルに書き戻したが、NOPコマンドを使用せずに、元のPDLコマンドのサイズ分全て、1バイトデータで値が0x00のNOPデータに置き換えて印刷ジョブファイルに書き戻してもよい。
この場合、印刷が終了した時点では、ハードディスク上の印刷ジョブファイルの中には、画像データを生成するPDLコマンドは全く無くなり、すべてNOPデータ(値は0x00)に置き換わっている。そして、この状態でファイル削除される。つまり、印刷ジョブファイル上、印刷物の内容に関する情報が全く無くなっており、その状態でファイル削除されている。このため、たとえ、ハードディスクが盗難等にあい、悪意のユーザに何らかの方法で削除されている印刷ジョブファイルを復元されたとしても、印刷物の内容に関する情報が全く無くなっているため、情報漏洩の心配が全く無い。
このように、前述の印刷ジョブの復帰処理を高速化・割込復帰のパフォーマンスの向上のほか、セキュリティ面での効果もある。
但し、本実施形態では、印刷処理中に、元のPDLコマンドのサイズ分をNOPデータに置き換えて印刷ジョブファイルに書き戻す。従って、特に、容量の多いイメージ描画コマンドもそのイメージデータをも含めてNOPデータに置き換え書き戻す為、これがオーバーヘッドとなり、印刷スピードへの悪影響を及ぼす可能性が高い。
そこで、この問題も解決して印刷スピードを維持し、かつ、割込復帰処理の高速化、更に、高いセキュリティを保証する実施形態2を以下に示す。
【0054】
(実施形態2)
近年、セキュリティの重要性が叫ばれ、情報漏洩防止の為に、印刷装置といえども、ファイルの管理情報の消去だけでなく、ファイルの完全消去が求められている。ここで、ファイルの管理情報の消去は、印刷処理過程での印刷データ及び処理過程で生成される中間データを含むハードディスク装置内のファイルにアクセスするための情報を削除することである。一方、ファイルの完全消去は、ハードディスク装置内のファイルそのものを特定のパターンデータで上書き処理を行ったうえでファイルを削除することである。以下、セキュリティの高い印刷装置に本発明を適用する例について説明する。
【0055】
以下、本発明の実施形態2を図面に基づいて説明する。なお、実施形態2に係る印刷装置の構成の大部分は、実施形態1に係る印刷装置の構成と同様である。従って、以下では、実施形態1と同様の構成については、適宜、説明を省略する。
【0056】
図10は上記印刷制御部17のソフトウエア構成を示す図であり、上記図3に示す回路に基づく機能部については関連する番号を使用して説明する。本例の印刷装置1(印刷制御部17)はLAN(Local Area Network)を介してパーソナルコンピュータ(PC)等のクライアント装置(ホスト機器)30に接続される。クライアント装置30は、例えば、アプリケーションプログラム30a、プリンタドライバ30b、スプーラ30c、及びLAN制御部30dで構成されている。
【0057】
クライアント装置30は、アプリケーションプログラム30aによって作成した印刷データをプリンタドライバ30bによって前述のPDLコマンドを含む中間データに変換し、スプーラ30cに保持し、LAN制御部30dを介して印刷装置1に出力する。
【0058】
クライアント装置30から出力された印刷データは、上記LAN制御回路18(LAN制御部18a)を介して印刷装置1に入力する。
印刷装置1は上記のように、エンジン制御回路24に対応するエンジン制御部24a、操作パネル制御回路25に対応する操作パネル制御部25a、及びメモリ21に対応する画像メモリ21aを備える。印刷装置1は、更に、ROM23に記憶されたプログラムによってCPU20を制御し、印刷データの解釈、実行を行うPDL解釈・実行部31、入力ジョブ保存処理を行う入力ジョブ保存部32、入力ジョブキューの管理を行う入力ジョブキュー管理部33、ファイルデータの全てをあるパターンデータで上書きした上でファイル削除するファイル完全消去部35を備える。
【0059】
また、前述のエンジン制御回路24に対応するエンジン制御部24aはプリンタエンジン26に対してプリンタエンジン動作モード等を設定し、給紙処理、画像メモリ21aからの画像データの転送、排紙処理等の制御を行なう。また、エンジン制御部24aは、ある一定間隔で定期的に、エンジン状態の監視し、また、給紙口の状態を各給紙口より取得し、各給紙口の状態を監視する。尚、給紙口より取得できる情報は、例えばカセットの装着/未装着や、カセットのセット状態/引出し状態、用紙の有無、及び用紙サイズ等の情報である。
【0060】
また、入力ジョブキュー34は、前述の不揮発性メモリ22またはハードディスク29上に構築されている。尚、図3に示すUSB制御回路19の構成は、特に図10において示していない。
【0061】
図11はプリンタドライバ30bが生成し、印刷装置1に入力される印刷データ(印刷ジョブ)のデータフォーマットを示す図である。印刷データは、先ず識別フラグとレングスが記述された識別フラグ&レングス記述部D1、データ記述エリアD2、識別フラグ&レングス記述部D3、データ記述エリアD4、識別フラグ&レングス記述部D5、データ記述エリアD6、識別フラグ&レングス記述部D7、・・・、識別フラグ&レングス記述部D99で構成されている。
【0062】
ここで、識別フラグ&レングス記述部D1、D3、D5、D7、・・・に記述される識別フラグは、例えば“0”がイメージ描画コマンド以外のPDLコマンドが次のエリアに記述されていることを示し、“1”がイメージ描画コマンド(PDLコマンド)が次のエリアに記述されていることを示し、“2”がユーザ名及び印刷ジョブ名の情報が次のエリアに記述されていることを示す。また、レングスは次のエリア(D2、D4、D6、・・・)に記述される情報の長さを示す。D99に記述される識別フラグ“9”は印刷ジョブの終了を表わし、この場合レングスは0である。
【0063】
例えば、図11に示す例では、最初の識別フラグ&レングス記述部D1の識別フラグが“2”であり、次のデータ記述エリアD2にユーザ名及び印刷ジョブ名が記述され、次の識別フラグ&レングス記述部D3の識別フラグが“0”であり、次のデータ記述エリアD4にイメージ描画コマンド以外のPDLコマンドが記述されている。このPDLコマンドは、例えば用紙サイズの情報や、給紙口の情報、解像度や階調設定の情報等のPDLコマンドである。
【0064】
また、次の識別フラグ&レングス記述部D5の識別フラグが“1”であり、次のデータ記述エリアD6にイメージ描画コマンドが記述されている。このイメージ描画コマンドは、クライアント装置側で既に印刷すべきイメージデータに展開されたデータを含み、印刷装置側でそのままイメージデータを描画するように指示する制御コマンド部分とイメージデータ部分とから構成される。
そして、最後に識別フラグ&レングス記述部D99の識別フラグが“9”であり、印刷ジョブの終了を表す。
【0065】
以上の構成において、以下に本例の処理動作を説明する。
先ず、図12A及び図12Bは、LAN制御部18a、及び入力ジョブ保存部32の処理動作を説明するフローチャートであり、上記フォーマットの印刷データが入力された際に行う処理を説明するものである。先ず、LAN制御部18aは、印刷データを受信すると(ステップ(以下、SUで示す)1)、印刷データを受信バッファにバッファリングする(SU2)。尚、受信バッファは、例えば前述のメモリ21の所定エリアに設定されている。
【0066】
次に、LAN制御部18aは、印刷データの入力を入力ジョブ保存部32に通知し、入力ジョブ保存部32をウエイクアップする(SU3)。
印刷データの受信を待っていた入力ジョブ保存部32は、上記LAN制御18aからの通知により、処理を開始し、受信バッファに格納された印刷データを読み出す(SU4、SU5)。この処理により、入力ジョブ保存部32には前述のフォーマットの印刷データが読み出され、識別フラグ&レングス記述部の解析処理が行われる。
【0067】
図13は、識別フラグ&レングス記述部D3、D5、及びデータ記述エリアD4、D6に対する処理を詳しく説明する図である。
【0068】
先ず、入力ジョブ保存部32は、印刷データの最初の識別フラグ&レングス記述部D1に含まれる識別フラグとレングスの情報を読み出す(SU6)。図11に示す例の場合、識別フラグは“2”であり、レングスは“len0”である。この場合、判断はYES(SU7:YES)となり、入力ジョブ保存部32は、識別フラグ&レングス記述部D1に続くデータ記述エリアD2に記述されたユーザ名及び印刷ジョブ名の情報をセーブする(SU8)。そして、入力ジョブ保存部32は、印刷ジョブファイル1及び2の名称を自動生成しセーブする(SU9)。この印刷ジョブファイル1及び2の名称はユニークな名称である。
【0069】
一方、上記判断(SU7)において、識別フラグが“2”でない場合、入力ジョブ保存部32は、識別フラグが“9”であるか判断する(SU10)。識別フラグが“9”、即ち、印刷ジョブの終了の場合、入力ジョブ保存部32は、入力ジョブキュー管理部33に対してジョブ登録要求を出す(SU11)。入力ジョブ保存部32は、その際セーブしているユーザ名、印刷ジョブ名、及びジョブファイル2の名称を入力ジョブキュー管理部33に受け渡す。
【0070】
上記判断(SU10)において、識別フラグが“9”でない場合、入力ジョブ保存部32は、更に識別フラグが“0”か判断する(SU12)。図13に示す例では、次の識別フラグ&レングス記述部D3には識別フラグとして、“0”が設定されており(SU7:NO、SU10:NO、SU12:YES)、識別フラグ&レングス記述部D3に続くデータ記述エリアD4からイメージ描画コマンド以外のPDLコマンドを読み出す。すなわち、レングス“len1”分、PDLコマンドを読み出し、印刷ジョブファイル1に当該PDLコマンドを書き込む(SU13)。
【0071】
尚、この処理は、図13に示す処理aである。また、上記印刷ジョブファイル1は、前述のハードディスク29に構築されたファイルであり、上記PDLコマンド及び後述するイメージ描画2コマンド(内部コマンド)を記憶するファイルである。
したがって、上記処理によって印刷ジョブファイル1の所定エリアに、先ずPDLコマンドが書き込まれる(図13に示すb)。
【0072】
次に、入力ジョブ保存部32は、識別フラグ&レングス記述部D5の情報を読み出し、識別フラグを判断する。図13に示す例では、この識別フラグは“1”であり、識別フラグ&レングス記述部D5に続くデータ記述エリアD6のイメージ描画コマンドを読み出す(SU12:NO)。
ここで、イメージ描画コマンドやイメージ描画2コマンドの形式は、コマンドID,データ部サイズ,パラメータ,区切りコード,データで構成されており、
イメージ描画コマンドは、
コマンドID…イメージ描画コマンドを示すコマンド識別子(IM)、
データ部サイズ…本コマンドのデータ部分のサイズ(len)、
パラメータ…本コマンドのパラメータ(x,y,Δx,Δy)、
区切りコード…パラメータとデータ部分を区切るコード(*)、
データ…イメージデータ実体(サイズはデータ部サイズlenで示される)、
なる構造である。
【0073】
この場合、入力ジョブ保存部32は、イメージ描画コマンドのイメージデータ部分を印刷ジョブファイル2の最後に追記し、コマンドパラメータ部分をイメージ描画2コマンドに置き換えて、印刷ジョブファイル1に書き込む。
イメージ描画2コマンドは、
コマンドID…イメージ描画2コマンドを示すコマンド識別子(IM2)、
データ部サイズ…本コマンドのデータ部分のサイズ(ln2)、
パラメータ…イメージ描画コマンドのパラメータと同じ(x,y,Δx,Δy)、
区切りコード…パラメータとデータ部分を区切るコード(*)、
データ…イメージデータ実体を示す印刷ジョブファイル2上の相対アドレス(Loc)とイメージデータのサイズ(len)(このLocとlenを併せたサイズがデータ部サイズln2。)、
なる構造である。
入力ジョブ保存部32は、先ず印刷ジョブファイル2のファイルサイズを取得し、イメージ描画2コマンドの相対アドレスLoc(ロケーション)とする(SU14)。
【0074】
この印刷ジョブファイル2もハードディスク29に構築されたファイルであり、イメージ描画コマンドのイメージデータ部分を記憶するファイルである。すなわち、印刷ジョブファイル2の最後にイメージデータを追記するため、追記する前のファイルサイズが該イメージデータの印刷ジョブファイル2上の相対アドレスLocである。
次に、入力ジョブ保存部32は、イメージ描画コマンドのイメージデータ部分を、イメージ描画コマンドのデータ部サイズで指定されるレングス分、印刷ジョブファイル2の最後に記憶する(SU15)。すなわち、図13のcに示すように、印刷ジョブファイル2の相対アドレスLoc位置からイメージデータ(サイズlen)を追記する。
【0075】
次に、入力ジョブ保存部32は、イメージ描画コマンドを、内部コマンドであるイメージ描画2コマンドに変換する。すなわち、入力ジョブ保存部32は、コマンドIDをイメージ描画(IM)からイメージ描画2(IM2)に変え、イメージ描画2のパラメータは元のパラメータのままとし、イメージ描画2のデータ部分は、イメージデータを印刷ジョブファイル2に追記した際の相対アドレスLocとイメージデータサイズlenとする(データ部分のサイズは、新しいイメージ描画2のデータ部分のサイズln2とする)(SU16)。すなわち、図13のdに示すように、元のイメージ描画コマンドのパラメータである“IM2 ln2 x, y, Δx, Δy*”と、イメージデータサイズであるlenと、相対アドレスLocと、が、イメージ描画2コマンドのデータとして記憶される。
【0076】
次に、入力ジョブ保存部32は、生成したイメージ描画2コマンドを、イメージ描画コマンドの代わりに印刷ジョブファイル1に出力する(SU17)。
次に、入力ジョブ保存部32は、受信バッファより読み出した印刷データを全て処理したか判断し(SU18)、読み出した印刷データを全て処理するまで上記処理を繰り返す(SU18:NO、SU6〜SU17)。そして、全ての処理が完了すると(SU18:YES)、印刷データの受信を待つ(SU4)。
【0077】
次に、図14A及び図14Bを参照して、入力ジョブキュー管理部の動作について説明する。
【0078】
入力ジョブキュー管理部33は、要求待ち状態で待機しており(ステップ(以下、SWで示す)1)、上記入力ジョブ保存部32から登録要求が出されると、まず要求がジョブ登録要求であるか判断する(SW2)。ここで、入力ジョブキュー管理部33は、入力ジョブ保存部32からジョブ登録要求があると判断すると(SW2:YES)、上記ユーザ名と印刷ジョブ名、及び印刷ジョブファイル1および2の名称の情報を受け取り、新規にキューデータを作成し、受け取った印刷ジョブ名等の情報をキューデータにセットし、そのキューデータを入力ジョブキューの最後に追加する(SW3)。
【0079】
図15は入力ジョブキュー34のデータ構成を示す。スタートキューポインタは最初の印刷ジョブ情報34−1にリンクする。つまり、スタートキューポインタは、最初の印刷ジョブ情報34−1の先頭のアドレスを示す。最初の印刷ジョブ情報34−1のネクストポインタは次の印刷ジョブ情報34−2を指示し、以後順次ネクストポインタの指示に従って次の印刷ジョブ情報34−nが指示される。つまり、印刷ジョブ情報34−i(ただし、iは、1≦i<nを満たす整数。)のネクストポインタは、印刷ジョブ情報34−(i+1)の先頭のアドレスを示す。尚、各印刷ジョブ情報34−1〜34−nには前述のユーザ名、印刷ジョブ名、印刷ジョブファイル1及び2の名称が記憶されている。
【0080】
次に、入力ジョブキュー管理部33は、上記印刷ジョブファイルの情報が入力ジョブキュー34の先頭に追加されたか判断する(SW4)。すなわち、入力ジョブキュー管理部33は、印刷していない状態でジョブが投入されたか判断する。ここで、入力ジョブキュー34の先頭に追加された場合(SW4:YES)、入力ジョブキュー管理部33は、PDL解釈・実行部31に対して印刷ジョブの実行を指示する(SW5)。この際、入力ジョブキュー管理部33は、PDL解釈・実行部31に対して、印刷ジョブファイル1及び2の名称等の情報を受け渡す。
【0081】
図16A、図16Bおよび図16Cは、PDL解釈・実行部31の処理を説明するフローチャートである。要求待ち状態(ステップ(以下、SXで示す)1)で待機していたPDL解釈・実行部31に印刷ジョブの実行指示が有ると(SX2)、PDL解釈・実行部31は、入力ジョブキュー管理部33から受け渡された印刷ジョブファイル1及び2の名称等の情報を受け取る(SX3)。
【0082】
次に、PDL解釈・実行部31は、先ず印刷ジョブファイル1の情報を読み出す(SX4)。そして、PDL解釈・実行部31は、読み出しデータがあるか判断する(SX5)。PDL解釈・実行部31は、印刷ジョブファイル1に読み出しデータがある場合(SX5:YES)、印刷ジョブファイル1に記憶されたPDLコマンドの解析を行う(SX6)。
【0083】
先ず、PDL解釈・実行部31は、画像データを生成しないPDLコマンド、例えば印刷処理を行う際に必要な給紙口の情報や解像度、階調値の情報等のPDLコマンドについては、そのままコマンド処理を行う(SX7)。また、PDL解釈・実行部31は、画像データを生成するPDLコマンドについても、そのままコマンド処理を行う(SX8)。
【0084】
なお、PDL解釈・実行部31は、入力ジョブ保存部にて置き換えられた内部コマンドのイメージ描画2コマンドについては、イメージ描画2コマンドの相対アドレスLocとレングスlenの情報を取り出し(SX9)、印刷ジョブファイル2の相対アドレスLocの位置から上記レングスlen分のデータを読み出す(SX10)。このデータは、前述の処理によってハードディスク29の印刷ジョブファイル2に記憶されたイメージデータ部分であり、このイメージデータ部分の情報が読み出され、読み出したイメージデータに基づいて画像データが生成される(SX11)。
【0085】
図17は、印刷データのデータフォーマットの一部を示す図であり、画像データを生成するコマンドの構成を示す図である。図17における(a)は、印刷データのデータフォーマットの一部を示す。例として前記内部コマンドのイメージ描画2コマンドを挙げている。画像データを生成するPDLコマンドは、内部コマンドのイメージ描画2コマンドをはじめ、文字描画コマンド、直線・円などのグラフィック描画コマンドであり、また描画するための座標を指定するPDLコマンドも含まれる。PDL解釈・実行部31は、この画像データを生成するPDLコマンドについても、そのままコマンド処理を行う。
【0086】
PDL解釈・実行部31は、画像データを生成するPDLコマンドのそれぞれの処理を終えると、次に、上記PDLコマンドをそのサイズ分、NOPデータ(1バイトのデータであり、値は0x00)に置き換えて、ハードディスク29の同じ印刷ジョブファイル1に書き戻す(上書きする)。(SX12)。
【0087】
次に、PDL解釈・実行部31は、読み出したデータを全て解釈していなければ(SX13:NO)、PDLコマンド解析(SX6)を続行する。改頁コマンドの場合、PDL解釈・実行部31は、画像メモリ21aに生成中の画像データを印刷データとして確定し、エンジン制御部24aに印刷処理を指示し、同時に上記給紙口の情報や解像度、階調値の情報をパラメータとして受け渡す(SX14)。また、PDL解釈・実行部31は、改頁コマンドについても、NOPデータに置き換えて、ハードディスク29の同じ印刷ジョブファイル1に書き戻す(SX15)。
【0088】
PDL解釈・実行部31は、続いて改頁コマンドの処理として、ジョブ中断停止フラグがオンされているか判断し(SX16)、ジョブ中断停止フラグがオンされていなければ(SX16:NO)、読み出したデータを全て解釈したか判断して上記処理を繰り返す(SX13:NO、SX6〜SX13)。
【0089】
その後、PDL解釈・実行部31は、読み出したデータを全て解釈すると(SX13:YES、SX5:NO)、入力ジョブキュー管理部33に対して印刷ジョブの終了を通知する(SX20)。入力ジョブキュー管理部33は、PDL解釈・実行部31から印刷ジョブの終了通知を受信すると(SW6:YES)、入力ジョブキュー34の先頭のキューデータを取り外し、次のキューデータを先頭にする(SW7)。そして、入力ジョブキュー管理部33は、終了した印刷ジョブの印刷ジョブファイル1を削除し、印刷ジョブファイル2をファイル完全消去要求ディレクトリに移動し、ファイル完全消去部35に対し、ファイル完全消去要求を出す(SW8、SW9)。
【0090】
ファイル完全消去部35は、図18の如く、ある一定時間間隔か、又は入力ジョブキュー管理部33からファイル完全消去要求を出されたときに起こされ(SY1、SY2)、現在印刷中か調べ(SY3)、印刷中で無いならば(SY3:NO)、完全消去要求ディレクトリに完全消去要求のファイルがあるかチェックする(SY4)。ありの場合(SY4:YES)、ファイル完全消去部35は、その要求されたファイルのサイズを取得し、そのサイズ分、あるパターン(ex.0x00)のデータをそのファイルに上書きし、そのあとファイル削除する(SY5、SY6)。すなわち、印刷装置が印刷中で無い時に、ファイルデータを完全消去した上でファイル削除を行う。
【0091】
さらに、入力ジョブキュー管理部33は、入力ジョブキュー34に先頭キューデータがあるか判断し(SW10)、入力ジョブキュー34の先頭にキューデータがある場合(SW10:YES)、前述と同様、入力ジョブキュー管理部33はPDL解釈・実行部31に対して印刷ジョブの実行を指示し(SW5)、上記PDL解釈・実行部31による印刷処理を繰り返す。
【0092】
一方、上記印刷処理の間、上記入力ジョブキュー34に登録された印刷ジョブ情報は、操作パネル制御部25aの制御によって操作パネル27に表示される。図9は、入力ジョブキュー34に記憶された印刷ジョブ情報が操作パネル27に表示される例を示す図である。同図に示すように、操作パネル27には印刷実行中の印刷ジョブ名とユーザ名、及び印刷実行待ちの印刷ジョブ名とユーザ名が表示される。また、操作パネル27には、割込印刷が可能な状態の場合には割り込み印刷可能状態を表す「割込印刷」マーク27cが表示される。
【0093】
尚、上記表示においては、操作パネル制御部25aが、入力ジョブキュー管理部33に対して、ユーザ名、印刷ジョブ名リスト取得要求を出し、取得されたリストに基づき、操作パネル27にユーザ名・印刷ジョブ名を表示する。
入力ジョブキュー管理部33は、ユーザ名、印刷ジョブ名リスト取得要求があると(SW21:YES)、入力ジョブキュー34の先頭のキューデータより、キューデータを辿り、入力ジョブキュー34内のユーザ名及び印刷ジョブ名を取り出し、リストを作成する(SW22)。そして、入力ジョブキュー管理部33は、上記リストの応答を行なう(SW23)。
【0094】
上記図9に示す表示状態において、割込キー27d(図4に示す右矢印キー(>)で代替え)が押下されると、同図に示すように、印刷実行待ちの印刷ジョブ名とユーザ名の表示が反転され、前述の図4に示す上下矢印キー(∧、∨)を押下することによって、割り込み印刷を行う印刷ジョブを選択することができる。また、選択した印刷ジョブの決定は、前述の図4に示すキー部27bにある決定キーを押下することによって行なうことができる。
【0095】
上記操作によって割り込み印刷が指示されると、操作パネル27から操作信号が操作パネル制御部25aの制御に従って、割込要求として入力ジョブキュー管理部33に通知される。入力ジョブキュー管理部33は、上記割込要求が通知されると(SW1が「要求あり」、SW2:NO、SW6:NO、SW11:NO、SW12:YES)、割り込み処理を行う印刷ジョブ名の情報を受け取り、入力ジョブキュー34をサーチする(SW13)。
【0096】
そして、入力ジョブキュー管理部33は、割り込み印刷の指定が行なわれた印刷ジョブ名が入力ジョブキュー34に存在するか判断し、存在しない場合は(SW14:NO)、操作パネルに「指定のジョブは既に印刷終了しました」と表示する(SW19)。入力ジョブキュー管理部33は、割り込み指示が行われた印刷ジョブ名のキューデータが存在する場合(SW14:YES)、当該印刷ジョブ名のキューが先頭のキューデータであるかの判断を行う(SW15)。入力ジョブキュー管理部33は、当該印刷ジョブ名のキューデータが先頭であれば(SW15:YES)、現在印刷中であるため操作パネルに「指定のジョブは現在印刷中」と表示し、以後特別に割り込み処理を行う必要がないので、現在の印刷をそのまま継続する(SW20)。
入力ジョブキュー管理部33は、当該印刷ジョブ名のキューデータが先頭でなければ(SW15:NO)、ジョブの中断・停止要求フラグをオンして(SW16)、ジョブの中断を待つ(SW1)。
【0097】
ここで、ジョブの中断・停止要求フラグがオンされた場合、印刷処理中であるPDL解釈・実行部31は、前述の判断(SX16)において、ジョブの中断・停止要求フラグがオンであることから(SX16:YES)、PDL解釈・実行部31の内部状態を初期化し、実行中の印刷ジョブの処理を中断する(SX17)。また、PDL解釈・実行部31は、入力ジョブキュー管理部33に対して、継続中の印刷ジョブの処理を中断する旨の通知を行う(SX18)。
【0098】
入力ジョブキュー管理部33は、ジョブ中断、停止の通知があると(SW11:YES)、ジョブの中断・停止要求フラグをオフし(SW17)、割込み要求の印刷ジョブのキューデータを入力ジョブキュー34から一旦取り外し、入力ジョブキュー34の先頭に挿入する(SW18)。
【0099】
以後、入力ジョブキュー管理部33は、入力ジョブキュー34の先頭にキューデータがあることを判断して(SW10:YES)、前述と同様、入力ジョブキュー管理部33はPDL解釈・実行部31に対して印刷ジョブの実行を指示し(SW5)、上記PDL解釈・実行部31による印刷処理を行う。この割り込み印刷の印刷処理は前述と同様であり、PDL解釈・実行部31によって実行される。
【0100】
次に、上記割込み印刷が終了すると(SX13:YES、SX20、SW6:YES)、入力ジョブキュー管理部33は、前述と同様、入力ジョブキュー34の先頭の割込み印刷を行ったキューデータを取り外し、次のキューデータを先頭にする(SW7)。そして、入力ジョブキュー管理部33は、終了した印刷ジョブの印刷ジョブファイル1を削除し、印刷ジョブファイル2を、ファイル完全消去要求ディレクトリに移動し、ファイル完全消去部に対し、ファイル完全消去要求を出す(SW8、SW9)。さらに、入力ジョブキュー管理部33は、入力ジョブキュー34に先頭キューデータがあるか判断し(SW10)、この場合中断した印刷ジョブファイルの情報が入力ジョブキュー34に先頭に記憶されており、以下の処理を行なう。
【0101】
すなわち、PDL解釈・実行部31は、前述と同様、先ず印刷ジョブファイル1の情報をファイル先頭より読み出し、印刷ジョブファイル1に記憶されたPDLコマンドの解析を行い、復帰印刷処理を行う。この場合、前述のように、印刷ジョブファイル1には印刷処理を行う際に必要な給紙口の情報や解像度、階調値の情報等のPDLコマンドが含まれており、PDL解釈・実行部31は、このPDLコマンドについてはそのままコマンド処理を行う(SX7)。
【0102】
一方、図17における(b)に示すNOPデータについては読み飛ばす(SX19)。したがって、先の印刷処理において印刷処理が行われた画像データを生成するコマンド、及び改頁コマンドについてはNOPデータに書き換えられており、読み飛ばされる。
【0103】
すなわち、一旦中断した印刷ジョブの復帰再開処理において、既に印刷出力された頁については、前述の処理によってNOPデータに書き換えられており、NOPデータについては読み飛ばすことができ、しかも容量の大きいイメージデータが記憶されている印刷ジョブファイル2には一切アクセスもしなくて済む。尚、先の印刷処理において未だ印刷出力されていない頁については、NOPデータへの書き換え処理が行なわれておらず、前述の処理(SX8、SX9、SX14)が行なわれる。
【0104】
以上のように、本例によれば、割込み印刷処理後のジョブ復帰再開処理を効率よく、短時間で行なうことができる。したがって、印刷ジョブの復帰処理を高速化し、割込復帰のパフォーマンスを格段に改善することができる。
【0105】
また、画像データを生成するPDLコマンドを、値が0x00のNOPデータに置き換えて印刷ジョブファイル1に書き戻しており、印刷が終了した時点では、ハードディスク上の印刷ジョブファイル1の中には、画像データを生成するPDLコマンドは全く無くなり、すべてNOPデータ(値は0x00)に置き換わっている。そして、この状態でファイル削除される。つまり、イメージデータ以外の印刷物の内容に関する情報が全く無くなっており、その状態でファイル削除されている。また、印刷ジョブファイル2については、印刷を行なっていない時に全データを0x00の値で上書きした上でファイル削除される為、イメージデータについても内容も消され、印刷物の内容は完全に痕跡が無くなっている。このため、たとえ、ハードディスクが盗難等にあい、悪意のユーザに何らかの方法で削除されている印刷ジョブファイルを復元されたとしても、印刷物の内容に関する情報が全く無くなっているため、情報漏洩の心配が全く無い。
【0106】
また、小容量の印刷ジョブファイル1をNOPデータで上書きしてもたいした時間もかからず、性能に与える影響はほとんど無く、大きい容量の印刷ジョブファイル2については、印刷処理を行なっていないときに完全消去される為、印刷処理に及ぼす性能的影響はほぼ無い。
このように、前述の印刷ジョブの復帰処理を高速化・割込復帰のパフォーマンスの向上のほか、セキュリティ面での効果もある。
【0107】
(変形例)
これまで、本発明のいくつかの実施形態を説明したが、本発明の範囲はこれらの実施形態に限定されない。つまり、これらの実施形態における各要素を当業者がこれと均等なものに置換した実施形態も本発明の範囲に含まれる。
【0108】
上記実施形態では、操作パネル27を操作し、割り込み処理を行なう印刷ジョブを指定したが、受信する印刷ジョブ自身に優先度を持たせても良い。例えば、至急/通常のような優先度の指定、又は優先順位の特定等を行ない、上記と同様な処理を行なってもよい。
【0109】
この場合、優先度を認識できるように印刷ジョブの先頭に優先度に関する記述を行い、入力ジョブ保存部32では、この優先度を認識し、印刷ジョブを保存した後、優先度が高い印刷ジョブに対して、割込み印刷要求を出力する。この割込印刷の要求があると、解釈・実行中の印刷ジョブの中断・停止を行い、割込印刷の登録要求の印刷ジョブを入力ジョブキューの先頭に挿入し、この印刷ジョブの解釈・実行を行なうように制御する。また、上記実施形態の説明では印刷装置としてカラープリンタの例で説明したが、例えばMFP等の複合機であっても同様に実施できる。
【0110】
なお、上記実施形態の印刷装置と同様の機能や構成を予め備えた印刷装置によって本発明を実現できることはもとより、既存の印刷装置にプログラムを適用することで、本発明にかかる印刷装置として機能させることもできる。この場合、上記実施形態で例示した印刷装置と同様の構成を備えた印刷装置のコンピュータ(CPUなどの制御部)に、上述した印刷装置の機能と同様の機能を実現させるためのプログラムを実行させることで、本発明にかかる印刷装置として機能させることができる。このようなプログラムの適用方法は任意であり、例えば、CD−ROMやメモリカードなどの記憶媒体に格納して適用できる他、例えば、インターネットなどの通信媒体を介して適用することもできる。
【0111】
また、本発明には、特許請求の範囲に記載された発明とその均等の範囲が含まれる。以下に、本出願の当初の特許請求の範囲に記載された発明を付記する。
【0112】
(付記1)
ネットワークを介して接続された電子機器から供給された印刷データに基づいて印刷ジョブを実行し、ある印刷ジョブの実行中に他の印刷ジョブの割り込み処理を許容する印刷装置であって、
前記印刷データは、一連のPDLコマンドを含み、
前記一連のPDLコマンドのそれぞれは、前記割り込み処理により中断された印刷ジョブが再開される際、再度実行することが必要なPDLコマンドである再実行必要コマンドと、前記割り込み処理により中断された印刷ジョブが再開される際、再度実行することが不要なPDLコマンドである再実行不要コマンドと、のうちのいずれかに分類され、
前記電子機器から前記印刷データを受信する受信手段と、
前記受信された印刷データに含まれる一連のPDLコマンドを、PDLコマンド記憶手段に登録するPDLコマンド登録手段と、
前記印刷データが受信されたことを検知すると、当該受信された印刷データにより表される印刷ジョブを特定する印刷ジョブ特定情報を、印刷ジョブキューの末尾に追加する印刷ジョブ制御手段と、
前記PDLコマンド記憶手段に記憶されている一連のPDLコマンドを先頭から順次実行することにより前記印刷ジョブを実行するコマンド実行手段と、を備え、
前記コマンド実行手段は、前記PDLコマンドを実行する毎に、当該PDLコマンドが前記再実行不要コマンドであるか否かを判別し、当該PDLコマンドが前記再実行不要コマンドであると判別した場合、前記PDLコマンド記憶手段に記憶されている当該PDLコマンドを、何も処理しないことを指示するコマンドであるNOPコマンドに書き換え、
前記印刷ジョブ制御手段は、
前記コマンド実行手段による印刷ジョブの実行の終了を検知すると、前記コマンド実行手段を、前記印刷ジョブキューの先頭の印刷ジョブ特定情報により特定される印刷ジョブの実行を開始するように制御し、
前記割り込み処理の指示を検知すると、割り込み処理の指示がなされた印刷ジョブを特定する印刷ジョブ特定情報を、前記印刷ジョブキューの先頭に追加するとともに、前記コマンド実行手段を、実行中の印刷ジョブを中断し、前記割り込み印刷の指示がなされた印刷ジョブの実行を開始するように制御する、
ことを特徴とする印刷装置。
【0113】
(付記2)
前記印刷ジョブ制御手段は、
前記割り込み処理の指示を検知すると、改ページコマンドであるPDLコマンドが前記コマンド実行手段により実行されるまで待ち、その後、割り込み処理の指示がなされた印刷ジョブを特定する印刷ジョブ特定情報を、前記印刷ジョブキューの先頭に追加するとともに、前記コマンド実行手段を、実行中の印刷ジョブを中断し、前記割り込み印刷の指示がなされた印刷ジョブの実行を開始するように制御する、
ことを特徴とする付記1に記載の印刷装置。
【0114】
(付記3)
前記割り込み処理は、新たに受信された印刷データにより表される印刷ジョブを直ちに実行する処理である、
ことを特徴とする付記1又は2に記載の印刷装置。
【0115】
(付記4)
前記割り込み処理は、前記印刷ジョブキューに登録済みの印刷ジョブ特定情報により特定される印刷ジョブを直ちに実行する処理である、
ことを特徴とする付記1又は2に記載の印刷装置。
【0116】
(付記5)
前記再実行必要コマンドには、印刷装置の動作を制御する制御情報を指定するPDLコマンドが含まれ、
前記再実行不要コマンドには、イメージの描画を指示するPDLコマンドが含まれる、
ことを特徴とする付記1乃至4のいずれか1つに記載の印刷装置。
【0117】
(付記6)
前記再実行不要コマンドには、イメージの描画を指示するコマンドを表すコマンド部と、イメージデータを表すデータ部と、から構成されるイメージ描画コマンドが含まれ、
前記PDLコマンド記憶手段は、コマンドが記憶されるコマンド記憶手段と、イメージデータが記憶されるイメージデータ記憶手段と、を備え、
前記PDLコマンド登録手段は、
前記受信された印刷データに含まれるPDLコマンドが前記イメージ描画コマンドである場合、当該イメージ描画コマンドのコマンド部を内部コマンドに変換して前記コマンド記憶手段に登録するとともに、当該イメージ描画コマンドのイメージデータ部を前記イメージデータ記憶手段に登録し、
前記受信された印刷データに含まれるPDLコマンドがイメージ描画コマンドでない場合、当該PDLコマンドを前記コマンド記憶手段に登録し、
前記コマンド実行手段は、
前記内部コマンドを実行する場合、前記コマンド記憶手段に記憶されている内部コマンドと、前記イメージデータ記憶手段に登録されているイメージデータと、に基づいて、イメージの描画を実行し、
前記内部コマンドの実行後、前記コマンド記憶手段に記憶されている当該内部コマンドを、当該内部コマンドのサイズ分の、何も処理しないことを指示する制御データであるNOPデータに書き換え、
前記内部コマンド以外の再実行不要コマンドについては、当該コマンドの実行後、前記コマンド記憶手段に記憶されている当該コマンドを、当該コマンドのサイズ分のNOPデータに書き換える、
ことを特徴とする付記1乃至5のいずれか1つに記載の印刷装置。
【0118】
(付記7)
前記内部コマンドには、前記イメージデータ記憶手段に登録されたイメージデータの相対アドレスおよび長さを特定する情報が含まれる、
ことを特徴とする付記6に記載の印刷装置。
【0119】
(付記8)
前記内部コマンドの実行後、前記イメージデータ記憶手段に記憶されているイメージデータを、所定のデータで置き換えるイメージデータ消去手段、をさらに備える、
ことを特徴とする付記6又は7に記載の印刷装置。
【0120】
(付記9)
ネットワークを介して接続された電子機器から供給された印刷データに基づいて印刷ジョブを実行し、ある印刷ジョブの実行中に他の印刷ジョブの割り込み処理を許容する印刷装置が実行する印刷制御方法であって、
前記印刷データは、一連のPDLコマンドを含み、
前記一連のPDLコマンドのそれぞれは、前記割り込み処理により中断された印刷ジョブが再開される際、再度実行することが必要なPDLコマンドである再実行必要コマンドと、前記割り込み処理により中断された印刷ジョブが再開される際、再度実行することが不要なPDLコマンドである再実行不要コマンドと、のうちのいずれかに分類され、
前記電子機器から前記印刷データを受信する受信ステップと、
前記受信された印刷データに含まれる一連のPDLコマンドを、PDLコマンド記憶手段に登録するPDLコマンド登録ステップと、
前記印刷データが受信されたことを検知すると、当該受信された印刷データにより表される印刷ジョブを特定する印刷ジョブ特定情報を、印刷ジョブキューの末尾に追加する印刷ジョブ制御ステップと、
前記PDLコマンド記憶手段に記憶されている一連のPDLコマンドを先頭から順次実行することにより前記印刷ジョブを実行するコマンド実行ステップと、を備え、
前記コマンド実行ステップでは、前記PDLコマンドを実行する毎に、当該PDLコマンドが前記再実行不要コマンドであるか否かを判別し、当該PDLコマンドが前記再実行不要コマンドであると判別した場合、前記PDLコマンド記憶手段に記憶されている当該PDLコマンドを、何も処理しないことを指示するコマンドであるNOPコマンドに書き換え、
前記印刷ジョブ制御ステップでは、
前記コマンド実行ステップによる印刷ジョブの実行の終了を検知すると、前記印刷ジョブキューの先頭の印刷ジョブ特定情報により特定される印刷ジョブの実行を開始するように制御し、
前記割り込み処理の指示を検知すると、割り込み処理の指示がなされた印刷ジョブを特定する印刷ジョブ特定情報を、前記印刷ジョブキューの先頭に追加するとともに、実行中の印刷ジョブを中断し、前記割り込み印刷の指示がなされた印刷ジョブの実行を開始するように制御する、
ことを特徴とする印刷制御方法。
【0121】
(付記10)
ネットワークを介して接続された電子機器から供給された印刷データに基づいて印刷ジョブを実行し、ある印刷ジョブの実行中に他の印刷ジョブの割り込み処理を許容する印刷装置が備えるコンピュータに実行させるプログラムであって、
前記印刷データは、一連のPDLコマンドを含み、
前記一連のPDLコマンドのそれぞれは、前記割り込み処理により中断された印刷ジョブが再開される際、再度実行することが必要なPDLコマンドである再実行必要コマンドと、前記割り込み処理により中断された印刷ジョブが再開される際、再度実行することが不要なPDLコマンドである再実行不要コマンドと、のうちのいずれかに分類され、
前記プログラムは、前記コンピュータを、
前記電子機器から前記印刷データを受信する受信手段、
前記受信された印刷データに含まれる一連のPDLコマンドを、PDLコマンド記憶手段に登録するPDLコマンド登録手段、
前記印刷データが受信されたことを検知すると、当該受信された印刷データにより表される印刷ジョブを特定する印刷ジョブ特定情報を、印刷ジョブキューの末尾に追加する印刷ジョブ制御手段、
前記PDLコマンド記憶手段に記憶されている一連のPDLコマンドを先頭から順次実行することにより前記印刷ジョブを実行するコマンド実行手段、として機能させ、
前記コマンド実行手段は、前記PDLコマンドを実行する毎に、当該PDLコマンドが前記再実行不要コマンドであるか否かを判別し、当該PDLコマンドが前記再実行不要コマンドであると判別した場合、前記PDLコマンド記憶手段に記憶されている当該PDLコマンドを、何も処理しないことを指示するコマンドであるNOPコマンドに書き換え、
前記印刷ジョブ制御手段は、
前記コマンド実行手段による印刷ジョブの実行の終了を検知すると、前記コマンド実行手段を、前記印刷ジョブキューの先頭の印刷ジョブ特定情報により特定される印刷ジョブの実行を開始するように制御し、
前記割り込み処理の指示を検知すると、割り込み処理の指示がなされた印刷ジョブを特定する印刷ジョブ特定情報を、前記印刷ジョブキューの先頭に追加するとともに、前記コマンド実行手段を、実行中の印刷ジョブを中断し、前記割り込み印刷の指示がなされた印刷ジョブの実行を開始するように制御する、
ことを特徴とするプログラム。
【産業上の利用可能性】
【0122】
本発明は、割り込み機能を有する印刷装置に適用することができる。
【符号の説明】
【0123】
1…印刷装置、2…画像形成部、2M、2C、2Y、2K…画像形成ユニット、3、3a〜3e…記録媒体給紙部、4…記録媒体搬送部、5…感光体ドラム、5a…帯電器、5b…印字ヘッド、5c…現像器、5d…転写器、10…待機ローラ、11…ベルト駆動ローラ、12…従動ローラ、13…搬送ベルト、16…排紙部、17…印刷制御部、18…LAN制御回路、18a…LAN制御部、19…USB制御回路、20…CPU、21…メモリ、21a…画像メモリ、22…不揮発性メモリ、23…ROM、24…エンジン制御回路、24a…エンジン制御部、25…操作パネル制御回路、25a…操作パネル制御部、26…プリンタエンジン、27…操作パネル、27a…表示部、27b…キー部、27c…マーク、27d…割込キー、28…ハードディスク制御回路、29…ハードディスク、30…クライアント装置、30a…アプリケーションプログラム、30b…プリンタドライバ、30c…スプーラ、30d…LAN制御部、31…PDL解釈・実行部、32…入力ジョブ保存部、33…入力ジョブキュー管理部、34…入力ジョブキュー、35…ファイル完全消去部
【特許請求の範囲】
【請求項1】
ネットワークを介して接続された電子機器から供給された印刷データに基づいて印刷ジョブを実行し、ある印刷ジョブの実行中に他の印刷ジョブの割り込み処理を許容する印刷装置であって、
前記印刷データは、一連のPDLコマンドを含み、
前記一連のPDLコマンドのそれぞれは、前記割り込み処理により中断された印刷ジョブが再開される際、再度実行することが必要なPDLコマンドである再実行必要コマンドと、前記割り込み処理により中断された印刷ジョブが再開される際、再度実行することが不要なPDLコマンドである再実行不要コマンドと、のうちのいずれかに分類され、
前記電子機器から前記印刷データを受信する受信手段と、
前記受信された印刷データに含まれる一連のPDLコマンドを、PDLコマンド記憶手段に登録するPDLコマンド登録手段と、
前記印刷データが受信されたことを検知すると、当該受信された印刷データにより表される印刷ジョブを特定する印刷ジョブ特定情報を、印刷ジョブキューの末尾に追加する印刷ジョブ制御手段と、
前記PDLコマンド記憶手段に記憶されている一連のPDLコマンドを先頭から順次実行することにより前記印刷ジョブを実行するコマンド実行手段と、を備え、
前記コマンド実行手段は、前記PDLコマンドを実行する毎に、当該PDLコマンドが前記再実行不要コマンドであるか否かを判別し、当該PDLコマンドが前記再実行不要コマンドであると判別した場合、前記PDLコマンド記憶手段に記憶されている当該PDLコマンドを、何も処理しないことを指示するコマンドであるNOPコマンドに書き換え、
前記印刷ジョブ制御手段は、
前記コマンド実行手段による印刷ジョブの実行の終了を検知すると、前記コマンド実行手段を、前記印刷ジョブキューの先頭の印刷ジョブ特定情報により特定される印刷ジョブの実行を開始するように制御し、
前記割り込み処理の指示を検知すると、割り込み処理の指示がなされた印刷ジョブを特定する印刷ジョブ特定情報を、前記印刷ジョブキューの先頭に追加するとともに、前記コマンド実行手段を、実行中の印刷ジョブを中断し、前記割り込み印刷の指示がなされた印刷ジョブの実行を開始するように制御する、
ことを特徴とする印刷装置。
【請求項2】
前記印刷ジョブ制御手段は、
前記割り込み処理の指示を検知すると、改ページコマンドであるPDLコマンドが前記コマンド実行手段により実行されるまで待ち、その後、割り込み処理の指示がなされた印刷ジョブを特定する印刷ジョブ特定情報を、前記印刷ジョブキューの先頭に追加するとともに、前記コマンド実行手段を、実行中の印刷ジョブを中断し、前記割り込み印刷の指示がなされた印刷ジョブの実行を開始するように制御する、
ことを特徴とする請求項1に記載の印刷装置。
【請求項3】
前記割り込み処理は、新たに受信された印刷データにより表される印刷ジョブを直ちに実行する処理である、
ことを特徴とする請求項1又は2に記載の印刷装置。
【請求項4】
前記割り込み処理は、前記印刷ジョブキューに登録済みの印刷ジョブ特定情報により特定される印刷ジョブを直ちに実行する処理である、
ことを特徴とする請求項1又は2に記載の印刷装置。
【請求項5】
前記再実行必要コマンドには、印刷装置の動作を制御する制御情報を指定するPDLコマンドが含まれ、
前記再実行不要コマンドには、イメージの描画を指示するPDLコマンドが含まれる、
ことを特徴とする請求項1乃至4のいずれか1項に記載の印刷装置。
【請求項6】
前記再実行不要コマンドには、イメージの描画を指示するコマンドを表すコマンド部と、イメージデータを表すデータ部と、から構成されるイメージ描画コマンドが含まれ、
前記PDLコマンド記憶手段は、コマンドが記憶されるコマンド記憶手段と、イメージデータが記憶されるイメージデータ記憶手段と、を備え、
前記PDLコマンド登録手段は、
前記受信された印刷データに含まれるPDLコマンドが前記イメージ描画コマンドである場合、当該イメージ描画コマンドのコマンド部を内部コマンドに変換して前記コマンド記憶手段に登録するとともに、当該イメージ描画コマンドのイメージデータ部を前記イメージデータ記憶手段に登録し、
前記受信された印刷データに含まれるPDLコマンドがイメージ描画コマンドでない場合、当該PDLコマンドを前記コマンド記憶手段に登録し、
前記コマンド実行手段は、
前記内部コマンドを実行する場合、前記コマンド記憶手段に記憶されている内部コマンドと、前記イメージデータ記憶手段に登録されているイメージデータと、に基づいて、イメージの描画を実行し、
前記内部コマンドの実行後、前記コマンド記憶手段に記憶されている当該内部コマンドを、当該内部コマンドのサイズ分の、何も処理しないことを指示する制御データであるNOPデータに書き換え、
前記内部コマンド以外の再実行不要コマンドについては、当該コマンドの実行後、前記コマンド記憶手段に記憶されている当該コマンドを、当該コマンドのサイズ分のNOPデータに書き換える、
ことを特徴とする請求項1乃至5のいずれか1項に記載の印刷装置。
【請求項7】
前記内部コマンドには、前記イメージデータ記憶手段に登録されたイメージデータの相対アドレスおよび長さを特定する情報が含まれる、
ことを特徴とする請求項6に記載の印刷装置。
【請求項8】
前記内部コマンドの実行後、前記イメージデータ記憶手段に記憶されているイメージデータを、所定のデータで置き換えるイメージデータ消去手段、をさらに備える、
ことを特徴とする請求項6又は7に記載の印刷装置。
【請求項9】
ネットワークを介して接続された電子機器から供給された印刷データに基づいて印刷ジョブを実行し、ある印刷ジョブの実行中に他の印刷ジョブの割り込み処理を許容する印刷装置が実行する印刷制御方法であって、
前記印刷データは、一連のPDLコマンドを含み、
前記一連のPDLコマンドのそれぞれは、前記割り込み処理により中断された印刷ジョブが再開される際、再度実行することが必要なPDLコマンドである再実行必要コマンドと、前記割り込み処理により中断された印刷ジョブが再開される際、再度実行することが不要なPDLコマンドである再実行不要コマンドと、のうちのいずれかに分類され、
前記電子機器から前記印刷データを受信する受信ステップと、
前記受信された印刷データに含まれる一連のPDLコマンドを、PDLコマンド記憶手段に登録するPDLコマンド登録ステップと、
前記印刷データが受信されたことを検知すると、当該受信された印刷データにより表される印刷ジョブを特定する印刷ジョブ特定情報を、印刷ジョブキューの末尾に追加する印刷ジョブ制御ステップと、
前記PDLコマンド記憶手段に記憶されている一連のPDLコマンドを先頭から順次実行することにより前記印刷ジョブを実行するコマンド実行ステップと、を備え、
前記コマンド実行ステップでは、前記PDLコマンドを実行する毎に、当該PDLコマンドが前記再実行不要コマンドであるか否かを判別し、当該PDLコマンドが前記再実行不要コマンドであると判別した場合、前記PDLコマンド記憶手段に記憶されている当該PDLコマンドを、何も処理しないことを指示するコマンドであるNOPコマンドに書き換え、
前記印刷ジョブ制御ステップでは、
前記コマンド実行ステップによる印刷ジョブの実行の終了を検知すると、前記印刷ジョブキューの先頭の印刷ジョブ特定情報により特定される印刷ジョブの実行を開始するように制御し、
前記割り込み処理の指示を検知すると、割り込み処理の指示がなされた印刷ジョブを特定する印刷ジョブ特定情報を、前記印刷ジョブキューの先頭に追加するとともに、実行中の印刷ジョブを中断し、前記割り込み印刷の指示がなされた印刷ジョブの実行を開始するように制御する、
ことを特徴とする印刷制御方法。
【請求項10】
ネットワークを介して接続された電子機器から供給された印刷データに基づいて印刷ジョブを実行し、ある印刷ジョブの実行中に他の印刷ジョブの割り込み処理を許容する印刷装置が備えるコンピュータに実行させるプログラムであって、
前記印刷データは、一連のPDLコマンドを含み、
前記一連のPDLコマンドのそれぞれは、前記割り込み処理により中断された印刷ジョブが再開される際、再度実行することが必要なPDLコマンドである再実行必要コマンドと、前記割り込み処理により中断された印刷ジョブが再開される際、再度実行することが不要なPDLコマンドである再実行不要コマンドと、のうちのいずれかに分類され、
前記プログラムは、前記コンピュータを、
前記電子機器から前記印刷データを受信する受信手段、
前記受信された印刷データに含まれる一連のPDLコマンドを、PDLコマンド記憶手段に登録するPDLコマンド登録手段、
前記印刷データが受信されたことを検知すると、当該受信された印刷データにより表される印刷ジョブを特定する印刷ジョブ特定情報を、印刷ジョブキューの末尾に追加する印刷ジョブ制御手段、
前記PDLコマンド記憶手段に記憶されている一連のPDLコマンドを先頭から順次実行することにより前記印刷ジョブを実行するコマンド実行手段、として機能させ、
前記コマンド実行手段は、前記PDLコマンドを実行する毎に、当該PDLコマンドが前記再実行不要コマンドであるか否かを判別し、当該PDLコマンドが前記再実行不要コマンドであると判別した場合、前記PDLコマンド記憶手段に記憶されている当該PDLコマンドを、何も処理しないことを指示するコマンドであるNOPコマンドに書き換え、
前記印刷ジョブ制御手段は、
前記コマンド実行手段による印刷ジョブの実行の終了を検知すると、前記コマンド実行手段を、前記印刷ジョブキューの先頭の印刷ジョブ特定情報により特定される印刷ジョブの実行を開始するように制御し、
前記割り込み処理の指示を検知すると、割り込み処理の指示がなされた印刷ジョブを特定する印刷ジョブ特定情報を、前記印刷ジョブキューの先頭に追加するとともに、前記コマンド実行手段を、実行中の印刷ジョブを中断し、前記割り込み印刷の指示がなされた印刷ジョブの実行を開始するように制御する、
ことを特徴とするプログラム。
【請求項1】
ネットワークを介して接続された電子機器から供給された印刷データに基づいて印刷ジョブを実行し、ある印刷ジョブの実行中に他の印刷ジョブの割り込み処理を許容する印刷装置であって、
前記印刷データは、一連のPDLコマンドを含み、
前記一連のPDLコマンドのそれぞれは、前記割り込み処理により中断された印刷ジョブが再開される際、再度実行することが必要なPDLコマンドである再実行必要コマンドと、前記割り込み処理により中断された印刷ジョブが再開される際、再度実行することが不要なPDLコマンドである再実行不要コマンドと、のうちのいずれかに分類され、
前記電子機器から前記印刷データを受信する受信手段と、
前記受信された印刷データに含まれる一連のPDLコマンドを、PDLコマンド記憶手段に登録するPDLコマンド登録手段と、
前記印刷データが受信されたことを検知すると、当該受信された印刷データにより表される印刷ジョブを特定する印刷ジョブ特定情報を、印刷ジョブキューの末尾に追加する印刷ジョブ制御手段と、
前記PDLコマンド記憶手段に記憶されている一連のPDLコマンドを先頭から順次実行することにより前記印刷ジョブを実行するコマンド実行手段と、を備え、
前記コマンド実行手段は、前記PDLコマンドを実行する毎に、当該PDLコマンドが前記再実行不要コマンドであるか否かを判別し、当該PDLコマンドが前記再実行不要コマンドであると判別した場合、前記PDLコマンド記憶手段に記憶されている当該PDLコマンドを、何も処理しないことを指示するコマンドであるNOPコマンドに書き換え、
前記印刷ジョブ制御手段は、
前記コマンド実行手段による印刷ジョブの実行の終了を検知すると、前記コマンド実行手段を、前記印刷ジョブキューの先頭の印刷ジョブ特定情報により特定される印刷ジョブの実行を開始するように制御し、
前記割り込み処理の指示を検知すると、割り込み処理の指示がなされた印刷ジョブを特定する印刷ジョブ特定情報を、前記印刷ジョブキューの先頭に追加するとともに、前記コマンド実行手段を、実行中の印刷ジョブを中断し、前記割り込み印刷の指示がなされた印刷ジョブの実行を開始するように制御する、
ことを特徴とする印刷装置。
【請求項2】
前記印刷ジョブ制御手段は、
前記割り込み処理の指示を検知すると、改ページコマンドであるPDLコマンドが前記コマンド実行手段により実行されるまで待ち、その後、割り込み処理の指示がなされた印刷ジョブを特定する印刷ジョブ特定情報を、前記印刷ジョブキューの先頭に追加するとともに、前記コマンド実行手段を、実行中の印刷ジョブを中断し、前記割り込み印刷の指示がなされた印刷ジョブの実行を開始するように制御する、
ことを特徴とする請求項1に記載の印刷装置。
【請求項3】
前記割り込み処理は、新たに受信された印刷データにより表される印刷ジョブを直ちに実行する処理である、
ことを特徴とする請求項1又は2に記載の印刷装置。
【請求項4】
前記割り込み処理は、前記印刷ジョブキューに登録済みの印刷ジョブ特定情報により特定される印刷ジョブを直ちに実行する処理である、
ことを特徴とする請求項1又は2に記載の印刷装置。
【請求項5】
前記再実行必要コマンドには、印刷装置の動作を制御する制御情報を指定するPDLコマンドが含まれ、
前記再実行不要コマンドには、イメージの描画を指示するPDLコマンドが含まれる、
ことを特徴とする請求項1乃至4のいずれか1項に記載の印刷装置。
【請求項6】
前記再実行不要コマンドには、イメージの描画を指示するコマンドを表すコマンド部と、イメージデータを表すデータ部と、から構成されるイメージ描画コマンドが含まれ、
前記PDLコマンド記憶手段は、コマンドが記憶されるコマンド記憶手段と、イメージデータが記憶されるイメージデータ記憶手段と、を備え、
前記PDLコマンド登録手段は、
前記受信された印刷データに含まれるPDLコマンドが前記イメージ描画コマンドである場合、当該イメージ描画コマンドのコマンド部を内部コマンドに変換して前記コマンド記憶手段に登録するとともに、当該イメージ描画コマンドのイメージデータ部を前記イメージデータ記憶手段に登録し、
前記受信された印刷データに含まれるPDLコマンドがイメージ描画コマンドでない場合、当該PDLコマンドを前記コマンド記憶手段に登録し、
前記コマンド実行手段は、
前記内部コマンドを実行する場合、前記コマンド記憶手段に記憶されている内部コマンドと、前記イメージデータ記憶手段に登録されているイメージデータと、に基づいて、イメージの描画を実行し、
前記内部コマンドの実行後、前記コマンド記憶手段に記憶されている当該内部コマンドを、当該内部コマンドのサイズ分の、何も処理しないことを指示する制御データであるNOPデータに書き換え、
前記内部コマンド以外の再実行不要コマンドについては、当該コマンドの実行後、前記コマンド記憶手段に記憶されている当該コマンドを、当該コマンドのサイズ分のNOPデータに書き換える、
ことを特徴とする請求項1乃至5のいずれか1項に記載の印刷装置。
【請求項7】
前記内部コマンドには、前記イメージデータ記憶手段に登録されたイメージデータの相対アドレスおよび長さを特定する情報が含まれる、
ことを特徴とする請求項6に記載の印刷装置。
【請求項8】
前記内部コマンドの実行後、前記イメージデータ記憶手段に記憶されているイメージデータを、所定のデータで置き換えるイメージデータ消去手段、をさらに備える、
ことを特徴とする請求項6又は7に記載の印刷装置。
【請求項9】
ネットワークを介して接続された電子機器から供給された印刷データに基づいて印刷ジョブを実行し、ある印刷ジョブの実行中に他の印刷ジョブの割り込み処理を許容する印刷装置が実行する印刷制御方法であって、
前記印刷データは、一連のPDLコマンドを含み、
前記一連のPDLコマンドのそれぞれは、前記割り込み処理により中断された印刷ジョブが再開される際、再度実行することが必要なPDLコマンドである再実行必要コマンドと、前記割り込み処理により中断された印刷ジョブが再開される際、再度実行することが不要なPDLコマンドである再実行不要コマンドと、のうちのいずれかに分類され、
前記電子機器から前記印刷データを受信する受信ステップと、
前記受信された印刷データに含まれる一連のPDLコマンドを、PDLコマンド記憶手段に登録するPDLコマンド登録ステップと、
前記印刷データが受信されたことを検知すると、当該受信された印刷データにより表される印刷ジョブを特定する印刷ジョブ特定情報を、印刷ジョブキューの末尾に追加する印刷ジョブ制御ステップと、
前記PDLコマンド記憶手段に記憶されている一連のPDLコマンドを先頭から順次実行することにより前記印刷ジョブを実行するコマンド実行ステップと、を備え、
前記コマンド実行ステップでは、前記PDLコマンドを実行する毎に、当該PDLコマンドが前記再実行不要コマンドであるか否かを判別し、当該PDLコマンドが前記再実行不要コマンドであると判別した場合、前記PDLコマンド記憶手段に記憶されている当該PDLコマンドを、何も処理しないことを指示するコマンドであるNOPコマンドに書き換え、
前記印刷ジョブ制御ステップでは、
前記コマンド実行ステップによる印刷ジョブの実行の終了を検知すると、前記印刷ジョブキューの先頭の印刷ジョブ特定情報により特定される印刷ジョブの実行を開始するように制御し、
前記割り込み処理の指示を検知すると、割り込み処理の指示がなされた印刷ジョブを特定する印刷ジョブ特定情報を、前記印刷ジョブキューの先頭に追加するとともに、実行中の印刷ジョブを中断し、前記割り込み印刷の指示がなされた印刷ジョブの実行を開始するように制御する、
ことを特徴とする印刷制御方法。
【請求項10】
ネットワークを介して接続された電子機器から供給された印刷データに基づいて印刷ジョブを実行し、ある印刷ジョブの実行中に他の印刷ジョブの割り込み処理を許容する印刷装置が備えるコンピュータに実行させるプログラムであって、
前記印刷データは、一連のPDLコマンドを含み、
前記一連のPDLコマンドのそれぞれは、前記割り込み処理により中断された印刷ジョブが再開される際、再度実行することが必要なPDLコマンドである再実行必要コマンドと、前記割り込み処理により中断された印刷ジョブが再開される際、再度実行することが不要なPDLコマンドである再実行不要コマンドと、のうちのいずれかに分類され、
前記プログラムは、前記コンピュータを、
前記電子機器から前記印刷データを受信する受信手段、
前記受信された印刷データに含まれる一連のPDLコマンドを、PDLコマンド記憶手段に登録するPDLコマンド登録手段、
前記印刷データが受信されたことを検知すると、当該受信された印刷データにより表される印刷ジョブを特定する印刷ジョブ特定情報を、印刷ジョブキューの末尾に追加する印刷ジョブ制御手段、
前記PDLコマンド記憶手段に記憶されている一連のPDLコマンドを先頭から順次実行することにより前記印刷ジョブを実行するコマンド実行手段、として機能させ、
前記コマンド実行手段は、前記PDLコマンドを実行する毎に、当該PDLコマンドが前記再実行不要コマンドであるか否かを判別し、当該PDLコマンドが前記再実行不要コマンドであると判別した場合、前記PDLコマンド記憶手段に記憶されている当該PDLコマンドを、何も処理しないことを指示するコマンドであるNOPコマンドに書き換え、
前記印刷ジョブ制御手段は、
前記コマンド実行手段による印刷ジョブの実行の終了を検知すると、前記コマンド実行手段を、前記印刷ジョブキューの先頭の印刷ジョブ特定情報により特定される印刷ジョブの実行を開始するように制御し、
前記割り込み処理の指示を検知すると、割り込み処理の指示がなされた印刷ジョブを特定する印刷ジョブ特定情報を、前記印刷ジョブキューの先頭に追加するとともに、前記コマンド実行手段を、実行中の印刷ジョブを中断し、前記割り込み印刷の指示がなされた印刷ジョブの実行を開始するように制御する、
ことを特徴とするプログラム。
【図1】
【図2】
【図3】
【図4】
【図5A】
【図5B】
【図5C】
【図6】
【図7A】
【図7B】
【図8】
【図9】
【図10】
【図11】
【図12A】
【図12B】
【図13】
【図14A】
【図14B】
【図15】
【図16A】
【図16B】
【図16C】
【図17】
【図18】
【図2】
【図3】
【図4】
【図5A】
【図5B】
【図5C】
【図6】
【図7A】
【図7B】
【図8】
【図9】
【図10】
【図11】
【図12A】
【図12B】
【図13】
【図14A】
【図14B】
【図15】
【図16A】
【図16B】
【図16C】
【図17】
【図18】
【公開番号】特開2012−81726(P2012−81726A)
【公開日】平成24年4月26日(2012.4.26)
【国際特許分類】
【出願番号】特願2011−85973(P2011−85973)
【出願日】平成23年4月8日(2011.4.8)
【出願人】(000104124)カシオ電子工業株式会社 (601)
【出願人】(000001443)カシオ計算機株式会社 (8,748)
【Fターム(参考)】
【公開日】平成24年4月26日(2012.4.26)
【国際特許分類】
【出願日】平成23年4月8日(2011.4.8)
【出願人】(000104124)カシオ電子工業株式会社 (601)
【出願人】(000001443)カシオ計算機株式会社 (8,748)
【Fターム(参考)】
[ Back to top ]