(57)【要約】【課題】留め置き印刷において、印刷指示に先行して行われる先行レンダリング処理を必要に応じて効率よく実施することができる。【解決手段】受信した印刷ジョブを留め置き、ユーザからの印刷指示に応じて留め置かれた印刷ジョブの印刷を実行する留め置き印刷を実行可能な画像形成装置であって、留め置かれた印刷ジョブの画像データを印刷指示を受け付ける前に先行してレンダリングする先行処理を実行する先行処理手段と、先行処理により生成されるレンダリング画像を記憶装置に保存する保存手段と、先行処理が実行される前に、記憶装置に新たなレンダリング画像を保存可能か否か判定する判定手段と、を備え、先行処理手段は、判定手段の判定結果に応じて先行処理を実行するか否かを決定する。【選択図】図４
2019181732.tif 000002
【特許請求の範囲】
【請求項１】
受信した印刷ジョブを留め置き、ユーザからの印刷指示に応じて留め置かれた印刷ジョブの印刷を実行する留め置き印刷を実行可能な画像形成装置であって、
前記留め置かれた印刷ジョブの画像データを印刷指示を受け付ける前に先行してレンダリングする先行処理を実行する先行処理手段と、
前記先行処理により生成されるレンダリング画像を記憶装置に保存する保存手段と、
前記先行処理が実行される前に、前記記憶装置に新たなレンダリング画像を保存可能か否か判定する判定手段と、を備え、
前記先行処理手段は、前記判定手段の判定結果に応じて前記先行処理を実行するか否かを決定する
ことを特徴とする画像形成装置。
【請求項２】
前記先行処理手段は、
前記判定手段が保存可能であると判定した場合には、前記先行処理を実行する
ことを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記判定手段は、
前記記憶装置におけるレンダリング画像の保存領域の残容量が一定値未満である場合に、前記記憶装置に前記新たなレンダリング画像を保存不可であると判定する
ことを特徴とする請求項１または請求項２に記載の画像形成装置。
【請求項４】
前記判定手段は、
前記記憶装置に記憶されているレンダリング画像の保存数が予め定めた上限値以上である場合に、前記記憶装置に前記新たなレンダリング画像を保存不可であると判定する
ことを特徴とする請求項１または請求項２に画像形成装置。
【請求項５】
前記先行処理手段は、
前記判定手段が保存不可であると判定した場合には、前記記憶装置から所定の規則に基づき選択したレンダリング画像を削除して、前記新たなレンダリング画像を保存するための空き領域を確保してから前記先行処理を実行する
ことを特徴とする請求項１から請求項４のうちのいずれか１項に記載の画像形成装置。
【請求項６】
前記先行処理手段は、
前記判定手段が保存不可であると判定した場合には、前記記憶装置から所定の規則に基づき選択したレンダリング画像を他の画像形成装置に転送して、前記新たなレンダリング画像を保存するための空き領域を確保してから、前記先行処理を実行する
ことを特徴とする請求項１から請求項４のうちのいずれか１項に記載の画像形成装置。
【請求項７】
前記先行処理手段は、
前記転送に失敗した場合には、前記記憶装置から前記所定の規則に基づき選択したレンダリング画像を削除して、前記新たなレンダリング画像を保存するための空き領域を確保してから、前記先行処理を実行する
ことを特徴とする請求項６に記載の画像形成装置。
【請求項８】
前記先行処理手段は、
前記留め置かれた印刷ジョブのうち、前記他の画像形成装置に転送された一のレンダリング画像に対応する印刷ジョブについて印刷指示を受け付けた場合には、前記一のレンダリング画像を前記他の画像形成装置から取得し、
取得した前記一のレンダリング画像を、印刷を実行する印刷手段に渡す
ことを特徴とする請求項６または請求項７に記載の画像形成装置。
【請求項９】
前記先行処理手段が前記他の画像形成装置から前記一のレンダリング画像を取得する前に、前記一のレンダリング画像を前記記憶装置に保存可能か否かを判定する第二の判定手段をさらに備え、
前記先行処理手段は、
前記第二の判定手段が保存可能であると判定した場合には、前記他の画像形成装置から前記一のレンダリング画像を取得する
ことを特徴とする請求項８に記載の画像形成装置。
【請求項１０】
前記先行処理手段は、
前記第二の判定手段が保存不可であると判定した場合には、前記記憶装置から前記所定の規則に基づき選択したレンダリング画像を削除して、前記一のレンダリング画像を保存するための空き領域を確保してから、前記他の画像形成装置から前記一のレンダリング画像を取得する
ことを特徴とする請求項９に記載の画像形成装置。
【請求項１１】
前記先行処理手段は、
前記第二の判定手段が保存不可であると判定した場合には、前記記憶装置から前記所定の規則に基づき選択したレンダリング画像を前記他の画像形成装置または該他の画像形成装置とは別の画像形成装置に転送して、前記一のレンダリング画像を保存するための空き領域を確保してから、前記他の画像形成装置から前記一のレンダリング画像を取得する
ことを特徴とする請求項９に記載の画像形成装置。
【請求項１２】
前記先行処理手段は、
前記先行処理とレンダリング画像の転送とをページ単位で実行する
ことを特徴とする請求項６から請求項１１のうちのいずれか１項に記載の画像形成装置。
【請求項１３】
前記所定の規則が、前記記憶装置に保存されているレンダリング画像のうち生成日時が古いレンダリング画像から順に優先して選択する規則である
ことを特徴とする請求項５から請求項１２のうちのいずれか１項に記載の画像形成装置。
【請求項１４】
前記所定の規則が、前記記憶装置に保存されているレンダリング画像のうちレンダリングの予測時間が短いレンダリング画像から順に優先して選択する規則である
ことを特徴とする請求項５から請求項１２のうちのいずれか１項に記載の画像形成装置。
【請求項１５】
前記先行処理手段は、
前記選択したレンダリング画像よりも前記新たなレンダリング画像のほうがレンダリングの予測時間が短い場合には、前記先行処理を実行しない
ことを特徴とする請求項１４に記載の画像形成装置。
【請求項１６】
受信した印刷ジョブを留め置き、ユーザからの印刷指示に応じて留め置かれた印刷ジョブの印刷を実行する留め置き印刷を実行可能な画像形成装置の制御方法であって、
前記留め置かれた印刷ジョブの画像データを印刷指示を受け付ける前に先行してレンダリングする先行処理を実行する先行処理ステップと、
前記先行処理により生成されるレンダリング画像を記憶装置に保存する保存ステップと、を含み、
前記先行処理ステップにおいて、
前記先行処理を実行する前に、前記記憶装置に新たなレンダリング画像を保存可能か否か判定し、前記判定の結果に応じて前記先行処理を実行するか否かを決定する
ことを特徴とする制御方法。
【請求項１７】
コンピュータを、請求項１から請求項１５のうちのいずれか１項に記載の画像形成装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷ジョブを一時的に留め置きする留め置き印刷を実行可能な画像形成装置に関する。
【背景技術】
【０００２】
近年、ネットワーク環境の普及に伴い、複数のユーザで複数の画像形成装置を共有して利用することが一般的になってきている。それに伴い、機密性の高い印刷物等を出力する際にそれらの印刷物を他ユーザに見られないように、印刷物のセキュリティを担保する技術への要望が高まっている。そのような要望に応えるものとして、例えば、印刷ジョブを画像形成装置内に留め置いて、ユーザ認証後に印刷を実行する印刷方法（以下、留め置き印刷と呼ぶ）がある（特許文献１）。
【０００３】
特許文献１に記載されるような留め置き印刷では、画像形成装置の操作画面からユーザからの印刷指示を受け付けたときに、留め置かれた印刷ジョブのレンダリング処理が開始される。そのため、画像形成装置の前でユーザが待たされる可能性がある。そこで、このような待ち時間を低減するために、ユーザからの印刷指示を受け付ける前に先行して留め置かれた印刷ジョブのレンダリング処理（以下、先行レンダリング処理と呼ぶ）を行う方法が提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−０９９７１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、先行レンダリング処理を実行した場合、先行レンダリング処理により生成された画像データを、印刷指示を受け付けるまで画像形成装置の記憶装置に保存させておく必要がある。したがって、印刷ジョブが大量に投入された場合などには、それらの画像データによって画像形成装置の記憶装置の容量が圧迫される可能性がある。またその場合、先行レンダリング処理を実行したとしても、生成された画像データを記憶装置に保存することができず先行レンダリング処理自体が無駄になる可能性がある。
【０００６】
そこで、本発明は、留め置き印刷において、印刷指示に先行して行われる先行レンダリング処理を必要に応じて効率よく実施することができる画像形成装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明による画像形成装置は、受信した印刷ジョブを留め置き、ユーザからの印刷指示に応じて留め置かれた印刷ジョブの印刷を実行する留め置き印刷を実行可能な画像形成装置であって、留め置かれた印刷ジョブの画像データを印刷指示を受け付ける前に先行してレンダリングする先行処理を実行する先行処理手段と、先行処理により生成されるレンダリング画像を記憶装置に保存する保存手段と、先行処理が実行される前に、記憶装置に新たなレンダリング画像を保存可能か否か判定する判定手段と、を備え、先行処理手段は、判定手段の判定結果に応じて先行処理を実行するか否かを決定することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、留め置き印刷において、印刷指示に先行して行われる先行レンダリング処理を必要に応じて効率よく実施することができる。
【図面の簡単な説明】
【０００９】
【図１】印刷システムの構成の一例を示す図である。
【図２】印刷システムがＰＣから印刷ジョブを受信した際の、第１実施形態におけるシーケンスの一例を示す図である。
【図３】第１実施形態の画像形成装置が備えるコントローラが実行する留め置き印刷処理を説明するための図である。
【図４】第１実施形態の画像形成装置が備えるコントローラが実行する先行処理を説明するための図である。
【図５】第１実施形態の画像形成装置が備えるコントローラが実行する印刷実行処理を示すフローチャートである。
【図６】留め置かれた印刷ジョブのリストを表示するＵＩ画面の一例を示す図である。
【図７】第１実施形態の画像形成装置が備えるコントローラが実行する先行処理結果の付加処理を示すフローチャートである。
【図８】先行処理結果の付加処理によってＰＤＬデータに付加される先行処理結果の情報一例を説明する図である。
【図９】第１実施形態の画像形成装置が備えるコントローラが実行する仕上げのレンダリング処理の一例を示すフローチャートである。
【図１０】仕上げのレンダリング処理を説明するための図である。
【図１１】印刷システムがＰＣから印刷ジョブを受信した際の、第２実施形態におけるシーケンスの一例を示す図である。
【図１２】第２実施形態の画像形成装置が備えるコントローラが実行する先行処理を説明するための図である。
【図１３】印刷システムがＰＣから印刷ジョブを受信した際の、第３実施形態におけるシーケンスの一例を示す図である。
【図１４】第３実施形態の画像形成装置が備えるコントローラが実行する先行処理を説明するための図である。
【図１５】印刷システムがＰＣから印刷ジョブを受信した際の、第４実施形態におけるシーケンスの一例を示す図である。
【図１６】第４実施形態の画像形成装置が備えるコントローラが実行する先行処理を説明するための図である。
【図１７】第４実施形態の画像形成装置が備えるコントローラが実行する印刷実行処理の一例を示すフローチャートである。
【図１８】第４実施形態の画像形成装置が備えるコントローラが実行する先行処理結果の付加処理の一例を示すフローチャートである。
【図１９】第４実施形態の画像形成装置が備えるコントローラが実行する先行処理画像の取得処理の一例を示すフローチャートである。
【図２０】印刷システムがＰＣから印刷ジョブを受信した際の、第５実施形態におけるシーケンスの一例を示す図である。
【図２１】第５実施形態の画像形成装置が備えるコントローラが実行する先行処理の一例を示すフローチャートである。
【図２２】第５実施形態の画像形成装置が備えるコントローラが実行する仕上げのレンダリング処理の一例を示すフローチャートである。
【図２３】第５実施形態の画像形成装置が備えるコントローラが実行する先行処理画像の取得処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、本発明を実施するための形態について図面を用いて説明する。なお、各図において、同一の構成要素については同一の参照番号を付し、重複する説明は省略する。
【００１１】
以下に示す各実施形態では、受信した印刷データを保存しておき、ユーザからの印刷指示が入力される前に、印刷データの少なくとも一部のページを処理して該ページに対応する画像データを先行してレンダリングする先行レンダリング処理を行う。以下、先行レンダリング処理を単に先行処理と呼ぶ。第１実施形態では、記憶装置の残容量に応じて先行処理の実行可否を判定する画像形成装置について説明する。第２実施形態及び第３実施形態では、記憶装置の残容量に応じてすでに記憶装置に保存されている先行処理の結果を削除し、新たに実行した先行処理の結果を保存する画像形成装置について説明する。第４実施形態及び第５実施形態では、ネットワーク上にある他の画像形成装置が有する記憶装置の残容量に応じて、先行処理の結果を他の画像形成装置に転送する画像形成装置を説明する。
【００１２】
［実施形態１］
図１は、印刷システムの構成の一例を示す図である。図１（ａ）に示す画像形成装置１０１〜１０３は、例えばＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｒｉｎｔｅｒ）、ＳＦＰ（Ｓｉｎｇｌｅ  Ｆｕｎｃｔｉｏｎ  Ｐｒｉｎｔｅｒ）、またはＬＢＰ（Ｌａｓｅｒ  Ｂｅａｍ  Ｐｒｉｎｔｅｒ）である。なお、画像形成装置１０１〜１０３は、ＭＦＰ、ＳＦＰ、ＬＢＰ以外のプリンタであってもよい。また、図１（ａ）には３つ画像形成装置が示されているが、印刷システムにはいくつ画像形成装置が含まれていても良い。
【００１３】
画像形成装置１０１〜１０３は、イーサネット等のＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）１０５を介し、各種指示を行うパーソナルコンピュータ（ＰＣ）１０４と接続される。画像形成装置１０１〜１０３は、ＰＣ１０４からの印刷指示に応じて処理を実行する。また、図１に示すように複数の画像形成装置がＬＡＮ１０５を介して接続される場合は、画像形成装置は、他の画像形成装置から印刷ジョブを受け取って、受け取った印刷ジョブに従って印刷処理を実行することが可能である。
【００１４】
画像形成装置１０１は、コントローラ１１０、プリント機構１１１、カードリーダ１１２、及び操作パネル１１３を備える。画像形成装置１０２〜１０３の構成は、画像形成装置１０１と同様であるため説明を省略する。
【００１５】
コントローラ１１０は、ＲＯＭ１２６に記憶されたプログラムに従って画像形成装置１０１全体を制御する。コントローラ１１０は、ネットワークＩ／Ｆ１２０、リーダＩ／Ｆ１２１、パネルＩ／Ｆ１２２、ＣＰＵ１２３、ＨＤＤ（ハードディスクドライブ）１２４、ＲＡＭ１２５、及びＲＯＭ１２６を有する。また、コントローラ１１０は、デバイスＩ／Ｆ１２７、ＲＩＰ（ラスターイメージプロセッサ）１２８、及び画像処理回路１２９を有する。これらの各構成要素は、システムバス１３０を介して互いに接続されている。ネットワークＩ／Ｆ１２０は、例えばＬＡＮカードである。ネットワークＩ／Ｆ１２０は、ＬＡＮ１０５に接続して外部装置との間で情報の入出力を行う。リーダＩ／Ｆ１２１は、カードリーダ１１２と接続され、カードリーダ１１２を介して入力される情報を受け取りＣＰＵ１２３に渡す。カードリーダ１１２は、ＩＤカード等から情報（例えば、ユーザ情報や認証情報）を読み取って、読み取った情報をリーダＩ／Ｆ１２１を介してコントローラ１１０に通知する。パネルＩ／Ｆ１２２は、操作パネル１１３と接続される。操作パネル１１３は、例えばタッチパネル機能を有する液晶ディスプレイ等で実現される。パネルＩ／Ｆ１２２は、各種メニューや印刷ジョブの情報等を表示するための画面情報や、操作画面を表示するための画面情報をＣＰＵ１２３から受け取って操作パネル１１３に出力する。また、パネルＩ／Ｆ１２２は、操作パネル１１３を介してユーザが入力する操作情報を受け取って、ＣＰＵ１２３に渡す。ＣＰＵ１２３は、画像形成装置１０１全体を制御するための中央処理装置である。ＨＤＤ１２４は、各種処理のためのシステムソフトウェアや、印刷ジョブ、画像データ等を格納する。なお、ＨＤＤ１２４の代わりにまたはＨＤＤ１２４に加えて、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）や、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）メモリを備えていてもよい。また、ＨＤＤ１２４の代わりにまたはＨＤＤ１２４に加えて、ＳＤカード等の記録メディアや、ｅＭＭＣ（ｅｍｂｅｄｄｅｄ  ＭｕｌｔｉＭｅｄｉａ  Ｃａｒｄ）等の実装型メモリなどの記憶装置を備えていてもよい。ＲＡＭ１２５は、ＣＰＵ１２３が動作するためのシステムワークメモリである。ＲＡＭ１２５は、印刷ジョブや画像データを一時記憶するための画像メモリとしても利用される。ＲＯＭ１２６は、ブートＲＯＭであり、システムを起動するためのブートプログラムが格納されている。デバイスＩ／Ｆ１２７は、プリント機構１１１とコントローラ１１０とを接続し、画像データの同期系／非同期系の変換を行う。ＲＩＰ１２８は、中間データ（ディスプレイリスト（ＤＬ））を解析してイメージに展開する。画像処理回路１２９は、印刷ジョブを解析して生成されたイメージデータに対してプリント機構１１１に応じた補正、解像度変換等の処理を行う。
【００１６】
図１（ｂ）には、画像形成装置１０１〜１０３の動作を制御するコントローラ１１０のソフトウェア構成の一例が示されている。コントローラ１１０は、認証部１３１、設定部１３２、書誌管理部１３３、印刷制御部１３４、ジョブ解析部１３５、先行処理部１３６、留め置き制御部１３７、印刷実行部１３８、ＰＤＬ解析部１３９、中間データ生成部１４０、及び画像管理部１４１を備える。各部１３１〜１４１は、ＣＰＵ１２３、ＲＡＭ１２５、ＨＤＤ１２４等のハードウェアとＲＯＭ１２６に記憶されたプログラムによって実現される。認証部１３１は、リーダＩ／Ｆ１２１からシステムバス１３０を通じて受け取った認証情報を、留め置き制御部１３７に渡す。設定部１３２は、パネルＩ／Ｆ１２２及びシステムバス１３０を通じて、操作パネル１１３に入力された情報を受け取ったり、操作パネル１１３に対して情報を出力したりする。書誌管理部１３３は、留め置き制御部１３７が受信した印刷ジョブに関する情報を管理する。印刷制御部１３４は、ネットワークＩ／Ｆ１２０を通じて入力された印刷指示や印刷ジョブを取得し、留め置き制御部１３７や印刷実行部１３８に対して印刷ジョブの処理を指示する。ジョブ解析部１３５は、留め置き制御部１３７が受信した印刷ジョブの解析を行う。先行処理部１３６は、印刷ジョブのレンダリング処理を先行して行う。以下、このレンダリング処理を先行処理と呼ぶ。また、先行処理により得られる画像データを先行処理画像と呼ぶ。留め置き制御部１３７は、印刷制御部１３４から受け取った印刷ジョブの管理、先行処理の制御、印刷実行部１３８への印刷指示などを行う。印刷実行部１３８は、印刷制御部１３４や留め置き制御部１３７からの指示に応じて、ＰＤＬ解析部１３９、中間データ生成部１４０、ＲＩＰ１２８、及び画像処理回路１２９を制御して、画像データの生成を行う。また、印刷実行部１３８は、デバイスＩ／Ｆ１２７を通じて、生成した画像データの印刷処理をプリント機構１１１に実行させる。ＰＤＬ解析部１３９は、印刷実行部１３８から指示を受けた印刷ジョブのＰＤＬ解析を行う。なお、ＰＤＬは、ページ記述言語（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）の略である。中間データ生成部１４０は、ＰＤＬ解析部１３９が解析した情報に基づいて中間データを生成する。画像管理部１４１は、先行処理部１３６が生成したレンダリング画像（先行処理画像）を管理及び記憶する。また、画像管理部１４１は、レンダリング画像を記憶するときに、ＨＤＤ１２４などの記憶装置に十分な容量があるか判定し、容量が足りない場合には、該記憶装置の容量を確保するための所定の動作を行う。
【００１７】
図２は、印刷システムがＰＣ１０４から印刷ジョブを受信した際の、第１実施形態におけるシーケンスの一例を示す図である。なお、図２では、図の簡略化のため、画像形成装置１０２，１０３を省略している。まず、ユーザが、ＰＣ１０４にログインする（ステップＳ２０１）。以下、「ステップＳ２０１」を単に「Ｓ２０１」と表記する。他のステップについても同様に表記する。そして、ユーザは、ＰＣ１０４にインストールされている任意のアプリケーションからデータの印刷を要求する（Ｓ２０２）。ＰＣ１０４は、ユーザがログインするときに入力したユーザ情報を取得する（Ｓ２０３）。そして、ＰＣ１０４は、取得したユーザ情報を印刷ジョブに付与し、該印刷ジョブを画像形成装置１０１に送信する（Ｓ２０５）。画像形成装置１０１は、印刷ジョブを受信すると、ＨＤＤ１２４に印刷ジョブを保存する（Ｓ２０６）。そして、画像形成装置１０１は、印刷ジョブに付与されたユーザ情報を抽出し、該印刷ジョブの書誌情報を作成し（Ｓ２０７）、作成した書誌情報をユーザ情報に対応付けてＨＤＤ１２４に保存する（Ｓ２０８）。画像形成装置１０１は、書誌情報の保存を終えると先行処理を開始する。ただし、画像形成装置１０１は、先行処理を開始する前に、先行処理を実行できるか否か、より具体的には、先行処理の結果（先行処理画像）をＨＤＤ１２４に保存できるか否かを判定する（Ｓ２０９）。先行処理を実行可能であると判断した場合は、画像形成装置１０１は、先行処理を実施して（Ｓ２１０）、該先行処理により生成された先行処理画像をＨＤＤ１２４に保存する（Ｓ２１１）。
【００１８】
ユーザが画像形成装置１０１にログインすると（Ｓ２１２）、画像形成装置１０１は、ユーザがログインするとき入力したユーザ情報を取得し（Ｓ２１３）、該ユーザの印刷ジョブ一覧を操作パネル１１３に表示する（Ｓ２１４）。画像形成装置１０１は、ユーザからの印刷指示を受け付けると（Ｓ２１５）、ＨＤＤ１２４に保存されている先行処理画像を印刷ジョブに付加する（Ｓ２１６）。画像形成装置１０１は、印刷ジョブに付加した先行処理画像を使ってレンダリング処理を行い（Ｓ２１７）、印刷を行う（Ｓ２１８）。なお、印刷指示を受け付けた後に実行されるレンダリング処理を、仕上げのレンダリング処理と表現する。
【００１９】
図３は、第１実施形態の画像形成装置１０１〜１０３が備えるコントローラ１１０が実行する留め置き印刷処理を説明するための図である。図３（ａ）は、コントローラ１１０が実行する印刷ジョブ留め置き処理を示すフローチャートである。図３（ｂ）は、画像形成装置が受信する印刷ジョブを説明するための図である。図３（ｃ）は、コントローラ１１０がＨＤＤ１２４に記憶するユーザＡの書誌情報を示す図である。図３（ｄ）は、先行処理の結果を管理する先行処理結果管理情報を示す図である。なお、図３（ａ）に示す一連の処理は、ＣＰＵ１２３がＲＯＭ１２６等に記憶されているプログラムコードをＲＡＭ１２５等に展開し実行することにより行われる。後述する図４（ａ），図５，図７，図９，図１２（ａ），図１４（ａ），図１６（ａ），図１７，図１８，図１９，図２１〜２３に示す処理についても同様である。
【００２０】
まず、印刷制御部１３４が、ネットワークＩ／Ｆ１２０を通じてＰＣ１０４などから送信される印刷ジョブの受信を行う（Ｓ３０１）。本実施形態では、図３（ｂ）に示すようなデータが印刷ジョブとして受信される。図３（ｂ）に示すように、印刷ジョブの先頭領域には、各種設定情報を含むヘッダ情報が格納され、続けて各ページの情報（ここではＰＤＬデータ）が格納される。図中の“Ｐ１”、“Ｌｉｎｅ１”、“Ｔｅｘｔ１”などは、ページを構成するための描画コマンドの例である。
【００２１】
次いで、印刷制御部１３４が、Ｓ３０１で受信した印刷ジョブを留め置くか否かを判定する（Ｓ３０２）。留め置くか否かの判定は、例えば、画像形成装置内で記憶しているパラメータ（例えば、操作パネル１１３を介して変更可能な設定情報）や印刷ジョブのヘッダ情報に、印刷ジョブの留め置きを指示する情報が含まれているか否かで判定する。
【００２２】
印刷ジョブを留め置かずにそのまま印刷を実行する場合は（Ｓ３０２のＮｏ）、印刷実行部１３８は、ＰＤＬ解析部１３９や中間データ生成部１４０を制御して印刷ジョブの解析を行って中間データを生成する。さらに、印刷実行部１３８は、生成された中間データのレンダリング処理をＲＩＰ１２８に実行させて画像データを生成する（Ｓ３０３）。次いで、印刷実行部１３８は、Ｓ３０３で生成した画像データの補正処理を画像処理回路１２９に実行させる（Ｓ３０４）。そして、印刷実行部１３８は、補正後の画像データをデバイスＩ／Ｆ１２７を通じてプリント機構１１１に転送して、プリント機構１１１に印刷を実行させる。
【００２３】
一方、印刷ジョブを留め置く場合は（Ｓ３０２のＹｅｓ）、留め置き制御部１３７が、印刷ジョブに付与されているユーザ情報の取得を行う（Ｓ３０５）。図３（ｂ）に示す例では、「ユーザ名：ユーザＡ」がユーザ情報に相当する。なお、ユーザ情報は印刷ジョブのヘッダ情報に含まれていなくてもよく、例えば、印刷ジョブの送信元のＰＣ１０４からユーザ情報を別途送信する構成でも構わない。また、ユーザ情報は、ユーザ名やユーザＩＤなど印刷実行指示を行ったユーザを識別できる情報であれば、どのような情報であってもよい。
【００２４】
次いで、ジョブ解析部１３５が、受信した印刷ジョブのヘッダ情報に含まれる印刷設定情報と文書名とを取得する（Ｓ３０６）。印刷設定情報には、例えば片面印刷か両面印刷かを示す情報や、カラー印刷かモノクロ印刷かを示す情報、出力する用紙サイズを示す情報などが含まれる。なお、これらの情報のすべてが印刷設定情報に含まれていなくてもよく、これらの情報のうちの一部の情報を、ＨＤＤ１２４やＲＯＭ１２６に初期設定値として格納しておいてもよいし、印刷実行時にユーザに指定させるようにしてもよい。
【００２５】
次いで、留め置き制御部１３７が、Ｓ３０５で取得されたユーザ情報と、Ｓ３０６で取得された印刷設定情報と文書名とを関連付ける（Ｓ３０７）。そして、留め置き制御部１３７は、関連付けして得られた情報を１つのレコードとして、対応するユーザの書誌情報に追加する。図３（ｃ）には、ユーザＡの書誌情報の一例が示されている。書誌情報には、例えば、ジョブＩＤ、ファイル情報、印刷設定情報、ページ数、各ページのレンダリング予測時間等が含まれる。なお、ジョブＩＤには、印刷ジョブ毎に固有の値が設定される。
【００２６】
最後に、書誌管理部１３３が、Ｓ３０７においてレコードが追加された書誌情報をＨＤＤ１２４に保存する（Ｓ３０８）。留め置き制御部１３７は、Ｓ３０１で受信された印刷ジョブを、今回追加されたレコードに対応する印刷ジョブとしてＨＤＤ１２４に保存する。このとき、書誌管理部１３３は、留め置き制御部１３７によって保存された印刷ジョブの保存先を示す情報（ファイル情報）として、画像形成装置１０１〜１０３のホスト名（ＩＰアドレス）とファイルパスとを書誌情報に追加する。本実施形態では、図３（ｃ）に示すように、「ホスト名（ＩＰアドレス）：／ｐｒｉｎｔｄａｔａ／ホスト名／ジョブＩＤ／ファイル名」という形式でファイル情報が追加される。図３（ｄ）には、書誌情報と共に管理される先行処理結果管理情報の一例が示されている。先行処理結果管理情報は、ユーザ情報とジョブＩＤとに対応する印刷ジョブの先行処理の結果を管理するための情報である。図３（ｄ）に示すように、先行処理結果管理情報には、ジョブＩＤ、ユーザ情報、生成日時、レンダリング予測時間、及び先行処理画像のファイルサイズを示す情報が含まれる。また、先行処理結果管理情報には、先行処理画像の格納先（保存先）を示す先行処理画像情報が含まれる。なお、レンダリング予測時間及び先行処理画像情報Ｓ３０８の書誌情報登録時点では、レンダリング予測時間及び先行処理画像情報は未設定の状態で登録される。図３（ｃ），３（ｄ）に示す例では、ジョブＩＤが「２」である印刷ジョブのレンダリング予測時間及び先行処理画像情報に、未設定の状態であることを示す「−」が設定されている。以下、ジョブＩＤが「ｎ」である印刷ジョブをジョブ＃ｎと記す。
【００２７】
図４は、第１実施形態の画像形成装置１０１〜１０３が備えるコントローラ１１０が実行する先行処理を説明するための図である。図４（ａ）に示す処理は、図３に示す印刷ジョブ留め置き処理により印刷ジョブがＨＤＤ１２４に留め置かれた後に実行される。
【００２８】
まず、ジョブ解析部１３５は、ＨＤＤ１２４内に留め置かれた印刷ジョブに対して印刷ジョブに含まれる各ページのレンダリング処理にかかる時間を予測する（Ｓ４０１）。予測方法は、印刷ジョブのサイズから推測する方法や印刷ジョブ内に含まれるＰＤＬコマンドの内容から推測する方法など、レンダリング処理時間を推測可能な方法であればいずれの方法を用いても良い。ジョブ解析部１３５は、書誌管理部１３３に対して、レンダリング処理時間の予測結果を、対応する印刷ジョブの書誌情報に登録するように指示する。図４（Ｂ）には、ジョブ＃２に対するＳ４０１の処理が完了した時点の書誌情報の一例が示されている。ジョブ解析部１３５が、書誌管理部１３３に指示することで、各ページのレンダリング処理時間が登録される。
【００２９】
次いで、先行処理部１３６が、Ｓ４０１の予測の結果に基づいて、印刷ジョブに含まれるページのうちレンダリング処理に時間がかかるページを、先行処理が必要なページとして特定する（Ｓ４０２）。例えば、ジョブ＃１の各ページのレンダリング処理時間が図４（ｂ）に示すように予測されている場合、先行処理部１３６は、レンダリング処理に時間がかかるページを１ページ目及び９ページ目と判断する。同様に、ジョブ＃２の各ページのレンダリング処理時間が図４（Ｂ）に示すように予測されている場合、先行処理部１３６は、レンダリング処理に時間がかかるページを３ページ目と判断する。レンダリング処理に時間がかかるページの判定の基準については、印刷を行う画像形成装置の印刷スピードに応じて判定してもよいし、先行処理部１３６が予め保持する閾値（例えば１０秒）を用いて判定してもよい。また、全ページをレンダリングが必要であると判断してもよい。
【００３０】
Ｓ４０２の処理で先行処理が必要なページが特定されなかった場合は（Ｓ４０３のＮｏ）、処理は終了する。Ｓ４０２の処理で先行処理が必要なページが特定された場合には（Ｓ４０３のＹｅｓ）、画像管理部１４１は、先行処理を行う前に、該先行処理により得られる画像データ（先行処理画像）を保存可能か否か判定する（Ｓ４０４）。例えばＨＤＤ１２４内に設けられている先行処理画像の保存領域（パーティション）の残容量が一定値（例えば１００ＭＢ）未満である場合に、保存不可であると判断する方法がある。また例えば、画像データの保存数を計測しておいて、保存数が上限値以上である場合に、保存不可であると判断する方法がある。また、ＨＤＤ１２４の残容量の制限や先行処理画像の保存数など複数の条件に基づいて上記判定を行ってもよいし、印刷ジョブを投入したユーザごとにそれらの条件を設定できるようにしてもよい。なお、Ｓ４０４では、ＨＤＤ１２４の残容量が一定値未満であるか否かを判定条件としているが、その理由は、印刷ジョブを保存する領域と先行処理画像を保存する領域とが同一の場合は残容量を十分に確保する必要があるからである。このような判定を行うことで、印刷ジョブが保存できない状況を減らすことができる。
【００３１】
先行処理画像を保存不可である場合は（Ｓ４０４のＮｏ）、処理はＳ４０９に進む。一方、先行処理画像を保存可能である場合は（Ｓ４０４のＹｅｓ）、先行処理部１３６は、Ｓ４０２で先行処理が必要であると判断されたページのレンダリング処理（先行処理）を行い、先行処理画像を生成する（Ｓ４０５）。Ｓ４０２で先行処理が必要であると判断されたページが複数ある場合は、印刷ジョブのページ順に実行しても良いし、レンダリング処理に時間がかかるページから実行しても良いし、レンダリング処理に時間がかからないページから実行しても良い。
【００３２】
次いで、先行処理部１３６は、Ｓ４０６で生成した先行処理画像をＨＤＤ１２４に保存する（Ｓ４０６）。そして、先行処理部１３６は、Ｓ４０２で先行処理が必要であると判断された全てのページについて先行処理が終了したかを判定する（Ｓ４０７）。全対象ページの先行処理画像が生成されていれば（Ｓ４０７のＹｅｓ）、処理はＳ４０９に進み、そうでなければ（Ｓ４０７のＮｏ）、先行処理部１３６は、レンダリング処理を実行している印刷ジョブに対する印刷実行指示があるかを判定する（Ｓ４０８）。
【００３３】
印刷実行指示がない場合は（Ｓ４０８のＮｏ）、処理はＳ４０４に戻る。印刷実行指示があった場合は（Ｓ４０８のＹｅｓ）、先行処理部１３６は、書誌管理部１３３に指示し、上記Ｓ４０６で保存した先行処理画像に関する情報（先行処理画像情報）を、対応する先行処理結果管理情報に付加する（Ｓ４０９）。
【００３４】
図４（ｃ）には、Ｓ４０９において先行処理部１３６によって更新された先行処理結果管理情報の一例が示されている。図４（ｃ）に示す先行処理結果管理情報では、ジョブ＃２の生成日時、レンダリング予測時間、先行処理画像情報、及びファイルサイズが設定済みの状態になっている。なお、Ｓ４０４で先行処理画像が保存不可であると判断された場合は、ジョブ＃２については先行処理が実行されないので、先行処理結果管理情報は、図３（Ｄ）のままとなる。また、Ｓ４０８で印刷実行指示があると判断された場合には、その時点において先行処理が完了しているページについて、先行処理結果管理情報を更新して処理を終了する。
【００３５】
図５は、第１実施形態の画像形成装置１０１〜１０３が備えるコントローラ１１０が実行する印刷実行処理を示すフローチャートである。例えばユーザがＩＤカードをカードリーダ１１２にかざすと、カードリーダ１１２は、ＩＤカードから読み取ったユーザ情報をリーダＩ／Ｆ１２１を通じて認証部１３１に送信する。すると、図５に示す処理が開始される。なお、ユーザのＩＤカードからユーザ情報を読み取る方式以外に、操作パネル１１３等からユーザ情報とパスワードとを入力してユーザ認証を行う方式などその他の認証方式を採用してもよい。
【００３６】
まず、認証部１３１が、リーダＩ／Ｆ１２１を通じてカードリーダ１１２から受け取ったユーザ情報を用いて、認証処理を行う。ユーザ認証に成功した場合は、認証部１３１は、ユーザ情報を設定部１３２に通知する（Ｓ５０１）。
【００３７】
次いで、設定部１３２は、Ｓ５０１で取得したユーザ情報に対応するユーザの書誌情報を書誌管理部１３３から受け取る（Ｓ５０２）。そして、設定部１３２は、受け取った書誌情報に基づいて生成した印刷ジョブリストを、パネルＩ／Ｆ１２２を通じて操作パネル１１３に表示する。このとき表示されるＵＩ画面６０１を図６に示す。図６に示すＵＩ画面６０１には、印刷ジョブリストを表示するための領域６０２（以下、印刷ジョブリスト６０２と記す）を有する。ユーザは、操作パネル１１３をタッチ操作するなどして、印刷ジョブリスト６０２から所望の印刷ジョブを選択し、プリント開始ボタン６０３を押下することで、選択した印刷ジョブの印刷指示を行うことができる。また、ユーザは、印刷ジョブリスト６０２から所望の印刷ジョブを選択し、印刷設定ボタン６０４を押下することで、選択した印刷ジョブの印刷設定を変更することができる。なお、ログアウトボタン６０５は、画像形成装置からログアウトするためのボタンである。ログアウトボタン６０５が押下されると、ユーザに認証状態が解除される。領域６０６には、ログインユーザのユーザ情報が表示される。
【００３８】
次いで、設定部１３２が、印刷ジョブリスト６０２に表示している印刷ジョブに対して、ユーザから印刷実行指示があったかを判定する（Ｓ５０３）。印刷実行指示は、例えばユーザがプリント開始ボタン６０３を押した場合に設定部１３２に入力される。印刷実行指示がなければ（Ｓ５０３のＮｏ）、処理を終了する。印刷実行指示があれば（Ｓ５０３のＹｅｓ）、留め置き制御部１３７が、先行処理結果管理情報を参照して、印刷実行指示された印刷ジョブが先行処理済みであるかを判定する（Ｓ５０４）。
【００３９】
印刷ジョブが先行処理済みであれば（Ｓ５０４のＹｅｓ）、留め置き制御部１３７は、先行処理結果の情報をＰＤＬデータに付加する処理（先行処理結果の付加処理）を行い（Ｓ５０７）、印刷ジョブを生成する。先行処理結果の付加処理の詳細は、図７を用いて後述する。
【００４０】
印刷ジョブが先行処理済みでなければ（Ｓ５０４のＮｏ）、留め置き制御部１３７は、先行処理結果管理情報を参照して、印刷実行指示された印刷ジョブが先行処理中であるかを判定する（Ｓ５０５）。印刷ジョブが先行処理中でなければ（Ｓ５０５のＮｏ）、処理はＳ５０８に進む。印刷ジョブが先行処理中であれば（Ｓ５０６のＹｅｓ）、留め置き制御部１３７は、先行処理中の印刷ジョブに対して先行処理の中断を行う（Ｓ５０６）。先行処理の中断の情報は、先行処理部１３６に通知され、Ｓ４０８における印刷実行指示の有無の判定に使用される。留め置き制御部１３７は、先行処理を中断した時点でＨＤＤ１２４に保存されている先行処理結果の情報を取得し、Ｓ５０７の処理に進んで、取得した先行処理結果の情報を印刷ジョブに付加する。
【００４１】
次いで、印刷実行部１３８が、仕上げのレンダリング処理を行う（Ｓ５０８）。このとき、処理対象となる印刷ジョブに先行処理結果の情報が付加されていなければ、Ｓ３０３と同様の処理が行われる。処理対象となる印刷ジョブに先行処理結果の情報が付加されている場合の処理については、図９を用いて後述する。Ｓ５０８の後に行われる印刷処理（Ｓ５０９）は、Ｓ３０４と同様である。
【００４２】
図７は、第１実施形態の画像形成装置１０１〜１０３が備えるコントローラ１１０が実行する先行処理結果の付加処理（図５に示すＳ５０７の処理）を示すフローチャートである。図８は、先行処理結果の付加処理によってＰＤＬデータに付加される先行処理結果の情報一例を説明する図である。
【００４３】
まず、留め置き制御部１３７は、ＰＤＬデータ８０４に識別子情報８０１を付加する（Ｓ７０１）。識別子情報８０１は、先行処理が実施された印刷ジョブ、すなわち先行処理済みの印刷ジョブであるか否かを示すものであり、文字列であったり数値であったりコントローラ１１０内部で識別可能なものであればどのような種類の情報でも構わない。ＰＤＬデータ８０４は、Ｓ３０１で受信された印刷ジョブに含まれるＰＤＬデータであり、加工されていないＰＤＬデータである。
【００４４】
次いで、留め置き制御部１３７は、ＰＤＬデータ８０４に先行処理情報８０２を付加する（Ｓ７０２）。先行処理情報８０２は、先行処理結果情報８０３全体のデータサイズや処理対象となる印刷ジョブの総ページ数や先行処理済みのページの情報などを含む。先行処理結果情報８０３全体のデータサイズや先行処理済みのページの情報など、後述のＳ７０５の処理を行った後でなければ分からない情報に関しては、それらの情報を格納する領域だけ確保しておき、Ｓ７０５の処理後に情報の更新を行う。図８に示す先行処理情報８０２は一例であり、先行処理結果の情報を解析するのに必要な情報が格納されていれば、先行処理情報８０２はどのような構成であってもよい。
【００４５】
次いで、留め置き制御部１３７は、ＰＤＬデータ８０４に先行処理結果情報８０３を付加する（Ｓ７０３）。先行処理結果情報８０３は、先行処理済みのページの番号、該ページを先行処理して得られる先行処理画像に関する情報、及び該情報のフォーマット（データ形式）を示す情報からなるページ情報を、先行処理済みのページごとに格納する。図８に示す例では、ページ番号が１であるページとページ番号が９であるページのページ情報が付加されている。また、図８に示す例では、先行処理画像に関する情報がファイルパス形式で付加されている。以下、ページ番号がｎであるページをページ＃ｎと記す。
【００４６】
次いで、留め置き制御部１３７は、先行処理済みの全ページについて、ページ情報を付加したかどうかを判定する（Ｓ７０４）。ページ情報を付加していないページが存在する場合には（ステップＳ７０４のＮｏ）、処理はステップＳ７０３に戻る。先行処理済みの全ページについてページ情報が付加されている場合には（ステップＳ７０４のＹｅｓ）、留め置き制御部１３７は、Ｓ７０２で作成した先行処理情報８０２の更新を行う（Ｓ７０５）。このとき、先行処理結果情報８０３のデータサイズや、各ページ情報を指し示すインデックス情報などが、先行処理情報８０２内に予め確保しておいた領域に書き込まれる。このようにして、ＰＤＬデータ８０４と先行処理結果の情報８０１，８０２，８０３とで構成された印刷ジョブが生成される。
【００４７】
図９は、第１実施形態の画像形成装置１０１〜１０３が備えるコントローラ１１０が実行する仕上げのレンダリング処理の一例を示すフローチャートである。まず、印刷実行部１３８は、印刷制御部１３４や留め置き制御部１３７から受け取った印刷ジョブを解析し、識別子情報８０１が含まれているか否か、すなわち先行処理済みの印刷ジョブであるか否かを判定する（Ｓ９０１）。識別子情報８０１が含まれていない場合は（Ｓ９０１のＮｏ）、処理はＳ９０８に進む。一方、印刷ジョブに識別子情報８０１が含まれる場合は（Ｓ９０１のＹｅｓ）、印刷実行部１３８は、印刷ジョブの先行処理情報８０２に解析対象ページが先行処理済みであることを示す情報が含まれているか否かを判定する（Ｓ９０２）。つまり、印刷実行部１３８は、これから解析を行う解析対象ページが先行処理済みのページであるか否かを判定する。図８に示す例では、ページ＃１とページ＃９とが先行処理済みであることを示す情報が先行処理情報８０２に含まれているので、印刷実行部１３８は、ページ＃１とページ＃９とを先行処理済みのページであると判断する。解析対象ページが先行処理済みのページである場合には（Ｓ９０２のＹｅｓ）、Ｓ９０３〜Ｓ９０５の処理が行われる。解析対象ページが先行処理済みのページでない場合は（Ｓ９０２のＮｏ）、Ｓ９０８〜Ｓ９１０の処理が実行される。ここで、Ｓ９０３〜Ｓ９０５及びＳ９０８〜Ｓ９１０の処理について説明する。
【００４８】
まず、Ｓ９０３〜Ｓ９０５の処理について、図１０（ａ）を用いて説明する。図１０（ａ）に示すように、印刷実行部１３８は、ＰＤＬ解析部１３９に対してページ解析スキップを通知する（Ｓ９０３）。ページ解析スキップの通知を受けたＰＤＬ解析部１３９は、解析対象ページの解析処理をスキップし、中間データ生成部１４０に対して何も通知せずに、次の解析対象ページの解析処理に備える。次いで、印刷実行部１３８は、解析対象ページの先行処理結果を中間データ生成部１４０に渡す（Ｓ９０４）。図８を用いて具体的に説明すると、解析対象ページがページ＃１である場合、印刷実行部１３８は、ページ＃１の先行処理画像（ＲＩＰ画像）の格納先を示すファイルパス“／ｘｘ／ｙｙ／ｉｍａｇｅ１”を含む情報を先行処理結果情報８０３から取得する。そして、印刷実行部１３８は、取得した情報を中間データ生成部１４０に通知する。中間データ生成部１４０は、印刷実行部１３８から通知された先行処理結果に基づき、中間データを生成する（Ｓ９０５）。
【００４９】
次に、Ｓ９０８〜Ｓ９１０の処理について、図１０（ｂ）を用いて説明する。図１０（ｂ）に示すように、印刷実行部１３８は、解析対象ページの解析を開始させるべくＰＤＬ解析部１３９にページ解析開始を通知する（Ｓ９０８）。すると、ＰＤＬ解析部１３９は、解析対象ページの解析を行い、その解析結果を中間データ生成部１４０に通知する（Ｓ９０９）。すると、中間データ生成部１４０は、ＰＤＬ解析部１３９の解析結果から中間データを生成する（Ｓ９１０）。
【００５０】
Ｓ９０５またはＳ９１０の処理が実行された後、印刷実行部１３８は、ＲＩＰ１２８を制御して、生成された中間データのレンダリングを行う（Ｓ９０６）。なお、Ｓ９０５の処理が実行された後のＳ９０６では、先行処理画像（ＲＩＰ画像）を含む中間データ（ＤＬ）がＲＩＰ１２８に入力されることになる。その場合、ＲＩＰ１２８は、入力されたＤＬをプリント機構１１１（画像処理が必要な場合は画像処理回路１２９）に渡すだけで良くなる。つまり、レンダリング処理に先行処理画像を用いることにより、ＤＬを処理する際の複雑な演算処理を省略することができ、印刷指示を受けてから出力（印刷）開始までの時間をさらに短くすることができる。
【００５１】
最後に印刷実行部１３８は、印刷ジョブの全ページの解析が終了したか確認する（Ｓ９０７）。全ページの解析が終了している場合は（Ｓ９０７のＹｅｓ）、処理を終了する。全ページの解析が終了していない場合は（Ｓ９０７のＮｏ）、処理はＳ９０２に戻り、次の解析対象ページに対する処理が継続して行われる。
【００５２】
このように、本実施形態では、先行処理済みのページの解析処理をスキップするようにしている。また、印刷実行部１３８がＰＤＬ解析部１３９を経由せずに中間データ生成部１４０に先行処理結果を渡すようにしている。それにより、処理ステップが低減されるので処理速度を向上させることができる。また、先行処理結果の伝達経路が簡略化されプログラムの規模を小さくできるので、ソフトウェアモジュールの開発コストを抑えられる。ここで、先行処理結果の伝達経路の簡略化により得られる効果について、図１０（ｃ）を用いて詳しく説明する。図１０（ｃ）には、コントローラ１１０が複数のＰＤＬ解析部１３９ａ，１３９ｂ，１３９ｃを備え、印刷実行部１３８が各ＰＤＬ解析部のそれぞれを制御する場合の例が示されている。ＰＤＬ解析部１３９ａ，１３９ｂ，１３９ｃはそれぞれ、ＬＩＰＳ（登録商標），ＰＳ（登録商標）、ＸＰＳ（登録商標）を解析するものとする。ＬＩＰＳはＬＢＰ  Ｉｍａｇｅ  Ｐｒｏｃｅｓｓｉｎｇ  Ｓｙｓｔｅｍの略である。ＰＳはＰｏｓｔＳｃｒｉｐｔの略である。ＸＰＳは、ＸＭＬ  Ｐａｐｅｒ  Ｓｐｅｃｉｆｉｃａｔｉｏｎの略である。なお、各ＰＤＬ解析部は、上記以外のＰＤＬを解析可能であってもよい。印刷実行部１３８は、印刷ジョブに含まれるＰＤＬデータの種類を判定するＰＤＬ判定部を有し、その判定結果に応じてＰＤＬ解析部１３９ａ，１３９ｂ，１３９ｃのいずれかを制御する。例えば、印刷実行部１３８は、ＰＤＬデータの種類がＬＩＰＳであるならばＰＤＬ解析部１３９ａに、ＰＳであるならばＰＤＬ解析部１３９ｂに、ＸＰＳであるならばＰＤＬ解析部１３９ｃに必要な通知を行う。しかし、図１０（ｃ）に示す構成では、印刷実行部１３８が先行処理結果をＰＤＬ解析部１３９ａ，１３９ｂ，１３９ｃに通知する場合、各ＰＤＬ解析部がその通知をさらに中間データ生成部１４０に通知する必要が生じる。したがって、図１０（ｃ）に示す構成では、処理ステップが増加し処理速度が低下する可能性がある。また、ソフトウェアモジュールの開発コストを増大させる可能性がある。そこで、本実施形態では、図１０（ａ）に示すように、印刷実行部１３８が中間データ生成部１４０に直接先行処理結果を通知するようにして、処理速度向上及び開発コスト抑制を図っている。なお、ＰＤＬ解析部１３９はハードウェアで実現してもよく、そのような形態によれば、ソフトウェアモジュールの開発コストをさらに抑制することができる。
【００５３】
以上に説明したように、本実施形態では、留め置き印刷において、印刷実行時に先行処理結果の情報を印刷ジョブに付加し、仕上げのレンダリング処理時にその先行処理結果の情報を用いるようにしている。それにより、印刷指示してから印刷が開始されるまでのユーザの待ち時間を低減することができる。また、本実施形態では、保存済みの先行処理画像の保存数や保存領域の残容量に基づき、先行処理画像を保存可能か否か判定し（Ｓ４０４）、保存不可であると判断した場合には、先行処理を行わないようにしている。それにより、無駄な先行処理が行われることを防止することができる。すなわち、先行処理を必要に応じて効率よく実施することが可能となる。
【００５４】
［実施形態２］
第２実施形態では、第１実施形態で説明した先行処理と異なる先行処理を行う画像形成装置について説明する。以下、第１実施形態と同一構成については説明を省略し、第１実施形態と異なる点を中心に説明する。
【００５５】
図１１は、印刷システムがＰＣ１０４から印刷ジョブを受信した際の、第２実施形態におけるシーケンスの一例を示す図である。なお、Ｓ１１０１〜Ｓ１１０９の処理は、Ｓ２０１〜Ｓ２０９と同様である。
【００５６】
画像形成装置１０１は、Ｓ１１０９の処理において、先行処理により得られる画像データ（先行処理画像）をＨＤＤ１２４に保存できないと判断した場合には、ＨＤＤ１２４に保存されている先行処理画像の作成日時を取得する（Ｓ１１１０）。そして、画像形成装置１０１は、作成日時が古い先行処理画像を削除して（Ｓ１１１１）、Ｓ１１１２の処理（先行処理）に移行する。Ｓ１１１２の処理については図１２を用いて後述する。Ｓ１１１３〜Ｓ１１２０の処理は、Ｓ２１１〜Ｓ２１８の処理と同様である。
【００５７】
図１２は、第２実施形態の画像形成装置１０１〜１０３が備えるコントローラ１１０が実行する先行処理を説明するための図である。図１２に示すフローは、図４（ａ）に示すフローと同様に、図３（ａ）に示す印刷ジョブ留め置き処理により印刷ジョブがＨＤＤ１２４に留め置かれた後に実行される。なお、以下では、Ｓ３０１で図３（ｂ）に示す印刷ジョブが受信され、書誌情報及び先行処理結果管理情報がそれぞれ図３（ｃ）及び図３（ｄ）で示される状態である場合を例にする。なお、Ｓ１２０１〜Ｓ１２０４の処理は、Ｓ４０１〜Ｓ４０４の処理と同様である。
【００５８】
Ｓ１２０４において先行処理画像が保存できないと判断した場合（Ｓ１２０４のＮｏ）、画像管理部１４１は、削除可能な保存済みの先行処理画像があるかどうかを判定する（Ｓ１２０５）。以下、削除可能な保存済みの先行処理画像を、単に保存済み先行処理画像と呼ぶ。このとき、図３（ｃ）で示されるような書誌情報をもとに、保存済み先行処理画像を検索するようにしても良いし、図３（ｄ）に示されるような先行処理結果管理情報を参照して、保存済み先行処理画像があるか否かを判定するようにしても良い。保存済み先行処理画像がない場合は（Ｓ１２０５のＮｏ）、処理は終了する。保存済み先行処理画像がない場合とは、例えば、大量の投入された印刷ジョブや先行処理以外の機能によって、ＨＤＤ１２４が占有されてしまい、先行処理画像がＨＤＤ１２４に存在しない場合である。保存済み先行処理画像がある場合は（Ｓ１２０５のＹｅｓ）、画像管理部１４１は、生成日時が一番古い先行処理画像を削除する（Ｓ１２０６）。例えば図３（ｄ）に示す例では、ジョブ＃１のページ＃１の先行処理画像の生成日時が最も古いため、ジョブ＃１の先行処理画像がＨＤＤ１２４から優先して削除される。ことのき、処理の簡略化のため、先行処理画像はジョブ単位で削除される。すなわち、ジョブ＃１のページ＃１，＃９の先行処理画像が削除される。なお、先行処理画像をページ単位で削除するようにしてもよい。また、先行処理結果管理情報に登録されているすべての先行処理画像から生成日時が一番古い先行処理画像を削除するのではなく、ユーザ情報ごとに一番生成日時が古い先行処理画像を削除するようにしてもよい。
【００５９】
Ｓ１２０７〜Ｓ１２１０の処理は、Ｓ４０５〜Ｓ４０８の処理と同様である。Ｓ１２１０の後、先行処理部１３６は、Ｓ１２０７で先行処理したページについての先行処理結果管理処理情報を更新するとともに、Ｓ１２０６で削除されたページの先行処理結果管理情報を更新する（Ｓ１２１１）。例えば、ジョブ＃２の書誌情報が図４（ｂ）に示す状態であった場合、Ｓ１２１１において、図３（ｄ）に示す先行処理結果管理情報は図１２（ｂ）に示す状態に更新される。図１２（ｂ）に示す例では、ジョブ＃１のページ＃１，＃９の生成日時及び先行処理画像情報が、未設定の状態になっていて削除されていることが分かる。また、ジョブ＃２のページ＃３の情報が設定されていることが分かる。
【００６０】
以上のように、本実施形態では、先行処理画像をＨＤＤ１２４内に保存できない場合、生成日時が古い先行処理画像から削除して新しい先行処理画像をＨＤＤ１２４内に保存する。このように、本実施形態では、ユーザビリティを考慮した所定の規則に基づき選択した先行処理画像を削除しているので、ユーザビリティを低下させることなく、新たな先行処理画像を保存するための空き容量を確保することが可能となる。またそれにより、ＨＤＤ１２４に十分な空き容量がない場合でも、先行処理を実行することができ、該先行処理により生成される新たな先行処理画像を保存することが可能となる。
【００６１】
［実施形態３］
第３実施形態では、第１実施形態及び第２実施形態で説明した先行処理と異なる先行処理を行う画像形成装置について説明する。以下、第１実施形態及び第２実施形態と同一構成については説明を省略し、それらの実施形態と異なる点を中心に説明する。
【００６２】
図１３は、印刷システムがＰＣ１０４から印刷ジョブを受信した際の、第３実施形態におけるシーケンスの一例を示す図である。なお、Ｓ１３０１〜Ｓ１３０９の処理は、Ｓ１１０１〜Ｓ１１０９の処理と同様である。
【００６３】
画像形成装置１０１は、Ｓ１３０９の処理において、先行処理により得られる画像データ（先行処理画像）をＨＤＤ１２４に保存できないと判断した場合には、ＨＤＤ１２４に保存されている先行処理画像のレンダリング予測時間を取得する（Ｓ１３０９）。そして、画像形成装置１０１は、ＨＤＤ１２４に保存されている先行処理画像のうちレンダリング予測時間が短い先行処理画像を優先して削除して（Ｓ１３１１）、Ｓ１３１２の処理（先行処理）に移行する。Ｓ１３１２の処理については図１４を用いて後述する。Ｓ１３１２〜Ｓ１３２０の処理は、Ｓ１１１２〜Ｓ１１２０の処理と同様である。
【００６４】
図１４は、第３実施形態の画像形成装置１０１〜１０３が備えるコントローラ１１０が実行する先行処理を説明するための図である。図１４に示すフローは、図４（ａ）に示すフローと同様に、図３（ａ）に示す印刷ジョブ留め置き処理により印刷ジョブがＨＤＤ１２４に留め置かれた後に実行される。なお、以下では、Ｓ３０１で図３（ｂ）に示す印刷ジョブが受信され、書誌情報及び先行処理結果管理情報がそれぞれ図３（ｃ）及び図３（ｄ）で示される状態である場合を例にする。Ｓ１４０１〜Ｓ１４０４の処理は、Ｓ１２０１〜Ｓ１２０４の処理と同様である。
【００６５】
Ｓ１４０４の処理の後、画像管理部１４１は、保存済み先行処理画像があるかどうかを判定する（Ｓ１４０５）。保存済み先行処理画像がない場合は（Ｓ１４０５のＮｏ）、処理はＳ１４１３に進む。保存済み先行処理画像がある場合は（Ｓ１４０５のＹｅｓ）、画像管理部１４１は、各保存済み先行処理画像のレンダリング予測時間を取得する。さらに、画像管理部１４１は、保存済み先行処理画像の中で一番レンダリング予測時間が一番短いものを選択する（Ｓ１４０６）。例えば図３（ｄ）に示す例では、ジョブ＃１のページ＃９のレンダリング予測時間が一番短いので、ジョブ＃１のページ＃９の先行処理画像が選択される。なお、先行処理結果管理情報に登録されているすべての先行処理画像からレンダリング予測時間が一番短い先行処理画像を選択でするのではなく、ユーザ情報ごとに一番レンダリング予測時間が短い先行処理画像を選択するようにしてもよい。画像管理部１４１は、先行処理対象のページのレンダリング予測時間のほうが、Ｓ１４０６で選択した保存済み先行処理画像のレンダリング予測時間よりも長いか否かを判定する（Ｓ１４０７）。先行処理対象のページのレンダリング予測時間の方が長い場合は（Ｓ１４０７のＹｅｓ）、画像管理部１４１は、新たに先行処理した方が良いと判断して、Ｓ１４０６で選択した保存済み先行処理画像を削除する（Ｓ１４０８）。そうでない場合は（Ｓ１４０７のＮｏ）、画像管理部１４１は、新たに先行処理をしない方が良いと判断してＳ１４１１の処理に進む。
【００６６】
以上のように、本実施形態では、先行処理結果をＨＤＤ１２４内に保存できない場合、レンダリング予測時間が短い保存済み先行処理画像から削除して新規に生成された先行処理画像をＨＤＤ１２４内に保存する。このため、ユーザの待ち時間をより低減することができる先行処理画像を優先してＨＤＤ１２４に保存しておくことが可能となる。また、先行処理対象のページよりもレンダリング予測時間が短い保存済み先行処理画像が存在しない場合には、該先行処理対象のページについて先行処理を行う必要性がないと判断して、該先行処理を実行しないようにしている。したがって、無駄な先行処理が行われることを防止することができる。
【００６７】
［実施形態４］
第４実施形態では、第１実施形態、第２実施形態、および、第３実施形態で説明した先行処理と異なる先行処理を行う画像形成装置について説明する。以下、第１実施形態、第２実施形態、及び第３実施形態と同一構成については説明を省略し、それらの実施形態と異なる点を中心に説明する。
【００６８】
図１５は、印刷システムがＰＣ１０４から印刷ジョブを受信した際の、第４実施形態におけるシーケンスの一例を示す図である。Ｓ１５０１〜Ｓ１５０８の処理はＳ２０１〜Ｓ２０８の処理と同様である。
【００６９】
画像形成装置１０１は、Ｓ１５０８で書誌情報を登録した後、画像形成装置１０１内のＨＤＤ１２４と画像形成装置１０２,１０３内の記憶装置の空き容量を調べる（Ｓ１５０９〜Ｓ１５１２）。より具体的には、画像形成装置１０１は、ＨＤＤ１２４に先行処理画像を保存するための十分な空き容量がないと判断した場合、画像形成装置１０２,１０３に対して容量情報取得要求を送る（Ｓ１５０９, Ｓ１５１１）。画像形成装置１０２,１０３は、画像形成装置１０１からの容量情報取得要求に応じて、自装置内の記憶装置の空き容量を示す情報（容量情報）を送信する（Ｓ１５１０,Ｓ１５１２）。画像形成装置１０１は、受信した容量情報に基づいて、画像形成装置１０２,１０３の記憶装置に先行処理画像を転送可能であるか否かを判定する。転送可能であると判断した場合には、画像形成装置１０１は、ＨＤＤ１２４内に保存されている先行処理画像をジョブ単位で他の画像形成装置に転送する（Ｓ１５１３）。
【００７０】
転送に成功すると、画像形成装置１０１は、転送した先行処理画像に対応する印刷ジョブの書誌情報を更新する（Ｓ１５１４）。そして、画像形成装置１０１は、新たに受信した印刷データの先行処理を開始し（Ｓ１５１５）、先行処理して得られた先行処理画像を、ＨＤＤ１２４に保存する（Ｓ１５１６）。
【００７１】
ユーザが画像形成装置１０１にログインすると（Ｓ１５１７）、画像形成装置１０１は、ユーザがログインするときに入力したユーザ情報を取得する（Ｓ１５１８）。そして、画像形成装置１０１は、ＬＡＮ１０５上の他の画像形成装置１０２,１０３に対して書誌情報の送信を要求する（Ｓ１５１９,Ｓ１５２１）。画像形成装置１０１は、各画像形成装置から書誌情報を受信すると（Ｓ１５２０,Ｓ１５２２）、Ｓ１５１８で取得したユーザ情報に対応する印刷ジョブ一覧を操作パネル１１３に表示する（Ｓ１５２３）。画像形成装置１０１は、ユーザからの印刷指示を受け付ける（Ｓ１５２４）。すると、画像形成装置１０１は、ＨＤＤ１２４に保存されている先行処理画像、または、書誌情報に記録される他の画像形成装置（ここでは、画像形成装置１０２）から先行処理画像を受け取り（Ｓ１５２５,Ｓ１５２６）、印刷ジョブに付加する（Ｓ１５１７）。画像形成装置１０１は、印刷ジョブに付加された先行処理画像を用いて仕上げのレンダリング処理を行い（Ｓ１７２８）、印刷を行う（Ｓ１７２９）。
【００７２】
図１６は、第４実施形態の画像形成装置１０１〜１０３が備えるコントローラ１１０が実行する先行処理を説明するための図である。図１６に示すフローは、図４に示すフローと同様に、図３に示す印刷ジョブ留め置き処理により印刷ジョブがＨＤＤ１２４に留め置かれた後に実行される。なお、Ｓ１６０１〜Ｓ１６０３の処理は、Ｓ４０１〜Ｓ４０３の処理と同様である。
【００７３】
Ｓ１６０２の処理の結果、先行処理が必要なページが存在しないと判断された場合には（Ｓ１６０３のＮｏ）、処理はＳ１６１８に進む。この場合、Ｓ１６１８において先行処理結果管理情報が更新されることなく、処理は終了する。一方、先行処理が必要なページが存在すると判断された場合は（Ｓ１６０３のＹｅｓ）、画像管理部１４１は、先行処理が行われる前に、該先行処理により得られる画像データ（先行処理画像）を保存可能か否か判定する（Ｓ１６０４，Ｓ１６０５）。まず、Ｓ１６０４において、画像管理部１４１は、書誌情報に保存されている印刷設定情報とＳ１６０２で特定した先行処理が必要なページのページ数とに基づいて、先行処理画像のファイルサイズを予測する。このとき、画像管理部１４１は、書誌情報に保存されている印刷設定情報から用紙サイズ、出力解像度、カラーモード等の印刷設定値を取得し、それらの設定値から先行処理画像の幅、高さ、及びチャネル数を求める。そして、画像管理部１４１は、求めた条件と同じ条件の画像から導出されるファイルサイズの平均値または最悪値を、先行処理画像のファイルサイズとして予測する。なお、ファイルサイズはその他の予測方法で予測されてもよい。次いで、画像管理部１４１は、Ｓ１６０４の予測結果とＨＤＤ１２４の空き容量とに基づき、先行処理画像をＨＤＤ１２４に保存できるか否かを判定する（Ｓ１６０５）。保存できる場合は（Ｓ１６０５のＹｅｓ）、処理はＳ１６１５に移行する。保存できない場合は（Ｓ１６０５のＮｏ）、画像管理部１４１は、ＨＤＤ１２４に保存されている先行処理画像を他の画像形成装置に転送可能かどうかを判定する（Ｓ１６０６）。このとき、画像管理部１４１は、画像形成装置１０２と画像形成装置１０３とに対して記憶装置（例えば、ＨＤＤ）の空き容量を問い合わせる。この処理は、上述したＳ１５０９〜Ｓ１５１２の処理に相当する。いずれの画像形成装置の記憶装置にもＳ１６０４で予測したファイルサイズ以上の空き容量がない場合には、先行処理画像を転送できないと判断して（Ｓ１６０６のＮｏ）、画像管理部１４１は、Ｓ１６０７〜Ｓ１６１０の処理に進む。一方、ファイルサイズ以上の空き容量がある場合には先行処理画像を転送できると判断して（Ｓ１６０６のＹｅｓ）、画像管理部１４１は、Ｓ１６１１〜Ｓ１６１４の処理に進む。ここでは、Ｓ１６０４で予測したファイルサイズを閾値としてＳ１６０６の判定を行う例を示したが、該ファイルサイズに対して所定のマージンを設けて得られる値を閾値としてもよい。
【００７４】
まず、Ｓ１６０７〜Ｓ１６１０の処理を説明する。画像管理部１４１は、ＨＤＤ１２４内に保存済み先行処理画像が存在するか否かを判定する（Ｓ１６０７）。保存済み先行処理画像が存在しない場合には（Ｓ１６０７のＮｏ）、処理はＳ１６１８に移行する。保存済み先行処理画像が存在する場合には（Ｓ１６０７のＹｅｓ）、画像管理部１４１は、保存済み先行処理画像の総容量がＳ１６０４で予測したファイルサイズ以上であるか否かを判定する（Ｓ１６０８）。Ｓ１６０４で予測したファイルサイズ未満である場合には（Ｓ１６０８のＮｏ）、処理はＳ１６１８に移行する。そうでない場合には（Ｓ１６０８のＹｅｓ）、画像管理部１４１は、保存済み先行処理画像のレンダリング予測時間のうち一番短いレンダリング予測時間が、先行処理対象のページのレンダリング予測時間よりも長いか否かを判定する（Ｓ１６０９）。先行処理対象のページのレンダリング予測時間よりも長い場合には（Ｓ１６０９のＹｅｓ）、処理はＳ１６１８に移行する。そうでない場合には（Ｓ１６０９のＮｏ）、画像管理部１４１は、削除可能な先行処理画像を必要なサイズ分ＨＤＤ１２４から削除して（Ｓ１６１０）、Ｓ１６１５の処理に進む。例えば、Ｓ１６０５実行時における印刷ジョブ＃２の書誌情報が図４（ｂ）で示される状態であり、先行処理結果管理情報が図３（ｄ）で示される状態であり、さらにＳ１６０４で予測されたファイルサイズが５Ｍｂｙｔｅであるとする。さらに、画像形成装置１０２,１０３の記憶装置に５Ｍｂｙｔｅ以上の空き容量がないとする。この場合、画像管理部１４１は、５Ｍｂｙｔｅ以上の空き容量を確保するために、ＨＤＤ１２４内に保存されている印刷ジョブ＃１の先行処理画像を削除する必要があると判断する（Ｓ１６０５，Ｓ１６０６）。さらに、印刷ジョブ＃１のページ＃１，＃９のレンダリング予測時間はいずれも、印刷ジョブ＃２の先行処理が必要なページ（ページ＃３）のレンダリング予測時間を超えていない。そのため、画像管理部１４１は、印刷ジョブ＃１に対応する先行処理画像を削除する（Ｓ１６１０）。なお、このとき、印刷ジョブ＃１のページ＃１とページ＃９のレンダリング予測時間の合計を、印刷ジョブ＃２の先行処理が必要なページ（ページ＃３）のレンダリング予測時間と比較するようにしてもよい。また、Ｓ１６０４で予測されたファイルサイズが３Ｍｂｙｔｅであった場合には印刷ジョブ＃１のページ＃９の先行処理画像のみを削除するだけで必要な空き容量を確保することができる。しかし、本実施形態では、処理を簡略化するためにジョブ単位で保存済み先行処理画像の削除を行うものとする。
【００７５】
次いで、Ｓ１６１１〜Ｓ１６１４の処理を説明する。Ｓ１６１１〜Ｓ１６１４の処理は、図１５におけるＳ１５０９〜Ｓ１５１３の処理に対応する。Ｓ１６１１において、画像管理部１４１は、他の画像形成装置に転送する先行処理画像を選択する。転送する先行処理画像は、生成されてから所定の時間が経過していて、かつ、レンダリング予測時間が長いものである。Ｓ１６１２において、画像管理部１４１は、Ｓ１６１１で選択した先行処理画像を転送する。このとき、先行処理画像の生成元であるＰＤＬデータは転送せずに、先行処理画像のみを転送する。転送が成功した場合（Ｓ１６１３のＹｅｓ）、画像管理部１４１は、先行処理結果管理情報を修正し（Ｓ１６１４）、Ｓ１６１５の処理に進む。なお、転送が成功した場合、転送された先行処理画像が格納されていたＨＤＤ１２４内の領域は空き領域となる。何らかの理由により転送が失敗した場合は（Ｓ１６１３のＮｏ）、Ｓ１６０７に進む。例えば、Ｓ１６１１実行時における印刷ジョブ＃１の書誌情報が図３（ｄ）で示される状態であるときに、Ｓ１６１２，Ｓ１６１３で印刷ジョブ＃１の各先行処理画像の転送が行われ、さらに印刷ジョブ＃２の先行処理が実行されたとする。その場合、先行処理結果管理情報は、図１６（ｂ）に示す状態となる。図１６（ｂ）では、印刷ジョブ＃１の格納先の先頭ディレクトリが、画像形成装置１０２のホスト名とＩＰアドレスとを表す“１０２（１９２．１６８．１００．１０２）”に更新されている。
【００７６】
Ｓ１６１５，Ｓ１６１６の処理は、Ｓ４０５，Ｓ４０６の処理と同様である。Ｓ１６１６の後、先行処理部１３６は、Ｓ１６０２で先行処理が必要であると判断された全てのページについて先行処理が終了したかを判定する（Ｓ１６１７）。全てのページついて先行処理が終了している場合は（Ｓ１６１７のＹｅｓ）、処理はＳ１６１８に進む。そして、Ｓ１６１８において先行処理結果管理情報が更新された後、処理は終了する。全てのページついて先行処理が終了していない場合は（Ｓ１６１７のＮｏ）、処理はＳ１６１９に進む。
【００７７】
Ｓ１６１９において、先行処理部１３６は、先行処理を実行している印刷ジョブに対する印刷実行指示がなく、かつ、先行処理対象である残りのページを先行処理して得られる先行処理画像を保存するのに十分な容量がＨＤＤ１２４に残っているか確認する。印刷実行指示がなく、かつ、ＨＤＤ１２４に十分な空き容量がある場合は（Ｓ１６１９のＹｅｓ）、処理はＳ１６１５に戻り、先行処理対象である残りのページについて先行処理が行われる。印刷実行指示があった場合、または、ＨＤＤ１２４に十分な空き容量がない場合は（Ｓ１６１９のＮｏ）、処理はＳ１６１８に進む。そして、Ｓ１６１８において先行処理結果管理情報が更新された後、処理は終了する。Ｓ１６１９の判定処理によれば、先行処理中に新たにユーザから印刷ジョブが送られてきた場合や、Ｓ１６０４の予測が外れている場合に、Ｓ１６１５において不要な先行処理が実行されてしまうことを抑制することができる。
【００７８】
図１７は、第４実施形態の画像形成装置１０１〜１０３が備えるコントローラ１１０が実行する印刷実行処理の一例を示すフローチャートである。認証部１３１は、認証処理を行う（Ｓ１７０１）。この処理は、Ｓ５０１の処理と同様である。Ｓ１７０１の後、書誌管理部１３３は、書誌情報を更新する（Ｓ１７０２）。具体的には、書誌管理部１３３は、ＬＡＮ１０５上の画像形成装置（ここでは、画像形成装置１０２，１０３）に、該画像形成装置に入稿された印刷ジョブの書誌情報を問い合わせる。ＬＡＮ１０５上の画像形成装置１０２，１０３の書誌管理部は、自装置に入稿されたジョブの書誌情報を画像形成装置１０１の書誌管理部１３３に送る。これにより、書誌管理部１３３は、ＬＡＮ１０５上の画像形成装置１０２，１０３が保持する印刷ジョブや、その印刷ジョブのレンダリング予測時間、転送した先行処理画像の格納先などに関する情報を受け取ることができる。また、書誌管理部１３３は、ＬＡＮ１０５上の画像形成装置１０２，１０３から受け取った書誌情報と内部で保持する書誌情報とを比較する。書誌管理部１３３は、比較の結果、画像形成装置１０２，１０３に留め置かれている印刷ジョブが削除されたと判断した場合には、画像形成装置１０１内で管理する、それらの印刷ジョブに関する情報を削除する。
【００７９】
Ｓ１７０３〜Ｓ１７１０の処理は、Ｓ５０２〜Ｓ５０９の処理と同様である。ただし、Ｓ１７０８の処理は、Ｓ５０７の処理と異なる。以下で、その差分について図１８を用いて説明する。
【００８０】
図１８は、第４実施形態の画像形成装置１０１〜１０３が備えるコントローラ１１０が実行する先行処理結果の付加処理（図１７に示すＳ１７０６の処理）の一例を示すフローチャートである。
【００８１】
まず、留め置き制御部１３７は、画像管理部１４１用いて先行処理画像を取得する（Ｓ１８０１）。なお、Ｓ１８０１の処理については図１９を用いて詳述する。先行処理画像が他の画像形成装置にある場合は、留め置き制御部１３７は、他の画像形成装置に転送を要求する。先行処理画像が画像形成装置内にある場合は、留め置き制御部１３７は、書誌情報に記載されているファイルパスを参照して先行処理画像を取得する。
【００８２】
次いで、留め置き制御部１３７は、後述する転送完了フラグを参照して、先行処理画像が取得できたかどうか判定する（Ｓ１８０２）。転送完了フラグが「済（１）」である場合は（Ｓ１８０２のＹｅｓ）、留め置き制御部１３７は、先行処理画像が取得できたと判断してＳ１８０３に進む。一方、転送完了フラグが「否（０）」である場合は（Ｓ１８０２のＮｏ）、留め置き制御部１３７は、先行処理画像の取得に失敗したと判断して、処理を終了する。なお、Ｓ１８０３〜Ｓ１８０７の処理は、Ｓ７０１〜Ｓ７０５の処理と同様である。
【００８３】
このように、先行処理画像の取得に失敗した場合には、Ｓ１８０３〜Ｓ１８０７の処理をスキップして、印刷ジョブに付加情報を含ませないようにする。これにより、先行処理済みの印刷ジョブについて先行処理画像の取得に失敗したとしても、仕上げのレンダリング処理（図９に示す処理）において、該印刷ジョブを、先行処理を実施していない印刷ジョブとして処理することができる。
【００８４】
図１９は、第４実施形態の画像形成装置１０１〜１０３が備えるコントローラ１１０が実行する先行処理画像の取得処理（図１８に示すＳ１８０１の処理）の一例を示すフローチャートである。
【００８５】
まず、画像管理部１４１は、先行処理結果管理情報から格納先などの先行処理画像に関する情報を取得する（Ｓ１９０１）。次いで、画像管理部１４１は、ＬＡＮ１０５上の他の画像形成装置に先行処理画像が格納されているか、すなわち、他の画像形成装置から先行処理画像を受信する必要があるかを判定する（Ｓ１９０２）。受信する必要がない場合は（Ｓ１９０２のＮｏ）、画像管理部１４１は、受信する必要がないと判断した先行処理画像に対する転送完了フラグを「済」にして（Ｓ１９１７）、処理を終了する。受信する必要がある場合は（Ｓ１９０２のＹｅｓ）、画像管理部１４１は、他の画像形成装置に格納されている先行処理画像を受信した場合に、該先行処理画像をＨＤＤ１２４に保存可能かを判定する（Ｓ１９０３）。すなわち、画像管理部１４１は、受信した先行処理画像を保存するための十分な空き容量がＨＤＤ１２４に残っているか判定する。十分な空き容量が残っている場合は（Ｓ１９０３のＹｅｓ）、画像管理部１４１は、他の画像形成装置から先行処理画像を受信するための受信処理を開始する（Ｓ１９１３）。十分な空き容量が残っていない場合は（Ｓ１９０３のＮｏ）、他の画像形成装置から受信した先行処理画像を保存できるように、画像管理部１４１は、ＨＤＤ１２４の容量を確保するためＳ１９０４〜Ｓ１９１２の処理を実行する。なお、Ｓ１９０４〜Ｓ１９１２の処理はＳ１６０５〜Ｓ１６１４の処理と同様である。ただし、Ｓ１９０５，Ｓ１９０６，Ｓ１９０７の処理においてＮｏと判定された場合、画像管理部１４１は、転送完了フラグを「否」に設定して（Ｓ１９１６）、処理を終了する。また、Ｓ１９０８の処理の後、画像管理部１４１は、Ｓ１９１３の処理に移行する。
【００８６】
Ｓ１９１３の後、画像管理部１４１は、受信処理のタイムアウト時間（以下、受信タイムアウト時間と呼ぶ）を導出する（Ｓ１９１４）。受信タイムアウト時間は、例えば、先行処理画像を受信する時間と該先行処理画像を用いて行われる印刷ジョブの排紙完了までに要する時間との合計が書誌情報のレンダリング予測時間を超えないように設定される。画像管理部１４１は、受信タイムアウト時間内に先行処理画像の受信が完了したかどうか判定する（Ｓ１９１５）。受信タイムアウト時間内に受信処理が完了しなかった場合、あるいは、先行処理画像を格納する画像形成装置との接続ができなかった場合は（Ｓ１９１５のＮｏ）、画像管理部１４１は、受信処理が失敗したと判断する。そして、画像管理部１４１は、転送完了フラグを「否」に設定して（Ｓ１９１６）、処理を終了する。受信タイムアウト時間内に受信処理が完了した場合は（Ｓ１９１５のＹｅｓ）、転送完了フラグを「済」に設定して（Ｓ１９１７）、処理を終了する。
【００８７】
以上のように、本実施形態では、先行処理画像をＨＤＤ１２４内に保存できない場合には、該先行処理画像を削除しないで他の画像形成装置に転送する。したがって、本実施形態によれば、ＨＤＤ１２４に十分な空き容量がない場合でも、仕上げのレンダリング処理にて先行処理画像を使用することが可能となる。また本実施形態では、先行処理画像を他の画像形成装置に転送できない場合に、第３実施形態と同様にレンダリング予測時間が短い先行処理画像を削除して、新たに生成した先行処理画像をＨＤＤ１２４に保存するようにしている。したがって、先行処理画像を他の画像形成装置に転送できずに保存済み先行処理画像を削除する場合でも、ユーザの待ち時間をより低減することができる先行処理画像を優先してＨＤＤ１２４に残しておくことができる。
【００８８】
なお、本実施形態では、Ｓ１６０９やＳ１９０７においてレンダリング予測時間に基づき保存済み先行処理画像から削除対象を選択しているが、第２実施形態と同様にして生成日時が一番古い先行処理画像を削除対象として選択するようにしてもよい。
【００８９】
［実施形態５］
第４実施形態では、先行処理の実行前にジョブ単位で先行処理画像の転送と削除を行う画像形成装置について説明した。しかし、ＨＤＤなど画像形成装置が有する記憶装置の容量次第では、ジョブ単位で先行処理画像を保持することができずに、先行処理が実行できなくなる場合がある。例えば、大量の留め置き印刷ジョブが入稿された場合や、その他の画像形成装置が有する機能によって記憶装置の容量が占有された場合などである。そこで、本実施形態では、ページ単位で先行処理画像の転送を行う。それにより、画像形成装置内の記憶装置に十分な空き容量がない場合でも、先行処理の実行と先行処理画像の保持とを可能にする。
【００９０】
第５実施形態における印刷システム及び画像形成装置の構成は、図１と同様である。図２０は、印刷システムがＰＣ１０４から印刷ジョブを受信した際の、第５実施形態におけるシーケンスの一例を示す図である。Ｓ２００１〜Ｓ２００８の処理はＳ２０１〜Ｓ２０８の処理と同様である。
【００９１】
画像形成装置１０１は、Ｓ２００８で書誌情報を登録した後、印刷データに対し１ページ分の先行処理を開始する（Ｓ２００９）。先行処理により生成された先行処理画像は、ＨＤＤ１２４に保存される（Ｓ２０１０）。その後、画像形成装置１０１は、画像形成装置１０２，１０３内の記憶装置の空き容量を調べる（Ｓ２０１１〜Ｓ２０１４）。Ｓ２０１１〜Ｓ２０１４の処理はＳ１５０９〜Ｓ１５１２と同様である。画像形成装置１０１は、Ｓ２０１２、Ｓ２０１４で受信した容量情報に基づいて、Ｓ２０１０で生成した１ページ分の先行処理画像の転送先を画像形成装置１０２，１０３のいずれにするかを決定し、決定した転送先に該先行処理画像を転送する（Ｓ２０１５）。転送に成功すると、画像形成装置１０１は、転送した先行処理画像に対応する印刷ジョブの書誌情報を更新する（Ｓ２０１６）。Ｓ２０１７〜Ｓ２０２３の処理は、Ｓ１７１７〜Ｓ１７２３の処理と同様である。
【００９２】
画像形成装置１０１は、ユーザからの印刷指示を受け付ける（Ｓ２０２４）。すると、画像形成装置１０１は、書誌情報に記録される１ページ分の先行処理画像を他の画像形成装置（ここでは、画像形成装置１０２）から受け取り（Ｓ２０２５，Ｓ２０２６）、印刷ジョブに付加する（Ｓ２０２７）。画像形成装置１０１は、印刷ジョブに付加された先行処理画像を用いて仕上げのレンダリング処理を行い（Ｓ２０２８）、印刷を行う（Ｓ２０２９）。
【００９３】
このように、本実施形態では、１ページ毎に先行処理と先行処理画像の転送とを行い、仕上げのレンダリング処理時に１ページ毎に、転送先から先行処理画像を受信する。この処理の詳細について、図２１〜図２３を用いて説明する。
【００９４】
図２１は、第５実施形態の画像形成装置１０１〜１０３が備えるコントローラ１１０が実行する先行処理の一例を示すフローチャートである。図２１に示すフローは、図４に示すフローと同様に、図３に示す印刷ジョブ留め置き処理により印刷ジョブがＨＤＤ１２４に留め置かれた後に実行される。Ｓ２１０１〜Ｓ２１０３の処理はＳ１６０１〜Ｓ１６０３と同様である。
【００９５】
Ｓ２１０３で先行処理が必要なページが存在すると判断された場合は（Ｓ２１０３のＹｅｓ）、画像管理部１４１は、それらのページから１ページを選択し、選択したページについて先行処理画像のファイルサイズを予測する（Ｓ２１０４）。ファイルサイズの予測方法は、第４実施形態と同様の予測方法を用いても良いし、その他の方法であっても良い。次いで、画像管理部１４１は、Ｓ２１０４で選択した１ページ分の先行処理画像をＨＤＤ１２４に保存できるか否かを判定する（Ｓ２１０５）。保存できない場合は（Ｓ２１０５のＮｏ）、処理はＳ２１１３に進む。保存できる場合は（Ｓ２１０５のＹｅｓ）、画像管理部１４１は、Ｓ２１０４で予測した１ページ分の先行処理画像を他の画像形成装置に転送可能かどうか判定する（Ｓ２１０６）。このとき、画像管理部１４１は、画像形成装置１０２と画像形成装置１０３とに対して記憶装置（例えば、ＨＤＤ）の空き容量を問い合わせる。いずれの画像形成装置の記憶装置にもＳ２１０４で予測したファイルサイズ以上の空き容量がない場合には、先行処理画像を転送できないと判断され（Ｓ２１０６のＮｏ）、処理はＳ２１１３に進む。転送可能であると判断された場合には（Ｓ２１０６のＹｅｓ）、先行処理部１３６は、Ｓ２１０４で選択したページの先行処理を行って、該ページの先行処理画像を生成する（Ｓ２１０７）。ここでは、Ｓ２１０４で予測したファイルサイズを判定基準に用いる例を示したが、該ファイルサイズに対して所定のマージンを設けて得られる値を判定基準としてもよい。Ｓ２１０７の後、先行処理部１３６は、生成した先行処理画像をＨＤＤ１２４に一時保存する（Ｓ２１０８）。画像管理部１４１は、ＨＤＤ１２４に一時保存された先行処理画像を他の画像形成装置に転送し（Ｓ２１０９）、さらに、転送に成功したか否かを判定する（Ｓ２１１０）。転送に成功した場合は（Ｓ２１１０のＹｅｓ）、画像管理部１４１は、書誌情報を更新し（Ｓ２１１１）、Ｓ２１０８でＨＤＤ１２４に一時保存された先行処理画像を削除する（Ｓ２１１２）。転送に失敗した場合は（Ｓ２１１０のＮｏ）、画像管理部１４１は、Ｓ２１１１の処理を実行せずに、Ｓ２１１２の処理を実行する。
【００９６】
Ｓ２１１３において、先行処理部１３６は、Ｓ２１０２で先行処理が必要であると判断された全てのページについて先行処理が終了したかを判定する。全てのページついて先行処理が終了している場合は（Ｓ２１１３のＹｅｓ）、処理は終了する。全てのページついて先行処理が終了していない場合は（Ｓ２１１３のＮｏ）、処理はＳ２１０４に戻る。
【００９７】
次に、第５本実施形態の画像形成装置１０１〜１０３が備えるコントローラ１１０が実行するユーザ認証後の印刷実行処理を説明する。本実施形態における印刷実行処理は、図１７に示す第４実施形態における印刷実行処理と同様である。ただし、本実施形態では、他の画像形成装置に転送した先行処理画像を仕上げのレンダリング処理時にページ単位で受信するため、先行処理結果の付加処理及び仕上げのレンダリング処理が第４実施形態と異なる。なお、本実施形態における先行処理結果の付加処理は、第１実施形態と同様に図７に示すフローに従って行われるため説明を省略する。
【００９８】
図２２は、第５実施形態の画像形成装置１０１〜１０３が備えるコントローラ１１０が実行する仕上げのレンダリング処理の一例を示すフローチャートである。Ｓ２２０１，Ｓ２２０５〜Ｓ２２１２の処理は、Ｓ９０１，Ｓ９０３〜Ｓ９１０の処理と同様である。
【００９９】
Ｓ２２０１の後、印刷実行部１３８は、これから解析を行う解析対象ページが先行処理を実施したページか否かを判定する（Ｓ２２０２）。解析対象ページが先行処理を実施したページでない場合は（Ｓ２２０２のＮｏ）、処理はＳ２２１０に進む。解析対象ページが先行処理を実施したページである場合には（Ｓ２２０２のＹｅｓ）、印刷実行部１３８は、画像管理部１４１を用いて先行処理画像の取得を行う（Ｓ２２０３）。ここで、図２３を用いてＳ２２０３の処理を説明する。
【０１００】
図２３は、第５実施形態の画像形成装置１０１〜１０３が備えるコントローラ１１０が実行する先行処理画像の取得処理（図２２に示すＳ２２０３の処理）の一例を示すフローチャートである。まず、画像管理部１４１は、書誌情報から先行処理画像に関する情報（保存先など）を取得する（Ｓ２３０１）。次いで、画像管理部１４１は、ＬＡＮ１０５上の他の画像形成装置に先行処理画像が格納されているか、すなわち、他の画像形成装置から先行処理画像を受信する必要があるかを判定する（Ｓ２３０２）。受信する必要がない場合は（Ｓ２３０２のＮｏ）、画像管理部１４１は、受信する必要がないと判断した先行処理画像に対する転送完了フラグを「済」にして（Ｓ２３０８）、処理を終了する。受信する必要がある場合は（Ｓ２３０２のＹｅｓ）、画像管理部１４１は、他の画像形成装置に格納されている先行処理画像を受信した場合に、該先行処理画像をＨＤＤ１２４に保存可能かを判定する（Ｓ２３０３）。すなわち、画像管理部１４１は、受信した先行処理画像を保存するための十分な空き容量がＨＤＤ１２４に残っているか判定する。十分な空き容量が残っていない場合は（Ｓ２３０３のＮｏ）、画像管理部１４１は、転送完了フラグを「否」に設定して（Ｓ２３０４）、処理を終了する。十分な空き容量が残っている場合は（Ｓ２３０３のＹｅｓ）、画像管理部１４１は、他の画像形成装置から先行処理画像を受信するための受信処理を開始する（Ｓ２３０５）。
【０１０１】
次いで、画像管理部１４１は、受信タイムアウト時間を導出する（Ｓ２３０６）。この処理は、Ｓ１９１４と同様であるため説明を省略する。次いで、画像管理部１４１は、受信タイムアウト時間内に先行処理画像の受信が完了したかどうか判定する（Ｓ２３０７）。受信タイムアウト時間内に受信処理が完了しなかった場合、あるいは、先行処理画像を格納する画像形成装置との接続ができなかった場合は（Ｓ２３０７のＮｏ）、画像管理部１４１は、受信処理が失敗したと判断する。そして、画像管理部１４１は、転送完了フラグを「否」に設定して（Ｓ２３０４）、処理を終了する。受信タイムアウト時間内に受信処理が完了した場合は（Ｓ２３０７のＹｅｓ）、転送完了フラグを「済」に設定して（Ｓ２３０８）、処理を終了する。
【０１０２】
図２２のフローの説明に戻る。Ｓ２２０３の処理の後、留め置き制御部１３７は、画像管理部１４１が設定した転送完了フラグを参照して、先行処理画像を取得できたかどうか判定する（Ｓ２２０４）。転送完了フラグが「済」である場合は（Ｓ２２０４のＹｅｓ）、処理はＳ２２０５に進み、転送完了フラグが「否」である場合は（Ｓ２２０４のＮｏ）、処理はＳ２２１０に進む。
【０１０３】
以上のように、本実施形態によれば、ページ単位で先行処理画像の転送を行うことで、ＨＤＤ１２４に十分な空き容量がない場合でも、先行処理の実行と先行処理画像の保持とを行うことが可能になる。なお、Ｓ２１０５及びＳ２１０６の処理の代わりに、またはそれらの処理に加えて、第４実施形態と同様にしてＨＤＤ１２４内の保存済み先行処理画像を転送したり削除したりしてもよい。そして、１ページ分の先行処理画像を保存できるだけの空き容量を確保してからＳ２１０７以降の処理を行うようにしてもよい。
【０１０４】
また、本発明の実施形態は上述した実施形態以外にも様々なものが考えられる。例えば、複数の実施形態の組み合わせた実施形態も本発明の範疇である。また、各実施形態の各要素も可能な範囲で組み合わせることが可能である。
【０１０５】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【図１】
2019181732.tif 000003
【図２】
2019181732.tif 000004
【図３】
2019181732.tif 000005
【図４】
2019181732.tif 000006
【図５】
2019181732.tif 000007
【図６】
2019181732.tif 000008
【図７】
2019181732.tif 000009
【図８】
2019181732.tif 000010
【図９】
2019181732.tif 000011
【図１０】
2019181732.tif 000012
【図１１】
2019181732.tif 000013
【図１２】
2019181732.tif 000014
【図１３】
2019181732.tif 000015
【図１４】
2019181732.tif 000016
【図１５】
2019181732.tif 000017
【図１６】
2019181732.tif 000018
【図１７】
2019181732.tif 000019
【図１８】
2019181732.tif 000020
【図１９】
2019181732.tif 000021
【図２０】
2019181732.tif 000022
【図２１】
2019181732.tif 000023
【図２２】
2019181732.tif 000024
【図２３】
2019181732.tif 000025