(57)【特許請求の範囲】
【請求項１】
外部より入力された印刷データに対応するページ画像を生成する画像処理装置において、
前記印刷データから生成されたページ画像と前記外部より入力された印刷データとを保持する保持手段と、
リプリントが指示された場合に、リプリントされるべき印刷データに設定された第１印刷設定情報として綴じ幅と両面印刷が指定されており、リプリント用に新たに指定された前記第１印刷設定情報とは異なる第２印刷設定情報として前記綴じ幅と同じ綴じ幅と片面印刷が指定された場合、奇数ページに対しては前記保持手段に保持されたページ画像を使用し、偶数ページに対しては前記保持手段に保持された印刷データからページ画像を生成して使用することを決定する決定手段とを備えることを特徴とする画像処理装置。
【請求項２】
前記保持手段は、前記印刷データと前記ページ画像を格納できないと判定した場合、前記印刷データのみを保持することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
外部より入力された印刷データに対応するページ画像を生成する画像処理方法において、
保持手段が、前記印刷データから生成されたページ画像と前記外部より入力された印刷データとを保持する保持ステップと、
決定手段が、リプリントが指示された場合に、リプリントされるべき印刷データに設定された第１印刷設定情報として綴じ幅と両面印刷が指定されており、リプリント用に新たに指定された前記第１印刷設定情報とは異なる第２印刷設定情報として前記綴じ幅と同じ綴じ幅と片面印刷が指定された場合、奇数ページに対しては前記保持ステップで保持手段に保持されたページ画像を使用し、偶数ページに対しては前記保持ステップで保持手段に保持された印刷データからページ画像を生成して使用することを決定する決定ステップとを備えることを特徴とする画像処理方法。
【請求項４】
前記保持ステップでは、前記印刷データと前記ページ画像を格納できないと判定した場合、前記印刷データのみを保持することを特徴とする請求項３に記載の画像処理方法。
【請求項５】
外部より入力された印刷データに対応するページ画像を生成する画像処理方法をコンピュータに実行させるための画像処理プログラムであって、
前記印刷データから生成されたページ画像と前記外部より入力された印刷データとを保持する保持ステップと、
リプリントが指示された場合に、リプリントされるべき印刷データに設定された第１印刷設定情報として綴じ幅と両面印刷が指定されており、リプリント用に新たに指定された前記第１印刷設定情報とは異なる第２印刷設定情報として前記綴じ幅と同じ綴じ幅と片面印刷が指定された場合、奇数ページに対しては前記保持ステップで保持手段に保持されたページ画像を使用し、偶数ページに対しては前記保持ステップで保持手段に保持された印刷データからページ画像を生成して使用することを決定する決定ステップとをコンピュータに実行させるための画像処理プログラム。
【請求項６】
前記保持ステップでは、前記印刷データと前記ページ画像を格納できないと判定した場合、前記印刷データのみを保持することを特徴とする請求項５に記載の画像処理プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は画像処理方法及びその装置、詳しくは、入力した印刷データを再出力可能な画像処理方法及びその装置に関するものである。
【０００２】
【従来の技術】
近年、外部より入力した印刷ジョブを解析して画像を生成／出力するページプリンタ等の画像処理装置において、一度入力した印刷ジョブを保持しておき、前記印刷ジョブの一部分あるいは全部を再度印刷する、いわゆるリプリント機能（あるいは複数部数印刷）の高速化が望まれている。
【０００３】
このような複数部数印刷やリプリントを高速に処理するための従来技術としては、一度生成したページ画像（ビットマップ画像）をページ番号と合わせて外部記憶装置にスプーリングしておき、二度目以降の出力時に前記ページ画像を再利用することで印刷データを解析する手間を省き、リプリントの高速化が行われている。
【０００４】
また、リプリント機能においては、同じ印刷結果を高速に出力するだけでなく、印刷ジョブの途中から一部のみを印刷する、ページの出力順序を逆順に印刷する、あるいはランダムに変更して出力する、さらには両面印刷で出力したものをリプリント時は片面印刷で印刷する等、印刷環境を変更した再出力を可能とする高機能化も望まれている。
【０００５】
一方、従来のページプリンタ等は、ページ記述言語（ＰＤＬ）形式として印刷データを受信し、前記ＰＤＬの解析結果に従って、ページ内容を表すビットマップ画像を生成するように構成されている。このような一般的なＰＤＬは、例えば、文字印字命令、線描画命令などの各種図形描画命令、イメージ描画命令などの描画命令の他、描画論理やクリッピング領域の指定、印字位置移動命令、複数命令をグループ化して記憶し呼び出すマクロ命令など、多種多用な命令から構成されている。
【０００６】
さらに、前記ＰＤＬには、各種の印字環境を設定するための命令群をも含むのが普通である。すなわち、線幅や線種、線端形状の処理方法／フォント種別、サイズ、修飾（ボールド／斜体）、拡大・縮小、回転角度／描画論理（ＡＮＤまたはＯＲ）／クリッピング領域の指定といった種々の印字パラメータであって、前記線描画命令や文字印字命令等を該画像処理装置が処理する際は、これらのカレント印字環境の内容に従って描画を行うようになっている。また、これらの様々な印字環境は、一度設定を行った後は、再度設定を行うかあるいはリセット命令等を受信するまで、設定内容を有効とするように構成されることから、カレントグラフィック状態とも呼ばれる。上記の構成とすることで、同じ設定を何度も行う手間を省き、印刷データのサイズを削減し、またＰＤＬの解析処理を効率良く行えるようになっている。これらのカレントグラフィック状態には、印刷するページが変わると自動的に初期値に戻るよう構成されているものもあるが、ページ間にまたがって有効となるよう構成されているものも存在するのが普通である。例えば、テキストデータを受信し、文字印字と共に印字位置を自動的に進め、改行及び改ページを自動的に行って印刷する印刷モードの場合、ページが進む度に印刷環境が初期値に戻ってしまっては都合が悪い。
【０００７】
以上説明した通り、ＰＤＬデータを処理する従来のページプリンタ等では、印刷ジョブの先頭から順にＰＤＬデータの解析を行うことが前提となっていた。
【０００８】
【発明が解決しようとする課題】
しかしながら、上記従来例では、以下に説明するような問題点があった。
【０００９】
すなわち、複数部数印刷やリプリント時に、一度生成した１ページ分の内容を表すビットマップ画像を再利用するため、ページ内容が異なってしまうようなリプリントには適用できなかった。例えば、綴じ幅が設定された両面印刷の印刷ジョブを、片面印刷でリプリントする場合は、表面と裏面とで画像がオフセットされる向きが異なるため、綴じ幅や綴じ方向の指定が変化しない場合であっても、裏面に印刷すべく生成されたビットマップ画像は表面へ印刷する際には使用できなかった。
【００１０】
このように生成済みの画像を再利用できないケースとしては、印字解像度を変更する場合、カラー印刷をモノクロ印刷に変更する場合、綴じ幅／綴じ方向／オフセット量を変更する場合、１ページ印刷から複数ページ印刷へ変更する場合等、様々なケースがあり得る。
【００１１】
以上に述べたように、最終的に生成されるビットマップ画像の内容に影響するような印刷環境を変更した場合、ビットマップ画像を利用してリプリントを行うことは困難であった。
【００１２】
一方、ビットマップ画像を再利用することなく、複数部数印刷やリプリントを行うためには、印刷ジョブ（ＰＤＬデータ）をスプールしておき、再度解析を行いページ画像を生成することになる。このように構成することで、新たな印刷環境においてＰＤＬデータを解析し直すため、種々の印刷環境を変更したリプリント等にも対応が可能となるが、以下の問題があった。
【００１３】
すなわち、従来例で説明したＰＤＬでは、種々の印刷環境はページ間で引き継ぐことが可能であるため、任意のページの解析を開始する時点において、カレントグラフィック状態を確定するためには、該ページ以前に設定された内容を把握している必要がある。従って、ある印刷ジョブの途中のページから印刷を行う場合や、例えば奇数ページのみといったように部分的に印刷を行う場合であっても、実際に印刷を行わないページも含めて、印刷ジョブの先頭から順にデータの解析と環境設定を行う必要があった。なぜなら、ページ間の区切り位置（ページプリンタ等におけるフォームフィード命令）を識別するためには、イメージデータや圧縮データ中のバイナリコードと区別する必要があるため、単にフォームフィードコードと一致するかどうかを検索するだけでは不十分だからである。
【００１４】
このことから、上記ＰＤＬを備えた画像処理装置において、複数部数印刷やリプリントの際に印刷環境が変更されている場合は、印刷ジョブ内の任意のページ以降のみのリプリントや、一部のページのみのリプリントであっても、印刷速度を向上することが困難であった。また、同じ理由により、ページ順を逆順に行うリプリントや、ページ順序を入れ替えて行うリプリントを効率良く処理することも困難であった。
【００１５】
例えば、１度目の印刷時に複数ページ印刷を指定した印刷ジョブに対して、ブック印刷（袋綴じ印刷）を指定してリプリントすることも困難であった。以下、図２０を用いて、通常の２ページ印刷とブック印刷の場合のページ順序について説明する。同図において、図２０の（ａ）は通常の２ページ印刷を紙の両面に行う印刷ジョブの場合を示し、図２０の（ｂ）はブック印刷を行う場合を示している。まず、図２０の（ａ）においては、ページ１と２／３と４／...／１１と１２とがそれぞれ同じ紙面上に印刷され、またフェースダウンで排紙を行う場合は、図右側のＡ，Ｂ，Ｃの順に排紙されることを示している。このように印刷を行うためには、印刷ジョブ中のページは、１，２，３，４...１１，１２となっていなければならない。一方、ブック印刷を行う場合は、図２０の（ｂ）に示した通り、６，７／５，８／...／２，１１／１，１２といった順序で印字・排紙を行う必要があるため、リプリントを行う場合は、生成済みのビットマップ画像を利用できないだけでなく、ページ順序を入れ替えてＰＤＬデータを再度解析する必要がある。
【００１６】
本発明は、上記従来の問題点に鑑み、大容量の記憶装置を必要とせずに、同じ印刷データから様々な出力形式の異なるリプリントが簡単に高速に実行できる画像処理方法及びその装置を提供する。
【００１７】
【課題を解決するための手段】
この課題を解決するために、本発明の画像処理装置は、外部より入力された印刷データに対応するページ画像を生成する画像処理装置において、前記印刷データから生成されたページ画像と前記外部より入力された印刷データとを保持する保持手段と、リプリントが指示された場合に、リプリントされるべき印刷データに設定された第１印刷設定情報として綴じ幅と両面印刷が指定されており、リプリント用に新たに指定された前記第１印刷設定情報とは異なる第２印刷設定情報として前記綴じ幅と同じ綴じ幅と片面印刷が指定された場合、奇数ページに対しては前記保持手段に保持されたページ画像を使用し、偶数ページに対しては前記保持手段に保持された印刷データからページ画像を生成して使用することを決定する決定手段とを備えることを特徴とする。
【００１８】
ここで、前記保持手段は、前記印刷データと前記ページ画像を格納できないと判定した場合、前記印刷データのみを保持する。
【００１９】
又、本発明の画像処理方法は、外部より入力された印刷データに対応するページ画像を生成する画像処理方法において、保持手段が、前記印刷データから生成されたページ画像と前記外部より入力された印刷データとを保持する保持ステップと、決定手段が、リプリントが指示された場合に、リプリントされるべき印刷データに設定された第１印刷設定情報として綴じ幅と両面印刷が指定されており、リプリント用に新たに指定された前記第１印刷設定情報とは異なる第２印刷設定情報として前記綴じ幅と同じ綴じ幅と片面印刷が指定された場合、奇数ページに対しては前記保持ステップで保持手段に保持されたページ画像を使用し、偶数ページに対しては前記保持ステップで保持手段に保持された印刷データからページ画像を生成して使用することを決定する決定ステップとを備えることを特徴とする。
【００２０】
ここで、前記保持ステップでは、前記印刷データと前記ページ画像を格納できないと判定した場合、前記印刷データのみを保持する。
【００２１】
又、本発明の画像処理プログラムは、外部より入力された印刷データに対応するページ画像を生成する画像処理方法をコンピュータに実行させるための画像処理プログラムであって、前記印刷データから生成されたページ画像と前記外部より入力された印刷データとを保持する保持ステップと、リプリントが指示された場合に、リプリントされるべき印刷データに設定された第１印刷設定情報として綴じ幅と両面印刷が指定されており、リプリント用に新たに指定された前記第１印刷設定情報とは異なる第２印刷設定情報として前記綴じ幅と同じ綴じ幅と片面印刷が指定された場合、奇数ページに対しては前記保持ステップで保持手段に保持されたページ画像を使用し、偶数ページに対しては前記保持ステップで保持手段に保持された印刷データからページ画像を生成して使用することを決定する決定ステップとをコンピュータに実行させる。
【００２２】
ここで、前記保持ステップでは、前記印刷データと前記ページ画像を格納できないと判定した場合、前記印刷データのみを保持する。
【００２３】
上記構成により、本発明によれば、１回目の印刷を行う際に、ＰＤＬデータとビットマップ画像を合わせてスプーリングし、リプリント時に印刷環境が変更されたかどうかを判別することで、一度生成した１ページ分の内容を表すビットマップ画像が再利用可能であれば、前記ビットマップ画像を再利用し高速にリプリントを行う一方、ページ内容が異なってしまうようなリプリント時のみ、前記ＰＤＬデータを再解析して印刷することで、高機能なリプリント手段を提供可能となる。
【００２４】
また、上記構成により、本発明によれば、ＰＤＬデータ中のページ開始位置、並びに各ページ開始時点におけるカレントグラフィック状態をも保持することで、種々のカレントグラフィック状態をページ間で引き継ぐことが可能なＰＤＬを用いた画像処理装置においても、印刷ジョブの先頭から順にデータを解析する必要がなくなるため、印刷ジョブの途中のページから一部分を印刷するようなリプリントを高速に処理することが可能となる。
【００２５】
また、印刷環境が変更された場合のみビットマップ画像を再利用しないため、綴じ幅が設定された両面印刷を片面印刷に変更してリプリントする場合、裏面だったページのみＰＤＬデータを再解析し、表面であったページはビットマップ画像を再利用するといったことが可能となる。
【００２６】
【発明の実施の形態】
以下に添付の図面を参照して、本発明の実施の形態について説明する。
【００２７】
＜本実施の形態の画像処理装置の構成例＞
まず、図１、図２を参照しながら、本発明を適用するに好適な本実施の形態の画像処理装置の構成について説明する。
【００２８】
図１は、本実施の形態の画像処理装置の概略構造を示すブロック図であり、例えば、レーザビームプリンタの場合を示す。尚、本発明を適用可能な画像処理装置はレーザビームプリンタに限られるものではなく、他のプリント方式のプリンタ装置であっても良いし、モノクロ／カラープリンタといった機器構成の違いにも関係なく適用可能である。更に、本発明の機能が実行されるのであれば、プリンタに限定されるものでもなく、プリンタコントローラやプリントサーバなどのプリント専用機器、あるいは一般のコンピュータに搭載されるプリンタドライバなど、更に、同じ画像処理を必要とする画像記録装置や画像表示装置、画像通信装置の制御においても適用可能である。
【００２９】
図１において、１０１はホストコンピュータ等の外部機器、１０２は本実施の形態のレーザビームプリンタ本体である。
【００３０】
レーザビームプリンタ１０２は、前記外部機器１０１からページ記述言語（ＰＤＬ）形式の印刷データ（文字コードや図形データ、イメージデータ等）を受け取り、それらの情報に従って対応する文字パターンや図形パターンなどを作成し、記録媒体である記録紙上に像を形成するよう構成されている。又、このレーザビームプリンタ１０２では、不図示のデータ記憶部に対して文字パターンの登録やフォームデータ、マクロデータなどの登録も行えるよう構成されており、ホストコンピュータ１０１から受信した印刷データと同様に、前記記憶部の印字データに応じてページ画像を生成する。
【００３１】
レーザビームプリンタ１０２で、１０３はプリンタ制御ユニット（コントローラ部）であって、レーザビームプリンタ１０２全体の制御、及びホストコンピュータ１０１から供給される印刷データ（文字情報など）を解析する。この制御ユニット１０３は、プリンタエンジン部１０５と接続され、前記印刷データに基づいたドットデータからなるページ情報を生成し、プリンタエンジン部１０５に対して順次ドットデータ（ビデオ信号）を送信する。
【００３２】
又、１０５はプリンタエンジン部であって、前記ドットデータ（ビデオ信号）に従って実際に感光ドラムに潜像を形成し、用紙に熱定着させることによって印字を行う。１０４は、操作のためのスイッチ及びＬＥＤ表示器などが配されている操作パネルであって、オペレータ（使用者）は、パネル部１０４を操作することによって、レーザビームプリンタ１０２に所定の動作の指定、あるいは印刷環境の設定等を行うことができる。
【００３３】
図２は、本実施の形態のレーザビームプリンタ１０２の内部構造を示す断面図であり、主にプリンタエンジン部１０５の構成を示している。図１と同じ構成に対しては同一番号を付け、説明を省略する。
【００３４】
同図において、レーザドライバ２０１は半導体レーザ２０２を駆動するための回路であり、制御ユニット１０３が出力する前記ビデオ信号に応じて、半導体レーザ２０２から発射されるレーザ光２０３をオン／オフ切り替えする。レーザ２０３は回転多面鏡２０４で左右方向に振られ、静電ドラム２０５上を走査する。これにより、静電ドラム２０５上には文字パターン等の静電潜像が形成される。この潜像は、静電ドラム２０５周囲の現像ユニット２０６により現像された後、記録紙に転送される。この記録紙にはカットシートを用い、カットシート記録紙はＬＢＰ１０２に装着した用紙カセット２０７に収納されており、給紙ローラ２０８及び搬送ローラ２０９と２１０とにより装置内に取り込まれて、静電ドラム２０５に供給される。
【００３５】
図３は、本実施の形態の画像処理装置の基本構成部を説明するブロック図であり、図１の画像処理装置の制御ユニット１０３の内部構成を示している。尚、本発明の機能が実行されるのであれば、単体の機器であっても、ＬＡＮ等のネットワークを介して配置された複数の機器で処理が行われるシステムであっても良い。
【００３６】
同図において、プリンタの制御ユニット１０３は、所定のインターフェース３０８を介して外部機器であるホストコンピュータ１０１と接続されており、ホストコンピュータ１０１から送られてくる印刷データに従って所定の印刷処理を実行するように構成されている。ここで、ホストコンピュータ１０１から受信した印刷データは、まず受信バッファ３０７に受信データとして一時的に蓄えられる。
【００３７】
３０１はプリンタＣＰＵであり、読み出し専用メモリであるＲＯＭ３０２のプログラムＲＯＭ３０３に記憶された制御プログラムに基づいて、システムバス３０６に接続された各種デバイスとのアクセスを統括的に制御している。まず、受信バッファ３０７に蓄えられた印刷データを解析し、少なくとも１ページ分の描画オブジェクトを生成し（印刷データ解析部；描画オブジェクト生成部３０３ｂ）、続いて前記描画オブジェクトを元に１ページ分（あるいは複数のバンドに分割した１バンド分）のラスタイメージ（画像データ）を生成し（描画オブジェクト描画部３０３ｃ；画像データ描画手段ともいう）、更に、印刷部Ｉ／Ｆ３０９を介して印刷部（プリンタエンジン）１０５へ、前記ラスタイメージのビットのＯＮ／ＯＦＦによるビデオ信号を出力する（ビデオ信号の出力を、以下"シップ"と記す）。印刷部１０５は、ＣＰＵ３０１から受け取ったビデオ信号を元に記録紙２０１上への画像の印刷を行う。
【００３８】
尚、ページをバンド状に分割したバンドラスタを複数（例えば２つ）用意して印刷を行うバンディング方式では、前記ラスタイメージの生成とシップ動作とを同時に行うよう構成されている。すなわち、描画済みの一方のバンドラスタをシップしながら、他方のバンドラスタに属する描画オブジェクトを描画する。
【００３９】
又、制御プログラム３０３は、上記構成以外に、以下の機能を実現するためのプログラムを含んでいる。すなわち、前記印刷データ解析部３０３ｂの解析結果に従って、印刷データ中における各ページの区切り位置を調べ、結果をページ情報として生成するページ情報管理部３０３ｄ、前記印刷データ解析部３０３ｂが新規ページの処理を開始した時点の印刷環境を生成する印刷環境管理部３０３ｅ、前記印刷データ及びページ情報、印刷環境データ、並びに画像データ描画手段３０３ｃが生成したラスタイメージをハードディスク３１０へ書出すプリントデータ書出し部３０３ａ、前記受信バッファ３０７内の印刷データがリプリント指示命令であった場合に、ハードディスク３１０へ記憶済みの印刷データ、ページ情報、及び印刷環境データ、あるいはラスタイメージを読み出すリプリント情報読み出し部３０３ｆなどから構成されている。以下では、前記印刷データ、ページ情報、印刷環境データ、及びラスタイメージをまとめてリプリントデータと呼ぶ。
【００４０】
尚、前記印刷データ解析部３０３ｂは、リプリント指示命令を受信した際、前記リプリント指示命令のパラメータや、その時点における印刷環境に従って、ハードディスク３１０に読み出すべきリプリントデータが保存されているかを調べると共に、リプリントすべきページ順序やページ範囲を求め、この結果に基づいて前記リプリント情報読み出し部３０３ｆを呼び出し、リプリントを行うように構成されている。更に、前記印刷データ解析部３０３ｂは、印刷データ及びページ情報か、ラスタイメージのどちらを読み出すべきかも判断可能なように構成されている。
【００４１】
又、このＲＯＭ３０２は、文字出力に用いるドットフォントやスケーラブルフォントから構成されるフォントデータを格納するメモリとしても用いられている（フォントＲＯＭ３０４）。
【００４２】
３０５は、ＣＰＵ３０１の主メモリ、ワークメモリ等として機能するＲＡＭであり、図示しない増設ポートに接続されるオプションＲＡＭによりメモリ容量を拡張できるように構成されている。ＲＡＭ３０５は、前記印刷データ解析部３０３ｂが生成した描画オブジェクトを格納する描画オブジェクト格納部３０５ａや、制御プログラム３０３によって一時的に使用されるワークメモリ３０５ｅ、１ページをバンド状に分割した、バンド領域の２面分に相当するラスタイメージを格納するバンドバッファ３０５ｃ、前記ページ情報管理部３０３ｄが生成したページ情報を一時的に格納するページ情報格納部３０５ｂ、前記印刷環境管理部３０３ｅが生成した印刷環境データを一時的に格納する印刷環境格納部３０５ｄの他、前記フォントメモリ３０４内のスケーラブルデータに基づいて展開された文字パターンをキャッシュするためのフォントキャッシュメモリ（不図示）等に用いられる。
【００４３】
尚、本実施の形態では、前記バンディング方式で印刷を行うように構成したが、１ページ分のラスタイメージを保持可能なページバッファとして３０５ｃを構成し、フルペイント方式で描画／シップ処理を行っても良い。更に、前記バンディング方式とフルペイント方式とをパネルからの指示等によって切り替え可能なように構成されていても構わないし、固定的にどちらか一方を採用しても構わない。加えて、レーザビームプリンタ１０２は図示しない電源部から電力の供給を受けている。又、前記印刷データはハードディスク３１０に格納されると説明したが、フラッシュメモリ等の不揮発性メモリやＲＡＭ３０５、あるいは他の構成による記憶装置に格納しても構わない。
【００４４】
又、本発明を構成する装置がＲＯＭに格納されたプログラムとして供給されるよう説明したが、これに限らず、フロッピー（登録商標）ディスクやハードディスク等の媒体によって供給され、実行前にＲＡＭ等へロードされた後、実行されるよう構成されていても構わない。又、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、メモリカード、ＤＶＤ等のような記憶媒体から図示省略したドライブを解して、該制御プログラムをインストールして制御しても本発明を実施することが可能であり、本発明はこれを含むものである。
【００４５】
＜本実施の形態の画像処理装置の通常の印刷ジョブ動作例＞
（通常の印刷ジョブの構成例）
図４を用いて、ホストコンピュータから本画像処理装置に対して通常のプリントを実行する印刷ジョブを構成する印刷命令の形式例を説明する。
【００４６】
プリント印刷ジョブの最初と最後はＪＬ(Job Language)という言語で構成されており、印刷ジョブ内で一律な各種環境（ジョブ環境）を指定する以下の命令群を含む。
・印刷ジョブの開始を示すジョブ開始命令（パラメータとしてジョブＩＤ＝ＪＯＢＩＤ'が指定される。）
・後続のＰＤＬデータ形式の印刷データを処理すべき印字解像度を設定する印字解像度指定命令（本実施の形態では６００ｄｐｉ）
・用紙を綴じる際に印刷内容の用紙上マッピング位置を指定する綴じ幅設定命令（５ｍｍ）、綴じ方向設定命令（左綴じ）
・印刷を用紙の片面に行うか両面に行うかを指定する印刷面指定命令（両面）
・排紙口選択命令（排紙口１＝フェースダウン）
・印刷データを処理するためにＰＤＬ解析処理プログラムの起動を指示するＰＤＬ移行命令（ＬＩＰＳを起動）
ここまでがＪＬコマンド（以下、ジョブ環境設定命令と記す）であって、これからはＰＤＬで書かれる。
・ＰＤＬデータの開始を示すＰＤＬデータ開始命令
・各ページの用紙サイズを選択する用紙サイズ選択命令（Ａ４）
：
・文字印字命令
・図形描画命令
・排紙命令
：
・ＰＤＬデータの終了を意味するＰＤＬデータ終了命令、
・ＪＬによる、印刷ジョブの終了を定義するジョブ終了命令
（通常のプリントジョブ処理）
本実施の形態の画像処理装置における、リプリント指示のない通常の印刷データの処理手順を、図５のフローチャートを用いて以下に説明する。
【００４７】
尚、本実施の形態では、リプリントの指示は前記印刷データ内のリプリント指示命令にて行われるものとし、該リプリント指示命令は文字描画等の他の描画命令に先立って指定されるものとする。すなわち、本実施の形態における画像処理装置は、何らかの描画命令を処理する時点で、該印刷ジョブが通常の印刷ジョブであるのか、リプリントを指示した印刷ジョブであるかが判別可能なように構成されているものとし、図５のフローチャートでは簡単のために、描画命令の前にリプリント指示命令がなかった場合に限って説明する。
【００４８】
同図において、まず制御プログラム３０３は、ステップＳ５０１にて、ホストコンピュータ１０１から所定のインターフェース３０８を介して送られてきた印刷データを受信バッファ３０７へ記憶する。続いて、受信バッファ３０７内に未処理の印刷データが存在するか否かを調べ（ステップＳ５０２）、存在しない場合は処理を終了する。一方、未処理の印刷データが存在する場合は、続くステップＳ５０３以下で印刷データの解析を行う。
【００４９】
まず、ステップＳ５０３では、印刷ジョブの先頭であるか否かを調べる。すなわち、受信した印刷データがジョブ開始命令か否かを調べ、そうであれば処理済みのデータサイズと処理済みページ数とを０に初期化する（ステップＳ５０５）。一方、ジョブ開始命令でないと判断された場合は、前記データサイズを処理したサイズだけ加算する（ステップＳ５０４）。このデータサイズは、後程ページの区切り位置をページ情報として記憶する際に、ステップＳ５１６にて参照される。尚、前記ジョブ開始命令のパラメータとしては、該印刷ジョブを一意に識別可能なＩＤが与えられ、リプリントの際には前記ジョブＩＤによって出力すべき印刷ジョブを判別するようになっている。
【００５０】
続くステップＳ５０６にて、受信バッファ３０７に一時的に格納した印刷データを、ハードディスク３１０へ記憶する。尚、ステップＳ５０５におけるジョブ開始時は、該印刷ジョブのジョブＩＤをワークメモリに記憶しておき、前記印刷データと合わせてハードディスクへ格納する。
【００５１】
（ハイドディスク３１０への初期格納例）
ハードディスクへ格納するデータ構成について、図６を用いて説明する。図６は、ハードディスク３１０へ格納されるリプリントデータ全体の構成を示す図である。同図において、１１０１のジョブＩＤはジョブ開始時に正しい値を書き込むが、リプリント総サイズ１１０２と印刷データサイズ１１０３は領域のみを確保しておく（値は、ジョブ終了時の後処理；図１３のステップＳ１２０９、１２１２で上書きして設定する）。すなわち、印刷データ１１０４とページ画像１１０６の領域は印刷データを受信する毎に追加されていき、ベージ情報／印刷環境１１０５の領域はジョブ終了時に格納される。
【００５２】
図５のフローチャートに戻って、ステップＳ５０７以降では、未処理の前記印刷データ、すなわちページ記述言語形式の印刷命令を順次解析してゆく。まず、前記印刷データが排紙命令（フォームフィードコード）か否かを調べ（ステップＳ５０７）、そうでなければ続くステップＳ５０８以降にて他の印刷命令として解析を続ける。尚、本実施の形態では、主描画命令の一例として文字印字命令の場合を説明し、他の命令は一括りにして説明を省略した。これらのページ解析手順は既知のページ記述言語の解析手順と同様で良い。
【００５３】
印刷命令が排紙命令でなかった場合の解析は、まずステップＳ５０８にて、前記印刷命令が文字印刷命令か否かを調べ、そうでなければ、続くステップＳ５１４にてジョブ終了命令か否かを調べる。ジョブ終了命令でなければ、図形描画等の他の印刷命令として適した描画オブジェクトを生成する（ステップＳ５１５）。一方、ジョブ終了命令であれば、ステップＳ５１６にてリプリントデータに対する後処理を行い（詳細は図１３のフローチャートで後述する）、ステップＳ５０１へ戻る。
【００５４】
ステップＳ５０８において、前記印刷データが文字印字命令であれば、フォントキャッシュ格納部内に同一の文字パターンが作成済みであるか否かを検索し（ステップＳ５０９，Ｓ５１０）、ステップＳ５１０において、文字パターンが作成済み、すなわち検索にヒットした場合は、該文字パターンを描画するために必要な描画情報を作成する（ステップＳ５１３）。一方、ステップＳ５１０にて同一文字パターンが見つからなければ、フォントスケーラは、カレントフォントの指定された文字コードに対応した文字パターンを生成し（ステップＳ５１１）、描画オブジェクトを生成する（ステップＳ５１２）。
【００５５】
尚、本実施の形態では、文字パターンを表す描画オブジェクトはビットマップパターンであるとするが、これに限らず、規定のパターンサイズ以下の文字は規定の圧縮形式で圧縮するなどの処理を施しても良い。続いて、検索時にヒットした場合と同様、描画情報を作成し、１命令の解析を終了する。
【００５６】
（描画オブジェクト及び描画情報の構成例）
本実施の形態における描画オブジェクト及び描画情報の構成について、図７乃至図９を参照しながら説明する。図７は、本実施の形態における１ページ分の描画オブジェクト格納部３０５ａのメモリマップを示す図、図８は描画オブジェクト、図９は描画情報の構成例の概略を示す図である。
【００５７】
まず図７において、８０１は各ページの種々の情報を格納するページ情報ヘッダ部であって、該ページの印字解像度、用紙サイズ、カラーモード、バンドラスタ数、該ページに属する描画オブジェクトの総容量（メモリ使用量）、ページ状態（描画済み／シップ中等）、電源投入時からシーケンシャルにカウントされるページ番号など、ページ毎に管理すべき情報から構成されている。尚、前記印字解像度等は、各ページの処理を開始する時点のカレントグラフィック状態から決められ、前記バンドラスタ数は、各バンドの高さを固定とすれば、用紙サイズと印字解像度から求められる。８０２はバンドテーブルであって、前記バンドラスタの数だけ用意され、描画情報８０３がリンクされている（図８参照）。以下説明する通り、各描画情報は、個々の描画オブジェクトを各バンド内のどの位置に、どのように印字するかを示している。
【００５８】
前記描画情報のことを、以下ではアプリケーション（appl：略語）と呼ぶことにする。尚、本実施の形態では、個々のアプリケーション８０５、描画オブジェクト８０６はそれぞれ、描画情報格納部８０３及び描画オブジェクト記憶部８０４に生成・保持されるとしたが、混在して保持されるように構成されていても構わない。
【００５９】
図９は、１つのアプリケーションの構成を示す概略図であり、描画オブジェクトを描画するための情報として、以下の情報を含むよう構成されている。すなわち、バンド内の印字位置（左上端からのビットオフセット値）、描画オブジェクトの描画高さ、バンドラスタとの描画論理（ＡＮＤ／ＯＲ等）、バックグラウンド情報（ＢＧ情報）、対応する描画オブジェクトの先頭アドレス、描画オブジェクトがバント途中から描画される場合に、該描画オブジェクトをどれだけ読み飛ばすべきかを示したオブセット量（ライン数）、次のアプリケーションの先頭アドレス（リンク最後はＮＵＬＬとする）等を含む。ここで、前記ＢＧ情報は、グレーレベルから構成されているものとし、描画時には該グレーレベルに相当するディザパターンが各描画オブジェクトの背景として貼り付けられる。
【００６０】
また描画オブジェクトが複数のバンドにまたがって描画される場合は、その描画オブジェクトは複数のアプリケーションを持っている。つまり描画回数だけアプリケーションが割り当てられるのである。図８の例では、appl１とappl４によって、文字"Ａ"がband０とband１にまたがって描画され、更にappl６によってbandｎ内に描画される様子を示している。
【００６１】
尚、前述したアプリケーション内の各情報は、少なくとも指定用紙を指定解像度で表現可能なだけのビット数があれば良いし、各アプリケーション間や描画オブジェクトとのリンクはＲＡＭ内のアドレスに限らず、ＩＤによるリンクとしても良い（この場合は、予め用意したＩＤテーブルを介してアドレスに変換する）。
【００６２】
上記の構成によって、各描画オブジェクトをバンド毎に描画してバンド画像を生成するためには、上記バンドテーブルからリンクされている各アプリケーションを順次読み出し、各アプリケーション内に記憶された印字位置情報に応じて描画オブジェクトを描画すれば良い。この処理を次のアプリケーションドレスがＮＵＬＬとなるところまで繰り返すことで、１バンド分の描画処理を終了する。
【００６３】
図５のフローチャートに戻って、ステップＳ５０７において、印刷命令が排紙命令であると判断された場合は、処理済みページ数をインクリメントし（ステップＳ５１７）、続いて現在の前記データサイズ（印刷ジョブ先頭からのバイト数）と、インクリメント済みのページ数（最初のページは１になる）とを、ページ情報としてページ情報格納部３０５ｂへ記憶しておく（ステップＳ５１８）。続くステップＳ５１９において、現在の印刷環境（カレントグラフィック状態）を印刷環境格納部３０５ｄへ記憶する。
【００６４】
（ページ情報と印刷環境の構成例）
図１０及び図１１を用いて、図５のステップＳ５１８及び５１９によって生成されるページ情報と印刷環境の構成について説明する。尚、以下で説明する構成は、図３のページ情報格納部３０５ｂへ一時的に格納する際に用いられる。
【００６５】
まず、図１０に示したページ情報は、該印刷ジョブを一意に識別するためのジョブＩＤ（１３０１）、印刷ジョブの総ページ数ｎ（１３０２）、ページ１〜ｎの各開始位置（１３０３）から構成される。ここで総ページ数ｎには格納領域のみを割り当てておき、全ページの処理が完了したジョブ終了時の後処理（ステップＳ５１６）にて最終的に正しい値を書き込むようにしても良いし、毎ページ、インクリメントする処理済みページ数を上書きするようにしても構わない。又、各ページの開始位置１３０３は、各ページを開始する時点における、ジョブ先頭からの処理済みデータのバイト数であって、ページ１の開始位置はＰＤＬデータ開始時の処理済みバイト数、ページｎの開始位置はページｎ−１の排紙命令を処理した時点の処理済みバイト数となる。
【００６６】
図１１は、印刷環境格納部３０５ｄに一時的に格納される際の印刷環境の構成であって、ジョブＩＤ、総ページ数ｎに加え、各ページ毎の印刷環境のデータサイズ（１３０４）と実際の印刷環境（１３０５）から構成される。
【００６７】
図１２は、図５のステップＳ５１９にて生成される印刷環境（カレントグラフィック状態）のより詳細な構成を示した図である。尚、同図の右側が各ページ開始時における印刷環境例を示している。同図において、７０１はページ情報ヘッダ部８０１に一時的に格納される用紙サイズ（＝Ａ４）、７０２はカレントフォントの名称（＝明朝体）、７０３はカレントフォントサイズ（＝１０ポイント）、７０４は線種（＝実線）、７０５は線端の処理形状（＝切り落とし）、７０６は描画論理（＝上書き）である。
【００６８】
尚、印刷環境としては上記に加え、本発明を適用する各画像処理装置が行う描画処理に必要なだけのグラフィック情報があれば良く、例えば、１つの印刷ジョブ内では用紙サイズは変更できないような構成であれば、前記用紙サイズ７０１はジョブ環境（後述）として記憶すれば良い。
【００６９】
以上の本実施の形態では、各排紙命令を処理する度に、カレントグラフィック状態をすべて保持するように構成したが、予め定められたデフォルト環境との差をとって、差分のみを保持するようにしても構わない。（前記デフォルト環境は、ジョブ開始時にハードディスクへ格納したジョブ環境であって、予めプログラムＲＯＭ３０３内に用意しておく）。又、図では説明を省略したが、ページ１の印刷環境のみは、１つ目の描画命令を処理する際に記憶するものとする。
【００７０】
図５のフローチャートに戻って、続くステップＳ５２０にて、レンダリングと生成済みビットマップ画像の格納を行う。すなわち、既知のバンディング方式に従って、１ページ分の描画オブジェクトと描画情報とを用いて、ページ内容を表現するビットマップ画像を描画すると同時に、描画済みのバンドのビットマップ画像をプリンタエンジン部１０５へビット信号として出力し、更にハードディスク３１０へファイルとして出力する。１ページ分のレンダリングとハードディスク３１０への格納が終了した後、次ページの印刷データを解析するためにステップＳ５０１へ戻る。
【００７１】
尚、本実施の形態では簡単のため、１ページ分のレンダリングを行った後、続く印刷データの解析を行うように構成したが、レーザビームプリンタ等の画像処理装置では、マルチタスク処理によって、レンダリングと印刷データの解析を同時に行えるように構成されているのが普通である。尚、前記ビットマップ画像は１ページ分を一時的にＲＡＭ内に保持しておき、１ページのレンダリングが終了した後に一括してハードディスク３１０内へ格納しても良いし、１バンド毎に順次格納しても構わない。
【００７２】
以上説明した処理手順によって、各ページを印刷すると同時に、ビットマップ画像をスプーリングし、更にページ情報、カレントグラフィック状態を生成し、印刷データと合わせてリプリントデータとしてスプーリングを行う。
【００７３】
（ジョブ終了命令の実行例）
まず、図１４を参照して、ジョブ終了命令により図１０のページ情報及び図１１の印刷環境がマージされたデータ構成例を説明する。
【００７４】
図１４は、図１０及び図１１のページ情報と印刷環境とをマージした構成を示しており、ジョブ終了時にリプリントデータとしてハードディスク３１０へ格納されるデータ構成である。同図において、６０１は１３０１に相当するジョブＩＤ、６０３は１３０２に相当する総ページ数ｎ、６０６は１３０３に相当するページ１の開始位置、６０７、６０８はそれぞれ１３０４、１３０５に相当する印刷環境のデータサイズと実際の印刷環境である。６０５は該印刷ジョブ全体に渡って共通な印刷環境であるジョブ環境であって、印刷データとしてＰＤＬデータを覆う形式で指定されるジョブ制御言語（ＪＬ）の指定内容から構成される。ジョブ環境としては、例えば、印字解像度、印刷モード（両面／片面）や綴じ幅、綴じ方向、ステープル指定の有無、排紙口（フェースアップ／フェースダウン）といった項目が含まれる。６０４は前記ジョブ環境のデータサイズ（バイト数）であり、６０２は前記全データの総和である。尚、前記ジョブ環境は、ＰＤＬ開始時にワークメモリ等に記憶しておく。
【００７５】
次に、図１５を参照して、ＰＤＬデータを解析した結果生成されるページ画像（バンドラスタ）を、シップ後にリプリントデータとしてハードディスク３１０へ格納する際のデータ構成を示す。
【００７６】
同図において、１４０１は１３０１等と同じジョブＩＤ、１４０３は総ページ数ｎ、１４０６はページ１のページ画像サイズの総和、１４０７はページ１のバンド数、バンド幅、各バンドラスタのバイトサイズ（バンド数の分だけのテーブルとする）など、ページ毎に異なる情報部、１４０８は実際のページ画像（バンド数分）である。以下、ページ２以降の各ページ画像及び情報部が順に格納されている。尚、前記情報部１４０７には、前記以外に例えば、印字解像度や階調（多値画像の場合のみ）や、表面／裏面のどちらに印刷されたかを示すフラグ、バンドラスタを圧縮する場合は該圧縮形式といった項目も含まれるが、ジョブ内では印字解像度を変更できないように構成した場合には、印字解像度はページ毎に用意しなくても良い。１４０２は前記全ページ画像のデータサイズ（ページ１サイズ〜ページｎサイズの総和）であり、ジョブ終了時に最終的な値が記憶される。
【００７７】
図１３のフローチャートを用いて、印刷命令としてジョブ終了命令を受信した場合の処理手順を説明する（図５のステップＳ５１６の処理に対応している）。同図において、まずステップ１２０１において、図１４の６０１〜６０５に相当するヘッダ情報をハードディスクへ書き出す（同一ジョブＩＤの印刷データに追加する）。尚、この時点で、予めページ情報総サイズ６０２を求めておいても良いし、領域を確保するために不定値を書き出しておき、以下のステップ１２０２〜１２０５を繰り返す間に和を求め、ループの最後で設定しても良い（本実施例は後者）。また、総ページ数６０３は、ジョブ終了時点における処理済みページ数を用いれば良い。
【００７８】
続くステップ１２０３にて、前記ページ情報（図１０）と印刷環境（図１１）をマージする。すなわち、ページ情報格納部３０５ｂと印刷環境格納部３０５ｄより、処理中の印刷ジョブと同じジョブＩＤを持ったページ情報と印刷環境をそれぞれ読み出し、図１４に示したような、各ページ単位にまとめた構成となるように組み替えを行い（ステップ１２０３）、同一ジョブＩＤを持つハードディスク内の印刷データの後ろに追加して書き出す（ステップ１２０４）。この時、ハードディスクに空きがなくなったかどうかを調べ（ステップ１２０５）、ディスクフルでなければ次のページ分の処理を行うために、ステップ１２０２へ戻る。
【００７９】
一方、ディスクフルが発生した場合は、パネル等にエラーを表示し（ステップ１２０６）、ハードディスクに書き出し済みのページ画像、印刷データ、及びページ情報／印刷環境を削除し（ステップ１２０７）、続いてＲＡＭ３０５内のマージ前のページ情報／印刷環境を全て削除する（ステップ１２１３）。尚、図では説明を省略したが、ステップ５０６における印刷データの書き出し時にも、ディスク容量のチェックを行っている。さらに、本実施形態例ではディスク容量不足時には、エラーを表示して処理を終了したが、ページ画像のみを削除し、印刷データとページ情報／印刷環境のみを残すように構成しても良い。
【００８０】
エラー発生がないまま、全ページ分の書き出しが終わった場合は、ステップ１２０８にて、前記ページ情報と印刷環境の総サイズを、６０２の領域へ書き込む（上書きする）。続くステップ１２０９にて、印刷データの総サイズ（この時点における処理済みデータサイズ）をハードディスク内の１１０３に相当する領域へ上書きし、さらにページ画像総サイズを１４０２を設定する（ステップ１２１０）。続くステップ１２１１にて、ページ画像を前記ページ情報／印刷環境の後に追加（移動）し、最後にリプリントデータ全体のデータサイズ（前記印刷データ、ページ情報／印刷環境、画像データの総サイズの総和）を１１０２の領域へ上書きする（ステップ１２１２）。最後に、ＲＡＭ３０５内のページ情報と印刷環境を削除し、処理を終了する（ステップ１２１３）。
【００８１】
上記の処理手順によって、特定のジョブＩＤを持つ印刷ジョブに対するリプリントデータがハードディスク内へ格納される。
【００８２】
図１６は、ハードディスク３１０へ格納されるリプリントデータ全体の構成を示す図である。同図において、図６のジョブ開始時には未定であったリプリント総サイズ１１０２と印刷データサイズ１１０３、印刷データ１１０４、ベージ情報／印刷環境１１０５、ページ画像１１０６が確定している。又、図１４に示したページ情報／印刷環境をマージした構成が、図１６の１１０５に相当し、図１５のページ画像の構成が図１６の１１０６に相当している。
【００８３】
ただし、ジョブＩＤ等の同一内容の項目は重複して格納しなくても良い。尚、前記リプリントデータに対しては、既知のディスク管理方法に従って、ハードディスク内で一意に定まるファイル名称を付し管理する（例えばジョブＩＤが１００である印刷ジョブに対して、"ＲＤ００１００"というファイル名称にて識別する）。また、本実施形態例では印刷データ、ページ情報／印刷環境、画像データを１つのファイルにまとめて格納するように構成したが、これに限らず、管理テーブル等を別に用意し、図１４、図１５に示した単位で個別に管理するようにしても良い。
【００８４】
＜本実施の形態の画像処理装置のリプリントジョブ動作例＞
（リプリントジョブ命令の構成例）
図１７を用いてホストコンピュータから本画像処理装置に対してリプリントを実行する印刷ジョブを構成する印刷命令の形式を説明する。
【００８５】
リプリント印刷ジョブは最初と最後はＪＬ(Job Language)という言語で構成されており、印刷ジョブ内で一律な各種環境（ジョブ環境）を指定する以下の命令群を含む。ここでは、簡単のためジョブ環境は図４と同じとして説明する。
・印刷ジョブの開始を示すジョブ開始命令（パラメータとしてジョブＩＤ＝ＪＯＢＩＤ'が指定される。）
・後続のＰＤＬデータ形式の印刷データを処理すべき印字解像度を設定する印字解像度指定命令（本実施の形態では６００ｄｐｉ）
・用紙を綴じる際に印刷内容の用紙上マッピング位置を指定する綴じ幅設定命令（５ｍｍ）、綴じ方向設定命令（左綴じ）
・印刷を用紙の片面に行うか両面に行うかを指定する印刷面指定命令（両面）
・排紙口選択命令（排紙口１＝フェースダウン）
・印刷データを処理するためにＰＤＬ解析処理プログラムの起動を指示するＰＤＬ以降命令（ＬＩＰＳを起動）
ここまでがＪＬコマンド（以下、ジョブ環境設定命令と記す）であって、これからはＰＤＬで書かれる。
・ＰＤＬデータの開始を示すＰＤＬデータ開始命令
・各ページの用紙サイズを選択する用紙サイズ選択命令（Ａ４）
：
・リプリント時のモードを指定するリプリントモード設定命令（モード＝１）
・該印刷ジョブがリプリントを指示していることを示すリプリント指示命令（ジョブＩＤ／開始ページ番号／終了ページ番号）
ここで、リプリントモード＝０は、全ページを通常ジョブ時と同じ順序でリプリントすることを示し、以下同様に、１＝部分印刷、２＝逆順印刷、３＝逆順かつ部分印刷、４＝ランダム印刷、をそれぞれ示す。又、リプリント指示命令のパラメータは、前記リプリントモードに応じて、以下のように異なる。すなわち、モード０＝パラメータ不要、モード１＝開始ページと終了ページ、モード２＝パラメータなし、モード３＝開始ページと終了ページ、モード４＝リプリントするページ総数と、ページ番号の配列、などのように解釈される。（指定されたページ以降の全ページをリプリントするようなモードを設けても良い。）
：
・ＰＤＬデータの終了を意味するＰＤＬデータ終了命令、
・ＪＬによる、印刷ジョブの終了を定義するジョブ終了命令
尚、上述した構成のうち、何らかの描画命令の後に発行されたリプリント指示は無効とするように構成されている（通常の印刷ジョブとして印刷される）。又、リプリントを指示する印刷ジョブにおいて、ジョブ環境として指定されていない項目があれば、通常の印刷ジョブと同じジョブ環境として処理を行う。
【００８６】
（リプリントジョブの処理手順：ジョブ環境やページ情報をチェックする例）図１８のフローチャートを用いて、図１７に示したリプリント指定の印刷ジョブを受信した場合の処理手順を説明する。ただし、リプリント指定でない通常の印刷ジョブと同様の処理ステップ（９０１，９０２）は説明を省略する。また、本実施形態例では、印刷ジョブの一部のみを印刷する、部分印刷が指定されている場合に限定して説明する。
【００８７】
まずステップＳ９０３では、ジョブ制御言語によるジョブ環境設定命令かどうかを調べ、そうであれば、指定されたジョブ環境をワークメモリに記憶しておく（ステップＳ９１６）。ここで、前記ジョブ環境は、通常の印刷ジョブに対するジョブ環境６０５と同様の項目から構成されているが、設定内容（例えば印字解像度）は異なっていても構わない。一方、ジョブ環境設定命令でなければ（すなわちＰＤＬデータであれば）、リプリントモード設定命令かどうかを調べる（ステップ９０４）。リプリントモード設定命令であれば、ステップＳ９１８にて、該命令のパラメータで指定されたリプリントモードを調べる。例えば、ここではモード＝１が指定されているため、部分印刷が指定されたものと解釈する。
【００８８】
一方、リプリントモード設定命令でなければ、ステップＳ９０５にてリプリント指示命令かどうかを調べ、そうでなければ、用紙サイズ設定命令やＰＤＬデータ終了命令等、他の印刷命令として解析し、予め定められた処理を行う（ステップ９１７）。
【００８９】
一方、ステップＳ９０５にてリプリント指示命令であれば、前記リプリントモードによって部分印刷が指定されていると解釈し、パラメータをジョブＩＤ、開始ページ、終了ページとして処理する。そして、パラメータで指定されたジョブＩＤを持つリプリントデータがハードディスク内に格納されているかどうかを検索し（ステップＳ９０６）、見つからなければ次の命令の処理へ進む（この時、エラーを表示しても良いし、同時に開始ページ／終了ページのパラメータチェックを行っても良い）。一方、指定ジョブＩＤのリプリントデータが見つかった場合は、指定された前記開始ページ／終了ページと、ジョブ環境の差分から、ページ読み出し範囲と読み出し順序を決定する（ステップＳ９０７）。例えば、通常ジョブの印刷環境６０５とリプリント指定時のジョブ環境とを比較した結果、排紙口選択命令によって排紙時のフェースが変更されていると判断された場合は、実質的には部分印刷を逆順で処理することになる。尚、本実施形態例では、通常印刷ジョブと同じ印刷順序でリプリントが指定されたものとして説明を進める。
【００９０】
以下、ステップＳ９１０〜９１５、及び９１９では、パラメータで指定された終了ページになるまで、印刷データの解析、あるいはページ画像の読み出しによってリプリントを行う。すなわち、ステップＳ９０８において、印刷終了ページであるか調べ、印刷終了ページでない場合は、ステップＳ９０９において、これから処理するページについて、ページ画像が再利用可能かどうかを調べる。ステップＳ９０９で再利用可能であると判断された場合、ステップＳ９１９において、該当するページ画像をハードディスクから読み出し、バンドバッファ３０５ｃへ複写する（圧縮されている場合は伸長処理も行う）。一方、再利用不可能であると判断された場合は、該当ページのページ情報及び印刷環境（６０６，６０８）をハードディスクから読み出し（ステップＳ９１０）、印刷環境を設定する（ステップＳ９１１）。その後、該当ページの印刷データを読み出し解析して、対応する描画オブジェクト及び描画情報を生成し（ステップＳ９１２，９１３）、ページ画像を生成／出力する（ステップＳ９１４）。最後に、ステップＳ９１５にて、出力済みのページ数を更新（インクリメント）し、次のページの処理へ進む。尚、ステップＳ９１２〜９１４の各ステップは、リプリント指示でない通常の印刷ジョブを処理する際と全く同じ手順で行えば良い。
【００９１】
このように、再印刷する場合に、ページ単位にハードディスクに格納されているページ画像を利用して印刷するか、ハードディスクに格納されている該当ページのページ情報及び印刷環境を読み出してページ画像を生成して印刷するかを切り替えて処理することにより、ページ画像を利用できる場合は高速に印刷処理することが可能となり、一方、ページ画像を再利用できない場合でもページ情報からページ画像を生成して印刷するので、どのような場合であっても再印刷することが可能になる。
【００９２】
例えば、綴じ幅が指定された両面指定の印刷ジョブを、同じ綴じ幅で片面にリプリントする場合であれば、前記ステップＳ９０９において、奇数ページ（元々表面に印刷されていたページ）はページ画像を再利用可能と判断され、偶数ページ（元々裏面に印刷されていたページ）はＰＤＬデータの再解析が必要であると判断される（綴じ幅の設定によって、両面時の表面／裏面とでは逆方向に画像がずれるため）。
【００９３】
（０以外の綴じ幅が指定された印刷ジョブに対するリプリント指示の例）
以下、図２１と、図２２のフローチャートを用いて、０以外の綴じ幅が指定された印刷ジョブに対して、印刷面指定（両面印刷あるいは片面印刷）を変更してリプリント指示した場合の処理手順について説明する。尚、本実施形態例ではハードディスクへ格納する際のジョブ環境として印刷面指定＝両面／綴じ幅＝８ｍｍ／綴じ方向＝左綴じが指定されており、リプリント時のジョブ環境として印刷面指定＝片面／綴じ幅＝８ｍｍ／綴じ方向＝左綴じが指定されているものとする。
【００９４】
まず図２１は、０以外の綴じ幅が設定された場合の印刷結果を示した模式図であって、同図において２１０１、２１０３は、それぞれ両面指定時の奇数ページ（表面）、偶数ページ（裏面）の様子を、また２１０５、２１０７は片面指定時の各ページ（すべて表面）の様子を示している。この図からわかる通り、綴じ幅を指定した場合は印字内容がオフセットされるが、両面印刷時の表面と裏面とでは画像のずれる方向が逆になっている。また、同図の２１０２、２１０４、２１０６、２１０８は、用紙上の印字可能な領域すなわち有効印字領域を示しており、ここでは用紙端から上下左右それぞれ５ｍｍずつ内側に入った領域であるとする。描画オブジェクトをラスタライズするためのバンドバッファ３０５ｃは、前記有効印字領域に一致するよう割り当てられており、描画情報（アプリケーション）８０５内の印字位置はバンドバッファ左上端を原点として設定されている。さらに前記印字位置は、ＰＤＬ内の各描画命令で指定される印字位置とジョブ環境にて設定されている綴じ幅を足し合わせて算出されるため、綴じ幅を変更するとラスタライズされるページ画像そのものも異なったものとなる。従って、両面印刷時の裏面のページ画像は、綴じ幅が同じ片面印刷時のページ画像と同じではない。
【００９５】
図２２のフローチャートは、リプリント指定時にハードディスク内に格納済みの各ページ画像１１０６が再利用可能か否かを判定する手順を示しており、図１８のステップＳ９０９〜Ｓ９１４、及びＳ９１９に相当する。同図の各ステップにおいては、ハードディスク内に格納されたジョブ環境６０５と、リプリント指示を行う印刷ジョブのジョブ環境とを比較することで、ページ画像が再利用可能か否かを判断している。以下にその詳細を説明する。
【００９６】
はじめに、同図のステップＳ２２０１において、複数ページ印刷（割り付け印刷あるいはＮ−ｕｐ）の指定が同じかどうかを調べる。前記複数ページ印刷の指定が「４ページ／用紙」（４−ｕｐ）である場合は、１シートすなわち用紙面を４分割した領域に各ページが収まるよう、ＰＤＬ指定による各ページの印刷データを縮小して描画オブジェクトを生成する。前記複数ページ印刷の設定が異なる場合は、異なるページ画像を生成・出力する必要があるため、ステップＳ９１０〜Ｓ９１４に相当するステップＳ２２０２において該当ページの印刷環境６０８を読み出し設定した後、ＰＤＬデータを解析・レンダリングしてリプリント処理を行う。
【００９７】
一方、ステップＳ２２０１にて複数ページ印刷設定が同じであると判断された場合は、続くステップＳ２２０３以降にて綴じ幅と印刷面に関して比較を行う。すなわち、ステップＳ２２０３にて印刷モード（片面印刷あるいは両面印刷）が同じか否かを比較し、同じであればさらに綴じ幅及び綴じ方向が同じか否かを比較し（Ｓ２２０７）、これらのジョブ環境が全て同じであれば格納済みページ画像は再利用可能と判定され、印字のためにハードディスクから読み出される（Ｓ９１９に相当するＳ２２０８）。一方、印刷モードが同じでない場合は、続くステップＳ２２０４にて綴じ幅が０か否かを調べる。綴じ幅の値が格納時・リプリント指定ともに０である場合（あるいは綴じ幅指定がない場合）は、印刷面に関係なくページ画像は再利用可能と判断される。
【００９８】
一方、どちらかの綴じ幅が０でない場合（Ｓ２２０４の結果がＮｏの場合）は、ステップＳ２２０５以降に示したように表面／裏面かによってさらに処理が分岐する。まさに出力しようとしているページが裏面であった場合（Ｓ２２０５の結果がＹｅｓの場合）は、綴じ幅の指定によらずページ画像は異なると判断し、ＰＤＬを再解析するためにステップＳ２２０２へ進む。
【００９９】
尚、ここでは裏面であれば常にページ画像は再利用不可と判断したが、綴じ幅が同じで綴じ方向がちょうど逆に再設定されている場合はページ画像は再利用可能であるため、条件判断を追加してページ画像の再利用頻度を高めても構わない。ただし、このようなケースでは逆に表面のページ画像が再利用できないため、ステップＳ２２０６が真と判断された後にさらに条件判断を追加する必要がある。一方、処理中のページが表面であった場合は、綴じ幅及び綴じ方向が同じか否かを調べ（Ｓ２２０６）、同じであればページ画像を再利用、同じでなければ該当ページのＰＤＬデータからページ画像を生成し直す。
【０１００】
上記に詳述した通り、個々の印刷条件（ジョブ環境）ごとにページ画像が再利用可能か否かを判断し、その判断結果に基づいてページ画像あるいはＰＤＬデータを適宜参照してリプリント処理を行う。さらに、ＰＤＬデータの解析を再度行う場合であっても、ＰＤＬ内における各ページの開始位置６０６、及び印刷環境６０８を参照することで、ＰＤＬを先頭から再解析する手間なく、高速にリプリント処理を行うことができる。
【０１０１】
尚、本実施形態例では説明のため、Ｎ−ｕｐ指定、印刷モード、綴じ方向及び綴じ幅の各指定内容を基準としてページ画像が利用可能か否かを判断したが、通常は上記条件の他、カラーモードや印字解像度等の各種印刷条件についても比較を行うことになる。
【０１０２】
上記に説明した手順によって、ページ画像を再利用不可能なページに対してのみ、印刷データの再解析を行うため、任意のページから高速にリプリント処理を行うことが可能となる。
【０１０３】
（リプリントジョブの処理手順：ジョブ環境を変更した部分印刷の例）
続いて、ＰＤＬデータ格納時のジョブ環境とは異なる指定でかつ部分印刷が指定されたリプリントジョブの具体例について、図２３及び図２４を用いて説明する。説明のために本実施形態例では、ジョブ環境としてＮ−ｕｐの指定内容を変更してリプリントを行う場合を示す。
【０１０４】
図２３は、Ｎ−ｕｐの指定による出力結果（用紙１枚分）の様子を表しており、２３０１が「２ページ／用紙」を指定した際の１ページ目と２ページ目を、２３０２が「４ページ／用紙」を指定した際の１〜４ページ目の出力結果一例をそれぞれ示している。同図に示した通り、ジョブ属性としてＮ−ｐｕ指定（出力ページフォーマット）を変更した場合は、描画すべき文字のサイズやレイアウトが異なるため、ＰＤＬデータ受信時と共にＨＤＤに保持したページ画像１１０６をそのまま再利用することはできない。
【０１０５】
ここで、前記Ｎ−ｕｐの指定は、図１７等に示したジョブ環境設定命令（ＪＬ言語）で行うよう構成されており、例えば「２ページ／用紙」であれば「ＮＵＰ＝２ｉｎ１」のように指示されている。そしてこの指示内容は、そのままジョブ環境６０５内に格納され、格納されているページ画像が再利用可能か否かの判断条件の一つとしてリプリントジョブの指定内容と比較される。また、この時ＰＤＬで記述される描画内容は、Ｎ−ｕｐ指定がない場合あるいはＮ−ｕｐとして「１ページ／用紙」が指示された場合と全く同じ内容であるものとする。そして描画データ解析部３０３ｂは、前記Ｎ−ｕｐの指示内容に応じた縮小率と、各ページを用紙内に配置する位置すなわちレイアウトを決定し、個々の描画命令にて指定された文字サイズや描画位置を補正しながら描画オブジェクト８０６及び描画情報８０５を生成する。
【０１０６】
また、本実施形態例ではリプリントモード＝１によって部分印刷が指定されているものとし、その際のリプリント指示命令のパラメータとして、開始ページ及び終了ページがそれぞれ指定されている。ここでは、開始ページは５、終了ページは８であって、「４ページ／用紙」指定によって５から８の４ページ分の内容が１枚の用紙に出力される場合について説明する。この時のリプリント処理の手順は、図１８のフローチャートに従った動作となるが、ステップＳ９０７において決定されるページ範囲は前記開始ページ及び終了ページから「５〜８」となり、Ｓ９１５におけるページ数の更新は昇順、すなわち処理済みページ番号を１ずつインクリメントすることになる。さらに、ステップＳ９０９におけるページ画像再利用可能か否かの判断処理では、先に説明した通り、ジョブ環境のＮ−ｕｐ指定内容が異なるため、全てのページにおいて「ページ画像再利用不可」と判断され（判断結果は常にＮｏとなる）、ステップＳ９１０〜Ｓ９１４に相当する各ステップにおいて該当するページを記述したＰＤＬデータが読み出され、リプリントジョブにて指定されたジョブ環境に従って解析される。
【０１０７】
ここで、ステップＳ９１０及びＳ９１１の処理内容について、図２４を用いてさらに説明する。同図は図１６と同様、リプリントデータ全体の構成を示しており、同じ要素については同一符号を付している。尚、同図ではページ情報１１０５内の各ページ開始位置６０６と、印刷データ（ＰＤＬデータ）１１０４との関係を示しており、ページ開始位置としてＰＤＬデータ先頭からのバイトオフセット値が格納されている。それぞれのページ開始位置は各ページ画像生成時までに処理したＰＤＬデータのバイト数から求めることができる。ここでは具体的には、１ページ目が「１」、２ページ目が「１０２４」、最終ページであるｎページ目が「３０３２１」バイトであるが、個々の値は記述するＰＤＬ（描画内容）に応じて変化するのは言うまでもない。
【０１０８】
部分印刷が指定されたリプリント時には、同図の印刷データサイズを元にページ情報先頭部を求め、ここからさらにジョブ環境サイズと各ページの印刷環境サイズから出力すべきページの開始位置６０６を求める（Ｓ９１０）。続いて、先ほど求めた開始位置の直後に格納されている該当ページの印刷環境６０８を読み出し、カレントグラフィック状態として設定する。そして、開始位置６０６で示されているバイト位置からＰＤＬデータの解析を行う。
【０１０９】
尚、ＨＤＤ内に格納されたリプリントデータそのものにＮ−ｕｐ（ここでは「２ページ／用紙」）が指定されていた場合は、印刷環境６０６には、「２ページ／用紙」指定に相当する縮小率や座標変換がなされた印字サイズや印字位置（ＣＡＰ）情報等が格納されているため、一旦非Ｎ−ｕｐ指定状態の値に戻した上で「４ページ／用紙」に対応する情報に書き換える必要があるが、非Ｎ−ｕｐ指定状態の値に戻す処理はＮ−ｕｐ印刷を行う場合の逆変換で良いため、ここでは詳細説明を省く。
【０１１０】
尚、本実施形態例では説明のため、ページ毎に印刷環境６０８をＨＤＤから読み出し、カレントグラフィック状態として設定した上で該ページのＰＤＬ解析を行うよう構成したが、印刷順序が昇順のリプリントモードであれば、リプリント開始ページのみ前記印刷環境を読み出して設定すれば良いため、その後のページについては印刷環境を読み出さないよう構成しても構わない。このように処理することで、部分印刷指定のリプリントをさらに高速に出力することができる。
【０１１１】
（リプリントジョブの処理手順：その他の部分印刷の例）
図２５は、前記例と同様、部分印刷を指定したリプリントであるが、ジョブ環境としては格納時と同じ「４ページ／用紙」が指定された場合を示している。
【０１１２】
同図の２５０１は、リプリントデータとしてＨＤＤに格納されたページ画像のうち最初の３枚（１〜１２ページ）の内容を示しており、２５０２は開始ページ＝４、終了ページ＝１１が指定された部分印刷の出力結果をそれぞれ示している。同図に示したように、同じＮ−ｕｐ指定であっても、用紙内の途中ページから開始する場合や用紙内の途中ページで終了する場合は、部分印刷の先頭用紙（２５０３）や最終ページ（２５０５）は格納済みページ画像１１０６を再利用できない場合があるが、途中の用紙（２５０４）は格納済みページ画像をそのまま再利用可能であるため、該当ページ画像を読み出して出力するだけで良い。また、ページ画像１１０６が再利用可能かどうかは、用紙内の途中ページから部分印刷が開始指定されているかをまず調べる。すなわち、リプリントモードのパラメータである開始ページが「４ｎ＋１」（ｎは０以上の整数）でなければ、用紙内の途中から始まると判断でき、リプリント処理中のページ数が「４（ｎ＋１）＋１」になるまでは「ページ画像再利用不可」と判断し、ＰＤＬデータを再度解析してリプリント処理を行う。
【０１１３】
尚、本実施形態例では部分印刷で指定された範囲外のページは描画しないよう構成したため、前述の通り、同じＮ−ｕｐ指定であってもページ画像が再利用できない場合があったが、同一用紙に含まれるページは全て描画しても構わない場合は、全ての用紙についてページ画像１１０６を再利用して、高速にリプリント処理するよう構成しても構わない。
【０１１４】
このように、ページの途中から部分印刷を行う場合に、印刷属性が変更されていない場合は、ハードディスクに格納されているページ画像を用いて高速印刷を行い、印刷属性が変更されている場合には、ハードディスクに格納されているページ情報と印刷設定からページ画像を再生成して印刷を行うことで、どのような再印刷にも対応できる画像形成装置を提供することが可能となる。
【０１１５】
（リプリントジョブの処理手順：ジョブ環境やページ情報をチェックしない例）
上記図１８の例においては、リプリントが指定された印刷ジョブと、ハードディスク内にスプール済みのリプリントデータとで、ジョブ環境やページ情報を比較し、各ページのページ画像が再利用可能であるかどうかを比較しながらリプリント処理を行ったが、リプリントモードの指定内容によっては、前記ページ情報等を比較することなく、同一内容を単純に再出力するように指定しても良い。
【０１１６】
このようなプリントの処理手順について、図１９のフローチャートを用いて説明する。
【０１１７】
同図において、ステップ１５０１〜１５１９は、図１８の各ステップＳ９０１〜Ｓ９１９と基本的には同様に処理すれば良いので、詳細な説明は省略する。
【０１１８】
本実施形態例では、リプリントモードとして、−１と−２を追加して指定可能なように構成されているものとし、これらのモードの時は、全ページにおいてページ画像が再利用可能であるものとして処理する。さらに、前記リプリントモードが−１の場合は、格納順に全ページをリプリントすることを示し、−２が指定された場合は、全ページを格納された順とは逆に、最後のページからリプリントを行う。本実施形態例では、リプリントモード＝−１が指定された場合について説明する。
【０１１９】
同図において、受信バッファから読み出した印刷データがリプリント指示命令であって（ステップ１５０５）、パラメータで指定されたジョブＩＤに相当するリプリントデータがハードディスクに格納済みであれば（ステップ１５０６）、続くステップ１５０７にて、リプリントモードに従ってページ読み出し順序を決定する。すなわち、リプリントモードは−１であるので、リプリントを開始するページはページ１、終了は該印刷ジョブの最後のページとなる。
【０１２０】
続いて、ステップ１５２０において、リプリントモードが０以上か０以下かによって、処理を分ける。０以上の場合は、実施例１に示した通り、ジョブ環境とページ情報を各ページ毎に比較し、リプリント指定時の環境においてページ画像が再利用可能かどうかを調べながら、リプリントを行う。一方、リプリントモードが０以下の場合は、ステップ１５２１〜１５２３において、環境を比較することなく、格納済みのページ画像を用いてリプリント（複数部数印刷）を行う。すなわち、ステップ１５２１にて、終了ページまでリプリントを終えたかどうかを調べ、そうであればリプリントの処理を終了し、次の印刷データを処理するためにステップ１５０１へ戻る。一方、リプリント処理が完了していなければ、シップ動作と同時に各ページ画像をハードディスクから読み出し、リプリント処理を行う。最後に、ステップ１５２１での判断で用いられる処理済みページ数を更新（インクリメント）し（ステップ１５２３）、次のページの処理へ進む。
【０１２１】
尚、図では説明を省略したが、リプリントモードが−２の場合は、ステップ１５０７においては、開始ページと終了ページを入れ替え、終了ページとして指定されたページからリプリント処理を開始する。また、ステップ１５２３におけるページ数の更新は、インクリメントではなく、デクリメントになる。上記以外のステップは、リプリントモードが−１の場合と同じで良い。
【０１２２】
上記に説明した手順によって、単純に同一内容をリプリントする場合は、ジョブ環境等を比較することなく、生成済みのページ画像を用いて高速にリプリント（複数部数印刷）を行うことができる。
【０１２３】
尚、本実施の形態の説明では、リプリントが逆順印刷やブック印刷（ランダム）などページ読み出し順が最初の印刷処理と異なる場合についての詳細な説明はしなかったが、本実施の形態のシステム構成、各データ構成、フローチャートを参照すれば、上記読み出し順が変わる種々のモード、あるいは他の全てのリプリントのモード設定においても実施が可能なことが明らかであり、これらも本発明の範囲に含まれるものである。
【０１２４】
又、本発明は、複数の機器（例えばホストコンピュータ、インターフェース機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。
【０１２５】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１２６】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１２７】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明した（図５、図１３、図１８、図１９、図２２に示す）フローチャートに対応するプログラムコードが格納されることになる。
【０１２８】
【発明の効果】
本発明により、大容量の記憶装置を必要とせずに、同じ印刷データから様々な出力形式の異なるリプリントが簡単に高速に実行できる画像処理方法及びその装置を提供できる。
【０１２９】
すなわち、本発明によれば、１回目の印刷を行う際に、ＰＤＬデータとビットマップ画像を合わせてスプーリングし、リプリント時に印刷環境が変更されたかどうかを判別することで、一度生成した１ページ分の内容を表すビットマップ画像が再利用であれば、前記ビットマップ画像を再利用し高速にリプリントを行う一方、ページ内容が異なってしまうようなリプリント時のみ、前記ＰＤＬデータを再解析して印刷することで、リプリント時の処理速度を向上することが可能となる。
【０１３０】
また、本発明によれば、ＰＤＬデータ中のページ開始位置、並びに各ページ開始時点におけるカレントグラフィック状態をも保持することで、種々のカレントグラフィック状態をページ間で引き継ぐことが可能なＰＤＬを用いた画像処理装置においても、印刷ジョブの先頭から順にデータを解析する必要がなくなるため、印刷ジョブの途中のページから一部分を印刷するようなリプリントを高速に処理することが可能となる。
【０１３１】
また、印刷環境が変更された場合のみビットマップ画像を再利用しないため、綴じ幅が設定された両面印刷を片面印刷に変更してリプリントするような場合に、裏面であったページのみＰＤＬデータを再解析し、表面であったページはビットマップ画像を再利用するといったことが可能となる。
【図面の簡単な説明】
【図１】本発明を適用可能なレーザビームプリンタの概略構成を説明するブロック図である。
【図２】本実施の形態に示すレーザビームプリンタの内部構造を示す断面図である。
【図３】本実施の形態に示す画像処理装置の制御ユニット（コントローラ部）の基本構成を説明するブロック図である。
【図４】ホストコンピュータから本画像処理装置に対して通常のプリントを実行する印刷ジョブ（印刷コマンド）の一例を示した図である。
【図５】本実施の形態に示す画像処理装置におけるリプリント指示のない通常の印刷データの処理手順を表すフローチャートである。
【図６】ジョブ開始命令を受信した際にハードディスク３１０に確保されるリプリントデータ全体の構成を示す図である。
【図７】１ページ分の描画オブジェクト格納部３０５ａの内容を示すメモリマップを示す図である。
【図８】描画情報／描画オブジェクト間のリンク構成の概略を示すブロック図である。
【図９】描画情報の構成を示す図である。
【図１０】図５のステップＳ５１８で生成されるページ情報の構成を示した図である。
【図１１】図５のステップＳ５１９で生成される印刷環境の構成を示した図である。
【図１２】図５のステップＳ５１９にて生成される印刷環境（カレントグラフィック状態）のより詳細な構成を示した図である。
【図１３】本実施の形態における印刷命令としてジョブ終了命令を受信した場合の処理手順（図５のステップＳ５１６）を示したフローチャートである。
【図１４】図１０及び図１１のページ情報と印刷環境とをマージした構成（ハードディスクに構成される際の形式）を示した図である。
【図１５】ＰＤＬデータを解析した結果生成されるページ画像のハードディスク３１０へ格納する際のデータ構成を示す図である。
【図１６】ジョブ終了命令を受信した際にハードディスク３１０へ格納されるリプリントデータ全体の構成を示す図である。
【図１７】ホストコンピュータから本画像処理装置に対してリプリントを実行する印刷ジョブ（印刷コマンド）の一例を示した図である。
【図１８】本実施の形態における印刷命令としてリプリント指示命令を受信した場合の処理手順を示したフローチャートである。
【図１９】本実施の形態における印刷命令としてリプリント指示命令を受信した場合の他の処理手順を示したフローチャートである。
【図２０】通常の２ページ印刷（ａ）とブック印刷の場合（ｂ）のページ順序について説明した図である。
【図２１】綴じ幅が設定された場合の印字結果を、両面印字と片面印字の両ケースについてページ単位で示した模式図である。
【図２２】本実施形態例におけるリプリント指定時に、各ページ画像が再利用可能か否かを判定する手順を示したフローチャートであり、印刷モード（両面／片面）を変更してリプリント指示する場合について説明した図である。
【図２３】本実施形態例における、Ｎ−ｕｐ指定による出力結果（用紙１枚分）の様子を表した模式図である。
【図２４】ジョブ終了命令を受信した際にハードディスク３１０へ格納されるリプリントデータ全体の構成と、PDLデータと各ページの開始位置との関係を示す図である。
【図２５】  N-up指定されたリプリントデータのページ画像例と、前記リプリントデータに対して部分印刷を指定した場合の出力結果例を示した図である。
【図１】
0004393076.tif 000002
【図２】
0004393076.tif 000003
【図３】
0004393076.tif 000004
【図４】
0004393076.tif 000005
【図５】
0004393076.tif 000006
【図６】
0004393076.tif 000007
【図７】
0004393076.tif 000008
【図８】
0004393076.tif 000009
【図９】
0004393076.tif 000010
【図１０】
0004393076.tif 000011
【図１１】
0004393076.tif 000012
【図１２】
0004393076.tif 000013
【図１３】
0004393076.tif 000014
【図１４】
0004393076.tif 000015
【図１５】
0004393076.tif 000016
【図１６】
0004393076.tif 000017
【図１７】
0004393076.tif 000018
【図１８】
0004393076.tif 000019
【図１９】
0004393076.tif 000020
【図２０】
0004393076.tif 000021
【図２１】
0004393076.tif 000022
【図２２】
0004393076.tif 000023
【図２３】
0004393076.tif 000024
【図２４】
0004393076.tif 000025
【図２５】
0004393076.tif 000026