(57)【要約】      （修正有）【課題】用紙中の印刷可能領域が変更された場合であっても、文書データを印刷可能領域に収めるとともに、用紙に不必要なスペースを生じさせず、印刷を行うことが可能な印刷制御装置を提供する。【解決手段】用紙情報取得機能３２は、用紙サイズ設定機能３１により設定された用紙サイズを、グラッフィックエンジン４０を介してプリンタドライバ５０に送信する。プリンタドライバ５０は、アプリケーション３０側で設定された用紙サイズを基にして、その用紙サイズにおいてプリンタ７が印刷できる領域を算出し、アプリケーション側に送り返す。レイアウト作成機能３３によるレイアウト作成は、算出された領域をプリンタ７で実際に印刷可能な領域として認識し、レイアウト作成を行う。【選択図】図２
2005078236.tif 000002
【特許請求の範囲】
【請求項１】
プリンタにより印刷不可能な領域を用紙から除いた、所定の縦横比を有する第１の領域を算出する第１の領域算出手段と、
用紙に余白領域を設定する余白設定手段と、
前記第１の領域から前記余白領域を差し引いた第２の領域を算出する第２の領域算出手段と、
前記縦横比を保持したまま前記第１の領域を縮小した場合に、前記第２の領域をはみ出さない最大のサイズとなるように当該第１の領域の縮小率を算出する第１の縮小率算出手段と、
前記第２の領域を前記縮小率で割ることにより拡大された第３の領域を算出する第３の領域算出手段と、
前記第３の領域をプリンタにより印刷可能な領域として文書データのレイアウトを行う第１のレイアウト手段と、
前記第１のレイアウト手段によりレイアウトされた第３の領域の文書データを前記縮小率で縮小して前記第２の領域に印刷するように指示する第１の印刷指示手段と、
を備えることを特徴とする印刷制御装置。
【請求項２】
前記余白領域は、綴じ代であることを特徴とする請求項１に記載の印刷制御装置。
【請求項３】
プリンタにより印刷不可能な領域を用紙から除いた、所定の縦横比を有する第４の領域を算出する第４の領域算出手段と、
１／Nの分割比で用紙を分割して印刷するように分割印刷を設定する分割印刷設定手段と、
前記第４の領域と前記分割比との積により求められる第５の領域を算出する第５の領域算出手段と、
前記縦横比を保持したまま前記第４の領域を縮小した場合に、前記第５の領域をはみ出さない最大のサイズとなるように当該第４の領域の縮小率を算出する第２の縮小率算出手段と、
前記第５の領域を前記縮小率で割ることにより拡大された第６の領域を算出する第６の領域算出手段と、
前記第６の領域をプリンタにより印刷可能な領域として文書データのレイアウトを行う第２のレイアウト手段と、
前記第２のレイアウト手段によりレイアウトされた第６の領域の文書データを前記縮小率で縮小して前記第５の領域に印刷するように指示する第２の印刷指示手段と、
を備えることを特徴とする印刷制御装置。
【請求項４】
前記第１または第２のレイアウト手段は、前記文書データを構成するオブジェクトのサイズを算出するオブジェクトサイズ算出手段と、
前記オブジェクトサイズ算出手段により算出されたサイズと前記第３または第６の領域のサイズとを比較して、前記オブジェクトが前記第３または第６の領域に収まるか否かを判断する判断手段と、
前記判断手段により収まらないと判断された場合には、次の用紙の第３または第６の領域にオブジェクトを配置する配置手段と、
を有することを特徴とする請求項１乃至３のいずれかに記載の印刷制御装置。
【請求項５】
前記第３または第６の領域の中から、前記オブジェクトが配置される座標を算出する座標算出手段を、さらに備え
前記判断手段は、
前記座標算出手段により算出された座標に前記オブジェクトを配置した場合に、当該オブジェクトが前記第３または第６の領域に収まるか否かを判断すること、
を特徴とする請求項４に記載の印刷制御装置。
【請求項６】
前記オブジェクトは、文字、写真、或はグラッフィクスであることを特徴とする請求項４又は５に記載の印刷制御装置。
【請求項７】
前記第１または第２のレイアウト手段によりレイアウトされる前の文書データを前記縮小率で縮小して前記第２または第５の領域に印刷するように指示する第３の印刷指示手段と、
前記第１または第２の印刷指示手段の指示より印刷を行わせる印刷モードと、前記第３の印刷指示手段の指示により印刷を行わせる印刷モードとを選択する選択手段と、
をさらに備えることを特徴とする請求項１乃至６のいずれかに記載の印刷制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、用紙中の印刷可能領域が変更された場合であっても用紙に無駄なスペースを生じさせず、印刷を行うことができる印刷制御装置に関する。
【背景技術】
【０００２】
従来、綴じ代等の余白設定を行った場合に、印刷データを用紙の印刷可能領域に収めるために当該印刷データを縮小してレイアウトする印刷レイアウト装置があった（例えば、特許文献１）。
【０００３】
特許文献１の印刷レイアウト装置は、用紙の余白を設定する設定手段と、設定した余白に基づき印刷可能領域を算出する算出手段と、算出した印刷可能領域に合わせて印刷データを拡大縮小する拡縮手段と、拡大縮小した印刷データ及び余白をレイアウトするとともに当該レイアウトで印刷するように制御するレイアウト手段とを備えている。また、特許文献１の拡縮手段は、拡大縮小後の印刷データと元の印刷データとの縦横比を維持したまま印刷データを拡大縮小する構成となっている。
【０００４】
【特許文献１】特開平１１−９９７２４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した従来の技術においては、以下のような問題があった。
すなわち、印刷データが縦横比を維持したまま拡大縮小されるため、レイアウトの上下、或は左右に、印刷されないスペースが生じてしまうという不都合があった。
【０００６】
本発明は、用紙中の印刷可能領域が変更された場合であっても、印刷データである文書データを印刷可能領域に収めるとともに、用紙に不必要なスペースを生じさせず、印刷を行うことが可能な印刷制御装置を提供することを目的とする。
【課題を解決するための手段及び発明の効果】
【０００７】
前記目的を達成するため、請求項１の記載の印刷制御装置は、プリンタにより印刷不可能な領域を用紙から除いた、所定の縦横比を有する第１の領域を算出する第１の領域算出手段と、用紙に余白領域を設定する余白設定手段と、前記第１の領域から前記余白領域を差し引いた第２の領域を算出する第２の領域算出手段と、前記縦横比を保持したまま前記第１の領域を縮小した場合に、前記第２の領域をはみ出さない最大のサイズとなるように当該第１の領域の縮小率を算出する第１の縮小率算出手段と、前記第２の領域を前記縮小率で割ることにより拡大された第３の領域を算出する第３の領域算出手段と、前記第３の領域をプリンタにより印刷可能な領域として文書データのレイアウトを行う第１のレイアウト手段と、前記第１のレイアウト手段によりレイアウトされた第３の領域の文書データを前記縮小率で縮小して前記第２の領域に印刷するように指示する第１の印刷指示手段と、を備えることを特徴とする。
【０００８】
請求項１に記載の印刷制御装置によれば、プリンタにより印刷可能な領域が、余白領域の設定により変更された場合であっても、印刷する用紙に無駄なスペースを生じさせることがない。
【０００９】
請求項２に記載の印刷制御装置は、前記余白領域は、綴じ代であることを特徴とする。
【００１０】
請求項２に記載の印刷制御装置によれば、プリンタにより印刷可能な領域が、綴じ代の設定により変更された場合であっても、印刷する用紙に無駄なスペースを生じさせることがない。
【００１１】
請求項３に記載の印刷制御装置は、プリンタにより印刷不可能な領域を用紙から除いた、所定の縦横比を有する第４の領域を算出する第４の領域算出手段と、１／Nの分割比で用紙を分割して印刷するように分割印刷を設定する分割印刷設定手段と、前記第４の領域と前記分割比との積により求められる第５の領域を算出する第５の領域算出手段と、前記縦横比を保持したまま前記第４の領域を縮小した場合に、前記第５の領域をはみ出さない最大のサイズとなるように当該第４の領域の縮小率を算出する第２の縮小率算出手段と、前記第５の領域を前記縮小率で割ることにより拡大された第６の領域を算出する第６の領域算出手段と、前記第６の領域をプリンタにより印刷可能な領域として文書データのレイアウトを行う第２のレイアウト手段と、前記第２のレイアウト手段によりレイアウトされた第６の領域の文書データを前記縮小率で縮小して前記第５の領域に印刷するように指示する第２の印刷指示手段と、を備えることを特徴とする。
【００１２】
請求項３に記載の印刷制御装置によれば、プリンタにより印刷可能な領域が、分割印刷の設定により変更された場合であっても、印刷する用紙に無駄なスペースを生じさせることがない。
【００１３】
請求項４に記載の印刷制御装置は、前記第１または第２のレイアウト手段は、前記文書データを構成するオブジェクトのサイズを算出するオブジェクトサイズ算出手段と、前記オブジェクトサイズ算出手段により算出されたサイズと前記第３または第６の領域のサイズとを比較して、前記オブジェクトが前記第３または第６の領域に収まるか否かを判断する判断手段と、前記判断手段により収まらないと判断された場合には、次の用紙の第３または第６の領域にオブジェクトを配置する配置手段と、
を有することを特徴とする。
【００１４】
請求項４に記載の印刷制御装置によれば、文書データ中のオブジェクトが、用紙の途中で切れてしまうことはない。
【００１５】
請求項５に記載の印刷制御装置は、前記第３または第６の領域の中から、前記オブジェクトが配置される座標を算出する座標算出手段を、さらに備え、前記判断手段は、前記座標算出手段により算出された座標に前記オブジェクトを配置した場合に、当該オブジェクトが前記第３または第６の領域に収まるか否かを判断すること、を特徴とする。
【００１６】
請求項６に記載の印刷制御装置は、前記オブジェクトは、文字、写真、或はグラッフィクスであることを特徴とする。
【００１７】
請求項６に記載の印刷制御装置によれば、文書データ中に文字、写真、或はグラフィックスが混在していても、用紙の有効利用が図れる。
【００１８】
請求項７に記載の印刷制御装置は、前記第１または第２のレイアウト手段によりレイアウトされる前の文書データを前記縮小率で縮小して前記第２または第５の領域に印刷するように指示する第３の印刷指示手段と、前記第１または第２の印刷指示手段の指示より印刷を行わせる印刷モードと、前記第３の印刷指示手段の指示により印刷を行わせる印刷モードとを選択する選択手段と、をさらに備えることを特徴とする。
【００１９】
請求項７に記載の印刷制御装置によれば、ユーザは、もとの文書データのレイアウトを維持して印刷を行うことができ、バリエーションに富んだ印刷を実行することが可能となる。
【発明を実施するための最良の形態】
【００２０】
＜第１の実施形態＞
まず、本発明の第１の実施形態に係るプリントシステム１００の構成を図１のブロック図を参照して説明する。
【００２１】
本発明の実施形態に係るプリントシステム１００は、ホストコンピュータ１（印刷制御装置）とプリンタ７とから構成されている。ホストコンピュータ１とプリンタ７とは通信ケーブル９を介して接続されている。
【００２２】
ホストコンピュータ１は、ＣＰＵ１０と、ＲＯＭ１１と、ＲＡＭ１２と、キーボードコントローラ１３と、ディスプレイコントローラ１５と、ディスクコントローラ１７と、プリンタコントローラ１９と、キーボード１４と、ディスプレイ１６と、外部メモリ１８と、を備えている。また、プリンタ７は、ＣＰＵ７０と、ＲＯＭ７１と、ＲＡＭ７２と、入力部７３と、印刷部インターフェース７４と、印刷部７５と、操作部７６と、を備えている。ホストコンピュータ１は、システムバス２０に接続された各デバイスを統括的に制御する中央処理装置である。ホストコンピュータ１は、ＲＯＭ１１に記憶された文書プログラムに基づき、文字、写真、又はグラフィックス等を含む文書作成処理を実行する。
【００２３】
以下に、ホストコンピュータ１各部の構成について説明する。
【００２４】
ＣＰＵ１０は、ディスプレイ１６上のマウスカーソル等で指示されたコマンドに基づいて、そのコマンドに応じて登録されている各種ウインドウを開き、種々のデータ処理を実行する。ユーザは、プリンタ７を使用して印刷を実行する際、印刷設定に関するウインドウを開き、後述するプリンタドライバ５０に対する印刷処理の設定を行うことができる。
【００２５】
ＲＯＭ１１は、文書処理の際に使用するフォントデータ、文書処理を行う際に実行する各種プログラム、及びＣＰＵ１０の制御プログラムであるオペレーションシステム（ＯＳ）プログラム等を記憶している。
【００２６】
ＲＡＭ１２は、主として、ＣＰＵ１０がＲＯＭ１１に記憶された各種プログラムを実行する際に使用するワークエリアとして機能する。
【００２７】
キーボードコントローラ１３は、キーボード１４からのキー入力を制御する。ディスプレイコントローラ１５は、ディスプレイ１６の表示を制御する。ディスクコントローラ１７は、ＣＰＵ１０と外部メモリ１８とのアクセスを制御する。プリンタコントローラ１９は、ホストコンピュータ１とプリンタ７との通信制御処理を実行する。
【００２８】
キーボード１４は、各種キーを備えている。ディスプレイ１６は、文字、写真、又はグラフィックス等を表示する。外部メモリ１８は、ハードディスクにより構成されており、プリンタドライバ５０等を記憶している。
【００２９】
次に、プリンタ７各部の構成について説明する。
【００３０】
ＣＰＵ７０は、システムバス７７に接続された各デバイスを総括的に制御する中央処理装置であり、ＲＯＭ７１に記憶された制御プログラムに基づいて、印刷部７５に出力情報としての画像信号を出力する。また、ＣＰＵ７０は、入力部７３を介してホストコンピュータ１との通信処理が可能となっており、プリンタ７内の情報をホストコンピュータ１に通知できる構成となっている。
【００３１】
ＲＯＭ７１は、出力情報を生成する際に使用するフォントデータ、ＣＰＵ７０の制御プログラム等を記憶している。ＲＡＭ７２は、ＣＰＵ７０のワークエリア等として機能する。
【００３２】
入力部７３は、プリンタ７とホストコンピュータ１との間におけるデータの送受信を行う。印刷部インターフェース７４は、ＣＰＵ７０と印刷部７５との間におけるデータの送受信を行う。印刷部７５は、ＣＰＵ７０の制御に基づき印刷動作を行う。操作部７６は、各種操作のためのスイッチや表示手段を備えている。
【００３３】
図２は、ＣＰＵ１０により外部メモリ１８内の各種プログラムが実行されて実現される機能を示す概念図である。
【００３４】
図２において、アプリケーション３０、グラフィックエンジン４０、及びプリンタドライバ５０は、図１の外部メモリ１８に保存されている。アプリケーション３０とグラフィックエンジン４０とプリンタドライバ５０とは、ＯＳによってＲＡＭ１２にロードされて実行されるプログラムである。
【００３５】
また、アプリケーション３０及びプリンタドライバ５０は、フロッピー（登録商標）ディスクやＣＤ−ＲＯＭにより外部メモリ１８のハードディスクに追加できる構成となっている。外部メモリ１８に保存されているアプリケーション３０は、ＲＡＭ１２にロードされて実行されるが、アプリケーション３０からプリンタ７に対して印刷指令を行う際には、同様にＲＡＭ１２にロードされて実行可能となっているグラッフィクエンジン４０を利用して印刷動作を行う。
【００３６】
グラフィックエンジン４０は、印刷処理の際には、プリンタ７に対応して用意されたプリンタドライバ５０を同様に外部メモリ１８からＲＡＭ１２にロードし、アプリケーション３０の出力をプリンタドライバ５０に設定する。そして、グラッフィックエンジン４０は、アプリケーション３０から受け取る関数をプリンタドライバ５０用の関数に変換して出力する。プリンタドライバ５０は、グラッフィクエンジン４０から受け取った関数に基づいて、プリンタ７が認識可能なＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）等の制御コマンドに変換する。変換された制御コマンドは、ＯＳによってインターフェース経由でプリンタ７に出力される。
【００３７】
以下に、アプリケーション３０、グラフィックエンジン４０及びプリンタドライバ５０の具体的な機能を説明する。
【００３８】
アプリケーション３０は、ホストコンピュータ１により実行されて、以下の各機能を実現している。すなわち、アプリケーション３０は、図２に示すように、用紙サイズ設定機能３１と、用紙情報取得機能３２と、レイアウト作成機能３３（第１のレイアウト手段）と、指示機能３４とを実現している。
【００３９】
用紙サイズ設定機能３１は、ユーザによる用紙サイズ設定操作により、文書作成のベースとなる用紙のサイズを設定する機能である。ユーザは、アプリケーション３０を起動させて文書を作成する際に、画面上に表示されたウインドウを開き、用紙サイズ設定機能３１により文書の用紙サイズを設定する。
【００４０】
用紙情報取得機能３２は、用紙サイズ設定機能３１により設定された用紙サイズを基にして、その用紙サイズに関する情報をプリンタドライバ５０から取得する機能である。用紙サイズの情報には、用紙サイズの寸法や、その用紙サイズにおいてプリンタ７が実際に印刷可能な領域の寸法が含まれる。以下、この情報を用紙情報という。具体的には、用紙情報取得機能３２は、用紙サイズ設定機能３１により設定された用紙サイズを、グラッフィックエンジン４０を介してプリンタドライバ５０に送信する。プリンタドライバ５０は、アプリケーション３０側で設定された用紙サイズを基にして、その用紙サイズにおいてプリンタ７が印刷できる領域を算出する。プリンタドライバ５０は、算出された領域をアプリケーション側に送り返す。本実施形態では、アプリケーション３０側に送り返す領域は、アプリケーション３０の処理のみに用いられる仮想的な領域となる。以下、この仮想的な領域を仮想印刷領域（第３の領域）と呼ぶ。
【００４１】
レイアウト作成機能３３は、用紙情報取得機能３２により取得された仮想印刷領域に基づいて、ユーザにより作成された文書データを実際にレイアウトする機能である。レイアウト作成機能３３は、オブジェクトサイズ算出機能３３１（オブジェクトサイズ算出手段）と座標算出機能３３２（座標算出手段）と判断機能３３３（判断手段）と配置機能３３４（配置手段）とを有している。これらの機能により、文書データに含まれる各オブジェクトのサイズが算出され、算出されたオブジェクトのサイズと仮想印刷領域のサイズとの比較によりレイアウトが作成される。オブジェクトとは、文書データ中に存在する文字、写真、又はグラフィックスをいう。
【００４２】
指示機能３４は、レイアウト作成機能３３により作成されたレイアウトで印刷するようにプリンタドライバ５０に指令を与える機能である。レイアウト作成機能３３により作成されたレイアウトは、指示機能３４による指令により、グラッフィクエンジン４０及びプリンタドライバ５０を介してプリンタ７で印刷される。
【００４３】
グラフィックエンジン４０は、ホストコンピュータ１により実行され、縮小処理機能４１を実現する。グラフィックエンジン４０は、プリンタドライバ５０の後述する縮小率算出機能５４により算出された縮小率を予め記憶しておき、アプリケーション３０の指示機能３４による指示がプリンタドライバ５０に供給される際、縮小処理機能４１により、前記作成されたレイアウトを当該縮小率で縮小する。
【００４４】
プリンタドライバ５０は、ホストコンピュータ１により実行されて、用紙サイズ取得機能５１と、印刷可能領域算出機能５２（第１の領域算出手段）と、加工後印刷領域算出機能５３（第２の領域算出手段）と、縮小率算出機能５４（第１の縮小率算出手段）と、仮想印刷領域算出機能５５（第３の領域算出手段）と、用紙情報出力機能５６と、加工設定機能５９（余白設定手段）と、描画機能５７と、展開機能５８とを実現する。
【００４５】
用紙サイズ取得機能５１は、アプリケーション３０の用紙サイズ設定機能３１で設定された前述の用紙サイズを取得する機能である。
【００４６】
印刷可能領域算出機能５２は、用紙サイズ取得機能５１により取得された用紙サイズを参照して、その用紙サイズの印刷可能領域（第１の領域）を算出する機能である。印刷可能領域は、用紙サイズの寸法からプリンタ７の印刷できない領域（以下、印刷不能領域という。）を差し引くことで算出される。印刷不能領域は、プリンタ７に固有の値であり、その情報は、プリンタドライバ５０が所有するものである。
【００４７】
加工後印刷領域算出機能５３は、ユーザにより綴じ代設定が行われている場合に、アプリケーション３０側で作成される文書データが実際に印刷される領域を算出する機能を有する。以下、加工後印刷領域算出機能５３により算出される領域を加工後印刷領域（第２の領域）という。本実施形態では、ユーザは、文書を作成した後、印刷操作を実行する際、ディスプレイ１６の画面上のウインドウを開き、バインディングマージンとして綴じ代を設定することができる。綴じ代の設定は、後述の加工設定機能５９により行われる。加工後印刷領域は、具体的には、印刷可能領域と綴じ代との重複範囲を、当該印刷可能領域から差し引くことで算出される。
【００４８】
縮小率算出機能５４は、印刷可能領域を縦横比同一で縮小した場合に、この印刷可能領域が加工後印刷領域に収まる最大のサイズとなるように縮小率を算出する機能である。
【００４９】
仮想印刷領域算出機能５５は、前記加工後印刷領域算出機能５３により算出された加工後印刷領域を前記縮小率算出機能５４により算出された縮小率で割ることで求められる仮想的な印刷領域を算出する機能を有する。この領域がいわゆる仮想印刷領域となる。
【００５０】
用紙情報出力機能５６は、仮想印刷領域算出機能５５で算出された仮想印刷領域の寸法、及びその仮想印刷領域を有する仮想的な用紙サイズ（以下、仮想用紙サイズという。）の寸法をアプリケーション３０に送信する機能である。送信される情報には、縮小率算出機能５４により算出された縮小率も含まれており、当該縮小率は、アプリケーション３０への送信の際にグラフィックエンジン４０に記憶される。
【００５１】
加工設定機能５９は、ユーザの操作により綴じ代設定を行う機能である。ユーザは文書データを印刷する際、ディスプレイ１６上でウィンドウを開き、加工設定機能５９により綴じ代設定を行う。
【００５２】
描画機能５７は、アプリケーション３０側の指示機能３４による指示を、グラッフィックエンジン４０を介して受けとり、指示内容を解釈する機能である。
【００５３】
展開機能５８は、描画機能５７により解釈された指示内容をプリンタ側が解釈できるＰＤＬ言語に展開する機能である。展開機能５８により展開されたＰＤＬ言語のデータは、その後、通信ケーブル９を介してプリンタ７に送信される。
【００５４】
なお、本実施形態においては、指示機能３４と、縮小処理機能４１と、描画機能５７と、展開機能５８とにより印刷指示機能（第１の印刷指示手段）が構成されている。
【００５５】
次に、上記各機能により実現される具体的動作について、図３〜図７のフローチャートを用いて説明する。図３は、アプリケーション３０によりプリンタドライバ５０に対して用紙情報を要求する処理を示したフローチャートである。
【００５６】
まず、ステップＳ３０１（以下、ステップを「Ｓ」と記載する。）では、アプリケーション３０の用紙サイズ設定機能３１により文書の用紙サイズが設定される。用紙サイズは、前述したようにユーザの用紙サイズ設定操作により設定される。具体的には、ユーザがディスプレイ１６の画面上に現れた用紙サイズ設定用のウインドウを開くことにより、用紙サイズが設定される。その後、処理は、Ｓ３０２に移行する。
【００５７】
Ｓ３０２では、用紙サイズ設定機能３１により設定された用紙サイズをグラッフィックエンジン４０を介してプリンタドライバ５０に送信し、当該用紙サイズに対する用紙情報を要求する。Ｓ３０２の処理は、アプリケーション３０の用紙情報取得機能３２により実行される。その後、処理は、図４のＳ４０１に移行する。
【００５８】
図４は、アプリケーション３０から受信した用紙サイズに対して、プリンタドライバ５０が行う処理の流れを示したフローチャートを示す。
【００５９】
まず、Ｓ４０１では、アプリケーション３０から用紙サイズを受信する。Ｓ４０１による処理は、プリンタドライバ５０の用紙サイズ取得機能５１により実行される。その後、処理はＳ４０２に移行する。
【００６０】
Ｓ４０２では、取得した用紙サイズに対して予め定められた印刷可能領域を算出する。Ｓ４０２の処理は、プリンタドライバ５０の印刷可能領域算出機能５２により実行される。印刷可能領域は、用紙サイズの寸法から印刷不能領域を差し引いた範囲である。印刷不能領域とは、前述したようにプリンタ７により印刷する際、印刷処理が行われずに、必然的に白紙となってしまう領域である。図８は、本実施形態における印刷可能領域の一例を示す説明図である。図８においては、用紙サイズの寸法が縦１１ｉｎｃｈ、横８．５ｉｎｃｈの用紙が示されている。ここで、１ｉｎｃｈは、２．５４ｃｍを示している。この場合、用紙上下の印刷不能領域の寸法が各々１／６ｉｎｃｈ、用紙左右の印刷不能領域の寸法が各々１／４ｉｎｃｈであるため、印刷可能領域の寸法としては、横８ｉｎｃｈ（８．５ｉｎｃｈ−２／４ｉｎｃｈ）、縦６４／６ｉｎｃｈ（１１ｉｎｃｈ−２／６ｉｎｃｈ）となる。印刷可能領域算出後、処理は、Ｓ４０３に移行する。
【００６１】
Ｓ４０３においては、綴じ代等の設定がされている場合に、印刷可能領域中で実際に印刷可能な領域を算出する。前述したように、この領域が加工後印刷領域である。本実施形態においては、ユーザは、印刷を実行する際、ディスプレイ１６の画面上のウインドウによりバインディングマージンとして綴じ代を設定することができる。ユーザが綴じ代を設定している場合には、印刷可能領域と綴じ代との重複範囲を、当該印刷可能領域から差し引くことで加工後印刷領域が算出される。図９は、本実施形態における加工後印刷領域の一例を示す説明図である。図９においては、幅３／４ｉｎｃｈの綴じ代が示されている。この場合、加工後印刷領域としては、横７．５ｉｎｃｈ（８．５ｉｎｃｈ−１ｉｎｃｈ）、縦６４／６ｉｎｃｈの領域が得られる。Ｓ４０３の処理は、加工後印刷領域算出機能５３により実行される。その後、処理はＳ４０４に移行する。
【００６２】
Ｓ４０４では、印刷可能領域が加工後印刷領域に収まる最大のサイズとなるように当該印刷可能領域の縮小率が算出される。縮小率は、印刷可能領域の縦横比を保持したまま算出される。図１０は、印刷可能領域を、縦横比を保持したまま縮小した場合の概念図である。図９においては、印刷可能領域に対して、加工後印刷領域は横方向のみが小さくなっているため、加工後印刷領域の横寸法７．５ｉｎｃｈを印刷可能領域の横寸法８ｉｎｃｈで割る。よって、縮小率は、７５／８０と算出される。Ｓ４０４の処理は、縮小率算出機能５４により実行される。Ｓ４０４の後、処理は、Ｓ４０５に移行する。
【００６３】
Ｓ４０５では、加工後印刷領域を縮小率算出機能５４により求められた縮小率で割り算して、仮想印刷領域が算出される。図１１は、本実施形態における仮想印刷領域を示す図である。すなわち、加工後印刷領域の横寸法７．５ｉｎｃｈ、縦寸法６４／６ｉｎｃｈを前述の縮小率７５／８０で割り算する。これにより、仮想印刷領域は、横８ｉｎｃｈ、縦５１２／４５と算出される。Ｓ４０５の処理は、仮想印刷領域算出機能５５により算出される。その後、処理は、Ｓ４０６に移行する。
【００６４】
Ｓ４０６では、前記縮小率、仮想印刷領域の寸法、及び仮想用紙サイズの寸法が、用紙情報としてグラフィックエンジン４０を介してアプリケーション３０側に出力される。仮想用紙サイズは、仮想印刷領域算出機能５５により算出された仮想印刷領域の上下左右に前述の印刷不能領域（上下１／６ｉｎｃｈ、左右１／４ｉｎｃｈ）を付加したものである。仮想用紙サイズの寸法は、具体的には、図１１に示すように横８．５ｉｎｃｈ、縦５２７／４５ｉｎｃｈとなる。アプリケーション３０側への出力の際、縮小率はグラフィックエンジン４０に記憶される。その後、処理は図５のＳ５０１に移行する。
【００６５】
図５は、アプリケーション３０により文書データのレイアウトを作成し、プリンタドライバ５０側に印刷指示を出力する処理の流れを示すフローチャートである。
【００６６】
まず、処理は、Ｓ５０１に移行して、レイアウト作成処理が実行される。レイアウト作成は、前述の仮想印刷領域に基づいて行われる。すなわち、アプリケーション３０は、プリンタドライバ５０から得た仮想用紙サイズの寸法を、実際にプリンタ７で印刷される用紙の寸法であると認識し、さらには仮想印刷領域の寸法をプリンタ７で実際に印刷可能な領域として認識する。Ｓ５０１のレイアウト作成処理については、図７で詳述する。その後、処理はＳ５０２に移行する。
【００６７】
Ｓ５０２では、Ｓ５０１で作成されたレイアウトに基づいて、プリンタドライバ５０に印刷するように命令する。具体的には、レイアウトされた文書データをＧＤＩ（Ｇｒａｐｈｉｃ  Ｄｅｖｉｃｅ  Ｉｎｔｅｒｆａｃｅ）関数としてプリンタドライバ５０側に送信する。Ｓ５０２の処理は、アプリケーション３０の指示機能３４により実行される。その後、処理は、図６のＳ６０１に移行する。
【００６８】
図６は、アプリケーション３０により作成されたレイアウトに基づき、プリンタドライバ５０が印刷処理を行う手順を示すフローチャートである。
【００６９】
プリンタドライバ５０は、アプリケーション３０から送信された文書データをページ記述言語に変換して印刷に即したデータを作成する。
【００７０】
まず、Ｓ６０１では、アプリケーション３０から受け取った関数に基づいて、指示内容を解釈する。Ｓ６０１の処理は、プリンタドライバ５０の描画機能５７により実行される。本実施形態においては、アプリケーション３０から送信されたＧＤＩ関数は、グラフィックエンジン４０によりＤＤＩ（Ｄｅｖｉｃｅ  Ｄｒｉｖｅｒ  Ｉｎｔｅｒｆａｃｅ）関数に変換されている。よって、描画機能５７は、具体的にはグラフィックエンジン４０から受け取ったＤＤＩ関数に基づいて、指示内容を解釈し、当該指示内容をＰＤＬ言語に変更するための前処理を行う。
【００７１】
Ｓ６０２では、解釈された指示内容をＰＤＬ言語のデータに展開する。Ｓ６０２の処理は、プリンタドライバ７の展開機能５８により実行される。
【００７２】
Ｓ６０３では、展開されたＰＤＬ言語の印刷に即したデータが通信ケーブル９を介してプリンタ７側に出力される。
【００７３】
つぎに、図５のＳ５０１のレイアウト作成処理について図７を用いて説明する。レイアウト作成処理は、レイアウト作成機能３３により実行される。
【００７４】
まず、Ｓ７０１では、用紙に対しての印刷開始位置を算出する。印刷開始位置は、印刷情報取得機能３２により取得された仮想印刷領域を基にして座標算出機能により算出される。具体的には、図１１に示すように、仮想印刷領域の左上端の座標（Ｘ０，Ｙ０）が印刷開始点となる。その後、処理はＳ７０２に移行する。
【００７５】
Ｓ７０２では、仮想印刷領域に配置すべき最初のオブジェクトの占有範囲が算出される。オブジェクトの占有範囲は、オブジェクトサイズ算出機能により算出される。その後、処理はＳ７０３に移行する。
【００７６】
Ｓ７０３では、算出された占有範囲が仮想印刷領域に収まるか否かが判断される。具体的には、占有範囲の算出されたオブジェクトが、座標算出機能により算出された座標（Ｘ０，Ｙ０）に配置された場合に、当該占有範囲が仮想印刷領域に収まるか否かが判断される。Ｓ７０３で、仮想印刷領域に収まらないと判断された場合には（Ｓ７０３：ＮＯ）、Ｓ７０４で改ページがされた後、新たなページにてＳ７０１による処理が行われる。Ｓ７０３で、仮想印刷領域に収まると判断された場合には（Ｓ７０３：ＹＥＳ）、Ｓ７０５に移行し、その位置に当該オブジェクトを配置する。オブジェクトの配置は、配置機能により実行される。Ｓ７０５にてオブジェクトが配置されると処理は、Ｓ７０６に移行する。
【００７７】
Ｓ７０６では、次のオブジェクトを配置するための印刷開始位置（Ｘ１，Ｙ１）を算出する。Ｓ７０６の処理は、Ｓ７０１と同じく座標算出機能により行われる。その後、処理はＳ７０７に移行する。
【００７８】
Ｓ７０７では、文書データ中に次のオブジェクトがあるかどうが判断される。Ｓ７０７で次のオブジェクトがあると判断された場合には（Ｓ７０７：ＹＥＳ）、Ｓ７０２に移行し、再度当該オブジェクトが占有する範囲が算出され、同様の処理が繰り返される。Ｓ７０７で次のオブジェクトがないと判断された場合には（Ｓ７０７：ＮＯ）、レイアウト作成処理を終了する。
【００７９】
レイアウト作成機能３３により処理された文書データは、前述の印刷指示機能３４によりプリンタドライバ５０に送信される。この際、文書データは、グラフィックエンジン４０の縮小処理機能４１により、縮小率算出機能５４によって算出された縮小率で縮小されて、プリンタドライバ５０に送信される。
【００８０】
図１２は、このレイアウト処理によりレイアウトされて、プリンタ７により印刷された印刷結果物の説明図である。また、図１３は、従来のプリントシステムにより印刷された印刷結果物の説明図である。図１２及び図１３より、本実施形態によれば、用紙の上下に不必要なスペースが生じていないことが分かる。これは、アプリケーション３０が、プリンタドライバ５０から提供された仮想印刷領域をもとにしてレイアウトを作成することに起因する。すなわち、アプリケーション３０は、従来例によればスペースとなるべき領域に次ページの文書データを配置している。
【００８１】
以上により、プリンタ７が印刷を実行し、ユーザの意図する印刷物を得ることができる。そして、本実施形態によれば綴じ代を設定した場合であっても、無駄なスペースを生じることなく、用紙の有効利用を図ることができるのである。
【００８２】
＜第２の実施形態＞
以下に本発明の第２の実施形態に係るプリントシステムについて説明する。本実施形態において、第１実施形態と同一の構成を有する各部については、第１の実施形態と同一の符号を付して説明する。
【００８３】
第１の実施形態では、印刷時に綴じ代設定を可能としている。本実施形態では、印刷時に、綴じ代設定に代えてＮｉｎ１印刷の設定を可能とするものである。つまり、本実施形態においては、図２における加工設定機能５９（分割印刷設定手段）が、ユーザの操作によりＮｉｎ１印刷設定を行う機能となる点のみが第１の実施形態と大きく異なる。Ｎｉｎ１印刷とは、１枚の用紙をＮ等分してＮ個の領域にページを縮小配置し、１枚の用紙上にＮページ分の文書データを配置するものである。以下、本実施形態について説明するが、図面については、図１〜図８までは第１の実施形態のものを引用する。
【００８４】
アプリケーション３０は、ホストコンピュータ１（印刷制御装置）により実行されて、以下の各機能を実現している。すなわち、アプリケーション３０は、図２に示すように、用紙サイズ設定機能３１と、用紙情報取得機能３２と、レイアウト作成機能３３（第２のレイアウト手段）と、指示機能３４とを実現している。
【００８５】
用紙サイズ設定機能３１は、ユーザによる用紙サイズ設定操作により、文書作成のベースとなる用紙のサイズを設定する機能である。ユーザは、アプリケーション３０を起動させて文書を作成する際に、画面上に表示されたウインドウを開き、用紙サイズ設定機能３１により文書の用紙サイズを設定する。
【００８６】
用紙情報取得機能３２は、用紙サイズ設定機能３１により設定された用紙サイズを基にして、その用紙サイズに関する情報をプリンタドライバ５０から取得する機能である。用紙サイズの情報には、用紙サイズの寸法や、その用紙サイズにおいてプリンタ７が実際に印刷可能な領域の寸法が含まれる。以下、この情報を用紙情報という。具体的には、用紙情報取得機能３２は、用紙サイズ設定機能３１により設定された用紙サイズを、グラッフィックエンジン４０を介してプリンタドライバ５０に送信する。プリンタドライバ５０は、アプリケーション３０側で設定された用紙サイズを基にして、その用紙サイズにおいてプリンタ７が印刷できる領域を算出する。プリンタドライバ５０は、算出された領域をアプリケーション側に送り返す。本実施形態では、アプリケーション３０側に送り返す領域は、アプリケーション３０の処理のみに用いられる仮想的な領域となる。以下、この仮想的な領域を仮想印刷領域（第６の領域）と呼ぶ。
【００８７】
レイアウト作成機能３３は、用紙情報取得機能３２により取得された仮想印刷領域に基づいて、ユーザにより作成された文書データを実際にレイアウトする機能である。レイアウト作成機能３３は、オブジェクトサイズ算出機能３３１（オブジェクトサイズ算出手段）と座標算出機能３３２（座標算出手段）と判断機能３３３（判断手段）と配置機能３３４（配置手段）とを有している。これらの機能により、文書データに含まれる各オブジェクトのサイズが算出され、算出されたオブジェクトのサイズと仮想印刷領域のサイズとの比較によりレイアウトが作成される。オブジェクトとは、文書データ中に存在する文字、写真、又はグラフィックスをいう。
【００８８】
指示機能３４は、レイアウト作成機能３３により作成されたレイアウトで印刷するようにプリンタドライバ５０に指令を与える機能である。レイアウト作成機能３３により作成されたレイアウトは、指示機能３４による指示により、グラッフィクエンジン４０及びプリンタドライバ５０を介してプリンタ７で印刷される。
【００８９】
グラフィックエンジン４０は、ホストコンピュータ１により実行され、縮小処理機能４１を実現する。グラフィックエンジン４０は、プリンタドライバ５０の後述する縮小率算出機能５４により算出された縮小率を予め記憶しておき、アプリケーション３０の指示機能３４による指示がプリンタドライバ５０に供給される際、縮小処理機能４１により、前記作成されたレイアウトを当該縮小率で縮小する。
【００９０】
プリンタドライバ５０は、ホストコンピュータ１により実行されて、用紙サイズ取得機能５１と、印刷可能領域算出機能５２（第４の領域算出手段）と、加工後印刷領域算出機能５３（第５の領域算出手段）と、縮小率算出機能５４（第２の縮小率算出手段）と、仮想印刷領域算出機能５５（第６の領域算出手段）と、用紙情報出力機能５６と、加工設定機能５９（分割印刷設定手段）と、描画機能５７と、展開機能５８とを実現する。
【００９１】
用紙サイズ取得機能５１は、アプリケーション３０の用紙サイズ設定機能３１で設定された前述の用紙サイズを取得する機能である。
【００９２】
印刷可能領域算出機能５２は、用紙サイズ取得機能５１により取得された用紙サイズを参照して、その用紙サイズの印刷可能領域（第４の領域）を算出する機能である。印刷可能領域は、用紙サイズの寸法からプリンタ７の印刷できない領域（以下、印刷不能領域という。）を差し引くことで算出される。印刷不能領域は、プリンタ７に固有の値であり、その情報は、プリンタドライバ５０が所有するものである。
【００９３】
加工後印刷領域算出機能５３は、ユーザによりＮｉｎ１印刷設定が行われている場合に、アプリケーション３０側で作成される文書データが実際に印刷される領域を算出する機能を有する。以下、加工後印刷領域算出機能５３により算出される領域を加工後印刷領域（第５の領域）という。本実施形態では、ユーザは、文書を作成した後、印刷操作を実行する際、ディスプレイ１６の画面上のウインドウを開き、Ｎｉｎ１印刷を設定することができる。Ｎｉｎ１印刷の設定は、後述の加工設定機能５９により行われる。加工後印刷領域は、具体的には、印刷可能領域に分割比１／Ｎを掛け算することで算出される。
【００９４】
縮小率算出機能５４は、印刷可能領域を縦横比同一で縮小した場合に、この印刷可能領域が加工後印刷領域に収まる最大のサイズとなるように縮小率を算出する機能である。
【００９５】
仮想印刷領域算出機能５５は、前記加工後印刷領域算出機能５３により算出された加工後印刷領域を前記縮小率算出機能５４により算出された縮小率で割ることで求められる仮想的な印刷領域を算出する機能を有する。この領域がいわゆる仮想印刷領域となる。
【００９６】
用紙情報出力機能５６は、仮想印刷領域算出機能５５で算出された仮想印刷領域の寸法、及びその仮想印刷領域を有する仮想的な用紙サイズ（以下、仮想用紙サイズという。）の寸法をアプリケーション３０に送信する機能である。送信される情報には、縮小率算出機能５４により算出された縮小率も含まれており、当該縮小率は、アプリケーション３０への送信の際にグラフィックエンジン４０に記憶される。
【００９７】
加工設定機能５９は、ユーザの操作によりＮｉｎ１印刷設定を行う機能である。ユーザは文書データを印刷する際、ディスプレイ１６上でウィンドウを開き、加工設定機能５９によりＮｉｎ１印刷設定を行う。
【００９８】
描画機能５７は、アプリケーション３０側の指示機能３４による指示を、グラッフィックエンジン４０を介して受けとり、指示内容を解釈する機能である。
【００９９】
展開機能５８は、描画機能５７により解釈された指示内容をプリンタ側が解釈できるＰＤＬ言語に展開する機能である。展開機能５８により展開されたＰＤＬ言語のデータは、その後、通信ケーブル９を介してプリンタ７に送信される。
【０１００】
なお、本実施形態においては、指示機能３４と、縮小処理機能４１と、描画機能５７と、展開機能５８とにより印刷指示機能（第２の印刷指示手段）が構成されている。
【０１０１】
図３は、アプリケーション３０によりプリンタドライバ５０に対して用紙情報を要求する処理を示したフローチャートである。
【０１０２】
まず、図３のステップＳ３０１では、アプリケーション３０の用紙サイズ設定機能３１により文書の用紙サイズが設定される。用紙サイズは、前述したようにユーザの用紙サイズ設定操作により設定される。具体的には、ユーザがディスプレイ１６の画面上に現れた用紙サイズ設定用のウインドウを開くことにより設定される。その後、処理は、Ｓ３０２に移行する。
【０１０３】
Ｓ３０２では、用紙サイズ設定機能３１により設定された用紙サイズをグラッフィックエンジン４０を介してプリンタドライバ５０に送信し、当該用紙サイズに対する用紙情報を要求する。Ｓ３０２の処理は、アプリケーション３０の用紙情報取得機能３２により実行される。その後、処理は、図４のＳ４０１に移行する。
【０１０４】
Ｓ４０１では、アプリケーション３０から用紙サイズを受信する。Ｓ４０１による処理は、プリンタドライバ５０の用紙サイズ取得機能５１により実行される。その後、処理はＳ４０２に移行する。
【０１０５】
Ｓ４０２では、取得した用紙サイズに対して予め定められた印刷可能領域を算出する。Ｓ４０２の処理は、プリンタドライバ５０の印刷可能領域算出機能５２により実行される。印刷可能領域は、用紙サイズの寸法から印刷不能領域を差し引いた範囲である。印刷不能領域とは、プリンタ７により印刷する際、印刷処理が行われずに、必然的に白紙となってしまう領域である。図８においては、用紙サイズの寸法が縦１１ｉｎｃｈ、横８．５ｉｎｃｈの用紙が示されている。ここで、１ｉｎｃｈは、２．５４ｃｍを示している。この場合、用紙上下の印刷不能領域の寸法が各々１／６ｉｎｃｈ、用紙左右の印刷不能領域の寸法が各々１／４ｉｎｃｈであるため、印刷可能領域の寸法としては、横８ｉｎｃｈ（８．５ｉｎｃｈ−２／４ｉｎｃｈ）、縦６４／６ｉｎｃｈ（１１ｉｎｃｈ−２／６ｉｎｃｈ）となる。印刷可能領域算出後、処理は、Ｓ４０３に移行する。
【０１０６】
Ｓ４０３においては、Ｎｉｎ１印刷等の設定がされている場合に、印刷可能領域中で実際に印刷可能な領域を算出する。本実施形態においては、ユーザは、印刷を実行する際、ディスプレイ１６の画面上のウインドウによりＮｉｎ１印刷を設定することができる。ユーザが、例えば２ｉｎ１印刷を設定している場合には、印刷可能領域の縦寸法を１／２とすることで加工後印刷領域が算出される。図１４は、本実施形態において２ｉｎ１印刷が設定された場合の加工後印刷領域の一例を示す説明図である。この場合、加工後印刷領域としては、縦８ｉｎｃｈ、横３２／６ｉｎｃｈ（６４／６ｉｎｃｈ×１／２）の領域が得られる。Ｓ４０３の処理は、加工後印刷領域算出機能５３により実行される。その後、処理はＳ４０４に移行する。
【０１０７】
Ｓ４０４では、印刷可能領域が加工後印刷領域に収まる最大のサイズとなるように当該印刷可能領域の縮小率が算出される。縮小率は、印刷可能領域の縦横比を保持したまま算出される。図１５は、印刷可能領域を、縦横比を保持したまま縮小した場合の概念図である。図１４では、加工後印刷領域の縦方向および横方向のいずれも、印刷可能領域の縦横寸法に対して変更されているため、縦方向および横方向のいずれの縮小率が小さいかを算出する。加工後印刷領域の横方向の寸法３２／６ｉｎｃｈを印刷可能領域の横方向の寸法８ｉｎｃｈで割ると縮小率は３２／４８となる。一方、加工後印刷領域の縦方向の寸法８ｉｎｃｈを印刷可能領域の縦方向の寸法６４／６で割ると縮小率は４８／６４となる。３２／４８は、４８／６４よりも小さいため、３２／４８が、印刷可能領域を加工後印刷領域に収まる最大のサイズとなるように縮小する際の縮小率となる。よって、縮小率は、３２／４８と算出される。Ｓ４０４の処理は、縮小率算出機能５４により実行される。Ｓ４０４の後、処理は、Ｓ４０５に移行する。
【０１０８】
Ｓ４０５では、加工後印刷領域を縮小率で割り算して、仮想印刷領域が算出される。図１６は、本実施形態における仮想印刷領域を示す図である。すなわち、加工後印刷領域の横寸法３２／６ｉｎｃｈ、縦寸法８ｉｎｃｈを前述の縮小率３２／４８で割り算する。これにより、仮想印刷領域は、横８ｉｎｃｈ、縦１２ｉｎｃｈと算出される。Ｓ４０５の処理は、仮想印刷領域算出機能５５により算出される。その後、処理は、Ｓ４０６に移行する。
【０１０９】
Ｓ４０６では、前記縮小率、仮想印刷領域の寸法、仮想用紙サイズの寸法が、グラフィックエンジン４０を介してアプリケーション３０側に出力される。仮想用紙サイズの寸法は、本実施形態においては、図１６に示すように横８．５ｉｎｃｈ、縦７４／６ｉｎｃｈとなる。アプリケーション３０側への出力の際、縮小率はグラフィックエンジン４０に記憶される。その後、処理は図５のＳ５０１に移行する。
【０１１０】
図５は、アプリケーション３０により作成した文書のレイアウトを作成し、ドライバ５０側に印刷指示を出力する処理の一連の流れを示すフローチャートである。
【０１１１】
まず、処理は、Ｓ５０１に移行して、レイアウト作成処理が実行される。レイアウト作成は、前述の仮想印刷領域に基づいて作成される。すなわち、アプリケーション３０は、プリンタドライバ５０から得た仮想用紙サイズの寸法を、実際にプリンタ７で印刷される用紙の寸法であると認識し、さらには仮想印刷領域の寸法をプリンタ７で実際に印刷可能な領域として認識する。Ｓ５０１のレイアウト作成処理については、図７で詳述する。その後、処理はＳ５０２に移行する。
【０１１２】
Ｓ５０２では、Ｓ５０１で作成されたレイアウトに基づいて、プリンタドライバ５０に印刷するように命令する。具体的には、レイアウトされた文書データをＧＤＩ（Ｇｒａｐｈｉｃ  Ｄｅｖｉｃｅ  Ｉｎｔｅｒｆａｃｅ）関数としてプリンタドライバ５０側に送信する。Ｓ５０２の処理は、アプリケーション３０の指示機能３４により実行される。その後、処理は、図６のＳ６０１に移行する。
【０１１３】
図６は、アプリケーション３０により作成されたレイアウトに基づき、プリンタドライバ５０が印刷処理を行う手順を示すフローチャートである。
【０１１４】
プリンタドライバ５０はアプリケーション３０から送信された文書データをページ記述言語に変換して印刷に即したデータを作成する。
【０１１５】
まず、Ｓ６０１では、アプリケーション３０から受け取った関数に基づいて、指示内容を解釈する。Ｓ６０１の処理は、プリンタドライバ５０の描画機能５７により実行される。本実施形態においては、アプリケーション３０から送信されたＧＤＩ関数は、グラフィックエンジン４０によりＤＤＩ（Ｄｅｖｉｃｅ  Ｄｒｉｖｅｒ  Ｉｎｔｅｒｆａｃｅ）関数に変換されている。よって、描画機能５７は、具体的にはグラフィックエンジン４０から受け取ったＤＤＩ関数に基づいて、指示内容を解釈し、当該指示内容をＰＤＬ言語に変更するための前処理を行う。
【０１１６】
Ｓ６０２では、解釈された指示内容をＰＤＬ言語のデータに展開する。Ｓ６０２の処理は、プリンタドライバ５０の展開機能５８により実行される。
【０１１７】
Ｓ６０３では、展開されたＰＤＬ言語の印刷に即したデータが通信ケーブル９を介してプリンタ７側に出力される。
【０１１８】
つぎに、図５のレイアウト作成処理について図７を用いて説明する。レイアウト作成処理は、レイアウト作成機能３３により実行される。
【０１１９】
まず、Ｓ７０１では、用紙に対しての印刷開始位置を算出する。印刷開始位置は、印刷情報取得機能３２で取得された仮想印刷領域を基にして座標算出機能により算出される。具体的には、図１６の座標（Ｘ０，Ｙ０）が印刷開始点となる。その後、処理はＳ７０２に移行する。
【０１２０】
Ｓ７０２では、仮想印刷領域に配置すべき最初のオブジェクトの占有範囲が算出される。オブジェクトの占有範囲は、オブジェクトサイズ算出機能により算出される。その後、処理はＳ７０３に移行する。
【０１２１】
Ｓ７０３では、算出された占有範囲が仮想印刷領域に収まるか否かが判断される。具体的には、占有範囲の算出されたオブジェクトが、座標算出機能により算出された座標（Ｘ０，Ｙ０）に配置された場合に、当該占有範囲が仮想印刷領域に収まるか否かが判断される。Ｓ７０３で、仮想印刷領域に収まらないと判断された場合には（Ｓ７０３：ＮＯ）、Ｓ７０４で改ページがされた後、新たなページにてＳ７０１による処理が行われる。Ｓ７０３で、仮想印刷領域に収まると判断された場合には（Ｓ７０３：ＹＥＳ）、Ｓ７０５に移行し、その位置に当該オブジェクトを配置する。オブジェクトの配置は、配置機能により実行される。Ｓ７０５にてオブジェクトが配置されると処理は、Ｓ７０６に移行する。
【０１２２】
Ｓ７０６では、次のオブジェクトを配置するための印刷開始位置（Ｘ１，Ｙ１）を算出する。Ｓ７０６の処理は、Ｓ７０１と同じく座標算出機能により行われる。その後、処理はＳ７０７に移行する。
【０１２３】
Ｓ７０７では、文書データ中に次のオブジェクトがあるかどうが判断される。Ｓ７０７で次のオブジェクトがあると判断された場合には（Ｓ７０７：ＹＥＳ）、Ｓ７０２に移行し、再度当該オブジェクトが占有する範囲が算出され、同様の処理が繰り返される。Ｓ７０７で次のオブジェクトがないと判断された場合には（Ｓ７０７：ＮＯ）、レイアウト作成処理を終了する。
【０１２４】
レイアウト作成機能３３により処理された文書データは、前述の印刷指示機能３４によりプリンタドライバ５０に送信される。この際、文書データは、グラフィックエンジン４０の縮小処理機能４１により、前記縮小率算出機能５４により算出された縮小率で縮小されて、プリンタドライバ５０に送信される。
【０１２５】
図１７は、このレイアウト処理によりレイアウトされて、プリンタ７により印刷された印刷結果物の説明図である。また、図１８は、従来のプリントシステムにより印刷された印刷結果物の説明図である。図１７及び図１８により、本実施形態によれば、用紙の左右（分割縮小されたページの上下）に不必要なスペースが生じていないことが分かる。これは、アプリケーション３０が、プリンタドライバ５０から提供された仮想印刷領域をもとにしてレイアウトを作成することに起因している。すなわち、アプリケーション３０は、従来例によればスペースとなるべき領域に次ページの文書データを配置している。
【０１２６】
以上により、プリンタが印刷を実行し、ユーザの意図する印刷物を得ることができる。そして、本実施形態によればＮｉｎ１印刷を設定した場合であっても、無駄なスペースを生じることなく、用紙の有効利用を図ることができる。
【０１２７】
＜第３の実施形態＞
以下に、本発明の第３の実施形態にかかるプリントシステムについて説明する。本実施形態において、第１の実施形態あるいは第２の実施形態と同一の構成を有する各部については、それぞれ、前記実施形態と同一の符号を付して説明する。
【０１２８】
本実施形態は、第１の実施形態あるいは第２の実施形態の各機能に対して、余白印刷指示機能（第３の印刷指示手段）、及び選択機能（選択手段）とを付加した構成をとる。
【０１２９】
この場合、余白印刷指示機能は、第１の実施形態で記載した図１３あるいは第２の実施形態で記載した図１８に示すような印刷結果物を得る印刷を指示する機能を有する。具体的には、アプリケーション３０により作成された文書データを、第１の実施形態あるいは第２の実施形態のレイアウト作成機能によりレイアウトせずに、そのまま縮小率算出機能により算出された縮小率で縮小して加工後印刷領域に印刷するように指示する機能である。
【０１３０】
選択機能は、印刷モードを選択する機能である。具体的には、第１の実施形態あるいは第２の実施形態の印刷指示機能の指示により印刷を行わせるか、前述の余白印刷指示機能により印刷を行わせるかを選択する機能である。
【０１３１】
この場合、プリンタ７は、選択機能で選択された印刷モードで印刷することとなる。
【０１３２】
以上、本発明の第１、第２、及び第３の実施形態について説明してきたが、本発明の技術的思想の創作範囲を逸脱しない限り、種々の設計変更が可能である。
【０１３３】
たとえば、図１１や図１６に示すオブジェクトには、文字のみが表されているが、写真やグラフィックスなどであってもよい。また、用紙サイズの寸法、印刷不能領域の寸法、及び綴じ代の寸法等、各種領域の寸法も適宜変更可能である。
【図面の簡単な説明】
【０１３４】
【図１】本発明の第１及び第２の実施形態に係るプリントシステム１００の構成を示すブロック図である。
【図２】ＣＰＵ１０により外部メモリ１８内の各種プログラムが実行されて実現される機能を示す概念図である。
【図３】アプリケーション３０によりプリンタドライバ５０へ用紙情報を要求する処理を示したフローチャートである。
【図４】アプリケーション３０から受信した用紙サイズに対して、プリンタドライバ５０が行う処理の流れを示したフローチャートである。
【図５】アプリケーション３０が、文書のレイアウトを作成し、プリンタドライバ５０側に印刷指令を行う一連の流れを示すフローチャートである。
【図６】アプリケーション３０により作成されたレイアウトに基づき、プリンタドライバ５０が印刷処理を行う手順を示すフローチャートである。
【図７】図５におけるレイアウト作成処理の流れを示すフローチャートである。
【図８】第１及び第２の実施形態における印刷可能領域の一例を示す説明図である。
【図９】第１の実施形態における加工後印刷領域の一例を示す説明図である。
【図１０】第１の実施形態において印刷可能領域の縦横比を保持したまま縮小した場合の当該印刷可能領域の説明図である。
【図１１】第１の実施形態における仮想印刷領域を示す説明図である。
【図１２】第１の実施形態に係るプリントシステム１００により印刷された結果物の説明図である。
【図１３】第１の実施形態の従来技術により印刷された結果物の説明図である。
【図１４】第２の実施形態における加工後印刷領域の一例を示す説明図である。
【図１５】第２の実施形態において印刷可能領域の縦横比を保持したまま縮小した場合の当該印刷可能領域の説明図である。
【図１６】第２の実施形態における仮想印刷領域を示す説明図である。
【図１７】第２の実施形態に係るプリントシステム１００により印刷された結果物の説明図である。
【図１８】第２の実施形態の従来技術により印刷された結果物の説明図である。
【符号の説明】
【０１３５】
１  ホストコンピュータ
７  プリンタ
３３  レイアウト作成機能
４１  縮小処理機能
５２  印刷可能領域算出機能
５３  加工後印刷領域算出機能
５４  縮小率算出機能
５５  仮想印刷領域算出機能
５９  加工設定機能
３３１  オブジェクトサイズ算出機能
３３２  座標算出機能
３３３  判断機能
３３４  配置機能
【図１】
2005078236.tif 000003
【図２】
2005078236.tif 000004
【図３】
2005078236.tif 000005
【図４】
2005078236.tif 000006
【図５】
2005078236.tif 000007
【図６】
2005078236.tif 000008
【図７】
2005078236.tif 000009
【図８】
2005078236.tif 000010
【図９】
2005078236.tif 000011
【図１０】
2005078236.tif 000012
【図１１】
2005078236.tif 000013
【図１２】
2005078236.tif 000014
【図１３】
2005078236.tif 000015
【図１４】
2005078236.tif 000016
【図１５】
2005078236.tif 000017
【図１６】
2005078236.tif 000018
【図１７】
2005078236.tif 000019
【図１８】
2005078236.tif 000020