"レイアウト領域に対して矩形の複数のコンテンツとテキストとを配置して文書を生成する文書生成装置であって、前記テキストのフォント情報に基づいて、前記レイアウト領域に対して前記テキストが配置される領域であるテキスト領域の面積を算出する第1の算出手段と、前記テキスト領域の面積、前記レイアウト領域の辺の長さ、及び、前記複数のコンテンツのアスペクト比を定数とし、前記複数のコンテンツの一辺の長さを変数として含む方程式を用いて、前記複数のコンテンツのサイズを算出する第2の算出手段とを有することを特徴とする文書生成装置。前記方程式は楕円方程式であり、前記第2の算出手段は、前記楕円方程式により表される楕円と所定の直線との交点を求めることにより、前記複数のコンテンツのサイズを算出することを特徴とする請求項1に記載の文書生成装置。前記レイアウト領域に対して配置される前記コンテンツが3つ以上存在する場合、前記テキストを複数の分割テキストに分割する第1の分割手段と、前記各分割テキストに対して1つ又は2つの前記コンテンツを振り分けてグルーピングするグルーピング手段と、前記レイアウト領域を分割することにより、前記グルーピング手段により生成された各グループが配置される分割レイアウト領域を生成する第2の分割手段とを更に有し、前記第1の算出手段は、前記第2の分割手段により生成された前記各分割レイアウト領域に対してテキスト領域の面積を算出し、前記第2の算出手段は、前記各分割レイアウト領域の前記テキスト領域の面積に基づいて、前記各分割レイアウト領域における前記コンテンツのサイズを算出することを特徴とする請求項1又は2に記載の文書生成装置。前記第2の分割手段は、前記各分割テキストの文字数に基づいて、前記レイアウト領域を分割することを特徴とする請求項3に記載の文書生成装置。前記グルーピング手段は、前記各分割テキストと前記コンテンツとの関連性に基づいてグルーピングすることを特徴とする請求項3又は4に記載の文書生成装置。レイアウト領域に対して矩形の複数のコンテンツとテキストとを配置して文書を生成する文書生成装置によって実行される文書生成方法であって、前記テキストのフォント情報に基づいて、前記レイアウト領域に対して前記テキストが配置される領域であるテキスト領域の面積を算出する第1の算出ステップと、前記テキスト領域の面積、前記レイアウト領域の辺の長さ、及び、前記複数のコンテンツのアスペクト比を定数とし、前記複数のコンテンツの一辺の長さを変数として含む方程式を用いて、前記複数のコンテンツのサイズを算出する第2の算出ステップとを有することを特徴とする文書生成方法。レイアウト領域に対して矩形の複数のコンテンツとテキストとを配置して文書を生成する文書生成装置によって実行される文書生成方法をコンピュータに実行させるためのプログラムであって、前記テキストのフォント情報に基づいて、前記レイアウト領域に対して前記テキストが配置される領域であるテキスト領域の面積を算出する第1の算出ステップと、前記テキスト領域の面積、前記レイアウト領域の辺の長さ、及び、前記複数のコンテンツのアスペクト比を定数とし、前記複数のコンテンツの一辺の長さを変数として含む方程式を用いて、前記複数のコンテンツのサイズを算出する第2の算出ステップとをコンピュータに実行させるためのプログラム。しかしながら、従来の技術では、テンプレートなしでフォントサイズや文字数を固定したテキストや、写真等の複数のコンテンツを隙間なくレイアウトするためには、人手で調整する必要があった。そこで、本発明の目的は、テンプレートなしでフォントサイズや文字数を固定したテキストや複数のコンテンツを隙間なくレイアウトするためのコンテンツのサイズを自動で決定することにある。本発明の文書生成装置は、レイアウト領域に対して矩形の複数のコンテンツとテキストとを配置して文書を生成する文書生成装置であって、前記テキストのフォント情報に基づいて、前記レイアウト領域に対して前記テキストが配置される領域であるテキスト領域の面積を算出する第1の算出手段と、前記テキスト領域の面積、前記レイアウト領域の辺の長さ、及び、前記複数のコンテンツのアスペクト比を定数とし、前記複数のコンテンツの一辺の長さを変数として含む方程式を用いて、前記複数のコンテンツのサイズを算出する第2の算出手段とを有することを特徴とする。本発明によれば、テンプレートなしでフォントサイズや文字数を固定したテキストや複数のコンテンツを隙間なくレイアウトするためのコンテンツのサイズを自動で決定することができる。以下、本発明を適用した好適な実施形態を、添付図面を参照しながら詳細に説明する。先ず、本発明の第1の実施形態について説明する。図1は、本発明の第1の実施形態に係る文書生成装置の構成を示す図である。図1に示すように、本実施形態に係る文書生成装置は、記憶部111、入力部113、CPUであるデータ処理部115、表示部116及びネットワークI/F部117によって構成される。次に、図2及び図3を参照しながら、第1の実施形態に係る文書生成装置の処理の概要について説明する。図2は、第1の実施形態に係る文書生成装置の処理の概要を示すフローチャートである。図3は、レイアウト領域に対して2つのコンテンツ及びテキストをレイアウトした状態を示す図である。ステップS201において、データ処理部115は、レイアウト領域と、レイアウト領域に対してレイアウトするコンテンツ及びテキスト等のオブジェクトと、フォントサイズ及びフォント種別等のフォント情報とを取得する。ステップS202において、データ処理部115は、テキストの文字数及びフォント情報に基づいてテキスト領域の面積を計算する。具体的には、データ処理部115は、フォント情報のフォントサイズ及びフォント種別から仮想ボディを取得する。次にデータ処理部115は、仮想ボディの面積にテキストの文字数を乗算してテキスト領域の面積を算出する。ステップS203において、データ処理部115は、コンテンツのサイズ縦、横の長さを算出する。ここで、ステップS202で算出されたテキスト領域の面積は一定とし、図3に示すように、レイアウト領域は面積がa×raa>0,r>0の矩形とし、コンテンツはアスペクト比が一定の矩形とする。第1のコンテンツの面積はx×px縦×横p>0と表し、第2のコンテンツの面積はy×qy縦×横q>0と表す。なお、p、q、rは夫々、第1のコンテンツのアスペクト比、第2のコンテンツのアスペクト比、レイアウト領域のアスペクト比である。なお、ステップS202は、第1の算出手段の処理例であり、ステップS203は、第2の算出手段の処理例である。第1のコンテンツ、第2のコンテンツは、拡大及び縮小させることが可能であるが、その際には、アスペクト比p、qは一定のまま保持される。また、第1のコンテンツの面積、第2のコンテンツの面積は、所定の範囲内に収まることを要する。即ち、第1のコンテンツの辺の長さの範囲は、0<x<a、0<x<ra/pである。また、第2のコンテンツの辺の長さの範囲は、0<y<a、0<y<ra/qである。第1のコンテンツと第2のコンテンツとの間では、0<xy<a、又は、0<pxqy<raの制約がある。テキスト領域の面積T=仮想ボディの面積×テキストの文字数とすると、T=ra2-px2-qy2となり、次の式に変形することができる。なお、a、rは定数である。x2/qra2-Ty2/pra2-T=1楕円方程式上記第1のコンテンツ、第2のコンテンツの辺の長さの範囲条件により、0<x≦mina,ra/p,0<y≦mina,ra/qとなる。従って、グラフ化すると、テキスト領域の面積Tを確保しながら、第1のコンテンツ、第2のコンテンツの面積を最大化する変数x、yの範囲は、図4の楕円の部分円弧401となる。次に、図2のステップS203について詳細に説明する。データ処理部115は、図4に示す楕円の部分円弧401と直線xy=aとの交点が存在する場合、その交点の座標x、yを第1の交点の座標として決定する。このようにして決定された第1の交点の座標のxの値とyの値とによって第1のコンテンツのサイズと第2のコンテンツのサイズとを定めることにより、第1のコンテンツ、第2のコンテンツを縦に隙間なく配置することが可能となる。また、データ処理部115は、楕円の部分円弧401と直線pxqy=raとの交点が存在する場合、その交点の座標x,yを第2の交点の座標として決定する。このようにして決定された第2の交点の座標のxの値とyの値とによって第1のコンテンツのサイズと第2のコンテンツのサイズとを定めることにより、第1のコンテンツ、第2のコンテンツを横に隙間なく配置することが可能となる。また、データ処理部115は、楕円の部分円弧401と直線y=xとの交点が存在する場合、その交点の座標x,yを第3の交点の座標として決定する。このようにして決定された第3の交点の座標のxの値とyの値とによって第1のコンテンツのサイズと第2のコンテンツのサイズとを定めることにより、第1のコンテンツの高さと第2のコンテンツの高さとを等しくすることができる。なお、上記交点が存在しない場合、データ処理部115は、部分円弧401の中点の座標のxの値とyの値とによって第1のコンテンツのサイズと第2のコンテンツのサイズとを定める。なお、交点の存在の有無に関する判断は、上述した順序第1の交点、第2の交点、第3の交点で行う必要はなく、任意の順序で行ってよい。次に、図5を参照しながら、図2のステップS203について詳細に説明する。図5は、図2のステップS203の詳細を示すフローチャートである。ステップS501において、データ処理部115は、楕円の部分円弧401とxy=aとの交点第1の交点が存在するか否かを判定する。第1の交点が存在する場合、処理はステップS504に移行する。一方、第1の交点が存在しない場合、処理はステップS502に移行する。ステップS502において、データ処理部115は、楕円の部分円弧401とpxqy=raとの交点第2の交点が存在するか否かを判定する。第2の交点が存在する場合、処理はステップS505に移行する。一方、第2の交点が存在しない場合、処理はステップS503に移行する。ステップS503において、データ処理部115は、楕円の部分円弧401とy=xとの交点第3の交点が存在するか否かを判定する。第3の交点が存在する場合、処理はステップS506に移行する。一方、第3の交点が存在しない場合、処理はステップS507に移行する。ステップS504において、データ処理部115は、第1の交点の座標のxの値及びyの値に基づいて、第1のコンテンツのサイズ、第2のコンテンツのサイズを算出する。ステップS505において、データ処理部115は、第2の交点の座標のxの値及びyの値に基づいて、第1のコンテンツのサイズ、第2のコンテンツのサイズを算出する。ステップS506において、データ処理部115は、第3の交点の座標のxの値及びyの値に基づいて、第1のコンテンツのサイズ、第2のコンテンツのサイズを算出する。ステップS507において、データ処理部115は、部分円弧401の中点の座標のxの値及びyの値に基づいて、第1のコンテンツのサイズ、第2のコンテンツのサイズを算出する。以上のように、第1の実施形態においては、1台の文書生成装置がステップS201、S202、S203の処理を全て実行している。その変形例として、図6に示すように、複数の文書生成装置A601、B602、C603をネットワークで接続し、各文書生成装置A601、B602、C603が、図2のステップS201、S202、S203の各処理を分担するようにしてもよい。本実施形態によれば、テンプレートなしでフォントサイズや文字数を固定したテキストや、写真等の複数のコンテンツを隙間なくレイアウトするためのコンテンツのサイズを自動で決定することができる。そのため、ユーザはコンテンツの配置を決定するだけで最適レイアウトのドキュメントを容易に作成することができる。次に、本発明の第2の実施形態について説明する。第1の実施形態においては、レイアウト領域に対して2つのコンテンツを配置する場合について説明したが、第2の実施形態では、レイアウト領域に対して3つ以上のコンテンツを配置する。なお、第2の実施形態に係る文書生成装置の構成は図1に示した構成と同様であるため、第2の実施形態についても図1の符号を用いて説明を行うものとする。以下、図7及び図8を参照しながら、第2の実施形態に係る文書生成装置の処理について説明する。図7は、第2の実施形態に係る文書生成装置の処理を示すフローチャートである。図8は、レイアウト領域に対して5つのコンテンツ及びテキストをレイアウトした状態を示す図である。ステップS701において、データ処理部115は、1つのテキストを複数のテキストに分割し以下、分割されたテキストを分割テキストと称す、内容等の関連性に応じて各分割テキストに対して1つ又は2つのコンテンツを振り分けてグルーピングする。図8の例では、第1の分割テキストに対しては第1、第2のコンテンツ、第2の分割テキストに対しては第3、第4のコンテンツ、第3の分割テキストに対しては第5のコンテンツが振り分けられた状態を示している。ここで、テキストの分割数は、コンテンツ数/2によって求めるものとする。図8の例の場合、コンテンツ数は5つであるため、分割数は3となる。また、テキストの分割の際には、各文の文字数を加算していき、平均文字数を超えた文までを1つの分割テキストとする。ここでは、テキストTを、第1~第3の分割テキストT1~T3に分割したものとする。なお、構造化文書等のように段落を取得することができる場合には、テキストを段落単位で分割してもよい。なお、ステップS701は、第1の分割手段の処理例である。分割テキストとコンテンツとの関連付けは、例えばテキスト中の図番号や画像のアノテイションとテキスト中の各文との類似度等から、コンテンツの関連部分がテキストのどの文にあるかを利用して行う。上記のグルーピングの結果、1つの分割テキストに対して3つ以上のコンテンツが振り分けられた場合、当該グループをさらに分割する。一方、1つの分割テキストに対してコンテンツが1つも振り分けられなかった場合、当該グループに隣接するグループのうち、振り分けられているコンテンツの数の多い方にグループをマージする。なお、テキストの分割、及び、分割テキストに対するコンテンツの振り分けは、以上のような手法ではなく、ユーザの指示に従って実行してもよい。ステップS702において、データ処理部115は、各分割テキストの文字数に基づいて、レイアウト領域の分割比率を決定する。以下では、レイアウト領域を分割した領域を分割レイアウト領域と称す。図8aにおいて、aはレイアウト領域の縦の長さである。第1の分割レイアウト領域における縦の長さをa1で表し、第2の分割レイアウト領域における縦の長さをa2で表し、第3の分割レイアウト領域における縦の長さをa3で表す。a1、a2、a3、aの関係は、a1a2a3=aである。第1の分割テキスト領域T1の文字数:第2の分割レイアウト領域T2の文字数:第3の分割レイアウト領域T3の文字数=a1:a2:a3であるとする。すると、図8aに示すように、レイアウト領域の縦の辺の長さaのうち、a1の長さ分が第1の分割レイアウト領域、a2の長さ分が第2の分割レイアウト領域、a3の長さ分が第3の分割レイアウト領域、というように分割される。なお、ステップS702は、第2の分割手段の処理例である。ステップS703において、データ処理部115は、第1の実施形態におけるステップS302と同様の処理により、分割テキスト領域の面積を算出する。ステップS704において、データ処理部115は、コンテンツのサイズを算出する。即ち、分割レイアウト領域にコンテンツが2つ存在する場合、データ処理部115は、第1の実施形態のステップS303と同様の処理により各コンテンツのサイズを算出する。一方、分割レイアウト領域にコンテンツが1つ存在する場合、データ処理部115は、ステップS704において分割レイアウト領域の面積から分割テキスト領域の面積を減算してコンテンツの面積を算出し、サイズも算出する。ステップS705において、データ処理部115は、全ての分割レイアウト領域について処理を実行したか否か、即ち、全てのコンテンツのサイズを算出したか否かを判定する。全ての分割レイアウト領域について処理を実行した場合、処理は終了する。一方、全ての分割レイアウト領域について処理を実行していない場合、処理はステップS703に移行する。以上では、1つのテキストを横割りで複数のテキストに分割した例について説明したが、1つのテキストを縦割りで複数のテキストに分割する場合も同様の処理により可能である。即ち、図8bに示すように、1つのテキストを第1~第3の分割テキストT1~T3に分割し、第1~第3の分割テキストT1~T3の文字数に応じて、レイアウト領域の分割比率a1:a2:a3を決定する。なお、分割テキスト領域の面積の計算、コンテンツのサイズの計算は、ステップS703、S704と同様である。次に、本発明の第3の実施形態について説明する。第1の実施形態では、仮想ボディの面積にテキストの文字数を乗算してテキスト領域の面積を算出したが、厳密には、文字ピッチ、行間ピッチ、禁則処理等によって、テキスト領域の面積は文字列の配置に依存し、実際に文字列を配置しなければ求めることはできない。従って、第3の実施形態では、仮想ボディによってテキスト領域の面積を仮計算し、コンテンツのサイズを概算し、実際にコンテンツを配置してテキスト領域の面積を実フォントによって算出する処理を複数回実施する。これにより、テキスト領域の面積の計算に正確さが増し、最適なレイアウトを生成することができる。以下、図9を参照しながら、第3の実施形態に係る文書生成装置の処理について説明する。図9は、第3の実施形態に係る文書生成装置の処理を示すフローチャートである。なお、第3の実施形態に係る文書生成装置の構成は図1に示した構成と同様であるため、第3の実施形態についても図1の符号を用いて説明を行うものとする。ステップS901において、データ処理部115は、ステップS202と同様の手法により、テキストの文字数及びフォント情報に基づいて、テキスト領域の面積を仮計算する。即ち、データ処理部115は、フォント情報のフォントサイズ及びフォント種別から仮想ボディを取得し、仮想ボディの面積にテキストの文字数を乗算してテキスト領域の面積を仮計算する。ステップS902において、データ処理部115は、仮計算したテキスト領域の面積に基づいて、ステップS203と同様の手法によりコンテンツのサイズを仮計算する。ステップS903において、データ処理部115は、ユーザによって指示されたコンテンツの配置位置を取得し、当該配置位置に従ってレイアウト領域に対してコンテンツを配置する。ステップS904において、データ処理部115は、コンテンツが配置されたレイアウト領域に対して文字列を配置し、実フォントによるテキスト領域の面積を算出する。ステップS905において、データ処理部115は、ステップS904で算出したテキスト領域の面積に基づいて、第2の実施形態と同様の手法ステップS704により、コンテンツのサイズを算出する。ステップS906において、データ処理部115は、今回のステップS905の算出結果が前回のステップS905の算出結果と同様であるか否か、及び、ステップS905を規定回数実行したか否かを判定する。今回のステップS905の算出結果が前回のステップS905の算出結果と異なり、且つ、ステップS905の実行回数が規定回数未満である場合、処理はステップS904に戻る。一方、今回のステップS905の算出結果が前回のステップS905の算出結果と同じである場合、又は、ステップS905の実行回数が規定回数以上である場合、処理は終了する。また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェアプログラムを、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータまたはCPUやMPU等がプログラムを読み出して実行する処理である。"