JP2005349768A - 印刷装置及び印刷方法 - Google Patents
印刷装置及び印刷方法 Download PDFInfo
- Publication number
- JP2005349768A JP2005349768A JP2004174487A JP2004174487A JP2005349768A JP 2005349768 A JP2005349768 A JP 2005349768A JP 2004174487 A JP2004174487 A JP 2004174487A JP 2004174487 A JP2004174487 A JP 2004174487A JP 2005349768 A JP2005349768 A JP 2005349768A
- Authority
- JP
- Japan
- Prior art keywords
- print job
- page
- job
- printing
- data
- 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.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims abstract description 74
- 238000012545 processing Methods 0.000 claims description 72
- 230000008569 process Effects 0.000 claims description 55
- 230000010365 information processing Effects 0.000 claims description 18
- 230000006854 communication Effects 0.000 claims description 12
- 238000004891 communication Methods 0.000 claims description 12
- 230000008859 change Effects 0.000 claims description 3
- 230000005540 biological transmission Effects 0.000 description 20
- 238000010586 diagram Methods 0.000 description 20
- 230000006870 function Effects 0.000 description 17
- 230000004044 response Effects 0.000 description 9
- 230000001419 dependent effect Effects 0.000 description 8
- 238000013519 translation Methods 0.000 description 6
- 238000012790 confirmation Methods 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000007599 discharging Methods 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000007175 bidirectional communication Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Landscapes
- Record Information Processing For Printing (AREA)
Abstract
【課題】 割り込み印刷後の復帰処理の高速化を可能にした印刷装置及び印刷方法を提供する。
【解決手段】 印刷装置400は、印刷ジョブがページ独立型の言語かどうかを受信開始時に判定すると共に、印刷ジョブ単位で排紙の完了したページ数を記憶しておく。さらに、終了ページ命令を受け取った時点での受信バッファから読み込んだデータバイト数をページ単位に記憶するページデータベース部500を設ける。割り込み印刷が発生したとき、割り込みジョブ投入後に、復帰する印刷ジョブに関してページ独立型の言語であると判定されていた場合に、ページデータベース部500から前記データバイト数を取り出し、受信バッファからデータバイト数だけスキップした後のデータを受信し、実際に復帰するページからトランスレートを行う。
【選択図】 図1
【解決手段】 印刷装置400は、印刷ジョブがページ独立型の言語かどうかを受信開始時に判定すると共に、印刷ジョブ単位で排紙の完了したページ数を記憶しておく。さらに、終了ページ命令を受け取った時点での受信バッファから読み込んだデータバイト数をページ単位に記憶するページデータベース部500を設ける。割り込み印刷が発生したとき、割り込みジョブ投入後に、復帰する印刷ジョブに関してページ独立型の言語であると判定されていた場合に、ページデータベース部500から前記データバイト数を取り出し、受信バッファからデータバイト数だけスキップした後のデータを受信し、実際に復帰するページからトランスレートを行う。
【選択図】 図1
Description
本発明は、外部の情報処理装置から受け取った印刷ジョブを解釈して印刷を行う印刷装置及び印刷方法に関する。
従来、ユーザの指示に従って印刷データを生成するホストコンピュータと、所定の通信媒体を介して前記ホストコンピュータから送信された印刷ジョブを処理して画像データを生成し、用紙などのメディアに印刷を行う印刷装置とを備えた印刷システムは、一般的に知られている。
このような印刷システムにおいては、単に1台のホストコンピュータから印刷装置へ印刷ジョブを転送して印刷を行うだけではなく、高い機能を所持する1台の印刷装置を複数のユーザ(ホストコンピュータ)でネットワークを介して共有することにより、オフィスにおける大量の印刷ニーズに対応しながら管理コストを最低限に抑えるといった使用形態が一般化している。
一般に印刷ジョブの出力スループットは、プリンタエンジン部の出力速度がボトルネックとなっており、いくらコントローラの機能が向上しても出力時間には一定の限界がある。しかしプリンタエンジン部の高速化は、定着温度の上昇や用紙搬送系の高速化に伴い大型、高価格化を招くため、ユーザのニーズに適応しない。つまり、印刷ジョブの出力時間には一定の限界が存在する。
あるユーザが印刷ジョブを至急出力したい時に既に別の印刷ジョブが印刷装置に投入されている場合、従来では先行投入されている印刷ジョブ(以下、先行印刷ジョブと記す)の印刷完了まで一定時間待つ必要があった。あるいは、印刷装置のリセットや先行印刷ジョブの取り消しを行うことにより、至急出力したい印刷ジョブの印刷が即時可能ではあるが、取り消された先行印刷ジョブが他のユーザの印刷要求であった場合には、そのユーザに再度印刷を行うように要請を出す必要があり、現実的ではない。
このような点から、割り込み印刷ジョブを最優先で印刷する割り込み印刷機能と、割り込まれた先行印刷ジョブを自動的に復帰して再印刷を行う復帰印刷機能とを備えた印刷装置が提案されている(例えば、特許文献1を参照)。
以下に、従来の割り込み印刷機能について説明する。
図16及び図17は、従来の印刷システムの機能構成を示すブロック図であり、ホストコンピュータから印刷装置に対して行われる、印刷ジョブの送信、印刷装置の情報の獲得及び印刷装置の環境設定の各処理についての仕組みを具現化した印刷システムの機能構成を表している。同図16はホストコンピュータの機能を示し、同図17は印刷装置の機能を示している。
この印刷システムは、印刷すべきジョブを生成するホストコンピュータ100と、実際に用紙に印刷を行う印刷装置200と、所定のインターフェイス110とから構成されている。インターフェイス110は、IEEE1284やUSBで規定されているローカルインターフェイスであっても、イーサネット(登録商標)(EtherNet)のようなネットワークインターフェイスでも良く、本例ではローカルインターフェイスを用いるものとする。
ホストコンピュータ100は、図16に示すように、アプリケーション部101、プリンタドライバ部102、送信バッファ103、ジョブパケット生成部107、ユーティリティ部105、論理チャネル制御部106、及びI/Fドライバ部104から構成されている。
アプリケーション部101は、ユーザが操作するグラフィックユーザインターフェイスの指示を受けて所望の印刷データを生成する。プリンタドライバ部102は、アプリケーション部101が作成した印刷データを、印刷装置200が印刷可能なページ記述言語(以下、PDLと略称)データに変換する。尚、本実施例でいうページ記述言語とはページプリンタにおいて理解できる形式のデータを指し、スプライン曲線等を利用する高級言語のみに限定されず、ライン命令など限られた単純命令のみから構成される低級言語も含むものとする。ホストコンピュータ側のプリンタドライバ部によりプリンタが迅速に解釈できる低級言語までを作成しプリンタに送信する形態が知られているが、そのような形態も本実施例は適用可能である。この場合には後述のPDLトランスレータ部206は低級言語を解釈し、描画部208がレンダリング処理を行なえる形式の中間データを作成する部分に相当することとなる。送信バッファ103は、プリンタドライバ部102が変換したPDLデータを一時的に格納し、ジョブパケット生成部107は、送信バッファ103に格納されたPDLデータとアプリケーション部101が有するジョブ属性情報とから所定のジョブパケットを生成する。ユーティリティ部105は、印刷装置200の状態の確認、送信した印刷ジョブの印刷状態の確認、印刷ジョブの取り消し、及び割り込みなどの操作がグラフィックユーザインターフェイスを用いて行われたとき、これらの操作による要求を印刷装置200が解釈可能な管理パケットに変換する。論理チャネル制御部106は、ジョブパケットと管理パケットをそれぞれ異なるチャネルに割り振り、OSI7階層(通信分野で広く用いられている通信プロトコルの階層モデル)におけるトランスポート層の多重化を行う。I/Fドライバ部104は、論理的なデータを電気信号に変換し、インターフェイス110とのやりとりを行う。
一方、印刷装置200は、図17に示すように、I/Fドライバ部201、論理チャネル制御部202、機器データベース部205、ジョブプリプロセッサ部203、ジョブスプーラ204、ジョブ読み出しテーブル213、PDLトランスレータ部206、描画バッファ207、描画部208、プリンタエンジン部209、情報管理部210、及び割り込み処理部212から構成されている。
I/Fドライバ部201は、論理的なデータを電気信号に変換し、インターフェイス110とのやりとりを行う。論理チャネル制御部202は、I/Fドライバ部201から受信したデータを解析し、ジョブパケットと管理パケットをそれぞれ異なるチャネルに割り振り、OSI7階層におけるトランスポート層の多重化を行う。ジョブプリプロセッサ部203は、ジョブパケットを受け取って解析を行い、印刷ジョブの属性情報は機器データベース部205に、PDLデータはジョブスプーラ204にそれぞれ振り分けて格納する。
ジョブスプーラ204は、HDDやフラッシュメモリ、あるいはDRAMなどの大容量メモリデバイスから構成され、印刷ジョブのPDLデータを印刷完了まで一時的に保持する。ジョブ読み出しテーブル213は、ジョブの処理順番を記述する。PDLトランスレータ部206は、ジョブ読み出しテーブル213に記述された順番にジョブを取り出し、機器データベース部205に格納された属性情報とジョブスプーラ204に格納されたPDLデータとを解析し、リアルタイムに描画処理可能な中間データを生成して描画バッファ207に格納する。描画バッファ207は、中間データをページ単位に印刷完了まで一時的に保持する。
描画部208は、描画バッファ207から中間データを取得し、プリンタエンジン部209が行う用紙搬送処理と共に、リアルタイムに中間データのレンダリング処理及び転送処理を行い、プリンタエンジン部209にビデオデータとして送信を行う。プリンタエンジン部209は、描画部208から送信されたビデオデータを基に、電子写真技術など既知の印刷技術を用いて用紙に印刷を行う。情報管理部210は、ホストコンピュータ100から送信された管理パケットを受け取り、その管理パケットによる要求に応じて機器データベース部205から情報を獲得し、またジョブの取り消し要求や割り込み要求を行い、さらにはジョブの終了や機器の異常を検知して自立的にホストコンピュータ100に通知イベントを発行する。割り込み処理部212は、印刷ジョブの割り込み指定が行われた時に、実際の割り込み処理を行う。
次に、ジョブ読み出しテーブル213について説明する。
図18(a),(b),(c)は、ジョブ読み出しテーブル213の登録状況を示す図である。
図18(a)に示した登録状況では、ジョブ読み出しテーブル213の最上段から最下段まで順次ジョブ1〜4の各ジョブIDがそれぞれ登録されている。PDLトランスレータ部206は、トランスレートを実行する時、ジョブ読み出しテーブル213の最上段から順番に印刷ジョブの取り出しを行う。
ジョブプリプロセッサ部203がジョブ読み出しテーブル213にジョブ5を追加した場合は、図18(b)に示すように、ジョブ5はジョブ読み出しテーブル213の最下段に追加される。プリンタエンジン部209においてジョブ1の最終ページの排紙を完了した場合、あるいはジョブ1の印刷取り消しが行われた場合は、図18(c)に示すようにジョブ1はジョブ読み出しテーブル213から削除される。
以上のように、ジョブ読み出しテーブル213は、PDLトランスレータ部206が処理するジョブの順番と寿命を制御するために用いられる。
そして、例えばジョブ1が排紙している途中でジョブ5に割り込まれた場合、従来では、ジョブ1の排紙完了したページ数を記憶しておき、ジョブ1を再度印刷する割り込み復帰時に、前ページの環境を引き継ぐ必要があるためPDLトランスレータ部206において最初のページから再トランスレートを行い、さらに描画部208において排紙完了したページの描画処理のスキップを行う。
特開2001−154819号公報
しかしながら、上記従来の印刷装置では、次のような問題点があった。
従来の割り込み印刷機能では、既に処理中の先行印刷ジョブを停止した後、割り込み印刷ジョブの印刷処理を直ちに開始するため、割り込み印刷ジョブの印刷を迅速に行うことができる。一方、割り込まれた先行印刷ジョブは、排紙完了ページを記憶すると共に、割り込み復帰後に再度最初のページからPDLのトランスレート処理を行うため、実際に排紙されないページもトランスレートを余分に行わねばならず、割り込み復帰のパフォーマンスが低下する問題があった。そのため、割り込み印刷機能を使うと、割り込まれた先行印刷ジョブの復帰に多くの時間を要し、その結果、割り込み印刷機能はあまり頻繁に使える機能ではなかった。
本発明は上記従来の問題点に鑑み、割り込み印刷後の復帰処理の高速化を可能にした印刷装置及び印刷方法を提供することを目的とする。
上記目的を達成するために本発明の印刷装置は、通信可能な外部の情報処理装置からの印刷ジョブを解釈して該解釈後のデータに基づく印刷を行う印刷装置において、前記情報処理装置からの印刷ジョブの割り込み指示を認識する認識手段と、前記認識手段によって割り込み指示が認識された場合に、当該印刷ジョブ以外の先行印刷ジョブの印刷処理を中止し、前記割り込み指示のある印刷ジョブの印刷処理を実行する割り込み手段と、前記割り込み手段による印刷処理後に、前記先行印刷ジョブの印刷を再度行う復帰手段とを備え、前記復帰手段は、前記先行印刷ジョブの既に解釈されたデータを、終了ページ命令を受け取ったページの解釈をデータサイズに基づきスキップし、残りのデータのみを解釈する手段を有することを特徴とする。
本発明の印刷装置は、通信可能な外部の情報処理装置からの印刷ジョブを解釈して印刷を行う印刷装置において、前記情報処理装置からの印刷ジョブの割り込み指示を認識する認識手段と、前記認識手段によって割り込み指示が認識された場合に、当該印刷ジョブ以外の先行印刷ジョブの印刷処理を中止し、前記割り込み指示のある印刷ジョブの印刷処理を実行する割り込み手段と、前記割り込み手段による印刷処理後に、前記先行印刷ジョブの印刷を再度行う復帰手段と、終了ページ命令を受け取ったことに連動し、印刷処理すべきデータとして既に解釈されているデータのサイズである既読データサイズを記憶するページデータサイズ記憶手段とを備え、前記復帰手段は、前記先行印刷ジョブにおける印刷完了したページの既読データサイズを前記ページデータサイズ記憶手段から取り出し、該既読データサイズをスキップして、残りの印刷ジョブを解釈することを特徴とする。
本発明の印刷方法は、通信可能な外部の情報処理装置からの印刷ジョブを解釈して印刷を行う印刷方法において、前記情報処理装置からの印刷ジョブの割り込み指示を認識する認識工程と、前記認識工程によって割り込み指示が認識された場合に、当該印刷ジョブ以外の先行印刷ジョブの印刷処理を中止し、前記割り込み指示のある印刷ジョブの印刷処理を実行する割り込み工程と、前記割り込み工程による印刷処理後に、前記先行印刷ジョブの既に解釈されたデータを、終了ページ命令を受け取ったページの解釈をデータサイズに基づきスキップし、残りのデータのみを解釈して、前記先行印刷ジョブの印刷を再度行う復帰工程とを実行することを特徴とする。
本発明の印刷方法は、通信可能な外部の情報処理装置からの印刷ジョブを解釈して印刷を行う印刷方法において、前記情報処理装置からの印刷ジョブの割り込み指示を認識する認識工程と、前記認識工程によって割り込み指示が認識された場合に、当該印刷ジョブ以外の先行印刷ジョブの印刷処理を中止し、前記割り込み指示のある印刷ジョブの印刷処理を実行する割り込み工程と、終了ページ命令を受け取ったことに連動し、印刷処理すべきデータとして既に解釈されているデータのサイズである既読データサイズを記憶手段に記憶するページデータサイズ記憶工程と、前記先行印刷ジョブにおける印刷完了したページの既読データサイズを前記記憶手段から取り出し、該既読データサイズをスキップして残りの印刷ジョブを解釈し、前記先行印刷ジョブの印刷を再度行う復帰工程とを実行することを特徴とする。
本発明によれば、割り込み印刷後の復帰処理を高速に行うことが可能になり、割り込み印刷機能の繁用性を高めることができる。
本発明の印刷装置及び印刷方法の実施の形態について、図面を参照しながら説明する。本実施形態の印刷装置は、例えばレーザビームプリンタ等に適用される。
[第1実施形態]
<システム構成>
図1は、本発明の第1実施形態に係る印刷装置の機能構成を示すブロック図であり、従来の図17と共通する要素には同一の符合を付し、その説明を省略する。なお、本実施形態の印刷装置400は、図16に示したホストコンピュータ100にインターフェイス110を介して接続されるものである。
<システム構成>
図1は、本発明の第1実施形態に係る印刷装置の機能構成を示すブロック図であり、従来の図17と共通する要素には同一の符合を付し、その説明を省略する。なお、本実施形態の印刷装置400は、図16に示したホストコンピュータ100にインターフェイス110を介して接続されるものである。
本実施形態の印刷装置400の構成は、図17に示した従来の印刷装置200の構成において、ジョブスプーラ204からの読み込み位置をページ単位に管理するページデータベース部500を追加したものである。このページデータベース部500は、本実施形態の特徴的な処理である割り込み復帰処理時に用いられる(詳細は後述する)。
ホストコンピュータ100の論理チャネル制御部106から印刷装置400の論理チャネル制御部202へのデータ通信は、ネットワークの場合は例えばTCP/IP、ローカルの場合は例えばIEEE1284/IEEE1284.4といった規定の通信プロトコルにより、トランスポート層レベルの多重化が行われてるものとし、詳細の説明については省略する。
ホストコンピュータ100のジョブパケット生成部107から送信されるジョブパケットは、ジョブプリプロセッサ部203によって受信され、この経路をジョブチャネルと呼び、またホストコンピュータ100のユーティリティ部105から送受信される管理パケットは、情報管理部210によって送受信され、この経路を管理チャネルと呼ぶ。双方のチャネルは双方向通信が可能であることを規定しているが、ジョブチャネルに関してはホストコンピュータ100から印刷装置400への片方向だけでも良い。ジョブチャネルと管理チャネルはOSI7階層におけるトランスポート層レベルで多重化されており、片方のフロー処理が他方に影響することはない。
<ジョブパケット及び管理パケットの構造>
次に、ジョブパケット及び管理パケットの構造について説明する。
次に、ジョブパケット及び管理パケットの構造について説明する。
ジョブパケット及び管理パケットは、アプリケーション層のプロトコルであり、ヘッダ部とパラメータ部から構成されるパケット構造になっている。1つの印刷ジョブは複数のジョブパケットから構成され、印刷ジョブを構成する一連のジョブパケットの集まりをジョブスクリプトと呼ぶ。
図2は、ジョブパケットの構造を示す模式図であり、縦軸はバイトを示し、横軸は各バイトのビットを示している。
同図中において0〜1バイト目のオペレーションコードは、パケットの機能を示す長さ2バイトのIDである。ジョブパケットにおいては以下の値を取ることができる。
0x0201: ジョブ開始オペレーション
0x0202: ジョブ属性設定オペレーション
0x0204: PDLデータ送信オペレーション
0x0205: ジョブ終了オペレーション
2〜3バイト目のブロック番号は、ジョブパケットを送信した側が返答を要求する場合に、受信側からの返答が送信側のどの返答要求に対するものであるか、その対応を取るために使用する番号である。例えばそれぞれブロック番号=1,2,3というジョブパケットを立て続けに送信した時に、ブロック番号=2というエラーパケットが帰ってきた場合、送信側は、2番目に送ったジョブパケットにエラーが発生したことを特定することが可能である。
0x0201: ジョブ開始オペレーション
0x0202: ジョブ属性設定オペレーション
0x0204: PDLデータ送信オペレーション
0x0205: ジョブ終了オペレーション
2〜3バイト目のブロック番号は、ジョブパケットを送信した側が返答を要求する場合に、受信側からの返答が送信側のどの返答要求に対するものであるか、その対応を取るために使用する番号である。例えばそれぞれブロック番号=1,2,3というジョブパケットを立て続けに送信した時に、ブロック番号=2というエラーパケットが帰ってきた場合、送信側は、2番目に送ったジョブパケットにエラーが発生したことを特定することが可能である。
4〜5バイト目のパラメータ長は、データ部のバイト長さを示す領域であり、0〜64Kバイトまでを示すことが可能である。6〜7バイト目はジョブパケットの各種フラグを示す領域でそれぞれ以下の値を示す。
すなわち、エラーフラグについては、この値が1の場合、印刷装置400で何らかのエラーが発生したことを示す。このフラグは印刷装置400からホストコンピュータ100へ送られる返信パケットに付加される。通知フラグについては、この値が1の時は、ホストコンピュータ100からの要求パケットに対する返答ではなく、印刷装置400が何らかの通知事項があることをホストコンピュータ100に通知することを示している。
また、継続フラグについては、この値が1の場合、パケットのデータ部に全てのデータが入らなかったため、次のジョブパケットで残りのデータが送られることを示す。次のジョブパケットは前のパケットと同じオペレーション・コード、ブロック番号を設定しなくてはならない。返答要求については、ホストコンピュータ100から印刷装置400に対して返答パケットが必要な場合に“1”をセットする。印刷装置400でエラーが発生した場合には返答要求の“0”または“1”に関わらず、常にエラーフラグを“1”にした返答パケットを送出する。
8〜9バイト目のユーザID及び10〜11バイト目のパスワードは、要求パケットで行える操作にセキュリティ的制限を設ける際に認証に使われる領域である。本実施形態には影響しない。12バイト目以降はオペレーションコードに対応した追加データが格納される。
ジョブ開始オペレーションの場合、追加データとしてジョブの実行モードが記述される。指定可能な実行モードを以下に挙げる。
0x01: ジョブの通常実行。当該ジョブは通常ジョブとして印刷装置400のキュ ーの最後に追加され、スケジューリングが回ってきたら印刷処理を行う。
0x04: ジョブの割り込み実行。当該ジョブは割り込みジョブとして扱い、全て のジョブの処理を停止して当該ジョブの印刷を優先して実行する。
<グラフィックユーザインターフェイス>
図3は、印刷処理実行時にプリンタドライバ部102がユーザに所望の印刷方法を指示するために提供されるグラフィックユーザインターフェイスを示す図である。
図3は、印刷処理実行時にプリンタドライバ部102がユーザに所望の印刷方法を指示するために提供されるグラフィックユーザインターフェイスを示す図である。
同図において、「ジョブの処理方法」と記述される欄に「印刷(R)」「割り込み印刷(I)」「高速割り込み印刷(F)」「保存+印刷(E)」「保存(B)」という項目と、各項目のチェックボタンが存在する。チェックボタンは排他的に選択されるため、いずれかの項目をチェックすると、他のチェックボタンのチェックは解除される。このチェックボタンは上記実行モードと対応しており、「印刷(R)」がチェックされると実行モードは0x01、「割り込み印刷(I)」あるいは「高速割り込み印刷(F)」がチェックされると実行モードは0x04が選択される。なお「保存+印刷(E)」「保存(B)」に関しては本発明とは直接関係しないので説明を割愛する。
ジョブ属性設定オペレーションの場合、設定したいジョブ属性IDとジョブ属性値を設定する。ジョブ属性IDとは、ジョブに関する属性あるいは環境に対応した識別子を示すもので、ISO−10175(DPA)で規定されるジョブの属性に相当するIDが予め割り振られている。以下にジョブ属性の代表的なものを挙げる。
ジョブ属性ID
0x0101: ジョブ名称
0x0103: ジョブオーナ名
0x016a: ジョブサイズ
0x0200: ジョブのPDL指定
0x0002: ジョブ終了の通知アドレス
この他、印刷装置400の機能に応じて、印刷部数、モノクロ・カラーなどのジョブ属性とそれに対応するIDを割り振ることができる。
ジョブ属性ID
0x0101: ジョブ名称
0x0103: ジョブオーナ名
0x016a: ジョブサイズ
0x0200: ジョブのPDL指定
0x0002: ジョブ終了の通知アドレス
この他、印刷装置400の機能に応じて、印刷部数、モノクロ・カラーなどのジョブ属性とそれに対応するIDを割り振ることができる。
PDLデータ送信オペレーションの場合は、追加データ部にはPDLデータが入る。1つのジョブパケットに格納できるデータのサイズは、前記パラメータ長に格納できる最大サイズまでであるので、64Kバイトまで格納可能であり、それ以上のデータは複数のPDLデータ送信オペレーションに分割して送信する。この場合は前記継続フラグに“1”を立てる。
ジョブ終了オペレーションの場合は追加データは存在しない。
<PDLのページ非独立、独立の概念>
PDL(ページ記述言語)に関するページ独立、ページ非独立という概念について説明する。
PDL(ページ記述言語)に関するページ独立、ページ非独立という概念について説明する。
図4は、ページ非独立(ページ依存)型PDLのデータ構造を示す模式図である。
同図において、当該PDLデータは3ページから構成され、各々のページは10−1,10−2,10−3の3ページから構成されている。
1ページ目(10−1)が始まるにあたって、用紙サイズをA4に指定する命令と、用紙タイプを普通紙に指定する命令とが送られている。これらの命令は1ページ目(10−1)にしか設定されず、2ページ目(10−2)以降には設定されない。2ページ目(10−2)以降のページは1ページ目(10−1)に設定された指定を受け継ぐため、2ページ目(10−2)及び3ページ目(10−3)もA4,普通紙という組み合わせで印刷が行われる。例えば、1ページ目(10−1)だけを飛ばして2ページ目(10−2)以降から開始しようとしても、1ページ目(10−1)を解釈しないことには、用紙サイズ、用紙タイプの指定を受け取ることができない。そのため、1ページ目(10−1)の情報が他のページに影響していており、ページ非独立の状態にあるといえる。
このようなPDLデータにおいては、割り込み復帰を行う場合にも1ページ目から解釈をし直さないと、割り込み復帰ページ本来の情報を得ることができない。よって1ページ目から再度解釈しなくてはならず、割り込み復帰処理のパフォーマンスを低下させる要因となっていた。なお、このような形式のPDLデータをページ非独立型(あるいはページ依存型)と呼ぶ。
図5は、ページ独立型PDLのデータの構造を示す模式図である。
同図において、当該PDLデータは3ページから構成され、各々のページは11−1,11−2,11−3の3ページから構成されている。
1ページ目(11−1)が始まるにあたって、用紙サイズをA4に指定する命令と、用紙タイプを普通紙に指定する命令が送られている。これは、2ページ目(11−2)及び3ページ目(11−3)も同様で、全てのページにおいて用紙サイズ、用紙タイプの指定がページ単位に行われている。
このようなPDLデータにおいては、各ページが各々独立関係にあり、例えば1ページ目(11−1)を解釈せずに、いきなり2ページ目(11−2)から解釈しても結果が変わることがない。このPDLデータをページ独立型と呼ぶ。よって、割り込み復帰処理に際しても、いきなり復帰したいページから解釈すればいいので復帰処理のパフォーマンス低下を抑えることが可能となる。なお、ページ独立型かページ依存型かはPDLデータを生成するドライバの出力タイプによって決まる。
<ジョブパケット生成部107の動作>
次に、ホストコンピュータ100内にあるジョブパケット生成部107の動作について説明する。
次に、ホストコンピュータ100内にあるジョブパケット生成部107の動作について説明する。
図6及び図7は、ジョブパケット生成部107の動作を示すフローチャートである。
印刷指定が選択された時にプリンタドライバ部102が起動し、プリンタドライバ部102がPDLデータを送信バッファ103に格納完了した後に、ジョブパケット生成部107は処理を開始する。
まずステップS401では、当該ジョブについて割り込み指定がなされたか否かを判定する。割り込み指定は、プリンタドライバ部102のユーザインターフェイスが提供するプロパティによって行われる。割り込み指定が有った場合には、ステップS403において動作モードが0x04、そうでない場合にはステップS402において動作モードが0x01に設定される。さらに、割り込み指定があった場合はステップS410において高速割り込み指定か否かを判定し、YesならステップS411においてPDLデータをページ独立型に変更する処理を行う。
そして、ステップS402またはステップS411の処理後、あるいはステップS410で高速割り込み指定ではないと判定された場合は、ステップS404へ進む。ステップS404においては、図2のオペレーションコードを格納する領域にジョブ開始オペレーションコード(0x0201)を指定したジョブパケットを、論理チャネル制御部106へ発行する。この時、ジョブパケットの追加データ領域に動作モードが設定され、通常ジョブであるか、あるいは割り込みジョブであるかの指定がなされる。
以降、ジョブ終了オペレーションを発行するまで、全てのオペレーションは当該ジョブの情報設定のためにだけ用いられる。
ステップS405においては、ジョブの名称の設定が行われる。図2のオペレーションコードを格納する領域にジョブ属性設定オペレーションコード(0x0202)を指定し、ジョブ名称を示すジョブ属性ID(=0x0101)及びジョブ属性値となる名称をパラメータ部に指定したジョブパケットを論理チャネル制御部106に発行する。
続くステップS406においては、ジョブの所有者の設定が行われる。図2のオペレーションコードを格納する領域にジョブ属性設定オペレーションコード(0x0202)を指定し、ジョブ所有者を示すジョブ属性ID(=0x0103)及びジョブ属性値となる所有者名をパラメータ部に指定したジョブパケットを論理チャネル制御部106に発行する。
続くステップS407においては、ジョブのサイズの設定が行われる。図2のオペレーションコードを格納する領域にジョブ属性設定オペレーションコード(0x0202)を指定し、ジョブサイズを示すジョブ属性ID(=0x016a)及びジョブ属性値となるジョブのデータサイズをパラメータ部に指定したジョブパケットを論理チャネル制御部106に発行する。
次のステップS408において、ジョブ完了の通知アドレスの設定が行われる。図2のオペレーションコードを格納する領域にジョブ属性設定オペレーションコード(0x0202)を指定し、ジョブサイズを示すジョブ属性ID(=0x0002)及びジョブ属性値となるジョブ完了の通知アドレスをパラメータ部に指定したジョブパケットを論理チャネル制御部106に発行する。
通知アドレスは通常、ジョブを送信したホストコンピュータ100の送信アドレスを示しており、1284.4を用いたローカルインターフェイスでソケットIDが0x10の場合、“1284.4:0x20”という文字列で指定し、TCP/IPのIPアドレス172.16.1.1のポート番号が0xb9b9の場合には、“TCP/IP:172.16.1.1:0xb9b9”という文字列を属性値として指定することができる。
続くステップS409においては、PDLのタイプの設定が行われる。図2のオペレーションコードを格納する領域にジョブ属性設定オペレーションコード(0x0202)を指定し、PDLタイプを示すジョブ属性ID(=0x0200)及びジョブ属性値となるジョブのPDLタイプをパラメータ部に指定したジョブパケットを論理チャネル制御部106に発行する。このとき設定されるPDLタイプは、ステップS410において高速割り込み指定がされた場合にはページ独立型のPDL、そうでない場合には通常のPDLタイプが指定される。
次のステップS412において、送信すべきPDLデータのサイズを変数sizeに代入する。さらにステップS501において、変数sizeの大きさをチェックし、64Kバイトより大きいかどうかを比較する。ジョブパケットに指定できるパラメータのサイズは、パケットヘッダのパラメータ長のサイズが16ビットで表現されているため、最大64Kバイトの制限があるので、それ以上のデータは複数のジョブパケットに分割して発行されることになる。
もしデータのサイズが64Kバイトよりも大きい時は、ステップS505において図2のパケットヘッダの継続フラグを1に設定する。さらにステップS507において、送信バッファ103から64Kバイト分のPDLデータが取り出され、図2のオペレーションコードを格納する領域にPDLデータ送信オペレーション(0x0204)を指定し、前記取り出されたPDLデータをパラメータ部に指定したジョブパケットを論理チャネル制御部106に発行する。またステップS508において、送信した分の64Kバイトを変数sizeから減じて、ステップS501に戻る。
ステップS501において、データのサイズが64Kバイト以下の場合は、後1回のPDLデータ送信オペレーションで全データの送信が完了する。この場合、ステップS502において、図2のパケットヘッダの継続フラグを“0”にして、PDLデータ送信が最後であることを設定し、さらにステップS503において送信バッファ103から全てのPDLデータが取り出され、図2のオペレーションコードを格納する領域にPDLデータ送信オペレーション(0x0204)を指定し、前記取り出されたPDLデータをパラメータ部に指定したジョブパケットを論理チャネル制御部106に発行する。
その後、ステップS504において、図2のオペレーションコードを格納する領域にジョブ終了オペレーションコード(0x0205)を指定したジョブパケットを、論理チャネル制御部106に発行して終了する。
<ジョブプリプロセッサ部203の動作>
次に、印刷装置400のジョブプリプロセッサ部203の動作について説明する。
次に、印刷装置400のジョブプリプロセッサ部203の動作について説明する。
図8は、ジョブプリプロセッサ部203の動作を示すフローチャートである。
同図において、ジョブプリプロセッサ部203は印刷装置400の起動時に開始され、以後印刷装置400の電源遮断まで処理を継続する。
まずステップS601においてジョブパケットの受信を行う。受信するとステップS602においてジョブ開始オペレーションであるか否かの判定が行われる。ここでジョブ開始オペレーション以外のオペレーションが到着した場合には不正動作となり、ステップS603でジョブパケットの破棄が行われ、ステップS601に戻る。
ステップS602でジョブ開始オペレーションと判定されると、ステップS604で当該ジョブのジョブIDの獲得が行われる。ジョブIDは、2バイトの番号として割り振られ、機器データベース部205におけるジョブ属性情報の読み書き処理のキーとして利用される。
次にステップS605において、ジョブ読み出しテーブル213に当該ジョブのジョブIDが追加される(図18(b)参照)。さらにステップS606において、ジョブパケットの追加データを検索し、動作モードが0x04であるか否かの判定が行われる。0x04である場合は、前記の通り割り込み印刷指定を示しており、ステップS607において割り込み処理部212に対して割り込み印刷の指示を出し、ステップS608へ進む。また動作モードが0x04でない場合も、ステップS608へ進む。
ステップS608では、次のジョブパケットの受け付けを行い、続くステップS609においては、受信したジョブパケットが属性設定オペレーションであるか否かを判定し、そうである場合は、ステップS610へ進んで機器データベース部205において属性データの設定を行う。この時、キーとなるのはステップS604で獲得したジョブIDとジョブパケットの追加データに記述されている属性ID及び属性データである。属性設定が完了すると、次のジョブパケットを受信するためステップS608に戻る。
受信したジョブパケットが属性設定オペレーションではないと前記ステップS609で判定された場合は、ステップS611へ進んで、ジョブパケットがPDLデータ送信オペレーションであるか否かの判定を行い、そうである場合にはステップS612においてジョブスプーラ204にPDLデータの追加を行う。この時、ジョブIDをキーとして渡し、後で取り出すときにもジョブIDをキーとして取り出せるようにしておく。ジョブスプーラ204への追加が完了すると、次のジョブパケットを受信するためステップS608に戻る。
ジョブパケットがPDLデータ送信オペレーションではないと前記ステップS611で判定された場合は、ステップS613へ進んで、ジョブパケットがジョブ終了オペレーションであるかどうかの判定を行い、そうである場合には、一連のループを抜けてステップS601の初期状態に戻る。
上記いずれのオペレーションに該当しない場合には、不正なジョブパケットであるので、ステップS614においてジョブパケットの破棄を行う。
以上の動作によって、ジョブプリプロセッサ部203は、機器データベース部205とジョブスプーラ204にジョブパケットの振り分けを行う。
<PDLトランスレータ部206の動作>
PDLトランスレータ部206は、印刷装置400の起動と同時に動作を開始し、以降電源遮断まで継続して処理を行う。
PDLトランスレータ部206は、印刷装置400の起動と同時に動作を開始し、以降電源遮断まで継続して処理を行う。
図9は、PDLトランスレータ部206の動作を示すフローチャートであり、以下、同図を用いて、PDLトランスレータ部206における、割り込み印刷ジョブの処理(または割り込まれる前の先行印刷ジョブの処理)と、割り込まれた先行印刷ジョブの復帰処理について説明する。
I.割り込み印刷ジョブの処理(または割り込まれる前の先行印刷ジョブの処理)
割り込み印刷ジョブの処理(または割り込まれる前の先行印刷ジョブの処理)は、印刷ジョブがジョブ読み出しテーブル213の先頭に位置するので、通常の印刷ジョブの処理と同様に印刷される。
割り込み印刷ジョブの処理(または割り込まれる前の先行印刷ジョブの処理)は、印刷ジョブがジョブ読み出しテーブル213の先頭に位置するので、通常の印刷ジョブの処理と同様に印刷される。
PDLトランスレータ部206は、まずステップS701において、ジョブ読み出しテーブル213から最初に読み出すべきジョブIDを取得する。次のステップS702においては、機器データベース部205に格納されているスキップページの情報を取得する。このスキップページの情報は、割り込み復帰処理時に読み飛ばすべき既に排紙完了したページを示し、当該印刷ジョブの属性情報として機器データベース部205に格納されている。
当該印刷ジョブの処理においては、このとき前記スキップページは存在しないため、スキップページ=0となり(ステップS703)、ステップS704へ進んでページ番号(PageNum)に1を代入し、ステップS705へ進む。
ステップS705では、PDLトランスレータ部206は、ジョブスプーラ204より受信したデータからコマンドを解釈して描画データを生成し、描画バッファ207に書き込む。そしてステップS706において、ページ終了命令を受け取ったかどうかを判断し、ページ終了していない場合にはステップS705に戻り、ページ終了した場合には、ステップS707においてPageNumを更新する。
次のステップS708においては、ジョブスプーラ204から現在のPageNumの読み込み完了サイズを受け取り、ページデータベース部500に登録する。すなわち、当該印刷ジョブに関して、PDLトランスレータ部206がトランスレート処理を行うと、ページ単位の読み込み完了位置情報がページデータベース部500に登録されるのである。
この点について詳しく説明する。印刷ジョブは一連のデータであり、複数ページから構成されている。ページのデータは可変長であるため、ページ番号(PageNum)だけでは割り込み復帰時にどのページから読み出してよいのか判断することができない。そこで、この割り込まれる前の処理の過程において、割り込み復帰時に最初に読み出すべきデータ位置(復帰ページの始まり位置)を、割り込まれるまでのページの読み込み完了サイズとしてページデータベース部500に記憶しておくのである。例えば、1ページ目(PageNum=1)のデータが100Kバイトのときには、読み込み完了サイズは100Kバイトとなり、2ページ目(PageNum=2)のデータが50Kバイトのときには、読み込み完了サイズは150Kバイトとなる。このように、前記読み込み完了サイズは、印刷ジョブを解析しながら導き出せるものであり、事前に分かる情報ではない。
従って、ステップS705において印刷ジョブをページ毎に解析しながら、1ページ目(PageNum=1)については100Kバイト、2ページ目(PageNum=2)については150Kバイト、…、というようにページ単位に読み込み完了サイズを読み込み完了位置情報としてページデータベース部500に記憶する。この読み込み完了サイズは、後の割り込み復帰時にデータ読み飛ばしを行う際の読み飛ばしバイト数として使用される。
その後のステップS709においては、当該印刷ジョブのトランスレートが完了したか否かを判断し、完了であるならステップS701に戻って、新しいジョブIDの取得を試みる。そうでない場合はステップS705において次のコマンドを解釈する。
II.割り込まれた先行印刷ジョブの復帰処理
先行印刷ジョブの処理中に割り込み印刷ジョブが投入されると、割り込まれた先行印刷ジョブのジョブIDは、図13(b)を用いて前述したように、ジョブ読み出しテーブル213上において割り込み印刷ジョブの直後に位置している。
先行印刷ジョブの処理中に割り込み印刷ジョブが投入されると、割り込まれた先行印刷ジョブのジョブIDは、図13(b)を用いて前述したように、ジョブ読み出しテーブル213上において割り込み印刷ジョブの直後に位置している。
割り込み印刷ジョブのトランスレートが完了すると、PDLトランスレータ部206は、まずステップS701において、ジョブ読み出しテーブル213から割り込まれた先行印刷ジョブのジョブIDを取得し、割り込まれた先行印刷ジョブの復帰処理を開始する。
そして続くステップS702において、機器データベース部205に格納されているスキップページの情報を取得する。このときは、スキップページの情報が存在しているので、ステップS703の判断が否定(No)となり、ステップS710へ進む。
ステップS710では、当該印刷ジョブに用いるPDLがページ独立型であるか否かを判断し、ページ独立型である場合は、ステップS711においてスキップページの情報に関する読み飛ばしバイト数(読み込み完了サイズ)をページデータベース部500から取得する。例えば、前述した例では、スキップページが2であれば、PageNum=2→150Kバイト、となり、読み飛ばしバイト数は150Kバイトである。
そしてステップS712において、ジョブスプーラ204に読み飛ばしバイト数分のデータの読み飛ばしを指示する。ジョブスプーラ204では、この指示を受けて、読み飛ばしバイト数分のデータの読み飛ばしを実行する。
次のステップS713では、ページ番号(PageNum)にスキップページを設定して、前記ステップS705以降へ進む。また、PDLがページ独立型でないときは、ステップS704においてPageNumに1を代入して、ステップS705以降へ進む。尚、印刷ジョブの属性で例えばジョブ名など、ページ単位ではくジョブ単位で規定される属性も想定されるが、そのような属性については、別途ジョブ単位の属性を記憶部に保持しておき、該保持しておいたジョブ属性を割り込み復帰時に読み込むことでジョブ単位の属性を認識し、割り込みさらた印刷ジョブの復帰処理を行なうことができる。
プリンタエンジン部209によって最後の1ページの排紙が完了すると、情報管理部210はジョブの削除処理を実行する。また、このとき、ページデータベース部500にも作用し、関連するページの情報が削除される。
<ジョブ完了処理の動作>
図10は、情報管理部210が実行するジョブ完了処理の動作を示すフローチャートである。
図10は、情報管理部210が実行するジョブ完了処理の動作を示すフローチャートである。
まずステップS801において、機器データベース部205の当該ジョブの属性情報を検索し、ジョブ終了の通知アドレスが設定されているかどうかを調べる。通常、ジョブパケット生成部107が前記図7のステップS409において自分のアドレスを属性として設定するため、Yesとなり(ジョブ終了の通知アドレスが設定されている)、続くステップS802において、ジョブの終了通知イベントを、属性として登録されたアドレスに送信を行う。終了通知イベントもジョブパケットと同様に図2で説明したようなパケット構造をしているが、異なる点はオペレーションコードが常に0x000aである点と、通知フラグ・ビットと返答送信・ビットが1になることである。パラメータとして、ジョブ完了したことを示すイベントIDである0x0008と、複数の排紙ビンが存在する場合に排紙を行った排紙ビンのビン番号とが渡される。
ホストコンピュータ100のユーティリティ部105は、上記ジョブの終了通知イベントを受信し、ポップアップダイアログとして、グラフィックユーザインターフェイスを用いてユーザに印刷ジョブの印刷処理が完了したことを通知する。その通知画面を図11に示す。
<ジョブ完了処理の動作>
図10は、情報管理部210が実行するジョブ完了処理の動作を示すフローチャートである。
図10は、情報管理部210が実行するジョブ完了処理の動作を示すフローチャートである。
まずステップS801において、機器データベース部205の当該ジョブの属性情報を検索し、ジョブ終了の通知アドレスが設定されているかどうかを調べる。通常、ジョブパケット生成部107が前記図7のステップS409において自分のアドレスを属性として設定するため、Yesとなり(ジョブ終了の通知アドレスが設定されている)、続くステップS802において、ジョブの終了通知イベントを、属性として登録されたアドレスに送信を行う。終了通知イベントもジョブパケットと同様に図2で説明したようなパケット構造をしているが、異なる点はオペレーションコードが常に0x000aである点と、通知フラグ・ビットと返答送信・ビットが1になることである。パラメータとして、ジョブ完了したことを示すイベントIDである0x0008と、複数の排紙ビンが存在する場合に排紙を行った排紙ビンのビン番号とが渡される。
ホストコンピュータ100のユーティリティ部105は、上記ジョブの終了通知イベントを受信し、ポップアップダイアログとして、グラフィックユーザインターフェイスを用いてユーザに印刷ジョブの印刷処理が完了したことを通知する。その通知画面を図11に示す。
<割り込み処理>
次に、割り込み処理について説明する。
次に、割り込み処理について説明する。
ジョブプリプロセッサ部203が印刷ジョブの割り込み指定を認識すると、図8のステップS607において、割り込み処理部212に対して割り込み指示が行われる。この時、割り込みを行うジョブIDも通知される。
図12は、割り込み処理部212の動作を示すフローチャートである。
同図において、ステップS909では、割り込み指示がなされるのを監視し、割り込み指示がなされたと認識されると、まずステップS901において、PDLトランスレータ部206に対して、現在処理している印刷ジョブの処理中止を指示する。次にステップS902において描画バッファ407に中間データがある場合には削除を行い、さらにステップS903において、描画部208に対して印刷ジョブの処理の一環としての描画処理の中止を指示する。
続いてステップS904において、印刷ジョブの処理の一環としてのプリンタエンジン部209の処理中止を指示する。但し、現在まさに印刷中のジョブや排紙中のジョブに関しては、処理を中止するとジャムが発生する可能性があるので、これらは中止の対象から除外される。続くステップS911では、割り込まれたジョブの既に排紙完了したページを記憶しておく。
次のステップS905においては、割り込みジョブのジョブIDをジョブ読み出しテーブル213の先頭に追加する。これによって、次に処置される印刷ジョブが割り込みジョブとなる。さらにステップS906においてPDLトランスレータ部206の処理再開を指示する。このとき外部から受信したページ記述言語の解釈位置は、終了ページ命令を受け取った各ページの解釈前のデータサイズを合わせた合計データサイズに基づくものとなる。そしてステップS907において描画部208の処理を再開し、最後にステップS908においてプリンタエンジン部209の処理を再開する。
図13(a),(b)は、割り込み処理時におけるジョブ読み出しテーブル213の状態を表す図である。同図(a)において、通常ジョブがジョブ1〜4まで投入された状態で、ジョブ5が割り込みジョブとして投入された場合を想定しており、同図(b)では、割り込みジョブであるジョブ5がジョブ読み出しテーブル213の先頭に追加されている。PDLトランスレータ部206は、ジョブ読み出しテーブル213に記述された順番に印刷ジョブのトランスレートを行うことによって、ジョブ5、1〜4の順番に印刷処理が行われ、ジョブ5が割り込まれて処理される。
また、ジョブ1の排紙途中にジョブ5が割り込まれた場合、排紙完了したページ数を記憶しておき(図12のステップS911)、再度ジョブ1が割り込み復帰を行うときに、PDLトランスレータ部206により、PDLがページ独立型であるか、ページ依存型であるかによってトランスレート処理を変更する。
すなわち、割り込み復帰されるジョブが、図9のステップS710においてPDLのページ独立型であると認識された場合には、ステップS711において、スキップページに関連する読み飛ばしバイト数をページデータベース部500から取得する。そして、ステップS712においてジョブスプーラ204に読み飛ばしバイト数分のスキップを指示することにより、既に印刷済みのページの解釈を抑止しつつ割り込み復帰処理を正常に実施することが可能である。
もしPDLがページ独立型ではなくページ依存型(ページ独立型ではない)であった場合は、PDLトランスレータ部206は割り込まれた当該ジョブを1ページ目から解釈するが、描画部208において、機器データベース部205に格納されたスキップページの情報に従って、排紙完了したページの描画処理のスキップを行う。これによって、PDLがページ独立型ではない場合にも、割り込まれた印刷ジョブの復帰を行う際に、割り込まれる前の印刷ページと割り込まれた後の印刷ページの重複を避けることができる。
以上のように、本実施形態では、PDLの種別を認識し、ページ依存のないページ独立型のPDLであった場合は、最初のページからトランスレートするのではなく、割り込み以前まで処理していたページ番号及びデータ読み込み位置を記憶し、そのデータ読み込み位置に基づく位置のページから直ちにトランスレートするようにしたので、割り込み印刷後の復帰処理を高速に行うことが可能になり、割り込み印刷機能の繁用性を高めることができる。
[第2実施形態]
上記第1実施形態では、ジョブに関する各ページ毎の読み飛ばしバイト数は、図9のステップS708において、PDLトランスレータ部206によって算出され、ページデータベース部500に記憶していた。しかし、本第2実施形態のように、ページ独立型であるPDLデータのコマンド自体にスキップ情報を付加させても良い。
上記第1実施形態では、ジョブに関する各ページ毎の読み飛ばしバイト数は、図9のステップS708において、PDLトランスレータ部206によって算出され、ページデータベース部500に記憶していた。しかし、本第2実施形態のように、ページ独立型であるPDLデータのコマンド自体にスキップ情報を付加させても良い。
図14は、本発明の第2実施形態に係るPDLのデータ構造を示す模式図であり、ページ独立型PDLのデータ構造を改良したものである。
同図に示すように、各ページには、コマンド指定によりページ毎の読み飛ばしバイトサイズ情報が付加されている。このような情報はプリンタドライバ部102により生成可能である。かかる読み飛ばしバイトサイズ情報は、PDLトランスレータ部206により解釈され、ページデータベース部500に記憶される。この場合、図9のステップS708の処理は、現在の読み込み位置からカウントされるのではなく、PDLデータに含まれるコマンドにより指定される点が異なるのみで、他の要素、効果は第1実施形態と何ら変わることがない。
[第3実施形態]
ページ独立型のPDLの場合、全てのページに関してページ独立を満たすための情報が格納されるため、ページ依存型のPDLに比較して冗長になる傾向にある。例えば第1実施形態において、図4に示したページ依存型PDLと図5に示したページ独立型PDLを比較すると、後者の方がそれぞれのページに用紙サイズや用紙タイプの情報を追加しなくてはならず、データサイズが増えてしまう。ジョブの出力時間がデータサイズに依存する場合、このような冗長な情報になるのを避ける必要がある。そのための手法について述べる。
ページ独立型のPDLの場合、全てのページに関してページ独立を満たすための情報が格納されるため、ページ依存型のPDLに比較して冗長になる傾向にある。例えば第1実施形態において、図4に示したページ依存型PDLと図5に示したページ独立型PDLを比較すると、後者の方がそれぞれのページに用紙サイズや用紙タイプの情報を追加しなくてはならず、データサイズが増えてしまう。ジョブの出力時間がデータサイズに依存する場合、このような冗長な情報になるのを避ける必要がある。そのための手法について述べる。
図15は、本発明の第3実施形態に係るPDLのデータ構造を示す模式図であり、初期ページの概念を導入したPDLのデータ構造である。
同図において、全てのページが持つ情報の初期値が初期ページに記録され、他のページは初期ページに対する差分として設定される。例えば、初期ページ(24−0)において、用紙サイズはA4、用紙タイプは普通紙と設定されると、全てのページ(24−1〜24−3)について通常、用紙サイズはA4、用紙タイプは普通紙として動作する。
2ページ目(24−2)の用紙サイズがA3と指定されている。このような場合は、初期値に対する差分設定と見なし、当該ページ(24−2)をA3で出力することが可能である。割り込み復帰においては、例えば2ページ目(24−2)から復帰したい場合には、まず初期ページ(24−0)を解釈し、その後2ページ目(24−2)を解釈することによって、1ページ目(24−1)を解釈しなくても2ページ目(24−2)から割り込み復帰を行うことが可能となり、高速な割り込み復帰処理と、PDLデータの冗長性を抑えることが可能となる。
100 ホストコンピュータ
101 アプリケーション部
102 プリンタドライバ部
103 送信バッファ
104 I/Fドライバ部
105 ユーティリティ部
106 論理チャネル制御部
107 ジョブパケット生成部
110 インターフェイス手段
200,400 印刷装置
201 I/Fドライバ部
202 論理チャネル制御部
203 ジョブプリプロセッサ部
204 ジョブスプーラ
205 機器データベース部
206 PDLトランスレータ部
207 描画バッファ
208 描画部
209 プリンタエンジン部
500 ページデータベース部
101 アプリケーション部
102 プリンタドライバ部
103 送信バッファ
104 I/Fドライバ部
105 ユーティリティ部
106 論理チャネル制御部
107 ジョブパケット生成部
110 インターフェイス手段
200,400 印刷装置
201 I/Fドライバ部
202 論理チャネル制御部
203 ジョブプリプロセッサ部
204 ジョブスプーラ
205 機器データベース部
206 PDLトランスレータ部
207 描画バッファ
208 描画部
209 プリンタエンジン部
500 ページデータベース部
Claims (10)
- 通信可能な外部の情報処理装置からの印刷ジョブを解釈して該解釈後のデータに基づく印刷を行う印刷装置において、
前記情報処理装置からの印刷ジョブの割り込み指示を認識する認識手段と、
前記認識手段によって割り込み指示が認識された場合に、当該印刷ジョブ以外の先行印刷ジョブの印刷処理を中止し、前記割り込み指示のある印刷ジョブの印刷処理を実行する割り込み手段と、
前記割り込み手段による印刷処理後に、前記先行印刷ジョブの印刷を再度行う復帰手段とを備え、
前記復帰手段は、
前記先行印刷ジョブの既に解釈されたデータを、終了ページ命令を受け取ったページの解釈をデータサイズに基づきスキップし、残りのデータのみを解釈する手段を有することを特徴とする印刷装置。 - 前記割り込み指示は、外部の情報処理装置におけるユーティリティにより発行された、任意の印刷ジョブを割り込み印刷用の印刷ジョブに変更する指令であることを特徴とする請求項1に記載の印刷装置。
- 通信可能な外部の情報処理装置からの印刷ジョブを解釈して印刷を行う印刷装置において、
前記情報処理装置からの印刷ジョブの割り込み指示を認識する認識手段と、
前記認識手段によって割り込み指示が認識された場合に、当該印刷ジョブ以外の先行印刷ジョブの印刷処理を中止し、前記割り込み指示のある印刷ジョブの印刷処理を実行する割り込み手段と、
前記割り込み手段による印刷処理後に、前記先行印刷ジョブの印刷を再度行う復帰手段と、
終了ページ命令を受け取ったことに連動し、印刷処理すべきデータとして既に解釈されているデータのサイズである既読データサイズを記憶するページデータサイズ記憶手段とを備え、
前記復帰手段は、
前記先行印刷ジョブにおける印刷完了したページの既読データサイズを前記ページデータサイズ記憶手段から取り出し、該既読データサイズをスキップして、残りの印刷ジョブを解釈することを特徴とする印刷装置。 - 前記ページデータサイズ記憶手段は、終了ページ命令を受け取ったことに連動し、前記既読データサイズを印刷ジョブのページ単位で記憶し、前記復帰手段は印刷ジョブのページ単位で記憶された既読データサイズに基づき前記スキップをして、残りの印刷ジョブを解釈することを特徴とする請求項3に記載の印刷装置。
- 印刷ジョブがページ毎に独立した形式のデータであるか否かを判定する判定手段を有し、
前記復帰手段は、
前記判定手段により、印刷ジョブがページ毎に独立した形式のデータであると判定された場合に、前記先行印刷ジョブにおける印刷完了したページの既読データサイズを前記ページデータサイズ記憶手段から取り出し、該既読データサイズをスキップして残りのページのみを解釈することを特徴とする請求項3又は4に記載の印刷装置。 - 通信可能な外部の情報処理装置からの印刷ジョブを解釈して印刷を行う印刷方法において、
前記情報処理装置からの印刷ジョブの割り込み指示を認識する認識工程と、
前記認識工程によって割り込み指示が認識された場合に、当該印刷ジョブ以外の先行印刷ジョブの印刷処理を中止し、前記割り込み指示のある印刷ジョブの印刷処理を実行する割り込み工程と、
前記割り込み工程による印刷処理後に、前記先行印刷ジョブの既に解釈されたデータを、終了ページ命令を受け取ったページの解釈をデータサイズに基づきスキップし、残りのデータのみを解釈して、前記先行印刷ジョブの印刷を再度行う復帰工程とを実行することを特徴とする印刷方法。 - 前記割り込み指示は、外部の情報処理装置におけるユーティリティにより発行された、任意の印刷ジョブを割り込み印刷用の印刷ジョブに変更する指令であることを特徴とする請求項6に記載の印刷方法。
- 通信可能な外部の情報処理装置からの印刷ジョブを解釈して印刷を行う印刷方法において、
前記情報処理装置からの印刷ジョブの割り込み指示を認識する認識工程と、
前記認識工程によって割り込み指示が認識された場合に、当該印刷ジョブ以外の先行印刷ジョブの印刷処理を中止し、前記割り込み指示のある印刷ジョブの印刷処理を実行する割り込み工程と、
終了ページ命令を受け取ったことに連動し、印刷処理すべきデータとして既に解釈されているデータのサイズである既読データサイズを記憶手段に記憶するページデータサイズ記憶工程と、
前記先行印刷ジョブにおける印刷完了したページの既読データサイズを前記記憶手段から取り出し、該既読データサイズをスキップして残りの印刷ジョブを解釈し、前記先行印刷ジョブの印刷を再度行う復帰工程とを実行することを特徴とする印刷方法。 - 前記ページデータサイズ記憶工程は、終了ページ命令を受け取ったことに連動し、前記既読データサイズを印刷ジョブのページ単位で前記記憶手段に記憶し、前記復帰工程は、印刷ジョブのページ単位で記憶された既読データサイズに基づき前記スキップをして、残りの印刷ジョブを解釈することを特徴とする請求項8に記載の印刷方法。
- 印刷ジョブがページ毎に独立した形式のデータであるか否かを判定する判定工程を実行し、
前記復帰工程は、
前記判定工程により、印刷ジョブがページ毎に独立した形式のデータであると判定された場合に、前記先行印刷ジョブにおける印刷完了したページの既読データサイズを前記第1の記憶手段から取り出し、該既読データサイズをスキップして残りのページのみを解釈することを特徴とする請求項8又は9に記載の印刷方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004174487A JP2005349768A (ja) | 2004-06-11 | 2004-06-11 | 印刷装置及び印刷方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004174487A JP2005349768A (ja) | 2004-06-11 | 2004-06-11 | 印刷装置及び印刷方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005349768A true JP2005349768A (ja) | 2005-12-22 |
Family
ID=35584612
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004174487A Withdrawn JP2005349768A (ja) | 2004-06-11 | 2004-06-11 | 印刷装置及び印刷方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005349768A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008165413A (ja) * | 2006-12-27 | 2008-07-17 | Ricoh Co Ltd | 画像形成装置及び画像形成方法 |
JP2008254346A (ja) * | 2007-04-05 | 2008-10-23 | Ricoh Co Ltd | 画像形成装置、プログラム及び記録媒体 |
JP2012081726A (ja) * | 2010-09-16 | 2012-04-26 | Casio Electronics Co Ltd | 印刷装置、印刷制御方法、および、プログラム |
JP2015114892A (ja) * | 2013-12-12 | 2015-06-22 | 株式会社リコー | サービス提供システム及びサービス提供方法 |
CN109760431A (zh) * | 2018-12-29 | 2019-05-17 | 森大(深圳)技术有限公司 | 打印数据处理方法、装置、设备及存储介质 |
-
2004
- 2004-06-11 JP JP2004174487A patent/JP2005349768A/ja not_active Withdrawn
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008165413A (ja) * | 2006-12-27 | 2008-07-17 | Ricoh Co Ltd | 画像形成装置及び画像形成方法 |
JP2008254346A (ja) * | 2007-04-05 | 2008-10-23 | Ricoh Co Ltd | 画像形成装置、プログラム及び記録媒体 |
US8189221B2 (en) | 2007-04-05 | 2012-05-29 | Ricoh Company, Ltd. | Image forming device for executing a designated process with priority without canceling a previously accepted process |
JP2012081726A (ja) * | 2010-09-16 | 2012-04-26 | Casio Electronics Co Ltd | 印刷装置、印刷制御方法、および、プログラム |
CN102529457A (zh) * | 2010-09-16 | 2012-07-04 | 卡西欧电子工业株式会社 | 印刷装置以及印刷控制方法 |
US8599395B2 (en) | 2010-09-16 | 2013-12-03 | Casio Electronics Manufacturing Co., Ltd. | Printing device, printing control method and recording medium |
US9280732B2 (en) | 2010-09-16 | 2016-03-08 | Casio Electronics Manufacturing Co., Ltd. | Printing device, printing control method and recording medium capable of interruption printing with high security |
JP2015114892A (ja) * | 2013-12-12 | 2015-06-22 | 株式会社リコー | サービス提供システム及びサービス提供方法 |
CN109760431A (zh) * | 2018-12-29 | 2019-05-17 | 森大(深圳)技术有限公司 | 打印数据处理方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6894800B2 (en) | Information processing apparatus and information display method for displaying job information relating to an output job | |
US6906813B1 (en) | Print control apparatus, print control method, memory medium for storing print control program, and print control program | |
JP4194532B2 (ja) | 情報処理装置及びジョブ転送制御方法 | |
US20020021453A1 (en) | Printing apparatus and printing system, control method, storage medium and program | |
JP4980776B2 (ja) | 画像形成装置、プログラム及び記録媒体 | |
JP4401662B2 (ja) | 印刷制御装置および印刷制御方法 | |
JP2002044344A (ja) | 情報処理装置および情報処理方法および印刷処理プログラムを格納した記憶媒体および印刷システム | |
JP4109821B2 (ja) | 情報処理装置及びジョブの処理結果確認方法 | |
US8582135B2 (en) | Image forming apparatus, control method therefor, and computer-readable storage medium | |
US7190469B1 (en) | Printing system for printing interrupt jobs | |
JP4869009B2 (ja) | 情報処理装置及び情報処理方法 | |
JP2001357155A (ja) | 情報処理システム、情報処理装置、その制御方法、そのプログラムを記憶した記憶媒体、及びそのプログラム | |
JP2003256166A (ja) | 印刷命令生成装置及び方法、印刷装置及びその制御方法、並びに印刷システム | |
JP2007310770A (ja) | プリント制御装置と印刷システムおよび印刷制御方法とプログラム | |
JP2005349768A (ja) | 印刷装置及び印刷方法 | |
JP4086770B2 (ja) | 情報処理装置及びその転送制御方法 | |
JP4194455B2 (ja) | 情報処理装置、印刷ジョブ処理方法、及び、記憶媒体 | |
JP2006209508A (ja) | 印刷システムおよびその制御方法および印刷管理プログラム | |
JP2004284259A (ja) | 画像形成装置及びその方法 | |
JP4541581B2 (ja) | 印刷制御装置およびデータ処理方法および記憶媒体 | |
JP2001047706A (ja) | ネットワーク環境における画像形成システム | |
JP4350343B2 (ja) | 印刷制御装置、印刷制御方法、プログラム及び記憶媒体 | |
JP2002023985A (ja) | 分散印刷制御装置および分散印刷制御方法並びに記録媒体 | |
JP2004021329A (ja) | プリントプログラム | |
JP2006146364A (ja) | 印刷制御装置及び印刷制御方法、印刷制御システム、プログラム、並びに記憶媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20060418 |
|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20070904 |