(57)【特許請求の範囲】
【請求項１】
外部装置から受信された印刷データの印刷を行う印刷装置であって、
前記印刷データを保存する第１の保存手段と、
前記保存された印刷データをイメージデータへ展開する展開手段と、
前記展開手段によって展開されたイメージデータを保存する第２の保存手段と、
前記展開手段によって展開されたイメージデータを用いて印刷する印刷手段と、
前記イメージデータへの前記展開に要する時間が所定時間よりも長いことに基づいて前記第２の保存手段に保存されたイメージデータを保存されたままにし、前記イメージデータへの前記展開に要する時間が前記所定時間以下であることに基づいて前記第２の保存手段に保存されたイメージデータを削除するよう制御する制御手段と、
前記印刷の後にユーザによってなされる前記印刷データの再印刷指示を受け付ける受け付け手段と、を有し、
前記再印刷指示が受け付けられたことにしたがって、前記印刷手段は、前記制御手段によって前記イメージデータが保存されたままであれば前記保存されているイメージデータを用いて印刷し、前記制御手段によって前記イメージデータが削除されていれば、前記第１の保存手段に保存されている印刷データから前記展開手段によって再度展開されたイメージデータを用いて印刷することを特徴とする印刷装置。
【請求項２】
前記制御手段は、前記印刷データが所定のページ数以下である場合に、前記第２の保存手段に保存されたイメージデータを保存されたままにすることを特徴とする請求項１に記載の印刷装置。
【請求項３】
前記制御手段は、前記印刷データのページ数を判定し、前記印刷データが所定のページ数以下である場合に、前記第２の保存手段に保存されたイメージデータを保存されたままにし、
前記印刷データが所定のページ数より多い場合に、前記イメージデータへの前記展開に要する時間を判定し、前記イメージデータへの前記展開に要する時間が前記所定時間よりも長いことに基づいて前記第２の保存手段に保存されたイメージデータを保存されたままにし、前記イメージデータへの前記展開に要する時間が前記所定時間以下であることに基づいて前記第２の保存手段に保存されたイメージデータを削除するよう制御することを特徴とする請求項１に記載の印刷装置。
【請求項４】
外部装置から受信された印刷データの印刷を行う印刷装置を制御する制御方法であって、
前記印刷装置の第１の保存手段が、前記印刷データを保存する第１の保存工程と、
前記印刷装置の展開手段が、前記第１の保存工程で保存された印刷データをイメージデータへ展開する展開工程と、
前記印刷装置の第１の保存手段が、前記展開工程で展開されたイメージデータを保存する第１の保存工程と、
前記印刷装置の印刷手段が、前記展開工程で展開されたイメージデータを用いて印刷する印刷工程と、
前記印刷装置の制御手段が、前記イメージデータへの前記展開に要する時間が所定時間よりも長いことに基づいて前記保存された前記イメージデータを保存されたままにし、前記イメージデータへの前記展開に要する時間が前記所定時間以下であることに基づいて前記第２の保存工程で保存されたイメージデータを削除するよう制御する制御工程と、
前記印刷装置の受け付け手段が、前記印刷の後にユーザによってなされる前記印刷データの再印刷指示を受け付ける受け付け工程と、
前記再印刷指示が受け付けられたことにしたがって、前記制御工程によって前記イメージデータが保存されたままであれば、前記第２の保存工程で保存されているイメージデータを用いて印刷し、前記制御工程によって前記イメージデータが削除されていれば、前記第１の保存工程で保存されている印刷データから前記展開工程で再度展開されたイメージデータを用いて印刷する再印刷工程と、
を有することを特徴とする印刷装置の制御方法。
【請求項５】
請求項１乃至３の何れか１項に記載の印刷装置の各手段としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一度印刷した印刷データを再印刷指示に従って再度印刷できる印刷装置及びその制御方法とプログラムに関する。
【背景技術】
【０００２】
あるドキュメントの印刷後に、同じドキュメントをもう一部印刷したいというユーザの要求がある。このような要求に対して、データ処理装置から印刷データを再送することなく、画像形成装置のパネル操作による再印刷（以降、リプリント）指示に従って、そのドキュメントの再印刷を行うリプリント技術がある（例えば、特許文献１）。
【０００３】
通常の印刷処理では、画像形成装置は、データ処理装置から受信した印刷ジョブを画像形成装置内の記憶装置に保存し、印刷処理が終了した後に、その保存した印刷ジョブを削除する。
【０００４】
これに対してリプリントモードでは、画像形成装置は、印刷処理が終了した後も、保存した印刷ジョブを削除せずに、記憶装置の空きがなくなるまで、リプリント対象の印刷ジョブを保存し続ける。これによりユーザは、再度、データ処理装置から印刷データを受信することなく、パネル操作によるリプリント指示によって、一度印刷した画像を再度印刷することができる。
【０００５】
リプリントモードでは、画像形成装置は、受信した印刷ジョブを記憶装置内のジョブスプール領域に自動保存していく。更に、自動保存された印刷ジョブの展開済みイメージデータを記憶装置のイメージスプール領域に保存しておき、リプリント時には、その保存されたイメージデータを使用することで、印刷開始から終了までの時間を短縮ことも提案されている。特許文献２では、印刷ジョブのＰＤＬデータだけでなく、所定ページ数分はＰＤＬデータを展開したイメージデータとして保存しておき、再印刷時にそのイメージデータによる印刷を行うことが記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００１−０６３１５８号公報
【特許文献２】特開２００９−１２２９２８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記従来技術は次に挙げる問題点を有している。一つ目は、記憶装置に記憶できるイメージデータの保存領域は限られており、総ページ数の多い印刷ジョブを保存すると、その記憶装置の容量が圧迫されてしまう。
【０００８】
二つ目は、ＰＤＬデータから展開するのにそれほど時間のかからない印刷ジョブであってもイメージデータで記憶装置に保存されてしまうため、貴重な記憶装置のメモリを使用しているにもかかわらず、再印刷時の高速化が期待できないという問題があった。
【０００９】
本発明の目的は、上記従来技術の問題点を解決することにある。
【００１０】
本発明の特徴は、再印刷時の高速化を維持しながら、保存するイメージデータのデータ量を少なく抑える技術を提供することにある。
【課題を解決するための手段】
【００１１】
上記目的を達成するために本発明の一態様に係る印刷装置は以下のような構成を備える。即ち、
外部装置から受信された印刷データの印刷を行う印刷装置であって、
前記印刷データを保存する第１の保存手段と、
前記保存された印刷データをイメージデータへ展開する展開手段と、
前記展開手段によって展開されたイメージデータを保存する第２の保存手段と、
前記展開手段によって展開されたイメージデータを用いて印刷する印刷手段と、
前記イメージデータへの前記展開に要する時間が所定時間よりも長いことに基づいて前記第２の保存手段に保存されたイメージデータを保存されたままにし、前記イメージデータへの前記展開に要する時間が前記所定時間以下であることに基づいて前記第２の保存手段に保存されたイメージデータを削除するよう制御する制御手段と、
前記印刷の後にユーザによってなされる前記印刷データの再印刷指示を受け付ける受け付け手段と、を有し、
前記再印刷指示が受け付けられたことにしたがって、前記印刷手段は、前記制御手段によって前記イメージデータが保存されたままであれば前記保存されているイメージデータを用いて印刷し、前記制御手段によって前記イメージデータが削除されていれば、前記第１の保存手段に保存されている印刷データから前記展開手段によって再度展開されたイメージデータを用いて印刷することを特徴とする。
【発明の効果】
【００１２】
本発明によれば、再印刷時の高速化を維持しながら、保存するイメージデータのデータ量を少なく抑えることができるという効果がある。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施形態に係る画像形成装置（印刷装置）を含む印刷システムの構成を示すブロック図。
【図２】実施形態に係るプリンタのコントローラの構成を説明するブロック図。
【図３】実施形態に係るプリンタのコントローラにおけるデータの流れを説明する図。
【図４】実施形態に係る保存ジョブ制御部が管理する保存ジョブ管理テーブルの一例を示す図。
【図５】実施形態において、パネルインタフェース部がリプリント指示を受け付けるためのＵＩ画面の一例を示す図。
【図６】実施形態に係るプリンタが印刷ジョブを受信して印刷するまでの処理を説明するフローチャート。
【図７】実施形態に係るプリンタによるリプリント実行時の処理手順を示すフローチャート。
【図８】図６のＳ１０９のイメージデータを保存するかどうかを決定するための処理を説明するフローチャート。
【発明を実施するための形態】
【００１４】
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【００１５】
図１は、本発明の実施形態に係る画像形成装置（印刷装置）１００を含む印刷システムの構成を示すブロック図である。
【００１６】
画像形成装置１００は、コントローラ１０２、操作パネル１０３、プリンタエンジン１０４を有している。またデータ処理装置（ＰＣ）１０１は、画像形成装置１００に印刷ジョブを送信するホストコンピュータとして機能しており、画像形成装置１００に対して、印刷ジョブとして印刷データや当該印刷ジョブの属性情報等を送信する。
【００１７】
本実施形態では、画像形成装置１００としてレーザビームプリンタ（以降、プリンタ）を用いている。本実施形態に係る画像形成装置１００は、レーザビームプリンタに限られるものではなく、インクジェットプリンタ等他のプリント方式のプリンタでもよいことは言うまでもない。コントローラ１０２は、データ処理装置１０１から供給される印刷データ（例えば、ページ記述言語（ＰＤＬ））に基づいて、ページ毎にラスタデータを生成してプリンタエンジン１０４に送出する。プリンタエンジン１０４は、コントローラ１０２から供給されるラスタデータに基づいて、感光ドラム上に潜像を形成し、その潜像を記録媒体上に転写・定着（電子写真方式）することにより画像を記録する。操作パネル１０３は、ユーザインタフェースとして使用される。コントローラ１０２は、操作パネル１０３を介してユーザからの所望の動作指示を受け付ける。またコントローラ１０２は、操作パネル１０３を介して、プリンタ１００の処理内容やユーザへの警告内容を表示する。
【００１８】
図２は、実施形態に係る画像形成装置１００のコントローラ１０２の構成を説明するブロック図である。
【００１９】
図において、パネルインタフェース部２０１は、操作パネル１０３とコントローラ１０２とのデータのやり取りを制御する。ＣＰＵ２０９は、パネルインタフェース部２０１を介して、操作パネル１０３を使用したユーザによる設定及び指示内容を受け付ける。ホストインタフェース部２０２は、ネットワークを介してホストコンピュータ等のデータ処理装置１０１と双方向で通信する。中間データ作成部２０３は、ホストインタフェース部２０２を介してデータ処理装置１０１から受信した印刷ジョブをプリンタ１００で扱いやすい形である中間データに変換する。ＲＯＭ２０４は、本実施形態に係る処理や、その他プリンタ１００が実行する制御プログラムコード等を保持している。ＲＡＭ２０５は、ＣＰＵ２０９のワークエリアを提供したりＣＰＵ２０９のメインメモリとして使用される。ＣＰＵ２０９がＲＡＭ２０５に格納するデータには、ホストインタフェース部２０２を介して受信した印刷データ、印刷データを解釈して生成される中間データがある。更には、その中間データをレンダリングして生成されるビットマップデータ（以下、イメージデータ）、その他の処理に必要な一時的な各種処理ステータスなどがある。
【００２０】
二次ストレージ２２１は、ホストインタフェース部２０２を介して受信した印刷データやその他ログ情報などを保存する。この二次ストレージ２２１には、ＨＤＤやＳＤカードなどが用いられる。エンジンインタフェース部２０６は、プリンタエンジン１０４とコントローラ１０２との間のインタフェースを制御する。ＣＰＵ２０９は、エンジンインタフェース部２０６を介して、プリンタエンジン１０４の状態を認識する。ＤＭＡ制御部２０７は、ＲＡＭ２０５に格納されているイメージデータをエンジンインタフェース部２０６に転送する。レンダリング部２０８は、ＲＡＭ２０５に格納された中間データの内容に従ってイメージデータに展開する。ＣＰＵ２０９は、ＲＯＭ２０４に格納された制御プログラムに基づいて、ＣＰＵバス２２０に接続されたデバイスを制御する。ＥＥＰＲＯＭ２１０は、プリンタ１００の設定情報を保持するための不揮発性メモリである。メディアインタフェース部２１１は、ＵＳＢメモリ等のリムーバブルメディア２２２から画像データ、プログラムデータ、機器設定データ等の各種データを読み取ったり書き込んだりする。
【００２１】
ジョブ制御部２１２は、ＲＯＭ２０４に保持されるプログラムのモジュールであり、そのプログラムはコントローラ１０２のＲＡＭ２０５に記憶され、ＣＰＵ２０９により実行される。ＣＰＵ２０９は、データ処理装置１０１から受信したデータを印刷ジョブとして、ジョブ制御部２１２を介して、ＲＡＭ２０５或いは二次ストレージ２２１に保存した上で印刷処理を実行する。更にＣＰＵ２０９は、データ処理装置１０１から受信したデータを印刷ジョブとして、ジョブ制御部２１２を介して、ＲＡＭ２０５或いは二次ストレージ２２１に保存したり、保存されている印刷ジョブをそれらから消去したりする。ＣＰＵバス２２０は、アドレス、データ、コントロールバスを含む。上述した２０１から２１０で示すデバイスのそれぞれは、ＣＰＵバス２２０に接続された全てのデバイスにアクセスできる。ジョブ制御部２１２は、リプリント用にＲＡＭ２０５や二次ストレージ２２１に格納されている印刷ジョブの保存や削除等の処理を担う。
【００２２】
図３は、実施形態に係るプリンタ１００のコントローラ１０２におけるデータの流れを説明する図である。
【００２３】
図において、受信バッファ３０１は、ＲＡＭ２０５に論理的に確保されており、データ処理装置１０１から受信した印刷データを格納する。ジョブスプール領域３０２は、ＲＡＭ２０５或いは二次ストレージ２２１に論理的に確保されていて、受信バッファ３０１に格納された印刷データを記憶する。この受信バッファ３０１の容量は、通常、ジョブスプール領域３０２の容量よりも小さい。イメージスプール領域３０３は、ＲＡＭ２０５に論理的に確保されており、レンダリング部２０８により展開されたイメージデータを格納する。
【００２４】
ホストインタフェース部２０２は、受信バッファ３０１が空であれば、データ処理装置１０１より印刷データを受信して受信バッファ３０１に保存する（Ｓ３１０）。ジョブ制御部２１２は、受信バッファ３０１に印刷データが保存されたという通知を受けたときに、ジョブスプール領域３０２に、少なくとも受信バッファ３０１の容量と同じサイズの空きがあることを確認する。ジョブ制御部２１２は、その空きがなければ空きができるまで待機し、その空きがあればジョブスプール領域３０２に印刷データを印刷ジョブとして保存するとともに受信バッファ３０１のデータを消去して受信バッファ３０１を空にする（Ｓ３１１）。ジョブ制御部２１２は、一方で、ジョブスプール領域３０２に保存されている保存ジョブを消去する処理も非同期に行っている。
【００２５】
中間データ作成部２０３は、イメージスプール領域３０３に所定のサイズの空きがあるという条件の下で、ジョブスプール領域３０２に保存されている印刷ジョブを読み出し、ＰＤＬ解釈処理（中間データ作成処理）を行う。中間データ作成部２０３によって作成された中間データは、ＲＡＭ２０５に論理的に確保された不図示のバッファに保存される。レンダリング部２０８は、不図示のバッファに保存されている中間データに従ってレンダリング処理を開始し、レンダリング処理によって生成されるイメージデータをイメージスプール領域３０３に保存する（Ｓ３１２）。エンジンインタフェース部２０６は、プリンタエンジン１０４と同期を取りながら、ＤＭＡ制御部２０７を介してイメージスプール領域３０３のイメージデータをプリンタエンジン１０４に転送する（Ｓ３１３）。又ジョブ制御部２１２は、Ｓ３１３の後に、イメージスプール領域３０３に保存されたイメージデータを保存しておくか、消去するかを判断し（Ｓ３１４）、保存もしくは消去を行う。
【００２６】
本実施形態に係るコントローラ１０２は、データ処理装置１０１より印刷データを受信して印刷する通常モードの他にリプリントモードを備えており、リプリントモードと通常モードを本体のユーザメニューの設定によって切り替えることができる。
【００２７】
リプリントモードは、一度印刷した印刷ジョブをジョブスプール領域３０２に保存したままにしておいて、別のタイミングで、その保存されている印刷ジョブをユーザからの印刷指示に従って再度印刷するモードのことである。またリプリント時における印刷時間の短縮のため、印刷ジョブをジョブスプール領域３０２に保存するだけでなく、展開後のイメージデータをイメージスプール領域３０３に保存しておき、再印刷時に利用している。リプリントモードが設定されているときには、コントローラ１０２は、ジョブ制御部２１２を介して、印刷ジョブが終了してもジョブスプール領域３０２に自動保存した保存ジョブデータを消去しないまま残しておくように制御する。ジョブ制御部２１２は、リプリントモードに設定されているときには、図４を参照して後述する保存ジョブ管理テーブルに従って保存ジョブを管理する。
【００２８】
コントローラ１０２は、ジョブスプール領域３０２に保存している印刷ジョブを、パネルインタフェース部２０１を介して操作パネル１０３にリプリント可能なジョブリストとして表示する。リプリント可能なジョブリストを示す操作パネル１０３の表示画面例を図５を参照して後述する。
【００２９】
そしてコントローラ１０２は、操作パネル１０３に表示したリプリント可能なジョブリストに対して、操作パネル１０３を介してユーザからリプリント指示があれば、その指示された保存ジョブを印刷する。このとき対象の保存ジョブに対するイメージデータが保存されている場合は、その保存されているイメージデータを使用して印刷を行う。
【００３０】
図４は、実施形態に係るジョブ制御部２１２が管理する保存ジョブ管理テーブルの一例を示す図である。
【００３１】
この保存ジョブ管理テーブルは、ジョブ制御部２１２がジョブスプール領域３０２に保存している全ての保存ジョブと、イメージスプール領域３０３に保存しているイメージデータを管理するための管理テーブルである。この保存ジョブ管理テーブルは、ジョブスプール領域３０２内の管理領域に保存されている。
【００３２】
ジョブ制御部２１２は、受信バッファ３０１に保存されている印刷データをジョブスプール領域３０２に転送するときに、その印刷データが新規ジョブの印刷データかどうかを判断する。ジョブ制御部２１２は、その印刷データが新規ジョブの印刷データと判断した場合は、その印刷データのジョブ情報（属性情報）を解釈し、ジョブＩＤ、ジョブオーナー、ジョブ名、ジョブサイズ、ジョブ生成日時といった情報を抽出する。そして、その抽出した情報を保存ジョブ管理テーブルに新規に登録する。またジョブ制御部２１２は、エンジンインタフェース部２０６からの印刷終了通知に従って、対象ジョブの最終印刷日時を登録、或いは更新する。更にジョブ制御部２１２は、新規ジョブとして保存ジョブ管理テーブルに登録する場合、また操作パネル１０３を介してユーザからリプリント指示を受けた場合、更にエンジンインタフェース部２０６からの印刷終了通知を受けた場合は印刷状態を更新する。またジョブ制御部２１２は、イメージスプール領域３０３に保存しているイメージデータを継続して保存するか、消去するかを判断してイメージデータを更新する。図４の例では、ジョブＩＤが「JID001」と「JID002」の印刷ジョブのイメージデータが保存されておらず、ジョブＩＤが「JID003」のイメージデータが保存されているのが分かる。
【００３３】
図５は、実施形態において、パネルインタフェース部２０１がリプリント指示を受け付けるためのＵＩ画面の一例を示す図である。
【００３４】
図５（Ａ）は、ジョブスプール領域３０２に保存されているジョブを操作するためのジョブメニュー画面例を示す。このジョブメニュー画面において、操作パネル１０３を介してユーザが「リプリント」を選択すると、パネルインタフェース部２０１は、ジョブ制御部２１２を介して保存ジョブ管理テーブルのジョブオーナー情報に従って図５（Ｂ）に示す画面を表示する。
【００３５】
図５（Ｂ）は、リプリント可能な印刷ジョブのオーナーリストの表示画面例を示し、この画面を使用して、リプリントを指示するジョブのオーナー情報を入力する。例えばこの画面において、操作パネル１０３を介してユーザが「ＵＩＤ００４」を選択すると、パネルインタフェース部２０１は、ジョブ制御部２１２を介してジョブオーナー「ＵＩＤ００４」に対応するジョブ名に従って図５（Ｃ）に示す画面を表示する。
【００３６】
図５（Ｃ）は、ジョブオーナー「ＵＩＤ００４」が有するリプリント可能な印刷ジョブの一覧表示例を示す画面で、この画面を使用して、リプリントを指示するジョブ情報が入力される。例えばこの画面において、操作パネル１０３を介してユーザが「分担表」を選択すると、パネルインタフェース部２０１は、ジョブ制御部２１２を介してジョブ名「分担表」に対応するジョブＩＤ情報（ＪＩＤ００１）を取得する。そして図５（Ｄ）に示すリプリントの開始を指示するための画面を表示する。
【００３７】
図５（Ｄ）は、リプリントの開始を確認するための画面例を示す図である。例えばこの画面において、操作パネル１０３を介してユーザが「はい」を選択すると、パネルインタフェース部２０１は、ジョブ制御部２１２にジョブＩＤ「ＪＩＤ００４」の「分担表」のリプリントの開始を指示する。ジョブ制御部２１２は、パネルインタフェース部２０１からのジョブＩＤが「ＪＩＤ００４」のリプリント開始指示に従ってリプリントジョブを生成する。このとき、このジョブＩＤが「ＪＩＤ００４」の印刷ジョブのイメージデータが保存されていると、ジョブ制御部２１２は、その保存されているイメージデータを基にリプリントジョブを生成する。
【００３８】
図６は、実施形態に係るプリンタ１００が印刷ジョブを受信して印刷するまでの処理を説明するフローチャートである。尚、図６のフローチャートで示す処理は、ＣＰＵ２０９がＲＯＭ２０４に格納されているプログラムを実行することにより達成される。
【００３９】
まずＳ１０１で、ジョブ制御部２１２は、ホストインタフェース部２０２を介してデータ処理装置１０１からの印刷データの受信通知を待つ。印刷データの受信通知は、ホストインタフェース部２０２が図３のＳ３１０で、データ処理装置１０１から印刷データを受信し、受信バッファ３０１に保存することによって発生する。ホストインタフェース部２０２から印刷データの受信通知があるとジョブ制御部２１２は、ジョブスプール領域３０２に所定サイズの空きがあるかどうかを判断する。この所定サイズの空きとは、例えば受信バッファ３０１と同じメモリサイズの空きでよい。この所定サイズの空きがないときは、ジョブ制御部２１２は、ジョブスプール領域３０２全体のメモリサイズから、保存ジョブ管理テーブルのジョブサイズの合計値を引いた値が、受信バッファ３０１のメモリサイズより小さいかどうかを判断する。そして小さいと判断すると、いずれかの保存ジョブを消去してジョブスプール領域３０２に空きを作る。このとき消去する保存ジョブの判断基準としては、例えば、保存ジョブ管理テーブルの最終印刷日時が最も古い印刷ジョブを消去するといった判断基準でも良い。
【００４０】
こうしてジョブ制御部２１２は、ジョブスプール領域３０２に必要なメモリサイズを確保できるとＳ１０２に進む。Ｓ１０２では、受信バッファ３０１の印刷データをジョブスプール領域３０２に保存ジョブとして保存し、保存ジョブ管理テーブルに新規ジョブを登録してＳ１０３に進む。
【００４１】
次にジョブ制御部２１２は、図３のＳ３１２で、ジョブスプール領域３０２に保存された保存ジョブからイメージデータを生成する時間を計測するために、Ｓ１０３で、イメージデータの生成開始時刻Ｔ１を記録する。続いてＳ１０４に進み、中間データ作成部２０３は、ジョブスプール領域３０２に保存された保存ジョブを読み出してＰＤＬ解釈処理を行って中間データを作成し、ＲＡＭ２０５に論理的に確保された不図示のバッファに保存する。次にＳ１０５に進み、レンダリング部２０８は、不図示のバッファに保存されている中間データに従ってレンダリング処理を行い、イメージデータを生成する。そしてＳ１０６で、ジョブ制御部２１２はＳ１０３と同様に、イメージデータの生成終了時刻Ｔ２を記録する。
【００４２】
そしてジョブ制御部２１２は、レンダリング処理の完了通知を受けると、イメージスプール領域３０３に所定サイズの空きがあるかどうかを判断する。この所定サイズの空きとは、例えばイメージデータのサイズと同等のサイズでよい。所定サイズの空きがないときは、イメージスプール領域３０３全体のサイズから、保存ジョブ管理テーブルにおける保存イメージ情報が「有」であるジョブサイズの合計値を引いた値を求める。そして、この値がイメージデータのサイズより小さければ、いずれかの保存イメージを消去してメモリの空きを作る。消去する保存イメージの判断基準としては、例えば、保存ジョブ管理テーブルの最終印刷日時が最も古い印刷ジョブを消去するといった判断基準でもよい。また、最終印刷日時から一定時間が経過している印刷ジョブを消去するといった基準や、合計で規定ページ数分のみ保存するといった基準でもよい。
【００４３】
こうしてジョブ制御部２１２が、イメージスプール領域３０３に必要なサイズの空きを確保するとＳ１０７に進み、Ｓ１０５で生成されたイメージデータをイメージスプール領域３０３に保存してＳ１０８に進む。Ｓ１０８では、保存したイメージデータをプリンタエンジン１０４に転送して印刷を実行する。
【００４４】
ジョブ制御部２１２は、該当ページの印刷完了後、Ｓ１０９で、保存しているイメージデータの保存を継続するか、削除するかを判断する。この処理は図８のフローチャートを参照して後述する。このイメージデータの保存を継続するか否かの判断は、例えばＳ１０３，Ｓ１０６で記録した実測時間の差（Ｔ２−Ｔ１）に基づいて行われる。例えば、この時間差が、プリンタエンジン１０４の性能やコントローラ１０２の性能から算出されるスループットを満たすために必要な時間より大きい場合に、該当ページを保存するようにしても良い。プリンタエンジン１０４の性能としては、片面・両面の搬送速度に対応したスループットの値や、プリンタエンジン１０４毎の後回転発生の紙間許容時間等が挙げられる。
【００４５】
また、複数ページを含む印刷ジョブにおいて、１ページでも該当するページデータが含まれる場合に、該当ジョブの全ページのイメージデータを保存するようにしてもよい。その他の基準の例として、印刷ジョブの総ページ数が、規定ページ数以下であれば、それらページのイメージデータを保存するようにしても良い。このとき、規定ページ数は、ユーザが設定可能にしても良いことは言うまでもない。
【００４６】
そしてＳ１１０に進み、Ｓ１０９で決定した判断基準に基づいて、当該印刷ジョブの該当ページのイメージデータを保存するかどうかを判定する。ここで保存しないと判定するとＳ１１１に進み、イメージスプール領域の該当するイメージデータを削除してＳ１１２に進む。Ｓ１１２では、保存ジョブ管理テーブルの情報をＳ１０９〜Ｓ１１１の判断に従って更新する。
【００４７】
以上説明したフローチャートによれば、所定の条件を満たすイメージデータだけをリプリント用のイメージデータとして保存することにより、イメージスプール領域を効率良く使用してリプリントに要する時間を短縮できる。
【００４８】
また例えばＰＤＬデータをレンダリングするまでの時間が所定時間内のデータは、ＰＤＬデータのままでリプリント用にジョブスプール領域に保存するため、ジョブスプール領域のメモリ容量が圧迫される度合いを少なくしてリプリント用のデータを保存できる。また、リプリント用のデータのデータ量の増大を抑えながら、かつリプリントに要する時間の増大を抑えることができる。一般に、イメージデータで保存されている場合は、高速にリプリントを行うことができる。しかし、イメージデータは一般的にＰＤＬデータよりもデータ量が多いため、メモリの容量を節約するためにＰＤＬデータで保存するか、或いはイメージデータで保存するかを判定している。
【００４９】
図７は、実施形態に係るプリンタ１００によるリプリント実行時の処理手順を示すフローチャートである。尚、図７のフローチャートで示す処理は、ＣＰＵ２０９がＲＯＭ２０４に格納されているプログラムを実行することにより達成される。
【００５０】
まずＳ２００で、ユーザが図５（Ａ）〜（Ｄ）に示すようなリプリント指示画面を通して、リプリント対象の印刷ジョブを選択してリンプリントの開始を指示する。これにより、図４に示す保存ジョブ管理テーブルに格納されたジョブの中からリプリント対象の印刷ジョブが一意に決定されてＳ２０１に進む。Ｓ２０１では、ジョブ制御部２１２が、保存ジョブ管理テーブルの「保存イメージ」の情報を基に、該当印刷ジョブのイメージデータが保存されているか否かを判別する。イメージデータが保存されていないときはＳ２０２に進むが、イメージデータが保存されているときはＳ２０８に進む。Ｓ２０８では、ジョブ制御部２１２が、イメージスプール領域３０３に保存された、該当するイメージデータを検索してＳ２０９に進む。Ｓ２０９では、図６のＳ１０８と同様に、その保存されているイメージデータをプリンタエンジン１０４に転送して印刷を実行する。そしてＳ２１０に進み、図６のＳ１０９〜Ｓ１１２と同様に、イメージデータの保存或いは削除処理を実行して、保存ジョブ管理テーブルのイメージデータの最終印刷日時を更新する。
【００５１】
一方、イメージデータが保存されていないときはＳ２０２に進み、ジョブ制御部２１２が、ジョブスプール領域３０２に保存された印刷ジョブを検索してＳ２０３に進む。Ｓ２０３では、図６のＳ１０３と同様に、イメージデータの生成開始時刻Ｔ１を記録する。次にＳ２０４に進み、図６のＳ１０４と同様に、中間データ作成部２０３がジョブスプール領域３０２に保存された該当印刷ジョブを用いてＰＤＬの解釈処理を行って中間データを作成する。次にＳ２０５に進み、Ｓ１０５と同様に、レンダリング部２０８がＳ２０４で生成された中間データに従ってレンダリング処理を行ってイメージデータを生成する。次にＳ２０６に進み、図６のＳ１０６と同様に、イメージデータの生成終了時刻Ｔ２を記録する。そしてＳ２０７に進み、Ｓ１０７と同様に、ジョブ制御部２１２が、Ｓ２０５で生成されたイメージデータをイメージスプール領域３０３に保存してＳ２０９に進む。Ｓ２０９では、図６のＳ１０８と同様に、その保存されているイメージデータをプリンタエンジン１０４に転送して印刷を実行する。そしてＳ２１０に進み、図６のＳ１０９〜Ｓ１１２と同様に、イメージデータの保存或いは削除処理を実行して、保存ジョブ管理テーブルのイメージデータの最終印刷日時を更新する。
【００５２】
以上説明したように本実施形態によれば、総ページ数の少ないジョブの展開済みイメージデータ、或いはイメージデータへの展開に長い時間がかかる印刷ジョブの展開済みイメージデータを効率的に保存できる。これにより、メモリの浪費を抑えながら、リプリントを高速に実行できるという効果がある。
【００５３】
図８は、図６のＳ１０９のイメージデータを保存するかどうかを決定するための処理を説明するフローチャートである。
【００５４】
まずＳ４０１で、その印刷ジョブの総ページ数がＮ（Ｎは正の整数で、例えばＮ＝１０）ページ以下かどうかを判定する。そうであればＳ４０２に進み、Ｎページ以下であればイメージデータのデータ量が少ないと判断して、そのイメージデータをイメージスプール領域３０３に保存すると決定して元の処理に戻る。
【００５５】
一方、Ｓ４０１で、その印刷ジョブの総ページ数がＮ以上であればＳ４０３に進み、図６のＳ１０３，Ｓ１０６で測定された時間の差（展開時間：Ｔ２−Ｔ１）が所定時間よりも短いかどうかを判定する。Ｓ４０３で所定時間よりも短いと判定するとＳ４０４に進み、この場合はＰＤＬデータのままで保存してもリプリントに要する時間がそれほど長くならないと判定して、イメージスプール領域３０３の該当するイメージデータを削除すると決定する。そして元の処理に戻る。
【００５６】
尚、図８のＳ４０１で、印刷ジョブの総ページ数がＮ以上であればＳ４０４に進んで、イメージスプール領域３０３の該当するイメージデータを削除すると決定するようにしても良い。
【００５７】
このように本実施形態によれば、イメージデータへの展開にそれほど時間がかからない印刷データは、データ量の少ないＰＤＬデータで保存しておき、また印刷データのデータ量が所定量以下のデータはイメージデータで保存している。これにより、リプリントの高速化を実現しながら、かつイメージスプール領域３０３におけるイメージデータのデータ量の増大を抑えることができる。
【００５８】
本実施形態によれば、総ページ数の多いジョブにイメージスプール領域を占有されることなく、総ページ数の少ないジョブをイメージスプール領域に保存することで、リプリント用ジョブとして保存すべき有効ジョブ数を多くすることができるようになる。また、展開に時間のかかる印刷ジョブに関してのみイメージスプール領域に保存することで、リプリント時間の短縮に有効なジョブの保存数を多くすることができるようになる。
【００５９】
（その他の実施例）
また本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0005950553.tif 000002
【図２】
0005950553.tif 000003
【図３】
0005950553.tif 000004
【図４】
0005950553.tif 000005
【図５】
0005950553.tif 000006
【図６】
0005950553.tif 000007
【図７】
0005950553.tif 000008
【図８】
0005950553.tif 000009