(57)【要約】【課題】印刷範囲指定を含むページ記述言語で生成された印刷データが印刷されるまでの時間を短縮できる画像処理装置及び画像処理方法を提供することを目的とする。【解決手段】印刷範囲指定を含むページ記述言語で生成された印刷データに基づいてプロッタ部に印刷を行わせる画像処理装置１であって、印刷範囲指定を取得し、印刷データに含まれるページ区切りを表す命令に基づいて印刷データを印刷範囲内のページに対応する部分と印刷範囲外のページに対応する部分とに分け、印刷データから印刷範囲外のページに対応する部分を破棄するページ記述言語処理手段１４と、印刷データを描画する描画機能提供手段１５と、描画された印刷データをプロッタ部に印刷させる制御手段１２とを有することにより上記課題を解決する。【選択図】図１
2009177492.tif 000002
【特許請求の範囲】
【請求項１】
印刷範囲指定を含むページ記述言語で生成された印刷データに基づいてプロッタ部に印刷を行わせる画像処理装置であって、
前記印刷データに含まれる印刷範囲指定を取得し、前記印刷データに含まれるページ区切りを表す命令に基づいて前記印刷データを印刷範囲内のページに対応する部分と印刷範囲外のページに対応する部分とに分け、前記印刷データから印刷範囲外のページに対応する部分を破棄するページ記述言語処理手段と、
印刷範囲外のページに対応する部分が破棄された前記印刷データを描画する描画機能提供手段と、
描画された前記印刷データを前記プロッタ部に印刷させる制御手段と
を有することを特徴とする画像処理装置。
【請求項２】
前記ページ記述言語処理手段は、印刷範囲外のページに対応する部分のうち印刷範囲内の最初のページよりも前にある印刷範囲外のページに対応する部分を前記印刷データから破棄することを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記印刷範囲指定はジョブ記述言語によって記述されており、
前記制御手段は、受信バッファに格納されている前記印刷データを解析し、前記ジョブ記述言語に応じたジョブ記述言語処理手段と、前記ページ記述言語に応じたページ記述言語処理手段とを起動させることを特徴とする請求項１又は２記載の画像処理装置。
【請求項４】
前記印刷データに含まれるページ区切りを表す命令は、ページの終わりを表す出力命令の予約語であることを特徴とする請求項１乃至３何れか一項記載の画像処理装置。
【請求項５】
印刷範囲指定を含むページ記述言語で生成された印刷データに基づいてプロッタ部に印刷を行わせる画像処理装置の画像処理方法であって、
前記印刷データに含まれる印刷範囲指定を取得し、前記印刷データに含まれるページ区切りを表す命令に基づいて前記印刷データを印刷範囲内のページに対応する部分と印刷範囲外のページに対応する部分とに分け、前記印刷データから印刷範囲外のページに対応する部分を破棄するページ記述言語処理ステップと、
印刷範囲外のページに対応する部分が破棄された前記印刷データを描画する描画機能提供ステップと、
描画された前記印刷データを前記プロッタ部に印刷させる制御ステップと
を有することを特徴とする画像処理方法。
【請求項６】
前記ページ記述言語処理ステップは、印刷範囲外のページに対応する部分のうち印刷範囲内の最初のページよりも前にある印刷範囲外のページに対応する部分を前記印刷データから破棄することを特徴とする請求項５記載の画像処理方法。
【請求項７】
前記印刷範囲指定はジョブ記述言語によって記述されており、
前記制御ステップは、受信バッファに格納されている前記印刷データを解析し、前記ジョブ記述言語に応じたジョブ記述言語処理手段と、前記ページ記述言語に応じたページ記述言語処理手段とを起動させることを特徴とする請求項５又は６記載の画像処理方法。
【請求項８】
前記印刷データに含まれるページ区切りを表す命令は、ページの終わりを表す出力命令の予約語であることを特徴とする請求項５乃至７何れか一項記載の画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及び画像処理方法に係り、特にページ記述言語で生成された印刷データに基づいて印刷を行う画像処理装置及び画像処理方法に関する。
【背景技術】
【０００２】
例えば画像処理装置の一例としての複合機や印刷装置では使用者（ユーザ）がワープロソフトや表計算ソフト等のアプリケーションから印刷を要求すると、複合機や印刷装置が解釈できるページ記述言語（Page Description Language: PDL）で印刷データが生成されたあと、その印刷データに基づいて印刷を行う。
【０００３】
ＰＤＬは、主に、印刷の為のページ記述に関する情報や描画に関する情報を記述する為の言語であり、ポストスクリプト（PostScript: PS）、プリンタ制御言語（Printer Control Language: PCL）、ＲＰＣＳ（Refined Printing Command Stream）等、様々な種類が存在している。従って、複合機や印刷装置では、各種ＰＤＬに対応するため、それぞれのＰＤＬに対応した解釈機構（インタプリタ）と各インタプリタを呼び出すための機構とを備えている。
【０００４】
また、ＰＤＬで生成された印刷データには、ジョブ記述言語（Printer Job Language: PJL）によってＰＤＬの先頭にジョブの制御に関する情報を付加されたものが広く用いられている（例えば特許文献１〜３参照）。ＰＪＬは、形式が比較的単純でＡＳＣＩＩ形式のデータであるため、多くのベンダーが独自の拡張を行い、それぞれの複合機や印刷装置のジョブ処理用言語として用いている。
【特許文献１】特開２００６−１９２８１１号公報
【特許文献２】特開２００６−２１５６４４号公報
【特許文献３】特開２０００−１３２３４７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
例えばＰＪＬではＰＤＬで生成された印刷データの印刷範囲（印刷ページ）を指定することができる。印刷範囲がＰＪＬにより指定された（ＰＪＬ設定された）印刷データを印刷する場合、複合機や印刷装置はＰＤＬで生成された印刷データに付加されているＰＪＬからＰＪＬモジュールが印刷範囲（印刷ページ）を取得する。複合機や印刷装置はＰＤＬで生成された印刷データをＰＤＬに対応したＰＤＬモジュールで解析し、ページ出力要求により印刷範囲内のページを描画機能提供モジュールに描画させたあと、プロッタ部などに印刷させていた。
【０００６】
ところで、従来の複合機や印刷装置では、印刷範囲外のページであっても、ＰＤＬで生成された印刷データをＰＤＬに対応したＰＤＬモジュールで解析し、ページ破棄要求を描画機能提供モジュールに対して行わなければならなかった。
【０００７】
したがって、従来の複合機や印刷装置は、例えば印刷範囲内のページが少なかったとしても、ＰＤＬで生成された印刷データの全てをＰＤＬモジュールで解析しなければならないという問題があった。特に印刷範囲内のページが後半に少しあるような場合は、印刷範囲内のページがＰＤＬモジュールで解析されるまで時間が掛かり、印刷範囲内のページがプロッタ部などにより印刷されるまでに時間が掛かるという問題があった。
【０００８】
本発明は、上記の点に鑑みなされたもので、印刷範囲指定を含むページ記述言語で生成された印刷データが印刷されるまでの時間を短縮できる画像処理装置及び画像処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するため、本発明は、印刷範囲指定を含むページ記述言語で生成された印刷データに基づいてプロッタ部に印刷を行わせる画像処理装置であって、前記印刷データに含まれる印刷範囲指定を取得し、前記印刷データに含まれるページ区切りを表す命令に基づいて前記印刷データを印刷範囲内のページに対応する部分と印刷範囲外のページに対応する部分とに分け、前記印刷データから印刷範囲外のページに対応する部分を破棄するページ記述言語処理手段と、印刷範囲外のページに対応する部分が破棄された前記印刷データを描画する描画機能提供手段と、描画された前記印刷データを前記プロッタ部に印刷させる制御手段とを有することを特徴とする。
【００１０】
また、本発明は、印刷範囲指定を含むページ記述言語で生成された印刷データに基づいてプロッタ部に印刷を行わせる画像処理装置の画像処理方法であって、前記印刷データに含まれる印刷範囲指定を取得し、前記印刷データに含まれるページ区切りを表す命令に基づいて前記印刷データを印刷範囲内のページに対応する部分と印刷範囲外のページに対応する部分とに分け、前記印刷データから印刷範囲外のページに対応する部分を破棄するページ記述言語処理ステップと、印刷範囲外のページに対応する部分が破棄された前記印刷データを描画する描画機能提供ステップと、描画された前記印刷データを前記プロッタ部に印刷させる制御ステップとを有することを特徴とする。
【００１１】
なお、本発明の構成要素、表現または構成要素の任意の組合せを、方法、装置、システム、コンピュータプログラム、記録媒体、データ構造などに適用したものも本発明の態様として有効である。
【発明の効果】
【００１２】
本発明によれば、印刷範囲指定を含むページ記述言語で生成された印刷データが印刷されるまでの時間を短縮できる画像処理装置及び画像処理方法を提供可能である。
【発明を実施するための最良の形態】
【００１３】
次に、本発明を実施するための最良の形態を、以下の実施例に基づき図面を参照しつつ説明していく。なお、本実施例では、画像処理装置の一例として複合機を例に説明していくが、印刷機能を有する如何なる画像処理装置であってもよい。
【００１４】
図１は本実施例の複合機のモジュール構成図である。図１の複合機１はオペレーティングシステム（ＯＳ）１０，サービス層１１，ＧＰＳモジュール１２，ＰＪＬモジュール１３，ＰＳ３モジュール１４，ＰＲモジュール１５，ＤＩモジュール１６，他のＰＤＬ用モジュール１７及び１８を含む構成である。なお、図１のモジュール構成図では、ＰＳ３モジュール１４，ＰＲモジュール１５，ＤＩモジュール１６がＰＳ用インタプリタとなる。
【００１５】
ＯＳ１０はＵＮＩＸ（登録商標）等の汎用オペレーティングシステムであり、サービス層１１を形成する複数のモジュール，ＧＰＳモジュール１２，ＰＪＬモジュール１３，ＰＳ３モジュール１４，ＰＲモジュール１５，ＤＩモジュール１６，他のＰＤＬ用モジュール１７及び１８を、それぞれプロセスとして並列実行する。
【００１６】
サービス層１１は、ＧＰＳモジュール１２からの要求を解釈してプロッタ部等のハードウェア資源の獲得要求を発生させるモジュール、一または複数のハードウェア資源の管理を行い、獲得要求を調停するモジュール等を有する。
【００１７】
ＧＰＳモジュール１２は、サービス層１１とのアクセスを行うモジュールである。ＰＪＬモジュール１３は、ジョブレベルでの印刷制御言語を処理するモジュールである。ＰＳ３モジュール１４は、ポストスクリプト３（ＰＳ）を処理するモジュールである。ＰＲモジュール１５は描画機能を提供するモジュールである。ＤＩモジュール１６は、プリンタ環境にアクセスする為のモジュールである。また、他のＰＤＬ用モジュール１７及び１８は他のＰＤＬを処理するモジュールである。
【００１８】
ここで、本実施例の複合機１の理解を容易とするため、従来の複合機において印刷範囲指定（ＰＪＬ設定）を含むＰＳデータを印刷する例について説明する。なお、印刷範囲指定（ＰＪＬ設定）を含むＰＳデータとは、ＰＳで生成された印刷データの印刷範囲（印刷ページ）をＰＪＬで指定（ＰＪＬ設定）したものを言う。
【００１９】
図２は従来の複合機において印刷範囲指定（ＰＪＬ設定）を含むＰＳデータを印刷するジョブの手順を表した一例のフローチャートである。ステップＳ１に進み、受信バッファが印刷範囲指定（ＰＪＬ設定）を含むＰＳデータを格納する。
【００２０】
ステップＳ２に進み、ＧＰＳモジュール１２は受信バッファに格納されたＰＳデータにＰＪＬデータが付加されているか否かを判定する。受信バッファに格納されたＰＳデータにＰＪＬデータが付加されているため、ＧＰＳモジュール１２はＰＪＬモジュール１３を起動する。ステップＳ３に進み、ＰＪＬモジュール１３はＰＳデータに付加されていたＰＪＬデータのＰＪＬコマンド解析を行い、ＰＪＬ設定値を取得する。
【００２１】
ステップＳ４に進み、ＰＪＬモジュール１３はＧＰＳモジュール１２のプリンタ情報領域に、取得したＰＪＬ設定値を保存する。ステップＳ４の処理後、又は、ステップＳ２において受信バッファに格納されたＰＳデータにＰＪＬデータが付加されていないと判定した場合、ＧＰＳモジュール１２はステップＳ５に進み、受信バッファにＰＳデータが格納されているか否かを判定する。受信バッファにＰＳデータが格納されているため、ＧＰＳモジュール１２はＰＳ３モジュール１４を起動する。
【００２２】
ステップＳ６に進み、ＰＳ３モジュール１４はＤＩモジュール１６を介して、ＧＰＳモジュール１２のプリンタ情報領域からＰＪＬ設定値を取得する。ＰＳ３モジュール１４はステップＳ７に進み、受信バッファから取得したＰＳデータの解析を行う。ステップＳ８に進み、ＰＳ３モジュール１４は出力命令がＰＳデータにあるか否かを判定する。
【００２３】
ここで出力命令とは、ページ区切りを表す命令であり、ページの終わりを表す命令であるとする。出力命令があれば、ＰＳ３モジュール１４はステップＳ９に進み、ＰＪＬ設定値から印刷範囲を取得し、出力命令により特定されたページ（処理ページ）が印刷範囲外であるか否かを判定する。
【００２４】
処理ページが印刷範囲外であれば、ＰＳ３モジュール１４はステップＳ１０に進み、ＰＲモジュール１５へページ破棄を要求する。従って、ＰＲモジュール１５は処理ページを描画しない。処理ページが印刷範囲内であれば、ＰＳ３モジュール１４はステップＳ１１に進み、ＰＲモジュール１５へページ出力を要求する。従って、ＰＲモジュール１５は処理ページを描画し、ＧＰＳモジュール１２へ印刷処理要求を行う。なお、印刷処理要求を受けたＧＰＳモジュール１２はサービス層１１経由でプロッタ部に印刷を行わせる。
【００２５】
ステップＳ７〜Ｓ１１の処理は処理ページ分もしくはＰＳデータの最後まで繰り返し行われる。ステップＳ７〜Ｓ１１の処理が処理ページ分もしくはＰＳデータの最後まで繰り返し行われた場合、又はステップＳ８において出力命令がない場合、図２に示したジョブの処理を終了する。
【００２６】
また、ステップＳ５において、受信バッファにＰＳデータ以外が格納されていると判定した場合、ＧＰＳモジュール１２は受信バッファに格納されているＰＤＬデータに対応した他のＰＤＬ用モジュール１７又は１８を起動し、他のＰＤＬ用モジュール１７又は１８に処理を実行させる。
【００２７】
図２に示したジョブの処理では印刷範囲外の処理ページであっても、ＰＳデータの解析をＰＳ３モジュール１４で行い、ページ破棄要求をＰＲモジュール１５に対して行わなければならない。
【００２８】
したがって、図２に示したジョブの処理では印刷範囲内の処理ページが少なかったとしても印刷範囲外の処理ページが多ければ、印刷範囲内のページがプロッタ部などにより印刷されるまでに時間が掛かるという問題があった。特に印刷範囲内の処理ページが後半に少しあるような場合は、印刷範囲内の処理ページがＰＳ３モジュール１４で解析されるまで時間が掛かり、印刷範囲内の処理ページがプロッタ部などにより印刷されるまでに時間が掛かるという問題があった。そこで、本実施例の複合機１では図３に示すジョブの手順により従来の複合機にあった上記の問題を解決している。
【００２９】
図３は本実施例の複合機において印刷範囲指定（ＰＪＬ設定）を含むＰＳデータを印刷するジョブの手順を表した一例のフローチャートである。なお、ステップＳ２１〜Ｓ２６の処理は図２のステップＳ１〜６の処理と同様であるため、説明を省略する。
【００３０】
ステップＳ２７に進み、ＰＳ３モジュール１４は、受信バッファに格納されているＰＳデータから決められた予約語である出力命令（ｃｏｐｙｐａｇｅ／ｓｈｏｗｐａｇｅ）を解析するプレパース処理を行う。例えば予約語は、図４のようにＰＳデータへ挿入されている。
【００３１】
図４は予約語が挿入されたＰＳデータの一例の構成図である。図４のＰＳデータは計４ページの処理ページから２ページ目及び３ページ目を印刷する例を表している。ＰＪＬ部分４１には印刷範囲として印刷開始ページである２ページ目及び印刷終了ページである３ページ目が指定されている。ＰＳデータ部分には、予約語である出力命令（ｓｈｏｗｐａｇｅ）４２〜４５が含まれている。
【００３２】
出力命令（ｓｈｏｗｐａｇｅ）４２〜４５は、ページの終わりを表す命令である。出力命令（ｓｈｏｗｐａｇｅ）４２〜４５を利用することで、ＰＳ３モジュール１４は１〜４ページまでの処理ページを特定できる。
【００３３】
図３のステップＳ２８に進み、ＰＳ３モジュール１４は受信バッファに格納されているＰＳデータから出力命令（ｃｏｐｙｐａｇｅ／ｓｈｏｗｐａｇｅ）を発見するたびに処理ページ数をインクリメントする。ステップＳ２９に進み、ＰＳ３モジュール１４はＰＪＬ設定値から印刷開始ページを判定し、印刷開始ページより前のページに対応するデータ部分を受信バッファに格納されているＰＳデータから破棄する。例えば図４のＰＳデータの場合、ＰＳ３モジュール１４は１ページ目に対応するデータ部分を破棄する。
【００３４】
ステップＳ３０に進み、ＰＳ３モジュール１４は受信バッファから取得したＰＳデータの解析を行う。ここでＰＳ３モジュール１４が受信バッファから取得するＰＳデータは印刷開始ページより前のページに対応するデータ部分が破棄されたものである。例えば図４のＰＳデータの場合、ＰＳ３モジュール１４は１ページ目に対応するデータ部分が破棄されたＰＳデータを受信バッファから取得する。
【００３５】
ステップＳ３１に進み、ＰＳ３モジュール１４は出力命令がＰＳデータにあるか否かを判定する。出力命令があれば、ＰＳ３モジュール１４はステップＳ３２に進み、ＰＪＬ設定値から印刷範囲を取得し、出力命令により特定されたページ（処理ページ）が印刷範囲外であるか否かを判定する。受信バッファから取得するＰＳデータは、印刷開始ページより前のページに対応するデータ部分が破棄されたものであるため、印刷終了ページより後のページまで処理ページが印刷範囲内であると判定される。
【００３６】
処理ページが印刷範囲内であればＰＳ３モジュール１４はステップＳ３４に進み、ＰＲモジュール１５へページ出力を要求する。従って、ＰＲモジュール１５は印刷範囲内の処理ページを描画し、ＧＰＳモジュール１２へ印刷処理要求を行う。なお、印刷処理要求を受けたＧＰＳモジュール１２はサービス層１１経由でプロッタ部に印刷を行わせる。
【００３７】
処理ページが印刷範囲外であればＰＳ３モジュール１４はステップＳ３３に進み、ＰＲモジュール１５へページ破棄を要求する。従って、ＰＲモジュール１５は印刷範囲外の処理ページを描画しない。
【００３８】
ステップＳ３０〜Ｓ３４の処理は処理ページ分もしくはＰＳデータの最後まで繰り返し行われる。ステップＳ３０〜Ｓ３４の処理が処理ページ分もしくはＰＳデータの最後まで繰り返し行われた場合、又はステップＳ３１において出力命令がない場合、図３に示したジョブの処理を終了する。
【００３９】
また、ステップＳ２５において、受信バッファにＰＳデータ以外が格納されていると判定した場合、ＧＰＳモジュール１２は受信バッファに格納されているＰＤＬデータに対応した他のＰＤＬ用モジュール１７又は１８を起動し、他のＰＤＬ用モジュール１７又は１８に処理を実行させる。
【００４０】
図３に示したジョブの処理では印刷範囲外の処理ページのうち印刷開始ページより前の処理ページに対応するデータ部分を受信バッファに格納されているＰＳデータから破棄したあとでＰＳ３モジュール１４による解析を行う為、破棄した処理ページ分のＰＳデータの解析及びページ破棄要求が不要となる。
【００４１】
したがって、図３に示したジョブの処理では印刷開始ページより前の処理ページが多くても破棄してしまうため、印刷範囲内の処理ページがＰＳ３モジュール１４で解析されるまでの時間を短縮でき、印刷範囲内のページがプロッタ部などにより印刷されるまでの時間を短縮できる。
【００４２】
図５は本実施例の複合機において印刷範囲指定（ＰＪＬ設定）を含むＰＳデータを印刷する処理手順を表した一例のシーケンス図である。受信バッファが印刷範囲指定（ＰＪＬ設定）を含むＰＳデータを格納すると、ＧＰＳモジュール１２は受信バッファに格納されたＰＳデータにＰＪＬデータが付加されているか否かを判定する。
【００４３】
受信バッファに格納されたＰＳデータにＰＪＬデータが付加されているため、ＧＰＳモジュール１２はステップＳ４１に進み、ＰＪＬモジュール１３を起動する。起動されたＰＪＬモジュール１３はＰＳデータに付加されていたＰＪＬデータのＰＪＬコマンド解析を行い、ＰＪＬ設定値を取得する。
【００４４】
ステップＳ４２に進み、ＰＪＬモジュール１３は、ＧＰＳモジュール１２のプリンタ情報領域に、取得したＰＪＬ設定値を保存する。ＧＰＳモジュール１２は、受信バッファにＰＳデータが格納されているか否かを判定する。受信バッファにＰＳデータが格納されているため、ＧＰＳモジュール１２はステップＳ４３に進み、ＰＳ３モジュール１４を起動する。
【００４５】
ステップＳ４４，Ｓ４５に進み、起動されたＰＳ３モジュール１４はＤＩモジュール１６を介してＧＰＳモジュール１２のプリンタ情報領域からＰＪＬ設定値等の環境変数を取得する。また、ステップＳ４６，Ｓ４７に進み、ＰＳ３モジュール１４はＤＩモジュール１６を介して受信バッファに格納されているＰＳデータを取得する。
【００４６】
ステップＳ４８に進み、ＰＳ３モジュール１４は、取得したＰＳデータから決められた予約語である出力命令（ｃｏｐｙｐａｇｅ／ｓｈｏｗｐａｇｅ）を解析するプレパース処理を行う。ＰＳ３モジュール１４はプレパース処理により印刷開始ページを判定し、印刷開始ページより前のページに対応するデータ部分を、受信バッファに格納されているＰＳデータから破棄する。
【００４７】
ＰＳ３モジュール１４は、印刷開始ページより前のページに対応するデータ部分が破棄されたＰＳデータの解析を行う。そして、ＰＳ３モジュール１４は処理ページ毎に印刷範囲内であるか否かを判定する。ステップＳ４９では、ＰＳ３モジュール１４が、印刷範囲内の処理ページのページ出力をＰＲモジュール１５へ要求すると共に、印刷範囲外の処理ページの破棄をＰＲモジュール１５へ要求する。
【００４８】
ＰＳ３モジュール１４からページ出力を要求されると、ＰＲモジュール１５はページ出力を要求された処理ページを描画する。ステップＳ５０に進み、ＰＲモジュール１５はＧＰＳモジュール１２へ印刷処理要求を行う。印刷処理要求を受けたＧＰＳモジュール１２はサービス層１１経由でプロッタ部に印刷を行わせる。なお、ＰＳ３モジュール１４からページ破棄を要求されると、ＰＲモジュール１５はページ破棄を要求された処理ページを描画しない。
【００４９】
そして、ステップＳ５１に進み、ＰＲ１５はＧＰＳモジュール１２から印刷処理結果を受信する。ステップＳ５２に進み、ＰＲ１５はページ出力又はページ破棄の要求に対する処理結果をＰＳ３モジュール１４に送信する。
【００５０】
以下、ＧＰＳモジュール１２，ＰＪＬモジュール１３及びＰＳ３モジュール１４の処理をフローチャートに基づいて順番に説明していく。
【００５１】
（ＧＰＳモジュール１２）
図６は、ＧＰＳモジュールの処理手順を表した一例のフローチャートである。ステップＳ６１に進み、受信バッファには印刷範囲指定（ＰＪＬ設定）を含むＰＳデータが格納される。
【００５２】
ステップＳ６２に進み、ＧＰＳモジュール１２は受信バッファに格納されたＰＳデータにＰＪＬデータが付加されているか否かを判定する。ＰＳデータにＰＪＬデータが付加されていれば、ＧＰＳモジュール１２はステップＳ６３に進み、ＰＪＬモジュール１３を起動させる。ＧＰＳモジュール１２はステップＳ６４に進み、起動させたＰＪＬモジュール１３に、ＰＪＬデータのＰＪＬコマンド解析を行わせ、ＰＪＬ設定値を取得する。ＰＪＬモジュール１３は、ＧＰＳモジュール１２のプリンタ情報領域に、取得したＰＪＬ設定値を保存する。
【００５３】
ステップＳ６４に続いて、又はステップＳ６２においてＰＳデータにＰＪＬデータが付加されていないと判定された場合に、ＧＰＳモジュール１２はステップＳ６５に進み、受信バッファに格納されているＰＤＬデータ（ＰＳデータなど）を判定し、そのＰＤＬデータに対応した有効なＰＤＬ用モジュールがあるか否かを判定する。
【００５４】
有効なＰＤＬ用モジュールがあれば、ステップＳ６６に進み、ＧＰＳモジュール１２は有効なＰＤＬ用モジュールを起動したあと、図６に示した処理を終了する。有効なＰＤＬ用モジュールがなければ、ステップＳ６６に進み、ＧＰＳモジュール１２は現在起動しているＰＤＬ用モジュールから変更を行わず、図６に示した処理を終了する。
【００５５】
（ＰＪＬモジュール１３）
図７は、ＰＪＬモジュールの処理手順を表した一例のフローチャートである。ステップＳ７１に進み、ＰＪＬモジュール１３はＰＳデータに付加されていたＰＪＬデータのＰＪＬコマンド解析を行う。ステップＳ７２に進み、ＰＪＬモジュール１３はＰＪＬデータに印刷範囲指定のコマンドが含まれているか否かを判定する。
【００５６】
印刷範囲指定のコマンドが含まれていれば、ＰＪＬモジュール１３はステップＳ７３に進み、印刷範囲指定が正しいか否かを判定する。印刷範囲指定が正しく無い例としては印刷開始ページに印刷終了ページよりも後ろのページが指定されている場合等である。
【００５７】
印刷範囲指定が正しければ、ＰＪＬモジュール１３はステップＳ７４に進み、印刷範囲指定を、ＧＰＳモジュール１２のプリンタ情報領域に保存したあと、図７に示した処理を終了する。
【００５８】
なお、ステップＳ７２において印刷範囲指定のコマンドが含まれていないと判定した場合、又は、ステップＳ７３において印刷範囲指定が正しく無いと判定した場合、ＰＪＬモジュール１３は、図７に示した処理を終了する。
【００５９】
（ＰＳ３モジュール１４）
図８はＰＳ３モジュールの処理手順を表した一例のフローチャートである。ステップＳ８１に進み、ＰＳ３モジュール１４はＤＩモジュール１６を介して、ＧＰＳモジュール１２のプリンタ情報領域からＰＪＬ設定値（印刷開始ページ等）を取得し、印刷開始ページより前のページが破棄されたＰＳデータとマージさせる。ステップＳ８２に進み、ＰＳ３モジュール１４は処理ページ数を０で初期化する。
【００６０】
ステップＳ８３に進み、ＰＳ３モジュール１４は、受信バッファに格納されているＰＳデータから決められた予約語である出力命令（ｃｏｐｙｐａｇｅ／ｓｈｏｗｐａｇｅ）を解析するプレパース処理を行う。
【００６１】
ステップＳ８４に進み、ＰＳ３モジュール１４は、ＰＳデータから出力命令（ｃｏｐｙｐａｇｅ／ｓｈｏｗｐａｇｅ）を発見するたびに処理ページ数をインクリメントする。ステップＳ８５に進み、ＰＳ３モジュール１４は取得したＰＪＬ設定値から印刷開始ページを判定し、印刷開始ページより前のページに対応するデータ部分を受信バッファに格納されているＰＳデータから破棄する。
【００６２】
ステップＳ８６に進み、ＰＳ３モジュール１４は受信バッファから取得したＰＳデータの解析を行う。ここでＰＳ３モジュール１４が受信バッファから取得するＰＳデータは印刷開始ページより前のページに対応するデータ部分が破棄されたものである。ステップＳ８７に進み、ＰＳ３モジュール１４はＰＪＬ設定値から印刷範囲を取得し、出力命令により特定されたページ（処理ページ）が印刷範囲外であるか否かを判定する。受信バッファから取得するＰＳデータは、印刷開始ページより前のページに対応するデータ部分が破棄されたものであるため、印刷終了ページより後のページまで処理ページが印刷範囲内であると判定される。処理ページが印刷範囲内であればＰＳ３モジュール１４はステップＳ８９に進み、ＰＲモジュール１５へページ出力を要求する。処理ページが印刷範囲外であればＰＳ３モジュール１４はステップＳ８８に進み、ＰＲモジュール１５へページ破棄を要求する。
【００６３】
ステップＳ８８又はＳ８９に続いてステップＳ９０に進み、ＰＳ３モジュール１４は処理ページ数をインクリメントする。ステップＳ８６〜Ｓ９０の処理は印刷開始ページより前のページが破棄されたＰＳデータの処理ページ数分、繰り返し行ったあと、図８に示した処理を終了する。
【００６４】
図８に示したＰＳ３モジュール１４の処理では印刷範囲外の処理ページのうち印刷開始ページより前の処理ページに対応するデータ部分をＰＳデータから破棄したあとで解析を行う為、破棄した処理ページ分のＰＳデータの解析及びページ破棄要求が不要となる。
【００６５】
したがって、図８に示した処理では印刷開始ページより前の処理ページが多くても破棄してしまうため、印刷範囲内の処理ページがＰＳ３モジュール１４で解析されるまでの時間を短縮でき、印刷範囲内のページがプロッタ部などにより印刷されるまでの時間を短縮できる。
【００６６】
以上、本実施例では印刷範囲外の処理ページのうち印刷開始ページより前の処理ページに対応するデータ部分を破棄する例を説明したが、印刷終了ページより後の処理ページに対応するデータ部分を破棄するようにしてもよい。また、印刷範囲内の処理ページに対するステップＳ８６〜Ｓ９０の処理が終了した時点で、図８に示した処理を終了するようにしてもよい。
【００６７】
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
【図面の簡単な説明】
【００６８】
【図１】本実施例の複合機のモジュール構成図である。
【図２】従来の複合機において印刷範囲指定（ＰＪＬ設定）を含むＰＳデータを印刷するジョブの手順を表した一例のフローチャートである。
【図３】本実施例の複合機において印刷範囲指定（ＰＪＬ設定）を含むＰＳデータを印刷するジョブの手順を表した一例のフローチャートである。
【図４】予約語が挿入されたＰＳデータの一例の構成図である。
【図５】本実施例の複合機において印刷範囲指定（ＰＪＬ設定）を含むＰＳデータを印刷する処理手順を表した一例のシーケンス図である。
【図６】ＧＰＳモジュールの処理手順を表した一例のフローチャートである。
【図７】ＰＪＬモジュールの処理手順を表した一例のフローチャートである。
【図８】ＰＳ３モジュールの処理手順を表した一例のフローチャートである。
【符号の説明】
【００６９】
１    複合機
１０    オペレーティングシステム（ＯＳ）
１１    サービス層
１２    ＧＰＳモジュール
１３    ＰＪＬモジュール
１４    ＰＳ３モジュール
１５    ＰＲモジュール
１６    ＤＩモジュール
１７，１８    他のＰＤＬ用モジュール
【図１】
2009177492.tif 000003
【図２】
2009177492.tif 000004
【図３】
2009177492.tif 000005
【図４】
2009177492.tif 000006
【図５】
2009177492.tif 000007
【図６】
2009177492.tif 000008
【図７】
2009177492.tif 000009
【図８】
2009177492.tif 000010