(57)【特許請求の範囲】
【請求項１】
各種情報を表示する表示部と、アプリケーションプログラムとプリンタドライバとを備え、被記録媒体上に印刷を実行する印刷装置と接続可能な情報処理装置であって、
前記アプリケーションプログラムによって生成され、複数の描画画像を含む表示データを取得する表示データ取得部と、
前記表示データに係る描画命令を取得する描画命令取得部と、
前記描画命令に基づき、プリンタドライバによって生成されるドライバデータを取得するドライバデータ取得部と、
前記表示データ取得部にて取得した表示データと、前記ドライバデータ取得部にて取得したドライバデータと、を比較する比較部と、
前記比較部による比較の結果、前記表示データと前記ドライバデータとに差異が生じた場合、前記複数の描画画像のうち、いずれの描画画像に差異があるかを前記表示部に表示させる差異表示部と、
前記差異表示部により差異があると表示された前記描画画像の各々に対し、前記描画命令を加工するか否かの指示を受け付ける受付部と、
前記受付部により、差異があると表示された前記描画画像に対し、前記描画命令を加工する指示を受け付けた場合、前記表示データに含まれる当該描画画像が印刷結果として得られるように、前記描画命令取得部により取得した描画命令を加工する機能部と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記描画命令取得部により取得した描画命令を記憶部に記憶する記憶制御部を備え、
前記機能部は、前記描画命令を加工する指示を受け付けた場合、前記記憶部に記憶されている描画命令を加工することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記アプリケーションプログラム内に前記比較部に比較させることを指示する指示部が組み込まれていることを特徴とする請求項１または請求項２に記載の情報処理装置。
【請求項４】
前記比較部による比較の結果、前記表示データと前記ドライバデータとに差異がないと判断された場合、前記差異表示部による表示制御を行うことなく、前記プリンタドライバによって生成されたドライバデータに基づく印刷データを前記印刷装置に送信することを特徴とする請求項１から請求項３のいずれか一項に記載の情報処理装置。
【請求項５】
前記描画画像のタイプを判断する判断部を備え、
前記機能部は、前記判断部が判断した前記描画画像のタイプに応じて、前記タイプ毎に互いに異なる種類の機能を実行すること特徴とする請求項１から４のいずれか一項に記載の情報処理装置。
【請求項６】
前記表示データと前記ドライバデータがビットマップ形式のデータであって、
前記比較部が前記表示データと前記ドライバデータとをビット毎に比較し、一致しないビットがあったときに差異が生じたとすることを特徴とする請求項１から請求項５のいずれか一項に記載の情報処理装置。
【請求項７】
被記録媒体上に印刷を実行する印刷部を備える印刷装置と接続可能であって、各種情報を表示させる表示部を備えるコンピュータに、
アプリケーションプログラムによって生成され、複数の描画画像を含む表示データを取得する表示データ取得処理と、
前記表示データに係る描画命令を取得する描画命令取得処理と、
前記描画命令に基づき、プリンタドライバによって生成されるドライバデータを取得するドライバデータ取得処理と、
前記表示データ取得処理にて取得した表示データと、前記ドライバデータ取得処理にて取得したドライバデータと、を比較する比較処理と、
前記比較処理による比較の結果、前記表示データと前記ドライバデータとに差異が生じた場合、前記複数の描画画像のうち、いずれの描画画像に差異があるかを前記表示部に表示させる差異表示処理と、
前記差異表示処理により差異があると表示された前記描画画像の各々に対し、前記描画命令を加工するか否かの指示を受け付ける受付処理と、
前記受付処理により、差異があると表示された前記描画画像に対し、前記描画命令を加工する指示を受け付けた場合、前記表示データに含まれる当該描画画像が印刷結果として得られるように、前記描画命令取得処理により取得した描画命令を加工する機能処理と、
を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷プレビュー機能を備える情報処理装置及び印刷プレビュー処理を実行させるプログラムに関する。
【背景技術】
【０００２】
従来、印刷を実行するプリンタ等と接続されている情報処理装置からプリンタに対して印刷を指示する際、プリンタドライバに送信された描画命令を基に、プリンタドライバがプリンタに送信するデータを作成している。さらに、下記特許文献では、ユーザの望む印刷を実行するために、プリンタによる印刷を指示する前に、プリンタドライバによって情報処理装置に印刷結果を表示する印刷プレビューという機能を備える印刷制御システムが知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００１−６７３４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記技術により、印刷を指示する前にプリンタドライバによって作られた印刷結果を印刷プレビューとして知ることが出来るため、ユーザが望まない印刷を回避することが出来る。しかしながら、もし表示データの画像と印刷プレビューの画像との間に差異が生じる場合、ユーザが印刷を指示する前の印刷プレビューの画像を最終確認する際に当該差異を見落としてしまう可能性がある。
通常ユーザは、例えば表示部に表示された表示データを編集し終えてから印刷プレビューを確認するため、編集中に確認していた表示データがユーザにとって希望する印刷結果である可能性が高い。従って、この差異を見落としたまま印刷が実行されると、ユーザの望まない印刷が実行される場合がある。
さらに、そもそも印刷プレビューを作成出来ないプリンタドライバの場合、プリンタドライバによって作成された印刷対象のデータを確認する機会がない。従って、表示データとプリンタドライバが作成するデータとが異なる場合があるため、印刷を実行してもユーザの望む印刷結果とは異なる可能性がある。
本発明は、上述した問題点を解決するためになされたものであり、表示部に表示される表示データとプリンタドライバによって生成される描画画像データとを用いて、ユーザにとって所望な印刷が実行できる可能性を高めることを目的とする。
【課題を解決するための手段】
【０００５】
この目的を達成するために、請求項１記載の本発明の情報処理装置は、各種情報を表示する表示部と、アプリケーションプログラムとプリンタドライバとを備え、被記録媒体上に印刷を実行する印刷装置と接続可能な情報処理装置であって、前記アプリケーションプログラムによって生成され、複数の描画画像を含む表示データを取得する表示データ取得部と、前記表示データに係る描画命令を取得する描画命令取得部と、前記描画命令に基づき、プリンタドライバによって生成されるドライバデータを取得するドライバデータ取得部と、前記表示データ取得部にて取得した表示データと、前記ドライバデータ取得部にて取得したドライバデータと、を比較する比較部と、前記比較部による比較の結果、前記表示データと前記ドライバデータとに差異が生じた場合、前記複数の描画画像のうち、いずれの描画画像に差異があるかを前記表示部に表示させる差異表示部と、前記差異表示部により差異があると表示された前記描画画像の各々に対し、前記描画命令を加工するか否かの指示を受け付ける受付部と、前記受付部により、差異があると表示された前記描画画像に対し、前記描画命令を加工する指示を受け付けた場合、前記表示データに含まれる当該描画画像が印刷結果として得られるように、前記描画命令取得部により取得した描画命令を加工する機能部と、を備えることを特徴とするものである。
【０００６】
請求項２記載の本発明の情報処理装置は、前記描画命令取得部により取得した描画命令を記憶部に記憶する記憶制御部を備え、前記機能部は、前記描画命令を加工する指示を受け付けた場合、前記記憶部に記憶されている描画命令を加工することを特徴とするものである。
【０００７】
請求項３記載の本発明の情報処理装置は、前記アプリケーションプログラム内に前記比較部に比較させることを指示する指示部が組み込まれていることを特徴とするものである。
【０００８】
請求項４記載の発明の情報処理装置は、前記比較部による比較の結果、前記表示データと前記ドライバデータとに差異がないと判断された場合、前記差異表示部による表示制御を行うことなく、前記プリンタドライバによって生成されたドライバデータに基づく印刷データを前記印刷装置に送信することを特徴とするものである。
【０００９】
請求項５記載の本発明の情報処理装置は、前記描画画像のタイプを判断する判断部を備え、前記機能部は、前記判断部が判断した前記描画画像のタイプに応じて、前記タイプ毎に互いに異なる種類の機能を実行することを特徴とするものである。
【００１０】
情報処理装置は、前記差異が生じたことを契機に、前記機能部にて前記機能の実行を開始することを特徴とするものである。
【００１１】
情報処理装置は、前記機能部によって実行される機能をユーザによって選択可能な選択部と、前記表示データの描画のタイプを判断する判断部を備え、前記選択部にて選択される機能には、互いに異なる複数種類の機能を有し、前記判断部が判断した前記描画タイプに応じて、前記選択部にて選択される前記機能を切り替えること特徴とするものである。
【００１２】
情報処理装置は、前記判断部が前記表示データ内の各々の描画画像について前記描画タイプを判断し、前記判断部の判断結果に応じた前記機能を前記表示部に表示することを特徴とするものである。
【００１３】
請求項６記載の本発明の情報処理装置は、前記表示データと前記ドライバデータがビットマップ形式のデータであって、前記比較部が前記表示データと前記ドライバデータとをビット毎に比較し、一致しないビットがあったときに差異が生じたとすることを特徴とするものである。
【００１４】
請求項７記載の本発明のプログラムは、被記録媒体上に印刷を実行する印刷部を備える印刷装置と接続可能であって、各種情報を表示させる表示部を備えるコンピュータに、アプリケーションプログラムによって生成され、複数の描画画像を含む表示データを取得する表示データ取得処理と、前記表示データに係る描画命令を取得する描画命令取得処理と、前記描画命令に基づき、プリンタドライバによって生成されるドライバデータを取得するドライバデータ取得処理と、前記表示データ取得処理にて取得した表示データと、前記ドライバデータ取得処理にて取得したドライバデータと、を比較する比較処理と、前記比較処理による比較の結果、前記表示データと前記ドライバデータとに差異が生じた場合、前記複数の描画画像のうち、いずれの描画画像に前記差異があるかを前記表示部に表示させる差異表示処理と、前記差異表示処理により差異があると表示された前記描画画像の各々に対し、前記描画命令を加工するか否かの指示を受け付ける受付処理と、前記受付処理により、差異があると表示された前記描画画像に対し、前記描画命令を加工する指示を受け付けた場合、前記表示データに含まれる当該描画画像が印刷結果として得られるように、前記描画命令取得処理により取得した描画命令を加工する機能処理と、を実行させることを特徴とするプログラム。
【発明の効果】
【００１５】
請求項１記載の情報処理装置及び請求項７記載のプログラムによれば、表示データとドライバデータとの比較の結果、いずれの描画画像に差異があるかが表示部に表示され、差異があると表示された描画画像に対し、描画命令を加工する指示を受け付けると、表示データに含まれる描画画像が印刷結果として得られるように、画像命令を加工することができるので、ユーザにとって、差異があることを認識しやすくなるとともに、所望の印刷結果を得られる可能性を高めることが出来る。
【００１６】
また、請求項２記載の情報処理装置によれば、描画命令を加工する指示を受け付けた場合、記憶部に記憶されている描画命令を加工することができる。
【００１７】
また、請求項３記載の情報処理装置によれば、指示部がアプリケーションプログラム内に組み込まれているので、ユーザはアプリケーションプログラムを使用した状態で指示部での指示をするだけで簡易にデータの比較及びその結果を取得することが可能である。
【００１８】
また、請求項４記載の情報処理装置によれば、比較の結果、差異がないと判断された場合、プリンタドライバによって生成されたドライバデータに基づく印刷データを印刷装置に送信できる。
【００１９】
【００２０】
【００２１】
また、請求項５記載の情報処理装置によれば、描画画像のタイプごとに互いに異なる種類の機能を実行することができるので、描画命令を加工しやすくなり、利便性が向上する。
【００２２】
【００２３】
また、請求項６記載の情報処理装置によれば、表示データとドライバデータとがビットマップ形式のデータであることにより、比較部により表示データとドライバデータとをビット毎に比較することが可能となり、簡易に差異があるか判断することが可能となる。
【図面の簡単な説明】
【００２４】
【図１】本発明が適用されたＰＣ（パーソナルコンピュータ）３０の構成を表すブロック図の図面である。
【図２】印刷結果確認付き印刷処理の流れを示したフローチャートの図面である。
【図３】アドオン画面の具体例である。
【図４】アプリケーションプログラムのプレビュー画像の具体例である。
【図５】差異ありの状態を示すプレビュー画面の具体例である。
【図６】ＲＡＭ１３内のデータを概念的に表した図面である。
【図７】プリンタドライバによって生成される描画画像データの具体例である。
【図８】属性描画画像の具体例である。
【図９】差異編集処理の流れを示したフローチャートの図面である。
【図１０】パターン描画メッセージの具体例である。
【図１１】細線描画メッセージの具体例である。
【図１２】第２の実施形態おける差異編集処理の流れを示したフローチャートの図面である。
【図１３】第３の実施形態おける差異編集処理の流れを示したフローチャートの図面である。
【図１４】第３の実施形態おけるパターン描画メッセージの具体例である。
【図１５】第３の実施形態おける細線描画メッセージの具体例である。
【図１６】第３の実施形態おけるアドオン画面の具体例である。
【発明を実施するための形態】
【００２５】
以下、本発明の実施の形態について図面を参照して説明する。
【００２６】
図１は、本発明が適用されたＰＣ（パーソナルコンピュータ）３０（本発明の情報処理装置の一例）の構成を表すブロック図である。
【００２７】
ＰＣ３０は、各種プログラムを実行して装置内各部を統括制御するＣＰＵ３１（本発明の表示データ取得部、ドライバデータ取得部、比較部、機能部、判断部の一例）と、ＣＰＵ３１により実行されるブートプログラム等を記憶するＲＯＭ３２と、ＣＰＵ３１によるプログラム実行時に作業領域として使用されるＲＡＭ３３と、を備える。
さらに、ＰＣ３０は、オペレーティングシステムやアプリケーションプログラム、プリンタドライバ等のプログラム及び各種データを記憶するハードディスク装置（ＨＤＤ）３４と、液晶モニタ等から構成される情報表示用の表示部４１（本発明の表示部の一例）と、キーボードやポインティングデバイス等から構成されるユーザが操作可能な入力部４２（本発明の選択部の一例）と、ＬＡＮに接続されたプリンタポートインタフェース（いわゆるＬＡＮインタフェース）４３と、を備える。
【００２８】
また、ハードディスク装置３４には、オペレーティングシステムとして、複数のタスクを並列処理可能なマルチタスクＯＳ（例えば、ＷＩＮＤＯＷＳ（登録商標））が記憶されており、ＣＰＵ３１は、このマルチタスクＯＳによってタスクを管理する。
【００２９】
また、ＲＡＭ３３は、後述するプレビュー処理の過程で、後述にて詳細に説明するアプリプレビュー、描画画像データ、属性描画画像、差異あり情報を持つビットと差異あり情報を持つビットの画像位置、アプリケーションプログラムからの描画命令を、模式的に図６のように記憶する。
【００３０】
この他、本実施例のプリンタドライバは、複数のアプリによって共有されるプログラム部品（いわゆるＤＬＬ（Ｄｙｎａｍｉｃ  Ｌｉｎｋ  Ｌｉｂｒａｒｙ））として構成されている。即ち、当該プリンタドライバは、ＣＰＵ３１が上記マルチタスクＯＳの下で実行したアプリに対し、ユーザが印刷指示を入力することによって、当該アプリから呼び出されて起動される。
【００３１】
（印刷結果確認付き印刷処理）
情報処理装置３０の動作を説明する。図２は印刷結果確認付き印刷処理の流れを示したフローチャートである。
【００３２】
この印刷結果確認付き印刷処理は、ＣＰＵ３１が入力部４２の操作により印刷ボタン３０１（本発明の指示部の一例）を押されたことを検知したことに応じて始まる。尚、印刷ボタン３０１は、図３に示すようにアプリケーションプログラムにアドオンした形（組み込まれた形）として構成されており、アプリケーションプログラムから直接指示することで、印刷結果確認付き印刷処理を実行可能である。
【００３３】
印刷結果確認付き印刷処理が開始されると、まずＣＰＵ３１は、図４に示すアプリケーションプログラムで生成されるプレビュー画像（以下、アプリプレビューとし、本発明の表示データの一例）を取得し（Ｓ２０１）、ＣＰＵ３１がアプリケーションプログラムから描画命令を受け取り、ＲＡＭ３３に保存する（Ｓ２０２）。
【００３４】
次いで、ＲＡＭ３３に保存されている描画命令に基づいて、描画画像データ（本発明のドライバデータの一例）及び属性描画画像生成処理を行う（Ｓ２０３）。尚、描画画像データ及び属性描画画像生成処理において、図７に示すプリンタドライバで生成される描画画像データ及び図８に示す属性描画画像を生成する。また、Ｓ２０３の描画画像データ及び属性描画画像生成処理の詳細は後述にて、説明する。
【００３５】
次に、ＣＰＵ３１は、描画画像データ及び属性描画画像生成処理（Ｓ２０３）において、プリンタドライバにより生成された描画画像データを、表示部４１にプレビュー画像として表示する（Ｓ２０４）。そして、アプリプレビューと描画画像データとを比較する（Ｓ２０５）。尚、図４に示すアプリプレビュー及び図７に示す描画画像データは、一以上の描画画像から構成されており、いずれもビットマップデータで構成されている画像である。
【００３６】
Ｓ２０５における比較は、例えば、比較される画像位置におけるアプリプレビューを構成しているビットと描画画像データを構成しているビットとが、対比されるそれぞれの画像位置で同一のビットを構成しているか否かで比較する。
【００３７】
具体的には、各プレビュー画像の最左上端から右へ１ビットずつビットの構成を判断し、アプリプレビューと描画画像データの同一位置でのビットの構成を比較する。これを右上端まで実行し、一列分の比較を終える。その後、比較の終わっていない直下の列の左端から上述した比較方法と同様に、右端へと比較を実行する。この様に各列に対して比較することでプレビュー画像の１ページ分のビットの構成を比較する。尚、Ｓ２０５の比較の際、アプリプレビューと描画画像データの大きさが異なる場合は縮尺を合わせて比較する。
【００３８】
上記比較を実行した結果、例えば、アプリプレビューでは白いビットが、描画画像データでは黒いビットであるとき、ビットの種類が異なるので、差異ありと判断し、「差異あり」の情報を画像位置と共にＲＡＭ３３に記憶する。尚、この差異のあるビットのことを、以下、差異ビットという。一方、アプリプレビューと描画画像データとのビット種類が白いビットと白いビットとで一致する場合、差異なしと判断し、「差異あり」の情報や画像位置をＲＡＭ３３に記憶しない。この処理はビット毎に実行する。
【００３９】
次に、ＣＰＵ３１が、アプリプレビュー画像と描画画像データとに差異があるか判断する（Ｓ２０６）。具体的には、ＣＰＵ３１がＲＡＭ３３に差異ビットがある場合、プレビュー画像に差異ありと判断し（Ｓ２０６：ＹＥＳ）、ＲＡＭ３３に差異ビットがない場合、プレビュー画像に差異なしと判断する（Ｓ２０６：ＮＯ）。
【００４０】
ＣＰＵ３１が、アプリプレビューと描画画像データとに差異ビットがないと判断した場合（Ｓ２０６：ＮＯ）、ＣＰＵ３１が入力部４２の操作により印刷が指示されたと検知したことに応じてＣＰＵ３１が描画画像データをＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）に変換し、ＰＤＬとともに印刷指令を印刷装置に送信して（Ｓ２０９）、印刷結果確認付き印刷処理を終了する。
【００４１】
一方、ＣＰＵ３１が、アプリプレビューと描画画像データとに差異ビットがあると判断した場合（Ｓ２０６：ＹＥＳ）、ＣＰＵ３１が、差異編集処理を実行して描画命令を加工し（Ｓ２０７）、差異編集処理後のＲＡＭ３３にある描画命令を用いて描画画像データを再生成する処理を実行する（Ｓ２０８）。ＣＰＵ３１が入力部４２の操作により印刷が指示されたと検知したことに応じて、Ｓ２０８の描画画像データをＰＤＬに変換し、ＰＤＬとともに印刷指令を印刷装置に送信して（Ｓ２０９）、印刷結果確認付き印刷処理を終了する。尚、差異編集処理については、後述にて、詳細説明する。
【００４２】
（描画画像データ及び属性描画画像生成処理）
図２のＳ２０３に示す描画画像データ及び属性描画画像生成処理について説明する。
【００４３】
まず、ＣＰＵ３１は、描画画像データ及び属性描画画像生成処理が開始されると、図７に示すプリンタドライバで生成される描画画像データを保存するための描画画像データエリアをＲＡＭ３３に確保し、図８に示す属性を判断するための属性描画画像を保存するための属性描画画像エリアもＲＡＭ３３に確保する。
【００４４】
そして、ＣＰＵ３１は、アプリケーションプログラムから受け取った描画命令の描画処理を実行し、描画画像データエリアに１ページ分の描画画像を描画する。例えば、ＣＰＵ３１は、図２のＳ２０２にＲＡＭ３３に保存されている描画命令から描画処理を実行し、図４の４０１に示すパターン描画画像をＲＡＭ３３内のプリンタドライバの描画画像データエリアに描画し、図７の７０１に示すパターン描画画像がＲＡＭ３３の描画画像データエリアに描かれる。尚、描画された描画画像は、全てビットマップで展開されている。
【００４５】
続いて、描画命令の１ページ分の属性描画処理を実行し、属性描画画像エリアに描画画像データエリアに描いた描画画像と同じ描画画像で形成される描画領域を固有値で塗りつぶす。例えば、ＣＰＵ３１は、図７の７０１に対してパターン描画画像と判別すると、図７の７０１の描画画像と同じ描画画像で形成される描画領域をＲＡＭ３３の属性描画画像エリアに形成して、パターン描画に応じた固有値で塗りつぶすことにより、図８の８０１の属性描画画像が描かれる。
【００４６】
尚、描画命令とは、実際にアプリケーションプログラムからプリンタドライバに送られる命令で、描画画像データと属性描画画像とを形成するための命令である。尚、属性描画画像を生成するためには、ＣＰＵ３１が描画命令（描画の種類、太さや色のパラメータ等の情報を含む）の描画の種類を判別し、カテゴリに分けることで属性描画画像を生成する。ここで、カテゴリにはパターン描画や線描画、絵、文字等の複数の種類の命令があり、それぞれ固有値を有している。
【００４７】
具体的には、アプリケーションプログラムから受け取った描画命令の描画処理を実行する際に、固有値で属性描画画像を塗りつぶす。そして、ＣＰＵ３１が描画画像データの描画画像に対応する属性描画画像の固有値を判断することで、描画画像データの描画画像のカテゴリを判断することができる。
【００４８】
（差異編集処理）
図２のＳ２０７に示す差異編集処理について、図９を参照して説明する。
【００４９】
まず、ＣＰＵ３１は、ＲＡＭ３３に保存されている差異ビットはパターン描画か判断する（Ｓ９０１）。具体的には、ＣＰＵ３１が差異ビットの位置情報と対応する位置情報を備える属性描画画像の固有値を参照することで、パターン描画であるか判断する。固有値により判断されたカテゴリがパターン描画であった場合は、パターン描画部分に差異あり（Ｓ９０１：ＹＥＳ）と判断し、差異ありの部分のカテゴリがパターン描画でなかった場合は、パターン描画部分に差異なし（Ｓ９０１：ＮＯ）と判断する。
【００５０】
パターン描画部分に差異ありと判断した場合（Ｓ９０１：ＹＥＳ）、Ｓ２０４において、ＣＰＵ３１が「差異あり」の情報と共にＲＡＭ３３に記憶されている画像位置の情報から、差異のある位置の周囲を枠で囲み、その枠を点滅表示させる（Ｓ９０２）。具体的には、図５に示すように、差異のある画像を枠で囲み、枠を点滅表示させる。
【００５１】
次いで、パターン描画命令加工機能を勧めるメッセージを表示する（Ｓ９０３）。具体的には、図１０に示すようなパターン描画命令加工機能を勧めるメッセージを表示する。
【００５２】
続いて、パターン描画命令加工機能を実行する指示があったか判断し（Ｓ９０４）、パターン描画命令加工機能を実行する場合（Ｓ９０４：ＹＥＳ）、パターン描画命令加工機能を実行する（Ｓ９０５）。具体的には、図１０に示すようなパターン描画命令加工機能を勧めるメッセージにおいて、ユーザが「はい」を選択すると、パターン描画命令加工機能を実行され、ユーザが「いいえ」を選択すると、パターン描画命令加工機能を実行されない。
【００５３】
ここで、パターン描画命令加工機能とは、印刷装置の解像度と表示部４１の解像度とによって、アプリプレビューの線と線との間隔と、描画画像データの線と線との間隔とのビットマップデータが異なる場合があるので、アプリプレビューの線と線との間隔に近い間隔が印刷結果として得られるようにＲＡＭ３３の描画命令を加工する機能である。
【００５４】
具体的には、アプリプレビューと描画画像データとは、ＲＡＭ３３に記憶されていて、ＣＰＵ３１がＲＡＭ３３にあるアプリプレビューと描画画像データと読み出して、表示部４１に表示する。
【００５５】
例えば、アプリケーションプログラムからの描画命令が、三角形を描き、線の太さが５ビットで線と線の間隔が１０ビットで線を引けという命令であった場合でも、表示部４１の解像度が印刷装置の解像度より低いと、図４に示す４０１のアプリプレビューの線の本数が１５本あるように表示部４１に表示されたとしても、印刷結果として得られる図７の７０１に示す描画画像データの線本数が３１本あるように表示部４１に表示される。
【００５６】
このため、図４に示す４０１の線と線との間隔のパターン描画画像が印刷結果として得られるように、アプリケーションプログラムからの描画命令が三角形を描き、線の太さが５ビットで線と線の間隔が１０ビットで線を引けという命令を、プリンタドライバで三角形を描き、線の太さが１０ビットで線と線の間隔が２０ビットで線を引けという命令に加工する。つまり、線の太さを太らせたり、線と線との間隔を広げたりするように、アプリケーションプログラムからの描画命令を加工する機能である。これにより、描画画像データをアプリプレビューに近づけることができる。
【００５７】
一方、パターン描画命令加工機能を実行しない場合（Ｓ９０４：ＮＯ）、パターン命令加工機能を実行しない。たとえば、パターン描画部分に差異が小さく、パターン描画命令加工機能を実行する必要がないとユーザが指示した場合、パターン描画命令加工機能を実行する必要がない。
【００５８】
また、Ｓ９０１にて、差異ありの部分のカテゴリがパターン描画でなかった場合は（Ｓ９０１：ＮＯ）、線描画部分に差異ありか判断する（Ｓ９０７）。具体的には、ＣＰＵ３１が差異ビットと対応する属性描画画像の固有値を比較することで、線描画であるか判断する。カテゴリが線描画であった場合は、線描画部分に差異あり（Ｓ９０７：ＹＥＳ）と判断し、差異ありの部分のカテゴリが線描画でなかった場合は、線描画部分に差異なし（Ｓ９０７：ＮＯ）と判断する。
【００５９】
線描画部分に差異があると判断した場合（Ｓ９０７：ＹＥＳ）、差異のある位置の周囲を枠で囲み、その枠を点滅表示させ（Ｓ９０８）、細線描画命令加工機能を勧めるメッセージを表示する（Ｓ９０９）。具体的には、図１１に示すようなメッセージを表示する。
【００６０】
続いて、線描画命令加工機能を実行するか判断し（Ｓ９１０）、線描画命令加工機能を実行する場合（Ｓ９１０：ＹＥＳ）、線描画命令加工機能を実行する（Ｓ９１１）。ここで、Ｓ９０３と同様に、図１１に示すようなメッセージを表示し、ユーザが「はい」を選択すると、線描画命令加工機能を実行され、ユーザが「いいえ」を選択すると、線描画命令加工機能を実行されない。
【００６１】
ここで、線描画命令加工機能とは、印刷装置の解像度と表示部４１の解像度とによって、アプリプレビューの線の太さと、描画画像データの線の太さとのビットマップデータが異なる場合があるので、アプリプレビューの線の太さに近い太さが印刷結果として得られるようにＲＡＭ３３の描画命令を加工する機能である。
【００６２】
具体的には、アプリケーションプログラムからの描画命令が太さ５ビットのラインを引けという命令があった場合に、表示部４１の解像度が低いと、図４に示す４０２のアプリ描画画像の線の太さが、印刷結果として得られる図７の７０２に示すドライバ描画画像の線の太さよりも太く、表示部４１に表示される。
【００６３】
このため、図４に示す４０１の線の太さの線描画画像が印刷結果として得られるように、アプリケーションプログラムからの描画命令が太さ５ビットのラインを引けという命令を、プリンタドライバで太さ１０ビットのラインを引けという命令に加工する。つまり、線を太くするように、アプリケーションプログラムからの描画命令を加工する機能である。これにより、描画画像データをアプリプレビューに近づけることができる。
【００６４】
一方、線描画命令加工機能を実行しない場合（Ｓ９１０：ＮＯ）、線描画命令加工機能を実行しない。例えば、線描画部分に差異が小さく、線描画命令加工機能を実行する必要がないとユーザが指示した場合、線描画命令加工機能を実行する必要がない。
【００６５】
Ｓ９０４：ＮＯの判断、Ｓ９０５の処理、Ｓ９０７：ＮＯの判断、Ｓ９１０：ＮＯの判断、Ｓ９１１の処理に続いて、差異ビットを削除する（Ｓ９０６）。Ｓ９０６では、Ｓ９０１：ＹＥＳ又はＳ９０７：ＹＥＳと判断された差異ビットと、隣り合うビットとが同じ属性値を持つか判断する。続いて、さらに隣り合うビットに対しても、異なる属性を持つビットが見つかるまで同じ属性値を持つか判断繰り返す。そして、Ｓ９０１：ＹＥＳ又はＳ９０７：ＹＥＳにて判断された差異ビットと異なる属性で図形が閉じたら、Ｓ９０１：ＹＥＳ又はＳ９０７：ＹＥＳにて判断された差異ビットと同じ属性のビットが隣り合う範囲内（同一の描画画像内）に位置情報を持つ差異ビットも、Ｓ９０１又はＳ９０７にて判断された差異ビットとともに削除される。
【００６６】
また、Ｓ９０４：ＮＯの判断、Ｓ９０５の処理、Ｓ９１０：ＮＯの判断、Ｓ９１１の処理の場合、パターン描画命令加工機能又は、線描画命令加工機能のいずれかの実行に判断が示されており、同一の描画画像内の差異ビットを加工する処理がされたので、ＲＡＭ３３から差異ビットを削除して、同一の描画画像内において同じ判断が繰り返しを防止する。また、Ｓ９０７：ＮＯの場合は、差異ビットを加工する機能がないので、同一の描画画像内の差異ビットを削除して、同一の描画画像内において同じ判断が繰り返されることを防止する。
【００６７】
さらに、全ての描画画像についてパターン描画か線描画かを判断した場合（Ｓ９１２：ＹＥＳ）、差異編集処理を終了し、全ての描画画像についてパターン描画か線描画かを判断していない場合（Ｓ９１２：ＮＯ）、Ｓ９０１に戻る。
【００６８】
（本実施形態の効果）
印刷プレビュー機能を備える情報処理装置３０及び印刷プレビュー処理を実行させるプログラムによれば、表示データとドライバデータとの比較結果が表示部４１に表示されるので、ユーザが所望の印刷結果を得られる可能性を高めることが出来る。
【００６９】
また、ＣＰＵ３１が表示内容を編集可能なアプリケーションプログラムによって生成された表示データと描画画像データとを比較することで、アプリケーションプログラムによって作成される独自のアプリプレビューと、プリンタドライバが生成する描画画像データとが異なる場合でも、ユーザが所望の印刷結果を得られる可能性を高めることができる。
【００７０】
また、印刷ボタン３０１がアプリケーションプログラム内に組み込まれているので、ユーザはアプリケーションプログラムを使用した状態で印刷ボタン３０１での指示をするだけで簡易にデータの比較及びその結果を取得することが可能である。
【００７１】
また、アプリプレビューと描画画像データとに差異が生じた場合、ＣＰＵ３１が表示部４１に差異があることを表示することにより、差異があることをユーザが認識しやすくなる。
【００７２】
また、描画命令を加工するための機能を実行可能であるため、ユーザの利便性が向上する。
【００７３】
また、アプリプレビューの描画のタイプごとに適切な機能が選択可能となるので、描画命令を加工しやすくなり、利便性が向上する。
【００７４】
また、同一頁内の各々の描画画像について、ＣＰＵ３１が描画タイプを判断し、描画のタイプごとに適切な機能を切替えて表示部４１に表示し、ユーザが描画命令の加工を実行するか判断ができるので、各々の描画画像についてよりユーザの望む印刷結果が得られる加工方法を提供することができる。
例えば、ユーザが各描画画像についてパターン描画は加工したいけれども、線描画は加工したくない場合に、描画タイプを判断することで、より細かい加工を行うことができるので、ユーザ所望の印刷結果が得られやすくなる。
【００７５】
また、表示データとドライバデータとがビットマップ形式のデータであることにより、ＣＰＵ３１が表示データとドライバデータとをビット毎に比較することが可能となり、簡易に差異があるか判断することが可能となる。
【００７６】
＜第２の実施形態＞
次に、本発明の画像形成装置の第２の実施形態について説明する。
上記第１の実施形態の画像形成装置は、ユーザがパターン描画命令加工機能や線描画命令加工機能の実行の判断をしていたが、第２の実施形態の画像形成装置は、ＣＰＵ３１が描画命令加工機能や線描画命令加工機能の実行の判断をする。
【００７７】
第２の実施形態は、印刷結果確認付き印刷処理が第１の実施形態と同様であるので説明を省略し、第１の実施形態の差異編集処理と同様の処理を実行する部分の詳細な説明を適宜省略しながら、異なる処理を実行する部分について図１２を参照しながら説明する。
【００７８】
（第２の実施形態における差異編集処理）
まず、ＣＰＵ３１は、差異ビットはパターン描画か判断する（Ｓ９０１）。具体的には、ＣＰＵ３１が差異ビットと対応する属性描画画像の固有値を比較することで、パターン描画であるか判断する。固有値により判断されたカテゴリがパターン描画であった場合は、パターン描画部分に差異あり（Ｓ９０１：ＹＥＳ）と判断し、差異ありの部分のカテゴリがパターン描画でなかった場合は、パターン描画部分に差異なし（Ｓ９０１：ＮＯ）と判断する。
【００７９】
パターン描画部分に差異ありと判断した場合（Ｓ９０１：ＹＥＳ）、パターン描画命令加工機能を実行する（Ｓ９０５）。
【００８０】
一方、Ｓ９０１でパターン描画部分に差異なしと判断した場合（Ｓ９０１：ＮＯ）、線描画部分に差異ありか判断する（Ｓ９０７）。具体的には、ＣＰＵ３１が差異ビットと対応する属性描画画像の固有値を比較することで、線描画であるか判断する。カテゴリが線描画であった場合は、線描画部分に差異あり（Ｓ９０７：ＹＥＳ）と判断し、差異ありの部分のカテゴリが線描画でなかった場合は、線描画部分に差異なし（Ｓ９０７：ＮＯ）と判断する。
【００８１】
線描画部分に差異があると判断した場合（Ｓ９０７：ＹＥＳ）、線描画命令加工機能を実行する（Ｓ９１１）。
【００８２】
Ｓ９０５の処理、Ｓ９０７：ＮＯの判断、Ｓ９１１の処理に続いて、差異ビットを削除する（Ｓ９０６）。
【００８３】
さらに、全ての描画画像についてパターン描画か線描画かを判断した場合（Ｓ９１２：ＹＥＳ）、差異編集処理を終了し、全ての描画画像についてパターン描画か線描画かを判断していない場合（Ｓ９１２：ＮＯ）、Ｓ９０１に戻る。
【００８４】
よって、第２の実施形態の画像形成装置は、ユーザの手を煩わすことなく、ＣＰＵ３１がパターン描画命令加工機能や線描画命令加工機能を実行するので、ユーザの利便性が向上する。
【００８５】
＜第３の実施形態＞
次に、本発明の画像形成装置の第３の実施形態について説明する。
上記第１又は第２の実施形態の画像形成装置は、パターン描画命令加工機能や線描画命令加工機能を実行する実施形態であったが、第３の実施形態の画像形成装置は、ＣＰＵ３１が描画命令加工機能や線描画命令加工機能の実行を勧めるメッセージを表示するのみで、パターン描画命令加工機能や線描画命令加工機能を実行しない。
【００８６】
（プレビュー処理）
第３の実施形態における情報処理装置３０の動作について、図２の印刷結果確認付き印刷処理を参照しながら、プレビュー処理に必要な処理だけ適宜選んで説明する。
【００８７】
このプレビュー処理は、ＣＰＵ３１が入力部４２の操作によりプレビューボタン１６０１を押されたことを検知したことに応じて開始され、まずＣＰＵ３１は、図４に示す、アプリプレビューを取得し（Ｓ２０１）、描画画像データ及び属性描画画像生成処理を行う（Ｓ２０３）。
【００８８】
次に、ＣＰＵ３１は、描画画像データが表示部４１に表示されるように処理されたプレビュー画像を表示する（Ｓ２０４）。そして、アプリプレビューと描画画像データとを比較する（Ｓ２０５）。
【００８９】
次に、ＣＰＵ３１が、アプリプレビューと描画画像データとに差異があるか判断する（Ｓ２０６）。ＣＰＵ３１が、アプリプレビューと描画画像データとに差異ビットがないと判断した場合（Ｓ２０６：ＮＯ）、プレビュー処理を終了する。
【００９０】
一方、ＣＰＵ３１が、アプリプレビューと描画画像データとに差異ビットがあると判断した場合（Ｓ２０６：ＹＥＳ）、ＣＰＵ３１が、差異編集処理を実行し（Ｓ２０７）、プレビュー処理を終了する。
【００９１】
即ち、第３の実施形態におけるプレビュー処理では、第１及び第２の実施形態におけるＳ２０２印刷結果確認付き印刷処理に比べて、Ｓ２０２、Ｓ２０８、Ｓ２０９の処理が省略される。尚、第３の実施形態における差異編集処理については、後述にて、詳細説明する。
【００９２】
（第３の実施形態における差異編集処理）
第３の実施形態における差異編集処理は、第１の実施形態の差異編集処理と同様の処理を実行する部分の詳細な説明を適宜省略し、異なる処理を実行する部分について図１３を参照しながら説明する。
【００９３】
まず、ＣＰＵ３１は、差異ビットはパターン描画か判断し（Ｓ９０１）、パターン描画部分に差異ありと判断した場合（Ｓ９０１：ＹＥＳ）、Ｓ２０４において、ＣＰＵ３１が「差異あり」の情報と共にＲＡＭ３３に記憶されている画像位置の情報から、差異のある位置の周囲を枠で囲み、その枠を点滅表示させる（Ｓ９０２）。そして、パターン描画命令加工機能を勧めるメッセージを表示する（Ｓ９０３）。例えば、図１４のようなメッセージを表示し、ユーザはメッセージを確認したら、「ＯＫ」を選択する。
【００９４】
一方、Ｓ９０１にてパターン描画部分に差異なしと判断した場合（Ｓ９０１：ＮＯ）、線描画部分に差異ありか判断する（Ｓ９０７）。線描画部分に差異ありと判断した場合（Ｓ９０７：ＹＥＳ）、Ｓ２０４において、ＣＰＵ３１が「差異あり」の情報と共にＲＡＭ３３に記憶されている画像位置の情報から、差異のある位置の周囲を枠で囲み、その枠を点滅表示させる（Ｓ９０２）。そして、細線描画命令加工機能を勧めるメッセージを表示する（Ｓ９０９）。例えば、図１５のようなメッセージを表示し、ユーザはメッセージを確認したら、「ＯＫ」を選択する。
【００９５】
Ｓ９０３の処理、Ｓ９０７：ＮＯの判断、Ｓ９０９の処理に続いて、差異ビットを削除する（Ｓ９０６）。続いて、全ての描画画像についてパターン描画か線描画かを判断した場合（Ｓ９１２：ＹＥＳ）、差異編集処理を終了し、全ての描画画像についてパターン描画か線描画かを判断していない場合（Ｓ９１２：ＮＯ）、Ｓ９０１に戻る。
【００９６】
よって、第３の実施形態の画像形成装置は、表示データとドライバデータとに差異が生じた場合、ＣＰＵ３１が表示部４１に差異があることを表示することにより、差異があることをユーザが認識しやすくなる。
【００９７】
また、差異がある場合、描画命令を加工するための機能の実行を勧めるメッセージが表示されるので、ユーザが描画命令を加工するための機能を実行すると良いことがわかる。
【００９８】
＜他の実施形態＞
（１）本実施形態では、アプリケーションプログラムのプレビュー画像とプリンタドライバのプレビュー画像とに差異があると判断した場合（Ｓ２０５：ＹＥＳ）、差異を囲む枠を点滅表示させる（Ｓ２０６）構成となっているが、差異を囲む枠を点滅表示させる構成に限られず、差異だけを表示してもよい。
また、さらに他の方法で表示してもよく、アプリケーションプログラムのプレビュー画像と描画画像データのプレビュー画像とを交互に表示しても、差異のある部分だけ色づけしてもよい。さらに、プリプレビューと描画画像データとのどちらか一方のプレビューだけを表示部４１に表示して、差異をポップアップしたり、アプリプレビューと描画画像データとに差異がある場合、専用の編集画面に切り替わる構成したりしてもよい。
（２）本実施形態では、属性描画処理は、パターン描画画像や線描画画像、絵、文字等の描画画像のカテゴリに応じて、緑、黄、赤、青といった固有値を割り当てたり、色に限らず、１、２、３、４といった数値を割り当たりしてもよい。
（３）本実施形態で、パターン命令加工機能は、パターンの間隔が狭い場合にパターンの間隔を広げる実施例となっているが、パターン間隔が広い場合にパターン間隔を狭める実施例としてもよい。
（４）本実施形態で、線描画命令加工機能は細い線を太い線に修正する実施形態となっているが、太い線を細い線にする実施例であってもよい。
（５）本実施形態では、パターン命令加工機能と線描画命令加工機能に限っているが、文字の大きさ、書体、太さ等を加工する文字描画命令加工機能等の他の描画命令加工機能を設ける構成としてもよい。
（６）本実施形態では、アプリプレビューも描画画像データもビットマップであるものであったが、ビットマップに限らず、ＪＰＥＧやＴＩＦＦ等のその他の形式のデータであってもよい。
（７）本実施形態では、差異編集処理（Ｓ２０７）において、差異ビットごとにパターン描画命令加工機能や線描画命令加工機能を実行しているが、差異ビットがある場合、描画画像データのビットマップデータをアプリプレビューのビットマップデータに置き換えてもよい。
（８）本実施形態では、ＣＰＵ３１がアプリケーションプログラムから描画命令を受け取り、パターン描画命令加工機能や線描画命令加工機能を実行して、描画命令を加工していたが、パターン描画命令加工機能や線描画命令加工機能を実行して、描画画像データの描画画像毎にパターン描画命令加工機能や線描画命令加工機能を実行してもよい。
【符号の説明】
【００９９】
３０  ＰＣ
３１  ＣＰＵ
３２  ＲＡＭ
４１  表示部
【図１】
0005630061.tif 000002
【図２】
0005630061.tif 000003
【図３】
0005630061.tif 000004
【図４】
0005630061.tif 000005
【図５】
0005630061.tif 000006
【図６】
0005630061.tif 000007
【図７】
0005630061.tif 000008
【図８】
0005630061.tif 000009
【図９】
0005630061.tif 000010
【図１０】
0005630061.tif 000011
【図１１】
0005630061.tif 000012
【図１２】
0005630061.tif 000013
【図１３】
0005630061.tif 000014
【図１４】
0005630061.tif 000015
【図１５】
0005630061.tif 000016
【図１６】
0005630061.tif 000017