(57)【特許請求の範囲】
【請求項１】
複数ページを１ページに縮小配置して印刷させる縮小配置印刷機能を有し、印刷装置に印刷データを出力する情報処理装置であって、
前記縮小配置印刷で且つ逆順印刷を行う場合に、入力される論理ページの合計ページ数と、各々の物理ページに配置される論理ページ数とに基づいて、逆順印刷の最初の物理ページ上に配置する論理ページ数を特定する特定手段と、
前記特定手段により特定される逆順印刷の最初の物理ページ上に配置する論理ページ数が物理ページ上に配置可能な上限に達しない場合は、逆順印刷の最初のページに対して、前記特定される論理ページ数の論理ページと、空白論理ページを配置する配置手段と、
前記配置手段による配置に基づき、該空白論理ページを含む複数の論理ページが配置されている逆順の物理ページの印刷データを生成する印刷データ生成手段と
を有することを特徴とする情報処理装置。
【請求項２】
複数ページを１ページに縮小配置して印刷させる縮小配置印刷機能を有し、印刷装置に印刷データを出力する情報処理装置における印刷制御方法であって、
前記縮小配置印刷で且つ逆順印刷を行う場合に、入力される論理ページの合計ページ数と、各々の物理ページに配置される論理ページ数とに基づいて、逆順印刷の最初の物理ページ上に配置する論理ページ数を特定する特定ステップと、
前記特定ステップで特定される逆順印刷の最初の物理ページ上に配置する論理ページ数が物理ページ上に配置可能な上限に達しない場合は、逆順印刷の最初のページに対して、前記特定される論理ページ数の論理ページと、空白論理ページを配置する配置ステップと、
前記配置ステップによる配置に基づき、該空白論理ページを含む複数の論理ページが配置されている逆順の物理ページの印刷データを生成する印刷データ生成ステップと
を有することを特徴とする印刷制御方法。
【請求項３】
空白論理ページを含む複数の論理ページの描画データを縮小して１ページ分の描画データを生成する縮小描画ステップを有し、
前記印刷データ生成ステップでは、前記１ページ分の描画データを１物理ページ上に配置したプリンタ制御言語の印刷データを生成することを特徴とする請求項２記載の印刷制御方法。
【請求項４】
前記論理ページとは、アプリケーションで扱われる通常のページであり、前記物理ページとは、実際に印刷される複数の縮小されたページを含むページであることを特徴とする請求項２又は３記載の印刷制御方法。
【請求項５】
前記逆順印刷とは、物理ページ上に論理ページを若いページ番号順に配置すると共に該物理ページを最終ページから逆に配置して印刷するものであることを特徴とする請求項２乃至４の何れかに記載の印刷制御方法。
【請求項６】
印刷データとは異なる中間コード形式でデータを一時保存する保存ステップを更に有し、
前記印刷データ生成ステップは、前記中間コード形式のデータが縮小描画された後で、前記印刷装置に出力すべき印刷データを生成することを特徴とする請求項２乃至５の何れかに記載の印刷制御方法。
【請求項７】
複数ページを１ページに縮小配置して印刷させる縮小配置印刷機能を有し、印刷装置に印刷データを出力する情報処理装置において実行される印刷制御プログラムを記憶した記憶媒体であって、
前記縮小配置印刷で且つ逆順印刷を行う場合に、入力される論理ページの合計ページ数と、各々の物理ページに配置される論理ページ数とに基づいて、逆順印刷の最初の物理ページ上に配置する論理ページ数を特定する特定ステップと、
前記特定ステップで特定される逆順印刷の最初の物理ページ上に配置する論理ページ数が物理ページ上に配置可能な上限に達しない場合は、逆順印刷の最初のページに対して、前記特定される論理ページ数の論理ページと、空白論理ページを配置する配置ステップと、
前記配置ステップによる配置に基づき、該空白論理ページを含む複数の論理ページが配置されている逆順の物理ページの印刷データを生成する印刷データ生成ステップと
を前記情報処理装置に実行させる印刷制御プログラムを記憶したことを特徴とする記憶媒体。
【請求項８】
空白論理ページを含む複数の論理ページの描画データを縮小して１ページ分の描画データを生成する縮小描画ステップを更に情報処理装置に実行させ、
前記印刷データ生成ステップでは、前記１ページ分の描画データを１物理ページ上に配置したプリンタ制御言語の印刷データを生成することを特徴とする請求項７記載の記憶媒体。
【請求項９】
前記論理ページとは、アプリケーションで扱われる通常のページであり、前記物理ページとは、実際に印刷される複数の縮小されたページを含むページであることを特徴とする請求項７又は８記載の記憶媒体。
【請求項１０】
前記逆順印刷とは、物理ページ上に論理ページを若いページ番号順に配置すると共に該物理ページを最終ページから逆に配置して印刷するものであることを特徴とする請求項７乃至９の何れかに記載の記憶媒体。
【請求項１１】
印刷データとは異なる中間コード形式でデータを一時保存する保存ステップを更に有し、
前記印刷データ生成ステップは、前記中間コード形式のデータが縮小描画された後で、前記印刷装置に出力すべき印刷データを生成することを特徴とする請求項７乃至１０の何れかに記載の記憶媒体。
【請求項１２】
複数の論理ページを縮小配置している少なくとも１ページの物理ページを含む印刷データを出力する情報処理装置であって、
任意のアプリケーションが生成した描画データに基づいて生成される共通の印刷情報を、ＯＳに依存した描画手段から受け取るディスパッチャ手段と、
前記ディスパッチャ手段が受け取った印刷情報を中間データに変換し、該中間データをスプール手段に格納しておく中間データ変換手段と、
逆順印刷と前記論理ページの縮小配置とを指定する指定手段と、
前記指定手段により逆順印刷と縮小配置が指定されている場合に、前記物理ページ上に配置する論理ページを特定する特定手段と、
論理ページの数が物理ページ上に配置可能な上限に達しない場合は残りの部分に空白論理ページを挿入する挿入手段と、
前記スプール手段に格納されている中間データから、該空白論理ページを含む複数の論理ページを物理ページ上に配置した中間データを生成し、前記描画データ形式で前記描画手段に出力する加工手段と、
前記ディスパッチャ手段が受け取った印刷情報を制御コマンドからなる印刷データに変換し、該印刷データを外部装置に出力する印刷データ生成手段とを有することを特徴とする情報処理装置。
【請求項１３】
複数の論理ページを縮小配置している少なくとも１ページの物理ページを含む印刷データを出力する情報処理装置における印刷制御方法であって、
任意のアプリケーションが生成した描画データに基づいて生成される共通の印刷情報を、ＯＳに依存した描画手段から受け取る受け取りステップと、
受け取った前記印刷情報を中間データに変換し、該中間データをスプール手段に格納しておく中間データ変換ステップと、
逆順印刷と前記論理ページの縮小配置とを指定する指定手段と、
前記指定手段により逆順印刷と縮小配置が指定されている場合に、前記物理ページ上に配置する論理ページを特定させる特定ステップと、
論理ページの数が物理ページ上に配置可能な上限に達しない場合は残りの部分に空白論理ページを挿入させる挿入ステップと、
前記スプール手段に格納されている中間データから、該空白論理ページを含む複数の論理ページを物理ページ上に配置した中間データを生成し、前記描画データ形式で前記描画手段に出力させる加工ステップと、
前記受け取りステップで受け取った印刷情報を制御コマンドからなる印刷データに変換させ、該印刷データを外部装置に出力させる印刷データ生成ステップとを有することを特徴とする印刷制御方法。
【請求項１４】
前記描画データは、ＧＤＩ（Ｇｒａｐｈｉｃａｌ  Ｄｅｖｉｃｅ  Ｉｎｔｅｒｆａｃｅ）であることを特徴とする請求項１３記載の印刷制御方法。
【請求項１５】
前記印刷情報は、ＤＤＩ（Ｄｅｖｉｃｅ  Ｄｒｉｖｅｒ  Ｉｎｔｅｒｆａｃｅ）であることを特徴とする請求項１３記載の印刷制御方法。
【請求項１６】
前記印刷データは、ページ記述言語であることを特徴とする請求項１３記載の情報処理方法。
【請求項１７】
複数の論理ページを縮小配置している少なくとも１ページの物理ページを含む印刷データを出力する情報処理装置で実行される印刷制御プログラムが格納された記憶媒体であって、
任意のアプリケーションが生成した描画データに基づいて生成される共通の印刷情報を、ＯＳに依存した描画手段から受け取る受け取りステップと、
受け取った前記印刷情報を中間データに変換し、該中間データをスプール手段に格納しておく中間データ変換ステップと、
逆順印刷と前記論理ページの縮小配置とを指定する指定手段と、
前記指定手段により逆順印刷と縮小配置が指定されている場合に、前記物理ページ上に配置する論理ページを特定させる特定ステップと、
論理ページの数が物理ページ上に配置可能な上限に達しない場合は残りの部分に空白論理ページを挿入させる挿入ステップと、
前記スプール手段に格納されている中間データから、該空白論理ページを含む複数の論理ページを物理ページ上に配置した中間データを生成し、前記描画データ形式で前記描画手段に出力させる加工ステップと、
前記受け取りステップで受け取った印刷情報を制御コマンドからなる印刷データに変換させ、該印刷データを外部装置に出力させる印刷データ生成ステップとを前記情報処理装置に実行させる印刷制御プログラムが格納されたことを特徴とする記憶媒体。
【請求項１８】
前記描画データは、ＧＤＩ（Ｇｒａｐｈｉｃａｌ  Ｄｅｖｉｃｅ  Ｉｎｔｅｒｆａｃｅ）であることを特徴とする請求項１７記載の記憶媒体。
【請求項１９】
前記印刷情報は、ＤＤＩ（Ｄｅｖｉｃｅ  Ｄｒｉｖｅｒ  Ｉｎｔｅｒｆａｃｅ）であることを特徴とする請求項１７記載の記憶媒体。
【請求項２０】
前記印刷データは、ページ記述言語であることを特徴とする請求項１７記載の記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、情報処理装置及び印刷制御方法並びに記憶媒体に係り、更に詳しくは、パーソナルコンピュータ等の情報処理装置とプリンタ等の出力装置を備えたシステムにおいて複数のページを１ページ内に縮小して配置する印刷を行う場合に好適な情報処理装置及び印刷制御方法並びに記憶媒体に関する。
【０００２】
【従来の技術】
近年、プリンタ等の出力装置（以下、プリンタとも称す）には、該出力装置が接続された情報処理装置から送信されてきた印刷データに基づく複数のページを１ページ内に縮小して配置する印刷、即ち、いわゆるＮアップ印刷を行う機能を有するものがある。該Ｎアップ印刷機能は、ドラフト印刷や用紙の節約等の目的のためにプリンタに用意された機能である。
【０００３】
他方、出力装置には、レーザビームプリンタ等で一般的であるフェイスダウン排紙を行う機能や、インクジェットプリンタや複写機等で一般的なフェイスアップ排紙を行う機能を有するものがある。フェイスダウン排紙の場合には、情報処理装置から受信した印刷データに基づくページ順に出力用紙が並ぶが、フェイスアップ排紙の場合には、情報処理装置から最後に受信した印刷データに基づくページが一番上になる出力結果となる。
【０００４】
このため、フェイスアップ排紙の場合にページ順を正順にする方法として、情報処理装置から印刷データを送信する際に、ページ順を逆にして送信する方法が利用されている。出力装置側でページ順を逆順に出力する方法も考えられるが、この場合には、ジョブに含まれる全てのページの印刷データを一旦、出力装置内にスプールするためのメモリやディスクが必要となるか、または出力装置内で印刷済みの各用紙を逆順に並べ替える装置を用意する必要がある。しかし、これには多大なコストがかかるため、実際には情報処理装置から逆順に印刷データを送信する方法が一般的である。
【０００５】
【発明が解決しようとする課題】
しかしながら、上述した従来技術においては下記のような問題があった。即ち、上述した如く、従来はフェイスアップ排紙を行う機能を有するプリンタに対して、アプリケーションから逆順印刷を行っていたが、更にプリンタのＮアップ印刷機能を利用すると、プリンタではアプリケーションから受信した印刷データに基づく先頭ページからＮページ分を１ページに縮小して配置するため、各ページに配置される縮小されたページの組み合わせが正順の場合と異なる場合があるという問題があった。また、各ページに配置される縮小されたページの配置順も、正順の場合と異なるという問題があった。
【０００６】
本発明は、上述した点に鑑みてなされたものであり、ページプリンタにてフェイスアップ排紙を行う場合、つまり逆順印刷を行う場合でも、正順印刷と同様のページの組み合わせでかつ正順印刷と同様のページ配置順でＮアップ出力結果を得ることを可能とする仕組みを提供することを目的としている。
【０００７】
また、逆順印刷とＮアップ印刷の両方の指定をユーザから受けた際に、ホスト等の情報処理装置で、正順印刷と同様のページ配置順でＮアップ出力のための印刷データを生成して、印刷装置に加工された印刷データを出力することが可能とする仕組みを提供することを目的としている。
【０００８】
また、従来のＮアップ印刷機能のないプリンタに対応するプリンタドライバ部分、つまりグラフィックエンジン（例えばＧＤＩ（Ｇｒａｐｈｉｃａｌ  Ｄｅｖｉｃｅ  Ｉｎｔｅｒｆａｃｅ））が出力した印刷情報（例えば、ＤＤＩ：Ｄｅｖｉｃｅ  Ｄｒｉｖｅｒ  Ｉｎｔｅｒｆａｃｅ）関数からＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）を生成する部分を新たに制作することなしに、逆順印刷の指定とＮアップ印刷の指定を行え、かつ正順印刷と同様のページ配置順で出力結果を得ることを可能とする仕組みを提供することを目的としている。
【０００９】
【課題を解決するための手段】
上記目的を達成するため、請求項１の発明は、複数ページを１ページに縮小配置して印刷させる縮小配置印刷機能を有し、印刷装置に印刷データを出力する情報処理装置であって、前記縮小配置印刷で且つ逆順印刷を行う場合に、入力される論理ページの合計ページ数と、各々の物理ページに配置される論理ページ数とに基づいて、逆順印刷の最初の物理ページ上に配置する論理ページ数を特定する特定手段と、前記特定手段により特定される逆順印刷の最初の物理ページ上に配置する論理ページ数が物理ページ上に配置可能な上限に達しない場合は、逆順印刷の最初のページに対して、前記特定される論理ページ数の論理ページと、空白論理ページを配置する配置手段と、前記配置手段による配置に基づき、該空白論理ページを含む複数の論理ページが配置されている逆順の物理ページの印刷データを生成する印刷データ生成手段とを有することを特徴とする。
【００１０】
上記目的を達成するため、請求項２の発明は、複数ページを１ページに縮小配置して印刷させる縮小配置印刷機能を有し、印刷装置に印刷データを出力する情報処理装置における印刷制御方法であって、前記縮小配置印刷で且つ逆順印刷を行う場合に、入力される論理ページの合計ページ数と、各々の物理ページに配置される論理ページ数とに基づいて、逆順印刷の最初の物理ページ上に配置する論理ページ数を特定する特定ステップと、前記特定ステップで特定される逆順印刷の最初の物理ページ上に配置する論理ページ数が物理ページ上に配置可能な上限に達しない場合は、逆順印刷の最初のページに対して、前記特定される論理ページ数の論理ページと、空白論理ページを配置する配置ステップと、前記配置ステップによる配置に基づき、該空白論理ページを含む複数の論理ページが配置されている逆順の物理ページの印刷データを生成する印刷データ生成ステップとを有することを特徴とする。
【００１１】
上記目的を達成するため、請求項３の発明は、空白論理ページを含む複数の論理ページの描画データを縮小して１ページ分の描画データを生成する縮小描画ステップを有し、前記印刷データ生成ステップでは、前記１ページ分の描画データを１物理ページ上に配置したプリンタ制御言語の印刷データを生成することを特徴とする。
【００１２】
上記目的を達成するため、請求項４の発明は、前記論理ページとは、アプリケーションで扱われる通常のページであり、前記物理ページとは、実際に印刷される複数の縮小されたページを含むページであることを特徴とする。
【００１３】
上記目的を達成するため、請求項５の発明は、前記逆順印刷とは、物理ページ上に論理ページを若いページ番号順に配置すると共に該物理ページを最終ページから逆に配置して印刷するものであることを特徴とする。
【００１４】
上記目的を達成するため、請求項６の発明は、印刷データとは異なる中間コード形式でデータを一時保存する保存ステップを更に有し、前記印刷データ生成ステップは、前記中間コード形式のデータが縮小描画された後で、前記印刷装置に出力すべき印刷データを生成することを特徴とする。
【００１５】
上記目的を達成するため、請求項７の発明は、複数ページを１ページに縮小配置して印刷させる縮小配置印刷機能を有し、印刷装置に印刷データを出力する情報処理装置において実行される印刷制御プログラムを記憶した記憶媒体であって、前記縮小配置印刷で且つ逆順印刷を行う場合に、入力される論理ページの合計ページ数と、各々の物理ページに配置される論理ページ数とに基づいて、逆順印刷の最初の物理ページ上に配置する論理ページ数を特定する特定ステップと、前記特定ステップで特定される逆順印刷の最初の物理ページ上に配置する論理ページ数が物理ページ上に配置可能な上限に達しない場合は、逆順印刷の最初のページに対して、前記特定される論理ページ数の論理ページと、空白論理ページを配置する配置ステップと、前記配置ステップによる配置に基づき、該空白論理ページを含む複数の論理ページが配置されている逆順の物理ページの印刷データを生成する印刷データ生成ステップとを前記情報処理装置に実行させる印刷制御プログラムを記憶したことを特徴とする。
【００１６】
上記目的を達成するため、請求項８の発明は、空白論理ページを含む複数の論理ページの描画データを縮小して１ページ分の描画データを生成する縮小描画ステップを更に情報処理装置に実行させ、前記印刷データ生成ステップでは、前記１ページ分の描画データを１物理ページ上に配置したプリンタ制御言語の印刷データを生成することを特徴とする。
【００１７】
上記目的を達成するため、請求項９の発明は、前記論理ページとは、アプリケーションで扱われる通常のページであり、前記物理ページとは、実際に印刷される複数の縮小されたページを含むページであることを特徴とする。
【００１８】
上記目的を達成するため、請求項１０の発明は、前記逆順印刷とは、物理ページ上に論理ページを若いページ番号順に配置すると共に該物理ページを最終ページから逆に配置して印刷するものである。
【００１９】
上記目的を達成するため、請求項１１の発明は、印刷データとは異なる中間コード形式でデータを一時保存する保存ステップを更に有し、前記印刷データ生成ステップは、前記中間コード形式のデータが縮小描画された後で、前記印刷装置に出力すべき印刷データを生成することを特徴とする。
【００２０】
上記目的を達成するため、請求項１２の発明は、複数の論理ページを縮小配置している少なくとも１ページの物理ページを含む印刷データを出力する情報処理装置であって、任意のアプリケーションが生成した描画データに基づいて生成される共通の印刷情報を、ＯＳに依存した描画手段から受け取るディスパッチャ手段と、前記ディスパッチャ手段が受け取った印刷情報を中間データに変換し、該中間データをスプール手段に格納しておく中間データ変換手段と、逆順印刷と前記論理ページの縮小配置とを指定する指定手段と、前記指定手段により逆順印刷と縮小配置が指定されている場合に、前記物理ページ上に配置する論理ページを特定する特定手段と、論理ページの数が物理ページ上に配置可能な上限に達しない場合は残りの部分に空白論理ページを挿入する挿入手段と、前記スプール手段に格納されている中間データから、該空白論理ページを含む複数の論理ページを物理ページ上に配置した中間データを生成し、前記描画データ形式で前記描画手段に出力する加工手段と、前記ディスパッチャ手段が受け取った印刷情報を制御コマンドからなる印刷データに変換し、該印刷データを外部装置に出力する印刷データ生成手段とを有することを特徴とする。
【００２１】
上記目的を達成するため、請求項１３の発明は、複数の論理ページを縮小配置している少なくとも１ページの物理ページを含む印刷データを出力する情報処理装置における印刷制御方法であって、任意のアプリケーションが生成した描画データに基づいて生成される共通の印刷情報を、ＯＳに依存した描画手段から受け取る受け取りステップと、受け取った前記印刷情報を中間データに変換し、該中間データをスプール手段に格納しておく中間データ変換ステップと、逆順印刷と前記論理ページの縮小配置とを指定する指定手段と、前記指定手段により逆順印刷と縮小配置が指定されている場合に、前記物理ページ上に配置する論理ページを特定させる特定ステップと、論理ページの数が物理ページ上に配置可能な上限に達しない場合は残りの部分に空白論理ページを挿入させる挿入ステップと、前記スプール手段に格納されている中間データから、該空白論理ページを含む複数の論理ページを物理ページ上に配置した中間データを生成し、前記描画データ形式で前記描画手段に出力させる加工ステップと、前記受け取りステップで受け取った印刷情報を制御コマンドからなる印刷データに変換させ、該印刷データを外部装置に出力させる印刷データ生成ステップとを有することを特徴とする。
【００２２】
上記目的を達成するため、請求項１４の発明は、前記描画データは、ＧＤＩ（Ｇｒａｐｈｉｃａｌ  Ｄｅｖｉｃｅ  Ｉｎｔｅｒｆａｃｅ）であることを特徴とする。
【００２３】
上記目的を達成するため、請求項１５の発明は、前記印刷情報は、ＤＤＩ（Ｄｅｖｉｃｅ  Ｄｒｉｖｅｒ  Ｉｎｔｅｒｆａｃｅ）であることを特徴とする。
【００２４】
上記目的を達成するため、請求項１６の発明は、前記印刷データは、ページ記述言語であることを特徴とする。
【００２５】
上記目的を達成するため、請求項１７の発明は、複数の論理ページを縮小配置している少なくとも１ページの物理ページを含む印刷データを出力する情報処理装置で実行される印刷制御プログラムが格納された記憶媒体であって、任意のアプリケーションが生成した描画データに基づいて生成される共通の印刷情報を、ＯＳに依存した描画手段から受け取る受け取りステップと、受け取った前記印刷情報を中間データに変換し、該中間データをスプール手段に格納しておく中間データ変換ステップと、逆順印刷と前記論理ページの縮小配置とを指定する指定手段と、前記指定手段により逆順印刷と縮小配置が指定されている場合に、前記物理ページ上に配置する論理ページを特定させる特定ステップと、論理ページの数が物理ページ上に配置可能な上限に達しない場合は残りの部分に空白論理ページを挿入させる挿入ステップと、前記スプール手段に格納されている中間データから、該空白論理ページを含む複数の論理ページを物理ページ上に配置した中間データを生成し、前記描画データ形式で前記描画手段に出力させる加工ステップと、前記受け取りステップで受け取った印刷情報を制御コマンドからなる印刷データに変換させ、該印刷データを外部装置に出力させる印刷データ生成ステップとを前記情報処理装置に実行させる印刷制御プログラムが格納されたことを特徴とする。
【００２６】
上記目的を達成するため、請求項１８の発明は、前記描画データは、ＧＤＩ（Ｇｒａｐｈｉｃａｌ  Ｄｅｖｉｃｅ  Ｉｎｔｅｒｆａｃｅ）であることを特徴とする。
【００２７】
上記目的を達成するため、請求項１９の発明は、前記印刷情報は、ＤＤＩ（Ｄｅｖｉｃｅ  Ｄｒｉｖｅｒ  Ｉｎｔｅｒｆａｃｅ）であることを特徴とする。
【００２８】
上記目的を達成するため、請求項２０の発明は、前記印刷データは、ページ記述言語であることを特徴とする。
【００３９】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照して説明する。
【００４０】
〔１〕第１の実施の形態
先ず、第１の実施の形態に係るプリンタ制御システムの構成を図１のブロック図を参照して説明する。尚、本発明の機能が実行されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ：ローカルエリアネットワーク）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ：広域ネットワーク）等のネットワークを介して接続がなされ処理が行われるシステムであっても、本発明を適用することができることは言うまでもない。
【００４１】
また、本発明を適用可能な実際の商品の形態としては、ＦＤ（Ｆｌｌｏｐｙ  Ｄｉｓｋ）、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ  ＲＯＭ）、インターネットＷｅｂサイト、Ｎｉｆｔｙ  Ｓｅｒｖｅ等のＢＢＳ（Ｂｕｌｌｅｔｉｎ  Ｂｏａｒｄ  Ｓｙｓｔｅｍ：コンピュータを利用したメッセージ交換システム）を挙げることができる。即ち、プリンタ制御システムに対して本発明のプログラムをＦＤやＣＤ−ＲＯＭから供給し、また、プリンタ制御システムをインターネットやＮｉｆｔｙ  Ｓｅｒｖｅに接続することが可能である。
【００４２】
＜印刷システムの構成＞
第１の実施の形態に係るプリンタ制御システムは、ホストコンピュータ３０００とプリンタ１５００とから構成されている。ホストコンピュータ３０００は、ＣＰＵ１と、ＲＡＭ２と、ＲＯＭ３と、キーボードコントローラ（ＫＢＣ）５と、ＣＲＴコントローラ（ＣＲＴＣ）６と、ディスクコントローラ（ＤＫＣ）７と、プリンタコントローラ（ＰＲＴＣ）８と、キーボード（ＫＢ）９と、ＣＲＴディスプレイ（ＣＲＴ）１０と、外部メモリ１１とを備えている。また、プリンタ１５００は、ＣＰＵ１２と、ＲＡＭ１９と、ＲＯＭ１３と、入力部１８と、印刷部インタフェース（Ｉ／Ｆ）１６と、ディスクコントローラ（ＤＫＣ）２０と、印刷部１７と、操作部１５０１と、外部メモリ１４とを備えている。
【００４３】
先ず、ホストコンピュータ３０００各部の構成を詳述すると、ＣＰＵ１は、システムバス４に接続された各デバイスを総括的に制御する中央処理装置であり、ＲＯＭ３のプログラム用ＲＯＭ３ｂ（後述）或いは外部メモリ１１に記憶された文書処理プログラム等に基づいて、図形、イメージ、文字、表（表計算等を含む）等が混在した文書処理を実行する。また、ＣＰＵ１は、例えばＲＡＭ２上に設定された表示情報ＲＡＭへのアウトラインフォントの展開（ラスタライズ）処理を実行し、ＣＲＴディスプレイ１０上でのＷＹＳＩＷＹＧ（Ｗｈａｔ  Ｙｏｕ  Ｓｅｅ  Ｉｓ  Ｗｈａｔ  Ｙｏｕ  Ｇｅｔ：ＣＲＴディスプレイ画面上に見えているそのままの大きさや形で印刷できる機能）を可能としている。
【００４４】
更に、ＣＰＵ１は、ＣＲＴディスプレイ１０上のマウスカーソル（図示略）等で指示されたコマンドに基づいて登録された種々のウインドウを開き、種々のデータ処理を実行する。ユーザはプリンタ１５００を使用して印刷を実行する際、印刷の設定に関するウインドウを開き、プリンタ１５００の設定や印刷モードの選択を含むプリンタドライバに対する印刷処理方法の設定を行うことができるようになっている。
【００４５】
ＲＡＭ２は、ＣＰＵ１の主メモリ、ワークエリア等として機能する。ＲＯＭ３は、フォント用ＲＯＭ３ａと、プログラム用ＲＯＭ３ｂと、データ用ＲＯＭ３ｃとを備えている。フォント用ＲＯＭ３ａ或いは外部メモリ１１は、上記文書処理の際に使用するフォントデータ等を記憶する。プログラム用ＲＯＭ３ｂ或いは外部メモリ１１は、ＣＰＵ１の制御プログラムであるオペレーティングシステム（以下、ＯＳ）等を記憶する。データ用ＲＯＭ３ｃ或いは外部メモリ１１は、上記文書処理等を行う際に使用する各種データを記憶する。
【００４６】
キーボードコントローラ（ＫＢＣ）５は、キーボード９やポインティングデバイス（図示略）からのキー入力を制御する。ＣＲＴコントローラ（ＣＲＴＣ）６は、ＣＲＴディスプレイ１０の表示を制御する。ディスクコントローラ（ＤＫＣ）７は、外部メモリ１１とのアクセスを制御する。プリンタコントローラ（ＰＲＴＣ）８は、双方向性インタフェース２１を介してプリンタ１５００に接続されて、プリンタ１５００との通信制御処理を実行する。キーボード９は、各種キーを備えている。
【００４７】
ＣＲＴディスプレイ（ＣＲＴ）１０は、図形、イメージ、文字、表等を表示する。外部メモリ１１は、ハードディスク（ＨＤ）、フロッピーディスク（ＦＤ）等から構成されており、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、プリンタ制御コマンド生成プログラム（以下、プリンタドライバ）等を記憶する。
【００４８】
上述したＣＰＵ１、ＲＡＭ２、ＲＯＭ３、キーボードコントローラ（ＫＢＣ）５、ＣＲＴコントローラ（ＣＲＴＣ）６、ディスクコントローラ（ＤＫＣ）７、プリンタコントローラ（ＰＲＴＣ）８は、コンピュータ制御ユニット２０００上に配設されている。
【００４９】
次に、プリンタ１５００各部の構成を詳述すると、ＣＰＵ１２は、システムバス１５に接続された各デバイスを総括的に制御する中央処理装置であり、ＲＯＭ１３のプログラム用ＲＯＭ１３ｂ（後述）に記憶された制御プログラム等或いは外部メモリ１４に記憶された制御プログラム等に基づいて、印刷部（プリンタエンジン）１７に出力情報としての画像信号を出力する。また、ＣＰＵ１２は、入力部１８を介してホストコンピュータ３０００との通信処理が可能となっており、プリンタ１５００内の情報等をホストコンピュータ３０００に通知できる構成となっている。
【００５０】
ＲＡＭ１９は、ＣＰＵ１２の主メモリやワークエリア等として機能し、増設ポートに接続されるオプションＲＡＭ（図示略）によりメモリ容量を拡張することができるように構成されている。尚、ＲＡＭ１９は、出力情報展開領域、環境データ格納領域、ＮＶＲＡＭ等に用いられる。ＲＯＭ１３は、フォント用ＲＯＭ１３ａと、プログラム用ＲＯＭ１３ｂと、データ用ＲＯＭ１３ｃとを備えている。フォント用ＲＯＭ１３ａは、上記出力情報を生成する際に使用するフォントデータ等を記憶する。プログラム用ＲＯＭ１３ｂは、ＣＰＵ１２の制御プログラム等を記憶する。データ用ＲＯＭ１３ｃは、プリンタ１５００にハードディスク等の外部メモリ１４が接続されていない場合には、ホストコンピュータ３０００上で利用される情報等を記憶する。
【００５１】
入力部１８は、双方向性インタフェース２１を介してプリンタ１５００とホストコンピュータ３０００との間におけるデータの送受を行う。印刷部インタフェース（Ｉ／Ｆ）１６は、ＣＰＵ１２と印刷部１７との間におけるデータの送受を行う。ディスクコントローラ（ＤＫＣ）２０は、外部メモリ１４のアクセスを制御する。印刷部１７は、ＣＰＵ１２の制御に基づき印刷動作を行う。操作部１５０１は、各種操作のためのスイッチや表示手段（例えばＬＥＤ表示器）等を備えている。
【００５２】
外部メモリ１４は、ハードディスク（ＨＤ）、ＩＣカード等から構成されており、プリンタ１５００にオプションとして接続される。外部メモリ１４は、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶するものであり、ディスクコントローラ（ＤＫＣ）２０によりアクセスを制御される。尚、外部メモリ１４は、１個に限らず複数個備えることが可能となっている。即ち、内蔵フォントに加えてオプションカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを、プリンタ１５００に複数接続できるように構成されていてもよい。更に、ＮＶＲＡＭ（図示略）を有し、操作部１５０１からのプリンタモード設定情報を記憶するようにしてもよい。
【００５３】
上述したＣＰＵ１２、ＲＡＭ１９、ＲＯＭ１３、入力部１８、印刷部インタフェース（Ｉ／Ｆ）１６、ディスクコントローラ（ＤＫＣ）２０は、プリンタ制御ユニット１０００上に配設されている。
【００５４】
図２はプリンタ等の印刷装置が直接接続、或いはネットワーク経由で接続されているホストコンピュータ３０００における典型的な印刷処理の構成を示すブロック図である。図２において、アプリケーション２０１、グラフィックエンジン２０２、プリンタドライバ２０３、及びシステムスプーラ２０４は、上記図１の外部メモリ１１に保存されたファイルとして存在し、実行される場合にＯＳやそのモジュールを利用するモジュールによってＲＡＭ２にロードされ実行されるプログラムモジュールである。
【００５５】
また、アプリケーション２０１及びプリンタドライバ２０３は、外部メモリ１１のＦＤやＣＤ−ＲＯＭ或いはネットワーク（以上図示略）を経由して外部メモリ１１のＨＤに追加することが可能となっている。外部メモリ１１に保存されているアプリケーション２０１はＲＡＭ２にロードされて実行されるが、該アプリケーション２０１からプリンタ１５００に対して印刷を行う際には、同様にＲＡＭ２にロードされ実行可能となっているグラフィックエンジン２０２を利用して出力（描画）を行う。
【００５６】
グラフィックエンジン２０２は、印刷装置ごとに用意されたプリンタドライバ２０３を同様に外部メモリ１１からＲＡＭ２にロードし、アプリケーション２０１の出力をプリンタドライバ２０３に設定する。そして、アプリケーション２０１から受け取るＧＤＩ（Ｇｒａｐｈｉｃ  Ｄｅｖｉｃｅ  Ｉｎｔｅｒｆａｃｅ）関数からＤＤＩ（Ｄｅｖｉｃｅ  Ｄｒｉｖｅｒ  Ｉｎｔｅｒｆａｃｅ）関数に変換して、プリンタドライバ２０３へＤＤＩ関数を出力する。プリンタドライバ２０３は、グラフィックエンジン２０２から受け取ったＤＤＩ関数に基づいて、プリンタが認識可能な制御コマンド、例えばＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）に変換する。変換されたプリンタ制御コマンドは、ＯＳによってＲＡＭ２にロードされたシステムスプーラ２０４を経てインタフェース２１経由でプリンタ１５００へ印刷データとして出力される仕組みとなっている。
【００５７】
＜印刷制御システムの構成＞
第１の実施の形態に係るプリンタ制御システムは、上記図１及び図２で示すプリンタ１５００とホストコンピュータ３０００からなる印刷システムに加えて、更に図３に示す如くアプリケーションからの印刷データを一旦中間コードデータでスプールする構成を有する。
【００５８】
本発明を示す図３は上記図２のシステムを拡張したもので、グラフィックエンジン２０２からプリンタドライバ２０３へ印刷命令を送る際に、一旦、中間コードからなるスプールファイル３０３を生成する構成を示したものである。上記図２のシステムでは、アプリケーション２０１が印刷処理から開放されるのは、プリンタドライバ２０３がグラフィックエンジン２０２からの全ての印刷命令をプリンタ１５００の制御コマンドへ変換し終わった時点である。
【００５９】
これに対して、図３のシステムでは、アプリケーション２０１が印刷処理から開放されるのは、スプーラ３０２が全ての印刷命令を中間コードデータに変換し、スプールファイル３０３に出力した時点である。通常、後者の方がプリンタ１５００の制御コマンドへ変換する時間が必要ないので短時間で済む。また、図３で示すシステムにおいては、スプールファイル３０３の内容に対して加工することができる。これにより、アプリケーションからの印刷データに対して、拡大／縮小や、複数ページを１ページに縮小して印刷するＮアップ印刷等、アプリケーションの持たない機能を実現することができる。
【００６０】
これらの目的のために、上記図２のシステムに対し、図３の如く中間コードデータでスプールするよう、システムの拡張がなされてきている。尚、印刷データの加工を行うためには、通常、プリンタドライバ２０３が提供するウインドウから設定を行い、プリンタドライバ２０３がその設定内容をＲＡＭ２上或いは外部メモリ１１上に保管する。
【００６１】
以下、図３の詳細を説明する。図示の如く、この拡張された処理方式では、アプリケーション２０１が作成したデータに基づくグラフィックエンジン２０２からの印刷命令を、ディスパッチャ３０１が受け取る。ディスパッチャ３０１がグラフィックエンジン２０２から受け取った印刷命令が、アプリケーション２０１からグラフィックエンジン２０２へ発行された印刷命令の場合には、ディスパッチャ３０１は外部メモリ１１に格納されているスプーラ３０２をＲＡＭ２にロードし、プリンタドライバ２０３ではなくスプーラ３０２へ印刷命令を送付する。
【００６２】
スプーラ３０２は、受け取った印刷命令を中間コードに変換してスプールファイル３０３に出力する。また、スプーラ３０２は、プリンタドライバ２０３に対して、印刷データに関するユーザが設定した加工設定をプリンタドライバ２０３を介してＲＡＭ２から取得して、スプールファイル３０３に加工設定を保存する。尚、スプールファイル３０３は外部メモリ１１上にファイルとして生成するが、ＲＡＭ２上に生成されても構わない。更に、スプーラ３０２は、外部メモリ１１に格納されているスプールファイルマネージャ３０４をＲＡＭ２にロードし、スプールファイルマネージャ３０４に対してスプールファイル３０３の生成状況を通知する。
【００６３】
その後、スプールファイルマネージャ３０４は、スプールファイル３０３に保存された印刷データに関する加工設定の内容に従ってプリンタドライバ２０３が印刷データを作成できるかを判断する。ここでスプールファイル３０３は、アプリケーションが出力したページである論理ページ単位で中間データを管理している。また、スプールファイル２０３は、前述したように、利用者がプリンタドライバ２０３に対して設定した加工設定、例えば４ｕｐ（１ページの紙に４ページ分のデータを縮小して印刷すること）印刷の設定、を管理している。よって、プリンタドライバ２０３が印刷データを作成できるかの判断は、スプールファイル３０３に格納されている加工設定に基づいて必要な論理ページがすべてスプールファイル３０３に管理されていれば、印刷データの作成に必要なデータが揃っているので印刷データの作成が可能であると判断できる。スプールファイルマネージャ３０４がグラフィックエンジン２０２を利用してプリンタドライバにより印刷データを作成できると判断した場合は、スプールファイルマネージャ３０４は、外部メモリ１１に格納されているデスプーラ３０５をＲＡＭ２にロードし、デスプーラ３０５に対して、スプールファイル３０３に記述された中間データの印刷処理を行うように指示する。このときに、スプールファイルマネージャ３０４はデスプーラ３０５に対して加工設定に伴う論理ページへの影響情報も指示する。例えば、４ｕｐ印刷の設定がなされている場合に、それぞれの論理ページが物理ページのどこに印刷されるかを示す位置情報と、物理ページにおける論理ページのサイズを示すサイズ情報とをスプールファイルマネージャ３０４が計算し、位置情報とサイズ情報とを含む影響情報を論理ページごとにデスプーラに対して指示する。位置情報の求めかたについては、図５、図６で後述する。
【００６４】
デスプーラ３０５は、スプールファイル３０３に含まれる中間コードをスプールファイルマネージャ３０４によって指示される影響情報の内容に従って加工し、加工された中間データをＧＤＩ関数に変換し、グラフィックエンジン２０２に出力する。デスプーラ３０５は、以下のような加工を行う。デスプーラ３０５は、スプールファイル３０３から所得した論理ページと、スプールファイルマネージャ３０４から取得した影響情報とに基づいて、論理ページ内に描画される文字データの物理ページにおける位置とサイズを再計算する。具体的には、例えば４ｕｐの場合は、データサイズは単純に１／４倍される。データ位置に関しては、デスプーラ３０５が物理ページ上の該論理ページの位置情報から割り当てられる論理ページ位置を認識し、その論理ページ内のデータ位置を距離が１／４倍を考慮して求めるのである。このように加工して得られた中間データをデスプーラ３０５はＧＤＩ関数に変換してグラフィックエンジン２０２に出力する。グラフィックエンジン２０２は、デスプーラ３０５から受け取ったＧＤＩ関数からＤＤＩ関数を生成し、ディスパッチャ３０１にＤＤＩ関数からなる印刷命令を出力する。グラフィックエンジン２０２からディスパッチャが受け取ったＤＤＩ関数の印刷命令がデスプーラ３０５からグラフィックエンジン２０２へ発行されたＧＤＩ関数の印刷命令の場合には、ディスパッチャ３０１はスプーラ３０２ではなく、プリンタドライバ２０３に印刷命令を送る。プリンタドライバ２０３は、受け取った印刷命令に基づいてプリンタ制御コマンドからなる印刷データを生成し、システムスプーラ２０４経由でプリンタ１５００に出力する。
【００６５】
＜プリンタの構成＞
図１１は第１の実施の形態に係るプリンタ１５００の一例としてレーザビームプリンタ（以下、ＬＢＰと略称）の場合における内部構造を示す断面図である。ＬＢＰとしてのプリンタ１５００は、文字パターンデータ等を入力して記録紙に印刷することができる。プリンタ１５００は、供給されるプリンタ制御コマンド等を基に記録媒体である記録紙上に像を形成するＬＢＰ本体７４０に、プリンタ制御ユニット１０００と、操作部１５０１と、レーザドライバ７０２と、半導体レーザ７０３と、回転多面鏡７０５と、静電ドラム７０６と、現像ユニット７０７と、用紙カセット７０８と、給紙ローラ７０９と、搬送ローラ７１０と、外部メモリ７１１と、定着部７１２と、切り替えくさび７１３と、フェイスアップ排出部７１４と、フェイスダウン排出部７１５と、排紙トレイ７１６とを備えている。
【００６６】
上記各部の構成を動作と共に詳述すると、プリンタ制御ユニット１０００は、ＬＢＰ本体７４０全体の制御及び文字パターン情報等を解析するものであり、主にプリンタ制御コマンドをビデオ信号に変換してレーザドライバ７０２に出力する。プリンタ制御ユニット１０００には、フォントデータやページ記述言語のエミュレーションプログラム等を記憶する外部メモリ７１１を接続することもできる。操作部１５０１には、上述した如く操作のためのスイッチ及び表示手段（例えばＬＥＤ表示器）等が配設されている。
【００６７】
レーザドライバ７０２は、半導体レーザ７０３を駆動するための回路であり、入力されたビデオ信号に応じて半導体レーザ７０３から発射されるレーザ光７０４のオン・オフ切り替えを行う。半導体レーザ７０３は、回転多面鏡７０５へ向けてレーザ光を発射する。回転多面鏡７０５は、レーザ光７０４を左右方向に振り、静電ドラム７０６上を走査させる。静電ドラム７０６は、レーザ光７０４の走査により文字パターンの静電潜像がドラム表面に形成される。
【００６８】
現像ユニット７０７は、静電ドラム７０６の周囲に配設されており、静電潜像を現像する。現像後は、記録紙に転写される。用紙カセット７０８は、記録紙として例えばカットシート記録紙を収納する。給紙ローラ７０９及び搬送ローラ７１０は、給紙カセット７０８内のカットシート記録紙をＬＢＰ本体７４０内に取り込み、静電ドラム７０６に供給する。この場合、用紙カセット７０８の蓋部上面に設けられた手挿し給紙トレイ（図示略）からカットシート記録紙を供給することもできる。
【００６９】
定着部７１２は、カットシート記録紙に転写されたトナー像を加熱してカットシート記録紙上に定着させる。画像が形成されたカットシート記録紙は、切り替えくさび７１３を上向きに設定した場合には、フェイスアップ排出部７１４から記録面を上にした状態で排紙トレイ７１６に排出され、また、切り替えくさび７１３を下向きに設定した場合には、フェイスダウン排出部７１５から記録面を下にした状態で排出される。
【００７０】
＜Ｎアップ逆順印刷の仕方＞
複数のページを１ページに縮小して配置する印刷、即ち、Ｎアップ印刷においては、アプリケーションで扱われる通常のページと、実際に出力される複数の縮小されたページを含むページとが存在する。これらを区別するために、前者を論理ページ、後者を物理ページと呼ぶことにする。
【００７１】
図４（ａ）〜（ｃ）はＮアップ逆順印刷の出力結果の例を示す図であり、（ａ）は正順の出力結果、（ｂ）は従来の出力結果、（ｃ）は本発明の第１の実施の形態に係る出力結果である。図４ではアプリケーションから例えば６ページ分の印刷を行う際、４ページ分を１ページに出力するプリンタの４アップ印刷機能を利用した場合の出力結果を示している。正順印刷では、プリンタが受け取ったアプリケーションから送られた各論理ページのデータは、先頭から４ページずつ１物理ページに配置される。配置の順は、図示例では左上から右へ、そして上から下へ配置していく場合を示している。
【００７２】
図４（ｂ）に示す従来の出力結果では、アプリケーションの逆順印刷と、プリンタのＮアップ印刷機能の組み合わせで出力した場合を示している。この場合、プリンタは正順の場合と同様、受け取った論理ページのデータを先頭から４ページ分を順に物理ページ上に配置していくため、各物理ページ上に配置される論理用紙の組み合わせが正順の時と異なっている。更に、配置順も正順の場合とは逆になっている。
【００７３】
これに対し、図４（ｃ）に示す本発明の第１の実施の形態に係る出力結果では、論理ページがＮアップのＮ（図４の例の場合は４）で割り切れない場合には、最初の物理ページ上に論理空白ページを挿入することにより、物理ページ上に配置される論理ページの組み合わせが正順の場合と同じになるようにしている。また、配置順も、各物理ページに配置するべき論理ページをページ番号の若い順に配置することにより、正順の場合と同様の配置順になるようにしている。この結果、フェイスアップ排紙で出力する出力装置の場合にも、正順時に得られる出力結果と同様の出力結果が得られることになる。
【００７４】
＜印刷制御手順＞
次に、上記の如く構成してなる第１の実施の形態に係るプリンタ制御システムにおける両面印刷時の部単位印刷処理について、図５、図６、図８のフローチャートを中心に詳細に説明する。図５は上述したスプールファイルマネージャ３０４により実行される制御手順、図６は空白論理ページを含む物理ページの印刷処理手順、図８は空白論理ページを含まない物理ページの印刷処理手順である。尚、逆順印刷時には、デスプーラ３０５が各論理ページのデータを縮小してＮアップ印刷を行い、プリンタのＮアップ機能は使用しないものとする。
【００７５】
アプリケーション２０１から印刷が開始されると、スプーラ３０２はプリンタドライバ２０３から印刷の設定を取得し、スプールファイル３０３に記憶する。スプーラ３０２は、スプールファイルマネージャ３０４が起動していない場合にはＲＡＭ２にスプールファイルマネージャをロードし、印刷が開始されたことをスプールファイルマネージャ３０４に通知する。スプールファイルマネージャ３０４は、起動して以降、デスプーラ３０５に対して印刷の指示を出す必要がある時点までに、ＲＡＭ２上にデスプーラをロードしておく。
【００７６】
スプールファイルマネージャ３０４は、スプールファイル３０３に記録されている印刷の設定を読み取り、Ｎアップ印刷で且つ逆順印刷を利用する印刷であると判定すると、スプーラ３０２からの全ページのスプール完了通知を待ち、スプール完了通知を受けた時点で本処理を開始する。
【００７７】
図５において、ステップＳ５０１では、スプールファイルマネージャ３０４はアプリケーションから印刷が実行された総論理ページ数をＬにセットし、各物理ページに配置する論理ページ数（例えば４アップ印刷の場合なら４）をＮにセットする。そして、ここで求められたＬとＮを元に、印刷に必要な物理ページ数Ｐを下記の計算により求める。
【００７８】
Ｐ＝（Ｌ＋Ｎ−１）／Ｎ
この場合、剰余は切り捨てるものとする（Ｐ：自然数）。また、最初に印刷する物理ページ（逆順印刷でなければ最終物理ページ）に含まれる論理ページ数Ｍを下記の計算により求める。
【００７９】
Ｍ＝Ｌ％Ｎ
【００８０】
ステップＳ５０２では、スプールファイルマネージャ３０４は、論理ページ数Ｍが０であるか否かを判定する。Ｍが０の場合には、全ての物理ページにＮ個の論理ページが印刷されることとなる。この場合にはステップＳ５０５へ移行する。他方、Ｍが０でない場合には、最初に印刷する物理ページにはＭ（Ｍ＜Ｎ）個の論理ページが印刷され、それ以降の全ての物理ページにはＮ個の論理ページが印刷されることとなる。この場合にはステップＳ５０３へ移行する。
【００８１】
ステップＳ５０３では、スプールファイルマネージャ３０４は、Ｍ（Ｍ＜Ｎ）個の論理ページを含む１物理ページの印刷処理を行う。この物理ページは、Ｎ−Ｍ個の空白論理ページを含むことになる。該ステップＳ５０３における詳細処理を図６に示す。
【００８２】
図６において、ステップＳ６０１では、スプールファイルマネージャ３０４は、最初に印刷する物理ページに配置する最初の論理ページの番号（アプリケーションから印刷された何ページ目に当たるか）を意味するＣの値を下記の計算により求める。ここで、Ｎ及びＰは上記図５におけるものと同一である。
【００８３】
Ｃ＝Ｎ（Ｐ−１）＋１
【００８４】
また、物理ページ上に配置する何番目の論理ページであるかを示すＪに１をセットする。
【００８５】
ステップＳ６０２では、スプールファイルマネージャ３０４は、Ｎ個の論理ページのページ番号からなる配列Ｘ〔〕のＪ番目にＣの値をセットする。配列Ｘ〔〕は、スプールファイルマネージャ３０４がデスプーラ３０５にＮアップ印刷を行うように指示する際に、物理ページ上に配置するべきＮ個の論理ページ番号を渡すための配列である。ステップＳ６０３では、スプールファイルマネージャ３０４は、次に配置する論理ページの番号を求めるためにＣに１を加え、最初の物理ページに配置する残りの論理ページ数を求めるためにＭを１減らす。また、配列の次の値を指すように、Ｊに１を加える。
【００８６】
ステップＳ６０４では、スプールファイルマネージャ３０４は、残り論理ページ数Ｍを調べ、Ｍが０より大きくなければ最初の物理ページに配置するべき論理ページが終了したと判定し、ステップＳ６０５へ移行する。Ｍが０より大きい場合には、ステップＳ６０２へ戻り、最初の物理ページに配置するべき論理ページの番号を配列Ｘ〔〕に順次セットしていく。配列Ｘ〔〕に必要な論理ページ番号をセットし終えると、ステップＳ６０５へ移行し、スプールファイルマネージャ３０４は、論理ページ数のセットされていない配列の残りの部分に全て０をセットする（ステップＳ６０５、Ｓ６０６、Ｓ６０７）。
【００８７】
ステップＳ６０７でＪの値がＮより大きい、即ち、配列Ｘ〔〕のＮ個の論理ページ番号全てがセットされたと判定された場合には、ステップＳ６０８へ移行し、スプールファイルマネージャ３０４は、デスプーラ３０５に配列Ｘ〔〕で表現されるＮアップ印刷を行うよう指示し、ステップＳ６０１〜Ｓ６０８からなるステップＳ５０３の処理を終了する。
【００８８】
ここで、図７はデスプーラ３０５が配列Ｘ〔〕でＮアップ印刷を行う場合、各論理ページを物理ページ上にどのように配置するかを示している。Ｎアップ印刷では、通常配置順に複数のパターンを用意しているが、ここでは簡単のため、左上から右方向へ、そして上から下へと配置する場合を示す。図示の如く、配列Ｘ〔〕のＮ個の論理ページを左上から右方向に順に配置していき、そして上から下へと配置し、右下に配列のＮ番目の論理ページを配置する。
【００８９】
その他の配置順でＮアップ印刷を行うには、ステップＳ６０２及びステップＳ６０５で配列に論理ページ番号をセットする際、配置順のパターンによって配列Ｘ〔〕にセットする論理ページ番号の位置を変更するか、デスプーラ３０５で受け取った配列Ｘ〔〕を読み出す際に、配置順のパターンによって読み出す順番を変更することにより可能である。
【００９０】
デスプーラ３０５では、スプールファイルマネージャ３０４により配置した論理ページ番号を元に、その論理ページに含まれる描画データをスプールファイル３０３から読み出し、物理ページ上の配置すべき場所に描画データを縮小しながら、グラフィックエンジン２０２にＧＤＩ関数を出力する。論理ページ番号が０の場合には、その位置は空白論理ページを意味するものと解釈し、物理ページ上のその部分には何も描画しない。こうして配列Ｘ〔〕に含まれるＮ個の論理ページの描画処理を全て行い、デスプーラ３０５における１物理ページの作成処理を完了する。
【００９１】
上記のようにしてステップＳ５０３で１物理ページを作成し終わったならば、ステップＳ５０４で、スプールファイルマネージャ３０４は、残りの物理ページ数を示すＰを１減らし、ステップＳ５０５へ移行する。ここまでで、最初の論理ページに空白論理ページを含む場合の処理を終了し、残りの物理ページは全てＮ個の論理ページを含む印刷となる。ステップＳ５０５では、スプールファイルマネージャ３０４はデスプーラ３０５に正順で印刷した場合にＰ番目に印刷される物理ページの印刷処理を行う。この物理ページには、Ｎ個の論理ページが含まれることになる。該ステップＳ５０５の詳細を図８に示す。
【００９２】
図８において、ステップＳ８０１では、スプールファイルマネージャ３０４は、上記ステップＳ６０１と同様、物理ページに配置する最初の論理ページの番号（アプリケーションから印刷された何ページ目に当たるか）を意味するＣの値を下記の計算によって求める。ここで、Ｎ及びＰは上記図５におけるものと同一である。
【００９３】
Ｃ＝Ｎ（Ｐ−１）＋１
【００９４】
また、物理ページ上に配置する何番目の論理ページであるかを示すＪに１をセットする。
【００９５】
ステップＳ８０２では、スプールファイルマネージャ３０４は、上記ステップＳ６０２と同様、配列Ｘ〔〕のＪ番目にＣの値をセットする。ステップＳ８０３では、スプールファイルマネージャ３０４は、上記ステップＳ６０３と同様、Ｃに１を加え、Ｊに１を加える。ステップＳ８０４で、Ｊの値がＮより大きい、即ち、配列Ｘ〔〕のＮ個の論理ページ番号全てがセットされたと判定された場合には、ステップＳ８０５へ移行し、スプールファイルマネージャ３０４はデスプーラ３０５に配列Ｘ〔〕で表現されるＮアップ印刷を行うよう指示し、ステップＳ８０１〜８０５からなるステップＳ５０５の処理を終了する。尚、ステップＳ８０５におけるＮアップ印刷の方法は上記ステップＳ６０８と同様である。
【００９６】
上記のようにしてステップＳ５０５で１物理ページを作成し終わったならば、再度図５において、ステップＳ５０６で、残りの物理ページ数を示すＰを１減らす。ステップＳ５０７では、残り物理ページ数Ｐを調べ、Ｐが０より大きくない場合には、全ての物理ページを作成し終えたとして処理を終了する。Ｐが０より大きい場合には、ステップＳ５０５へ戻り、次の物理ページの作成を行う。
【００９７】
デスプーラ３０５が、全ての物理ページの作成を終了すると、スプールファイルマネージャ３０４はスプールファイルを削除し、必要に応じてデスプーラ３０５をＲＡＭ２からアンロードし、更に必要に応じてスプールファイルマネージャ３０４自身を終了する。
【００９８】
上記のようにして、Ｎアップ逆順印刷を行った場合、プリンタ１５００におけるＮアップ正順印刷と同様の論理ページの組み合わせ、同様の配置順でＮアップ逆順印刷を行うことができる。
【００９９】
上述したように、第１の実施の形態によれば、プリンタ制御システムは、縮小配置印刷で且つ逆順印刷を行う場合に物理ページ上に配置する論理ページを特定し、論理ページの数が物理ページ上に配置可能な上限に達しない場合は残りの部分に空白論理ページを挿入するスプールファイルマネージャ３０４と、空白論理ページを含む複数の論理ページの描画データを縮小して１ページ分の描画データを生成するデスプーラ３０５と、空白論理ページを含む複数の論理ページを物理ページ上に配置して印刷するように制御するプリンタドライバ２０３とを有するため、フェイスアップ排紙を行うプリンタにおいても、正順印刷と同様のページの組み合わせで且つ正順印刷と同様のページ配置順でＮアップ出力結果を得ることが可能となる。
【０１００】
〔２〕第２の実施の形態
第２の実施の形態に係るプリンタ制御システムは、上記第１の実施の形態と同様に、ＣＰＵ１、ＲＡＭ２、ＲＯＭ３、キーボードコントローラ（ＫＢＣ）５、ＣＲＴコントローラ（ＣＲＴＣ）６、ディスクコントローラ（ＤＫＣ）７、プリンタコントローラ（ＰＲＴＣ）８、キーボード（ＫＢ）９、ＣＲＴディスプレイ（ＣＲＴ）１０、外部メモリ１１を備えたホストコンピュータ３０００と、ＣＰＵ１２、ＲＡＭ１９、ＲＯＭ１３、入力部１８、印刷部インタフェース（Ｉ／Ｆ）１６、ディスクコントローラ（ＤＫＣ）２０、印刷部１７、操作部１５０１、外部メモリ１４を備えたプリンタ１５００とから構成されている（上記図１参照）。
【０１０１】
また、第２の実施の形態に係るホストコンピュータ３０００における印刷データ生成を行う制御構成（上記図２参照）、上記図２を拡張した印刷データ生成を行う制御構成（上記図３参照）、プリンタ１５００の内部構成（上記図１１参照）も、上記第１の実施の形態と同様であるため説明は省略する。
【０１０２】
第２の実施の形態は、Ｎアップ正順印刷においても、スプールファイルマネージャ３０４がデスプーラ３０５に対して上述した配列Ｘ〔〕で各物理ページに配置する論理ページを指定することで、プリンタ１５００のＮアップ印刷機能を使用せず、正順及び逆順のＮアップ印刷を行うようにしたものである。
【０１０３】
次に、上記の如く構成してなる第２の実施の形態に係るプリンタ制御システムにおけるＮアップ正順印刷の印刷処理手順について、図９及び図１０のフローチャートを中心に詳細に説明する。図９及び図１０はＮアップ正順印刷を行う際のスプールファイルマネージャ３０４における処理を示す制御手順である。
【０１０４】
図９及び図１０において、ステップＳ９０１では、スプールファイルマネージャ３０４は、アプリケーションから印刷が実行された総論理ページ数をＬにセットし、各物理ページに配置する論理ページ数をＮにセットする。そして、ここで求められたＬとＮを元に、印刷に必要な物理ページ数Ｐを下記の計算により求める。
【０１０５】
Ｐ＝（Ｌ＋Ｎ−１）／Ｎ
【０１０６】
また、最後に印刷する物理ページに含まれる論理ページ数Ｍを下記の計算により求める。
【０１０７】
Ｍ＝Ｌ％Ｎ
【０１０８】
また、現在処理中の物理ページ番号を示すＫに１をセットする。
【０１０９】
ステップＳ９０２では、スプールファイルマネージャ３０４は、ＫがＰより小さいか否かを判定し、ＫがＰより小さいと判定された場合には、ステップＳ９０３で、Ｋ番目の物理ページの印刷処理を行う。該ステップＳ９０３での処理は、上記図８に示した処理でＰをＫに置き換えた処理と同一となる。ステップＳ９０２でＫがＰより小さくないと判定された場合には、Ｋ番目の物理ページは最終の物理ページであると判定し、ステップＳ９０５へ移行する。
【０１１０】
ステップＳ９０５では、スプールファイルマネージャ３０４はＭが０であるか否かを判定し、Ｍが０と判定された場合には、最終物理ページはＮ個の論理ページを含むため、ステップＳ９０７でステップＳ９０３と同様の処理を行う。Ｍが０でないと判定された場合には、ステップＳ９０６へ移行し、スプールファイルマネージャ３０４はデスプーラ３０５に対して空白論理ページを含む物理ページの印刷指示を行う。該ステップＳ９０６における処理は、上記図６に示した処理でＰをＫに置き換えた処理と同一となる。
【０１１１】
上記のようにして、Ｎアップ正順印刷を行った場合、上記第１の実施の形態で説明したＮアップ逆順印刷の印刷結果と、各物理ページに含まれる論理ページの組み合わせ、及び論理ページの配置順が一致する結果となる。
【０１１２】
上述したように、第２の実施の形態によれば、プリンタ制御システムは、Ｎアップ正順印刷に際してデスプーラ３０５に対し、物理ページ上に配置するべきＮ個の論理ページ番号を渡すための配列Ｘ〔〕に基づき各物理ページに配置する論理ページを指定するスプールファイルマネージャ３０４と、空白論理ページを含む複数の論理ページの描画データを縮小して１ページ分の描画データを生成するデスプーラ３０５と、空白論理ページを含む複数の論理ページを物理ページ上に配置して印刷するように制御するプリンタドライバ２０３とを有するため、上記第１の実施の形態と同様に、フェイスアップ排紙を行うプリンタにおいても、正順印刷と同様のページの組み合わせで且つ正順印刷と同様のページ配置順でＮアップ出力結果を得ることが可能となる。
【０１１３】
〔３〕第３の実施の形態
第３の実施の形態に係るプリンタ制御システムは、上記第１の実施の形態と同様に、ＣＰＵ１、ＲＡＭ２、ＲＯＭ３、キーボードコントローラ（ＫＢＣ）５、ＣＲＴコントローラ（ＣＲＴＣ）６、ディスクコントローラ（ＤＫＣ）７、プリンタコントローラ（ＰＲＴＣ）８、キーボード（ＫＢ）９、ＣＲＴディスプレイ（ＣＲＴ）１０、外部メモリ１１を備えたホストコンピュータ３０００と、ＣＰＵ１２、ＲＡＭ１９、ＲＯＭ１３、入力部１８、印刷部インタフェース（Ｉ／Ｆ）１６、ディスクコントローラ（ＤＫＣ）２０、印刷部１７、操作部１５０１、外部メモリ１４を備えたプリンタ１５００とから構成されている（上記図１参照）。
【０１１４】
また、第３の実施の形態に係るホストコンピュータ３０００における印刷データ生成を行う制御構成（上記図２参照）、上記図２を拡張した印刷データ生成を行う制御構成（上記図３参照）、プリンタ１５００の内部構成（上記図１１参照）も、上記第１の実施の形態と同様であるため説明は省略する。
【０１１５】
第３の実施の形態は、Ｎアップ逆順印刷においても、プリンタのＮアップ印刷機能を利用して、正順と逆順で同様の論理ページの組み合わせ、同様の配置順にＮアップ印刷を行う場合の例である。
【０１１６】
上記第１の実施の形態では、上記図６のステップＳ６０８の処理で、デスプーラ３０５は物理ページ上に含まれるＮ個の論理ページの描画データをそれぞれ縮小し、配置すべき位置に印刷を行った。これに対し、第３の実施の形態では、その代わりに、プリンタ１５００に対してＮアップ印刷を行うよう設定し、Ｎ個の論理ページの描画データを縮小せずに順次配置順に印刷を行う。空白論理ページに対しては、描画データのないページ（改ページのみの描画データ）を印刷する。
【０１１７】
上記図８のステップＳ８０５の処理でも、デスプーラ３０５はＮ個の論理ページの描画データを縮小せずに順次配置順に印刷を行う。これにより、プリンタ１５００は受け取ったＮページ分のデータ毎に１物理ページを生成し、各物理ページをＮアップ印刷する。
【０１１８】
上記のようにして、Ｎアップ逆順印刷を行った場合、プリンタ１５００のＮアップ印刷機能を利用したＮアップ正順印刷と同様の論理ページの組み合わせ、同様の配置順でＮアップ逆順印刷を行うことができる。
【０１１９】
上述したように、第３の実施の形態によれば、プリンタ制御システムは、縮小配置印刷で且つ逆順印刷を行う場合に物理ページ上に配置する論理ページを特定し、論理ページの数が物理ページ上に配置可能な上限に達しない場合は残りの部分に空白論理ページを挿入するスプールファイルマネージャ３０４と、Ｎ個の論理ページの描画データを縮小せずに順次配置順に印刷を行うように指示するデスプーラ３０５と、空白論理ページを含む複数の論理ページを物理ページ上に配置して印刷するように制御するプリンタドライバ２０３とを有するため、上記第１の実施の形態と同様に、フェイスアップ排紙を行うプリンタにおいても、正順印刷と同様のページの組み合わせで且つ正順印刷と同様のページ配置順でＮアップ出力結果を得ることが可能となる。
【０１２０】
尚、本発明は、複数の機器（例えばホストコンピュータ、インタフェース機器、リーダ、プリンタ等）から構成されるシステムに適用しても、１つの機器からなる装置（例えば複写機、プリンタ、ファクシミリ装置等）に適用してもよい。また、本発明の目的は、前述した実施形態の機能を実現するソフトウエアのプログラムコードを記憶した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。
【０１２１】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１２２】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【０１２３】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１２４】
更に、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１２５】
【発明の効果】
以上説明したように、請求項１の発明によれば、複数ページを１ページに縮小配置して印刷させる縮小配置印刷機能を有し、印刷装置に印刷データを出力する情報処理装置であって、前記縮小配置印刷で且つ逆順印刷を行う場合に、入力される論理ページの合計ページ数と、各々の物理ページに配置される論理ページ数とに基づいて、逆順印刷の最初の物理ページ上に配置する論理ページ数を特定する特定手段と、前記特定手段により特定される逆順印刷の最初の物理ページ上に配置する論理ページ数が物理ページ上に配置可能な上限に達しない場合は、逆順印刷の最初のページに対して、前記特定される論理ページ数の論理ページと、空白論理ページを配置する配置手段と、前記配置手段による配置に基づき、該空白論理ページを含む複数の論理ページが配置されている逆順の物理ページの印刷データを生成する印刷データ生成手段とを有するため、フェイスアップ排紙を行う印刷装置においても、正順印刷と同様のページの組み合わせで且つ正順印刷と同様のページ配置順で、縮小配置印刷（Ｎアップ印刷）による出力結果を得ることが可能となる。
【０１２６】
請求項２の発明によれば、複数ページを１ページに縮小配置して印刷させる縮小配置印刷機能を有し、印刷装置に印刷データを出力する情報処理装置における印刷制御方法であって、前記縮小配置印刷で且つ逆順印刷を行う場合に、入力される論理ページの合計ページ数と、各々の物理ページに配置される論理ページ数とに基づいて、逆順印刷の最初の物理ページ上に配置する論理ページ数を特定する特定ステップと、前記特定ステップで特定される逆順印刷の最初の物理ページ上に配置する論理ページ数が物理ページ上に配置可能な上限に達しない場合は、逆順印刷の最初のページに対して、前記特定される論理ページ数の論理ページと、空白論理ページを配置する配置ステップと、前記配置ステップによる配置に基づき、該空白論理ページを含む複数の論理ページが配置されている逆順の物理ページの印刷データを生成する印刷データ生成ステップと有するため、フェイスアップ排紙を行う印刷装置においても、正順印刷と同様のページの組み合わせで且つ正順印刷と同様のページ配置順で、縮小配置印刷（Ｎアップ印刷）による出力結果を得ることが可能となる。
【０１２７】
請求項３の発明によれば、印刷制御方法は、空白論理ページを含む複数の論理ページの描画データを縮小して１ページ分の描画データを生成する縮小描画ステップを有し、前記印刷データ生成ステップでは、前記１ページ分の描画データを１物理ページ上に配置したプリンタ制御言語の印刷データを生成するため、請求項１の発明と同様に、フェイスアップ排紙を行う印刷装置においても、正順印刷と同様のページの組み合わせで且つ正順印刷と同様のページ配置順で、縮小配置印刷（Ｎアップ印刷）による出力結果を得ることが可能となる。
【０１２８】
請求項４の発明によれば、印刷制御方法の前記論理ページとは、アプリケーションで扱われる通常のページであり、前記物理ページとは、実際に印刷される複数の縮小されたページを含むページであるため、上記のように空白論理ページを含む複数の論理ページを物理ページ上に配置して印刷するように制御することで、フェイスアップ排紙を行う印刷装置においても、正順印刷と同様のページの組み合わせで且つ正順印刷と同様のページ配置順で、縮小配置印刷（Ｎアップ印刷）による出力結果を得ることが可能となる。
【０１２９】
請求項５の発明によれば、印刷制御方法の前記逆順印刷とは、物理ページ上に論理ページを若いページ番号順に配置すると共に該物理ページを最終ページから逆に配置して印刷するものであるため、縮小配置印刷（Ｎアップ印刷）で且つ逆順印刷を行う場合、正順印刷と同様のページの組み合わせで且つ正順印刷と同様のページ配置順で、縮小配置印刷（Ｎアップ印刷）による出力結果を得ることが可能となる。
【０１３０】
請求項６の発明によれば、印刷制御方法は、印刷データとは異なる中間コード形式でデータを一時保存する保存ステップを更に有し、前記印刷データ生成ステップは、前記中間コード形式のデータが縮小描画された後で、前記印刷装置に出力すべき印刷データを生成するため、上位装置が中間コード形式でデータを一時保存した後に印刷データを作成して印刷装置へ送信するシステムにおいても、正順印刷と同様のページの組み合わせで且つ正順印刷と同様のページ配置順で、縮小配置印刷（Ｎアップ印刷）による出力結果を得ることが可能となる。
【０１３１】
請求項７乃至１１に係る発明は、上記請求項２乃至６に係る方法発明を情報処理装置で実行させるための印刷制御プログラムを記憶した記憶媒体であり、上記方法発明と同様の効果を得ることが可能となる。
【０１３２】
請求項１２の発明によれば、複数の論理ページを縮小配置している少なくとも１ページの物理ページを含む印刷データを出力する印刷制御装置であって、任意のアプリケーションが生成した描画データに基づいて生成される共通の印刷情報を、ＯＳに依存した描画手段から受け取るディスパッチャ手段と、前記ディスパッチャ手段が受け取った印刷情報を中間データに変換し、該中間データをスプール手段に格納しておく中間データ変換手段と、逆順印刷と前記論理ページの縮小配置とを指定する指定手段と、前記指定手段により逆順印刷と縮小配置が指定されている場合に、前記物理ページ上に配置する論理ページを特定する特定手段と、論理ページの数が物理ページ上に配置可能な上限に達しない場合は残りの部分に空白論理ページを挿入する挿入手段と、前記スプール手段に格納されている中間データから、該空白論理ページを含む複数の論理ページを物理ページ上に配置した中間データを生成し、前記描画データ形式で前記描画手段に出力する加工手段と、前記ディスパッチャ手段が受け取った印刷情報を制御コマンドからなる印刷データに変換し、該印刷データを外部装置に出力する印刷データ生成手段とを有するため、フェイスアップ排紙を行う印刷装置におけるプリンタドライバを改変せずにも、正順印刷と同様のページの組み合わせで且つ正順印刷と同様のページ配置順で、縮小配置印刷（Ｎアップ印刷）による出力結果を得ることが可能となる。
【０１３３】
請求項１３の発明によれば、複数の論理ページを縮小配置している少なくとも１ページの物理ページを含む印刷データを出力する印刷制御方法であって、任意のアプリケーションが生成した描画データに基づいて生成される共通の印刷情報を、ＯＳに依存した描画手段から受け取る受け取りステップと、受け取った前記印刷情報を中間データに変換し、該中間データをスプール手段に格納しておく中間データ変換ステップと、逆順印刷と前記論理ページの縮小配置とを指定する指定手段と、前記指定手段により逆順印刷と縮小配置が指定されている場合に、前記物理ページ上に配置する論理ページを特定させる特定ステップと、論理ページの数が物理ページ上に配置可能な上限に達しない場合は残りの部分に空白論理ページを挿入させる挿入ステップと、前記スプール手段に格納されている中間データから、該空白論理ページを含む複数の論理ページを物理ページ上に配置した中間データを生成し、前記描画データ形式で前記描画手段に出力させる加工ステップと、前記受け取りステップで受け取った印刷情報を制御コマンドからなる印刷データに変換させ、該印刷データを外部装置に出力させる印刷データ生成ステップとを有するので、フェイスアップ排紙を行う印刷装置におけるプリンタドライバを改変せずにも、正順印刷と同様のページの組み合わせで且つ正順印刷と同様のページ配置順で、縮小配置印刷（Ｎアップ印刷）による出力結果を得ることが可能となる。
【０１３４】
請求項１４の発明によれば、前記描画データは、ＧＤＩ（Ｇｒａｐｈｉｃａｌ  Ｄｅｖｉｃｅ  Ｉｎｔｅｒｆａｃｅ）であるため、ＧＤＩ関数を出力するようなアプリケーションを用いているシステムにも適用できる。
【０１３５】
請求項１５の発明によれば、前記印刷情報は、ＤＤＩ（Ｄｅｖｉｃｅ  Ｄｒｉｖｅｒ  Ｉｎｔｅｒｆａｃｅ）であるため、ＤＤＩ関数を出力するようなグラフィックエンジンを用いたシステムにも適用できる。
【０１３６】
請求項１６の発明によれば、前記印刷データは、ページ記述言語であるため、ページ記述言語として印刷データを生成するシステムにも本発明を適用できる。
【０１３７】
請求項１７乃至２０に係る発明は、上記請求項１３乃至１６に係る方法発明を情報処理装置で実行させるための印刷制御プログラムを記憶した記憶媒体であり、上記方法発明と同様の効果を得ることが可能となる。
【図面の簡単な説明】
【図１】本発明の第１乃至第３の実施の形態に係るプリンタ制御システムの全体構成を示すブロック図である。
【図２】本発明の第１乃至第３の実施の形態に係るホストコンピュータにおける典型的な印刷処理の構成を示すブロック図である。
【図３】本発明の第１乃至第３の実施の形態に係る印刷データ生成方法を説明するためのブロック図である。
【図４】本発明の第１の実施の形態に係るＮアップ逆順印刷の出力結果の例を示す説明図であり、（ａ）は正順の出力結果を示す説明図、（ｂ）は従来の出力結果を示す説明図、（ｃ）は本発明の第１の実施の形態に係る出力結果を示す説明図である。
【図５】本発明の第１の実施の形態に係るＮアップ逆順印刷の印刷処理手順を示すフローチャートである。
【図６】本発明の第１の実施の形態に係る空白論理ページを含む物理ページの印刷処理手順を示すフローチャートである。
【図７】本発明の第１の実施の形態に係る配列Ｘ〔〕で示された論理ページの配置方法を示す説明図である。
【図８】本発明の第１の実施の形態に係る空白論理ページを含まない物理ページの印刷処理手順を示すフローチャートである。
【図９】本発明の第２の実施の形態に係るＮアップ正順印刷の印刷処理手順を示すフローチャートである。
【図１０】本発明の第２の実施の形態に係るＮアップ正順印刷の印刷処理手順を示すフローチャートである。
【図１１】本発明の第１乃至第３の実施の形態に係るプリンタの内部構成を示す断面図である。
【符号の説明】
１、１２  ＣＰＵ
２、１９  ＲＡＭ
３、１３  ＲＯＭ
７、２０  ディスクコントローラ
８  プリンタコントローラ
１１、１４  外部メモリ
１７  印刷部
２０１  アプリケーション
２０２  グラフィックエンジン
２０３  プリンタドライバ
２０４  システムスプーラ
３０１  ディスパッチャ
３０２  スプーラ
３０３  スプールファイル
３０４  スプールファイルマネージャ
３０５  デスプーラ
１５００  プリンタ
３０００  ホストコンピュータ
【図１】
0003576819.tif 000002
【図２】
0003576819.tif 000003
【図３】
0003576819.tif 000004
【図４】
0003576819.tif 000005
【図５】
0003576819.tif 000006
【図６】
0003576819.tif 000007
【図７】
0003576819.tif 000008
【図８】
0003576819.tif 000009
【図９】
0003576819.tif 000010
【図１０】
0003576819.tif 000011
【図１１】
0003576819.tif 000012