(57)【要約】【課題】  ページの余白量を削減する自動レイアウトにおいて、オブジェクトの配置状態を判断することなく、スムーズに次のレイアウト変更実行操作に移行することのできる、簡単な手段を実現すること。【解決手段】  あるページと対となる他のページが、余白を削減してレイアウト変更可能かどうかを、対となるページを順次変更しながら判定する。【選択図】  図８
2010231379.tif 000002
【特許請求の範囲】
【請求項１】
オブジェクトが配置された複数ページから対象ページを選択する選択手段と、
前記選択手段により選択された前記対象ページにおいてオブジェクトが配置されていない余白領域に収まるオブジェクトが配置されたページを前記対象ページ以降のページから検出する検出手段と、
前記選択手段によって選択された対象ページと前記検出手段により検出されたページとを表示する表示手段を有することを特徴とする情報処理装置。
【請求項２】
前記対象ページの次のページにオブジェクトが配置されているか否かを判定する判定手段を更に有し、
前記判定手段が前記対象ページの次のページにオブジェクトが配置されていると判定した場合、前記対象ページの余白領域のサイズと前記次のページのオブジェクトのサイズとを比較する比較手段を更に有し、
前記検出手段は、前記比較手段が前記対象ページの余白領域のサイズが前記次のページのオブジェクトのサイズより大きいと判断した場合、当該次のページを検出することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記検出手段は、前記対象ページ以降のページの中でオブジェクトが配置されていない空白ページを除いたページから、前記対象ページの余白領域に収まるオブジェクトが配置されたページを前記対象ページ以降のページから検出することを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記比較手段は、前記対象ページの余白領域のサイズと前記次のページに配置されている複数のオブジェクトのサイズの和とを比較することを特徴とする請求項２に記載の情報処理装置。
【請求項５】
前記検出手段は、前記対象ページの余白領域のサイズが最小となるようなオブジェクトが配置されたページを検出することを特徴とする請求項１に記載の情報処理装置。
【請求項６】
前記対象ページの余白領域に第１ページの全オブジェクトを配置することで生じる残りの余白領域のサイズと、前記対象ページの余白領域に第２ページの全オブジェクトを配置することで生じる残りの余白領域のサイズとを比較し、
前記対象ページの余白領域に第１ページの全オブジェクトを配置することで生じる残りの余白領域のサイズが、前記対象ページの余白領域に第２ページの全オブジェクトを配置することで生じる残りの余白領域のサイズよりも小さい場合、前記検出手段は前記第１ページを検出し、
前記対象ページの余白領域に第２ページの全オブジェクトを配置することで生じる残りの余白領域のサイズが、前記対象ページの余白領域に第１ページの全オブジェクトを配置することで生じる残りの余白領域のサイズよりも小さい場合、前記検出手段は前記第２ページを検出することを特徴とする請求項５に記載の情報処理装置。
【請求項７】
オブジェクトが配置された複数ページから対象ページを選択する選択工程と、
前記選択工程により選択された前記対象ページにおいてオブジェクトが配置されていない余白領域に収まるオブジェクトが配置されたページを前記対象ページ以降のページから検出する検出工程と、
前記選択工程によって選択された対象ページと前記検出工程により検出されたページとを表示する表示工程を有することを特徴とする制御方法。
【請求項８】
オブジェクトが配置された複数ページから対象ページを選択する選択工程と、
前記選択工程により選択された前記対象ページにおいてオブジェクトが配置されていない余白領域に収まるオブジェクトが配置されたページを前記対象ページ以降のページから検出する検出工程と、
前記選択工程によって選択された対象ページと前記検出工程により検出されたページとを表示する表示工程をコンピュータに実行させるための制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ページ上に図形・イメージ・文字列などの描画オブジェクトを配置するためのページレイアウト技術に関する。
【背景技術】
【０００２】
従来のページレイアウト技術において、最終ページの印刷データを１つ前のページに配置することで用紙を節約する技術が特許文献１に開示されている。
なお本願で「ページ」とは、Ａ４用紙などの限られた領域であって、オブジェクトが配置される領域である。また「オブジェクト」とは、図形や文字列や画像あるいはそれらの組み合わせなどの、ユーザがソフトウェアを操作して扱えるページ上の表示要素のことを指す。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−１４９２１８
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述したように複数ページを変更対象とする場合、ユーザは対象となる複数ページを観察しながら、ページのレイアウトを変更するか否かを判断する。
【０００５】
このようにユーザがページを確認しながらレイアウト処理を実行することで、ユーザが所望としないレイアウト変更を避けることができる。
【０００６】
例えば、２ページを表示しておいて、その２ページをレイアウト変更する処理を考える。
【０００７】
図２（ａ）と（ｂ）を参照して説明すると、図２（ａ）においてレイアウト変更の対象としてページ２０１とページ２０２が選択されている（「選択中」の文字で表示、以下同様）。ページ２０１にはオブジェクト２１１が配置され、ページ２０２にはオブジェクト２１２が配置されている。ここで、ページ２０２のオブジェクト２１２をページ２０１へ移動すると、オブジェクト２１１と２１２がページ２０１に配置される。オブジェクト２１３はオブジェクト２１２の移動により生じた余白領域を埋めるようにページ２０２内において配置位置が変更されるが、ページ２０１にはオブジェクト２１３を配置可能な余白領域がないので、オブジェクト２１３はページ２０１に移動されない。なお、ページ２０１にはオブジェクト２１３を配置可能な余白領域がないので、オブジェクト２１３はページ２０１に移動されないと判断した。しかし、その他にも、ページ内の余白量が一定の閾値（例えば高さの総和が５０ミリメートル）未満であれば、移動できないと判断しても良い。
【０００８】
余白領域のサイズは、一例としては図１４のように計算できる。図１４（ａ）のようなページ１４０１があった場合、余白領域は図１４（ｂ）の網掛けで塗りつぶした個所１４１１〜１４１８である。つまりページを横に区切ってオブジェクトが存在しない領域が余白領域である。ここでは、これら余白領域の高さの総和を求めることでページ内の余白領域のサイズを求める。各領域の高さは、ページでの座標位置から求めることができる。
【０００９】
レイアウト変更処理により得られる図２（ｂ）では、ページ２０１には更に他のオブジェクトを配置することができない状態である。よって、ユーザは、次のレイアウト変更対象となる２ページを新たに選択しなければならない。
【００１０】
また、レイアウト変更の結果によって、次に選択すべき対象ページの組み合わせが図２のように現在選択中の後半ページ（図２のページ２０２）と次のページ（図２のページ２０３）とは限らない。
【００１１】
例えば図５（ａ）に対してレイアウト変更処理を実行すると、図５（ｂ）が得られる。ここでページ５０１には余白領域が存在するためレイアウト変更の対象となりうる。しかし、ページ５０２にはレイアウト変更すべきオブジェクトが存在していないのでレイアウト変更の対象にはならない。
【００１２】
そこでユーザは図５（ｃ）のように、ページ５０１とページ５０３を新たなレイアウト変更の対象ページとして選択する。よって、次に選択すべき対象ページの組み合わせが図２のように現在選択中の後半ページと次のページとは限らない。
【００１３】
以上のように、ユーザがページ上のオブジェクトの配置状態を判断し、どのページがレイアウト変更可能な組み合わせなのかを逐一判断しなければならない。またユーザはその判断の後、ソフトウェアの操作を行って対象とするページを選択する必要があり、操作負荷が増大するおそれがあった。
【課題を解決するための手段】
【００１４】
文書ページ上に図形や文字をオブジェクトとして配置する編集方法で、文書中の指示されたページの組に含まれるオブジェクトを移動して再配置する自動レイアウト方法で、
指示されたページの組が、それらページ内に存在するオブジェクト間の余白を利用して、より連続する余白領域を形成するようにオブジェクトの再配置を行うようなレイアウト変更が可能かどうかを検出する手段と、（Ｓ８１２）
指示されたページの組の中のあるページに含まれる余白量が、他のページに含まれるオブジェクトのサイズよりも大きい場合、それらのページがレイアウト変更可能と判定する手段と、（Ｓ８２１，８２２，８２３）
指示されたページの組の中のあるページに注目し、そのページと組となる他のページを順次変更しながら判定する手段と、（Ｓ８０３，８０４）
注目するページとレイアウト変更可能な組となる他のページが見つからない場合、注目するページを変更する手段と、（Ｓ８１３）
レイアウト変更可能と判定した組となるページを、自動レイアウトの対象として設定する手段を有する。（Ｓ８１４）
【発明の効果】
【００１５】
本発明によれば、ユーザの操作負荷を増大させることなくレイアウト対象ページを選択することが可能となる。
【図面の簡単な説明】
【００１６】
【図１】本願の印刷システム図
【図２】本システムでのレイアウト変更例を示す図。
【図３】レイアウト変更とその後のページ選択の変更例を示す図
【図４】レイアウト変更とその後のページ選択の変更例を示す図
【図５】レイアウト変更とその後のページ選択の変更例を示す図
【図６】レイアウト変更とその後のページ選択の変更例を示す図
【図７】ユーザインタフェイスを示す図
【図８】実施例１のフローチャートを示す図
【図９】実施例３のフローチャートを示す図
【図１０】実施例３のページ選択の変更例を示す図
【図１１】実施例４のフローチャートを示す図
【図１２】実施例４のページ選択の変更例を示す図
【図１３】ユーザインタフェイスの別例を示す図
【図１４】余白領域の計算方法の一例を示す図
【図１５】レイアウト変更とその後のページ選択の変更例を示す図
【発明を実施するための形態】
【００１７】
（実施例１）
以下、本発明を実施するための最良の形態について図面を用いて説明する。
【００１８】
図１はレイアウト変更を実行する情報処理装置としてのコンピュータシステムである。
【００１９】
情報処理装置１０１はキーボード１３２やマウス１３３のようなポインティングデバイスなどの入力装置を備え、ディスプレイ装置１４４や状況に応じてローカルプリンタ１４５を含む出力装置と連結される。入力／出力インタフェイス１３８はコンピュータ１０１をネットワーク１０７を介して他の装置につなげることができる。そのネットワーク１０７の典型はローカルエリアネットワーク（ＬＡＮ）、あるいはワイドエリアネットワーク（ＷＡＮ）である。
【００２０】
コンピュータ１０１は少なくとも１つのプロセッサーユニット（ＣＰＵ）１３５、例えば半導体のランダムアクセスメモリ（ＲＡＭ）やリードオンリーメモリ（ＲＯＭ）から構成されるメモリユニット１３６を含む。さらにコンピュータ１０１は、ビデオインタフェイス１３７を含む入力／出力（Ｉ／Ｏ）インタフェイス１３８、キーボード１３２・マウス１３３のためのＩ／Ｏインタフェイス１４３を含んでいる。
【００２１】
記憶装置１３９は典型的にハードディスクドライブ１４０やフロッピー（登録商標）ディスクドライブ１４１を含んでいる。ＣＤ−ＲＯＭドライブ１４２は不揮発性のデータソースとして提供される。
【００２２】
本発明のフローチャートで示された手順を実現するソフトウェアはコンピュータの可読媒体に格納される。ソフトウェアはコンピュータの可読媒体からロードされ、ＣＰＵ１３５によって実行される。そのソフトウェアを使用することにより電子文書のレイアウト変更が実行される。
【００２３】
なお、特に断らない限り本発明の機能が実行されるのであれば、単体の機器であっても複数の機器から成るシステムであっても、本発明を適用できることはいうまでもない。あるいは実行されるソフトウェアが、コンピュータのシステムに組み込まれたプリンタドライバであっても、あるいはプリンタなどの印刷装置上で動作するオペレーティングシステムに組み込まれるものであってもかまわない。またＬＡＮ、ＷＡＮなどのネットワークを介して接続され処理されるシステムであっても、同様に本発明を適用できることはいうまでもない。
【００２４】
図７は、本実施例におけるレイアウト変更を行うソフトウェアのユーザインタフェイスの一例である。ウィンドウ７０１には、メニューバー７０２、ツールバー７０３、そしてマウス７２０の位置と動作によって操作可能なワークエリア７２１がある。
【００２５】
また、サムネイルエリア７２２では、マウス１３３で操作するマウスカーソル７２０を使って、縮小表示されるページのイメージから、レイアウト変更の対象とするページの組が選択される。
【００２６】
サムネイルエリア７２２には文書中に含まれるページが先頭から順に表示され、レイアウト変更の対象として選択された２ページ（ページ７１１と７１２）がワークエリア７２１に表示される。ページ７１１にはオブジェクト７１３が、ページ７１２にはオブジェクト７１４が存在する。
【００２７】
本実施例では、制御部は文書の連続するページを順次レイアウト変更する。ページ間で連続的な内容をもった一般的な文書の全体を通してレイアウト変更することで、文書のページ数を減らすことを考える。
【００２８】
したがって本実施例では、連続するページが選択される状態を示しているが、実際にはマウスカーソル７２０でサムネイルエリア７２２内から、自由にページの組を選択できる。
【００２９】
ユーザはメニューバー７０２あるいはツールバー７０３から「レイアウト変更」コマンドを実行することで、レイアウト変更を実行することができる。また同じく「次のレイアウト変更対象を表示」コマンドを実行することで、現在表示されている２ページに続いて、レイアウト変更可能な別の２ページの組がワークエリア７２１に表示される。
【００３０】
図８（ａ）〜（ｂ）は本実施例のフローチャートである。これらフローチャートは、「次のレイアウト変更対象を表示」コマンドを実行する際に制御部が実行する処理である。
【００３１】
本願では、制御部はＣＰＵ１３５、メモリ１３６、ＲＯＭ１４２、ＨＤＤ１４０等から構成される。なお、フローチャートで示す手順は、メモリから関連するプログラムがＣＰＵにより読み出されて実行されることで実現される。
【００３２】
ユーザによる「次のレイアウト変更対象を表示」コマンドの実行を受けつけた制御部は、Ｓ８０１において、現在指示されている文書中のページを対象ページとしてＰ１と設定する。図７のユーザインタフェイス例では、ワークエリアの左側に位置するページ（図７ではページ７１１）を指す。Ｓ８０２以降の処理により対象ページ以降のページからレイアウト対象ページとなるページが検出される。
【００３３】
次にＳ８０２において制御部は、ループ変数ｎを１に設定し、ページＰ１とレイアウト変更の組になるページの候補としてＰ２を設定する。Ｐ２はＰ１の文書ページ番号にｎを加えたページ番号のページとなる。制御部はこのＰ２が文書中に存在するページ番号かどうかをＳ８０５で確認する。Ｓ８０５の確認の結果、Ｐ２が存在しなければ処理を終了する。Ｐ２が存在する場合、Ｓ８０６に進む。
【００３４】
Ｓ８０６で制御部は、ページＰ２にレイアウト変更すべきオブジェクトが存在しているかを確認する。Ｓ８０６の確認の結果、オブジェクトが存在しなければ（ページが空白ページであれば）Ｓ８０４に進み、ｎを１だけ増加する。Ｓ８０６の確認の結果、オブジェクトが存在すればＳ８１１に進み、Ｐ２がすでにレイアウト変更の組として選択されているかどうかを確認する。具体的には、制御部は図７のユーザインタフェイスから、選択表示中のページのページ番号を取得し、Ｐ２と比較することでＳ８１１の判定処理が実行される。
【００３５】
Ｓ８１１の確認の結果、選択済みであれば制御部はＳ８１３でページＰ２を新たなＰ１と設定してＳ８０２に戻る。Ｓ８１１においてＰ２が既に選択されていない状態であれば、Ｓ８１２に進む。
【００３６】
Ｓ８１１の確認により、「次のレイアウト変更対象を表示」コマンドを繰り返し実行したときに、レイアウト変更を実行せずスキップして次のレイアウト変更対象に移動することが容易になる。
【００３７】
Ｓ８１２で制御部は、ページＰ１とＰ２がレイアウト変更可能なページの組み合わせかどうかを確認する。この確認方法は図８（ｂ）で説明する。
【００３８】
Ｓ８１２の確認の結果、レイアウト変更可能なページと判定されれば、制御部はＳ８１４にてページＰ１とＰ２をレイアウト変更対象として選択し、ワークエリア７２１に表示する。レイアウト変更不可能なページの対と判定されれば、制御部はＳ８１３に進む。
【００３９】
続いて、図８（ａ）のＳ８１２の詳細を説明するフローチャートを図８（ｂ）を用いて説明する。
【００４０】
制御部は、Ｓ８２１において、ページＰ１内においてオブジェクトが存在しない余白領域のサイズを計算する。なお、余白領域のサイズの計算方法は図１４にて説明した方法を用いる。
【００４１】
制御部は、Ｓ８２２において、ページＰ２の座標上最も上方にあるオブジェクトのサイズを取得する。具体的にはページＰ２において左上が原点であれば、Ｙ座標の値が０に最も近いオブジェクトをページＰ２の座標上最も上方にあるオブジェクトを特定する。さらに、その特定されたオブジェクトの座標値を用いることで、オブジェクトのサイズを計算する。
【００４２】
制御部は、Ｓ８２１にて計算されたＰ１の余白領域のサイズと、Ｓ８２２にて取得されたオブジェクトのサイズを比較する。ページＰ１内の余白領域のサイズが、ページＰ２のオブジェクトのサイズ以上になっていれば、Ｓ８２４でレイアウト変更可能と判断する。一方、ページＰ１内の余白領域のサイズが、ページＰ２のオブジェクトのサイズ以上になっていなければ、Ｓ８２５でレイアウト変更不可能と判断する。
【００４３】
ここで図８の処理を図３〜６を用いて具体的に説明する。
【００４４】
図３（ａ）のように、ページ３０１〜３０３があり、オブジェクト３１１〜３１４が配置されている。なお、オブジェクト３１１〜３１４は単純な矩形で表現されているが、実際には内部にさらに細かいオブジェクト（文字等）が存在していても良い。本願においてオブジェクトは単純化した矩形を使うが、内部にはさらに詳細なオブジェクトが存在していても良い。図３（ａ）では、ページ３０１とページ３０２が選択され表示中である。
【００４５】
ここでレイアウト変更コマンドを実行することで図３（ｂ）の結果が得られる。
【００４６】
この状態で「次のレイアウト変更対象を表示」コマンドが指示された場合、現在の選択ページ３０１がＰ１となる。そのため、ページ３０２がＰ２となる。
【００４７】
ここで、Ｐ２（ページ３０２）は空白ページではないが、既に選択されているため、Ｐ２＝Ｐ１に設定される。その結果、Ｐ１がページ３０２となり、Ｐ２がページ３０３となる。
【００４８】
そして、ページ３０３は空白ページでなく既に選択されていないので、Ｓ８１２の処理が実行される。
【００４９】
ここで、ページ３０２の余白領域のサイズが、ページ３０３のオブジェクト３１４のサイズよりも大きいためレイアウト変更可能と判断される。
【００５０】
その結果、図３（ｃ）のようにＰ１（ページ３０２）とＰ２（ページ３０３）とが次のレイアウト対象として選択され、表示される。
【００５１】
続いて図４の例について説明する。
【００５２】
図４（ａ）のようにページ４０１〜４０４があり、その上にオブジェクト４１１〜４１４が配置されている。このうちページ４０１と４０２が選択され表示中である。
【００５３】
この選択された２ページに対してレイアウト変更を実行すると、図４（ｂ）のようになる。ここで、オブジェクト４１２がページ４０１に移動され、ページ４０２は空白ページになっている。ここでページ４０１はすでにオブジェクトでいっぱいになったため、これ以上レイアウト変更の対象にはならない。
【００５４】
この状態で「次のレイアウト変更対象を表示」コマンドが指示された場合、現在の選択ページ４０１がＰ１となる。そのため、ページ４０２がＰ２となる。
ページ４０２は空白ページであるためＳ８０４にてインクリメント処理が実行され、Ｐ２がページ４０３となる。
ページ４０２は空白ページでなく、既に選択済みではないためＳ８１２の処理が実行される。
ここでページ４０１の余白領域のサイズはページ４０３のオブジェクト４１３のサイズよりも大きくないためレイアウトできないと判断される。
【００５５】
その結果、Ｓ８１３においてＰ１がページ４０３に設定され、図８の処理を実行することで図４（ｃ）のようにページ４０３と４０４が選択され、表示される。
【００５６】
続いて図５の例について説明する。
【００５７】
図５（ａ）のようにページ５０１〜５０４があり、その上にオブジェクト５１１〜５１４が配置されている。このうちページ５０１と５０２が選択され表示中である。この選択された２ページに対してレイアウト変更を実行すると、図５（ｂ）のようになる。
【００５８】
この状態で「次のレイアウト変更対象を表示」コマンドが指示された場合、現在の選択ページ５０１がＰ１となり、ページ５０２がＰ２となる。
【００５９】
しかしページ５０２が空白ページであるためインクリメント処理が実行され、Ｐ２がページ５０３となる。
【００６０】
そしてページ５０１の余白領域のサイズが、ページ５０３のオブジェクト５１３のサイズよりも大きいため、Ｓ８１２においてレイアウト可能と判断され、ページ５０１とページ５０３とが選択され、表示される。
【００６１】
従来であればユーザが、図５（ｂ）においてページ５０１には余白の領域が存在するためレイアウト変更の対象になる。しかし、ページ５０２はレイアウト変更すべきオブジェクトが存在していないのでレイアウト変更の対象にはならないと判断し、次のページ５０３を選択しなければならず、無駄にページ５０２を選択する処理が発生してしまう。
【００６２】
しかし、本実施例であれば図８の処理によりページ５０１とページ５０３とが次のレイアウト対象として選択、表示されるのでユーザの操作負荷を軽減することができる。
【００６３】
続いて図６を用いて説明する。
【００６４】
図６（ａ）のようにページ６０１〜６０６があり、その上にオブジェクト６１１〜６１６が配置されている。
【００６５】
このうちページ６０１と６０２が選択され表示中である。この選択された２ページに対してレイアウト変更を実行すると、図６（ｂ）のようになる。
【００６６】
この状態で「次のレイアウト変更対象を表示」コマンドが指示された場合、現在の選択ページ６０１がＰ１となり、ページ６０２がＰ２となる。
【００６７】
ページ６０２は空白ページであるためＳ８０４にてインクリメント処理が実行されページ６０３がＰ２となる。
【００６８】
その後、Ｓ８０５からＳ８０６の処理を得て、ページ６０３が既に選択済みではないので、Ｓ８１２が実行される。
【００６９】
ここでページ６０１の余白領域のサイズは、ページ６０３のオブジェクト６１３のサイズよりも大きくないのでレイアウト不可能と判断される。
【００７０】
そのためページ６０３がＰ１になり、ページ６０４がＰ２となる。
【００７１】
この状態でＳ８０２からＳ８０６を経て、Ｓ８１２を実行した結果、再度レイアウト不可能と判断されるため、ページ６０４がＰ１となり、ページ６０５がＰ２となる。
【００７２】
この状態でＳ８０２からＳ８０６を経て、Ｓ８１２を実行した結果、再度レイアウト不可能と判断されるため、ページ６０５がＰ１となり、ページ６０６がＰ２となる。
【００７３】
この状態で図８の処理を実行した結果、図６（ｃ）のようにページ６０５とページ６０６とが選択され、表示される。
【００７４】
従来であれば、図６（ｂ）の状態からユーザが次にレイアウト対象となるページとしてページ６０３を表示し、ページ６０３はオブジェクトが大きいのでレイアウト対象にならないと判断し、次のレイアウト対象ページを探すという処理を繰り返す必要があった。
【００７５】
しかし本実施例であれば、図８の処理を実現することでユーザの負荷を大きくすることなくレイアウト対象ページ６０５、６０６が選択され表示されるので操作性の向上を図ることができる。
【００７６】
以上、本実施例では、ユーザがページ上のオブジェクトの配置状態を判断し、どのページがレイアウト変更可能な組み合わせなのかを逐一判断する必要がなくなる。さらに「次のレイアウト変更対象を表示」を指示するだけでレイアウト対象となる２ページが選択されるので、選択処理を繰り返す必要がなくなる。
【００７７】
例えば、図７のようなユーザインタフェイスにおいて、ユーザは前述の「レイアウト変更」コマンドと、「次のレイアウト変更対象を表示」コマンドを、交互に繰り返し実行することができる。その繰り返しによって、文書の全体にわたって、レイアウト変更可能な２ページの組を順次表示させ、レイアウト変更の必要性の判断、およびレイアウト変更の実行またはさらに次の対象への移動ができる。したがって、操作の簡略化に大きな効果をもたらす。
【００７８】
なお、本実施例では同時に表示するのは２ページでしかないが、実施方法によってはそれ以上の複数ページ数を同時に選択対象とするユーザインタフェイスも可能であるのは言うまでもない。
【００７９】
（実施例２）
実施例１において、レイアウト変更可能かどうかの判定は、連続しているページ間でおこなっていた。しかし、ページ間の連続性を前提としない文書（例えば独立した小さな記事を羅列したような文書）では、連続しないページ同士を使ってレイアウト変更を行っても大きな影響はない。
【００８０】
そこで実施例２では、ページを跨いでレイアウト変更できるようにレイアウト対象ページを選択、表示する処理について説明する。
【００８１】
なお、基本的には実施例１と同じ処理を実行するが差異はＳ８１３である。
【００８２】
実施例１では、Ｐ２として設定されていたページをＰ１に設定していたが、本実施例２では、Ｐ２に対してインクリメント処理を実行する。
【００８３】
これにより、オブジェクトの配置順序は変更されるが、可能な限りオブジェクトをページ内に配置することができ、用紙を節約しやすくなる。
【００８４】
ここで、図１５を用いて具体的に説明する。
【００８５】
図１５ではページ１５０１〜１５０４があり、オブジェクト１５０５〜１５０８が配置されている。図１５（ａ）のレイアウト変更結果が図１５（ｂ）である。
【００８６】
ここでページ１５０１は、まだ余白領域があり他のオブジェクトを配置することができるので、制御部はページ１５０１と１５０３とを用いてレイアウト変更可能か否かを判断する。その結果、ページ１５０１の余白領域のサイズが、ページ１５０３の余白領域のサイズよりも小さいのでレイアウト可能ではないと判断される。
【００８７】
本実施例では、この判定後、Ｐ２に対してインクリメント処理が実行されるため、Ｐ１がページ１５０１、Ｐ２がページ１５０４となる。
【００８８】
そして、制御部はページ１５０１と１５０４とを用いてレイアウト変更可能か否かを判断すると、ページ１５０１の余白領域のサイズが、ページ１５０４の余白領域のサイズよりも大きいのでレイアウト可能と判断する。
【００８９】
そして、図１５（ｃ）のようにページ１５０１とページ１５０４が選択され、表示される。
【００９０】
以上、本実施形態では、ユーザが余白領域のサイズとオブジェクトのサイズを考慮してレイアウト対象とすべきページを判定する必要がなくなり、ユーザの操作負荷を軽減することができる。
【００９１】
（実施例３）
実施例１、２では余白領域のサイズとオブジェクト単位のサイズを比較してレイアウト変更可能か否かを判断していたが、本実施形態では余白領域のサイズと複数オブジェクトのセットとを比較することでレイアウト変更可能か否かを判断する例について説明する。
【００９２】
図９（ａ）〜（ｂ）は実施例３のフローチャートである。これらフローチャートは、「次のレイアウト変更対象を表示」コマンドを実行する際の、制御部の動作を説明する。
【００９３】
なお、図９（ａ）におけるＳ８０１から８１１および８１４に関しては、実施例１で述べた図８（ａ）のフローチャートと同じ処理を行うものであるため、説明を省略する。異なる部分であるＳ９０１において、制御部はページＰ１の余白領域にＰ２上の全オブジェクトを配置できるか否かの判定結果を使って、レイアウト変更可能かどうかを判定する。
図９（ｂ）はＳ９０１の詳細を説明するフローチャートである。
【００９４】
制御部はＳ８２１で、ページＰ１内に存在するオブジェクトの余白領域のサイズを計算する。さらに制御部はＳ９１１で、ページＰ２の全オブジェクトのサイズを取得する。
【００９５】
制御部は、Ｓ９２１において、Ｓ８２１で得られた余白領域のサイズとＳ９１１で得られた全オブジェクトのサイズの合計とを比較する。そして、ページＰ１内の余白領域のサイズが、ページＰ２の全オブジェクトのサイズ以上になっていれば、Ｓ９２２で１ページにまとめてレイアウト変更可能と判断する。そうでなければＳ９２３で１ページにまとめてレイアウト変更不可能と判断する。
【００９６】
以上の手順により可能になるレイアウト変更の対象ページ選択の例を図１０（ａ）〜（ｂ）を参照して説明する。図１０（ａ）のように、ページ１００１〜１００３があり、その上にオブジェクトが１０１１〜１０１４のように存在しているとする。このうちページ１００１と１００２が選択され表示中である。
【００９７】
ここで、オブジェクト１０１２をページ１００１に移動することは可能であるが、その場合、１０１２が移動した後のページ１００２の余白領域を埋めるためにページ１００２と１００３を続いてレイアウト変更する必要が出てくる。
【００９８】
そのため本実施例によれば、「次のレイアウト変更対象を表示」コマンドを実行した場合、制御部は、ページ１００１の余白領域に、ページ１００２のオブジェクト１０１２と１０１３の両者を配置できるか否かを判断する。ここで制御部は配置できないと判断することで、次にページ１０１１の余白領域にページ１００３の全オブジェクト（オブジェクト１０１４）を配置できるか否かを判断する。
【００９９】
ここで配置可能と判断された場合、図１０（ｂ）のようにページ１００１と１００３がレイアウト対象ページとして選択される。
【０１００】
本実施形態によれば、すでに余白量の少ない状態のページのレイアウトを崩すことなく、効率的に文書全体のレイアウト変更を行うことが可能となる。
【０１０１】
（実施例４）
実施例２、３と同様ページ間の連続性を前提としない文書でのレイアウト変更を考える。
【０１０２】
図１１（ａ）〜（ｂ）は実施例４のフローチャートである。これらフローチャートは、「次のレイアウト変更対象を表示」コマンドを実行する際の、制御部の動作を説明する。
【０１０３】
Ｓ８０１から８１１に関しては、実施例１で述べた図８（ａ）のフローチャートと同じ処理を行うものであるため、説明を省略する。異なる部分としてＳ１１０１において、制御部は、ページＰ１とＰ２上の全オブジェクトがページＰ１の１ページ内に全て収まるか否かを判定する。
【０１０４】
ここで、図１１（ｂ）を用いてＳ１１０１を詳細に説明する。
【０１０５】
Ｓ８２１から９２１に関しては、実施例３で述べた図９（ｂ）のフローチャートと同じ処理を行うものであるため、説明を省略する。
【０１０６】
Ｓ９２１の判定の結果がＹｅｓであれば、制御部はＳ１１１１で１ページにまとめてレイアウト変更可能と判断し、判断結果とＰ２のオブジェクトをＰ１に配置したことにより、Ｐ１に生じる余白領域のサイズをメモリに保存し、Ｓ１１０１に戻る。なお、Ｐ１に生じる余白領域のサイズの算出方法は、Ｓ９２１で比較したＰ１の余白領域のサイズとＰ２の全オブジェクトサイズの総和との差となる。
【０１０７】
Ｓ１１０１の判定の結果１ページにレイアウト変更可能と判定されれば、制御部はＳ１１０２で残る余白領域のサイズとｎの値を配列に記憶する。
【０１０８】
Ｓ８０５でこれ以上比較するページＰ２が存在しないと判定されると、制御部はＳ１１０３に進み、Ｓ１１０３では、Ｓ９２１で配列に保存した余白領域のサイズと対応するｎの値のうち、余白領域のサイズが最小のものとなるｎの値を呼び出す。
【０１０９】
その結果、制御部は呼び出したｎの値を使って決定されたＰ２をＰ１のレイアウト変更の対象として選択して表示する。
【０１１０】
以上の手順により可能になるレイアウト変更の対象ページ選択の例を図１２（ａ）〜（ｂ）を参照して説明する。
【０１１１】
図１２（ａ）のようにページ１２０１〜１２０４があり、その上にオブジェクト１２１１〜１２１７が配置されている。このうちページ１２０１、１２０２が選択され表示中である。ここで、ページ１２０３（第１ページ）のオブジェクト１２１４と１２１５のセット、ページ１２０４（第２ページ）のオブジェクト１２１６と１２１７のセットのいずれもがページ１２０１に移動することは可能である。ただし、オブジェクト１２１６と１２１７をページ１２０１へ移動したことにより生じるページ１２０１の余白領域のサイズが、オブジェクト１２１４と１２１５をページ１２０１へ移動したことにより生じるページ１２０１の余白領域のサイズよりも小さくなる。
【０１１２】
よって、本実施形態では、「次のレイアウト変更対象を表示」コマンドを実行した場合、図１２（ａ）の状態から、図１２（ｂ）のページ１２０１と１２０４が選択された状態に移行することができる。
【０１１３】
本実施形態によれば、レイアウト変更後により余白領域のサイズが小さくなるページを選択することが可能となる。
【０１１４】
なお本願では、レイアウト変更する対象の２ページを表示し、「レイアウト変更」コマンドの実行ののち、変更されたレイアウトを表示するユーザインタフェイスの例を示した。しかし、例えば図１３のように、レイアウト変更の対象２ページを表示すると同時に、その２ページがレイアウト変更された場合の実行プレビューを表示するユーザインタフェイスを作成することもできる。
【０１１５】
図１３では、図７と同じ構成の７０１から７２２までの諸要素があり、さらに以下の構成要素でなる。すなわち、プレビューエリア１３２１、ページ７１１と７１２のレイアウト変更後の状態ページ１３０１と１３０２である。さらにオブジェクト７１３，７１４のレイアウト変更後の状態オブジェクト１３１１、１３１２である。
【０１１６】
以上のように、レイアウト変更実施のプレビューを同時に表示することで、あらかじめレイアウト変更の適用後のページ構成を確認することができる。これによって、ユーザはより明確にレイアウト変更の要・不要を判断することができる。より迅速な判断が可能になる。
【０１１７】
なお本発明は、複数の機器（例えばホストコンピュータ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。また本発明の目的は、前述の実施形態の機能を実現するプログラムを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータが記憶媒体に格納されたプログラムを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたプログラム自体が前述した実施形態の機能を実現することになり、そのプログラム自体およびプログラムを記憶した記憶媒体は本発明を構成することになる。
【０１１８】
また、本発明には、プログラムの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。さらに、記憶媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた場合についても、本発明は適用される。その場合、書き込まれたプログラムの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される。
【符号の説明】
【０１１９】
１０１  情報処理装置
１４５  印刷装置
【図１】
2010231379.tif 000003
【図２】
2010231379.tif 000004
【図３】
2010231379.tif 000005
【図４】
2010231379.tif 000006
【図５】
2010231379.tif 000007
【図６】
2010231379.tif 000008
【図７】
2010231379.tif 000009
【図８】
2010231379.tif 000010
【図９】
2010231379.tif 000011
【図１０】
2010231379.tif 000012
【図１１】
2010231379.tif 000013
【図１２】
2010231379.tif 000014
【図１３】
2010231379.tif 000015
【図１４】
2010231379.tif 000016
【図１５】
2010231379.tif 000017