(57)【要約】【課題】ＰＤＬデータの複数ページを並列で処理する画像形成装置におけるＰＤＬデータの処理状況を適切にユーザに提示すること。【解決手段】ＰＤＬデータの複数ページを並列で処理する画像形成装置１０１は、出力モードとして、印刷データの処理と印刷出力を並行して実行する第１出力モード(RIP while Print)、又は、全ページについて印刷データの処理が完了してから印刷出力を実行する第２出力モード(RIP then Print)の設定入力をユーザから受け付けて、不揮発性メモリに保持しておく。そして、画像形成装置１０１は、出力モードが第１出力モードの場合、ＰＤＬデータの処理が完了したページの中で、連続出力可能ページ数として１ページ目から連続したページ番号の最大値を特定できる情報をユーザに提示する。また、出力モードが第２出力モードの場合、展開済ページ数としてＰＤＬデータの処理が完了しているページの数を特定できる情報をユーザに提示する。【選択図】図１
2013001059.tif 000002
【特許請求の範囲】
【請求項１】
複数の印刷データ処理手段により印刷データの複数のページを並列で処理して印刷出力を実行する画像形成装置であって、
出力モードとして、印刷データの処理と印刷出力を並行して実行する第１出力モード、又は、全ページについて印刷データの処理が完了してから印刷出力を実行する第２出力モードの設定入力をユーザから受け付けて、設定保持手段に保持する設定手段と、
前記設定保持手段に保持されている出力モードが前記第１出力モードの場合、前記印刷データの処理が完了したページの中で、１ページ目から連続したページ番号の最大値を特定できる第１情報をユーザに提示する第１提示手段と、
前記設定保持手段に保持されている出力モードが前記第２出力モードの場合、前記印刷データの処理が完了しているページの数を特定できる第２情報をユーザに提示する第２提示手段と、
を有することを特徴とする画像形成装置。
【請求項２】
前記第１提示手段は、各印刷データ処理手段が処理完了したページ番号の中で、１から連続したページ番号の最大値を前記第１情報としてユーザに提示し、
前記第２提示手段は、各印刷データ処理手段が処理完了したページ番号の総数を前記第２情報としてユーザに提示する、ことを特徴とする請求項１に記載の画像形成装置。
【請求項３】
複数の印刷データ処理手段により印刷データの複数のページを並列で処理して印刷出力を実行する画像形成装置であって、
前記印刷データの処理が完了したページの中で、１ページ目から連続したページ番号の最大値を特定できる第１情報と、前記印刷データの処理が完了しているページの数を特定できる第２情報とを、ユーザに提示する提示手段を有することを特徴とする画像形成装置。
【請求項４】
前記示手段は、各印刷データ処理手段が処理完了したページ番号の中で、１から連続したページ番号の最大値を前記第１情報としてユーザに提示し、各印刷データ処理手段が処理完了したページ番号の総数を前記第２情報としてユーザに提示する、ことを特徴とする請求項３に記載の画像形成装置。
【請求項５】
前記提示手段は、前記印刷データの総ページ数又は前記印刷データの処理が完了したページ番号の最大値を最大ページ番号とし、該最大ページ番号に対する、各印刷データ処理手段の処理中の各ページ番号の各相対位置をメーター表示し、前記処理中のページ番号の最小値の表示位置により前記第１情報を提示し、各処理中のページ番号の表示位置により前記第２情報を提示する、ことを特徴とする請求項３に記載の画像形成装置。
【請求項６】
前記提示手段は、前記印刷データの総ページ数又は前記印刷データの処理が完了したページ番号の最大値を最大ページ番号とし、該最大ページ番号に対する、各印刷データ処理手段の処理中の各ページ番号のうち、最小値と最大値の各相対位置をメーター表示し、前記処理中のページ番号の最小値の表示位置により前記第１情報を提示し、前記処理中のページ番号の最大値の表示位置により前記第１情報を提示する、ことを特徴とする請求項３に記載の画像形成装置。
【請求項７】
前記提示手段は、印刷データに含まれる総ページ数を取得できた場合には、前記総ページ数を前記最大ページ番号とし、前記総ページ数を取得できない場合には、前記印刷データの処理が完了したページ番号の最大値を最大ページ番号とする、ことを特徴とする請求項６に記載の画像形成装置。
【請求項８】
前記印刷データは、ページ記述言語で記述されたデータであり、
前記複数の印刷データ処理手段は、前記印刷データを画像データに展開するための処理を行う、ことを特徴とする請求項１乃至７のいずれか１項に記載の画像形成装置。
【請求項９】
複数の印刷データ処理手段により印刷データの複数のページを並列で処理して印刷出力を実行する画像形成装置の制御方法であって、
設定手段が、出力モードとして、印刷データの処理と印刷出力を並行して実行する第１出力モード、又は、全ページについて印刷データの処理が完了してから印刷出力を実行する第２出力モードの設定入力をユーザから受け付けて、設定保持手段に保持する設定ステップと、
第１提示手段が、前記設定保持手段に保持されている出力モードが前記第１出力モードの場合、前記印刷データの処理が完了したページの中で、１ページ目から連続したページ番号の最大値を特定できる第１情報をユーザに提示する第１提示ステップと、
第２提示手段が、前記設定保持手段に保持されている出力モードが前記第２出力モードの場合、前記印刷データの処理が完了しているページの数を特定できる第２情報をユーザに提示する第２提示ステップと、
を有することを特徴とする画像形成装置の制御方法。
【請求項１０】
複数の印刷データ処理手段により印刷データの複数のページを並列で処理して印刷出力を実行する画像形成装置の制御方法であって、
提示手段が、前記印刷データの処理が完了したページの中で、１ページ目から連続したページ番号の最大値を特定できる第１情報と、前記印刷データの処理が完了しているページの数を特定できる第２情報とを、ユーザに提示する提示ステップを有することを特徴とする画像形成装置の制御方法。
【請求項１１】
コンピュータを、請求項１乃至８のいずれか１項に記載された画像形成装置の手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置の印刷データ処理状況の表示に関する。
【背景技術】
【０００２】
ＭＦＰ（Multifunction Peripheral）に代表される印刷装置などの画像形成装置では、コピーやページ記述言語（ＰＤＬ）を用いた印刷を行える。コピーを行う場合、画像形成装置における各ページの画像展開処理に大きな差が発生することはないため、ユーザはコピー対象のドキュメントのページ数からおおよその出力時間を把握することが可能である。
【０００３】
一方、ＰＤＬを用いた印刷を行う場合、画像形成装置における各ページの画像展開処理は１秒以下から数十秒、場合によっては１時間を要するなど大きな差が発生することがある。この差は、各ページ中の情報量、情報複雑度によってプロセッサの演算時間が大きく変わることで生ずる。これにより、ＰＤＬの印刷に関しては、ユーザが、予め出力時間を知ることは困難であるという問題がある。
【０００４】
この問題への対応として、画像形成装置が、受信したＰＤＬデータの未出力ページ数をユーザに提示する技術が提案されている（特許文献１）。
この技術は、ＰＤＬコマンドの解析と印刷処理状況から未出力ページ数を算出し、その情報を画像形成装置のユーザインターフェースに表示することで、ユーザにＰＤＬの印刷状況を把握させるものである。ユーザは、未出力ページ数情報と実際の出力状況からＰＤＬの画像展開処理状況を把握可能となる。
【０００５】
これにより、ユーザは、ＰＤＬ印刷時に予め出力時間を知ることは困難ではあるものの、画像展開処理状況に応じた適切なアクションを行うことが可能となる。
例えば、ＰＯＤ印刷などに代表される印刷オペレータが、画像展開処理状況を見て、プレスやポストプレスの作業工程の優先度を変える、などが考えられる。また、基幹印刷システムを構築するようなＰＤＬに造詣の深いユーザが、画像展開処理に大きく時間のかかるページのデータ構成を見直す、といったことも考えられる。このような観点で、特にエキスパートユーザに対し、適切なＰＤＬの画像展開処理状況を提示する機能は重要である。
【０００６】
また、近年、ハードウェア技術の向上により、マルチコアのＣＰＵが開発され、パーソナルコンピュータ等では、複数のアプリケーションを同時実行可能となっている。
ＭＦＰなどの画像形成装置においても、コピー、ＰＤＬ印刷等の複数の機能をストレスなく並列実行するために、マルチコアのＣＰＵが搭載されるようになってきている。このようなＭＦＰでは、ＰＤＬデータの印刷を行う場合、マルチコアのＣＰＵにより、各ページをそれぞれ並列に画像展開処理し、高速に処理することが可能となる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平５−２０８５４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかし、上述のようなＰＤＬの画像展開処理を並列で行う場合、非同期にＰＤＬの画像展開処理が行われことで、展開後画像がドキュメントのページ順に生成される保証がなくなる。上述した従来の画像展開処理状況をユーザに提示する技術では、ページ並列処理を想定したものでないため、印刷の設定によっては正しい状況をユーザに提示することができない可能性がある。
【０００９】
本発明は、上記の問題点を解決するためになされたものである。本発明の目的は、ＰＤＬデータの複数ページを並列で処理する画像形成装置におけるＰＤＬの処理状況を適切にユーザに提示する仕組みを提供することである。
【課題を解決するための手段】
【００１０】
本発明は、複数の印刷データ処理手段により印刷データの複数のページを並列で処理して印刷出力を実行する画像形成装置であって、出力モードとして、印刷データの処理と印刷出力を並行して実行する第１出力モード、又は、全ページについて印刷データの処理が完了してから印刷出力を実行する第２出力モードの設定入力をユーザから受け付けて、設定保持手段に保持する設定手段と、前記設定保持手段に保持されている出力モードが前記第１出力モードの場合、前記印刷データの処理が完了したページの中で、１ページ目から連続したページ番号の最大値を特定できる第１情報をユーザに提示する第１提示手段と、前記設定保持手段に保持されている出力モードが前記第２出力モードの場合、前記印刷データの処理が完了しているページの数を特定できる第２情報をユーザに提示する第２提示手段と、を有することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、印刷データの複数ページを並列で処理する画像形成装置におけるＰＤＬデータの処理状況を適切にユーザに提示することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の一実施例を示す画像形成装置１０１のシステム構成の一例を示す図である。
【図２】画像形成装置１０１のソフトウェア構成の一例を示す図である。
【図３】本発明におけるＰＤＬデータの構成の一例を示す図である。
【図４】ＰＤＬ出力モード設定を行う画面（ＰＤＬ出力モード設定画面）の一例を示す図である。
【図５】ＰＤＬ出力モード設定処理の一例を示すフローチャートである。
【図６】実施例１におけるＰＤＬの画像展開処理状況画面の一例を示す図である。
【図７】実施例１におけるＰＤＬの画像展開処理状況画面の一例を示す図である。
【図８】実施例１におけるＰＤＬ印刷処理の一例を示すフローチャートである。
【図９】図８のＳ７０４に示すＰＤＬジョブ処理の一例を示すフローチャートである。
【図１０】実施例１における図９のＳ８０６に示す画像展開状況表示処理の詳細の一例を示すフローチャートである。
【図１１】実施例２におけるＰＤＬの画像展開処理状況画面の一例を示す図である。
【図１２】図１１に示したプログレスバーを描画する際に用いる座標値を示す一例である。
【図１３】実施例２におけるＰＤＬ印刷処理の一例を示すフローチャートである。
【図１４】実施例２における図９のＳ８０６に示す画像展開状況表示処理の詳細の一例を示すフローチャートである。
【発明を実施するための形態】
【００１３】
従来の画像展開処理状況をユーザに提示する技術は、ページ並列処理を想定したものでないため、上述のようなマルチコアのＣＰＵが搭載される画像形成装置においては、以下に述べる課題が発生する。
【００１４】
例えば、１０００ページのＰＤＬデータがあったとし、３ページ目の画像展開処理に１０分を要するが、それ以外のページの画像展開処理は各０．５秒程度である場合を考える。
【００１５】
デュアルコアＣＰＵが搭載される画像形成装置では、２並列の画像展開処理が行われることとなる。ＰＤＬデータを投入してすぐに３ページ目の画像展開処理でＣＰＵのコアを占有し、もう１つのコアで４ページ目以降の残り全てのページの画像展開処理を行う状況が生ずる。そして、８分過ぎには、３ページ目の画像展開処理を継続中で、残りの全てのページの画像展開処理が完了していることとなる。
【００１６】
この時、ユーザに提供される画像展開処理情報の表示としては、展開済みページ数が９９９ページ分の処理が終わっているので「９９９」で止まっているか、３ページ目の処理が終わっていないので「２」で止まっているかの、何れかになる。
【００１７】
ここで、画像形成装置では、ＰＤＬ出力モードを、ＲＩＰ ｗｈｉｌｅ Ｐｒｉｎｔで行うかＲＩＰ ｔｈｅｎ Ｐｒｉｎｔで行うかを選択可能である。
ＲＩＰ ｗｈｉｌｅ Ｐｒｉｎｔとは、画像形成装置が、画像展開処理と印刷処理を並行して実行するモード（第１出力モード）であり、１ページ目の画像展開処理が終わるとすぐに１ページ目の印刷処理を開始する。ＲＩＰ ｔｈｅｎ Ｐｒｉｎｔとは、画像形成装置が、投入されたＰＤＬの全てのページの画像展開処理を終えた後に印刷処理を実行するモード（第２出力モード）であり、上記例では１０００ページの画像展開処理が完了するまで印刷処理は開始されない。
【００１８】
上記例で、ＰＤＬ出力モードがＲＩＰ ｗｈｉｌｅ Ｐｒｉｎｔで、展開済みページ数が「９９９」と表示された場合、印刷処理が２ページ目排紙時点で停止しているにも関わらず画面表示は「９９９」となっている。このため、ユーザが機器の不具合と判断してしまう恐れがある。
【００１９】
また、ＰＤＬ出力モードがＲＩＰ ｔｈｅｎ Ｐｒｉｎｔで、展開済みページ数が「２」と表示された場合、３ページ目の画像展開処理が終わった直後に表示が「２」から「１０００」に飛び、ユーザは正確な画像展開処理状況を把握できないこととなる。
【００２０】
本発明では、ＰＤＬを並列で処理するプリンタにおいて、ＰＤＬ出力モードの設定に応じて適切なＰＤＬの処理状況をユーザに伝えることを目的とする。
以下、本発明を実施するための形態について図面を用いて説明する。
【実施例１】
【００２１】
図１は、本発明の一実施例を示す画像形成装置１０１のシステム構成の一例を示す図である。
１０１は画像形成装置である。２０４はマルチコアの中央演算処理装置（以下、ＣＰＵ）で、画像形成装置１０１の演算処理や制御などを並列で行うことができる。
【００２２】
２０１はＲＯＭで、画像形成装置１０１におけるＣＰＵ２０４の制御コードを格納する。ＲＯＭ２０１は、受信部２１１、解析部２１２、中間コード生成部２１３、展開処理部２１４、ジョブ管理・ＵＩ制御部２１５、及び、不図示のオペレーティングシステム（ＯＳ）等のプログラムをコンピュータ読取可能に記録している。これらのプログラムをＣＰＵ２０４が読み出して実行することにより、後述する図２に示すソフトウェアモジュールを実体化する。
【００２３】
２０２はＲＡＭで、様々な情報を一時格納する。ＲＡＭ２０２は、受信バッファ２２１、ワークメモリ２２２、フレームバッファ２２３、ラスタメモリ２２４を有する。２０３はネットワークＩ／Ｆで、外部デバイスと情報の入出力を行うためのものであり、例えば、外部デバイスから送信された印刷データを受信する。
【００２４】
受信部２１１は、受信バッファ２２１から読み出した印刷データからＰＤＬ（Ｐａｇｅ Ｄｉｓｃｒｉｐｔｉｏｎ Ｌａｎｇｕａｇｅ；ページ記述言語）を特定し、ＰＤＬデータをワークメモリ２２２に入れ、解析部２１２にＰＤＬデータを渡す。解析部２１２は、受信部２１１から渡されたＰＤＬデータをワークメモリ２２２から読み出し、コマンドを解析する。中間コード生成部２１３は、解析部２１２において解析したデータから描画を行なうための内部情報である中間コードを生成し、フレームバッファ２２３に格納する。
【００２５】
展開処理部２１４は、フレームバッファ２２３に格納された中間コードを画像データ（ビットマップ）に展開し、ビットマップをラスタメモリ２２４に格納する。なお、展開処理は、ソフトウェアによる処理では、処理に時間がかかってしまうため、展開処理部２１４の制御により動作する専用ハードウェア（不図示）を装備し、専用ハードウェアにより展開処理を高速に行っている。ジョブ管理・ＵＩ制御部２１５は、画像形成装置の各種処理状況の管理とパネル表示の制御を行う。
【００２６】
受信バッファ２２１は、ネットワークＩ／Ｆ２０３を介して受信した印刷データを格納するメモリである。ワークメモリ２２２は、入力された印刷データから特定されたＰＤＬデータや、中間コードに変換するときに一時的に使用するメモリである。フレームバッファ２２３は、中間コード生成部２１３で生成された中間コードを格納するメモリである。ラスタメモリ２２４は、フレームバッファ２２３に格納された中間コードから展開処理部２１４により展開されたラスタイメージを格納するメモリである。
【００２７】
２０５はエンジンＩ／Ｆで、プリンタエンジン２０８との信号の入出力を行う。プリンタエンジン２０８は、イメージデータに基づいて、周知の電子写真プロセスによって感光ドラム上に潜像を形成し、用紙に転写して定着し印字を行う。
【００２８】
２０６はパネルＩ／Ｆで、パネル部２０７との信号の入出力を行う。２０７はパネル部で、表示装置上に画像形成装置１０１の動作を左右するメニューに代表される様々な情報を表示し、ユーザからのボタン押下やタッチパネル入力などの指示を受け付ける。
【００２９】
図２は、画像形成装置１０１のソフトウェア構成の一例を示す図である。
図２において、ネットワーク（Ｎｅｔｗｏｒｋ）モジュール３０１は、受信部２１１における受信処理を行う。ネットワークモジュール３０１は、ネットワークＩ／Ｆ２０３経由で投入されたＰＤＬの受信に関わる処理だけでなく、例えば画像形成装置の情報開示処理など外部機器との様々な通信処理を受けもつ。
【００３０】
３０２はＵＩモジュールで、ジョブ管理・ＵＩ制御部２１５におけるＵＩ制御処理を行う。ＵＩモジュール３０２は、パネル部２０７からのユーザからの入力をジョブ管理モジュール３０３に通知したり、ジョブ管理モジュール３０３からの通知をユーザに対する適切な内容に整理しパネル部２０７に表示する処理を行う。
【００３１】
３０３はジョブ管理モジュールで、ジョブ管理・ＵＩ制御部２１５におけるジョブ管理処理を行う。ジョブ管理モジュール３０３は、コピーやＰＤＬ印刷のジョブ生成から実行、クロージングに至る様々なステータスを保持し、各ジョブ処理ステータスに関わる処理モジュールに適切な処理実行を指示する。
【００３２】
３０４はＰＤＬインタープリタ管理モジュールで、解析部２１２におけるＰＤＬ解析処理の管理を行う。
３０５はＰＤＬインタープリタモジュールで、解析部２１２におけるＰＤＬ解析処理を実行し、中間コード生成部２１３における中間コード生成処理を実行する印刷データ処理部である。図３に示す各ページのＰＤＬコマンドを解釈する処理は、複数の並列実行可能なＰＤＬインタープリタモジュール３０５で実施される。また、ＰＤＬインタープリタモジュールの実体（インスタンス）はＣＰＵ２０４のプロセッサ数分生成され、各ＰＤＬインタープリタモジュールの実体は各ＣＰＵプロセッサ上で実行される。図２に示す例では、ＰＤＬインタープリタモジュール＃１，ＰＤＬインタープリタモジュール＃２により、並列に処理が実行される。即ち、画像形成装置１０１は、複数のＣＰＵプロセッサにより実行される複数のＰＤＬインタープリタモジュールにより印刷データ（ＰＤＬデータ）の複数のページを並列で処理して印刷出力を実行することができる。
【００３３】
ＰＤＬインタープリタ管理モジュール３０４は、各ＰＤＬインタープリタモジュール３０５の処理状況を把握する。そして、ＰＤＬインタープリタ管理モジュール３０４は、画像形成装置１０１全体として最も高速にＰＤＬ解析及び中間コード生成処理が実行されるよう、各ＰＤＬインタープリタモジュールに対し、ＰＤＬデータ中の各ページの解析処理を割り当てる。
【００３４】
３０６はＲＩＰモジュールで、展開処理部２１４におけるビットマップへの展開処理を行う。この展開処理により形成されたビットマップ画像はビデオ信号に変換され、エンジンＩ／Ｆ２０５経由でプリンタエンジン２０８に送信されることとなる。
【００３５】
以下に、図２に示すソフトウェア構成の実現について、図１に対応付けて説明する。
画像形成装置１０１の電源が投入されると、画像形成装置１０１のＣＰＵ２０４は、ＲＯＭ２０１に格納されているプログラムの実行を開始する。最初に、ＣＰＵ２０４は、不図示のＯＳカーネルプログラムを実行し、ＲＡＭ２０２初期化、不図示のＨＤＤなどの不揮発性メモリのマウントや各種ドライバの初期化を行う。２１１〜２１５のプログラムは、１つのファームウェアのファイルとしてＲＯＭ２０１に格納されている。ＯＳカーネルプログラムが、該ファームウェアを起動すると、ファームウェア内のブート処理が開始される。ブート処理は、ブート処理内で生成するタスクのプロセッサ親和性（どのタスクをどのＣＰＵに割り当てるか）を設定する。
【００３６】
このブート処理の流れは以下のとおりである。
受信部２１１内のプログラムが、Ｎｅｔｗｏｒｋモジュール３０１の実体を１つ生成し、ＣＰＵ＃１上で実行される１つのタスクに割り当てる。そして、ＲＡＭ２０２上に受信バッファ２２１領域を静的に確保する。
【００３７】
解析部２１２内のプログラムが、ＰＤＬインタープリタ管理モジュール３０４の実体を１つ生成し、ＣＰＵ＃１上で実行される１つのタスクに割り当てる。そして、ＲＡＭ２０２上にワークメモリを静的に確保する。
【００３８】
解析部２１２内及び中間コード生成部２１３内のプログラムが、ＰＤＬインタープリタモジュール３０５の実体を２つ、即ち、ＰＤＬインタープリタモジュール＃１とＰＤＬインタープリタモジュール＃２の実体を１つずつ生成する。そして、各実体をＣＰＵ＃１で実行するタスクとＣＰＵ＃２で実行するタスクに別々に割り当てる。
【００３９】
展開処理部２１４内のプログラムが、ＲＩＰモジュール３０６の実体を１つ生成し、ＣＰＵ＃１上で実行される１つのタスクに割り当てる。ジョブ管理・ＵＩ制御部２１５内のプログラムが、ＵＩモジュール３０２及びジョブ管理モジュール３０３の実体を１つずつ作成し、ＣＰＵ＃１上で実行される１つずつのタスクに割り当てる。
【００４０】
このように図２に示すソフトウェア構成が実現される。
ＰＤＬデータ処理時に、フレームバッファ２２３は中間コード生成部２１３内のプログラムによって、ラスタメモリ２２４は展開処理部２１４内のプログラムによって、動的にメモリ確保されることとなる。なお、マルチプロセッサ上におけるマルチタスクの処理の詳細は、本発明に直接関係するところではないため、これ以上の説明は割愛する。
【００４１】
図３は、本発明におけるＰＤＬデータの構成の一例を示す図である。
ＰＤＬデータは以下に示す２つの種類がある。
１つ目は、図３（ａ）に示すように、ＰＤＬデータ中のページ構成を一元的に管理する情報が含まれないものである。この種類のＰＤＬデータでは、ＰＤＬデータ中の全てのコマンド（１４０１−１〜１４０１−ｎ）を解析しなければ、ＰＤＬデータ中の総ページ数を把握することができない。
【００４２】
２つ目は、図３（ｂ）に示すよういに、ＰＤＬデータ中にページ構成を示すページツリー情報１４００が含まれるものである。この種類のＰＤＬデータでは、ＰＤＬデータ中の全てのコマンドを解析せずとも、ページツリー情報１４００を解析するだけで、ＰＤＬデータ中の総ページ数を把握することが可能である。
【００４３】
実施例１では、ユーザからのＰＤＬ出力モード設定に従い、パネル部２０７にＰＤＬ画像展開処理状況を切り替えて表示する動作に関して、図４から図１０を用いて説明する。
図４は、ＰＤＬ出力モード設定を行う画面（ＰＤＬ出力モード設定画面）の一例を示す図である。
図４において、１５００はＰＤＬ出力モード設定画面である。ＰＤＬ出力モード設定画面１５００は、ユーザがパネル部２０７に表示される不図示の画面からＰＤＬ出力モードの設定開始を指示すると、ＵＩモジュール３０２によりパネル部２０７に表示される。ユーザは任意のタイミングでこの画面を呼び出して、ＰＤＬ出力モードの設定変更が可能である。
【００４４】
ユーザが、ＰＤＬ出力モード設定画面１５００において、「する」１５０１を選択してＯＫボタン１５０３を押下指示した場合、ＰＤＬ出力モードはＲＩＰ ｔｈｅｎ Ｐｒｉｎｔモードに設定される。一方、「しない」１５０１を選択してＯＫボタン１５０３を押下指示した場合、ＰＤＬ出力モードはＲＩＰ ｗｈｉｌｅ Ｐｒｉｎｔモードに設定される。
【００４５】
ＰＤＬデータがネットワークから投入されると、ジョブ管理モジュール３０３はＰＤＬ出力モードの設定を読み出し、そのＰＤＬデータのＰＤＬ処理（後述の図８のＳ７０４）に、上記読み出したＰＤＬ出力モードの設定を適用する。
【００４６】
図５は、ＰＤＬ出力モード設定処理の一例を示すフローチャートである。なお、図中、Ｓ６０１〜Ｓ６０５は各ステップを示す。また、これらの各ステップの処理は、ＵＩモジュール３０２により実行される。即ち、図５に示すフローチャートの処理は、ＲＯＭ２０１に記録されたプログラムをＣＰＵ２０４が実行することにより実現される。
【００４７】
ユーザがパネル部２０７上で行ったＰＤＬ出力モード設定の開始指示を検知すると、ＵＩモジュール３０２は、本フローチャートの処理を開始する。
まず、Ｓ６０１において、ＵＩモジュール３０２は、パネル部２０７に、ＰＤＬ出力モード設定画面１５００（図４）を表示し、Ｓ６０２に処理を進める。
Ｓ６０２では、ＵＩモジュール３０２は、上記Ｓ６０１で表示したＰＤＬ出力モード設定画面１５００にて、ユーザからの設定入力を受け付ける。そして、ＵＩモジュール３０２は、「する」１５０１又は「しない」１５０２が選択された状態でＯＫボタン１５０３が押下されたことを検知すると、Ｓ６０３に処理を進める。
【００４８】
Ｓ６０３では、ＵＩモジュール３０２は、上記Ｓ６０２の入力で「する」１５０１が選択されたか「しない」１５０２が選択されたか判定する。
そして、上記Ｓ６０２の入力で「しない」１５０２が選択されたと判定した場合、ＵＩモジュール３０２は、Ｓ６０４に処理を進める。Ｓ６０４では、ＵＩモジュール３０２が、ＰＤＬ出力モード設定を"ＲＩＰ ｗｈｉｌｅ Ｐｒｉｎｔ"として不図示の不揮発性メモリの設定保持領域に保持させ、本フローチャートの処理を終了する。
【００４９】
一方、上記Ｓ６０２の入力で「する」１５０１が選択されたと判定した場合、ＵＩモジュール３０２は、Ｓ６０５に処理を進める。Ｓ６０５では、ＵＩモジュール３０２が、ＰＤＬ出力モード設定を"ＲＩＰ ｔｈｅｎ Ｐｒｉｎｔ"として不図示の不揮発性メモリの設定保持領域に保持させ、本フローチャートの処理を終了する。
なお、ＲＯＭ２０１を書き換え可能なＲＯＭ、例えば、フラッシュＲＯＭ等とし、ＰＤＬ出力モード設定等をＲＯＭ２０１内に保持するように構成してもよい。
【００５０】
図６，図７は、実施例１におけるＰＤＬの画像展開処理状況画面の一例を示す図である。なお、ＰＤＬの画像展開処理状況画面は、ＰＤＬ出力モードに応じてパネル部２０７に表示される。
【００５１】
なお、図６はＰＤＬ出力モードが"ＲＩＰ ｗｈｉｌｅ Ｐｒｉｎｔ"時のＰＤＬの画像展開処理状況画面に対応する。
図６において、４００は、ＰＤＬの画像展開処理状況画面の全体像を示したものである。ＲＩＰ ｗｈｉｌｅ Ｐｒｉｎｔモードでは、４０１に示すように、連続出力可能ページ数として、４０２のような画像展開処理の完了しているページの中で、１ページ目から連続したページ番号の最大値が特定できる情報（第１情報）が表示される。
【００５２】
なお、ここでは、４０２に連続出力可能ページ数を表示する構成を示したが、全ページ数のうち連続出力可能ページ数の割合、即ち、全ページの何％のページが連続出力可能であるかを表示してもよい。
【００５３】
図７はＰＤＬ出力モードが"ＲＩＰ ｔｈｅｎ Ｐｒｉｎｔ"時のＰＤＬの画像展開処理状況画面に対応する。
図７において、５００は、ＰＤＬの画像展開処理状況画面の全体像を示したものである。ＲＩＰ ｔｈｅｎ Ｐｒｉｎｔモードでは、５０１に示すように、展開済みページ数として、５０２のような画像展開処理の完了しているページ数を特定できる情報（第２情報）が表示される。
【００５４】
なお、ここでは、５０２に展開済みページ数を表示する構成を示したが、全ページ数のうちの展開済みページ数の割合、即ち、全ページの何％のページが展開済みであるかを表示してもよい。
【００５５】
図８は、実施例１におけるＰＤＬ印刷処理の一例を示すフローチャートであり、ＰＤＬ出力モードに応じたパネル表示を行う。なお、図中、Ｓ７０１〜Ｓ７０４は各ステップを示す。また、これらの各ステップの処理は、図２に示した各モジュールにより実行される。即ち、図８に示すフローチャートの処理は、ＲＯＭ２０１に記録されたプログラムをＣＰＵ２０４が実行することにより実現される。
【００５６】
Ｓ７０１において、Ｎｅｔｗｏｒｋモジュール３０１は、ＰＤＬデータを受信する。なお、Ｎｅｔｗｏｒｋモジュール３０１は、データを受信するとそのデータを受信バッファ２２１に格納し、該受信バッファ２２１に格納されたデータからＰＤＬデータをワークメモリ２２２に格納する。また、Ｎｅｔｗｏｒｋモジュール３０１は、ＰＤＬデータを受信したことを、ジョブ管理モジュール３０３に通知する。
【００５７】
この通知を受けると、ジョブ管理モジュール３０３は、Ｓ７０２において、不図示の不揮発性メモリから出力モード属性を読み込み、ＲＡＭ２０２の保持し、Ｓ７０３に処理を進める。
【００５８】
Ｓ７０３では、ジョブ管理モジュール３０３は、ＰＤＬインタープリタ管理モジュール３０４にジョブの実行（処理の開始）を指示する。
この指示を受けると、ＰＤＬインタープリタ管理モジュール３０４は、Ｓ７０４において、ＰＤＬジョブ処理（図９）を実行し、本フローチャートの処理を終了する。
【００５９】
図９は、図８のＳ７０４に示すＰＤＬジョブ処理の一例を示すフローチャートである。なお、図中、Ｓ８０１からＳ８１８は各ステップを示す。また、Ｓ８０１〜Ｓ８０８に示す処理と、Ｓ８０９〜Ｓ８１３に示す処理と、Ｓ８１４〜Ｓ８１８に示す処理が並列に動作する。さらに、これらの各ステップの処理は、図２に示した各モジュールにより実行される。即ち、図９に示すフローチャートの処理は、ＲＯＭ２０１に記録されたプログラムをＣＰＵ２０４が実行することにより実現される。
【００６０】
なお、本実施例では、ＰＤＬインタープリタの実体は２つ生成される。そのうちの１つをＰＤＬインタープリタモジュール＃１と呼び、もう１つをＰＤＬインタープリタモジュール＃２と呼ぶこととする。Ｓ８０９〜Ｓ８１３に示す処理は、ＰＤＬインタープリタモジュール＃１で実行されるＰＤＬ解析処理及び中間コード生成処理に該当する。また、Ｓ８１４〜０８１８に示す処理は、ＰＤＬインタープリタモジュール＃２で実行されるＰＤＬ解析処理及び中間コード生成処理に該当する。このように、ＰＤＬインタープリタモジュール＃１とＰＤＬインタープリタモジュール＃２は上述の通り、別々のプロセッサで実行される。なお、Ｓ８０１〜Ｓ８０８に示す処理はどちらのプロセッサで実行されてもよい。
【００６１】
まず、Ｓ８０１において、ＰＤＬインタープリタ管理モジュール３０４は、ＰＤＬインタープリタモジュール＃１が処理中状況で無ければ、中間コード生成未処理ページの中で最も若いページ番号をＰＤＬインタープリタモジュール＃１に通知する。この通知により、ＰＤＬインタープリタモジュール＃１は、ＰＤＬ解析処理及び中間コード生成処理（Ｓ８０９〜Ｓ８１３）を実行する。
【００６２】
次に、Ｓ８０２において、ＰＤＬインタープリタ管理モジュール３０４は、ＰＤＬインタープリタモジュール＃２が処理中状況で無ければ、中間コード生成未処理ページの中で最も若いページ番号をＰＤＬインタープリタモジュール＃２に通知する。この通知により、ＰＤＬインタープリタモジュール＃２は、ＰＤＬ解析処理及び中間コード生成処理（Ｓ８１４〜Ｓ８１８）を実行する。
【００６３】
次に、Ｓ８０３において、ＰＤＬインタープリタ管理モジュール３０４は、上記頁番号を通知した各ＰＤＬインタープリタモジュールのうち、処理が完了したＰＤＬインタープリタモジュールから処理完了通知（後述するＳ８１３又はＳ８１８の通知）を受け取り、処理完了通知を受け取ったＰＤＬインタープリタモジュールの処理状況を更新する。なお、ここで、処理完了通知を受け取らなかったＰＤＬインタープリタモジュールは、その時点では、ＰＤＬ解析処理又は中間コード生成処理中ということとなる。
【００６４】
次に、Ｓ８０４において、ＰＤＬインタープリタ管理モジュール３０４は、中間コードの生成が終わっているページのＲＩＰ処理を、ＲＩＰモジュール３０６にページ番号が若い順に指示する。
【００６５】
この指示に応じて、ＲＩＰモジュール３０６は、Ｓ８０５において、上記指示されたページの中間コードをフレームバッファ２２３から読み出し、ビットマップ画像を生成するＲＩＰ処理を行い、生成したビットマップ画像をラスタメモリ２２４に格納するように制御する。なお、ＲＩＰモジュール３０６は、不図示の専用ハードウェアによりＲＩＰ処理を高速に実行することができる。このため、ＲＩＰ処理の処理時間は、ＰＤＬ解析処理や中間コード生成処理の処理時間と比較して無視できる時間であると仮定する。
【００６６】
次に、Ｓ８０６において、ＲＩＰモジュール３０６は、図１０に示す画像展開状況表示処理の実行を開始する。この画像展開状況表示処理では、ジョブ管理モジュール３０３は、ＲＩＰモジュール３０６からＲＩＰ処理の完了したページ番号の通知を受信する（図１０のＳ９０１）。
【００６７】
次に、Ｓ８０７において、ジョブ管理モジュール３０３は、上記ＲＩＰ処理の完了したページ番号の通知に基づいて、ＲＩＰ処理状況を判断し、全ページのＲＩＰ処理が完了したか否かを判定する。
【００６８】
そして、未だ全ページのＲＩＰ処理が完了していないと判定した場合(Ｓ８０７でＮｏ)、ジョブ管理モジュール３０３は、その旨をＰＤＬインタープリタ管理モジュール３０４に通知する。この通知に応じて、ＰＤＬインタープリタ管理モジュール３０４は、Ｓ８０１に処理を戻す。
【００６９】
一方、全ページのＲＩＰ処理が完了したと判定した場合(Ｓ８０７でＹｅｓ)、ジョブ管理モジュール３０３は、その旨をＰＤＬインタープリタ管理モジュール３０４に通知する。この通知に応じて、ＰＤＬインタープリタ管理モジュール３０４は、Ｓ８０８に処理を進める。
Ｓ８０８では、ＰＤＬインタープリタ管理モジュール３０４は、各ＰＤＬインタープリタモジュール３０５にジョブ終了を通知し、本処理を終了する。
【００７０】
次に、ＰＤＬインタープリタモジュール３０５の処理フロー（Ｓ８０９〜Ｓ８１３及びＳ８１４〜Ｓ８１８）を説明するが、各ＰＤＬインタープリタモジュールの処理内容は同一であるので、ＰＤＬインタープリタモジュール＃１，＃２の処理を同時に説明する。
【００７１】
Ｓ８０９（Ｓ８１４）において、ＰＤＬインタープリタモジュール＃１（＃２）は、ＰＤＬインタープリタ管理モジュール３０４からイベントを受信し、Ｓ８１０（Ｓ８１５）に処理を進める。
【００７２】
Ｓ８１０（Ｓ８１５）では、ＰＤＬインタープリタモジュール＃１（＃２）は、上記Ｓ８１０（Ｓ８１５）で受信したイベントの内容が、上述のＳ８０２（Ｓ８０３）において送信された「ページ番号」であるか「ジョブ終了」であるかを判定する。
【００７３】
そして、受信したイベントの内容が「ページ番号」であると判定した場合、ＰＤＬインタープリタモジュール＃１（＃２）は、Ｓ８１１（Ｓ８１６）に処理を進める。
一方、受信したイベントの内容が「ジョブ終了」であると判定した場合、ＰＤＬインタープリタモジュール＃１（＃２）は、本フローチャートの処理を終了する。
【００７４】
Ｓ８１１（Ｓ８１６）では、ＰＤＬインタープリタモジュール＃１（＃２）は、上記受信したページ番号を処理対象ページとし、Ｓ８１２（Ｓ８１７）に処理を進める。
【００７５】
Ｓ８１２（Ｓ８１７）では、ＰＤＬインタープリタモジュール＃１（＃２）は、処理対象ページのＰＤＬデータをワークメモリ２２２から読み出し、ＰＤＬ解析処理を行う。そして、ＰＤＬインタープリタモジュール＃１（＃２）は、解析したデータから描画を行なうための内部情報である中間コードを生成し、フレームバッファ２２３に格納する中間コード生成処理を行い、Ｓ８１３（Ｓ８１８）に処理を進める。
【００７６】
Ｓ８１３（Ｓ８１８）では、ＰＤＬインタープリタモジュール＃１（＃２）は、ＰＤＬインタープリタ管理モジュール３０４に処理完了を通知し、Ｓ８０９（Ｓ８１４）に処理を戻す。
【００７７】
なお、図９のフローチャートでは、２つのＣＰＵプロセッサを有し、２つのＰＤＬインタープリタモジュール（ＰＤＬインタープリタモジュール＃１，＃２）で処理を行う構成を例として説明した。しかし、３つ以上のＰＤＬインタープリタモジュールで処理を行う構成でもよい。
【００７８】
図１０は、実施例１における図９のＳ８０６に示す画像展開状況表示処理の詳細の一例を示すフローチャートである。なお、図中、Ｓ９０１〜Ｓ９０６は各ステップを示す。これらの各ステップの処理は、図２に示した各モジュールにより実行される。即ち、図１０に示すフローチャートの処理は、ＲＯＭ２０１に記録されたプログラムをＣＰＵ２０４が実行することにより実現される。
【００７９】
Ｓ９０１において、ＲＩＰモジュール３０６は、ＲＩＰ処理の完了したページ番号をジョブ管理モジュール３０３に通知する。
この通知に応じて、ジョブ管理モジュール３０３は、Ｓ９０２において、上述した図８のＳ７０２で読み込んだ出力モード属性値を判定する。
【００８０】
そして、出力モード属性値が"ＲＩＰ ｗｈｉｌｅ Ｐｒｉｎｔ"であると判定した場合、ジョブ管理モジュール３０３は、Ｓ９０３に処理を進める。
Ｓ９０３では、ジョブ管理モジュール３０３は、ＲＩＰモジュール３０６から通知されたＲＩＰ処理の完了したページ番号の中で、１から連続したページ番号の最大値を特定し、特定したページ番号をＵＩ表示用ページ番号としてＵＩモジュール３０２に通知する。
【００８１】
この通知を受けると、ＵＩモジュール３０２は、Ｓ９０４において、図６の４０１，４０２に示したように、上記Ｓ９０３で通知されたページ番号を連続出力可能ページ数として、パネル部２０７にＵＩ表示用ページ番号を表示し（第１提示ステップ）、本フローチャートの処理を終了する。
【００８２】
また、出力モード属性値が"ＲＩＰ ｔｈｅｎ Ｐｒｉｎｔ"であると判定した場合、ジョブ管理モジュール３０３は、Ｓ９０５に処理を進める。
Ｓ９０５では、ジョブ管理モジュール３０３は、ＲＩＰモジュール３０６から通知されたＲＩＰ処理の完了したページ番号の総数をカウントし、カウントしたページの総数をＵＩ表示用ページ数としてＵＩモジュールに通知する。
【００８３】
この通知を受けると、ＵＩモジュール３０２は、Ｓ９０６において、図７の５０１，５０２に示したように、展開済みページ数として、パネル部２０７にＵＩ表示用ページ数を表示し（第２提示ステップ）、本フローチャートの処理を終了する。
【００８４】
以上示したように、実施例１によれば、ＰＤＬ出力モードがＲＩＰ ｗｈｉｌｅ Ｐｒｉｎｔの場合、図６に示したようなＰＤＬの画像展開処理状況画面により、ユーザは、現時点で何ページ目まで（全ページの何％まで）連続出力可能なのかを把握することが可能となる。このため、従来のように、プリントシーケンスが止まっているにも関わらず画像展開処理が進んでいるように見えてユーザが機器の不具合と誤解してしまうといったことも防止できる。
【００８５】
また、ＰＤＬ出力モードがＲＩＰ ｔｈｅｎ Ｐｒｉｎｔの場合、図７のようなＰＤＬの画像展開処理状況画面により、ユーザは、現時点で全ページ中の何ページ目まで（全ページの何％まで）画像展開処理が終わっているのかを把握することができる。
【００８６】
これにより、画像形成装置の操作に慣れていない、オフィスの一般ユーザを始めとするユーザが、業務効率向上のために、使用用途に応じた状況把握を簡易的に行うことを要望した場合であっても、ＰＤＬ出力モードの設定に応じた適切なＰＤＬの展開処理状況を提示することにより、実施例１を実施することによりユーザの要望を満たすことができる。
【００８７】
詳細には、ＰＤＬ出力モードがＲＩＰ ｗｈｉｌｅ Ｐｒｉｎｔの場合、ユーザは、現時点で何ページ目まで連続出力可能なのかを知りたいという欲求があるが（要望が多いが）、それを満たすことができる。また、ＰＤＬ出力モードがＲＩＰ ｔｈｅｎ Ｐｒｉｎｔの場合、ユーザは、現時点で全ページ中の何ページの（何％の）画像展開処理が終わっているのかを知りたい欲求があるが（要望が多いが）、それを満たすことができる。
【００８８】
従って、ＰＤＬデータの印刷を行う場合に、各ページをそれぞれ並列に画像展開処理するマルチコアのＣＰＵを搭載した画像形成装置において、ページ並列処理を想定した適切な画像展開処理状況をユーザに提示することができる。
【実施例２】
【００８９】
上記実施例１では、ＰＤＬ出力モードがＲＩＰ ｗｈｉｌｅ Ｐｒｉｎｔの場合、ユーザは何ページまで連続出力が可能かを知ることはできるが、正確な画像展開処理状況の把握はできない。
【００９０】
例えば、１０００ページのＰＤＬ印刷実行時に、３ページ目の画像展開処理を継続中で、残りの全てのページの画像展開処理が完了しているケースを考える。このケースでは、パネル部２０７に表示される展開済みページ数が「２」から、３ページ目のＲＩＰ完了時に一気に「１０００」に更新される。
【００９１】
実施例２では、現時点で何ページ目まで連続出力可能であるかを示す情報と、何ページの画像展開処理が終わっているのかを示す情報を、同時にパネル部２０７に表示する構成とする。
【００９２】
なお、これらの２つの情報をそれぞれ数値で個別に表示することも本発明に含まれるものである。しかし、実施例２では、ユーザがより直感的に画像展開処理状況を把握出来るように、上述の２つの情報を１つのプログレスバー（プログレスメーター）に同時に表示する構成とする。このような構成により、刻々と変化する画像展開処理状況をユーザがより容易且つ直観的に把握することができるようになる。以下、この構成について、図１１〜図１３を用いて説明する。
【００９３】
なお、実施例２では、後述する図１３のＳ１２０７で示される「ＰＤＬジョブ処理」の詳細は、実施例１でも説明した図９のＰＤＬジョブ処理フローを用いるが、図９のＳ８０６で示される「画像展開状況表示処理」の詳細は、図１４の画像展開状況処理フローを用いるものとする。
【００９４】
図１１は、実施例２におけるＰＤＬの画像展開処理状況画面の一例を示す図である。
図１１において、（ａ）は、画面の全体像を示したものである。
画像展開処理状況は、左端が１ページ目で右端が最終ページとして表現されるプログレスバーとして表示され、各ＰＤＬインタープリタモジュール３０５で展開処理中のページがプログレスバー上の相対位置で表示される。
【００９５】
具体的には、ＰＤＬインタープリタモジュール＃１の処理中ページ番号が図中の１００１として表示され、ＰＤＬインタープリタモジュール＃２の処理中ページ番号が図中の１００２として表示される。
【００９６】
この１００１及び１００２の表示により、ユーザは、現時点で何ページの画像展開処理が終わっているのかを把握でき、同時に、図中の１００３により、何ページ目まで連続出力可能かを把握できる。
【００９７】
なお、ＰＤＬデータが図３の（ｂ）に示す、ページツリー情報１４００を有する種類のデータであった場合には、ＰＤＬデータ投入時に総ページ数を把握可能である。この場合、図１１中の１００４に総ページ数を表示する。
【００９８】
一方、ＰＤＬデータが図３の（ａ）に示す、総ページ数を把握できない種類のデータであった場合、図１１中の１００４には総ページ数は表示しない。なお、総ページ数を把握できない場合でも、図１１中の１００４に各ＰＤＬインタープリタモジュール３０５が現在処理中のページの中で最大値を表示する。また、全ページの処理が終了した後に、総ページ数が把握できた段階で、１００４に総ページ数を表示してもよい。
【００９９】
各ＰＤＬインタープリタモジュール３０５の処理が進むにつれ、図１１の１００１及び１００２のマーカーは右に移動し、画像展開状況の表示の部分は、図１１の（ｂ）に示すような表示となる。
【０１００】
なお、図１１の画像展開処理状況の表示は、各ＰＤＬインタープリタモジュール３０５の処理状況を示すものであり、正確にはＲＩＰ処理まで含めた画像展開処理状況を示すものではない。しかし、実施例１の図９の説明中に記載したように、ＲＩＰ処理は不図示の専用ハードウェアにより高速に実行されるため、ＰＤＬ解析処理や中間コード生成処理と比較して無視できる時間とすることは、実施例２でも同様である。従って、各ＰＤＬインタープリタモジュール３０５の処理状況はほぼ画像展開処理状況に等しいと考えて差し支えないため、各ＰＤＬインタープリタモジュール３０５の処理状況を、ＲＩＰ処理まで含めた画像展開処理状況とみなす。
【０１０１】
図１２は、図１１に示したプログレスバーを描画する際に用いる座標値を示す一例である。
図１２において、（ａ）は、ＰＤＬデータにページツリー情報が含まれる場合の表示例に対応する。一方、（ｂ）は、ＰＤＬデータにページツリー情報が含まれず、総ページ数を把握できない場合の表示例に対応する。
【０１０２】
図１２（ａ），（ｂ）において、１１０１は、プログレスバーの原点位置を示す。また、１１０２は、プログレスバーの長さを示す。
１１０３は、ＰＤＬインタープリタモジュール＃１の処理ページ番号位置を示す。また、１１０４は、ＰＤＬインタープリタモジュール＃２の処理ページ番号位置を示す。
【０１０３】
１１０５は、最終ページ位置又は最大処理ページ位置を示す表示である。なお、（ａ）のケースでは、１１０５に最終ページ位置を表示する。一方、（ｂ）のケースでは、１１０５に各ＰＤＬインタープリタモジュール３０５の処理ページ番号の中で最大値となるページの位置を表示する。
【０１０４】
図１３は、実施例２におけるＰＤＬ印刷処理の一例を示すフローチャートである。なお、図中、Ｓ１２０１〜Ｓ１２０７は各ステップを示す。また、これらの各ステップの処理は、図２に示した各モジュールにより実行される。即ち、図１３に示すフローチャートの処理は、ＲＯＭ２０１に記録されたプログラムをＣＰＵ２０４が実行することにより実現される。
【０１０５】
Ｓ１２０１において、Ｎｅｔｗｏｒｋモジュール３０１は、ＰＤＬデータを受信し、受信したＰＤＬデータをワークメモリ２２２に格納する。また、Ｎｅｔｗｏｒｋモジュール３０１は、ＰＤＬデータを受信したことを、ジョブ管理モジュール３０３に通知する。
【０１０６】
この通知を受けると、ジョブ管理モジュール３０３は、Ｓ１２０２において、ＰＤＬインタープリタ管理モジュール３０４にジョブの実行（処理の開始）を指示する。
この指示を受けると、ＰＤＬインタープリタ管理モジュール３０４は、ＰＤＬインタープリタモジュール＃１に、ＰＤＬコマンドの解析を指示する。
【０１０７】
この指示を受けると、ＰＤＬインタープリタモジュール＃１は、Ｓ１２０３において、ＰＤＬコマンドを解析し、ページツリー情報を検索し、Ｓ１２０４に処理を進める。
Ｓ１２０４では、ＰＤＬインタープリタモジュール＃１は、ＰＤＬデータ内にページツリー情報１４００が存在するか否かを判定する。
【０１０８】
そして、ＰＤＬデータ内にページツリー情報１４００が存在すると判定した場合、ＰＤＬインタープリタモジュール＃１は、Ｓ１２０５に処理を進める。Ｓ１２０５では、ＰＤＬインタープリタモジュール＃１は、ページツリー情報１４００から総ページ数情報を読み込み、総ページ数をジョブ管理モジュール３０３に通知する。
【０１０９】
一方、ＰＤＬデータ内にページツリー情報１４００が存在しないと判定した場合、ＰＤＬインタープリタモジュール＃１は、Ｓ１２０６に処理を進める。Ｓ１２０６では、ＰＤＬインタープリタモジュール＃１は、総ページ数情報が存在しない旨をジョブ管理モジュール３０３に通知する。
【０１１０】
上記Ｓ１２０５又はＳ１２０６の通知を受けると、ＰＤＬインタープリタ管理モジュール３０４は、Ｓ１２０７において、ＰＤＬジョブ処理（図９）を実行し、本フローチャートの処理を終了する。なお、上述した通り、Ｓ１２０７のＰＤＬジョブ処理内の図９のＳ８０６に示される画像展開状況表示処理では、図１４の画像展開状況処理フローを実行する。以下、図１４に示す実施例２の画像展開状況処理フローについて説明する。
【０１１１】
図１４は、実施例２における図９のＳ８０６に示す画像展開状況表示処理の詳細の一例を示すフローチャートである。なお、図中、Ｓ１３０１〜Ｓ１３１３は各ステップを示す。これらの各ステップの処理は、図２に示した各モジュールにより実行される。即ち、図１４に示すフローチャートの処理は、ＲＯＭ２０１に記録されたプログラムをＣＰＵ２０４が実行することにより実現される。
【０１１２】
Ｓ１３０１において、ＰＤＬインタープリタ管理モジュール３０４は、中間コード生成未処理ページの有無を判断し、Ｓ１３０２に処理を進める。
Ｓ１３０２では、ＰＤＬインタープリタ管理モジュール３０４は、中間コード生成未処理ページが存在しないと判断した場合、本フローチャートの処理を終了する。
【０１１３】
一方、ＰＤＬインタープリタ管理モジュール３０４は、中間コード生成未処理ページが存在すると判断した場合、Ｓ１３０３に処理を進める。
Ｓ１３０３では、ＰＤＬインタープリタ管理モジュール３０４は、ＰＤＬインタープリタモジュール＃１が処理中のページ番号をジョブ管理モジュール３０３に通知し、Ｓ１３０４に処理を進める。
【０１１４】
Ｓ１３０４では、ＰＤＬインタープリタ管理モジュール３０４は、ＰＤＬインタープリタモジュール＃２が処理中のページ番号をジョブ管理モジュール３０３に通知する。なお、上記Ｓ１３０３及びＳ１３０４における「処理中」とは、ＰＤＬインタープリタモジュール＃１若しくはＰＤＬインタープリタモジュール＃２が、ＰＤＬ解析処理中であるか中間コード生成処理中であることを示す。
【０１１５】
上記Ｓ１３０３及びＳ１３０４の通知を受けると、ジョブ管理モジュール３０３は、Ｓ１３０５において、総ページ数情報（図１３のＳ１２０５で通知されている場合のみ）と各ＰＤＬインタープリタモジュール３０５が処理中のページ番号情報を、ＵＩモジュール３０２に通知する。
【０１１６】
この通知を受けると、ＵＩモジュール３０２は、Ｓ１３０６において、プログレスバーのラベル名として「画像展開状況」を表示し、プログレスバー原点位置にページ番号である「１」を表示し、Ｓ１３０７に処理を進める。
【０１１７】
Ｓ１３０７では、ＵＩモジュール３０２は、各ＰＤＬインタープリタモジュール３０５が処理中のページ番号の中で、最大値を画像展開処理中ページ最大値として扱い、Ｓ１３０８に処理を進める。
【０１１８】
Ｓ１３０８では、ＵＩモジュール３０２は、上記Ｓ１３０５の通知に総ページ数が存在するか否かを判定する。
そして、上記Ｓ１３０５の通知に総ページ数が存在すると判定した場合、ＵＩモジュール３０２は、Ｓ１３０９に処理を進める。
Ｓ１３０９では、ＵＩモジュール３０２は、総ページ数を表示最大ページ番号として扱い、Ｓ１３１０に処理を進める。Ｓ１３１０では、ＵＩモジュール３０２は、プログレスバー原点から予め決められているプログレスバー表示長さ分（図１２の１１０２）加算した位置に総ページ数を表示し、Ｓ１３１２に処理を進める。
【０１１９】
一方、上記Ｓ１３０５の通知に総ページ数が存在しないと判定した場合、ＵＩモジュール３０２は、Ｓ１３１１に処理を進める。
Ｓ１３１１では、ＵＩモジュール３０２は、画像展開処理中ページ最大値を表示最大ページ番号として扱い、Ｓ１３１２に処理を進める。即ち、ＰＤＬデータに含まれる総ページ数を取得できた場合には、総ページ数を前記最大ページ番号とし、総ページ数を取得できない場合には、ＰＤＬデータの処理が完了したページ番号の最大値を最大ページ番号とする。
【０１２０】
Ｓ１３１２では、ＵＩモジュール３０２が、プログレスバー原点から、「｛プログレスバー表示長さ｝×｛ＰＤＬインタープリタモジュール＃１が処理中のページ番号｝÷｛表示最大ページ番号｝」分加算した位置に、ＰＤＬインタープリタモジュール＃１の処理ページ数を表示し、Ｓ１３１３に処理を進める。
【０１２１】
Ｓ１３１３では、ＵＩモジュール３０２が、プログレスバー原点から、「｛プログレスバー表示長さ｝×｛ＰＤＬインタープリタモジュール＃２が処理中のページ番号｝÷｛表示最大ページ番号｝」分加算した位置にＰＤＬインタープリタモジュール＃２の処理ページ数を表示し、本フローチャートの処理を終了する。
【０１２２】
なお、図１４のフローチャートでは、ＣＰＵ２０４が２つのプロセッサを有し、２つのＰＤＬインタープリタモジュール（ＰＤＬインタープリタモジュール＃１，＃２）で処理を行う構成を例として説明した。しかし、ＣＰＵ２０４が３つ以上のプロセッサを有し、３つ以上のＰＤＬインタープリタモジュールで処理を行う構成でもよい。
【０１２３】
図１４では、２つのＰＤＬインタープリタモジュールで処理を行う場合であったため、表示最大ページ番号（ＰＤＬデータの最終ページ、又はＰＤＬデータの処理が完了したページ番号の最大値）に対する、２つのＰＤＬインタープリタモジュールの処理ページ番号の各相対位置をメーター表示した。
【０１２４】
しかし、３つ以上のＰＤＬインタープリタモジュールで処理を行う場合、必ずしも全てのＰＤＬインタープリタモジュールの処理ページ番号の、表示最大ページ番号に対する各相対位置を表示しなくてもよい。具体的には、全てのＰＤＬインタープリタモジュールの処理ページ番号のうち、少なくとも最小値と最大値の、表示最大ページ番号に対する各相対位置をメーター表示する構成でもよい。この構成の場合、全てのＰＤＬインタープリタモジュールが処理中のページ番号のうち、最小値の表示位置から連続出力可能ページ数を特定でき、また最大値の表示位置からおおよその展開済ページ数を特定できる。
【０１２５】
以上示したように、実施例２を実装することにより、実施例１の効果に加え、ＰＤＬ出力モードの設定に依らず、ユーザは現時点で何ページ目まで連続出力可能なのか、及び、現時点で全ページ中の何ページの（何％の）画像展開処理が終わっているのかを同時に把握することが可能となる。
【０１２６】
例えば、ＰＯＤ印刷のオペレータなどのエキスパートユーザが、業務効率向上のためにＰＤＬ展開処理の現在の状況把握を行うことを要望した場合であっても、実施例２を実施することによりユーザの要望を満たすことができる。
【０１２７】
従って、ＰＤＬデータの印刷を行う場合に、各ページをそれぞれ並列に画像展開処理するマルチコアのＣＰＵを搭載した画像形成装置において、ページ並列処理を想定した適切な画像展開処理状況をユーザに提示することができる。
【０１２８】
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
また、上記各実施例を組み合わせた構成も全て本発明に含まれるものである。
【０１２９】
（他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【０１３０】
また、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。
本発明は上記実施例に限定されるものではなく、本発明の趣旨に基づき種々の変形（各実施例の有機的な組合せを含む）が可能であり、それらを本発明の範囲から除外するものではない。即ち、上述した各実施例及びその変形例を組み合わせた構成も全て本発明に含まれるものである。
【符号の説明】
【０１３１】
１１０１    画像形成装置
２０４    ＣＰＵ
３０２    ＵＩモジュール
３０３    ジョブ管理モジュール
３０４    ＰＤＬインタープリタ管理モジュール
３０５    ＰＤＬインタープリタモジュール
３０６    ＲＩＰモジュール
【図１】
2013001059.tif 000003
【図２】
2013001059.tif 000004
【図３】
2013001059.tif 000005
【図４】
2013001059.tif 000006
【図５】
2013001059.tif 000007
【図６】
2013001059.tif 000008
【図７】
2013001059.tif 000009
【図８】
2013001059.tif 000010
【図９】
2013001059.tif 000011
【図１０】
2013001059.tif 000012
【図１１】
2013001059.tif 000013
【図１２】
2013001059.tif 000014
【図１３】
2013001059.tif 000015
【図１４】
2013001059.tif 000016