(57)【要約】【課題】留め置き印刷において、留め置きされた印刷ジョブが不正かどうかを印刷開始前にユーザに通知することができる。【解決手段】受信した印刷ジョブを留め置き、ユーザからの印刷指示に応じて留め置かれた印刷ジョブの印刷を実行する留め置き印刷を実行可能な画像形成装置であって、留め置かれた印刷ジョブの印刷データを解析する解析手段と、解析手段の解析においてエラーが発生した場合に、留め置かれた印刷ジョブに対する印刷指示を受け付ける前に、エラーの情報をユーザに通知する通知手段と、を備える。【選択図】図２
2018079660.tif 000002
【特許請求の範囲】
【請求項１】
受信した印刷ジョブを留め置き、ユーザからの印刷指示に応じて前記留め置かれた印刷ジョブの印刷を実行する留め置き印刷を実行可能な画像形成装置であって、
前記留め置かれた印刷ジョブの印刷データを解析する解析手段と、
前記解析手段の解析においてエラーが発生した場合に、前記留め置かれた印刷ジョブに対する前記印刷指示を受け付ける前に、前記エラーの情報をユーザに通知する通知手段と、を備える
ことを特徴とする画像形成装置。
【請求項２】
前記通知手段は、
前記留め置かれた印刷ジョブの印刷データの解析が開始された時間と、前記解析が終了した時間との差が、予め定めた制限時間を越えている場合にはタイムアウトが発生したと判定し、
前記留め置かれた印刷ジョブに対する前記印刷指示を受け付ける前に、前記タイムアウトが発生したことを示す情報をユーザに通知する
請求項１に記載の画像形成装置。
【請求項３】
前記通知手段は、
前記留め置かれた印刷ジョブのリストを表示装置に表示させ、
前記解析手段の解析においてエラーが発生した場合には、少なくとも前記エラーの情報を、前記リスト内の印刷ジョブのうち前記エラーが発生した印刷ジョブに対応付けて表示させる
請求項１または請求項２に記載の画像形成装置。
【請求項４】
前記解析手段の解析において発生した前記エラーが、復帰可能なエラーであるか否かを判定する判定手段をさらに備え、
前記通知手段は、
前記エラーが前記復帰可能なエラーでないと判定された場合には、前記エラーの情報に、印刷不可であることを示す情報と、前記エラーを識別可能な情報とを含ませる
請求項１から請求項３のうちのいずれか１項に記載の画像形成装置。
【請求項５】
前記判定手段は、
前記解析手段の解析において発生した前記エラーが復帰可能なエラーである場合には、さらに、前記エラーがスキップ可能なエラーであるか否かを判定し、
前記通知手段は、
前記エラーがスキップ可能であると判定された場合には、前記エラーの情報に、スキップ可能なエラーが発生したことを示す情報と、前記エラーが発生するページ番号とを含ませる
請求項４に記載の画像形成装置。
【請求項６】
前記判定手段は、
前記印刷データの中に画像形成装置の描画処理能力に適合しない描画命令が検出されたときに発生するエラーを、スキップ可能なエラーであると判定する
請求項５に記載の画像形成装置。
【請求項７】
前記通知手段は、
前記エラーがスキップ不可能なエラーであると判定された場合には、前記エラーの情報として、スキップ不可能なエラーが発生したことを示す情報と、前記エラーが発生するページ番号とを通知する
請求項５または請求項６に記載の画像形成装置。
【請求項８】
前記スキップ不可能なエラーが発生した印刷ジョブに対して前記印刷指示が入力された場合には、
前記通知手段は、
前記スキップ不可能であるエラーが発生したページの前のページまで印刷を実行するか否かを決定させるための操作を促す表示を表示装置に表示させる
請求項７に記載の画像形成装置。
【請求項９】
受信した印刷ジョブを留め置き、ユーザからの印刷指示に応じて前記留め置かれた印刷ジョブの印刷を実行する留め置き印刷を実行可能な画像形成装置の制御方法であって、
前記留め置かれた印刷ジョブに付随する印刷データの解析を行う解析ステップと、
前記解析ステップにおける解析中にエラーが発生した場合に、当該エラーが発生した印刷ジョブに対する印刷指示を受け付ける前に、前記エラーの情報をユーザに通知する通知ステップと、を含む
ことを特徴とする制御方法。
【請求項１０】
コンピュータを請求項１から請求項８のうちのいずれか１項に記載の画像形成装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷ジョブを一時的に留め置きする留め置き印刷を実行可能な画像形成装置、画像形成装置の制御方法、およびプログラムに関する。
【背景技術】
【０００２】
近年、セキュリティやコスト削減意識の高まりから画像形成装置で印刷データを保存しておき、画像形成装置でユーザ認証後に印刷を開始する留め置き印刷を行う印刷システムが存在する。このような印刷システムでは、ホストＰＣ（パーソナルコンピュータ）から送信された印刷データが、画像形成装置またはサーバに一時的に蓄積される。画像形成装置にユーザがログインするとユーザ認証が行われ、ユーザ認証が許可されると、画像形成装置は当該ユーザの印刷ジョブリストを表示する。そして、ユーザが印刷ジョブリストから印刷ジョブを指定することで、当該印刷ジョブの印刷が実行される。
【０００３】
特許文献１には、印刷ジョブの印刷実行時にエラーが発生した場合に、印刷エラーの有無を示すエラー情報を履歴として当該印刷ジョブの書誌情報に保存する、印刷装置が記載されている。特許文献１に記載された印刷装置は、印刷ジョブリストを表示する際に、上記エラー情報をリスト内の各印刷ジョブに対応付けて表示する。それにより、ユーザは、印刷ジョブリストの中のどの印刷ジョブが、エラーが発生した印刷ジョブであるかを、認識することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−２８６８３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、特許文献１に記載された印刷装置では、印刷が未だ実行されていない、印刷開始前の印刷ジョブに対しては上記エラー情報を表示することができない。したがって、そのような印刷開始前の印刷ジョブについては、エラーが発生する不正な印刷ジョブであるか否かをユーザは認識することができない。
【０００６】
そこで、本発明は、留め置き印刷において、留め置きされた印刷ジョブが不正かどうかを印刷開始前にユーザに通知することができる画像形成装置、画像形成装置の制御方法、およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明による画像形成装置は、受信した印刷ジョブを留め置き、ユーザからの印刷指示に応じて留め置かれた印刷ジョブの印刷を実行する留め置き印刷を実行可能な画像形成装置であって、留め置かれた印刷ジョブの印刷データを解析する解析手段と、解析手段の解析においてエラーが発生した場合に、留め置かれた印刷ジョブに対する印刷指示を受け付ける前に、エラーの情報をユーザに通知する通知手段と、を備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、留め置き印刷において、留め置きされた印刷ジョブが不正かどうかを印刷開始前にユーザに通知することができる。
【図面の簡単な説明】
【０００９】
【図１】第１の実施例における印刷システムの構成の一例を示すブロック図である。
【図２】第１の実施例における、印刷ジョブリストの更新処理の流れを示すフローチャートである。
【図３】ステップＳ２０３における印刷時間の予測処理の流れを示すフローチャートである。
【図４】操作部に表示される画面の一例を示す図である。
【図５】画像形成装置における印刷処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、本発明を実施するための形態について図面を用いて説明する。なお、以下の実施例において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【００１１】
［実施例１］
留め置き印刷を実行可能な印刷システムでは、ユーザがホストＰＣを操作し印刷指示を行って画像形成装置に印刷ジョブを投入してから、画像形成装置で印刷が実行されるまでの間に、時間の猶予が発生する。そこで、その間に印刷ジョブの印刷データを解析して、その解析結果から印刷時間を予測する印刷システムが知られている。本実施例では、そのような印刷システムを例にする。
【００１２】
そのような印刷システムでは、印刷時間の予測処理が制限時間内に終了しない場合、タイムアウトしたことを示す情報が、印刷時間の予測結果として印刷ジョブリストに表示される。しかし、ユーザは当該予測結果から、ＣＰＵ使用率が高いためにタイムアウトしたのか、印刷データのサイズが大きすぎるためにタイムアウトしたのか、印刷データの解析エラーのためにタイムアウトしたのかなどを判別することができない。従って、そのような印刷システムでは、印刷時間の予測処理がタイムアウトした場合、印刷データが不正であるか否かをユーザに正しく認識させることができなかった。以下では、印刷時間の予測処理がタイムアウトした場合でも、印刷開始前に、印刷ジョブの印刷データが不正かどうかをユーザに認識させることができる印刷システムについて説明する。
【００１３】
＜システム構成＞
図１は、第１の実施例における印刷システムの構成の一例を示すブロック図である。図１に示す印刷システムは、画像形成装置１００，１０１と、ＰＣ１９１と、を備える。画像形成装置１００，１０１とＰＣ１９１とはイーサネット（登録商標）等のＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ Ｎｅｔｗｏｒｋ）１９０を介して、互いに通信可能に接続されている。なお、本実施例では、画像形成装置１００，１０１とＰＣ１９１との通信にはＴＣＰ／ＩＰが用いられるが、ＴＣＰ／ＩＰ以外のプロトコル（例えば、ＵＤＰ）が用いられてもよい。また、図１には、２台の画像形成装置が例示されているが、印刷システムは、画像形成装置をいくつ備えていてもよい。
【００１４】
画像形成装置１００，１０１は、ＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｒｉｎｔｅｒ）であり、ホストＰＣ（本実施例では、ＰＣ１９１）からの印刷指示に応じて処理を実行する。なお、画像形成装置１０１，１０１は、ＭＦＰ以外のＳＦＰ（Ｓｉｎｇｌｅ  Ｆｕｎｃｔｉｏｎ  Ｐｒｉｎｔｅｒ）、ＬＢＰ（Ｌａｓｅｒ  Ｂｅａｍ  Ｐｒｉｎｔｅｒ）であってもよい。また、画像形成装置１００，１０１は、ＭＦＰ、ＳＦＰ、ＬＢＰ以外のプリント方式のプリンタであってもよい。
【００１５】
画像形成装置１００と画像形成装置１０１とは同一の構成を有する。したがって、以下では画像形成装置１００の構成について説明する。
【００１６】
画像形成装置１００は、リーダー部１２０と、プリンタ部１３０と、操作部１４０と、画像記憶部１５０と、認証部１６０と、これら各構成要素を制御する制御部１１０とを含む。
【００１７】
制御部１１０は、ＲＯＭ、ＲＡＭ、ＣＰＵ等を有し、ＣＰＵがＲＯＭまたは不図示の他の記憶媒体（例えば、ＨＤＤや外部メモリ）に格納されたプログラムに基づいて、画像形成装置１００全体を統括的に制御する。それにより、上記各構成要素が制御される。本実施例では、後述する図２、図３、図５に示す処理を実行するためのプログラムや、レンダリング処理等を行うためのプログラムが制御部１１０のＲＯＭ等に予め格納される。制御部１１０のＣＰＵは、それらのプログラムをＲＡＭにロードし、ロードしたプログラムを実行する。制御部１１０のＲＡＭは、ＣＰＵの作業領域としても用いられる。なお、レンダリング処理等の各種処理を、専用のハードウェア（図示せず）が行うようにしてもかまわない。
【００１８】
リーダー部１２０は、制御部１１０の指示に従って画像データの読み取りを行う。プリンタ部１３０は、制御部１１０の指示に従ってプリンタエンジン（不図示）を用いて画像データの出力を行う。
【００１９】
操作部１４０は、ユーザが操作を行うための操作キーと、画像データの表示や各種機能の設定などを行う液晶パネル（以下、表示装置ともいう。）と、を備える。また、操作部１４０は、操作キーや液晶パネルをユーザが操作することで入力される情報を、制御部１１０に通知する。本実施例における操作部１４０は、後述する図４（ａ）に示す印刷ジョブリストを表示する。
【００２０】
画像記憶部１５０は、印刷データなどのデータを記憶する。また、画像記憶部１５０は、制御部１１０の作業領域としても利用される。
【００２１】
認証部１６０は、ＩＤカードなどからユーザ認証情報を取得して、制御部１１０に通知する。
【００２２】
次に、ホストＰＣ（ＰＣ１９１）にて実行される処理の概要を説明する。なお、ＰＣ１９１は、一般的なコンピュータと同一の構成を有する。したがって、ＰＣ１９１の構成については説明を省略する。
【００２３】
ＰＣ１９１が有するプリンタドライバは、アプリケーションからＯＳを介して受け付けた印刷命令をもとに、ページ記述言語（ＰＤＬ：Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）で記述されたＰＤＬデータを生成する。印刷命令ごとに変換および生成される、ＰＤＬコマンドで構成されたＰＤＬデータが、印刷データとなる。そして、ＰＣ１９１は、ＬＡＮ１９０を介し、ＴＣＰ／ＩＰを経由して印刷データをジョブ単位で画像形成装置１００に送信する。なお、送信される印刷データには、印刷データ生成時または送信時にユーザを識別するための、ユーザ情報が埋め込まれているものとする。
【００２４】
図２は、第１の実施例における、印刷ジョブリストの更新処理の流れを示すフローチャートである。なお、ここでは、画像形成装置１００に印刷データを格納する例を用いるが、印刷データ格納用サーバを別途用意して、当該サーバに印刷データが格納されるようにしてもよい。
【００２５】
ステップＳ２０１において、制御部１１０はＰＣ１９１からＬＡＮを介し送信された印刷ジョブを受信すると、印刷ジョブに付随する印刷データを作業領域（制御部１１０内のＲＡＭまたは画像記憶部１５０）に一時保存する。
【００２６】
ステップＳ２０２において、制御部１１０は上記作業領域内の印刷データをもとに、印刷ジョブの書誌情報を生成する。ここで、書誌情報として、例えばユーザ情報、出力カラーモード、部数、片面両面、ページ数などの機種依存性がない情報が生成される。また例えば、ステイプル、画像処理、給排紙段などの機種依存性がある情報が生成される。また例えば、用紙サイズなどのページごとの情報が生成される。なお、書誌情報としてその他の情報が生成されてもよい。制御部１１０は、生成した書誌情報を上記作業領域に一時保存する。
【００２７】
ステップＳ２０３において、制御部１１０は、上記作業領域内の印刷データ（ＰＤＬデータ）を解析し、順次得られるＰＤＬ解析結果を用いて印刷時間を予測する。ここでの印刷時間の予測は、印刷ジョブの受信（印刷データの作業領域への保存）後、ユーザからの当該印刷ジョブの印刷指示が初めて受け付けられる前に実行されることを想定している。このことを、印刷時間の予測を印刷ジョブの受信に基づいて実行する、と言う。このようにすることで後述のように、印刷時間の予測においてエラーが発生した場合に、留め置かれた印刷ジョブに対する初めての印刷指示をユーザから受け付ける前に、そのエラーの情報をユーザに通知することが可能になる。制御部１１０が実行する印刷時間の予測処理については図３を用いて後述する。
【００２８】
ステップＳ２０４において、制御部１１０は、印刷予測時間とＰＤＬ解析結果とを書誌情報に追加して、書誌情報を更新する。制御部１１０は、ステップＳ２０３の処理において得られるＰＤＬ解析結果にエラーコードなどが付随されている場合には、エラーコードから導出されるエラー内容を書誌情報に追記する。また、制御部１１０は、エラーが発生したページの情報（例えば、ページ番号）を書誌情報に追記する。ここで、エラーコードは、印刷データを蓄積せずに印刷が行われる通常の印刷において、ＰＤＬ解析中にＰＤＬ解析が継続不可能なエラーが発生したときに操作部１４０に表示される番号である。なお、エラーコードは、ＰＤＬ解析が継続不可能なエラーを識別可能であれば、文字や記号などであってもよい。表１には、エラーＮｏと、エラー内容、および書誌情報に追記するエラーメッセージとの対応を示すテーブルが示されている。
【００２９】
【表１】
2018079660.tif 000003
【００３０】
以下、エラーＮｏがｎであるエラーを、エラー＃ｎと表現する場合がある。ステップＳ２０３においてＰＤＬ解析中にエラーが発生したときには、制御部１１０は、発生したエラーに対応するエラーＮｏを取得する。ここでは、制御部１１０は、発生したエラーが表１に示すＮｏ．１〜５のいずれのエラーであるかを判定することで、エラーＮｏを取得する。なお、図１には５つのエラーが例示されているが、エラーの種類は５つに限定されてない。例えば、エラーは６つ以上に分類されていてもよい。発生したエラーがいずれのエラーであるかを判定する処理については、図３を用いて後述する。制御部１１０は、判定して得られたエラーＮｏと表１に示すテーブルとを照らし合わせて、書誌情報の内容を更新する。具体的には、制御部１１０は、エラーＮｏに対応するエラーメッセージを、対応する印刷ジョブの書誌情報に追記する。表１に示す各エラーメッセーを表示することで、印刷ジョブリストの中に、印刷を開始するとエラーが発生する印刷ジョブが存在する旨を、ユーザに通知することができる。例えば、印刷ジョブリストに、エラー＃１に対応するエラーメッセージが表示されている場合には、ユーザは、ＰＤＬ解析中にエラーが発生して、印刷時間の予測処理がタイムアウトしたことを認識することができる。また印刷ジョブリストに、エラー＃５に対応するエラーメッセージが表示されている場合には、ユーザは、印刷不可であることを認識することができる。印刷不可である場合とは、例えば、ＰＤＬ解析中に、復帰不可能なエラーが発生した場合である。また本実施例では、エラーコードも表示されるので、ユーザは、復帰不可能なエラーの種類を特定することができる。また印刷ジョブリストに、エラー＃２に対応するエラーメッセージが表示されている場合には、ユーザは、印刷時間の予測処理が単にタイムアウトしただけであることを認識することができる。また印刷ジョブリストに、エラー＃３に対応するエラーメッセージが表示されている場合には、ユーザは、ＰＤＬ解析中にエラーが発生するが、印刷を最終ページまで実行可能であることを認識できる。また印刷ジョブリストに、エラー＃４に対応するエラーメッセージが表示されている場合には、ユーザは、ＰＤＬ解析中にエラーが発生するが、当該エラーが発生するページまでであれば印刷可能であることを認識できる。なお、表１に示すエラーメッセージは一例であって、エラー内容を認識可能なメッセージであれば、その他のメッセージを表示するようにしてもよい。
【００３１】
ステップＳ２０５において、制御部１１０は書誌情報に含まれるユーザ情報（例えば、ユーザＩＤ）から、ユーザを特定する。
【００３２】
ステップＳ２０６において、制御部１１０は、特定したユーザの印刷ジョブリストを更新して、本処理を終了する。ここでは、制御部１１０は、特定したユーザの印刷ジョブリストに、ステップＳ２０４で更新した書誌情報を追記する。なお、上記作業領域内に、ステップＳ２０５で特定したユーザの印刷ジョブリストがない場合には、制御部１１０は、新規に印刷ジョブリストを作成するものとする。
【００３３】
図３は、ステップＳ２０３における印刷時間の予測処理の流れを示すフローチャートである。ステップＳ３０１において、制御部１１０は、ＰＤＬ解析の開始時間を示す情報を作業領域（制御部１１０内のＲＡＭまたは画像記憶部１５０）に一時保存する。
【００３４】
ステップＳ３０２において、制御部１１０は、印刷データ（ＰＤＬデータ）の解析を実行する。このとき実行されるＰＤＬ解析は、実際の印刷処理で実行されるＰＤＬ解析と同様である。制御部１１０が解析するＰＤＬデータは例えば、ＰＣＬ（Ｐｒｉｎｔｅｒ  Ｃｏｎｔｒｏｌ  Ｌａｎｇｕａｇｅ）やＰＳ（ＰｏｓｔＳｃｒｉｐｔ）である。なお、ＰＤＬデータの種類はそれらに限定されない。
【００３５】
ステップＳ３０３において、制御部１１０は、ＰＤＬデータの解析中にエラーが発生したか否かを判定する。ＰＤＬ解析中にエラーが発生しなかった場合は（ステップＳ３０３のＮＯ）、処理はステップＳ３０６に移行する。一方、ＰＤＬ解析中にエラーが発生した場合は（ステップＳ３０３のＹＥＳ）、処理はステップＳ３０４に移行する。ＰＤＬ解析中にエラーが発生したと判定される場合とは、例えば、ＰＤＬデータの解析中にＲＡＭ内または画像記憶部１５０内のデータ容量が制限値を超えた場合である。また例えば、ＰＤＬデータに解析不可能なコマンドが含まれる場合、すなわちシンタックスエラーが発生した場合である。また例えば、ＰＤＬデータの解析中にＲＡＭや画像記憶部１５０が破壊されるなど、予期せぬエラーが発生した場合である。なお、制御部１１０が判定するエラーはこれらに限定されない。また、ＰＤＬ解析システムに依存したエラーがＰＤＬ種別で存在してもよい。
【００３６】
ステップＳ３０４において、制御部１１０は、ステップＳ３０２で発生したエラーの内容から、以降のＰＤＬ解析が継続可能であるか否かを判定する。ステップＳ３０２で発生したエラーが復帰可能なエラーである場合には、制御部１１０は、以降のＰＤＬ解析が継続可能であると判定し（ステップＳ３０４のＹＥＳ）、処理はステップＳ３０５に移行する。一方、ステップＳ３０２で発生したエラーが復帰不可能なエラーである場合には、制御部１１０は、以降のＰＤＬ解析の継続が不可能であると判定し（ステップＳ３０４のＮＯ）、処理はステップＳ３０７に移行する。復帰不可能なエラーは、例えば、サービスマンコールが必要になるようなエラーである。具体例を挙げると、ＰＤＬデータの解析中にＲＡＭや画像記憶部１５０が破壊され、制御部１１０がそれらの作業領域へのアクセスに失敗した場合に発生するエラーである。
【００３７】
ステップＳ３０５において、制御部１１０は、エラースキップが可能であるか否かを判定する。エラースキップが可能であれば（ステップＳ３０５のＹＥＳ）、処理はステップＳ３０９に移行する。一方、エラースキップが不可能であれば（ステップＳ３０５のＮＯ）、処理はステップＳ３０８に移行する。ここで、エラースキップとはエラーが発生した描画命令の解析をスキップして、残りの描画命令についてＰＤＬ解析を継続する機能である。エラースキップが行われた場合、エラースキップによりスキップされた描画命令に対応する画像（テキスト、グラフィック、イメージなど）は、印刷実行時に正しく印刷されない。スキップ可能なエラーは、例えば、画像形成装置１００（より具体的には、画像形成装置１００のプリンタ部１３０）の描画処理能力に適合しない描画命令が検出された場合に発生するエラーである。具体例を挙げると、ライン描画命令で指定されるドットの間隔や点数が、プリンタ部１３０の描画処理能力に適合していない場合に発生するエラーである。そのようなライン描画命令が検出された場合には、制御部１１０は、当該ライン描画命令の解析をスキップする。または、制御部１１０は、当該ライン描画命令で指定されるドットの点数を減らすなどした上で、当該ライン描画命令の解析を継続する。そして、制御部１１０は、残りの描画命令についてＰＤＬ解析を実行してから、ステップＳ３０９に移行する。スキップ不可能なエラーは、例えば、ＰＤＬデータの解析中にＲＡＭ内または画像記憶部１５０内のデータ容量が制限値を超えた場合に発生するエラーや、シンタックスエラーである。
【００３８】
ステップＳ３０６において、制御部１１０はＰＤＬ解析結果から中間データを生成する。そして、制御部１１０は、中間データと現在の時間（すなわち、ＰＤＬ解析の終了時間）を示す情報とを上記作業領域に一時保存する。なお、上記作業領域に現在の時間を示す情報がすでに保存されている場合には、制御部１１０は上書きする。中間データはテキスト、グラフィック、イメージなどの各属性をレンダリングするための描画コマンドで構成される。本実施例では、中間データに基づくレンダリングを実行せずに、中間データの描画オブジェクトの個数からレンダリングに要する時間を予測して、制御部１１０がＰＤＬ解析開始からレンダリングが終了するまでの時間を算出する。なお、時間予測の方法はその他の方法であっても良い。また、制御部１１０は、実際にレンダリングを実行してビットマップデータを生成することで、レンダリングに要する時間の実測値を求めるようにしてもよい。
【００３９】
ステップＳ３０７〜Ｓ３０９において、制御部１１０は、ＰＤＬ解析して得られた中間データと、エラーＮｏと、エラーコードとを上記作業領域に一時保存する。なお、ステップＳ３０７では、エラーＮｏとして「５」が保存され、処理はステップＳ３１６に移行する。また、ステップＳ３０８では、エラーＮｏとして「４」が保存され、処理はステップＳ３１６に移行する。また、ステップＳ３０９では、エラーＮｏとして「３」が保存され、処理はステップＳ３０６に移行する。
【００４０】
ステップＳ３１０において、制御部１１０は上記作業領域から、ＰＤＬ解析の開始時間を示す情報と、現在の時間を示す情報とを取得する。制御部１１０は、ＰＤＬ解析の開始時間と現在の時間との差分から、ＰＤＬ解析時間を算出する。算出されたＰＤＬ解析時間が予め定めた制限時間を超えている場合、すなわちタイムアウトが発生した場合には（ステップＳ３１０のＹＥＳ）、処理はステップＳ３１３に移行する。本実施例では、ＰＤＬ解析時間の制限時間を示す情報が、予め制御部１１０によって上記作業領域に格納される。一方、算出されたＰＤＬ解析時間が予め定めた制限時間を超えていない場合には（ステップＳ３１０のＮＯ）、処理はステップＳ３１１に移行する。
【００４１】
ステップＳ３１１において、制御部１１０は、ステップＳ２０１で受信した印刷ジョブの中に未解析のＰＤＬデータが残っているかを判定する。未解析のＰＤＬデータが残っている場合には（ステップＳ３１１のＹＥＳ）、処理はステップＳ３０２に戻る。一方、未解析のＰＤＬデータが残っていない場合には（ステップＳ３１２のＮＯ）、処理はステップＳ３１２に移行する。
【００４２】
ステップＳ３１２において、制御部１１０は、各ＰＤＬデータから生成された中間データに含まれる描画オブジェクトの個数からレンダリング時間を予測する。制御部１１０は、予測したレンダリング時間とステップＳ３１０で算出したＰＤＬ解析時間との合計を印刷予測時間として、上記作業領域に一時保存する。
【００４３】
ステップＳ３１３において、制御部１１０は、ＰＤＬ解析エラーが発生しなかったかを判定する。上述したように、ＰＤＬ解析エラーが発生して、上記ステップＳ３０７〜Ｓ３０９のいずれかの処理が実行されている場合には、エラーＮｏが上記作業領域に保存される。したがって、エラーＮｏが上記作業領域に保存されていなければ、制御部１１０は、ＰＤＬ解析中にエラーが発生しなかったと判断できる。エラーが発生していた場合は（ステップＳ３１３のＮＯ）、処理はステップＳ３１４に移行する。一方、エラーが発生していなかった場合は（ステップＳ３１３のＹＥＳ）、処理はステップＳ３１５に移行する。
【００４４】
ステップＳ３１５において、制御部１１０は、上記作業領域にエラーＮｏ「２」を保存する。
【００４５】
ステップＳ３１４において、制御部１１０は、上記作業領域に保存されているエラーＮｏを「１」に更新する。
【００４６】
ステップＳ３１６において、制御部１１０はＰＤＬ解析エラー発生前までに得られた中間データに含まれる描画データの個数から、レンダリング時間を予測する。また、制御部１１０は、ステップＳ３１０の処理と同様にして、ＰＤＬ解析時間を算出する。そして、制御部１１０は、予測したレンダリング時間と算出したＰＤＬ解析時間との合計を印刷予測時間として、上記作業領域に一時保存する。
【００４７】
なお、図３では、ステップＳ３０７の処理の後、ステップＳ３１６の処理を実行する例が示されているが、制御部１１０は、ステップＳ３０７の処理の後、ステップＳ３１６の処理を実行せずに、印刷時間の予測処理を終了するようにしてもよい。
【００４８】
図４は、操作部１４０に表示される画面の一例を示す図である。図４（ａ）には、操作部１４０に表示される印刷ジョブリストであって、ステップＳ２０６において制御部１１０によって更新された印刷ジョブリストの一例が示されている。図４（ａ）に示すように、印刷ジョブリストは、印刷ジョブの名前と印刷設定とを示す「ジョブ名／プリント設定」欄を含む。また、印刷ジョブリストは、印刷ジョブが受信された日時を示す「日時」欄を含む。また、印刷ジョブで指定された枚数と部数とを示す「枚数／部数」欄を含む。さらに、図２，３に示す処理を実行して得られるＰＤＬ解析結果を示す「時間予測／解析結果」欄を含む。図４（ａ）には、ユーザＩＤが“ユーザＸ”であるユーザの印刷ジョブリストが表示されている。ここで、印刷ジョブリスト４０１は、印刷ジョブ４０２が、１９ページ中の１６ページ目でスキップ不可のＰＤＬエラーが発生し、１５ページ目までしか印刷できないジョブであることを、ユーザに提示している。また、印刷ジョブリスト４０１は、印刷ジョブ４０３が、全ページ（１０ページ）においてＰＤＬ解析エラーが発生しないジョブであることを、ユーザに提示している。
【００４９】
図４（ａ）に示す画面において、ユーザが、印刷ジョブリスト４０１内の印刷ジョブ４０２を選択し、且つ印刷開始ボタン４０４を押下すると、制御部１１０は、操作部１４０の画面を図４（ｂ）に示す画面に遷移させる。図４（ｂ）には、ＰＤＬ解析エラーが発生するページの前のページまで印刷するかどうかをユーザに決定させるための画面（以下、印刷開始確認画面という。）の一例が示されている。図４（ｂ）に示す画面の「ＯＫ」ボタンがユーザによって押下されると、制御部１１０は「テスト．ｔｘｔ」の１５ページ目までの印刷を開始する。一方、「キャンセル」ボタンがユーザによって押下されると、操作部１４０の画面が図４（ａ）に示す画面に遷移する。
【００５０】
図５は、画像形成装置１００における印刷処理の流れを示すフローチャートである。ステップＳ５０１において、認証部１６０は、ユーザによってユーザ情報認証が入力されると、ユーザ認証情報を制御部１１０に送信する。制御部１１０は、受信したユーザ認証情報と予め登録されているユーザ情報との照合を行い、当該ユーザの、画像形成装置１００に対する操作を許可するかどうかを判定する。ユーザ情報は、画像形成装置１００に対するユーザ登録操作によって、上記作業領域に予め保存される。なお、外部の装置（例えば、画像形成装置１０１）に保存されているユーザ情報を利用して照合を行う構成であってもよい。また、ステップＳ５０１の認証処理を外部の装置で行ってもよい。その場合には、制御部１１０は、ＬＡＮ１９０等の通信回線を介して外部の装置から判定結果を取得すればよい。照合の結果、ユーザ認証が許可された場合には（ステップＳ５０１のＹＥＳ）、処理はステップＳ５０２に移行する。このとき、制御部１１０は認証通知を行う。例えば、操作部１４０に認証結果を表示する。一方、ユーザ認証が許可されない場合には（ステップＳ５０１のＮＯ）、処理はステップＳ５０１に戻り、制御部１１０は、ユーザ情報の再度の入力を待つ。その際、一定時間経過してもユーザ情報が入力されない場合には、制御部１１０は処理を終了する。
【００５１】
ステップＳ５０２において、制御部１１０は、認証が許可されたユーザの書誌情報を操作部１４０に出力する。それにより、図４（ａ）に示す印刷ジョブリスト４０１が操作部１４０に表示される。
【００５２】
ステップＳ５０３において、制御部１１０は、ユーザから操作部１４０を介して印刷指示があったか否かを判定する。ここでは、制御部１１０は、一定時間内に、印刷ジョブリスト４０１から印刷ジョブが選択され、且つ印刷開始ボタン４０４が押下されているかを判定する。印刷指示があった場合には（ステップＳ５０３のＹＥＳ）、処理はステップＳ５０４に移行する。一方、印刷指示がない場合には（ステップＳ５０３のＮＯ）、本処理を終了する。
【００５３】
ステップＳ５０４において、制御部１１０は、ユーザから操作部１４０を介して選択された印刷ジョブの書誌情報から、当該印刷ジョブが、ＰＤＬ解析エラーが発生する印刷ジョブであるか否かを判定する。当該印刷ジョブが、ＰＤＬ解析エラーが発生する印刷ジョブである場合には（ステップＳ５０４のＹＥＳ）、処理はステップＳ５０５に移行する。一方、当該印刷ジョブが、ＰＤＬ解析エラーが発生しない印刷ジョブである場合には（ステップＳ５０４のＮＯ）、処理はステップＳ５０７に移行する。
【００５４】
ステップＳ５０５において、制御部１１０は、操作部１４０に図４（ｂ）に示す印刷開始確認画面を表示する。それにより、ＰＤＬ解析エラーが発生するページの前のページまで印刷するかどうかをユーザに問い合わせることができる。
【００５５】
ステップＳ５０６において、図４（ｂ）に示す印刷開始確認画面の「ＯＫ」ボタンがユーザによって押下されると（ステップＳ５０６のＹＥＳ）、処理はステップＳ５０７に移行する。一方、図４（ｂ）に示す画面の「キャンセル」ボタンがユーザによって押下されると（ステップＳ５０６のＮＯ）、制御部１１０は、印刷を開始せずに本処理を終了する。
【００５６】
ステップＳ５０７において、制御部１１０は印刷を開始する。具体的には、制御部１１０は、ユーザが選択した印刷ジョブの印刷データのＰＤＬ解析を開始し、解析結果から中間データを生成する。制御部１１０は、中間データに基づきレンダリングを実行し、レンダリングして得られた画像データを上記作業領域に保存する。制御部１１０は、画像データをプリンタ部１３０に送信する。プリンタ部１３０は、受信した画像データに基づき、紙などの記録媒体に対して一連の印刷処理を行う。
【００５７】
以上のように本実施例では、図２、図３に示すように、ホストＰＣから受信した印刷ジョブを留め置くタイミングで、制御部１１０が印刷時間の予測処理（ＰＤＬ解析）を実行する。そして、制御部１１０は、受信した印刷ジョブを印刷ジョブリストに登録する際に、当該印刷ジョブの書誌情報にＰＤＬ解析結果を含ませる。さらに、制御部１１０は、ユーザ認証後に操作部１４０に表示される印刷ジョブリストにＰＤＬ解析結果を表示させることで、ユーザにＰＤＬ解析結果を通知する。このような処理により、本実施例によれば、印刷開始前に、印刷ジョブの印刷データが不正かどうかをユーザに通知することができる。
【００５８】
なお、本実施例では、印刷ジョブリストにＰＤＬの解析結果を表示させることで、印刷ジョブの印刷データが不正であるか否かをユーザに通知しているが、ユーザへの通知はどのような形態で実現されてもよい。画像形成装置に投入された印刷ジョブの印刷データが不正であるか否かをユーザに認識させることができれば、ユーザへの通知はどのような形態で実現されてもよい。
【００５９】
また本実施例では、印刷時間の予測処理が制限時間内に終了しない場合に、制御部１１０が、タイムアウトしたことを示すメッセージを一律に表示せずに、表１に示すように、タイムアウトの要因に応じて、表示するメッセージを切り換える。したがって、印刷時間の予測処理を行う印刷システムにおいても、印刷開始前に、印刷ジョブの印刷データが不正かどうかをユーザに適切に認識させることができる。
【００６０】
また本実施例では、図４（ａ）に示すように、ＰＤＬ解析中にエラーが発生した場合でも、途中のページまで印刷可能である場合には、その旨をユーザに通知する。さらに、図４（ｂ）に示すように、途中のページまで印刷するか否かをユーザに問い合わせる画面を表示する。したがって、本実施例によれば、印刷開始後に印刷中止を指示するといったユーザの手間を省くことができる。
【００６１】
なお、本実施例では、ホストＰＣから受信した印刷ジョブをすべて留め置く場合を例にしたが、制御部１１０は、受信した印刷ジョブのうち、留め置き印刷が指定された印刷ジョブを留め置くようにしてもよい。そして、制御部１１０は、留め置き印刷が指定されていない印刷ジョブについては、印刷データを蓄積せずに印刷を開始する、通常の印刷を実行するようにしてもよい。
【００６２】
（その他の実施例）
以上、本発明の実施例を詳述したが、上記実施例は複数の機器から構成されるシステムに適用してもよいし、また、ひとつの機器からなる装置に適用してもよい。たとえば、スキャナ、プリンタ、ＰＣ、複写機、複合機およびファクシミリ装置の如くである。
また、本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【図１】
2018079660.tif 000004
【図２】
2018079660.tif 000005
【図３】
2018079660.tif 000006
【図４】
2018079660.tif 000007
【図５】
2018079660.tif 000008