(57)【要約】【課題】  ＲＩＰ処理済みのページとＲＩＰ処理前のページが混在する印刷データに基づき印刷可能な画像形成装置を提供する。【解決手段】  留め置き中の印刷ジョブを先行してレンダリング処理を行い、その結果の情報を先行処理結果として印刷ジョブに付加する。印刷ジョブの印刷実行時、先行処理結果があるページは先行処理結果を利用して印刷処理を行い、先行処理結果がないページは印刷ジョブに含まれるＰＤＬを解析して印刷処理を行う。【選択図】  図８
2018144372.tif 000002
【特許請求の範囲】
【請求項１】
印刷ジョブを先行してレンダリング処理した結果である先行処理結果が含まれる付加情報付きの印刷ジョブを受信して印刷処理を行う画像形成装置で、
受信した印刷ジョブを解析して印刷処理の制御を行う印刷実行手段（１３８）と、
前記印刷ジョブに含まれるＰＤＬの解析が可能な１つあるいは複数のＰＤＬ解析手段（１３９）と、
前記ＰＤＬ解析手段による解析結果であるＰＤＬ解析結果か、あるいは前記先行処理結果から、印刷処理に必要な中間データを生成可能な中間データ生成手段（１４０）と、を備え、
前記印刷実行手段（１３８）は、印刷処理を行うページの中間データを前記先行処理結果から生成するか、前記ＰＤＬ解析結果から生成するか、
印刷ジョブに含まれる先行処理結果を参照して切り替えることを特徴とする画像形成装置。
【請求項２】
前記印刷実行手段（１３８）は、
印刷処理を行うページの先行処理結果が印刷ジョブに含まれる場合（Ｓ８０２、Ｓ１５０２）は、該ページの中間データを前記先行処理結果から生成し、
印刷処理を行うページの先行処理結果が印刷ジョブに含まれない場合（Ｓ８０３、Ｓ１５０３）は、該ページの中間データを前記ＰＤＬ解析結果から生成することを特徴とする請求項１の画像形成装置。
【請求項３】
請求項２に記載の前記先行処理結果は、ファイルパスの情報（Ｓ８０４）であることを特徴とする、請求項２の画像形成装置。
【請求項４】
請求項２に記載の前記先行処理結果は、画像データの情報（Ｓ１５０４）であることを特徴とする、請求項２の画像形成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷ジョブを一度蓄積した後に印刷可能な画像形成装置に関し、特に、印刷ジョブの印刷実行時のレンダリング処理時間を短くする制御に関する。
【背景技術】
【０００２】
従来より、プリンタ等の画像形成装置によりシートに画像形成（印刷）が行われている。昨今では、印刷データを予め格納しておき、操作パネルで指定された印刷データを印刷する「留め置き印刷」機能を備えた画像形成装置が普及している。
【０００３】
特許文献１では、印刷管理サーバに印刷データを格納しておき、ユーザの指示で画像形成装置に印刷データをダウンロードして印刷する印刷システムが記載されている。
【０００４】
また、特許文献２には、印刷ジョブ送信装置か画像形成装置のいずれかで印刷データのレンダリング処理（ＲＩＰ処理）を行い、画像形成装置で印刷を行う印刷システムが記載されている。換言すると、特許文献２には、ＲＩＰ処理済みの印刷データかＲＩＰ処理前の印刷データのいずれかの印刷データを送信可能な印刷ジョブ送信装置が記載されている。特許文献２の印刷システムは、上述した構成により印刷待ち時間の抑制をはかっている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第４０３３８５７号公報
【特許文献２】特開２０１３−２２５２５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、特許文献２のような印刷システムにおいて、印刷ジョブ送信装置で印刷データの一部ページをＲＩＰ処理し、印刷データのその他のページを画像形成装置でＲＩＰ処理することで印刷待ち時間を抑制できるケースがある。このようなケースに対応すべく、印刷システムは、ＲＩＰ処理済みのページとＲＩＰ処理前のページが混在する印刷データを取り扱い可能であることが望ましい。特にＲＩＰ処理済みのページとＲＩＰ処理前のページが混在する印刷データを、画像形成装置において低処理コストでこれを解析できることが望ましい。
【０００７】
本発明の目的は、ＲＩＰ処理済みのページとＲＩＰ処理前のページが混在する印刷データに基づき印刷可能な画像形成装置を提供することである。
【０００８】
本発明の目的は、ＲＩＰ処理済みのページとＲＩＰ処理前のページが混在する印刷データに基づき印刷可能な画像形成装置を提供することである。
【課題を解決するための手段】
【０００９】
本発明は、受信した印刷データを保存しておき、ユーザからの印刷指示が入力された場合に前記保存されている印刷データに基づきシートに画像を形成する画像形成装置であって、前記印刷指示が入力される前に、前記保存されたページ記述言語で記載される印刷データの少なくとも一部のページを処理して該ページに対応する画像データを生成する先行処理を行う先行処理手段と、前記先行処理により生成された画像データを、前記印刷データに対応可能に保持する保持手段と、前記保存されている印刷データに対するユーザからの印刷指示に応じて、該印刷データに対応する画像データが前記保持手段に保持されているか否かを判断する判断手段と、前記判断手段により前記印刷指示された印刷データに対応する画像データが保持されていると判断された場合、該印刷データに該画像データの情報を付加する付加手段と、前記画像データの情報が付加された印刷データの印刷処理を、該付加された画像データの情報を用いて実行して、前記印刷データに基づく画像をシートに形成させる印刷実行手段と、を有することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、ＲＩＰ処理済みのページとＲＩＰ処理前のページが混在する印刷データに基づき印刷可能が画像形成装置を提供できる。
【図面の簡単な説明】
【００１１】
【図１】本実施例の画像形成装置を有する印刷システムの構成図
【図２】実施例１の印刷処理を示すシーケンス図
【図３】実施例１の印刷ジョブ留め置き処理を説明する図
【図４】実施例１の先行処理を説明するフローチャート
【図５】実施例１の印刷実行処理を説明するフローチャート
【図６】実施例１の先行処理結果の付加処理を説明するフローチャート
【図７】実施例１の先行処理結果付加後の印刷ジョブの一例を説明する図
【図８】実施例１の仕上げのレンダリング処理を説明するフローチャート
【図９】実施例１の仕上げのレンダリング処理を説明する図
【図１０】実施例２の印刷処理を示すシーケンス図
【図１１】実施例２の印刷実行処理を説明するフローチャート
【図１２】実施例２の印刷ジョブ送信処理を説明するフローチャート
【図１３】実施例２の先行処理結果の付加処理を説明するフローチャート
【図１４】実施例２の先行処理結果付加後の印刷ジョブを説明する図
【図１５】実施例２の仕上げのレンダリング処理を説明するフローチャート
【図１６】ユーザ認証後に操作パネルに表示されるＵＩの一例を説明する図
【発明を実施するための形態】
【００１２】
以下、本発明を実施するための形態について図面を用いて説明する。
【実施例１】
【００１３】
図１（Ａ）は、本発明の一実施例を示す画像形成装置を有する印刷システムの構成を例示する図である。
【００１４】
図１（Ａ）に示す画像形成装置１０１〜１０３は、ＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｒｉｎｔｅｒ）、ＳＦＰ（Ｓｉｎｇｌｅ  Ｆｕｎｃｔｉｏｎ  Ｐｒｉｎｔｅｒ）、ＬＢＰ（Ｌａｓｅｒ  Ｂｅａｍ  Ｐｒｉｎｔｅｒ）のいずれであってもよい。画像形成装置１０１〜１０３は、留め置き印刷可能な印刷装置であればよい。また、画像形成装置１０１〜１０３のプリント方式はどのようなものであってもよい。また、図１のシステムは、３台の画像形成装置を例として示しているが、１台以上の任意の画像形成装置を有する構成であればよい。
【００１５】
画像形成装置１０１〜１０３は、イーサネット（登録商標）等のＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）１０５を介し、各種指示を行うホストコンピュータ（ＰＣ）１０４と接続される。画像形成装置１０１〜１０３は、ＰＣ１０４からの印刷指示内容に応じて処理を実行する。なお、図１（Ａ）に示した構成のように複数の画像形成装置がＬＡＮ１０５を介して接続される場合は、画像形成装置は他の画像形成装置から印刷ジョブを受け取り印刷実行処理が可能である。この構成については実施例２で説明する。
【００１６】
なお、画像形成装置１０１〜１０３は同様の構成のため、画像形成装置１０１の構成を代表して記載し、他の画像形成装置１０２〜１０３の構成については記載を省略する。以下、画像形成装置１０１を用いて説明する構成は、画像形成装置１０２〜１０３についても同様である。
【００１７】
画像形成装置１０１は、コントローラ１１０、プリント機構１１１、カードリーダ１１２、操作パネル１１３等を備える。また、コントローラ１１０は、ネットワークＩ／Ｆ１２０、リーダＩ／Ｆ１２１、パネルＩ／Ｆ１２２、ＣＰＵ１２３、ＨＤＤ１２４、ＲＡＭ１２５、ＲＯＭ１２６、デバイスＩ／Ｆ１２７、ＲＩＰ回路１２８、画像処理回路１２９をシステムバス１３０上に有する。
【００１８】
コントローラ１１０は、ＲＯＭ１２６又はＨＤＤ１２４に記憶されたプログラムによって画像形成装置１０１全体を制御する。ネットワークＩ／Ｆ１２０は、例えばＬＡＮカード等で実現され、ＬＡＮ１０５に接続して外部装置との間で情報の入出力を行う。
【００１９】
リーダＩ／Ｆ１２１は、外部からの認証情報を受け取るカードリーダ１１２に対するインタフェース部であり、外部から入力された認証情報を受け取りＣＰＵ１２３に伝える役割をする。パネルＩ／Ｆ１２２は、各種メニューや印刷ジョブ情報等を表示可能な表示画面を有する操作パネル１１３に対するインタフェース部であり、操作パネル１１３に対して操作画面データを出力する。また、パネルＩ／Ｆ１２２は、操作パネル１１３から操作者が入力した情報をＣＰＵ１２３に伝える役割をする。
【００２０】
ＣＰＵ１２３は、画像形成装置１０１全体を制御するための中央処理装置である。ＨＤＤ１２４は、ハードディスクドライブやソリッドステートドライブなどの記憶装置であり、各種処理のためのシステムソフトウェア及び入力された印刷ジョブや画像データ等を格納する。ＲＡＭ１２５は、ＣＰＵ１２３が動作するためのシステムワークメモリであり、入力された印刷ジョブや画像データを一時記憶するための画像メモリでもある。ＲＯＭ１２６は、ブートＲＯＭであり、システムのブートプログラムが格納されている。ＣＰＵ１２３は、ＲＯＭ１２６又はＨＤＤ１２４に記憶されたプログラムを必要に応じてＲＡＭ１２５に読み出して実行することにより各種制御を実現する。
【００２１】
デバイスＩ／Ｆ１２７は、プリント機構１１１とコントローラ１１０とを接続し、画像データの同期系／非同期系の変換を行う。ＲＩＰ回路１２８はラスターイメージプロセッサであり、中間データ（ディスプレイリスト）を解析してイメージに展開する。画像処理回路１２９は、印刷ジョブを解析して生成されたイメージデータに対してプリント機構１１１に応じた補正、解像度変換等の処理を行う。
【００２２】
プリント機構１１１は、コントローラ１１０の指示に従って、印刷を実行する。すなわち、プリント機構１１１は、印刷データに基づきシート（記録紙等）に画像を形成する。カードリーダ１１２は、ユーザが持つＩＤカード等の情報を読み取り可能な機能を有し、ＩＤカードから読み取ったユーザ情報をコントローラ１１０へ通知する。操作パネル１１３は、コントローラ１１０より操作画面データを受け取り、受け取った画面の表示やユーザからの操作指示を受け取りコントローラ１１０へ通知する。
【００２３】
図１（Ｂ）は、画像形成装置１０１〜１０３の動作を制御するコントローラ１１０のソフトウェア構成を例示する図である。
【００２４】
コントローラ１１０は、ソフトウェアとして、認証部１３１、設定部１３２、書誌管理部１３３、印刷制御部１３４、ジョブ解析部１３５、先行処理部１３６、留め置き制御部１３７、印刷実行部１３８、ＰＤＬ解析部１３９、中間データ生成部１４０を実現する。すなわち、これら各部１３１〜１４０は、ＣＰＵ１２３がＲＯＭ１２６又はＨＤＤ１２４に記憶されたプログラムを必要に応じてＲＡＭ１２５に読み出して実行することにより実現される機能部である。
【００２５】
認証部１３１は、リーダＩ／Ｆ１２１（又は操作パネル１１３）よりシステムバス１３０を通じて認証情報を受け取り、留め置き制御部１３７へ通知する。設定部１３２は、パネルＩ／Ｆ１２２よりシステムバス１３０を通じて操作パネル１１３への入出力の制御を行う。
【００２６】
書誌管理部１３３は、留め置き制御部１３７が受信した印刷ジョブや印刷ジョブに関する情報を制御し管理する。印刷制御部１３４は、ネットワークＩ／Ｆ１２０を通じて入力された印刷指示や印刷ジョブの情報を取得し、留め置き制御部１３７や印刷実行部１３８に対して印刷ジョブの処理を指示する。
【００２７】
留め置き制御部１３７は、印刷制御部１３４から受け取った印刷ジョブに対して印刷ジョブの解析、管理、先行処理の制御や印刷実行部１３８への印刷指示を行う。ジョブ解析部１３５は、留め置き制御部１３７が受信した印刷ジョブの解析を行う。先行処理部１３６は、留め置き制御部１３７が受信した印刷ジョブのジョブ解析部１３５の解析結果に応じて、印刷ジョブのレンダリング処理を行う。
【００２８】
印刷実行部１３８は、印刷制御部１３４や留め置き制御部１３７より受け取った印刷ジョブに対して、ＰＤＬ解析部１３９、中間データ生成部１４０、ＲＩＰ回路１２８、画像処理回路１２９の制御を行って画像の生成を行う。さらに、印刷実行部１３８は、該生成した画像を、デバイスＩ／Ｆ１２７を通じてプリント機構１１１へ出力し、印刷処理を実行させる。ＰＤＬ解析部１３９は、印刷実行部１３８より指示を受けた印刷ジョブのＰＤＬ解析を行う。なお、ＰＤＬは、Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅの略語であり、ページ記述言語を示す。中間データ生成部１４０は、ＰＤＬ解析部１３９が解析した情報を基に、中間データを生成する。
【００２９】
図２は、実施例１の画像形成装置１０１〜１０３を有する印刷システムがＰＣ１０４から印刷ジョブを受信して画像形成装置１０１で印刷する時のシーケンスの一例を示したものである。図中、各ステップには「Ｓ」を付してある。なお、図２中の画像形成装置１０１が実行する処理は、画像形成装置１０１のＣＰＵ１２３がＲＯＭ１２６又はＨＤＤ１２４に記憶されたプログラムを必要に応じてＲＡＭ１２５に読み出して実行することにより実現される。また、図２中のＰＣ１０４が実行する処理は、ＰＣ１０４の不図示のＣＰＵがＨＤＤ等に記憶されたプログラムを必要に応じてＲＡＭに読み出して実行することにより実現される。
【００３０】
ユーザがＰＣ１０４にログインし（Ｓ２０１）、ＰＣ１０４を操作して任意のアプリケーションからデータの印刷を要求すると（Ｓ２０２）、まずＰＣ１０４は、ユーザ情報を取得する（Ｓ２０３）。そして、ＰＣ１０４は、上記Ｓ２０３で取得したユーザ情報を印刷ジョブに付与して印刷ジョブを生成し（Ｓ２０４）、該印刷ジョブが画像形成装置１０１に送信する（Ｓ２０５）。
【００３１】
画像形成装置１０１は、印刷ジョブを受信すると、ＨＤＤ１２４に印刷ジョブを保存する（Ｓ２０６）。そして、画像形成装置１０１は、該印刷ジョブに付与されたユーザ情報を抽出し、書誌情報を作成し（Ｓ２０７）、ＨＤＤ１２４に書誌情報を保存（登録）する（Ｓ２０８）。画像形成装置１０１は、書誌情報の保存を終えると、先行処理を開始する（Ｓ２０９）。そして、画像形成装置１０１は、先行処理の結果を逐次ＨＤＤ１２４に保存する（Ｓ２１０）。
【００３２】
ユーザが画像形成装置１０１にログインすると（Ｓ２１１）、画像形成装置１０１は、該ユーザのユーザ情報を取得し（Ｓ２１２）、該ユーザの書誌情報に基づいて該ユーザの印刷ジョブ一覧を操作パネル１１３に表示する（Ｓ２１３）。
【００３３】
さらに、画像形成装置１０１は、ユーザからの印刷指示を受けると（Ｓ２１４）、上記Ｓ２１０で保存していた先行処理の結果を印刷ジョブに付加する（Ｓ２１５）。先行処理の結果の印刷ジョブへの付加についての詳細は後述する。さらに、画像形成装置１０１は、先行処理結果が付加された印刷ジョブの先行処理結果を使って、仕上げのレンダリング処理を行い（Ｓ２１６）、印刷を行う（Ｓ２１７）。
【００３４】
図３は、実施例１の画像形成装置１０１〜１０３が備えるコントローラ１１０が備えるソフトフェア（１３３〜１４０等）が実行する印刷ジョブ留め置き処理を説明する図である。
【００３５】
図３（Ａ）は、コントローラ１１０が実行する印刷ジョブ留め置き処理の一例を説明するフローチャートである。図３（Ｂ）は、画像形成装置１０１が受信する印刷ジョブの構成の一例を説明する図である。図３（Ｃ）は、コントローラ１１０がＨＤＤ１２４に記憶するユーザの印刷ジョブリストの一例を説明する図である。なお、図３（Ａ）、及び、後述する図４、図５、図６及び図８に示す処理は、ＣＰＵ１２３がＲＯＭ１２６又はＨＤＤ１２４に記憶されたプログラムを必要に応じてＲＡＭ１２５に読み出して実行することにより実現される。
【００３６】
Ｓ３０１において、印刷制御部１３４は、ネットワークＩ／Ｆ１２０を通じてＰＣ１０４などから送信された印刷ジョブの受信を行う。印刷ジョブは、例えば図３（Ｂ）のような構成になっており、データの最初に各種設定情報を含むヘッダ情報を持ち、その後に各ページのデータ（ＰＤＬデータ）が含まれる。各ページの情報内の「Ｐ１」、「Ｌｉｎｅ１」、「Ｔｅｘｔ１」、「Ｒｅｃｔ１」、「Ｉｍａｇｅ１」、「Ｒｅｃｔ２」などは、ページを構成するための描画コマンドの例である。
【００３７】
Ｓ３０２において、印刷制御部１３４は、上記Ｓ３０１で受信した印刷ジョブが「留め置きジョブ」か「そのまま印刷を行うジョブ」かを判断する。「留め置きジョブ」か否かの判断方法は、画像形成装置内で記憶しているパラメータが留め置きを指し示すものであるかとか、印刷ジョブのヘッダ内に情報が埋め込まれているものを解析するなどの方法で行うものとするが、公知のため詳細は省略する。
【００３８】
そして、上記Ｓ３０２において、「そのまま印刷を行うジョブ」と判断した場合（Ｓ３０２でＮｏの場合）、印刷制御部１３４は、Ｓ３０３に処理を進める。
【００３９】
Ｓ３０３において、印刷制御部１３４は、印刷実行部１３８に対して上記印刷ジョブ印刷ジョブの処理を指示する。印刷実行部１３８は、ＰＤＬ解析部１３９や中間データ生成部１４０を制御して上記印刷ジョブの解析や中間データの生成を行い、生成された中間データをＲＩＰ回路１２８にレンダリング処理させ、画像データを生成する。
【００４０】
次に、Ｓ３０４において、印刷実行部１３８は、上記Ｓ３０３で生成された画像データを画像処理回路１２９で画像補正をした後、デバイスＩ／Ｆ１２７を通じてプリント機構１１１へ転送を行い印刷実行する。
【００４１】
一方、上記Ｓ３０２において、「留め置きジョブ」と判断した場合（Ｓ３０２でＹｅｓの場合）、印刷制御部１３４は、Ｓ３０５に処理を進める。
【００４２】
Ｓ３０５において、印刷制御部１３４は、留め置き制御部１３７に対して上記印刷ジョブの処理を指示する。留め置き制御部１３７は、印刷ジョブ内に含まれるユーザ情報の取得を行う。図３（Ｂ）の例では、ユーザ情報は「ユーザ名：ユーザＡ」で示される。なお、このユーザ情報は、印刷ジョブのヘッダ情報内に含まれていなくても、送信元のＰＣ１０４からユーザ情報を別途送る構成でも構わない。ユーザ情報とは、ユーザ名やユーザＩＤなど印刷実行を行ったユーザを識別可能な情報であればどのような情報でもよい。
【００４３】
次に、Ｓ３０６において、留め置き制御部１３７は、ジョブ解析部１３５に上記印刷ジョブの解析を指示する。ジョブ解析部１３５は、上記印刷ジョブに含まれる印刷設定情報と文書名等の情報（例えばページ数も含む）を取得する。この印刷設定情報には、例えば片面印刷か両面印刷かを示す情報、カラーで印刷するかモノクロで印刷するかの情報、出力する用紙サイズに関する情報などが含まれる。図３（Ｂ）は一例であり、印刷設定情報の一部が無い印刷データであってもよく、その時はＨＤＤ１２４やＲＯＭ１２６が持つ初期設定値とするか、印刷実行時にユーザから設定してもらう構成であってもよい。
【００４４】
次に、Ｓ３０７において、留め置き制御部１３７は、上記Ｓ３０５により取得したユーザ情報と、上記Ｓ３０６により取得した印刷設定情報と文書名等の情報とを関連付ける。そして、留め置き制御部１３７は、これら関連付けられた情報を、１レコードとする、そのユーザ情報に対応する書誌情報を作成する（例えば図３（Ｃ））。なお、ファイル情報に含まれる保存先には、当該処理を実行している画像形成装置自身を特定する情報が含まれる。
【００４５】
図３（Ｃ）は、本実施例のユーザ毎の書誌情報の一例を示す図である。
【００４６】
ここでは、ユーザＡの書誌情報を例示する。本実施例の書誌情報は、例えば、ジョブＩＤ、ファイル情報、印刷設定情報、ページ数、レンダリング予測時間、先行処理情報等を有する。なお、ジョブＩＤには、ジョブ毎に固有の値が設定される。
【００４７】
次に、Ｓ３０８において、留め置き制御部１３７は、上記Ｓ３０７において１レコードが追加された書誌情報の登録を、書誌管理部１３３に指示する。書誌管理部１３３は、該Ｓ３０７において１レコードが追加された書誌情報をＨＤＤ１２４に保存（登録）する。また、留め置き制御部１３７は、上記印刷ジョブを、今回追加された１レコードに対応する印刷ジョブとしてＨＤＤ１２４に保存する。なお、Ｓ３０８の書誌情報登録時点では、レンダリング予測時間は未設定、先行処理情報については、先行処理は「未」、先行処理結果は未設定の状態で登録される。
【００４８】
図４は、実施例１の画像形成装置１０１〜１０３が備えるコントローラ１１０が備えるソフトフェア（１３５、１３６等）が実行する先行処理の一例を説明するフローチャートである。図４の先行処理は、図３の印刷ジョブ留め置き処理により印刷ジョブがＨＤＤ１２４に留め置かれた後に実行される処理である。
【００４９】
Ｓ４０１において、ジョブ解析部１３５は、ＨＤＤ１２４内に留め置かれた印刷ジョブに対して印刷ジョブに含まれる各ページのレンダリング処理にかかる時間を予測する。予測方法は、印刷ジョブのサイズや印刷ジョブ内に含まれるＰＤＬコマンドの内容などレンダリング処理時間を推測できる方法であればよい。なお、ジョブ解析部１３５は、書誌管理部１３３に指示し、該予測結果を、当該先行処理している印刷ジョブに関連付けられている書誌情報に登録する。
【００５０】
Ｓ４０２において、先行処理部１３６は、上記Ｓ４０１の予測の結果、印刷ジョブに含まれるページのうちレンダリング処理に時間がかかるページを先行してレンダリング処理が必要なページとして判断する。例えば、「ジョブＩＤ：１」の文書のレンダリング予測時間は図３（Ｃ）のようになっているとする。この場合、先行処理部１３６は、時間がかかるページを１ｐａｇｅ、９ｐａｇｅと判断する。該時間がかかるページの判断の基準については、印刷を行う画像形成装置の印刷スピードに応じて判断してもよいし、先行処理部が保持しているしきい値（例えば「１０秒」等）としてもよいし、全ページをレンダリングが必要と判断してもよい。すなわち、先行処理部１３６は、印刷ジョブに含まれるＰＤＬデータからレンダリングに必要な時間をページ単位で予測し、該予測の結果に基づいて先行処理を行うページを決定する。なお、レンダリング予測時間は、例えば予測するページのＰＤＬデータのサイズに基づき予測してもよいし、該ページに含まれるＰＤＬコマンド数や種類に基づき予測してもよいし、他の方法を用いて予測してもよい。
【００５１】
Ｓ４０３において、先行処理部１３６は、上記Ｓ４０２の判断の結果、先行してレンダリング処理が必要なページが存在するか否かを判断する。そして、先行してレンダリング処理が必要なページが存在しないと判断した場合（Ｓ４０３でＮｏの場合）、先行処理部１３６は、本フローチャートの処理を終了する。
【００５２】
一方、先行してレンダリング処理が必要なページが存在すると判断した場合（Ｓ４０３でＹｅｓの場合）、先行処理部１３６は、Ｓ４０４に処理を進める。なお、ここで、対応する書誌情報の先行処理情報に、先行処理中であることを示す情報「中」を付加するようにしてもよい。
【００５３】
Ｓ４０４において、先行処理部１３６は、上記Ｓ４０２で先行してレンダリング処理が必要だと判断されたページのレンダリング処理（先行レンダリング処理）を行い画像データの生成を行う。なお、上記Ｓ４０２で先行してレンダリング処理が必要だと判断されたページが複数ある場合は、印刷ジョブのページ順にレンダリング処理を実行してもよい。また、レンダリング処理に時間がかかるページから順にレンダリング処理を実行してもよい。また、レンダリング処理に時間がかからないページから順にレンダリング処理を実行してもよい。
【００５４】
次に、Ｓ４０５において、先行処理部１３６は、上記Ｓ４０４で生成した画像データをページ単位にＨＤＤ１２４に保存する。なお、先行処理部１３６は、該保存したページ単位の画像データを、当該先行処理している印刷ジョブに関連付けられている書誌情報に関連付けておき、該印刷ジョブの各ページと対応可能に管理する。
【００５５】
次に、Ｓ４０６において、先行処理部１３６は、上記Ｓ４０２で先行してレンダリング処理が必要だと判断されたページ（対象ページ）全ての先行レンダリング処理が終了したか否かを判断する。未だ全対象ページの先行レンダリング処理が終了していないと判断した場合（Ｓ４０６でＮｏの場合）、先行処理部１３６は、Ｓ４０８に処理を進める。
【００５６】
Ｓ４０８において、先行処理部１３６は、レンダリング処理を実行している印刷ジョブに対してユーザから印刷実行指示があるか否かを判断する。そして、印刷実行指示が無いと判断した場合（Ｓ４０８でＮｏの場合）、先行処理部１３６は、Ｓ４０４に処理を移行する。
【００５７】
一方、印刷実行指示が有ったと判断した場合（Ｓ４０８でＹｅｓの場合）、先行処理部１３６は、先行処理を中断して本フローチャートの処理を終了する。なお、印刷実行指示については後述する図５において詳細に説明する。
【００５８】
一方、全対象ページの先行レンダリング処理が終了したと判断した場合（Ｓ４０６でＹｅｓの場合）、先行処理部１３６は、Ｓ４０７に処理を進める。
【００５９】
Ｓ４０７において、先行処理部１３６は、書誌管理部１３３に指示し、上記Ｓ４０５で先行レンダリング処理した結果を保存した情報を、対応する書誌情報に付加する。例えば図３（Ｃ）の書誌情報中の先行処理情報のように、先行処理が済んでいるかどうかの情報「済」と、先行処理した結果がどこに記憶されているかの情報「／ｘｘｘ／ｙｙｙ／ｉｍａｇｅ１」及び「／ｘｘｘ／ｙｙｙ／ｉｍａｇｅ２」等を付加する。Ｓ４０７の後、先行処理部１３６は、本フローチャートの処理を終了する。
【００６０】
図５は、実施例１の画像形成装置１０１〜１０３が備えるコントローラ１１０が備えるソフトフェア（１３１、１３２、１３８）が実行する印刷実行処理の一例を説明するフローチャートである。
【００６１】
図１６は、ユーザ認証後に操作パネル１１３に表示されるＵＩの一例を説明する図である。
【００６２】
Ｓ５０１において、認証部１３１は、ユーザが持つＩＤカードがカードリーダ１１２にかざされた場合に、カードリーダ１１２がＩＤカードから読み取ったユーザ情報をリーダＩ／Ｆ１２１を通じて受け取り、認証処理を行う。ユーザが持つＩＤカードからユーザ情報を読み取る例を記載したが、操作パネル１１３等からユーザ情報とパスワードを入力してユーザ認証を行う方式など公知の認証方法を用いてもよい。認証処理に成功した場合、認証部１３１は、該ユーザ情報を設定部１３２に通知する。
【００６３】
Ｓ５０２において、設定部１３２は、上記Ｓ５０１で取得したユーザ情報と同じユーザ情報に対応する書誌情報を、書誌管理部１３３より受け取り、該書誌情報を基に印刷ジョブリストを生成し、パネルＩ／Ｆ１２２を通じて操作パネル１１３へ表示する。操作パネル１１３に表示される情報は、例えば図１６の１６０１に示したものであり、印刷ジョブリストは一例として図１６の１６０２のように表示される。ユーザは、印刷ジョブリスト１６０２から所望の印刷ジョブを選択し、プリント開始ボタン１６０３を押下することにより、該選択した印刷ジョブの印刷指示を行うことが可能である。また、ユーザは、印刷ジョブリスト１６０２から所望の印刷ジョブを選択し、印刷設定ボタン１６０４を押下することにより、該選択した印刷ジョブの印刷設定を変更することが可能である。なお、ログアウトボタン１６０５は、ログアウトするためのものである。
【００６４】
次に、Ｓ５０３において、設定部１３２は、ユーザから印刷ジョブリスト１６０２に表示している印刷ジョブに対して印刷実行指示があったか否かを判断する。例えばユーザが印刷ジョブリスト１６０２から印刷ジョブを選択してプリント開始ボタン１６０３を押下した場合、印刷実行指示があったと判断する。また、プリント開始ボタン１６０３を押下することなく、例えばユーザがログアウトボタン１６０５を押下した場合、印刷実行指示が無かったと判断する。
【００６５】
そして、印刷実行指示がないと判断した場合（Ｓ５０３でＮｏの場合）、設定部１３２は、本フローチャートの処理を終了する。
【００６６】
一方、印刷実行指示があったと判断した場合（Ｓ５０３でＹｅｓの場合）、設定部１３２は、Ｓ５０４に処理を進める。
【００６７】
Ｓ５０４において、設定部１３２は印刷実行指示されたことを留め置き制御部１３７に通知する。留め置き制御部１３７は、印刷実行指示された印刷ジョブが先行処理済みであるか否かを判断する。この判断は、書誌情報を参照し、図４のＳ４０７で付加された先行処理済みの情報を取得して判断する。
【００６８】
そして、上記Ｓ５０４において、印刷ジョブが先行処理済みであると判断した場合（Ｓ５０４でＹｅｓの場合）、留め置き制御部１３７は、Ｓ５０５に処理を進める。
【００６９】
Ｓ５０５において、留め置き制御部１３７は、先行処理結果の情報をＰＤＬデータに付加する処理を行い、印刷ジョブの生成を行う。先行処理結果の付加処理の詳細は後述する（図６）。Ｓ５０５の後、留め置き制御部１３７は、印刷ジョブの印刷指示を、印刷実行部１３８に行う。該指示に応じて、印刷実行部１３８はＳ５０８の処理を実行する。
【００７０】
また上記Ｓ５０４において、印刷ジョブが先行処理済みでないと判断した場合（Ｓ５０４でＮｏの場合）、留め置き制御部１３７は、Ｓ５０６に処理を進める。
【００７１】
Ｓ５０６において、留め置き制御部１３７は、印刷実行指示された印刷ジョブが先行処理中であるか否かを判断する。この判断は、上記Ｓ５０４と同様に書誌情報を参照し、先行処理中であるか否かで判断してもよいし、図４のＳ４０５で書誌情報に関連付けされた先行レンダリング処理済みの画像データが存在するか否かで判断してもよい。
【００７２】
そして、上記Ｓ５０６において、印刷実行指示された印刷ジョブが先行処理中であると判断した場合（Ｓ５０６でＹｅｓの場合）、留め置き制御部１３７は、Ｓ５０７に処理を進める。
【００７３】
Ｓ５０７において、留め置き制御部１３７は、先行処理中の印刷ジョブに対して先行処理の中断を行う。先行処理の中断の情報は先行処理部１３６へ通知され、図４のＳ４０８で説明した印刷実行指示があるかどうかの判断に使用される。上記Ｓ５０７の後、留め置き制御部１３７は、先行処理を中断した時点でＨＤＤ１２４に保存されている先行処理結果（図４のＳ４０５で対応する書誌情報に関連付けされた画像データ）を先行処理情報として取得し、Ｓ５０５において、印刷ジョブに付加する。該Ｓ５０５の後、留め置き制御部１３７は、印刷ジョブの印刷指示を、印刷実行部１３８に行う。該指示に応じて、印刷実行部１３８はＳ５０８の処理を実行する。
【００７４】
一方、上記Ｓ５０６において、印刷実行指示された印刷ジョブが先行処理中でないと判断した場合（Ｓ５０６でＮｏの場合）、留め置き制御部１３７は、印刷ジョブの印刷指示を、印刷実行部１３８に行う。該指示に応じて、印刷実行部１３８はＳ５０８の処理を実行する。
【００７５】
Ｓ５０８において、印刷実行部１３８は、仕上げのレンダリング処理を行う。仕上げのレンダリング処理は、印刷ジョブに先行処理結果の情報が付加されていない場合は、図３のＳ３０３と同様の処理である。なお、印刷ジョブに先行処理結果の情報が付加されている場合の仕上げのレンダリング処理の詳細は後述する図８で示す。
【００７６】
次に、Ｓ５０９において、留め置き制御部１３７が印刷実行部１３８に印刷を指示し、印刷実行部１３８が印刷を実行する。印刷実行部１３８による印刷の実行は図３のＳ３０４と同様の処理である。Ｓ５０９の後、印刷実行部１３８は、本フローチャートの処理を終了する。
【００７７】
図６は、実施例１の画像形成装置１０１〜１０３が備えるコントローラ１１０が備える留め置き制御部１３７が実行する先行処理結果の付加処理（図５のＳ５０５）の一例を説明するフローチャートである。
【００７８】
図７は、実施例１の先行処理結果の付加処理によってＰＤＬデータに付加される先行処理結果の一例を説明する図である。
【００７９】
Ｓ６０１において、留め置き制御部１３７は、ＰＤＬデータに先行処理結果を付与する処理の開始として、識別子情報（図７の７０１）を付加する。識別子の情報は、先行処理結果が付与されている情報を示すものであり、文字列であったり数値であったりコントローラ内部で識別可能なものであれば構わない。
【００８０】
次に、Ｓ６０２において、留め置き制御部１３７は、上記Ｓ６０１で付加された識別子情報に続いて先行処理情報（図７の７０２）を付加する。先行処理情報は、先行処理結果全体のデータサイズや対象の印刷ジョブの総ペース数や先行処理されているページ情報などを含むものである。先行処理結果体のデータサイズや先行処理結果の情報を指し示すインデックス情報など、後述の処理を行った後でないとわからない情報に関しては、情報を格納する領域だけ確保しておき、後述の処理後に情報の更新を行う。図７の７０２に示した構成は一例であり、先行処理結果の情報を解析するのに必要な情報が揃っていればどのような構成でも構わない。
【００８１】
Ｓ６０３において、留め置き制御部１３７は、上記Ｓ６０２で付加された先行処理情報に続いて、先行処理結果の情報（図７の７０３）を付加する。ここでは、先行処理結果のページ数を示すもの、フォーマットを示すもの、先行処理結果の情報を示すものを、１つのセットとして情報を付加していく。７０３で示した例では、最初に１ページ目に対するセットの情報を付加しており、先行処理結果のフォーマットを「ファイルパス」としている。なお、フォーマットを「ファイルパス」とした場合、留め置き制御部１３７は、先行処理結果が格納されているＨＤＤ１２４のファイルパス情報（先行処理結果の記憶場所を特定する情報）を、先行処理結果の情報として付加する。
【００８２】
Ｓ６０４において、留め置き制御部１３７は、先行処理済みの全ページの情報を付加したかどうかを判断する。そして、まだ先行処理済みの全ページの情報を付加していないと判断した場合（Ｓ６０４でＮｏの場合）、留め置き制御部１３７は、Ｓ６０３に処理を戻し、次のページの処理に移行する。
【００８３】
一方、先行処理済みの全ページの情報を付加したと判断した場合（Ｓ６０４でＹｅｓの場合）、留め置き制御部１３７は、Ｓ６０５に処理を進める。
【００８４】
Ｓ６０５において、留め置き制御部１３７は、上記Ｓ６０２で作成した先行処理情報の更新を行う。先行処理結果全体のデータサイズや先行処理結果の情報を指し示すインデックス情報など予め確保しておいた領域に処理終了後の情報を上書き更新する。
【００８５】
次に、Ｓ６０６において、留め置き制御部１３７は、上記Ｓ６０１〜Ｓ６０５で作成した先行処理結果（７０１、７０２、７０３）に続いて、ＰＤＬデータ（図７の７０４）を付加する。７０４に示すように、ＰＤＬデータは加工することなく元の状態で付加している。該Ｓ６０６により、図７のような、先行処理結果とＰＤＬデータが組み合わさった印刷ジョブが生成される。Ｓ６０６の後、留め置き制御部１３７は、本フローチャートの処理を終了する。
【００８６】
以下、図８、図９を参照して、仕上げのレンダリング処理（図５のＳ５０８）について説明する。
【００８７】
図８は、実施例１の画像形成装置１０１〜１０３が備えるコントローラ１１０が備えるソフトウェア（１３８〜１４０）が実行する仕上げのレンダリング処理（図５のＳ５０８）の一例を説明するフローチャートである。
【００８８】
図９は、印刷実行部１３８、ＰＤＬ解析部１３９、中間データ生成部１４０のソフトウェアモジュール構成の一例を説明する図である。
【００８９】
Ｓ８０１において、印刷実行部１３８は、印刷制御部１３４や留め置き制御部１３７より受け取った印刷ジョブを解析し、先行処理を実施した印刷ジョブか否かを判断する。印刷ジョブに識別子情報（図７の７０１）が存在する場合、印刷実行部１３８は、先行処理を実施した印刷ジョブと判断し（Ｓ８０１でＹｅｓと判断し）、Ｓ８０２に処理を進める。一方、識別子情報（図７の７０１）が存在しない場合、印刷実行部１３８は、先行処理を実施していない印刷ジョブと判断し（Ｓ８０１でＮｏと判断し）、Ｓ８０８に処理を進める。
【００９０】
Ｓ８０２において、印刷実行部１３８は、これから解析を行う解析対象ページが先行処理を実施したページか否か判断する。解析対象ページが印刷ジョブの先行処理情報（図７の７０２）に存在する場合、印刷実行部１３８は、先行処理を実施したページであると判断し（Ｓ８０２でＹｅｓと判断し）、Ｓ８０３に処理を進める。
【００９１】
一方、解析対象ページが印刷ジョブの先行処理情報（図７の７０２）に存在しない場合、印刷実行部１３８は、先行処理を実施したページでないと判断し（Ｓ８０２でＮｏと判断し）、Ｓ８０８に処理を進める。
【００９２】
図７に例示した印刷ジョブの場合、先行処理情報（７０２）にはページ１とページ９が存在するので、印刷実行部１３８は、ページ１とページ９を、先行処理を実施したページと判断する。
【００９３】
以下、Ｓ８０３〜Ｓ８０５の処理について、図９（Ａ）を参照しながら説明する。
【００９４】
Ｓ８０３において、印刷実行部１３８は、ＰＤＬ解析部１３９に対してページ解析の「スキップ」を通知する。ページ解析スキップの通知を受けたＰＤＬ解析部１３９は、対象ページの解析処理をスキップし、中間データ生成部１４０に対して何の通知も行わず、次ページの解析処理に備える。印刷実行部１３８がＰＤＬ解析部１３９にページ解析の「スキップ」を通知するのは、印刷処理のパフォーマンスを向上するためである。印刷実行部１３８がＰＤＬ解析部１３９に「スキップ」を通知せずに「開始」を通知する場合、ＰＤＬ解析部１３９は、先行処理部１３６が先行処理で実施した解析処理を繰り返し実施することになる。
【００９５】
次に、Ｓ８０４において、印刷実行部１３８は、解析対象ページの先行処理結果の情報（図７の７０３）を中間データ生成部１４０に通知する。
【００９６】
図７に示す印刷ジョブの例では、印刷実行部１３８の解析対象ページがページ１の場合、印刷実行部１３８は、ファイルパス「／ｘｘ／ｙｙ／ｉｍａｇｅ１」に格納された先行処理結果（ページ１のＲＩＰ画像）を中間データ生成部１４０に通知する。
【００９７】
このように、印刷実行部１３８が、ＰＤＬ解析部１３９を経由せず、中間データ生成部１４０に先行処理結果を通知することで２つのメリットがある。１つ目のメリットは、処理ステップを低減して処理速度を向上できることである。２つ目のメリットは、ソフトウェアモジュールの開発コストを抑えられることである。以下、図９（Ｃ）を用いて詳細に説明する。
【００９８】
図９（Ｃ）に示すように、印刷実行部１３８は、内部にＰＤＬ判定部１３８−１を備え、複数のＰＤＬ解析部（１３９ａ、１３９ｂ、１３９ｃ）を制御する。例えば、ＰＤＬ解析部１３９ａは、ＬＩＰＳ（キヤノン登録商標：ＬＢＰ  Ｉｍａｇｅ  Ｐｒｏｃｅｓｓｉｎｇ  Ｓｙｓｔｅｍ）を解析するＰＤＬ解析部である。また、ＰＤＬ解析部１３９ｂは、ＰＳ（アドビ社登録商標：ＰｏｓｔＳｃｒｉｐｔ）を解析するＰＤＬ解析部である。また、ＰＤＬ解析部１３９ｃは、ＸＰＳ（Ｍｉｃｒｏｓｏｆｔ社登録商標：ＸＭＬ  Ｐａｐｅｒ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ）を解析するＰＤＬ解析部である。
【００９９】
なお、スキップしない場合、印刷実行部１３８は、印刷ジョブに含まれるＰＤＬをＰＤＬ判定部１３８−１で判定し、ＬＩＰＳならＬＩＰＳの解析部１３９ａ、ＰＳならＰＳの解析部１３９ｂ、ＸＰＳならＸＰＳの解析部１３９ｃに必要な通知を行う。
【０１００】
印刷実行部１３８が先行処理結果をＰＤＬ解析部（１３９ａ、１３９ｂ、１３９ｃ）に通知する場合、各ＰＤＬ解析部（１３９ａ、１３９ｂ、１３９ｃ）は、その通知をさらに中間データ生成部１４０に通知する対応が必要になる。この対応を実施する場合、まず処理ステップが増加するため処理速度が低下してしまう。また、この対応を複数のＰＤＬ解析部（１３９ａ、１３９ｂ、１３９ｃ）がそれぞれ実施すると、ソフトウェアモジュールの開発コストが上がってしまう。
【０１０１】
そこで本実施例のように、印刷実行部１３８が中間データ生成部１４０に直接先行処理結果を通知する構成にすることで、処理速度向上と開発コスト抑制の効果を得ることができる。なお、ＰＤＬ解析部１３９はハードウェアで実現してもよく、その場合には、本構成による開発コストへの寄与がより大きくなる。
【０１０２】
Ｓ８０５において、中間データ生成部１４０は、上記Ｓ８０４において印刷実行部１３８から通知された先行処理結果から中間データを生成する。すなわち、中間データ生成部１４０は、先行処理結果であるファイルパスから該当ページの画像データを取得し、該画像データを用いて中間データを生成する。Ｓ８０３〜Ｓ８０５により、後述するＳ８０８〜Ｓ８１０のようにＰＤＬ解析部１３９がＰＤＬデータを解析して該解析結果に基づいて中間データ生成部１４０が中間データを生成する場合と比較し、中間データの生成時間を大幅に短縮できる。
【０１０３】
次に、Ｓ８０６において、印刷実行部１３８は、ＲＩＰ回路１２８を制御して生成された中間データのレンダリングを行い、プリント機構１１１に印刷処理を実行させる。
【０１０４】
次に、Ｓ８０７において、印刷実行部１３８は、印刷ジョブの全ページの解析が終了したか判断する。そして、まだ全ページの解析が終了していないと判断した場合（Ｓ８０７でＮｏの場合）、印刷実行部１３８は、Ｓ８０１に処理を戻し、次ページの印刷実行処理に移行する。一方、全ページの解析が終了したと判断した場合（Ｓ８０７でＹｅｓの場合）、印刷実行部１３８は、本フローチャートの処理を終了する。
【０１０５】
次に、上記Ｓ８０２において解析対象ページが先行処理を実施してないページと判断した場合の処理（Ｓ８０８〜Ｓ８１０）について、図９（Ｂ）を参照しながら説明する。
【０１０６】
Ｓ８０８において、印刷実行部１３８は、解析対象ページの解析の開始をＰＤＬ解析部１３９に通知する。
【０１０７】
次に、Ｓ８０９において、ＰＤＬ解析部１３９は、解析対象ページのＰＤＬデータの解析を行い、その解析結果を中間データ生成部１４０に通知する。
【０１０８】
次に、Ｓ８１０において、中間データ生成部１４０は、ＰＤＬ解析部１３９の解析結果から中間データを生成する。なお、中間データ生成後の処理は、解析対象ページが先行処理を実施したページと判断した場合と同じで、Ｓ８０６、Ｓ８０７の処理を経て、本フローチャートの処理が終了する。
【０１０９】
以上のように、画像形成装置１０１が、留め置き中の印刷ジョブを先行レンダリング処理し、処理結果を記憶装置に記憶しておく。また、画像形成装置１０１は、留め置き中の印刷ジョブに対してユーザからの印刷指示があった時に、記憶しておいたレンダリング処理結果の情報を印刷ジョブに付加する。さらに、画像形成装置１０１は、印刷実行時に印刷ジョブに付加されたレンダリング処理結果の情報を使用してレンダリング処理を実行する。この構成により、画像形成装置１０１に留め置いた印刷ジョブの先行処理を実現することができる。そして、印刷実行時に先行処理結果の情報を印刷ジョブに付加し、仕上げのレンダリング処理時に先行処理結果の情報を参照することで、ＲＩＰ回路１２８の負荷を低減しレンダリングの処理時間を低減できる。よって、印刷指示後のユーザの待ち時間を少なくすることができる。さらに、本実施例では、ＰＤＬデータそのものは編集することなく、先行処理結果をＰＤＬデータに付加する（例えばＰＤＬデータの先頭に付加する）ことにより、例えばＰＤＦのように編集が困難なＰＤＬデータに対しても容易に適用可能である。
【０１１０】
なお、上記説明では、フォーマットを「ファイルパス」とし、先行処理結果が格納されているＨＤＤ１２４のファイルパス情報を、先行処理結果の情報としてＰＤＬデータに付加する場合について示した。これにより、画像データの無駄なメモリコピーを抑え、メモリ資源の節約が可能になる。しかし、フォーマットを「イメージ」とし、留め置き制御部１３７が、先行処理結果そのものである画像データ（イメージデータ）を、先行処理結果の情報としてＰＤＬデータに付加するようにしてもよい。
【実施例２】
【０１１１】
実施例２では、画像形成装置１０１がサーバ機能を有し、画像形成装置１０１がＰＣ１０４から印刷ジョブを受信した後、ユーザが画像形成装置１０２（または１０３）で印刷実行を指示する実施例について説明する。以下、実施例１と同一の構成については説明を省略し、実施例１と異なる点を中心に説明する。
【０１１２】
図１０は、実施例２の画像形成装置１０１〜１０３を有する印刷システムがＰＣ１０４から印刷ジョブを受信して画像形成装置１０１で印刷する時のシーケンスの一例を示したものである。図中、各ステップには「Ｓ」を付してある。なお、図１０中の画像形成装置１０１、１０２又は１０３が実行する処理は、画像形成装置１０１、１０２又は１０３のＣＰＵ１２３がＲＯＭ１２６又はＨＤＤ１２４に記憶されたプログラムを必要に応じてＲＡＭ１２５に読み出して実行することにより実現される。また、図１０中のＰＣ１０４が実行する処理は、ＰＣ１０４の不図示のＣＰＵがＨＤＤ等に記憶されたプログラムを必要に応じてＲＡＭに読み出して実行することにより実現される。
【０１１３】
まず、Ｓ１００１〜Ｓ１０１０の処理は、図２のＳ２０１〜Ｓ２１０の処理と同様であり、印刷ジョブを画像形成装置１０１に留め置く処理であるため、説明を省略する。
【０１１４】
また、Ｓ１０１０以降の画像形成装置１０２，１０３の処理については、画像形成装置１０２を用いて説明するが、画像形成装置１０３でも同様である。
【０１１５】
ユーザが画像形成装置１０２にログインすると（Ｓ１０１１）、画像形成装置１０２は、該ユーザのユーザ情報の取得し（Ｓ１０１２）、サーバ機である画像形成装置１０１に対して該当ユーザの書誌情報リストの取得要求を行う（Ｓ１０１３）。画像形成装置１０１は、該書誌情報リストの取得要求を受けると、該当ユーザの書誌情報リストを画像形成装置１０２に送信する（Ｓ１０１４）。画像形成装置１０２は、画像形成装置１０１から書誌情報リストを受け取ると、該書誌情報リストに基づいて、該ユーザの印刷ジョブ一覧を操作パネル１１３に表示する（Ｓ１０１５）。
【０１１６】
さらに、画像形成装置１０２は、ユーザからの印刷指示を受けると（Ｓ１０１６）、該印刷指示に対応する印刷ジョブの取得要求を画像形成装置１０１に行う（Ｓ１０１７）。
【０１１７】
画像形成装置１０１は、該取得要求に応じて、Ｓ１０１０で保存していた先行処理の結果を印刷ジョブに付加する（Ｓ１０１８）。さらに、画像形成装置１０１は、該先行処理結果が付加された加工済みの印刷ジョブを、画像形成装置１０２へ送信する（Ｓ１０１９）。
【０１１８】
画像形成装置１０２は、先行処理結果が付加された印刷ジョブを受信すると、該印刷ジョブの先行処理結果を使って、仕上げのレンダリング処理を行い（Ｓ１０２０）、印刷を行う（Ｓ１０２１）。
【０１１９】
図１１は、実施例２の画像形成装置１０２〜１０３が備えるコントローラ１１０が備えるソフトフェア（１１３１、１３２、１３３、１３８）が実行する印刷実行処理の一例を説明するフローチャートである。なお、図１１及び後述する図１５に示す処理は、画像形成装置１０２〜１０３のＣＰＵ１２３がＲＯＭ１２６又はＨＤＤ１２４に記憶されたプログラムを必要に応じてＲＡＭ１２５に読み出して実行することにより実現される。
【０１２０】
まず、Ｓ１１０１は、図５のＳ５０１と同様の処理であるので説明を省略する。
【０１２１】
次に、Ｓ１１０２において、書誌管理部１３３は、上記Ｓ１１０１で取得したユーザ情報に対応する書誌情報を、サーバ機能を有する画像形成装置（本実施例では画像形成装置１０１）に要求を行い、書誌情報リストを取得する。
【０１２２】
次に、Ｓ１１０３において、設定部１３２は、上記Ｓ１１０２で取得した書誌情報を基に印刷ジョブリストを生成し、パネルＩ／Ｆ１２２を通じて操作パネル１１３へ表示する。操作パネル１１３に表示される情報は、例えば図１６の１６０１に示したものであり、印刷ジョブリストは一例として図１６の１６０２のように表示される。
【０１２３】
次に、Ｓ１１０４において、設定部１３２は、図５のＳ５０３と同様に、ユーザから印刷ジョブリスト１６０２に表示している印刷ジョブに対して印刷実行指示があったか否かを判断する。そして、印刷実行指示がないと判断した場合（Ｓ１１０４でＮｏの場合）、設定部１３２は、本フローチャートの処理を終了する。一方、印刷実行指示があったと判断した場合（Ｓ１１０４でＹｅｓの場合）、設定部１３２は、Ｓ１１０５に処理を進める。
【０１２４】
Ｓ１１０５において、設定部１３２は印刷実行指示されたことを書誌管理部１３３に通知する。書誌管理部１３３は、上記Ｓ１１０４においてユーザから印刷指示があった対象の印刷ジョブを、サーバ機能を有する画像形成装置に要求し、該印刷ジョブを取得する。書誌管理部１３３は、該印刷ジョブの印刷指示を、印刷実行部１３８に行う。該指示に応じて、印刷実行部１３８は、Ｓ１１０６の処理を実行する。仕上げのレンダリング処理は、印刷ジョブに先行処理結果の情報が付加されていない場合は、図３のＳ３０３と同様の処理である。なお、印刷ジョブに先行処理結果の情報が付加されている場合の仕上げのレンダリング処理の詳細は後述する図１５で示す。
【０１２５】
また、Ｓ１１０７は、図３のＳ３０４と同様の処理のため、説明を省略する。Ｓ１１０７の後、印刷実行部１３８は、本フローチャートの処理を終了する。
【０１２６】
図１２は、実施例２のサーバ機能を有する画像形成装置１０１が備えるコントローラ１１０が備えるソフトフェア（１３３、１３７）が実行する印刷ジョブ送信処理の一例を説明するフローチャートである。なお、図１２及び後述する図１３に示す処理は、サーバ機能を有する画像形成装置１０１のＣＰＵ１２３がＲＯＭ１２６又はＨＤＤ１２４に記憶されたプログラムを必要に応じてＲＡＭ１２５に読み出して実行することにより実現される。
【０１２７】
Ｓ１２０１において、書誌管理部１３３は、ネットワークＩ／Ｆ１２０を通じて画像形成装置１０２又は１０３から印刷ジョブの取得要求を受信すると、該取得要求を留め置き制御部１３７に通知する。
【０１２８】
Ｓ１２０２において、留め置き制御部１３７は、取得要求された印刷ジョブが先行処理済みであるか否かを判断する。この判断は、書誌情報を参照し、図４のＳ４０７で付加された先行処理済みの情報を取得して判断する。
【０１２９】
そして、上記Ｓ１２０２において、印刷ジョブが先行処理済みであると判断した場合（Ｓ１２０２でＹｅｓの場合）、留め置き制御部１３７は、Ｓ１２０３に処理を進める。
【０１３０】
Ｓ１２０３において、留め置き制御部１３７は、先行処理結果の情報をＰＤＬデータに付加する処理を行い、印刷ジョブの生成を行う。先行処理結果の付加処理の詳細は後述する（図１３）。さらに、留め置き制御部１３７は、先行処理結果付加後の加工済み印刷ジョブを書誌管理部１３３に渡す。Ｓ１２０４において。書誌管理部１３３は、先行処理結果付加後の加工済み印刷ジョブを、要求元の画像形成装置へ送信し、本フローチャートの処理を終了する。
【０１３１】
また上記Ｓ１２０２において、印刷ジョブが先行処理済みでないと判断した場合（Ｓ１２０２でＮｏの場合）、留め置き制御部１３７は、Ｓ１２０５に処理を進める。
【０１３２】
Ｓ１２０５において、留め置き制御部１３７は、取得要求された印刷ジョブが先行処理中であるかを判断する。この判断は、上記Ｓ１２０２と同様に書誌情報を参照し、先行処理中であるか否かで判断してもよいし、図４のＳ４０５で書誌情報に関連付けされた先行レンダリング処理済みの画像データが存在するか否かで判断してもよい。
【０１３３】
そして、上記Ｓ１２０５において、取得要求された印刷ジョブが先行処理中であると判断した場合（Ｓ１２０５でＹｅｓの場合）、留め置き制御部１３７は、Ｓ１２０６に処理を進める。
【０１３４】
Ｓ１２０６において、留め置き制御部１３７は、先行処理中の印刷ジョブに対して先行処理の中断を行う。先行処理の中断の情報は先行処理部１３６へ通知され、図４のＳ４０８で説明した印刷実行指示があるかどうかの判断に使用される。上記Ｓ１２０６の後、留め置き制御部１３７は、先行処理を中断した時点でＨＤＤ１２４に保存されている先行処理結果（図４のＳ４０５で対応する書誌情報に関連付けされた画像データ）を先行処理情報として取得し、Ｓ１２０３において、印刷ジョブに付加する。さらに、留め置き制御部１３７は、先行処理結果付加後の加工済み印刷ジョブを書誌管理部１３３に渡す。Ｓ１２０４において。書誌管理部１３３は、先行処理結果付加後の加工済み印刷ジョブを、要求元の画像形成装置へ送信し、本フローチャートの処理を終了する。
【０１３５】
一方、上記Ｓ１２０５において、取得要求された印刷ジョブが先行処理中でないと判断した場合（Ｓ１２０５でＮｏの場合）、留め置き制御部１３７は、元の印刷ジョブを書誌管理部１３３に渡す。Ｓ１２０７において。書誌管理部１３３は、元の印刷ジョブを、要求元の画像形成装置へ送信し、本フローチャートの処理を終了する。
【０１３６】
図１３は、実施例２のサーバ機能を有する画像形成装置１０１が備えるコントローラ１１０が備える留め置き制御部１３７が実行する先行処理結果の付加処理（図１２のＳ１２０３）の一例を説明するフローチャートである。
【０１３７】
図１４は、実施例２の先行処理結果の付加処理によってＰＤＬデータに付加される先行処理結果の一例を説明する図である。
【０１３８】
Ｓ１３０１において、留め置き制御部１３７は、ＰＤＬデータに先行処理結果を付与する処理の開始として識別子情報（図１４の１４０１）を付加する。識別子の情報など基本的な処理内容は図６のＳ６０１と同様である。
【０１３９】
次に、Ｓ１３０２において、留め置き制御部１３７は、上記Ｓ１３０１で付加された識別子情報に続いて先行処理情報（図１４の１４０２）を付加する。先行処理情報など基本的な処理内容は図６のＳ６０２と同様である。
【０１４０】
次に、Ｓ１３０３において、留め置き制御部１３７は、対象の印刷ジョブの出力される場所がどの画像形成装置であるかを判断する。図１２で説明した例の場合、外部の画像形成装置からの印刷ジョブの取得要求を受けての処理であるため、他の画像形成装置だと判断できる。また、実施例１で説明した例の場合、印刷ジョブを留め置いた画像形成装置で出力される（すなわち他の画像形成装置ではない）と判断される。
【０１４１】
上記Ｓ１３０３において、印刷ジョブの出力される場所が他の画像形成装置であると判断した場合（Ｓ１３０３でＹｅｓの場合）、留め置き制御部１３７は、Ｓ１３０４に処理を進める。
【０１４２】
Ｓ１３０４において、留め置き制御部１３７は、上記Ｓ１３０２で付加された先行処理情報に続いて先行処理結果の情報（図１４の１４０３）を付加する。ここでは、先行処理結果のページ数を示すもの、フォーマットを示すもの、先行処理結果の情報を示すものを、１つのセットとして情報を付加していく。１４０３に示した例では、最初に１ページ目に対するセットの情報を付加しており、先行処理結果のフォーマットを「イメージ」としている。フォーマットを「イメージ」とした場合、留め置き制御部１３７は、先行処理結果が格納されているＨＤＤ１２４より画像データ（イメージデータ）を読み込み、先行処理結果の情報として付加する。
【０１４３】
Ｓ１３０５において、留め置き制御部１３７は、先行処理済みの全ページの情報を付加したかどうかを判断する。そして、まだ先行処理済みの全ページの情報を付加していないと判断した場合（Ｓ１３０５でＮｏの場合）、留め置き制御部１３７は、Ｓ１３０４に処理を戻し、次のページの処理に移行する。
【０１４４】
一方、先行処理済みの全ページの情報を付加したと判断した場合（Ｓ１３０５でＹｅｓの場合）、留め置き制御部１３７は、Ｓ１３０８に処理を進める。
【０１４５】
また、上記Ｓ１３０３において、印刷ジョブの出力される場所が他の画像形成装置でないと判断した場合（Ｓ１３０３でＮｏの場合）、留め置き制御部１３７は、Ｓ１３０６に処理を進める。
【０１４６】
なお、Ｓ１３０６、Ｓ１３０７は、図６のＳ６０３、Ｓ６０４と同様の処理であり、画像形成装置内の印刷ジョブが格納されているファイルパスを先行処理結果の情報として付加し、Ｓ１３０８に処理を進める。
【０１４７】
また、Ｓ１３０８、Ｓ１３０９は、図６のＳ６０５とＳ６０６と同様の処理であるので、説明を省略する。
【０１４８】
なお、上記図１３では、Ｓ１３０３で出力先を判断し、出力先に応じて、イメージデータ又はファイルパスを付加する構成について説明したが、Ｓ１３０３の判断を行わず、常にＳ１３０４及びＳ１３０５において、イメージデータを付加するようにしてもよい。
【０１４９】
図１５は、実施例２の画像形成装置１０２〜１０３が備えるコントローラ１１０が備えるソフトウェア（１３８〜１４０）が実行する仕上げのレンダリング処理（図１１のＳ１１０６）の一例を説明するフローチャートである。
【０１５０】
まず、Ｓ１５０１、Ｓ１５０２は、図８のＳ８０１、Ｓ８０２と同様の処理であるので説明を省略する。また、Ｓ１５０３も、図８のＳ８０３と同様の処理であるので説明を省略する。
【０１５１】
Ｓ１５０４において、印刷実行部１３８は、解析対象ページの先行処理結果の情報（図１４の１４０３）を中間データ生成部１４０に通知する。
【０１５２】
図１４に示す印刷ジョブの例では、印刷実行部１３８の解析対象ページがページ１の場合、印刷実行部１３８は、印刷ジョブに先行処理結果として付加されたイメージデータ（ページ１のＲＩＰ画像）を中間データ生成部１４０に通知する。
【０１５３】
また、Ｓ１５０５、Ｓ１５０６、Ｓ１５０７は、それぞれ図８のＳ８０５、Ｓ８０６、Ｓ８０７と同様の処理であるので説明を省略する。さらに、Ｓ１５０８、Ｓ１５０９、Ｓ１５１０も、それぞれ図８のＳ８０８、Ｓ８０９、Ｓ８１０と同様の処理であるので説明を省略する。
【０１５４】
以上のように、実施例２によれば、サーバ機能を有する画像形成装置１０１に留め置いた印刷ジョブの先行処理を実現することができる。そして、ユーザからの印刷指示後、画像形成装置１０１が印刷ジョブ取得要求を受信した場合、出力先が他の画像形成装置であるか画像形成装置１０１であるかを判断して、先行処理結果の情報の付加方法を切り替えることができる。他の画像形成装置には、先行処理結果にイメージの実体を含むことで情報を全て伝える。一方、画像形成装置１０１自身の印刷では、ファイルパスだけ伝えて仕上げのレンダリング処理時に参照することで、効率よく先行処理結果を参照できる。また、どちらのケースでも仕上げのレンダリング処理時に先行処理結果の情報を参照することができるので、印刷実行後のユーザの待ち時間を少なくすることができる。
【０１５５】
上記各実施例では、画像形成装置が印刷ジョブの留め置き中に先行してレンダリング処理を行う。具体的には、画像形成装置が留め置き中に先行してレンダリング処理を行って記憶装置に記憶しておき、留め置き印刷ジョブに対してユーザからの印刷指示があった時に、記憶しておいたレンダリング処理結果の情報を印刷ジョブに付加する。そして、画像形成装置が印刷ジョブに付加されたレンダリング処理結果の情報を印刷実行時に使用することで、印刷実行時のレンダリング処理時間を短縮可能となる。このように、本実施例の画像形成装置は、先行してレンダリング処理を行った結果を印刷実行時に使用して印刷実行時のレンダリング処理を行うことを特徴とする。これにより、留め置き印刷において、ユーザにより印刷指示されてからの印刷処理時間を短縮し、ユーザの出力待ちを少なくすることができる。
【０１５６】
なお、上記実施例２では、サーバ機能を有する画像形成装置１０１が先行処理及び先行処理結果の付加を行う構成について説明したが、これらの画像形成装置１０１の機能を印刷サーバ（プリントサーバ）で実現する構成でもよい。
【０１５７】
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されていてもよい。
【０１５８】
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【０１５９】
また、上記各実施例を組み合わせた構成も全て本発明に含まれるものである。
【０１６０】
（その他の実施例）
本発明は、上述の実施例の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【０１６１】
また、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。
【０１６２】
本発明は上記実施例に限定されるものではなく、本発明の趣旨に基づき種々の変形（各実施例の有機的な組合せを含む）が可能であり、それらを本発明の範囲から除外するものではない。即ち、上述した各実施例及びその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【０１６３】
１０１，１０２，１０３  画像形成装置
１１０  コントローラ
１３３  書誌管理部
１３６  先行処理部
１３７  留め置き制御部
【図１】
2018144372.tif 000003
【図２】
2018144372.tif 000004
【図３】
2018144372.tif 000005
【図４】
2018144372.tif 000006
【図５】
2018144372.tif 000007
【図６】
2018144372.tif 000008
【図７】
2018144372.tif 000009
【図８】
2018144372.tif 000010
【図９】
2018144372.tif 000011
【図１０】
2018144372.tif 000012
【図１１】
2018144372.tif 000013
【図１２】
2018144372.tif 000014
【図１３】
2018144372.tif 000015
【図１４】
2018144372.tif 000016
【図１５】
2018144372.tif 000017
【図１６】
2018144372.tif 000018