(57)【要約】【課題】パススルーデータを含む印刷ジョブの処理時に、ＰＤＬコマンドを切り替える変換処理を実施する必要があるため、プレビュー画面を表示するときの即時性が損なわれてしまう。【解決手段】  複数の印刷ジョブを留め置きできる画像形成装置であって、印刷ジョブがパススルーデータを含むかどうか判定し、パススルーデータを含むと判定した場合に、当該パススルーデータがプレビューに関係しないページ制御系のコマンドを含むかどうか判定する。印刷ジョブに含まれるコマンドを解析してプレビュー用の画像データを生成する際、ページ制御系のコマンドを含むと判定されたパススルーデータを無視して画像データを生成する。【選択図】  図６
2020026096.tif 000002
【特許請求の範囲】
【請求項１】
複数の印刷ジョブを留め置きできる画像形成装置であって、
印刷ジョブがパススルーデータを含むかどうか判定する第１判定手段と、
前記第１判定手段が前記パススルーデータを含むと判定した場合に、当該パススルーデータがプレビューに関係しないページ制御系のコマンドを含むかどうか判定する第２判定手段と、
前記印刷ジョブに含まれるコマンドを解析してプレビュー用の画像データを生成する生成手段と、を有し、
前記生成手段は、前記第２判定手段が前記ページ制御系のコマンドを含むと判定した前記パススルーデータを無視して前記画像データを生成することを特徴とする画像形成装置。
【請求項２】
前記第１判定手段及び前記第２判定手段の判定結果を、前記複数の印刷ジョブのそれぞれに対応つけて保存する保存手段を、更に有し、
前記生成手段は、前記保存手段に保存されている前記判定結果を参照して前記プレビュー用の画像データを生成することを特徴とする請求項１に記載の画像形成装置。
【請求項３】
ログインしたユーザに対応する、留め置きされている印刷ジョブのリストを表示する表示手段と、
前記印刷ジョブのリストから前記ユーザにより選択された印刷ジョブのプレビューの指示を受け付ける受け付け手段と、を、更に有し、
前記第１判定手段、前記第２判定手段及び前記生成手段は、前記プレビューの指示により起動されることを特徴とする請求項１又は２に記載の画像形成装置。
【請求項４】
前記画像形成装置は、前記パススルーデータのコマンドも解析できる場合、前記生成手段は、前記パススルーデータに含まれる前記プレビューに関係する描画系のコマンドも解析してプレビュー用の画像データを生成することを特徴とする請求項１乃至３のいずれか１項に記載の画像形成装置。
【請求項５】
前記画像形成装置が前記パススルーデータのコマンドを解析できない場合、
前記第２判定手段は、前記パススルーデータのコマンドを示すバイナリデータが所定のデータと一致するか否かに基づいて、前記パススルーデータが前記ページ制御系のコマンドかどうか判定することを特徴とする請求項１乃至３のいずれか１項に記載の画像形成装置。
【請求項６】
前記第２判定手段が、前記パススルーデータのコマンドが前記ページ制御系のコマンドでないと判定した場合に、前記プレビューの指示を受け付けないようにする手段を、更に有することを特徴とする請求項５に記載の画像形成装置。
【請求項７】
前記パススルーデータは、ＰＣＬ５のコマンドを含むことを特徴とする請求項１乃至６のいずれか１項に記載の画像形成装置。
【請求項８】
前記ページ制御系のコマンドは、両面片面指定、用紙サイズ、用紙タイプ、給紙段指定を含む、プレビューに影響しないコマンドであることを特徴とする請求項１乃至７のいずれか１項に記載の画像形成装置。
【請求項９】
前記プレビューに影響するコマンドは、テキスト、グラフィック、イメージを含む描画処理を指示するコマンドであることを特徴とする請求項１乃至８のいずれか１項に記載の画像形成装置。
【請求項１０】
複数の印刷ジョブを留め置きできる画像形成装置を制御する制御方法であって、
印刷ジョブがパススルーデータを含むかどうか判定する第１判定工程と、
前記第１判定工程が前記パススルーデータを含むと判定した場合に、当該パススルーデータがプレビューに関係しないページ制御系のコマンドを含むかどうか判定する第２判定工程と、
前記印刷ジョブに含まれるコマンドを解析してプレビュー用の画像データを生成する生成工程と、を有し、
前記生成工程は、前記第２判定工程で、前記ページ制御系のコマンドを含むと判定した前記パススルーデータを無視して前記画像データを生成することを特徴とする制御方法。
【請求項１１】
コンピュータを、請求項１乃至９のいずれか１項に記載の画像形成装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置とその制御方法、及びプログラムに関する。
【背景技術】
【０００２】
従来の画像形成装置によるプレビュー機能は、画像データの保存領域であるボックス（ＢＯＸ）に保存した画像データや、スキャンデータを操作パネルへ表示する際に使用されている。また近年では、セキュリティやコスト削減の意識の高まりにより、画像形成装置で印刷ジョブを保存しておき、画像形成装置でユーザ認証を行うことにより印刷を実行するプリントシステムが存在する（留め置き印刷）。このようなプリントシステムでは、画像形成装置内に描画前の印刷ジョブをそのまま保存することで、通常は、プリンタドライバで事前に印刷設定してから印刷するのに対して、保存している印刷ジョブの印刷設定を後から変更して印刷することができる。留め置き印刷には、保存している印刷ジョブの印刷設定を後から変更できる機能と、印刷設定を変更した後のプレビュー機能がある。後から印刷設定を変更できる機能により、ＰＣから受信して保存している印刷ジョブに対しても、画像形成装置の操作パネルを使用して、その印刷設定を変更できるようになった。
【０００３】
また留め置き印刷では、印刷ジョブをそのまま保持するため、ＢＯＸとは異なり、プレビュー機能を実行する際は、表示用の画像データをその都度生成している。そのため、後から印刷設定を変更した場合でも、その印刷設定が変更された印刷ジョブのプレビュー表示を行うことで、ユーザは、印刷設定を変更した後の印刷結果を、印刷を行う前に確認することができる。
【０００４】
従来、ＭｉｃｒｏＳｏｆｔ社が提供するＷｏｒｄ（登録商標）の文書などに直接バイナリコマンドを埋め込むことで、印刷ジョブの作成時にプリンタドライバのＰＤＬコマンドとは異なるコマンドを挿入できるドライバパススルー機能が知られている（例えば、特許文献１）。
【０００５】
画像形成装置が、プリンタドライバから投入されたＰＤＬコマンドと、ドライバパススルー機能によって指示されたパススルーコマンドを含む印刷ジョブを解析するには、２つ以上のＰＤＬコマンドを解析する機能を備える必要がある。特許文献１は、これら２つのＰＤＬコマンドを１種類のＰＤＬコマンドに変換することにより、１種類のＰＤＬコマンドで印刷ジョブを処理する仕組みを提案している。例えば、ＰＣＬ（Ｐｒｉｎｔｅｒ  Ｃｏｎｔｒｏｌ  Ｌａｎｇｕａｇｅ）には、ＰＣＬ５という印刷言語とＰＣＬＸＬという印刷言語の種類がある。ＰＣＬＸＬドライバからＰＣＬＸＬコマンドが送信され、パススルーコマンドとして文書にＰＣＬ５コマンドが埋め込まれているときに第１の制御命令（ＰＣＬ５）を第２の制御命令（ＰＣＬＸＬ）に変換する。このようにして、プリンタドライバから投入される印刷言語と異なる印刷言語のコマンドが、パススルーで投入された場合であっても、コマンドを１種類だけに限定する方法を提案している。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００８−１８６０８４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら従来技術では、留め置き印刷において、パススルーデータを含む印刷ジョブの処理時に、ＰＤＬコマンドを切り替える変換処理を実施する必要があるため、プレビュー画面を表示するときの即時性が損なわれてしまう。具体的には、ＰＣＬＸＬのパススルーデータがＰＣＬ５コマンドで指定されていると、ＰＣＬＸＬの解析処理からＰＣＬ５の解析処理へ移行する必要があるため、ＰＤＬ解析方法の切り替えがオーバーヘッドとなってしまう。また、パススルーデータの内容によっては、プレビューに関係しないページ制御コマンドなどを含むため、プレビューに不要なＰＤＬコマンドを変換する処理が生じ、無駄に時間がかかってしまうという課題があった。
【０００８】
本発明の目的は、上記従来技術の問題点の少なくとも一つを解決することにある。
【０００９】
本発明の目的は、パススルーデータを含む印刷ジョブであっても、従来よりも高速にプレビューを行うことができる技術を提供することにある。
【課題を解決するための手段】
【００１０】
上記目的を達成するために本発明の一態様に係る画像形成装置は以下のような構成を備える。即ち、
複数の印刷ジョブを留め置きできる画像形成装置であって、
印刷ジョブがパススルーデータを含むかどうか判定する第１判定手段と、
前記第１判定手段が前記パススルーデータを含むと判定した場合に、当該パススルーデータがプレビューに関係しないページ制御系のコマンドを含むかどうか判定する第２判定手段と、
前記印刷ジョブに含まれるコマンドを解析してプレビュー用の画像データを生成する生成手段と、を有し、前記生成手段は、前記第２判定手段が前記ページ制御系のコマンドを含むと判定した前記パススルーデータを無視して前記画像データを生成することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、パススルーデータを含む印刷ジョブであっても、従来よりも高速にプレビューを行うことができる。
【００１２】
本発明のその他の特徴及び利点は、添付図面を参照とした以下の説明により明らかになるであろう。なお、添付図面においては、同じ若しくは同様の構成には、同じ参照番号を付す。
【図面の簡単な説明】
【００１３】
添付図面は明細書に含まれ、その一部を構成し、本発明の実施形態を示し、その記述と共に本発明の原理を説明するために用いられる。
【図１】実施形態１に係る複数の画像形成装置とホストコンピュータ（ＰＣ）とを含む印刷システムの構成図（Ａ）と、実施形態１に係る印刷システムで、ユーザが入稿した印刷ジョブを画像形成装置に留め置いた後、ユーザが画像形成装置のログインして印刷するシーケンスの一例を示す図（Ｂ）。
【図２】実施形態１に係る画像形成装置による印刷ジョブの蓄積と印刷時間の予測、書誌情報を更新する処理を説明するフローチャート（Ａ）と、実施形態１に係る画像形成装置における留め置かれている、あるユーザの印刷ジョブの書誌情報を管理するテーブルの一例を示す図（Ｂ）。
【図３】実施形態１に係る画像形成装置による印刷ジョブのプレビュー画像を生成するとき処理を説明するフローチャート（Ａ）と、図３（Ａ）のＳ３０３でパススルーデータを含むＰＣＬＸＬコマンドを解析するときの従来処理を説明するフローチャート（Ｂ）。
【図４】実施形態１に係るホストコンピュータで、ユーザがワード文書内にＰＣＬ５コマンドをパススルーデータとして入力したときのＰＣＬＸＬデータの構成と、画像形成装置での印刷処理を説明する図。
【図５】実施形態１に係る画像形成装置が、入稿されたＰＣＬＸＬコマンドの印刷ジョブを解析して書誌情報を生成する処理を説明するフローチャート（Ａ）と、パススルーデータを含む印刷ジョブかどうかの判定結果を記録する書誌情報の管理テーブルの一例を示す図（Ｂ）。
【図６】実施形態１に係る画像形成装置が、印刷ジョブを入稿したユーザからプレビューの指示を受けたときの処理を説明するフローチャート。
【図７】実施形態２に係る画像形成装置１００が、図５（Ａ）のＳ５０５を実行するときの処理を説明するフローチャート。
【図８】実施形態２に係る画像形成装置が、ユーザがパススルーデータを含む印刷ジョブを選択してプレビュー表示を指示したときの処理を説明するフローチャート。
【図９】実施形態１，２における印刷ジョブリストの一例を示す図（Ａ）と、実施形態２に係る印刷ジョブリストの一例を示す図（Ｂ）。
【発明を実施するための形態】
【００１４】
以下、添付図面を参照して本発明の実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る本発明を限定するものでするものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【００１５】
［実施形態１］
図１（Ａ）は、実施形態１に係る複数の画像形成装置１００、１０１とホストコンピュータ（ＰＣ）１９１とを含む印刷システムの構成図である。
【００１６】
この印刷システムでは、画像形成装置１００，１０１とホストコンピュータ（ＰＣ）１９１とは、イーサネット（登録商標）等のＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ Ｎｅｔｗｏｒｋ）１９０を介し、ＴＣＰ／ＩＰを経由して互いに通信可能に接続されている。通信に用いるプロトコルはＴＣＰ／ＩＰ以外のＵＤＰなどのプロトコルであってもよい。
【００１７】
画像形成装置１００，１０１はともにＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｒｉｎｔｅｒ）であり、ホストコンピュータ（ＰＣ）１９１からの印刷指示に応じて処理を実行する。ここで、画像形成装置１０１，１０１は、ＭＦＰ以外のＳＦＰ（Ｓｉｎｇｌｅ  Ｆｕｎｃｔｉｏｎ  Ｐｒｉｎｔｅｒ）、ＬＢＰ（Ｌａｓｅｒ  Ｂｅａｍ  Ｐｒｉｎｔｅｒ）であってもよい。また画像形成装置１００，１０１は、ＭＦＰ，ＳＦＰ，ＬＢＰ以外のプリント方式のプリンタであってもよい。尚、ここで画像形成装置１００と画像形成装置１０１とは同一の構成を有することから、以下、画像形成装置１００の構成について説明する。
【００１８】
画像形成装置１００は、リーダ部１２０、プリンタ部１３０、操作部１４０、画像記憶部１５０、認証部１６０、及び、これら各部を制御する制御部１１０を有している。制御部１１０は、ＣＰＵ１１２、ＲＯＭ１１４、ＲＡＭ１１６等を有し、ＣＰＵ１１２がＲＯＭ１１４又は他の記憶媒体（不図示）に格納されたプログラムをＲＡＭ１１６に展開し、その展開したプログラムを実行することにより、画像形成装置１００を統括制御する。制御部１１０のＲＡＭ１１６は、ＣＰＵ１１２の作業領域として用いられる。例えば、制御部１１０は、ＣＰＵ１１２にレンダリング処理等を行うための予め決められたプログラムをロードする構成を採る。またレンダリング処理に関しては、ここでは記述しないが、専用のハードウェアを利用しても構わない。また実施形態１において、以下のフローチャートで示す処理が、ＣＰＵ１１２が前述のプログラムを実行することにより実行される。
【００１９】
リーダ部１２０は、制御部１１０の指示に従って原稿の画像を読み取って、その画像に対応する画像データを生成する。プリンタ部１３０は、制御部１１０の指示に従ってプリンタエンジン（不図示）を用いて画像の印刷を行う。操作部１４０は、ユーザが操作を行うための操作キー、及び画像データや各種機能の表示／設定などを行う表示部を備え、ユーザ操作などの情報を制御部１１０へ通知する。尚、表示部はタッチパネル機能を有している。実施形態１において操作部１４０は、留め置き印刷の印刷ジョブリスト（例えば図９の９０１）からユーザにより選択された印刷ジョブのプレビュー画像を表示する。画像記憶部１５０は、制御部１１０の作業領域としての利用や、印刷ジョブなどのデータの保存に利用される。認証部１６０は、ユーザが所有するＩＤカードなどを読み取ってユーザ認証を行い、その結果を制御部１１０へ通知する。尚、認証部１６０は、操作部１４０から入力されるユーザ情報に基づいてユーザ認証を実行してもよい。
【００２０】
次に、ＰＣ１９１で実行される処理の概要を説明する。尚、ＰＣ１９１は、一般的なコンピュータと同一の構成要素を有することから、その構成に関する説明を省略する。
【００２１】
ＰＣ１９１は、アプリケーションからＯＳを介して依頼された印刷命令を基に、プリンタドライバを用いてページ記述言語（ＰＤＬ：Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）で記述されたＰＤＬデータを生成する。印刷命令ごとに変換及び生成されるＰＤＬコマンドで構成されたＰＤＬデータが印刷ジョブとなる。そして、ＰＣ１９１は、ＬＡＮ１９０を介し、ＴＣＰ／ＩＰを経由して印刷ジョブを画像形成装置１００へ送信する。この印刷ジョブには、印刷ジョブの生成時、又は送信時に、ユーザを識別するためのユーザ情報が埋め込まれているものとする。
【００２２】
図１（Ｂ）は、実施形態１に係る印刷システムで、ユーザが入稿した印刷ジョブを画像形成装置１００に留め置いた後、ユーザが画像形成装置１００のログインして印刷するシーケンスの一例を示す図である。
【００２３】
Ｓ１０１でユーザは、ホストコンピュータ（ＰＣ）１９１に入稿指示を行い、ＰＣ１９１は、任意のアプリケーションで生成したデータを基にプリンタドライバで生成した印刷ジョブを画像形成装置１００送信する（Ｓ１０２）。これにより画像形成装置１００は、その印刷ジョブを受信して画像記憶部１５０に保存する。次にＳ１０３で画像形成装置１００は、その印刷ジョブに付与されたユーザＩＤを抽出して書誌情報を作成し、Ｓ１０４で、その書誌情報を登録する。次にＳ１０５でユーザは画像形成装置１００にログインすると、画像形成装置１００はＳ１０６で、そのユーザＩＤの情報から操作部１４０に画像記憶部１５０の書誌情報を印刷ジョブリストとして表示する。
【００２４】
ここでは例えば図９（Ａ）に示すように、ログインしたユーザのユーザＩＤで留め置きされている印刷ジョブのリストが表示される。この印刷ジョブのリストでユーザが所望の印刷ジョブを選択して「印刷開始」ボタンを押下すると、その印刷ジョブの印刷が開始される。またユーザが所望の印刷ジョブを選択した後、プレビューボタン９０３を押下すると、その印刷ジョブがプレビュー表示される。
【００２５】
即ち、ユーザがＳ１０７で、その印刷ジョブリストから印刷ジョブを選択してプレビュー表示を指示すると、画像形成装置１００はＳ１０８で、その選択された印刷ジョブを解析してプレビュー用の画像データを生成する。そしてＳ１０９で画像形成装置１００は、Ｓ１０８で生成したプレビュー用の画像データを画像記憶部１５０に保存し、操作部１４０へプレビュー表示する。
【００２６】
図２（Ａ）は、実施形態１に係る画像形成装置１００による印刷ジョブの蓄積と印刷時間の予測、書誌情報を更新する処理を説明するフローチャートである。ここで、画像形成装置１００が印刷ジョブを格納するものとして説明するが、印刷ジョブ格納用サーバを別途用意して、そこに印刷ジョブが格納されたとしても同様に適用できる。
【００２７】
まずＳ２０１でＣＰＵ１１２は、ＰＣ１９１からＬＡＮ１９０を介して印刷ジョブを受信し、画像記憶部１５０の作業領域に一時保存する。次にＳ２０２に進みＣＰＵ１１２は、その作業領域に保存した印刷ジョブに基づいて、その書誌情報を生成する。ここでＣＰＵ１１２は、印刷ジョブのＰＤＬコマンドを解析した結果から、ページ制御コマンドの情報等を書誌情報に設定する。ここで書誌情報は、ユーザ情報、出力カラーモード、部数、片面両面印刷、ページ数などの機種依存性の無い情報、及び、ステイプル、画像処理、給排紙段などの機種依存性のある情報、用紙サイズ等のページごとの情報を含む。尚、ここで挙げたのは、あくまでも一例であり、これらに限定されるものではない。実施形態１でＣＰＵ１１２は、ＰＤＬコマンドの解析時に、パススルーデータが存在するかどうかの情報と、パススルーデータがページ制御コマンドではなく描画コマンドを含むかどうかを書誌情報へ登録する（図５（Ｂ））。
【００２８】
次にＳ２０３に進みＣＰＵ１１２は、作業領域に保存された印刷ジョブを用いて、各ページの印刷に要する時間の予測を開始する。このときＣＰＵ１１２は、予測した時間を画像記憶部１５０へ送信して一時保存する。またこのときＣＰＵ１１２は、印刷ジョブに対する通常の印刷処理と同じくＰＤＬデータの解析を実行する。ここでＣＰＵ１１２が解析するＰＤＬデータは、ＰＣＬ（Ｐｒｉｎｔｅｒ  Ｃｏｎｔｒｏｌ  Ｌａｎｇｕａｇｅ）やＰＳ（ＰｏｓｔＳｃｒｉｐｔ）などであり、その種類を限定するものではない。そしてＣＰＵ１１２は、ＰＤＬデータの解析結果から中間データを生成し、現在の日時を画像記憶部１５０に送信して一時保存する。この中間データは、ＰＤＬデータの解析結果からテキスト、グラフィック、イメージなどの各属性をレンダリングするための描画コマンドを含む。
【００２９】
尚、実施形態１における時間の予測は、中間データから画像のレンダリングは行わずに中間データの描画オブジェクトの個数からレンダリングに要する時間を予測して、ページごとのＰＤＬデータの解析開始からレンダリングが終了するまでの時間を求める。ここで予測方法に関しては、実際にレンダリングしてビットマップを生成することで実測値を求めても良く、時間予測の方法を限定するものではない。
【００３０】
次にＳ２０４に進みＣＰＵ１１２は、上述の予測時間を書誌情報として追加し、更新して画像記憶部１５０の作業領域に一時保存する。次にＳ２０５に進みＣＰＵ１１２は、作業領域内の書誌情報に基づいて、ユーザ情報の確認を行う。そしてＳ２０６に進みＣＰＵ１１２は、書誌情報を、そのユーザの印刷ジョブリストに追記して更新して、この処理を終了する。尚、そのユーザの印刷ジョブリストが画像記憶部１５０に保存されていない場合は、新規に印刷ジョブリストの作成を行う。
【００３１】
図２（Ｂ）は、実施形態１に係る画像形成装置１００における留め置かれている、あるユーザの印刷ジョブの書誌情報を管理するテーブルの一例を示す図である。
【００３２】
図２（Ｂ）のジョブＩＤ、ユーザＩＤ、ファイル名、日時、印刷設定情報、ページ数、予測時間といった書誌情報が、画像記憶部１５０の作業領域に保存される。ここで、図２（Ｂ）の書誌情報は、図２（Ｂ）に記載されていない情報を更に含んでもよい。画像形成装置１００の制御部１１０は、このテーブルの予測時間をページ単位で保持する。
【００３３】
図２（Ｂ）は、ユーザＩＤが「１２３４５」のユーザが留め置いている印刷ジョブと、その書誌情報の一覧を示している。
【００３４】
図３（Ａ）は、実施形態１に係る画像形成装置１００による印刷ジョブのプレビュー画像を生成するとき処理を説明するフローチャートである。この処理は、表示されている印刷ジョブのリストからユーザが所望の印刷ジョブを選択し、ユーザがプレビューボタン９０３を押下することにより開始される。
【００３５】
Ｓ３０１でＣＰＵ１１２は、操作部１４０に表示されている印刷ジョブリストから選択された印刷ジョブの書誌情報を画像記憶部１５０から取得する。このときＣＰＵ１１２は、書誌情報から出力結果に関わるような印刷設定を取得することで、後から印刷設定の結果を反映したプレビュー画像を生成する。次にＳ３０２に進みＣＰＵ１１２は、その印刷ジョブのＰＤＬの種別を判別する。このときＣＰＵ１１２は、解析可能な複数のＰＤＬ種別に対応しているものとする。実施形態１では、ＣＰＵ１１２がＰＣＬＸＬの印刷ジョブに対して解析ならびに描画処理を実施できるものとするが、ＰＤＬ種別を限定するものではなく他のＰＤＬを使用してもよい。次にＳ３０３に進みＣＰＵ１１２は、その印刷ジョブのＰＤＬコマンドの解析処理を実施する。ＣＰＵ１１２は、ＰＤＬコマンドを解析した結果を中間データとしてＲＡＭ１１６、または画像記憶部１５０へ格納する。ここで、ＣＰＵ１１２がＰＣＬＸＬの解析処理を実施する際、パススルーデータを含むジョブが指定されたときの解析方法については図３（Ｂ）を参照して詳しく説明する。
【００３６】
次にＳ３０４に進みＣＰＵ１１２は、Ｓ３０３のＰＤＬコマンドの解析処理で生成した中間データから、画像データのレンダリング処理を実施する。このときＣＰＵ１１２は、プレビュー用に、通常のプリント処理よりも解像度の低い画像データを画像記憶部１５０へ保存する。そしてＳ３０５に進みＣＰＵ１１２は、Ｓ３０４で生成したプレビュー表示用の画像データを基に、操作部１４０にプレビュー表示を行う。
【００３７】
図３（Ｂ）は、図３（Ａ）のＳ３０３でパススルーデータを含むＰＣＬＸＬコマンドを解析するときの従来処理を説明するフローチャートである。
【００３８】
まずＳ３１１でＣＰＵ１１２は、画像記憶部１５０から、ＰＣＬＸＬデータの先頭データを取得してコマンドの解析を実施する。次にＳ３１２に進みＣＰＵ１１２は、解析したコマンドがパススルーデータかどうかを判定する。ここでパススルーデータと判定したときはＳ３１３に進み、パススルーデータではないと判定したときはＳ３１６に進む。Ｓ３１３でＣＰＵ１１２は、ＰＣＬ５の解析用のプログラム処理を起動してＰＣＬ５コマンドが解析可能な状態へ移行する。次にＳ３１４に進みＣＰＵ１１２は、パススルーデータで指定されたバイナリサイズのデータをＰＣＬ５コマンドとして解析する。ここで、パススルーデータで指定されたＰＣＬ５コマンドが描画コマンドかページ制御コマンドかどうかに拘わらず、ＰＣＬ５の解析処理部として描画、並びにページ制御の結果をＰＣＬＸＬコマンドの解析部へ通知する。次にＳ３１５に進みＣＰＵ１１２は、パススルーデータで指定されたデータサイズ分のＰＣＬ５コマンドの解析が終了したかどうかを判定する。ここでパススルーデータの全データの解析が完了していればＰＣＬＸＬの解析処理に戻るためＳ３１６に進む。一方、Ｓ３１５で、パススルーデータのデータがまだ残っていれば、ＰＣＬ５の解析処理を継続するためＳ３１４に進んで、ＰＣＬ５コマンドの取得と解析を実施する。
【００３９】
Ｓ３１６でＣＰＵ１１２は、次のＰＣＬＸＬコマンドを印刷ジョブから取得する。次にＳ３１７に進みＣＰＵ１１２は、ＰＣＬＸＬコマンドがジョブの終了を示すコマンド（ＥｎｄＳｅｓｓｉｏｎ）かどうかを判定する。ここでＣＰＵ１１２は、データの終端と判定すればＰＤＬコマンドの解析処理を終了し、中間データを画像記憶部１５０へ保存して、この処理を終了する。一方、Ｓ３１７で次のＰＣＬＸＬコマンドがジョブの終了でないときは、次のＰＣＬＸＬコマンドを解析するためＳ３１１へ移行する。
【００４０】
図３（Ｂ）では、ＣＰＵ１１２がＰＣＬＸＬの印刷ジョブを解析する方法を示した。制御部１１０は、ＰＣＬＸＬの印刷ジョブ内にパススルーデータが存在すれば、処理中のＰＣＬＸＬコマンド解析処理を中断してＰＣＬ５コマンド用の解析処理部Ｓ３１２からＳ３１５に切り替える。しかしながら、制御部１１０はＰＣＬＸＬの印刷ジョブ用にプレビュー画像を形成するとき、パススルーデータに両面指定や給紙段指定などのページ制御系コマンドを指定されているとプレビューに影響しないため無駄な処理となる。
【００４１】
ここで、上述のＰＣＬＸＬとＰＣＬ５コマンドについて簡単に説明する。ＰＣ１９１で実行されるアプリケーションは、パススルーコマンドとしてＰＣＬ５コマンドを記述し、且つ、ＰＣＬＸＬ（ＰＣＬ６）ドライバで印刷指示を行う。これにより画像形成装置１００は、ＰＣＬＸＬコマンドと、ＰＣＬ５コマンドとを受信する。従って、画像形成装置１００は、プレビュー表示の際、そのＰＣＬＸＬのインタプリタとＰＣＬ５のインタプリタを起動させる必要があり、処理負荷が大きく、プレビュー画像の作成までに多くの時間を要する。特にＰＣＬ５のパススルーコマンドが、描画に関係しないページ制御系のコマンドである場合、ＰＣＬ５コマンドの解析はプレビュー画像には関係しないため無駄な処理となる。
【００４２】
図４は、実施形態１に係るＰＣ１９１で、ユーザがワード文書内にＰＣＬ５コマンドをパススルーデータとして入力したときのＰＣＬＸＬデータの構成と、画像形成装置１００での印刷処理を説明する図である。
【００４３】
図４（Ａ）において、ワード文書４０１は、ユーザがＰＣ１９１上で文書を編集する際、ワード文書４０１のヘッダフィールドにＰＣＬ５コマンド４０２を書き込み、本文に、通常の文章４０３を書き込んでいる様子を示す。ＰＣ１９１は、ユーザからワード文書４０１の印刷が指示されると、ＰＣＬＸＬのプリンタドライバ４０４を用いて印刷ジョブを生成し、ＬＡＮ１９０経由で画像形成装置１００に送信する。このとき、プリンタドライバ４０４は、ワード文書４０１のヘッダフィールドのＰＣＬ５コマンド４０２に対して、ＰＣＬＸＬデータではなくＰＣＬ５コマンド４０２のまま印刷ジョブを作成する。
【００４４】
一方、プリンタドライバ４０４は、ワード文書４０１の通常の文章４０３に関しては、４０５で示すように、ＰＣＬＸＬコマンドに変換して印刷ジョブを作成する。画像形成装置１００は、プリンタドライバ４０４から送付された印刷ジョブをＰＣＬＸＬのＰＤＬ種別として解析処理４０７を開始する。
【００４５】
図４（Ｂ）は、画像形成装置１００がユーザからＰＣＬＸＬの印刷ジョブを受信したときのＰＣＬＸＬ印刷ジョブ４０８のデータ構成を示す図である。
【００４６】
ＰＣＬＸＬ印刷ジョブ４０８は、印刷ジョブの先頭コマンドがＰＣＬＸＬデータとして構成されているが、途中のＰＣＬＸＬコマンドで、パススルーデータ４０９としてＰＣＬ５コマンド４０２が埋め込まれている。また、ＰＣＬＸＬ印刷ジョブ４０８は、パススルーデータ４０９に、ＰＣＬ５コマンド４０２とコマンドのデータサイズを含んでいる。画像形成装置１００のＰＣＬＸＬ印刷処理４０７では、パススルーデータ４０９のコマンドを検知すると、ＰＤＬの解析処理をＰＣＬ５の解析処理に切り替えて（Ｓ３１３）、ＰＣＬ５コマンド４０２の解析処理を実施する。
【００４７】
図４（Ｃ）は、ワード文書４０１に埋め込まれるＰＣＬ５コマンド４０２の一例を示す図である。
【００４８】
ＰＣＬ５コマンド４０２は特に指定もなく、ページ制御コマンドの両面指定命令４１０や、給紙段指定４１１のみに関わらず指定することができる。またＰＣＬ５コマンド４０２には、ページ制御コマンド以外にも、イメージ、テキスト、グラフィックスなどの描画命令コマンドを使用することもできる。
【００４９】
図５（Ａ）は、実施形態１に係る画像形成装置１００が、入稿されたＰＣＬＸＬコマンドの印刷ジョブを解析して書誌情報を生成する処理を説明するフローチャートである。
【００５０】
また図５（Ｂ）は、図５（Ａ）に示す処理の結果に基づいて、パススルーデータを含む印刷ジョブかどうかの判定結果を記録する書誌情報の管理テーブルの一例を示す図である。
【００５１】
図５（Ａ）のフローチャートで示す処理は、画像形成装置１００が印刷ジョブを受信することにより開始されるものとして説明するが、例えば、ＣＰＵ１１２が特にジョブを実行していない空きの時間に実行されてもよい。
【００５２】
まずＳ５０１でＣＰＵ１１２は、例えば図５（Ｂ）の書誌情報の管理テーブルにパススルーフラグ、描画オブジェクトフラグの初期値として「オフ」をそれぞれ設定する。次にＳ５０２に進みＣＰＵ１１２は、対象となる印刷ジョブのＰＣＬＸＬコマンドの解析を開始する。そしてＳ５０３に進みＣＰＵ１１２は、そのＰＣＬＸＬコマンドがパススルーデータかどうかを判定する。Ｓ５０３で、パススルーデータと判定した場合はＳ５０４へ進み、そうでないときはＳ５０８へ進む。
【００５３】
Ｓ５０４でＣＰＵ１１２は、例えば図５（Ｂ）の管理テーブルのパススルーフラグを、パススルーデータであることを示す「オン」に設定する。そしてＳ５０５に進みＣＰＵ１１２は、パススルーデータのＰＣＬ５コマンドが、ページ制御系のコマンドかどうかを判定する。Ｓ５０５でＣＰＵ１１２が、ＰＣＬ５コマンドがページ制御系のコマンドと判定した場合はＳ５０６へ処理を進め、そうでないときはＳ５０７に処理を進める。Ｓ５０５でＣＰＵ１１２がページ制御系のコマンドと判定するのは、両面片面指定、用紙サイズ、用紙タイプ、給紙段指定など、プレビュー画像に影響しないＰＣＬ５コマンドの場合である。またＳ５０５でＣＰＵ１１２が、ページ制御系以外のコマンドと判定するのは、テキスト、イメージ、グラフィックスといった描画系のＰＣＬ５コマンドの場合である。Ｓ５０６でＣＰＵ１１２は、Ｓ５０５で判定したパススルーデータのページ制御情報を書誌情報の管理テーブル（図５（Ｂ））に設定してＳ５０８に進む。この場合は、描画オブジェクトフラグは「オフ」のままである。一方、Ｓ５０７でＣＰＵ１１２は、書誌情報の管理テーブル（図５（Ｂ））の描画オブジェクトフラグの情報を「オン」に設定してＳ５０８に進む。
【００５４】
Ｓ５０８でＣＰＵ１１２は、その印刷ジョブから次のＰＣＬＸＬコマンドを取得する。そしてＳ５０９に進みＣＰＵ１１２は、その取得したＰＣＬＸＬコマンドがジョブの終了を示すコマンド（ＥｎｄＳｅｓｓｉｏｎ）かどうか判定し、そうであれば、このＰＤＬコマンドの解析処理を終了し、そうでないときは次のＰＣＬＸＬコマンドを解析するためＳ５０２へ処理を進める。
【００５５】
図５（Ａ）のフローチャートでは、画像形成装置１００が入稿されたＰＣＬＸＬの印刷ジョブに対して処理情報を生成（Ｓ２０２）するタイミングでパススルーデータが含まれているかどうかを判定する例で説明した。
【００５６】
図５（Ｂ）では、ユーザＩＤが「１２３４５」のユーザが留め置いている印刷ジョブの内、ジョブＩＤが「２」の印刷ジョブがパススルーデータを含み、かつ、そのパススルーデータが描画系のＰＣＬ５コマンドであることが分かる。
【００５７】
図６は、実施形態１に係る画像形成装置１００が、印刷ジョブを入稿したユーザからプレビューの指示を受けたときの処理を説明するフローチャートである。
【００５８】
Ｓ６０１でＣＰＵ１１２は、操作部１４０を介してユーザにより印刷ジョブリストから印刷ジョブが選択されてプレビュー表示が指示されると、その選択された印刷ジョブＩＤの情報と、そのプレビュー画像の生成命令を受け取る。次にＳ６０２に進みＣＰＵ１１２は、その選択された印刷ジョブＩＤに基づいて、例えば図５（Ｂ）の管理テーブルの情報を画像記憶部１５０から取得する。次にＳ６０３に進みＣＰＵ１１２は、その印刷ジョブＩＤに対応する管理テーブルのパススルーフラグがオフかどうかを判定する。ここでパススルーフラグがオフと判定したときは、その印刷ジョブはＰＣＬ５コマンドを含んでいないためＳ６０６に進み、ＰＤＬ解析処理時にパススルーデータの処理を無視してプレビュー画像を生成する。
【００５９】
一方、Ｓ６０３でＣＰＵ１１２が、パススルーフラグがオンと判定するとＳ６０４へ処理を進める。Ｓ６０４でＣＰＵ１１２は、その管理テーブルの描画オブジェクトフラグがオフかどうかを判定する。ここで描画オブジェクトフラグがオフと判定すると、その印刷ジョブはＰＣＬ５コマンドを含んでいるが、プレビュー表示に関係する描画オブジェクトを含んでいないためＳ６０６に進んで、前述の処理を実行する。
【００６０】
一方、Ｓ６０４でＣＰＵ１１２は、描画オブジェクトフラグがオンと判定するとＳ６０５へ処理を進める。Ｓ６０５でＣＰＵ１１２は、パススルーデータを含む印刷ジョブで、かつ、パススルーデータが描画オブジェクトのＰＣＬ５コマンドを含むと判定し、通常のＰＤＬ解析処理でプレビュー画像を生成する。これは図３（Ｂ）のフローチャートを参照して説明した通常処理に該当する。
【００６１】
ＣＰＵ１１２は、Ｓ６０６を実行するときは、パススルーデータを含まない印刷ジョブ、またはパススルーデータは、ページ制御系のコマンドのみの場合であるため、ＰＤＬ解析処理時にパススルーデータの処理を無視してプレビュー画像を生成する。このときＣＰＵ１１２は、図３（Ｂ）のフローチャートのＳ３１２からＳ３１５までの処理をスキップした処理を実行する。
【００６２】
以上説明した実施形態１では、ユーザが、画像形成装置１００の操作部１４０を操作して印刷ジョブのプレビュー表示を指示した際、ＰＤＬ解析でパススルーデータをスキップすることでプレビュー画像を高速に生成する方法を説明した。
【００６３】
図２では、画像形成装置１００に入稿された印刷ジョブのジョブリストを生成するときに、書誌情報による印刷ジョブのページ属性情報を保持している仕組みを説明した。
【００６４】
図３では、ユーザが画像形成装置１００の操作部１４０を操作してプレビュー指示を行ったときにプレビュー画像を生成する方法を説明した。図３は、実施形態１において、画像形成装置１００がプレビュー画像を生成する際に、パススルーデータのような他のＰＤＬコマンドを含む印刷ジョブを解析するときにＰＤＬ種別を切り替えて処理することでプレビュー画像の生成に時間がかかることを説明した。また図５及び図６では、画像形成装置１００が書誌情報を生成する際に、パススルーデータにページ制御系コマンドが含まれているかどうかを予め判定することで、プレビュー画像生成時のＰＤＬ解析処理でスキップ処理を実施することができた。
【００６５】
以上説明したように実施形態１によれば、画像形成装置１００は、ユーザから印刷ジョブのプレビュー表示を指示された際、その印刷ジョブがパススルーデータを含む印刷ジョブであっても、そのパススルーデータがプレビューに影響しないコマンドであれば速やかにプレビュー表示を行うことができる。
【００６６】
［実施形態２］
実施形態２では、留め置き印刷のプレビュー画像の生成時に、画像形成装置１００がＰＣＬ５コマンドを解析できない場合、ＰＣＬＸＬコマンドの印刷ジョブにＰＣＬ５コマンドのパススルーデータが含まれているときのプレビュー表示について説明する。尚、実施形態２に係る印刷システムの構成、及び画像形成装置１００のハードウェア構成等は、前述の実施形態１と同様であるため、その説明を省略する。以下に、実施形態１と異なる点のみを説明する。
【００６７】
実施形態２では、図３（Ｂ）において、ＣＰＵ１１２が、Ｓ３１２でパススルーデータであると判定するとＳ３１３へ移行せずにＳ３１６へ移行する。このときＣＰＵ１１２は、ＰＣＬ５コマンドを処理することができないため、パススルーデータで指定されたＰＣＬ５コマンドを無視する。そして図（Ａ）のＳ３０５でＣＰＵ１１２は、パススルーデータが含まれている印刷ジョブであれば、ユーザが操作部１４０からプレビュー表示を指示できないようにプレビューボタンを操作部１４０に表示しないか、プレビューボタンを指示できないようにする。
【００６８】
図７は、実施形態２に係る画像形成装置１００が、図５（Ａ）のＳ５０５を実行するときの処理を説明するフローチャートである。
【００６９】
Ｓ７０１でＣＰＵ１１２は、パススルーデータのＰＣＬ５コマンドを取得する。次にＳ７０２に進みＣＰＵ１１２は、そのＰＣＬ５コマンドが両面指定制御（\033&l#S）のコマンドかどうかを判定する。ここでＣＰＵ１１２は、ＰＣＬ５コマンドの両面指定制御かどうかを、ＰＣＬ５コマンドのバイナリデータとして検出して、そのバイナリデータが所定のデータと一致するかどうかにより判定する。ここで両面指定制御のコマンドと判定するとＳ７０３へ移行する。一方、Ｓ７０２でＣＰＵ１１２は、両面指定制御のコマンドでないと判定した場合はＳ７０４へ処理を進める。Ｓ７０３でＣＰＵ１１２は、両面指定制御から設定値（＃）を取得して、両面または片面指定の情報を書誌情報の管理テーブルへ設定してＳ５０６へ移行する。
【００７０】
Ｓ７０４でＣＰＵ１１２は、ＰＣＬ５コマンドが給紙段指定制御（\033&l#H）のコマンドかどうかを判定する。Ｓ７０４でＣＰＵ１１２は、ＰＣＬ５コマンドの給紙段指定制御かどうかをＰＣＬ５のバイナリデータとして検出し、そのバイナリデータが所定のデータと一致するかどうかにより判定する。ここで給紙段指定制御のコマンドと判定するとＳ７０５へ処理を進める。一方、Ｓ７０４でＣＰＵ１１２は、給紙段指定制御のコマンドではないと判定した場合はＳ５０７へ処理を進める。
【００７１】
Ｓ７０５でＣＰＵ１１２は、給紙段指定制御から設定値（＃）を取得して、給紙段の情報を書誌情報の管理テーブルへ設定してＳ５０６へ処理を進める。
【００７２】
図７のフローチャートでは、図５（Ａ）のＳ５０５でＣＰＵ１１２が、ＰＣＬ５の解析処理を有していないときの、ＰＣＬ５のパススルーデータを解析する方法を説明した。実施形態２では、ＣＰＵ１１２が、ＰＣＬ５の一部の簡易的なページ制御系コマンドとして両面指定制御、給紙段指定制御を挙げたが２つの制御コマンド以外の簡易な判定方法を追加してもよい。
【００７３】
この処理により、画像形成装置１００がＰＣＬ５コマンドを解析できない場合でも、その印刷ジョブに含まれているパススルーデータのＰＣＬ５コマンドが、プレビュー表示に関係しないページ制御系コマンドであるかどうか判定できる。そして、ページ制御系コマンドであると判定すると、パススルーデータのページ制御命令を書誌情報として保存し、描画オブジェクトフラグを「オフ」のままにする。従って、この場合は、例えば図５（Ｂ）の「文書Ｄ」「文書Ｅ」のように、パススルーフラグが「オン」であるが、描画オブジェクトフラグは「オフ」となる。
【００７４】
図８は、実施形態２に係る画像形成装置１００が、ユーザが操作部１４０を介してパススルーデータを含む印刷ジョブを選択してプレビュー表示を指示したときの処理を説明するフローチャートである。
【００７５】
また図９は、実施形態２に係る画像形成装置１００がプレビュー表示の表示方法を切り替える様子を説明する図である。
【００７６】
Ｓ８０１でＣＰＵ１１２は、ユーザが操作部１４０を介して印刷ジョブリストから選択した印刷ジョブの識別情報を取得する。ここで、操作部１４０には印刷ジョブリストが表示されており、ユーザがその印刷ジョブリストから所望の印刷ジョブを選択することにより、その識別情報が入力される。次にＳ８０２に進みＣＰＵ１１２は、そのユーザにより選択された印刷ジョブの書誌情報を取得する。このときＣＰＵ１１２は、その書誌情報の管理テーブルからパススルーデータなどの情報を取得して解析する。次にＳ８０３に進みＣＰＵ１１２は、その印刷ジョブの書誌情報のパススルーフラグがオフかどうか判定し、オフであると判定したときはＳ８０６へ処理を進め、そうでないときはＳ８０４へ処理を進める。Ｓ８０４でＣＰＵ１１２は、その管理テーブルのオブジェクトフラグがオフかどうか判定し、そうであればＳ８０６へ処理を進め、そうでないときはＳ８０５へ処理を進める。
【００７７】
Ｓ８０５でＣＰＵ１１２は、プレビュー表示ボタンをユーザが押下できないようグレーアウトの表示に切り替えて操作部１４０に表示する。これにより図９（Ｂ）に示すように、印刷ジョブリスト９０１のプレビューボタン９０３をグレーアウトにして操作部１４０に表示することで、ユーザがプレビューボタン９０３を押下できないように表示する。
【００７８】
一方、Ｓ８０６でＣＰＵ１１２は、プレビューボタン９０３をユーザが押下できるようにして操作部１４０に表示する。これにより図９（Ａ）に示すように、図５（Ｂ）より、パススルーフラグと描画オブジェクトフラグがともに「オフ」である「文書Ａ」がチェックボックス９０２で選択されている場合、印刷ジョブリスト９０１のプレビューボタン９０３が押下できるように操作部１４０に表示される。
【００７９】
これに対して図９（Ｂ）では、チェックボックス９０４で「文書Ｂ」が選択されており、図５（Ｂ）より、その「文書Ｂ」のパススルーフラグと描画オブジェクトフラグがともに「オン」である。従って、図８のＳ８０３→Ｓ８０４→Ｓ８０５と進んで、プレビューボタン９０３がフレーアウトして表示され、ユーザはそのプレビューボタン９０３を指示することができない。
【００８０】
このように実施形態２では、ＰＣＬ５コマンドの解析処理をサポートしない画像形成装置１００であっても、ＰＣＬＸＬコマンドのパススルーデータによっては印刷ジョブリスト９０１からプレビュー機能を指示できる例を説明した。
【００８１】
以上説明したように実施形態２によれば、画像形成装置１００は、ＰＣＬＸＬコマンドに含まれるパススルーデータを処理できない場合でも、描画オブジェクトのＰＣＬ５コマンドが含まなければプレビュー表示することができる。
【００８２】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００８３】
本発明は上記実施形態に制限されるものではなく、本発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、本発明の範囲を公にするために、以下の請求項を添付する。
【符号の説明】
【００８４】
１００…画像形成装置、１１０…制御部、１１２…ＣＰＵ、１１４…ＲＯＭ、１１６…ＲＡＭ、１４０…操作部
【図１】
2020026096.tif 000003
【図２】
2020026096.tif 000004
【図３】
2020026096.tif 000005
【図４】
2020026096.tif 000006
【図５】
2020026096.tif 000007
【図６】
2020026096.tif 000008
【図７】
2020026096.tif 000009
【図８】
2020026096.tif 000010
【図９】
2020026096.tif 000011