(57)【要約】【課題】  印刷アプリケーションにおいて、ユーザが印刷範囲を意識する必要なく、自動的に出力用紙に適したサイズで印刷内容が印刷されることを可能とする印刷制御装置、印刷制御方法、プログラムを提供する。【解決手段】  アプリケーション側からの描画可能領域問い合わせを受け取る描画可能領域問い合わせ受信手段と、前記描画可能領域問い合わせ受信手段により受信した描画領域の問い合わせに対して１ページの印刷データとなる擬似印刷領域通知手段と、アプリケーション側からの印刷データを受信する受信手段と、前記受信手段により受信した印刷データの描画領域を判断する描画領域測定手段と、前記描画領域測定手段より判断された描画領域が指定用紙の描画可能領域に納まる縮小率を計算する縮小率計算手段と、前記縮小率計算手段により決められた縮小率で前記印刷データを変換する印刷データ変更手段と、を備えることを特徴とする印刷制御装置。【選択図】  図１
2009159085.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーション側からの描画可能領域問い合わせを受け取る描画可能領域問い合わせ受信手段と、
前記描画可能領域問い合わせ受信手段により受信した描画領域の問い合わせに対して１ページの印刷データとなる擬似印刷領域通知手段と、
アプリケーション側からの印刷データを受信する受信手段と、
前記受信手段により受信した印刷データの描画領域を判断する描画領域測定手段と、
前記描画領域測定手段より判断された描画領域が指定用紙の描画可能領域に納まる縮小率を計算する縮小率計算手段と、
前記縮小率計算手段により決められた縮小率で前記印刷データを変換する印刷データ変更手段と、
を備えることを特徴とする印刷制御装置。
【請求項２】
前記印刷データの縮小率の最小縮小倍率を設定する最小縮小倍率設定手段と、
前記縮小率計算手段で計算された縮小率が前記最小縮小倍率設定手段で設定された最小縮小倍率とを比較する縮小率妥当性判断手段と、
前記縮小率妥当性判断手段により縮小率が前記最小縮小倍率より小さいと判断された場合に前記最小縮小倍率を満足する前記印刷データの分割数を算出する分割数算出手段と、
前記分割数算出手段で算出した分割数から指定用紙の描画可能領域に納まる縮小率を計算する分割分縮小率計算手段と、
前記分割分縮小率計算手段により決められた縮小率で前記印刷データを変換する印刷データ変更手段と、
を備えることを特徴とする請求項１記載の印刷制御装置。
【請求項３】
前記分割数算出手段は、縦方向についての縦方向分割数および横方向についての横方向分割数を算出するものであり、
前記分割分縮小率計算手段は、前記分割数算出手段で算出した縦方向分割数から縦方向分割縮小率を、および、横方向分割数から横方向分割縮小率を算出するものであり、
前記分割分縮小率計算手段で算出した縦方向分割縮小率と横方向分割縮小率とを比較し、大きい値を縮小率に決定し、
前記縮小率決定手段で決定した縮小率で前記印刷データを変換することを特徴とする請求項２記載の印刷制御装置。
【請求項４】
アプリケーション側からの描画可能領域問い合わせを受け取る描画可能領域問い合わせ受信ステップと、
前記描画可能領域問い合わせ受信ステップにより受信した描画領域の問い合わせに対して１ページの印刷データとなる擬似印刷領域通知ステップと、
アプリケーション側からの印刷データを受信する受信ステップと、
前記受信ステップにより受信した印刷データの描画領域を判断する描画領域測定ステップと、
前記描画領域測定ステップより判断された描画領域が指定用紙の描画可能領域に納まる縮小率を計算する縮小率計算ステップと、
前記縮小率計算ステップにより決められた縮小率で前記印刷データを変換する印刷データ変更ステップと、
を備えることを特徴とする印刷制御方法。
【請求項５】
前記印刷データの縮小率の最小縮小倍率を設定する最小縮小倍率設定ステップと、
前記縮小率計算ステップで計算された縮小率が前記最小縮小倍率設定ステップで設定された最小縮小倍率とを比較する縮小率妥当性判断ステップと、
前記縮小率妥当性判断ステップにより縮小率が前記最小縮小倍率より小さいと判断された場合に、前記最小縮小倍率を満足する前記印刷データの分割数を算出する分割数算出ステップと、
前記分割数算出ステップで算出した分割数から指定用紙の描画可能領域に納まる縮小率を計算する分割分縮小率計算ステップと、
前記分割分縮小率計算ステップにより決められた縮小率で前記印刷データを変換する印刷データ変更ステップと、
を備えることを特徴とする請求項４記載の印刷制御方法。
【請求項６】
前記分割数算出ステップは、縦方向についての縦方向分割数および横方向についての横方向分割数を算出するものであり、
前記分割分縮小率計算ステップは、前記分割数算出ステップで算出した縦方向分割数から縦方向分割縮小率を、および、横方向分割数から横方向分割縮小率を算出するものであり、
前記分割分縮小率計算ステップで算出した縦方向分割縮小率と横方向分割縮小率とを比較し、大きい値を縮小率に決定し、
前記縮小率決定ステップで決定した縮小率で前記印刷データを変換することを特徴とする請求項５記載の印刷制御方法。
【請求項７】
請求項１乃至３のいずれかに記載された印刷制御装置としてコンピュータを機能させるためのプログラム。
【請求項８】
請求項４乃至６に記載された印刷制御方法をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷機能を有するアプリケーションと、印刷装置を制御するプリンタドライバが搭載されている印刷制御端末と、印刷装置が、ネットワークを介して相互に接続されて構成されている印刷システム、プログラムに関し、特に印刷制御を行うシステムに関する。
【背景技術】
【０００２】
近年、コンピュータ、並びにプリンタなどの印刷装置、デジタルカメラ、スキャナーなどの入力装置等の価格低下に伴い、コンピュータに精通した専門家だけでなく、一般家庭などユーザもコンピュータを使用して印刷を行う機会が増加している。このような状況において、ユーザが意図した印刷結果をより容易に得られるようになることが要望されている。
【０００３】
その１つとして、特許文献１には、用紙サイズを超える印刷データが受信されたときでも、必ず指定された用紙に収まる印刷結果を得るシステムが開示されている。このシステムにおいては、段落番号＜０００５＞等に記載されているように、受信印刷データを一時記憶装置内に記憶し、同時に印刷データの最大幅及び最大長を計算し、指定された用紙サイズを超える場合に縮小印刷を行うように動作するものである。
【０００４】
また、同様に段落番号＜０００６＞乃至＜００１２＞にも、指定された用紙サイズを超える場合に縮小印刷の方法について詳細に記載されている。
【０００５】
また、特許文献２には、殆ど白紙状態の用紙が最終ページとして排出されることを防止する印刷装置が開示されている。このシステムにおいては、段落番号＜０００９＞等に記載されているように、印刷物の総ページ数Ｐが２以上であり、かつ、当該印刷物の第Ｐページが、用紙の上端側に所定領域内にだけ描画がなされるものであるとういう特殊印刷条件が満たされた場合、印刷データに含まれる第Ｐ−１ページの描画内容を規定する情報と第Ｐページの描画内容を規定する情報とに基づき、これら２ページに関する描画結果が縮小されて収められた１ページの印刷を実行する併合縮小印刷を行うように動作するものである。
【０００６】
また、同様に段落番号＜００２４＞乃至＜００５１＞にも、当該印刷物の第Ｐページが、用紙の上端側に所定領域内にだけ描画がなされるものであるとういう特殊印刷条件が満たされているか否かを判断する判断手段と、印刷データに含まれる第Ｐ−１ページの描画内容を規定する情報と第Ｐページの描画内容を規定する情報とに基づき、これら２ページに関する描画結果が縮小されて収められた１ページの印刷を実行する併合縮小印刷実行手段。について詳細に記載されている。
【特許文献１】特開平05-221076号公報 「印刷装置の制御方法」
【特許文献２】特開2002-113919 号公報 「印刷装置及びコンピュータの可読媒体」
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、ユーザが通常印刷を行った場合に、印刷結果の一部が途切れる、或いは、わずかな部分のみ印刷する為に、改ページが行われ一部のみしか印刷が行われていない用紙が出力されるなど、といったことがしばしば発生していた。
【０００８】
また、特許文献１に記載の印刷装置の制御方法においては、アプリケーションが用紙サイズを認識せず、印刷データ全体を印刷装置に送信する場合には指定された用紙に納まるように印刷することが可能であるが、アプリケーションが用紙サイズを認識し、用紙サイズに合わせて印刷データを分割した後に、印刷データを印刷装置に送信する場合には、複数の用紙に分割されて印刷される。
【０００９】
すなわち、アプリケーションの動作によってはユーザの期待した用紙サイズに納まるように印刷できない場合がある。
【００１０】
また、特許文献２に記載の印刷装置及びコンピュータの可読媒体システムにおいては、メールやWebページといった、用紙の印刷領域に対して、幅方向に印刷物の描画領域が越えることが無い場合は、用紙の上端側に対して所定領域内だけに描画されている場合に、Ｐ−１ページとＰページの併合縮小印刷が可能であるが、用紙の印刷領域に対して、幅方向に印刷物の描画領域が越えることが有る場合、つまり用紙の左端側の所定領域内だけに描画される可能性のある場合には、併合縮小印刷が行えず、印刷物の一部が途切れる、もしくは複数ページに分割して印刷される結果となり、ユーザの期待した用紙サイズに納まるように印刷できない。
【００１１】
本発明は上記の課題を解決するためになされたものであり、印刷アプリケーションにおいて、ユーザが印刷範囲を意識する必要なく、自動的に出力用紙に適したサイズで印刷内容が印刷されることを可能とする印刷制御装置、印刷制御方法、プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記の目的を達成するための本発明による印刷システムは以下の構成を備える。
【００１３】
即ち、本発明に係る第１の技術手段は、アプリケーション側からの描画可能領域問い合わせを受け取る描画可能領域問い合わせ受信手段と、前記描画可能領域問い合わせ受信手段により受信した描画領域の問い合わせに対して１ページの印刷データとなる擬似印刷領域通知手段と、アプリケーション側からの印刷データを受信する受信手段と、前記受信手段により受信した印刷データの描画領域を判断する描画領域測定手段と、前記描画領域測定手段より判断された描画領域が指定用紙の描画可能領域に納まる縮小率を計算する縮小率計算手段と、前記縮小率計算手段により決められた縮小率で前記印刷データを変換する印刷データ変更手段とを備える。
【００１４】
第２の技術手段は、第１の技術手段において、前記印刷データの縮小率の最小縮小倍率を設定する最小縮小倍率設定手段と、前記縮小率計算手段で計算された縮小率が前記最小縮小倍率設定手段で設定された最小縮小倍率とを比較する縮小率妥当性判断手段と、前記縮小率妥当性判断手段により縮小率が前記最小縮小倍率より小さいと判断された場合に前記最小縮小倍率を満足する前記印刷データの分割数を算出する分割数算出手段と、前記分割数算出手段で算出した分割数から指定用紙の描画可能領域に納まる縮小率を計算する分割分縮小率計算手段と、前記分割分縮小率計算手段により決められた縮小率で前記印刷データを変換する印刷データ変更手段とを備えることを特徴とする。
【００１５】
第３の技術手段は、第２の技術手段において、前記分割数算出手段は、縦方向についての縦方向分割数および横方向についての横方向分割数を算出するものであり、前記分割分縮小率計算手段は、前記分割数算出手段で算出した縦方向分割数から縦方向分割縮小率を、および、横方向分割数から横方向分割縮小率を算出するものであり、前記分割分縮小率計算手段で算出した縦方向分割縮小率と横方向分割縮小率とを比較し、大きい値を縮小率に決定し、前記縮小率決定手段で決定した縮小率で前記印刷データを変換することを特徴とする。
【発明の効果】
【００１６】
本発明によれば、印刷アプリケーションを問わず、用紙の上端、或いは、左端の一部だけに印刷が指定された用紙に収まるように、或いは、適切な印刷することが可能となる印刷システム、プログラムを提供できる。
【００１７】
特に、全ての印刷アプリケーションにおいて、ユーザが印刷範囲を意識する必要なく、自動的に出力用紙に適したサイズで印刷内容が印刷されるので、ユーザによる調整失敗に起因する、印刷の失敗が減り、印刷枚数を削減できる効果を奏する。
【発明を実施するための最良の形態】
【００１８】
以下、図面を参照して、本発明の実施形態を詳細に説明する。
【００１９】
[第１の実施形態]
図１は本発明の実施形態の印刷システムの構成を示す図である。
【００２０】
尚、図１のネットワーク１００上に接続される各種端末の構成は一例であり、用途や目的に応じて様々な構成例があることは言うまでもない。
【００２１】
１０１は印刷を行うユーザが使用する印刷クライアントである。印刷クライアント１０１は、ネットワーク１００を介して、印刷装置１０２とデータの送受信が可能である。
【００２２】
次に、図１の印刷クライアント１０１のハードウェア構成について、図２を用いて説明する。
【００２３】
図２は、印刷クライアント１０１のハードウェア構成を示す図である。
【００２４】
ＣＰＵ２０１は、システムバス２０５に接続される各デバイスやコントローラを統括的に制御する。また、ＲＯＭ２０２あるいは記憶装置２０３には、ＣＰＵ２０１の制御プログラムであるＢＩＯＳ(Basic Input / Output System)やオペレーティングシステムプログラム（以下、ＯＳ）や、ＰＣの実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。ＲＡＭ２０４は、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。ＣＰＵ２０１は、処理の実行に際して必要なプログラム等をＲＡＭ２０４にロードして、プログラムを実行することで各種動作を実現するものである。
【００２５】
また、表示コントローラ２０６は、液晶ディスプレイ等の表示装置２１１等の表示器の表示を制御する。入力コントローラ２０７は、キーボードやマウス等の入力装置２１２からの入力を制御する。表示装置２１１や入力装置２１２については、必要に応じて本印刷クライアントのユーザが使用するものである。本発明には直接関係があるものではない。通信Ｉ／Ｆコントローラ２０７は、ネットワークを介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、ＴＣＰ／ＩＰを用いたインターネット通信等が可能である。
【００２６】
次に、図１の印刷クライアント１０１に導入されている各種ソフトウェアの構成について、図３を用いて説明する。
【００２７】
図３は、印刷クライアント１０１のソフトウェア構成を示す図である。
【００２８】
オペレーティングシステム（以下、ＯＳ）３０１は、各種のアプリケーションやデバイスドライバ、スプーラ等のソフトウェアを制御し、各ソフトウェア間の仲介を行う。
【００２９】
印刷アプリケーション３０２は、ユーザによって文書や図等のドキュメントを作成され、作成されたドキュメントの印刷の操作が行われた場合に、ＯＳ３０１に対して印刷を指示する。
【００３０】
プリンタドライバ３０３は、プリンタの制御、及び、ＯＳ３０１を介して送られてきた印刷データを印刷装置が解釈可能なデータへの変換を行う。印刷スプーラ３０４はプリンタドライバ３０２が作成したデータをＯＳ３０１を介して受け取り、ネットワークで接続されている印刷装置への送信を制御する。
【００３１】
次に、本印刷システムによる第１の実施例の処理の概念を、図４を用いて説明する。
【００３２】
図４は、本処理フローにより実行される動作を示す概要図である。
【００３３】
印刷アプリケーション３０３に、出力用紙の用紙サイズとして擬似的な印刷領域となる最大ダミー用紙サイズ（Ｐ１ｘ（ｍａｘ）、Ｐ１ｙ（ｍａｘ））を返すことにより、印刷アプリケーション３０３は、最大ダミー用紙サイズの領域内に収まる印刷データを生成し、プリンタドライバ３０２に印刷命令として送る。
【００３４】
プリンタドライバ３０２は、印刷命令に従いビットマップを生成し、生成したビットマップの幅（Ｂ１ｘ）と高さ（Ｂ１ｙ）を取得する。また、印刷アプリケーション３０３から指定された本来の出力用紙の用紙サイズ（Ｐ１ｘ、Ｐ１ｘ）も取得する。
【００３５】
ビットマップが、出力用紙に収まる最大の縮小率（Ｒ１）を計算し、求めた縮小率（Ｒ１）でビットマップの縮小を行い、縮小したビットマップの印刷を行う。
【００３６】
上記処理により、印刷アプリケーション３０３に印刷データを分割させず、プリンタドライバ３０２側で用紙サイズに合わせた縮小処理が可能となる。
【００３７】
次に、プリンタドライバ３０２のユーザフェースについて、図５を用いて説明する。
【００３８】
図５は、本発明を実行するか否かをユーザが設定するプリンタドライバ３０２のユーザインターフェース（以下、ＵＩ）５０１を示す図である。
【００３９】
本ＵＩ５０１は、本発明である用紙にあわせて印刷を行うか否を設定するチェックボックス５０２と、本発明を実施する対象印刷アプリケーション３０３を指定するリストボックス５０３からなる。
【００４０】
次に、本印刷システムの基本的な処理フローについて、図６を用いて説明する。
【００４１】
図６は本発明の第１の実施形態の印刷システムの基本的な処理フローを示す図である。この印刷処理手順は、印刷クライアント１０１内の記憶装置２０３に保存されており、実行時にＲＡＭ２０４にロードして、ＣＰＵ２０１によって実行される。また、処理の中で一時的に保持される情報もＲＡＭ２０４に記憶される。
【００４２】
本処理フローは、図５で示したＵＩ５０１を使って、事前にユーザにより、本処理を実行するか否、どの印刷アプリケーションで本処理を実行するか、の設定が行われていることを前提とする。
【００４３】
印刷クライアント１０３にインストールされている、プリンタドライバ３０２は、ＯＳ３０１を介して印刷アプリケーション３０３から送らてくる命令が、用紙サイズ情報の回答要求か否かを確認する（Ｓ６０１）。
【００４４】
命令が用紙サイズ情報回答要求であれば（Ｓ６０１が「ＹＥＳ」）、プリンタドライバのＵＩ５０１のチェックボックス５０２に、用紙にあわせて印刷を行う機能がＯＮになっているか否かを確認する（Ｓ６０２）。
【００４５】
用紙にあわせて印刷を行う機能がＯＮになっていれば（Ｓ６０２が「ＹＥＳ」）、命令を送ってきた印刷アプリケーション３０３が、プリンタドライバのＵＩ５０１のリストボックス５０３に、指定された対象印刷アプリケーションであるか否かを確認する（Ｓ６０３）。
【００４６】
印刷アプリケーション３０３が、プリンタドライバのＵＩ５０１のリストボックス５０３に、指定された印刷アプリケーションであれば（Ｓ６０３が「ＹＥＳ」）、印刷アプリケーション３０３に対して、印刷クライアント２０２のＲＡＭ２０４に展開可能な最大のダミー用紙サイズを回答する（Ｓ６０４）。
【００４７】
この処理により、印刷アプリケーション３０３は、要求した用紙に合わせて独自に印刷データを分割せず、１ページの印刷データとして印刷命令を送ることになる。
【００４８】
なお、ステップＳ６０４では展開可能な最大のダミー用紙サイズを回答するものとしたが、印刷アプリケーション３０３からは１ページの印刷データとして印刷命令を送ることが出来るのであれば、印刷アプリケーション３０３が展開できるデータエリアの最大を回答するものであっても良い。
【００４９】
この場合は、例えば、リストボックス５０３に対象印刷アプリケーションと共にその最大値を入力する。
【００５０】
プリンタドライバのＵＩ５０１のチェックボックス５０２に、用紙にあわせて印刷を行う機能がＯＦＦになっている（Ｓ６０２が「ＮＯ」）、あるいは、印刷アプリケーション３０３が、プリンタドライバのＵＩ５０１により、指定された対象印刷アプリケーションでなければ（Ｓ６０３が「ＮＯ」）、プリンタドライバ３０２が保持しているテーブルから、要求された用紙の本来の用紙サイズを回答する（Ｓ６０５）。
【００５１】
続いて、ＯＳ３０１を介して印刷アプリケーション３０３から送らてくると命令が、印刷命令か否かを確認する（Ｓ６０６）。
【００５２】
印刷命令であれば（Ｓ６０６が「ＹＥＳ」）、印刷命令の一部である描画命令に従い、印刷クライアント１０３のＲＡＭ２０４にビットマップを展開する。その際、ビットマップに書き込んだ描画領域を測定して、その領域のＸ座標とＹ座標の最大値を保持しておく（Ｓ６０７）。
【００５３】
なお、本実施例ではビットマップデータを利用してＸ座標とＹ座標の最大値から幅と高さを取得する例で説明したが、印刷するデータの幅と高さを取得することが出来ればこれに限るものではない。
【００５４】
次に、ステップＳ６０７により保持していたＸ座標とＹ座標の最大値から、展開したビットマップの幅（Ｂ１ｘ）と高さ（Ｂ１ｙ）を取得する（Ｓ６０８）。
【００５５】
次に、印刷命令の一部である出力用紙の指定から印刷する本来の用紙を特定し、プリンタドライバ３０２が保持しているテーブルから、その用紙の本来の用紙の幅（Ｐ１ｘ）と高さ（Ｐ１ｘ）を取得する（Ｓ６０９）。
【００５６】
ステップＳ６０８により取得したビットマップの幅（Ｂ１ｘ）・高さ（Ｂ１ｙ）と用紙の幅（Ｐ１ｘ）・高さ（Ｐ１ｘ）から次の計算式により、幅の縮小率（Ｒ１ｘ）と高さの縮小率（Ｒ１ｙ）をそれぞれ求める（Ｓ６１０）。
【００５７】
Ｒ１ｘ  ＝  Ｐ１ｘ／Ｂ１ｘ  …（１）
Ｒ１ｙ  ＝  Ｐ１ｘ／Ｂ１ｙ  …（２）
（１）と（２）の計算式で求めた幅の縮小率（Ｒ１ｘ）と高さの縮小率（Ｒ１ｙ）を比較する（Ｓ６１１）。幅の縮小率（Ｒ１ｘ）が小さければ（Ｓ６１１が「ＹＥＳ」）、縮小率（Ｒ１）を幅の縮小率（Ｒ１ｘ）とする（Ｓ６１２）。高さの縮小率（Ｒ１ｙ）が小さければ（Ｓ６１１が「ＮＯ」）、縮小率（Ｒ１）を幅の縮小率（Ｒ１ｙ）とする（Ｓ６１３）。
【００５８】
縮小率（Ｒ１）が１．０を超えているか否かを確認し（Ｓ６１４）、Ｒ１が１．０より小さければ（Ｓ６１４が「ＹＥＳ」）、ステップＳ６０７で生成したビットマップを縮小率（Ｒ１）で縮小する。  Ｒ１が１．０以上ならば（ステップＳ６１４が「ＮＯ」）、印刷データの描画領域が本来の用紙サイズを超えないことになるので、縮小処理を行わない。
【００５９】
上述の処理により生成されたビットマップを、印刷装置１０２に送信の上（Ｓ６１６）、印刷装置１０２では受信したデータを通常の印刷処理を実行し、処理を終了する。
【００６０】
以上の処理により、印刷アプリケーションにおいて、ユーザが印刷範囲を意識する必要なく、自動的に出力用紙に適したサイズで印刷内容が印刷されることが可能となる。
【００６１】
[第２の実施形態]
次に、本印刷システムによる第２の実施例の処理の概念を、図７を用いて説明する。
【００６２】
図７は、本処理フローにより実行される動作を示す概要図である。
【００６３】
印刷アプリケーション３０３に、出力用紙の用紙サイズとして最大ダミー用紙サイズ（Ｐ２ｘ（ｍａｘ）、Ｐ２ｙ（ｍａｘ））を返すことにより、印刷アプリケーション３０３は、最大ダミー用紙サイズの領域内に収まる印刷データを生成し、プリンタドライバ３０２に印刷命令として送る。
【００６４】
プリンタドライバ３０２は、印刷命令に従いビットマップを生成し、生成したビットマップの幅（Ｂ２ｘ）と高さ（Ｂ２ｙ）を取得する。また、印刷アプリケーション３０３から指定された出力用紙の本来の用紙サイズ（Ｐ２ｘ、Ｐ２ｘ）も取得する。
【００６５】
ビットマップが、ユーザが指定した縮小率よりも大きくなる、ビットマップの横方向の分割数（Ｎｘ）とビットマップの縦方向の分割数（Ｎｙ）と最大の縮小率（Ｒ２）を計算する。
【００６６】
求めた縮小率（Ｒ２）でビットマップの縮小を行い、更に横方向の分割数（Ｎｘ）と縦方向の分割数（Ｎｙ）でビットマップの分割を行う。
【００６７】
そして、分割された（Ｎｘ×Ｎｙ）ページのビットマップを印刷する。
【００６８】
上記処理により、印刷アプリケーション３０３に印刷データを分割させず、プリンタドライバ３０２側で用紙サイズに合わせた最適なページ分割処理と、縮小処理が可能となる。
【００６９】
次に、プリンタドライバ３０２のユーザフェースについて、図８を用いて説明する。
【００７０】
図８は、本発明を実行するか否かをユーザが設定するプリンタドライバ３０２のユーザインターフェース（以下、ＵＩ）８０１を示す図である。
【００７１】
本ＵＩ８０１は、本発明である用紙にあわせて印刷を行うか否を設定するチェックボックス８０２と、本発明を実施する対象印刷アプリケーション３０３を指定するリストボックス８０３と、ユーザが指定する最小縮小倍率入力ボックス８０４とからなる。
【００７２】
次に、本印刷システムの基本的な処理フローについて、図９を用いて説明する。
【００７３】
図９は本発明の第２の実施形態の印刷システムの基本的な処理フローを示す図である。この印刷処理手順は、印刷クライアント１０１内の記憶装置２０３に保存されており、実行時にＲＡＭ２０４にロードして、ＣＰＵ２０１によって実行される。また、処理の中で一時的に保持される情報もＲＡＭ２０４に記憶される。
【００７４】
本処理フローは、図８で示したＵＩ８０１を使って、事前にユーザにより、本処理の実行を行うか否か、どの印刷アプリケーションで本処理フローを行うか、最小縮小倍率の設定が行われていることを前提とする。
【００７５】
ここで、ステップＳ１２０１からステップＳ１２０７の処理は、図６の処理で説明したステップＳ６０１からステップＳ６０７の処理と対応するものであり、同様の処理であるので説明を省略する。
【００７６】
次に、ステップＳ１２０７により保持していたＸ座標とＹ座標の最大値から、展開したビットマップの幅（Ｂ２ｘ）と高さ（Ｂ２ｙ）を取得する（Ｓ１２０８）。
【００７７】
次に、印刷命令の一部である出力用紙の指定から印刷する本来の用紙を特定し、プリンタドライバ３０２が保持しているテーブルから、その用紙の本来の用紙の幅（Ｐ２ｘ）と高さ（Ｐ２ｘ）を取得する（Ｓ１２０９）。
【００７８】
次に、横方向ページ分割数（Ｎｘ）と縦方向ページ分割数（Ｎｙ）を０で、幅の縮小率（Ｒ２ｘ）と高さの縮小率（Ｒ２ｙ）を０．０で初期化する（Ｓ１２１０）。
【００７９】
同様に、高さの縮小率（Ｒ２ｘ）が定められた最小縮小倍率（Ｔ）より小さいか否か比較し（Ｓ１２１１）、Ｒ２ｘがＴより小さければ、次のステップＳ１２１２を処理する。
【００８０】
Ｎｘに１を足した後、ステップＳ１２０８により取得したビットマップの幅（Ｂ２ｘ）とステップＳ１２０９により取得した用紙の幅（Ｐ２ｘ）、及び、横方向ページ分割数（Ｎｘ）から（３）の計算式により、幅の縮小率（Ｒ２ｘ）を求める（Ｓ１２１２）。
【００８１】
Ｒ２ｘ  ＝  （Ｐ２ｘ × Ｎｘ）／Ｂ２ｘ  …（３）
Ｒ２ｘがＴより大きくなるまで、ステップＳ１２１２は繰り返す。
【００８２】
同様に、幅の縮小率（Ｒ２ｙ）が定められた最小縮小倍率（Ｔ）より小さいか否か比較し（Ｓ１２１３）、Ｒ２ｙがＴより小さければ、次のステップＳ１２１４を処理する。
【００８３】
Ｎｙに１を足した後、ステップＳ１２０８により取得したビットマップの高さ（Ｂ２ｙ）とステップＳ１２０９により取得した用紙の高さ（Ｐ２ｙ）、及び、縦方向ページ分割数（Ｎｙ）から（４）の計算式により、高さの縮小率（Ｒ２ｙ）を求める（Ｓ１２１４）。
【００８４】
Ｒ２ｙ  ＝  （Ｐ２ｙ × Ｎｙ）／Ｂ２ｙ  …（４）
Ｒ２ｙがＴより大きくなるまで、ステップＳ１２１４は繰り返す。
【００８５】
ステップＳ１２１１からステップＳ１２１２、及び、ステップＳ１２１３からステップＳ１２１４の処理により求めた幅の縮小率（Ｒ２ｘ）と高さの縮小率（Ｒ２ｙ）を比較する（Ｓ１２１５）。
【００８６】
幅の縮小率（Ｒ２ｘ）が小さければ（Ｓ１２１５が「ＹＥＳ」）、縮小率（Ｒ２）を幅の縮小率（Ｒ２ｘ）とする（Ｓ１２１６）。高さの縮小率（Ｒ２ｙ）が小さければ（ステップＳ１２１５が「ＮＯ」）、縮小率（Ｒ２）を幅の縮小率（Ｒ２ｙ）とする（Ｓ１２１７）。
【００８７】
縮小率（Ｒ２）が１．０より大きいか否かを確認し（Ｓ１２１８）、Ｒ２が１．０より大きければ（ステップＳ１２１８が「ＹＥＳ」）、縮小率（Ｒ２）を１．０とする（Ｓ１２１９）。
【００８８】
上述の処理により計算された縮小率（Ｒ２）と、ビットマップの幅（Ｂ２ｘ）と高さ（Ｂ２ｙ）、用紙の幅（Ｐ２ｘ）と高さ（Ｐ２ｘ）を基に、横方向ページ分割数（Ｎｘ）と縦方向ページ分割数（Ｎｙ）を（５）及び（６）の計算式で再度計算する（Ｓ１２２０）。
【００８９】
Ｎｘ  ＝  （Ｂ２ｘ × Ｒ２）／Ｐ２ｘ  …（５）
Ｎｙ  ＝  （Ｂ２ｙ × Ｒ２）／Ｐ２ｘ  …（６）
ステップＳ１２０７で生成したビットマップを縮小率（Ｒ２）で縮小する（Ｓ１２２１）。
【００９０】
そして、ステップＳ１２２１で縮小したビットマップを、ステップＳ１２２０で計算した横方向ページ分割数（Ｎｘ）と縦方向ページ分割数（Ｎｙ）を基に分割する。
【００９１】
上述の処理により生成された（Ｎｘ×Ｎｙ）個のビットマップを、印刷装置１０２に送信の上（Ｓ１２２３）、印刷装置１０２では受信したデータの印刷処理を実行し、終了する。
【００９２】
以上の処理により、印刷アプリケーションにおいてユーザが印刷範囲を意識する必要なく、ユーザが定めた縮小率以上で、自動的に出力用紙に適したサイズで印刷内容が印刷されることが可能となる。
【００９３】
以上、実施例を詳述したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【図面の簡単な説明】
【００９４】
【図１】本発明の実施形態１の印刷システムの構成を示す図である。
【図２】本発明の実施形態１のクライアント端末のハードウェア構成を示す図である。
【図３】本発明の実施形態１のクライアント端末のソフトウェア構成を示す図である。
【図４】本発明の実施形態１の印刷システムの処理の概要を示す図である。
【図５】本発明の実施形態１の印刷システムの設定画面の一例を示す図である。
【図６】本発明の実施形態１の印刷システムの基本的な処理フローを示す図である。
【図７】本発明の実施形態２の印刷システムの処理の概要を示す図である。
【図８】本発明の実施形態２の印刷システムの設定画面の一例を示す図である。
【図９】本発明の実施形態２の印刷システムの基本的な処理フローを示す図である。
【符号の説明】
【００９５】
１００  ネットワーク
１０１  印刷クライアント
１０２  印刷装置
２０１  ＣＰＵ
２０２  ＲＯＭ
２０３  記憶装置
２０４  ＲＡＭ
２０５  システムバス
２０６  表示コントローラ
２０７  入出力コントローラ
２０８  通信Ｉ／Ｆコントローラ
２０９  表示装置
２１０  入力装置
【図１】
2009159085.tif 000003
【図２】
2009159085.tif 000004
【図３】
2009159085.tif 000005
【図４】
2009159085.tif 000006
【図５】
2009159085.tif 000007
【図６】
2009159085.tif 000008
【図７】
2009159085.tif 000009
【図８】
2009159085.tif 000010
【図９】
2009159085.tif 000011