(57)【要約】【課題】先行ページの印刷データに、その先行ページに続く後続ページの存在の有無を示す次ページ情報を付加する。【解決手段】印刷要求データ中に含まれるページデータを、スプーラからページ単位で順に受け取る際に、ある先行ページに続く後続ページのページデータの受け取りを開始するまでに、スプーラに対して所定のコマンドを発行することにより、スプーラにスプールされているページデータの総ページ数を取得し、取得した総ページ数をｎとし、先行ページがｍページ目としたときに、ｎとｍとの関係に基づいて、先行ページの次ページである後続ページの有無を判断する。後続ページの有無の判断結果に従って、後続ページの有無を示す次ページ情報を先行ページの印刷データに付加する。【選択図】図２
2008077158.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに備えられるアプリケーションから、スプーラを介して、印刷要求データを受け取り、受け取った印刷要求データに基づいて印刷データを生成し、生成した印刷データを、印刷を実行するプリンタに送信するために、コンピュータで実行されるプリンタ・ドライバ・プログラムであって、
前記印刷要求データ中に含まれるページデータを、前記スプーラからページ単位で順に受け取る際に、ある先行ページに続く後続ページのページデータの受け取りを開始するまでに、前記スプーラに対して所定のコマンドを発行することにより、前記スプーラにスプールされているページデータの総ページ数を取得する機能と、
取得した総ページ数をｎとし、前記先行ページがｍページ目としたときに、ｎとｍとの関係に基づいて、前記先行ページの次ページである後続ページの有無を判断する機能と、
前記後続ページの有無の判断結果に従って、前記後続ページの有無を示す次ページ情報を前記先行ページの印刷データに付加する機能と、
をコンピュータに実現させるためのプリンタ・ドライバ・プログラム。
【請求項２】
請求項１記載のプリンタ・ドライバ・プログラムであって、
前記後続ページの有無を判断する機能は、ｎ＝ｍならば次ページがないと判断し、ｎ＞ｍならば次ページがあると判断することを特徴とするプリンタ・ドライバ・プログラム。
【請求項３】
請求項１記載のプリンタ・ドライバ・プログラムであって、
前記後続ページの有無を判断する機能は、単数部の印刷を実行する第１の印刷モードでは、前記後続ページの有無を判断する場合において、各ページのページデータの受け取りを開始するたびに、前記所定のコマンドを発行することにより、前記総ページ数を取得して前記各ページに対する前記後続ページの有無を判断することを特徴とするプリンタ・ドライバ・プログラム。
【請求項４】
請求項１記載のプリンタ・ドライバ・プログラムであって、
前記後続ページの有無を判断する機能は、複数部の印刷を部単位で実行する第２の印刷モードでは、最終部の最終ページを除く各ページについては後続ページ有りと判断し、最終部の最終ページについては後続ページなしと判断することを特徴とするプリンタ・ドライバ・プログラム。
【請求項５】
請求項４記載のプリンタ・ドライバ・プログラムであって、
前記後続ページの有無を判断する機能は、前記第２の印刷モードでは、最終部を除くいずれかの部の処理において、前記所定のコマンドを用いずに、１部あたりの印刷ページ数を求め、前記１部あたりの印刷ページ数に基づいて、処理対象のページが最終部の最終ページかどうかを判断することを特徴とするプリンタ・ドライバ・プログラム。
【請求項６】
請求項１記載のプリンタ・ドライバ・プログラムであって、
複数部の印刷をページ単位で実行する第３の印刷モードでは、前記後続ページの有無を判断する場合において、
前記後続ページの有無を判断する機能は、各ページの最終部を除く各部については後続ページ有りと判断し、各ページの最終部については、最終部に関する前記所定のコマンドを発行することにより、前記総ページ数を取得して前記後続ページの有無を判断する
ことを特徴とするプリンタ・ドライバ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションからの印刷要求データに印刷内容を示すデータ（以下、「印刷内容データ」という）として複数ページのデータ（以下、各ページのデータを「ページデータ」という）が含まれている場合において、印刷要求データ中のページデータごとに、それぞれに基づいて印刷データを生成し、生成した印刷データを印刷が実行されるプリンタに送信する際に、先行するページ（以下、「先行ページ」という）の印刷データに、それに後続するページ（以下、「後続ページ」という）が存在することを示す次ページ情報を付加する技術に関する。
【背景技術】
【０００２】
複数ページにわたる印刷データをプリンタで印刷する際の印刷処理の高速化を図るために、例えば、特許文献１に記載の印刷システムでは、以下で説明する処理を実行している。すなわち、複数ページにわたる印刷データをプリンタで印刷する際に、印刷制御装置（プリンタ・ドライバ）では、アプリケーションからの印刷要求データに複数ページのページデータが含まれている場合において、複数ページにわたるページデータをページ単位で順に受け取って印刷データを生成し、生成した印刷データをプリンタに送信する際に、先行ページの印刷データに、後続ページが存在することを示す次ページ情報を付加する。そして、プリンタでは、受け取った先行ページの印刷データの次ページ情報を参照して後続ページの有無を判別し、後続ページが存在するときには先行ページについての印刷用紙の排紙制御処理に併せて後続ページの印刷用紙の給紙制御処理を行う。これにより、印刷用紙の給排処理時間の短縮化を図ることにより、全体としての印刷処理の高速化を図るものである。
【０００３】
【特許文献１】特許第３５７５２６５号公報
【特許文献２】特開２００２−３６１９８５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記特許文献１における後続ページの存在の有無の判断は、印刷制御装置が、複数ページにわたるページデータをページ単位で順に受け取って中間コードに変換して保持するとともに、中間コードを読み出して印刷対象となる印刷データを順に生成する際に、個々の中間コードについて後続ページについての中間コードが存在するか否かを検出することによって行っている。すなわち、ある先行ページの印刷データに次ページ情報を付加するためには、先に、その先行ページの次ページである後続ページのページデータも受け取って中間コードに変換して保持している必要があり、そのための待ち時間が必要となる、という問題がある。
【０００５】
この発明は、従来技術における上述の課題を解決するためになされたものであり、印刷制御装置が先行ページのページデータを受け取って印刷データを生成し、生成した印刷データをプリンタに送信する際に、その先行ページに続く後続ページのページデータの受け取りを待たなくても、後続ページの存在の有無を判断し、先行ページの印刷データに、その先行ページに続く後続ページの存在の有無を示す次ページ情報を付加することが可能な技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上述の課題の少なくとも一部を解決するため、本発明は、コンピュータに備えられるアプリケーションから、スプーラを介して、印刷要求データを受け取り、受け取った印刷要求データに基づいて印刷データを生成し、生成した印刷データを、印刷を実行するプリンタに送信するために、コンピュータで実行されるプリンタ・ドライバ・プログラムであって、
前記印刷要求データ中に含まれるページデータを、前記スプーラからページ単位で順に受け取る際に、ある先行ページに続く後続ページのページデータの受け取りを開始するまでに、前記スプーラに対して所定のコマンドを発行することにより、前記スプーラにスプールされているページデータの総ページ数を取得する機能と、
取得した総ページ数をｎとし、前記先行ページがｍページ目としたときに、ｎとｍとの関係に基づいて、前記先行ページの次ページである後続ページの有無を判断する機能と、
前記後続ページの有無の判断結果に従って、前記後続ページの有無を示す次ページ情報を前記先行ページの印刷データに付加する機能と、
をコンピュータに実現させることを特徴とする。
【０００７】
上記プリンタ・ドライバ・プログラムによれば、プリンタ・ドライバが先行ページのページデータを受け取って印刷データを生成し、生成した印刷データをプリンタに送信する際に、その先行ページに続く後続ページのページデータの受け取りを待たなくても、後続ページの存在の有無を判断し、先行ページの印刷データに、その先行ページに続く後続ページの存在の有無を示す次ページ情報を付加することが可能である。
【０００８】
なお、前記後続ページの有無を判断する機能は、ｎ＝ｍならば次ページがないと判断し、ｎ＞ｍならば次ページがあると判断することにより実現可能である。
【０００９】
ここで、前記後続ページの有無を判断する機能は、単数部の印刷を実行する第１の印刷モードでは、前記後続ページの有無を判断する場合において、各ページのページデータの受け取りを開始するたびに、前記所定のコマンドを発行することにより、前記総ページ数を取得して前記各ページに対する前記後続ページの有無を判断することができる。
【００１０】
このようにすれば、単数部の印刷を実行する第１の印刷モードにおいて、先行ページの印刷データに次ページ情報を容易に付加することが可能である。
【００１１】
また、前記後続ページの有無を判断する機能は、複数部の印刷を部単位で実行する第２の印刷モードでは、最終部の最終ページを除く各ページについては後続ページ有りと判断し、最終部の最終ページについては後続ページなしと判断するようにしてもよい。
【００１２】
なお、前記後続ページの有無を判断する機能は、前記第２の印刷モードでは、最終部を除くいずれかの部の処理において、前記所定のコマンドを用いずに、１部あたりの印刷ページ数を求め、前記１部あたりの印刷ページ数に基づいて、処理対象のページが最終部の最終ページかどうかを判断することができる。
【００１３】
このようにすれば、複数部の印刷を部単位で実行する第２の印刷モードにおいて、所定のコマンドを発行することによる総ページ数の取得を行うことなく、先行ページの印刷データに次ページ情報を容易に付加することが可能である。
【００１４】
さらに、また、複数部の印刷をページ単位で実行する第３の印刷モードでは、前記後続ページの有無を判断する場合において、
前記後続ページの有無を判断する機能は、各ページの最終部を除く各部については後続ページ有りと判断し、各ページの最終部については、最終部に関する前記所定のコマンドを発行することにより、前記総ページ数を取得して前記後続ページの有無を判断するようにしてもよい。
【００１５】
このようにすれば、複数部の印刷をページ単位で実行する第３の印刷モードにおいて、先行ページの印刷データに次ページ情報を容易に付加することが可能である。
【００１６】
なお、本発明は、以下に示すような種々の態様で実現することが可能である。
（１）プリンタ・ドライバ・プログラム。
（２）上記プリンタ・ドライバ・プログラムを記録した記憶媒体。
（３）上記プリンタ・ドライバ・プログラムを含み搬送波内で具現化されたデータ信号。
（４）上記プリンタ・ドライバ・プログラムにより実現される印刷制御装置。
（５）印刷制御方法。
【００１７】
本発明のプリンタ・ドライバ・プログラムまたはそのプログラムを記録した記憶媒体等は、プログラム全体として構成するものとしてもよいし、本発明の機能を果たす部分のみを構成するものとしてもよい。また、記憶媒体としては、フレキシブルディスクやＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ／ＲＡＭ、光磁気ディスク、ＩＣカード、ＲＯＭカートリッジ、パンチカード、バーコードなどの符号が印刷された印刷物、コンピュータの内部記憶装置（ＲＡＭやＲＯＭなどのメモリ）および外部記憶装置などコンピュータが読み取り可能な種々の媒体を利用できる。
【発明を実施するための最良の形態】
【００１８】
以下、本発明の実施の形態を実施例に基づいて以下の順序で説明する。
Ａ．実施例：
Ａ１．印刷システムの構成：
Ａ２．次ページ判断処理：
Ａ２．１．コピーなし印刷判断処理：
Ａ２．２．部単位コピー印刷判断処理：
Ａ２．３．非部単位コピー印刷判断処理：
Ｂ．変形例：
【００１９】
Ａ．実施例：
Ａ１．印刷システムの構成：
図１は、本発明の一実施例としての印刷システムの概略構成を示す説明図である。この印刷システム１０００は、プリンタ１００とコンピュータ２００とを備えている。プリンタ１００は、例えばインクジェット式カラープリンタにより構成され、コンピュータ２００は、例えばパーソナルコンピュータにより構成されている。
【００２０】
コンピュータ２００は、コンピュータ・プログラムに従って種々の処理や制御を行うためのＣＰＵ２１０と、上記コンピュータ・プログラムを記憶したり、処理中に得られたデータなどを記憶したりするためのメモリ２２０と、各種周辺装置との間でデータなどのやり取りを行うためのＩ／Ｏ部２３０と、キーボードやポインティングデバイスなどから成り、ユーザからの指示などを入力するための入力装置２４０と、ＣＲＴや液晶ディスプレイなどから成り、画像やユーザ・インタフェースとしての各種設定画面などを表示するためのモニタ２５０と、画像データや印刷データなどを格納するためのハードディスク装置２６０と、ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ等の記録媒体ＲＤに書き込まれた上記コンピュータ・プログラムや画像データなどを読み取るためのドライブ装置２７０と、を備えている。そして、メモリ２２０には、ＣＰＵ２１０を本発明の一実施例としての印刷制御装置として機能させるためのプリンタ・ドライバ・プログラムが、アプリケーション・プログラム等と共に記憶されている。
【００２１】
ＣＰＵ２１０は、メモリ２２０に記憶されたアプリケーション・プログラムを読み出して実行することにより、図示しないＯＳ（オペレーティングシステム）の下で動作するアプリケーション２２２として機能する。また、ＯＳの機能の一部であるシステム・スプーラ２２４として機能する。さらに、また、プリンタ・ドライバ・プログラムを読み出して実行することにより、ＯＳに組み込まれて動作するプリンタ・ドライバ２２６として機能する。なお、このプリンタ・ドライバ２２６が本発明の印刷制御装置に相当する。
【００２２】
本実施例では、図１に示すように、メモリ２２０に記憶された上記コンピュータ・プログラムは、記録媒体ＲＤに記録された形態で提供され、ドライブ装置２７０により読み取られることによって、コンピュータ内に取り込まれる。取り込まれたコンピュータ・プログラムは、ハードディスク装置２６０に転送され、その後、起動時などにメモリ２２０に転送される。あるいは、読み取られたコンピュータ・プログラムは、ハードディスク装置２６０を介さず、直接、メモリ２２０に転送するようにしても良い。
【００２３】
プリンタ１００は、給紙トレイ１１０と排紙トレイ１２０とを備えている。給紙トレイ１１０にセットされている印刷用紙ＰＳは、図示しない給紙機構によって給紙トレイ１１０からプリンタ１００の内部に給紙される。プリンタ１００の内部に給紙された印刷用紙ＰＳには、図示しない印刷機構によって、コンピュータ２００から送信される印刷データに基づく印刷が実行さる。印刷が終了した印刷用紙ＰＳは、図示しない排紙機構によって排紙トレイ１２０に排出される。
【００２４】
図２は、図１に示した印刷システムを機能的に示すブロック図である。図示するように、印刷システム１０００のコンピュータ２００は、機能的には、アプリケーション２２２と、システム・スプーラ２２４と、プリンタ・ドライバ２２６とで表すことができる。
【００２５】
アプリケーション２２２は、ユーザが図示しない入力装置２４０（図１）を介して印刷対象を特定して印刷を指示すると、印刷対象の内容を示すデータ（印刷内容データ）を含む印刷要求データを出力する。
【００２６】
図３は、印刷要求データの構造例について示す説明図である。図に示すように、印刷要求データは、印刷環境を示す印刷環境データと、実際の印刷要求データと、で構成されている。
【００２７】
印刷環境データは、印刷環境パラメータＤＣ（ＤＣ：Ｄｅｖｉｃｅ  Ｃｏｎｔｅｘｔ）を定義するためのデータであり、「ＤＣ＝ＣｒｅａｔｅＤＣ（）」なる記述により定義される。図の例は、「ＤＥＶＭＯＤＥ」と呼ばれるデータ構造体（ＤＥＶＭＯＤＥ構造体）に設定されている、紙サイズ，用紙方向，コピー枚数，印刷モード等の印刷環境に関する種々のデータが、印刷環境パラメータＤＣとして利用されることを示している。
【００２８】
印刷要求データは、印刷要求データの開始端を示す「ＳｔａｒｔＤｏｃ（）」コマンドと、印刷要求データの終了端を示す「ＥｎｄＤｏｃ（）」コマンドと、これら２つのコマンドの間に含まれるページ単位のページデータと、により構成される。ページデータは、データの開始端を示す「ＳｔａｒｔＰａｇｅ（）」コマンドと、データの終了端を示す「ＥｎｄＰａｇｅ（）」と、これら２つのコマンドの間に含まれる印刷内容データと、により構成される。図の例では、４ページのページデータがページ単位で含まれている例を示している。
【００２９】
なお、上記印刷環境パラメータＤＣは、「ＳｔａｒｔＤｏｃ（）」の引数として設定されており、ＤＥＶＭＯＤＥ構造体に保持されている印刷環境データが印刷処理に利用される。
【００３０】
図２のシステム・スプーラ２２４は、アプリケーション２２２から出力される印刷要求データを順に受け取ってスプールし、プリンタ・ドライバ２２６が受け取り可能なタイミングで順に出力する。
【００３１】
プリンタ・ドライバ２２６は、印刷要求データに含まれるページデータを順に受け取って、受け取ったページデータに基づいてプリンタ１００で印刷を実行するために利用される印刷データを生成し、生成した印刷データをプリンタ１００に転送する。
【００３２】
ここで、プリンタ・ドライバ２２６は、印刷データ生成部２２６ａとページ情報管理部２２６ｂの２つの機能部に区分される。
【００３３】
印刷データ生成部２２６ａは、上記プリンタ・ドライバ２２６における、印刷データを生成し、生成した印刷データをプリンタ１００に転送する機能を実現するブロックである。図示は省略しているが、印刷データ生成部２２６ａは、文字データやドローデータ等からＲＧＢデータを生成するラスタライズ部、ＲＧＢデータをプリンタ１００のインク色に対応したＣＭＹＫデータに変換する色変換部、多階調表現形式のＣＭＹＫデータをドット形成有無による表現形式のドットデータに変換するハーフトーンニング部、ドットデータをプリンタ１００に転送すべき順序に並び替えるマイクロウィーブ部を有している。印刷データ生成部２２６ａは、このマイクロウィーブ処理後のデータを印刷データとして所定のコマンド形態でプリンタ１００に転送する。
【００３４】
ページ情報管理部２２６ｂは、印刷要求データに含まれる先行ページのページデータを受け取った時に、次ページがあるか否かを、これに続く次ページのページデータを受け取る前に判断する機能を実現するブロックである。ページ情報管理部２２６ｂの具体的な説明は後述するが、簡単に説明すると、以下に示す通りである。まず、ページ情報管理部２２６ｂは、システム・スプーラ２２４から、印刷要求データに含まれるページデータの開始端を示す「ＳｔａｒｔＰａｇｅ（）」コマンドを受け取った時に、システム・スプーラ２２４に対して、「ＧｅｔＪｏｂ（）」コマンドを発行することにより、その時点でシステム・スプーラ２２４にスプールされているページデータの総ページ数（以下、「仮総ページ数」という）を取得する。そして、取得した仮総ページ数と、システム・スプーラ２２４から受け取ったページデータのページ数とを比較することにより、次ページが存在するか否か判断する。
【００３５】
なお、印刷データ生成部２２６ａは、上記次ページの判断結果に基づいて、印刷データ生成部２２６ａにおいて生成した印刷データ（以下、「実印刷データ」ともいう）に対して次ページ情報を付加して、プリンタ１００に転送する印刷データとする。
【００３６】
図４は、印刷データの構造例を示す説明図である。ページ情報管理部２２６ｂにおいて次ページが存在しないと判断された場合には、図４（Ａ）に示すように、実印刷画像データの前に次ページなし情報が付加される。これに対して、ページ情報管理部２２６ｂにおいて次ページが存在すると判断された場合には、図４（Ｂ）に示すように、実印刷画像データの前に次ページあり情報が付加される。
【００３７】
コンピュータ２００から転送された印刷データに次ページあり情報が付加されている場合には、プリンタ１００では、この印刷データに基づく印刷を実行して、印刷済みの印刷用紙を排紙する際に、この給紙処理によって、印刷用紙の末端が送られていくのに続いて、新しい印刷用紙の給紙処理を実行する。なお、このような給排紙処理は、従来技術で説明した先行技術文献と同じであるので、ここではその説明を省略する。
【００３８】
ところで、本発明は、ページ情報管理部２２６ｂにおいて実行される次ページ判断処理に特徴を有している。そこで、以下では、ページ情報管理部２２６ｂにおいて実行される次ページ判断処理について説明を加え、その具体例について説明する。
【００３９】
Ａ２．次ページ判断処理：
図５は、次ページ判断処理を示すフローチャートである。ページ情報管理部２２６ｂは、システム・スプーラ２２４から印刷要求データの受け取りを開始することにより、具体的には、例えば、印刷要求データの開始端を示す「ＳｔａｒｔＤｏｃ（）」コマンドの受け取ることにより、以下で説明する次ページ判断処理を開始する。
【００４０】
まず、受け取りを開始した印刷要求データに基づく印刷がコピー印刷を実行するものであるか否か判断する（ステップＳ１１０）。コピー印刷でない場合には（ステップＳ１１０：ＮＯ）、コピーなし印刷判断処理（ステップＳ２００）を実行し、コピー印刷である場合には（ステップＳ１１０：ＹＥＳ）、さらに、部単位印刷を実行するものであるか否か判断する（ステップＳ１２０）。部単位印刷である場合には（ステップＳ１２０：ＹＥＳ）、部単位コピー印刷判断処理（ステップＳ３００）を実行し、非部単位印刷である場合には（ステップＳ１２０：ＮＯ）、非部単位コピー印刷判断処理（ステップＳ４００）を実行する。
【００４１】
なお、コピー印刷および部単位印刷の判断は、印刷環境データに設定されているコピー枚数や印刷モードを参照することにより実行される。
【００４２】
Ａ２．１．コピーなし印刷判断処理：
図６は、コピーなし印刷判断処理を示すフローチャートである。コピーなし印刷の場合には、印刷環境データとしてコピー枚数が「１枚」あるいは印刷部数が「１部」に設定され、ページ単位で順に通常の印刷処理を実行するものである。
【００４３】
コピーなし印刷判断処理を開始したプリンタ・ドライバ２２６のページ情報管理部２２６ｂは、例えば、図４に示した印刷要求データを上から順に受け取る（受信する）たびに（ステップＳ２０２：ＹＥＳ）、ページデータの受け取りを開始してページ単位の処理が開始されるタイミングであるか否か、すなわち、印刷データ生成部２２６ａにおいてページ単位の印刷データの生成処理が開始されるタイミングであるか否か判断する（ステップＳ２０４）。ページ単位の処理が開始されるタイミングであると判断された場合には、ステップＳ２０８の処理を実行し、ページ単位の処理が開始されるタイミングでないと判断された場合には（ステップＳ２０４：ＮＯ）、全ページのページデータの受け取り（受信）を終了したか否か判断する（ステップＳ２０６）。
【００４４】
ここで、ページ単位の処理が開始されるタイミングであるか否かの判断は、受け取った印刷要求データがページデータの開始端を示す「ＳｔａｒｔＰａｇｅ（）」コマンドであるか否か判断することにより実行される。すなわち、受け取った印刷要求データが「ＳｔａｒｔＰａｇｅ（）」コマンドであった場合には、ページ単位の処理が開始されるタイミングと判断される。また、全ページのページデータの受け取りを終了したか否かの判断は、受け取った印刷要求データが印刷要求データの終了端を示す「ＥｎｄＤｏｃ（）」コマンドであるか否か判断することにより実行される。すなわち、受け取った印刷要求データが「ＥｎｄＤｏｃ（）」コマンドであった場合には、全ページのページデータの受け取りを終了したと判断される。
【００４５】
ステップＳ２０４において、ページ単位の処理が開始されるタイミングであると判断された場合には（ステップＳ２０４：ＹＥＳ））、「ＧｅｔＪｏｂ（）」コマンドを発行して、システム・スプーラ２２４に対して、その時点でシステム・スプーラ２２４にスプールされているページデータの総ページ数（仮総ページ数）を取得する（ステップＳ２０８）。なお、総ページ数（仮総ページ数）には、受け取りを開始したページを含むこととしても含まないこととしてもよいが、本例では、含むこととする。そして、取得した仮総ページ数が、処理が開始されるページ（以下、「処理ページ」という）のページ数より大きいか否か判断する（ステップＳ２１０）。仮総ページ数が処理ページ数よりも大きい場合には（ステップＳ２１０：ＹＥＳ）、次ページありと判定し（ステップＳ２１２）、仮総ページ数が処理ページ数以下の場合には（ステップＳ２１０：ＮＯ）、次ページなしと判定して（ステップＳ２１４）、ステップＳ２０２に戻る。
【００４６】
ステップＳ２０６において、全ページのページデータの受け取りを終了したと判断されない場合には（ステップＳ２０６：ＮＯ）、ステップＳ２０２に戻って、印刷要求データを受信するたびに（ステップＳ２０２：ＹＥＳ）、ページ単位の印刷要求データの受信を開始してページ単位の処理が開始されるタイミングであるか否かの判断（ステップＳ２０４）や、全ページのページデータの受け取りを終了したか否かの判断（ステップＳ２０６）を繰り返す。一方、全ページのページデータの受け取りを終了したと判断された場合には（ステップＳ２０６：ＹＥＳ）、コピーなし印刷判断処理を終了する。
【００４７】
図７は、コピーなし印刷判断処理の具体例を示す説明図である。図７は、図４に示すような、アプリケーションから供給される１つの印刷要求データに４ページのページデータが含まれている場合を例に説明する。なお、以下、図中では、「ページ」なる記述を「Ｐａｇｅ」と表す場合もある。
【００４８】
プリンタ・ドライバ２２６のページ情報管理部２２６ｂは、システム・スプーラ２２４から１ページ目のページデータの開始端を示す「ＳｔａｒｔＰａｇｅ（）」コマンドを受け取ると（処理Ｓａ００１）、システム・スプーラ２２４に対して、「ＧｅｔＪｏｂ（）」コマンドを発行して、仮総ページ数を取得する（処理Ｓａ００２）。ここで、「ＧｅｔＪｏｂ（）」コマンド発行時において、システム・スプーラ２２４には、既に、２ページ目のページデータの開始端を示す「ＳｔａｒｔＰａｇｅ（）」コマンドの受け取り（処理Ｓａ００３）がなされているので、仮総ページ数は「２ページ」となる。このとき、「処理ページ数」が「１ページ」であるのに対して、「仮総ページ数」は「２ページ」であるので、仮総ページ数＞処理ページ数となり、１ページ目については、次ページありと判定する（処理Ｓａ００４）。そして、プリンタ・ドライバ２２６の印刷データ生成部２２６ａからプリンタ１００に対して、印刷データの送付の前に次ページあり情報を送付する（処理Ｓａ００５）。
【００４９】
以下、各ページについて、同様に、「ＳｔａｒｔＰａｇｅ（）」コマンドを受け取った際に、システム・スプーラ２２４に対して、「ＧｅｔＪｏｂ（）」コマンドを発行して、仮総ページ数を取得し、仮総ページ数＞処理ページ数であるか否か判断することにより、次ページの有無を判断することができる。
【００５０】
なお、図７の例では、２ページ目および３ページ目についても、次ページありと判定し、次ページあり情報を送付するが、４ページ目については、「仮総ページ数」が「４ページ」で、「処理ページ数」も「４ページ」となって仮総ページ数＝処理ページ数となるため、次ページなしと判定し（処理Ｓａ００６）、印刷データの送付の前に次ページなし情報を送付する（処理Ｓａ００７）。
【００５１】
図８は、コピーなし印刷判断処理の別の具体例を示す説明図である。図８も、図７と同様に、アプリケーションから供給される１つの印刷要求データに４ページのページデータが含まれている場合を例に説明する。
【００５２】
図７の例では、１ページ目において、プリンタ・ドライバ２２６のページ情報管理部２２６ｂが「ＧｅｔＪｏｂ（）」コマンドを発行した時点において、システム・スプーラ２２４では、既に、２ページ目の開始端を示す「ＳｔａｒｔＰａｇｅ（）」コマンドの受け取り（処理Ｓａ００３）がなされている場合を例に説明したが、図８の例に示すように、「ＧｅｔＪｏｂ（）」コマンドを発行した時点（処理Ｓａ０１１）において、まだ、２ページ目の開始端を示す「ＳｔａｒｔＰａｇｅ（）」コマンドの受け取り（処理Ｓａ０１２）がなされていない場合がある。この場合には、「仮総ページ数」は「１ページ」となり、「処理ページ数」も「１ページ」となって仮総ページ数＝処理ページ数となるため、次ページなしと判定し（処理Ｓａ０１３）、次ページなし情報を印刷データの送付前に送付する（処理Ｓａ０１４）。
【００５３】
ただし、上記の場合においても、プリンタ・ドライバ２２６がシステム・スプーラ２２４から印刷要求データを受け取っている間に、アプリケーション２２２からシステム・スプーラ２２４への印刷要求データの受け取りが先行して進むので、いずれ、仮総ページ数＞処理ページ数となる可能性が高い。例えば、図８に示すように、プリンタ・ドライバ２２６のページ情報管理部２２６ｂは、２ページ目の開始端を示す「ＳａｔａｒＰａｇｅ（）」コマンドを受け取った際（処理Ｓａ０１６）に、システム・スプーラ２２４に対して、「ＧｅｔＪｏｂ（）」コマンドを発行する（処理Ｓａ０１７）が、この時点において、既に、システム・スプーラ２２４は３ページ目の開始端を示す「ＳｔａｒｔＰａｇｅ（）」コマンドの受け取り（処理Ｓａ０１５）を行っている。従って、「仮総ページ数」は「３ページ」となり、ページ情報管理部２２６ｂは、２ページのページデータの受け取り時において次ページありと判定する（処理Ｓａ０１８）。
【００５４】
以上説明したように、プリンタ・ドライバ２２６は、コピーなし印刷の場合に、ページ情報管理部２２６ｂにおいてコピーなし印刷判断処理を行うことにより、先行ページのページデータの受け取りを開始した際に、後続するページのページデータを受け取る前に、システム・スプーラ２２４に対して「ＧｅｔＪＯｂ（）」コマンドを発行することにより取得した仮総ページ数に基づいて、次ページの存在の有無を判断し、先行ページのページデータに基づいて生成した印刷データに、次ページの存在の有無を示す次ページ情報を付加してプリンタに送信することが可能となる。
【００５５】
ただし、上記判断処理の場合には、ページ情報管理部２２６ｂがシステム・スプーラ２２４に対して「ＧｅｔＪＯｂ（）」コマンドを発行した時点において、アプリケーションから出力された印刷要求データのシステム・スプーラ２２４における受け取り状況によっては、次ページあり／なしの判断が正確に行えない場合もありうる。しかしながら、通常、ページ単位の処理が進むにつれて、システム・スプーラ２２４がプリンタ・ドライバ２２６へ出力するデータ量に比べて、システム・スプーラ２２４がページ単位でスプールするデータ量の方が多くなる傾向にあるため、次ページあり／なしの判断精度は、比較的高いと考えられる。
【００５６】
Ａ２．２．部単位コピー印刷判断処理：
図９および図１０は、部単位コピー印刷判断処理を示すフローチャートである。部単位コピー印刷は複数部の印刷を部単位で実行するものであり、印刷環境データとして印刷部数が「ｎ部（ｎは２以上の整数）」に設定され、１部目についてはページ単位で順にページデータに基づいて印刷データを生成し、生成した印刷データを用いて印刷を実行し、２部目以降については１部目で生成したページ単位の印刷データを利用して印刷を実行するものである。
【００５７】
部単位コピー印刷判断処理を開始したプリンタ・ドライバ２２６のページ情報管理部２２６ｂは、まず、１部目か否か判断し（ステップＳ３０２）、１部目であるならば（ステップＳ３０２：ＹＥＳ）、以下のステップＳ３０４〜Ｓ３１６の処理を実行し、１部目でないならば（ステップＳ３０２：ＮＯ）、ステップＳ３２０〜Ｓ３３４の処理を実行する。
【００５８】
なお、１部目である場合に実行するステップＳ３０４〜Ｓ３１６の処理は、ステップＳ３０８における全ページのページデータの受け取りを終了したか否かの判断において、全ページのページデータの受け取りを終了したと判断した場合（ステップＳ３０８：ＹＥＳ）における処理の移動先がステップＳ３０２となる点を除いて、図６に示したステップＳ２０２〜Ｓ２１６の処理と同じであるので、ここでは、１部目の処理については説明を省略し、２部目以降の処理について以下で説明する。
【００５９】
上記したように、１部目でない場合、すなわち、２部目以降の場合には、以下で説明するように、ステップＳ３２０〜Ｓ３３４（図１０）の処理を実行する。なお、２部目以降の場合には、１部目において印刷データ生成部２２６ａが生成した印刷データをハードディスク装置２６０（図１）に保存しておき、ハードディスク装置２６０に保存されている印刷データを読み出して利用することにより、印刷データ生成部２２６ａにおける処理の短縮化を図っている。そこで、以下では、２部目以降のページ単位処理を１部目の処理と区別するために、「ページ単位コピー処理」ということとする。
【００６０】
ステップＳ３２０〜Ｓ３３４の処理のうち、ステップＳ３２０およびステップＳ３３４は、ステップＳ３２２〜Ｓ３３２の処理を、ステップＳ３３４の終了条件（コピー処理部数=最終部数）が成立するまで、部単位で繰り返すための処理ループ（「部単位コピー処理ループ」と呼ぶ）であることを示している。また、ステップＳ３２２およびステップＳ３３２は、ステップＳ３２４〜Ｓ３３０の処理を、ステップＳ３３２の終了条件（コピー処理ページ＝最終ページ）が成立するまで、ページ単位で繰り返すための処理ループ（「ページ単位コピー処理ループ」と呼ぶ）であることを示している。最終部数は、印刷環境パラメータ中に含まれている印刷部数を参照することにより設定される。最終ページ数は、１部目においてシステム・スプーラ２２４から受け取ったページデータの数、すなわち、ページ数をカウントすることにより決定される。
【００６１】
ステップＳ３２４〜Ｓ３３０では、ページ単位でコピー処理を開始するたびに（ステップＳ３２４：ＹＥＳ）、ページ単位コピー処理を行っている現処理ページが最終部の最終ページであるか否か判断する（ステップＳ３２６）。ここで、最終部の最終ページでない場合には（ステップＳ３２６：ＮＯ）、次ページありと判定し（ステップＳ３２８）、最終部の最終ページである場合には（ステップＳ３２６：ＹＥＳ）、次ページなしと判定する。
【００６２】
そして、ステップＳ３３２でコピー処理ページ＝最終ページとなるまで、ページ単位でステップＳ３２４〜ステップＳ３３０の処理が繰り返し実行され、ステップＳ３３４でコピー処理部数=最終部数となるまで、部単位でステップＳ３２４〜Ｓ３３０の処理が繰り返し実行される。
【００６３】
図１１および図１２は、部単位コピー印刷判断処理の具体例を示す説明図である。図１１および図１２も、図７や図８と同様に、アプリケーションから供給される１つの印刷要求データに４ページのページデータが含まれている場合を例に説明する。但し、印刷部数は「２部」に設定されているものとする。
【００６４】
図１１に示す１部目の１ページ〜４ページの処理は、印刷データをプリンタ１００に送付するとともに、ハードディスク装置２６０に保存する点を除いて、図８に示すコピーなし印刷判断処理と同じであるので、その説明を省略し、以下では、図１２に示す２部目の処理について説明する。
【００６５】
プリンタ・ドライバ２２６のページ情報管理部２２６ｂは、システム・スプーラ２２４から印刷要求データの終了端を示す「ＥｎｄＤｏｃ（）」コマンドを受け取ると（処理Ｓａ０２１）、１部目の処理において受け取ったページデータのページ数を最終ページ数として設定し、印刷環境データ中に設定されている印刷部数を最終部数として設定する（処理Ｓａ０２２）。本例では、最終部数は「２部」、最終ページ数は「４ページ」である。
【００６６】
次に、２部目の１ページの処理を開始すると、最終ページ数が「４ページ」であるため、１部目において実行された処理済みの次ページが存在し、次ページありと判定し（処理Ｓａ０２３）、次ページあり情報を印刷データの送付前に送付する（処理Ｓａ０２４）。
【００６７】
２部目の２，３ページにおいても、２部目の１ページと同様に、次ページありと判定し、次ページあり情報を印刷データの送付前に送付する。
【００６８】
２部目の４ページは、最終部数が「２部」で最終ページ数が「４ページ」であるため、最終部の最終ページに相当し、１部目において実行された処理済みの次ページは存在しておらず、次ページなしと判断し（処理Ｓａ０２５）、次ページなし情報を印刷データの送付前に送付する（処理Ｓａ０２６）。
【００６９】
以上説明したように、プリンタ・ドライバ２２６は、部単位コピー印刷の場合に、ページ情報管理部２２６ｂにおいて部単位コピー印刷判断処理を行うことにより、１部目においては、コピーなし印刷時と同様に、先行ページのページデータの受け取りを開始した際に、後続ページのページデータを受け取る前に、システム・スプーラ２２４に対して「ＧｅｔＪＯｂ（）」コマンドを発行することにより取得した仮総ページ数に基づいて、次ページの存在の有無を判断し、先行ページのページデータに基づいて生成した印刷データに、次ページの存在の有無を示す次ページ情報を付加してプリンタに送信することが可能となる。また、２部目以降においては、１部目の処理によって、ページ数が判明しているため、最終部の最終ページとなるまでは、印刷データに次ページあり情報を付加してプリンタに送信することが可能となる。
【００７０】
なお、上記部単位コピー印刷判断処理において、１部目では、コピーなし印刷判断処理と同様に、プリンタ・ドライバ２２６のページ情報管理部２２６ｂは、システム・スプーラ２２４から各ページの開始端を示す「ＳｔａｒｔＰａｇｅ（）」コマンドを受け取ると、システム・スプーラ２２４に対して「ＧｅｔＪＯｂ（）」コマンドを発行することにより取得した仮総ページ数に基づいて、次ページの存在の有無を判断するようにしているが、ｎ部（ｎは２以上の整数）の部単位印刷を行う場合には、少なくともｎ−１ページ目までの各ページにおいては、「ＧｅｔＪｏｂ（）」コマンドを発行することなく次ページありと判定するようにしてもよい。このようにすれば、仮に１部当たりｎページ以上のページが存在する場合において、ｎ−１ページ目までの各ページを処理している間に、ｎページ以上のページがシステム・スプーラ２２４にスプールされる可能性が高くなり、ｎページ以降においても「ＧｅｔＪｏｂ（）」コマンドを発行することにより取得した仮総ページ数に基づいて、次ページありと判断できる精度が高くなる。
【００７１】
また、最終部の最終ページを除く各ページについては次ページありと判定し、最終部の最終ページについては後続ページなしと判定することも可能である。
【００７２】
なお、最終部の最終ページかどうかを判断するためには、１部あたりの印刷ページ数を求める必要がある。上記実施例では、１部目において、「ＧｅｔＪｏｂ（）」コマンドではなく、処理されるページ数をカウントすることにより、１部あたりの印刷ページ数を求めているが、最終部を除くいずれかの部において、1部あたりの印刷ページ数を求めるようにしてもよい。そして、求めた１部あたりの印刷ページ数に基づいて、処理対象のページが最終部の最終ページかどうかを判断するようにしてもよい。
【００７３】
Ａ２．３．非部単位コピー印刷判断処理：
図１３および図１４は、非部単位コピー印刷判断処理を示すフローチャートである。非部単位コピー印刷は複数部の印刷を実行する場合に、ページごとに複数部に対応する枚数の印刷を実行するものであり、印刷環境データとしてコピー枚数が「ｍ枚（ｍは２以上の整数）」に設定され、各ページについて１枚目（１部目）はコピーなし印刷と同様に、ページデータに基づいて印刷データを生成し、生成した印刷データを用いて印刷を実行し、２枚目（２部目）以降については１枚目で生成した印刷データを実行した印刷処理結果を利用するものである。
【００７４】
非部単位コピー印刷判断処理を開始したプリンタ・ドライバ２２６のページ情報管理部２２６ｂは、図６に示したコピーなし印刷判断処理のステップＳ２０２〜Ｓ２０６と同様に、システム・スプーラ２２４から印刷要求データを受け取るたびに（ステップＳ４０２：ＹＥＳ）、ページデータの受け取りを開始してページ単位の処理が開始されるタイミングであるか否か、すなわち、印刷データ生成部２２６ａにおいてページ単位の印刷データの生成処理が開始されるタイミングであるか否か判断する（ステップＳ４０４）。ページ単位の処理が開始されるタイミングであると判断された場合には、ステップＳ４０８の処理を実行し、ページ単位の処理が開始されるタイミングでないと判断された場合には（ステップＳ４０４：ＮＯ）、全ページのページデータの受け取りを終了したか否か判断する（ステップＳ４０６）。
【００７５】
ページ単位の処理が開始されたと判断されず（ステップＳ４０４：ＮＯ）、かつ、全ページの印刷要求データの受け取りを終了したと判断されない場合には（ステップＳ４０６：ＮＯ）、印刷要求データを受信するたびに（ステップＳ４０２：ＹＥＳ）、ページ単位のページデータの受け取りを開始してページ単位の処理が開始されるタイミングであるか否かの判断（ステップＳ４０４）や、全ページのページデータの受け取りを終了したか否かの判断（ステップＳ４０６）を繰り返す。一方、全ページのページデータの受け取りを終了したと判断された場合には（ステップＳ４０６：ＹＥＳ）、非部単位コピー印刷判断処理を終了する。
【００７６】
ページ単位処理が開始されるタイミングであると判断された場合には（ステップＳ４０４：ＹＥＳ）、以下で説明するように、ステップＳ４０８〜Ｓ４３４の処理を実行した後、ステップＳ４０２に戻って、再び、ページ単位の処理が開始されるタイミングであるか否かの判断（ステップＳ４０４）や、全ページのページデータの受け取りを終了したか否かの判断（ステップＳ４０６）を繰り返す。
【００７７】
ステップＳ４０４において、ページ単位の処理が開始されるタイミングであると判断された場合には（ステップＳ４０４：ＹＥＳ）、まず、１部目（１枚目）において（ステップＳ４０８：ＹＥＳ）、次ページありと判定し（ステップＳ４１０）、２部目の処理を開始するタイミングとなるまで待機する(ステップＳ４１２：ＮＯ)。そして、２部目の処理を開始するタイミングとなった場合には（ステップＳ４１２：ＹＥＳ，ステップＳ４０８：ＮＯ）、ステップＳ４２０〜Ｓ４３４の処理を実行する。なお、２部目以降の場合には、１部目において生成した印刷データをハードディスク装置２６０（図１）に保存しておき、ハードディスク装置２６０に保存されている印刷データを読み出して利用することにより、印刷データ生成部２２６ａにおける処理の短縮化を図っている。そこで、以下においても、部単位コピー印刷の場合と同様に、２部目以降のページ単位処理を１部目の処理と区別するために、「ページ単位コピー処理」ということとする。
【００７８】
ステップＳ４２０〜Ｓ４３４の処理のうち、ステップＳ４２０およびステップＳ４３４は、ステップＳ４２２〜ステップＳ４３２の処理を、ステップＳ４３４の終了条件（コピー処理部数=最終部数）が成立するまで、繰り返すための処理ループ（「コピー処理部数ループ」と呼ぶ）であることを示している。最終部数は、印刷環境データ中のコピー枚数を参照することにより設定される。
【００７９】
ステップＳ４２２〜Ｓ４３２では、ページ単位でコピー処理を開始するたびに（ステップＳ４２２：ＹＥＳ）、最終部であるか否か判断する（ステップＳ４２４）。ここで、最終部でない場合には（ステップＳ４２４：ＮＯ）、次ページありと判定する（ステップＳ４２６）。一方、最終部である場合には（ステップＳ４２４：ＹＥＳ）、「ＧｅｔＪｏｂ（）」コマンドを発行して、システム・スプーラ２２４に対して、その時点でシステム・スプーラ２２４にスプールされているページデータの総ページ数（仮総ページ数）を取得する（ステップＳ４２８）。そして、取得した仮総ページ数が、処理が開始されるページ（以下、「処理ページ」という）のページ数（以下、「処理ページ数」という）より大きいか否か判断する（ステップＳ４３０）。仮総ページ数が処理ページ数よりも大きい場合には（ステップＳ４３０：ＹＥＳ）、次ページありと判定し（ステップＳ４２６）、仮総ページ数が処理ページ数以下の場合には（ステップＳ４３０：ＮＯ）、次ページなしと判定する（ステップＳ４３２）。
【００８０】
そして、ステップＳ４３４でコピー処理部数＝最終部数となるまで、ステップＳ４２２〜ステップＳ４３２の処理が繰り返し実行される。
【００８１】
図１５および図１６は、非部単位コピー印刷判断処理の具体例を示す説明図である。図１５および図１６も、図７や図８と同様に、アプリケーションから供給される１つの印刷要求データに４ページのページデータが含まれている場合を例に説明する。但し、コピー枚数が「２枚」に設定されているものとする。
【００８２】
プリンタ・ドライバ２２６のページ情報管理部２２６ｂは、システム・スプーラ２２４から１ページ目のページデータの開始端を示す「ＳｔａｒｔＰａｇｅ（）」コマンドを受け取ると（処理Ｓａ０３１）、まず、コピー枚数が「２枚」であるので、１ページ１部目の処理を開始し（処理Ｓａ０３２）、１部目は次ページありと判断する（処理Ｓａ０３３）。そして、プリンタ・ドライバ２２６の印刷データ生成部２２６ａからプリンタ１００に対して、印刷データの送付の前に次ページあり情報が送付され（処理Ｓａ０３４）。そして、印刷データは、プリンタ１００に送付されるとともに、ハードディスク装置２６０に保存される（処理Ｓａ０３５）。
【００８３】
１ページ１部目の処理を終了すると、次に、１ページ２部目の処理を開始する（処理Ｓａ０３６）。このとき、２部目は最終部数であるので、システム・スプーラ２２４に対して、「ＧｅｔＪｏｂ（）」コマンドを発行する（処理Ｓａ０３７）が、この時点において、既に、システム・スプーラ２２４は３ページ目の開始端を示す「ＳｔａｒｔＰａｇｅ（）」コマンドの受け取り（処理Ｓａ０３８）を行っている。従って、「仮総ページ数」は「３ページ」となり、ページ情報管理部２２６ｂは、２部目について、次ページありと判定する（処理Ｓａ０３９）。そして、プリンタ・ドライバ２２６の印刷データ生成部２２６ａからプリンタ１００に対して、次ページあり情報を、保存済印刷データの送付の前に送付する（処理Ｓａ０４０）。
【００８４】
以下、２〜４ページの各ページにおいても、１ページ目と同様にして次ページの有無の判断を実行し、次ページあり情報または次ページなし情報を、印刷データの送付前に送付する。ただし、４ページの２部目、すなわち、最終ページの最終部においては、４ページの２部目の処理を開始し（処理Ｓａ０４１）、システム・スプーラ２２４に対して、「ＧｅｔＪｏｂ（）」コマンドを発行して（処理Ｓａ０４２）、得られる「仮総ページ数」は「４ページ」であり、「処理ページ数」と同じになるため、次ページ情報なしと判定し（処理Ｓａ０４３）、次ページなし情報を送付する（処理Ｓａ０４４）。
【００８５】
以上説明したように、プリンタ・ドライバ２２６は、非部単位印刷の場合に、ページ情報管理部２２６ｂにおいて非部単位コピー印刷判断処理を行うことにより、各ページの最終部以外の各部の処理において、印刷データに、次ページの存在を示す次ページあり情報を付加してプリンタに送信することが可能となる。また、各ページの最終部については、その処理を開始した際に、後続するページのページデータを受け取る前に、「ＧｅｔＪｏｂ（）」コマンドを発行することにより取得した仮総ページ数に基づいて、次ページの存在の有無を判断することができ、次ページが存在すると判断された場合には、送信する印刷データに次ページあり情報を付加してプリンタに送信することが可能となる。
Ｂ．変形例：
なお、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
【００８６】
上記実施例では、次ページ判断処理は、コピーなし印刷判断処理と、部単位コピー印刷判断処理と、非部単位コピー印刷判断処理とを、それぞれ別の処理ルーチンとして用意している場合を例に説明したが、これに限定されるものではない。例えば、コピーなし印刷判断処理と、部単位コピー印刷判断処理と、非部単位コピー印刷判断処理とにおいて、共通化可能な処理部分については共通化するようにしてもよく、コピーなし印刷判断処理と、部単位コピー印刷判断処理と、非部単位コピー印刷判断処理とが実行可能であれば、どのような処理ルーチンであってもよい。
【００８７】
また、コピーなし印刷判断処理と、部単位コピー印刷判断処理と、非部単位コピー印刷判断処理の３つの処理モードの全てを必ずしも備える必要はなく、何れか、１つ、または２つを備えるようにしてもよい。
【００８８】
また、上記実施例の判断処理において、各ページのページデータを受け取るたびに、「ＧｅｔＪｐｂ（）」コマンドを発行して、次ページあり／なしの判断を行っているが、例えば、一度取得した仮総ページ数（ｋページとする）に基づいて次ページ有りと判定した場合においては、ｋ−１ページ目に相当するページ（先行ページ）までは、仮総ページ数を取得せずに次ページありと判定し、ｋページ目に相当するページ（先行ページ）に対しては、仮総ページ数を取得して次ページあり／なしの判断を行うようにしてもよい。
【００８９】
また、上記実施例では、印刷要求データの内容については、特に言及していないが、印刷要求データに、実際に印刷するデータの無いページを印刷する要求が含まれている場合がある。このときに、ページの給紙と印刷を禁止する白紙節約機能をプリンタ・ドライバに備えるようにしてもよい。但し、この白紙節約機能を備える場合には、次ページ情報を先行ページの印刷データに付加することができなくなるので、次ページ情報を先行ページの印刷データに付加する機能を実行する際には、白紙節約機能を実行させないように制御することが好ましい。
【００９０】
また、上記実施例では、ＣＰＵ２１０がプリンタ・ドライバ・プログラムを読み出して実行することにより機能する印刷制御装置としてのプリンタ・ドライバ２２６を構成する場合、すなわち、印刷制御装置をソフトウェアにより構成する場合を例に説明したが、印刷制御装置としてのプリンタ・ドライバをハードウェアにより構成するようにしてもよい。
【図面の簡単な説明】
【００９１】
【図１】本発明の一実施例としての印刷システムの概略構成を示す説明図である。
【図２】図１に示した印刷システムを機能的に示すブロック図である。
【図３】印刷要求データの構造例について示す説明図である。
【図４】印刷データの構造例を示す説明図である。
【図５】次ページ判断処理を示すフローチャートである。
【図６】コピーなし印刷判断処理を示すフローチャートである。
【図７】コピーなし印刷判断処理の具体例を示す説明図である。
【図８】コピーなし印刷判断処理の別の具体例を示す説明図である。
【図９】部単位コピー印刷判断処理を示すフローチャートである。
【図１０】部単位コピー印刷判断処理を示すフローチャートである。
【図１１】部単位コピー印刷判断処理の具体例を示す説明図である。
【図１２】部単位コピー印刷判断処理の具体例を示す説明図である。
【図１３】非部単位コピー印刷判断処理を示すフローチャートである。
【図１４】非部単位コピー印刷判断処理を示すフローチャートである。
【図１５】非部単位コピー印刷判断処理の具体例を示す説明図である。
【図１６】非部単位コピー印刷判断処理の具体例を示す説明図である。
【符号の説明】
【００９２】
１０００…印刷システム
１００…プリンタ
１１０…給紙トレイ
１２０…排紙トレイ
２００…コンピュータ
２１０…ＣＰＵ
２２０…メモリ
２２２…アプリケーション
２２４…システム・スプーラ
２２６…プリンタ・ドライバ
２２６…ページ情報管理部
２２６ａ…印刷データ生成部
２２６ｂ…ページ情報管理部
２４０…入力装置
２５０…モニタ
２６０…ハードディスク装置
２７０…ドライブ装置
ＲＤ…記録媒体
ＰＳ…印刷用紙
【図１】
2008077158.tif 000003
【図２】
2008077158.tif 000004
【図３】
2008077158.tif 000005
【図４】
2008077158.tif 000006
【図５】
2008077158.tif 000007
【図６】
2008077158.tif 000008
【図７】
2008077158.tif 000009
【図８】
2008077158.tif 000010
【図９】
2008077158.tif 000011
【図１０】
2008077158.tif 000012
【図１１】
2008077158.tif 000013
【図１２】
2008077158.tif 000014
【図１３】
2008077158.tif 000015
【図１４】
2008077158.tif 000016
【図１５】
2008077158.tif 000017
【図１６】
2008077158.tif 000018