(57)【要約】【課題】蓄積された印刷ジョブの印刷設定が変更された場合に、印刷指示前のレンダリング処理で生成された画像データを印刷に使用するか否かを適切に制御する技術を提供する。【解決手段】印刷装置１０１は、ＰＣ１０４から受信して保存した印刷ジョブの実行指示をユーザから受ける前に、当該印刷ジョブにおける特定のページの先行レンダリング処理を行って画像データを生成する。印刷装置１０１は、ログインしたユーザによって印刷設定が変更されると、印刷ジョブにおける、先行レンダリング処理が行われたページのタイプを特定する。印刷装置１０１は、ユーザから印刷指示を受けると、変更された印刷設定に従って印刷ジョブを実行する。その際、印刷装置１０１は、変更された印刷設定と、特定したページタイプとに基づいて、先行レンダリング処理が行われたページの印刷に、先行レンダリング処理で生成された画像データを使用するか否かを決定する。【選択図】図２
2019093559.tif 000002
【特許請求の範囲】
【請求項１】
外部装置から受信した印刷ジョブを保存する保存手段と、
前記保存手段によって保存された前記印刷ジョブの実行指示をユーザから受ける前に、当該印刷ジョブにおける特定のページのレンダリング処理を行って画像データを生成する処理手段と、
前記印刷ジョブに適用する印刷設定の入力をユーザから受け付ける受け付け手段と、
前記印刷ジョブにおける前記特定のページのページタイプを特定する特定手段と、
ユーザから前記実行指示を受けると、入力された前記印刷設定に従って前記印刷ジョブを実行する実行手段であって、入力された前記印刷設定と、前記特定手段によって特定された前記ページタイプとに基づいて、前記特定のページの印刷に、前記処理手段によって生成された画像データを使用するか否かを決定する、前記実行手段と、
を備えることを特徴とする画像形成装置。
【請求項２】
前記実行手段は、
前記処理手段によって生成された画像データを使用する場合には、当該画像データに基づいて前記特定のページの画像を印刷し、
前記処理手段によって生成された画像データを使用しない場合には、前記印刷ジョブに含まれる印刷データを用いて前記特定のページのレンダリング処理を行い、生成された画像データに基づいて前記特定のページの画像を印刷する
ことを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記特定手段は、前記印刷ジョブにおける前記特定のページの印刷データに含まれる描画コマンドに基づいて、前記ページタイプを特定する
ことを特徴とする請求項１又は２に記載の画像形成装置。
【請求項４】
前記特定手段は、前記印刷ジョブにおける前記特定のページの印刷データに含まれる所定の描画コマンドの数に基づいて、前記ページタイプを特定する
ことを特徴とする請求項１から３のいずれか１項に記載の画像形成装置。
【請求項５】
前記実行手段は、前記印刷設定が、画像の変倍処理を行うことを必要とする印刷設定である場合において、
前記特定のページが、所定の描画コマンドを用いて画像データが生成されるタイプのページであるときには、前記処理手段によって生成された画像データを使用せず、
前記特定のページが、前記所定の描画コマンドを用いずに画像データが生成されるタイプのページであるときには、前記処理手段によって生成された画像データを使用する
ことを特徴とする請求項１から４のいずれか１項に記載の画像形成装置。
【請求項６】
前記所定の描画コマンドは、所定の線幅よりも細いラインを描画するコマンドと、スケーラブルフォント形式のテキストを描画するコマンドとの少なくとも１つを含む
ことを特徴とする請求項４又は５に記載の画像形成装置。
【請求項７】
前記特定手段は、前記印刷ジョブにおける前記特定のページの印刷データに含まれる、スケーラブルフォント形式のテキストを描画するコマンドと、当該コマンドにより描画されるテキストのサイズとに基づいて、前記ページタイプを特定する
ことを特徴とする請求項１から４のいずれか１項に記載の画像形成装置。
【請求項８】
前記実行手段は、前記特定のページが、前記所定の描画コマンドを用いて画像データが生成されるタイプのページであっても、前記変倍処理における変倍率が所定の範囲内であれば、前記処理手段によって生成された画像データを使用する
ことを特徴とする請求項５に記載の画像形成装置。
【請求項９】
前記特定手段は、前記印刷ジョブで使用されているページ記述言語のタイプを、前記ページタイプとして特定する
ことを特徴とする請求項１又は２に記載の画像形成装置。
【請求項１０】
前記処理手段は、更に、前記レンダリング処理で生成された画像データにおける画素単位のオブジェクト属性を示すオブジェクト属性情報を生成し、
前記特定手段は、前記処理手段によって生成されたオブジェクト属性情報に基づいて、前記ページタイプを特定する
ことを特徴とする請求項１から９のいずれか１項に記載の画像形成装置。
【請求項１１】
前記印刷ジョブの各ページのレンダリング処理に要する時間を予測する予測手段を更に備え、
前記処理手段は、前記予測手段によって予測された時間が閾値を上回るページについて、前記実行指示を受ける前にレンダリング処理を行う
ことを特徴とする請求項１から１０のいずれか１項に記載の画像形成装置。
【請求項１２】
画像形成装置の制御方法であって、
外部装置から受信した印刷ジョブを保存する保存工程と、
前記保存工程で保存された前記印刷ジョブの実行指示をユーザから受ける前に、当該印刷ジョブにおける特定のページのレンダリング処理を行う処理工程と、
前記印刷ジョブに適用する印刷設定の入力をユーザから受け付ける受け付け工程と、
前記印刷ジョブにおける前記特定のページのページタイプを特定する特定工程と、
ユーザから前記実行指示を受けると、入力された前記印刷設定に従って前記印刷ジョブを実行する実行工程であって、入力された前記印刷設定と、前記特定工程で特定された前記ページタイプとに基づいて、前記特定のページの印刷に、前記処理工程で生成された画像データを使用するか否かを決定する、前記実行工程と、
を含むことを特徴とする画像形成装置の制御方法。
【請求項１３】
請求項１２に記載の画像形成装置の制御方法の各工程をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置及びその制御方法、並びにプログラムに関するものであり、特に、印刷ジョブの実行時に印刷装置が行うレンダリング処理に要する時間を短くする技術に関するものである。
【背景技術】
【０００２】
複数のユーザが複数の画像形成装置（印刷装置）を共有して利用する環境において、機密性の高い印刷物を出力する際に当該印刷物を他のユーザに見られることを防ぐための技術として「留め置き印刷」が知られている。留め置き印刷では、ホストコンピュータ（ＰＣ）から送信された印刷ジョブは、プリントサーバ内、又はサーバ機能を有する印刷装置内で一時的に蓄積される。蓄積された印刷ジョブは、印刷装置においてユーザ認証後に実行される（例えば特許文献１）。
【０００３】
上述の留め置き印刷では、ユーザ認証後にユーザからの印刷指示に従って印刷ジョブの実行が開始される。このため、ＰＤＬデータ等の印刷データから画像データ（描画データ）を生成するレンダリング処理に時間がかかると、印刷完了までのユーザの待ち時間が長くなる。このような待ち時間を短縮するために、蓄積されている印刷ジョブの一部のページに対して、ユーザからの印刷指示に先立ってレンダリング処理を実行する技術が検討されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第４０３３８５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述の従来技術では、印刷装置内に蓄積された印刷ジョブの印刷設定がユーザにより変更された場合、変更された印刷設定に従って、印刷指示前のレンダリング処理（先行レンダリング処理）で生成された画像の印刷が行われうる。しかし、この場合、印刷設定とページの内容の組み合わせによっては、変更された印刷設定を用いて印刷指示後に印刷データのレンダリング処理を行って画像の印刷を行う場合よりも、印刷品質が低下する可能性がある。また、先行レンダリング処理を行ったページと、先行レンダリング処理を行っていないページとで、印刷品質に差異が生じる可能性がある。
【０００６】
一方で、印刷ジョブの印刷設定が変更された場合に、当該印刷ジョブに含まれる全てのページについて印刷指示後にレンダリング処理を実行又は再実行すると、印刷品質の低下は防止できても、印刷完了までのユーザの待ち時間が長くなりうる。
【０００７】
本発明は、上述の問題に鑑みて成されたものである。本発明は、蓄積された印刷ジョブの印刷設定が変更された場合に、印刷指示前のレンダリング処理で生成された画像データを印刷に使用するか否かを適切に制御する技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の一態様に係る画像形成装置は、外部装置から受信した印刷ジョブを保存する保存手段と、前記保存手段によって保存された前記印刷ジョブの実行指示をユーザから受ける前に、当該印刷ジョブにおける特定のページのレンダリング処理を行って画像データを生成する処理手段と、前記印刷ジョブに適用する印刷設定の入力をユーザから受け付ける受け付け手段と、前記印刷ジョブにおける前記特定のページのページタイプを特定する特定手段と、ユーザから前記実行指示を受けると、入力された前記印刷設定に従って前記印刷ジョブを実行する実行手段であって、入力された前記印刷設定と、前記特定手段によって特定された前記ページタイプとに基づいて、前記特定のページの印刷に、前記処理手段によって生成された画像データを使用するか否かを決定する、前記実行手段と、
を備えることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、蓄積された印刷ジョブの印刷設定が変更された場合に、印刷指示前のレンダリング処理で生成された画像データを印刷に使用するか否かを適切に制御することが可能になる。
【図面の簡単な説明】
【００１０】
【図１】印刷システムの構成及び印刷装置のハードウェア構成例、並びに印刷装置のソフトウェア構成例を示す図。
【図２】印刷装置において印刷ジョブの留め置きを行う場合の印刷処理の例を示すシーケンス図。
【図３】印刷ジョブの留め置き処理の手順を示すフローチャート、印刷ジョブの構成例、及び書誌情報リストの例を示す図。
【図４】印刷ジョブに対する先行処理の手順を示すフローチャート、及び処理結果情報の例を示す図。
【図５】ＰＤＬコマンド統計情報の例を示す図。
【図６】印刷処理の手順を示すフローチャート、及び印刷ジョブリストを含む操作画面の例を示す図。
【図７】印刷指示後のレンダリング処理の手順を示すフローチャート。
【図８】第１の実施形態における先行処理結果の適用判定（Ｓ７０５）の手順を示すフローチャート。
【図９】ページレイアウト設定が変更される場合の、先行処理結果及び印刷指示後のレンダリング処理の結果の例を示す図。
【図１０】第２の実施形態における先行処理結果の適用判定（Ｓ７０５）の手順を示すフローチャート。
【図１１】第３の実施形態における先行処理結果の適用判定（Ｓ７０５）の手順を示すフローチャート。
【図１２】第４の実施形態における先行処理結果の適用判定（Ｓ７０５）の手順を示すフローチャート。
【図１３】第５の実施形態における１画素分のオブジェクト属性情報の例を示す図。
【発明を実施するための形態】
【００１１】
以下、添付図面を参照して本発明の実施形態を詳しく説明する。なお、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【００１２】
＜印刷システム＞
図１（Ａ）は、本発明の実施形態に係る印刷システムの構成及び印刷装置のハードウェア構成の例を示す図である。図１（Ａ）に示すように、印刷システムは、複数の印刷装置１０１〜１０３（画像形成装置）と、パーソナルコンピュータ（ＰＣ）１０４とが、ＬＡＮ（Local Area Network）１０５を介して互いに通信可能に接続されている。図１（Ａ）では、３台の印刷装置がＬＡＮ１０５に接続された構成を示しているが、何台の印刷装置がＬＡＮ１０５に接続されてもよい。また、ＰＣ１０４は、汎用的なコンピュータで構成されうる。
【００１３】
本実施形態では、印刷装置１０１〜１０３は、ＭＦＰ（Multi Function Printer）であるが、ＳＦＰ（Single Function Printer）であってもよい。また、印刷装置１０１〜１０３は、電子写真方式で画像形成（印刷）を行うＭＦＰであるが、電子写真方式以外の印刷方式（例えば、インクジェット方式）で印刷を行うＭＦＰであってもよい。印刷装置１０１〜１０３は、ＰＣ１０４又は他の印刷装置から印刷指示（印刷ジョブ）を受信すると、当該印刷指示に従って印刷処理を実行する。以下では印刷装置１０１の構成について説明するが、印刷装置１０２，１０３も印刷装置１０１と同様の構成を有する。
【００１４】
＜印刷装置のハードウェア構成＞
図１（Ａ）を参照して、印刷装置１０１のハードウェア構成の例について説明する。印刷装置１０１は、コントローラ１１０と、当該コントローラに接続された、プリント機構１１１（画像形成部）、カードリーダ１１２、及び操作パネル１１３を備える。コントローラ１１０は、ネットワークＩ／Ｆ１２０、リーダＩ／Ｆ１２１、パネルＩ／Ｆ１２２、ＣＰＵ１２３、ＨＤＤ（ハードディスクドライブ）１２４、ＲＡＭ１２５、ＲＯＭ１２６、デバイスＩ／Ｆ１２７、ＲＩＰ（ラスターイメージプロセッサ）１２８、及び画像処理回路１２９を備える。コントローラ１１０内の配置された各デバイスは、システムバス１３０に接続されている。
【００１５】
ＣＰＵ１２３は、ＨＤＤ１２４又はＲＯＭ１２６等の記憶装置（記憶媒体）に格納されているプログラムを読み出して実行することによって、印刷装置１０１全体を制御する。ＲＡＭ１２５は、ＣＰＵ１２３が動作するためのシステムワークメモリであり、ＣＰＵ１２３の作業領域として用いられる。ＲＡＭ１２５は、入力された印刷ジョブ、及び画像データを一時的に記憶するための画像メモリとしても用いられる。ＲＯＭ１２６は、ブートＲＯＭであり、システムのブートプログラムが格納されている。ＨＤＤ１２４は、不揮発性の記憶装置であり、各種処理のためのシステムソフトウェア、及び、印刷ジョブ、印刷データ又は画像データ等の種々のデータの保存に利用される。
【００１６】
ネットワークＩ／Ｆ１２０は、例えばＬＡＮカード等で実現され、ＬＡＮ１０５を介して外部装置との通信を行う。リーダＩ／Ｆ１２１は、カードリーダ１１２に対するインタフェース部であり、例えば、カードリーダ１１２から受信した情報（認証情報等）をＣＰＵ１２３へ伝達する。パネルＩ／Ｆ１２２は、操作パネル１１３に対するインタフェース部である。操作パネル１１３は、操作キーとタッチパネル機能を有する表示部（ＬＣＤ）とで構成され、操作画面を表示部に表示するとともに、ユーザからの情報の入力を受け付ける。パネルＩ／Ｆ１２２は、操作パネル１１３に対して操作画面データを出力する。操作パネル１１３は、操作画面データに基づいて操作画面を表示する。また、パネルＩ／Ｆ１２２は、操作パネル１１３を介してユーザにより入力された情報を、ＣＰＵ１２３へ伝達する。
【００１７】
デバイスＩ／Ｆ１２７は、プリント機構１１１とコントローラ１１０とを接続し、画像データの同期系／非同期系の変換を行う。ＲＩＰ１２８は、中間データ（ディスプレイリスト）を解析して、当該中間データを画像データに展開する。画像処理回路１２９は、印刷ジョブを解析して生成された画像データに対して、プリント機構１１１の特性に応じた補正、解像度変換等の処理を行う。
【００１８】
プリント機構１１１は、コントローラ１１０（ＣＰＵ１２３）の指示に従って、画像データに基づいて画像をシート（記録材）に形成（印刷）する。カードリーダ１１２は、ユーザが所有するＩＤカード等からユーザ認証用の情報（認証情報）を読み取ることにより取得し、取得した情報をコントローラ１１０へ通知する。
【００１９】
＜印刷装置のソフトウェア構成＞
図１（Ｂ）を参照して、印刷装置１０１（コントローラ１１０）のソフトウェア構成の例について説明する。コントローラ１１０は、認証部１３１、設定部１３２、書誌管理部１３３、印刷制御部１３４、ジョブ解析部１３５、先行処理部１３６、留め置き制御部１３７、印刷実行部１３８、ＰＤＬ解析部１３９、及び中間データ生成部１４０を備える。図１（Ｂ）に示す各機能部は、ＨＤＤ１２４又はＲＯＭ１２６に格納されているプログラムをＣＰＵ１２３が読み出して実行することによって、印刷装置１０１（コントローラ１１０）上で実現される。
【００２０】
認証部１３１は、リーダＩ／Ｆ１２１を通じて認証情報を取得し、取得した認証情報を留め置き制御部１３７へ通知する。設定部１３２は、パネルＩ／Ｆ１２２を通じて、操作パネル１１３との間の情報の入出力を制御する。
【００２１】
書誌管理部１３３は、留め置き制御部１３７が受信した印刷ジョブ、及び印刷ジョブに関する情報を管理する。印刷制御部１３４は、ネットワークＩ／Ｆ１２０を通じて入力（受信）された印刷指示又は印刷ジョブを取得し、留め置き制御部１３７又は印刷実行部１３８に対して、印刷ジョブについての処理の実行を指示する。
【００２２】
ジョブ解析部１３５は、留め置き制御部１３７が受信した印刷ジョブの解析を行う。先行処理部１３６は、ジョブ解析部１３５による解析結果に応じて、印刷ジョブのレンダリング処理を行う。留め置き制御部１３７は、印刷制御部１３４から受信した印刷ジョブについての、ジョブ解析部１３５による解析、書誌管理部１３３による管理、及び先行処理部１３６による先行処理を制御する。また、留め置き制御部１３７は、印刷実行部１３８への印刷指示を行う。
【００２３】
印刷実行部１３８は、印刷制御部１３４又は留め置き制御部１３７から受信した印刷ジョブに従った印刷処理を実行する。具体的には、印刷実行部１３８は、印刷ジョブに従って、ＰＤＬ解析部１３９、中間データ生成部１４０、ＲＩＰ１２８、及び画像処理回路１２９を制御することにより、画像データを生成する。更に、印刷実行部１３８は、生成した画像データを、デバイスＩ／Ｆ１２７を通じてプリント機構１１１へ出力することにより、当該画像データに基づく印刷をプリント機構１１１に実行させる。
【００２４】
ＰＤＬ解析部１３９は、印刷実行部１３８からの指示に従って、印刷ジョブについてのＰＤＬ（ページ記述言語）解析を行う。中間データ生成部１４０は、ＰＤＬ解析部１３９によるＰＤＬ解析により得られた情報に基づいて、中間データを生成する。
【００２５】
＜印刷処理の概要＞
印刷装置１０１〜１０３は、ＰＣ１０４等の外部装置から受信した印刷ジョブをＨＤＤ１２４に保存（蓄積）することにより、当該印刷ジョブの留め置きを行う。その際、必要に応じて、印刷ジョブに対して後述する先行処理が実行される。ユーザが印刷装置１０１〜１０３にログインし、当該印刷装置内に留め置かれた印刷ジョブの実行を指示すると、当該留め置かれた印刷ジョブが実行される。本実施形態では、印刷装置１０１〜１０３内に留め置かれた印刷ジョブについて、実行指示（印刷指示）が行われる前に、操作パネル１１３を介して、ユーザにより印刷設定の変更が行われる例について説明する。
【００２６】
図２は、本実施形態に係る印刷システムにおける、印刷装置において印刷ジョブの留め置きを行う場合の印刷処理の例を示すシーケンス図である。図２には、印刷装置１０１〜１０３のうち、ＰＣ１０４から印刷装置１０１へ印刷ジョブが送信され、印刷装置１０１によって印刷ジョブが実行されるまでのシーケンスを示している。
【００２７】
Ｓ２０１で、ユーザがＰＣ１０４にログインし、更にＳ２０２で、当該ユーザがＰＣ１０４を操作して、任意のアプリケーションからデータの印刷を要求する。ユーザの要求に応じて、ＰＣ１０４は、Ｓ２０３で、当該ユーザのユーザ情報を取得し、Ｓ２０４で、取得したユーザ情報を付与した印刷ジョブを生成する。なお、ユーザ情報は、ユーザ名又はユーザＩＤ等、印刷要求を行ったユーザを識別できる情報である。その後、Ｓ２０５で、ＰＣ１０４は、生成した印刷ジョブを印刷装置１０１へ送信する。
【００２８】
印刷装置１０１は、ＰＣ１０４から印刷ジョブを受信すると、Ｓ２０６で、受信した印刷ジョブをＨＤＤ１２４に保存する。次にＳ２０７で、印刷装置１０１は、印刷ジョブに含まれるユーザ情報を抽出し、当該印刷ジョブの書誌情報を生成する。Ｓ２０８で、印刷装置１０１は、生成した書誌情報をＨＤＤ１２４に保存する。書誌情報の保存を終えると、Ｓ２０９で、印刷装置１０１は、受信した印刷ジョブに対する、図４を用いて後述する先行処理を開始する。この先行処理では、受信した印刷ジョブについてのユーザからの実行指示（印刷指示）に先行して、当該印刷ジョブに対して少なくとも部分的にレンダリング処理（先行レンダリング処理）が行われる。先行処理の開始後、Ｓ２１０で、印刷装置１０１は、先行処理の結果を逐次ＨＤＤ１２４に保存する。更に、印刷装置１０１は、先行処理が完了すると、先行処理の結果を書誌情報に反映させるべく、ＨＤＤ１２４に保存されている書誌情報を更新する。
【００２９】
その後、Ｓ２１１で、ユーザが印刷装置１０１の操作パネル１１３を操作して印刷装置１０１にログインする。印刷装置１０１は、認証部１３１によるユーザの認証に成功することによって当該ユーザが印刷装置１０１にログインすると、Ｓ２１２で、ログインしたユーザ（認証ユーザ）のユーザ情報を取得する。更に、Ｓ２１３で、取得したユーザ情報を用いて、認証ユーザについての印刷ジョブの一覧を操作パネル１１３に表示する。印刷装置１０１は、Ｓ２１４で、操作パネル１１３に表示した印刷ジョブについて、ユーザから印刷設定の変更指示を受けると、Ｓ２１５で、当該変更指示に従って、ＨＤＤ１２４に保存されている書誌情報内の印刷設定を更新する。その後、印刷装置１０１は、Ｓ２１６で、ユーザから印刷指示を受けると、Ｓ２１７で、保存していた印刷ジョブと当該印刷ジョブに関連した先行処理結果とを用いて、印刷指示後の（仕上げの）レンダリング処理を行う。レンダリング処理が完了すると、印刷装置１０１は、Ｓ２１８で、レンダリング処理により得られた画像データ（描画データ）に基づいて印刷を行う。
【００３０】
以下では、印刷装置１０１によって実行される処理の例についてより具体的に説明するが、印刷装置１０２，１０３も同様の処理を実行可能である。また、以下で説明する各処理は、ＨＤＤ１２４又はＲＯＭ１２６に格納されているプログラムをＣＰＵ１２３が読み出して実行することによって、図１（Ｂ）に示す各機能部による処理として印刷装置１０１（コントローラ１１０）上で実現される。
【００３１】
＜印刷ジョブの留め置き処理＞
次に、図３を参照して、印刷装置１０１において実行される、印刷ジョブの留め置き処理について説明する。図３（Ａ）は、印刷ジョブの留め置き処理の手順を示すフローチャートであり、図２のＳ２０５〜Ｓ２０８に対応する処理手順を示している。
【００３２】
まずＳ３０１で、印刷制御部１３４は、ＰＣ１０４等の外部装置から送信された印刷ジョブを、ネットワークＩ／Ｆ１２０を介して受信する。図３（Ｂ）は、印刷装置１０１が受信する印刷ジョブの構成例を示す図である。図３（Ｂ）に例示されるように、印刷ジョブは、先頭部に配置された、各種設定情報を含むヘッダ部と、当該ヘッダ情報の後に配置された、各ページのデータ（ＰＤＬデータ）を含むデータ部とで構成される。本実施形態では、ＰＤＬデータは、印刷ジョブの開始を意味するＢｅｇｉｎＳｅｓｓｉｏｎコマンドと、印刷ジョブの終了を意味するＥｎｄＳｅｓｓｉｏｎコマンドとの間に、各ページの描画コマンドを含む。各ページのＰＬＤデータは、ＢｅｇｉｎＰａｇｅコマンドと、ＥｎｄＰａｇｅコマンドと、それらのコマンドの間に配置された描画コマンド群とで構成される。描画コマンドの例には、図３（Ｂ）の例のように、Ｌｉｎｅ、Ｔｅｘｔ、Ｒｅｃｔ、及びＩｍａｇｅ等のコマンドが含まれる。
【００３３】
次にＳ３０２で、印刷制御部１３４は、Ｓ３０１で受信した印刷ジョブを、ユーザから印刷指示を受けるまで印刷装置１０１内に留め置くか、留め置かずに実行するかを判定する。留め置くか否かの判定は、例えば、印刷装置１０１内で記憶している所定のパラメータが留め置きを示すか否かに基づいて行われてもよいし、印刷ジョブのヘッダ部内の情報に基づいて行われてもよい。印刷制御部１３４は、受信した印刷ジョブを留め置かずに実行する場合にはＳ３０３へ処理を進め、留め置く場合にはＳ３０５へ処理を進める。
【００３４】
Ｓ３０３で、印刷実行部１３８は、ＰＤＬ解析部１３９及び中間データ生成部１４０を制御して印刷ジョブの解析を行い、当該解析により生成された中間データに対して、ＲＩＰ１２８によってレンダリング処理を実行させる。ＲＩＰ１２８によって実行されるレンダリング処理により、画像データが生成される。Ｓ３０４で、印刷実行部１３８は、Ｓ３０３で生成された画像データを、画像処理回路１２９による画像補正が行われた後に、デバイスＩ／Ｆ１２７を通じてプリント機構１１１へ転送する。プリント機構１１１は、印刷対象の各ページの画像データに基づいて、各ページの画像をシートに印刷する。これにより、図３（Ａ）に示す手順による処理が終了する。
【００３５】
一方、Ｓ３０５で、留め置き制御部１３７は、印刷ジョブに含まれるユーザ情報を取得する。図３（Ｂ）の例では、ユーザ情報は、「ユーザ名：ユーザＡ」として印刷ジョブのヘッダ部に含まれている。なお、ユーザ情報は、印刷ジョブの送信元の装置（ＰＣ１０４）から、印刷ジョブとは別に印刷装置１０１へ送信されてもよい。
【００３６】
次にＳ３０６で、ジョブ解析部１３５は、受信した印刷ジョブから、印刷設定、文書名、及びＰＤＬ種別を示す情報を取得する。これらの情報は、図３（Ｂ）の例のように、印刷ジョブのヘッダ部に含まれうる。印刷設定には、例えば、片面印刷又は両面印刷かを示す印刷モード、カラー印刷又はモノクロ印刷を示すカラーモード、及び印刷に使用するシートのサイズ（用紙サイズ）が含まれる。なお、印刷ジョブに含まれていない印刷設定については、ＨＤＤ１２４又はＲＯＭ１２６に予め格納された初期設定値が使用されてもよいし、印刷ジョブの実行時にユーザによる設定を受け付けてもよい。
【００３７】
その後、Ｓ３０７で、留め置き制御部１３７は、Ｓ３０５で取得されたユーザ情報とＳ３０６で取得された情報とを関連付けた情報を、１つの印刷ジョブに対応する書誌情報として（１レコードの書誌情報として）生成する。更に、Ｓ３０８で、書誌管理部１３３は、Ｓ３０７で生成された書誌情報を、ＨＤＤ１２４に保存されている書誌情報リストに追記することにより、当該書誌情報を保存する。
【００３８】
具体的には、書誌管理部１３３は、生成された書誌情報に含まれるユーザ情報が示すユーザの書誌情報リストに追記する。当該ユーザの書誌情報リストがＨＤＤ１２４に保存されていない場合には、書誌管理部１３３は、当該ユーザの書誌情報リストを新たに生成し、ＨＤＤ１２４に保存する。
【００３９】
図３（Ｃ）は、ＨＤＤ１２４に保存される書誌情報リストの例を示す図であり、図３（Ｂ）に示す印刷ジョブに対応するユーザであるユーザＡの書誌情報リストの例を示している。図３（Ｃ）に示すように、書誌情報リストには、印刷ジョブ（ジョブＩＤ）ごとに、対応する書誌情報が１つのレコードとして格納される。なお、印刷指示をユーザから受け付ける前に、操作パネル１１３を介して印刷設定が変更された場合（図２のＳ２１４）、書誌情報内の印刷設定が、変更後の印刷設定に更新される（図２のＳ２１５）。その結果、変更後の印刷設定が印刷ジョブの実行時の印刷結果に反映される。
【００４０】
また、Ｓ３０８では、書誌管理部１３３は、Ｓ３０１において外部装置（ＰＣ１０４）から受信された印刷ジョブを、保存した書誌情報に対応する印刷ジョブとしてＨＤＤ１２４に保存する。これにより、図３（Ａ）に示す手順による処理が終了する。
【００４１】
＜印刷ジョブに対する先行処理＞
次に、図４を参照して、印刷装置１０１において実行される、印刷ジョブに対する先行処理について説明する。図４（Ａ）は、先行処理の手順を示すフローチャートであり、図２のＳ２０９及びＳ２１０に対応する処理手順を示している。この先行処理は、印刷ジョブの留め置き処理（図３）により印刷ジョブがＨＤＤ１２４内に留め置かれた後に実行される。先行処理では、ジョブ解析部１３５は、留め置かれた印刷ジョブの各ページのレンダリング処理に要する時間を予測する。更に、先行処理部１３６は、ジョブ解析部１３５によって予測された時間が所定の閾値を上回るページについて、印刷指示をユーザから受ける前にレンダリング処理を行う。
【００４２】
まずＳ４０１で、ジョブ解析部１３５は、ＨＤＤ１２４内に留め置かれた、処理対象の印刷ジョブについて、当該印刷ジョブに含まれる各ページのレンダリング処理に要する時間（レンダリング時間）を予測する。レンダリング時間の予測は、例えば、各ページのサイズ、各ページの描画オブジェクト数、及び各ページのＰＤＬコマンドの内容等に基づいて行われる。また、ＲＩＰ１２８の処理能力（処理速度）等が予測に用いられてもよい。
【００４３】
更にＳ４０２で、ジョブ解析部１３５は、レンダリング時間の予測を行った各ページについて、ＰＤＬコマンドの種類ごとに出現回数をカウントすることにより、ＰＤＬコマンドの統計情報を取得する。なお、ジョブ解析部１３５は、レンダリング時間の予測（Ｓ４０１）とＰＤＬコマンドの統計情報（Ｓ４０２）の取得とを、図４（Ａ）に示すように順番に実行してもよいし、並列に実行してもよい。
【００４４】
次にＳ４０３で、先行処理部１３６は、Ｓ４０１における予測結果に基づいて、処理対象の印刷ジョブに対する、印刷指示前のレンダリング処理（先行レンダリング処理）が必要なページとして特定する。具体的には、レンダリング処理に時間がかかると予測されるページが、先行レンダリング処理が必要なページとして特定される。例えば、図３（Ｃ）に示す例における「ジョブＩＤ：１」の印刷ジョブについては、予測レンダリング時間が所定の閾値（例えば、１０秒）を上回るページ（第１及び第９ページ）が、先行レンダリング処理が必要なページとして特定される。この閾値は、例えば、予め定められた閾値であってもよいし、印刷装置１０１の印刷速度に応じた閾値であってもよい。なお、先行処理部１３６は、印刷ジョブに含まれる全ページを、先行レンダリング処理が必要なページとして特定してもよい。
【００４５】
Ｓ４０３の処理が完了すると、Ｓ４０４で、先行処理部１３６は、先行レンダリング処理が必要なページが存在しているか否かを判定し、存在する場合にはＳ４０５へ処理を進め、存在しない場合にはＳ４０９へ処理を進める。先行レンダリング処理が必要なページが存在しない場合、先行処理部１３６は、Ｓ４０９で、書誌情報（図３（Ｂ）に示す予測レンダリング時間）を更新し、先行処理を終了する。
【００４６】
一方、Ｓ４０５では、先行処理部１３６は、Ｓ４０３において先行レンダリング処理が必要なページとして特定されたページ（対象ページ）のレンダリング処理を行うことにより、画像データを生成する。Ｓ４０３において複数のページが特定された場合、先行処理部１３６は、印刷ジョブのページ順に、各対象ページのレンダリング処理を行ってもよい。あるいは、先行処理部１３６は、予測レンダリング時間が長い順又は短い順に、各対象ページのレンダリング処理を行ってもよい。このように、先行処理部１３６は、ＨＤＤ１２４に保存された印刷ジョブの実行指示をユーザから受ける前に、当該印刷ジョブにおける特定のページ（対象ページ）のレンダリング処理を行って画像データを生成する。
【００４７】
対象ページのレンダリング処理が完了すると、Ｓ４０６で、先行処理部１３６は、当該レンダリング処理により生成された画像データと、当該レンダリング処理の結果を示す処理結果情報とを、先行処理の結果（先行処理結果）としてＨＤＤ１２４に保存する。図４（Ｂ）は、Ｓ４０６において保存される処理結果情報の例を示している。処理結果情報４００は、ジョブＩＤ４０１、ヘッダ部４０２、及び画像データ情報４０３を含む。ジョブＩＤ４０１は、例えば、書誌情報（図３（Ｃ））に含まれるジョブＩＤであり、印刷ジョブを識別するための識別子である。ヘッダ部４０２には、先行処理結果のデータサイズ、先行レンダリング処理を行ったページ数、及び先行レンダリング処理の実行時の印刷設定に加え、ＰＤＬコマンド統計情報４０４が含まれる。画像データ情報４０３には、先行レンダリング処理により生成された画像データを示す情報として、ページ番号と、当該ページ番号に対応する画像データの所在を示すファイルパスとが含まれる。なお、処理結果情報４００は、先行処理結果を特定できる情報であればよく、図４（Ｂ）に示すものに限定されない。
【００４８】
なお、Ｓ４０３において複数のページが特定された場合、処理結果情報４００のヘッダ部４０２に含まれるデータサイズ及び総ページ数、並びに画像データ情報４０３は、各対象ページの先行レンダリング処理が完了するごとに、Ｓ４０６において更新される。
【００４９】
Ｓ４０７で、先行処理部１３６は、Ｓ４０３において特定した全対象ページのレンダリング処理が完了したか否かを判定し、完了していない場合にはＳ４０８へ処理を進め、完了した場合にはＳ４０９へ処理を進める。Ｓ４０８で、先行処理部１３６は、処理対象の印刷ジョブについて、ユーザによって実行指示（印刷指示）が行われた否かを判定する。先行処理部１３６は、印刷指示が行われていない場合には、Ｓ４０５へ処理を戻し、次の対象ページの先行レンダリング処理を行う。一方、先行処理部１３６は、印刷指示が行われた場合には、先行レンダリング処理を中断してＳ４０９へ処理を進める。
【００５０】
Ｓ４０９で、先行処理部１３６は、Ｓ４０１〜Ｓ４０８における処理結果に基づいて、ＨＤＤ１２４に保存されている、処理対象の印刷ジョブの書誌情報を更新する。具体的には、先行処理部１３６は、書誌情報に含まれる予測レンダリング時間を更新するとともに、Ｓ４０６で生成した先行処理結果に関する情報を、先行処理情報として書誌情報に付加する。本実施形態では、図３（Ｃ）に示すように、先行処理情報には、印刷ジョブに対して先行処理を実行済みであるか否かを示す情報と、先行処理結果（画像データ及び処理結果情報４００）の所在を示すファイルパスとが含まれる。
【００５１】
先行処理部１３６は、書誌情報の更新が完了すると、先行処理を終了する。なお、上述のように先行レンダリング処理が中断された場合には（Ｓ４０８で「ＹＥＳ」）、中断された時点までに完了している先行レンダリング処理の結果に基づいて、後述する印刷処理が実行される。
【００５２】
＜ＰＤＬコマンド統計情報＞
図５は、ジョブ解析部１３５によって生成されるＰＤＬコマンド統計情報４０４の例を示す図である。図５（Ａ）は、印刷ジョブに含まれる全ページについてのＰＤＬコマンド統計情報を示しており、Ｓ４０２において取得される情報を示している。図５（Ｂ）は、先行レンダリング処理が必要なページとして特定された対象ページについての情報のみをエントリとして含むＰＤＬコマンド統計情報を示しており、Ｓ４０６において処理結果情報４００に格納される情報を示している。なお、上述の先行処理において、先行レンダリング処理の対象ページの特定後にＰＤＬコマンド統計情報の取得が行われる場合には、図５（Ａ）に示すような全ページについてＰＤＬコマンド統計情報を生成する必要はない。ただし、ＨＤＤ１２４の記憶領域に余裕がある場合は、先行レンダリング処理の対象となっていないページについてのＰＤＬコマンド統計情報も、Ｓ４０６において処理結果情報４００に格納されてもよい。
【００５３】
図５に示すように、本実施形態のＰＤＬコマンド統計情報は、各ページに含まれるＰＤＬコマンドの総数と、予め分類された描画オブジェクトの種別ごとのＰＤＬコマンドの出現数と、その他の印刷環境設定用のＰＤＬコマンドの出現数とで構成される。描画オブジェクトの種別として、ライン、グラフィック（フィル図形）、テキスト（スケーラブルフォント）、テキスト（ビットマップフォント）、及びイメージが使用されているが、これらに限定されない。
【００５４】
ここで、対象ページの印刷処理において先行処理結果を使用（適用）するか否かについての後述する判定を、対象ページ内に所定の線幅よりも細いライン（細線）が含まれているか否かに基づいて行ってもよい。このような判定を可能にするために、Ｓ４０２では、ライン描画オブジェクトを描画するＰＤＬコマンドの数を、図５に示すように、線幅ごとに分けてカウントしてもよい。これは、先行処理結果である画像データを用いた変倍処理（特に縮小を伴う変倍処理）において、ラインの線幅が細いほど、ラインが消失する可能性が高くなるためである。具体的には、先行処理結果を用いた変倍処理により得られる結果と、ＰＤＬデータを用いた変倍処理により得られる結果との差異が大きくなりうるためである。なお、描画オブジェクトを線幅で分類するための閾値（図５では２）は、適宜変更されてもよいし、例えば、描画オブジェクトに対して指定される色情報に基づいて変更されてもよい。
【００５５】
また、グラフィック（フィル図形）及びテキストを描画するＰＤＬコマンドについて、描画オブジェクトの大きさに基づいて分類してカウントしてもよい。テキストを描画するＰＤＬコマンドについては、図５に示すように、例えば、印刷対象のテキストが、ＴｒｕｅＴｙｐｅのベクトル形式のグリフで構成されたフォントであれば、「テキスト（スケーラブルフォント）」に対応するＰＤＬコマンドとしてカウントする。また、印刷対象のテキストが、ビットマップ形式のフォントであれば、「テキスト（ビットマップフォント）」に対応するＰＤＬコマンドとしてカウントする。
【００５６】
＜印刷処理＞
次に、図６を参照して、印刷装置１０１において実行される印刷処理について説明する。図６（Ａ）は、印刷処理の手順を示すフローチャートであり、図２のＳ２１１〜Ｓ２１８に対応する処理手順を示している。
【００５７】
ユーザが所持しているＩＤカードがカードリーダ１１２にかざされると、カードリーダ１１２は、当該ＩＤカードから、ユーザ情報を含む認証情報を読み取って、リーダＩ／Ｆ１２１を通じてコントローラ１１０へ送信する。これにより、Ｓ６０１で、認証部１３１は、カードリーダ１１２から受信した認証情報に基づいて、ユーザ認証を行う。なお、ユーザ認証は、ＩＤカードを用いる方法以外に、例えば、操作パネル１１３を介してユーザによって入力されたユーザ情報及びパスワードを用いる方法であってもよい。
【００５８】
ユーザ認証が成功すると、Ｓ６０２で、設定部１３２は、認証ユーザの印刷ジョブリストを操作パネル１１３に表示する。具体的には、設定部１３２は、書誌管理部１３３によってＨＤＤ１２４に保存された状態で管理されている、Ｓ６０１で取得されたユーザ情報に対応する書誌情報リストを取得し、取得した書誌情報リストに基づいて印刷ジョブリストを表示する。
【００５９】
図６（Ｂ）は、Ｓ６０２において操作パネル１１３に表示される、印刷ジョブリストを含む操作画面の例を示す図である。図６（Ｂ）に示す操作画面６０１には、印刷ジョブリスト６０２、開始ボタン６０３、設定ボタン６０４、及びログアウトボタン６０５が含まれている。開始ボタン６０３は、印刷ジョブリスト６０２に表示されている印刷ジョブの実行開始を指示するために用いられる。設定ボタン６０４は、印刷ジョブリスト６０２に表示されている印刷ジョブの印刷設定の入力を指示するために用いられる。ログアウトボタン６０５は、印刷ジョブの実行を指示せずに印刷装置１０１からのユーザのログアウトを指示するために用いられる。
【００６０】
操作画面６０１において、印刷ジョブリスト６０２内のいずれかの印刷ジョブが選択され、設定ボタン６０４が押下されると、設定部１３２は、選択された印刷ジョブの印刷設定を行うための設定画面を操作パネル１１３に表示する。設定部１３２は、表示した設定画面を介して、印刷ジョブに適用する印刷設定の入力をユーザから受け付けることが可能である。これにより、ユーザは、印刷ジョブに既に含まれている印刷設定の変更を指示すること、及び印刷ジョブに含まれていない印刷設定を入力することが可能である。変更可能な印刷設定項目には、例えば、カラーモード、印刷モード、部数、ページレイアウト設定（Ｎ−Ｕｐ設定）、及びページ範囲等が含まれる。
【００６１】
Ｓ６０３で、設定部１３２は、操作パネル１１３を介して、印刷ジョブに適用する印刷設定の入力をユーザから受け付けて、当該入力された印刷設定を、パネルＩ／Ｆ１２２を通じて取得する。設定部１３２は、取得した印刷設定に基づいて、対象となる印刷ジョブに対応する書誌情報に含まれる印刷設定を更新する。なお、設定部１３２は、Ｓ６０７におけるレンダリング処理において参照可能にするために、更新後の印刷設定を、一時的な印刷設定としてＲＡＭ１２５に保持しておいてもよい。
【００６２】
その後、Ｓ６０４で、設定部１３２は、印刷ジョブリスト６０２内の印刷ジョブについて実行指示（印刷指示）をユーザから受けたか否かを判定する。ユーザは、印刷ジョブリスト６０２内のいずれかの印刷ジョブを選択し、開始ボタン６０３を押下することにより、印刷指示を行うことが可能である。設定部１３２は、印刷指示が行われることなくユーザがログアウト（認証状態を解除）した場合、図６の手順による処理を終了する。一方、設定部１３２は、印刷指示を受けた場合、Ｓ６０５へ処理を進める。
【００６３】
Ｓ６０５で、留め置き制御部１３７は、印刷指示が行われた印刷ジョブの書誌情報を参照することにより、当該印刷ジョブについて先行処理（図２のＳ２０９、及び図４（Ａ））が未完了（実行中）であるか否かを判定する。留め置き制御部１３７は、先行処理が未完了である場合には、Ｓ６０６へ処理を進め、実行中の先行処理を中断した後、Ｓ６０７へ処理を進める。具体的には、留め置き制御部１３７は、印刷指示が行われた印刷ジョブに関する情報を、先行処理部１３６に通知することにより、当該印刷ジョブについての先行処理を先行処理部１３６に中断させる。留め置き制御部１３７からの通知に基づいて、先行処理部１３６は、実行対象の印刷ジョブについて印刷指示が行われたと判定し（Ｓ４０８で「ＹＥＳ」）、先行処理（先行レンダリング処理）を中断することになる。その場合、先行処理部１３６は、中断の時点までに得られている先行レンダリング処理の結果に基づいて、書誌情報を更新する（Ｓ４０９）。
【００６４】
一方、留め置き制御部１３７は、先行処理が完了している場合には、Ｓ６０５からＳ６０７へ処理を進める。Ｓ６０７で、印刷実行部１３８は、図７を参照して後述する手順により、印刷指示後のレンダリング処理を行う。なお、Ｓ６０７では、実行対象の印刷ジョブに対して先行レンダリング処理が行われていない場合（先行処理情報に、先行処理が未実行であることを示す情報が含まれる場合）には、Ｓ３０３と同様の処理が行われる結果となる。Ｓ６０７のレンダリング処理が完了すると、Ｓ６０８で、印刷実行部１３８は、Ｓ６０７で生成された画像データに基づいて、Ｓ３０４と同様にプリント機構１１１に印刷を実行させる。以上により、図６に示す手順による処理が終了する。
【００６５】
上記のＳ６０７及びＳ６０８では、印刷実行部１３８は、実行対象の印刷ジョブにおける、先行レンダリング処理が行われたページ（特定のページ）のページタイプを特定する。更に、印刷実行部１３８は、Ｓ６０３において入力された印刷設定に従って印刷ジョブを実行する。その際、印刷実行部１３８は、入力された印刷設定と、特定されたページタイプとに基づいて、先行レンダリング処理が行われたページ（特定のページ）の印刷に、先行処理部１３６によって生成された画像データを使用するか否かを決定する。
【００６６】
具体的には、印刷実行部１３８は、先行処理部１３６によって生成された画像データを使用する場合には、当該画像データに基づいて、特定のページの画像を印刷する。一方、印刷実行部１３８は、先行処理部１３６によって生成された画像データを使用しない場合には、印刷ジョブに含まれる印刷データを用いて特定のページのレンダリング処理を行い、生成された画像データに基づいて当該特定のページの画像を印刷する。
【００６７】
このような処理により、印刷装置１０１に蓄積された（留め置かれた）印刷ジョブの印刷設定が変更された場合に、印刷指示前の先行レンダリング処理で生成された画像データを印刷に使用するか否かを適切に制御することが可能になる。
【００６８】
＜印刷指示後のレンダリング処理（Ｓ６０７）＞
次に、図７を参照して、印刷装置１０１において実行される、印刷指示後のレンダリング処理（Ｓ６０７）について、より具体的に説明する。図７は、本実施形態に係る、印刷指示後のレンダリング処理の手順を示すフローチャートであり、図２のＳ２１７に対応する処理手順を示している。
【００６９】
Ｓ７０１で、印刷実行部１３８は、Ｓ６０３における設定部１３２による更新後の印刷設定をＲＡＭ１２５から取得し、Ｓ７０２へ処理を進める。この印刷設定には、実行対象の印刷ジョブについての留め置き処理（図３（Ａ））の後に、操作パネル１１３を介して変更された印刷設定が反映されている。
【００７０】
Ｓ７０２で、印刷実行部１３８は、印刷制御部１３４又は留め置き制御部１３７から受信した、実行対象の印刷ジョブを解析し、当該印刷ジョブが、先行処理が行われた印刷ジョブであるか否かを判定する。この判定は、印刷実行部１３８は、印刷ジョブの書誌情報内の先行処理情報に含まれる、先行処理を実行済みであるか否かを示す情報に基づいて行われる。印刷実行部１３８は、解析した印刷ジョブが、先行処理が行われた印刷ジョブである場合にはＳ７０３へ処理を進め、先行処理が行われていない印刷ジョブである場合には、Ｓ７１３へ処理を進める。
【００７１】
Ｓ７０３〜Ｓ７１５では、実行対象の印刷ジョブに含まれる全ページ分のデータについて、１ページずつ順に処理対象として決定され、各ステップの処理が実行される。Ｓ７０３で、印刷実行部１３８は、対象ページが、先行処理が行われたページであるか否かを判定する。この判定は、印刷ジョブの書誌情報内の先行処理情報を用いて、処理結果情報４００に含まれる画像データ情報４０３を参照し、当該画像データ情報４０３に対象ページの情報が存在するか否かを判定することによって行われる。
【００７２】
Ｓ７０３で、印刷実行部１３８は、画像データ情報４０３に対象ページの情報が存在する場合には、対象ページが、先行処理が行われたページであると判定し、Ｓ７０４へ処理を進める。一方、印刷実行部１３８は、画像データ情報４０３に対象ページの情報が存在しない場合には、対象ページが、先行処理が行われていないページであると判定し、Ｓ７１３へ処理を進める。図４（Ｂ）の例では、第１及び第９ページについて、先行処理が行われたページであると判定される。
【００７３】
Ｓ７０４で、印刷実行部１３８は、Ｓ７０１において取得した（先行処理後に変更された）印刷設定と、処理結果情報４００に含まれる、先行処理の実行時の印刷設定とを比較する。これにより、印刷実行部１３８は、先行処理を適用不可能な印刷設定の変更が行われているか否かを判定する。印刷実行部１３８は、先行処理を適用不可能な印刷設定の変更が行われていない場合には、Ｓ７０５へ処理を進め、行われている場合には、Ｓ７１３へ処理を進める。
【００７４】
ここで、先行処理を適用不可能な印刷設定とは、レンダリング処理前に画像データに対して行われる処理の過程において参照されて当該画像データに適用される印刷設定に相当する。本実施形態では、例えば、テキスト又はラインの線幅を補正する線幅補正設定、及びカラーモードの設定（カラーモードとしてモノクロ印刷が指定されていた場合にカラー印刷に変更する場合）が、上記の印刷設定に相当する。なお、上記のようなカラーモードの設定が、先行処理を適用不可能な印刷設定に含まれるのは、モノクロ印刷が指定されていた場合に、中間データ生成部１４０がグレースケールに変換済みの中間データを生成する構成に起因している。このため、レンダリング処理後に画像処理回路１２９がカラーモードの処理を行う場合には、上記のようなカラーモードの設定は、先行処理を適用不可能な印刷設定に含まれなくてよい。
【００７５】
Ｓ７０５で、印刷実行部１３８は、対象ページ（特定のページ）の印刷処理において先行処理結果を使用（適用）するか否かを判定する処理を行う。具体的には、印刷実行部１３８は、印刷ジョブにおける対象ページの印刷データに含まれる描画コマンドに基づいて、当該対象ページのページタイプを特定する。とりわけ、以下の図８（Ａ）及び（Ｂ）は、印刷ジョブにおける対象ページの印刷データに含まれる所定の描画コマンドの数に基づいて、ページタイプを特定する例を示している。この所定の描画コマンドには、後述するように、所定の線幅よりも細いラインを描画するＰＤＬコマンドと、スケーラブルフォント形式のテキストを描画するＰＤＬコマンドとの少なくとも１つが含まれる。更に、印刷実行部１３８は、Ｓ７０１で取得した印刷設定と、特定したページタイプとに基づいて、当該対象ページの印刷に、先行レンダリング処理で生成された画像データを使用するか否かを決定する。
【００７６】
ここで、図８（Ａ）を参照して、Ｓ７０５における判定の詳細について説明する。図８（Ａ）に示す判定手順では、ＰＤＬコマンド統計情報４０４に基づいて先行処理結果を適用するか否かを判定する。本実施形態では、この判定は、Ｓ７０１において取得した（先行処理後に変更された）印刷設定と、先行処理の実行時の印刷設定との比較結果と、処理結果情報４００に含まれるＰＤＬコマンド統計情報４０４とに基づいて行われる。具体的には、ＰＤＬコマンドのベクタ特性を示すパラメータとして、細線、又はスケーラブルフォント形式のテキストが含まれているか否かを用いた判定を行う。
【００７７】
印刷実行部１３８は、Ｓ８０１で、判定結果を示すパラメータ値を「ＮＯ」に初期化した後、Ｓ８０２で、先行処理後に所定の印刷設定が変更されたか否かを判定する。この判定は、Ｓ７０１において取得した（先行処理後に変更された）印刷設定と、処理結果情報４００に含まれる、先行処理の実行時の印刷設定とを比較することによって行われる。
【００７８】
ここで、上述の所定の印刷設定の変更とは、画像の変倍処理を行うことを必要とする印刷設定の変更である。本実施形態では、印刷実行部１３８は、複数のページ（Ｎページ）を１枚のシートにレイアウトして印刷を行うページレイアウト設定（Ｎ−Ｕｐ設定）が変更されたか否かを判定する。なお、Ｎ−Ｕｐ設定の変更以外に、例えば、用紙サイズの変更、製本印刷の条件の変更等が行われたか否かが判定されてもよい。
【００７９】
印刷実行部１３８は、先行処理後にＮ−Ｕｐ設定が変更されていない場合には、Ｓ８０２からＳ８０５へ処理を進め、判定結果を示すパラメータ値を「ＹＥＳ」に設定し、処理を終了する。このように、画像の変倍処理を行うことを必要とする印刷設定の変更（本例では、Ｎ−Ｕｐ設定の変更）が行われていない（変倍処理を行うことを必要としない印刷設定の変更が行われた）ページについては、先行処理結果を適用することを示す判定結果が得られる。これは、先行処理結果を適用したとしても、先行処理後の印刷設定の変更が、形成（印刷）される画像の品質（印刷品質）に与える影響が少ないためである。
【００８０】
一方、印刷実行部１３８は、先行処理後にＮ−Ｕｐ設定が変更された場合には、Ｓ８０２からＳ８０３へ処理を進める。Ｓ８０３及びＳ８０４では、ＰＤＬコマンド統計情報４０４に基づく判定が行われる。
【００８１】
具体的には、印刷実行部１３８は、対象ページのＰＤＬデータにおける、線幅が２未満のライン（細線）を描画するＰＤＬコマンドの出現数、及びスケーラブルフォント形式のテキストを描画するＰＤＬコマンドの出現数を参照する。印刷実行部１３８は、細線に対応するコマンドの出現数が０を上回っているか（Ｓ８０３で「ＹＥＳ」）、又は、スケーラブルフォント形式のテキストに対応するコマンドの出現数が０を上回っている場合（Ｓ８０３で「ＹＥＳ」）、処理を終了する。このようにして、印刷実行部１３８は、対象ページのＰＤＬデータに、細線又はスケーラブルフォント形式のテキストに対応するＰＤＬコマンドが含まれていれば、先行処理結果を適用しないことを示す判定結果を生成する。
【００８２】
一方、印刷実行部１３８は、細線に対応するＰＤＬコマンドの出現数、及びスケーラブルフォント形式のテキストに対応するＰＤＬコマンドの出現数がいずれも０である場合（Ｓ８０３で「ＮＯ」及びＳ８０４で「ＮＯ」）、処理をＳ８０５へ進める。Ｓ８０５で、印刷実行部１３８は、判定結果を示すパラメータ値を「ＹＥＳ」に設定し、処理を終了する。このようにして、印刷実行部１３８は、細線に対応するＰＤＬコマンド及びスケーラブルフォント形式のテキストに対応するＰＤＬコマンドのいずれも含まれていなければ、先行処理結果を適用することを示す判定結果を生成する。
【００８３】
このように、印刷実行部１３８は、対象ページが、所定の描画コマンドを用いて画像データが生成されるタイプのページであるときには、先行処理部１３６によって生成された画像データを使用しない。なお、所定の描画コマンドには、細線に対応するＰＤＬコマンド及びスケーラブルフォント形式のテキストに対応するＰＤＬコマンドの少なくとも１つが含まれる。一方、対象ページが、所定の描画コマンドを用いずに画像データが生成されるタイプのページであるときには、先行処理部１３６によって生成された画像データを使用する。
【００８４】
図８（Ａ）の判定では、対象ページのＰＤＬデータに、上記のＰＤＬコマンドが１つでも含まれていれば、先行処理結果を適用しないことを示す判定結果を生成する処理を行っている。これに対し、図８（Ｂ）に示すように、対象ページのＰＤＬデータにおける上記のＰＤＬコマンドの出現数が所定の閾値ｎ以下であれば、先行処理結果を適用することを示す判定結果を生成する処理を行ってもよい。なお、図８（Ｂ）では、一例として閾値ｎ＝１０としているが、当該閾値は１０以外の値に設定されてもよい。
【００８５】
以下、図７に戻り、Ｓ７０６以降の処理について説明する。Ｓ７０６で、印刷実行部１３８は、Ｓ７０５において得られた判定結果に従って、先行処理結果を適用する場合にはＳ７０７へ処理を進め、先行処理結果を適用しない場合にはＳ７１３へ処理を進める。
【００８６】
《先行処理結果を適用する場合》
Ｓ７０７で、印刷実行部１３８は、ＰＤＬ解析部１３９に対して、ページ解析をスキップすべきことを通知する。ＰＤＬ解析部１３９は、受信した通知に従って、対象ページの解析処理を実行せずに（中間データ生成部１４０への通知を行わずに）次のページの解析処理に備える。このような処理により、先行処理部１３６による先行処理において実行された、対象ページの解析処理を、ＰＤＬ解析部１３９が重複して実行することを避けることが可能になる。これは、印刷処理における処理時間の短縮につながる。
【００８７】
次にＳ７０８で、印刷実行部１３８は、対象ページについての先行処理結果を、中間データ生成部１４０へ提供する。Ｓ７０８では、先行処理結果として、以下のデータが中間データ生成部１４０へ提供される。
・処理結果情報４００に含まれる画像データ情報４０３が示す、先行処理により得られた画像データ
・処理結果情報４００のヘッダ部４０２に含まれる、先行処理の実行時の印刷設定
・Ｓ７０１で取得された、先行処理後に変更された印刷設定
図４（Ｂ）に示す処理結果情報４００を用いた場合、印刷実行部１３８は、対象ページが第１及び第９ページである場合に、画像データ情報４０３に含まれるファイルパスに格納された画像データを、中間データ生成部１４０へ提供する。
【００８８】
このように、印刷実行部１３８が、ＰＤＬ解析部１３９を介さずに中間データ生成部１４０へ先行処理結果を提供することにより、ＰＤＬ解析部１３９によるＰＤＬ解析が行われないため、印刷処理の処理速度の向上につながる。
【００８９】
Ｓ７０９で、中間データ生成部１４０は、先行処理により得られた画像データから中間データを生成する際のパラメータ（生成パラメータ）を決定する。当該生成パラメータは、印刷実行部１３８から提供された、先行処理の実行時の印刷設定と、先行処理後に変更された印刷設定とを比較することによって決定される。
【００９０】
例えば、先行処理後にＮ−Ｕｐ設定が１−Ｕｐ設定から２−Ｕｐ設定に変更された場合には、中間データ生成部１４０は、先行処理により得られた画像データに対して回転、縮小及び原点移動を行うための座標変換パラメータを決定する。また、先行処理後にカラーモードがカラー印刷からモノクロ印刷に変更された場合には、中間データ生成部１４０は、先行処理により得られた画像データの出力色空間パラメータをＲＧＢからグレイに変更することにより、生成パラメータを決定する。
【００９１】
ここで、図９（Ａ）は、先行処理の実行時に、１−Ｕｐ設定でレイアウトされる画像９０２が、ページ９０１内に余白を設けて配置される例を示している。図９（Ｂ）は、印刷指示後に（仕上げの）レンダリング処理により、２−Ｕｐ設定でレイアウトされる画像９０３が、ページ９０４内の左半分の領域に配置される例を示している。ページ９０４内の右半分の領域には、次のページの画像９０５が配置される。中間データを生成する際の座標変換パラメータとして、画像９０２、及び２−Ｕｐ設定によるレイアウト後の画像９０３のそれぞれのサイズ及び余白サイズに基づく座標変換マトリクスが算出される。
【００９２】
なお、本実施形態では、ページレイアウトを変更する場合、中間データの生成パラメータを変更し、ＲＩＰ１２８により変倍処理を行う構成を用いているが、中間データを生成する際に予め変倍処理を行い、生成パラメータには等倍の値を設定してもよい。また、対象ページの次のページの画像９０５については、対象ページと同様に先行処理結果を適用する場合には、Ｓ７０７〜Ｓ７１０の処理により中間データが生成される。先行処理結果を適用しない場合には、後述するＳ７１３〜Ｓ３１５の処理において変更後の印刷設定に基づいてＰＤＬデータを解釈することにより、中間データが生成される。
【００９３】
その後、Ｓ７１０で、中間データ生成部１４０は、印刷実行部１３８から提供された先行処理結果と、Ｓ７０９において決定した生成パラメータとに基づいて、中間データを生成する。
【００９４】
《先行処理結果を適用しない場合》
Ｓ７０２、Ｓ７０３、Ｓ７０４又はＳ７０６からＳ７１３へ処理を進めた場合、Ｓ７１３で、印刷実行部１３８は、ＰＤＬ解析部１３９に対して、対象ページの解析処理を実行すべきことを通知する。ＰＤＬ解析部１３９は、受信した通知に従って、対象ページの解析処理を実行する。解析処理が完了すると、Ｓ７１４で、ＰＤＬ解析部１３９は、対象ページの解析結果を中間データ生成部１４０へ提供する。その後、Ｓ７１５で、中間データ生成部１４０は、ＰＤＬ解析部１３９による解析結果に基づいて、中間データを生成する。
【００９５】
Ｓ７１０又はＳ７１５において中間データ生成部１４０によって中間データが生成されると、Ｓ７１１で、印刷実行部１３８は、ＲＩＰ１２８を制御して、生成された中間データのレンダリング処理を行う。このレンダリング処理により、対象ページについての印刷用の画像データ（描画データ）が生成される。その後、Ｓ７１２で、印刷実行部１３８は、印刷ジョブに含まれる全ページの処理が完了したか否かを判定し、完了した場合には処理を終了する。一方、印刷実行部１３８は、全ページの処理が完了していない場合には、Ｓ７０２へ処理を戻し、次のページの処理を実行することで、全ページの処理が完了するまで上述の処理を繰り返す。
【００９６】
図９（Ｃ）は、先行処理（先行レンダリング処理）において１−Ｕｐ設定で生成された、スケーラブルフォント形式のテキストの画像の例を示す図である。図９（Ｄ）及び図９（Ｅ）は、ページレイアウト設定が１−Ｕｐ設定から２−Ｕｐ設定に変更された場合に生成される画像の例を示す図である。特に、図９（Ｄ）は、先行レンダリング処理で生成された図９（Ｃ）の画像を、面積平均法等の既知の補完方法を用いて縮小することにより、２−Ｕｐ設定で生成された画像を示している。即ち、図９（Ｃ）の画像は、Ｓ７０７〜Ｓ７１１の処理により得られる画像に相当する。図９（Ｅ）は、スケーラブルフォント形式のテキストに対応するＰＤＬコマンドに基づくレンダリング処理により、２−Ｕｐ設定で生成された画像を示している。即ち、図９（Ｅ）の画像は、Ｓ７１３〜Ｓ７１５の処理により得られる画像に相当する。
【００９７】
図９（Ｄ）及び図９（Ｅ）を比較すると、印刷設定の変更後の画像データを、先行処理結果（画像データ）に基づいて生成する場合と、ＰＤＬデータ（ＰＤＬコマンド）から改めて生成する場合とで、異なる印刷品質の画像が生成されている。また、図９（Ｄ）の画像は、図９（Ｅ）の画像よりも印刷品質の低下が生じている。
【００９８】
本実施形態では、対象ページが、スケーラブルフォント形式のテキストに対応するＰＤＬコマンド（所定の描画コマンド）を用いて画像データが生成されるタイプのページである場合、先行レンダリング処理で生成された画像データは印刷に使用されない。この場合、印刷ジョブに含まれるＰＤＬデータを用いて改めて対象ページのレンダリングを行い、生成された画像データが印刷に使用される。即ち、上記の例では、図９（Ｄ）の画像ではなく、図９（Ｅ）の画像が印刷結果として得られることになる。したがって、上述のような印刷品質の低下が生じることを防止できる。また、先行レンダリング処理を行ったページと、先行レンダリング処理を行っていないページとで、印刷品質に差異が生じることを防止できる。
【００９９】
以上説明したように、本実施形態では、印刷装置１０１は、外部装置から受信した印刷ジョブを、留め置き印刷のために保存する。印刷装置１０１は、保存した印刷ジョブの実行指示（印刷指示）をユーザから受ける前に、当該印刷ジョブにおける特定のページの先行レンダリング処理を行って画像データを生成する。印刷装置１０１は、ログインしたユーザから、印刷ジョブに適用する印刷設定の入力をユーザから受け付けると、当該印刷ジョブにおける、先行レンダリング処理が行われたページのタイプを特定する。更に、印刷装置１０１は、ユーザから印刷指示を受けると、入力された印刷設定に従って印刷ジョブを実行する。その際、印刷装置１０１は、入力された印刷設定と、特定したページタイプとに基づいて、先行レンダリング処理が行われたページの印刷に、先行レンダリング処理で生成された画像データを使用するか否かを決定する。
【０１００】
本実施形態によれば、印刷装置１０１内に印刷ジョブを蓄積（保存）した後に印刷設定が変更された場合に、印刷指示前の先行レンダリング処理で生成された画像データを印刷に使用するか否かを適切に制御することが可能になる。これにより、変更された印刷設定と先行レンダリング処理が行われたページの内容（ページタイプ）との組み合わせに起因して、先行レンダリング処理で生成された画像データの使用により印刷品質の低下が生じることを防止できる。また、先行レンダリング処理を行ったページと、先行レンダリング処理を行っていないページとで、印刷品質に差異が生じることを防止できる。更に、印刷指示後のレンダリング処理を実行する際に、可能な限り先行処理結果を適用することによって、印刷完了までのユーザの待ち時間を低減できる。
【０１０１】
［第２の実施形態］
第１の実施形態の印刷装置では、留め置いた印刷ジョブに対する印刷設定が変更された場合に、当該印刷ジョブに含まれる所定のＰＤＬコマンドの数に基づいて特定したページタイプに基づいて、先行処理結果を適用するか否かを判定（決定）している。これに対し、例えば、異なる複数のＰＤＬを解釈可能な印刷装置においては、ＰＤＬの仕様の差異を利用して（即ち、ＰＤＬの種別に応じて）先行処理結果を適用するか否かを判定してもよい。第２の実施形態の印刷装置１０１は、印刷ジョブで使用されているＰＤＬの種別（タイプ）を、ページタイプとして特定し、特定したページタイプと変更された印刷設定とに基づいて、先行処理結果を適用するか否かを判定する。以下では、第１の実施形態と共通する部分については説明を省略し、主に第１の実施形態との相違点について説明する。
【０１０２】
本実施形態では、印刷ジョブに対する先行処理は、第１の実施形態と同様の手順（図４（Ａ））で実行される。ただし、ＰＤＬコマンド統計情報は不要であるため、ＰＤＬコマンド統計情報を取得するＳ４０２の処理は省略される。また、図４（Ｂ）に示す処理結果情報４００には、ＰＤＬコマンド統計情報４０４が含まれない。
【０１０３】
本実施形態では、印刷指示後のレンダリング処理は、第１の実施形態と同様の手順（図７）で実行される。ただし、Ｓ７０５において、印刷実行部１３８は、対象ページの印刷処理において先行処理結果を使用（適用）するか否かを判定する処理を、図１０に示す手順で行う。
【０１０４】
図１０に示す判定手順において、Ｓ１００１及びＳ１００２の処理は、Ｓ８０１及びＳ８０２の処理と同様である。本実施形態では、印刷実行部１３８は、先行処理後にＮ−Ｕｐ設定が変更された場合には、Ｓ１００２からＳ１００３へ処理を進める。Ｓ１００３で、印刷実行部１３８は、図３（Ｃ）に示すような、実行対象の印刷ジョブの書誌情報に含まれるＰＤＬ種別を参照し、当該ＰＤＬ種別が、先行処理結果を適用可能なＰＤＬ種別であるか否かを判定する。
【０１０５】
例えば、印刷実行部１３８は、ＰＤＬ種別として、スケーラブルフォント形式をサポートしていないＰＤＬ、ＪＰＥＧ又はＴＩＦＦ等の画像を処理するダイレクトプリント、及びＰＣ１０４側でレンダリング処理を行うホストベースプリントを、先行処理結果を適用可能なＰＤＬ種別として扱う。なお、先行処理結果を適用可能なＰＤＬ種別は、ユーザによる設定に従って定められてもよい。
【０１０６】
印刷実行部１３８は、実行対象の印刷ジョブの書誌情報に含まれるＰＤＬ種別が、先行処理結果を適用可能なＰＤＬ種別である場合、Ｓ１００４へ処理を進め、適用可能ではないＰＤＬ種別である場合、処理を終了する。Ｓ１００４で、印刷実行部１３８は、判定結果を示すパラメータ値を「ＹＥＳ」に設定し、処理を終了する。
【０１０７】
本実施形態によれば、対象ページの印刷処理において先行処理結果を適用するか否かを、ＰＤＬ種別に基づいて決定するため、第１の実施形態のように、ＰＤＬコマンド統計情報の取得が不要になる。このため、より高速かつ簡易に先行処理結果を適用するか否かを判定することが可能である。
【０１０８】
なお、先行処理結果を適用するか否かの判定基準として、第１の実施形態における基準と第２の実施形態における基準とが組み合わせてもよい。例えば、先行処理結果を適用できない種別のＰＤＬが使用されていない印刷ジョブについて、第１の実施形態における判定（図８）を更に実行してもよい。
【０１０９】
［第３の実施形態］
第１の実施形態では、対象ページが、スケーラブルフォント形式のテキストに対応するＰＤＬコマンドを用いて画像データが生成されるタイプのページである場合、Ｎ−Ｕｐ設定の変更に対して、先行処理結果を適用しないと判定（決定）している。この判定は、例えば、スケーラブルフォント形式のテキストが含まれるページであっても、サイズが所定のサイズより小さいテキスト（文字）が含まれていない場合には、先行処理結果を適用すると判定するように変更されてもよい。第２の実施形態では、印刷ジョブにおける対象ページの印刷データに含まれる、スケーラブルフォント形式のテキストを描画するＰＤＬコマンドと、当該ＰＤＬコマンドにより描画されるテキストのサイズとに基づいて、対象ページのページタイプを特定する。以下では、第１の実施形態と共通する部分については説明を省略し、主に第１の実施形態との相違点について説明する。
【０１１０】
本実施形態では、印刷指示後のレンダリング処理は、第１の実施形態と同様の手順（図７）で実行される。ただし、Ｓ７０５において、印刷実行部１３８は、対象ページの印刷処理において先行処理結果を使用（適用）するか否かを判定する処理を、図１１に示す手順で行う。
【０１１１】
図１１に示す判定手順において、Ｓ１１０１〜Ｓ１１０５の処理は、Ｓ８０１〜Ｓ８０５の処理と同様である。ただし、Ｓ１１０４で、印刷実行部１３８は、対象ページのＰＤＬデータにおける、スケーラブルフォント形式のテキストに対応するＰＤＬコマンドの出現数が０を上回っている場合、Ｓ１１０６へ処理を進める。
【０１１２】
Ｓ１１０６で、印刷実行部１３８は、対象ページのＰＤＬデータにおける、文字サイズ（ポイントサイズ）が所定のサイズ（本例では５ｐｔ）未満の、スケーラブルフォント形式のテキスト（文字）を描画するＰＤＬコマンドの出現数を判定する。なお、この所定のサイズは、５ｐｔに限らず、プリント機構１１１のエンジン特性等に基づいて変更されてもよい。印刷実行部１３８は、上記のＰＤＬコマンドの出現数が０を上回っている場合、処理を終了し、当該出現数が０である場合、Ｓ１１０５へ処理を進める。Ｓ１１０５で、印刷実行部１３８は、先行処理結果を適用すると判定する。
【０１１３】
このように、対象ページのＰＤＬデータにおける、所定サイズ（本例では５ｐｔ）未満の文字サイズに対応するＰＤＬコマンドが、対象ページのＰＤＬデータに含まれていなければ、印刷実行部１３８は、先行処理結果を適用すると判定する。なお、本実施形態では、ＰＤＬコマンド統計情報４０４の取得時に、スケーラブルフォント形式のテキストの文字サイズも調べ、所定サイズ未満の文字サイズに対応するＰＤＬコマンドの出現回数をカウントしておく。
【０１１４】
本実施形態によれば、対象ページのＰＤＬデータにおける、所定のＰＤＬコマンドの出現数のみではなく、当該ＰＤＬコマンドによって描画されるオブジェクトの大きさも考慮する。これにより、先行処理結果である画像データに対して変倍処理を行っても、印刷品質への影響が小さい場合に、対象ページの印刷処理において先行処理結果を適用する制御を行う。これにより、先行処理結果が適用される頻度を高めることができ、印刷完了までのユーザの待ち時間をより低減することが可能になる。
【０１１５】
［第４の実施形態］
第３の実施形態では、第１乃至第３の実施形態の変形例として、印刷設定の変更に伴う変倍処理における変倍率も考慮して、対象ページの印刷処理において先行処理結果を適用するか否かを判定する例について説明する。具体的には、印刷装置１０１は、対象ページが、所定のＰＤＬコマンドを用いて画像データが生成されるタイプのページであっても、印刷設定の変更に伴う変倍処理における変倍率が所定の範囲内であれば、先行処理結果を適用すると判定する。一方、印刷装置１０１は、当該変倍率が、所定の範囲の上限値を上回る場合、及び当該所定の範囲の下限値を下回る場合には、先行処理結果を適用しないと判定する。このような適用判定により、先行処理結果が適用される頻度を高めることが可能になる。以下では、主に第３の実施形態との相違点について説明する。
【０１１６】
本実施形態では、印刷指示後のレンダリング処理は、第３の実施形態と同様の手順（図７）で実行される。ただし、Ｓ７０５において、印刷実行部１３８は、対象ページの印刷処理において先行処理結果を使用（適用）するか否かを判定する処理を、図１２に示す手順で行う。
【０１１７】
図１２に示す判定手順において、Ｓ１２０１〜Ｓ１２０６の処理は、Ｓ１１０１〜Ｓ１１０６の処理と同様である。ただし、Ｓ１２０３で、印刷実行部１３８は、対象ページのＰＤＬデータにおける、細線に対応するコマンドの出現数が０を上回っている場合、Ｓ１２０７へ処理を進める。また、Ｓ１２０６で、印刷実行部１３８は、対象ページのＰＤＬデータにおける、文字サイズが所定のサイズ未満の、スケーラブルフォント形式のテキストに対応するＰＤＬコマンドの出現数が０を上回っている場合、Ｓ１２０７へ処理を進める。
【０１１８】
Ｓ１２０７で、印刷実行部１３８は、Ｓ７０１において取得した（先行処理後に変更された）印刷設定と、処理結果情報４００に含まれる、先行処理の実行時の印刷設定とを比較する。当該比較により、印刷実行部１３８は、印刷設定の変更に伴う変倍処理の変倍率を求める。例えば、先行処理の実行時のページレイアウト設定が１−ＵＰ設定であり、この設定が先行処理後に４−Ｕｐ設定に変更された場合、変倍率は０．５と算出される。なお、説明の簡略化のため省略しているが、ページの余白を考慮すると、変倍率は多少変化する。
【０１１９】
印刷実行部１３８は、更に、算出した変倍率が所定の範囲（本例では、０．５以上かつ２以下の範囲）に含まれるか否かを判定する。印刷実行部１３８は、算出した変倍率が所定の範囲に含まれていない場合には、処理を終了する。一方、印刷実行部１３８は、算出した変倍率が所定の範囲に含まれる場合には、Ｓ１２０５へ処理を進め、先行処理結果を適用すると判定する。
【０１２０】
本実施形態によれば、印刷設定の変更に伴う変倍処理における変倍率も考慮して、対象ページの印刷処理において先行処理結果を可能な限り適用する制御を行う。これにより、先行処理結果が適用される頻度を高めることができ、印刷完了までのユーザの待ち時間をより低減することが可能になる。
【０１２１】
［第５の実施形態］
第５の実施形態では、第１乃至第４の実施形態の変形例として、先行レンダリング処理で生成された画像データにおける画素単位のオブジェクト属性情報を用いて、対象ページの印刷処理において先行処理結果を適用するか否かを判定する例について説明する。具体的には、ＲＩＰ１２８は、先行レンダリング処理で生成された画像データにおける画素単位のオブジェクト属性を示すオブジェクト属性情報を生成する。印刷実行部１３８は、生成されたオブジェクト属性情報に基づいて、対象ページのページタイプを特定する。以下では、第１の実施形態と共通する部分については説明を省略し、主に第１の実施形態との相違点について説明する。
【０１２２】
図１３は、画像データの１画素に相当するオブジェクト属性情報の例を示す図である。ＲＩＰ１２８は、中間データをレンダリングして生成した画像データの各画素に対応させたプレーン画像として、オブジェクト属性情報を生成する。１画素分のオブジェクト属性情報は、１バイトで表現され、各ビットにオブジェクトの種別が割り当てられる。本実施形態では、ＬＳＢ（ｂｉｔ０）から順に、イメージ（IMG）、テキスト１（TXT1）、テキスト２（TXT2）、グラフィック（GRF）、細線（TLN）、小サイズ文字（STXT）の６属性が割り当てられている。なお、ｂｉｔ６、ｂｉｔ７は未使用である。
【０１２３】
オブジェクト属性情報は、中間データ生成部１４０が生成した中間データに含まれる描画オブジェクトの情報に基づいて、ＲＩＰ１２８によってレンダリング時に生成される。中間データ生成部１４０は、中間データの生成において、スケーラブルフォント形式のテキストを描画する際にはTXT1属性を、ビットマップ形式のテキストを描画する際にはTXT2属性を設定する。また、中間データ生成部１４０は、ラインを描画する際には、線幅が２未満であればTLN（Thin Line）属性を、線幅が２以上であればGRF属性を設定する。
【０１２４】
オブジェクト属性情報は、ＲＩＰ１２８がレンダリング処理時に画像データと合わせて生成し、オブジェクト種別に応じて画像処理を切り替えるために画像処理回路１２９によって参照される。本実施形態の印刷実行部１３８は、Ｓ７０５において、上述のように生成されたオブジェクト属性情報に基づいて、対象ページのページタイプを特定し、先行処理結果を適用するか否かを判定する。印刷実行部１３８は、オブジェクト属性情報から成るプレーン画像をスキャンし、TXT1又はTLN属性を示すビットが１となっている画素が存在するか否かを判定すればよい。
【０１２５】
本実施形態によれば、第１及び第３の実施形態のように、ＰＤＬコマンド統計情報を取得することなく、対象ページのページタイプを特定することが可能になる。なお、バンド分割された一部の領域単位で画像データが生成される場合、先行処理結果を適用するか否かの判定は、領域単位で行われてもよく、この場合、オブジェクト属性情報の判定も領域単位で行われる。
【０１２６】
［その他の実施形態］
上述の各実施形態では、ＰＤＬデータの特徴およびＰＤＬ種別、または印刷設定変更の差分情報（変倍率）を基に先行処理結果の適用可否を判定したが、さらに操作パネル１１３等から設定されるメニュー設定値に応じてユーザが選択できるようにしてもよい。
【０１２７】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０１２８】
１０１〜１０３：印刷装置（画像形成装置）、１０４：ＰＣ、１０５：ＬＡＮ
１１０：コントローラ、１１１：プリント機構、１１２：カードリーダ、１１３：操作パネル、１２３：ＣＰＵ、１２４：ＨＤＤ、１２４：ＲＡＭ、１２６：ＲＯＭ、１２８：ＲＩＰ、１２９：画像処理回路、１３１：認証部、１３２：設定部、１３３：書誌管理部、１３５：ジョブ解析部、１３６：先行処理部、１３７：留め置き制御部、１３８：印刷実行部、１３９：ＰＤＬ解析部、１４０：中間データ生成部
【図１】
2019093559.tif 000003
【図２】
2019093559.tif 000004
【図３】
2019093559.tif 000005
【図４】
2019093559.tif 000006
【図５】
2019093559.tif 000007
【図６】
2019093559.tif 000008
【図７】
2019093559.tif 000009
【図８】
2019093559.tif 000010
【図９】
2019093559.tif 000011
【図１０】
2019093559.tif 000012
【図１１】
2019093559.tif 000013
【図１２】
2019093559.tif 000014
【図１３】
2019093559.tif 000015