(57)【要約】【課題】  印刷の失敗を防止する。【解決手段】  印刷対象の複数ページの印刷データをページ単位で比較する。比較の結果に基づいて、当該印刷対象の複数ページの中に同一内容にページが存在する場合、ユーザに確認を促す通知を行う。【選択図】  図６
2015118637.tif 000002
【特許請求の範囲】
【請求項１】
印刷対象の複数ページの印刷データをページ単位で比較する比較手段と、
前記比較手段の比較の結果に基づいて、当該印刷対象の複数ページの中に同一内容のページが存在する場合、ユーザに確認を促す通知を行う通知手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記比較手段の比較の結果、同一内容のページが連続して存在する場合、前記通知手段は、部数設定を忘れていないかどうかの注意を促すための警告情報を出力することにより通知を行う
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記比較手段は、ページ番号が前後するページに対応する印刷データを比較する
ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記比較手段は、先頭ページに対応する印刷データと、残りのページそれぞれに対応する印刷データとを逐次比較する
ことを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
印刷開始前に印刷データの縮小画像によりプレビューを行うプレビュー手段を有し、
前記比較手段は、前記プレビュー手段によりプレビューを行うための縮小画像を用いて比較を行う
ことを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記比較手段、及び前記通知手段は、アプリケーションから受け取った印刷データに基づき印刷処理を行うためのプリンタドライバによって実現される
ことを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
印刷対象の複数ページの印刷データをページ単位で比較する比較工程と、
前記比較工程の比較の結果に基づいて、当該印刷対象の複数ページの中に同一内容にページが存在する場合、ユーザに確認を促す通知を行う通知工程と
を備えることを特徴とする情報処理方法。
【請求項８】
請求項１〜６のいずれか１項に記載の情報処理装置の各手段または請求項７に記載の情報処理方法をコンピュータにより実現することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数ページの印刷を行わせる際の情報処理技術に関するものである。
【背景技術】
【０００２】
従来、複数ページの印刷データを複数部数分印刷させる際、同一ページを続けて指定部数分印刷させる方法と、各ページを１ページずつ印刷させる処理を指定部数分印刷させる方法とがある（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−１１２７０３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、アプリケーションによっては、指定部数分のページをまとめて１部のジョブとしてプリンタドライバに渡すものがある。そのようなジョブは、プリンタドライバ側が複数部であると判断することができない。
【０００５】
図７は、例えば、３ページからなる印刷ジョブを２ページ割付にして２部印刷した際の失敗例である。図７の失敗例では、１ページ目７０１に、１部目の１ページと２ページが割り付けられ、２ページ目７０２にて、１部目の３ページと２部目の１ページが割り付けられ、３ページ目７０３にて、２部目の１ページと２ページが割り付けられている。つまり、図７では、本来、異なるページに割り付けられるべき１部目の３ページと２部目の１ページが、同一ページ（２ページ目７０２）に割り付けられてしまっている。
【０００６】
この印刷ジョブで、ユーザが想定する印刷結果は、図８である。このとき、ユーザは、印刷が終了したあとに、想定する印刷結果と実際の印刷物との相違に気づき、失敗した印刷物を破棄しもう一回印刷をすることになる。
【０００７】
本発明は上記の課題を解決するためになされるものであり、複数ページの印刷データの印刷の失敗を抑止することができる情報処理技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記の目的を達成するための本発明による情報処理装置は以下の構成を備える。即ち、
印刷対象の複数ページの印刷データをページ単位で比較する比較手段と、
前記比較手段の比較の結果に基づいて、当該印刷対象の複数ページの中に同一内容のページが存在する場合、ユーザに確認を促す通知を行う通知手段と
を備える。
【発明の効果】
【０００９】
本発明によれば、複数ページの印刷データの印刷の失敗を抑止することができる。
【図面の簡単な説明】
【００１０】
【図１】印刷システムの構成を示すブロック図である。
【図２】ホスト装置の構成を示すブロック図である。
【図３】印刷ダイアログの例を示す図である。
【図４】プリンタドライバユーザインタフェースの例を示す図である。
【図５】印刷プレビュー制御部が表示するユーザインタフェースを示す図である。
【図６】印刷プレビュー制御部がプレビューを表示する際に判断する処理を示すフローチャートである。
【図７】印刷結果例を示す図である。
【図８】印刷結果例を示す図である。
【発明を実施するための形態】
【００１１】
以下、本発明の実施の形態について図面を用いて詳細に説明する。
【００１２】
図１は印刷システムの概略構成を示すブロック図である。
【００１３】
図１の印刷システムでは、パーソナルコンピュータ（ＰＣ）等の情報処理装置からなるホスト装置１と、記録媒体に記録を行う印刷装置であるプリンタ２とによって構成される。
【００１４】
ホスト装置１には、オペレーティングシステム（以下、ＯＳ）１０１と、プリンタ２を制御するソフトウェアであるプリンタドライバ１０３と、各種文書を作成するアプリケーション１０２とがインストールされている。ホスト装置１では、アプリケーション１０２によって作成される各種の文書や画像を印刷するため、ＯＳ１０１とプリンタドライバ１０３とが動作する。
【００１５】
また、プリンタドライバ１０３は、以下の４つの機能部を含む。
【００１６】
即ち、ユーザからの入力を受け付けるユーザインタフェース（ＵＩ）部１０４、プリンタ２に送信する印刷データを生成するグラフィックス処理部１０５、印刷レイアウト等の印刷結果を確認する印刷プレビュー（プレビュー機能）の制御を行う印刷プレビュー制御部１０６である。さらに、これらに加えて、プリンタ２に装着されている記録媒体であるロール紙の幅情報や現在のプリンタ２の状態等の各種プリンタ情報を取得するプリンタ情報取得部１０７がある。グラフィックス処理部１０５は印刷データをラスタ形式の画像データに変換し、所定バンド毎にプリンタ２に出力し、プリンタ２に逐次印刷処理を行わせる。印刷プレビュー制御部１０６は印刷データに基づきプレビュー用に簡素化された形式（縮小画像）の画像データを生成する。
【００１７】
尚、図１では、プリンタ２は、例えば、印刷方式として、記録剤にインクを用いたインクジェット方式を利用するプリンタであって、ここでは、画像を記録する記録媒体としてロール紙を用いる印刷装置を例示している。しかし、記録媒体として予め所定サイズにカットされたカット紙を用いる印刷装置を本実施形態に適用することができる。また、記録方式としては、インクジェット方式に限定されず、電子写真方式、熱転写方式等の他の印刷方式を利用することができる。
【００１８】
図２はホスト装置１の構成を示すブロック図である。
【００１９】
図２において、ＣＰＵ２０１は、ホスト装置１全体の各種制御を行う。ＲＯＭ２０２には、ホスト装置１の起動時にＣＰＵ２０１が実行する初期化プログラムや各種データが格納されている。ＲＡＭ２０３は。ＣＰＵ２０１に対するメインメモリや作業領域として用いられる。
【００２０】
外部記憶装置２０５は、例えば、ハードディスク（ＨＤＤ）等の記憶媒体で構成され、各種プログラムが格納される。このプログラムには、図１のＯＳ１０１やプリンタドライバ１０３を実現するプログラムや、後述するフローチャートで示される処理を実現するためのプログラムが含まれる。そして、ＲＡＭ２０３には、後述するフローチャートで示される処理を実現するためのプログラムが外部記憶装置２０５よりロードされる。
【００２１】
入力部２０６は、キーボードやマウス等の入力装置で構成され、ＣＰＵ２０１に対して、各種指示入力を行う。ＬＣＤやＣＲＴ等の表示装置で構成される表示部２０７は、ＣＰＵ２０１の制御によって、ユーザインタフェース等の画像の各種表示を行う。通信インタフェース（Ｉ／Ｆ）２０４により、ホスト装置１は、プリンタ２等の周辺装置との通信を行う。この通信インタフェース２０４は、有線／無線のどちらでも良く、有線の場合、ＬＡＮインタフェース、ＵＳＢインタフェース等を利用でき、無線の場合、無線ＬＡＮインタフェース、ＷｉＦｉインタフェース等を利用できる。
【００２２】
次に、ユーザの操作に従う印刷プレビュー制御部１０６を利用した印刷プレビュー表示手順について説明する。
【００２３】
初めに、ユーザは、アプリケーション１０２にて任意の文書を作成し、アプリケーション１０２が提供するメニュー等のコントロールから印刷指示を行い、図３に示す印刷ダイアログ３０１を起動する。アプリケーション１０２の印刷ダイアログ３０１からは、プロパティボタン３０３等のボタンコントロールを押下することにより、選択しているプリンタドライバの設定を確認、または変更を行うことができる。
【００２４】
図３の印刷ダイアログ３０１は、プリンタ選択部３０２、プロパティボタン３０３、印刷部数設定部３０４、印刷順設定部３０５を備える。印刷順設定部３０５では、チェックボックスにより、部単位印刷、２ページ割付等の印刷順設定の適用の有無を指定することができる。部単位印刷や２ページ割付を設定する場合はチェックを入れて、設定しない場合はチェックを外す。また、印刷ダイアログ３０１では、印刷をキャンセルするキャンセルボタン３０６と、印刷開始を指示するＯＫボタン３０７を備える。
【００２５】
ここで、部単位印刷とはＮページ（複数ページ）の印刷データをＭ部印刷する場合、１、２、・・・Ｎページ目の順の印刷をＭ回繰り返す印刷である。部単位印刷を指定せずにＮページの印刷データをＭ部印刷する場合、１ページ目をＭ回印刷、２ページをＭ回印刷、・・・ＮページをＭ回印刷となる。２ページ割付は、図７、及び図８のように１ページ分の領域に２ページ分の印刷を行うものである。割り付けられるページ数を３以上にできるようにしてもよい。
【００２６】
図４はプリンタドライバ１０３の設定を確認、変更を行うユーザインタフェースであるドライバＵＩ４００の一例を示す図である。このドライバＵＩ４００は、ＵＩ部１０４によって生成されるものであり、図３のプロパティボタン３０３が押下されると表示される。
【００２７】
図４において、ドライバＵＩ４００は、「原稿サイズ」を設定するためのリストボックス４０１、「用紙の種類」を設定するためのリストボックス４０２、「給紙方法」を設定するためのリストボックス４０３を備える。また、ドライバＵＩ４００は、「印刷プレビューを行う」ためのチェックボックス４０４を備える。更に、ドライバＵＩ４００は、各種設定状態をキャンセルするためのキャンセルボタン４０５、各種設定状態を確定するためのＯＫボタン４０６を備える。
【００２８】
「印刷プレビューを行う」ためのチェックボックス４０４は、印刷開始前に印刷プレビューを起動するか否かを設定する。ここで、設定をオンにする（チェックする）ことにより、印刷前に印刷プレビュー処理が起動される。ここでは、設定をオンにしている状態を示している。
【００２９】
以上の設定がなされた状態で、ＯＫボタン４０６を押下することにより、設定が確定し、プリンタドライバ１０３のドライバＵＩ４００の表示を終了する。
【００３０】
プリンタドライバ１０３の設定の終了後、アプリケーション１０２の印刷ダイアログ３０１から印刷を開始するための「ＯＫ」ボタン３０９を押下することにより、プリンタドライバ１０３に文書データが渡される。上述のように、現在、プリンタドライバ１０３の設定で、「印刷プレビューを行う」ためのチェックボックス４０４をオンに設定しているため、文書データは印刷プレビュー制御部１０６に渡されて、印刷プレビューの起動処理が開始される。
【００３１】
図５は印刷プレビュー制御部１０６が実現するプレビュー画面である印刷プレビューダイアログ５０１である。
【００３２】
図５の印刷プレビューダイアログ５０１は、印刷プレビュー表示部５０２ａ、設定表示・変更部５０２ｂを備える。設定表示・変更部５０２ｂは、メッセージ表示部５０３、印刷部数設定部５０４、部単位印刷設定部５０５、逆順印刷設定部５０６、印刷ボタン５０７、キャンセルボタン５０８を備える。ここで、部単位印刷は上述のアプリケーション１０２の部単位印刷と同様である。逆順印刷は最終ページの印刷データから印刷を開始させ、以下降順で印刷を行う。これにより、フェイスアップ排紙した場合の並び替えの手間を減らすことが可能となる。
【００３３】
ユーザは、印刷プレビュー表示部５０２ａに表示される印刷イメージを確認することができる。この印刷プレビュー表示部５０２ａに表示される印刷イメージの処理については、図６のフローチャートで後述する。印刷プレビュー表示部５０２ａに表示されている内容で印刷する場合、印刷ボタン５０７を押下することにより印刷データをプリンタ２へ出力し印刷を行う。印刷プレビュー表示部５０２ａに表示される印刷イメージを確認し、印刷しない場合は、キャンセルボタン５０８を押下することにより、印刷プレビューダイアログ５０１を閉じる。
【００３４】
尚、印刷部数設定部５０４、部単位印刷設定部５０５、逆順印刷設定部５０６は、以下の図６における処理によって、その表示／非表示、あるいは、操作可能状態（有効）／操作禁止状態（無効）が制御される。
【００３５】
図６はプリンタ２の印刷プレビュー表示部５０２ａに表示する印刷イメージの処理に関するフローチャートである。
【００３６】
尚、この処理は、アプリケーション１０２でプリンタ２が選択され、プリンタドライバ１０３のドライバＵＩ４００で、「印刷プレビューを行う」ためのチェックボックス４０４をオンに設定されている状態で、アプリケーション１０２の印刷ダイアログ３０１のＯＫボタン３０７が操作された場合に実行される。
【００３７】
まず、Ｓ１０１で、印刷プレビュー制御部１０６は、プレビュー用の縮小画像をページ単位で生成する。Ｓ１０２で、印刷プレビュー制御部１０６は、プレビュー画像を印刷プレビュー表示部５０２ａに表示する。
【００３８】
Ｓ１０３で、印刷プレビュー制御部１０６は、縮小画像を比較するための変数であるｉとＣｏｕｎｔを初期化する。変数ｉが、比較するページ番号を表し、変数Ｃｏｕｎｔが、同一内容のページがいくつであったかをカウントする変数である。ここでは、変数ｉを１、Ｃｏｕｎｔを０に初期化する。
【００３９】
Ｓ１０４で、印刷プレビュー制御部１０６は、プレビュー用の縮小画像を用いて、先頭ページとｉページ目を比較する。処理開始時は、ｉが１なので、先頭ページと１ページ目を比較する。Ｓ１０５で、印刷プレビュー制御部１０６は、比較した内容が同一内容であるか否かを判断する。同一内容である場合（Ｓ１０５でＹＥＳ）、Ｓ１０６で、印刷プレビュー制御部１０６は、同一内容のページのページ番号（ｉ）を記憶し、変数Ｃｏｕｎｔを１加算（Ｃｏｕｎｔ＝Ｃｏｕｎｔ＋１）することで、同一内容のページ数をカウントする。一方、同一内容でない場合（Ｓ１０５でＮＯ）、Ｓ１０６をスキップして、Ｓ１０８へ進む。
【００４０】
Ｓ１０８で、印刷プレビュー制御部１０６は、最終ページまでの比較が終了したか否かを判断する。つまり、処理対象のページが最終ページであるか否かを判断する。処理対象のページが最終ページである場合（Ｓ１０８でＹＥＳ）、Ｓ１０９へ進む。一方、処理対象のページが最終ページでない場合（Ｓ１０８でＮＯ）、Ｓ１０７で、印刷プレビュー制御部１０６は、比較対象のページのページ番号を１加算（ｉ＝ｉ＋１）して、Ｓ１０４に戻る。
【００４１】
ページ同士の比較が終了したら、Ｓ１０９で、印刷プレビュー制御部１０６は、まず、変数Ｃｏｕｎｔが１以上であるか否かを判断する。変数Ｃｏｕｎｔが１未満である場合、つまり、同一内容のページがない場合（Ｓ１０９でＮＯ）、部数設定はないと判断して、処理を終了する。
【００４２】
一方、変数Ｃｏｕｎｔが１以上である場合、つまり、同一内容のページが１つ以上ある場合（Ｓ１０９でＹＥＳ）、どのような順番で同一内容のページがあるのかを、記憶したページ番号ｉで判断する。ここでは、特に、Ｓ１１０で、印刷プレビュー制御部１０６は、この記憶したページ番号ｉが連番であるか否かを判断する。この記憶したｉが連番である場合（Ｓ１１０でＹＥＳ）、部数設定がされているものの、部単位設定や逆順設定等を忘れている可能性が高いため、Ｓ１１１で、印刷プレビュー制御部１０６は、設定を忘れていないかどうかの注意を促すための警告画面をメッセージ表示部５０３に表示する。警告画面の表示に加えて、警告音や警告メッセージ等の警告情報を音声出力しても良い。
【００４３】
一方、記憶したページ番号ｉが連番でない場合（Ｓ１１０でＮＯ）、部数設定、部単位設定、逆順設定等の設定をアプリケーション１０２側で実行している可能性が高い。しかし、ページ割付が予想通りになっていない恐れがある。よって、Ｓ１１２で、印刷プレビュー制御部１０６は、ページ組替設定用（部数設定や部単位設定、逆順印刷設定）の設定コントロールを表示し、その設定コントロールを介して追加設定をユーザに対して促す。この設定コントロールとは、例えば、印刷部数設定部５０４、部単位印刷設定部５０５、逆順印刷設定部５０６である。尚、印刷部数設定部５０４、部単位印刷設定部５０５、逆順印刷設定部５０６は、常に表示しておくものの、デフォルト状態を操作禁止状態としておき、Ｓ１１２の処理によって、その状態を操作可能状態に切り替えるようにしても良い。
【００４４】
Ｓ１１３で、印刷プレビュー制御部１０６は、プレビューが入力された設定通りになるように、印刷プレビューダイアログ５０１に対する設定操作に応じて、印刷ジョブを分割したり並び替えをしたりした上で、プリンタ２に出力する印刷ジョブの印刷設定を更新する。
【００４５】
このように、図６の処理では、処理対象の印刷ジョブの内容に応じて、プレビュー画面である印刷プレビューダイアログ５０１の表示内容を制御する。つまり、同一内容のページが不連続して存在する場合には、部数設定に関する設定コントロールを有効（所定の設定コントロールを出力）にし、加えて、同一内容のページが連続して存在する場合には警告情報を出力する。
【００４６】
図７は、図６の処理を適用しなかった場合に想定される失敗例を示している。３ページのジョブを２部、２ページ割付で印刷した場合に、アプリケーション側が２部分の印刷ジョブを１部として送信するため、印刷結果として、１ページ目７０１、２ページ目７０２、３ページ目７０３が得られる。この場合、２ページ目７０２の印刷が失敗している。つまり、２ページ目７０２では、１部目の３ページ目と２部目の１ページ目が同一ページに割り付けられてしまっている。
【００４７】
一方、図８は、図６の処理を適用して、図７と同一条件の印刷ジョブと設定にて印刷を実行した場合に、その印刷結果が成功した例を示している。この場合、印刷結果として、１ページ目８０１、２ページ目８０２、３ページ目８０３、４ページ目８０４が得られる。この場合、２ページ目８０２では、図７のように、１部目の３ページ目と２部目の１ページ目が割り付けられず、本来、割り付けられるべき３ページ目８０３に、２部目の１ページ目が割り付けられている。
【００４８】
図６の処理では、比較元となる先頭ページに対応するプレビュー画像と、比較先となるそれ以降のページに対応するプレビュー画像とを逐次比較して、両者が同一であるか否かを判断することにより、部数設定の有無を判断する構成としているが、これに限定されない。比較元とするページは先頭ページに限定されず、全ページ中の任意のページを比較元にして、残りのページを比較先にしても良い。あるいは、一連のページの内、ページ番号が前後するページに対応するプレビュー画像同士が同一内容であるか否かのみを判断して、同一内容である場合にのみ、Ｓ１１１で、設定を忘れていないかどうかの注意を促すための警告画面をメッセージ表示部５０３に表示するようにしても良い。
【００４９】
次に、以上の構成の印刷システムにおいて実行される印刷プレビュー処理の実施形態について説明する。
【００５０】
＜実施形態１＞
プリンタドライバ１０３のドライバＵＩ４００で「印刷プレビューを行う」ためのチェックボックス４０４をオンに設定されている状態で、ユーザが、アプリケーション１０２にて、３ページ構成のジョブを作成したとする。これを印刷する際に、印刷ダイアログ３０１を表示して、印刷部数設定部３０４にて部数を３部に設定し、印刷順設定部３０５で印刷順についての設定は実行せずに、ＯＫボタン３０７を押下すると、印刷プレビューダイアログ５０１が表示される。このとき、アプリケーション１０２は、３ページ３部、つまり、９ページを、１、１、１、２、２、２、３、３、３というページ並びの１つの印刷ジョブとしてプリンタドライバ１０３に渡すことになる。
【００５１】
このような場合、印刷プレビュー制御部１０６による印刷プレビュー処理は、Ｓ１０１で、印刷プレビュー制御部１０６は、まず、９ページそれぞれの縮小画像を生成する。Ｓ１０２で、印刷プレビュー制御部１０６は、生成した縮小画像を用いて、プレビュー画像を印刷プレビュー表示部５０２ａに表示する。Ｓ１０３で、印刷プレビュー制御部１０６は、変数ｉを１、変数Ｃｏｕｎｔを０で初期化する。
【００５２】
Ｓ１０４で、印刷プレビュー制御部１０６は、まず、先頭の０番目の画像と、ｉ番目、つまり、１番目の画像とを比較する。この場合は、印刷プレビュー制御部１０６は、Ｓ１０５にて同一内容であると判断するため、Ｓ１０６で、印刷プレビュー制御部１０６は、ｉ、つまり、１を記憶領域に記憶し、変数Ｃｏｕｎｔに１を加算する。Ｓ１０８で、印刷プレビュー制御部１０６は、ｉ番目のページは最終ページではないと判断する。そのため、Ｓ１０７で、印刷プレビュー制御部１０６は、変数ｉに１を加算して２とする。
【００５３】
Ｓ１０４に戻り、印刷プレビュー制御部１０６は、先頭の０番目の画像と、ｉ番目、つまり、２番目の画像とを比較する。ここでも、印刷プレビュー制御部１０６は、Ｓ１０５にて同一内容であると判断するため、Ｓ１０６にて、印刷プレビュー制御部１０６は、ｉ、つまり、２を記憶領域に記憶し、変数Ｃｏｕｎｔに１を加算する。Ｓ１０８で、印刷プレビュー制御部１０６は、ｉ番目のページは最終ページではないと判断する。そのため、Ｓ１０７で、印刷プレビュー制御部１０６は、変数ｉに１を加算して３とする。
【００５４】
Ｓ１０４に戻り、印刷プレビュー制御部１０６は、先頭の０番目の画像と、ｉ番目、つまり、３番目の画像とを比較する。ここでは、印刷プレビュー制御部１０６は、Ｓ１０５にて同一内容でないと判断するため、何もせずに、Ｓ１０８へと進む。
【００５５】
Ｓ１０８で、印刷プレビュー制御部１０６は、ｉ番目のページは最終ページではないと判断する。そのため、Ｓ１０７で、印刷プレビュー制御部１０６は、変数ｉに１を加算して４とする。これらの処理を、最終ページである９ページ目、つまり、ｉが８になるまで繰り返す。
【００５６】
ページ同士の比較が終了した時には、この場合、記憶されているｉは１と２、変数Ｃｏｕｎｔは２となっている。そこで、まず、Ｓ１０９で、印刷プレビュー制御部１０６は、変数Ｃｏｕｎｔが１以上であるか否かを判断する。変数Ｃｏｕｎｔは、この場合、２となっているため、部数設定がされていると判断する。Ｓ１１０で、印刷プレビュー制御部１０６は、記憶されているｉが連番であるか否かを判断する。この場合、記憶されているｉは１と２であり、連番であるため、部数設定をしているが、部単位設定や逆順印刷を忘れていると判断されるため、Ｓ１１１で、印刷プレビュー制御部１０６は、設定を忘れていないか注意を促す警告メッセージをメッセージ表示部５０３に表示して終了する。
【００５７】
＜実施形態２＞
プリンタドライバ１０３のドライバＵＩ４００で「印刷プレビューを行う」ためのチェックボックス４０４をオンに設定されている状態で、ユーザが、アプリケーション１０２にて、３ページ構成のジョブを作成したとする。これを印刷する際に、印刷ダイアログ３０１を表示して、印刷部数設定部３０４にて部数設定を３部に設定し、印刷順設定部３０５にて部単位設定と２ページ割付設定を実行し、ＯＫボタン３０７を押下すると、印刷プレビューダイアログ５０１が表示される。このとき、アプリケーション１０２は、３ページ３部、つまり、９ページを、１、２、３、１、２、３、１、２、３というページ並びの１つの印刷ジョブとしてプリンタドライバ１０３に渡すことになる。
【００５８】
このような場合、印刷プレビュー制御部１０６による印刷プレビュー処理は、Ｓ１０１で、印刷プレビュー制御部１０６は、９ページそれぞれの縮小画像を生成する。Ｓ１０２で、印刷プレビュー制御部１０６は、生成した縮小画像を用いて、２ページ割付の形式でプレビュー画像を印刷プレビュー表示部５０２ａに表示する。この時点では、２枚目の用紙は３ページ目と１ページ目の組み合わせになっているため、このまま印刷してしまうと印刷が失敗することになる。Ｓ１０３で、印刷プレビュー制御部１０６は、変数ｉを１、変数Ｃｏｕｎｔを０で初期化する。
【００５９】
Ｓ１０４で、印刷プレビュー制御部１０６は、まず、先頭の０番目の画像と、ｉ番目、つまり、１番目の画像とを比較する。この場合は、Ｓ１０５にて同一内容でないと判断するため、何もせずに、Ｓ１０８へと進む。Ｓ１０８で、印刷プレビュー制御部１０６は、ｉ番目のページは最終ページではないと判断する。そのため、Ｓ１０７で、印刷プレビュー制御部１０６は、変数ｉに１を加算して２とする。
【００６０】
Ｓ１０４に戻り、印刷プレビュー制御部１０６は、先頭の０番目の画像と、ｉ番目、つまり、２番目の画像とを比較する。ここでも、印刷プレビュー制御部１０６は、Ｓ１０５にて同一内容でないと判断するため、何もせずに、Ｓ１０８へと進む。Ｓ１０８で、印刷プレビュー制御部１０６は、ｉ番目のページは最終ページではないと判断する。そのため、Ｓ１０７で、印刷プレビュー制御部１０６は、変数ｉに１を加算して３とする。
【００６１】
Ｓ１０４に戻り、印刷プレビュー制御部１０６は、先頭の０番目の画像と、ｉ番目、つまり、３番目の画像とを比較する。ここでは、印刷プレビュー制御部１０６は、Ｓ１０５にて同一内容であると判断するため、Ｓ１０６で、印刷プレビュー制御部１０６は、ｉ番目、つまり、３を記憶し、変数Ｃｏｕｎｔに１を加算する。Ｓ１０８で、印刷プレビュー制御部１０６は、ｉ番目のページは最終ページではないと判断する。そのため、Ｓ１０７で、印刷プレビュー制御部１０６は、変数ｉに１を加算して４とする。これらの処理を、最終ページである９ページ目、つまり、ｉが８になるまで繰り返す。
【００６２】
ページ同士の比較が終了した時には、この場合、記憶されているｉは３と６、変数Ｃｏｕｎｔは２となっている。そこで、まず、Ｓ１０９で、印刷プレビュー制御部１０６は、変数Ｃｏｕｎｔが１以上であるか否かを判断する。変数Ｃｏｕｎｔは、この場合、２となっているため、部数設定がされていると判断する。Ｓ１１０で、印刷プレビュー制御部１０６は、記憶されているｉが連番であるか否かを判断する。この場合、記憶されているｉは３と６であり、連番でないため、部数設定の他に部単位設定等の設定を実行していると判断できる。よって、Ｓ１１２で、印刷プレビュー制御部１０６は、印刷部数設定部５０４、部単位印刷設定部５０５、逆順印刷設定部５０６等の部数に関する設定ができる設定コントロールを印刷プレビューダイアログ５０１内に表示する。ユーザがこれらの設定コントロールから部数設定等の設定を実行した場合には、Ｓ１１３で、印刷プレビュー制御部１０６は、入力された部数に従って印刷ジョブを分割し、設定された部単位設定や逆順印刷設定と共にプリンタドライバ１０３に印刷指示を実行する。その結果、印刷プレビュー表示部５０２ａには、図８に示すような、正常な印刷結果からなるプレビュー画像が表示されることになり、ユーザはそのプレビュー画像で示される印刷結果と同一の印刷物を正常に印刷することができる。
【００６３】
以上説明したように、上記実施形態によれば、ユーザは、複数部数設定を有する印刷ジョブをプリンタへ送信する前に、その印刷ジョブのページレイアウトに問題がある合には、表示される警告によりページレイアウトに問題があることを確認することができる。そして、印刷ジョブに設定されている設定内容を変更するための機能を提供することにより、印刷後に印刷物のページを組み替えて、再度、印刷し直す手間を省くことができる。ここでは、印刷プレビュー時に生成される縮小画像を用いて各ページを比較するので、その比較が容易であるため印刷プレビュー時に上記処理を行うものとしている。しかしながら、印刷プレビューを行わなくとも印刷データの各ページを比較できる場合、印刷プレビューは必須のものではない。印刷データの各ページの比較を図６のＳ１０３以降の処理と同様の流れで行えばよい。
【００６４】
また、この機能は、アプリケーションやプリンタドライバの設定を変更するだけでなく、プレビュー上に表示される設定メニューを使用して実現することにより、更に利便性を増加させることができる。また、この機能を使用することで、印刷を行う前に仕上がりのイメージを同時に確認でき、印刷の失敗抑止効果を向上することができる。これにより、記録媒体や記録剤の無駄遣いを削減することができる。
【００６５】
また、以上の処理は、アプリケーションからの印刷データをプリンタドライバが受け付けた場合のものとしているが、他の処理にも適用可能である。例えば、スキャナによって読み取った画像を印刷させる際、スキャナが複数（Ｎ）枚の原稿を読み取って得た画像データを複数（Ｍ）部印刷させることがある。このとき、上記アプリケーションのように２通りの順序で原稿の読取を行う場合もあるため、これに適用可能である。
【００６６】
また、以上のように印刷対象のデータの各ページを比較し、同一ページが含まれるかを判定する技術を用いることによって、次のような応用も可能である。例えば、短い期間に印刷指示された印刷データの中に複数の同一ページが含まれていた場合、ユーザによる印刷指示のミス（重複指示）である可能性があるため、ユーザに確認を促す通知を行い、ユーザに確認させるなどである。あるいは、ユーザが印刷対象のデータを用意する際に誤って同じページを重複させた可能性があるため、ユーザに確認を促す通知を行う。
【００６７】
尚、以上の実施形態の処理は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステムまたは装置に供給し、そのシステムまたは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。このとき、１つのコンピュータで処理させてもよいし、複数のコンピュータを連携させながら処理させてもよい。また、この処理の一部または全部をＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）等のハードウェアで実現させてもよい。
【図１】
2015118637.tif 000003
【図２】
2015118637.tif 000004
【図３】
2015118637.tif 000005
【図４】
2015118637.tif 000006
【図５】
2015118637.tif 000007
【図６】
2015118637.tif 000008
【図７】
2015118637.tif 000009
【図８】
2015118637.tif 000010