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