(57)【特許請求の範囲】
【請求項１】
入力画面を介したユーザーの入力操作に応じて、一枚の用紙の面に配置する画像の数と、自動で画像を拡大する旨の指示と、が入力された場合、各画像から余白領域を除いた有効画像領域を決定し、印字領域に前記決定した有効画像領域に適合するよう各画像を拡大、移動し、拡大、移動した画像を入力された数に基づいて縮小し、縮小した画像を、前記一枚の用紙の面に配置するための印刷データを生成する生成手段を有し、
前記生成手段は、入力画面を介したユーザーの入力操作に応じて、一枚の用紙の面に配置する画像の数と、自動で画像を拡大する旨の指示と、ページ内で拡大率を揃える旨の指示と、が入力された場合、入力された数の各画像から余白領域を除いた有効画像領域を決定し、印字領域と、前記決定した各画像の有効画像領域と、に基づいて各画像の拡大率を算出し、算出した各画像の拡大率のうち、最小の拡大率を選択し、選択した拡大率に基づいて、各画像を拡大する情報処理装置。
【請求項２】
入力画面を介したユーザーの入力操作に応じて、一枚の用紙の面に配置する画像の数と、自動で画像を拡大する旨の指示と、が入力された場合、各画像から余白領域を除いた有効画像領域を決定し、印字領域に前記決定した有効画像領域に適合するよう各画像を拡大、移動し、拡大、移動した画像を入力された数に基づいて縮小し、縮小した画像を、前記一枚の用紙の面に配置するための印刷データを生成する生成手段を有し、
前記生成手段は、入力画面を介したユーザーの入力操作に応じて、一枚の用紙の面に配置する画像の数と、自動で画像を拡大する旨の指示と、印刷データ内で拡大率を揃える旨の指示と、が入力された場合、印刷データに含まれる各画像から余白領域を除いた有効画像領域を決定し、印字領域と、前記決定した各画像の有効画像領域と、に基づいて各画像の拡大率を算出し、算出した各画像の拡大率のうち、最小の拡大率を選択し、選択した拡大率に基づいて、各画像を拡大する情報処理装置。
【請求項３】
前記生成手段は、入力画面を介したユーザーの入力操作に応じて、一枚の用紙の面に配置する画像の数と、自動で画像を拡大する旨の指示と、ヘッダー及びフッターを余白領域とみなす旨の指示と、が入力された場合、各画像からヘッダー及びフッターを余白領域とみなして除き、有効画像領域を決定する請求項１又は２記載の情報処理装置。
【請求項４】
前記生成手段は、入力画面を介したユーザーの入力操作に応じて、一枚の用紙の面に配置する画像の数と、自動で画像を拡大する旨の指示と、ヘッダー及びフッターを余白領域とみなす旨の指示と、が入力された場合、画像の各辺を外側から内側に向かって、１行又は１列ずつ取り出し、取り出した各行又は列に含まれる一定距離内の画素同士を結んだ線分をグループ線分とみなし、各行又は列に含まれる全てのグループ線分を合計した長さが、辺の長さに対して占める割合を計算し、前記割合が閾値を上回る場合は各行又は列をエッジとみなし、画像から余白領域を除く処理を中止し、前記割合が閾値を下回る場合は辺を余白とみなし、画像から余白領域を除く処理を継続する請求項３記載の情報処理装置。
【請求項５】
情報処理装置が実行する情報処理方法であって、
入力画面を介したユーザーの入力操作に応じて、一枚の用紙の面に配置する画像の数と、自動で画像を拡大する旨の指示と、が入力された場合、各画像から余白領域を除いた有効画像領域を決定し、印字領域に前記決定した有効画像領域に適合するよう各画像を拡大、移動し、拡大、移動した画像を入力された数に基づいて縮小し、縮小した画像を、前記一枚の用紙の面に配置するための印刷データを生成する生成ステップを含み、
前記生成ステップでは、入力画面を介したユーザーの入力操作に応じて、一枚の用紙の面に配置する画像の数と、自動で画像を拡大する旨の指示と、ページ内で拡大率を揃える旨の指示と、が入力された場合、入力された数の各画像から余白領域を除いた有効画像領域を決定し、印字領域と、前記決定した各画像の有効画像領域と、に基づいて各画像の拡大率を算出し、算出した各画像の拡大率のうち、最小の拡大率を選択し、選択した拡大率に基づいて、各画像を拡大する情報処理方法。
【請求項６】
情報処理装置が実行する情報処理方法であって、
入力画面を介したユーザーの入力操作に応じて、一枚の用紙の面に配置する画像の数と、自動で画像を拡大する旨の指示と、が入力された場合、各画像から余白領域を除いた有効画像領域を決定し、印字領域に前記決定した有効画像領域に適合するよう各画像を拡大、移動し、拡大、移動した画像を入力された数に基づいて縮小し、縮小した画像を、前記一枚の用紙の面に配置するための印刷データを生成する生成ステップを含み、
前記生成ステップでは、入力画面を介したユーザーの入力操作に応じて、一枚の用紙の面に配置する画像の数と、自動で画像を拡大する旨の指示と、印刷データ内で拡大率を揃える旨の指示と、が入力された場合、印刷データに含まれる各画像から余白領域を除いた有効画像領域を決定し、印字領域と、前記決定した各画像の有効画像領域と、に基づいて各画像の拡大率を算出し、算出した各画像の拡大率のうち、最小の拡大率を選択し、選択した拡大率に基づいて、各画像を拡大する情報処理方法。
【請求項７】
コンピュータを、
入力画面を介したユーザーの入力操作に応じて、一枚の用紙の面に配置する画像の数と、自動で画像を拡大する旨の指示と、が入力された場合、各画像から余白領域を除いた有効画像領域を決定し、印字領域に前記決定した有効画像領域に適合するよう各画像を拡大、移動し、拡大、移動した画像を入力された数に基づいて縮小し、縮小した画像を、前記一枚の用紙の面に配置するための印刷データを生成する生成手段として機能させ、
前記生成手段は、入力画面を介したユーザーの入力操作に応じて、一枚の用紙の面に配置する画像の数と、自動で画像を拡大する旨の指示と、ページ内で拡大率を揃える旨の指示と、が入力された場合、入力された数の各画像から余白領域を除いた有効画像領域を決定し、印字領域と、前記決定した各画像の有効画像領域と、に基づいて各画像の拡大率を算出し、算出した各画像の拡大率のうち、最小の拡大率を選択し、選択した拡大率に基づいて、各画像を拡大するプログラム。
【請求項８】
コンピュータを、
入力画面を介したユーザーの入力操作に応じて、一枚の用紙の面に配置する画像の数と、自動で画像を拡大する旨の指示と、が入力された場合、各画像から余白領域を除いた有効画像領域を決定し、印字領域に前記決定した有効画像領域に適合するよう各画像を拡大、移動し、拡大、移動した画像を入力された数に基づいて縮小し、縮小した画像を、前記一枚の用紙の面に配置するための印刷データを生成する生成手段として機能させ、
前記生成手段は、入力画面を介したユーザーの入力操作に応じて、一枚の用紙の面に配置する画像の数と、自動で画像を拡大する旨の指示と、印刷データ内で拡大率を揃える旨の指示と、が入力された場合、印刷データに含まれる各画像から余白領域を除いた有効画像領域を決定し、印字領域と、前記決定した各画像の有効画像領域と、に基づいて各画像の拡大率を算出し、算出した各画像の拡大率のうち、最小の拡大率を選択し、選択した拡大率に基づいて、各画像を拡大するプログラム。
【請求項９】
前記生成手段は、入力画面を介したユーザーの入力操作に応じて、一枚の用紙の面に配置する画像の数と、自動で画像を拡大する旨の指示と、ヘッダー及びフッターを余白領域とみなす旨の指示と、が入力された場合、各画像からヘッダー及びフッターを余白領域とみなして除き、有効画像領域を決定する請求項７又は８記載のプログラム。
【請求項１０】
前記生成手段は、入力画面を介したユーザーの入力操作に応じて、一枚の用紙の面に配置する画像の数と、自動で画像を拡大する旨の指示と、ヘッダー及びフッターを余白領域とみなす旨の指示と、が入力された場合、画像の各辺を外側から内側に向かって、１行又は１列ずつ取り出し、取り出した各行又は列に含まれる一定距離内の画素同士を結んだ線分をグループ線分とみなし、各行又は列に含まれる全てのグループ線分を合計した長さが、辺の長さに対して占める割合を計算し、前記割合が閾値を上回る場合は各行又は列をエッジとみなし、画像から余白領域を除く処理を中止し、前記割合が閾値を下回る場合は辺を余白とみなし、画像から余白領域を除く処理を継続する請求項９記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法及びプログラムに関する。
【背景技術】
【０００２】
近年、企業における環境問題への意識の高まりと共に、複数（＝Ｎ個）の原稿ページを縮小して１枚の用紙の面に並べて配置する縮小レイアウト（以下、Ｎｕｐと呼ぶ）で文書を印刷することが奨励されている。
しかしながら、ユーザーは同じＮｕｐ印刷でも、用紙の節約効果がより高い４ｕｐや６ｕｐの使用を躊躇してしまい、せいぜい２ｕｐまでしか使用しない傾向がある。
何故なら、１枚の用紙に対して４個や６個もの原稿ページを縮小して配置すると、文字が小さく読みにくくなってしまうからである。
このような課題に対し、例えば特許文献１に開示されている画像形成装置では、原稿に含まれる文字のポイント数に応じてＮｕｐ印刷のＮを決定したり、原稿よりも大きな用紙サイズに変倍したりする処理が提案されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２―１１２０１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら特許文献１に開示されている処理では、文字が小さくなる課題は解消されているものの、原稿に含まれる文字のポイント数が小さい場合は大きな用紙サイズで出力されるため用紙の節約効果は低くなってしまう。
またＮｕｐのＮが動的に決定されるため、しばしば文書全体の印刷レイアウトに統一感がなくなってしまう可能性がある。
また文字データ以外の図形データや画像データに関しては特に考慮がなされていない。
【０００５】
本発明はこのような問題点に鑑みなされたもので、文書を読み易くするＮｕｐ印刷機能を提供することを目的とする。
【課題を解決するための手段】
【０００６】
そこで、本発明の情報処理装置は、入力画面を介したユーザーの入力操作に応じて、一枚の用紙の面に配置する画像の数と、自動で画像を拡大する旨の指示と、が入力された場合、各画像から余白領域を除いた有効画像領域を決定し、印字領域に前記決定した有効画像領域に適合するよう各画像を拡大、移動し、拡大、移動した画像を入力された数に基づいて縮小し、縮小した画像を、前記一枚の用紙の面に配置するための印刷データを生成する生成手段を有し、前記生成手段は、入力画面を介したユーザーの入力操作に応じて、一枚の用紙の面に配置する画像の数と、自動で画像を拡大する旨の指示と、ページ内で拡大率を揃える旨の指示と、が入力された場合、入力された数の各画像から余白領域を除いた有効画像領域を決定し、印字領域と、前記決定した各画像の有効画像領域と、に基づいて各画像の拡大率を算出し、算出した各画像の拡大率のうち、最小の拡大率を選択し、選択した拡大率に基づいて、各画像を拡大する。
また、本発明の情報処理装置は、入力画面を介したユーザーの入力操作に応じて、一枚の用紙の面に配置する画像の数と、自動で画像を拡大する旨の指示と、が入力された場合、各画像から余白領域を除いた有効画像領域を決定し、印字領域に前記決定した有効画像領域に適合するよう各画像を拡大、移動し、拡大、移動した画像を入力された数に基づいて縮小し、縮小した画像を、前記一枚の用紙の面に配置するための印刷データを生成する生成手段を有し、前記生成手段は、入力画面を介したユーザーの入力操作に応じて、一枚の用紙の面に配置する画像の数と、自動で画像を拡大する旨の指示と、印刷データ内で拡大率を揃える旨の指示と、が入力された場合、印刷データに含まれる各画像から余白領域を除いた有効画像領域を決定し、印字領域と、前記決定した各画像の有効画像領域と、に基づいて各画像の拡大率を算出し、算出した各画像の拡大率のうち、最小の拡大率を選択し、選択した拡大率に基づいて、各画像を拡大する。
【発明の効果】
【０００７】
本発明によれば、ユーザーの指定したＮｕｐのレイアウトを一定に保ちながら、文書を読み易くするＮｕｐ印刷機能を提供することができる。
【図面の簡単な説明】
【０００８】
【図１】システムの概略構成の一例を示す図である。
【図２】ホストコンピューター１０１と出力デバイス１０２とのハードウェア構成の一例を示す図である。
【図３】印刷処理に関わるプログラムのモジュール構成を表す図である。
【図４（ａ）】拡大率を指定してＮｕｐ印刷した出力イメージを表す図である。
【図４（ｂ）】拡大率を指定してＮｕｐ印刷した出力イメージを表す図である。
【図５】ユーザーの指定した拡大率で入力画像を拡大してからＮｕｐ印刷する処理の一例を示すフローチャートである。
【図６（ａ）】プリンタードライバーのユーザーインターフェースの一例を示す図である。
【図６（ｂ）】プリンタードライバーのユーザーインターフェースの一例を示す図である。
【図６（ｃ）】プリンタードライバーのユーザーインターフェースの一例を示す図である。
【図６（ｄ）】プリンタードライバーのユーザーインターフェースの一例を示す図である。
【図７（ａ）】Ｎｕｐ印刷した出力イメージの一例を示す図である。
【図７（ｂ）】Ｎｕｐ印刷した出力イメージの一例を示す図である。
【図７（ｃ）】Ｎｕｐ印刷した出力イメージの一例を示す図である。
【図７（ｄ）】Ｎｕｐ印刷した出力イメージの一例を示す図である。
【図８】画像を印字領域にフィットさせてＮｕｐ印刷する処理の一例を示すフローチャートである。
【図９】有効画像領域のエッジを検出する処理の一例を説明するための図である。
【図１０】ページ内で拡大率を揃える処理の一例を示すフローチャートである。
【図１１】ヘッダーやフッターを余白と見なして有効画像領域のエッジを決定する処理の一例を示すフローチャートである。
【図１２】ヘッダーやフッターを余白と見なして有効画像領域のエッジを決定する処理を説明するための図である。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について図面に基づいて説明する。
【００１０】
図１は、システムの概略構成の一例を示す図である。
このシステムは、情報処理装置の一例であるホストコンピューター１０１と、ホストコンピューター１０１より印刷データを受信して印刷を行なう出力デバイス１０２と、を備える。
ホストコンピューター１０１と、出力デバイス１０２と、はネットワーク１０４を介して接続されている。
図２は、ホストコンピューター１０１と出力デバイス１０２とのハードウェア構成の一例を示す図である。
一般的なパーソナルコンピューターであるホストコンピューター１０１において、ＣＰＵ１１１は、ＲＡＭ１１２に記憶されているプログラムに従って、システムバス１１４に接続される各デバイスを総括的に制御している。
ＲＡＭ１１２は、ＣＰＵ１１１の主メモリ、ワークエリア等としても機能している。
ＲＯＭ１１３は、各種プログラム及びデータを格納しており、各種フォントを記憶するフォントＲＯＭ１１３ａ、ブートプログラムやＢＩＯＳ等を記憶するプログラムＲＯＭ１１３ｂ、及び各種データを記憶するデータＲＯＭ１１３ｃに区分けして構成されている。
キーボードコントローラＩ／Ｆ１１５は、キーボード１１９や不図示のポインティングデバイス（マウス）からのキー入力信号を制御する。
ディスプレイＩ／Ｆ１１６は、ディスプレイ１２０への表示を制御している。
外部メモリＩ／Ｆ１１７は、例えばハードディスク（ＨＤ）、Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｉｓｋ（ＳＳＤ）等の外部メモリ１２１とのアクセスを制御する。
外部メモリ１２１は、オペレーティングシステムプログラム（以下、ＯＳ）１２２、アプリケーション１２３、グラフィックエンジン１２４、プリンタードライバー１２５、システムスプーラー１２６、更に、不図示のユーザーファイル、編集ファイル等を記憶する。外部メモリ１２１は、例えば、コンピューターが読み取り可能な記憶媒体として機能する。
ネットワークＩ／Ｆ１１８は、ネットワーク１０４を介して出力デバイス１０２に接続され、ホストコンピューター１０１と、出力デバイス１０２と、の間の通信制御処理を行なう。
【００１１】
次に電子写真方式のデジタル複合機である出力デバイス１０２の構成について説明する。
ＣＰＵ１３２は、出力デバイス１０２の全体の動作を制御している。ＲＡＭ１３９は、ＣＰＵ１３２の主メモリ、ワークエリア等として機能すると共に、出力情報展開領域、環境データ格納領域としても用いられる。
また、ＲＡＭ１３９は、ＮＶＲＡＭ（Ｎｏｎ−ｖｏｌａｔｉｌｅ  ＲＡＭ：不揮発性ＲＡＭ）領域も備えており、図示しない増設ポートに接続されるオプションＲＡＭによりメモリ容量を拡張することができるように構成されている。
ＲＯＭ１３３は、各種フォントを記憶するフォントＲＯＭ１３３ａ、ＣＰＵ１３２により実行される制御プログラム等を記憶するプログラムＲＯＭ１３３ｂ、及び各種データを記憶するデータＲＯＭ１３３ｃを備えている。
ネットワークＩ／Ｆ１３８は、ホストコンピューター１０１との間でデータの送受信を行なう。
印刷部Ｉ／Ｆ１３６は、プリンタエンジンである印刷部１３７とのインターフェースを制御している。
外部メモリ１３４は、外部メモリＩ／Ｆ１４０によりアクセスが制御されており、オプションとして接続されるハードディスク（ＨＤ）、Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｉｓｋ（ＳＳＤ）等を含んでいる。外部メモリ１３４は、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。
【００１２】
なお、ハードディスク等の外部メモリ１３４が接続されていない場合には、ＲＯＭ１３３のデータＲＯＭ１３３ｃに、ホストコンピューター１０１で利用される情報等を記憶することになる。
なお、外部メモリ１３４は１個に限らず複数備えるものであってもよく、例えば、内蔵フォントに加えてオプションフォントカード、言語系の異なるプリンター制御言語を解釈するプログラム等を格納した外部メモリを複数接続できるように構成されていてもよい。
操作部１４２には、ユーザーによる操作を受け付ける操作パネルが設けられ、その操作パネルには操作のためのスイッチ及びＬＥＤ表示器等が配されている（不図示）。
また、不図示のＮＶＲＡＭを有し、操作パネルからのプリンターモード設定情報を記憶するようにしてもよい。
ＣＰＵ１３２は、ＲＯＭ１３３のプログラムＲＯＭ１３３ｂに記憶された制御プログラム等に基づき、印刷部Ｉ／Ｆ１３６を介して印刷部１３７に出力情報としての画像信号を出力する。
また、ＣＰＵ１３２は、ネットワークＩ／Ｆ１３８を介してホストコンピューター１０１と通信が可能となっており、ホストコンピューター１０１から印刷データを受信したり、出力デバイス１０２内の情報をホストコンピューター１０１に通知したりする。
【００１３】
図３は、印刷処理に関わるプログラムのモジュール構成を表す図である。
ここでは代表的な例としてＷｉｎｄｏｗｓ（登録商標）  ＯＳにおける印刷システムのモジュール構成と、それらによるおおまかな処理の流れを説明する。
アプリケーション１２３、グラフィックエンジン１２４、プリンタードライバー１２５、及びシステムスプーラー１２６は、外部メモリ１２１に保存されたファイルとして存在する。
そして、これらは、ＯＳ１２２や印刷処理を行う他のモジュールによってＲＡＭ１１２にロードされて、ＣＰＵ１１１によって実行される。なお、以下では、ＣＰＵ１１１ではなく、アプリケーション１２３、グラフィックエンジン１２４、プリンタードライバー１２５、及びシステムスプーラー１２６が処理を行う様、説明を行う。
また、アプリケーション１２３及びプリンタードライバー１２５は、不図示のＣＤ−ＲＯＭ、或いはネットワークＩ／Ｆ１３８を経由して外部メモリ１２１に追加することが可能となっている。
アプリケーション１２３から出力デバイス１０２に対してドキュメントの印刷を行う際には、グラフィックエンジン１２４を利用して出力（描画）を行う。
アプリケーション１２３は、プリンターごとに用意されたプリンタードライバー１２５を出力先として設定する入力をユーザーから受け付ける。
アプリケーション１２３は、必要に応じて予め印刷出力に関わる印刷設定の受け付けも行う。
【００１４】
アプリケーション１２３は、ユーザーにアプリケーション１２３の有するユーザーインターフェースを通じて設定値を入力させたり、プリンタードライバー１２５の有するユーザーインターフェースを表示させ設定値を入力させたりすることができる。なお、プリンタードライバー１２５の有するユーザーインターフェースは、例えば、入力画面の一例である。
アプリケーション１２３に対してユーザーから印刷開始の指示が入力されると、グラフィックエンジン１２４は、アプリケーション１２３から受け取るＧＤＩ関数の一連の命令をＤＤＩ関数の一連の命令に変換し、プリンタードライバー１２５へ出力する。ここで、ＧＤＩとは、Ｇｒａｐｈｉｃｓ  Ｄｅｖｅｉｃｅ  Ｉｎｔｅｒｆａｃｅの略である。また、ＤＤＩとは、Ｄｅｖｉｃｅ  Ｄｒｉｖｅｒ  Ｉｎｔｅｒｆａｃｅの略である。
プリンタードライバー１２５は、グラフィックエンジン１２４から入力されたＤＤＩ関数の命令に基づいて、出力デバイス１０２が認識可能な制御コマンドであるページ記述言語（ＰＤＬ）データに変換する。
なお、プリンタードライバー１２５に入力されるＤＤＩ関数の一連の命令は画像データの一種と見なせるため、以下ではプリンタードライバー１２５が入力するデータを入力画像或いは単に画像と呼ぶ。
入力画像から変換されたＰＤＬデータ（印刷データ）は、システムスプーラー１２６、ネットワークＩ／Ｆ１３８、ネットワーク１０４を経て出力デバイス１０２へ出力される。
【００１５】
＜実施形態１＞
次に実施形態１に係る処理を説明する。
ここで図４（ａ）、（ｂ）は、それぞれ各ページの画像を拡大せずに２ｕｐした場合と、拡大して２ｕｐした場合の出力イメージを表す模式図である。
なお、可読性を優先させるため、以下の実施形態ではＮｕｐの例として２ｕｐを用いて説明を行っているが、４ｕｐ、６ｕｐ、・・・であっても同様である。
図４（ａ）において、物理的な出力用紙３０１に配置された領域３０２は、２ｕｐが指定された場合の印字領域である。そして、印字領域３０２に配置されるページの画像は、２ｕｐの設定に従い原寸から縮小される。なお、ページには有効画像領域３０３が含まれる。一方、図４（ｂ）の有効画像領域３０４は、ユーザーの指定した拡大率にしたがって拡大されてから縮小された画像である。
図４（ａ）では印字領域３０２と有効画像領域３０３との間に大きな隙間が存在する。
この余白はアプリケーション１２３上でユーザーが見た目の良さや読みやすさ等を意図して付けたものであるが、Ｎｕｐ印刷により縮小された画像を、更により一層小さく見せる要因になる。
そこで後述する図５のＳ１０７、Ｓ１０８で述べたように、指定された拡大率（例えば１１０〜１３０％）で画像（原稿ページ）を拡大してからＮｕｐレイアウトを行うことで、印字領域内のスペースを有効に利用することができる。
結果として、図４（ａ）の有効画像領域３０３に含まれる文字や図形が図４（ｂ）の有効画像領域３０４のように拡大されるため、ユーザーの可読性を向上することができる。
実施形態で説明する処理は、このような大きくて読みやすいＮｕｐの出力を得ることを目的としている。
【００１６】
図５は、ユーザーの指定した拡大率で画像を拡大してからＮｕｐ印刷する処理のフローチャートである。なお、本願のフローチャートの各ステップは、ＣＰＵ１１１が関連するプログラムを読み出して実行することで実現される。
まず、アプリケーション１２３は、プリンタードライバー１２５の有するユーザーインターフェースを表示させ、ＮｕｐのＮの値と拡大率とをユーザーに入力させ、ユーザーの入力操作に応じて入力された値を受け取る（Ｓ１０１、Ｓ１０２）。ここで、ＮｕｐのＮの値は、一枚の用紙の面に配置する画像（原稿ページ）の数である。
図６（ａ）にＮｕｐと拡大率とをユーザーが入力（指定）するユーザーインターフェースの画面例を示す。なお、本願では図６（ａ）−（ｄ）はプリンタードライバー１２５により提供される画面として説明する。
ユーザーは、リストボックスコントロール２０１を操作して、ＮｕｐのＮの値として１、２、４、６、８、９、１６等を選択して入力する。
また、ユーザーは、倍率を指定するかどうかを入力するチェックボックス２０２をオンにすると、テキストボックス２０３が倍率を受け付ける。
次に、アプリケーション１２３は、ユーザーから不図示の印刷開始指示手段の入力を受け付け、ドキュメントの印刷処理を開始する（Ｓ１０３）。
印刷処理の開始により、前述した様にグラフィックエンジン１２４を通じて画像がプリンタードライバー１２５に対して入力する。
次に、プリンタードライバー１２５は、入力された画像を設定と共に受信し（Ｓ１０４）、設定されたＮの値が２以上であるかどうか判定する（Ｓ１０５）。
プリンタードライバー１２５は、Ｎが２以上のときはＳ１０６へ、そうでないときはＳ１１０へ進む。
Ｓ１０６においてプリンタードライバー１２５は、更に設定において拡大率が指定されているか判定し、指定されている場合はＳ１０７へ、そうでない場合はＳ１０９へ進む。
【００１７】
拡大率が指定されている場合、プリンタードライバー１２５は、設定された拡大率に従って受信した画像を拡大し（Ｓ１０７）、拡大された画像がＮｕｐの指定に基づく縮小率に従って縮小される。そして、プリンタードライバー１２５は、拡大・縮小された画像が１枚の用紙の面に配置されるようにレイアウト処理を実行する（Ｓ１０８）。
拡大率が指定されていない場合、プリンタードライバー１２５は、受信した画像がＮｕｐの指定に基づく縮小率に従って縮小され、１枚の用紙の面に配置されるようにレイアウト処理を実行する（Ｓ１０９）。
なお、Ｓ１０７において画像の拡大を行う際、プリンタードライバー１２５は、拡大の原点として印字領域３０２の中心を用いる。
Ｓ１１１の拡大処理では印字領域の左上を原点として拡大するが、Ｓ１０７の拡大処理は、有効画像領域の四隅にある余白を取り除くことが目的であるため、左上でなく中心を原点に拡大する。
最後に、Ｓ１１２において、プリンタードライバー１２５は、Ｎｕｐの設定に従うレイアウト処理が実行された（或いはされなかった）画像をＰＤＬに変換し（印刷データを生成し）、システムスプーラー１２６を通じて出力する。
以上、本実施形態のプリンタードライバー１２５は、入力された数の画像を配置するための画像の縮小率と入力された画像の拡大率とに基づいて画像のサイズを決定する。そして、プリンタードライバー１２５は、決定したサイズの画像を、一枚の用紙に配置した印刷データを生成する。なお、本実施例ではＮｕｐの設定に従うレイアウト処理が実行された画像をＰＤＬに変換しているが、プリンタードライバー１２５は、レイアウト処理をプリンターに実行させるようなＰＤＬ（つまり、レイアウト処理前のＰＤＬ）を生成してもよい。何れにしても、プリンタードライバー１２５は、ユーザーの設定に従った印刷物が出力されるようなＰＤＬを生成する。また、本実施形態では、拡大率に従って画像を拡大してからＮｕｐの設定に従って処理しているが、実行順序は逆でもよい。
本実施形態によれば、プリンタードライバー１２５は、ユーザーにＮｕｐ印刷と共に拡大率が指定させることによって入力画像に含まれる余白を取り除いて全体的に大きくすることができる。そのため、読みやすいＮｕｐレイアウトの出力を得ることが可能となる。
【００１８】
＜実施形態２＞
次に実施形態２に係る処理を説明する。
図５のフローチャートに示した方法では、有効画像領域が印字領域に収まるようユーザーが拡大率を調整して入力することとした。
しかしながら、有効画像領域が印字領域に収まる拡大率を入力することはユーザーにとって容易でないため、最適な出力を得るには試しに何回か印刷して試行錯誤しなければならない場合がある。
そこで実施形態２では、自動的に印字領域にフィット（適合）するよう画像を拡大させる処理について述べる。
ここで図７（ａ）、（ｂ）はそれぞれ画像を拡大せずに２ｕｐした場合と、自動的に印字領域にフィットするように画像を拡大して２ｕｐした場合と、の出力イメージを表す模式図である。
図７（ａ）の出力用紙３１１は、２ｕｐのレイアウトに合う印字領域３１２、３１４を備える。印字領域３１２、３１４には、２ページ分の有効画像領域３１３と３１５が含まれる。
一方、図７（ｂ）の有効画像領域３１６と３１７は、印字領域に自動的にフィットするよう拡大してから縮小されている。
実施形態２で説明する処理は、図７（ｂ）のように、印字領域内の余白をできるだけ隅々まで使った出力を得ることを目的としている。
【００１９】
以下、図８のフローチャートを用いて、実施形態２の処理を説明する。
アプリケーション１２３は、プリンタードライバー１２５の有するユーザーインターフェースを表示させ、ＮｕｐのＮの値と自動的に拡大するか否かとをユーザーに入力させ、ユーザーの入力操作に応じて入力された値及び設定を受け取る（Ｓ２０１、Ｓ２０２）。
図６（ｂ）にＮｕｐ及び自動的に拡大するか否かを入力するユーザーインターフェースの画面例を示す。
Ｎの値の入力手段は前述の２０１と同様である。
ユーザーは、チェックボックス２０２をオンにすると、原稿を自動的に拡大することがプリンタードライバー１２５に指示される。
次に、アプリケーション１２３は、ユーザーから不図示の印刷開始指示手段の入力を受け付け、ドキュメントの印刷処理を開始する（Ｓ２０３）。
印刷処理の開始により、前述した様にグラフィックエンジン１２４を通じて画像がプリンタードライバー１２５に対して入力される。
次に、プリンタードライバー１２５は、入力された画像を設定と共に受信し（Ｓ２０４）、設定を確認して自動的に画像を拡大するかどうかどうか判定する（Ｓ２０５）。
プリンタードライバー１２５は、自動的に拡大するときはＳ２０６へ、そうでないときはＳ２１２へ進む。
プリンタードライバー１２５は、Ｓ２０５で自動的に拡大すると判定された場合は、まず画像をビットマップにレンダリングする（Ｓ２０６）。
【００２０】
プリンタードライバー１２５に入力された画像がＤＤＩの描画命令の集合であることは既に述べた通りである。
この描画命令の集合の形式は特定の出力解像度に依存しない等の特徴を備えるが、文字や図形がどの位置に出力されているか等の情報を分析するのには不向きである。
そこで、こうした分析に適したビットマップの形式へ変換を行ってから、後述するＳ２０７の処理を行う。
描画命令の集合からビットマップへの変換にはグラフィックエンジン１２４を利用する。
より具体的には、プリンタードライバー１２５は、グラフィックエンジン１２４の提供するＡＰＩに対し、出力先としてＲＡＭ１３９上に確保したビットマップ領域を指定して、ＤＤＩの描画命令を出力するよう指示する。すると所望のビットマップ形式のデータが得られる。
なお、Ｓ２０７での分析に用いるビットマップにはカラー情報は必要なくモノクロ２値情報だけあればよいので、予めグラフィックエンジン１２４にはモノクロ２値のビットマップを出力するよう指示しておく。
こうすることによりＲＡＭ１３９上に確保するビットマップ領域のサイズが小さくて済むので処理の効率もよい。
【００２１】
次に、Ｓ２０７において、プリンタードライバー１２５は、Ｓ２０６で得られたビットマップを分析してエッジを検出し、有効画像領域を決定する。
図９にエッジを検出して有効画像領域を決定する処理の説明図を示す。
有効画像領域とは、画像から余白領域を除いた、ビットマップ上で有効な画素が接する４辺で囲まれた外接矩形領域のことである（図９における４０１）。
プリンタードライバー１２５は、上下左右の各辺に関して、画像のビットマップにおいて外側から１行（又は１列）ずつビットマップを取り出し、有効な画素が含まれているか検査する。
プリンタードライバー１２５は、行（列）の中に１つでも有効な画素がある場合、その行（列）の位置をエッジとして決定し、有効な画素がない場合、有効な画素が出現するまで次の１行（列）を取り出して検査する処理を繰り返す。
次に、Ｓ２０８において、プリンタードライバー１２５は、このようにして決定された有効画像領域と、出力するページの印字領域と、からフィット拡大率を計算（算出）する。
ここでフィット拡大率とは、有効画像領域の縦横比を維持しながら印字領域の幅・高さの何れも超えないように拡大、即ちフィットするように拡大するときの拡大率を指す。
次に、Ｓ２０９において、プリンタードライバー１２５は、Ｓ２０８で計算されたフィット拡大率を画像に適用して拡大して、移動する（適合）。
ここで行う拡大処理は画像を印字領域にフィットさせることが目的なので、画像のどの位置を中心に拡大するかは本質的ではなく、プリンタードライバー１２５は、拡大後の画像が印字領域内に収まるよう移動を行う。
このとき、印字領域と画像の縦横比とが異なることに起因して、左右（上下）に引き続き余白が生じる場合、プリンタードライバー１２５は、拡大後の画像を印字領域の左上に移動してもよいし、左右（上下）の余白が均等になるよう中央に配置してもよい。
或いは、プリンタードライバー１２５は、画像の見た目が拡大前となるべく同じになるよう、Ｓ１０７と同様に印字領域の中心を原点にしてフィット拡大率を適用して拡大し、印字領域からはみ出た場合のみ収まるよう移動してもよい。
【００２２】
次に、プリンタードライバー１２５は、Ｎが２以上か判断し（Ｓ２１０）、２以上である場合、Ｓ２１１に、２以上でない場合、Ｓ２１４に進む。
Ｓ２１１の処理は、図５のＳ１０８と同じであるため省略する。
一方、Ｓ２０５で自動的に拡大を行わないと判定された場合、プリンタードライバー１２５は、Ｎが２以上であるか判断する（Ｓ２１２）。プリンタードライバー１２５は、Ｎが２以上である場合、Ｎ個の画像を縮小してＮｕｐレイアウトを行い（Ｓ２１３）、Ｎが２以上でない場合、何もせずＳ２１４に進む。
最後に、Ｓ２１４において、プリンタードライバー１２５は、Ｎｕｐされた（或いはされなかった）画像をＰＤＬに変換し、システムスプーラー１２６を通じて出力する（生成）。
以上、実施形態２では、ユーザーが拡大率を指定することなく有効画像領域が印字領域にフィットするよう画像を拡大する処理について説明した。
本処理によって、拡大され読みやすいＮｕｐレイアウトの出力を自動的に得ることが可能となる。
【００２３】
＜実施形態３＞
次に実施形態３に係る処理を説明する。
実施形態２で示した処理では有効画像領域が印字領域にフィットするよう自動的に拡大されるが、有効画像領域と印字領域との間にある余白の大きさが画像によって異なる場合、図７（ｂ）のように拡大率も画像単位に異なる。そのため文字の大きさ等に統一感がなくなってしまう。
ここで図７（ｃ）は、ページ内に含まれる画像の拡大率を揃えて２ｕｐした出力イメージを表す模式図である。
図７（ｃ）と、拡大率を揃えずに２ｕｐした実施形態２の図７（ｂ）と、の出力イメージを比較すると、図７（ｂ）の画像３１７に比べて図７（ｃ）の画像３１９の方が拡大の度合いが小さい。
これは、プリンタードライバー１２５が、図７（ｃ）を得るために左側の有効画像領域３１３を印字領域３１２にフィットさせる拡大率と、右側の有効画像領域３１５を印字領域３１４にフィットさせる拡大率とを算出する。そして、プリンタードライバー１２５が、小さい方の拡大率を使用して画像を拡大したためである。
そこで、本実施形態３で説明する処理は、プリンタードライバー１２５が、図７（ｃ）のように同一用紙の面に配置される全画像のフィット拡大率から一番小さい拡大率を選んで全画像の拡大を行い、画像同士に統一感のある出力を得ることを目的としている。
以下、図１０のフローチャートを用いて、実施形態３の処理を説明する。
本実施形態３において、図１０のＳ３０１〜Ｓ３０５は、前述のＳ２０１〜Ｓ２０４と同様である。
但し、Ｓ３０３において、ページ内で拡大率を揃えるかどうか設定を入力する処理が唯一異なるのでＳ３０３について説明する。
【００２４】
図６（ｃ）にページ内で拡大率を揃えるかどうかを入力する手段を備えたユーザーインターフェースの画面例を示す。
ユーザーが、チェックボックス２０５をオンにすると用紙の面に配置されるＮ個の画像の拡大率が揃えられ、ページ内の見た目にばらつきが出ないようになる。つまり、プリンタードライバー１２５は、ユーザーが１枚の用紙に配置されるＮ個の画像の拡大率を揃えるよう、チェックボックス２０５にチェックを行ったか否かの設定を受け取る。
次にＳ３０５に続いて、プリンタードライバー１２５は、入力された設定を確認して、自動的に画像を拡大するかどうかどうか判定する（Ｓ３０６）。
プリンタードライバー１２５は、自動的に拡大するときはＳ３０７へ、そうでないときはＳ３２１へ進む。
自動的に拡大するよう指定されている場合、プリンタードライバー１２５は、更に設定を確認して、ページ内で拡大率を揃えるかどうか判定する（Ｓ３０７）。
プリンタードライバー１２５は、ページ内で拡大率を揃える場合は、Ｓ３０８へ進み、そうでない場合は、Ｓ３１６へ進む。
次に、プリンタードライバー１２５は、１つ目の画像からＭ個目の画像（Ｍは入力された全画像数）についてＳ３０８〜Ｓ３１５の処理を繰り返す。
繰り返しの始めに、プリンタードライバー１２５は、ページ内で共通のフィット拡大率をＸとするとき、このＸの値を非常に大きい数（ここでは２バイト符号無し整数で最大の０ｘＦＦＦＦ）で初期化する（Ｓ３０９）。
プリンタードライバー１２５は、共通のフィット拡大率ＸとしてＮ個の画像のフィット拡大率の中から最小のものを選択する。
Ｘを非常に大きい数で初期化しておくのはこのためである。
【００２５】
次に、プリンタードライバー１２５は、Ｓ３１０へ進み、Ｓ３１０〜Ｓ３１３の処理をＭ個の画像の中の１つ目の画像からＮｕｐのＮの値に対応するＮ個目の画像に対して繰り返す。
Ｓ３１０〜Ｓ３１３の繰り返しの始めに、プリンタードライバー１２５は、Ｎ個の中のある画像に関して、前述のビットマップのレンダリング（Ｓ２０６）、有効画像領域の決定（Ｓ２０７）、フィット拡大率の計算（Ｓ２０８）の処理を行う。
この結果計算された、ある画像のフィット拡大率をＡとする。
次に、プリンタードライバー１２５は、ＡがＸよりも小さいかどうか判断し（Ｓ３１１）、小さい場合、Ｓ３１２へ進んでＡをＸとし（即ちＸにＡの値を代入）、小さくない場合、Ｓ３１３のループ端へ進む。
Ｓ３１３では、プリンタードライバー１２５は、Ｎ個の画像について処理が終わったかどうか判断し、終わっていない場合、ループ先頭のＳ３１０へ戻り、終わっている場合、Ｓ３１４へ進む。
次に、プリンタードライバー１２５は、Ｓ３１４において、Ｓ３１０〜Ｓ３１３の繰り返しで得られた最小のフィット拡大率Ｘを、Ｎ個の画像に適用して拡大する。
プリンタードライバー１２５は、Ｓ３１５でＭ個の画像について処理が終わったかどうか判断し、終わっていない場合、ループ先頭のＳ３０８へ戻り、終わっている場合、Ｓ３１９へ進む。
以上、Ｓ３０８の処理の結果、拡大率をＮ個ごとに揃えつつ可能な限り大きく拡大したＭ個の画像が得られる。
【００２６】
一方、ページ内で拡大率を揃えないケースの処理であるＳ３１６〜Ｓ３１８では、各画像が各印字領域に最大限大きくフィットするよう拡大されたＭ個の画像が得られる。
Ｓ３１６−Ｓ３１８はそれぞれＳ３０８、Ｓ３１４、Ｓ３１５と等価な処理であるため説明を省略する。
また、Ｓ３１９−Ｓ３２０は、Ｓ１０５、Ｓ１０８と同じ処理であるため説明を省略する。
また、一方、Ｓ３０６で自動的に拡大しないと判定された場合、プリンタードライバー１２５は、Ｓ３２１、Ｓ３２２に進むが、これらはＳ２１２、Ｓ２１３と等価な処理であるため説明を省略する。
最後に、Ｓ３２３において、プリンタードライバー１２５は、入力された画像をＰＤＬに変換し、システムスプーラー１２６を通じて出力する。
以上、実施形態３では、ページ内に含まれる画像の中から最小のフィット拡大率を全ての画像に適用する処理について説明した。
【００２７】
本処理によって、画像を自動的に印字領域にフィットさせつつ、Ｎｕｐ設定に従い用紙の面に配置されたＮ個の画像の拡大率を揃えて見た目に統一感を持たせることができる。
なお、上記の処理では１枚の用紙の面に配置されるＮ個の画像ごとに拡大率を揃えたが、印刷データ内に含まれるＭ個の全ページにわたって拡大率を揃えてもよい。つまり、プリンタードライバー１２５は、図６（ｃ）の様な画面において、２０５に加えて、又は２０５に換えて、表示される「全ページ内（印刷データ内）で拡大率を揃える」等のチェックボックスを介して、ユーザーによる入力等を受け取る。そして、プリンタードライバー１２５は、「全ページ内（印刷データ内）で拡大率を揃える」にチェックが入っていた旨の設定を受け取ると、全ページ内に含まれる全画像のフィット拡大率から一番小さい拡大率を選んで全画像の拡大を行う。
【００２８】
＜実施形態４＞
次に実施形態４に係る処理を説明する。
印刷するデータには、しばしばページ番号やタイトル等の情報がヘッダーやフッターの位置に配置されている。
印刷データを配布資料として出力する際、これらの情報が出力物に正しく印字されていることが重要である。しかしながら、例えば、個人的に原稿の査読等を行うためだけに出力するのであれば、必ずしも必須でない場合もある。
ここで図７（ｃ）は、印刷データのフッターに配置されたページ番号３２０のテキスト描画を模式的に表したものである。
仮に、このページ番号３２０の情報をユーザーが不要と見なして取り除いた場合、画像の下端は、テキスト３２１であり、テキスト３２１が有効画像領域３１８の下端になる。
その結果、印字領域３１２に占める有効画像領域３１８の面積は狭くなり、逆に狭くなった分だけ拡大できる余地が広がるのでより大きな拡大率を画像に対して適用でき、図７（ｄ）に示すように文字や図形を更に大きく拡大することができる。
そこで実施形態４で説明する処理は、図７（ｄ）のような、ヘッダー・フッター及び画像の左右にある補助的な描画情報を削除することによって更に画像を大きく拡大することを目的としている。
【００２９】
図６（ｄ）に本実施形態の処理を適用するためのプリンタードライバー１２５のユーザーインターフェース上の例を示す。
説明文の「ヘッダーやフッターを余白とみなす」が示す通り、ユーザーがチェックボックス２０６をオンにすると後述するＳ４０１〜Ｓ４０９が実行される。逆に、ユーザーがこのチェックボックス２０６をオフにすると後述するＳ４０１〜Ｓ４０９は実行されない。
以下、図１１のフローチャートを用いて、実施形態４の処理を説明する。
本処理は前述のステップＳ２０７で説明した、入力画像のエッジを検出し、有効画像領域を決定する処理に代わるものである。
Ｓ２０７では、プリンタードライバー１２５は、画像の上下左右各辺を外側から調べ、有効な画素が現れる位置をエッジとした。
一方、本実施形態の処理では、プリンタードライバー１２５は、画素の現れる位置を直ちにエッジとせず、一定の条件を満たす場合だけエッジとして決定する。
まず、Ｓ２０６において、プリンタードライバー１２５は、入力された画像をビットマップにレンダリングして、Ｓ４０１に進む。
次に、プリンタードライバー１２５は、Ｓ４０１〜Ｓ４０９を、有効画像領域の外接矩形を決定するために画像の上下左右各辺に関して任意の回数（Ｙ回とする）、繰り返し処理する。
即ち、プリンタードライバー１２５は、例えば上、右、下、左と処理したら、再び戻って上、右、下、左とＹ回処理する。
このように処理を繰り返すのは、ある回の処理結果が次の回の処理に影響を与える可能性があるからである。
繰り返しの始めに、プリンタードライバー１２５は、現在注目している辺の外側から１行（列）の画像を取り出す（Ｓ４０２）。
次に、プリンタードライバー１２５は、取り出された行（列）に含まれる全ての画素を検出し（Ｓ４０３）、１つ以上の画素が行（列）に含まれるかどうか判定する（Ｓ４０４）。
プリンタードライバー１２５は、１つ以上の画素がある場合、Ｓ４０５へ進み、１つ以上の画素がない場合、Ｓ４０２に戻ってまた次の行（列）を取り出す。
次のステップＳ４０５では、プリンタードライバー１２５は、一定距離内にある画素同士を結び、結ばれた画素の集合をグループ線分とする。
【００３０】
図１２に、本実施形態におけるエッジ検出処理の説明図を示す。
図１２は、それぞれ画像の下端、左端から順に取り出され行（列）の中で、Ｓ４０４によって、最初に有効な画素が現われたと判定された下端の行４０２と左端の列４０３を示す。
図１２の例では、行４０２には２つの画素４０２１−４０２２が隣り合って存在しており、一方の列４０３には６つの画素４０３１−４０３６が点在している。
ステップＳ４０５において、プリンタードライバー１２５は、この行（列）に含まれる画素を端から順に２つずつ取り出し、２つの画素同士が一定距離内にあればそれらを仮想的な線分で結んでグループ化する。
本実施形態では、こうして結ばれた線分をグループ線分と呼ぶ。
例えば、プリンタードライバー１２５は、距離が５以内である画素同士をグループ線分と見なすよう設定されている場合、行４０２においては、画素４０２１と４０２２との画素を結んだ長さ２の線分がグループ線分となる。
一方、列４０３に含まれる画素４０３１〜４０３６は隣り合ったもの同士、互いに全て距離が５以内であり、結果的に４０３１と４０３６を結んだ全画素を包含する長い線分がグループ線分となる。
次に、プリンタードライバー１２５は、決定されたグループ線分の長さの合計が、行（列）に占める割合を計算し密度とする（Ｓ４０６）。
ここで定義する密度とは、注目する行（列）にどれぐらい描画情報が含まれているかを示す指標である。
【００３１】
次のステップＳ４０７では、プリンタードライバー１２５は、密度が基準となる割合（閾値）を上回っている場合、画像から余白領域を除く処理を中止し、Ｓ４０８へ進んで注目する行（列）をエッジとみなす。一方、プリンタードライバー１２５は、密度が基準となる割合（閾値）を上回っていない場合、エッジとはみなさず、画像から余白領域を除く処理を継続するため、Ｓ４０２に再び戻って、次の行（列）を取り出す。
仮にＳ４０７の基準となる割合を３０％とすると、行４０２は、長さ２２に対してグループ線分の合計は長さが２なので密度は１０％強しかなく、基準を下回るので画像のエッジとはみなされずに、Ｓ４０２に戻って次の行が取り出される。
一方、列４０３は、長さ３２に対してグループ線分を合計した長さが２６なので密度は８０％強あり、基準を上回っているのでエッジとみなされる。
なお、閾値は予め定められた値でもよいし、外部メモリ１２１等に設定されている値であって、適宜、変更可能な値であってもよい。
以上に示した処理によって、フッターにあるページ番号のような描画情報は有効画像領域から除外されて余白とみなされ、逆に文書本文の行頭のような描画情報は有効画像領域内に含まれる。
なお、Ｓ４０１〜Ｓ４０９の処理をＹ回繰り返すのは、ある行（列）がエッジとしてみなされるかどうかが、隣り合う列（行）の長さそのものに影響するからである。
例えば、Ｓ４０２〜Ｓ４０７の処理の結果、画像の下端に関しては行４０２の位置よりも内側（図１２では距離にして内側へ４）がエッジと決定される。
この結果を踏まえて、プリンタードライバー１２５は、次に画像左端の外側から列を取り出す。そうすると、例えば列４０３の内、画像下端のエッジよりも下にある部分は処理の対象とみなす必要がないので除外してよく、結果として列４０３の長さは図示しているよりも長さ４だけ短くなる。
このように、Ｓ４０２〜Ｓ４０７の処理結果が、次のＳ４０２〜Ｓ４０７の処理結果に影響するので、影響が無視できるほどになるまで、プリンタードライバー１２５は、複数回（Ｙ回）繰り返し処理を実行する。
この繰り返し回数Ｙの最適値は、画素の配置に依存するため一意には決定できないが、Ｙ＝２又は３でおおむね処理結果の影響が収束するので、実用上はこれらの値を予め選択して処理する。
【００３２】
最後に、プリンタードライバー１２５は、このように繰り返し処理することによって決定された有効画像領域と、ページの印字領域とからフィット拡大率を計算する（Ｓ２０８）。
以上、実施形態４では、ヘッダー・フッター等にある補助的な描画情報を削除し、より大きいフィット拡大率を得る処理について説明した。
本処理によって、更に大きく読みやすいＮｕｐの出力を自動的に得ることが可能となる。
なお、本実施形態では、プリンタードライバー１２５は、画面を介した入力等に応じて、ヘッダー及びフッター等にある補助的な描画情報を削除するよう説明を行った。しかしながら、プリンタードライバー１２５は、画面を介した入力等に応じて、ヘッダー、又はフッターのどちらか一方にある補助的な描画情報を削除するようにしてもよい。つまり、プリンタードライバー１２５は、図６（ｄ）の画面において、チェックボックス２０６に加えて（又は換えて）、表示される「ヘッダーを余白とみなす」や「フッターを余白とみなす」等のチェックボックスを介して、ユーザーによる入力等を受け取る。そして、プリンタードライバー１２５は、「ヘッダーを余白とみなす」又は「フッターを余白とみなす」にチェックが入っていた旨の設定を受け取ると、ヘッダー又はフッター等にある補助的な描画情報を削除する。
【００３３】
＜実施形態５＞
なお、本発明は以下のような実施形態においても有効であり、上記説明した実施形態と同等の効果を得られる。
まず、上記の説明は、ホストコンピューター１０１上のプリンタードライバー１２５に処理を実装した例であるが、出力デバイス１０２に同様の処理を実装してもよい。
また、上記の説明は、出力デバイスとしてデジタル複合機を採用した例であるが、例えば、インクジェット方式等他の方式の出力デバイスであってもよい。
また、上記の説明は、電子的な印刷データを印刷する過程の中で処理を実行する形態について述べたが、物理的な紙のデータをスキャナ装置に読み込ませてコピー出力する過程の中で実行してもよい。
【００３４】
＜その他の実施形態＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【００３５】
以上、上述した各実施形態によれば、ユーザーの指定したＮｕｐのレイアウトを一定に保ちながら、文書を読み易くするＮｕｐ印刷機能を提供することができる。
【００３６】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図１】
0005610781.tif 000002
【図２】
0005610781.tif 000003
【図３】
0005610781.tif 000004
【図４（ａ）】
0005610781.tif 000005
【図４（ｂ）】
0005610781.tif 000006
【図５】
0005610781.tif 000007
【図６（ａ）】
0005610781.tif 000008
【図６（ｂ）】
0005610781.tif 000009
【図６（ｃ）】
0005610781.tif 000010
【図６（ｄ）】
0005610781.tif 000011
【図７（ａ）】
0005610781.tif 000012
【図７（ｂ）】
0005610781.tif 000013
【図７（ｃ）】
0005610781.tif 000014
【図７（ｄ）】
0005610781.tif 000015
【図８】
0005610781.tif 000016
【図９】
0005610781.tif 000017
【図１０】
0005610781.tif 000018
【図１１】
0005610781.tif 000019
【図１２】
0005610781.tif 000020