(57)【要約】【課題】ユーザからの印刷指示でレンダリングを開始するため、レンダリング処理に要する時間の間、待たされることなる。【解決手段】印刷ジョブを受信して記憶手段に記憶するサーバと、前記サーバから印刷ジョブを受信して印刷する印刷装置を有する印刷システムであって、サーバは、記憶されている印刷ジョブに、先行してレンダリング処理を行う必要があるページが存在するか否かを判定し、レンダリング処理を行う必要があると判定された前記ページの描画コマンドに基づいてレンダリングし、そのレンダリングの結果を当該印刷ジョブに対応づけて記憶する。そして印刷装置から印刷指示を受信すると、その印刷装置の機器情報に応じて、指示された印刷ジョブのデータをレンダリングの結果に基づいて加工して印刷装置に送信する。【選択図】  図６
2018206311.tif 000002
【特許請求の範囲】
【請求項１】
印刷ジョブを受信して記憶手段に記憶するサーバと、前記サーバから印刷ジョブを受信して印刷する印刷装置を有する印刷システムであって、
前記サーバは、
前記記憶手段に記憶されている印刷ジョブに、先行してレンダリング処理を行う必要があるページが存在するか否かを判定する判定手段と、
前記判定手段により先行してレンダリング処理を行う必要があると判定された前記ページの描画コマンドに基づいてレンダリングするレンダリング手段と、
前記レンダリング手段によるレンダリングの結果を当該印刷ジョブに対応づけて前記記憶手段に記憶する格納手段と、
前記印刷装置からの要求に応じて前記記憶手段に記憶されている印刷ジョブの一覧を前記印刷装置に送信する第１送信手段と、
前記印刷ジョブの一覧から選択された印刷ジョブの印刷指示を前記印刷装置から受信すると、当該印刷装置の機器情報に応じて、前記印刷指示で指示された印刷ジョブのデータを前記レンダリングの結果に基づいて加工して前記印刷装置に送信する制御手段と、を有し、
前記印刷装置は、
ユーザを認証する認証手段と、
前記第１送信手段により送信された前記印刷ジョブの一覧を表示する表示手段と、
前記表示手段により表示された前記印刷ジョブの一覧から前記認証手段により認証されたユーザにより選択された印刷ジョブの前記印刷指示を前記サーバに送信する第２送信手段と、
前記制御手段により送信された加工済みの印刷ジョブのデータに基づいて前記印刷ジョブに基づく印刷を行う印刷手段と、
を有することを特徴とする印刷システム。
【請求項２】
前記印刷装置は、前記印刷指示とともに、当該印刷装置の機器情報を前記サーバに送信することを特徴とする請求項１に記載の印刷システム。
【請求項３】
前記判定手段は、ページの描画コマンドのレンダリングに要する時間を予測し、当該予測した時間が所定の時間よりも長い場合に、当該ページを、先行してレンダリング処理を行う必要があるページと判定することを特徴とする請求項１に記載の印刷システム。
【請求項４】
前記予測は、前記ページの描画コマンドの量、或いは前記ページの描画コマンドの内容に基づいてなされることを特徴とする請求項３に記載の印刷システム。
【請求項５】
前記レンダリング手段は、レンダリングを実行している前記印刷ジョブと紐付くユーザからの認証指示に応じて、当該レンダリングを中断することを特徴とする請求項１乃至４のいずれか１項に記載の印刷システム。
【請求項６】
前記制御手段は、前記印刷装置の機器情報に応じて、前記レンダリング手段によりレンダリングされたページの描画コマンドはイメージデータで表し、前記レンダリング手段によりレンダリングされていないページの描画コマンドは、前記印刷ジョブの元の描画コマンドとしたデータで前記印刷装置に送信するか、或いは前記レンダリング手段によりレンダリングされたページの描画コマンドはイメージ描画コマンドに変換し、前記レンダリング手段によりレンダリングされていないページの描画コマンドは、前記印刷ジョブの元の描画コマンドとしたデータで前記印刷装置に送信することを特徴とする請求項１乃至５のいずれか１項に記載の印刷システム。
【請求項７】
前記印刷手段は、前記イメージデータと、前記レンダリング手段によりレンダリングされていないページの描画コマンドをレンダリングした結果に基づいて、前記印刷ジョブに基づく印刷を行うことを特徴とする請求項６に記載の印刷システム。
【請求項８】
前記印刷手段は、前記イメージ描画コマンドと、前記レンダリング手段によりレンダリングされていないページの描画コマンドとをレンダリングした結果に基づいて、前記印刷ジョブに基づく印刷を行うことを特徴とする請求項６に記載の印刷システム。
【請求項９】
印刷ジョブを受信して記憶手段に記憶するサーバであって、
前記記憶手段に記憶されている印刷ジョブに、先行してレンダリング処理を行う必要があるページが存在するか否かを判定する判定手段と、
前記判定手段により先行してレンダリング処理を行う必要があると判定された前記ページの描画コマンドに基づいてレンダリングするレンダリング手段と、
前記レンダリング手段によるレンダリングの結果を当該印刷ジョブに対応づけて前記記憶手段に記憶する格納手段と、
印刷装置からの要求に応じて前記記憶手段に記憶されている印刷ジョブの一覧を前記印刷装置に送信する送信手段と、
前記印刷ジョブの一覧から選択された印刷ジョブの印刷指示を前記印刷装置から受信すると、当該印刷装置の機器情報に応じて、前記印刷指示で指示された印刷ジョブのデータを前記レンダリングの結果に基づいて加工して前記印刷装置に送信する制御手段と、
を有することを特徴とするサーバ。
【請求項１０】
前記判定手段は、ページの描画コマンドのレンダリングに要する時間を予測し、当該予測した時間が所定の時間よりも長い場合に、当該ページを、先行してレンダリング処理を行う必要があるページと判定することを特徴とする請求項９に記載のサーバ。
【請求項１１】
前記予測は、前記ページの描画コマンドの量、或いは前記ページの描画コマンドの内容に基づいてなされることを特徴とする請求項１０に記載のサーバ。
【請求項１２】
前記レンダリング手段は、レンダリングを実行している前記印刷ジョブと紐付くユーザからの認証指示に応じて、当該レンダリングを中断することを特徴とする請求項９乃至１１のいずれか１項に記載のサーバ。
【請求項１３】
前記制御手段は、前記印刷装置の機器情報に応じて、前記レンダリング手段によりレンダリングされたページの描画コマンドはイメージデータで表し、前記レンダリング手段によりレンダリングされていないページの描画コマンドは、前記印刷ジョブの元の描画コマンドとしたデータで前記印刷装置に送信するか、或いは前記レンダリング手段によりレンダリングされたページの描画コマンドはイメージ描画コマンドに変換し、前記レンダリング手段によりレンダリングされていないページの描画コマンドは、前記印刷ジョブの元の描画コマンドとしたデータで前記印刷装置に送信することを特徴とする請求項９乃至１２のいずれか１項に記載のサーバ。
【請求項１４】
印刷ジョブを受信して記憶手段に記憶するサーバを制御する制御方法であって、
前記記憶手段に記憶されている印刷ジョブに、先行してレンダリング処理を行う必要があるページが存在するか否かを判定する判定工程と、
前記判定工程により先行してレンダリング処理を行う必要があると判定された前記ページの描画コマンドに基づいてレンダリングするレンダリング工程と、
前記レンダリング工程によるレンダリングの結果を当該印刷ジョブに対応づけて前記記憶手段に記憶する格納工程と、
印刷装置からの要求に応じて前記記憶手段に記憶されている印刷ジョブの一覧を前記印刷装置に送信する送信工程と、
前記印刷ジョブの一覧から選択された印刷ジョブの印刷指示を前記印刷装置から受信すると、当該印刷装置の機器情報に応じて、前記印刷指示で指示された印刷ジョブのデータを前記レンダリングの結果に基づいて加工して前記印刷装置に送信する制御工程と、
を有することを特徴とする制御方法。
【請求項１５】
コンピュータを、請求項１乃至のいずれか１項に記載のサーバの各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷システム、サーバ及びその制御方法とプログラムに関する。
【背景技術】
【０００２】
従来、企業のオフィスのように複数のユーザがプリンタを共用する印刷環境において、プルプリントが行なわれている。ここでいうプリンタには、ＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｒｉｎｔｅｒ）のようにネットワークプリンタとして使用可能な複合機が含まれる。プルプリントでは、サーバが使用され、印刷ジョブの作成と非同期のタイミングで、プリンタによる印刷ジョブの実行（印刷処理）が行われる。例えば、複数のプリンタを備えるプルプリントシステムにおいて、ユーザがパーソナルコンピュータ（ＰＣ）からドキュメントの印刷を指示すると、そのＰＣで作成された印刷ジョブがサーバへ送信されて、一旦、サーバに保存される。その後、ユーザが複数のプリンタから任意に選んだ一つのプリンタの設置場所へ出向き、そのプリンタの操作パネルから、所望の印刷ジョブの実行を指示する。この指示を受けたプリンタは、サーバから、その指示された印刷ジョブを取得して印刷する。
【０００３】
このようなプルプリントシステムによれば、機密性の高い印刷物を出力する際に、他ユーザによる印刷物の持ち去りを防止するセキュアプリントを実現することができる。また、ユーザが都合の良い場所で印刷物を受け取ったり、他のユーザによって使用されていないプリンタを選んで印刷させることができる。
【０００４】
しかし、上述のプルプリントを任意のプリンタから指示する場合、ユーザは、そのプリンタの前で、印刷ジョブの受信と印刷ジョブのレンダリング処理等に要する時間の間待つ必要がある。そのため、このようなプルプリントシステムにおいて、ユーザがプリンタで印刷を指示してから、そのプリンタで印刷された印刷物を得るまでの時間を短くしたいという要望が高まっている。
【０００５】
例えば、特許文献１は、レンダリング処理可能なサーバを用いている。そして、サーバでレンダリング処理を行った後、レンダリング後の画像データをサーバから画像形成装置に送信する時間と、サーバから印刷ジョブを画像形成装置に送信して、その印刷ジョブを画像形成装置でレンダリング処理を行う時間とを予測する。そして、その予測の結果、予測時間の短い方の処理方法で処理することにより、ユーザが印刷装置の前で待機する時間を短くすることが記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１３−２２５２５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら従来技術では、ユーザからの印刷指示があった後に、印刷ジョブのレンダリング処理を２つの異なる手法で同時に行っている。そして、どちらか早くレンダリング処理が終わった方のデータを採用しているが、選択されなかった他方の処理が無駄になってしまう。またユーザからの印刷指示でレンダリングを開始するため、レンダリング処理に要する時間の間、待たされることなる。
【０００８】
本発明の目的は、上記従来技術の課題を解決することにある。
【０００９】
本発明の目的は、ユーザによる印刷指示から、印刷物が出力されるまでの時間を短くする技術を提供することにある。
【課題を解決するための手段】
【００１０】
上記目的を達成するために本発明の一態様に係る印刷システムは以下のような構成を備える。即ち、
印刷ジョブを受信して記憶手段に記憶するサーバと、前記サーバから印刷ジョブを受信して印刷する印刷装置を有する印刷システムであって、
前記サーバは、
前記記憶手段に記憶されている印刷ジョブに、先行してレンダリング処理を行う必要があるページが存在するか否かを判定する判定手段と、
前記判定手段により先行してレンダリング処理を行う必要があると判定された前記ページの描画コマンドに基づいてレンダリングするレンダリング手段と、
前記レンダリング手段によるレンダリングの結果を当該印刷ジョブに対応づけて前記記憶手段に記憶する格納手段と、
前記印刷装置からの要求に応じて前記記憶手段に記憶されている印刷ジョブの一覧を前記印刷装置に送信する第１送信手段と、
前記印刷ジョブの一覧から選択された印刷ジョブの印刷指示を前記印刷装置から受信すると、当該印刷装置の機器情報に応じて、前記印刷指示で指示された印刷ジョブのデータを前記レンダリングの結果に基づいて加工して前記印刷装置に送信する制御手段と、を有し、
前記印刷装置は、
ユーザを認証する認証手段と、
前記第１送信手段により送信された前記印刷ジョブの一覧を表示する表示手段と、
前記表示手段により表示された前記印刷ジョブの一覧から前記認証手段により認証されたユーザにより選択された印刷ジョブの前記印刷指示を前記サーバに送信する第２送信手段と、
前記制御手段により送信された加工済みの印刷ジョブのデータに基づいて前記印刷ジョブに基づく印刷を行う印刷手段と、を有することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、ユーザによる印刷指示から、印刷物が出力されるまでの時間を短くすることができるという効果がある。
【００１２】
本発明のその他の特徴及び利点は、添付図面を参照とした以下の説明により明らかになるであろう。なお、添付図面においては、同じ若しくは同様の構成には、同じ参照番号を付す。
【図面の簡単な説明】
【００１３】
添付図面は明細書に含まれ、その一部を構成し、本発明の実施形態を示し、その記述と共に本発明の原理を説明するために用いられる。
【図１】本発明の実施形態に係る画像形成装置を有する印刷システムの構成例を示す図（Ａ）と、画像形成装置のコントローラのソフトウェア構成を説明する機能ブロック図（Ｂ）。
【図２】実施形態に係る印刷システムにおける印刷処理のシーケンスの一例を説明するシーケンス図。
【図３】実施形態に係るサーバ機能を有する画像形成装置が実行する印刷ジョブの溜め置き処理を説明する図で（Ａ）は溜め置き処理の処理を説明するフローチャート（Ａ）（Ｂ）は、印刷ジョブの設定情報と文書名の一例を示す図、（Ｃ）は、書誌情報の一例を示す図。
【図４】実施形態に係るサーバ機能を有する画像形成装置が実行する先行レンダリング処理を説明するフローチャート。
【図５】実施形態に係る、実際に印刷を実行する画像形成装置が実行する、認証済のユーザが印刷指示を行ったときの処理を説明するフローチャート。
【図６】実施形態に係るサーバ機能を有する画像形成装置が実行する印刷ジョブの加工処理を説明するフローチャート。
【図７】実施形態に係る画像形成装置による第二の結合データを作成する処理（Ｓ６０７）を説明するフローチャート。
【図８】実施形態に係る画像形成装置によって作成される第二の結合データの一例を説明する図。
【図９】実施形態に係る画像形成装置による第一の結合データを作成する処理（Ｓ６０９）を説明するフローチャート。
【図１０】元のＰＤＬコマンドの構成例（Ａ）と元のＰＤＬコマンドを加工し、先行レンダリング処理の結果を埋め込むことにより作成される第一の結合データのＰＤＬコマンドの構成例（Ｂ）を説明する図。
【図１１】実施形態に係る画像形成装置による印刷処理（Ｓ５０６）を説明するフローチャート。
【発明を実施するための形態】
【００１４】
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【００１５】
図１（Ａ）は、本発明の実施形態に係る画像形成装置を有する印刷システムの構成例を示す図である。
【００１６】
画像形成装置１０１〜１０３は、ＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｒｉｎｔｅｒ）、ＳＦＰ（Ｓｉｎｇｌｅ  Ｆｕｎｃｔｉｏｎ  Ｐｒｉｎｔｅｒ）、ＬＢＰ（Ｌａｓｅｒ  Ｂｅａｍ  Ｐｒｉｎｔｅｒ）の内、いずれのプリンタであってもよい。また画像形成装置１０１〜１０３は、ＭＦＰ、ＳＦＰ、ＬＢＰ以外のプリント方式のプリンタであってもよい。また図１では画像形成装置が３つの例で示しているが、１以上の任意の数存在しても構わない。画像形成装置１０１〜１０３は、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）１０５を介して、各種指示を行うホストコンピュータ（ＰＣ）１０４と接続される。画像形成装置１０１〜１０３は、ホストコンピュータ１０４からの印刷の指示に応じて処理を実行する。また、図１に示すように複数の画像形成装置がＬＡＮ１０５を介して接続される場合は、ある画像形成装置は、他の画像形成装置から印刷ジョブを受け取り印刷を実行することができる。
【００１７】
画像形成装置１０１は、コントローラ１１０、プリント機構１１１、カードリーダ１１２、操作パネル１１３を備える。尚、画像形成装置１０２，１０３は画像形成装置１０１と同様の構成のため、その説明を省略する。
【００１８】
コントローラ１１０は、ネットワークＩ／Ｆ１２０、リーダＩ／Ｆ１２１、パネルＩ／Ｆ１２２、ＣＰＵ１２３、ＨＤＤ１２４、ＲＡＭ１２５、ＲＯＭ１２６、デバイスＩ／Ｆ１２７を有する。コントローラ１１０は更に、ＲＩＰ（ラスタイメージプロセッサ）１２８、画像処理回路１２９を備え、これらはシステムバス１３０に接続されている。ＣＰＵ１２３は、ＲＯＭ１２６に記憶されたブートプログラムによってＨＤＤ１２４に記憶されているプログラムをＲＡＭ１２５に展開し、その展開したプログラムを実行することにより画像形成装置１０１を制御する。ネットワークＩ／Ｆ１２０は、例えばＬＡＮカード等で実現され、ＬＡＮ１０５に接続して外部装置との間で情報の入出力を行う。リーダＩ／Ｆ１２１は、外部からの認証情報を受け取るカードリーダ１１２のインタフェース部であり、外部から入力された認証情報を受け取ってＣＰＵ１２３に伝える役割をする。パネルＩ／Ｆ１２２は、各種メニューや印刷ジョブの情報等を表示可能な表示画面を有する操作パネル１１３のインタフェース部であり、操作パネル１１３に対して操作画面データを出力する。またパネルＩ／Ｆ１２２は、操作パネル１１３から操作者が入力した情報をＣＰＵ１２３に伝える役割をする。ＣＰＵ１２３は、画像形成装置１０１全体を制御するための中央処理装置である。ＨＤＤ１２４は、ハードディスクドライブなどの記憶装置であり、各種処理のためのシステムソフトウェア及び入力された印刷ジョブや画像データ等を格納する。ＲＡＭ１２５は、ＣＰＵ１２３が動作するためのシステムワークメモリを提供し、入力された印刷ジョブや画像データを一時記憶するための画像メモリとしても使用される。ＲＯＭ１２６はブートＲＯＭであり、システムのブートプログラムを格納している。デバイスＩ／Ｆ１２７は、プリント機構１１１とコントローラ１１０とを接続し、画像データの同期系／非同期系の変換を行う。ＲＩＰ１２８は、印刷ジョブに含まれる描画コマンド（ＰＤＬコマンド）や中間データ（ディスプレイリスト）を解析してイメージデータに展開する。画像処理回路１２９は、印刷ジョブを解析して生成されたイメージデータに対してプリント機構１１１に応じた補正、解像度変換等の処理を行う。
【００１９】
プリント機構１１１は、コントローラ１１０の指示に従って印刷を実行する。カードリーダ１１２は、ユーザが持つＩＤカード等の情報を読み取り可能な機能を有し、ＩＤカードから読み取ったユーザ情報をコントローラ１１０へ通知する。操作パネル１１３は、コントローラ１１０より操作画面データを受け取り、受け取った画面の表示やユーザからの操作指示を受け取りコントローラ１１０へ通知する。
【００２０】
図１（Ｂ）は、コントローラ１１０のソフトウェア構成を説明する機能ブロック図である。
【００２１】
コントローラ１１０は認証部１３１、設定部１３２、書誌管理部１３３、印刷制御部１３４、ジョブ解析部１３５、先行レンダリング処理部１３６、留め置き制御部１３７、印刷実行部１３８を備える。これら各部の機能は、ＣＰＵ１２３がＨＤＤ１２４からＲＡＭ１２５に展開したプログラムを実行することにより実現される。
【００２２】
認証部１３１は、リーダＩ／Ｆ１２１よりシステムバス１３０を通じて認証情報を受け取り、留め置き制御部１３７へ通知する。設定部１３２は、パネルＩ／Ｆ１２２よりシステムバス１３０を通じて操作パネル１１３への入出力の制御を行う。書誌管理部１３３は、留め置き制御部１３７が受信した印刷ジョブや印刷ジョブに関する情報を制御する。印刷制御部１３４は、ネットワークＩ／Ｆ１２０を通じて入力された印刷指示や印刷ジョブの情報を取得し、留め置き制御部１３７や印刷実行部１３８に対して印刷ジョブの処理を指示する。ジョブ解析部１３５は、留め置き制御部１３７が受信した印刷ジョブの解析を行う。先行レンダリング処理部１３６は、留め置き制御部１３７が受信した印刷ジョブのジョブ解析部１３５による解析結果に応じて、印刷ジョブのレンダリング処理を行う。留め置き制御部１３７は、印刷制御部１３４から受け取った印刷ジョブに対して印刷ジョブの解析、管理、先行レンダリング処理の制御や印刷実行部１３８への印刷指示を行う。印刷実行部１３８は、印刷制御部１３４や留め置き制御部１３７より受け取った印刷ジョブを解析し、ＲＩＰ１２８や画像処理回路１２９を制御して画像の生成を行い、デバイスＩ／Ｆ１２７を通じてプリント機構１１１へ印刷処理を実行させる。
【００２３】
図２は、実施形態に係る印刷システムにおける印刷処理のシーケンスの一例を説明するシーケンス図である。ここでは画像形成装置１０１がサーバ機能を有し、ＰＣ１０４から印刷ジョブを受信して保存した後、ユーザが画像形成装置１０２（又は１０３）により印刷を行う例を示す。
【００２４】
先ずＳ２０１で、ユーザがＰＣ１０４にログインし、ＰＣ１０４で任意のアプリケーションを実行し、Ｓ２０２でデータの印刷を要求する。これによりＰＣ１０４は、Ｓ２０３で、そのユーザのユーザ情報を取得する。そしてＳ２０４で、その取得したユーザ情報を付与した印刷ジョブを生成し、Ｓ２０５で、その印刷ジョブがＰＣ１０４から画像形成装置１０１に送信される。
【００２５】
これにより画像形成装置１０１はＳ２０６で、その印刷ジョブを受信し、その印刷ジョブをＨＤＤ１２４に保存する。そしてＳ２０７で画像形成装置１０１は、その印刷ジョブに付与されたユーザ情報を抽出して書誌情報を作成し、Ｓ２０８で、その書誌情報をＨＤＤ１２４に保存する。こうして画像形成装置１０１は書誌情報の保存を終えるとＳ２０９で、その印刷ジョブの情報を取得する。そして画像形成装置１０１は、印刷ジョブの情報を取得すると、Ｓ２１０で先行レンダリング処理を開始し、Ｓ２１１で、その先行レンダリング処理の結果を逐次、ＨＤＤ１２４に保存する。
【００２６】
次にＳ２１２で、ユーザが画像形成装置１０２にログインすると、画像形成装置１０２はＳ２１３で、そのユーザのユーザ情報を取得する。そしてＳ２１４で、サーバ機である画像形成装置１０１に対して、そのユーザに対応する書誌情報リストの取得を要求する。これにより画像形成装置１０１は、そのユーザの書誌情報リストの要求を受けると、そのユーザの書誌情報リストをＨＤＤ１２４から読み出し、Ｓ２１５で画像形成装置１０２に送信する。これにより画像形成装置１０２は、画像形成装置１０１から書誌情報リストを受信し、Ｓ２１６で、そのユーザが発行して画像形成装置１０１に格納されている印刷ジョブの一覧を操作パネル１１３に表示する。
【００２７】
そして画像形成装置１０２は、Ｓ２１７で、そのユーザが、印刷ジョブの一覧から選択した印刷ジョブの印刷指示を受けると、Ｓ２１８で、画像形成装置１０２は画像形成装置１０２の機器情報を画像形成装置１０１に送信する。また画像形成装置１０２はＳ２１９で、そのユーザが選択した印刷ジョブを取得するために、画像形成装置１０１に対して、その印刷ジョブの取得要求を発行する。これにより画像形成装置１０１はＳ２２０で、ＨＤＤ１２４に保存している、その印刷ジョブの先行レンダリング処理の結果と印刷ジョブを、Ｓ２１８で取得した画像形成装置１０２の機器情報を基に加工する。そしてＳ２２１で画像形成装置１０１は、先行レンダリング処理結果が付加された加工済みの印刷ジョブを画像形成装置１０２へ送信する。これにより画像形成装置１０２はＳ２２２で、先行レンダリング処理の結果が付加された加工済みの印刷ジョブの仕上げのレンダリング処理を行い、Ｓ２２３で、そのレンダリング処理の結果に基づいて印刷を実行する。
【００２８】
図３は、実施形態に係る画像形成装置１０１が実行する印刷ジョブの溜め置き処理を説明する図である。
【００２９】
図３（Ａ）は、画像形成装置１０１による印刷ジョブの溜め置き処理を説明するフローチャートである。図３（Ｂ）は、画像形成装置１０１が受信する印刷ジョブのデータ構成例を説明する図である。図３（Ｃ）は、画像形成装置１０１のＨＤＤ１２４に登録された書誌情報の一例を説明する図である。尚、図３（Ａ）のフローチャートで示す処理は、画像形成装置１０１のＣＰＵ１２３がＨＤＤ１２４からＲＡＭ１２５に展開したプログラムを実行することにより達成される。
【００３０】
まずＳ３０１で画像形成装置１０１のＣＰＵ１２３は、ネットワークＩ／Ｆ１２０を通じてＰＣ１０４などから送信された印刷ジョブを受け取る。この印刷ジョブは、例えば図３（Ｂ）に示すようなデータ構成であり、データの最初に各種設定情報を含むヘッダ情報を持ち、その後に各ページのデータ（ＰＤＬデータ）が含まれる構成となっている。各ページの情報内のＰ１，Ｌｉｎｅ１，Ｔｅｘｔ１などは、ページを構成するための描画コマンドの例を示す。
【００３１】
次にＳ３０２に進みＣＰＵ１２３は、受信した印刷ジョブに含まれるユーザ情報を取得する。図３（Ｂ）の例では、ユーザ情報は「ユーザ名：ユーザＡ」で示されるが、このユーザ情報は印刷ジョブのヘッダ情報に含まれていなくても、送信元のＰＣ１０４からユーザ情報を別途送る構成でも構わない。またユーザ情報は、ユーザ名やユーザＩＤなど、印刷を指示したユーザを特定できる識別情報であれば何でも良い。
【００３２】
次にＳ３０３に進みＣＰＵ１２３は、受信した印刷ジョブに含まれる印刷設定情報と文書名とを取得する。この印刷設定情報には、例えば片面印刷か両面印刷かを示す情報、カラーで印刷か、モノクロ印刷かを示す情報、用紙サイズに関する情報などが含まれる。図３（Ｂ）は一例であり、印刷設定情報の一部が無い印刷データであっても良く、その場合は、ＨＤＤ１２４やＲＯＭ１２６に登録されている初期設定値とするか、画像形成装置１０２で印刷を実行するときに、そのユーザが設定する構成であっても構わない。
【００３３】
次にＳ３０４に進みＣＰＵ１２３は、Ｓ３０２で取得したユーザ情報と、Ｓ３０３で取得した印刷設定情報と文書名とを関連付ける。そして、これら関連付けられた情報を、一レコードとして、そのユーザ情報に対応する書誌情報に追加する。図３（Ｃ）は、「ユーザＡ」の書誌情報の一例を示す図である。
【００３４】
次にＳ３０５に進みＣＰＵ１２３は、Ｓ３０７において、一レコードが追加された書誌情報をＨＤＤ１２４に登録する。また受信した印刷ジョブを、今回追加された一レコードに対応する印刷ジョブとしてＨＤＤ１２４に保存する。次にＳ３０６に進みＣＰＵ１２３は、印刷ジョブの情報としてＰＤＬ種を取得する。ＰＤＬ種とは、送られてきた印刷ジョブが、どのＰＤＬに基づいて記述されているかを示す。例えば、ＰＤＬ種としては、ＰＳ，ＰＤＦ，ＬＩＰＳ ＬＸ，ＰＣＬ ６などがある。印刷ジョブの情報としては、ＰＤＬ種だけでなく、その印刷ジョブの作成に使用された機種ドライバの情報などの印刷データに関わる情報であれば構わない。
【００３５】
以上の処理により、ＰＣ１０４から受信した印刷ジョブが、画像形成装置１０１に留め置かれた状態となる。
【００３６】
図４は、実施形態に係る画像形成装置１０１が実行する先行レンダリング処理を説明するフローチャートである。この先行レンダリング処理は、図３のフローチャートを参照して説明した印刷ジョブ溜め置き処理により印刷ジョブがＨＤＤ１２４に留め置かれた後に実行される。尚、この処理は、画像形成装置１０１のＣＰＵ１２３がＨＤＤ１２４からＲＡＭ１２５に展開したプログラムを実行することにより達成される。
【００３７】
まずＳ４０１でＣＰＵ１２３は、ＨＤＤ１２４に留め置かれた印刷ジョブの一つに対して、その印刷ジョブに含まれる各ページのレンダリング処理に要する時間を予測する。ここでの予測方法は、その印刷ジョブのデータ量や、その印刷ジョブに含まれるＰＤＬコマンドの内容など、レンダリング処理に要する時間を推測できる方法であれば特に限定しない。次にＳ４０２に進みＣＰＵ１２３は、Ｓ４０１の予測の結果、その印刷ジョブに含まれるページの内、レンダリング処理に所定の時間よりも長い時間を要すると予測されるページを、先行してレンダリング処理が必要なページと判定する。例えば図３（Ｃ）の例では、「ジョブＩＤ：１」の文書１のレンダリング予測時間に基づいて、レンダリング処理に要する時間が長いページが１ページと９ページであると判定する。図３（Ｃ)において、文書１のレンダリング予測時間として、１ページ目が１２．８秒、２ページ目が１．１秒、９ページ目が１１．７秒、１０ページ目が０．６秒が登録されている。また「先行処理情報」は、先行レンダリングが完了しているか否かと、その先行レンダリングの結果を格納しているフォルダの情報を登録している。
【００３８】
尚、先行してレンダリング処理が必要なページの判定は、印刷を行う画像形成装置の印刷スピードに基づいて判定しても良く、或いは、先行レンダリング処理部が保持している閾値により判定しても良い。また或いは、レンダリングが必要な全ページを、先行してレンダリング処理が必要なページと判定しても良い。
【００３９】
次にＳ４０３に進みＣＰＵ１２３は、Ｓ４０２の判定の結果、先行してレンダリング処理が必要なページが存在しているかどうか判定する。ここで先行してレンダリング処理が必要なページがあると判定するとＳ４０４へ進み、そうでないときは、この処理を終了する。Ｓ４０４でＣＰＵ１２３は、Ｓ４０２で先行してレンダリング処理が必要と判定されたページのレンダリング処理を行って画像データを生成する。このとき、先行してレンダリング処理が必要と判定されたページが複数ある場合は、印刷ジョブのページ順に実行しても良いし、レンダリング処理に、より多くの時間を要するページから実行しても良い。また或いは、レンダリング処理に、より時間を要しないページから実行しても良い。
【００４０】
次にＳ４０５に進みＣＰＵ１２３は、Ｓ４０４で生成したレンダリング処理の結果である画像データをＨＤＤ１２４に保存する。このとき記憶した画像データは、先行レンダリング処理した印刷ジョブに関連付いている書誌情報に関連付けられる。次にＳ４０６に進みＣＰＵ１２３は、Ｓ４０５で保存した、先行レンダリング処理の結果に書誌情報を付加する。例えば図３（Ｃ）の書誌情報中の先行処理情報に示すように、先行レンダリング処理が済んでいるかどうかを示す情報と、先行レンダリング処理の結果がどこに記憶されているかの情報（フォルダ情報）を付加する。
【００４１】
次にＳ４０７に進みＣＰＵ１２３は、Ｓ４０２で先行してレンダリング処理が必要と判定されたページの全てのレンダリング処理が完了したか否かを判定する。ここで全ページのレンダリング処理が完了していると判定すると、この処理を終了し、そうでなければＳ４０８へ進む。Ｓ４０８でＣＰＵ１２３は、レンダリング処理を実行している印刷ジョブと紐付くユーザからの認証指示があるか否かを判定する。ここで認証指示が無いと判定するとＳ４０４に進むが、認証指示があると判定すると、先行してレンダリング処理が必要と判定したページの内の残りのページのレンダリング処理をキャンセルして、この処理を終了する。その後の認証指示後の処理については後述する。
【００４２】
この処理により、画像形成装置１０１に留め置かれている印刷ジョブの内、レンダリング処理に要する時間が長いと判定されたページが事前にレンダリングされて保存される。また、この先行レンダリング処理の途中で、その印刷ジョブを保存させたユーザが認証しようとすると、その印刷ジョブのレンダリング処理を中断して、ユーザの印刷指示を優先させる。これにより、ユーザの使い勝手を良くすることができる。
【００４３】
図５は、実施形態に係る画像形成装置１０２（１０３）が実行する、認証済のユーザが印刷指示を行ったときの処理を説明するフローチャートである。この処理は、図４で示す処理により、印刷ジョブと先行レンダリング処理の結果が画像形成装置１０１のＨＤＤ１２４に保存された後に実行される。これは例えば、図２の例ではＳ２１２以降で、画像形成装置１０２（又は１０３）で実行される処理である。尚、この処理は、画像形成装置１０２（又は１０３）のＣＰＵ１２３がＨＤＤ１２４からＲＡＭ１２５に展開したプログラムを実行することにより達成される。尚、ここでは画像形成装置１０２による処理として説明する。
【００４４】
まずＳ５０１で画像形成装置１０２のＣＰＵ１２３が、ユーザが持つＩＤカードがカードリーダ１１２にかざされることにより、カードリーダ１１２がＩＤカードから読み取ったユーザ情報をリーダＩ／Ｆ１２１を通じて受け取る。尚、ここでは、カードリーダ１１２が、ユーザが持つＩＤカードからユーザ情報を読み取る例を記載したが、例えばユーザが、操作パネル１１３等からユーザ情報とパスワードを入力してユーザ認証を行う方式など公知の認証方法を用いても構わない。次にＳ５０２に進みＣＰＵ１２３は、Ｓ５０１で取得したユーザ情報に対応する書誌情報を有する印刷ジョブのリストを画像形成装置１０１に要求する。つぎにＳ５０３に進みＣＰＵ１２３は、画像形成装置１０１から、そのユーザに対応する印刷ジョブのリストを受信し、パネルＩ／Ｆ１２２を通じて操作パネル１１３へ、その印刷ジョブに一覧を表示する。
【００４５】
次にＳ５０４に進みＣＰＵ１２３は、操作パネル１１３を介して、その認証済のユーザから印刷指示を受取ったかどうか判定し、印刷指示を受取ったと判定するとＳ５０５へ進む。一方、Ｓ５０４で印刷指示を受取らないときはＳ５０７に進み、ＣＰＵ１２３は、そのユーザからの指示に応じた処理を実行して、この処理を終了する。
【００４６】
Ｓ５０５でＣＰＵ１２３は、画像形成装置１０２自身の機種情報をネットワークＩ／Ｆ１２０を介して、前述の先行レンダリング処理の結果を保存している画像形成装置１０１へ送信する。これにより画像形成装置１０１は、この画像形成装置１０２の機種情報を用いて、そのレンダリング処理済の画像データに加工処理を行う。ここでの画像形成装置１０１の印刷ジョブ加工処理の詳細については後述する。そしてＳ５０６に進みＣＰＵ１２３は、画像形成装置１０１より、その加工処理済の印刷ジョブのレンダリング処理の結果を受取って印刷を実行する。この印刷処理について詳細は後述する。
【００４７】
図６は、実施形態に係る画像形成装置１０１が実行する印刷ジョブの加工処理を説明するフローチャートである。この加工処理は、画像形成装置１０２からユーザによる印刷指示を受取った後に、印刷ジョブと先行レンダリング処理によりＨＤＤ１２４に保存されたレンダリング理結果とを加工する処理である。ここでは画像形成装置１０１で実行される処理として説明する。この処理は、画像形成装置１０１のＣＰＵ１２３がＨＤＤ１２４からＲＡＭ１２５に展開したプログラムを実行することにより達成される。
【００４８】
まずＳ６０１でＣＰＵ１２３は、他の画像形成装置（ここでは画像形成装置１０２）からユーザからの印刷指示を受信するとＳ６０２に進むが、そうでなくて、ユーザが認証状態を解除すると、この処理を終了する。Ｓ６０２でＣＰＵ１２３は、ネットワークＩ／Ｆ１２０を通じてユーザがログインした装置（ここでは画像形成装置１０２）の機種情報を取得する。次にＳ６０３に進みＣＰＵ１２３は、印刷指示を受けた対象の印刷ジョブが、先行レンダリング処理済みか否か判定する。ここで先行レンダリング処理済みであると判定するとＳ６０４へ進み、そうでないときはＳ６１０へ進む。
【００４９】
Ｓ６０４でＣＰＵ１２３は、その印刷ジョブの全ページを先行レンダリング処理済みかどうか判定する。ここで全ページが先行レンダリング処理済みと判定するとＳ６０５に進み、そうでなければＳ６０６へ進む。Ｓ６０５でＣＰＵ１２３は、元の印刷ジョブのデータを使用せずに、ユーザがログインしている画像形成装置１０２で処理可能なＰＤＬ（例えば、ＰＳ，ＰＤＦ，ＬＩＰＳ ＬＸ，ＰＣＬ ６等）で先行レンダリング処理した結果を包含する印刷ジョブを作成する。そしてＳ６１１に進み、先行レンダリング処理した結果を包含する印刷ジョブを画像形成装置１０２に送信する。
【００５０】
このように印刷ジョブの全ページが先行レンダリング処理済みの場合、全ページのレンダリング結果が存在するため、元の印刷ジョブと結合する必要はない。そのためＳ６０５では、処理可能なＰＤＬで先行レンダリング処理した結果を包む処理だけで済む。これにより、元の印刷ジョブと先行レンダリング処理の結果を結合する処理負荷を軽減することが可能になる。
【００５１】
Ｓ６０６でＣＰＵ１２３は、Ｓ６０２で取得した画像形成装置１０２の機種情報を基に、ユーザがログインした画像形成装置１０２で第二の結合データ（新たなデータ形式の印刷ジョブ）が処理可能かを判定する。尚、ここで機種情報は、その機器のバージョン情報など第二の結合データに対応しているかを判定できる情報であれば構わない。ここで、対応している機種と対応していない機種の違いについては後述する。Ｓ６０６でＣＰＵ１２３は、画像形成装置１０２が、第二の結合データを処理可能であると判定するとＳ６０７に進み、処理不可能と判定するとＳ６０８へ進む。Ｓ６０７でＣＰＵ１２３は、元の印刷ジョブと先行レンダリング処理の結果を利用して第二の結合データを作成してＳ６１１に進み、その作成した第二の結合データを画像形成装置１０２に送信して、この処理を終了する。尚、この第二の結合データ作成後、元の印刷ジョブは保持しておいても構わないし、削除しても構わない。第二の結合データの構造と作成方法については後述する。
【００５２】
一方、Ｓ６０６で画像形成装置１０２が第二の結合データを処理可能でないときはＳ６０８に進みＣＰＵ１２３は、保存されている印刷ジョブが、第一の結合データ（旧来のデータ形式の印刷ジョブ）を作成可能なＰＤＬ種であるか否かを判定する。実施形態では、第一の結合データを作成可能なＰＤＬ種は、例えばＬＩＰＳ ＬＸ，ＰＣＬ６とする。尚、画像形成装置の種類により、第一の結合データを作成可能なＰＤＬ種は、ＰＤＦなどの他の言語であっても構わない。Ｓ６０８で第一の結合データを作成可能なＰＤＬ種であると判定するとＳ６０９に進み、そうでないときはＳ６１０へ進む。Ｓ６０９でＣＰＵ１２３は、元の印刷ジョブと、先行レンダリング処理の結果とを用いて、第一の結合データを作成してＳ６１１に進む。尚、ここでは第一の結合データ作成した後、元の印刷ジョブは保持しておいても構わないし、削除しても構わない。この第一の結合データの構造と作成方法については後述する。
【００５３】
Ｓ６０８で第一の結合データを作成可能なＰＤＬ種でないときはＳ６１０に進みＣＰＵ１２３は、元の印刷ジョブに対して加工処理を行わない。そのため、印刷には元の印刷ジョブを利用してＳ６１１に進む。
【００５４】
Ｓ６１１でＣＰＵ１２３は、作成されたデータがあれば作成されたデータを、なければ元の印刷ジョブをネットワークＩ／Ｆ１２０を介して、ユーザがログインしている画像形成装置１０２に送信して、この処理を終了する。
【００５５】
以上説明したようにこの処理によれば、印刷ジョブを保管している画像形成装置は、先行レンダリング処理の結果と、印刷ジョブの転送先の機器の機種情報（能力）に応じて、レンダリング処理済の印刷ジョブを送信することができる。
【００５６】
図７は、実施形態に係る画像形成装置１０１による第二の結合データを作成する処理（Ｓ６０７）を説明するフローチャートである。
【００５７】
図８は、実施形態に係る画像形成装置１０１によって作成される第二の結合データの一例を説明する図である。図８では、前述の図３で説明したように、レンダリングが必要と判定した１ページ目と９ページ目を先行してレンダリング処理しており、他のページはＰＤＬデータのままである。
【００５８】
まずＳ７０１で画像形成装置１０１のＣＰＵ１２３は、ＰＤＬデータに先行レンダリング処理の結果を付与する処理を開始する際、識別子情報（図８の８０１）を付加する。この識別子の情報は、先行レンダリング処理の結果が付与されている情報を示すものであり、文字列、或いは数値等を含む、コントローラ１１０が識別可能なものであれば構わない。次にＳ７０２に進みＣＰＵ１２３は、Ｓ７０１で付加された識別子情報に続いて先行レンダリング処理情報（図８の８０２）を付加する。この先行レンダリング処理情報は、先行レンダリング処理の結果全体のデータサイズ、対象の印刷ジョブの総ページ数、先行レンダリング処理されているページ１，９の情報等を含む。データサイズや先行レンダリング処理の結果の情報を示すインデックス情報など、後述の処理を行った後で無いとわからないものに関しては情報を格納する領域だけ確保しておき、後述の処理後に情報の更新を行う。尚、図の８０２に示した情報の構成はあくまでも一例であり、先行レンダリング処理の結果情報を解析するのに必要な情報が揃っていればどのような構成でも構わない。
【００５９】
次にＳ７０３に進みＣＰＵ１２３は、Ｓ７０２で付加された先行レンダリング処理情報に続いて、先行レンダリング処理結果の情報（図８の８０３）を付加する。ここでは、先行レンダリング処理のページ数を示すもの、フォーマットを示すもの、先行レンダリング処理結果の情報を示すものを１つのセットとして情報を付加していく。図８の８０３の例では、最初に１ページ目の先行レンダリング処理結果の情報を付加していて、先行レンダリング処理の結果であるイメージデータを情報として付加している。そして次に９ページ目の先行レンダリング処理結果の情報を付加している。
【００６０】
そしてＳ７０４に進みＣＰＵ１２３は、先行レンダリング処理済みの全ページの情報を付加したかどうかを判定する。ここで全ページの情報を付加していないときはＳ７０３に進み、全ページの情報を処理するまでＳ７０３，Ｓ７０４の処理を繰り返し、全ページの情報を処理を終了するとＳ７０５へ進む。Ｓ７０５でＣＰＵ１２３は、Ｓ７０２で作成した先行レンダリング処理の情報を更新する。ここでは、先行レンダリング処理の全体のデータサイズや先行レンダリング処理の情報を指し示すインデックス情報など、予め確保しておいた領域に処理終了後の情報を上書きする。次にＳ７０６に進みＣＰＵ１２３は、Ｓ７０５までに作成した先行レンダリング処理の結果（８０１、８０２、８０３）に続いて、その印刷ジョブのＰＤＬデータ（８０４）を付加する。ここでは図８の８０４に示すように、各ページのＰＤＬデータは、加工することなく元の状態で付加している。こうして第二の結合データの生成が完了すると、この処理を終了する。
【００６１】
従って、この第二の結合データを受信した画像形成装置１０２は、レンダリングリン済みのページ（１，９）は、そのイメージデータに基づいて印刷を実行できる。またレンダリングリン済でないページ（２〜８，１０）は、そのページのＰＤＬデータをレンダリングすることにより印刷を実行できる。
【００６２】
図９は、実施形態に係る画像形成装置１０１による第一の結合データを作成する処理（Ｓ６０９）を説明するフローチャートである。
【００６３】
図１０は、元のＰＤＬコマンドの構成例（図１０（Ａ））と元のＰＤＬコマンドを加工し、先行レンダリング処理の結果を埋め込むことにより作成される第一の結合データのＰＤＬコマンドの構成例（図１０（Ｂ））を説明する図である。
【００６４】
図１０において、ＰＤＬコマンドの構成は、ＰＤＬの言語仕様に基づいて予め定義されたコマンド群１００１，１００３と、各コマンドに付加されて指示内容を規定し、或いは描画データの詳細を示すパラメータ群１００２，１００４とを含む。パラメータ群１００２，１００４には、ＰＤＬ言語仕様に基づいて、各コマンドに必須の項目や、初期値が決まっていて必要に応じて付加すればよい項目などが存在する。
【００６５】
またＰＤＬコマンドは、基本的に階層構造となっており、まず、印刷ジョブの開始、及び終了を示すコマンド「ＢｅｇｉｎＪｏｂ」１０１１と、コマンド「ＥｎｄＪｏｂ」１０１４がある。印刷ジョブの開始、及び終了を示すコマンドの中に、各ページの開始、及び終了を示すページ開始コマンド「ＢｅｇｉｎＰａｇｅ」１０１２と、ページ終了コマンド「ＥｎｄＰａｇｅ」１０１３が対となってページ数分含まれている。そして、各ページ構造内に、各種描画処理に用いるコマンド群１０２０（１０２１〜１０２６）、１０３０（１０３１〜１０３３）が含まれている構造となっている。
【００６６】
描画処理に用いるコマンドの中には、描画コマンドとリソース制御コマンドなどがある。描画コマンドには、「ＤｒａｗＲｅｃｔ」１０２６等のグラフィック描画コマンドや、「ＤｒａｗＣｈａｒ」１０２５のような文字描画コマンドがある。またイメージ描画コマンドは、「ＢｅｇｉｎＩｍａｇｅ」１０３１、「ＲｅａｄＩｍａｇｅ」１０３２、「ＥｎｄＩｍａｇｅ」１０３３の３つのコマンドがセットになっており、これら３つのコマンドで１枚のイメージを表現することが可能である。これらの描画コマンドは、各ページでの描画に用いられる。リソース制御コマンドには、フォントを指定するためのＩＤや共通データであるフォントヘッダをパラメータとする「ＤｏｗｎｌｏａｄＦｏｎｔ」１０２１、文字単位のフォントデータを登録する「ＤｏｗｎｌｏａｄＣｈａｒ」１０２２〜１０２４等が含まれる。「ＤｏｗｎｌｏａｄＣｈａｒ」は、文字を特定するためのＣｈａｒＩＤ、及びグリフ形状を表現したパターンデータをパラメータとして持つ。このようなリソース制御コマンドによって登録されたコマンドは、コマンドにより明確に削除指示がなされるか、ジョブ終了コマンドが発行されるまでの間、複数のページにまたがって有効となる（リソース継承レベルがジョブ）コマンドがある。
【００６７】
このようにＰＤＬコマンドの構造は、基本的に階層構造となっているが、ページをまたがって利用されるコマンドも存在する。
【００６８】
次に図９のフローチャートを説明する。
【００６９】
先ずＳ９０１で画像形成装置１０１のＣＰＵ１２３は、保存されているＰＤＬデータ（図１０（Ａ））と書誌情報を取得する。次にＳ９０２に進みＣＰＵ１２３は、Ｓ９０１で取得した書誌情報に基づいて、取得したＰＤＬデータに、先行レンダリング処理済みのページが存在するかを判定する。ここで先行レンダリング処理済みのページが無いと判定するとこの処理を終了し、先行レンダリング処理済みのページがあると判定するとＳ９０３へ進む。Ｓ９０３でＣＰＵ１２３は、対象ページのコマンドを解析し、読み込みページ内の描画コマンド群１０２０（１０２１〜１０２６）を削除する。そして、対象ページの先行レンダリング処理の結果をイメージ描画コマンド１０３０（１０３１〜１０３３）に変換する。ここでは、読み込みページ内の描画コマンドを、イメージ描画コマンド１０３０で置き換える。図１０（Ｂ）の例では、１ページのデータであるため、元の描画コマンド群をすべて削除したが、元の描画コマンド群の中にはリソース継承レベルがジョブのリソース制御コマンドも含まれている。複数ページの印刷ジョブの場合、複数ページにまたがってこのリソース制御コマンドが利用されるならばリソース制御コマンドを残す。この際、リソース制御コマンドは、複数ページにまたがって利用されるかに関わらず残すようにしてもよいし、読み込みページのみでしか利用されないのであれば削除するといった構成でも構わない。
【００７０】
次にＳ９０４に進みＣＰＵ１２３は、先行レンダリング処理済みのページを全ページ加工したかを判定する。ここで全ページの加工が完了していないと判定するとＳ９０３に進み、全ページの加工が完了したと判定するとＳ９０５へ進む。Ｓ９０５でＣＰＵ１２３は、元のＰＤＬデータを、先行レンダリング処理の結果に差し替えた第一の結合データを取得して、この処理を終える。
【００７１】
図１１は、実施形態に係る画像形成装置１０２による印刷処理（Ｓ５０６）を説明するフローチャートである。図１１（Ａ）は、第二の結合データに対応している画像形成装置による印刷処理を示し、図１１（Ｂ）は、第二の結合データに対応していない画像形成装置による印刷処理を示している。この処理は、画像形成装置１０２のＣＰＵ１２３がＨＤＤ１２４からＲＡＭ１２５に展開したプログラムを実行することにより達成される。
【００７２】
先ず図１１（Ａ）のフローチャートを説明する。まずＳ１１０１でＣＰＵ１２３は、ユーザから印刷ジョブリストに表示している印刷ジョブに対して印刷指示があったか否か判定する。印刷指示があればＳ１１０２へ進み、印刷指示が無くユーザが認証状態を解除すると、この処理を終了する。Ｓ１１０２でＣＰＵ１２３は、Ｓ１１０１においてユーザから印刷指示があった対象の印刷ジョブを、サーバ機能を有する画像形成装置（ここでは画像形成装置１０１）に要求して、その印刷ジョブを取得する。次にＳ１１０３に進みＣＰＵ１２３は、その受信した印刷ジョブの識別子を解析する。次にＳ１１０４に進みＣＰＵ１２３は、印刷ジョブの識別子の解析結果を基に、取得した印刷ジョブが先行レンダリング処理済の印刷ジョブか否か判定する。ここで、先行レンダリング処理を実施していない印刷ジョブであると判定するとＳ１１０５へ進み、先行レンダリング処理済の印刷ジョブであると判定するとＳ１１０６へ進む。Ｓ１１０５でＣＰＵ１２３は、先行レンダリング処理を実施していない印刷ジョブの全ページに対してＲＩＰ１２８にレンダリング処理を実行させて、各ページの画像データを生成してＳ１１１１に処理を進める。
【００７３】
一方、Ｓ１１０６でＣＰＵ１２３は、印刷ジョブの先頭ページから順に、先行レンダリング処理済のページか否か判定する。ここで先行レンダリング処理を実施したページでなければＳ１１０７へ処理を進め、先行レンダリング処理を実施したページであるときはＳ１１０８へ進む。Ｓ１１０７でＣＰＵ１２３は、先行レンダリング処理を実施していないページのＰＤＬコマンドを解析し、ＲＩＰ１２８にレンダリング処理を実行させて画像データを生成してＳ１１１０に進む。またＳ１１０８でＣＰＵ１２３は、先行レンダリング処理を実施したページのＰＤＬコマンドの解析をスキップする。そしてＳ１１０９に進みＣＰＵ１２３は、先行レンダリング処理を実施したページの画像データを利用してＳ１１１０に進む。Ｓ１１１０でＣＰＵ１２３は、その印刷ジョブの全ページのレンダリング処理を終了したかどうか判定し、全ページのレンダリング処理を終了するとＳ１１１１へ進み、そうでないときはＳ１１０６へ進む。Ｓ１１１１でＣＰＵ１２３は、生成された画像データを画像処理回路１２９で画像補正をした後、デバイスＩ／Ｆ１２７を通じてプリント機構１１１へ転送して印刷を実行させる。これにより印刷物が出力され本処理を終了する。
【００７４】
次に図１１（Ｂ）のフローチャートを説明する。
【００７５】
まずＳ１１２１でＣＰＵ１２３は、ユーザから印刷ジョブリストに表示している印刷ジョブに対して印刷指示があったかを判定する。ここで印刷指示があると判定するとＳ１１２２へ進み、印刷指示が無くて、ユーザが認証状態を解除すると、この処理を終了する。Ｓ１１２２でＣＰＵ１２３は、Ｓ１１２１でユーザから印刷指示があった対象の印刷ジョブを、サーバ機能を有する画像形成装置（ここでは画像形成装置１０１）に要求して、その印刷ジョブを受信する。次にＳ１１２３に進みＣＰＵ１２３は、受信した印刷ジョブのＰＤＬコマンドを解析し、ＲＩＰ１２８にレンダリング処理を実行させて画像データを生成してＳ１１２４に処理を進める。ここで印刷ジョブが第一の結合データであった場合、旧来のデータ形式を維持、即ち、元の描画コマンド群が、先行レンダリング処理の結果であるイメージ描画コマンドに置換されている。このため、先行レンダリング処理済みであるかどうかを意識せずに処理することが可能である。
【００７６】
また、印刷ジョブが第一の結合データであった場合、先行レンダリング処理済みのページは、元のＰＤＬコマンドが画像データに置き換わっているので、ＰＤＬコマンドの解析、レンダリング処理は省略される。これにより、実際に印刷を実行する画像形成装置における印刷時間を短縮することが可能となる。
【００７７】
そしてＳ１１２４に進みＣＰＵ１２３は、Ｓ１１２３で生成された画像データを画像処理回路１２９で画像補正をした後、デバイスＩ／Ｆ１２７を通じてプリント機構１１１へ転送して印刷を実行させる。これにより印刷物が出力されて、この処理を終了する。
【００７８】
図１１（Ｂ）の処理で第二の結合データを処理できない理由は、図１１（Ａ）の処理のＳ１１０３，Ｓ１１０４，Ｓ１１０６の印刷ジョブの識別子の解析、先行レンダリング処理を実施した印刷ジョブに対する処理を切り替える機能を備えていないためである。そのため、識別子や画像データが付加された第二の結合データは、図１１（Ｂ）のフローチャートでは処理できない。
【００７９】
以上説明したように実施形態によれば、サーバ機能を有する画像形成装置に印刷ジョブが蓄積されているときに、その印刷ジョブに対して先行レンダリング処理を行う。これにより印刷時間を短縮できる。
【００８０】
また印刷ジョブの転送を要求した画像形成装置が印刷できるように、印刷ジョブを要求してきた画像形成装置の情報や、印刷ジョブの情報を基に、先行レンダリング処理の結果を使用して印刷ジョブを加工して送信できる。
【００８１】
また新たなデータ形式に対応した画像形成装置に対しては、新たなデータ形式の印刷ジョブを加工して作成して送信できる。また新たなデータ形式に非対応の画像形成装置には、従来のデータ形式で、元の印刷ジョブに、先行レンダリング処理の結果を反映させて送信することができる。
【００８２】
これにより、異なる機能を有する複数種の画像形成装置が共存している環境であっても、先行レンダリング処理された印刷ジョブを、その印刷ジョブを要求した画像形成装置で印刷させることができ、印刷処理の効率化を図ることができる。
【００８３】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００８４】
本発明は上記実施形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、本発明の範囲を公にするために、以下の請求項を添付する。
【符号の説明】
【００８５】
１０１〜１０３…画像形成装置、１０４…ホストコンピュータ（ＰＣ）、１３６…先行レンダリング処理部、１３７…留め置き制御部
【図１】
2018206311.tif 000003
【図２】
2018206311.tif 000004
【図３】
2018206311.tif 000005
【図４】
2018206311.tif 000006
【図５】
2018206311.tif 000007
【図６】
2018206311.tif 000008
【図７】
2018206311.tif 000009
【図８】
2018206311.tif 000010
【図９】
2018206311.tif 000011
【図１０】
2018206311.tif 000012
【図１１】
2018206311.tif 000013