(57)【要約】【課題】  設定された用紙サイズよりも小さい用紙サイズで印刷可能な用紙サイズ候補を表示し、該候補中から選択される用紙サイズを印刷データに設定することで、用紙無駄のない印刷処理を行うことである。【解決手段】  各ページのスプールファイルから印刷領域を取得し（Ｓ３０３）、該取得された印刷領域と、印刷装置から取得される給送可能な判断対象用紙の印刷領域とを比較する。そして、印刷データに指定されている用紙サイズよりも小さい用紙サイズに変更可能かどうかを判別する（３０６）。そして、より小さい用紙サイズに変更可能であると判断した場合、変更可能な用紙サイズ情報を示すサイズ変更画面を表示部に表示する（Ｓ３０７）。入力された描画情報に設定されていた用紙サイズをサイズ変更画面上で選択される用紙サイズに変更した印刷制御コマンドを印刷データに付加して印刷装置に転送する特徴とする。【選択図】  図３
2008040933.tif 000002
【特許請求の範囲】
【請求項１】
画像の印刷領域を取得する取得手段と、
印刷設定で設定されている用紙サイズよりも小さく、前記取得手段により取得された印刷領域の画像を印刷できる用紙候補を表示する表示手段と、
前記表示手段に表示された用紙候補の中から選択された用紙で印刷されるように印刷設定を変更する変更手段とを有することを特徴とする情報処理装置。
【請求項２】
前記表示手段は、印刷設定で設定されている用紙サイズよりも小さく、前記取得手段により取得された印刷される領域サイズの画像を印刷できる用紙候補がある場合に、用紙候補を表示することを特徴とする請求項１記載の情報処理装置。
【請求項３】
プリンタにセットされている用紙の情報を取得する用紙情報取得手段と、
前記用紙情報取得手段により取得された用紙の情報に基づき、特別な用紙がセットされていないと判別された場合、前記取得手段は、画像の印刷領域を取得することを特徴とする請求項１記載の情報処理装置。
【請求項４】
前記表示手段は、選択された用紙に応じたプレビュー画像を表示することを特徴とする請求項１記載の情報処理装置。
【請求項５】
前記表示手段は、印刷設定で設定されている用紙サイズよりも小さく、前記取得手段により取得された印刷領域の画像を回転させた画像を印刷できる用紙候補を表示することを特徴とする請求項１記載の情報処理装置。
【請求項６】
印刷設定で設定されている用紙サイズよりも小さく、前記取得手段により取得された印刷される領域サイズの画像を印刷できる用紙候補がない場合は、印刷設定で設定されている用紙サイズで印刷する印刷データをプリンタに送信する送信手段を有することを特徴とする請求項１記載の情報処理装置。
【請求項７】
画像の印刷領域を取得する取得ステップと、
印刷設定で設定されている用紙サイズよりも小さく、前記取得ステップにより取得された印刷領域の画像を印刷できる用紙候補を表示する表示ステップと、
前記表示ステップに表示された用紙候補の中から選択された用紙で印刷されるように印刷設定を変更する変更ステップとを有することを特徴とする情報処理方法。
【請求項８】
前記表示ステップは、印刷設定で設定されている用紙サイズよりも小さく、前記取得ステップにより取得された印刷される領域サイズの画像を印刷できる用紙候補がある場合に、用紙候補を表示することを特徴とする請求項７記載の情報処理方法。
【請求項９】
プリンタにセットされている用紙の情報を取得する用紙情報取得ステップと、
前記用紙情報取得ステップにより取得された用紙の情報に基づき、特別な用紙がセットされていないと判別された場合、前記取得ステップは、画像の印刷領域を取得することを特徴とする請求項７記載の情報処理方法。
【請求項１０】
前記表示ステップは、選択された用紙に応じたプレビュー画像を表示することを特徴とする請求項７記載の情報処理方法。
【請求項１１】
前記表示ステップは、印刷設定で設定されている用紙サイズよりも小さく、前記取得ステップにより取得された印刷領域の画像を回転させた画像を印刷できる用紙候補を表示することを特徴とする請求項７記載の情報処理方法。
【請求項１２】
印刷設定で設定されている用紙サイズよりも小さく、前記取得ステップにより取得された印刷される領域サイズの画像を印刷できる用紙候補がない場合は、印刷設定で設定されている用紙サイズで印刷する印刷データをプリンタに送信する送信ステップを有することを特徴とする請求項７記載の情報処理方法。
【請求項１３】
画像の印刷領域を取得する取得ステップと、
印刷設定で設定されている用紙サイズよりも小さく、前記取得ステップにより取得された印刷領域の画像を印刷できる用紙候補を表示する表示ステップと、
前記表示ステップに表示された用紙候補の中から選択された用紙で印刷されるように印刷設定を変更する変更ステップとをコンピュータに実行させることを特徴とするプログラム。
【請求項１４】
前記表示ステップは、印刷設定で設定されている用紙サイズよりも小さく、前記取得ステップにより取得された印刷される領域サイズの画像を印刷できる用紙候補がある場合に、用紙候補を表示することを特徴とする請求項１３記載のプログラム。
【請求項１５】
プリンタにセットされている用紙の情報を取得する用紙情報取得ステップと、
前記用紙情報取得ステップにより取得された用紙の情報に基づき、特別な用紙がセットされていないと判別された場合、前記取得ステップは、画像の印刷領域を取得することを特徴とする請求項１３記載のプログラム。
【請求項１６】
前記表示ステップは、選択された用紙に応じたプレビュー画像を表示することを特徴とする請求項１３記載のプログラム。
【請求項１７】
前記表示ステップは、印刷設定で設定されている用紙サイズよりも小さく、前記取得ステップにより取得された印刷領域の画像を回転させた画像を印刷できる用紙候補を表示することを特徴とする請求項１３記載のプログラム。
【請求項１８】
印刷設定で設定されている用紙サイズよりも小さく、前記取得ステップにより取得された印刷される領域サイズの画像を印刷できる用紙候補がない場合は、印刷設定で設定されている用紙サイズで印刷する印刷データをプリンタに送信する送信ステップをコンピュータに実行させることを特徴とする請求項１３記載のプログラム。
【請求項１９】
請求項１３乃至１８記載のいずれか１項記載のプログラムを記憶した記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷装置に印刷データを転送する情報処理装置のデータ処理に関するものである。
【背景技術】
【０００２】
従来、情報処理装置のオペレーティングシステム（ＯＳ）が管理するプリンタドライバは、ＯＳからの描画情報を印刷装置か印刷可能な印刷データを生成する。そして、プリンタドライバが生成した印刷データを印刷装置に送信する。この印刷データには、情報処理装置のユーザがプリンタドライバが提供するドライバＵＩを介して用紙のサイズ、印刷方向、上下左右の余白等の印刷設定を行う。そして、プリンタドライバは、印刷装置に転送する印刷データにドライバＵＩを介して設定された印刷する用紙のサイズ、印刷方向、上下左右の余白等の印刷指示情報を付加する。
【０００３】
そして、印刷装置は、プリンタドライバにより指示されたサイズの用紙を選択して印刷を行うのが通常であった。
【０００４】
しかしながら、印刷データ中の文書、画像等の印刷領域が印刷指示情報で指示された用紙サイズより極端に小さい場合、印刷されない余白部分を無駄にしてしまっていた。例えば１頁の文書量がＢ５サイズの用紙に収まる極端に少ない場合に、ユーザがＡ３サイズの用紙を選択して当該ページを出力すると、用紙上にＢ５サイズ以上が空白の出力を行うこととなる。
【０００５】
この問題の解決策として、従来の方法ではドライバＵＩで設定されている用紙サイズに応じて印刷領域を拡大・縮小することによって、無駄なく印刷する方法が一般的であった。
【０００６】
例えば下記特許文献１には、ページの区切りがない印刷データに対して最適な用紙を自動的に選定して印刷を行うようにした印刷装置が開示されている。
【０００７】
この中で、算出された最終用紙の印字文字数が最適印字文字数に最も近いもの、換言すれば印刷のされない空白部分が最も少ないサイズの用紙を印刷すべき用紙として選択することが開示されている。
【０００８】
また、下記特許文献２には、イメージデータや帳票データ等のプリント資源ファイルを用紙上に印刷する場合に、最適な用紙サイズを自動的に決定することができる印刷装置が開示されている。
【０００９】
この中で、少なくとも高さ及び幅の情報を含むサイズ情報を格納している、用紙フィーダにセットされた複数の用紙のサイズをそれぞれ検知する。また、イメージデータあるいは帳票データから成る資源ファイルデータを入力して記憶している。そして、資源ファイルデータをサイズ情報を基に印刷イメージデータに展開する場合に、検知されたセット済みの用紙の中から、印刷イメージデータのサイズより大きい用紙の内の最小のものを選択することが開示されている。
【特許文献１】特開２００４−２６８３７９号公報
【特許文献２】特開平６−１１５２０８号公報
【発明の開示】
【発明が解決しようとする課題】
【００１０】
しかしながら、特許文献１によれば、文字データを扱う場合における用紙選択について記載されているが、画像データ等を扱えず、文字データと画像データとが混在するようなページについて適用できない。さらに、印刷装置にセットされている用紙のみでしか用紙選択を行うことができない。
【００１１】
また、特許文献２によれば、データ構造上、イメージデータ、帳票データとも高さと幅の情報をもつデータしか取り扱えず、用紙フィーダのみでしか用紙の選択が行えない。
【００１２】
また、上記用紙選択制御では、余白を限りなく少なくするため、印刷データを用紙サイズに合わせて拡大・縮小してしまうため、結果としてユーザの意図とは違う大きさの画像やテキストが印刷されてしまうという問題点があった。
【００１３】
また、ユーザが印刷処理を行う用紙の種別を印刷するファイルの目的に合わせて選択可能な場合がある。そして、印刷装置側において、現在では普通紙だけではなく、例えばフォト紙やCD-R等の特別なメディアも増えてきている。そして、印刷領域だけで選定すると、これらの特別なメディアでも印刷可能となり、ユーザの意図とは違うメディアで印刷されてしまうという問題も発生する。
【００１４】
本発明は、上記の課題を解決するためになされたもので、本発明の目的は、設定された用紙サイズよりも小さい用紙サイズで印刷可能な用紙サイズ候補から、選択される用紙サイズで印刷データを印刷できる仕組みを提供することである。
【課題を解決するための手段】
【００１５】
上記目的を達成する本発明の情報処理装置は以下に示す構成を備える。
【００１６】
画像の印刷領域を取得する取得手段と、印刷設定で設定されている用紙サイズよりも小さく、前記取得手段により取得された印刷領域の画像を印刷できる用紙候補を表示する表示手段と、前記表示手段に表示された用紙候補の中から選択された用紙で印刷されるように印刷設定を変更する変更手段とを有することを特徴とする。
【００１７】
上記目的を達成する本発明のデータ処理方法は以下に示す構成を備える。
【００１８】
画像の印刷領域を取得する取得ステップと、印刷設定で設定されている用紙サイズよりも小さく、前記取得ステップにより取得された印刷領域の画像を印刷できる用紙候補を表示する表示ステップと、前記表示ステップに表示された用紙候補の中から選択された用紙で印刷されるように印刷設定を変更する変更ステップとを有することを特徴とする。
【発明の効果】
【００１９】
本発明によれば、設定された用紙サイズよりも小さい用紙サイズで印刷可能な用紙サイズ候補を表示し、該候補中から選択される用紙サイズを印刷データに設定することで、用紙無駄のない印刷処理を行える。
【発明を実施するための最良の形態】
【００２０】
次に本発明を実施するための最良の形態について図面を参照して説明する。
【００２１】
＜システム構成の説明＞
〔第１実施形態〕
＜コンピュータのハードウェア構成例＞
図１は、本発明の第１実施形態を示す情報処理装置の構成を説明するブロック図である。なお、情報処理装置は、ネットワークインタフェースや、双方向インタフェースを介して、印刷装置と通信可能に構成されている。
【００２２】
また、印刷装置には、用紙サイズや用紙種別を検知するセンサを備えて、情報処理装置からの印刷資源情報の取得要求に応じて、検出された用紙の種別、サイズ等を情報処理装置に通知する機能を備えている。ここで、用紙の種別とは、フォトプリント、普通紙等のように、印刷目的に合わせて、ユーザがプリンタドライバがサポートする用紙として給紙可能な用紙の種別を意味する。なお、印刷装置のインク数によっては、サポートする用紙の種別は、２種類以上の場合もある。
【００２３】
図１において、１００は装置全体の制御を行うＣＰＵであり、システムバス１０８を介して各デバイスを制御する。ＣＰＵ１は、ハードディスク（ＨＤ）１０５に格納されているアプリケーションプログラム、プリンタドライバプログラム、ＯＳや、本実施の形態のネットワークプリンタ制御プログラム等を実行する。また、ＣＰＵ１００は、ＲＡＭ１０２にプログラムの実行に必要な情報、ファイル等を一時的に格納する制御を行う。
【００２４】
１０１は記憶手段としてのＲＯＭであり、内部には、基本Ｉ／Ｏプログラム等のプログラム、文書処理の際に使用するフォントデータ、テンプレート用データ等の各種データを記憶する。１０２は一時記憶手段としてのＲＡＭであり、ＣＰＵ１００の主メモリ、ワークエリア等として機能する。なお、ＲＡＭ１０２は、プリンタドライバが生成する印刷データから印刷領域を算出する場合に、その変数を記憶する領域も確保される。
【００２５】
１０３は記憶媒体読み込み手段としてのフレキシブルドライブであり、記憶媒体としてのフレキシブルディスク１０４に記憶されたプログラム等を本コンピュータにロードすることができる。１０４は記憶媒体であるフレキシブルディスク（ＦＤ）であり、コンピュータが読み取り可能にプログラムが格納された記憶媒体である。
【００２６】
なお、記憶媒体はフレキシブルディスクに限らず、ＣＤ−ＲＯＭ、ＣＤＲ、ＣＤＲＷ、ＰＣカード、ＤＶＤ、ＩＣメモリカード、ＭＯ、メモリスティック等、任意である。
【００２７】
１０５は外部記憶手段の一つであり、大容量メモリとして機能するハードディスク（ＨＤ）であり、アプリケーションプログラム、プリンタドライバプログラム、ＯＳ、ネットワークプリンタ制御プログラム、関連プログラム等を格納している。
【００２８】
１０６は指示入力手段であるキーボードであり、ユーザがクライアントコンピュータに対して、また、オペレータや管理者がプリントサーバに対して、デバイスの制御コマンドの命令等を入力指示するものである。
【００２９】
１０７は表示手段であるディスプレイであり、キーボード１０６から入力したコマンドや、印刷装置の状態等を表示したりするものである。
【００３０】
１０８はシステムバスであり、コンピュータ内のデータの流れを司るものである。１０９は入出力手段であるインタフェースであり、該インタフェース１０９を介してコンピュータは外部装置とのデータのやり取りを行う。
【００３１】
＜印刷システムの構成例＞
図２は、図１に示した情報処理装置を適用する印刷システムの概略構成を示す図である。なお、情報処理装置は、例えば一般的に普及しているパーソナルコンピュータで構成される。そして、Ｍｉｃｒｏｓｏｆｔ社のＷｉｎｄｏｗｓ（登録商標）をオペレーティングシステム（以下、ＯＳと呼ぶ）として使用する。さらに、印刷処理機能を有する任意のアプリケーション２０１をインストールし、更に、このコンピュータに印刷装置２０８を接続した形態が考えられる。なお、ＯＳは、上記ＯＳに限定されることはない。
【００３２】
アプリケーション２０１は、ＧＤＩ２０２を介して、印刷装置２０８に対する印刷設定情報を設定することができる。ここで、印刷設定情報とは、印刷装置２０８においてアプリケーション２０１が生成したページを印刷する用紙の種類、用紙サイズ、給紙先の給紙口等の印刷するために必要な情報である。
【００３３】
ここで、ユーザインタフェースドライバ２０３は各印刷設定情報において設定可能な選択肢の一覧をＧＤＩ２０２を介してアプリケーション２０１に通知する他、各種印刷設定を設定可能なインタフェースを持つ。
【００３４】
アプリケーション２０１が印刷要求した描画データは、ＯＳの描画モジュールであるグラフィックデバイス・インタフェース(Graphics  Device  Interface:以下、「ＧＤＩ」)２０２経由でプリンタグラフィックドライバ（ＰＧＤ）２０６に渡される。アプリケーション２０１が印刷要求した描画データとは、文書データ、画像データ等の印刷データである。
【００３５】
これによりＰＧＤ２０６により印刷ジョブが生成され、この生成された印刷ジョブは印刷装置２０８へ印刷要求として出力される。
【００３６】
ＧＤＩ２０２は、通常、一旦、そのデータをＥＭＦ（Ｅｎｈａｎｃｅｄ  Ｍｅｔａ  Ｆｉｌｅ）データとしてスプールファイル２０４にスプール（ＯＳのスプール処理）する。そして、そのスプール処理が終了すると、プリントプロセッサ２０５に印刷要求を発行する。
【００３７】
これによりプリントプロセッサ２０５は、スプールファイル２０４から印刷出力情報と描画データをページ単位で読み込み、１ページずつＧＤＩ２０２を介してプリンタグラフィックドライバ（ＰＧＤ）２０６に出力して印刷するように要求する。
【００３８】
尚、このプリントプロセッサ２０５は、ＯＳのモジュールとして用意されている。しかし、印刷装置２０８のメーカ等がカスタマイズしたプリントプロセッサ２０５をプリンタグラフィックドライバ２０６とともに供給し、それらをハードディスクにインストールすることも許容されている。
【００３９】
こうしてプリントプロセッサ２０５から印刷が要求されたＰＧＤ２０６は、以下のようなレンダリング処理を行う。つまり、ＧＤＩ２０２が持つ描画機能であるＧＤＩレンダリングエンジンを用いて、その描画データを印刷装置２０８の印刷解像度に合わせてラスタイメージデータにレンダリングする。
【００４０】
このラスタイメージデータは色を多段階の値として保持する多値データであり、これを元に色処理を行い、印刷装置２０８の保持するインク毎の色成分に分解したハーフトーンデータが生成される。
【００４１】
これらのラスタイメージデータ、及びハーフトーンデータを、ページ全体分一度に処理をしようとすると、一般的に非常に大きなメモリが必要になる。
【００４２】
よって、ＰＧＤ２０６は、ＧＤＩ２０２に対して、バンド単位での処理を要求することができる。その場合、そのバンドのサイズを指定することが可能である。あるバンドに対して処理が終わった後に、ＰＧＤ２０６がバンドサイズの変更をＧＤＩ２０２に対して要求することも可能である。
【００４３】
また、ＰＧＤ２０６は、バンド処理を行うバンドモードではなく、ページ単位で処理を行うアンバンディングモードをＧＤＩ２０２に対して要求し、全ての描画データを独自で保存する。その後バンド単位で出力を行うような形態も許容されている。
【００４４】
その後、印刷設定情報をプリンタコマンドに変換し、該変換したプリンタコマンドを印刷すべき印刷データに付加などを行った後、印刷装置２０８に送信する。
【００４５】
実際には、ＰＧＤ２０６から出力されたデータは、ランゲージモニタ２０７に送信依頼という形で出力される。ランゲージモニタ２０７は印刷ジョブを特定サイズのパケットに区切り、印刷装置２０８へ逐一出力する。
【００４６】
なお、印刷装置２０８が多値データを受け取ることができるような多値印刷装置である場合、ラスタイメージデータを直接印刷装置２０８に送信したり、何らかの圧縮を施した上で印刷装置２０８に送信することなども許容される。
【００４７】
＜処理の詳細＞
図３は、本実施形態を示す情報処理装置における第１のデータ処理手順の一例を示すフローチャートである。本処理は、印刷システムに関する全体の処理の流れを示す処理手順に対応する。なお、Ｓ３０１〜Ｓ３１０は各ステップを示す。また、各ステップは、ＣＰＵ１００がＲＯＭ１０１、ＨＤ１０５から読み出すネットワークプリンタ制御プログラムをＲＡＭ１０２にロードして実行することで実現される。
【００４８】
まず、印刷装置２０８にセットされている用紙の種類、用紙サイズを取得する。現在の印刷装置２０８では、オートシートフィーダやカセット等、複数の給紙口を持つ印刷装置が一般的であり、給紙口にどのような用紙がセットされているかが判断できるセンサが備えた印刷装置もある。
【００４９】
印刷装置２０８と情報処理装置とは、ネットワークインタフェース等を介して通信可能である。そして、例えばＳＮＭＰ等のプロトコルで通信し、印刷装置２０８が管理するＭＩＢ（Management Information Base）から情報処理装置から取得要求に基づくステータスや資源情報を取得可能に構成されている。この資源情報には、印刷装置２０８が備える給紙手段、例えば給紙カセットに収容されている用紙サイズや、媒体種別等がふくまれている。なお、この時点で取得される用紙サイズは、ＲＡＭ１０２上に保持される。
【００５０】
それらの方法でまず、ＣＰＵ１００は、印刷装置２０８にセットされている用紙の種類、用紙サイズ情報を印刷装置２０８との通信により取得する（Ｓ３０１）。
【００５１】
次に、ＣＰＵ１００は、Ｓ３０１で印刷装置２０８から取得した情報から、その用紙が変更を必要とする用紙の種類かを判断する（Ｓ３０２）。
【００５２】
本実施形態では、文書や画像を一般メディア(普通紙等)に印刷する際に用いると大きな効果がある発明である。これに対して、特別なメディア（フォトペーパーやCD-R等）の場合はユーザが特別な目的を持って印刷する場合が多いので効果が小さい。
【００５３】
例えば、ユーザが写真を印刷したいので、フォトペーパーを給紙口にセットする場合等が挙げられる。よって、特別なメディアだと判断した場合は、Ｓ３１０へ進み、本処理を行わずにそのまま印刷する。これにより、ユーザが特定の種別の用紙を給紙する場合には、選択された用紙による印刷処理を優先させ、本処理にような用紙変更処理を実行せず、写真画質の印刷結果等をユーザの意志通りに出力できるように構成されている。
【００５４】
一方、Ｓ３０２で、変更可能なメディアだと判断した場合は、Ｓ３０３の処理に進む。
【００５５】
ＣＰＵ１００がＳ３０３では、印刷される領域サイズを取得する。本実施形態では、領域サイズを取得する方法として２つある。以下、図４を参照して、印刷される領域サイズの取得処理について２つの例を説明する。
【００５６】
図４は、本実施形態を示す情報処理装置における第２のデータ処理手順の一例を示すフローチャートである。本例は、図３に示したＳ３０３の具体的な領域サイズの取得処理手順に対応する。なお、Ｓ４００〜Ｓ４１５は各ステップを示す。また、各ステップは、ＣＰＵ１００がＲＯＭ１０１、ＨＤ１０５から読み出すネットワークプリンタ制御プログラムをＲＡＭ１０２にロードして実行することで実現される。
【００５７】
まず、１つ目の方法はＥＭＦスプールデータからのクリップ領域の座標で各ページの領域サイズを取得する方法であり、２つ目の方法はラスタデータに含まれるRGB値で各ページの領域サイズを取得する方法である。
【００５８】
１つ目の方法は、処理が速いことが特徴であるが、プレビューを表示しようとすればＥＭＦスプールデータからラスタデータに変換する処理に手間がかかる。２つ目の方法は、処理速度が遅いが、１つの方法より正確に領域サイズを取得することができ、ラスタデータから領域サイズを取得するのでプレビューを表示するのに手間がかからない。
【００５９】
よって、ユーザが選択画面を介してプレビューを表示するかどうかを指示することを判断することで、この２つの処理を使い分ける。もし、プレビューを表示しない方を選択していると判断した場合は、クリップ領域の座標で各ページの領域サイズを取得する方法で各ページの領域サイズを取得する。一方、ユーザがプレビューを表示する方を選択していると判断した場合は、ＲＧＢ値で各ページの領域サイズを取得する方法を使う。
【００６０】
よって、まず、ＣＰＵ１００は、プリンタドライバが提供するＵＩ画面を介してプレビュー表示に対する要求がONになっているかOFFになっているかを調べる(Ｓ４００)。プレビュー表示がONになっているかOFFになっているかは、ドライバＵＩにプレビューON/OFFの設定のボタンやチェックボックスが予め用意されている。そこで、ＣＰＵ１００はその設定内容をＲＡＭ１０２上に記憶しておき、その記憶された情報をＣＰＵ１００が参照することで判断する。
【００６１】
もし、ＣＰＵ１００がプレビュー表示がOFFであり、プレビューを表示しないないと判断した場合は、ＥＭＦスプールデータからのクリップ領域の座標を調べることで、各ページの領域サイズを取得する方法を使用する（Ｓ４０１）。
【００６２】
図２に示したプリントプロセッサ２０５がＰＧＤ２０６にスプールファイル２０４から読み出したＥＭＦスプールデータを送る。ＧＤＩ２０２がそのＥＭＦスプールデータを１つ１つ描画命令としてＰＧＤ２０６に送信する。その描画命令から描画する座標を取得していく。
【００６３】
最初に送られてきた描画命令の描画領域を取得する。その描画領域のX,Y座標のそれぞれの最小値Xmin,YminをＲＡＭ１０２に確保される変数XMIN、YMINに、最大値Xmax,YmaxをＲＡＭ１０２に確保される変数XMAX、変数YMAXに格納する(Ｓ４０２)。
【００６４】
そして、次に描画命令が終了かどうかを判断する（Ｓ４０３）。ここで、描画命令が終了していると判断した場合は、Ｓ４０５へ進み、描画命令が終了していないと判断した場合は、次の描画命令を取得する。そして、X,Y座標のそれぞれの最小値Xmin,変数Yminと変数XMIN、変数YMINを比較し、小さければ値を更新、変数Xmax,変数Ymaxと変数XMAX、変数YMAXを比較し、大きければ値を更新する(Ｓ４０４)。
【００６５】
これを描画命令が１つのページ内で終了するまで繰り返す(Ｓ４０３)。そして、描画命令が終了した時点での(XMIN,YMIN)、(XMAX,YMAX)がプリンタドライバが生成する印刷データの領域サイズとなる。以上のＳ４０２〜Ｓ４０４の処理を全ページ終了するまで繰り返す(Ｓ４０５)。これがクリップ領域による印刷領域サイズの取得処理に対応する。以下、具体的な例を図５に示す概念図を参照して説明する。
【００６６】
図５は、図４に示した描画領域取得処理例を説明する概念図である。本図のページでは、文字データ５１、５３と画像データ５２とからページデータが構成されている例である。描画命令１は、文字データ５１に対応し、描画命令２は、画像データ５２に対応し、描画命令３は文字データ５３に対応する。
【００６７】
まず、描画命令１がＰＧＤ２０６から送られてくる。この描画領域は、図５に示すように、(Xmin,Ymin)=(300、300)、(Xmax,Ymax)=(450、320)であったとする。そして、最初の描画命令なので領域サイズに設定し、(XMIN,YMIN)=(300,300)、(XMAX,YMAX)＝(450、320)とする。
【００６８】
次に、描画命令２が送信される。描画命令２の描画領域は(Xmin,Ymin)=(50、80)、(Xmax,Ymax)=(250、450)である。
【００６９】
ここで、変数Xminと変数XMIN、変数Yminと変数YMINをそれぞれ比較し、小さい方をそれぞれ変数XMIN、変数YMINとするので(XMIN,YMIN)=(50,80)となる。そして、変数Xmaxと変数XMAX、変数Ymaxと変数YMAXをそれぞれ比較し、大きい方を変数XMAX、変数YMAXとするので (XMAX,YMAX)＝(450、450)となる。
【００７０】
次に描画命令３が送信される。描画命令３の描画領域は(Xmin,Ymin)=(150、550)、(Xmax,Ymax)=(320、600)である。
【００７１】
先ほどと同じように比較すると、(XMIN,YMIN)=(50,80)、(XMAX,YMAX)＝(450、600)となる。これで描画命令は終了である。
【００７２】
よって、最終的な領域サイズは(XMIN,YMIN)=(50,80)、(XMAX,YMAX)＝(450、600)ということになる。
【００７３】
これを全ページに対して行い(Ｓ４０４)、各ページの印刷領域サイズをＲＡＭ１０２に保存しておく。以上が１つめの領域サイズ取得方法である。
【００７４】
一方、Ｓ４０１で、ＣＰＵ１００が後述するようなＵＩ画面上でプレビュー表示を要求するラジオボタンがONとする指示があると判断した場合、２つ目の方法としてのRGB値で各ページの領域サイズを取得する方法を使用する（Ｓ４０６）。
【００７５】
各ページにおける各ピクセルのRGB値はラスタイメージデータから取得することができる。
【００７６】
ラスタイメージデータはプリンタドライバが受け取った描画命令をＲＡＭ１０２のワーク上に展開することで生成される。この生成されたラスタイメージデータを１行ずつライン走査し、各ピクセルのRGB値を調べることによって各ページの領域サイズを取得する。なお、ここでのラスタイメージデータは、プレビュー用のラスタイメージデータである。
【００７７】
まず、ＲＡＭ１０２に確保される変数XMIN、YMIN、XMAX、YMAXに初期値を格納する（Ｓ４０７）。この初期値は、現在選択されている用紙サイズの印刷領域を変数xmin,ymin,xmax,ymaxとすると、(XMIN,YMIN)=(xmax,ymax)、(XMAX,YMAX)＝(xmin、ymin)と設定する。
【００７８】
そして、ラスタイメージデータを１ライン走査し、各ピクセルのRGBを調べ,格納しておく（Ｓ４０８）。そして、格納したRGB値が(R,G,B)=(255,255,255)以外の値を調べていく（Ｓ４０９）。
【００７９】
ここで、(R,G,B)=(255,255,255)は白を一般的に表す色であり、白の場合はそのピクセルは描画領域でないと判断できる。
【００８０】
もし、(R,G,B)=(255,255,255)以外のピクセルが１ピクセルもなければ、そのラインでは印刷される領域は無いと判断する。もし、(R,G,B)=(255,255,255)以外のピクセルがあれば、以下の処理を行う。
【００８１】
まず、取得した１ラインを左(x=0)から右へ走査し、各RGB値を調べ、(R,G,B)=(255,255,255)以外の最初のピクセルの座標を変数Xmin、Yminとする（Ｓ４１０）。
【００８２】
そして、変数XminとXMIN、変数YminとYMINをそれぞれ比較し、小さい方をそれぞれ変数XMIN、YMINとする。
【００８３】
次に、右(x=xmax)から左に走査し、先ほどと同じように各RGB値を調べ、(R,G,B)=(255,255,255)以外の最初のピクセルの座標をXmax、Ymaxとする。
【００８４】
そして、変数Xmaxと変数XMAX、変数Ymaxと変数YMAXをそれぞれ比較し、大きい方をそれぞれXMAX、YMAXとする（Ｓ４１１）。そして、次のラインに進み、ラインがなくなるまで繰り返す（Ｓ４１２）。
【００８５】
ラインがなくなった時点での(XMIN,YMIN)、(XMAX,YMAX)が領域サイズとなる。もし、変数XMAX、変数YMAXが初期値のままであれば、そのページは白紙であるので、(XMIN,YMIN)=(0,0)、(XMAX,YMAX)=(0,0)とする（Ｓ４１３）。
【００８６】
そして、プレビュー表示するために、ラスタデータからビットマップを生成し保存しておく（Ｓ４１４）。
【００８７】
これを各ページに対して全ページ終了するまで行い（Ｓ４１５）、各ページの領域サイズを保存しておく。以上のＳ４０６〜Ｓ４１５の処理をわかりやすく示した例が図６である。
【００８８】
図６は、図１に示したＲＡＭ１０２に展開されたラスタデータの状態を説明する図である。なお、図中の黒色は、(R,G,B)=(255,255,255)以外のピクセルを示す。また、走査の基準位置は、左上であるものとする。
【００８９】
今回はわかりやすくするために余白がないと仮定し、印刷可能領域が20×20の用紙に、図６のような模様を印刷する例である。
【００９０】
この領域サイズを取得するには、まず、初期値を(XMIN,YMIN)=（19,19）、(XMAX,YMAX)=(0,0)を設定する。
【００９１】
次に、１行目をライン走査する。しかし、１行目は全ピクセル白であるので、領域サイズは(XMIN,YMIN)=（19,19）、(XMAX,YMAX)=(0,0)のままである。次に、２行目をライン走査する。
【００９２】
２行目には(9,1)に白以外のピクセルがある。白以外のピクセルがあるので、左から走査し、最初の白以外のピクセルの座標は(9,1)であるので(Xmin,Ymin)=(9、1)とする。そして、変数Xminと変数XMIN、変数Yminと変数YMINをそれぞれ比較し、小さい方をそれぞれ変数XMIN、変数YMINとするので、(XMIN,YMIN)=（9,1）となる。
【００９３】
次に右から走査し、最初の白以外のピクセルの座標は(9,1)であるので(Xmax,Ymax)=(9、1)とし、変数Xmaxと変数XMAX、変数Ymaxと変数YMAXをそれぞれ比較する。そして、大きい方をそれぞれ変数XMAX、変数YMAXとするので、(XMAX,YMAX)=(9,1)となる。
【００９４】
これで２行目は終了なので、３行目をライン走査する。３行目には(8,2)と(10,2)に白い以外のピクセルがある。
【００９５】
よって、(Xmin,Ymin)=(8,2)となるので(XMIN,YMIN)=（8,1）、(Xmax,Ymax)=(10,2)となるので(XMAX,YMAX)=（10,2）となる。これを２０行目（図中の１９ライン目）まで繰り返すと、(XMIN,YMIN)=（1,1）、(XMAX,YMAX)=（17,19）となり、これが領域サイズとなる。
【００９６】
以上が２つ目の領域サイズの取得方法である。以上で、領域サイズを取得できたので、図３に示す次の処理に移る。
【００９７】
次の処理は、ＣＰＵ１００が他の用紙に変更可能かどうかを判断する処理を行う（Ｓ３０４）。このときに、他の用紙が印刷装置にセットされているか、セットされていたならばその用紙の種類は変更しても問題がない用紙の種類なのかを判断しなければならない。
【００９８】
本実施形態において、変更できる用紙の種類は図３に示したＳ３０１の時と同様に、基本的に一般メディアを対象とする。
【００９９】
一般メディアが印刷装置２０８にセットされていたならば、その用紙の種類で変更可能かどうかを調べる。以下この用紙の種類を判断対象用紙と呼ぶことにする。
【０１００】
図３に示したＳ３０１で、ＣＰＵ１００は印刷装置にセットされている用紙の種類を取得しているので、１種類以上変更できる用紙があれば、各用紙の種類に対して用紙変更可能かどうかを調べる（Ｓ３０５）。
【０１０１】
図７は、本実施形態を示す情報処理装置における第３のデータ処理手順の一例を示すフローチャートである。本例は、図３に示したＳ３０５の用紙変更可能判定処理の詳細手順に対応する。本処理は、各用紙の種類に対して用紙変更可能かどうかを調べる処理である。なお、Ｓ７０１〜Ｓ７０８は各ステップを示す。また、各ステップは、ＣＰＵ１００がＲＯＭ１０１、ＨＤ１０５から読み出すネットワークプリンタ制御プログラムをＲＡＭ１０２にロードして実行することで実現される。
【０１０２】
なお、用紙変更可能の条件は、判断対象用紙の印刷領域サイズが、Ｓ３０３でプリンタドライバが取得した印刷領域サイズより大きいことである。印刷装置２０８から給送可能に検出された判断対象用紙の印刷領域サイズは、幅と高さでその領域が特定される。そこで、判断対象用紙の印刷領域の幅Width高さHeightとＳ３０３で取得した領域サイズの幅(XMAX−XMIN)、領域サイズの高さ(YMAX−YMIN)を比較して用紙変更の可能性を決定する。
【０１０３】
上記幅WidthがＳ３０３で取得した上記幅(XMAX−XMIN)より大きいこと、かつ上記高さHeightがＳ３０３で取得した上記高さ(YMAX−YMIN)より大きければ、判断対象用紙の印刷領域サイズが印刷領域サイズより大きいと判断できる。
【０１０４】
よって、まず、判断対象用紙の印刷領域の幅Width、高さHeightを取得する（Ｓ７０１）。図３に示したＳ３０３で取得した領域サイズ(XMIN,YMIN)、(XMAX,YMAX)をＲＡＭ１０２のワークにロードする（Ｓ７０２）。
【０１０５】
そして、ＣＰＵ１００が変数であるWidth＞XMAX−XMIN（第１の条件）、Height＞YMAX−YMIN（第２の条件）を調べ、領域サイズは判断対象用紙の印刷領域の大きさを比較することで判定する（Ｓ７０３）。
【０１０６】
そして、第１，第２両方の条件が成立するとＣＰＵ１００が判定した場合は、Ｓ３０３で取得した領域サイズは判断対象用紙の印刷領域より小さいと判断して用紙変更可能とする。
【０１０７】
一方、Ｓ７０３で、第１、第２の条件の１つの条件でもでも満たさないとＣＰＵ１００が判断した場合は、S303で取得した領域サイズは判断対象用紙の印刷領域より大きいと判断し、画像データを９０度回転させて、もう１度比較を試みる（Ｓ７０４）。つまり、画像領域と判断対象の画像領域との関係において、画像の向きによって、例えばＡ３の上半分が印刷すべき画像領域である場合、画像の向きを９０度回転すると、Ａ４の用紙サイズに収まる場合があるからである。
【０１０８】
そこで、図３で対象としている画像データを90度回転させて比較するために、ＲＡＭ１０２上の変数Height＞XMAX−XMIN（第３の条件）で、Width＞YMAX−YMIN（第４の条件）を満たしているかどうかをＣＰＵ１００が判断する（Ｓ７０４）。ここで、第３，第４の条件の両方が満たされていると判断した場合は、変更可能と判断し、用紙を９０度回転させれば用紙変更可能という制御フラグをＲＡＭ１０２上に立てておく（Ｓ７０５）。
【０１０９】
一方、Ｓ７０４で、第３，第４の条件の１つでも満たさないとＣＰＵ１００が判断した場合は、用紙変更不可能と判断して、本処理を終了する。
【０１１０】
そして、用紙変更可能であると判断された場合、全ページが終了なのかどうかを調べ（Ｓ７０６）、まだページがあれば次のページが用紙変更可能かどうかを調べる（Ｓ７０７）。これを全ページ終了するまで繰り返し、全てのページが変更可能であれば、その判断対象用紙を変更可能用紙候補に決定して（Ｓ７０８）、本処理を終了する。
【０１１１】
以上が判断対象用紙に対して、用紙の変更が可能かどうかを判断する処理手順である。上述した処理手順では、１ページでも変更できない場合は判断対象用紙を変更可能用紙候補せず、１ページ以上が９０度回転させると用紙変更可能でも変更可能用紙候補にするという方法を説明した。
【０１１２】
しかし、例えば１ページでも用紙変更ができると判断された場合は、そのページだけを用紙変更するために、変更可能用紙候補とし、１ページ以上が９０度回転させると用紙変更可能であっても、変更可能用紙候補としない等も本発明では含んでいることは言うまでもない。
【０１１３】
これらの判断をユーザ側で自由に選択できるようにすることも可能である。例えば、上記設定の選択をユーザが操作するプリンタドライバた提供するＵＩ画面のダイアログで設定可能としてもよい。
【０１１４】
図８は、本実施形態を示す情報処理装置のプリンタドライバが提供するＵＩ画面の一例を示す図である。本図は、図１に示したディスプレイ１０７にＣＰＵ１００の制御で表示される。
【０１１５】
図８において、本実施形態では、変更可能用紙候補とする条件を設定するためのチェックボックス８０１，８０４を備える。チェックボックス８０１は、全てのページが変更可能であり、印刷領域を９０度回転させた時を含まないという条件を選択していることになる。
【０１１６】
チェックボックス８０４は９０度回転させた時も含むという条件を選択する場合にチェックされる。
【０１１７】
本実施形態では、変更可能用紙候補とする条件がＵＩ画面上に列挙表示され、チェックボックス８０１でユーザが選択する。図８に示す条件設定の例の場合は、全てのページが変更可能であり、印刷領域を９０度回転させた時を含まないという条件を選択していることになる。
【０１１８】
そして、チェックボックス８０１で選択された条件でよい場合は、OKボタン８０２をユーザが図示しないポインティングデバイス等を操作して押す。
【０１１９】
一方、キャンセルボタン８０３を同様の操作で押した場合は、以前の条件を選択したことになる。
【０１２０】
そして、ＣＰＵ１００は、図３に示したＳ３０５の処理を判断対象用紙に対して全て行う（Ｓ３０６）。そして、変更可能用紙候補があったならば、用紙変更画面の表示をディスプレイ１０７に行い（Ｓ３０７）、もしなければ、Ｓ３１０へ進み、そのまま、印刷装置２０８に印刷データを送信して印刷装置に印刷データを印刷させて、本処理を終了する。なお、Ｓ３０９〜Ｓ３１０への処理については後述する。
【０１２１】
図９〜図１１は、図１に示したディスプレイ１０７に表示される用紙変更画面の表示例を示す図である。
【０１２２】
図９において、用紙選択のためのラジオボタン９０１Ａ、９０１Ｂを備える。この表示は、変更可能な用紙があると判断された場合に表示される。しかも、この際、印刷すべき画像データに対して、何ら画像縮小処理、又は画像拡大処理等を行っていない場合である。なお、９０３はキャンセルボタンで、９０２はＯＫボタンである。
【０１２３】
また、図９に示す用紙変更画面はプレビューを表示するか、表示しないかで画面の仕様が違う。まず、プレビューを表示しない場合の動作を説明する。
【０１２４】
図９に示すように変更可能用紙候補を列挙し、ラジオボタン９０１Ａ、９０１Ｂを付ける。これらのラジオボタン９０１Ａ、９０１Ｂで用紙を選択する。そして、印刷ボタンとして機能させるＯＫボタン９０２を押すと、選択された印刷用紙の種類で印刷する。
【０１２５】
一方、図９に示す用紙変更画面において、キャンセルボタン９０３を押した場合は、元々設定されていた用紙の種類で印刷する。
【０１２６】
次に、プレビューを表示する場合の動作を図１０，図１１に示す変更画面を参照して説明する。
【０１２７】
プレビュー表示をする場合は、プレビューと同じように、変更可能用紙候補を列挙し、図１０に示すようにラジオボタン９０４Ａ、９０４Ｂを付けた画面をＣＰＵ１００の制御で表示する。このラジオボタン９０４Ａをユーザが選択することによって、選択された用紙サイズでのプレビュー領域９０５にプレビューＰＶ１を用紙サイズとともにＣＰＵ１００の制御で表示する。現在ラジオボタン９０４Ａを選択しているので、Ａ３の用紙に対して、出力対象の画像データは、上半分で収まる領域サイズであるため、下半分が空白領域である状態を表示している。
【０１２８】
そして、右矢印ボタン９０６Ｒ、左矢印ボタン９０６Ｌで、次のページのプレビュー、前のページのプレビューを表示することができる。そして、印刷ボタン９０７を押すと、選択された印刷用紙の種類で印刷装置２０８が印刷する。
【０１２９】
一方、図１０に示す画面において、キャンセルボタン９０８を押した場合は、元々設定されていた用紙の種類で印刷する。
【０１３０】
一方、図１０に示すような印刷データを９０度回転させた場合に用紙変更可能であった変更可能用紙候補を選択した場合は、ラジオボタン９０４Ａ、９０４Ｂが表示される。そこで、ラジオボタン９０４Ｂをユーザが選択することで、図１１に示すように、変更後のプレビュー領域９０９にプレビューＰＶ２をＣＰＵ１００の制御で表示する。
【０１３１】
なお、プレビュー表示を行うために、ＰＧＤ２０６によってラスタイメージデータからビットマップを生成したデータをロードし（Ｓ４１４）、ビットマップの位置を計算してプレビュー領域９０５，９０９にプレビューＰＶ１、２として表示する。
【０１３２】
上記実施形態では、図１に示した情報処理装置が入力される描画情報をプリンタドライバを介して各ページのスプールファイルを生成する。そして、該スプールファイルを展開して印刷装置に印刷データを転送する構成を備えて、以下の特徴的機能処理を行う場合について説明した。
【０１３３】
すなわち、情報処理装置は、ＧＤＩ２０２が各ページのスプールファイル（Windows Meta File）から印刷領域を取得する印刷領域取得機能を備える。ここで、印刷領域取得機能処理は、図４に示した取得処理に対応する。
【０１３４】
また、印刷領域取得機能により取得された印刷領域と、印刷装置２０８から取得される給送可能な判断対象用紙の印刷領域とを比較して、前記印刷データに指定されている用紙サイズよりも小さい用紙サイズに変更可能かどうかを判別する判別機能を有する。この判別機能の詳細は、図７に示した用紙変更可能かどうかを判別する処理に対応する。
【０１３５】
そして、この判別機能により小さい用紙サイズに変更可能であると判断した場合、変更可能な用紙サイズ情報を示すサイズ変更画面（図９、図１０、図１１に示す変更画面例）を表示部に表示するサイズ変更画面表示機能を備える。これにより、ユーザは、アプリケーションで指定している用紙サイズよりも、小さいサイズで要求された印刷データを全て印刷できる候補があることを確認する。
【０１３６】
そして、入力された描画情報に設定されていた用紙サイズをサイズ変更画面上で選択される用紙サイズに変更した印刷制御コマンドを前記印刷データに付加して印刷装置２０８に転送する。
【０１３７】
また、上記実施形態では、ユーザが特殊な用紙、例えば写真画質用の用紙等のような用紙種別を選択している場合には、あえて用紙サイズの変更処理を行う必要ないものとする。そして、印刷データに対して指定されている用紙の種類が前記プリンタドライバでサポートしている用紙の種類で用紙サイズを変更可能な用紙の種類であるかを判別する種別判別機能を備える。これは、図３に示したＳ３０２に対応する。
【０１３８】
そして、種別判別手段により用紙の種類を変更可能でない用紙の種類であると判別した場合、例えば写真画質用の用紙であると判別した場合は、図３に示すＳ３０２からＳ３１０へ進む。そして、印刷データに設定された用紙サイズを変更することなく印刷装置２０８にプリンタドライバが生成する各ページの印刷データを印刷装置に転送する。
【０１３９】
さらに、上記印刷領域取得機能は、各ページのスプールファイルの展開命令を解析して印刷領域を取得する第１の領域取得機能を有する。さらに各ページのスプールファイルの展開命令に基づいてイメージ展開したイメージデータを走査して印刷領域を取得する第２の領域取得機能とを有する。これは、ユーザが用紙選択時に、プレビュー処理を要求するかどうかで処理速度が速い方を選択している場合に、有効な取得機能を切り替える必要があるからである。
【０１４０】
そこで、印刷データに対するプレビュー設定状態を判別するプレビュー判別機能を有する。具体的には、図４に示したＳ４００で、ユーザの要求がプレビュー表示要求しているかどうかを判定するに対応する。
【０１４１】
そして、ここでプレビューする設定であると判別した場合、第２の領域取得機能（イメージデータの展開によるサイズ取得）を選択する。一方、プレビューする設定でないと判別した場合、第１の領域取得機能を選択する制御を行う。
【０１４２】
また、判別機能は、印刷領域取得機能により取得された印刷領域と、前記印刷装置から取得される給送可能な判断対象用紙の印刷領域とを比較する。
【０１４３】
そして、印刷データに指定されている用紙サイズよりも小さい用紙サイズに変更可能でないと判別した場合、さらに、前記取得された印刷領域を９０度回転した回転印刷領域と前記判断対象用紙の印刷領域とを比較する。そして、印刷データに指定されている用紙サイズを小さい用紙サイズに変更可能かどうかを判別する。これは、取得した印刷領域を９０度回転することで、より小さいサイズの用紙にその印刷領域が収束する場合があるからである。例えば印刷領域がＡ３領域の上半分の領域に対応する場合には、その印刷領域を９０度回転させることで、Ａ４サイズの用紙の印刷領域に収まるからである。
【０１４４】
このため、判別機能による印刷領域判別処理に対して、前記印刷領域取得機能により取得された印刷領域と、該印刷領域を９０度回転した回転印刷領域とを含めて判別するかどうかを示す領域判定条件を指定可能としてもよい。例えば、図８に示すように、複数のチェックボックスを備えて、それぞれのチェックボックスのチェック状態に基づき、領域判定条件を変更可能とすれば、より小さいサイズの用紙が選択される確率が高くなる。
【０１４５】
また、サイズ変更画面表示機能では、図９〜図１１に示すように、判別機能により小さい用紙サイズに変更可能であると判断した場合、変更可能な用紙サイズ候補と、前記印刷データに指定されている用紙サイズとを表示している。
【０１４６】
これにより、ユーザがより小さいサイズの用紙を選択することも、さらには、敢えて、より大きいサイズの用紙（アプリケーションで指定している用紙サイズと同サイズとなる）を選択して印刷させることも可能となる。
【０１４７】
〔第１実施形態の変形例〕
なお、図９〜図１１に示す用紙選択画面において、画像変倍処理を要求するための新たなチェックボックスを設ける。
【０１４８】
そして、このチェックボックスが選択された場合、選択されている用紙のサイズに、さらに、余白を埋めて、画像データの領域が用紙の印刷領域にフィットするように、画像データの領域サイズを拡大・縮小させて印刷を行う。
【０１４９】
また、印刷する用紙が決定したら、印刷を実行するが、この時選択された用紙が元々アプリケーションで設定されていた用紙と同一の場合と、用紙が変更画面を介して変更された場合との２通りが存在する。
【０１５０】
このような場合は、図３に示すように、Ｓ３０８からＳ３１０へ進み、元々設定されていた用紙が変更画面で選択されたならば、そのまま印刷を実行する。
【０１５１】
一方、Ｓ３０９で変更画面を介して用紙が変更されたならば、アプリケーションで設定された印刷設定情報をプリントプロセッサ２０５により変更した用紙の種類、用紙サイズ、その用紙がセットされている給紙口を給紙先に設定し直す。そして、その設定し直した印刷設定情報を印刷装置２０８に送信し、Ｓ３１０で、印刷を実行するように制御してもよい。
【０１５２】
上記実施形態によれば、印刷装置２０８から通信により、印刷装置２０８が備える給紙口にセットされた複数の用紙の種類、用紙のサイズを取得し、その用紙の種類に応じて、用紙変更が必要かどうかを判断する。そして、取得した用紙サイズとプリンタドライバが生成する印刷データの印刷領域を比較し、用紙変更可能な用紙ならば、用紙変更が可能となり、より最適な用紙で空白域が発生しないような印刷結果を得ることができる。
【０１５３】
〔第２実施形態〕
なお、上記実施形態では、印刷装置２０８から、図３に示したＳ３０１で、印刷装置２０８にセットされている用紙の種類、サイズを取得して、Ｓ３０２で、変更可能な用紙の種類かどうかを判定する場合について説明した。また、同様に、判断対象用紙の印刷領域についても、図３に示したＳ３０１で、印刷装置２０８にセットされている用紙の種類、サイズを取得した、サイズに基づく印刷領域を幅と高さを特定する場合について説明した。
【０１５４】
しかし、印刷開始前に、印刷装置２０８との通信であらかじめ取得して、ＲＡＭ１０２、あるいはＨＤ１０５に記憶しておく。そして、図３に示す用紙変更処理時に、印刷装置２０８からその都度取得するような制御を実行しないことで用紙サイズ変更処理の効率化を図っても良い。
【０１５５】
〔第３実施形態〕
以下、図１２に示すメモリマップを参照して本発明に係る情報処理装置で読み取り可能なデータ処理プログラムの構成について説明する。
【０１５６】
図１２は、本発明に係る情報処理装置で読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【０１５７】
なお、特に図示しないが、記憶媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報，作成者等も記憶され、かつ、プログラム読み出し側のＯＳ等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【０１５８】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、各種プログラムをコンピュータにインストールするためのプログラムや、インストールするプログラムが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【０１５９】
本実施形態における図３、図４、図７に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、ＣＤ−ＲＯＭやフラッシュメモリやＦＤ等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【０１６０】
以上のように、前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【０１６１】
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１６２】
従って、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等、プログラムの形態を問わない。
【０１６３】
プログラムを供給するための記憶媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤなどを用いることができる。
【０１６４】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１６５】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、該ホームページから本発明のコンピュータプログラムそのもの、もしくは、圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
【０１６６】
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバやｆｔｐサーバ等も本発明の請求項に含まれるものである。
【０１６７】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０１６８】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけではない。
【０１６９】
例えばそのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）等が実際の処理の一部または全部を行う。そして、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１７０】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込ませる。
【０１７１】
その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１７２】
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形（各実施形態の有機的な組合せを含む）が可能であり、それらを本発明の範囲から排除するものではない。
【０１７３】
本発明の様々な例と実施形態を示して説明したが、当業者であれば、本発明の趣旨と範囲は、本明細書内の特定の説明に限定されるのではない。
【図面の簡単な説明】
【０１７４】
【図１】本発明の第１実施形態を示す情報処理装置の構成を説明するブロック図である。
【図２】図１に示した情報処理装置を適用する印刷システムの概略構成を示す図である。
【図３】本実施形態を示す情報処理装置における第１のデータ処理手順の一例を示すフローチャートである。
【図４】本実施形態を示す情報処理装置における第２のデータ処理手順の一例を示すフローチャートである。
【図５】図４に示した描画領域取得処理例を説明する概念図である。
【図６】図１に示したＲＡＭに展開されたラスタデータの状態を説明する図である。
【図７】本実施形態を示す情報処理装置における第３のデータ処理手順の一例を示すフローチャートである。
【図８】本実施形態を示す情報処理装置のプリンタドライバが提供するＵＩ画面の一例を示す図である。
【図９】図１に示したディスプレイに表示される用紙変更画面の表示例を示す図である。
【図１０】図１に示したディスプレイに表示される用紙変更画面の表示例を示す図である。
【図１１】図１に示したディスプレイに表示される用紙変更画面の表示例を示す図である。
【図１２】本発明に係る画像処理装置で読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。
【符号の説明】
【０１７５】
１００  ＣＰＵ
１０１  ＲＯＭ
１０２  ＲＡＭ
１０７  ディスプレイ
【図１】
2008040933.tif 000003
【図２】
2008040933.tif 000004
【図３】
2008040933.tif 000005
【図４】
2008040933.tif 000006
【図５】
2008040933.tif 000007
【図６】
2008040933.tif 000008
【図７】
2008040933.tif 000009
【図８】
2008040933.tif 000010
【図９】
2008040933.tif 000011
【図１０】
2008040933.tif 000012
【図１１】
2008040933.tif 000013
【図１２】
2008040933.tif 000014