(57)【要約】【目的】  印刷制御装置（コンピュータ）側で、集約印刷のような１枚の用紙に対する複数の印刷データの印刷が可能なプリンタドライバや印刷機器を特定しなくても、１枚の用紙に対して複数の印刷データの印刷を行えるようにする。【構成】  コンピュータのプリンタドライバは、アプリケーションからの印刷データを印刷中間データとしてハードディスクに蓄積する。印刷中間データ管理モジュールは、その印刷中間データをハードディスクから取得し、その取得した印刷中間データの構造を解析して総ページ数（印刷ページ数）Ｎを取得する。そして、その総ページ数Ｎが複数ページであれば、印刷設定モジュールが、取得した印刷中間データの印刷コマンド部に集約印刷コマンドを付加し、その印刷中間データをプリンタドライバに送る。【選択図】        図１
2005222267.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションからの印刷データを中間データに変換し、該中間データに印刷に関するコマンドを付加して印刷を制御する印刷制御装置であって、
前記中間データの構造を解析して印刷ページ数を取得する印刷ページ数取得手段と、
該手段によって取得した印刷ページ数が複数であった場合に、１枚の用紙に対して複数の印刷データの印刷を指示する印刷コマンドを前記中間データに付加する印刷コマンド付加手段とを設けたことを特徴とする印刷制御装置。
【請求項２】
請求項１記載の印刷制御装置において、
前記印刷コマンド付加手段は、前記印刷ページ数取得手段によって取得した印刷ページ数が複数であった場合に、１枚の用紙に対して複数の印刷データの印刷を行ってよいかどうかを操作者に対して問い合わせる手段を有し、該手段による問い合わせに対して１枚の用紙に対して複数の印刷データの印刷を行ってよいとの指示がなされた場合に、該印刷を指示する印刷コマンドを前記中間データに付加することを特徴とする印刷制御装置。
【請求項３】
請求項１又は２記載の印刷制御装置において、
前記印刷ページ数取得手段によって取得した印刷ページ数が複数でなく、且つ前記中間データに前記印刷コマンドが付加されていた場合に、該印刷コマンドを該中間データから削除する印刷コマンド削除手段とを設けたことを特徴とする印刷制御装置。
【請求項４】
請求項３記載の印刷制御装置において、
前記印刷コマンド削除手段は、前記印刷ページ数取得手段によって取得した印刷ページ数が複数でなく、且つ前記中間データに前記印刷コマンドが付加されていた場合に、該印刷コマンドを該中間データから削除してよいかどうかを操作者に対して問い合わせる手段を有し、該手段による問い合わせに対して前記印刷コマンドを前記中間データから削除してよいとの指示がなされた場合に、該印刷コマンドを該中間データから削除することを特徴とする印刷制御装置。
【請求項５】
アプリケーションからの印刷データを中間データに変換し、該中間データに印刷に関するコマンドを付加して印刷を行わせる印刷制御方法であって、
前記中間データの構造を解析して印刷ページ数を取得し、その印刷ページ数が複数であった場合に、１枚の用紙に対して複数の印刷データの印刷を指示する印刷コマンドを前記中間データに付加することを特徴とする印刷制御方法。
【請求項６】
アプリケーションからの印刷データを中間データに変換し、該中間データに印刷に関するコマンドを付加して印刷を制御する印刷制御方法であって、
前記中間データの構造を解析して印刷ページ数を取得し、その印刷ページ数が複数であった場合に、１枚の用紙に対して複数の印刷データの印刷を行ってよいかどうかを操作者に対して問い合わせ、その問い合わせに対して１枚の用紙に対して複数の印刷データの印刷を行ってよいとの指示がなされた場合に、該印刷を指示する印刷コマンドを前記中間データに付加することを特徴とする印刷制御方法。
【請求項７】
請求項５又は６記載の印刷制御方法において、
前記取得した印刷ページ数が複数でなく、且つ前記中間データに前記印刷コマンドが付加されていた場合に、該印刷コマンドを該中間データから削除することを特徴とする印刷制御方法。
【請求項８】
請求項５又は６記載の印刷制御方法において、
前記取得した印刷ページ数が複数でなく、且つ前記中間データに前記印刷コマンドが付加されていた場合に、該印刷コマンドを該中間データから削除してよいかどうかを操作者に対して問い合わせ、その問い合わせに対して前記印刷コマンドを前記中間データから削除してよいとの指示がなされた場合に、該印刷コマンドを該中間データから削除することを特徴とする印刷制御方法。
【請求項９】
アプリケーションからの印刷データを中間データに変換し、該中間データに印刷に関するコマンドを付加して印刷を制御するコンピュータに、
前記中間データの構造を解析して印刷ページ数を取得する印刷ページ数取得機能と、該機能によって取得した印刷ページ数が複数であった場合に、１枚の用紙に対して複数の印刷データの印刷を指示する印刷コマンドを前記中間データに付加する印刷コマンド付加機能とを実現させるためのプログラム。
【請求項１０】
アプリケーションからの印刷データを中間データに変換し、該中間データに印刷に関するコマンドを付加して印刷を行わせるコンピュータに、
前記中間データの構造を解析して印刷ページ数を取得する印刷ページ数取得機能と、該機能によって取得した印刷ページ数が複数であった場合に、１枚の用紙に対して複数の印刷データの印刷を行ってよいかどうかを操作者に対して問い合わせ、その問い合わせに対して１枚の用紙に対して複数の印刷データの印刷を行ってよいとの指示がなされた場合に、該印刷を指示する印刷コマンドを前記中間データに付加する印刷コマンド付加機能とを実現させるためのプログラム。
【請求項１１】
請求項９又は１０記載のプログラムにおいて、
前記印刷ページ数取得機能によって取得した印刷ページ数が複数でなく、且つ前記中間データに前記印刷コマンドが付加されていた場合に、該印刷コマンドを該中間データから削除する印刷コマンド削除機能をも実現させるためのプログラム。
【請求項１２】
請求項９又は１０記載のプログラムにおいて、
前記印刷ページ数取得機能によって取得した印刷ページ数が複数でなく、且つ前記中間データに前記印刷コマンドが付加されていた場合に、該印刷コマンドを該中間データから削除してよいかどうかを操作者に対して問い合わせ、その問い合わせに対して前記印刷コマンドを前記中間データから削除してよいとの指示がなされた場合に、該印刷コマンドを該中間データから削除する印刷コマンド削除機能をも実現させるためのプログラム。
【請求項１３】
請求項９乃至１２のいずれか一項に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、印刷を制御する印刷制御装置と、印刷を制御する印刷制御方法と、コンピュータに必要な機能（この発明に係わる機能）を実現させるためのプログラム、およびそれを記録したコンピュータ読み取り可能な記録媒体に関する。
【背景技術】
【０００２】
例えば、コンピュータによる印刷制御装置は、アプリケーション（アプリケーションソフトウェア）がモニタの画面上でキーボード等の操作に応じたドキュメント（文書）等の印刷データを作成し、キーボード等の操作によって印刷開始の指示が出された時に、プリンタドライバ（プリンタドライバプログラム）がアプリケーションからの印刷データをプリンタが理解できる言語（プリンタ用言語）に翻訳（変換）し、その翻訳した印刷データをプリンタに出力して印刷を行わせるようにしている。なお、アプリケーションはＯＳ（オペレーティングシステム）によって管理されている。
【０００３】
ここで、アプリケーションやプリンタドライバ等のプログラム（ソフトウェア）による処理は、実際にはＣＰＵがそれらのプログラムに従って動作することによって実行するが、説明の都合上、それらのプログラムが処理を実行するものとする。以後も、プログラムが何らかの処理を行うものとして説明を行う場合には、同様とする。
【０００４】
ところで、近年、環境問題などから省資源化が問題になっており、それを解決するために、複数ページの画像を1枚の用紙に印刷（画像形成）する集約印刷や両面印刷という手法がある。しかし、操作者が、例えば集約印刷させるとなると、アプリケーションの印刷ダイアログからプリンタドライバの印刷設定ＵＩを表示させて、印刷設定ＵＩでの集約印刷設定項目で設定させなければならない。そして、この手順が煩雑なことからしばしば集約印刷が指示されずに印刷されることがある。また、操作者は印刷結果が１枚の用紙に収まるだろうと予想して集約印刷を指示しないで印刷を行ったが、実際は２枚の用紙に印刷されてしまう場合もある。
【０００５】
そこで、これらの問題を解決するために、特許文献１では、プリンタ装置において、総ページ数や文字のサイズから判断して自動で集約印刷をするといった発明がされている。
また、特許文献２では、ドキュメントの総ページ数によって集約印刷させる発明がされている。
【特許文献１】特開２００１−１８００８５号
【特許文献２】特開２００２−２５４７７３号
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に記載された発明では、機器（プリンタ）側で上述したような機能を備えることは容易ではなく、コストも高くなることが考えられる。また、それに対応した機器でなければならない。
一方、特許文献２に記載された発明では、印刷するドキュメントの総ページ数はプリンタドライバに送信された印刷データから取得する仕組みになっている。この場合、どのプリンタに出力する場合も対応できず、対応したプリンタドライバが必要になってくる。
【０００７】
この発明は、上記の問題点に鑑みてなされたものであり、印刷制御装置（コンピュータ）側で、集約印刷や両面印刷等のような１枚の用紙に対する複数の印刷データの印刷が可能なプリンタドライバや印刷機器（プリンタ）を特定しなくても、１枚の用紙に対して複数の印刷データの印刷を行えるようにすることを目的とする。
【課題を解決するための手段】
【０００８】
この発明は、上記の目的を達成するため、印刷制御装置，印刷制御方法，プログラム，および記録媒体を提供する。
請求項１の発明による印刷制御装置は、アプリケーションからの印刷データを中間データに変換し、該中間データに印刷に関するコマンドを付加して印刷を制御する印刷制御装置であって、上記中間データの構造を解析して印刷ページ数を取得する印刷ページ数取得手段と、該手段によって取得した印刷ページ数が複数であった場合に、１枚の用紙に対して複数の印刷データの印刷を指示する印刷コマンドを上記中間データに付加する印刷コマンド付加手段とを設けたものである。
【０００９】
請求項２の発明による印刷制御装置は、請求項１の印刷制御装置において、上記印刷コマンド付加手段は、上記印刷ページ数取得手段によって取得した印刷ページ数が複数であった場合に、１枚の用紙に対して複数の印刷データの印刷を行ってよいかどうかを操作者に対して問い合わせる手段を有し、該手段による問い合わせに対して１枚の用紙に対して複数の印刷データの印刷を行ってよいとの指示がなされた場合に、該印刷を指示する印刷コマンドを上記中間データに付加するものである。
【００１０】
請求項３の発明による印刷制御装置は、請求項１又は２の印刷制御装置において、上記印刷ページ数取得手段によって取得した印刷ページ数が複数でなく、且つ上記中間データに上記印刷コマンドが付加されていた場合に、該印刷コマンドを該中間データから削除する印刷コマンド削除手段とを設けたものである。
【００１１】
請求項４の発明による印刷制御装置は、請求項３の印刷制御装置において、上記印刷コマンド削除手段は、上記印刷ページ数取得手段によって取得した印刷ページ数が複数でなく、且つ上記中間データに上記印刷コマンドが付加されていた場合に、該印刷コマンドを該中間データから削除してよいかどうかを操作者に対して問い合わせる手段を有し、該手段による問い合わせに対して上記印刷コマンドを上記中間データから削除してよいとの指示がなされた場合に、該印刷コマンドを該中間データから削除するものである。
【００１２】
請求項５の発明による印刷制御方法は、アプリケーションからの印刷データを中間データに変換し、該中間データに印刷に関するコマンドを付加して印刷を行わせる印刷制御方法であって、上記中間データの構造を解析して印刷ページ数を取得し、その印刷ページ数が複数であった場合に、１枚の用紙に対して複数の印刷データの印刷を指示する印刷コマンドを上記中間データに付加するものである。
【００１３】
請求項６の発明による印刷制御方法は、アプリケーションからの印刷データを中間データに変換し、該中間データに印刷に関するコマンドを付加して印刷を制御する印刷制御方法であって、上記中間データの構造を解析して印刷ページ数を取得し、その印刷ページ数が複数であった場合に、１枚の用紙に対して複数の印刷データの印刷を行ってよいかどうかを操作者に対して問い合わせ、その問い合わせに対して１枚の用紙に対して複数の印刷データの印刷を行ってよいとの指示がなされた場合に、該印刷を指示する印刷コマンドを上記中間データに付加するものである。
【００１４】
請求項７の発明による印刷制御方法は、請求項５又は６の印刷制御方法において、上記取得した印刷ページ数が複数でなく、且つ上記中間データに上記印刷コマンドが付加されていた場合に、該印刷コマンドを該中間データから削除するものである。
【００１５】
請求項８の発明による印刷制御方法は、請求項５又は６の印刷制御方法において、上記取得した印刷ページ数が複数でなく、且つ上記中間データに上記印刷コマンドが付加されていた場合に、該印刷コマンドを該中間データから削除してよいかどうかを操作者に対して問い合わせ、その問い合わせに対して上記印刷コマンドを上記中間データから削除してよいとの指示がなされた場合に、該印刷コマンドを該中間データから削除するものである。
【００１６】
請求項９の発明によるプログラムは、アプリケーションからの印刷データを中間データに変換し、該中間データに印刷に関するコマンドを付加して印刷を制御するコンピュータに、上記中間データの構造を解析して印刷ページ数を取得する印刷ページ数取得機能と、該機能によって取得した印刷ページ数が複数であった場合に、１枚の用紙に対して複数の印刷データの印刷を指示する印刷コマンドを上記中間データに付加する印刷コマンド付加機能とを実現させるためのものである。
【００１７】
請求項１０の発明によるプログラムは、アプリケーションからの印刷データを中間データに変換し、該中間データに印刷に関するコマンドを付加して印刷を行わせるコンピュータに、上記中間データの構造を解析して印刷ページ数を取得する印刷ページ数取得機能と、該機能によって取得した印刷ページ数が複数であった場合に、１枚の用紙に対して複数の印刷データの印刷を行ってよいかどうかを操作者に対して問い合わせ、その問い合わせに対して１枚の用紙に対して複数の印刷データの印刷を行ってよいとの指示がなされた場合に、該印刷を指示する印刷コマンドを上記中間データに付加する印刷コマンド付加機能とを実現させるためのものである。
【００１８】
請求項１１の発明によるプログラムは、請求項９又は１０のプログラムにおいて、上記印刷ページ数取得機能によって取得した印刷ページ数が複数でなく、且つ上記中間データに上記印刷コマンドが付加されていた場合に、該印刷コマンドを該中間データから削除する印刷コマンド削除機能をも実現させるためのものである。
【００１９】
請求項１２の発明によるプログラムは、請求項９又は１０のプログラムにおいて、上記印刷ページ数取得機能によって取得した印刷ページ数が複数でなく、且つ上記中間データに上記印刷コマンドが付加されていた場合に、該印刷コマンドを該中間データから削除してよいかどうかを操作者に対して問い合わせ、その問い合わせに対して上記印刷コマンドを上記中間データから削除してよいとの指示がなされた場合に、該印刷コマンドを該中間データから削除する印刷コマンド削除機能をも実現させるためのものである。
【００２０】
請求項１３の発明による記録媒体は、請求項９〜１２のいずれかのプログラムを記録したコンピュータ読み取り可能な記録媒体である。
【発明の効果】
【００２１】
この発明によれば、印刷制御装置（コンピュータ）側で、集約印刷や両面印刷等のような１枚の用紙に対する複数の印刷データの印刷が可能なプリンタドライバや印刷機器（プリンタ）の特定をせずとも、印刷データのレイアウトを自動的に調整することによって１枚の用紙に対して複数の印刷データの印刷を行え、印刷に必要な用紙枚数を確実に削減することができる。
【発明を実施するための最良の形態】
【００２２】
以下、この発明を実施するための最良の形態を図面に基づいて具体的に説明する。
まず、この発明を実施する印刷制御装置としての機能を有するコンピュータを含むプリンタシステムについて、図２を参照して説明する。
図２は、このプリンタシステムの接続関係の一例を示すブロック図である。
【００２３】
この発明を実施するコンピュータ１０は、プリンタ１とケーブル５で直接接続されていたり、プリンタ２，３とＬＡＮ（ローカル・エリア・ネットワーク）等のネットワーク６を介して間接的に接続されている。また、コンピュータ１０上では任意のアプリケーションからプリンタドライバを通して接続されているプリンタ１〜３に対して印刷を行わせることができる。
コンピュータ１０は、ＰＣ（パーソナルコンピュータ）やワークステーション等の情報処理装置であり、クライアントコンピュータやプリントサーバであってもよい。また、プリントサーバシステムの形態の場合、クライアントコンピュータがプリントサーバ（印刷サービス）のＷｅｂクライアント（ＷｅｂサーバやＷｅｂブラウザ等）であってもよい。
【００２４】
プリンタ１〜３はいずれも、コンピュータ１０からの印刷データに基づいて用紙上に画像を形成（印刷）するプリント機能を有する画像形成装置である。そのため、このプリンタ１〜３は、レーザプリンタ，ＬＥＤプリンタ，インクジェットプリンタ等のプリント機能のみを有する画像形成装置に限らず、プリント機能の他にコピー機能等の他の機能も有するデジタル複写機，デジタル複合機，ファクシミリ装置等の画像形成装置であってもよい。また、プリンタ１〜３にプリントサーバの機能を備えてもよい。
【００２５】
次に、図１のコンピュータ１０のハードウェア構成について、図３を参照して説明する。
図３は、図１のコンピュータ１０のハードウェア構成例を示すブロック図である。
このコンピュータ１０は、インタフェース（Ｉ／Ｆ）５１，ＣＰＵ５２，ＲＯＭ５３，ＲＡＭ５４，表示装置５５，ハードディスク５６，キーボード５７，および記憶媒体ドライブ５８を備えている。
Ｉ／Ｆ５１は、外部装置であるプリンタ１とケーブル５経由で通信したり、プリンタ２，３とネットワーク６経由で通信するための通信手段である。
【００２６】
ＣＰＵ５２は、このコンピュータ１０全体を管理および制御する中央処理装置である。
ＲＯＭ５３は、ＣＰＵ５２が実行する固定プログラムを格納している読み出し専用の記憶手段（メモリ）である。
ＲＡＭ５４は、ＣＰＵ５２が実行するプログラムを展開し、各種の処理の際の作業領域として使用する読み書き可能な記憶手段である。
表示装置５５は、各種のデータや作業画面等を表示するＣＲＴディスプレイ，ＬＣＤディスプレイ等の表示手段である。
【００２７】
ハードディスク５６は、この発明に係わるプログラムやデータを記憶する大容量記憶手段である。
キーボード５７は、利用者が各種の操作情報を入力するための入力手段である。なお、入力手段としてマウスも備えることができる。
記憶媒体ドライブ５８は、記憶媒体５９に対する記録又は再生を行う記録再生手段である。
記憶媒体５９は、コンピュータ１０に対して脱着可能なＭＯ，ＣＤ−Ｒ，ＣＤ−ＲＷ，ＤＶＤ＋Ｒ，ＤＶＤ＋ＲＷディスク，ＤＶＤ−Ｒ，ＤＶＤ−ＲＷ，ＤＶＤ−ＲＡＭ等のコンピュータ読み取り可能な記録媒体であり、この発明による印刷制御を実行するプログラムが記録される。
【００２８】
このように構成されたコンピュータ１０において、ＣＰＵ５２は、操作者によるキーボード５７上の操作により、記憶媒体ドライブ５８を介して記憶媒体５９からこの発明によるプログラムを読み出し、ハードディスク５６にインストールすることができる。
そして、電源投入時には、ＲＯＭ５３内のブートローダ（ブートプログラム）に従い、ハードディスク５６内のＯＳを含む各種プログラムを読み出し、ＲＡＭ５４にインストールした後、その各種プログラムに従って動作する（その各種プログラムを必要に応じて選択的に実行する）と共に、Ｉ／Ｆ５１を使用することにより、この発明による印刷ページ数取得手段，印刷コマンド付加手段，印刷コマンド削除手段を含む各種機能を実現することができる。
【００２９】
例えば、操作者によるキーボード５７上の操作によって印刷指令が発行されると、この発明によるプログラムを起動する。そして、そのプログラムに従って印刷制御を行い、その印刷制御に関するデータをＲＡＭ５４やハードディスク５６に格納し、必要に応じて表示装置５５に出力して表示させる。
【００３０】
次に、図１のコンピュータ１０のソフトウェア構成について、図４を参照して説明する。
図４は、図１のコンピュータ１０のソフトウェア構成例を示すブロック図である。
このコンピュータ１０において、アプリケーション１０１はＷｉｎｄｏｗｓ（登録商標）等のＯＳ上で動作しているものとする。
通常、Ｗｉｎｄｏｗｓ（登録商標）などのシステムにおいて、コンピュータ１０上で動作するアプリケーション１０１によって作成された描画データ（印刷データ）による印刷を行う際には、グラフィックエンジン１０２が、アプリケーション１０１からの描画データを描画することにより、その描画データをプリンタドライバ１０３に渡す。
【００３１】
プリンタドライバ１０３は、受け取った描画データをＰＤＬ（Page Description Language）等のプリンタに理解できるコードデータに変換し、そのコードデータをスプーラ１０４に蓄積する。
スプーラ１０４は、蓄積されたコードデータをプリンタ１〜３のいずれかへ送信することによって印刷を実行させる。
Ｗｉｎｄｏｗｓ（登録商標）等のＯＳでは、グラフィックエンジン１０２がＧＤＩ（Graphic Device Interface）と呼ばれ、ＯＳがこのＧＤＩを提供している。また、スプーラ１０４もＯＳによって提供される。
【００３２】
この実施例のコンピュータ１０において、プリンタドライバ１０３は、アプリケーション１０１からの描画データをＰＤＬ等のプリンタ用のコードデータにする前段階のデータである印刷中間データ（中間データ）に変換し、それを印刷中間ファイル１０５としてコンピュータ１０の記憶手段（ＲＡＭ５４，ハードディスク５６，又は記憶媒体５９）に蓄積する。
また、このコンピュータ１０では、記憶手段に蓄積された複数の印刷中間データに印刷コマンド（印刷に関するコマンド）を付加し、それらのデータを再びプリンタドライバ１０３に送ることにより、複数の印刷データを設定された印刷条件にてプリンタ１〜３のいずれに出力して印刷を行わせることができる。
【００３３】
この実施例では、印刷設定モジュール１０７は、記憶手段に蓄積された印刷中間データを管理する印刷中間データ管理モジュール１０６を介してその印刷中間データを受け取る。また、プリンタドライバ１０３との間で情報をやり取りしながら印刷可能な矛盾のない印刷設定コマンドを生成し、それを印刷中間データ管理モジュール１０６から受け取った印刷中間データに付加する。そして、その印刷設定コマンドを付加した印刷中間データをそのままプリンタドライバ１０３に送ると、印刷が実行される。あるいは、印刷設定コマンドを付加した印刷中間データを印刷中間データ管理モジュール１０６に渡し、その印刷中間データ管理モジュール１０６が受け取った印刷中間データをプリンタドライバ１０３に送ると、印刷が実行される。
【００３４】
ここで、印刷設定コマンドを付加した印刷中間データの構成について、図５を参照して説明する。
図５は、印刷設定コマンドを付加した印刷中間データの構成例を示す説明図である。
この印刷中間データには、データのヘッダ部分に続き、印刷データ全体に対する印刷設定コマンド(集約印刷や両面印刷のような１枚の用紙に対する複数の印刷データの印刷を指示する印刷コマンドを含む)および各ページのデータが並んでいる。各ページのデータは、ページの始まり（開始）を示すタグ、ページの印刷コマンド(用紙サイズや用紙方向，解像度などを指示するコマンド)、ページの描画データ、ページの終了を示すタグという構成になっている。
【００３５】
以下、コンピュータ１０によるこの発明の特徴となる印刷制御の４つの異なる例（第１〜４実施例）について、図１，図６〜図８を参照して具体的に説明する。なお、ここでは、印刷中間データの記憶先をハードディスク５６とするが、ＲＡＭ５４や記憶媒体５９としてもよい。また、第１〜４実施例の印刷制御は、集約印刷を行わせるための制御であるが、両面印刷などの他の印刷（１枚の用紙に対する複数の印刷データの印刷ならなんでもよい）を行わせるための制御に代えてもよい。
【００３６】
〔第１実施例〕
図１は、コンピュータ１０によるこの発明の特徴となる印刷制御の第１例を示すフローチャートである。
プリンタドライバ１０３は、アプリケーション１０１からの印刷データを印刷中間データとしてハードディスク５６に蓄積する。
印刷中間データがハードディスク５６に蓄積されると、そのことを認識し、その印刷中間データを印刷中間データ管理モジュール１０６はハードディスク５６から直ちに取得する（読み込む）。この第１実施例では、印刷中間データが蓄積されることがトリガーになって、印刷中間データ管理モジュール１０６が動作を行う例を記述しているが、操作者によるキーボード５７上の操作によって発行される指示をトリガーとして、ハードディスク５６に蓄積された複数の印刷中間データをまとめて取得することもできる。
【００３７】
印刷中間データ管理モジュール１０６は、取得した印刷中間データの構造を解析し、その解析結果に基づいて総ページ数（印刷ページ数）Ｎを取得する。
そして、その総ページ数Ｎが複数ページ（Ｎ＞１）であった場合には、印刷設定モジュール１０７が、印刷中間データ管理モジュール１０６によって取得された印刷中間データの印刷コマンド部に集約印刷を指示する集約印刷コマンドを付加する。
このようにして修正された印刷中間データ（集約印刷コマンドを付加した印刷中間データ）をプリンタドライバ１０３に送ることにより、プリンタ１〜３のいずれかで複数ページの画像が１枚の用紙上に集約されて印刷が実行される。
【００３８】
このように、第１実施例によれば、コンピュータ１０側で、印刷中間データの構造を解析して総ページ数を取得し、その総ページ数が複数であった場合に、集約印刷コマンドを上記印刷中間データに付加するので、集約印刷が可能なプリンタドライバや印刷機器（プリンタ）を特定しなくても、印刷データのレイアウトを自動的に調整することによって集約印刷を行え、印刷に必要な用紙枚数を確実に削減することができる。
【００３９】
〔第２実施例〕
図６は、コンピュータ１０によるこの発明の特徴となる印刷制御の第２例を示すフローチャートである。
この第２実施例は、図１によって説明した第１実施例とほとんど同様であるが、印刷設定モジュール１０７が印刷中間データに集約印刷コマンドを付加する前に、集約印刷を行ってよいかどうかを操作者に対して問い合わせ（このとき集約印刷を行ってよいかどうかの問い合わせ用のメッセージを表示装置５５の表示画面に表示させる）、その問い合わせに対して集約印刷を行ってよいとの選択指示（キーボード５７上の操作によって発行される）がなされた場合に、集約印刷コマンドを上記印刷中間データの印刷コマンド部に付加する。
【００４０】
このように、第２実施例によれば、コンピュータ１０側で、印刷中間データの構造を解析して総ページ数を取得し、その総ページ数が複数であった場合に、集約印刷を行ってよいかどうかを操作者に対して問い合わせ、その問い合わせに対して集約印刷を行ってよいとの指示がなされた場合に、集約印刷コマンドを上記印刷中間データに付加するので、第１実施例と同様の効果に加え、次の効果を得ることができる。つまり、操作者がキーボード５７上の操作によって集約印刷を選択した場合でも、実際の印刷データが1ページ分しかない場合には、集約印刷を中止できるため、１枚の用紙に小さく印刷されてしまうという不都合を回避できる。
【００４１】
〔第３実施例〕
図７は、コンピュータ１０によるこの発明の特徴となる印刷制御の第３例を示すフローチャートである。
プリンタドライバ１０３は、アプリケーション１０１からの印刷データを印刷中間データとしてハードディスク５６に蓄積する。
印刷中間データがハードディスク５６に蓄積されると、そのことを認識し、その印刷中間データを印刷中間データ管理モジュール１０６はハードディスク５６から直ちに取得する（読み込む）。この第３実施例でも、印刷中間データが蓄積されることがトリガーになって、印刷中間データ管理モジュール１０６が動作を行う例を記述しているが、操作者によるキーボード５７上の操作によって発行される指示をトリガーとして、ハードディスク５６に蓄積された複数の印刷中間データをまとめて取得することもできる。
【００４２】
印刷中間データ管理モジュール１０６は、取得した印刷中間データの構造を解析し、その解析結果に基づいて総ページ数（印刷ページ数）Ｎを取得する。
印刷設定モジュール１０７は、印刷中間データ管理モジュール１０６から受け取った印刷中間データの構造を解析し、その解析結果に基づいて印刷コマンド部に集約印刷コマンドが付加されているか否か（集約印刷の設定の有無）を認識する。
印刷中間データ管理モジュール１０６は、総ページ数Ｎが１ページ（Ｎ＝１）であり、且つ取得した印刷中間データの印刷コマンド部に集約印刷コマンドが付加されていた（集約印刷が設定されていた）場合に、その集約印刷コマンドを上記印刷中間データから削除する。
このようにして修正された印刷中間データ（集約印刷コマンドが削除された印刷中間データ）をプリンタドライバ１０３に送ることにより、プリンタ１〜３のいずれかで１ページの画像が１枚の用紙に印刷される。
【００４３】
このように、第３実施例によれば、コンピュータ１０側で、印刷中間データの構造を解析して総ページ数を取得し、その総ページ数が複数でなく、且つ上記印刷中間データに集約印刷コマンドが付加されていた場合に、その集約印刷コマンドを上記印刷中間データから削除するので、自動で集約印刷が行われる場合（この場合は上記印刷中間データに集約印刷コマンドが付加される）の不都合、つまり印刷文字が小さくなるなどの操作者が意図しない印刷が行われることを回避することができる。
【００４４】
〔第４実施例〕
図８は、コンピュータ１０によるこの発明の特徴となる印刷制御の第４例を示すフローチャートである。
この第４実施例は、図７によって説明した第３実施例とほとんど同様であるが、印刷設定モジュール１０７が印刷中間データから集約印刷コマンドを削除する前に、集約印刷コマンドを印刷中間データから削除してよいかどうかを操作者に対して問い合わせ（このとき集約印刷コマンドを印刷中間データから削除してよいかどうかの問い合わせ用のメッセージを表示装置５５の表示画面に表示させる）、その問い合わせに対して集約印刷コマンドを印刷中間データから削除してよいとの選択指示（キーボード５７上の操作によって発行される）がなされた場合に、集約印刷コマンドを上記印刷中間データから削除する。
【００４５】
このように、第４実施例によれば、コンピュータ１０側で、印刷中間データの構造を解析して総ページ数を取得し、その総ページ数が複数でなく、且つ上記印刷中間データに集約印刷コマンドが付加されていた場合に、集約印刷コマンドを印刷中間データから削除してよいかどうかを操作者に対して問い合わせ、その問い合わせに対して集約印刷コマンドを印刷中間データから削除してよいとの指示がなされた場合に、集約印刷コマンドを上記印刷中間データから削除するので、第３実施例と同様の効果に加え、次の効果を得ることができる。つまり、操作者がキーボード５７上の操作によって集約印刷を選択した場合に、集約印刷コマンドが印刷中間データから削除されてしまっては好まれない場合があるが、その不都合を回避できる。
なお、図１又は図６の制御に図７又は図８の制御を組み合わせることもできる。
【産業上の利用可能性】
【００４６】
この発明は、パーソナルコンピュータやワークステーション等の各種コンピュータに適用できる。
【図面の簡単な説明】
【００４７】
【図１】図２のコンピュータ１０によるこの発明の特徴となる印刷制御の第１例を示すフロー図である。
【図２】この発明を実施するコンピュータを含むプリンタシステムの接続関係の一例を示すブロック図である。
【図３】図１のコンピュータ１０のハードウェア構成例を示すブロック図である。
【図４】図１のコンピュータ１０のソフトウェア構成例を示すブロック図である。
【００４８】
【図５】図１のコンピュータ１０で生成される印刷設定コマンドを付加した印刷中間データの構成例を示す説明図である。
【図６】図１のコンピュータ１０によるこの発明の特徴となる印刷制御の第２例を示すフロー図である。
【図７】同じくこの発明の特徴となる印刷制御の第３例を示すフロー図である。
【図８】同じくこの発明の特徴となる印刷制御の第４例を示すフロー図である。
【符号の説明】
【００４９】
１〜３：プリンタ      １０：コンピュータ      ５：ケーブル      ６：ネットワーク      ５１：Ｉ／Ｆ      ５２：ＣＰＵ      ５３：ＲＯＭ      ５４：ＲＡＭ      ５５：表示装置      ５６：ハードディスク      ５７：キーボード      ５８：記憶媒体ドライブ      ５９：記憶媒体      １０１：アプリケーション      １０２：グラフィックエンジン，１０３：プリンタドライバ      １０４：スプーラ      １０５：印刷中間ファイル      １０６：印刷中間データ管理モジュール      １０７：印刷設定モジュール
【図１】
2005222267.tif 000003
【図２】
2005222267.tif 000004
【図３】
2005222267.tif 000005
【図４】
2005222267.tif 000006
【図５】
2005222267.tif 000007
【図６】
2005222267.tif 000008
【図７】
2005222267.tif 000009
【図８】
2005222267.tif 000010