(57)【要約】【課題】  プリンタに依存しない作りになっているアプリケーションにおいてプリンタの能力に応じてカラーモノクロ色判定処理を切り替えることが可能なアプリケーションを提供する。【解決手段】  カラーとモノクロ印刷及び両面印刷が可能なプリンタに対して、カラー印刷するかモノクロ印刷するかを切り替えるカラーモノクロ切替方法で、両面印刷が指示された場合に、アプリケーションが、前記プリンタがページ単位でカラーモノクロ切り替えが行えるか、用紙単位でしかカラーモノクロ切り替えが行えないかを認知し、ページ単位で行える場合は、印刷ジョブのデータからページ単位にカラーかモノクロかを判定して、プリンタにページ単位のカラーモノクロ切り替えを指示し、用紙単位でしか行えない場合は、印刷ジョブのデータからページ単位にカラーかモノクロかを判定した後、用紙単位でカラーかモノクロかを統一して用紙単位のカラーモノクロ切り替えを指示する。【選択図】    図８
2006302036.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションからの文書データに基づいて、プリンタドライバでプリンタで印刷すべき印刷ジョブを生成する機能を有する情報処理装置であって、
印刷ジョブを送信する送信先のプリンタの色処理モードの切替についての能力情報をプリンタドライバから取得する取得手段と、
前記取得手段で取得されたプリンタの色処理モードの切替についての能力情報に基づいて、前記文書データに対する複数の色処理モードから前記プリンタの能力情報に適応する色処理モードを選択する選択手段と、
前記選択手段により選択された前記文書データの色処理モードの指定処理を前記アプリケーション上で実行する処理手段とを有することを特徴とする情報処理装置。
【請求項２】
前記色処理モードの切替についての能力情報は、前記送信先のプリンタが色処理モードの切替処理を用紙単位で行うか印刷面単位で行うかの能力情報であって、
前記選択手段は、前記送信先のプリンタの能力情報に基づいて、前記文書データが両面印刷設定されている場合に、色処理モードの指定処理を用紙単位で行うか印刷面単位で行うかを選択することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
ユーザインタフェース手段を更に有し、前記選択手段は、更に該ユーザインタフェース手段を介して入力された指示情報に基づいて前記文書データの各ページの色処理モードの指定処理を選択することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記処理手段は、前記プリンタが用紙単位で色処理モードの切替を行う場合に、両面印刷時に表面と裏面の両方を考慮して各ページの色処理モードの指定処理を行うことを特徴とする請求項２又は３に記載の情報処理装置。
【請求項５】
前記処理手段は、前記プリンタが印刷面単位で色処理モードの切替を行う場合に、両面印刷時に表面と裏面とで別々に各ページの色処理モードの指定処理を行うことを特徴とする請求項２乃至４のいずれかに記載の情報処理装置。
【請求項６】
前記選択手段は、正しい能力情報を前記プリンタから取得できなかった場合には、色処理モードの指定処理を用紙単位で行うよう選択することを特徴とする請求項２乃至５のいずれかに記載の情報処理装置。
【請求項７】
任意のアプリケーションからの文書データに基づいて、プリンタドライバでプリンタで印刷すべき印刷ジョブを生成する機能を有する情報処理装置であって、
前記任意のアプリケーションからの文書データを保存ファイルとして保存するスプーラと、
印刷ジョブを送信する送信先のプリンタの色処理モードの切替についての能力情報をプリンタドライバから取得する取得手段と、前記取得手段で取得されたプリンタの色処理モードの切替についての能力情報に基づいて、前記文書データに対する複数の色処理モードから前記プリンタの能力情報に適応する色処理モードを選択する選択手段とを有する印刷制御アプリケーションと、
前記選択手段により選択された前記文書データの色処理モードに応じて、前記文書データの各ページの色処理モードを前記プリンタドライバに対して指定する指定手段を有するデスプーラとを有することを特徴とする情報処理装置。
【請求項８】
前記デスプーラからグラフィックエンジンを介して受け取ったデータをプリンタが認識可能なプリンタ制御コマンドに変換して印刷ジョブを生成する前記プリンタドライバを更に有することを特徴とする請求項１又は７に記載の情報処理装置。
【請求項９】
アプリケーションからの文書データに基づいて、プリンタドライバでプリンタで印刷すべき印刷ジョブを生成する機能を有する情報処理装置の色処理モード切替方法であって、
印刷ジョブを送信する送信先のプリンタの色処理モードの切替についての能力情報をプリンタドライバから取得する取得工程と、
前記取得工程で取得されたプリンタの色処理モードの切替についての能力情報に基づいて、前記文書データに対する複数の色処理モードから前記プリンタの能力情報に適応する色処理モードを選択する選択工程と、
前記選択工程により選択された前記文書データの色処理モードの指定処理を前記アプリケーション上で実行する処理工程とを有することを特徴とする色処理モード切替方法。
【請求項１０】
前記色処理モードの切替についての能力情報は、前記送信先のプリンタが色処理モードの切替処理を用紙単位で行うか印刷面単位で行うかの能力情報であって、
前記選択工程では、前記送信先のプリンタの能力情報に基づいて、前記文書データが両面印刷設定されている場合に、色処理モードの指定処理を用紙単位で行うか印刷面単位で行うかを選択することを特徴とする請求項９に記載の色処理モード切替方法。
【請求項１１】
前記選択工程では、更にユーザインタフェース手段を介して入力された指示情報に基づいて前記文書データの各ページの色処理モードの指定処理を選択することを特徴とする請求項１０に記載の色処理モード切替方法。
【請求項１２】
前記処理工程では、前記プリンタが用紙単位で色処理モードの切替を行う場合に、両面印刷時に表面と裏面の両方を考慮して各ページの色処理モードの指定処理を行うことを特徴とする請求項１０又は１１に記載の色処理モード切替方法。
【請求項１３】
前記処理工程では、前記プリンタが印刷面単位で色処理モードの切替を行う場合に、両面印刷時に表面と裏面とで別々に各ページの色処理モードの指定処理を行うことを特徴とする請求項１０乃至１２のいずれかに記載の色処理モード切替方法。
【請求項１４】
前記選択工程では、正しい能力情報を前記プリンタから取得できなかった場合には、色処理モードの指定処理を用紙単位で行うよう選択することを特徴とする請求項１０乃至１３のいずれかに記載の色処理モード切替方法。
【請求項１５】
アプリケーションからの文書データに基づいて、プリンタドライバでプリンタで印刷すべき印刷ジョブを生成する機能を有する情報処理装置が実行する制御プログラムであって、
印刷ジョブを送信する送信先のプリンタの色処理モードの切替についての能力情報をプリンタドライバから取得する取得工程と、
前記取得工程で取得されたプリンタの色処理モードの切替についての能力情報に基づいて、前記文書データに対する複数の色処理モードから前記プリンタの能力情報に適応する色処理モードを選択する選択工程と、
前記選択工程により選択された前記文書データの色処理モードの指定処理を前記アプリケーション上で実行する処理工程とを有することを特徴とする制御プログラム。
【請求項１６】
前記色処理モードの切替についての能力情報は、前記送信先のプリンタが色処理モードの切替処理を用紙単位で行うか印刷面単位で行うかの能力情報であって、
前記選択工程では、前記送信先のプリンタの能力情報に基づいて、前記文書データが両面印刷設定されている場合に、色処理モードの指定処理を用紙単位で行うか印刷面単位で行うかを選択することを特徴とする請求項１５に記載の制御プログラム。
【請求項１７】
前記選択工程では、更にユーザインタフェース手段を介して入力された指示情報に基づいて前記文書データの各ページの色処理モードの指定処理を選択することを特徴とする請求項１６に記載の制御プログラム。
【請求項１８】
前記処理工程では、前記プリンタが用紙単位で色処理モードの切替を行う場合に、両面印刷時に表面と裏面の両方を考慮して各ページの色処理モードの指定処理を行うことを特徴とする請求項１６又は１７に記載の制御プログラム。
【請求項１９】
前記処理工程では、前記プリンタが印刷面単位で色処理モードの切替を行う場合に、両面印刷時に表面と裏面とで別々に各ページの色処理モードの指定処理を行うことを特徴とする請求項１６乃至１８のいずれかに記載の制御プログラム。
【請求項２０】
前記選択工程では、正しい能力情報を前記プリンタから取得できなかった場合には、色処理モードの指定処理を用紙単位で行うよう選択することを特徴とする請求項１６乃至１９のいずれかに記載の制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は色処理モード切替方法、及び該方法を実現する情報処理装置とその制御プログラムに関し、特に、プリンタやデジタル複写機等を用いて電子文書を印刷処理する際に、カラーモノクロのいずれで印刷するかを判断するカラーモノクロ判定に関するものである。さらに詳細には、カラーとモノクロが混在したドキュメントを印刷実行する際に、印刷処理装置側の能力に応じて正しいカラーモノクロ切り替えを可能とする色処理モード切替方法、及び該方法を実現する情報処理装置とその制御プログラムに関するものである。
【背景技術】
【０００２】
昨今、カラープリンタが急速に普及したことにより、パソコン、ワープロ、ワークステーション等のＤＴＰ機器で作成したカラーモノクロ混在文書を、カラープリンタによってプリントアウトすることが多くなっている。又、最近のカラープリンタの中には、カラー印刷モードとモノクロ印刷モードを備え、モノクロ印刷モードでは印刷速度を速くしたり、モノクロ印刷モードの課金をカラー印刷モードより安く設定しているものがある。
【０００３】
そのため、パソコン、ワープロ、ワークステーション等のＤＴＰ(Desk Top Publishing)機器から転送されるカラーモノクロ混在文書の色判定を正しく行うことが要求されているが、これは、例えば、プリンタドライバがスプールデータをチェックすることによって、カラー印刷モードとモノクロ印刷モードの判定を行っていた（特許文献１）。
【特許文献１】特開平１０−２８５４２１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、カラーとモノクロの切り替え方法は、プリンタによって異なるものである。例えば、Ａというプリンタは、両面印刷時に表面と裏面で別々のカラーモノクロ属性が設定できるのに対して、Ｂというプリンタは、両面印刷時に表面と裏面が同じカラーモノクロ属性でないと、正しく印刷がされないといった場合がある。ただし、このような場合でも、カラーモノクロの色判定を前述したプリンタドライバで行っている限りは問題が発生しない。なぜなら、プリンタドライバは出力先のプリンタ毎に作成されているため、各面で個別に色処理モードを指定可能な仕様のプリンタに対するプリンタドライバは、表面と裏面で独立してオートカラー判断を行い各面に対して色処理モードを判定するし、また、用紙単位で色処理モードを指定する仕様のプリンタに対するプリンタドライバは、両面の色属性を判断して用紙に対して色処理モードを判定するからである。
【０００５】
ところが、プリンタに依存しない作りになっているアプリケーションにおいてカラー印刷またはモノクロ印刷を行うための色処理モードを指定する仕組みの場合には、出力先のプリンタの能力（仕様）がわからないため、面単位で色処理モードを指定すればよいか、用紙単位で色処理モードを指定すればよいか判断ができず、精度の高いカラーモノクロ判定が行えないという問題が発生する。
【０００６】
又、カラーモノクロ判定が行えるレイヤーとしては、アプリケーションとプリンタドライバとコントローラという３つのレイヤーがあるが、モジュールの構成上、レイヤー毎にカラーモノクロ判定能力が異なるのが普通である。又、プリンタドライバと一言に行ってもさまざまなＰＤＬ(Page Description Language)があり、ＰＤＬの能力によってはカラーモノクロ処理方法が異なることもある。このような状況下でも、精度の高いカラーモノクロ判定が行えるプリントシステムが要望されている。
【０００７】
尚、上記説明では、プリンタの能力としてカラーモノクロ属性の設定能力を例に従来技術の問題点を説明したが、上述の如く本発明は、プリンタに依存しない作りになっているアプリケーションにおいて、精度よくプリンタの能力に適応した印刷ジョブの処理を可能とすることを課題とするものである。
【０００８】
従って、本発明は、このような問題を解決する１つの手法として、プリンタに依存しない作りになっているアプリケーションにおいてプリンタの能力に応じて適応する処理を可能とする情報処理装置とその制御プログラムを提供する。特に、プリンタの能力に応じてカラーモノクロ色判定処理を切り替えることが可能なアプリケーションを提供するものである。
【０００９】
更に具体的には、表面と裏面が同じ色属性でないと正常に動作しないプリンタに対して印刷を行う場合には、表面と裏面同じ色属性でカラーモノクロ判定を行い、表面と裏面別々の色属性でも正常に動作できるプリンタに対しては、表面と裏面で異なる色属性でカラーモノクロ色判定を行うとことが可能な色処理モード切替方法、及び該方法を実現する情報処理装置とその制御プログラムを提供する。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、本発明の情報処理装置は、アプリケーションからの文書データに基づいて、プリンタドライバでプリンタで印刷すべき印刷ジョブを生成する機能を有する情報処理装置であって、印刷ジョブを送信する送信先のプリンタの色処理モードの切替についての能力情報をプリンタドライバから取得する取得手段と、前記取得手段で取得されたプリンタの色処理モードの切替についての能力情報に基づいて、前記文書データに対する複数の色処理モードから前記プリンタの能力情報に適応する色処理モードを選択する選択手段と、前記選択手段により選択された前記文書データの色処理モードの指定処理を前記アプリケーション上で実行する処理手段とを有することを特徴とする。
【００１１】
ここで、前記色処理モードの切替についての能力情報は、前記送信先のプリンタが色処理モードの切替処理を用紙単位で行うか印刷面単位で行うかの能力情報であって、前記選択手段は、前記送信先のプリンタの能力情報に基づいて、前記文書データが両面印刷設定されている場合に、色処理モードの指定処理を用紙単位で行うか印刷面単位で行うかを選択する。また、ユーザインタフェース手段を更に有し、前記選択手段は、更に該ユーザインタフェース手段を介して入力された指示情報に基づいて前記文書データの各ページの色処理モードの指定処理を選択する。また、前記処理手段は、前記プリンタが用紙単位で色処理モードの切替を行う場合に、両面印刷時に表面と裏面の両方を考慮して各ページの色処理モードの指定処理を行う。また、前記処理手段は、前記プリンタが印刷面単位で色処理モードの切替を行う場合に、両面印刷時に表面と裏面とで別々に各ページの色処理モードの指定処理を行う。また、前記選択手段は、正しい能力情報を前記プリンタから取得できなかった場合には、色処理モードの指定処理を用紙単位で行うよう選択する。
【００１２】
又、任意のアプリケーションからの文書データに基づいて、プリンタドライバでプリンタで印刷すべき印刷ジョブを生成する機能を有する情報処理装置であって、前記任意のアプリケーションからの文書データを保存ファイルとして保存するスプーラと、印刷ジョブを送信する送信先のプリンタの色処理モードの切替についての能力情報をプリンタドライバから取得する取得手段と、前記取得手段で取得されたプリンタの色処理モードの切替についての能力情報に基づいて、前記文書データに対する複数の色処理モードから前記プリンタの能力情報に適応する色処理モードを選択する選択手段とを有する印刷制御アプリケーションと、
前記選択手段により選択された前記文書データの色処理モードに応じて、前記文書データの各ページの色処理モードを前記プリンタドライバに対して指定する指定手段を有するデスプーラとを有することを特徴とする。
【００１３】
前記デスプーラからグラフィックエンジンを介して受け取ったデータをプリンタが認識可能なプリンタ制御コマンドに変換して印刷ジョブを生成する前記プリンタドライバを更に有することを特徴とする。
【００１４】
又、本発明の色処理モード切替方法は、アプリケーションからの文書データに基づいて、プリンタドライバでプリンタで印刷すべき印刷ジョブを生成する機能を有する情報処理装置の色処理モード切替方法であって、印刷ジョブを送信する送信先のプリンタの色処理モードの切替についての能力情報をプリンタドライバから取得する取得工程と、前記取得工程で取得されたプリンタの色処理モードの切替についての能力情報に基づいて、前記文書データに対する複数の色処理モードから前記プリンタの能力情報に適応する色処理モードを選択する選択工程と、前記選択工程により選択された前記文書データの色処理モードの指定処理を前記アプリケーション上で実行する処理工程とを有することを特徴とする。
【００１５】
ここで、前記色処理モードの切替についての能力情報は、前記送信先のプリンタが色処理モードの切替処理を用紙単位で行うか印刷面単位で行うかの能力情報であって、前記選択工程では、前記送信先のプリンタの能力情報に基づいて、前記文書データが両面印刷設定されている場合に、色処理モードの指定処理を用紙単位で行うか印刷面単位で行うかを選択する。また、前記選択工程では、更にユーザインタフェース手段を介して入力された指示情報に基づいて前記文書データの各ページの色処理モードの指定処理を選択する。また、前記処理工程では、前記プリンタが用紙単位で色処理モードの切替を行う場合に、両面印刷時に表面と裏面の両方を考慮して各ページの色処理モードの指定処理を行う。また、前記処理工程では、前記プリンタが印刷面単位で色処理モードの切替を行う場合に、両面印刷時に表面と裏面とで別々に各ページの色処理モードの指定処理を行う。また、前記選択工程では、正しい能力情報を前記プリンタから取得できなかった場合には、色処理モードの指定処理を用紙単位で行うよう選択する。
【００１６】
又、本発明の制御プログラムは、アプリケーションからの文書データに基づいて、プリンタドライバでプリンタで印刷すべき印刷ジョブを生成する機能を有する情報処理装置が実行する制御プログラムであって、印刷ジョブを送信する送信先のプリンタの色処理モードの切替についての能力情報をプリンタドライバから取得する取得工程と、前記取得工程で取得されたプリンタの色処理モードの切替についての能力情報に基づいて、前記文書データに対する複数の色処理モードから前記プリンタの能力情報に適応する色処理モードを選択する選択工程と、前記選択工程により選択された前記文書データの色処理モードの指定処理を前記アプリケーション上で実行する処理工程とを有することを特徴とする。
【００１７】
ここで、前記色処理モードの切替についての能力情報は、前記送信先のプリンタが色処理モードの切替処理を用紙単位で行うか印刷面単位で行うかの能力情報であって、前記選択工程では、前記送信先のプリンタの能力情報に基づいて、前記文書データが両面印刷設定されている場合に、色処理モードの指定処理を用紙単位で行うか印刷面単位で行うかを選択する。また、前記選択工程では、更にユーザインタフェース手段を介して入力された指示情報に基づいて前記文書データの各ページの色処理モードの指定処理を選択する。また、前記処理工程では、前記プリンタが用紙単位で色処理モードの切替を行う場合に、両面印刷時に表面と裏面の両方を考慮して各ページの色処理モードの指定処理を行う。また、前記処理工程では、前記プリンタが印刷面単位で色処理モードの切替を行う場合に、両面印刷時に表面と裏面とで別々に各ページの色処理モードの指定処理を行う。また、前記選択工程では、正しい能力情報を前記プリンタから取得できなかった場合には、色処理モードの指定処理を用紙単位で行うよう選択する。
【発明の効果】
【００１８】
以上説明したように、プリンタに依存しない作りになっているアプリケーションにおいてプリンタの能力に応じて適応する処理を可能とする。
【００１９】
例えば、カラーとモノクロが混在したドキュメントを印刷実行する際に、印刷処理装置側の能力に応じて、ページ単位でカラーモノクロ判定を行うのか用紙単位で行うかを切り替えることによって、高速にかつ精度の高いカラーモノクロ判定が可能となる。
【発明を実施するための最良の形態】
【００２０】
以下、本発明の実施の形態について、添付図面を参照して説明する。尚、本実施形態はカラーモノクロ判定を用紙単位で行なうか、ページ単位（印刷面単位）で行なうかを例に本発明を説明するが、先に記載の如く、本発明は、プリンタに依存しない作りになっているアプリケーションにおけるプリンタの能力に適応する処理を行なうという共通の課題を解決するものであり、カラーモノクロ判定に限定されない。
【００２１】
＜本発明が適用される印刷システムのハードウエア構成例＞
図１は、本実施形態の印刷システムを構成するホストコンピュータ３０００及びプリンタ１５００のハードウエア構成例を示すブロック図である。なお、本発明の機能が実行されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、ＬＡＮ,ＷＡＮ等のネットワークを介して接続され、処理が行われるシステムであっても、本発明を適用できる。
【００２２】
（ホストコンピュータ３０００のブロック構成例）
図１において、ホストコンピュータ３０００は、ＲＯＭ５３のプログラム用ＲＯＭあるいは外部メモリ６１に記憶された文書処理プログラム等に基づいて、以降で後述される本発明の各実施形態に係わる処理を含む、図形、イメージ、文字、表（表計算等を含む）等が混在した文書処理およびそれに基づく印刷処理の実行を制御するＣＰＵ５１を備えている。このＣＰＵ５１がシステムバス５４に接続される各デバイスの制御を総括する。また、ＲＯＭ５３のプログラム用ＲＯＭあるいは外部メモリ６１には、ＣＰＵ５１の制御プログラムであるオペレーティングシステムプログラム（以下ＯＳ）等が記憶されている。また、ＲＯＭ５３のフォント用ＲＯＭあるいは外部メモリ６１には上記文書処理の際に使用するフォントデータ等が記憶されている。さらに、ＲＯＭ５３のデータ用ＲＯＭあるいは外部メモリ６１には上記文書処理等を行う際に使用する各種データが記憶されている。ＲＡＭ５２は、ＣＰＵ５１の主メモリ、ワークエリア等として機能する。
【００２３】
キーボードコントローラ（ＫＢＣ）５５は、キーボード５９や不図示のポインティングデバイスからのキー入力を制御する。ＣＲＴコントローラ（ＣＲＴＣ）５６は、ＣＲＴディスプレイ（ＣＲＴ）６０による表示を制御する。５７はディスクコントローラ（ＤＫＣ）を示し、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、プリンタ制御コマンド生成プログラム（以下プリンタドライバ）等を記憶するハードディスク（ＨＤ）、フロッピー(登録商標)ディスク（ＦＤ）等の外部メモリ６１とのアクセスを制御する。プリンタコントローラ（ＰＲＴＣ）５８は、双方向性インタフェース（インタフェース）６５を介してプリンタ１５００に接続されて、プリンタ１５００との通信制御処理を実行する。通信コントローラ（通信Ｃ）１０１は、通信部１０２によりネットワーク５０００を介して他の装置と通信する。プリンタ１５００は、かかる通信コントローラ（通信Ｃ）１０１によりネットワーク５０００を介して制御されてもよい。
【００２４】
なお、ＣＰＵ５１は、例えばＲＡＭ５２上に設定された表示情報ＲＡＭへのアウトラインフォントの展開（ラスタライズ）処理を実行し、ＣＲＴ６０上でのＷＹＳＩＷＹＧを可能としている。又、ＣＰＵ５１は、ＣＲＴ６０上の不図示のマウスカーソル等で指示されたコマンドに基づいて登録された種々のウインドウを開き、種々のデータ処理を実行する。ユーザは印刷を実行する際、印刷の設定に関するウインドウを開き、プリンタの設定や、印刷モードの選択を含むプリンタドライバに対する印刷処理方法の設定を行うことができる。
【００２５】
（プリンタ１５００のブロック構成例）
図１において、プリンタ１５００は、そのＣＰＵ７２によって制御される。プリンタＣＰＵ７２は、ＲＯＭ７３に記憶された制御プログラム等、あるいは外部メモリ７４に記憶された制御プログラム等に基づいてシステムバス７５に接続される印刷部（プリンタエンジン）７７に印刷出力情報としての画像信号を出力する。また、このＲＯＭ７３のプログラムＲＯＭには、ＣＰＵ７２の制御プログラム等が記憶される。また、ＲＯＭ７３のフォント用ＲＯＭには上記印刷出力情報を生成する際に使用するフォントデータ等が記憶される。また、ＲＯＭ７３のデータ用ＲＯＭには、ハードディスク等の外部メモリ７４がないプリンタの場合には、コンピュータ上で利用される情報等が記憶されている。
【００２６】
ＣＰＵ７２は入力部７８を介してコンピュータとの通信処理が可能となっている。これにより、プリンタ内の情報等をコンピュータ３０００に通知できる。ＲＡＭ７９は、ＣＰＵ７２の主メモリや、ワークエリア等として機能するＲＡＭである。また、図示しない増設ポートに接続されるオプションＲＡＭによりメモリ容量を拡張することができるように構成されている。なお、ＲＡＭ７９は、出力情報展開領域、環境データ格納領域、ＮＶＲＡＭ等に用いられる。
【００２７】
前述したハードディスク（ＨＤ）、ＩＣカード等の外部メモリ７４は、メモリコントローラ（ＭＣ）８０によりアクセスを制御される。外部メモリ７４は、オプションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。また、７８は前述した操作パネルで操作のためのスイッチおよびＬＥＤ表示器等である。通信コントローラ（通信Ｃ）１０３は、通信部１０４によりネットワーク５０００を介して他の装置と通信する。プリンタ１５００は、かかる通信コントローラ（通信Ｃ）１０３によりネットワーク５０００を介してホストコンピュータ３０００から制御されてもよい。
【００２８】
また、このプリンタ１５００には、課金のために、印刷枚数をカウントするカウンタ８１が設けられている。このカウンタ８１のカウント動作はＣＰＵ７２によって制御されうる。
【００２９】
又、前述した外部メモリ７４は１個に限らず、複数個備えられ、内蔵フォントに加えてオプションカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていてもよい。更に、図示しないＮＶＲＡＭを有し、操作パネル１５０１からのプリンタモード設定情報を記憶するようにしてもよい。
【００３０】
印刷部７７は本実施形態では電子写真方式のエンジンとしている。従って、印刷データはトナーのドットによって最終的に紙などの媒体上に記録される。なお、本発明における印刷の方式はこのような電子写真方式に限られないことはもちろんである。例えば、インクジェット方式など、ドットを形成して印刷を行ういずれの方式の印刷装置にも本発明を適用することができる。
【００３１】
（プリンタ１５００のメカニカル構成例）
図７は、プリンタ１５００の一例である両面印刷機能を有するカラーレーザプリンタの断面図である。
【００３２】
このプリンタは、ホストコンピュータ３０００より入力した印刷データに基づいて得られる各色毎の画像データで変調されたレーザ光をポリゴンミラー４３１により感光ドラム４１５を走査して静電潜像を形成する。そして、この静電潜像をトナー現像して可視画像を得、これを中間転写体４０９へ全色について多重転写してカラー可視画像を形成する。そして更に、このカラー可視画像を転写材２へ転写し、転写材４０２上にカラー可視画像を定着させる。以上の制御を行う画像形成部は、感光ドラム４１５を有するドラムユニット、接触帯電ローラ４１７を有する一次帯電部、クリーニング部、現像部、中間転写体４０９、用紙カセット１や各種ローラ４０３、４０４、４０５、４０７を含む給紙部、転写ローラ４１０を含む転写部及び定着部４２５によって構成されている。
【００３３】
ドラムユニット４１３は、感光ドラム（感光体）４１５と感光ドラム４１５のホルダを兼ねたクリーニング機構を有するクリーナ容器４１４とを一体に構成したものである。このドラムユニット４１３はプリンタ本体に対して着脱自在に支持され、感光ドラム４１５の寿命に合わせて容易にユニット交換可能に構成されている。上記感光ドラム４１５はアルミシリンダの外周に有機光導電体層を塗布して構成し、クリーナ容器４１４に回転可能に支持されている。感光ドラム４１５は、図示しない駆動モータの駆動力が伝達されて回転するもので、駆動モータは感光ドラム４１５を画像形成動作に応じて反時計回り方向に回転させる。感光ドラム１５の表面を選択的に露光させることにより静電潜像が形成されるように構成されている。スキャナ部４３０では、変調されたレーザ光を、モータ４３１ａにより画像信号の水平同期信号を同期して回転するポリゴンミラーにより反射し、レンズ４３２、反射鏡４３３を介して感光ドラムを照射する。
【００３４】
現像部は、上記静電潜像を可視画像化するために、イエロー（Ｙ）、マゼンダ（Ｍ）、シアン（Ｃ）の現像を行う３個のカラー現像器４２０Ｙ、４２０Ｍ、４２０Ｃと、ブラック（Ｂ）の現像を行う１個のブラック現像器４２１Ｂとを備えた構成を有する。カラー現像器４２０Ｙ、４２０Ｍ、４２０Ｃ及びブラック現像器４２１Ｂには、スリープ４２０ＹＳ、４２０ＭＳ、４２０ＣＳ及び４２１ＢＳと、これらスリープ４２０ＹＳ、４２０ＭＳ、４２０ＣＳ、４２１ＢＳそれぞれの外周に圧接する塗布ブレード４２０ＹＢ、４２０ＭＢ、４２０ＣＢ及び４２１ＢＢとがそれぞれ設けられる。また３個のカラー現像器４２０Ｙ、４２０Ｍ、４２０Ｃには塗布ローラ４２０ＹＲ、４２０ＭＲ、４２０ＣＲが設けられている。
【００３５】
又、ブラック現像器４２１Ｂはプリンタ本体に対して着脱可能に取り付けられており、カラー現像器４２０Ｙ、４２０Ｍ、４２０Ｃは回転軸４２２を中心に回転する現像ロータリー４２３にそれぞれ着脱可能に取り付けられている。
【００３６】
ブラック現像器４２１Ｂのスリープ４２１ＢＳは感光ドラム４１５に対して例えば３００μｍ程度の微小間隔を持って配置されている。ブラック現像器４２１Ｂは、器内に内蔵された送り込み部材によってトナーを搬送すると共に、時計回り方向に回転するスリープ４２１ＢＳの外周に塗布ブレード４２１ＢＢによって塗布するように摩擦帯電によってトナーへ電荷を付与する。又、スリープ４２１ＢＳに現像バイアスを印加することにより、静電潜像に応じて感光ドラム４１５に対して現像を行って感光ドラム４１５にブラックトナーによる可視画像を形成する。
【００３７】
３個のカラー現像器４２０Ｙ、４２０Ｍ、４２０Ｃは、画像形成に際して現像ロータリー４２３の回転に伴って回転し、所定のスリープ４２０ＹＳ、４２０ＭＳ、４２０ＣＳが感光ドラム４１５に対して３００μｍ程度の微小間隔を持って対向することになる。これにより所定のカラー現像器４２０Ｙ、４２０Ｍ、４２０Ｃが感光ドラム４１５に対向する現像位置に停止し、感光ドラム４１５に可視画像が作成される。
【００３８】
カラー画像形成時には、中間転写体４０９の１回転毎に現像ロータリー４２３が回転し、イエロー現像器４２０Ｙ、マゼンダ現像器４２０Ｍ、シアン現像器４２０Ｃ、次いでブラック現像器４２１Ｂの順で現像工程がなされ、中間転写体４０９が４回転してイエロー、マゼンダ、シアン、ブラックのそれぞれのトナーによる可視画像を順次形成し、その結果フルカラー可視画像を中間転写体４０９上に形成する。
【００３９】
中間転写体４０９は、感光ドラム４１５に接触して感光ドラム４１５の回転に伴って回転するように構成されたもので、カラー画像形成時に時計回り方向に回転し、感光ドラム４１５から４回の可視画像の多重転写を受ける。又、中間転写体４０９は画像形成時に後述する転写ローラ４１０が接触して転写材４０２を挟持搬送することにより転写材４０２に中間転写体４０９上のカラー可視画像を同時に多重転写する。中間転写体の外周部には、中間転写体４０９の回転方向に関する位置を検知するためのＴＯＰセンサ４０９ａ及びＲＳセンサ４０９ｂと、中間転写体に転写されたトナー像の濃度を検知するための濃度センサ４０９ｃが配置されている。
【００４０】
転写ローラ４１０は、感光ドラム４１５に対して接離可能に支承された転写帯電器を備えたもので、金属軸を中抵抗発泡弾性体により巻回することによって構成されている。
【００４１】
転写ローラ４１０は、図７に実線で示すように中間転写体４０９上にカラー可視画像を多重転写している間は、カラー可視画像を乱さぬように下方に離開している。そして、上記中間転写体４０９上に４色のカラー可視画像が形成された後は、このカラー可視画像を転写材４０２に転写するタイミングに合わせてカム部材（不図示）により転写ローラ４１０を図示点線で示す上方に位置させる。これにより転写ローラ４１０は転写材２を介して中間転写体４０９に所定の押圧力で圧接すると共に、バイアス電圧が印加され、中間転写体４０９上のカラー可視画像が転写材４０２に転写される。
【００４２】
定着部４２５は、転写材４０２を搬送させながら、転写されたカラー可視画像を定着させるものであり、転写材４０２を加熱する定着ローラ４２６と転写材４０２を定着ローラ４２６に圧接させるための加圧ローラ４２７とを備えている。定着ローラ４２６と加圧ローラ４２７とは中空状に形成され、内部にそれぞれヒータ４２８、４２９が内蔵されている。即ち、カラー可視画像を保持した転写材２は定着ローラ４２６と加圧ローラ４２７とにより搬送されると共に、熱及び圧力を加えることによりトナーが表面に定着される。
【００４３】
可視画像定着後の転写材２は、その後排紙ローラ４３４、４３５、４３６によって排紙部４３７へ排出して画像形成動作を終了する。
【００４４】
クリーニング手段は、感光ドラム４１５上及び中間転写体４０９上に残ったトナーをクリーニングするものであり、感光ドラム４１５上に形成されたトナーによる可視画像を中間転写体４０９に転写した後の廃トナーあるいは、中間転写体４０９上に作成された４色のカラー可視画像を転写材２に転写した後の廃トナーは、クリーナ容器４１４に蓄えられる。
【００４５】
印刷される転写材（記録用紙）４０２は、用紙カセット４０１から給紙ローラ４０３により取り出されて中間転写体４０９と転写ローラ４１０との間に挟まれるようにして搬送されてカラートナー画像が記録され、定着部４２５を通過してトナー像が定着される。片面印刷の場合には、案内４３８が上方の排紙部に記録用紙を導くように搬送経路を形成するが、両面印刷に対しては、下方の両面ユニットに導くように経路を形成する。
【００４６】
両面ユニットに導かれた記録用紙は、搬送ローラ４４０により用紙カセット４０１の下部（二点鎖線で示す搬送経路）に一旦送り込まれた後に逆方向に搬送され、両面トレイ４３９に送られる。両面トレイ４３９上では、用紙は用紙カセット１に載置された状態とは表裏が逆になり、また搬送方向について前後が逆になっている。この状態で再びトナー像の転写、定着を再度行うことで、両面印刷ができる。
【００４７】
又、このプリンタ１５００は、図示は省略するが、第１の記録媒体としての通常の印刷用紙を載置する上述した用紙カセット１の他、第２の記録媒体としてのインデックス用紙または合紙を載置するオプションカセットを有し、ホストコンピュータ３０００からの制御指令に従い用紙を取り出すカセットを選択しつつ印刷処理を行う。これにより、用紙カセット１からの用紙への印刷途中で、オプションカセットからのインデックス用紙を中差しすることが可能になる。
【００４８】
＜本発明が適用される印刷システムのソフトウエア構成例＞
図２は、本実施形態における印刷システムの印刷処理に係るソフトウェア構成を示す図である。
【００４９】
ホストコンピュータ３０００において、アプリケーション２０１、グラフィックエンジン２０２、プリンタドライバ２０３、およびシステムスプーラ２０４は、外部メモリ６１に保存され、ＯＳやそのプログラムを利用する別のプログラムからの指示によってＲＡＭ２にロードされ、ＣＰＵ５１によって実行されるプログラムモジュールである。又、アプリケーション２０１およびプリンタドライバ２０３は、外部メモリ６１のＦＤや不図示のＣＤ−ＲＯＭもしくはネットワークを経由して外部ディスク１１のＨＤに追加することが可能となっている。外部メモリ６１に保存されているアプリケーション２０１はＲＡＭ５２にロードされて実行されるが、このアプリケーション２０１からプリンタ１５００に対して印刷を行う際には、同様にＲＡＭ５２にロードされ実行可能となっているグラフィックエンジン２０２を利用して出力（描画）を行う。
【００５０】
グラフィックエンジン２０２（Ｗｉｎｄｏｗｓ（登録商標）OS（米国マイクロソフト社の登録商標）では、ＧＤＩと呼ばれるＯＳの描画手段に相当する）は、プリンタ１５００のために用意されたプリンタドライバ２０３を同様に外部メモリ６１からＲＡＭ２にロードし、アプリケーション２０１の出力をプリンタドライバ２０３に設定する。そして、アプリケーション２０１から受け取るＧＤＩ(Graphic Device Interface)関数からＤＤＩ(Device Driver Interface)関数に変換して、プリンタドライバ２０３へＤＤＩ関数を出力する。プリンタドライバ２０３は、グラフィックエンジン２０２から受け取ったＤＤＩ関数に基づいて、プリンタが認識可能な制御コマンド、例えばＰＤＬ(Page Description Language)に変換する。変換されたプリンタ制御コマンドは、ＯＳによってＲＡＭ２にロードされたシステムスプーラ２０４を経てインタフェイス６５あるいはネットワーク５０００経由でプリンタ１５００へ印刷データとして出力される仕組みとなっている。
【００５１】
尚、上記各モジュールはユーザインタフェース(ＵＩ)モジュールを介して、ユーザとの双方向の対話が可能である。
【００５２】
（本実施形態のプリンタ能力に基づく処理を行なうソフトウエア構成例）
本実施形態の印刷システムは、更に、アプリケーション２０１からの印刷データを中間コードデータでスプールする構成を有する。
【００５３】
図３は、かかる中間コードデータのスプールに係るソフトウェア構成を示す図である。
【００５４】
図３において、アプリケーション２０１からの印刷データは、印刷データ保存用ドライバ（スプーラ）３０２を介して中間データ形式の保存ファイル３０３として図１の外部メモリ６１に保存（スプール）される。この保存ファイル３０３は、印刷物のコンテンツデータや印刷用設定データ等を含む。ここで、印刷物のコンテンツデータとは、ユーザが任意のアプリケーション２０１上で作成したデータの中間コードであり、印刷用設定データとは、コンテンツデータをどのように出力するか（出力体裁等）を記述したデータである。
【００５５】
そして、この保存ファイル３０３を印刷制御アプリケーション３０４が読み込む。このアプリケーションは、この読み込んだ保存ファイル３０３の出力体裁を変更して設定し、表示し、保存し、印刷命令を出力することが可能である。実際に印刷のための描画出力を行わせるのは印刷アプリケーション（デスプーラ）３０５である。印刷制御アプリケーション３０４からの印刷命令を受けた印刷アプリケーション（デスプーラ）３０５は、印刷制御アプリケーション３０４で設定された出力体裁に従い、保存ファイル３０３の描画データを加工して、ＧＤＩ関数としてグラフィックエンジン３０６に出力指示を送る。そして、グラフィックエンジン３０６は受け取ったＧＤＩ関数をプリンタドライバ２０３が解釈可能なＤＤＩ関数に変換する。これにより、プリンタドライバ２０３は、グラフィックエンジン２０２から取得したＤＤＩ関数に基づいてページ記述言語等によるプリンタ制御コマンドを生成し、システムスプーラ２０４を経由してプリンタ１５００に出力することになる。
【００５６】
印刷制御アプリケーション３０４は、印刷アプリケーション３０５を用いて、中間コード形式の保存ファイル３０３を加工することで印刷データの内容を変更することができる。これにより、アプリケーション２０１からの印刷データに対して、拡大縮小や、複数ページを１ページに縮小して印刷する等、アプリケーション２０１が持たない機能を実現することができる。一般には、印刷制御アプリケーション３０４が提供するユーザインタフェース（ＵＩ）のウインドウを介して設定を行い、その設定内容がＲＡＭ５２あるいは外部メモリ６１上に保管される。
【００５７】
（ホストコンピュータ３０００の記憶構造例）
図４は、ホストコンピュータ３０００におけるＲＡＭ５２、ＲＯＭ５３、外部メモリ６１を含む記憶構造の一例を示す図である。図４では、上部から下部に向かって連続したアドレス空間を形成するようなイメージで図示した。尚、図４には本実施形態の特徴部分に関連のある情報を図示し、特徴部分でない情報は図示していない。
【００５８】
ＯＳやＢＩＯＳなどのシステムプログラム５３ａ及び固定のデータ／パラメータ５３ｂがＲＯＭ５３に記憶されている。この固定のデータ／パラメータ５３ｂにフォントなども含まれる。尚、上述のように、ＯＳやＢＩＯＳなどのシステムプログラム５３ａ及び固定のデータ／パラメータ５３ｂが外部メモリ６１に格納されており、ＲＡＭ５２にロードされてＣＰＵ５１により実行されてもよい。
【００５９】
続くＲＡＭ５２は、一時記憶のデータ領域とプログラムロード領域と含む。
【００６０】
データ領域には、本実施形態で使用するＧＤＩを使用して入力されたＧＤＩ描画データ領域５２ａ、印刷データ保存用ドライバ３０２で生成された保存用の中間コードデータ領域５２ｂ、グラフィックエンジン２０２により変換されたＤＤＩ描画データ領域５２ｃ、プリンタドライバ２０３により生成されたＰＤＬコマンドデータ領域５２ｄ、本実施形態で使用される印刷設定情報であるベージ単位／用紙単位のカラーモノクロ指定情報領域５２ｅ、印刷制御アプリケーション３０４がプリンタの能力に従って生成するデスプールテーブル領域５２ｆ（図４及び図５参照）、印刷属性を設定し、本例では印刷アプリケーション（デスプーラ）３０５の指示によりプリンタドライバ２０３が設定変更する印刷設定構造体領域５２ｇ、本実施形態で使用されるプリンタ情報であるプリンタＩＤ領域５２ｈ、該プリンタのカラーモノクロ能力領域５２ｉ、本実施形態のＵＩ情報である印刷指示の有無を記憶する印刷指示フラグ領域５２ｊ、カラーモノクロ切り替えの丸め（用紙単位への）を行なうか否かの指示を記憶する丸め込みフラグ領域５２ｋが記憶される。
【００６１】
プログラムロード領域５２ｍには、外部メモリ６１からアプリケーションや印刷制御アプリケーション、グラフィックエンジン、プリンタエンジンなどのプログラムがロードされ、ＣＰＵ５１により実行されて、図１乃至図３の各ブロックの処理が実現する。
【００６２】
続く外部メモリ６１は、ファイル保存用のデータ領域と本実施形態のアプリケーションや印刷制御アプリケーション、グラフィックエンジン、プリンタエンジンなどのプログラムを記憶するプログラム領域とを含む。
【００６３】
データ領域には、保存ファイル３０３として中間データを保持する保存ファイル領域６１ａを有する。
【００６４】
プログラム領域には、アプリケーション２０１を記憶するアプリケーション領域６１ｂ、印刷データ保存用ドライバ３０２を記憶する印刷データ保存用ドライバ領域６１ｃ、印刷制御アプリケーション３０４を記憶する印刷制御アプリケーション領域６１ｄ、印刷アプリケーション３０５を記憶する印刷アプリケーション領域６１ｅ、グラフィックエンジン２０２を記憶するグラフィックエンジン領域６１ｆ、プリンタドライバ２０３を記憶するプリンタドライバ領域６１ｇ、プリンタドライバＳＤＫ(Software Development Kit)を記憶するプリンタドライバＳＤＫ領域６１ｈ、システムスプーラ２０４を記憶するシステムスプーラ領域６１ｉ、ＵＩモジュールを記憶するＵＩモジュール領域６１ｊが含まれる。ここで、プリンタドライバＳＤＫとは、アプリケーション（ここでは印刷アプリケーション３０５）からプリンタドライバ２０３に対して印刷設定を行う機能を有するモジュールであり、このプリンタドライバＳＤＫを用いることにより、プリンタドライバ２０３の印刷設定画面（ユーザインタフェース画面）を開いてユーザに手動で印刷設定を行わせることなく、印刷設定をプリンタドライバ２０３に通知することが可能となる。また、プリンタドライバＳＤＫを用いることで、印刷アプリケーション３０５がプリンタドライバ２０３からプリンタ仕様情報を要求して受け取ることも可能である。
【００６５】
更に、本実施形態の特徴部分でない他のデータ／プログラム領域を有している。
【００６６】
（デスプールテーブルの例）
図５及び図６は、本実施形態で印刷制御アプリケーション３０４が生成し、印刷アプリケーション３０５に渡すデスプールテーブルの構成例を示す図である。
【００６７】
デスプールテーブルとは、印刷アプリケーション３０５に対する印刷情報を指示するためのテーブルである。図５に示すように、デスプールテーブルは、印刷設定情報を、ドキュメント全体に有効な印刷設定、シートのくくりで有効な印刷設定、シートに有効な印刷設定、および物理ページに有効な印刷設定、に関する情報を階層的に記述したものである。物理ページに有効な印刷設定としてカラーモノクロ指示を書き込むことができる。カラーモノクロ切り替えの発生するようなドキュメントの印刷の場合であれば、物理ページ情報として、カラーモノクロ情報を書き示すことになる。図６は、そのときのデスプールテーブルを例示した図である。また、ＰＣＬのように用紙単位にしかカラーモノクロ切替が行えない（サポートしていない）ＰＤＬの仕様のプリンタの場合には、シートに有効な印刷設定に関するシート情報として、カラーモノクロ情報を書き示すことになる。
【００６８】
＜本実施形態の特徴部の処理手順例＞
以下、印刷制御アプリケーション３０４および印刷アプリケーション（デスプーラ）３０５におけるカラーモノクロ切り替え処理方法を、本実施形態の処理手順を示す図８及び図９のフローチャートに従って、図１０乃至図１３のＵＩ画面を参照して詳しく説明する。
【００６９】
（印刷制御アプリケーション３０４の処理手順例）
図８は、カラーとモノクロ原稿が混在したドキュメントの印刷時における、印刷制御アプリケーション３０４による制御処理手順を示すフローチャートである。
【００７０】
まず、ステップＳ５０１で、アプリケーション２０１あるいはＵＩから印刷制御アプリケーション３０４を起動する。図１０は、印刷制御アプリケーション３０４が提供するメイン画面としてのＵＩ画面の一例を示す図である。
【００７１】
このＵＩ画面は、オープンした保存ファイルの文書構造を示すツリー部６０１と、印刷された状態を表示するプレビュー部６０２とを含む。ツリー部６０１には、その保存ファイルに含まれる章と、各章に含まれるページが木構造で表示される。ツリー部６０１には頁番号が表示されており、この頁番号は原稿ページの番号を示している。又、プレビュー部６０２には、印刷ページの内容が縮小されて表示される。その表示順序は、保存ファイルの文書構造を反映したものとなっている。
【００７２】
図１１は、印刷制御アプリケーション３０４がオープンした保存ファイルに関する設定画面の一例を示す図である。この設定画面は前述したメイン画面から呼び出すことができる（例えば、Print Setting６０３をクリックすることにより）。図１１におけるPrint Style７０１で2-sided Printing７０２が設定されると、図１０に示すように、プレビュー部６０２にも対応する両面情報のプレビューが表示される。すなわち、プレビュー部６０２では各頁１〜５の両面を示されている。
【００７３】
次に、ステップＳ５０２で、印刷制御アプリケーション３０４は、プリンタドライバＳＤＫをコールして、プリンタドライバ２０３から対象となるプリンタ（その制御部）の両面印刷時におけるカラーモノクロ切り替え能力を取得する。
【００７４】
例えば、該当するプリンタドライバＳＤＫで、
＜アイテム名＞
CDM_ITEM_DUPLEXCOLORMODESWITCHINGCAP
＜機能＞
両面印刷時における物理ページ単位でのカラー/モノクロ切り替え能力を取得する。
＜Ｄａｔａ Ｖａｌｕｅ＞
CDM_DUPLEXCOLORMODESWITCHINGCAPCDM_TRUE：切り替え可能
CDM_DUPLEXCOLORMODESWITCHINGCAPCDM_FALSE：切り替え不可
の場合、"CDM_DUPLEXCOLORMODESWITCHINGCAPCDM_TRUE"がリターン値としてプリンタドライバ２０３からプリンタドライバＳＤＫを介して返ってきた場合には、両面印刷時には物理"ページ"単位（印刷面単位）でカラーモノクロ切り替えが行えると判断し、"CDM_DUPLEXCOLORMODESWITCHINGCAPCDM_FALSE"がリターン値として返ってきた場合には、両面印刷時に物理"用紙"単位でしかカラー/モノクロ切り替えが行えないと判断する。つまり、印刷制御アプリケーション３０４は、取得した結果を基に、物理"用紙"単位でカラーモノクロ切り替えを行うか、物理"ページ"単位でカラーモノクロ切り替えを行うかを決定する。
【００７５】
ステップＳ５０３で、印刷制御アプリケーション３０４から印刷実行が選択されると、上記プリンタドライバＳＤＫの判定結果を元に、物理"用紙"単位でしかカラーモノクロ切り替えが行えない（表面と裏面で、別々にカラーモノクロ指定が行えない）と判断された場合にはステップＳ５０５に処理を移し、印刷制御アプリケーション３０４は、保存ファイル３０３の文書データの各ページのカラーモノクロ属性を解析して、表面と裏面が異なるカラーモノクロ属性をもつ用紙の検索を行う。"ページ"用紙単位でカラーモノクロ切り替えが行える（表面と裏面を別々にカラーモノクロ指定が出来る）と判断された場合にはステップＳ５０８に処理を移し、カラーモノクロ指示を含むデスプールテーブルの作成処理を始める。
【００７６】
ステップＳ５０５で、表面と裏面でカラーモノクロ属性が異なる用紙があった場合にはステップＳ５０６に処理を移し、印刷制御アプリケーション３０４は、カラーモノクロ設定の丸め込みを行ってもよいか否かの警告を表示する。図１２はこの時の警告メッセージの例であり、ここで「ＯＫ」８０１が選択されると、図１３の丸め込みメッセージが表示される。ここで「ＹＥＳ」９０１が選択されるとステップＳ５０７に処理を移し、「ＮＯ」９０２が選択されると印刷処理を終了する。「ＮＯ」９０２が選択された時に印刷処理を中止する理由であるが、カラーモノクロ切り替えを物理"用紙"単位でしか行えないプリンタで表面と裏面のカラーモノクロ属性が異なるドキュメントの印刷を場合が有るからである。
【００７７】
ステップＳ５０５で、表面と裏面でカラーモノクロ属性が異なるページがなかった場合にはステップＳ５０８に処理を移し、カラーモノクロ指示を含むデスプールテーブルの作成処理を始める。
【００７８】
（本実施形態の丸め込みの具体例）
図１４は、本実施形態の丸め込みの例を示したものである。
【００７９】
例えば、
＜一枚目＞：表面 カラー／裏面 モノクロ
＜二枚目＞：表面 カラー／裏面 カラー
＜三枚目＞：表面 モノクロ／裏面 モノクロ
というドキュメントがあった場合、一枚目のみ表面と裏面のカラー属性が異なる為、丸め込みを行った結果は図１４の下図のような印刷となり、下記の課金状況となる。
＜一枚目＞：表面 カラー／裏面 カラー
＜二枚目＞：表面 カラー／裏面 カラー
＜三枚目＞：表面 モノクロ／裏面 モノクロ
ステップＳ５０８のカラーモノクロ指示を含むデスプールテーブルの作成処理であるが、デスプールテーブルとは、上述のように、印刷アプリケーション３０５に対する印刷情報を指示するためのテーブルで、このステップＳ５０８では、図５のような構成のデスプールテーブルを作成し、物理ページに有効な印刷設定としてカラーモノクロ指示を書き込むことができる。カラーモノクロ切り替えの発生するようなドキュメントの印刷の場合であれば、物理ページ情報として、カラーモノクロ情報を書き示すことになる。図６は、そのときのデスプールテーブルを例示した図である。
【００８０】
次に、ステップＳ５０９で、印刷制御アプリケーション３０４から印刷アプリケーション（デスプーラ）３０５への印刷指示処理が行われる。これは、ステップＳ５０８で作成したデスプールテーブルの内容に従い印刷を行うように、印刷アプリケーション（デスプーラ）３０５に指示を行う処理である。これにより、実際に印刷処理が行われる。
【００８１】
（印刷アプリケーション３０５の処理手順例）
次に、印刷アプリケーション（デスプーラ）３０５による印刷制御処理を説明する。
【００８２】
図９は、印刷アプリケーション（デスプーラ）３０５による印刷制御処理を示すフローチャートである。
【００８３】
まず、ステップＳ１３０１で、印刷アプリケーション３０５は、印刷制御アプリケーション３０４より受け取ったデスプールテーブルを読み込む。具体的には、ドキュメント全体に有効な印刷設定、シートのくくりで有効な印刷設定、シートに有効な印刷設定、物理ページに有効な印刷設定が順次読み込まれる。
【００８４】
次に、ステップＳ１３０２で、読み込んだデスプールテーブルに物理ページに有効な印刷設定としてカラーモノクロ切り替え指示があるか否かを判断する。ここでカラーモノクロ切り替え指示があった場合はステップＳ１３０３に進み、次のカラーモノクロ切り替えコマンドの送信準備処理を行う。
【００８５】
カラーモノクロ切り替えコマンドの送信準備処理では、印刷アプリケーション３０５は、ドライバＳＤＫ（図示省略）に対してカラーモノクロ切り替えを行う印刷設定構造体（ＤＥＶＭＯＤＥ）の作成を依頼する。ドライバＳＤＫは、印刷設定構造体を定義するためのアプリケーションであり、印刷アプリケーション３０５から指示された印刷設定構造体を作成する。印刷アプリケーション３０５は、ドライバＳＤＫに作成してもらった印刷設定構造体を引数として、グラフィックエンジン２０２（ＧＤＩ）に対して"Ｒｅｓｅｔ＿ＤＣ"と呼ばれるＧＤＩ関数を吐き出す。グラフィックエンジン２０２は、受け取った"Ｒｅｓｅｔ＿ＤＣ"のＧＤＩ関数を"Ｒｅｓｅｔ＿Ｄｅｖｉｃｅ"と呼ばれるＤＤＩ関数に変換し、プリンタドライバ２０３に出力する。プリンタドライバ２０３は、"Ｒｅｓｅｔ＿Ｄｅｖｉｃｅ"の引数として受け取った印刷設定構造体を利用して、印刷指示の作成を行う。この印刷指示もプリンタに依存するため、プリンタドライバ２０３を通じて作成することになる。この一連の処理により、ステップＳ１３０３のカラーモノクロ切り替えコマンドの送信準備処理が行われる。このように処理することで、印刷処理中に、印刷設定構造体（ＤＥＶＭＯＤＥ）を変更してプリンタドライバが印刷指示の生成を行うことが可能となる。
【００８６】
そして次に、ステップＳ１３０４で、プリンタドライバ２０３は、カラーモノクロ切り替えコマンドをプリンタ１５００に送信する。カラーモノクロ切り替えコマンドを受け取ったプリンタ１５００は、それに基づいてカラーモノクロ切り替えを行うように制御することになる。カラーモノクロ切り替えコマンドは、実際にはグラフィックエンジン２０２を通じてプリンタドライバ２０３経由でプリンタ１５００に送信される。カラーモノクロ切り替えコマンドは具体的にはＰＤＬによる実装であるが、一例としてＰＣＬ５ｅによるコマンド拡張実装例を下記に示す。
＜Ｃｏｌｏｒの場合＞
Esc&n32WbCANONSTRING PAGEHINT_COLOR=COLOR
＜Ｍｏｎｏｃｒｏｍｅの場合＞
Esc&n32WbCANONSTRING PAGEHINT_COLOR=MONO
カラーモノクロ切り替えコマンドが設定されると、そのページは、そのコマンドで指示したカラーモノクロ属性で印刷され課金される。
【００８７】
その後、ステップＳ１３０６で、最後のページか否かを判定する。最後のページでないと判定されれば、ステップＳ１３０２に戻って次のページの処理に移行する。
【００８８】
なお、上述した実施形態では、プリンタ１５００へのデータ送信を印刷アプリケーション（デスプーラ）３０５からグラフィックエンジン２０２を介して行うようにしたが、グラフィックエンジン２０２を介さすに送信する構成をとってもよい。この場合、ステップＳＳ１３０３のカラーモノクロ切り替えコマンド送信準備処理は行われず、かわりにステップＳ１３０４で、直接プリンタドライバ２０３にそのコマンド発行命令を促すことになる。
【００８９】
このように、上述した実施形態によれば、カラーページに対してはカラー切り替えコマンドがプリンタに送信され、モノクロページに対してはモノクロ切り替えコマンドがプリンタに送信されるため、プリンタ側で正しいカラーモノクロ課金が行えるようになる。なお、上述の実施形態では両面印刷を行うことのできるプリンタを例に説明したが、片面印刷を行う場合には、かかる両面印刷機能は必要ではない。
【００９０】
以上のように、カラーとモノクロが混在したドキュメントを印刷実行する際に、印刷処理装置側の能力に応じて、物理ページ単位でカラーモノクロ判定を行うのか、物理用紙単位で行うかを切り替えることによって、高速に、かつ精度の高いカラーモノクロ判定を行うことが可能となる。
【００９１】
＜他の実施形態１＞
上記実施形態では、ステップＳ５０２で、印刷制御アプリケーション３０４に返すプリンタドライバＳＤＫのリターン値を、プリンタドライバが保持している値としたが、これをプリンタドライバが保持するのではなく、同タイミングでプリンタに問い合わせて、取得した値を元にリターン値を変更するという方法でもよい。
【００９２】
具体的には、印刷制御アプリケーションからドライバＳＤＫがコールされた時点で、プリンタドライバが構成情報取得モジュールを経由してプリンタに能力の問い合わせて、「物理ページ単位での切り替えが可能」が能力として返ってきたら、"CDM_DUPLEXCOLORMODESWITCHINGCAPCDM_TRUE"をリターン値として印刷制御アプリケーションに返し、「物理用紙単位での切り替えが可能」が能力として返ってきたら、"CDM_DUPLEXCOLORMODESWITCHINGCAPCDM_FALSE"をリターン値として印刷制御アプリケーションに返す。このようにすれば、プリンタドライバの作りこみを、プリンタに依存しない汎用的なものにすることが出来る。
【００９３】
＜他の実施形態２＞
上記実施形態では、カラーモノクロの切り替え制御を行うＰＤＬコマンドとして、カラーページとモノクロページを指定する、
＜Ｃｏｌｏｒの場合＞
Esc&n32WbCANONSTRING PAGEHINT_COLOR=COLOR
＜Ｍｏｎｏｃｒｏｍｅの場合＞
Esc&n32WbCANONSTRING PAGEHINT_COLOR=MONO
を例に説明したが、これをＣＯＬＯＲではなく、ＮＯＮＥに変更して、プリンタ側でのカラーモノクロ判定も行うようにしても良い。（ここで、ＣＯＬＯＲの場合は必ずカラーで課金されるのに対して、ＮＯＮＥの場合はプリンタドライバで指定しない）。
【００９４】
通常、プリンタドライバで行うカラーモノクロ判定は、全てのオブジェクトがモノクロの場合はモノクロと判断して、それ以外はカラーと判断する。しかしながら、例えばカラーのオブジェクトの上にモノクロオブジェクトが上書きされると、見た目にはモノクロでもプリンタドライバではカラーと判断される場合がある。つまり、プリンタドライバのカラーモノクロ判定では判断できなかったものが、プリンタ側で拾えるようになる。これらにより、さらに精度の高いカラーモノクロ判断が行えるようになる。
【００９５】
なお、本発明は、複数の機器(例えばコンピュータ、インタフェース機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（複写機、プリンタ、ファクシミリ装置など）に適用してもよい。
【００９６】
また、本発明の目的は、前述した実施形態で示したフローチャートの手順を実現するプログラムコードを記憶した記憶媒体を、システムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても達成される。
【００９７】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００９８】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【００９９】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【０１００】
更に、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【図面の簡単な説明】
【０１０１】
【図１】本実施形態における印刷システムの構成例を示す図である。
【図２】本実施形態における印刷システムの印刷処理に係わるソフトウエア構成例を示す図である。
【図３】本実施形態における印刷システムの中間コードデータのスプールに係わるソフトウエア構成例を示す図である。
【図４】本実施形態のホストコンピュータ３０００におけるメモリ空間の構造例の概略を示す図である。
【図５】本実施形態におけるデスプールテーブルの構造例を示す図である。
【図６】本実施形態におけるデスプールテーブルへのカラーモノクロ切り替え情報の記録例を示した図である。
【図７】本実施形態における両面印刷機能を有するカラーレーザプリンタの断面図である。
【図８】カラーとモノクロ原稿が混在したドキュメントの印刷時における、印刷制御アプリケーションによる処理手順例を示したフローチャートである。
【図９】本実施形態における印刷アプリケーション（デスプーラ）による処理手順例を示すフローチャートである。
【図１０】印刷制御アプリケーションが提供するメイン画面の一例を示した図である
【図１１】印刷制御アプリケーションの保存ファイルに関する設定画面の一例を示した図である。
【図１２】カラーモノクロ設定の丸め込みを行ってもよいかどうかを警告する画面の一例を示した図である。
【図１３】カラーモノクロ設定の丸め込みを行ってもよいかどうかを再警告する画面の一例を示した図である。
【図１４】物理用紙単位でしかカラーモノクロ切り替えが行えないドキュメントの丸め込みの具体例を示した図である。
【図１】
2006302036.tif 000003
【図２】
2006302036.tif 000004
【図３】
2006302036.tif 000005
【図４】
2006302036.tif 000006
【図５】
2006302036.tif 000007
【図６】
2006302036.tif 000008
【図７】
2006302036.tif 000009
【図８】
2006302036.tif 000010
【図９】
2006302036.tif 000011
【図１０】
2006302036.tif 000012
【図１１】
2006302036.tif 000013
【図１２】
2006302036.tif 000014
【図１３】
2006302036.tif 000015
【図１４】
2006302036.tif 000016