(57)【特許請求の範囲】
【請求項１】
印刷データが表わす画像領域及び余白領域を含む領域である第１原稿領域を拡縮する第１拡縮処理、並びに、前記第１拡縮処理が前記印刷データに施されることで得られる第１拡縮データが表わす画像領域を拡縮する第２拡縮処理を実行するコンピュータに、
前記第１拡縮データが表わす画像領域の大きさ、及び、出力用紙における印刷領域の大きさを取得する第１取得ステップと、
前記第１取得ステップで取得された、前記第１拡縮データが表わす画像領域の大きさ、及び、前記出力用紙における印刷領域の大きさに基づいて、前記第２拡縮処理において前記第１拡縮データが表わす画像領域を拡縮するための拡縮率を取得する第２取得ステップと、
を実行させるプログラムであって、
前記第２取得ステップにより取得された、前記第２拡縮処理において前記第１拡縮データが表わす画像領域を拡縮するための拡縮率に基づいて、前記第２拡縮処理が前記第１拡縮データに施されることにより、前記第２拡縮処理が前記第１拡縮データに施されることで得られる拡縮データが表わす画像領域の外枠のうち縦線と横線のいずれかが、前記出力用紙における印刷領域の外枠のうち縦線と横線のいずれかに少なくとも接することを特徴とするプログラム。
【請求項２】
前記第２取得ステップでは、前記第２拡縮処理において前記第１拡縮データが表わす画像領域を拡縮するための拡縮率が、前記出力用紙における印刷領域の大きさから、前記第１拡縮データが表わす画像領域の大きさを除することで取得される請求項１に記載のプログラム。 
【請求項３】
前記第１拡縮処理において前記第１原稿領域を拡縮するための拡縮率は、前記第１原稿領域の大きさ及び前記出力用紙の大きさに基づいて、一意に定められることを特徴とする請求項１又は請求項２に記載のプログラム。
【請求項４】
前記第２拡縮処理は、前記第１拡縮データが表わす画像領域及び余白領域を含む領域である第２原稿領域を拡縮することで、第２拡縮データを取得する処理であり、
前記コンピュータに、
前記第２拡縮データが表わす余白領域のうち、少なくとも一部の領域に対応するデータを、前記第２拡縮データから削除する削除ステップを更に実行させることを特徴とする請求項１乃至請求項３のいずれか１項に記載のプログラム。
【請求項５】
前記削除ステップでは、前記第２拡縮データが表す画像領域及び余白領域を含む領域である第３原稿領域において、前記第２拡縮データが表わす画像領域以外の領域である不要領域に対応するデータが、前記第２拡縮データから削除されることを特徴とする請求項４に記載のプログラム。
【請求項６】
前記削除ステップでは、前記第２拡縮データが表す画像領域及び余白領域を含む領域である第３原稿領域において、前記出力用紙に対応する領域以外の領域である不要領域に対応するデータが、前記第２拡縮データから削除されることを特徴とする請求項４に記載のプログラム。
【請求項７】
前記コンピュータには、前記第１拡縮処理及び前記第２拡縮処理を実行するオペレーションシステムがインストールされていることを特徴とする請求項１乃至請求項６のいずれか１項に記載のプログラム。
【請求項８】
前記コンピュータに、前記第２取得ステップにおいて取得された前記拡縮率を、前記オペレーションシステムが利用する情報であるシステム属性として設定する設定ステップを更に実行させることを特徴とする請求項７に記載のプログラム。
【請求項９】
前記コンピュータに、前記印刷データが表わす画像領域及び余白領域を含む領域である第１原稿領域の大きさ及び前記出力用紙の大きさの入力を受け付ける第１受け付けステップを更に実行させることを特徴とする請求項１乃至８のいずれか１項に記載のプログラム。
【請求項１０】
前記コンピュータに、前記第２拡縮処理を実行するか否かの入力を受け付ける第２受け付けステップを更に実行させ、
前記第２取得ステップでは、前記第２受け付けステップにおいて、前記第２拡縮処理を実行することの入力が受け付けられた場合、前記第１取得ステップにおいて取得された、前記第１拡縮データが表わす画像領域の大きさ及び前記出力用紙における印刷領域の大きさに基づいて、前記第２拡縮処理において前記第１拡縮データが表わす画像領域を拡縮するための拡縮率が取得され、前記第２受け付けステップにおいて、前記第２拡縮処理を実行することの入力が受け付けられていない場合、前記第２拡縮処理において前記第１拡縮データが表わす画像領域を拡縮するための拡縮率が取得されないことを特徴とする請求項１乃至９のいずれか１項に記載のプログラム。
【請求項１１】
前記プログラムは、プリンタドライバであることを特徴とする請求項１乃至１０のいずれか１項に記載のプログラム。
【請求項１２】
前記第１拡縮処理は、前記プログラム以外のソフトウェアによって実行される処理であることを特徴とする請求項１乃至１１のいずれか１項に記載のプログラム。
【請求項１３】
印刷データが表わす画像領域及び余白領域を含む領域である第１原稿領域を拡縮する第１拡縮処理、並びに、前記第１拡縮処理が前記印刷データに施されることで得られる第１拡縮データが表わす画像領域を拡縮する第２拡縮処理を実行するコンピュータの制御方法であって、
前記第１拡縮データが表わす画像領域の大きさ、及び、出力用紙における印刷領域の大きさを取得する第１取得ステップと、
前記取得された前記第１拡縮データが表わす画像領域の大きさ、及び、前記出力用紙における印刷領域の大きさに基づいて、前記第２拡縮処理において前記第１拡縮データが表わす画像領域を拡縮するための拡縮率を取得する第２取得ステップと、
を有し
前記取得された、前記第２拡縮処理において前記第１拡縮データが表わす画像領域を拡縮するための拡縮率に基づいて、前記第２拡縮処理が前記第１拡縮データに施されることにより、前記第２拡縮処理が前記第１拡縮データに施されることで得られる拡縮データが表わす画像領域の外枠のうち縦線と横線のいずれかが、前記出力用紙における印刷領域の外枠のうち縦線と横線のいずれかに少なくとも接することを特徴とする制御方法。
【請求項１４】
印刷データが表わす画像領域及び余白領域を含む領域である第１原稿領域を拡縮する第１拡縮処理、並びに、前記第１拡縮処理が前記印刷データに施されることで得られる第１拡縮データが表わす画像領域を拡縮する第２拡縮処理を実行する情報処理装置であって、
前記第１拡縮データが表わす画像領域の大きさ、及び、出力用紙における印刷領域の大きさを取得し、前記取得された、前記第１拡縮データが表わす画像領域の大きさ、及び、前記出力用紙における印刷領域の大きさに基づいて、前記第２拡縮処理において前記第１拡縮データが表わす画像領域を拡縮するための拡縮率を取得する取得手段を有し、
前記取得手段により取得された、前記第２拡縮処理において前記第１拡縮データが表わす画像領域を拡縮するための拡縮率に基づいて、前記第２拡縮処理が前記第１拡縮データに施されることにより、前記第２拡縮処理が前記第１拡縮データに施されることで得られる拡縮データが表わす画像領域の外枠のうち縦線と横線のいずれかが、前記出力用紙における印刷領域の外枠のうち縦線と横線のいずれかに少なくとも接することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、制御方法、及びプログラムに関する。
【背景技術】
【０００２】
印刷データが表わす画像を、当該画像の外枠が出力用紙における印刷領域の外枠に接するように拡大（または縮小）して印刷する処理である拡大（または縮小）印刷処理を実行する印刷システムが知られている。なお、本明細書では、拡大または縮小を「拡縮」と略記する。
【０００３】
特許文献１には、検出した拡縮率に基づいて、文書を拡縮して印刷する拡縮印刷処理を実行する技術が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平６−２５１０１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に記載されているような、拡縮印刷処理を実行する印刷システムにおいて、余白を設けることが設定された印刷データに基づいて拡縮印刷処理が実行されると、当該余白を含んだ領域が拡縮されて印刷されてしまう場合がある。この場合、印刷データが表わす画像の外枠が出力用紙における印刷領域の外枠に接するように拡大されないという課題がある。
【０００６】
そこで、上述の課題を解決するために、本発明は、拡縮印刷が実行された場合に、印刷データが表わす画像の外枠が出力用紙における印刷領域の外枠に接するように拡縮することを目的とする。
【課題を解決するための手段】
【０００７】
本発明のプログラムは、印刷データが表わす画像領域及び余白領域を含む領域である第１原稿領域を拡縮する第１拡縮処理、並びに、前記第１拡縮処理が前記印刷データに施されることで得られる第１拡縮データが表わす画像領域を拡縮する第２拡縮処理を実行するコンピュータに、前記第１拡縮データが表わす画像領域の大きさ、及び、出力用紙における印刷領域の大きさを取得する第１取得ステップと、前記第１取得ステップで取得された、前記第１拡縮データが表わす画像領域の大きさ、及び、前記出力用紙における印刷領域の大きさに基づいて、前記第２拡縮処理において前記第１拡縮データが表わす画像領域を拡縮するための拡縮率を取得する第２取得ステップと、を実行させるプログラムであって、前記第２取得ステップにより取得された、前記第２拡縮処理において前記第１拡縮データが表わす画像領域を拡縮するための拡縮率に基づいて、前記第２拡縮処理が前記第１拡縮データに施されることにより、前記第２拡縮処理が前記第１拡縮データに施されることで得られる拡縮データが表わす画像領域の外枠のうち縦線と横線のいずれかが、前記出力用紙における印刷領域の外枠のうち縦線と横線のいずれかに少なくとも接することを特徴とする。
【発明の効果】
【０００８】
本発明により、拡縮印刷が実行された場合に、印刷データが表わす画像領域の外枠が出力用紙における印刷領域の外枠に接するように拡縮することができる。
【図面の簡単な説明】
【０００９】
【図１】実施例１におけるハードウェア概略構成を示すブロック図
【図２】実施例１におけるソフトウェア概略構成を示すブロック図
【図３】実施例１における原稿サイズ設定用ユーザーインターフェース
【図４】実施例１における第１拡縮処理を説明するための図
【図５】実施例１における第２拡縮処理を説明するための図
【図６】実施例１における印刷データの変遷を表す図
【図７】実施例１におけるＵＩ制御部によって実行される処理のフローチャート
【図８】実施例１におけるシステム側で実行される処理のフローチャート
【図９】実施例１におけるベンダフィルタによって実行される処理のフローチャート
【図１０】実施例２における印刷データの変遷を表す図
【発明を実施するための形態】
【００１０】
［実施例１］
以下、添付図面を参照し、本発明の好適な実施形態について説明する。なお、以下の実施形態において示す構成は一例にすぎず、本発明は図示された構成に限定されるものではない。また、各図面を通して、同一の要素には同一の符号を付与する。
【００１１】
＜システムの構成＞
図１は、本実施例における印刷システムのハードウェア概略構成を示すブロック図である。本実施例における印刷システムは、コンピュータ１００と、プリンタ１３０とから構成されている。コンピュータ１００及びプリンタ１３０は接続されており、互いにデータを送受信することが可能である。なお、コンピュータ１００及びプリンタ１３０間の接続形態は特に限定されない。すなわち、それぞれの装置は、例えば、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）や有線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等で有線接続しても良いし、有線でなく無線によって接続しても良い。無線通信規格としては、例えば、Ｗｉ−Ｆｉ（登録商標）やＷｉ−Ｆｉ  Ｄｉｒｅｃｔ、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＮＦＣ（Ｎｅａｒ  Ｆｉｅｌｄ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ；ＩＳＯ／ＩＥＣ  ＩＳ  １８０９２）等が利用される。また、通信は装置間でダイレクトに行われても良いし、ネットワーク上に設置した外部アクセスポイントを介して行われても良い。
【００１２】
コンピュータ１００は、本発明を適用する情報処理装置である。なお、本発明を適用する情報処理装置は、例えば、パーソナルコンピュータ（ＰＣ）、タブレット端末、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）、デジタルカメラ、プリンタ等である。本発明を適用する情報処理装置がプリンタである場合、コンピュータ１００とプリンタ１３０の各構成が１つの筐体内に配置されても良く、本実施形態における印刷システムは、当該１つの筐体によって形成されても良い。
【００１３】
ＣＰＵ１０１は、ＲＯＭ１０３に記憶されたプログラムをＲＡＭ１０２に展開、実行すること等により、システムバスに接続される各デバイスを総括的に制御し、以下で説明する本実施例における処理を実行する。ＲＡＭ１０２は、ＣＰＵ１０１のメインメモリであり、ＣＰＵ１０１のワークエリアとして機能する。ＲＯＭ１０３は、オペレーティングシステム（ＯＳ）、以下で説明する本実施例における処理を実行するための出力制御プログラム、ブートプログラム、各種アプリケーション、ユーザーファイル等を記憶する。
【００１４】
キーボードコントローラ（ＫＢＣ）１０４は、キーボード１０５や不図示のポインティングデバイス等からの入力を制御する。ディスプレイコントローラ（ＤＩＳＰＣ）１０６は、ディスプレイ１０７の表示を制御する。ディスクコントローラ（ＤＫＣ）１０８は、ハードディスク（ＨＤＤ）、ＵＳＢメモリ等の外部メモリ１０９に対するアクセスを制御する。プリンタコントローラ（ＰＲＴＣ）１１０は、所定のインターフェースを介してプリンタ１３０に接続され、コンピュータ１００とプリンタ１３０との間における、データやコマンド等の通信処理を制御する。
【００１５】
プリンタ１３０は、印刷制御器１３１と、印刷エンジン１３２と、ＲＯＭ１３３とから構成されている。印刷制御器１３１は、ＣＰＵ、ＲＡＭ等から構成され、印刷制御器１３１のＣＰＵは、ＲＯＭ１３３に記憶されたプログラムを印刷制御器１３１のＲＡＭに展開、実行する。これにより、印刷制御器１３１は、プリンタの各デバイスを統括的に制御し、コンピュータ１００から受信した描画データ及びコマンドに基づく印刷を実行する。なお、描画データ自体にコマンドが含まれていても良い。
【００１６】
なお、プリンタ１３０として、インクジェット方式プリンタ、電子写真方式プリンタ、オフセット印刷機など任意のプリンタを用いることができる。また、印刷に用いられる記録媒体として、例えば、普通紙や写真用紙、ＯＨＰシート、透明フィルム、アルミを貼り合わせたメタリック色の特殊紙、アクリル板、段ボール等、種々のものが適用されても良い。また、印刷に用いられる記録剤としても、液体インクに限定されず、採用する印刷方式に応じて種々のものが適用されても良い。例えば、固形インクやトナー等が利用されても良い。
【００１７】
また、ここでは、コンピュータ１００及びプリンタ１３０が接続されており、ユーザーがコンピュータ１００を介してプリンタ１３０を用いて印刷を実行する実施形態について説明しているが、本発明は、プリンタ１３０がない構成でも成立する。
【００１８】
＜ホストコンピュータのソフトウェア構成＞
図２は、本実施例における印刷システム内のソフトウェア概略構成を示すブロック図である。コンピュータ１００は、印刷用のコンポーネントとして、プリンタドライバ２０１、アプリケーション２０３、及びシステム側フィルタ２０４を有する。
【００１９】
プリンタドライバ２０１は、ＵＩ制御部２０２と、印刷データ加工部２０５と、プリンタ用コマンド作成部２０６とを有する。ＵＩ制御部２０２は、印刷に必要な各種設定を行わせるためのユーザーインターフェース（ＵＩ）の表示を制御し、ＵＩを介して入力されるユーザーからの指示を受け付け、該受け取った指示に基づく処理を実行する。
【００２０】
アプリケーション２０３は、ユーザーから、印刷設定や印刷指示、印刷する画像・文書の選択等を受け付けることで、プリンタ１３０によって印刷を実行するための印刷データ（以下、アプリケーションデータ）を作成する。なお、本実施形態において、アプリケーションデータは、例えば、文書ファイル、画像ファイル、画像サイズや余白領域の幅等の印刷設定情報、印刷コマンド等を含む。また、アプリケーションデータに基づく画像のサイズや、当該画像を印刷する際に設ける余白領域は、アプリケーション２０３を介してユーザーによって設定されても良いし、アプリケーション２０３によって自動で設定されても良い。
【００２１】
システム側フィルタ２０４は、コンピュータ１００に搭載されるＯＳ（オペレーションシステム）が有するソフトウェアである。システム側フィルタ２０４は、アプリケーションデータが入力されると、当該データに対する処理（例えば、ＰＤＦ変換処理、後述する拡縮処理、ラスタライズ処理等）を実行し、処理後のデータをベンダフィルタに送る。なお本明細書では、一連の印刷処理において、ベンダフィルタにおける処理よりも前に処理を実行する、プリンタドライバとは別に構成されるＯＳモジュール（例えば、システム側フィルタ２０４）を「システム側のモジュール」と呼ぶ。また、システム側のモジュールが実行する処理を「システム側の処理」と呼ぶ。
【００２２】
ベンダフィルタとは、プリンタドライバ２０１が有するソフトウェアであり、印刷データ加工部２０５及びプリンタ用コマンド作成部２０６を有する。ベンダフィルタは、印刷データ加工部２０５によるシステム側フィルタ２０４から受け取った印刷データの加工処理、及び、プリンタ用コマンド作成部２０６によるプリンタ用コマンド作成処理を実行する。そして、ベンダフィルタは、最終的な出力として、描画データを、プリンタ１３０に送信する。なお、このとき、印刷設定情報やプリンタ用コマンドもプリンタ１３０に送信される。
【００２３】
なお、本実施例における印刷システムにおけるソフトウェア構成は、上述の形態に限定されず、それぞれのソフトウェアは、プリンタドライバ２０１とＯＳのどちらが備えるものであっても良い。すなわち、例えば、本実施例では、ＵＩ制御部２０２はプリンタドライバ２０１の一部として構成されているが、ＯＳモジュールや、アプリケーション２０３として構成されても良い。或いは、ＵＩ制御部２０２が、ＯＳとプリンタドライバ２０１との両方によって構成されても良い。或いは、アプリケーション２０３以外の他のアプリケーションとして構成されても良い。
【００２４】
上述のソフトウェアは、プログラムとしてＲＯＭ１０３や外部メモリ１０９等のメモリに格納されており、ＲＡＭ１０２に展開されてＣＰＵ１０１によって実行される。そのため、本実施例の説明において、上述のソフトウェアが実行する処理とは、実際には、ＣＰＵ１０１が、上述のソフトウェアに対応するプログラムを実行することで実現されるものである。
【００２５】
＜ユーザーインターフェース＞
図３は、ＵＩ制御部２０２による制御のもとディスプレイ１０７に表示される、印刷指示時にユーザーが出力用紙サイズを設定するためのＵＩ３００を示す図である。
【００２６】
入力ボックス３０１は、アプリケーションデータによって表わされる原稿領域のサイズ（以下、原稿サイズ）が入力される入力ボックスである。なお、入力ボックス３０１に入力されるサイズは、ユーザーがＵＩ３００を介して設定しても良いし、アプリケーション２０３を介してユーザーが行った設定に対応する設定値が自動的に入力されても良い。また、原稿サイズは、ユーザーではなく、アプリケーション２０３によって、種々の条件や設定に基づいて自動的に設定されても良い。なお、拡縮印刷が実行されない場合、アプリケーションデータによる印刷は、入力ボックス３０１に入力されたサイズの出力用紙に対して行われる。そのため、拡縮印刷が実行されない場合は、原稿サイズが出力用紙サイズに等しくなる。
【００２７】
入力ボックス３０２は、出力用紙のサイズ（以下、出力用紙サイズ）を指定するための入力ボックスである。なお、出力用紙とは、アプリケーションデータに基づいた印刷が実際に行われる場合に、記録剤が実際に付加される記録媒体のことを指す。
【００２８】
チェックボックス３０３は、ユーザーが、拡縮印刷を実行したい場合にチェックを入れるためのチェックボックスである。本実施形態において、拡縮印刷とは、アプリケーションデータに基づく画像を、出力用紙における印刷領域のサイズに基づいて拡縮して、当該出力用紙に印刷することを指す。なお、本実施形態における拡縮処理は、画像を等倍する処理であっても、変倍する処理であっても良い。なお、等倍とは、縦横の比率が変化しないように画像を拡縮することを指し、変倍とは、縦横の比率を変化させて画像を拡縮することを指す。拡縮入力ボックス３０１及び入力ボックス３０２において異なるサイズが設定され、チェックボックス３０３にチェックが入った状態で、プリントボタン３０５が押下されると、ＵＩ３００への入力に応じた拡縮印刷処理が開始される。例えば、図３に示すような状態でプリントボタン３０５が押下されると、アプリケーションデータが表わすＡ４サイズの画像が、Ａ３サイズの出力用紙に合わせて拡大されて、印刷処理が実行される。ここでは、具体例として、図３に示すようなＵＩ上の設定で実行される拡縮処理を説明する。なお、拡縮処理とは、拡縮された画像を印刷するための印刷データ（以下、拡縮データ）を作成するための処理である。なお、拡縮処理は、後述の「第１拡縮処理」や「第２拡縮処理」を含む。また本実施例では、拡縮処理は、ＯＳモジュールによってシステム側で行われるものとして説明するが、この形態に限定されず、プリンタドライバ２０１側で行われても良い。また、以下の説明において拡縮データとは、所定の画像を印刷するためのアプリケーションデータに拡縮処理が施された場合に作成されるデータであり、当該所定の画像が出力用紙サイズに合わせて拡縮された画像を印刷するためのデータである。また、以下の説明において、拡縮処理は、アプリケーションデータに対して施されるものとするが、アプリケーションデータは、アプリケーション２０３によって作成されたデータに限定されない。すなわち、例えば、コンピュータ１００外部の装置にインストールされたアプリケーションによって作成されたデータの入力をコンピュータ１００が受けつけ、当該データに対して拡縮処理が施されるような形態であっても良い。
【００２９】
＜第１拡縮処理＞
図４は、本実施例における第１拡縮処理を説明するための図である。
【００３０】
図４では、左側にアプリケーションデータが表わす画像が、右側に第１拡縮処理が施された後のアプリケーションデータ（第１拡縮データ）が表わす画像が図示されている。
【００３１】
図４の例では、アプリケーションデータが表わす画像領域及び余白領域を少なくとも含む領域（以下、原稿領域）が、第１拡縮率に基づいて拡大されており、拡大された原稿領域（太破線で囲まれた領域を参照）の外枠が、出力用紙の印刷領域に接している。なお、アプリケーションデータが表わす原稿領域の大きさは、原稿サイズに等しく、画像領域の大きさは、画像が配置される領域のサイズに等しい。また、印刷領域とは、出力用紙において、記録剤を付加可能な領域であり、アプリケーション２０３を介して設定された余白領域が出力用紙全体の領域から除かれた領域である。
【００３２】
印刷領域の大きさは、ユーザーによって、アプリケーション２０３を介して任意に設定されても良い。また、本実施形態では、第１拡縮率は、原稿サイズと出力用紙サイズのみに基づいて（すなわち、アプリケーションデータが表わす余白領域や画像領域のそれぞれの大きさが考慮されずに）一意に定まる値であるものとする。また、ＯＳは、第１拡縮処理を実行する際、第１拡縮率を自身で算出及び取得するものとする。なお、第１拡縮率は、ＯＳ以外のモジュール（プリンタドライバ２０１やアプリケーション２０３等のモジュール）によって算出され、ＯＳに伝えられても良い。
【００３３】
このように、アプリケーションデータが表わす原稿領域を拡縮して、出力用紙の印刷領域に接するようにする処理を「第１拡縮処理」と呼ぶ。また、第１拡縮処理が施され、後述する第２拡縮処理が施されていないデータを、「第１拡縮データ」と呼ぶ。なお、第１拡縮処理が施される印刷データは、アプリケーションデータに限定されない。例えば、アプリケーションデータに第１拡縮処理以外の処理が施されたデータであっても良い。本実施例では、システム側フィルタ２０４は、アプリケーションデータから変換されたｐｄｆデータに対して、第１拡縮処理を実行するものとする。なお、本実施例において、アプリケーションデータが表わす画像領域と余白領域が区別されることなく、それらを含む領域が一括で拡縮されるのは、アプリケーションデータがｐｄｆデータに変換されているためである。
【００３４】
図４に示すように、第１拡縮処理では、余白領域を含む原稿領域を拡縮して、出力用紙における印刷領域の外枠に接するようにしている。上述の通り、出力用紙における印刷領域は、出力用紙全体の領域からアプリケーション２０３を介して設定された余白領域が除かれた領域である。そのため、原稿領域を拡縮して印刷領域に接するようにすると、第１拡縮処理において拡縮された原稿領域内の余白領域に加え、アプリケーション２０３を介して設定された余白領域が出力用紙に設けられることになる。なお、本実施例において、アプリケーション２０３を介して設定された余白領域の幅は、第１拡縮処理において拡縮される前の余白領域に相当する幅に相当する。その結果、第１拡縮データによる印刷物における余白幅は、第１拡縮処理前のデータによる印刷物における余白幅と比べると大きくなる。
【００３５】
例えば、アプリケーションデータによる印刷物における上下左右の余白幅が夫々ａと設定されていたとする。このような設定を行うユーザーは通常、拡縮印刷が行われた場合であっても、印刷物における余白幅は、設定値と同一、即ちａのまま変わらないことを期待している。ところが上述のように、第１拡縮処理では余白領域を含む原稿領域が拡縮される結果、第１拡縮データによる印刷物において、ａに対して拡縮率ｂを乗じた幅の余白が余分に生じることとなる。つまり、第１拡縮データによる印刷物においては、アプリケーションデータにもともと設定されている幅ａの余白領域に、余白領域の拡縮によって生じる幅ａ＊ｂの余白領域を加えた領域が、出力用紙にて発生することとなる。よって、第１拡縮データによる印刷物の仕上がりは、ユーザーが期待する出力結果とは異なるという課題がある。この課題を解決するために実行される処理が、以下で説明する第２拡縮処理以降の処理である。
【００３６】
なお、アプリケーションデータによる通常印刷（拡縮印刷でない印刷）物における各余白領域の幅と、拡縮印刷物における各余白領域の幅と、が別々に設定されても良い。例えば、通常印刷物における上下左右の各余白領域の幅が夫々ａ、拡縮印刷物における上下左右の各余白領域の幅が夫々ｃと設定されており、拡縮率がｂである場合、第１拡縮データによる印刷物における余白幅は、ａ＊ｂ＋ｃとなる。
【００３７】
なお、本実施例では、拡縮処理はシステム側で実行される処理であり、ユーザーが干渉できない処理であるという前提で説明しているが、拡縮処理はシステム側で実行されるものに限定されない。拡縮処理は、システム側以外のモジュール（例えば、アプリケーション２０３のモジュール等）によって実行されても良い。
【００３８】
＜第２拡縮処理＞
図５は、第１拡縮データに対して実行される処理（第２拡縮処理）を説明するための図である。
【００３９】
第１拡縮データに第２拡縮処理が施されることで、第１拡縮データによって表わされる画像領域及び余白領域を含む原稿領域が拡大され、第１拡縮データによって表わされる画像領域のみ（余白領域以外の領域のみ）が出力用紙の印刷領域に接する。このように、第１拡縮データによって表わされる原稿領域を拡縮して、第１拡縮データによって表わされる画像領域が、出力用紙の印刷領域に接するように拡縮する処理を「第２拡縮処理」と呼ぶ。また、第２拡縮処理が施されたデータを、「第２拡縮データ」と呼ぶ。なお、本実施形態では、システム側で第２拡縮処理が行われる際、ラスタライズも行われるため、第２拡縮データは、ラスターデータとして出力される。
【００４０】
＜拡縮処理の流れ＞
上述の通り、本実施例では、ｐｄｆデータに変換されたアプリケーションデータに対する第１拡縮処理が実行された後、第１拡縮処理により得られた第１拡縮データ（形式はｐｄｆ）に対する第２拡縮処理が実行される。以下、第１拡縮処理及び第２拡縮処理の流れについて詳しく説明する。
【００４１】
まず、第１拡縮処理が実行されるにあたり、システム側で、アプリケーションデータに関する情報及び、出力用紙に関する情報が取得される。アプリケーションデータに関する情報は、例えば、原稿サイズ（原稿領域の外枠の横幅、縦幅）や上下左右の各余白領域の幅等である。また、出力用紙に関する情報は、出力用紙サイズ（出力用紙の外枠の横幅、縦幅）や、出力用紙に設けられるよう設定された上下左右の各余白領域の幅等である。
【００４２】
次に、システム側で、第１拡縮処理に用いられる拡縮率（第１拡縮率）が、以下の式（１）により求められる。
【００４３】
第１拡縮率＝出力用紙の印刷領域の外枠の幅÷アプリケーションデータが表わす原稿領域の外枠の幅・・・式（１）
【００４４】
ただし、式（１）における、出力用紙の印刷領域の外枠の幅は、以下の式（２）で与えられる。
【００４５】
出力用紙の印刷領域の外枠の幅＝出力用紙の外枠の幅−出力用紙に設けられるよう設定された余白領域の幅×２・・・式（２）
【００４６】
なお、ここでは、出力用紙に設けられるよう設定された上下左右の各余白幅が全て同一であるという前提で説明している。それぞれの幅が異なるようであれば、それを踏まえて出力用紙の印刷領域の幅が計算される。また上述したように、第１拡縮処理とは、アプリケーションデータが表わす原稿領域の外枠が出力用紙の印刷領域に接するようにする処理である。第１拡縮処理によって、アプリケーションデータが表わす原稿領域の外枠のいずれの線を印刷領域に接するようにするかによって、第１拡縮率は変化する。しかしながら、第１拡縮後の原稿領域は、全て印刷領域に収まる必要がある。そのため、まず、システム側フィルタ２０４は、第１拡縮率を縦と横それぞれの幅について計算する。その上で、システム側フィルタ２０４は、原稿領域を拡大する場合、計算した第１拡縮率のうち小さい方を採用し、原稿領域を縮小する場合、計算した第１拡縮率のうち大きい方を採用する。なお、ここでは、システム側フィルタ２０４は、原稿領域を拡大するため、第１拡縮率のうち小さい方を採用し、アプリケーションデータが表わす原稿領域の外枠のうち縦線が、出力用紙の印刷領域の外枠の縦線に接するようにするものとする。なお、拡縮処理が、等倍でなく、変倍する処理であれば、システム側フィルタ２０４は、縦と横それぞれの幅について第１拡縮率を計算した上で、それぞれ計算した第１拡縮率を用いて、拡縮処理を実行しても良い。
【００４７】
次に、第１拡縮データが表わす画像領域の幅を、以下の式（３）により求める。
【００４８】
第１拡縮データが表わす画像領域の幅＝アプリケーションデータが表わす画像領域の幅×第１拡縮率・・・式（３）
【００４９】
ここで、式（３）におけるアプリケーションデータが表わす画像領域の幅は、以下の式（４）で与えられる。
【００５０】
アプリケーションデータが表わす画像領域の幅＝アプリケーションデータが表わす原稿領域の外枠の幅−アプリケーションデータが表わす余白領域の幅×２・・・式（４）
【００５１】
なお、ここでは、アプリケーションデータが表わす上下左右の各余白領域の幅が全て同一であるという前提で説明している。それぞれの幅が異なるようであれば、それを踏まえてアプリケーションデータが表わす画像領域の幅が計算される。また、本実施形態において、出力用紙に設けられるよう設定された余白領域の幅と、アプリケーションデータが表わす余白領域の幅は同一である。
【００５２】
システム側フィルタ２０４によって第２拡縮処理が実行されるにあたり、ＵＩ制御部２０２は、アプリケーションデータに関する情報及び、出力用紙に関する情報を取得する。アプリケーションデータに関する情報は、例えば、原稿サイズ（原稿領域の外枠の横幅、縦幅）や上下左右の各余白領域の幅等である。また、出力用紙に関する情報は、出力用紙サイズ（出力用紙の外枠の横幅、縦幅）や、出力用紙に設けられるよう設定された上下左右の各余白領域の幅等である。
【００５３】
次に、ＵＩ制御部２０２は、第２拡縮の際の拡縮率（第２拡縮率）を、以下の式（５）により求める。
【００５４】
第２拡縮率＝出力用紙の印刷領域の幅÷第１拡縮データが表わす画像領域の幅・・・式（５）
【００５５】
なお、ＵＩ制御部２０２は、第１拡縮データが表わす画像領域の幅を、式（３）により計算しても良いし、システム側から受け取っても良い。また、ＵＩ制御部２０２は、第２拡縮率についても第１拡縮率と同様、縦と横それぞれの幅について計算した上で、小さい方を採用する。なお、拡縮処理が、等倍でなく、変倍する処理であれば、ＵＩ制御部２０２は、縦と横それぞれの幅について第２拡縮率を計算した上で、それぞれ計算した第２拡縮率を用いて、システム側フィルタ２０４に拡縮処理を実行させても良い。
【００５６】
図５に示すように、第２拡縮処理では、アプリケーションデータが表わす原稿領域が出力用紙における印刷領域に収まっている状態から更に拡大される。そのため、第２拡縮データが表わす原稿領域は出力用紙サイズより大きくなってしまう場合がある。このような場合、第２拡縮データのデータ量が不必要に大きくなったり、第２拡縮データを受け取ったプリンタが、当該データを認識できなかったりする。そこで本実施例では、ＵＩ制御部２０２は、第２拡縮データが表わす原稿領域から、第２拡縮データが表わす画像領域を除いた領域（以下、不要領域と呼ぶ。）をカットする。
【００５７】
そこで、ＵＩ制御部２０２は、不要領域の幅を、以下の式（６）により求める。
【００５８】
不要部分の幅＝第１拡縮データが表わす余白領域の幅×第２拡縮率・・・式（６）
【００５９】
ただし、式（６）における第１拡縮データが表わす余白領域の幅は、図５の例では、左右の余白領域に関しては、以下の式（７）で与えられる。
【００６０】
第１拡縮データが表わす余白領域の幅（左または右）＝アプリケーションデータが表わす余白領域の幅（左または右）×第１拡縮率＋出力用紙の余白領域の幅（左または右）・・・式（７）
【００６１】
上下の余白領域に関しては、以下の式（８）で与えられる。
【００６２】
第１拡縮データが表わす余白領域の幅（上または下）＝（出力用紙の外枠の縦幅−第１拡縮データにおける画像領域の外枠の縦幅）÷２・・・式（８）
【００６３】
なお、第１拡縮処理において、アプリケーションデータが表わす画像の外枠のうち横線が、出力用紙の印刷領域の横線に接するように拡縮された場合は、上下の余白領域に関しては、以下の式（９）で与えられ、
【００６４】
第１拡縮データが表わす余白領域の幅（上または下）＝アプリケーションデータが表わす余白領域の幅（上または下）×第１拡縮率＋出力用紙の余白領域の幅（上または下）・・・式（９）
【００６５】
左右の余白領域に関しては、以下の式（１０）で与えられる。
【００６６】
第１拡縮データが表わす余白領域の幅（左または右）＝（出力用紙の外枠の横幅−第１拡縮データにおける画像領域の外枠の横幅）÷２・・・式（１０）
【００６７】
以上の計算がプリンタドライバ２０１によって実行される。そして、プリンタドライバ２０１は、第２拡縮データに基づき、プリンタ１３０に送信する描画データを作成する。このとき、プリンタドライバ２０１は、作成する描画データにおいて、第２拡縮データが表わす原稿領域から式（６）で算出した幅の不要領域をカットした残りの領域に関し、当該残りの領域の左上の位置を印刷開始位置として配置するよう設定する。また、プリンタドライバ２０１は、出力用紙における印刷開始位置の座標を、第２拡縮データが表わす画像領域の左上の点の座標と対応するようにして設定する。
【００６８】
なお、上述では、第２拡縮データが表わす原稿領域から、第２拡縮データが表わす画像領域を除いた領域を不要領域としたが、この形態に限定されない。不要領域が第２拡縮データが表わす原稿領域から削除されることで、第２拡縮データが表わす原稿領域が、出力用紙サイズを超えないようになれば良い。そのため、例えば、第２拡縮データが表わす原稿領域から、出力用紙サイズを除いた領域を不要領域として削除されても良いし、不要領域の一部が削除されても良い。
【００６９】
なお、本実施例では、第２拡縮処理は第１拡縮処理と同様、ＯＳモジュールがシステム側で実行する処理として説明しているが、第２拡縮処理はシステム側で実行されるとは限らない。第２拡縮処理は、システム側のモジュール以外のモジュール（例えば、アプリケーション２０３のモジュール等）によって実行されても良い。また、第２拡縮率や不要領域幅の計算も、ＵＩ制御部２０２が行う形態に限定されず、システム側のモジュールが実行しても良い。
【００７０】
＜原稿領域の変遷＞
図６は、本実施例における、各データが表わす原稿領域の変遷を表す図であり、図４、図５と同様の設定で拡大印刷が行われる場合について説明する図である。
【００７１】
上述したように、まず、ユーザーはＵＩ３００を用いて出力用紙サイズを設定する（図３参照）。ユーザーによりＵＩ３００のプリントボタン３０５が押下されると、ＵＩ制御部２０２は、ユーザーにより設定された情報（ユーザー設定情報）、即ち、アプリケーションデータに関する情報、及び、出力用紙に関する情報を取得する。なお、アプリケーションデータに関する情報とは、アプリケーションデータが表わす原稿領域のサイズ（本例ではＡ４サイズなので210mm×297mm）及び上下左右の各余白領域の幅である。また、出力用紙に関する情報とは、出力用紙サイズ（本例ではＡ３サイズなので297mm×420mm）及び出力用紙に設けられるよう設定された上下左右の各余白領域の幅である。
【００７２】
次いで、ＵＩ制御部２０２は、取得したユーザー設定情報に基づき、第１拡縮データが表わす画像領域を出力用紙の印刷領域に合わせるための倍率（第２拡縮率）、及び、第２拡縮データが表わす上下左右の不要領域の各幅を算出する。このようにＵＩ制御部２０２は、第２拡縮率算出手段及び不要部分の幅算出手段として機能し、当該算出したこれらの値をシステム属性として設定する。なお、システム属性とは、システム側で行われる処理において参照される設定値である。これにより、ＵＩ制御部２０２が算出した値を、システム側のモジュールが後続の処理で利用できるようになる。そして、ＵＩ制御部２０２は、システム属性に基づく第２拡縮処理をシステム側フィルタ２０４に実行させる。
【００７３】
システム側フィルタ２０４は、第１拡縮処理を実行する第１システム側フィルタと、第２拡縮処理を実行する第２システム側フィルタ（ラスターフィルタ）を有している。図６に示すように、第１システム側フィルタは、ＵＩ制御部２０２からアプリケーションデータ及び出力用紙に関する情報（原稿サイズ及び上下左右の各余白領域の幅を含んで良い）を受け取り、当該受け取った情報に基づいて第１拡縮処理を実行する。第１拡縮処理によって、Ａ４サイズからＡ３サイズに拡大されたｐｄｆデータ（第１拡縮データ）は、第２システム側フィルタに送信される。
【００７４】
第２システム側フィルタは、第１拡縮データを変換してラスターデータを得るためのフィルタである。第２システム側フィルタにより第２拡縮処理が実行され、第２拡縮処理により、出力用紙（Ａ３サイズ）の印刷領域に合うように拡大された画像を印刷するための第２拡縮データ（形式はラスターデータ）が、ベンダフィルタに送信される。ただし、上述したように、第２拡縮データが表わす原稿領域の外枠はＡ３サイズよりも大きくなっている。
【００７５】
そこでベンダフィルタは、ＵＩ制御部２０２が算出した上下左右の不要領域の幅の情報を用いて、第２拡縮データを適切に加工する。具体的には、例えば、ベンダフィルタは、第２拡縮データから不要領域に相当するデータを取り除いたり、第２システム側フィルタから送られてくる第２拡縮データのうち、不要領域に相当するデータを読み飛ばす。なお、ベンダフィルタが実行する処理の詳細は後述する。
【００７６】
＜ＵＩ制御部２０２によって実行される処理＞
図７は、図５及び図６を用いて上で説明した処理に関して、ＵＩ制御部２０２によって実行される処理の流れを示すフローチャートである。なお、該フローチャートの示す処理は、ＣＰＵ１０１が、コンピュータ１００が備えるメモリ等に格納されているＵＩ制御部２０２に対応する制御プログラムをＲＡＭ１０２にロードし、その制御プログラムを実行することにより実現されるものとする。以降、「Ｓ」はステップを表し、処理の動作の工程を示すものとする。
【００７７】
Ｓ７０において、ＵＩ制御部２０２は、アプリケーションデータの原稿サイズ（横幅、縦幅）及び上下左右の各余白領域の幅を取得する。このとき、ＵＩ制御部２０２は、これらの情報を、アプリケーションデータに含まれる情報から取得しても良いし、ＵＩ制御部２０２が表示するＵＩへの入力に基づいて取得しても良い。
【００７８】
Ｓ７１において、出力用紙の原稿サイズ（横幅、縦幅）及び上下左右の各余白領域の幅を取得する。
【００７９】
Ｓ７２において、ＵＩ制御部２０２は、アプリケーションデータが表わす原稿領域の外枠が出力用紙の印刷領域に接するようにするための倍率である第１拡縮率を算出する。このとき、ＵＩ制御部２０２が後段の拡縮手段によりどのような拡縮処理が実行されるのかを検知し、該検知した拡縮処理（例えば第１拡縮処理、第２拡縮処理など）に応じて拡縮率算出に用いる式を変更する実施形態も考えられる。また、ＵＩ制御部２０２は、第１拡縮率を自身で算出するのではなく、ＯＳから取得しても良い。
【００８０】
Ｓ７３において、ＵＩ制御部２０２は、アプリケーションデータが表わす画像領域の幅と、第１拡縮率とを乗算することで、第１拡縮データが表わす画像領域の幅を算出する。
【００８１】
Ｓ７４において、ＵＩ制御部２０２は、Ｓ７０及びＳ７１で取得した情報、Ｓ７２で算出した第１拡縮率、Ｓ７３で算出した第１拡縮データが表わす画像領域の幅などに基づき、第１拡縮データが表わす余白領域の幅を算出する。
【００８２】
Ｓ７５において、ＵＩ制御部２０２は、第１拡縮データが表わす画像領域が出力用紙の印刷領域に接するようにするための倍率である第２拡縮率を算出する。
【００８３】
Ｓ７６において、ＵＩ制御部２０２は、Ｓ７４で算出した第１拡縮データが表わす余白領域の幅と、Ｓ７５で算出した第２拡縮率とを乗算することで、不要領域の幅を算出する。なお、本ステップで算出する不要領域の幅に関して、幅は上下左右で等しい場合もあれば、等しくない場合もあるため、ＵＩ制御部２０２は、上下左右それぞれの幅を算出する必要がある。
【００８４】
Ｓ７７において、ＵＩ制御部２０２は、Ｓ７５で算出した第２拡縮率、および、Ｓ７６で算出した上下左右の不要領域の各幅を、システム属性として設定する。このようにすることで、ＵＩ制御部２０２は、該設定したシステム属性に基づく第２拡縮処理をシステム側フィルタに、該設定したシステム属性に基づく不要領域の削除をベンダフィルタに実行させる。
【００８５】
＜システム側で実行される処理＞
図８は、図５及び図６を用いて上で説明した処理に関して、ＯＳモジュールによってシステム側で実行される処理の流れを示すフローチャートである。なお、該フローチャートの示す処理は、ＣＰＵ１０１が、コンピュータ１００が備えるメモリ等に格納されているシステム側フィルタ２０４に対応する制御プログラムをＲＡＭ１０２にロードし、その制御プログラムを実行することにより実現されるものとする。
【００８６】
Ｓ８０において、第１システム側フィルタは、ＵＩ制御部２０２から渡された情報（Ｓ７０及びＳ７１で取得した情報）に基づき、アプリケーションデータが表わす原稿領域の外枠が出力用紙の印刷領域に接するようにする第１拡縮処理を実行する。
【００８７】
Ｓ８１において、第２システム側フィルタは、Ｓ７７でシステム属性として設定されている第２拡縮率を取得する。なお、第２システム側フィルタは、ＵＩ制御部２０２によって計算された第２拡縮率を確実に取得できるように、例えば、ＵＩ制御部２０２による第２拡縮率の計算が終了したのを確認してから、Ｓ８１の処理を実行しても良い。  
【００８８】
Ｓ８２において、第２システム側フィルタは、Ｓ８０の結果得られた印刷データ（第１拡縮データ）に対する第２拡縮処理を、Ｓ８１で取得した第２拡縮率に基づき実行する。この処理により、図５に示すような第２拡縮データ（ラスターデータ）が得られる。
【００８９】
＜ベンダフィルタによって実行される処理＞
図９は、図６を用いて上で説明した処理に関して、ベンダフィルタによって実行される処理の流れを示すフローチャートである。なお、該フローチャートの示す処理は、ＣＰＵ１０１が、コンピュータ１００が備えるメモリ等に格納されているベンダフィルタに対応する制御プログラムをＲＡＭ１０２にロードし、その制御プログラムを実行することにより実現されるものとする。
【００９０】
Ｓ９０において、ベンダフィルタは、Ｓ７７でシステム属性として設定されている、上下左右の不要領域の各幅の値を取得する。
【００９１】
Ｓ９１において、ベンダフィルタは、Ｓ９０で取得した上下左右の不要領域の各幅の値を用いることで、第２拡縮処理（図８のＳ８２）によって得た印刷データ（第２拡縮データ）から不要領域に対応するデータを取り除いた印刷データを取得する。
【００９２】
Ｓ９２において、ベンダフィルタは、Ｓ９１で取得した印刷データに基づき、１ライン目の描画データを作成する。この際、ベンダフィルタは、出力用紙に関する情報（原稿サイズ（横幅、縦幅）及び上下左右の各余白領域の幅）を用いて、Ｓ９１で取得した印刷データが表わす画像領域の左上の位置と、出力用紙における印刷領域の左上の位置とが合うようにする。
【００９３】
Ｓ９３において、ベンダフィルタは、最終ラインの描画データ作成が完了した否かを判定する。判定の結果、完了した場合、一連の処理は終了する一方、完了していない場合、Ｓ９４に進む。
【００９４】
Ｓ９４において、ベンダフィルタは、Ｓ９１で取得した印刷データに基づき、次のラインの描画データを作成する。
【００９５】
Ｓ９５において、ベンダフィルタは、最終ラインの描画データ作成が完了した否かを判定する。判定の結果、完了した場合、一連の処理は終了する一方、完了していない場合、Ｓ９４に戻って、次のラインの描画データを作成する。
【００９６】
上述の一連の処理が完了すると、プリンタ用コマンド作成部２０６は、コマンド作成処理などの後処理を実行可能となる。
【００９７】
なお、本実施例では、１ページ分の描画データを作成する場合について説明しているが、印刷対象が複数ページの場合は、印刷対象の各ページに対応するデータについて、Ｓ９１〜Ｓ９５の処理が実行される。
【００９８】
また、ベンダフィルタ（印刷データ加工部２０５）は、ラスターデータ加工処理において、単位変換（例えばpixelからmmへの変換）のために解像度等を要する場合も考えられる。従って、このような場合に備えて、ＵＩ制御部２０２は、アプリケーションデータの解像度をシステム属性として設定することで、システム側で利用可能としても良い。
【００９９】
以上説明したように、本実施例では、第１拡縮処理がシステム側で実行されるような場合に、プリンタドライバは、システム側で更なる拡縮処理（第２拡縮処理）を実行させる。そして、プリンタドライバにおいて、第２拡縮データにおける不要領域を取り除くことなどにより適切な印刷データを作成する。
【０１００】
なお、本実施例では、ベンダフィルタが第２拡縮率を算出し、既存のシステム側のモジュールが第２拡縮率に応じた第２拡縮処理を実行する実施形態について説明している。しかし、第２拡縮処理は、システム側のモジュールではなく、ベンダフィルタによって実行されても良い。
【０１０１】
本実施例により、第１拡縮処理をＯＳが実行するような印刷システムであっても、出力用紙に設けられる余白領域の幅がアプリケーションデータが表わす余白領域の幅と略同一となるように仕上げることが可能となる。
【０１０２】
［実施例２］
実施例１では、第２拡縮データにおける上下左右の不要領域の各幅を、ＵＩ制御部２０２が算出した。本実施例では、第２拡縮データにおける上下左右の不要領域の幅を、ベンダフィルタが算出する。なお、以下の説明において、実施例１と共通する内容については、説明を簡略化または省略する。
【０１０３】
図１０は、本実施例における原稿領域の変遷を表す図であり、例としてＡ４サイズからＡ３サイズへの拡大印刷が行われる場合について説明する図である。以下では、主に図６との差分について説明する。
【０１０４】
上述したように、まず、ユーザーはＵＩ３００を用いて出力用紙サイズを設定する（図３参照）。ユーザーによりＵＩ３００のプリントボタン３０５が押下されると、ＵＩ制御部２０２は、ユーザーにより設定された情報、即ち、アプリケーションデータに関する情報、及び、出力用紙に関する情報を取得する。
【０１０５】
次いで、ＵＩ制御部２０２は、取得したユーザー設定情報に基づき、第１拡縮データが表わす画像領域を出力用紙の印刷領域に合わせるための倍率（第２拡縮率）を算出する。また、ＵＩ制御部２０２は、取得したユーザー設定情報、並びに、算出した第２拡縮率を、システム属性として設定する。これにより、ユーザー設定情報及び第２拡縮率を、システム側が、後続の処理で利用できるようになる。
【０１０６】
ベンダフィルタは、システム属性として設定されている、ユーザー設定情報と、第２拡縮率と、に基づいて、不要領域の幅を算出する。この算出処理は、図７と同様のフローで実行される。なお、システム側フィルタで実行される処理、及び、第２拡縮データに基づくベンダフィルタにおける描画データ作成処理に関しては、実施例１と同様である（図８、図９参照）。
【０１０７】
以上説明したように、本実施例では、ＵＩ制御部２０２ではなくベンダフィルタが不要領域の幅を算出する。不要領域のカットはベンダフィルタが行うため、ベンダフィルタが不要領域の幅を算出することで、算出結果をＵＩ制御部２０２からベンダフィルタに伝える必要が無くなる。そのため、ＵＩ制御部２０２にかかる負荷を軽減できる。
【０１０８】
［その他の実施例］
上述の実施例においては、第１拡縮率及び第２拡縮率の２つを算出して、２つの拡縮率を用いて２段階の拡縮処理を行う形態について説明したが、この形態に限定されない。例えば、アプリケーションデータが表わす画像領域が、出力用紙における印刷領域に接するように算出された拡縮率を用いることで、１つの拡縮率を用いて１段階の拡縮処理を行う形態としても良い。
【０１０９】
上述の実施例において、アプリケーションデータやｐｄｆデータ、第１拡縮データ、第２拡縮データが印刷データとして扱われており、第１拡縮処理がｐｄｆデータに、第２拡縮処理が第１拡縮データに施されているがこの形態に限定されない。すなわち、処理対象のデータは上述のものに限らない。すなわち、第１拡縮処理や第２拡縮処理が施されるデータ（印刷データ）の形式は、特に限定されない。例えば、第１拡縮処理が、アプリケーションデータがｐｄｆでない他のＰＤＬに変換された後のデータに対して施されても良い。また、第１拡縮処理と第２拡縮処理との間に、印刷データに対して拡縮処理と異なる処理が施されても良く、当該処理が施されたデータに対して第２拡縮処理が施されても良い。
【０１１０】
本発明は、上述の実施例の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【図１】
0006624918.tif 000002
【図２】
0006624918.tif 000003
【図３】
0006624918.tif 000004
【図４】
0006624918.tif 000005
【図５】
0006624918.tif 000006
【図６】
0006624918.tif 000007
【図７】
0006624918.tif 000008
【図８】
0006624918.tif 000009
【図９】
0006624918.tif 000010
【図１０】
0006624918.tif 000011