(57)【要約】【課題】  文書のオブジェクト間の距離を従来よりも容易に調整できるようにする。【解決手段】  文書中の互いに隣り合うオブジェクトの間の距離を抽出する。次に、距離調整ユーザインタフェイス１１００の水平方向（横方向）の位置に基づく値に基づいて、抽出した複数の距離を纏め、それら複数の距離を、距離調整ユーザインタフェイス１１００の垂直方向（縦方向）の位置に基づく代表値に統一する。次に、文書中の互いに隣り合うオブジェクトの間の距離が代表値となるように、オブジェクトを再配置（再レイアウト）する。【選択図】  図１１
2010020646.tif 000002
【特許請求の範囲】
【請求項１】
文書における互いに隣り合うオブジェクトの間の距離を抽出する抽出手段と、
前記抽出手段により抽出された複数の距離の値の差に基づいて、当該複数の距離を１つ又は複数のグループに纏める纏め手段と、
前記纏め手段により纏められた距離を代表値に統一する統一手段と、
前記文書における互いに隣り合うオブジェクトの間の距離が、当該距離に対応する前記代表値になるように、当該オブジェクトの配置を変更する変更手段とを有することを特徴とする文書レイアウト編集装置。
【請求項２】
前記文書における互いに隣り合うオブジェクトの間の距離を調整する操作をユーザに行わせるための操作手段を有し、
前記統一手段は、前記纏め手段により得られたグループのうち、前記操作手段の操作の結果に対応するグループを選択し、選択したグループに属する距離を、前記操作手段の操作の結果に基づく代表値に統一することを特徴とする請求項１に記載の文書レイアウト編集装置。
【請求項３】
前記変更手段によりオブジェクトの配置が変更された結果、前記オブジェクトが、当該オブジェクトが配置されていたページからはみ出すと判定された場合、当該ページに配置されていたオブジェクトが、当該ページに収まるように、前記代表値を修正する修正手段を有することを特徴とする請求項１又は２に記載の文書レイアウト編集装置。
【請求項４】
前記文書におけるオブジェクトを、当該オブジェクトが配置されていたページと異なるページに配置するに際し、配置するページを変更するオブジェクトの属性と、当該オブジェクトの移動先となるページのオブジェクトとの属性とに基づいて、前記配置するページを変更するオブジェクトと、当該オブジェクトの移動先となるページで当該オブジェクトと互いに隣り合うことになるオブジェクトとの間の距離を決定する決定手段と、
前記決定手段により決定された距離に基づいて、前記配置するページを変更するオブジェクトの配置を変更する第２の変更手段とを有することを特徴とする請求項１〜３の何れか１項に記載の文書レイアウト編集装置。
【請求項５】
文書における互いに隣り合うオブジェクトの間の距離を抽出する抽出ステップと、
前記抽出ステップにより抽出された複数の距離の値の差に基づいて、当該複数の距離を１つ又は複数のグループに纏める纏めステップと、
前記纏め手段により纏められた距離を代表値に統一する統一ステップと、
前記文書における互いに隣り合うオブジェクトの間の距離が、当該距離に対応する前記代表値になるように、当該オブジェクトの配置を変更する変更ステップとを有することを特徴とする文書レイアウト編集方法。
【請求項６】
文書における互いに隣り合うオブジェクトの間の距離を抽出する抽出ステップと、
前記抽出ステップにより抽出された複数の距離の値の差に基づいて、当該複数の距離を１つ又は複数のグループに纏める纏めステップと、
前記纏め手段により纏められた距離を代表値に統一する統一ステップと、
前記文書における互いに隣り合うオブジェクトの間の距離が、当該距離に対応する前記代表値になるように、当該オブジェクトの配置を変更する変更ステップとをコンピュータに実行させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書レイアウト編集装置、文書レイアウト編集方法、及びコンピュータプログラムに関し、特に、文書に配置されたオブジェクトのレイアウトを編集するために用いて好適なものである。
【背景技術】
【０００２】
従来のページレイアウト技術として、異なる文章から取り込んだ"イメージ画像化された文書"の文字間及び行間を揃えてレイアウトする技術がある（特許文献１を参照）。また、複数のテキストオブジェクトを並べてレイアウトする際に、それら複数のテキストオブジェクトが連続した文字段落に見えるように、それら複数のテキストオブジェクトの間の距離を調整する技術がある（特許文献２を参照）。
【０００３】
【特許文献１】特開平５−１０８７９３号公報
【特許文献２】特開２００４−２９５８６４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、ページレイアウトにおいては、オブジェクトの配置の統一感が、文書の見栄えの美しさに大きく関わっている。特に、オブジェクトとオブジェクトとの間の距離についての統一感は、文書の見栄えの美しさに大きく関わっている。文書内に様々なオブジェクトが配置される場合、ページ上のオブジェクト間の距離が大小まったくばらばらであると、文書の見栄えの美しさが得られない。つまり、文書の見栄えの美しさを得るためには、ページ上のオブジェクト間の距離が、一定のルールに基づいて設計されている必要がある。
【０００５】
ページ上にオブジェクトを配置していくレイアウト方法には、Adobe Illustrator等のドロー系描画アプリケーションによる方法がある。また、Adobe Acrobat等のアプリケーションで既存文書を変換したＰＤＦ（Portable Document Format）文書データを、いったんオブジェクトに分解してレイアウトする方法等もある。
前者の方法では、ユーザは、オブジェクト間の距離に注意しながら各種のオブジェクトを配置してレイアウトを行う必要がある。
一方、後者の方法では、仮に、１文書を取り込んだ結果、オブジェクト間の距離が統一的な規則になっていたとしても、複数の文書をマージ（merge）すると、複数の異なる規則が文書内で共存することになり得る。例えば、ページ境界を跨いでオブジェクトを移動し、複数の文書をページ毎にマージするという技術を念頭に置いた場合、複数の規則が同一ページ内で共存することが起こり得る。これはオブジェクト間の距離の規則の不統一に繋がる。
【０００６】
そこで、文書内においてオブジェクト間の距離の規則を統一する手段が求められる。
前述した特許文献１に記載の技術によれば、イメージ画像として取りこんだ文書の文字列の間隔を均一にすることはできる。しかしながら、一般的に文書上の表現においては、単純に全ての間隔を均一にすればよいのではなく、例えば、タイトル文字列と本文段落、本文段落と挿入図の間隔等、意味を持ってオブジェクトの間隔の大きさを使い分けることが必要である。この使い分けが１文書におけるオブジェクト間の距離の規則となる。特許文献１に記載の技術では、このように、複数のオブジェクト間の距離を使い分けることができない。
また、前述した特許文献２に記載の技術おいても、文字オブジェクトの視認上の行間の連続性だけが問題とされており、文書全体にわたるオブジェクトの距離の規則の統一という問題を解決するものにはなり得ない。
【０００７】
また、これらの特許文献１、２に記載の技術に拠らずに、オブジェクトの間隔の規則を統一するためには、前述したようなアプリケーションを利用して、ユーザが手作業でオブジェクトを直接編集操作して位置を整えることが求められる。
しかしながら、オブジェクトを個々に選択し位置を変更する作業は煩雑である。更に、統一感をもったレイアウトを設計するには、レイアウト技能の熟練を要する。
また、文書を取り込んでＰＤＦに変換する場合、取り込んだ元々の文書にもレイアウト上の意図があるはずである。そこで、できるだけ元の文書のレイアウトが持っていたオブジェクト間の距離の規則を大きく崩さずに全体をレイアウトし直すことが望ましい。しかしながら、そのような修正作業はきわめて煩雑で困難である。
【０００８】
本発明は、以上のような問題点に鑑みてなされたものであり、文書のオブジェクト間の距離を従来よりも容易に且つ適切に調整できるようにすることを目的とする。
【課題を解決するための手段】
【０００９】
本発明の文書レイアウト編集装置は、文書における互いに隣り合うオブジェクトの間の距離を抽出する抽出手段と、前記抽出手段により抽出された複数の距離の値の差に基づいて、当該複数の距離を１つ又は複数のグループに纏める纏め手段と、前記纏め手段により纏められた距離を代表値に統一する統一手段と、前記文書における互いに隣り合うオブジェクトの間の距離が、当該距離に対応する前記代表値になるように、当該オブジェクトの配置を変更する変更手段とを有することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、文書における互いに隣り合うオブジェクトの間の距離を抽出し、抽出した複数の距離の値の差に基づいて、当該複数の距離を１つ又は複数に纏めて代表値に統一し、その代表値に基づいてオブジェクトの間隔を調整する。したがって、ユーザが試行錯誤によりオブジェクトの間の距離を調整しなくても、元々のレイアウトを大きく崩さずに、オブジェクトの間の距離を調整することが可能になる。よって、文書のオブジェクト間の距離を従来よりも容易に且つ適切に調整できる。
【発明を実施するための最良の形態】
【００１１】
まず、本発明の実施形態を説明する前に、本発明で使用される用語について説明する。第１に、本発明における「ページ」とは、Ａ４用紙等、限られた領域であって、コンテンツが記載される領域のことである。第２に、本発明における「オブジェクト」とは、図形や文字列や画像或いはそれらの組み合わせ等の、独立して扱える描画要素のことを指す。
（第１の実施形態）
以下に、図面を参照しながら、本発明の第１の実施形態について説明する。
図１は、ページレイアウトを実行する文書レイアウト編集装置を有するシステムの構成の一例を示す図である。
図１において、コンピュータモジュール１０１には、入力／出力インタフェイス（Ｉ／Ｏインタフェイス）１４３を介して、キーボード１３２やマウス１３３のようなポインティングデバイス等の入力装置が接続される。また、コンピュータモジュール１０１には、ディスプレイ装置１４４や、状況に応じてはローカルプリンタ１４５を含む出力装置が接続される。入力／出力インタフェイス（Ｉ／Ｏインタフェイス）１３８は、コンピュータモジュール１０１をネットワーク１０７に接続し、コンピュータモジュール１０１を、外部の他のコンピュータ装置と通信可能に接続する。ネットワーク１０７としては、例えば、ローカルエリアネットワーク（ＬＡＮ）やワイドエリアネットワーク（ＷＡＮ）やインターネットが挙げられる。
【００１２】
コンピュータモジュール１０１は、少なくとも１つのプロセッサユニット（ＣＰＵ）１３５を有している。また、コンピュータモジュール１０１は、例えば半導体のランダムアクセスメモリ（ＲＡＭ）やリードオンリーメモリ（ＲＯＭ）を備えて構成されるメモリユニット１３６を有している。また、コンピュータモジュール１０１は、ビデオインタフェイス１３７を含む入力／出力（Ｉ／Ｏ）インタフェイスと、キーボード１３２やマウス１３３とコンピュータモジュール１０１とを相互に接続するためのＩ／Ｏインタフェイス１４３とを有している。
更に、コンピュータモジュール１０１は、例えばハードディスクドライブ（ＨＤＤ）１４０やフレキシブルディスクドライブ（ＦＤＤ）１４１を含む記憶装置１３９を有している。図１には示していないが、磁気テープドライブ等が記憶装置１３９に含まれることもある。ＣＤ−ＲＯＭドライブ１４２は、不揮発性のデータソースとして提供される。
コンピュータモジュール１０１は、LINUX（登録商標）やWINDOWS（登録商標）のようなオペレーションシステムや、相互接続バス１３４を介して通信を行うコンピュータモジュール１０１のコンポーネント１３５〜１４３を利用して処理を実行する。
以下に示すフローチャートで示された手順を実現するソフトウェアは、例えば記憶装置１３９を含む"コンピュータモジュール１０１の可読媒体"に格納される。ソフトウェアは、コンピュータモジュール１０１の可読媒体からメモリユニット１３６にロードされ、プロセッサユニット（ＣＰＵ）１３５によって実行される。コンピュータモジュール１０１でコンピュータプログラム製品を使用することにより、文書レイアウト編集装置を、ドキュメントのレイアウト編集に有利な装置として作動することができる。
【００１３】
図２は、オブジェクトリストの一例を示す図である。
図２に示すオブジェクトリスト２００は、例えばＨＤＤ１４０に格納される。本実施形態では、コンピュータモジュール１０１は、図２に示すようなオブジェクトリスト２００を用いることにより、文書内のオブジェクトの情報を管理する。図２に示すように、各オブジェクトの情報がリスト構造になってオブジェクトリスト２００に格納されている。また、各オブジェクトの情報には、オブジェクトＩＤ２０１と、オブジェクト種類２０２と、左上座標２０３と、右下座標２０４と、オブジェクト固有情報２０５とが含まれている。ここで、左上座標２０３及び右下座標２０４は、オブジェクトの位置を示す情報である。
【００１４】
図３は、オブジェクトリスト２００に格納されるオブジェクトの情報と、実際のオブジェクトとの関係の一例を示す図である。
図３に示すように、左上座標２０３ａが(20,34)、右下座標２０４ａが(81,65)の位置にある長方形のオブジェクト３０１の情報は、図３の右図に示す内容でオブジェクトリスト２００に格納（登録）される。
【００１５】
図４は、ＰＤＦフォーマットの文書から、図３に示したような長方形のオブジェクト３０１が読み出され、そのオブジェクト３０１の情報が取り出されることの一例を概念的に示す図である。
【００１６】
図５は、本実施形態で利用するオブジェクトをブロック化する際の文書レイアウト編集装置のレイアウト処理部の処理の一例を説明するフローチャートである。尚、本実施形態では、レイアウト処理部は、プロセッサユニット（ＣＰＵ）１３５、メモリユニット１３６、ＣＤ−ＲＯＭドライブ１４２、及びＨＤＤ１４０等を用いることにより実現できる。また、図５のフローチャートで示す手順は、メモリユニット（ＲＡＭ又はＲＯＭ）１３６、及びＨＤＤ１４０の何れかに記憶されており、その手順がプロセッサユニット（ＣＰＵ）１３５により実行される。
【００１７】
まず、ステップＳ５０１において、レイアウト処理部は、オブジェクトリストＬＯから、オブジェクトを１つ取得する。オブジェクトリストＬＯは、例えば図２に示したオブジェクトリスト２００である。
次に、ステップＳ５０２において、レイアウト処理部は、新しいオブジェクトグループＧを生成する。ここで、オブジェクトグループＧは、オブジェクトリストＬＯと同等の形式を有し、且つ、レイアウト処理部が１つのオブジェクトとして操作することのできるデータ形式を有する。
次に、ステップＳ５０３において、レイアウト処理部は、生成したオブジェクトグループＧに、ステップＳ５０１で取得したオブジェクトを追加する。
次に、ステップＳ５０４において、レイアウト処理部は、オブジェクトグループＧに追加したオブジェクトを、オブジェクトリストＬＯから削除する。
【００１８】
次に、ステップＳ５０５において、レイアウト処理部は、オブジェクトリストＬＯに、オブジェクトがまだ残っているか否かを判定する。この判定の結果、オブジェクトリストＬＯに、オブジェクトが残っていない場合には、ステップＳ５１０に進む。ステップＳ５１０に進むと、レイアウト処理部は、オブジェクトグループＧをオブジェクトリストＬＯに追加する（ステップＳ５１０）。そして、図５のフローチャートによる処理を終了する。
【００１９】
一方、オブジェクトリストＬＯに、オブジェクトが残っている場合には、ステップＳ５１１に進む。ステップＳ５１１に進むと、レイアウト処理部は、オブジェクトリストＬＯから、次のオブジェクトＰＯを取得する。
次に、ステップＳ５１２において、レイアウト処理部は、オブジェクトグループＧの中のオブジェクトＧＯを１つ取得する。
次に、ステップＳ５１３において、レイアウト処理部は、オブジェクトグループＧの中から、オブジェクトＧＯを取得できたか否かを判定する。この判定の結果、オブジェクトグループＧの中から、オブジェクトＧＯを取得できない場合には、前述したステップＳ５０２に戻る。
一方、オブジェクトグループＧの中から、オブジェクトＧＯを取得できた場合には、ステップＳ５１４に進む。ステップＳ５１４に進むと、レイアウト処理部は、ステップＳ５１１で取得したオブジェクトＰＯと、ステップＳ５１２で取得したオブジェクトＧＯとの間の垂直方向の距離を計算する。
【００２０】
図６は、２つのオブジェクトの間の垂直方向（縦方向）の距離の一例を説明する図である。
図６に示すように、本実施形態では、オブジェクト間の距離とは、オブジェクト６０１、６０２を包む外接矩形の間の最短距離のことをいう。図６に示す例では、オブジェクト６０１は長方形のオブジェクトであるのに対し、オブジェクト６０２は楕円のオブジェクトである。したがって、レイアウト処理部は、楕円のオブジェクト６０２の外接矩形６０３を作成し、この外接矩形６０３と長方形のオブジェクト６０１との垂直方向の最短距離６０４を、２つのオブジェクト６０１、６０２の間の垂直方向の距離として計算する。
【００２１】
図５の説明に戻り、ステップＳ５１５において、レイアウト処理部は、ステップＳ５１４で計算した距離が閾値以内か否かを判定する。この判定の結果、ステップＳ５１４で計算した距離が閾値以内でなければ、前述したステップ５１２に戻る。一方、ステップＳ５１４で計算した距離が閾値以内であれば、前述したステップ５０３に戻る。
ここで閾値とは、システムで定められる一定の大きさの距離のことであり、本実施形態では、この距離の閾値でブロック化するオブジェクト同士を垂直方向で分離している。
【００２２】
図７は、文書と、その文書のオブジェクトを図５のフローチャートによってブロック化した結果の一例を示す図である。
図７に示すように、ページ７０１上で、オブジェクト７１１とオブジェクト７１２とがブロック化され、１つのブロック７２１にブロック化されている。同様に、オブジェクト７１３とオブジェクト７１４とが１つのブロック７２２に、オブジェクト７１５とオブジェクト７１６とが１つのブロック７２３に夫々ブロック化されている。尚、オブジェクト７１１とオブジェクト７１２はとなりあっているため、両者の垂直方向の差異は０とみなされる。その結果、両者の垂直方向の差異が閾値値以内に収まるため、両者がブロック化されている。
図７に示すように、本実施形態では、ページレイアウトを変更するに際し、最も小さい区分けによるオブジェクトの距離を全て考慮するのではなく、ある程度のまとまったオブジェクト群からなる「ブロックの距離」を考慮するようにしている。そのため、本実施形態では、ページレイアウトを変更（設定）する手順においては、ブロックを変更（設定）対象とする場合を例に挙げて説明することにする。尚、本発明では、「オブジェクト」と記載する場合、図７に示したようにして複数のオブジェクトを纏めた「ブロック（以下の説明では、オブジェクトブロックと称することもある）」のことも包含しているものとする。
【００２３】
図８は、レイアウトの変更対象となる文書のページレイアウトの一例を示す図である。図８に示すように、ページ８００上のオブジェクト間の（垂直方向の）距離は、ばらついている。ページ８００の上に、オブジェクト８０１〜８０９（前述したように、ブロック化されたものも含めてオブジェクトと呼ぶ）が配置されている。それらのオブジェクト８０１〜８０９の間には、垂直方向に距離１〜８が存在している。図８に示すページレイアウトでは、距離１〜８に、統一された明確な規則がないため、文書の見栄えが損なわれている。
図９は、図８に示したオブジェクト間の垂直方向（縦方向）の距離のインデックスと、実際のオブジェクト間の垂直方向（縦方向）の距離との対応の一例を表形式で示す図である。
【００２４】
本実施形態では、「階層型クラスタ分析」を利用して、図８のばらついたオブジェクト間の距離１〜８を１つ又は複数に揃え、規則化していく場合を例に挙げて説明する。クラスタ分析自体は公知の技術であるため、その詳細な説明を省略するが、階層型クラスタ分析では、デンドログラム（樹形図）と呼ばれるグラフを用いて、複数の項目をグループ化していく考え方をとる。デンドログラムとは、各要素及び要素のグループたるクラスタ間の結合レベルを樹形図で表したものである。
【００２５】
図１０は、図８に示したページレイアウト上のオブジェクト間の距離１〜８から生成されたデンドログラムの一例を示す図である。
図１０の下部に、前述した距離１〜８がインデックス（index）として並べられている。一方、デンドログラムの縦軸は、各オブジェクト間の距離（distance）である。例えば、図８及び図９を参照すると、距離１と距離７の値の差は「１」しかなく、これらの距離１、７を、最も近い値を有する１つのグループとみなすことができる。そこで、図１０に示すように、距離１、７の２つのインデックスが最初のグループ（クラスタ１）を形成している。次に近い距離は、距離２と距離４、或いは距離４と距離５であり、どちらも値の差が「２」である。そこで、これら距離２、４、５の３つのインデックスが新しいグループ（クラスタ２）を形成している。
【００２６】
クラスタ分析では、形成されたクラスタに対して「代表値」が割り振られる。一例としては、距離１と距離７とからなるクラスタ１を代表する代表値として、例えば、距離１と距離７の値のうち小さい方の値である「５」を採ってもよいし、大きい方の値である「６」を採ってもよい。或いは、距離１と距離７の値の平均値である「５．５」を代表値として採ってもよい。
更に、図１０に示すデンドログラムのように、クラスタ１とクラスタ２とをさらに統一したクラスタ３を形成し、このクラスタ３と距離８とを統一する、というように、統一する距離のインデックスの数を順次増やしていくことができる。どの程度距離を統一するかは、ユーザが選択すべき項目である。全ての距離を完全に統一してしまうと、元々ユーザがあえて異なる距離にしたいと思っていた部分まで統一してしまい、ページレイアウトとしてはメリハリのないレイアウトになってしまう虞がある。そこで、本実施形態では、ある程度近い値の距離のグループ同士を別々に統一し、値の差の大きい距離のグループを統一せずにそのままの状態にすることを１つ目の目的としている。
【００２７】
以上のことを図８に示したページレイアウトに即して説明する。図８に示したページレイアウトで、距離１の部分と距離７の部分は、距離の値が近いので統一することのできる第一候補と考えられる。そこで、これらを統一してしまえば、文書中の距離のばらつきが１つ減ることになる。このとき、距離の値をどの値に統一するかという問題が発生する。そこで利用されるのが、前述したクラスタの「代表値」である。この代表値は、レイアウトを調整する際に、ユーザの選択に委ねられるべき項目である。同じく、距離２と距離４、或いは距離４と距離５は、お互いに距離の値が近いので、統一してしまえば距離のばらつきが減り、レイアウトの見栄えが向上する。しかしここでも、３つの距離の値の中からどの値に距離の値を統一するのかというユーザに委ねるべき問題が生じる。そこで、本実施形態では、元々のページレイアウトに存在していた距離の値を尊重しながら、ユーザの選択によって距離を統一していくことを２つ目の目的としている。
【００２８】
図１１は、レイアウトを変更するための距離調整ユーザインタフェイス（ＧＵＩ）の一例を示す図である。本実施形態では、図１１に示す距離調整ユーザインタフェイス１１００を用いることにより、前述した本実施形態の２つの目的を同時に達成することが可能になる。
図１１に示す例では、ユーザインタフェイス領域１１０１の中を自由に動かせるボタン１１０２を、ユーザがマウスポインタ１１０３で操作する。
【００２９】
図１１において、ユーザインタフェイス領域１１０１の左右方向にボタン１１０２を移動させることによって、１つ目の目的である「どの程度距離を統一するか」をコントロールすることができる。この具体例を説明する。まず、ユーザインタフェイス領域１１０１の最も左にボタン１１０２がある場合には、文書の初期の状態、すなわち距離１〜８がばらばらの状態のままとなる。一方、ユーザインタフェイス領域１１０１の最も右にボタン１１０２がある場合には、全ての距離１〜８が１つの代表値に揃えられた状態となる。更に、ユーザインタフェイス領域１１０１の最も左の位置と最も右の位置との間にボタン１１０２を位置させることにより、段階的に距離を揃えることができる。例えば、ユーザインタフェイス領域１１０１の左右方向（横方向）を、デンドログラムの階層数（図１０に示した例では６階層）で分割する。そして、ボタン１１０２の横方向の位置とデンドログラムの階層とを相互に対応付けておき、ボタン１１０２の横方向の位置に応じて、デンドログラムのどの階層まで距離を統一するかを判断するようにする。
【００３０】
また、ユーザインタフェイス領域１１０１の上下方向にボタン１１０２を移動させることによって、２つ目の目的である「近い距離同士をどの値に統一するか」をコントロールすることができる。この具体例を説明する。まず、ユーザインタフェイス領域１１０１の最も上にボタン１１０２がある場合には、クラスタをなす距離の値のうち、最も小さい値を代表値とする。一方、ユーザインタフェイス領域１１０１の最も下にボタン１１０２がある場合には、クラスタをなす距離の値のうち、最も大きい値を代表値とする。また、ユーザインタフェイス領域１１０１の最も上の位置と最も下の位置との中間にボタン１１０２がある場合には、クラスタをなす距離の値の平均を代表値とする。
以上のように本実施形態では、例えば、距離調整ユーザインタフェイス１１００を用いることにより、操作手段の一例が実現される。
【００３１】
図１２及び図１３は、距離調整ユーザインタフェイス１１００の横方向（水平方向）の操作によって、図８に示したページレイアウトが変更される様子と、その操作状態のときに統一される距離のペアの一例を示す図である。尚、図１２及び図１３では、統一されている距離のペアをデンドログラム上に太線で示している。
【００３２】
図１２（ａ）は、初期状態を示す図であり、文書のページ８００ａのオブジェクト間の距離はばらばらである。
図１２（ａ）に示す初期状態から、図１２（ｂ）に示すように、ユーザがユーザインタフェイス領域１１０１上でボタン１１０２を上に寄せた状態でやや右に移動すると、デンドログラムの第１階層まで距離が統一される。すなわち、距離１、７が同じ代表値に統一される。ボタン１１０２は上寄せであるため、距離１、７のうち小さい方の値（＝「５」）が代表値となり、距離１、７が、この代表値に統一される（ページ８００ｂを参照）。
【００３３】
図１２（ｂ）に示す状態から、図１２（ｃ）に示すように、更にボタン１１０２が右に寄せられると、デンドログラムの第２階層である距離２、４、５が同じ値に統一される。ボタン１１０２は上寄せであるため、距離２、４、５のうち最も小さい値（＝「９」）が代表値となり、距離２、４、５が、この代表値に統一される（ページ８００ｃを参照）。
このようにして、図１２（ｄ）、図１３（ａ）〜図１３（ｃ）に示すように、ユーザは、ばらついていたオブジェクト間の距離が徐々に統一され、ページレイアウトが整えられていく状態を見ることができる（ページ８００ｄ〜８００ｇを参照）。図１３（ｃ）に示すページ８００ｇでは、全ての距離１〜７が、同じ小さな値（＝「５」）に統一されてしまうが、元々のレイアウトの製作意図からすると、図１３（ｂ）に示す状態で距離の統一を止めるのが適切である可能性が高い。
【００３４】
図１４及び図１５は、距離調整ユーザインタフェイス１１００の上下方向（垂直方向）の中央付近への操作と横方向（水平方向）の操作とによって、図８のページレイアウトが変更される様子と、その操作状態のときに統一される距離のペアの一例を示す図である。尚、図１４及び図１５でも、統一されている距離のペアをデンドログラム上に太線で示している。また、図１４（ａ）〜図１４（ｄ）、図１５（ａ）〜図１５（ｃ）は、夫々、図１２（ａ）〜図１２（ｄ）、図１３（ａ）〜図１３（ｃ）と、ボタン１１０２の上下方向の位置が異なる。
図１４及び図１５に示すように、デンドログラムの階層の上り方は、図１２及び図１３に示したものと同じであるが、各図の状態で得られる代表値は、クラスタ中の距離の値を平均した値になっている。そのため、図１４及び図１５に示したページレイアウトは、図１２及び図１３に示したものよりも、オブジェクト間の距離が開いたものになっている（図１２、図１３のページ８００ｂ〜８００ｇと、図１４、図１５のページ８００ｈ〜８００ｍを参照）。
【００３５】
図１６と図１７は、距離調整ユーザインタフェイス１１００の上下方向（垂直方向）の下部への操作と横方向（水平方向）の操作とによって、図８に示したページレイアウトが変更される様子と、その操作状態のときに統一される距離のペアの一例を示す図である。尚、図１６及び図１７でも、統一されている距離のペアをデンドログラム上に太線で示している。また、図１６（ａ）〜図１６（ｄ）、図１７（ａ）〜図１７（ｃ）は、夫々、図１４（ａ）〜図１４（ｄ）、図１５（ａ）〜図１５（ｃ）と、ボタン１１０２の上下方向の位置が異なる。
図１６及び図１７に示すように、デンドログラムの階層の上り方は、図１２及び図１３、図１４及び図１５と同じであるが、各図の状態で得られる代表値は、クラスタ中の距離の値のうち、もっとも大きい値になっている。そのため、図１６及び図１７に示したページレイアウトは、図１４及び図１５に示したものよりも、オブジェクト間の距離が更に開いたものになっている（図１４、図１５のページ８００ｈ〜８００ｍと、図１６、図１６の８００ｏ〜８００ｓ、８００ｕを参照）。
【００３６】
その結果、図１７（ｂ）、図１７（ｃ）に示す状態では、距離が増大してオブジェクトがページ範囲を超えてしまう。これを解決するために、本実施形態では次のような処理を行っている。すなわち、レイアウト処理部は、オブジェクトがページを超える原因となった代表値を、当該ページ内のオブジェクトが１ページ内に収まるサイズに変更する（例えば丸める）ことによって、オブジェクトを１ページ内に収めるようにしている。
具体的に説明すると、図１７（ｂ）に示すページ８００ｓのようにオブジェクトがページ８００ｓからはみ出している場合には、オブジェクト間の距離の代表値を変更してページ８００ｔのように、全てのオブジェクトがページ８００ｔに収まるようにする。また、図１７（ｃ）に示すページ８００ｕのようにオブジェクトがはみ出している場合にも、オブジェクト間の距離の代表値を変更してページ８００ｖのように、全てのオブジェクトがページ８００ｖに収まるようにする。
オブジェクト間の距離の代表値を変更する方法として、例えば次の方法がある。すなわち、対象となるページ内の全てのオブジェクトを垂直方向（上下方向）に並べたサイズ（高さ）をページの高さから引いた値（余白部分）を、はみ出した状態での各オブジェクト間の距離の大きさの比率によって案分するという方法等がある。
以上のように、本実施形態の距離調整ユーザインタフェイス１１００では、「どの程度距離を統一するか」ということと、「近い距離同士をどの値に統一するか」ということとを同時に設定できるようにしている。
尚、本実施形態では、距離調整ユーザインタフェイス１１００（ボタン１１０２）の操作に応じて、図１２〜図１７に示すようなページ８００ａ〜８００ｖの様子が、ディスプレイ装置１４４に逐次表示されるようにしている。
【００３７】
次に、図１８〜図２０のフローチャートを参照しながら、オブジェクト間の距離を変更してページレイアウトを変更する際の文書レイアウト編集装置の処理の一例を説明する。尚、本実施形態では、レイアウト処理部、クラスタ分析処理部、及び再レイアウト処理部は、プロセッサユニット（ＣＰＵ）１３５、メモリユニット１３６、ＣＤ−ＲＯＭドライブ１４２、及びＨＤＤ１４０等を用いることにより実現できる。また、図１８〜図２０のフローチャートで示す手順（プログラム）は、メモリユニット（ＲＡＭ又はＲＯＭ）１３６、及びＨＤＤ１４０の何れかに記憶されており、その手順がプロセッサユニット（ＣＰＵ）１３５により実行される。
【００３８】
レイアウト処理部は、現在の編集対象となっている文書を参照し、その文書のページレイアウト上に配置されているオブジェクトの位置を調整する処理を行う。ユーザによる所定の操作をレイアウト処理部が検出すると、まず、図１８のステップＳ１８０１に処理が移行するようになっている。
ステップＳ１８０１において、レイアウト処理部は、図６に示したようなオブジェクト間の距離の定義に基づいて、全てのオブジェクトブロック間の距離を抽出し、オブジェクトブロックにインデックスを付ける処理を行う。ここでのオブジェクトブロックは、図５に示したフローチャートによって、オブジェクトをある程度のまとまりにグループ化された状態を想定する。そのため、単に「オブジェクト」と記載された場合であっても、その記載を「オブジェクトブロック」とすることができる。一方、「オブジェクトブロック」と記載された場合であっても、その記載を単なる「オブジェクト」とすることができる。
以上のように本実施形態では、例えば、ステップＳ１８０１の処理を行うことにより、抽出手段の一例が実現される。
【００３９】
次に、ステップＳ１８０２において、レイアウト処理部は、ステップＳ１８０１で抽出した距離の情報を、リストＬＢにまとめる。
図２１は、オブジェクトブロックと距離の情報をまとめるリストＬＢの構造の一例を示す図である。
図２１において、リストＬＢ内には、オブジェクトＩＤ２１０１と、オブジェクトＩＤ２１０１により識別されるオブジェクトの位置２１０２とが格納される。更に、リストＬＢ内には、オブジェクトＩＤ２１０１により識別されるオブジェクトとそのオブジェクトに続くオブジェクトとの間の距離を識別する距離ＩＤ２１０３と、距離ＩＤ２１０３で識別される距離の大きさ２１０４とが格納される。これらの情報が繰り返し連なってリストＬＢに格納される。
【００４０】
図１８の説明に戻り、ステップＳ１８０３において、レイアウト処理部が稼動するオペレーティングシステムは、図１１に示した距離調整ユーザインタフェイス１１００に対するユーザの入力操作があるまで待機する。そして、距離調整ユーザインタフェイス１１００に対するユーザの入力操作があると、オペレーティングシステムは、レイアウト処理部に、ユーザの入力操作の内容を示す情報を渡す。
そして、ステップＳ１８０４において、レイアウト処理部は、距離調整ユーザインタフェイス１１００の入力状態をオペレーティングシステムから取得する。
次に、ステップＳ１８０５において、レイアウト処理部は、距離調整ユーザインタフェイス１１００の入力状態を示す情報と、ステップＳ１８０２で得られたリストＬＢの情報とをクラスタ分析処理部に渡す。そして、クラスタ分析処理部は、これらの情報に基づいて、クラスタ分析処理を実行する。このステップＳ１８０５の処理の詳細については、図１９を参照しながら後述する。
そして、クラスタ分析処理が完了したら、ステップＳ１８０６において、レイアウト処理部は、次の処理を行う。すなわち、レイアウト処理部は、クラスタ分析処理の実行結果を、クラスタ分析処理部から取得し、取得した情報に基づいて、図２１に示したリストＬＢにおける"オブジェクト間の距離の大きさ２１０４"の値を、最終代表値に変更する。
次に、ステップＳ１８０７において、再レイアウト処理部は、リストＬＢの情報と、クラスタ分析処理の実行結果の情報とをレイアウト処理部から受け取る。そして、受け取った情報に基づいて、オブジェクトブロックをページ上で再レイアウトする再レイアウト処理を実行する。このステップＳ１８０７の処理の詳細については、図１９を参照しながら後述する。
【００４１】
図１９は、図１８のステップＳ１８０５におけるクラスタ分析処理の一例を詳細に説明するフローチャートである。
クラスタ分析処理は、現在のページレイアウトに基づくオブジェクトの位置を分析し、距離調整ユーザインタフェイス１１００の状態によって、オブジェクト間の距離の値を調整する処理である。クラスタ分析処理の実行が、クラスタ分析処理部において開始されると、まず、図１９のステップＳ１９０１に処理が移行するようになっている。
【００４２】
ステップＳ１９０１において、クラスタ分析処理部は、レイアウト処理部から渡されたリストＬＢの情報から、オブジェクト間の距離の要素（例えば距離ＩＤ２１０３、距離の大きさ２１０４）だけを取り出してリストＬＤに登録する。
次に、ステップＳ１９０２において、クラスタ分析処理部は、そのリストＬＤに基づいて、全ての距離の大きさの値をペアにし、各ペアでの距離の値の差を計算する。
次に、ステップ１９０３において、クラスタ分析処理部は、リストＬＤに、距離の値のペアが１ペア以上残っているか否かを判定する。
【００４３】
この判定の結果、リストＬＤに、距離の値のペアが１ペア以上残っていない場合には、後述するステップＳ１９１１に進む。一方、リストＬＤに、距離の値のペアが１ペア以上残っている場合には、ステップＳ１９０４に進む。ステップＳ１９０４に進むと、クラスタ分析処理部は、リストＬＤから、距離の差が最短である"距離の値のペア"を見つける。
次に、ステップＳ１９０５において、クラスタ分析処理部は、ステップＳ１９０４で見つけたペアの値をリストＬＤから削除する。
次に、ステップＳ１９０６において、クラスタ分析処理部は、ステップＳ１９０５でリストＬＤから削除した"２つの距離の値"を纏めて、クラスタを生成する。
以上のように本実施形態では、例えば、ステップＳ１９０６の処理を行うことにより纏め手段の一例が実現される。
【００４４】
次に、ステップＳ１９０７において、クラスタ分析処理部は、レイアウト処理部から渡された距離調整ユーザインタフェイス１１００の入力状態のうち、ボタン１１０２の縦方向（垂直方向）の位置の状態を参照する。そして、クラスタ分析処理部は、ステップＳ１９０６で生成したクラスタを代表する距離の値（代表値）を計算・決定する。
次に、ステップＳ１９０８において、クラスタ分析処理部は、ステップＳ１９０６で生成したクラスタを、オブジェクトの間の新しい距離の要素としてリストＬＤに追加する（１９０８）。
次に、ステップＳ１９０９において、クラスタ分析処理部は、クラスタ化済みの距離のインデックスとクラスタの情報とをリストＬＲに保存する。
図２２は、クラスタに関する情報を纏めるリストＬＲの構造の一例を示す図である。
図２２において、クラスタ化されたオブジェクト間の距離を識別する距離ＩＤ２２０１〜２２０４等が、クラスタを識別する情報と関連付けられてリスト化される。そして、その距離ＩＤ２２０１〜２２０４に対応するクラスタを識別するクラスタＩＤ２２０３、２２０４等が、そのクラスタにおける代表値（統一値）と関連付けられてリスト化される。
【００４５】
図１９の説明に戻り、ステップＳ１９１０において、クラスタ分析処理部は、レイアウト処理部から渡された距離調整ユーザインタフェイス１１００の入力状態のうち、ボタン１１０２の横方向（水平方向）の位置の状態を参照する。そして、クラスタ分析処理部は、計算済みのクラスタの階層と、距離調整ユーザインタフェイス１１００の入力状態とが一致するか否かを判定する。
この判定の結果、計算済みのクラスタの階層と、距離調整ユーザインタフェイス１１００の入力状態とが一致しない場合には、前述したステップＳ１９０２に戻る。そして、クラスタが距離の要素として追加されたリストＬＤも対象に含めて、再度クラスタ化の処理を繰り返す。
【００４６】
一方、計算済みのクラスタの階層と、距離調整ユーザインタフェイス１１００の入力状態とが一致する場合には、ステップＳ１９１１に進む。ステップＳ１９１１に進むと、クラスタ分析処理部は、例えば、クラスタ化済みの距離のインデックスと、それらの距離の値がどの値に統一されるかを示すリストＬＲの情報を、クラスタ分析処理の実行結果の情報としてレイアウト処理部に渡す。そして、前述した図１８のステップＳ１８０６に進む。
以上のように本実施形態では、例えば、ステップＳ１９０７、Ｓ１９０９〜Ｓ１９１１の処理と、前述した図１８のステップＳ１８０６の処理とを行うことにより、統一手段の一例が実現される。
【００４７】
図２０は、図１８のステップＳ１８０７における再レイアウト処理の一例を詳細に説明するフローチャートである。
再レイアウト処理は、クラスタ分析処理の結果得られたオブジェクト間の距離の統一結果に基づいて、実際にページレイアウト上のオブジェクト間の距離を調整する処理である。再レイアウト処理の実行が、再レイアウト処理部において開始されると、まず、図２０のステップＳ２００１に処理が移行するようになっている。また、ステップＳ２００１に処理が移行する際には、再レイアウト処理部は、前述したリストＬＢ、ＬＲの情報をレイアウト処理部等から入力している。
【００４８】
ステップＳ２００１において、再レイアウト処理部は、配置開始位置を記憶しておくための配置開始位置値ＳＰを、ページ上端にリセットする。
次に、ステップＳ２００２において、再レイアウト処理部は、未選択のオブジェクトのうち、先頭の項目の情報をリストＬＢから取得する。
次に、ステップＳ２００３において、再レイアウト処理部は、ステップＳ２００２で取得した項目が、ページ上の最初のオブジェクトか否かを判定する。この判定の結果、ステップＳ２００２で取得したオブジェクトが、ページ上の最初のオブジェクトでなければ、後述するステップＳ２０２１に進む。
【００４９】
一方、ステップＳ２００２で取得した項目が、ページ上の最初のオブジェクトであれば、ステップＳ２０１１に進む。ステップＳ２０１１に進むと、再レイアウト処理は、ステップＳ２００２で取得したオブジェクトを規定の位置に配置する。
次に、ステップＳ２０１３において、再レイアウト処理は、配置開始位置ＳＰを、ステップＳ２００２で取得したオブジェクトの高さ分だけ、例えば下方に移動する。
次に、ステップＳ２０１４において、再レイアウト処理部は、移動した配置開始位置ＳＰが、ページサイズを超えているか否かを判定する。この判定の結果、移動した配置開始位置ＳＰが、ページサイズを超えている場合には、後述するステップＳ２０２４に進む。
一方、移動した配置開始位置ＳＰが、ページサイズを超えていない場合には、ステップＳ２０３０に進む。ステップＳ２０３０に進むと、再レイアウト処理部は、リストＬＢの全てのオブジェクトについて処理したか否かを判定する。この判定の結果、リストＬＢの全てのオブジェクトについて処理していない場合には、前述したステップＳ２００２に進み、リストＬＢに登録されている次の項目について処理を行う。
一方、リストＬＢの全てのオブジェクトについて処理している場合には、図１８のステップＳ１８０３に進む。
【００５０】
ステップＳ２００３において、ステップＳ２００２で取得した項目が、ページ上の最初のオブジェクトでないと判定された場合には、ステップＳ２０２１に進む。ステップＳ２０２１に進むと、リストＬＢから取得した項目が、オブジェクト及び距離の何れであるかを判定する。この判定の結果、リストＬＢから取得した項目が距離である場合には、後述するステップＳ２０２２に進む。
一方、リストＬＢから取得した項目がオブジェクトである場合には、ステップＳ２０１２に進む。ステップＳ２０１２に進むと、再レイアウト処理部は、オブジェクト配置開始位置ＳＰに、取得したオブジェクトを移動させる。そして、前述したステップＳ２０１３に進み、配置開始位置ＳＰを、取得したオブジェクトの高さ分だけ移動する。
【００５１】
ステップＳ２０２１において、リストＬＢから取得した項目が距離であると判定されると、ステップＳ２０２２に進む。ステップＳ２０２２に進むと、再レイアウト処理部は、リストＬＢから取得した距離に対応する代表値を、レイアウト処理部から渡されたリストＬＲから取得する。すなわち、再レイアウト処理部は、リストＬＢから取得した距離の値が最終的にどの代表値に変更されたのかをリストＬＲから判断する（もちろん距離の値が変更されていない場合もある）。
次に、ステップＳ２０２３において、再レイアウト処理は、配置開始位置ＳＰを、ステップＳ２０２２で取得した代表値の分だけ、例えば下方に移動する。そして、前述したステップＳ２０１４に進み、移動した配置開始位置ＳＰが、ページサイズを超えているか否かを判定する。
以上のように本実施形態では、例えば、ステップＳ２０２３の処理を行うことにより、変更手段の一例が実現される。
【００５２】
ステップＳ２０１４において、移動した配置開始位置ＳＰが、ページサイズを超えていると判定された場合には、ステップＳ２０２４に進む。ステップＳ２０２４に進むと、再レイアウト処理部は、ステップＳ２０２２にて取得された距離の代表値と同じ距離の項目を、ページをさかのぼって取得し、取得済みの全てのオブジェクトが１ページ内に収まるように代表値を縮小する。そして、前述したステップＳ２００１から再度処理を行う。
以上のように本実施形態では、例えば、ステップＳ２０２４の処理を行うことにより、修正手段の一例が実現される。
【００５３】
以上のように本実施形態では、文書中の互いに隣り合うオブジェクトの間の距離を抽出する。次に、距離調整ユーザインタフェイス１１００の水平方向（横方向）の位置に基づく値に基づいて、抽出した複数の距離を纏め、それら複数の距離を、距離調整ユーザインタフェイス１１００の垂直方向（縦方向）の位置に基づく代表値に統一する。次に、文書中の互いに隣り合うオブジェクトの間の距離が代表値となるように、オブジェクトを再配置（再レイアウト）する。
【００５４】
したがって、１ページ内で不揃いなオブジェクト間の距離を、単純に全ての距離を均一にするのではなく、ユーザの意図を反映しながら、文書における距離の規則として統一することを、可及的に簡単な操作で、且つ可及的に正確に行うことができる。
よって、例えば、ドロー系アプリケーションにおけるオブジェクトの編集においては、大ざっぱにオブジェクトを配置し、後でオブジェクト間の距離を整えて整形するといった利用法を提供することができ、ページレイアウトの作業が従来よりも簡便になる。また、ページレイアウトを行う技能の低いユーザでも、文書内で統一されたオブジェクト間の距離の規則を容易に形成することができる。よって、文書全体の見栄えを容易に向上することができる。
【００５５】
また、ＰＤＦ編集系等、既存の文書を変換するアプリケーションにおいては、複数の既存の文書をマージ（merge）した文書に対し、元々のレイアウトの規則を尊重しつつ、文書におけるオブジェクト間の距離の規則を、マージした文書内で統一できる。よって、文書全体の見栄えを向上することができる。
また、距離調整ユーザインタフェイス１１００操作の結果を、ページレイアウト上に逐次反映しユーザに視認させることができる。このため、ユーザは、オブジェクトの間隔が狭い範囲から広い範囲まで、オブジェクトの間隔が段階的に統一されていく状態を逐次確認しながら、距離調整インタフェイスに対する入力操作を行うことができる。そのため、非熟練者であっても自分の求めるレイアウトを確認することが可能になる。
【００５６】
また、本実施形態では、互いに隣り合うオブジェクトの間の複数の距離を代表値に統一して再配置（再レイアウト）した結果、オブジェクトがページからはみ出す場合には、全てのオブジェクトがページ内に入るように代表値を修正するようにした。したがって、ページレイアウトに失敗してしまうことを、より確実に防止することができる。
【００５７】
（第２の実施形態）
次に、本発明の第２の実施形態について説明する。前述した第１の実施形態では、１ページ内部のページレイアウトを調整する方法を例に挙げて説明したが、本実施形態では、ページレイアウトを文書全体にわたって変更する方法を例に挙げて説明する。本実施形態と第１の実施形態との違いは、リストＬＢの内容の一部と、再レイアウト処理の一部である。したがって、本実施形態の説明において、第１の実施形態と同一の部分については、図１〜図２２に付した符号と同一の符号を付すこと等により、詳細な説明を省略する。
【００５８】
図２３は、図１８のステップＳ１８０７における再レイアウト処理の一例を詳細に説明するフローチャートである。図２０に示した第１の実施形態の再レイアウト処理との処理の違いは、ステップＳ２３０１、Ｓ２３１１、Ｓ２３２１、Ｓ２３２２の部分のみであり、その他は図２０に示したものと共通である。そのため、ここでは、図２０との差異の部分のみに限って説明する。
【００５９】
本実施形態の目的は、ページ境界を越えてオブジェクトブロックを再配置することである。図２４は、ページ境界を越えてオブジェクトブロックを再配置する様子の一例を概念的に示す図である。
図２４では、ページ２４０１とページ２４０２とが存在し、オブジェクトブロック２４０３をページ２４０２からページ２４０１に移動して再配置する様子を示している。ページ２４０１のオブジェクト間の距離を調整することによってオブジェクトブロック間の距離が詰まり、ページ下部に余白２４０４が生じた場合には、ページ２４０２からオブジェクトブロック２４０３を取り除き、ページ２４０２を不要なページにできる。このようにすれば、不要なページを文書から削除することができ、印刷ページ数を削減することを目的とした「節約印刷」にとっては有効な手法になる。
【００６０】
前述したように再レイアウト処理は、クラスタ分析処理の結果得られたオブジェクト間の距離の統一結果に基づいて、実際にページレイアウト上のオブジェクト間の距離を調整する処理である。再レイアウト処理の実行が、再レイアウト処理部において開始されると、まず、図２３のステップＳ２００１に処理が移行するようになっている。また、ステップＳ２００１に処理が移行する際には、再レイアウト処理部は、前述したリストＬＢ、ＬＲの情報をレイアウト処理部等から入力している。だたし、本実施形態のリストＬＢでは、再レイアウトの対象となる文書の全ページのオブジェクトの情報をリスト化している。
図２５は、文書の全ページについて、オブジェクトブロックと距離の情報をまとめるリストＬＢの構造の一例を示す図である。
図２５において、オブジェクトＩＤ２１０１や位置２１０２、距離ＩＤ２１０３や距離の大きさ２１０４がリストＬＢに含まれる点は、図２１に示したリストＬＢと同様である。しかし、実施形態のリストＬＢでは、ページ毎のオブジェクトを区切る情報として、ページＩＤ２５０１とそのページのページサイズ２５０２とがリストＬＢに挿入されており、この点が図２１に示したリストＬＢと異なる。図２５では、リストＬＢにおける各データ要素が、実際のページ上のオブジェクトとどう対応するかを矢印で示している。尚、ここでは、文書中の全ページを繋いだ一続きの長い領域を仮想的に考え、そのうえで再レイアウト処理を実行することを想定している。
【００６１】
以下、図２５に示すページ境界情報（ページＩＤ２５０１、ページサイズ２５０２）を利用した場合を例に挙げて、再レイアウト処理を行う方法の一例を説明する。
図２３のステップＳ２００３において、ステップＳ２００２で取得した項目が、ページ上の最初のオブジェクトでないと判定された場合には、ステップＳ２３０１に進む。そして、再レイアウト処理部は、リストＬＢから取得した項目が、オブジェクト、距離、及びページ境界の何れであるかを判定する。
【００６２】
この判定の結果、リストＬＢから取得した項目がページ境界であった場合には、ステップＳ２３２１に進む。ステップＳ２３２１に進むと、再レイアウト処理部は、そのページ境界の次に出現するオブジェクトの情報をリストＬＢから取得する。
次に、ステップＳ２３２２において、再レイアウト処理部は次の処理を行う。すなわち、再レイアウト処理部は、ステップＳ２３２１で取得したオブジェクトの位置と、ページレイアウト（再レイアウト）を行っている最中のページに含まれるオブジェクトの情報とに基づいて、そのページにおいて空けるべき距離を計算する。
【００６３】
このステップＳ２３２２における処理の一例を、図２４を用いて説明する。
図２４に示すように、例えばページ２４０１の下部の余白に、次ページのオブジェクトブロック２４０３が再配置される場合、オブジェクトブロック２４０３とオブジェクトブロック２４０５との間の距離を決定する必要がある。オブジェクトブロック２４０３とオブジェクトブロック２４０５は、元々は属するページが違っている。したがって、元々は隣り合う関係になかったオブジェクトブロック間の余白をどう取るかが問題となる。
【００６４】
そこで、本実施形態では、例えば、ページ２４０１を調べると、オブジェクトブロック２４０６の左端の位置と、オブジェクトブロック２４０３の左端の位置とが近いので、これらのオブジェクトブロック２４０３、２４０６は類似する関係にあるとみなす。そして、再レイアウト処理部は、オブジェクトブロック２４０６とその上のオブジェクトブロックとの距離２を参照し、その距離２を、オブジェクトブロック２４０３とオブジェクトブロック２４０５との間の距離に設定する。これがステップＳ２３２２で行われる処理の一例である。尚、ここでは、オブジェクトブロックの左端の位置にのみ注目しているが、必ずしもこのようにする必要はない。例えば、オブジェクトブロックの左端の位置に加え、又は代えて、オブジェクトブロックのその他の要素の類似度（右端位置、横幅、縦長さ、図像密度等）を利用してもよい。このようにしても、前述したのと同様に、例えばページ２４０１の下部の余白に、次ページのオブジェクトブロック２４０３を再配置することができる。
以上のように本実施形態では、例えば、ステップＳ２３２２の処理を行うことにより、決定手段の一例が実現される。
【００６５】
図２３の説明に戻り、この距離が決まったら、ステップＳ２０２３において、再レイアウト処理部は、配置開始位置ＳＰを、ステップＳ２３２２で得られた距離に基づいて、例えば下方に移動する。
以上のように本実施形態では、例えば、ステップＳ２３２２の処理を行うことにより、変更手段に加えて第２の変更手段の一例も実現される。
また、ステップＳ２０１４において、移動した配置開始位置ＳＰが、ページサイズを超えていると判定された場合には、ステップＳ２３１１に進む。ステップＳ２３１１に進むと、再レイアウト処理部は、配置開始位置値ＳＰの値を次ページの上端にリセットする。そしてステップＳ２０１２に進み、オブジェクト配置開始位置ＳＰに、取得したオブジェクトを移動させる。
【００６６】
以上のようにすることによって、リストＬＢが、文書の全ページのオブジェクトと距離の情報を保持していても、第１の実施形態と同様に、ページレイアウトを行うことができる。このように本実施形態では、前述した第１の実施形態における効果に加えて、ページの境界を跨いで、ページ間でオブジェクトを再配置することができ、文書のページ領域を効率的に利用することを促進できる。更に、配置するページを変更するオブジェクトブロック２４０３と、オブジェクトブロック２４０３の移動先となるページ２４０１のオブジェクトブロックの属性（類似度等）に基づいて、オブジェクトブロック２４０３、２４０５の距離を決定した。このようにしてページの境界を跨ぐオブジェクト間の距離として最適な距離を求めることで、違和感の少ないレイアウト結果を得ることができる。
【００６７】
（第３の実施形態）
次に、本発明の第３の実施形態について説明する。前述した第１及び第２の実施形態では、何れも専用のアプリケーションソフトウェアで各処理を行う場合を例に挙げて説明した。これに対し、本実施形態では、プリンタドライバで各処理を行う場合を例に挙げて説明する。このように本実施形態と前述した第１、第２の実施形態との違いは、処理を行う主体が異なる。したがって、本実施形態の説明において、前述した第１、第２の実施形態と同一の部分については、図１〜図２５に付した符号と同一の符号を付すこと等により、詳細な説明を省略する。
本実施形態のシステムも、第１、第２の実施形態と同様に、ホストコンピュータとなるコンピュータモジュール１０１と、これに接続されたローカルプリンタ１４５とを備える（図１を参照）。コンピュータモジュール１０１は、ローカルプリンタ１４５に対する描画命令を含んだ印刷ジョブデータを生成するためのプリンタドライバを有する。
【００６８】
図２６は、コンピュータモジュール１０１とローカルプリンタ１４５の機能的な構成の一例を示す図である。
コンピュータモジュール１０１においてオペレーティングシステム（ＯＳ）２６０２が稼動し、ＯＳ２６０２上でアプリケーション２６０１とプリンタドライバ２６０４とが動作する。アプリケーション２６０１及びプリンタドライバ２６０４は、ＯＳ２６０２内部のＡＰＩ（Application Program Interface）システム２６０３を利用・経由しながら互いに協調して印刷処理を行う。ＡＰＩシステム２６０３には、ＧＤＩ（Graphic Device Interface）等が含まれる。
ＯＳ２６０２及びＡＰＩシステム２６０３を介してプリンタドライバ２６０４で生成された印刷ジョブデータは、ローカルプリンタ１４５のコントローラ２６１１に送られる。コントローラ２６１１は、印刷ジョブデータに含まれる描画命令に基づくデータを印刷バッファ２６１２に展開する。印刷エンジン２６１３は、印刷バッファ２６１２に展開されたデータを使って描画処理を行う。
【００６９】
ここでプリンタドライバ２６０４は、少なくとも描画命令の中に、個々のオブジェクトを識別できる情報と、その個々のオブジェクトのページ上の位置を決定するための座標等の位置情報を含めるものとする。このようにすることによって、前述した第１、第２の実施形態で説明したレイアウト処理部等の動作を、プリンタドライバ２６０４においても同様に作動することができる。
以上のような前提のもとで、図１８〜図２０に示したフローチャートの処理をプリンタドライバ２６０４にて実現し、ＣＰＵ１３５において実行することで、本実施形態においても、前述した第１、第２の実施形態と同様の効果が得られる。
【００７０】
図２７は、距離調整ユーザインタフェイスの一例を示す図である。図２７に示す距離調整ユーザインタフェイスは、プリンタドライバ２６０４において、図１１に示した距離調整ユーザインタフェイス１１００と同等の設定を行うためのものである。
ＵＩ処理部は、オブジェクト間の距離を自動的に調整するかどうかのユーザによる選択操作を、画面２７０１内のボタンコントロール２７０４の操作によって受け取ることができる。プリンタドライバ２６０４は、図１１に示した距離調整ユーザインタフェイス１１００と同様の操作を提供する"領域２７０５とボタン２７０６"のユーザによる操作内容に基づいて、オブジェクト間の距離を自動調整する場合の設定値を入力することができる。図２７に示す例では、ボタン２７０２がユーザによって押下されることによって、設定値がプリンタドライバ２６０４に伝えられ保存される。尚、図２７に示すボタン２７０３がユーザによって押下されると、画面２７０１内の設定はキャンセルされる。
【００７１】
ここでは、プリンタドライバ２６０４に、オブジェクト間の距離の自動調整の設定を、前もって行う場合を例に挙げて示した。通常、印刷においては、ユーザの調整入力は一回のみで一回の印刷ジョブとして出力することができる。そのため、ここでは、第１、第２の実施形態のように、画面で距離の調整の状態を見ながらコントロールすることを考慮していない。しかしながら、例えば、印刷内容のプレビュー機能を持つプリンタドライバであれば、第１、第２の実施形態と同様に、オブジェクトの間隔が調整される様子を逐次表示し、ユーザに確認させながら調整を行わせるようにすることもできる。
以上のように本実施形態では、例えば、図２７に示す画面２７０１を用いることにより、操作手段の一例が実現される。
【００７２】
図２８は、オブジェクト間の距離を変更してページレイアウトを変更する際の文書レイアウト編集装置内のプリンタドライバ２６０４の処理の一例を説明するフローチャートである。
プリンタドライバ２６０４は、現在の印刷対象となっている文書を参照し、その文書のページレイアウト上に配置されているオブジェクトの位置を調整する処理を行う。ユーザによる所定の操作をプリンタドライバ２６０４が検出すると、まず、ステップＳ３１０１に処理が移行するようになっている。
ステップＳ３１０１において、プリンタドライバ２６０４は、全てのオブジェクトブロック間の距離を抽出し、オブジェクトブロックにインデックスを付ける処理を行う。
以上のように本実施形態では、例えば、ステップＳ３１０１の処理を行うことにより、抽出手段の一例が実現される。
次に、ステップＳ３１０２において、プリンタドライバ２６０４は、ステップＳ３１０１で抽出した情報を、リストＬＢに纏める。ここで利用されるリストＬＢのデータ構造は、第１又は第２の実施形態で使われたものと同等となる。
【００７３】
次に、ステップＳ３１０３において、プリンタドライバ２６０４は、図２７に示した距離調整ユーザインタフェイスに対するユーザの入力操作の内容を取得し、オブジェクト間の距離の自動調整を行うことが設定されているか否かを判定する。この判定の結果、オブジェクト間の距離の自動調整を行うことが設定されていない場合には、ステップＳ３１１０に進み、プリンタドライバ２６０４は、通常の印刷処理を行い、図２８のフローチャートによる処理を終了する。
一方、オブジェクト間の距離の自動調整を行うことが設定されている場合には、ステップＳ３１２１に進む。ステップＳ３１２１に進むと、プリンタドライバ２６０４は、距離調整ユーザインタフェイスの入力状態を示す情報と、ステップＳ３１０２で得られたリストＬＢの情報とに基づいて、クラスタ分析処理を実行する。このステップＳ３１２１の処理は、図１９に示した処理と同一であるので、ここでは、その説明を省略する。以上のように本実施形態では、例えば、図１９のステップＳ１９０６の処理を行うことにより、纏め手段の一例が実現される。
【００７４】
そして、クラスタ分析処理が完了したら、ステップＳ３１２２において、プリンタドライバ２６０４は、クラスタ分析処理の実行結果に基づいて、オブジェクト間の距離の大きさを変更する。
以上のように本実施形態では、例えば、図１９のステップＳ１９０７、Ｓ１９０９〜Ｓ１９１１の処理と、ステップＳ３１２２の処理とを行うことにより、統一手段の一例が実現される。
次に、ステップＳ３１２３において、プリンタドライバ２６０４は、リストＬＢの情報と、クラスタ分析処理の実行結果の情報とに基づいて、オブジェクトブロックをページ上で再レイアウトする再レイアウト処理を実行する。このステップＳ３１２３の処理は、図２０に示した処理と同一であるので、ここでは、その説明を省略する。
以上のように本実施形態では、例えば、図２０のステップＳ２０２３の処理を行うことにより、変更手段、第２の変更手段の一例が実現され、図２０のステップＳ２０２４の処理を行うことにより、修正手段の一例が実現される。また、例えば、図２３のステップＳ２３２２の処理を行うことにより、決定手段の一例が実現される。
【００７５】
以上のように本実施形態では、第１、第２のプリンタドライバ２６０４にレイアウト調整の仕組みを組み込むようにした。したがって、特別なアプリケーションソフトウェアを用意したり、そのアプリケーションソフトウェア用に文書データを変換したりすることなく、印刷操作を行うことができる。よって、第１、第２の実施形態で説明したレイアウトの自動調整を行うという効果に加えて、より汎用的な機構を提供することができるという効果が得られる。
尚、本実施形態では、図２８の全ての処理をプリンタドライバ２６０４が行うようにしたが、必ずしもこのようにする必要はない。例えば、ステップＳ３１２１の処理については、第１、第２の実施形態で説明したクラスタ分析処理部が実行し、ステップＳ３１２３の処理については、第１、第２の実施形態で説明した再レイアウト処理部が実行するようにしてもよい。
【００７６】
（第４の実施形態）
次に、本発明の第４の実施形態を説明する。前述した第１〜第３の実施形態では、文書レイアウト編集装置を、パーソナルコンピュータ等のホストコンピュータに適用した場合を例に挙げて説明した。これに対し、本実施形態では、プリンタ・複写機・ＦＡＸ等の機能を複合的に有するＭＦＰ等の画像形成装置に文書レイアウト編集装置を適用した場合を例に挙げて説明する。このように本実施形態と、第１〜第３の実施形態とは、文書レイアウト編集装置を適用する対象が異なる。したがって、本実施形態の説明において、第１〜第３の実施形態と同一の部分については、図１〜図２８に付した符号と同一の符号を付すこと等により、詳細な説明を省略する。
【００７７】
図２９は、画像形成装置を有する印刷システムの構成の一例を示す図である。
図２９に示す印刷システムでは、ホストコンピュータ４０及び３台の画像形成装置１０、２０、３０がＬＡＮ５０に接続されている。ただし、印刷システムにおけるホストコンピュータ及び画像形成装置の接続数は、これに限定されることはない。また、ホストコンピュータ及び画像形成装置の接続方法もＬＡＮに限られることはない。例えば、ＷＡＮ（公衆回線）等の任意のネットワーク、ＵＳＢ等のシリアル伝送方式、セントロニクスやＳＣＳＩ等のパラレル伝送方式等を採用することも可能である。
【００７８】
画像形成装置１０、２０は同じ構成を有する装置である。画像形成装置３０はプリント機能のみの画像形成装置であり、画像形成装置１０、２０が有するスキャナ部を有していない。そこで、以下では、説明を簡単にするために、画像形成装置１０、２０、３０のうち画像形成装置１０の構成を詳細に説明する。
【００７９】
画像形成装置１０は、画像入力デバイスであるスキャナ部１３と、画像出力デバイスであるプリンタ部１４と、画像形成装置１０全体の動作制御を司るコントローラユニット１１と、ユーザインターフェース（ＵＩ）である操作部１２とを有している。
図３０は、画像形成装置１０の外観構成の一例を示す図である。
スキャナ部１３は、原稿上の画像を露光走査して得られた反射光をＣＣＤに入力することで画像の情報を電気信号に変換し、画像データとしてコントローラユニット１１に対して出力する。
原稿は原稿フィーダ２９０１のトレイ２９０２にセットされる。ユーザが操作部１２から読み取り開始を指示すると、コントローラユニット１１からスキャナ部１３に原稿読み取り指示が与えられる。スキャナ部１３は、この原稿読み取り指示を受けると、原稿フィーダ２９０１のトレイ２９０２から原稿を１枚ずつフィードして、原稿の読み取り動作を行う。
【００８０】
プリンタ部１４は、コントローラユニット１１から受け取った画像データを用紙上に形成する画像形成デバイスである。プリンタ部１４には、異なる用紙サイズ又は異なる用紙向きを選択可能とする複数の用紙カセット２９０３、２９０４、２９０５が設けられている。排紙トレイ２９０６には印字後の用紙が排出される。
【００８１】
図３１は、画像形成装置１０の機能構成の一例を示す図である。特にここでは、画像形成装置１０にて行われるコピー処理において、オブジェクト間の距離を調整して再レイアウトを行う場合を例に挙げて説明する。
スキャン部３００２は、原稿フィーダ２９０１から入力された画像３００１をスキャンして画像化する。その後、像域分離部３００３は、スキャンされた画像を公知の技術によって像域分離し、複数のブロックに分割する。符号部３００４は、複数のブロックを、位置等のデータに変換する。再レイアウト部３００５は、位置等のデータに基づいてオブジェクト間の距離を調整して再レイアウトする。そして、印刷部３００６は、再レイアウト済みの情報を印刷する。こうして出力画像３００７がプリンタ部１４から出力される。
【００８２】
図３２は、画像形成装置１０のコントローラユニット１１の構成の一例をより詳細に示す図である。
図３２において、コントローラユニット１１は、スキャナ部１３やプリンタ部１４と電気的に接続されている。また、図２９に示したように、コントローラユニット１１は、ＬＡＮ５０を介して、ホストコンピュータ４０や外部の装置等と相互に接続されている。このようにすることによって、画像形成装置１０は、画像データやデバイス情報の入出力を行うことが可能となっている。
【００８３】
ＣＰＵ３２０２は、ＲＯＭ３２０６に記憶された制御プログラム等に基づいて、システムバス３２００を介してＣＰＵ３２０２と相互に接続されている各種デバイスとのアクセスを統括的に制御する。また、ＣＰＵ３２０２は、コントローラユニット１１の内部で行われる各種処理についても統括的に制御する。ＲＯＭ３２０６には、画像形成装置１０のブートプログラム等が格納されている。ＨＤＤ３２０７はハードディスクドライブであり、システムソフトウェアや画像データを格納することが可能となっている。
【００８４】
操作部Ｉ／Ｆ３２０４は、システムバス３２００と操作部１２とを相互に接続するためのインタフェイス部である。操作部１２は、図２７に示した画面２７０１を表示する。ユーザは、操作部１２に表示される画面２７０１に対する操作を行うことによって、画像形成装置１０でのレイアウト調整（オブジェクト間の距離の調整）の設定を行うことができる。
ネットワークＩ／Ｆ３２０５は、ＬＡＮ５０及びシステムバス３２００に接続し、情報の入出力を行う。
スキャナ画像処理部３２１４は、スキャナ部１３からスキャナＩ／Ｆ３２１５を介して受け取った画像データに対して、補正、加工、及び編集を行う。尚、スキャナ画像処理部３２１４は、受け取った画像データがカラー原稿か白黒原稿か、文字原稿か写真原稿か等を判定する。そして、スキャナ画像処理部３２１４は、その判定結果を画像データに付随させる。こうした付随情報を属性データと称する。
プリンタ画像処理部３２１７は、外部から送られた画像データを受け取り、受け取った画像データに対して画像処理を施す。画像処理を施した後の画像データは、プリンタＩ／Ｆ３２１８を介してプリンタ部１４に出力される。
【００８５】
像域分離部３００３は、スキャナ部１３が受け取った画像を像域分離する。符号化部３２１１は、像域分離されたデータを、再レイアウト部３００５が処理できるデータ形式に変換する。
再レイアウト部３００５は、図２８に示したフローチャートによる処理を実行し、像域分離された画像データを再レイアウトすることによって、画像形成装置１０上で、レイアウト調整（オブジェクト間の距離の調整）を実施する。図２８に示したフローチャートによる処理は、第３の実施形態と同じであるので、その詳細な説明を省略する。
このように本実施形態では、再レイアウト部３００５によって、抽出手段、変更手段、修正手段、第２の変更手段、決定手段の一例が実現される。また、図１１、図２７に示したような距離調整インタフェイスを操作部１２に表示してユーザによる操作を受け付けることにより、操作手段の一例が実現される。
【００８６】
以上のように本実施形態では、画像形成装置にレイアウト調整の仕組みを組み込むようにした。したがって、第１、第２の実施形態で説明したレイアウトの自動調整を行うという効果に加えて、複写を行った文書に対しても、第１、第２の実施形態で説明したようなレイアウト調整を行うことが可能となるという効果が得られる。したがって、電子データの存在しない紙文書についても、見栄えの整ったレイアウト結果を得ることが可能となる。
【００８７】
（本発明の他の実施形態）
前述した本発明の実施形態における文書レイアウト編集装置を構成する各手段、並びに文書レイアウト編集方法の各ステップは、コンピュータのＲＡＭやＲＯＭなどに記憶されたプログラムが動作することによって実現できる。このプログラム及び前記プログラムを記録したコンピュータ読み取り可能な記録媒体は本発明に含まれる。
【００８８】
また、本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
【００８９】
尚、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム（実施形態では図１８〜図２０、図２３、図２８に示すフローチャートに対応したプログラム）を、システムあるいは装置に直接、あるいは遠隔から供給するものを含む。そして、そのシステムあるいは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。
【００９０】
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【００９１】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であってもよい。
【００９２】
プログラムを供給するための記録媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷなどがある。また、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などもある。
【００９３】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
【００９４】
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【００９５】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【００９６】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【００９７】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
【００９８】
尚、前述した各実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【図面の簡単な説明】
【００９９】
【図１】本発明の第１の実施形態を示し、ページレイアウトを実行する文書レイアウト編集装置を有するシステムの構成の一例を示す図である。
【図２】本発明の第１の実施形態を示し、オブジェクトリストの一例を示す図である。
【図３】本発明の第１の実施形態を示し、オブジェクトリストに格納されるオブジェクトの情報と、実際のオブジェクトとの関係の一例を示す図である。
【図４】本発明の第１の実施形態を示し、ＰＤＦフォーマットの文書から、図３に示したような長方形オブジェクトが読み出され、そのオブジェクトの情報が取り出されることの一例を概念的に示す図である。
【図５】本発明の第１の実施形態を示し、オブジェクトをブロック化する際の文書レイアウト編集装置のレイアウト処理部の処理の一例を説明するフローチャートである。
【図６】本発明の第１の実施形態を示し、２つのオブジェクトの間の垂直方向の距離の一例を説明する図である。
【図７】本発明の第１の実施形態を示し、文書と、その文書のオブジェクトを図５のフローチャートによってブロック化した結果の一例を示す図である。
【図８】本発明の第１の実施形態を示し、レイアウトの変更対象となる文書のページレイアウトの一例を示す図である。
【図９】本発明の第１の実施形態を示し、図８に示したオブジェクト間の垂直方向の距離のインデックスと、実際のオブジェクト間の垂直方向の距離との対応の一例を表形式で示す図である。
【図１０】本発明の第１の実施形態を示し、図８に示したページレイアウト上のオブジェクト間の距離から生成されたデンドログラムの一例を示す図である。
【図１１】本発明の第１の実施形態を示し、レイアウトを変更するための距離調整ユーザインタフェイス（ＧＵＩ）の一例を示す図である。
【図１２】本発明の第１の実施形態を示し、距離調整ユーザインタフェイスの横方向の操作によって、図８に示したページレイアウトが変更される様子と、その操作状態のときに統一される距離のペアの第１の例を示す図である。
【図１３】本発明の第１の実施形態を示し、距離調整ユーザインタフェイスの横方向の操作によって、図８に示したページレイアウトが変更される様子と、その操作状態のときに統一される距離のペアの第２の例を示す図である。
【図１４】本発明の第１の実施形態を示し、距離調整ユーザインタフェイスの上下方向の中央付近への操作と横方向の操作とによって、図８に示したページレイアウトが変更される様子と、その操作状態のときに統一される距離のペアの第１の例を示す図である。
【図１５】本発明の第１の実施形態を示し、距離調整ユーザインタフェイスの上下方向の中央付近への操作と横方向の操作とによって、図８に示したページレイアウトが変更される様子と、その操作状態のときに統一される距離のペアの第２の例を示す図である。
【図１６】本発明の第１の実施形態を示し、距離調整ユーザインタフェイスの上下方向の下部への操作と横方向の操作とによって、図８に示したページレイアウトが変更される様子と、その操作状態のときに統一される距離のペアの第１の例を示す図である。
【図１７】本発明の第１の実施形態を示し、距離調整ユーザインタフェイスの上下方向の下部への操作と横方向の操作とによって、図８に示したページレイアウトが変更される様子と、その操作状態のときに統一される距離のペアの第２の例を示す図である。
【図１８】本発明の第１の実施形態を示し、オブジェクト間の距離を変更してページレイアウトを変更する際の文書レイアウト編集装置の処理の一例を説明するメインフローチャートである。
【図１９】本発明の第１の実施形態を示し、図１８のステップＳ１８０５におけるクラスタ分析処理の一例を詳細に説明するフローチャートである。
【図２０】本発明の第１の実施形態を示し、図１８のステップＳ１８０７における再レイアウト処理の一例を詳細に説明するフローチャートである。
【図２１】本発明の第１の実施形態を示し、オブジェクトブロックと距離の情報をまとめるリストＬＢの構造の一例を示す図である。
【図２２】本発明の第１の実施形態を示し、クラスタに関する情報をまとめるリストの構造の一例を示す図である。
【図２３】本発明の第２の実施形態を示し、図１８のステップＳ１８０７における再レイアウト処理の一例を詳細に説明するフローチャートである。
【図２４】本発明の第２の実施形態を示し、ページ境界を越えてオブジェクトブロックを再配置する様子の一例を概念的に示す図である。
【図２５】本発明の第２の実施形態を示し、文書の全ページについて、オブジェクトブロックと距離の情報をまとめるリストの構造の一例を示す図である。
【図２６】本発明の第３の実施形態を示し、コンピュータモジュールとローカルプリンタの機能的な構成の一例を示す図である。
【図２７】本発明の第３の実施形態を示し、距離調整ユーザインタフェイスの一例を示す図である。
【図２８】本発明の第３の実施形態を示し、オブジェクト間の距離を変更してページレイアウトを変更する際の文書レイアウト編集装置内のプリンタドライバの処理の一例を説明するフローチャートである。
【図２９】本発明の第４の実施形態を示し、画像形成装置を有する印刷システムの構成の一例を示す図である。
【図３０】本発明の第４の実施形態を示し、画像形成装置の外観構成の一例を示す図である。
【図３１】本発明の第４の実施形態を示し、画像形成装置の機能構成の一例を示す図である。
【図３２】本発明の第４の実施形態を示し、画像形成装置のコントローラユニット１１の構成の一例をより詳細に示す図である。
【符号の説明】
【０１００】
１０１  コンピュータモジュール
１１００  距離調整ユーザインタフェイス
１１０１  ユーザインタフェイス領域
１１０２  ボタン
１１０３  マウスポインタ
【図１】
2010020646.tif 000003
【図２】
2010020646.tif 000004
【図３】
2010020646.tif 000005
【図４】
2010020646.tif 000006
【図５】
2010020646.tif 000007
【図６】
2010020646.tif 000008
【図７】
2010020646.tif 000009
【図８】
2010020646.tif 000010
【図９】
2010020646.tif 000011
【図１０】
2010020646.tif 000012
【図１１】
2010020646.tif 000013
【図１２】
2010020646.tif 000014
【図１３】
2010020646.tif 000015
【図１４】
2010020646.tif 000016
【図１５】
2010020646.tif 000017
【図１６】
2010020646.tif 000018
【図１７】
2010020646.tif 000019
【図１８】
2010020646.tif 000020
【図１９】
2010020646.tif 000021
【図２０】
2010020646.tif 000022
【図２１】
2010020646.tif 000023
【図２２】
2010020646.tif 000024
【図２３】
2010020646.tif 000025
【図２４】
2010020646.tif 000026
【図２５】
2010020646.tif 000027
【図２６】
2010020646.tif 000028
【図２７】
2010020646.tif 000029
【図２８】
2010020646.tif 000030
【図２９】
2010020646.tif 000031
【図３０】
2010020646.tif 000032
【図３１】
2010020646.tif 000033
【図３２】
2010020646.tif 000034