(57)【特許請求の範囲】
【請求項１】
アプリケーションから印刷データを受け取って印刷装置に印刷実行させる情報処理装置において、
アプリケーションから受け取った印刷データがモノクロデータであった場合に、前記印刷データ内の同色で印刷位置が重なる描画オブジェクトを検出する検出手段と、
前記印刷データと前記検出手段の検出結果を保持する第１の保持手段と、
前記検出手段により検出された同色で印刷位置が重なる描画オブジェクトの存在をユーザに通知する通知手段と、
前記第１の保持手段に印刷データが保持されている状態で、前記アプリケーションからプリンタ能力の問い合わせがあった場合、前記印刷装置がモノクロ装置であってもカラー装置であるようにプリンタ能力を擬装して前記アプリケーションに応答する擬装手段と、
を有することを特徴とする情報処理装置。
【請求項２】
前記擬装手段により前記プリンタ能力を擬装したことに応じて前記アプリケーションから受け取ったカラー印刷データをモノクロの印刷データに変換する変換手段と、
前記変換手段によりモノクロに変換された印刷データを保持する第２の保持手段と、
前記第１の保持手段に保持された印刷データと検出結果から前記第１の印刷イメージを生成し、さらに、前記第２の保持手段に保持された印刷データから第２の印刷イメージを生成し、前記第１の印刷イメージと前記第２の印刷イメージとを比較可能に表示する比較手段と、
を有することを請求項１記載の情報処理装置。
【請求項３】
前記比較手段に表示されている前記第１の印刷イメージ、又は、前記第２の印刷イメージに対応する印刷データの印刷を指示する第２の指示手段と、
前記第２の指示手段により前記第１の印刷イメージに対応する印刷データが印刷指示された場合、前記第１の保持手段に保持される印刷データを前記印刷装置に印刷処理させるとともに前記第１，２の保持手段に保持されている印刷データと検索結果を削除させ、一方、前記第２の指示手段により前記第２の印刷イメージに対応する印刷データが印刷指示された場合、前記第２の保持手段に保持される印刷データを前記印刷装置に印刷処理させるとともに前記第１，２の保持手段に保持されている印刷データと検索結果を削除させるように制御する第２の制御手段と、
を有することを特徴とする請求項２記載の情報処理装置。
【請求項４】
前記第１の保持手段は、前記第１の保持手段に前記印刷データが保持された日時の情報も保持するものであり、
前記擬装手段は、前記第１の保持手段に前記印刷データが保持されてから一定期間が経過している場合には、前記第１の保持手段に印刷データが保持されている状態で、前記アプリケーションからプリンタ能力の問い合わせがあった場合でも、前記プリンタ能力の擬装を行わないことを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記一定期間を設定する設定手段を有することを特徴とする請求項４記載の情報処理装置。
【請求項６】
前記通知手段は、前記検出手段により検出された同色で印刷位置が重なる描画オブジェクトの輪郭を該オブジェクトの描画色と異なる色に変更した状態で前記印刷データから第１の印刷イメージを生成し、該生成した第１の印刷イメージを表示することを有することを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
前記通知手段により前記同色で印刷位置が重なる描画オブジェクトの存在を通知された印刷データの印刷、又は、印刷中止を指示する第１の指示手段と、を有することを特徴とする請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
前記第１の指示手段により印刷が指示された場合には、前記第１の保持手段に保持されている前記印刷データを前記印刷装置に印刷処理させるとともに前記第１の保持手段に保持されている前記印刷データと前記検出結果を削除させ、一方、前記第１の指示手段により印刷中止が指示された場合には、前記第１の保持手段に前記印刷データと前記検出結果を保持させたままにしておくように制御する第１の制御手段と、
前記アプリケーションから前記印刷データの印刷を再度指示するようにユーザに促す催促手段と、
を有することを特徴とする請求項７記載の情報処理装置。
【請求項９】
アプリケーションから印刷データを受け取って印刷装置に印刷実行させ、当該印刷データを保持する保持手段を有する情報処理装置における印刷制御方法において、
アプリケーションから受け取った印刷データがモノクロデータであった場合に、前記印刷データ内の同色で印刷位置が重なる描画オブジェクトを検出する検出ステップと、
前記検出ステップの検出結果を前記保持手段に保持する保持ステップと、
前記検出ステップで検出された同色で印刷位置が重なる描画オブジェクトの存在をユーザに通知する通知ステップと、
前記保持手段に印刷データが保持されている状態で、前記アプリケーションからプリンタ能力の問い合わせがあった場合、前記印刷装置がモノクロ装置であってもカラー装置であるようにプリンタ能力を擬装して前記アプリケーションに応答する擬装ステップと、
を有する事を特徴とする印刷制御方法。
【請求項１０】
請求項９に記載された印刷制御方法をコンピュータに実行させるためのプログラム。
【請求項１１】
請求項９に記載された印刷制御方法をコンピュータに実行させるためのプログラムをコンピュータが読み取り可能に記憶した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションから印刷データを受け取って印刷装置に印刷実行させる情報処理装置および印刷制御方法およびプログラムおよび記録媒体に関する。
【背景技術】
【０００２】
カラードキュメントをモノクロ機で印刷する場合、多くの場合はプリンタドライバにおいて、ドキュメントの色をグレースケールに置き換えて印刷を実行している。
【０００３】
特開平１１−３３９０３４号公報（特許文献１）には、入力されたカラー画素をモノクロ画素に変換する際に、隣接する画素において、異なる色でありながら、同じもしくは非常に近い輝度値となる場合を検出し、あえて異なる輝度値に設定することにより、異なった色でありながら同じ輝度値を持つ画素の区別がつかなくなり、原画像の情報が失われてしまうことを防止する技術が記載されている。
【特許文献２】特開平１１−３３９０３４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、一部のアプリケーションにおいては、カラードキュメントをモノクロ印刷する場合、該アプリケーションにおいて本来のドキュメントの色や画像を加工して印刷を行うものがある。例えば、背景を消去したり、文字色を自動変換したりする機能を持つものがある。背景を印刷しないという機能には、背景が複雑すぎる画像の場合には文字だけを印刷する事により、必要な情報だけを選択的に印刷するという狙いがある。また、文字色を自動で変換することにより、印刷写りの良い色で印刷し、文字を見やすくするという狙いがある。
【０００５】
例えば、Microsoft(登録商標)社のMicrosoft Office PowerPoint(登録商標)においてカラードキュメントをモノクロ印刷のデフォルト設定で印刷すると、アプリケーションが背景の画像を印刷しないように画像を加工して印刷を実行する。また、ディスプレイ上の文字色が黒以外の色であっても印刷時には黒に変換する。
【０００６】
しかし、このような処理の結果、カラーディスプレイ上で確認できるドキュメントと印刷結果とが大きくかけ離れてしまい、ユーザが望む印刷結果を得られない事がある。
【０００７】
例えば、カラー画像上では異色であった図形が重なった状態で配置されている場合、同色に変換されてしまう事がある。また、全ての文字色が黒に変換されてしまう為、濃色図形上に配置した淡色文字列が、判別不可能な色に変換されてしまう事もある。
【０００８】
上記のような特性を持つアプリケーションは印刷を行う前にプリンタドライバに印刷能力を問い合わせ、モノクロプリンタであった場合にはドキュメントの印刷データを加工する処理を行っている。
【０００９】
よって、プリンタドラバが受け取るデータ自体既にモノクロデータとなっており、上記特許文献１に記載された技術では対応することができない。
【００１０】
このような問題を回避するためには、ユーザがその都度アプリケーション上で印刷のカラーモードを変更する事によって回避可能な場合がある。
【００１１】
この時、アプリケーションは、ドキュメントの色を変換・加工する事無く、カラー情報を含む印刷データそのものをプリンタドライバに渡す。プリンタドライバが受け取ったデータはカラーではあるがプリンタドライバ自身がモノクロ変換を行う事ができる為、上記特許文献１の技術を用いれば、上記のような問題を避ける事が可能となる。
【００１２】
しかし、ユーザが印刷の都度、アプリケーション上で設定を変更することは非常に煩雑であり、ユーザに負担がかかるという問題点があった。
【００１３】
また、アプリケーション操作に慣れていない初心者の場合には、上記設定を変更する方法自体が解からない場合も考えられる。また、それだけでなく、操作になれたユーザであっても、うっかり上記設定変更操作を行うことを忘れて印刷指示を出してしまうことも考えられ、印刷ミスが頻発することによる紙資源の損失にも繋がるといった問題点があった。
【００１４】
本発明は、上記の問題点を解決するためになされたもので、本発明の目的は、アプリケーションから受け取った印刷データがモノクロデータであった場合に、前記印刷データ内の同色で印刷位置が重なる描画オブジェクトを検出し、該検出された同色で印刷位置が重なる描画オブジェクトの存在をユーザに通知することにより、図形やテキスト等が重なる部分が同色となってしまい、図形やテキスト等が認識不可能な状態で印刷されてしまう等のミスプリントの発生を抑えることが可能となり、アプリケーションの操作に慣れていない初心者のユーザでも、アプリケーション側の設定を変更するという煩雑な操作を行うことなく、アプリケーションからモノクロデータとして受け取ったデータ，カラーデータとして受け取ったデータの２つのデータを、選択して印刷させることが可能となり、従って、ユーザが意図しない画像が印刷されてしまう等のミスプリントの発生を抑えることができる情報処理装置および印刷制御方法およびプログラムおよび記録媒体を提供することである。
【課題を解決するための手段】
【００１５】
本発明は、アプリケーションから印刷データを受け取って印刷装置に印刷実行させる情報処理装置において、アプリケーションから受け取った印刷データがモノクロデータであった場合に、前記印刷データ内の同色で印刷位置が重なる描画オブジェクトを検出する検出手段と、前記印刷データと前記検出手段の検出結果を保持する第１の保持手段と、前記検出手段により検出された同色で印刷位置が重なる描画オブジェクトの存在をユーザに通知する通知手段と、印刷データが保持されている状態で、前記アプリケーションからプリンタ能力の問い合わせがあった場合、前記印刷装置がモノクロ装置であってもカラー装置であるようにプリンタ能力を擬装して前記アプリケーションに応答する偽装手段と、を有することを特徴とする。
【発明の効果】
【００１６】
本発明によれば、アプリケーションから受け取った印刷データがモノクロデータであった場合に、前記印刷データ内の同色で印刷位置が重なる描画オブジェクトを検出し、該検出された同色で印刷位置が重なる描画オブジェクトの存在をユーザに通知するので、図形やテキスト等が重なる部分が同色となってしまい、図形やテキスト等が認識不可能な状態で印刷されてしまう等のミスプリントの発生を抑えることができる。
【００１７】
また、アプリケーションの操作に慣れていない初心者のユーザでも、アプリケーション側の設定を変更するという煩雑な操作を行うことなく、アプリケーションからモノクロデータとして受け取ったデータ，カラーデータとして受け取ったデータの２つのデータを、選択して印刷させることができる。
【００１８】
従って、ユーザが意図しない画像が印刷されてしまう等のミスプリントの発生を抑えることができる等の効果を奏する。
【発明を実施するための最良の形態】
【００１９】
〔第１実施形態〕
以下、図面を参照して、本発明の実施形態を詳細に説明する。
【００２０】
図１は、本発明の一実施形態を示す情報処理装置を適用可能な印刷システムの構成の一例を示すブロック図である。
【００２１】
図１において、１３０はホストコンピュータであり、パーソナルコンピュータ等の情報処理装置により構成される。また、このホストコンピュータ１３０は所定の通信媒体を介してプリンタ１２０と通信可能に接続されている。さらに、このホストコンピュータ１３０上では、図示しないＯＳ，アプリケーション１１０，プリンタドライバ１００が稼動している。また、ホストコンピュータ１３０上では、その他図不示の種々のアプリケーションプログラムも稼動している。
【００２２】
アプリケーション１１０は、印刷のために必要に応じて文字列やグラフィックス等の描画オブジェクトを作成し出力し、プリンタドライバ１００に入力させる。ここで言う描画オブジェクトとは、ホストコンピュータ１３０上のＯＳ等のシステムのグラフィックエンジンを介してプリンタドライバ１００に渡される文字列や、線、短形、ポリゴン、ビットマップ、イメージ等の抽出化された描画命令の概念である。
【００２３】
プリンタドライバ１００は、アプリケーション１１０から印刷命令と描画オブジェクトを受け取り、それをプリンタ１２０が解釈可能な形でプリンタ１２０に出力している。
【００２４】
このプリンタドライバ１００内は、大きく描画処理部１０１とユーザーインタフェイス部（ＵＩ部）１０５に分けられる。描画コマンド処理部１０３は、アプリケーション１１０から受け取った描画オブジェクトを受け取り、描画コマンド処理部１０３でプリンタ１２０が解釈可能な形に変換する。
【００２５】
また、描画コマンド処理部１３０は、アプリケーション１１０から受け取ったいくつかの描画オブジェクトの位置が互いに重なり合った部分は無いか、またその色を重複判定部１０２で判別している。
【００２６】
また、プレビュー作成部１０４では、描画コマントを解析し、実際に印刷した場合のプレビューを画像として作成する。ＵＩ処理部１０５は、プレビュー作成部１０４で作成されたプレビュー画像を、表示部に表示可能である。また、プリンタ１２０は、プリンタドライバ１００から受け取った印刷データを元に実際の印刷を行う。
【００２７】
なお、プリンタ１２０は、レーザビーム方式であっても、レーザビーム方式以外の電子写真方式（例えばＬＥＤ方式）でも、液晶シャッタ方式、インクジェット方式、熱転写方式、昇華方式でもその他のプリント方式であっても本発明は適用可能である。
【００２８】
図２は、図１に示したホストコンピュータ１３０を適用可能な情報処理装置のハードウェア構成を示すブロック図であり、図１と同一のものには同一の符号を付してある。
【００２９】
本発明の実施形態のホストコンピュータを表す図である。なお、図２に示すホストコンピュータ１３０上のハードウェア構成は一例であり、用途や目的に応じて様々な構成例がある。
【００３０】
図２において、２０１はＣＰＵであり、システムバス２２０に接続される各デバイスやコントローラを統括的に制御する。ＲＯＭ２０２あるいは外部記憶装置２１１には、ＣＰＵ２０１の制御プログラムであるＢＩＯＳ（Basic Input / Output System）やオペレーティングシステムプログラム（以下、ＯＳ）や、アプリケーション１１０、プリンタドライバ１００に対応するプログラムコード、各サーバ或いは各ＰＣの実行する機能を実現するために必要な後述する各種プログラム等がコンピュータ読取可能に記憶されている。
【００３１】
ＲＡＭ２０３は、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。ＣＰＵ２０１は、処理の実行に際して必要なプログラム等をＲＯＭ２０２又は外部記憶装置２１１又は図示しないその他の記録媒体からＲＡＭ２０３にロードして、該プログラムをＲＡＭ２０３上で実行することで各種動作を実現するものである。
【００３２】
また、入力コントローラ２０５は、キーボード（ＫＢ），ポインティングデバイス（ＰＤ）２０９からの入力を制御する。なお、ポインティングデバイスは、マウス、トラックボール、その他のポインティングデバイスであってもよい。ビデオコントローラ２０６は、表示装置２１０への表示を制御する。表示装置２１０は、液晶ディスプレイであってもＣＲＴディスプレイであっても、他の表示装置であっても構わない。これらは必要に応じて管理者が使用するものである。本発明には直接関係があるものではない。
【００３３】
メモリコントローラ２０７は、外部記憶装置２１１へのアクセスを制御する。外部記憶装置２１１は、ハードディスク（ＨＤ）やフレキシブルディスク（ＦＤ）或いはＰＣＭＣＩＡカードスロットにアダプタを介して接続されるコンパクトフラッシュ（登録商標）メモリ、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等の記録媒体を含む。この外部記憶装置２１１は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶する。
【００３４】
通信Ｉ／Ｆコントローラ２０８は、ネットワークを介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、ＴＣＰ／ＩＰを用いたインターネット通信等が可能である。
【００３５】
プリンタコントローラ（ＰＲＴＣ）２０４は、プリンタ１２０との双方向な通信を可能としている。
【００３６】
プリンタ１２０はホストコンピュータ１３０に接続されており、ＰＲＴＣ２０４から受け取った印刷命令を実行することができる。なお、ホストコンピュータ１３０とプリンタ１２０との接続形態はローカル接続に限るものではなく、ネットワーク経由の接続でも構わない。
【００３７】
なお、ＣＰＵ２０１は、例えばＲＡＭ２０３内の表示情報用領域へアウトラインフォントの展開（ラスタライズ）処理を実行することにより、表示装置２１０上での表示を可能としている。また、ＣＰＵ２０１は、ＣＲＴ２１０上に不図示のマウスカーソル等を表示制御して不図示のマウス等のポインティングデバイスからのユーザ指示を可能とする。
【００３８】
なお、本発明を実現するためのプリンタドライバプログラム１００は、外部メモリ２１１に記録されており、必要に応じてＲＡＭ２０２にロードされることによりＣＰＵ２０１によって実行されるものである。
【００３９】
次に、図３〜図１６を参照して、本発明の印刷制御装置の第１実施形態における制御処理手順に対応するプリンタドライバ１００による印刷制御処理について説明する。
【００４０】
図３は、本発明の情報処理装置における第１の制御処理手順の一例を示すフローチャートであり、プリンタドライバ１００による印刷制御処理に対応する。なお、このフローチャートの処理は、図２に示したホストコンピュータ１０３のＣＰＵ２０１が外部記憶装置２１１等に格納されるプログラム（プリンタドライバプログラム）をＲＡＭ２０３上にロードして実行することにより実現される。また、図中、Ｓ６０１〜Ｓ６１１は各ステップを示す。
【００４１】
まず、ＣＰＵ２０１によりプリンタドライバ１００が起動されると、本フローチャートの処理が開始する。ユーザがアプリケーション１１０上で印刷を指定すると、アプリケーション１１０はプリンタドライバ１００に対し、プリンタの能力の問い合わせを行う。ここで、プリンタ能力とは「カラープリンタ」，「モノクロプリンタ」等の情報を含む。
【００４２】
ステップＳ６０１において、ＣＰＵ２０１により実行されるプリンタドライバ１００は、アプリケーション１１０からの印刷能力問い合わせを受信し、ステップＳ６０２に処理を遷移させる。なお、この際、アプリケーション１１０からアプリケーション名，ドキュメント名がプリンタドライバ１００に通知される。
【００４３】
そして、ステップＳ６０２において、プリンタドライバ１００は、外部記憶装置２１１に格納されるアプリケーション名及びドキュメント名に応じたカラーモード擬装フラグ（後述する図７の１８０４に示す）が立っている（ＯＮ）かどうかを判定する。
【００４４】
なお、ここで、カラーモード擬装フラグは、以下に示すカラーモード擬装を行うか否かを判定するためのものであり、後述する処理でセットされる。また、カラーモード擬装とは、アプリケーションからの印刷能力問い合わせに対して、モノクロであるにもかかわらず、カラープリンタと擬装して、カラープリンタの能力を示す情報をアプリケーションに返すことを示す。
【００４５】
なお、アプリケーション１１０から通知されたアプリケーション名，ドキュメント名に対応するカラーモード擬装フラグが存在しない場合には、プリンタドライバ１００は、カラーモード擬装フラグがオフ（ＯＦＦ）と判断するものとする。
【００４６】
ステップＳ６０２で、プリンタドライバ１００が、外部記憶装置２１１に格納されるカラーモード擬装フラグが立っていない（ＯＦＦ）と判定した場合には、ステップＳ６０９に処理を遷移させる。
【００４７】
そして、ステップＳ６０９において、プリンタドライバ１００は、アプリケーション１１０に対し、モノクロプリンタの能力を示す情報を応答し、ステップＳ６１０に処理を遷移させる。
【００４８】
次に、ステップＳ６１０において、プリンタドライバ１００は、第１の印刷処理を実行する。なお、ステップＳ６１０の第１の印刷処理に対して、後述する図３のステップＳ３０５〜Ｓ３０８を第２の印刷処理と称する。
【００４９】
そして、ステップＳ６１０の第１の印刷処理が終了すると、プリンタドライバ１００は、全ての処理を終了させる。以下、図４を参照して、ステップＳ６１０の第１の印刷処理について詳細に説明する。
【００５０】
図４は、本発明の情報処理装置における第２の制御処理手順の一例を示すフローチャートであり、図３のステップＳ６０９に示した第１の印刷処理に対応する。なお、このフローチャートの処理は、図２に示したホストコンピュータ１０３のＣＰＵ２０１が外部記憶装置２１１等に格納されるプログラム（プリンタドライバプログラム）をＲＡＭ２０３上にロードして実行することにより実現される。また、図中、Ｓ３０１〜Ｓ３１２は各ステップを示す。
【００５１】
まず、ステップＳ３０１において、プリンタドライバ１００は、アプリケーション１１０から送信されるオブジェクトの描画命令を受信すると、該受信したオブジェクトの描画命令を外部記憶装置２１１にスプールする。なお、描画オブジェクトは、描画するオブジェクトの数だけ順次アプリケーションから渡される。
【００５２】
次に、ステップＳ３０２において、プリンタドライバ１００は、ステップＳ３０１スプールした全ての描画オブジェクトがモノクロのデータか否かを判定する。そして、ステップＳ３０２で、プリンタドライバ１００が、ステップＳ３０１でスプルールした描画オブジェクト内にカラーのデータがあると判定した場合には、ステップＳ３１２に処理を遷移させて、通常の印刷処理を実行させる。そして、印刷処理を終了すると、図３のフローチャートに処理を戻す。
【００５３】
一方、ステップＳ３０２で、プリンタドライバ１００が、ステップＳ３０１でスプールした全ての描画オブジェクトがモノクロのデータであると判定した場合には、ステップＳ３０３に処理を遷移させる。
【００５４】
次に、ステップＳ３０３において、プリンタドライバ１００は、ステップＳ３０１でスプールされた描画オブジェクトのデータから１つ描画オブジェクトのデータを取り出し（以下、カレントの描画オブジェクトと称する）、該描画オブジェクトの情報をオブジェクト情報テーブル（外部記憶装置２１１内の描画オブジェクトリストＡ３００）に保存する。同時に、プリンタドライバ１００は、該描画オブジェクトの重複するオブジェクトに関する情報も保存する。
【００５５】
次に、ステップＳ３０４において、プリンタドライバ１００は、描画オブジェクトリストＡを作成した日時，カレントの印刷ジョブのアプリケーション名，ドキュメント名，描画オブジェクトリストＡの格納アドレスを、外部記憶装置２１１内で印刷ジョブを管理する印刷ジョブ管理テーブルに格納する。
【００５６】
ここで、図５〜図７を参照して、アプリケーション１００から受信するオブジェクトの描画命令のイメージと、描画オブジェクトリスト、印刷ジョブ管理テーブルについて説明する。
【００５７】
図５は、図４のステップＳ３０１で、プリンタドライバ１００がアプリケーション１１０から受信するオブジェクトの描画命令（描画オブジェクト）のイメージ図である。
【００５８】
図５に示すように、描画領域９００の上に短形９０１、円９０３、文字列９０２が配置されている。即ち、プリンタドライバ１００は、図４のステップS３０１で、短形９０１、円９０３、文字列９０２の各描画命令を順次アプリケーション１１０から受信する。
【００５９】
なお、円９０３と文字列９０２は、描画位置に重複領域があり、かつ同色である。本来そのまま印刷をしたのでは、この重複領域は人間の目により識別不可能となる。この図では、説明のために文字列９０２をあえて点線により図示しているが、実際には円形９０３と同化して全く目視認識することが不可能な状態で印刷されてしまう。
【００６０】
図６は、本発明の情報処理装置における描画オブジェクトリストの一例を示す図である。なお、この描画オブジェクトリストは、外部記憶装置２１１内に記憶されるものである。
【００６１】
図６において、１２１１，１２２１，１２３１はそれぞれ描画オブジェクトを表し、図５に示した描画命令（描画オブジェクト）９０１〜９０３に対応している。１２０１〜１２０７はそれぞれ描画オブジェクトの属性を表す項目である。
【００６２】
１２０１は描画オブジェクトに与えられた連番を表している。この情報は、プリンタドライバ２０３が、アプリケーション１１０から受信した順にシーケンシャルに付与するものである。
【００６３】
１２０２は描画オブジェクトの種類を表している。１２０３は描画の開始点を表している。１２０４は描画の終了点をあらわしている。１２０５は描画の種類が文字列の類だった場合に、文字バッファの内容を表している。１２０６は描画色をグレースケールで表している。これら１２０２〜１２０６の情報は、アプリケーション１１０から受信した描画命令に含まれている情報に対応する。
【００６４】
１２０７はテーブル内に重複するオブジェクトが存在する場合にはそのオブジェクトの番号を表している。この情報は、上述の１２０２〜１２０４の情報に基づいて、プリンタドライバ１００が重複するオブジェクトを判定して格納するものである。なお、本実施形態で、「重複するオブジェクト」又は「描画位置の重なるオブジェクト」とは、各オブジェクトの描画位置が重なっている場合のみならず、各オブジェクトが接する場合も含むものとする。
【００６５】
以下、各オブジェクトの情報について説明する。
【００６６】
１２１２〜１２１７は、それぞれオブジェクト番号「１」の描画オブジェクトの属性を表しており、図５に示した描画オブジェクト９０１の属性に対応している。１２２２〜１２２７はそれぞれ描画オブジェクト番号「２」のオブジェクトの属性を表しており、図５に示した描画オブジェクト９０３の属性に対応している。１２３２〜１２３７はそれぞれオブジェクト番号「３」の描画オブジェクトの属性を表しており、図５に示した描画オブジェクト９０２の属性に対応している。
【００６７】
例えば、図４のステップS３０１で、図５に示したような描画オブジェクトを受信した場合、ステップＳ３０１（ループ１巡目）において、プリンタドライバ１００は、図５の短形９０１に対応する描画オブジェクトの情報として、１２１２〜１２１６に示すような属性をオブジェクトリストに保存する。
【００６８】
また、ステップＳ３０１（ループ２巡目）において、プリンタドライバ１００は、図５の円９０３に対応する描画オブジェクトの情報として、１２２２〜１２２６に示すような属性をオブジェクトリストに保存する。
【００６９】
さらに、ステップＳ３０１（ループ３巡目）において、プリンタドライバ１００は、図５の文字列９０２に対応する描画オブジェクトの情報として、１２３２〜１２３６に示すような属性をオブジェクトリストに保存する。さらに、この際、プリンタドライバ１００は、文字列９０２は円９０３と描画位置に重複領域があるので、これを判断して、文字列９０２，円９０３に対する重複するオブジェクトの項目１２２７，１２３７に、文字列９０２に対応するオブジェクト番号「３」、円９０３に対応するオブジェクト番号「２」をそれぞれ保存する。
【００７０】
以上のように、オブジェクトリストに各描画オブジェクトの情報が格納される。
【００７１】
なお、オブジェクトリストは、印刷ジョブ毎に外部記憶装置２１１内に作成され、該印刷ジョブの識別子（ジョブＩＤ）と紐付けて記憶管理される。
【００７２】
図７は、本発明の情報処理装置における印刷ジョブ管理テーブルの一例を示す図である。なお、この印刷ジョブ管理テーブルは、外部記憶装置２１１内に記憶されるものである。
【００７３】
図７において、１８０１はアプリケーション名であり、対応する印刷ジョブのアプリケーション名を格納する。１８０２はドキュメント名であり、対応する印刷ジョブのドキュメント名を格納する。１８０３は日時であり、描画オブジェクトリストＡを作成した日時を格納する。１８０４はカラーモード擬装フラグであり、デフォルトでは「ＯＦＦ」を格納する。１８０５は描画オブジェクトリストＡの格納アドレスを格納する。１８０６は描画オブジェクトリストＢ（後述する）の格納アドレスを格納する。
【００７４】
以下、図４のフローチャートの説明に戻る。
【００７５】
次に、ステップＳ３０４において、プリンタドライバ１００は、描画オブジェクトリストＡを作成した日時を外部記憶装置２１１内に前記描画オプジェクトリストＡ（即ち、印刷ジョブのジョブＩＤ）と紐付けて記憶する。
【００７６】
次に、ステップＳ３０５において、プリンタドライバ１００は、カレントの描画オブジェクトに、描画位置の重なるオブジェクト（図形もしくは文字）が１つ以上が存在するかどうかを判定する。なお、描画位置の重なるとは、描画オブジェクト同士が接する場合も含むものとする。また、この描画位置の重なるオブジェクトが存在するかどうかの判定は、プリンタドライバ１００が、オブジェクトリストの重複するオブジェクトの項目１２０７を参照して判定するものとする。
【００７７】
そして、ステップＳ３０５で、プリンタドライバ１００が、描画位置の重なるオブジェクト（図形もしくは文字）が存在しないと判定した場合には、ステップＳ３０３に処理を戻し、次の描画オブジェクトを取り出す。
【００７８】
一方、ステップＳ３０５で、プリンタドライバ１００が、描画位置の重なるオブジェクト（図形もしくは文字）が存在すると判定した場合には、ステップＳ３０６に処理を遷移させる。
【００７９】
次に、ステップＳ３０６において、プリンタドライバ１００は、カレントの描画オブジェクトの他の描画オブジェクトと重なる部分の色をオブジェクトリスト内の色（グレースケール）の項目１２０６に基づいて計算する。そして、ステップＳ３０７において、プリンタドライバ１００は、重複するオブジェクトの色とステップＳ３０６で計算した重なる部分の色が同じであるかどうかを判定する。なお、本実施形態において、「色が同じ」又は「同色」とは、近い色（色情報の差が所定の範囲内の色）も含むものとする。
【００８０】
以下、図８を用いて、描画位置の重なる部分の色が同色のオブジェクトについて説明する。
【００８１】
図８は、描画位置の重なるオブジェクトを印刷した際のイメージを示す模式図である。なお、図８（ａ）は重なる部分の色が異なるオブジェクトを印刷した際のイメージに対応し、図８（ｂ）は重なる部分の色が異なるオブジェクトを印刷した際のイメージに対応する。
【００８２】
図８（ａ）では、濃色の円形１００１上に淡色の文字列１００２が配置されている。円形１００１と文字列１００２では描画オブジェクトの色が異なる為、ユーザは円形１００１と文字列１００２の存在をそれぞれ認識することができる。一方、図８（ｂ）では、濃色の円形１００３上に同じ濃色の文字列１００４が配置されている（この図では、説明のために文字列１００４を点線により図示しているが、実際には円形１００３と同化して全く目視認識することが不可能に印刷される）。しかし、この場合、これら２つの描画オブジェクトは同色であるために、ユーザには文字列を解読することどころかその存在を知ることさえも不可能となる。よって、このような場合、本実施形態では後述するプレビューを作成して、重複する同色のオブジェクトが存在するために、このまま印刷すると判別不可能になる旨を、ユーザに通知する。
【００８３】
以下、図４のフローチャートの説明に戻る。
【００８４】
ステップＳ３０７で、プリンタドライバ１００が、重複するオブジェクトの色と重なる部分の色が同じであると判定した場合には、プリンタドライバ１００は、後に印刷プレビューを作成する為、ステップＳ３０８において、外部記憶装置２１１内のプレビュー作成フラグを立て、ステップＳ３０９に処理を遷移させる。
【００８５】
一方、ステップＳ３０７で、プリンタドライバ１００が、重なる領域の色と隣接オブジェクトの色が同色でないと判定した場合には、プリンタドライバ１００は、そのままステップＳ３０９に処理を遷移させる。
【００８６】
次に、ステップＳ３０９において、プリンタドライバ１００は、ステップＳ３０１で受信しスプールされた全描画命令に対してステップＳ３０３〜Ｓ３０８の処理が終了したか否かを判定する。
【００８７】
そして、ステップＳ３０９で、プリンタドライバ１００が、ステップＳ３０１で受信しスプールされた全描画命令に対して、まだステップＳ３０３〜Ｓ３０８の処理が終了していないと判定した場合には、ステップＳ３０３に処理を戻し、次の描画オブジェクトに処理を移す。
【００８８】
一方、ステップＳ３０９で、プリンタドライバ１００が、ステップＳ３０１で受信しスプールされた全描画命令に対して、ステップＳ３０３〜Ｓ３０８の処理が終了したと判定した場合には、ステップＳ３１０に処理を遷移させる。
【００８９】
ステップＳ３１０において、プリンタドライバ１００は、プレビュー作成フラグが立っているかどうかを判定し、プレビューフラグが立っていないと判定した場合には、そのまま図３のフローチャートに処理を戻す。
【００９０】
一方、ステップＳ３１０で、プリンタドライバ１００が、プレビュー作成フラグが立っていると判定した場合には、ステップＳ３１１に処理を遷移させて、プリンタドライバ１００は、プレビュー作成処理（後述する図９に示す）を行い、該プレビュー作成処理が終了すると、図３のフローチャートに処理を戻す。
【００９１】
図９は、本発明の情報処理装置における第３の制御処理手順の一例を示すフローチャートであり、図４のステップＳ３１１に示したプレビュー表示処理に対応する。なお、このフローチャートの処理は、図２に示したホストコンピュータ１０３のＣＰＵ２０１が外部記憶装置２１１等に格納されるプログラム（プリンタドライバプログラム）をＲＡＭ２０３上にロードして実行することにより実現される。また、図中、Ｓ４０１〜Ｓ４０７は各ステップを示す。
【００９２】
まず、ステップＳ４０１において、プリンタドライバ１００は、描画オブジェクトリストＡに基づいてプレビューを作成する処理（プレビュー作成処理）を行う。詳細は後述する図１２に示す。
【００９３】
次に、ステップＳ４０２において、ステップＳ４０１で作成したプレビューに基づくプレビュー画面を表示装置２１０に表示するように制御し、ユーザからの入力（印刷、又は、印刷中止）を受け付ける。以下、このプレビュー画面について図１０を参照して説明する。
【００９４】
図１０は、本発明の情報処理装置におけるプレビュー画面の一例を示す図である。
【００９５】
図１０において、１３００はプレビューウィンドウである。プレビューウィンドウ１３００において、１３０１は印刷プレビュー描画領域である。１３０２は１ページ目の印刷プレビューである。なお、ここでは図示しないが、印刷プレビュー描画領域１３０１には、印刷するページ数分のプレビューがスクロール表示可能なるようにプリンタドライバ１００により制御される。
【００９６】
１３０３は、印刷プレビュー描画領域１３０１に表示される印刷データをプリンタ１２０から印刷出力するかどうかをユーザに確認するためのメッセージ（文字列）である。
【００９７】
１３０４はＯＫボタンであり、ユーザが印刷を行うと判断した際に押下する（ＫＢ，ＰＤ２０９により指示する）ためのボタンである。１３０５はキャンセルボタンであり、ユーザが印刷は行わない（印刷を中止する）と判断した際に押下する（ＫＢ，ＰＤ２０９により指示する）ためのボタンである。
【００９８】
以下、図９のフローチャートの説明に戻る。
【００９９】
プリンタドライバ１００は、図１０に示したプレビュー画面での入力を検知すると、ステップＳ４０３に処理を遷移させ、該入力が印刷を中止する指示であるか（即ち、キャンセルボタン１３０５が指示されたか）否かを判定する。
【０１００】
ステップＳ４０３で、プリンタドライバ１００は、印刷を中止する指示がなされなかった（ＯＫボタン１３０４により印刷を行う指示がなされた）と判定した場合には、ステップＳ４０６に処理を遷移させる。
【０１０１】
ステップＳ４０６において、プリンタドライバ１００は、描画オブジェクトリストＡに基づいてプリンタ１２０での印刷処理を実行し、ステップＳ４０７において、描画オブジェクトリストＡを削除して、図４のフローチャートに処理を戻す。
【０１０２】
一方、ステップＳ４０３で、プリンタドライバ１００は、印刷を中止する指示がなされた（キャンセルボタン１３０５により印刷を中止する指示がなされた）と判定した場合には、ステップＳ４０４に処理を遷移させる。
【０１０３】
そして、ステップＳ４０４において、プリンタドライバ１００は、図１１に示す再印刷を促すメッセージ画面（ダイアログ）を表示装置２１０に表示するように制御し、ユーザからの入力を受け付ける。以下、この再印刷を促すメッセージ画面（ダイアログ）について図１１を参照して説明する。
【０１０４】
図１１は、本発明の情報処理装置における再印刷を促すメッセージ画面（ダイアログ）の一例を示す図である。
【０１０５】
図１１において、１５００は再印刷を促すメッセージ画面（ダイアログ）である。この再印刷を促すメッセージ画面（ダイアログ）１５００において、ユーザに再印刷を促すメッセージである。１５０２はＯＫボタンであり、ユーザがメッセージを確認した後に押下する（ＫＢ，ＰＤ２０９により指示する）ためのボタンである。
【０１０６】
以下、図９のフローチャートの説明に戻る。
【０１０７】
プリンタドライバ１００は、図１１に示したメッセージ画面（ダイアログ）１５００での確認入力（ＫＢ，ＰＤ２０９でのＯＫボタンの指示）を検知すると、プリンタドライバ１００は、ステップＳ４０５に処理を遷移させ、プリンタドライバ１００は、次回印刷時にプリンタ能力の擬装を行うために、外部記憶装置２１１内のカレントのアプリケーション，ドキュメントに対応するカラーモード擬装フラグ１８０４（図７）を立てて、図４のフローチャートに処理を戻す。
【０１０８】
図１２は、本発明の情報処理装置における第４の制御処理手順の一例を示すフローチャートであり、図９のステップＳ４０１に示したプレビュー作成処理（描画オブジェクトＡ）に対応する。なお、このフローチャートの処理は、図２に示したホストコンピュータ１０３のＣＰＵ２０１が外部記憶装置２１１等に格納されるプログラム（プリンタドライバプログラム）をＲＡＭ２０３上にロードして実行することにより実現される。また、図中、Ｓ５０１〜Ｓ５０５は各ステップを示す。
【０１０９】
まず、ステップＳ５０１において、プリンタドライバ１００は、外部記憶装置２１１内に記憶される描画オブジェクトリストＡ３００から、描画オブジェクトの情報を読み込む。
【０１１０】
次に、ステップＳ５０２において、プリンタドライバ１００は、ステップＳ５０１で読み込んだ描画オブジェクトの情報に基づいて、オブジェクトの重複領域のエッジを検出する。詳細には、まず、手前に存在する図形のエッジを検出し、検出したエッジ部データを、新たな描画オブジェクトとしてＲＡＭ２０３に読み込まれたオブジェクトに追加する。ただし、エッジ部の図形が複雑で描画オブジェクトとして表現できない場合、透過型のビットマップデータとして保持するようにしてもよい。
【０１１１】
例えば、図８（ｂ）に示した場合、即ち、濃色の円形１００３上に同じ濃色の文字列１００４が配置されており目視認識不可能な場合、重複領域は文字列１００４そのものということになる。よって、ここでは、文字列１００４のエッジを検出し、新たな描画オブジェクトとして追加することになる。
【０１１２】
次に、ステップＳ５０３において、プリンタドライバ１００は、ステップＳ５０２で検出したエッジ部分をユーザが目視認識可能な色に変換設定する。この処理によって、重複オブジェクトが存在していることを明示的にユーザに知らせることが可能となる。この様子を図１３に示す。
【０１１３】
図１３は、図８（ｂ）に示した重複オブジェクト（文字１００４）のエッジ領域を他の色に変換した状態を示した模式図である。
【０１１４】
図１３において、図形１１０１は、図８（ｂ）に示した文字列１００３のエッジ領域を模ったオブジェクトを他の色に変換することにより目視認識可能に強調した状態を示す。
【０１１５】
以下、図１２のフローチャートの説明に戻る。
【０１１６】
次に、ステップＳ５０４において、プリンタドライバ１００は、ＲＡＭ２０３上に保持される描画オブジェクトのデータを、ＲＡＭ２０３上に画像として展開する。そして、ステップＳ５０５において、プリンタドライバ１００は、ステップＳ５０４でＲＡＭ２０３上に展開した画像によりプレビューをＲＡＭ２０３上に作成し、処理を終了する。
【０１１７】
以上の処理により、オブジェクトの色が同じ重複オブジェクトを目視認識可能にユーザに通知するためのプレビューを作成することができる。
【０１１８】
以下、図３のフローチャートの説明に戻る。
【０１１９】
ステップＳ６０２で、プリンタドライバ１００が、外部記憶装置２１１内の印刷ジョブ管理テーブル（図７）内に格納されるアプリケーション名１８０１及びドキュメント名１８０２に応じたカラーモード擬装フラグ１８０４が立っている（ＯＮ）と判定した場合には、ステップＳ６０３に処理を遷移させる。
【０１２０】
なお、このケースは、図１０に示したプレビュー画面でキャンセルボタン１３０５が押下されて、印刷が中止された後、ユーザが、再度、アプリケーション１１０から同一のドキュメントの印刷を指示したことにより、図３のフローチャートが開始された場合に対応する。
【０１２１】
次に、ステップＳ６０３において、プリンタドライバ１００は、印刷ジョブ管理テーブル（図７）内に格納される日時（描画オブジェクトリストＡの作成日時）１８０３に基づいて、描画オブジェクトリストＡが作成されてから規定時間が経過したかどうかを判定する。なお、この規定時間は、ユーザが設定可能であり、設定値は外部記憶装置２１１に格納されるものとする。
【０１２２】
次に、ステップＳ６０３で、プリンタドライバ１００が、描画オブジェクトリストＡが作成されてから既に規定時間が経過したと判定した場合には、ステップＳ６０９に処理を遷移させる。
【０１２３】
一方、ステップＳ６０３で、プリンタドライバ１００が、描画オブジェクトリストＡが作成されてから既に規定時間が経過していないと判定した場合には、ステップＳ６１２において、外部記憶装置２１１内の印刷ジョブ管理テーブル（図７）内に格納されるアプリケーション名１８０１及びドキュメント名１８０２に応じたカラーモード擬装フラグ１８０４をオフ（ＯＦＦ）にし、対応する描画オブジェクトリストＡも外部記憶装置２１１から削除して、ステップＳ６０４に処理を遷移させる。
【０１２４】
ステップＳ６０４において、プリンタドライバ１００は、アプリケーション１１０に対し、架空のカラープリンタの能力を示す情報を返し、プリンタ能力の擬装を実現する。
【０１２５】
次に、ステップＳ６０５において、プリンタドライバ１００は、アプリケーション１１０から印刷コマンド（オブジェクトの描画命令）を受け取り、該受け取った印刷コマンドをスプールする。
【０１２６】
次に、ステップＳ６０６において、プリンタドライバ１００は、ステップＳ６０５でスプールした描画オブジェクトの描画色がカラーの場合には、描画オブジェクトの描画色をモノクロ値に変換する。
【０１２７】
次に、ステップＳ６０７において、プリンタドライバ１００は、ステップＳ６０６でモノクロ変換した描画オブジェクトのデータをオブジェクト情報テーブル（外部記憶装置２１１内の描画オブジェクトリストＢ）に保存する。なお、描画オブジェクトリストＢは、上述した描画オブジェクトリストＡと同様の構成とする。
【０１２８】
次に、ステップＳ６０８において、プリンタドライバ１００は、前回印刷時の印刷プレビュー（図９のステップＳ４０２で表示した図１０の１３０２）と今回の印刷プレビューを比較可能な形で表示する処理を実行する。詳細は後述する図１４に示す。そして、ステップＳ６１０の比較プレビュー作成処理が終了すると、ステップＳ６１１に処理を遷移させる。
【０１２９】
そして、ステップＳ６１１において、プリンタドライバ１００は、外部記憶装置２１１内の印刷ジョブ管理テーブル（図７）内に格納されるアプリケーション名１８０１及びドキュメント名１８０２に応じたカラーモード擬装フラグ１８０４をオフ（ＯＦＦ）にし、対応する描画オブジェクトリストＡ，Ｂも外部記憶装置２１１から削除し、処理を終了する。なお、このとき、印刷ジョブ管理テーブル（図７）から、カレントの印刷ジョブのアプリケーション名及びドキュメント名に対応するレコードを削除するようにしてもよい。
【０１３０】
以下、図１４を参照して、ステップＳ６１０の比較プレビュー作成処理について詳細に説明する。
【０１３１】
図１４は、本発明の情報処理装置における第５の制御処理手順の一例を示すフローチャートであり、図３のステップＳ６１０の比較プレビュー作成処理に対応する。なお、このフローチャートの処理は、図２に示したホストコンピュータ１０３のＣＰＵ２０１が外部記憶装置２１１等に格納されるプログラム（プリンタドライバプログラム）をＲＡＭ２０３上にロードして実行することにより実現される。また、図中、Ｓ７０１〜Ｓ７０６は各ステップを示す。
【０１３２】
まず、ステップＳ７０１において、プリンタドライバ１００は、描画オブジェクトリストＡに基づいてプレビューを作成する処理（図１２に示したプレビュー作成処理（描画オブジェクトＡ））を行う。
【０１３３】
次に、ステップＳ７０２において、プリンタドライバ１００は、描画オブジェクトリストＢに基づいてプレビューを作成する処理（後述する図１６に示すプレビュー作成処理（描画オブジェクトＢ））を行う。
【０１３４】
次に、ステップＳ７０３において、ステップＳ７０１で作成したプレビュー，ステップＳ７０２で作成したプレビューを比較できるような形態で（並べて）表示するプレビュー画面を表示装置２１０に表示するように制御し、ユーザからの入力（印刷するプレビューの選択及び印刷、又は、印刷中止）を受け付ける。以下、このプレビュー画面について図１５を参照して説明する。
【０１３５】
図１５は、本発明の情報処理装置におけるプレビュー画面の一例を示す図である。
【０１３６】
図１５において、１４００はプレビューウィンドウである。１４０１は描画オブジェクトリストＡを基に作成した印刷プレビュー描画領域である。１４０３は描画オブジェクトリストＡを基に作成した１ページ目の印刷プレビューである。
【０１３７】
１４０２は描画オブジェクトリストＢを基に作成した印刷プレビュー描画領域である。１４０４は描画オブジェクトリストＢを基に作成した１ページ目の印刷プレビューである。
【０１３８】
なお、ここでは図示しないが、印刷プレビュー描画領域１４０１，１４０２には、印刷するページ数分のプレビューがスクロール表示可能なようにプリンタドライバ１００により制御される。
【０１３９】
１４０５は、印刷プレビュー描画領域１４０１，１４０２に表示される印刷データのどちらをプリンタ１２００に出力するかをユーザに選択させるためのメッセージである。
【０１４０】
ラジオボタン１４０６は、ユーザが印刷プレビュー描画領域１４０１に表示あれる印刷データ（即ち、描画オブジェクトリストＡに対応する印刷データ）をプリンタに出力するよう指定する際に選択する（ＫＢ，ＰＤ２０９により選択指示する）ためのラジオボタンである。
【０１４１】
また、ラジオボタン１４０７は、ユーザが印刷プレビュー描画領域１４０２に表示あれる印刷データ（即ち、描画オブジェクトリストＢに対応する印刷データ）をプリンタに出力するよう指定する際に選択する（ＫＢ，ＰＤ２０９により選択指示する）ためのラジオボタンである。なお、通常ラジオボタンが複数並んでいる場合、どちらか一方のみが指定可能である（１４０６，１４０７は排他選択される）が、ここをチェックボックスにすることによって、両方のドキュメントの印刷を指定して印刷させることも可能となる。
【０１４２】
１４０８はＯＫボタンであり、ユーザがラジオボタン１４０６又は１４０７で選択したプレビューの印刷を行うと判断した際に押下する（ＫＢ，ＰＤ２０９により指示する）ためのボタンである。１４０９はキャンセルボタンであり、ユーザが印刷は行わない（印刷を中止する）と判断した際に押下する（ＫＢ，ＰＤ２０９により指示する）ためのボタンである。
【０１４３】
以下、図９のフローチャートの説明に戻る。
【０１４４】
プリンタドライバ１００は、図１５に示したプレビュー画面での入力を検知すると、ステップＳ７０４に処理を遷移させ、該入力がカラーモード擬装前データである印刷プレビュー１を印刷する指示であるか（即ち、ラジオボタン１４０６が選択された状態でＯＫボタン１４０８が指示されたか）否かを判定する。
【０１４５】
ステップＳ７０４で、プリンタドライバ１００が、カラーモード擬装前データである印刷プレビュー１を印刷する指示である（即ち、ラジオボタン１４０６が選択された状態でＯＫボタン１４０８が指示された）と判定した場合には、ステップＳ７０５に処理を遷移させる。
【０１４６】
ステップＳ７０５において、プリンタドライバ１００は、描画オブジェクトリストＡに基づいてプリンタ１２０での印刷処理を実行し、図３のフローチャートに処理を戻す。
【０１４７】
一方、ステップＳ７０４で、プリンタドライバ１００が、カラーモード擬装前データである印刷プレビュー１を印刷する指示でない（即ち、ラジオボタン１４０７が選択された状態でＯＫボタン１４０８が指示された）と判定した場合には、ステップＳ７０６に処理を遷移させる。
【０１４８】
ステップＳ７０６において、プリンタドライバ１００は、描画オブジェクトリストＢに基づいてプリンタ１２０での印刷処理を実行し、図３のフローチャートに処理を戻す。
【０１４９】
以下、図１６を参照して、図１４のステップＳ７０２のプレビュー作成処理（描画オブジェクトＢ）について説明する。
【０１５０】
図１６は、本発明の情報処理装置における第６の制御処理手順の一例を示すフローチャートであり、図９のステップＳ４０１に示したプレビュー作成処理（描画オブジェクトＢ）に対応する。なお、このフローチャートの処理は、図２に示したホストコンピュータ１０３のＣＰＵ２０１が外部記憶装置２１１等に格納されるプログラム（プリンタドライバプログラム）をＲＡＭ２０３上にロードして実行することにより実現される。また、図中、Ｓ８０１〜Ｓ８０３は各ステップを示す。
【０１５１】
まず、ステップＳ８０１において、プリンタドライバ１００は、外部記憶装置２１１内に記憶される描画オブジェクトリストＢ６００から、描画オブジェクトの情報を読み込む。
【０１５２】
次に、ステップＳ８０２において、プリンタドライバ１００は、ステップＳ５０１で読み込んだ描画オブジェクトのデータを、ＲＡＭ２０３上に画像として展開する。そして、ステップＳ８０３において、プリンタドライバ１００は、ステップＳ５０４でＲＡＭ２０３上に展開した画像によりプレビューをＲＡＭ２０３上に作成し、処理を終了する。
【０１５３】
以上説明したように、アプリケーションからモノクロデータとして受け取ったデータに、描画オブジェクトの重なる部分が同色となるために印刷時に認識不可能となるオブジェクトが含まれている場合、該重なるオブジェクトの色を目視認識可能な色に変更した印刷イメージのプレビューを、印刷前に一旦画面上に表示させることにより、ユーザは印刷イメージを確認することができ、図形やテキスト等が重なる部分が同色となってしまい、図形やテキスト等が認識不可能な状態で印刷されてしまう等のミスプリントの発生を抑えることが可能となる。
【０１５４】
また、その後、同ドキュメントに関する２回目の印刷（再印刷）を促すことにより、２回目の印刷時には、プリンタのカラーモードを擬装し、アプリケーションからカラーデータを受け取り、該受け取ったカラーデータをプリンタドライバ内で独自にモノクロ変換し、結果を印刷イメージとして画面上に表示することができる。これにより、アプリケーションの操作に慣れていない初心者のユーザでも、アプリケーション側の設定を変更するという煩雑な操作を行うことなく、アプリケーションからモノクロデータとして受け取ったデータ，カラーデータとして受け取ったデータの２つのデータを、視覚的に見比べてから、選択して印刷させることが可能となる。
【０１５５】
従って、アプリケーションから受け取った印刷データがモノクロであった場合に、同色図形の重なりを検出し、該検出した重複オブジェクトの存在をプレビュー画面でユーザに知らせることにより、ユーザが意図しない画像が印刷されてしまう等のミスプリントの発生を抑えることができる等の効果を奏する。
【０１５６】
〔第２実施形態〕
図１０，図１５に示した印刷プレビュー上で、重複オブジェクトの色を変更できるように構成してもよい。以下、その実施形態について図１７，図１８を参照して説明する。
【０１５７】
図１７は、本発明の情報処理装置における第７の制御処理手順の一例を示すフローチャートであり、オブジェクトの色変更処理に対応する。なお、このフローチャートの処理は、図２に示したホストコンピュータ１０３のＣＰＵ２０１が外部記憶装置２１１等に格納されるプログラム（プリンタドライバプログラム）をＲＡＭ２０３上にロードして実行することにより実現される。また、図中、Ｓ１６０１〜Ｓ１６０５は各ステップを示す。
【０１５８】
まず、ステップＳ１６０１において、プリンタドライバ１００は、図１０，図１５に示した印刷プレビュー１３０２，１４０３，１４０４上のオブジェクトの色変更指示を受け付け、色変更指示が入力されると、プリンタドライバ１００は、ステップＳ１６０２に処理を遷移させる。
【０１５９】
次に、ステップＳ１６０２において、プリンタドライバ１００は、図１８に示す色選択ダイアログを表示装置２１０に表示するように制御する。
【０１６０】
図１８は、本発明の情報処理装置における色選択ダイアログの一例を示す図である。
【０１６１】
図１８において、１７００は色選択ダイアログである。色選択ダイアログ１７００において、１７０１，１７０２は色を選択するためのスライダーである。１７０３は描画領域であり、図１７のステップＳ１６０１でユーザが選択したオブジェクトのプレビューが表示制御される。なお、この描画領域１７０３は、スライダー１７０２で色の変更がＫＢ，ＰＤ２０９により指示されると、該色変更の指示に応じて、プリンタドライバ１００により、スライダー１７０２で選択した色をリアルタイムに反映するように制御されている。
【０１６２】
１７０４はＯＫボタンであり、この色選択ダイアログ１７００での変更をプレビュー画面に反映させたい時にユーザが押下する（ＫＢ，ＰＤ２０９により指示する）ためのボタンである。１７０５はキャンセルボタンであり、この色選択ダイアログ１７００での変更を無効にしたい時にユーザが押下する（ＫＢ，ＰＤ２０９により指示する）ためのボタンである。
【０１６３】
以下、図１７のフローチャートの説明に戻る。
【０１６４】
ステップＳ１６０３において、プリンタドライバ１００は、色選択ダイアログ１７００での色変更指示の入力を受け付け、ユーザにより変更したい色が選択されＯＫボタン１７０４が押下指示すると、ステップＳ１６０４に処理を遷移させる。
【０１６５】
次に、ステップＳ１６０４において、プリンタドライバ１００は、ＲＭＡ２０３内に保持しているオブジェクトの色データをステップＳ１６０３で指示された色に変更する。
【０１６６】
そして、ステップＳ１６０５において、プリンタドライバ１００は、ステップＳ１６０４での変更をプレビューに反映させるように表示制御する。
【０１６７】
以上の処理により、ユーザは、プレビュー画面から、描画オブジェクトの重なる部分の色が同色であるため、印刷結果においてオブジェクトが識別できなくなるような重複オブジェクトの色を変更して印刷させて、ユーザの所望の印刷結果を得ることができる。
【０１６８】
〔第３実施形態〕
上記第１実施形態では、図１０に示したプレビュー画面で１回目の印刷指示で印刷がキャンセルされた場合には、再印刷を促すようなメッセージを表示してユーザに再印刷を指示させる構成について説明したが、プレビューから図１５に示したような比較プレビューの表示を指示可能に構成してもよい。以下、その実施形態について図１９，図２０を参照して説明する。
【０１６９】
図１９は、本発明の情報処理装置における第８の制御処理手順の一例を示すフローチャートであり、図４のステップＳ３１１に示したプレビュー表示処理に対応する。なお、このフローチャートの処理は、図２に示したホストコンピュータ１０３のＣＰＵ２０１が外部記憶装置２１１等に格納されるプログラム（プリンタドライバプログラム）をＲＡＭ２０３上にロードして実行することにより実現される。また、図中、Ｓ４０１，Ｓ４０２，Ｓ４０４〜Ｓ４０７，Ｓ１９０１〜Ｓ１９０３は各ステップを示す。なお、図９と同一のステップには同一のステップ番号を付してあり、説明は省略する。
【０１７０】
ステップＳ４０２で、表示されるプレビュー画面について図２０を参照して説明する。
【０１７１】
図２０は、本発明の第３実施形態におけるプレビュー画面の一例を示す図であり、図１０と同一のものには同一の符号を付してある。
【０１７２】
図２０において、２００１は比較プレビュー表示ボタンであり、比較プレビュー表示ボタン２００１は、図１５に示したような比較プレビューを表示させたい場合に押下する（ＫＢ，ＰＤ２０９により指示する）。
【０１７３】
以下、図１９のフローチャートの説明に戻る。
【０１７４】
プリンタドライバ１００は、図１０に示したプレビュー画面での入力を検知すると、ステップＳ１９０１に処理を遷移させ、該入力を判定する。
【０１７５】
ステップＳ１９０１で、プリンタドライバ１００は、印刷をする指示がなされた（ＯＫボタン１３０４により印刷を行う指示がなされた）と判定した場合には、ステップＳ４０６に処理を遷移させる。
【０１７６】
また、ステップＳ１９０１で、プリンタドライバ１００は、印刷を中止する指示がなされた（キャンセルボタン１３０５により印刷を中止する指示がなされた）と判定した場合には、ステップＳ４０４に処理を遷移させる。
【０１７７】
また、ステップＳ１９０１で、プリンタドライバ１００は、比較プレビュー表示指示がなされた（比較プレビューボタン２００１が指示された）と判定した場合には、ステップＳ１９０２に処理を遷移させる。
【０１７８】
ステップＳ１９０２において、プリンタドライバ１００は、外部記憶装置２１１内のカレントのアプリケーション，ドキュメントに対応するカラーモード擬装フラグ１８０４（図７）を立てて、ステップＳ１９０３に処理を遷移させる。
【０１７９】
次に、ステップＳ１９０３において、プリンタドライバ１００は、カレントのアプリケーション１１０に対して、カレントのドキュメントの印刷指示を行うように制御し、図４のフローチャートに処理を戻す。
【０１８０】
なお、ステップＳ１９０３で印刷指示されたアプリケーション１１０は、プリンタドライバ１００に印刷能力の問い合わせを行い、プリンタドライバ１００では、図３のステップＳ３０１に処理が遷移され、２回目の印刷が開始されることになる。
【０１８１】
以上説明したように、アプリケーションからモノクロデータとして受け取ったデータに、描画オブジェクトの重なる部分が同色となるために印刷時に認識不可能となるオブジェクトが含まれている場合、該重なるオブジェクトの色を目視認識可能な色に変更した印刷イメージのプレビューを、印刷前に一旦画面上に表示させることにより、ユーザは印刷イメージを確認することができ、図形やテキスト等が重なる部分が同色となってしまい、図形やテキスト等が認識不可能な状態で印刷されてしまう等のミスプリントの発生を抑えることが可能となる。
【０１８２】
また、上記プレビュー画面上で、モノクロモードとカラーモードでの印刷結果の比較を指示できるので、容易に、アプリケーションから受け取ったモノクロデータの印刷イメージと、アプリケーションから受け取ったカラーデータをプリンタドライバ内で独自にモノクロ変換した結果の印刷イメージとを比較形態で表示することができる。
【０１８３】
これにより、アプリケーションの操作に慣れていない初心者のユーザでも、アプリケーション側の設定を変更するという煩雑な操作を行うことなく、アプリケーションからモノクロデータとして受け取ったデータ，カラーデータとして受け取ったデータの２つのデータを、視覚的に見比べてから、選択して印刷させることが可能となる。
【０１８４】
従って、アプリケーションから受け取った印刷データがモノクロであった場合に、同色図形の重なりを検出し、該検出した重複オブジェクトの存在をプレビュー画面でユーザに知らせることにより、ユーザが意図しない画像が印刷されてしまう等のミスプリントの発生を抑えることができる等の効果を奏する。
【０１８５】
なお、一度アプリケーション１１０から印刷指示されただけで、プリンタドライバ１００が、図１５に示したようなモノクロモードとカラーモードの印刷イメージを比較表示可能なプレビュー画面を表示するように制御するように構成してもよい。
【０１８６】
上述した描画命令を示すデータ等の構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
【０１８７】
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記録媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【０１８８】
以下、図２１に示すメモリマップを参照して本発明に係る情報処理装置で読み取り可能なデータ処理プログラムの構成について説明する。
【０１８９】
図２１は、本発明に係る情報処理装置で読み取り可能な各種データ処理プログラムを格納する記録媒体（記憶媒体）のメモリマップを説明する図である。
【０１９０】
なお、特に図示しないが、記録媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報，作成者等も記憶され、かつ、プログラム読み出し側のＯＳ等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【０１９１】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、インストールするプログラムやデータが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【０１９２】
本実施形態における図３，図４，図９，図１２，図１４，図１６，図１７，図１９に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、ＣＤ−ＲＯＭやフラッシュメモリやＦＤ等の記録媒体により、あるいはネットワークを介して外部の記録媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【０１９３】
以上のように、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【０１９４】
この場合、記録媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
【０１９５】
プログラムコードを供給するための記録媒体としては、例えば、フレキシブルディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＤＶＤ−ＲＯＭ，磁気テープ，不揮発性のメモリカード，ＲＯＭ，ＥＥＰＲＯＭ，シリコンディスク等を用いることができる。
【０１９６】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１９７】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１９８】
また、本発明は、複数の機器から構成されるシステムに適用しても、１つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのソフトウェアによって表されるプログラムを格納した記録媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【０１９９】
さらに、本発明を達成するためのソフトウェアによって表されるプログラムをネットワーク上のサーバ，データベース等から通信プログラムによりダウンロードして読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【０２００】
なお、上述した各実施形態及び各変形例を組み合わせた構成も全て本発明に含まれるものである。
【図面の簡単な説明】
【０２０１】
【図１】本発明の一実施形態を示す情報処理装置を適用可能な印刷システムの構成の一例を示すブロック図である。
【図２】図１に示したホストコンピュータを適用可能な情報処理装置のハードウェア構成を示すブロック図である。
【図３】本発明の情報処理装置における第１の制御処理手順の一例を示すフローチャートである。
【図４】本発明の情報処理装置における第２の制御処理手順の一例を示すフローチャートである。
【図５】プリンタドライバがアプリケーションから受信するオブジェクトの描画命令（描画オブジェクト）のイメージ図である。
【図６】本発明の情報処理装置における描画オブジェクトリストの一例を示す図である。
【図７】本発明の情報処理装置における印刷ジョブ管理テーブルの一例を示す図である。
【図８】描画位置の重なるオブジェクトを印刷した際のイメージを示す模式図である。
【図９】本発明の情報処理装置における第５の制御処理手順の一例を示すフローチャートである。
【図１０】本発明の情報処理装置におけるプレビュー画面の一例を示す図である。
【図１１】本発明の情報処理装置における再印刷を促すメッセージ画面（ダイアログ）の一例を示す図である。
【図１２】本発明の情報処理装置における第４の制御処理手順の一例を示すフローチャートである。
【図１３】図８（ｂ）に示した重複オブジェクト（文字）のエッジ領域を他の色に変換した状態を示した模式図である。
【図１４】本発明の情報処理装置における第５の制御処理手順の一例を示すフローチャートである。
【図１５】本発明の情報処理装置におけるプレビュー画面の一例を示す図である。
【図１６】本発明の情報処理装置における第６の制御処理手順の一例を示すフローチャートである。
【図１７】本発明の情報処理装置における第７の制御処理手順の一例を示すフローチャートである。
【図１８】本発明の情報処理装置における色選択ダイアログの一例を示す図である。
【図１９】本発明の情報処理装置における第８の制御処理手順の一例を示すフローチャートである。
【図２０】本発明の第３実施形態におけるプレビュー画面の一例を示す図である。
【図２１】本発明に係る情報処理装置で読み取り可能な各種データ処理プログラムを格納する記録媒体（記憶媒体）のメモリマップを説明する図である。
【符号の説明】
【０２０２】
１００    プリンタドライバ
１１０    アプリケーション
１２０    プリンタ
１３０    ホストコンピュータ
２０１    ＣＰＵ
２０２    ＲＯＭ
２０３    ＲＡＭ
２０９    ＫＢ，ＰＤ
２１０    表示装置
２１１    外部記憶装置
【図１】
0004557163.tif 000002
【図２】
0004557163.tif 000003
【図３】
0004557163.tif 000004
【図４】
0004557163.tif 000005
【図５】
0004557163.tif 000006
【図６】
0004557163.tif 000007
【図７】
0004557163.tif 000008
【図８】
0004557163.tif 000009
【図９】
0004557163.tif 000010
【図１０】
0004557163.tif 000011
【図１１】
0004557163.tif 000012
【図１２】
0004557163.tif 000013
【図１３】
0004557163.tif 000014
【図１４】
0004557163.tif 000015
【図１５】
0004557163.tif 000016
【図１６】
0004557163.tif 000017
【図１７】
0004557163.tif 000018
【図１８】
0004557163.tif 000019
【図１９】
0004557163.tif 000020
【図２０】
0004557163.tif 000021
【図２１】
0004557163.tif 000022