(57)【要約】【課題】留め置き印刷において、ユーザにより印刷指示されてからの印刷処理時間を短縮し、ユーザの出力待ちを少なくすること。【解決手段】画像形成装置101は、ユーザからの印刷指示前に、留め置きしたＰＤＬデータの少なくとも一部のページを処理して該ページに対応する画像データを生成し、記憶しておく（S401〜S408）。そして、画像形成装置101は、ユーザからの印刷指示に応じて、ＰＤＬデータに対応する画像データが記憶されているか否かを判断し、記憶されている場合、該ＰＤＬデータに該画像データの情報を付加し、該画像データの情報が付加されたＰＤＬデータの印刷処理を、該付加された画像データの情報を用いて実行する（図５）。【選択図】図４
2018144361.tif 000002
【特許請求の範囲】
【請求項１】
受信した印刷データを保存しておき、ユーザからの印刷指示が入力された場合に前記保存されている印刷データに基づきシートに画像を形成する画像形成装置であって、
前記印刷指示が入力される前に、前記保存されているページ記述言語で記載される印刷データの少なくとも一部のページを処理して該ページに対応する画像データを生成する先行処理を行う先行処理手段と、
前記先行処理により生成された画像データを、前記印刷データに対応可能に記憶する記憶手段と、
前記保存されている印刷データに対するユーザからの印刷指示に応じて、該印刷データに対応する画像データが前記記憶手段に記憶されているか否かを判断する判断手段と、
前記判断手段により前記印刷指示された印刷データに対応する画像データが記憶されていると判断された場合、該印刷データに該画像データの情報を付加する付加手段と、
前記画像データの情報が付加された印刷データの印刷処理を、該付加された画像データの情報を用いて実行して、前記印刷データに基づく画像をシートに形成させる印刷実行手段と、
を有することを特徴とする画像形成装置。
【請求項２】
前記印刷実行手段は、前記印刷データの各ページのうち、前記画像データが付加されたページを処理する場合には該ページの画像データを用いて処理し、前記画像データが付加されていないページを処理する場合には該ページの印刷データを解析して処理することを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記先行処理手段は、前記印刷データから画像データを生成するために必要な時間をページ単位で予測し、該予測の結果に基づいて前記先行処理で画像データを生成するページを決定することを特徴とする請求項１記載の画像形成装置。
【請求項４】
前記先行処理手段は、前記先行処理の処理中に、前記印刷指示が入力された場合、該先行処理を中断し、該中断されるまでに生成されたページの画像データを前記印刷データに対応可能に前記記憶手段に記憶させ、
前記付加手段は、前記先行処理が中断された場合、前記記憶手段に記憶されている前記中断されるまでに生成されたページの画像データの情報を前記印刷データに付加することを特徴とする請求項１〜３のいずれか１項に記載の画像形成装置。
【請求項５】
前記付加手段は、前記先行処理手段により生成された画像データの記憶場所を特定する情報を、前記印刷データに付加することを特徴とする請求項１〜４のいずれか１項に記載の画像形成装置。
【請求項６】
前記付加手段は、前記先行処理手段により生成された画像データを、前記印刷データに付加することを特徴とする請求項１〜４のいずれか１項に記載の画像形成装置。
【請求項７】
他の装置からの要求に応じて印刷データを前記他の装置に送信する送信手段を有し、
前記付加手段は、前記印刷データを前記印刷実行手段により印刷処理するか、前記送信手段により送信するかを判断し、前記印刷実行手段により印刷処理する場合には前記先行処理手段により生成された画像データの記憶場所を特定する情報を前記印刷データに付加し、前記送信手段により送信する場合には前記先行処理手段により生成された画像データを前記印刷データに付加することを特徴とする請求項１〜４のいずれか１項に記載の画像形成装置。
【請求項８】
受信した印刷データを保存しておき、ユーザからの印刷指示が入力された場合に前記保存されている印刷データに基づきシートに画像を形成する画像形成装置の制御方法であって、
前記印刷指示が入力される前に、前記保存されているページ記述言語で記載される印刷データの少なくとも一部のページを処理して該ページに対応する画像データを生成する先行処理を行う先行処理ステップと、
前記先行処理により生成された画像データを、前記印刷データに対応可能に記憶手段に記憶させるステップと、
前記保存されている印刷データに対するユーザからの印刷指示に応じて、該印刷データに対応する画像データが前記記憶手段に記憶されているか否かを判断する判断ステップと、
前記判断ステップで前記印刷指示された印刷データに対応する画像データが記憶されていると判断された場合、該印刷データに該画像データの情報を付加する付加ステップと、
前記画像データの情報が付加された印刷データの印刷処理を、該付加された画像データの情報を用いて実行して、前記印刷データに基づく画像をシートに形成させる印刷実行ステップと、
を有することを特徴とする画像形成装置の制御方法。
【請求項９】
コンピュータに、請求項８に記載の制御方法を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷ジョブを一度蓄積した後に印刷可能な画像形成装置に関し、特に、印刷ジョブの印刷実行時のレンダリング処理時間を短くする制御に関する。
【背景技術】
【０００２】
近年ネットワーク環境の普及に伴い、複数のユーザで複数の画像形成装置を共有して利用することが一般的になってきた。それに伴い、機密性の高い印刷物を出力する際に他ユーザに見られないように、画像形成装置でユーザ認証を実行してから印刷実行を行う「留め置き印刷」の要望が高まっている。
【０００３】
特許文献１には、サーバ機能を有する画像形成装置内でホストコンピュータから送信された印刷ジョブを一時的に蓄積し、蓄積された印刷ジョブは画像形成装置上でユーザ認証を行うことにより、印刷実行される技術が提案されている。
【０００４】
なお、特許文献１の技術では、ユーザ認証後に印刷が実行されるため、ユーザは印刷ジョブのレンダリング処理を待つ必要がある。そのため、「留め置き印刷」において印刷ジョブのレンダリング処理時間を短くする要望が高まっている。
【０００５】
特許文献２では、レンダリング処理可能な印刷ジョブ送信装置を用いて印刷時間を短縮する技術が提案されている。この技術では、印刷ジョブ送信装置上でレンダリング処理を行ってレンダリング処理後の画像データを画像形成装置に送信する時間と、印刷ジョブを画像形成装置に送信して画像形成装置上でレンダリング処理を行う時間とを比較し、短い方で処理するものである。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第４０３３８５７号公報
【特許文献２】特開２０１３−２２５２５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、特許文献２の技術は、上述したような留め置き印刷を想定したものではない。このため、特許文献２の技術を留め置き印刷に応用する場合、ユーザからの印刷指示が入力された後に印刷ジョブのレンダリング処理の２つの異なる方法を比較し、短い方で処理するものとなる。このようにユーザによる印刷指示の入力後に初めてレンダリング処理が行われる場合、レンダリング処理時間の短い方法で処理したとしても、印刷ジョブによってはユーザが出力を待たされる結果となる。また、特許文献２の技術では、レンダリング処理の２つの異なる方法を比較し、短い方法を選択する構成のため、片方のレンダリング処理が無駄になってしまう場合がある。
【０００８】
本発明は、上記の問題点を解決するためになされたものである。本発明の目的は、留め置き印刷において、ユーザにより印刷指示されてからの印刷処理時間を短縮し、ユーザの出力待ちを少なくする仕組みを提供することである。
【課題を解決するための手段】
【０００９】
本発明は、受信した印刷データを保存しておき、ユーザからの印刷指示が入力された場合に前記保存されている印刷データに基づきシートに画像を形成する画像形成装置であって、前記印刷指示が入力される前に、前記保存されたページ記述言語で記載される印刷データの少なくとも一部のページを処理して該ページに対応する画像データを生成する先行処理を行う先行処理手段と、前記先行処理により生成された画像データを、前記印刷データに対応可能に保持する保持手段と、前記保存されている印刷データに対するユーザからの印刷指示に応じて、該印刷データに対応する画像データが前記保持手段に保持されているか否かを判断する判断手段と、前記判断手段により前記印刷指示された印刷データに対応する画像データが保持されていると判断された場合、該印刷データに該画像データの情報を付加する付加手段と、前記画像データの情報が付加された印刷データの印刷処理を、該付加された画像データの情報を用いて実行して、前記印刷データに基づく画像をシートに形成させる印刷実行手段と、を有することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、留め置き印刷において、ユーザにより印刷指示されてからの印刷処理時間を短縮し、ユーザの出力待ちを少なくすることができる。
【図面の簡単な説明】
【００１１】
【図１】本実施例の画像形成装置を有する印刷システムの構成図
【図２】実施例１の印刷処理を示すシーケンス図
【図３】実施例１の印刷ジョブ留め置き処理を説明する図
【図４】実施例１の先行処理を説明するフローチャート
【図５】実施例１の印刷実行処理を説明するフローチャート
【図６】実施例１の先行処理結果の付加処理を説明するフローチャート
【図７】実施例１の先行処理結果付加後の印刷ジョブの一例を説明する図
【図８】実施例１の仕上げのレンダリング処理を説明するフローチャート
【図９】実施例１の仕上げのレンダリング処理を説明する図
【図１０】実施例２の印刷処理を示すシーケンス図
【図１１】実施例２の印刷実行処理を説明するフローチャート
【図１２】実施例２の印刷ジョブ送信処理を説明するフローチャート
【図１３】実施例２の先行処理結果の付加処理を説明するフローチャート
【図１４】実施例２の先行処理結果付加後の印刷ジョブを説明する図
【図１５】実施例２の仕上げのレンダリング処理を説明するフローチャート
【図１６】ユーザ認証後に操作パネルに表示されるＵＩの一例を説明する図
【発明を実施するための形態】
【００１２】
以下、本発明を実施するための形態について図面を用いて説明する。
【実施例１】
【００１３】
図１（Ａ）は、本発明の一実施例を示す画像形成装置を有する印刷システムの構成を例示する図である。
図１（Ａ）に示す画像形成装置101〜103は、ＭＦＰ（Multi Function Printer）、ＳＦＰ（Single Function Printer）、ＬＢＰ（Laser Beam Printer）のいずれであってもよい。画像形成装置101〜103は、留め置き印刷可能な印刷装置であればよい。また、画像形成装置101〜103のプリント方式はどのようなものであってもよい。また、図１のシステムは、３台の画像形成装置を例として示しているが、1台以上の任意の画像形成装置を有する構成であればよい。
【００１４】
画像形成装置101〜103は、イーサネット（登録商標）等のＬＡＮ（Local Area Network）105を介し、各種指示を行うホストコンピュータ（ＰＣ）104と接続される。画像形成装置101〜103は、ＰＣ104からの印刷指示内容に応じて処理を実行する。なお、図１（Ａ）に示した構成のように複数の画像形成装置がＬＡＮ105を介して接続される場合は、画像形成装置は他の画像形成装置から印刷ジョブを受け取り印刷実行処理が可能である。この構成については実施例２で説明する。
【００１５】
なお、画像形成装置101〜103は同様の構成のため、画像形成装置101の構成を代表して記載し、他の画像形成装置102〜103の構成については記載を省略する。以下、画像形成装置101を用いて説明する構成は、画像形成装置102〜103についても同様である。
【００１６】
画像形成装置101は、コントローラ110、プリント機構111、カードリーダ112、操作パネル113等を備える。また、コントローラ110は、ネットワークＩ／Ｆ120、リーダＩ／Ｆ121、パネルＩ／Ｆ122、ＣＰＵ123、ＨＤＤ124、ＲＡＭ125、ＲＯＭ126、デバイスＩ／Ｆ127、ＲＩＰ回路128、画像処理回路129をシステムバス130上に有する。
【００１７】
コントローラ110は、ＲＯＭ126又はＨＤＤ124に記憶されたプログラムによって画像形成装置101全体を制御する。ネットワークＩ／Ｆ120は、例えばＬＡＮカード等で実現され、ＬＡＮ105に接続して外部装置との間で情報の入出力を行う。
【００１８】
リーダＩ／Ｆ121は、外部からの認証情報を受け取るカードリーダ112に対するインタフェース部であり、外部から入力された認証情報を受け取りＣＰＵ123に伝える役割をする。パネルＩ／Ｆ122は、各種メニューや印刷ジョブ情報等を表示可能な表示画面を有する操作パネル113に対するインタフェース部であり、操作パネル113に対して操作画面データを出力する。また、パネルＩ／Ｆ122は、操作パネル113から操作者が入力した情報をＣＰＵ123に伝える役割をする。
【００１９】
ＣＰＵ123は、画像形成装置101全体を制御するための中央処理装置である。ＨＤＤ124は、ハードディスクドライブやソリッドステートドライブなどの記憶装置であり、各種処理のためのシステムソフトウェア及び入力された印刷ジョブや画像データ等を格納する。ＲＡＭ125は、ＣＰＵ123が動作するためのシステムワークメモリであり、入力された印刷ジョブや画像データを一時記憶するための画像メモリでもある。ＲＯＭ126は、ブートＲＯＭであり、システムのブートプログラムが格納されている。ＣＰＵ123は、ＲＯＭ126又はＨＤＤ124に記憶されたプログラムを必要に応じてＲＡＭ125に読み出して実行することにより各種制御を実現する。
【００２０】
デバイスＩ／Ｆ127は、プリント機構111とコントローラ110とを接続し、画像データの同期系／非同期系の変換を行う。ＲＩＰ回路128はラスターイメージプロセッサであり、中間データ（ディスプレイリスト）を解析してイメージに展開する。画像処理回路129は、印刷ジョブを解析して生成されたイメージデータに対してプリント機構111に応じた補正、解像度変換等の処理を行う。
【００２１】
プリント機構111は、コントローラ110の指示に従って、印刷を実行する。すなわち、プリント機構111は、印刷データに基づきシート（記録紙等）に画像を形成する。カードリーダ112は、ユーザが持つＩＤカード等の情報を読み取り可能な機能を有し、ＩＤカードから読み取ったユーザ情報をコントローラ110へ通知する。操作パネル113は、コントローラ110より操作画面データを受け取り、受け取った画面の表示やユーザからの操作指示を受け取りコントローラ110へ通知する。
【００２２】
図１（Ｂ）は、画像形成装置101〜103の動作を制御するコントローラ110のソフトウェア構成を例示する図である。
コントローラ110は、ソフトウェアとして、認証部131、設定部132、書誌管理部133、印刷制御部134、ジョブ解析部135、先行処理部136、留め置き制御部137、印刷実行部138、ＰＤＬ解析部139、中間データ生成部140を実現する。すなわち、これら各部131〜140は、ＣＰＵ123がＲＯＭ126又はＨＤＤ124に記憶されたプログラムを必要に応じてＲＡＭ125に読み出して実行することにより実現される機能部である。
【００２３】
認証部131は、リーダＩ／Ｆ121（又は操作パネル113）よりシステムバス130を通じて認証情報を受け取り、留め置き制御部137へ通知する。設定部132は、パネルＩ／Ｆ122よりシステムバス130を通じて操作パネル113への入出力の制御を行う。
【００２４】
書誌管理部133は、留め置き制御部137が受信した印刷ジョブや印刷ジョブに関する情報を制御し管理する。印刷制御部134は、ネットワークＩ／Ｆ120を通じて入力された印刷指示や印刷ジョブの情報を取得し、留め置き制御部137や印刷実行部138に対して印刷ジョブの処理を指示する。
【００２５】
留め置き制御部137は、印刷制御部134から受け取った印刷ジョブに対して印刷ジョブの解析、管理、先行処理の制御や印刷実行部138への印刷指示を行う。ジョブ解析部135は、留め置き制御部137が受信した印刷ジョブの解析を行う。先行処理部136は、留め置き制御部137が受信した印刷ジョブのジョブ解析部135の解析結果に応じて、印刷ジョブのレンダリング処理を行う。
【００２６】
印刷実行部138は、印刷制御部134や留め置き制御部137より受け取った印刷ジョブに対して、ＰＤＬ解析部139、中間データ生成部140、ＲＩＰ回路128、画像処理回路129の制御を行って画像の生成を行う。さらに、印刷実行部138は、該生成した画像を、デバイスＩ／Ｆ127を通じてプリント機構111へ出力し、印刷処理を実行させる。ＰＤＬ解析部139は、印刷実行部138より指示を受けた印刷ジョブのＰＤＬ解析を行う。なお、ＰＤＬは、Page Description Languageの略語であり、ページ記述言語を示す。中間データ生成部140は、ＰＤＬ解析部139が解析した情報を基に、中間データを生成する。
【００２７】
図２は、実施例１の画像形成装置101〜103を有する印刷システムがＰＣ104から印刷ジョブを受信して画像形成装置101で印刷する時のシーケンスの一例を示したものである。図中、各ステップには「S」を付してある。なお、図２中の画像形成装置101が実行する処理は、画像形成装置101のＣＰＵ123がＲＯＭ126又はＨＤＤ124に記憶されたプログラムを必要に応じてＲＡＭ125に読み出して実行することにより実現される。また、図２中のＰＣ104が実行する処理は、ＰＣ104の不図示のＣＰＵがＨＤＤ等に記憶されたプログラムを必要に応じてＲＡＭに読み出して実行することにより実現される。
【００２８】
ユーザがＰＣ104にログインし（S201）、ＰＣ104を操作して任意のアプリケーションからデータの印刷を要求すると（S202）、まずＰＣ104は、ユーザ情報を取得する（S203）。そして、ＰＣ104は、上記S203で取得したユーザ情報を印刷ジョブに付与して印刷ジョブを生成し（S204）、該印刷ジョブが画像形成装置101に送信する（S205）。
【００２９】
画像形成装置101は、印刷ジョブを受信すると、ＨＤＤ124に印刷ジョブを保存する（S206）。そして、画像形成装置101は、該印刷ジョブに付与されたユーザ情報を抽出し、書誌情報を作成し（S207）、ＨＤＤ124に書誌情報を保存（登録）する（S208）。画像形成装置101は、書誌情報の保存を終えると、先行処理を開始する（S209）。そして、画像形成装置101は、先行処理の結果を逐次ＨＤＤ124に保存する（S210）。
【００３０】
ユーザが画像形成装置101にログインすると（S211）、画像形成装置101は、該ユーザのユーザ情報を取得し（S212）、該ユーザの書誌情報に基づいて該ユーザの印刷ジョブ一覧を操作パネル113に表示する（S213）。
【００３１】
さらに、画像形成装置101は、ユーザからの印刷指示を受けると（S214）、上記S210で保存していた先行処理の結果を印刷ジョブに付加する（S215）。先行処理の結果の印刷ジョブへの付加についての詳細は後述する。さらに、画像形成装置101は、先行処理結果が付加された印刷ジョブの先行処理結果を使って、仕上げのレンダリング処理を行い（S216）、印刷を行う（S217）。
【００３２】
図３は、実施例１の画像形成装置101〜103が備えるコントローラ110が備えるソフトフェア（133〜140等）が実行する印刷ジョブ留め置き処理を説明する図である。
図３（Ａ）は、コントローラ110が実行する印刷ジョブ留め置き処理の一例を説明するフローチャートである。図３（Ｂ）は、画像形成装置101が受信する印刷ジョブの構成の一例を説明する図である。図３（Ｃ）は、コントローラ110がＨＤＤ124に記憶するユーザの印刷ジョブリストの一例を説明する図である。なお、図３（Ａ）、及び、後述する図４、図５、図６及び図８に示す処理は、ＣＰＵ123がＲＯＭ126又はＨＤＤ124に記憶されたプログラムを必要に応じてＲＡＭ125に読み出して実行することにより実現される。
【００３３】
S301において、印刷制御部134は、ネットワークＩ／Ｆ120を通じてＰＣ104などから送信された印刷ジョブの受信を行う。印刷ジョブは、例えば図３（Ｂ）のような構成になっており、データの最初に各種設定情報を含むヘッダ情報を持ち、その後に各ページのデータ（ＰＤＬデータ）が含まれる。各ページの情報内の「P1」、「Line1」、「Text1」、「Rect1」、「Image1」、「Rect２」などは、ページを構成するための描画コマンドの例である。
【００３４】
S302において、印刷制御部134は、上記S301で受信した印刷ジョブが「留め置きジョブ」か「そのまま印刷を行うジョブ」かを判断する。「留め置きジョブ」か否かの判断方法は、画像形成装置内で記憶しているパラメータが留め置きを指し示すものであるかとか、印刷ジョブのヘッダ内に情報が埋め込まれているものを解析するなどの方法で行うものとするが、公知のため詳細は省略する。
【００３５】
そして、上記S302において、「そのまま印刷を行うジョブ」と判断した場合（S302でNoの場合）、印刷制御部134は、S303に処理を進める。
S303において、印刷制御部134は、印刷実行部138に対して上記印刷ジョブ印刷ジョブの処理を指示する。印刷実行部138は、ＰＤＬ解析部139や中間データ生成部140を制御して上記印刷ジョブの解析や中間データの生成を行い、生成された中間データをＲＩＰ回路128にレンダリング処理させ、画像データを生成する。
【００３６】
次に、S304において、印刷実行部138は、上記S303で生成された画像データを画像処理回路129で画像補正をした後、デバイスＩ／Ｆ127を通じてプリント機構111へ転送を行い印刷実行する。
【００３７】
一方、上記S302において、「留め置きジョブ」と判断した場合（S302でYesの場合）、印刷制御部134は、S305に処理を進める。
S305において、印刷制御部134は、留め置き制御部137に対して上記印刷ジョブの処理を指示する。留め置き制御部137は、印刷ジョブ内に含まれるユーザ情報の取得を行う。図３（Ｂ）の例では、ユーザ情報は「ユーザ名：ユーザＡ」で示される。なお、このユーザ情報は、印刷ジョブのヘッダ情報内に含まれていなくても、送信元のＰＣ104からユーザ情報を別途送る構成でも構わない。ユーザ情報とは、ユーザ名やユーザＩＤなど印刷実行を行ったユーザを識別可能な情報であればどのような情報でもよい。
【００３８】
次に、S306において、留め置き制御部137は、ジョブ解析部135に上記印刷ジョブの解析を指示する。ジョブ解析部135は、上記印刷ジョブに含まれる印刷設定情報と文書名等の情報（例えばページ数も含む）を取得する。この印刷設定情報には、例えば片面印刷か両面印刷かを示す情報、カラーで印刷するかモノクロで印刷するかの情報、出力する用紙サイズに関する情報などが含まれる。図３（Ｂ）は一例であり、印刷設定情報の一部が無い印刷データであってもよく、その時はＨＤＤ124やＲＯＭ126が持つ初期設定値とするか、印刷実行時にユーザから設定してもらう構成であってもよい。
【００３９】
次に、S307において、留め置き制御部137は、上記S305により取得したユーザ情報と、上記S306により取得した印刷設定情報と文書名等の情報とを関連付ける。そして、留め置き制御部137は、これら関連付けられた情報を、１レコードとする、そのユーザ情報に対応する書誌情報を作成する（例えば図３（Ｃ））。なお、ファイル情報に含まれる保存先には、当該処理を実行している画像形成装置自身を特定する情報が含まれる。
【００４０】
図３（Ｃ）は、本実施例のユーザ毎の書誌情報の一例を示す図である。
ここでは、ユーザＡの書誌情報を例示する。本実施例の書誌情報は、例えば、ジョブＩＤ、ファイル情報、印刷設定情報、ページ数、レンダリング予測時間、先行処理情報等を有する。なお、ジョブＩＤには、ジョブ毎に固有の値が設定される。
【００４１】
次に、S308において、留め置き制御部137は、上記S307において１レコードが追加された書誌情報の登録を、書誌管理部133に指示する。書誌管理部133は、該S307において１レコードが追加された書誌情報をＨＤＤ124に保存（登録）する。また、留め置き制御部137は、上記印刷ジョブを、今回追加された１レコードに対応する印刷ジョブとしてＨＤＤ124に保存する。なお、S308の書誌情報登録時点では、レンダリング予測時間は未設定、先行処理情報については、先行処理は「未」、先行処理結果は未設定の状態で登録される。
【００４２】
図４は、実施例１の画像形成装置101〜103が備えるコントローラ110が備えるソフトフェア（135、136等）が実行する先行処理の一例を説明するフローチャートである。図４の先行処理は、図３の印刷ジョブ留め置き処理により印刷ジョブがＨＤＤ124に留め置かれた後に実行される処理である。
【００４３】
S401において、ジョブ解析部135は、ＨＤＤ124内に留め置かれた印刷ジョブに対して印刷ジョブに含まれる各ページのレンダリング処理にかかる時間を予測する。予測方法は、印刷ジョブのサイズや印刷ジョブ内に含まれるＰＤＬコマンドの内容などレンダリング処理時間を推測できる方法であればよい。なお、ジョブ解析部135は、書誌管理部133に指示し、該予測結果を、当該先行処理している印刷ジョブに関連付けられている書誌情報に登録する。
【００４４】
S402において、先行処理部136は、上記S401の予測の結果、印刷ジョブに含まれるページのうちレンダリング処理に時間がかかるページを先行してレンダリング処理が必要なページとして判断する。例えば、「ジョブＩＤ：１」の文書のレンダリング予測時間は図３（Ｃ）のようになっているとする。この場合、先行処理部136は、時間がかかるページを1page、9pageと判断する。該時間がかかるページの判断の基準については、印刷を行う画像形成装置の印刷スピードに応じて判断してもよいし、先行処理部が保持しているしきい値（例えば「10秒」等）としてもよいし、全ページをレンダリングが必要と判断してもよい。すなわち、先行処理部136は、印刷ジョブに含まれるＰＤＬデータからレンダリングに必要な時間をページ単位で予測し、該予測の結果に基づいて先行処理を行うページを決定する。なお、レンダリング予測時間は、例えば予測するページのＰＤＬデータのサイズに基づき予測してもよいし、該ページに含まれるＰＤＬコマンド数や種類に基づき予測してもよいし、他の方法を用いて予測してもよい。
【００４５】
S403において、先行処理部136は、上記S402の判断の結果、先行してレンダリング処理が必要なページが存在するか否かを判断する。そして、先行してレンダリング処理が必要なページが存在しないと判断した場合（S403でNoの場合）、先行処理部136は、本フローチャートの処理を終了する。
【００４６】
一方、先行してレンダリング処理が必要なページが存在すると判断した場合（S403でYesの場合）、先行処理部136は、S404に処理を進める。なお、ここで、対応する書誌情報の先行処理情報に、先行処理中であることを示す情報「中」を付加するようにしてもよい。
【００４７】
S404において、先行処理部136は、上記S402で先行してレンダリング処理が必要だと判断されたページのレンダリング処理（先行レンダリング処理）を行い画像データの生成を行う。なお、上記S402で先行してレンダリング処理が必要だと判断されたページが複数ある場合は、印刷ジョブのページ順にレンダリング処理を実行してもよい。また、レンダリング処理に時間がかかるページから順にレンダリング処理を実行してもよい。また、レンダリング処理に時間がかからないページから順にレンダリング処理を実行してもよい。
【００４８】
次に、S405において、先行処理部136は、上記S404で生成した画像データをページ単位にＨＤＤ124に保存する。なお、先行処理部136は、該保存したページ単位の画像データを、当該先行処理している印刷ジョブに関連付けられている書誌情報に関連付けておき、該印刷ジョブの各ページと対応可能に管理する。
【００４９】
次に、S406において、先行処理部136は、上記S402で先行してレンダリング処理が必要だと判断されたページ（対象ページ）全ての先行レンダリング処理が終了したか否かを判断する。未だ全対象ページの先行レンダリング処理が終了していないと判断した場合（S406でNoの場合）、先行処理部136は、S408に処理を進める。
【００５０】
S408において、先行処理部136は、レンダリング処理を実行している印刷ジョブに対してユーザから印刷実行指示があるか否かを判断する。そして、印刷実行指示が無いと判断した場合（S408でNoの場合）、先行処理部136は、S404に処理を移行する。
一方、印刷実行指示が有ったと判断した場合（S408でYesの場合）、先行処理部136は、先行処理を中断して本フローチャートの処理を終了する。なお、印刷実行指示については後述する図５において詳細に説明する。
【００５１】
一方、全対象ページの先行レンダリング処理が終了したと判断した場合（S406でYesの場合）、先行処理部136は、S407に処理を進める。
S407において、先行処理部136は、書誌管理部133に指示し、上記S405で先行レンダリング処理した結果を保存した情報を、対応する書誌情報に付加する。例えば図３（Ｃ）の書誌情報中の先行処理情報のように、先行処理が済んでいるかどうかの情報「済」と、先行処理した結果がどこに記憶されているかの情報「/xxx/yyy/image1」及び「/xxx/yyy/image2」等を付加する。S407の後、先行処理部136は、本フローチャートの処理を終了する。
【００５２】
図５は、実施例１の画像形成装置101〜103が備えるコントローラ110が備えるソフトフェア（131、132、138）が実行する印刷実行処理の一例を説明するフローチャートである。
図１６は、ユーザ認証後に操作パネル113に表示されるＵＩの一例を説明する図である。
【００５３】
S501において、認証部131は、ユーザが持つＩＤカードがカードリーダ112にかざされた場合に、カードリーダ112がＩＤカードから読み取ったユーザ情報をリーダＩ／Ｆ121を通じて受け取り、認証処理を行う。ユーザが持つＩＤカードからユーザ情報を読み取る例を記載したが、操作パネル113等からユーザ情報とパスワードを入力してユーザ認証を行う方式など公知の認証方法を用いてもよい。認証処理に成功した場合、認証部131は、該ユーザ情報を設定部132に通知する。
【００５４】
S502において、設定部132は、上記S501で取得したユーザ情報と同じユーザ情報に対応する書誌情報を、書誌管理部133より受け取り、該書誌情報を基に印刷ジョブリストを生成し、パネルＩ／Ｆ122を通じて操作パネル113へ表示する。操作パネル113に表示される情報は、例えば図１６の1601に示したものであり、印刷ジョブリストは一例として図１６の1602のように表示される。ユーザは、印刷ジョブリスト1602から所望の印刷ジョブを選択し、プリント開始ボタン1603を押下することにより、該選択した印刷ジョブの印刷指示を行うことが可能である。また、ユーザは、印刷ジョブリスト1602から所望の印刷ジョブを選択し、印刷設定ボタン1604を押下することにより、該選択した印刷ジョブの印刷設定を変更することが可能である。なお、ログアウトボタン1605は、ログアウトするためのものである。
【００５５】
次に、S503において、設定部132は、ユーザから印刷ジョブリスト1602に表示している印刷ジョブに対して印刷実行指示があったか否かを判断する。例えばユーザが印刷ジョブリスト1602から印刷ジョブを選択してプリント開始ボタン1603を押下した場合、印刷実行指示があったと判断する。また、プリント開始ボタン1603を押下することなく、例えばユーザがログアウトボタン1605を押下した場合、印刷実行指示が無かったと判断する。
【００５６】
そして、印刷実行指示がないと判断した場合（S503でNoの場合）、設定部132は、本フローチャートの処理を終了する。
一方、印刷実行指示があったと判断した場合（S503でYesの場合）、設定部132は、S504に処理を進める。
【００５７】
S504において、設定部132は印刷実行指示されたことを留め置き制御部137に通知する。留め置き制御部137は、印刷実行指示された印刷ジョブが先行処理済みであるか否かを判断する。この判断は、書誌情報を参照し、図４のS407で付加された先行処理済みの情報を取得して判断する。
【００５８】
そして、上記S504において、印刷ジョブが先行処理済みであると判断した場合（S504でYesの場合）、留め置き制御部137は、S505に処理を進める。
S505において、留め置き制御部137は、先行処理結果の情報をＰＤＬデータに付加する処理を行い、印刷ジョブの生成を行う。先行処理結果の付加処理の詳細は後述する（図６）。S505の後、留め置き制御部137は、印刷ジョブの印刷指示を、印刷実行部138に行う。該指示に応じて、印刷実行部138はS508の処理を実行する。
【００５９】
また上記S504において、印刷ジョブが先行処理済みでないと判断した場合（S504でNoの場合）、留め置き制御部137は、S506に処理を進める。
S506において、留め置き制御部137は、印刷実行指示された印刷ジョブが先行処理中であるか否かを判断する。この判断は、上記S504と同様に書誌情報を参照し、先行処理中であるか否かで判断してもよいし、図４のS405で書誌情報に関連付けされた先行レンダリング処理済みの画像データが存在するか否かで判断してもよい。
【００６０】
そして、上記S506において、印刷実行指示された印刷ジョブが先行処理中であると判断した場合（S506でYesの場合）、留め置き制御部137は、S507に処理を進める。
【００６１】
S507において、留め置き制御部137は、先行処理中の印刷ジョブに対して先行処理の中断を行う。先行処理の中断の情報は先行処理部136へ通知され、図４のS408で説明した印刷実行指示があるかどうかの判断に使用される。上記S507の後、留め置き制御部137は、先行処理を中断した時点でＨＤＤ124に保存されている先行処理結果（図４のS405で対応する書誌情報に関連付けされた画像データ）を先行処理情報として取得し、S505において、印刷ジョブに付加する。該S505の後、留め置き制御部137は、印刷ジョブの印刷指示を、印刷実行部138に行う。該指示に応じて、印刷実行部138はS508の処理を実行する。
【００６２】
一方、上記S506において、印刷実行指示された印刷ジョブが先行処理中でないと判断した場合（S506でNoの場合）、留め置き制御部137は、印刷ジョブの印刷指示を、印刷実行部138に行う。該指示に応じて、印刷実行部138はS508の処理を実行する。
【００６３】
S508において、印刷実行部138は、仕上げのレンダリング処理を行う。仕上げのレンダリング処理は、印刷ジョブに先行処理結果の情報が付加されていない場合は、図３のS303と同様の処理である。なお、印刷ジョブに先行処理結果の情報が付加されている場合の仕上げのレンダリング処理の詳細は後述する図８で示す。
【００６４】
次に、S509において、留め置き制御部137が印刷実行部138に印刷を指示し、印刷実行部138が印刷を実行する。印刷実行部138による印刷の実行は図３のS304と同様の処理である。S509の後、印刷実行部138は、本フローチャートの処理を終了する。
【００６５】
図６は、実施例１の画像形成装置101〜103が備えるコントローラ110が備える留め置き制御部137が実行する先行処理結果の付加処理（図５のS505）の一例を説明するフローチャートである。
図７は、実施例１の先行処理結果の付加処理によってＰＤＬデータに付加される先行処理結果の一例を説明する図である。
【００６６】
S601において、留め置き制御部137は、ＰＤＬデータに先行処理結果を付与する処理の開始として、識別子情報（図７の701）を付加する。識別子の情報は、先行処理結果が付与されている情報を示すものであり、文字列であったり数値であったりコントローラ内部で識別可能なものであれば構わない。
【００６７】
次に、S602において、留め置き制御部137は、上記S601で付加された識別子情報に続いて先行処理情報（図７の702）を付加する。先行処理情報は、先行処理結果全体のデータサイズや対象の印刷ジョブの総ペース数や先行処理されているページ情報などを含むものである。先行処理結果体のデータサイズや先行処理結果の情報を指し示すインデックス情報など、後述の処理を行った後でないとわからない情報に関しては、情報を格納する領域だけ確保しておき、後述の処理後に情報の更新を行う。図７の702に示した構成は一例であり、先行処理結果の情報を解析するのに必要な情報が揃っていればどのような構成でも構わない。
【００６８】
S603において、留め置き制御部137は、上記S602で付加された先行処理情報に続いて、先行処理結果の情報（図７の703）を付加する。ここでは、先行処理結果のページ数を示すもの、フォーマットを示すもの、先行処理結果の情報を示すものを、１つのセットとして情報を付加していく。703で示した例では、最初に1ページ目に対するセットの情報を付加しており、先行処理結果のフォーマットを「ファイルパス」としている。なお、フォーマットを「ファイルパス」とした場合、留め置き制御部137は、先行処理結果が格納されているＨＤＤ124のファイルパス情報（先行処理結果の記憶場所を特定する情報）を、先行処理結果の情報として付加する。
【００６９】
S604において、留め置き制御部137は、先行処理済みの全ページの情報を付加したかどうかを判断する。そして、まだ先行処理済みの全ページの情報を付加していないと判断した場合（S604でNoの場合）、留め置き制御部137は、S603に処理を戻し、次のページの処理に移行する。
【００７０】
一方、先行処理済みの全ページの情報を付加したと判断した場合（S604でYesの場合）、留め置き制御部137は、S605に処理を進める。
S605において、留め置き制御部137は、上記S602で作成した先行処理情報の更新を行う。先行処理結果全体のデータサイズや先行処理結果の情報を指し示すインデックス情報など予め確保しておいた領域に処理終了後の情報を上書き更新する。
【００７１】
次に、S606において、留め置き制御部137は、上記S601〜S605で作成した先行処理結果（701、702、703）に続いて、ＰＤＬデータ（図７の704）を付加する。704に示すように、ＰＤＬデータは加工することなく元の状態で付加している。該S606により、図７のような、先行処理結果とＰＤＬデータが組み合わさった印刷ジョブが生成される。S606の後、留め置き制御部137は、本フローチャートの処理を終了する。
【００７２】
以下、図８、図９を参照して、仕上げのレンダリング処理（図５のS508）について説明する。
図８は、実施例１の画像形成装置101〜103が備えるコントローラ110が備えるソフトウェア（138〜140）が実行する仕上げのレンダリング処理（図５のS508）の一例を説明するフローチャートである。
図９は、印刷実行部138、ＰＤＬ解析部139、中間データ生成部140のソフトウェアモジュール構成の一例を説明する図である。
【００７３】
S801において、印刷実行部138は、印刷制御部134や留め置き制御部137より受け取った印刷ジョブを解析し、先行処理を実施した印刷ジョブか否かを判断する。印刷ジョブに識別子情報（図７の701）が存在する場合、印刷実行部138は、先行処理を実施した印刷ジョブと判断し（S801でYesと判断し）、S802に処理を進める。一方、識別子情報（図７の701）が存在しない場合、印刷実行部138は、先行処理を実施していない印刷ジョブと判断し（S801でNoと判断し）、S808に処理を進める。
【００７４】
S802において、印刷実行部138は、これから解析を行う解析対象ページが先行処理を実施したページか否か判断する。解析対象ページが印刷ジョブの先行処理情報（図７の702）に存在する場合、印刷実行部138は、先行処理を実施したページであると判断し（S802でYesと判断し）、S803に処理を進める。
一方、解析対象ページが印刷ジョブの先行処理情報（図７の702）に存在しない場合、印刷実行部138は、先行処理を実施したページでないと判断し（S802でNoと判断し）、S808に処理を進める。
図７に例示した印刷ジョブの場合、先行処理情報（702）にはページ１とページ９が存在するので、印刷実行部１３８は、ページ１とページ９を、先行処理を実施したページと判断する。
【００７５】
以下、S803〜S805の処理について、図９（Ａ）を参照しながら説明する。
S803において、印刷実行部138は、ＰＤＬ解析部139に対してページ解析の「スキップ」を通知する。ページ解析スキップの通知を受けたＰＤＬ解析部139は、対象ページの解析処理をスキップし、中間データ生成部140に対して何の通知も行わず、次ページの解析処理に備える。印刷実行部138がＰＤＬ解析部139にページ解析の「スキップ」を通知するのは、印刷処理のパフォーマンスを向上するためである。印刷実行部138がＰＤＬ解析部139に「スキップ」を通知せずに「開始」を通知する場合、ＰＤＬ解析部139は、先行処理部136が先行処理で実施した解析処理を繰り返し実施することになる。
【００７６】
次に、S804において、印刷実行部138は、解析対象ページの先行処理結果の情報（図７の703）を中間データ生成部140に通知する。
図７に示す印刷ジョブの例では、印刷実行部138の解析対象ページがページ１の場合、印刷実行部138は、ファイルパス「/xx/yy/image1」に格納された先行処理結果（ページ１のＲＩＰ画像）を中間データ生成部140に通知する。
このように、印刷実行部138が、ＰＤＬ解析部139を経由せず、中間データ生成部140に先行処理結果を通知することで２つのメリットがある。１つ目のメリットは、処理ステップを低減して処理速度を向上できることである。２つ目のメリットは、ソフトウェアモジュールの開発コストを抑えられることである。以下、図９（Ｃ）を用いて詳細に説明する。
【００７７】
図９（Ｃ）に示すように、印刷実行部138は、内部にＰＤＬ判定部138-1を備え、複数のＰＤＬ解析部（139ａ、139ｂ、139ｃ）を制御する。例えば、ＰＤＬ解析部139aは、ＬＩＰＳ（キヤノン登録商標：LBP Image Processing System）を解析するＰＤＬ解析部である。また、ＰＤＬ解析部139bは、ＰＳ（アドビ社登録商標：PostScript）を解析するＰＤＬ解析部である。また、ＰＤＬ解析部139cは、ＸＰＳ（Microsoft社登録商標:XML Paper Specification）を解析するＰＤＬ解析部である。
【００７８】
なお、スキップしない場合、印刷実行部138は、印刷ジョブに含まれるＰＤＬをＰＤＬ判定部138-1で判定し、ＬＩＰＳならＬＩＰＳの解析部139a、ＰＳならＰＳの解析部139b、ＸＰＳならＸＰＳの解析部139cに必要な通知を行う。
印刷実行部138が先行処理結果をＰＤＬ解析部（139a、139b、139c）に通知する場合、各ＰＤＬ解析部（139a、139b、139c）は、その通知をさらに中間データ生成部140に通知する対応が必要になる。この対応を実施する場合、まず処理ステップが増加するため処理速度が低下してしまう。また、この対応を複数のＰＤＬ解析部（139a、139b、139c）がそれぞれ実施すると、ソフトウェアモジュールの開発コストが上がってしまう。
【００７９】
そこで本実施例のように、印刷実行部138が中間データ生成部140に直接先行処理結果を通知する構成にすることで、処理速度向上と開発コスト抑制の効果を得ることができる。なお、ＰＤＬ解析部139はハードウェアで実現してもよく、その場合には、本構成による開発コストへの寄与がより大きくなる。
【００８０】
S805において、中間データ生成部140は、上記S804において印刷実行部138から通知された先行処理結果から中間データを生成する。すなわち、中間データ生成部140は、先行処理結果であるファイルパスから該当ページの画像データを取得し、該画像データを用いて中間データを生成する。S803〜S805により、後述するS808〜S810のようにＰＤＬ解析部139がＰＤＬデータを解析して該解析結果に基づいて中間データ生成部140が中間データを生成する場合と比較し、中間データの生成時間を大幅に短縮できる。
【００８１】
次に、S806において、印刷実行部138は、ＲＩＰ回路128を制御して生成された中間データのレンダリングを行い、プリント機構111に印刷処理を実行させる。
【００８２】
次に、S807において、印刷実行部138は、印刷ジョブの全ページの解析が終了したか判断する。そして、まだ全ページの解析が終了していないと判断した場合（S807でNoの場合）、印刷実行部138は、S801に処理を戻し、次ページの印刷実行処理に移行する。一方、全ページの解析が終了したと判断した場合（S807でYesの場合）、印刷実行部138は、本フローチャートの処理を終了する。
【００８３】
次に、上記S802において解析対象ページが先行処理を実施してないページと判断した場合の処理（S808〜S810）について、図９（Ｂ）を参照しながら説明する。
【００８４】
S808において、印刷実行部138は、解析対象ページの解析の開始をＰＤＬ解析部139に通知する。
次に、S809において、ＰＤＬ解析部139は、解析対象ページのＰＤＬデータの解析を行い、その解析結果を中間データ生成部140に通知する。
次に、S810において、中間データ生成部140は、ＰＤＬ解析部139の解析結果から中間データを生成する。なお、中間データ生成後の処理は、解析対象ページが先行処理を実施したページと判断した場合と同じで、S806、Ｓ807の処理を経て、本フローチャートの処理が終了する。
【００８５】
以上のように、画像形成装置101が、留め置き中の印刷ジョブを先行レンダリング処理し、処理結果を記憶装置に記憶しておく。また、画像形成装置101は、留め置き中の印刷ジョブに対してユーザからの印刷指示があった時に、記憶しておいたレンダリング処理結果の情報を印刷ジョブに付加する。さらに、画像形成装置101は、印刷実行時に印刷ジョブに付加されたレンダリング処理結果の情報を使用してレンダリング処理を実行する。この構成により、画像形成装置101に留め置いた印刷ジョブの先行処理を実現することができる。そして、印刷実行時に先行処理結果の情報を印刷ジョブに付加し、仕上げのレンダリング処理時に先行処理結果の情報を参照することで、ＲＩＰ回路128の負荷を低減しレンダリングの処理時間を低減できる。よって、印刷指示後のユーザの待ち時間を少なくすることができる。さらに、本実施例では、ＰＤＬデータそのものは編集することなく、先行処理結果をＰＤＬデータに付加する（例えばＰＤＬデータの先頭に付加する）ことにより、例えばＰＤＦのように編集が困難なＰＤＬデータに対しても容易に適用可能である。
【００８６】
なお、上記説明では、フォーマットを「ファイルパス」とし、先行処理結果が格納されているＨＤＤ124のファイルパス情報を、先行処理結果の情報としてＰＤＬデータに付加する場合について示した。これにより、画像データの無駄なメモリコピーを抑え、メモリ資源の節約が可能になる。しかし、フォーマットを「イメージ」とし、留め置き制御部137が、先行処理結果そのものである画像データ（イメージデータ）を、先行処理結果の情報としてＰＤＬデータに付加するようにしてもよい。
【実施例２】
【００８７】
実施例２では、画像形成装置101がサーバ機能を有し、画像形成装置101がＰＣ104から印刷ジョブを受信した後、ユーザが画像形成装置102（または103）で印刷実行を指示する実施例について説明する。以下、実施例１と同一の構成については説明を省略し、実施例１と異なる点を中心に説明する。
【００８８】
図１０は、実施例２の画像形成装置101〜103を有する印刷システムがＰＣ104から印刷ジョブを受信して画像形成装置101で印刷する時のシーケンスの一例を示したものである。図中、各ステップには「S」を付してある。なお、図１０中の画像形成装置101、102又は103が実行する処理は、画像形成装置101、102又は103のＣＰＵ123がＲＯＭ126又はＨＤＤ124に記憶されたプログラムを必要に応じてＲＡＭ125に読み出して実行することにより実現される。また、図１０中のＰＣ104が実行する処理は、ＰＣ104の不図示のＣＰＵがＨＤＤ等に記憶されたプログラムを必要に応じてＲＡＭに読み出して実行することにより実現される。
【００８９】
まず、S1001〜S1010の処理は、図２のS201〜S210の処理と同様であり、印刷ジョブを画像形成装置101に留め置く処理であるため、説明を省略する。
また、S1010以降の画像形成装置102,103の処理については、画像形成装置102を用いて説明するが、画像形成装置103でも同様である。
【００９０】
ユーザが画像形成装置102にログインすると（S1011）、画像形成装置102は、該ユーザのユーザ情報を取得し（S1012）、サーバ機である画像形成装置101に対して該当ユーザの書誌情報リストの取得要求を行う（S1013）。画像形成装置101は、該書誌情報リストの取得要求を受けると、該当ユーザの書誌情報リストを画像形成装置102に送信する（S1014）。画像形成装置102は、画像形成装置101から書誌情報リストを受け取ると、該書誌情報リストに基づいて、該ユーザの印刷ジョブ一覧を操作パネル113に表示する（S1015）。
【００９１】
さらに、画像形成装置102は、ユーザからの印刷指示を受けると（S1016）、該印刷指示に対応する印刷ジョブの取得要求を画像形成装置101に行う（S1017）。
画像形成装置101は、該取得要求に応じて、S1010で保存していた先行処理の結果を印刷ジョブに付加する（S1018）。さらに、画像形成装置101は、該先行処理結果が付加された加工済みの印刷ジョブを、画像形成装置102へ送信する（S1019）。
画像形成装置102は、先行処理結果が付加された印刷ジョブを受信すると、該印刷ジョブの先行処理結果を使って、仕上げのレンダリング処理を行い（S1020）、印刷を行う（S1021）。
【００９２】
図１１は、実施例２の画像形成装置102〜103が備えるコントローラ110が備えるソフトフェア（1131、132、133、138）が実行する印刷実行処理の一例を説明するフローチャートである。なお、図１１及び後述する図１５に示す処理は、画像形成装置102〜103のＣＰＵ123がＲＯＭ126又はＨＤＤ124に記憶されたプログラムを必要に応じてＲＡＭ125に読み出して実行することにより実現される。
【００９３】
まず、S1101は、図５のS501と同様の処理であるので説明を省略する。
次に、S1102において、書誌管理部133は、上記S1101で取得したユーザ情報に対応する書誌情報を、サーバ機能を有する画像形成装置（本実施例では画像形成装置101）に要求を行い、書誌情報リストを取得する。
【００９４】
次に、S1103において、設定部132は、上記S1102で取得した書誌情報を基に印刷ジョブリストを生成し、パネルＩ／Ｆ122を通じて操作パネル113へ表示する。操作パネル113に表示される情報は、例えば図１６の1601に示したものであり、印刷ジョブリストは一例として図１６の1602のように表示される。
【００９５】
次に、S1104において、設定部132は、図５のS503と同様に、ユーザから印刷ジョブリスト1602に表示している印刷ジョブに対して印刷実行指示があったか否かを判断する。そして、印刷実行指示がないと判断した場合（S1104でNoの場合）、設定部132は、本フローチャートの処理を終了する。一方、印刷実行指示があったと判断した場合（S1104でYesの場合）、設定部132は、S1105に処理を進める。
【００９６】
S1105において、設定部132は印刷実行指示されたことを書誌管理部133に通知する。書誌管理部133は、上記S1104においてユーザから印刷指示があった対象の印刷ジョブを、サーバ機能を有する画像形成装置に要求し、該印刷ジョブを取得する。書誌管理部133は、該印刷ジョブの印刷指示を、印刷実行部138に行う。該指示に応じて、印刷実行部138は、S1106の処理を実行する。仕上げのレンダリング処理は、印刷ジョブに先行処理結果の情報が付加されていない場合は、図３のS303と同様の処理である。なお、印刷ジョブに先行処理結果の情報が付加されている場合の仕上げのレンダリング処理の詳細は後述する図１５で示す。
【００９７】
また、S1107は、図３のS304と同様の処理のため、説明を省略する。S1107の後、印刷実行部138は、本フローチャートの処理を終了する。
【００９８】
図１２は、実施例２のサーバ機能を有する画像形成装置101が備えるコントローラ110が備えるソフトフェア（133、137）が実行する印刷ジョブ送信処理の一例を説明するフローチャートである。なお、図１２及び後述する図１３に示す処理は、サーバ機能を有する画像形成装置101のＣＰＵ123がＲＯＭ126又はＨＤＤ124に記憶されたプログラムを必要に応じてＲＡＭ125に読み出して実行することにより実現される。
【００９９】
S1201において、書誌管理部133は、ネットワークＩ／Ｆ120を通じて画像形成装置102又は103から印刷ジョブの取得要求を受信すると、該取得要求を留め置き制御部137に通知する。
S1202において、留め置き制御部137は、取得要求された印刷ジョブが先行処理済みであるか否かを判断する。この判断は、書誌情報を参照し、図４のS407で付加された先行処理済みの情報を取得して判断する。
【０１００】
そして、上記S1202において、印刷ジョブが先行処理済みであると判断した場合（S1202でYesの場合）、留め置き制御部137は、S1203に処理を進める。
S1203において、留め置き制御部137は、先行処理結果の情報をＰＤＬデータに付加する処理を行い、印刷ジョブの生成を行う。先行処理結果の付加処理の詳細は後述する（図１３）。さらに、留め置き制御部137は、先行処理結果付加後の加工済み印刷ジョブを書誌管理部133に渡す。S1204において。書誌管理部133は、先行処理結果付加後の加工済み印刷ジョブを、要求元の画像形成装置へ送信し、本フローチャートの処理を終了する。
【０１０１】
また上記S1202において、印刷ジョブが先行処理済みでないと判断した場合（S1202でNoの場合）、留め置き制御部137は、S1205に処理を進める。
S1205において、留め置き制御部137は、取得要求された印刷ジョブが先行処理中であるかを判断する。この判断は、上記S1202と同様に書誌情報を参照し、先行処理中であるか否かで判断してもよいし、図４のS405で書誌情報に関連付けされた先行レンダリング処理済みの画像データが存在するか否かで判断してもよい。
【０１０２】
そして、上記S1205において、取得要求された印刷ジョブが先行処理中であると判断した場合（S1205でYesの場合）、留め置き制御部137は、S1206に処理を進める。
【０１０３】
S1206において、留め置き制御部137は、先行処理中の印刷ジョブに対して先行処理の中断を行う。先行処理の中断の情報は先行処理部136へ通知され、図４のS408で説明した印刷実行指示があるかどうかの判断に使用される。上記S1206の後、留め置き制御部137は、先行処理を中断した時点でＨＤＤ124に保存されている先行処理結果（図４のS405で対応する書誌情報に関連付けされた画像データ）を先行処理情報として取得し、S1203において、印刷ジョブに付加する。さらに、留め置き制御部137は、先行処理結果付加後の加工済み印刷ジョブを書誌管理部133に渡す。S1204において。書誌管理部133は、先行処理結果付加後の加工済み印刷ジョブを、要求元の画像形成装置へ送信し、本フローチャートの処理を終了する。
【０１０４】
一方、上記S1205において、取得要求された印刷ジョブが先行処理中でないと判断した場合（S1205でNoの場合）、留め置き制御部137は、元の印刷ジョブを書誌管理部133に渡す。S1207において。書誌管理部133は、元の印刷ジョブを、要求元の画像形成装置へ送信し、本フローチャートの処理を終了する。
【０１０５】
図１３は、実施例２のサーバ機能を有する画像形成装置101が備えるコントローラ110が備える留め置き制御部137が実行する先行処理結果の付加処理（図１２のS1203）の一例を説明するフローチャートである。
図１４は、実施例２の先行処理結果の付加処理によってＰＤＬデータに付加される先行処理結果の一例を説明する図である。
【０１０６】
S1301において、留め置き制御部137は、ＰＤＬデータに先行処理結果を付与する処理の開始として識別子情報（図１４の1401）を付加する。識別子の情報など基本的な処理内容は図６のS601と同様である。
【０１０７】
次に、S1302において、留め置き制御部137は、上記S1301で付加された識別子情報に続いて先行処理情報（図１４の1402）を付加する。先行処理情報など基本的な処理内容は図６のS602と同様である。
【０１０８】
次に、S1303において、留め置き制御部137は、対象の印刷ジョブの出力される場所がどの画像形成装置であるかを判断する。図１２で説明した例の場合、外部の画像形成装置からの印刷ジョブの取得要求を受けての処理であるため、他の画像形成装置だと判断できる。また、実施例１で説明した例の場合、印刷ジョブを留め置いた画像形成装置で出力される（すなわち他の画像形成装置ではない）と判断される。
【０１０９】
上記S1303において、印刷ジョブの出力される場所が他の画像形成装置であると判断した場合（S1303でYesの場合）、留め置き制御部137は、S1304に処理を進める。
【０１１０】
S1304において、留め置き制御部137は、上記S1302で付加された先行処理情報に続いて先行処理結果の情報（図１４の1403）を付加する。ここでは、先行処理結果のページ数を示すもの、フォーマットを示すもの、先行処理結果の情報を示すものを、１つのセットとして情報を付加していく。1403に示した例では、最初に1ページ目に対するセットの情報を付加しており、先行処理結果のフォーマットを「イメージ」としている。フォーマットを「イメージ」とした場合、留め置き制御部137は、先行処理結果が格納されているＨＤＤ124より画像データ（イメージデータ）を読み込み、先行処理結果の情報として付加する。
【０１１１】
S1305において、留め置き制御部137は、先行処理済みの全ページの情報を付加したかどうかを判断する。そして、まだ先行処理済みの全ページの情報を付加していないと判断した場合（S1305でNoの場合）、留め置き制御部137は、S1304に処理を戻し、次のページの処理に移行する。
【０１１２】
一方、先行処理済みの全ページの情報を付加したと判断した場合（S1305でYesの場合）、留め置き制御部137は、S1308に処理を進める。
【０１１３】
また、上記S1303において、印刷ジョブの出力される場所が他の画像形成装置でないと判断した場合（S1303でNoの場合）、留め置き制御部137は、S1306に処理を進める。
なお、S1306、S1307は、図６のS603、S604と同様の処理であり、画像形成装置内の印刷ジョブが格納されているファイルパスを先行処理結果の情報として付加し、S1308に処理を進める。
また、S1308、S1309は、図６のＳ605とＳ606と同様の処理であるので、説明を省略する。
【０１１４】
なお、上記図１３では、S1303で出力先を判断し、出力先に応じて、イメージデータ又はファイルパスを付加する構成について説明したが、S1303の判断を行わず、常にS1304及びS1305において、イメージデータを付加するようにしてもよい。
【０１１５】
図１５は、実施例２の画像形成装置102〜103が備えるコントローラ110が備えるソフトウェア（138〜140）が実行する仕上げのレンダリング処理（図１１のS1106）の一例を説明するフローチャートである。
まず、S1501、S1502は、図８のS801、S802と同様の処理であるので説明を省略する。また、S1503も、図８のS803と同様の処理であるので説明を省略する。
S1504において、印刷実行部138は、解析対象ページの先行処理結果の情報（図１４の1403）を中間データ生成部140に通知する。
【０１１６】
図１４に示す印刷ジョブの例では、印刷実行部138の解析対象ページがページ1の場合、印刷実行部138は、印刷ジョブに先行処理結果として付加されたイメージデータ（ページ１のＲＩＰ画像）を中間データ生成部140に通知する。
【０１１７】
また、S1505、S1506、S1507は、それぞれ図８のS805、S806、S807と同様の処理であるので説明を省略する。さらに、S1508、S1509、S1510も、それぞれ図８のS808、S809、S810と同様の処理であるので説明を省略する。
【０１１８】
以上のように、実施例２によれば、サーバ機能を有する画像形成装置101に留め置いた印刷ジョブの先行処理を実現することができる。そして、ユーザからの印刷指示後、画像形成装置101が印刷ジョブ取得要求を受信した場合、出力先が他の画像形成装置であるか画像形成装置101であるかを判断して、先行処理結果の情報の付加方法を切り替えることができる。他の画像形成装置には、先行処理結果にイメージの実体を含むことで情報を全て伝える。一方、画像形成装置101自身の印刷では、ファイルパスだけ伝えて仕上げのレンダリング処理時に参照することで、効率よく先行処理結果を参照できる。また、どちらのケースでも仕上げのレンダリング処理時に先行処理結果の情報を参照することができるので、印刷実行後のユーザの待ち時間を少なくすることができる。
【０１１９】
上記各実施例では、画像形成装置が印刷ジョブの留め置き中に先行してレンダリング処理を行う。具体的には、画像形成装置が留め置き中に先行してレンダリング処理を行って記憶装置に記憶しておき、留め置き印刷ジョブに対してユーザからの印刷指示があった時に、記憶しておいたレンダリング処理結果の情報を印刷ジョブに付加する。そして、画像形成装置が印刷ジョブに付加されたレンダリング処理結果の情報を印刷実行時に使用することで、印刷実行時のレンダリング処理時間を短縮可能となる。このように、本実施例の画像形成装置は、先行してレンダリング処理を行った結果を印刷実行時に使用して印刷実行時のレンダリング処理を行うことを特徴とする。これにより、留め置き印刷において、ユーザにより印刷指示されてからの印刷処理時間を短縮し、ユーザの出力待ちを少なくすることができる。
【０１２０】
なお、上記実施例２では、サーバ機能を有する画像形成装置101が先行処理及び先行処理結果の付加を行う構成について説明したが、これらの画像形成装置101の機能を印刷サーバ（プリントサーバ）で実現する構成でもよい。
【０１２１】
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されていてもよい。
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
また、上記各実施例を組み合わせた構成も全て本発明に含まれるものである。
【０１２２】
（その他の実施例）
本発明は、上述の実施例の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
また、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。
本発明は上記実施例に限定されるものではなく、本発明の趣旨に基づき種々の変形（各実施例の有機的な組合せを含む）が可能であり、それらを本発明の範囲から除外するものではない。即ち、上述した各実施例及びその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【０１２３】
101，102，103    画像形成装置
110    コントローラ
133    書誌管理部
136    先行処理部
137    留め置き制御部
【図１】
2018144361.tif 000003
【図２】
2018144361.tif 000004
【図３】
2018144361.tif 000005
【図４】
2018144361.tif 000006
【図５】
2018144361.tif 000007
【図６】
2018144361.tif 000008
【図７】
2018144361.tif 000009
【図８】
2018144361.tif 000010
【図９】
2018144361.tif 000011
【図１０】
2018144361.tif 000012
【図１１】
2018144361.tif 000013
【図１２】
2018144361.tif 000014
【図１３】
2018144361.tif 000015
【図１４】
2018144361.tif 000016
【図１５】
2018144361.tif 000017
【図１６】
2018144361.tif 000018