(57)【要約】【課題】文書から削除したコンテンツを文書の元の削除位置に削除前の前後のコンテンツとの関係を回復しながら戻す。【解決手段】オブジェクト削除部１は、複数のオブジェクトが配置された文書データから１つ以上のオブジェクトを削除する。オブジェクト保持部２は、オブジェクト削除部１によって削除されたオブジェクトを保持する。文書データ編集部３は、前記文書データを編集する。領域検出部４は、編集処理後の前記文書データ中に余剰な領域が存在しているか否かを検出する。オブジェクト検出部５は、オブジェクト保持部２内に領域検出部４が検出した文書データの余剰領域に配置可能なオブジェクトがあるか否かを検出する。オブジェクト配置部６は、オブジェクト検出部５によって検出されたオブジェクトを前記文書データ中に再配置する。【選択図】図２
2010165201.tif 000002
【特許請求の範囲】
【請求項１】
複数のオブジェクトが配置された文書データから、少なくとも１つのオブジェクトを削除するオブジェクト削除手段と、
前記オブジェクト削除手段によって削除されたオブジェクトを保持するオブジェクト保持手段と、
前記文書データを編集する文書データ編集手段と、
編集処理後の前記文書データ中に余剰な領域が存在しているか否かを検出する領域検出手段と、
前記領域検出手段が編集処理後の前記文書データ中に少なくとも１つの前記削除されたオブジェクトを配置可能な領域が存在していることを検出した際に、前記保持手段に保持されたオブジェクトから当該領域に配置できるオブジェクトを検出するオブジェクト検出手段と、
前記オブジェクト検出手段によって検出されたオブジェクトを前記文書データ中に配置するオブジェクト配置手段と、
を備えていることを特徴とするレイアウト装置。
【請求項２】
前記オブジェクト保持手段は、前記削除されたオブジェクトと前記文書データに配置されていた他のオブジェクトとの関係情報も、前記削除されたオブジェクトと共に保持し、
前記オブジェクト配置手段は、前記関係情報を用いて決定した位置に、前記オブジェクト検出手段により検出されたオブジェクトを配置することを特徴とする請求項１に記載のレイアウト装置。
【請求項３】
前記オブジェクト検出手段は、前記オブジェクト保持手段が保持している１つ以上のオブジェクトを所定の項目ごとにグループ化し、
前記オブジェクト配置手段は、前記オブジェクト検出手段によりグループ化されたオブジェクトを個別化して前記文書データ中に配置することを特徴とする請求項１または２に記載のレイアウト装置。
【請求項４】
前記削除されたオブジェクトに対して、前記オブジェクト削除手段が削除した順に優先度を設定する優先度設定手段を備えており、
前記オブジェクト検出手段は、前記優先度の順に、前記オブジェクト保持手段に保持されているオブジェクトを検出することを特徴とする請求項１〜３のいずれか１つに記載のレイアウト装置。
【請求項５】
複数のオブジェクトが配置された文書データから、少なくとも１つのオブジェクトを削除するオブジェクト削除工程と、
前記オブジェクト削除工程によって削除されたオブジェクトを保持するオブジェクト保持工程と、
前記文書データを編集する文書データ編集工程と、
編集処理後の前記文書データ中に余剰な領域が存在しているか否かを検出する領域検出工程と、
前記領域検出工程が編集処理後の前記文書データ中に少なくとも１つの前記削除されたオブジェクトを配置可能な領域が存在していることを検出した際に、前記保持工程に保持されたオブジェクトから当該領域に配置できるオブジェクトを検出するオブジェクト検出工程と、
前記オブジェクト検出工程によって検出されたオブジェクトを前記文書データ中に配置するオブジェクト配置工程と、
を備えていることを特徴とするレイアウト方法。
【請求項６】
前記オブジェクト保持工程は、前記削除されたオブジェクトと前記文書データに配置されていた他のオブジェクトとの関係情報も、前記削除されたオブジェクトと共に保持し、
前記オブジェクト配置工程は、前記関係情報を用いて決定した位置に、前記オブジェクト検出工程により検出されたオブジェクトを配置することを特徴とする請求項５に記載のレイアウト方法。
【請求項７】
前記オブジェクト検出工程は、前記オブジェクト保持工程が保持している１つ以上のオブジェクトを所定の項目ごとにグループ化し、
前記オブジェクト配置工程は、前記オブジェクト検出工程によりグループ化されたオブジェクトを個別化して前記文書データ中に配置することを特徴とする請求項５または６に記載のレイアウト方法。
【請求項８】
前記削除されたオブジェクトに対して、前記オブジェクト削除工程が削除した順に優先度を設定する優先度設定工程を備えており、
前記オブジェクト検出工程は、前記優先度の順に、前記オブジェクト保持工程に保持されているオブジェクトを検出することを特徴とする請求項５〜７のいずれか１つに記載のレイアウト方法。
【請求項９】
複数のオブジェクトが配置された文書データから、少なくとも１つのオブジェクトを削除するオブジェクト削除工程と、
前記オブジェクト削除工程によって削除されたオブジェクトを保持するオブジェクト保持工程と、
前記オブジェクト削除工程によりオブジェクトが削除された後の前記文書データを編集する文書データ編集工程と、
編集処理後の前記文書データ中に余剰な領域が存在しているか否かを検出する領域検出工程と、
前記領域検出工程により編集処理後の前記文書データ中に少なくとも１つの前記削除されたオブジェクトを配置可能な領域が存在していることが検出された際に、前記保持工程により保持されたオブジェクトから当該領域に配置できるオブジェクトを検出するオブジェクト検出工程と、
前記オブジェクト検出工程によって検出されたオブジェクトを前記文書データ中に配置するオブジェクト配置工程と、
前記オブジェクト配置工程の処理後、再度、前記文書データを再編集する再編集工程と、
を含むことを特徴とするレイアウト方法。
【請求項１０】
前記オブジェクト保持工程は、前記削除されたオブジェクトと前記文書データにおける当該オブジェクトが配置されていた位置の近傍にあった他のオブジェクトとの関係情報も、前記削除されたオブジェクトと共に保持し、
前記オブジェクト配置工程は、前記関係情報を用いて決定した位置に、前記オブジェクト検出工程により検出されたオブジェクトを配置することを特徴とする請求項９に記載のレイアウト方法。
【請求項１１】
前記オブジェクト検出工程は、前記オブジェクト保持工程により保持されている１つ以上のオブジェクトを所定の項目ごとにグループ化し、
前記オブジェクト配置工程は、前記オブジェクト検出工程によりグループ化されたオブジェクトを個別化して前記文書データ中に配置することを特徴とする請求項９または１０に記載のレイアウト方法。
【請求項１２】
前記削除されたオブジェクトに対して、前記オブジェクト削除工程により削除された順に優先度を設定する優先度設定工程を含み、
前記オブジェクト検出工程は、前記優先度の順に、前記オブジェクト保持工程により保持されているオブジェクトを検出することを特徴とする請求項９〜１１のいずれか１つに記載のレイアウト方法。
【請求項１３】
請求項５〜１２のいずれか１つに記載のレイアウト方法をコンピュータに実行させることを特徴とするレイアウトプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷する用紙の枚数を減らすために、文書中の文字列や画像などのデータを削除し、文書のページ数を減らした後、再びその文字列や画像などのデータを文書に戻すことを可能にしたレイアウト装置及びレイアウト方法に関する。
【背景技術】
【０００２】
文書を、Ａ４などの特定サイズの用紙１枚につき２ページなどの面付けした後、必要な用紙枚数を減らすため、面付けしたページ数を減らすよう文書中の文字列や画像などのデータを削除することがある。そして、このとき削除した文字列や画像などのデータを元の文書に戻すことを可能した技術が提案されている（たとえば、特許文献１を参照。）。
【０００３】
特許文献１に開示された技術では、まず、レイアウト枠が削除され、文書中の位置への対応づけが解除されたコンテンツを未対応コンテンツとして未対応コンテンツリストに登録する。そして、未対応コンテンツが文書中の新たなレイアウト枠に割り付けられた場合、その未対応コンテンツを未対応コンテンツリストから削除する。さらに、未対応コンテンツリストで、未対応コンテンツが生成されたページ位置、すなわちコンテンツが削除されたページ位置の情報でコンテンツを分類し、管理することもできる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０００−２２７９１４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、前記従来技術では、未対応コンテンツを文書の元の削除位置に戻すことは容易ではない。なぜならば、文書の余白が少なく戻すべきコンテンツのサイズがその余白に収まらない可能性があるためである。よって、ユーザは、文書の余白のサイズと戻すべきコンテンツのサイズの両者を考慮しながら、どのコンテンツを戻すかを判断しなければならなかった。
【０００６】
本発明は上述した従来技術による問題点を解消するため、容易にコンテンツを運所に戻すことが可能となるレイアウト装置及びレイアウト方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決し、目的を達成するため、本発明は以下に示すような特徴を備えている。
【０００８】
本発明にかかるレイアウト装置は、複数のオブジェクトが配置された文書データから、少なくとも１つのオブジェクトを削除するオブジェクト削除手段と、前記オブジェクト削除手段によって削除されたオブジェクトを保持するオブジェクト保持手段と、前記文書データを編集する文書データ編集手段と、編集処理後の前記文書データ中に余剰な領域が存在しているか否かを検出する領域検出手段と、前記領域検出手段が編集処理後の前記文書データ中に少なくとも１つの前記削除されたオブジェクトを配置可能な領域が存在していることを検出した際に、前記保持手段に保持されたオブジェクトから当該領域に配置できるオブジェクトを検出するオブジェクト検出手段と、前記オブジェクト検出手段によって検出されたオブジェクトを前記文書データ中に配置するオブジェクト配置手段と、を備えていることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、文書データ中にコンテンツを収めることができる必要領域があるか否かの判断をユーザーの関与を必要とせずに行うことができる。
【発明を実施するための最良の形態】
【００１０】
以下、添付図面を参照して、本発明の好適な実施形態を詳細に説明する。
【００１１】
（レイアウト装置のハードウェア構成）
図１は、本発明にかかるレイアウト装置のハードウェア構成を示すブロック図である。図１に示すように、本発明のレイアウト装置を構成する本体１０１は、入出力インターフェース１４３を介してキーボード１３２や、マウス１３３のようなポインティングデバイス等の入力装置を接続している。また、出力装置としてのビデオディスプレイ１４４を、ビデオインターフェース１３７を介して接続している。さらに、状況に応じてプリンタ１４５を含む出力装置を、入出力インターフェース１３８を介して接続することも可能である。入出力インターフェース１３８は、本体１０１をネットワーク１０７へ接続することもできる。これにより、ネットワーク１０７を介して本体１０１を他のコンピュータ装置に接続することができる。ネットワーク１０７の典型例としては、ローカルエリアネットワーク（ＬＡＮ）や、ワイドエリアネットワーク（ＷＡＮ）などがある。
【００１２】
また、本体１０１は、本体１０１全体の制御を司る少なくとも１つのプロセッサーユニット（ＣＰＵ）１３５、たとえば半導体のランダムアクセスメモリ（ＲＡＭ）やリードオンリーメモリ（ＲＯＭ）から構成されるメモリユニット１３６を含んでいる。記憶装置１３９は、プログラム等を格納するコンピュータ可読媒体との間でデータのやり取りが可能なハードディスクドライブ１４０やフロッピー（登録商標）ディスクドライブ１４１を含んでいる。図示していないが、磁気テープドライブなどもまた使用される可能性がある。ＣＤ−ＲＯＭドライブ１４２は、不揮発性のデータソースとして提供される。
【００１３】
本体１０１は、ＬＩＮＵＸ（登録商標）やマイクロソフトウィンドウズ（登録商標）のようなオペレーティングシステムに従い、相互接続バス１３４を介して通信を行うコンポーネントを利用する。あるいは、当該技術分野で周知のコンピュータシステムの常套的なオペレーションモードによる方法によって、相互接続バス１３４を介して通信を行う入出力インターフェース１３８を利用する。すなわち、各コンポーネントは、相互接続バス１３４を介して通信可能に接続されており、レイアウト装置の本体１０１にインストールされているオペレーティングシステムにより利用される。
【００１４】
本発明のレイアウト方法を実現するソフトウェアは、たとえば上記に記述されるような記憶装置１３９を含むコンピュータの可読媒体に格納される。ソフトウェアは、コンピュータの可読媒体から本体１０１へロードされ、本体１０１のＣＰＵ１３５によって実行される。本体１０１で、利用者がコンピュータプログラム製品を使用することにより、ドキュメントのレイアウト編集に有利な装置として作動させることができる。よって、本願において後述するフローチャートは、ＣＰＵ１３５がソフトウェアを読み出して実行することで実現される。
【００１５】
〔第１の実施形態〕
（レイアウト装置の機能的構成）
図２は、第１の実施形態にかかるレイアウト装置の機能的構成を示すブロック図である。本実施の形態にかかるレイアウト装置は、オブジェクト削除部１と、オブジェクト保持部２と、文書データ編集部３と、領域検出部４と、オブジェクト検出部５と、オブジェクト配置部６と、とを備えている。また、このレイアウト装置は、入力部７と、表示部８と、記憶部９と、印刷部１０と、通信部１１と、を備えている。
【００１６】
オブジェクト削除部１は、複数のオブジェクトが配置された文書データから、１つ以上のオブジェクトを削除する。オブジェクト保持部２は、オブジェクト削除部１によって削除されたオブジェクトを保持する。このときオブジェクト保持部２は、削除されたオブジェクトと当該オブジェクトが配置されていた位置の近傍にあった他のオブジェクトとの関係情報（位置情報）も、前記削除されたオブジェクトと共に保持する。文書データ編集部３は、前記文書データを編集する。領域検出部４は、編集処理後の前記文書データ中に余剰な領域が存在しているか否かを検出する。そして、余剰領域が存在する場合にはその余剰領域のレイアウト空間（オブジェクトが配置されていない空白領域）を計算する。オブジェクト検出部５は、オブジェクト保持部２内に領域検出部４が検出した文書データの余剰領域に配置可能なオブジェクトがあるか否かを検出する。オブジェクト配置部６は、オブジェクト検出部５によって検出されたオブジェクトを前記文書データ中に再配置する。とくに、このときオブジェクト配置部６は、オブジェクト保持部２が保持する前記関係情報を参照して、前記文書データの適切な位置に当該オブジェクトを配置する。なお、これらの機能は、図１に示したプロセッサーユニット（ＣＰＵ）１３５やメモリユニット１３６などで実現できる。
【００１７】
また、入力部７は、レイアウト装置に対する各種情報や命令などの入力処理を行う。この入力部は、図１に示した入出力インターフェース１４３、キーボード１３２、マウス１３３などによって実現できる。表示部８は、各種情報を表示する。この表示部８は、図１に示したプロセッサーユニット１３５、ビデオインターフェース１３７、ビデオディスプレイ１４４などにより実現できる。なお、入力部７および表示部８によりユーザーインターフェースを構成することができる。記憶部９は、各種アプリケーションソフトやデータなどを記憶する。この記憶部９は、図１に示した記憶装置１３９などで実現できる。印刷部１０は、文書データの印刷出力を実行する。この印刷部１０は、図１に示した入出力インターフェース１３８およびプリンタ１４５で実現できる。通信部１１は、レイアウト装置外部との通信を制御する。この通信部１１は、図１に示した入出力インターフェース１３８で実現できる。
【００１８】
（レイアウト装置の処理）
以下、第１の実施形態にかかるレイアウト装置の処理について詳細に説明する。まず、文書データからオブジェクトを削除する処理について説明する。図３は、本実施形態にかかるレイアウト装置におけるオブジェクト削除処理の手順を示すフローチャートである。
【００１９】
図３に示すフローチャートにおいて、まず、オブジェクト削除部１は、ユーザーによって文書データ中のオブジェクトを削除することが指示されたか否かを判断する（ステップＳ３０１）。ここで、オブジェクトを削除することが決定された場合（ステップＳ３０１：Ｙｅｓ）は、ステップＳ３０２へ進む。一方、オブジェクトを削除しないことが決定された場合（ステップＳ３０１：Ｎｏ）は、再度ステップＳ３０１へ戻る。
【００２０】
図４は、表示部８に表示される初期画面の一例を示す図である。この画面２０１は、文書ファイルを開くなどのコマンドを実行するメニュー２０２と、文書の表示モードを選択する表示モード選択リストボックス２０３を有する。また、文書２０８を表示するための文書表示領域２０６を有している。「文書」は本実施形態では、１つ以上の「章」で構成される。各「章」は、文書に取り込んだファイルごとに作成される。各章には、章の名前をつけることができる。各章は１つ以上の「ページ」で構成される。各「ページ」は、文書に取り込んだファイルのアプリケーションデータの１ページに相当する。また、ツリービュー２０４には、「文書」−「章」−「ページ」の構成が表示される。
【００２１】
また、文書２０８は、２つの章で構成される。第１章は、４つのページが存在し、第２章には、２つのページが存在する。すなわち、文書２０８は総計６つのページで構成されている。また、文書２０８は、印刷用紙１枚につき２ページが配置されており、前記６つのページが３枚の用紙に配置されている。また、復活待ちリスト２０５には削除したオブジェクトのアイコンが表示される。また、マウスポインタ２０７は、ボタンの押下やオブジェクトの選択などを行うためのものであり、マウスなどによって構成される入力部７よって操作される。
【００２２】
図５は、文書データから削除するオブジェクトを選択する際に表示部８に表示される画面の一例を示す図である。ユーザーが、入力部７の処理によって文書内のテキストブロック、イメージブロックなどのオブジェクトを選択した際、選択されたオブジェクト４０１がハイライト表示される。その状態でマウスの右クリックなどにより、コンテキストメニュー４０２を呼び出し、オブジェクト（データブロック）の削除を選択すれば削除対象オブジェクトの選択は終了する。
【００２３】
図３に戻り、ステップＳ３０１においてオブジェクトを削除することが決定された場合（ステップＳ３０１：Ｙｅｓ）は、表示部８は、削除選択されたオブジェクト４０１をハイライトさせる（ステップＳ３０２）。続いて、表示部８は、削除選択されたオブジェクトの近傍に位置する他のオブジェクトをハイライトさせる（ステップＳ３０３）。ここで、削除選択されたオブジェクトの近傍に位置する他のオブジェクトとは、たとえば図５においては、選択されたオブジェクト４０１の前に位置するオブジェクト４０３および後に位置するオブジェクト４０４のことを指す。次に、オブジェクト削除部１が、削除選択されたオブジェクト４０１を文書２０８から削除する（ステップＳ３０４）。ここで、削除されるオブジェクトは、当該オブジェクトが配置されていた位置の近傍にあった他のオブジェクトとの関係情報（相対的な位置情報）とともにオブジェクト保持部２に格納される。
【００２４】
図６は、オブジェクト保持部２に格納されるオブジェクトのデータ形式を示す概念図である。オブジェクトＩＤ５０１は、削除選択されたオブジェクトのＩＤを表している。このオブジェクトＩＤ５０１は、一意に設定され、オブジェクト保持部２に格納される際にオブジェクト削除部１によって決定される。データブロック５０２は、文書２０８から削除したオブジェクトのデータである。
【００２５】
前のオブジェクト５０３は、オブジェクト保持部２に格納するオブジェクト（削除したオブジェクト４０１）の一つ前のＩＤ（オブジェクトＩＤ−１）を持つオブジェクトからのオフセット（ｘ，ｙ）を示すデータである。オフセット値は、文書２０８の最初のページの印刷領域の左上隅を基準点とし、縦方向すなわちページの印刷領域を縦に繋げた際の最終ページ方向をｙ，横方向をｘとする座標系を用いて、オブジェクト削除部１によって計算される。「オブジェクトＩＤ−１」のオブジェクトの左上隅の座標点にオフセット値を加算することにより、「オブジェクトＩＤ」のオブジェクトの左上隅の座標点が決定される。一つ前のＩＤ（オブジェクトＩＤ−１）を持たないオブジェクトの場合、すなわち文書２０８で最初のＩＤを持つオブジェクトの場合、文書２０８の最初のページの用紙左上隅の基準点からのオフセット値が設定される。
【００２６】
後のオブジェクト５０４は、オブジェクト保持部２に格納するオブジェクト（削除したオブジェクト４０１）の一つ後ろのＩＤ（オブジェクトＩＤ＋１）を持つオブジェクトからのオフセット（ｘ，ｙ）を示すデータである。「オブジェクトＩＤ＋１」のオブジェクトの左上隅の座標点にオフセット値を減算することにより、「オブジェクトＩＤ」のオブジェクトの左上隅の座標点が同じく決定される。
【００２７】
再度、図３に戻り、文書データ編集部３が、文書２０８を編集する（Ｓ３０５）。ここで行われる編集は、オブジェクトが削除された後の文書データのレイアウト変更である。具体的には、削除したオブジェクトが存在した位置のオブジェクトサイズ分の空白を詰めるよう、後方向のオブジェクトすべてを最初のページ方向すなわち前記座標系における−ｙ方向にずらすことによって行う。
【００２８】
図７は、文書からオブジェクト４０１を削除した後に表示部８に表示される画面２０１の一例を示す図である。削除したオブジェクト４０１のアイコンは、復活待ちリスト２０５に登録されている。また、削除されたオブジェクト４０１の後にあったオブジェクト４０４以降のオブジェクト群は、オブジェクト４０１を削除することにより生じた空白を埋めるよう、前に移動されている（詰められている）。なお、本実施形態では削除したオブジェクトのデータは、後続するオブジェクトデータとの間に存在する空白のデータを含めて登録されることとする。また、オブジェクトデータ間に存在する空白のデータを一つのコンテンツ（空白コンテンツ）として削除選択し、登録することができるようにしてもよい。
【００２９】
図８は、図３のフローチャートに従い、さらにいくつかのオブジェクトを文書２０８から削除した結果を示す画面２０１の一例を示す図である。ここでは、複数のオブジェクトが削除された結果、文書２０８の印刷に必要な用紙が１枚削減されている。文書２０８は、総計４つのページで構成され、２枚の用紙に面付けされている。新たにオブジェクト７０１〜７０４のオブジェクトが、削除オブジェクトのデータとして復活待ちリスト２０５に登録されている。
【００３０】
図９は、文書２０８に新たなアプリケーションデータを取り込む際に表示部８に表示される画面２０１の一例を示す図である。入力部７を構成するマウスの右クリックなどにより、コンテキストメニュー８０１を呼び出し、記憶部９などに存在するファイルからアプリケーションデータを取り込むことができる。
【００３１】
図１０は、図９に示した新たなアプリケーションデータを取り込んだ後の表示部８に表示される画面２０１の一例を示す図である。文書２０８は、現在、総計３つの章、７つのページで構成され、４枚の用紙に面付けされている。つまり、新たなアプリケーションデータが取り込まれた結果、印刷に必要な用紙が２枚増加している。さらに、印刷用紙の４枚目の右ページは、オブジェクトが存在しない空きページとなっており、新たなオブジェクトが割り付け可能となっていることが分かる。
【００３２】
次に、まず、文書データに削除したオブジェクトを再配置する処理について説明する。図１１は、本実施形態にかかるレイアウト装置におけるオブジェクト再配置処理の手順を示すフローチャートである。
【００３３】
図１１に示すフローチャートにおいて、まず、領域検出部４が文書データ中に余剰な領域が存在しているか否かを検出する（ステップＳ１００１）。この処理は、文書のページ数が増加した場合に実行される。ここで、文書データ中に余剰な領域が存在していない場合（ステップＳ１００１：Ｎｏ）は、再度ステップＳ１００１に戻る。
【００３４】
一方、ステップＳ１００１において文書データ中に余剰な領域が存在している場合（ステップＳ１００１：Ｙｅｓ）は、領域検出部４がその余剰領域のレイアウト空間（空白領域）を計算する（ステップＳ１００２）。ここでは、縦方向すなわち前記座標系におけるｙ軸方向の空きレイアウト空間を計算する。空きレイアウト空間は、本実施形態では、ページ幅一杯の矩形がレイアウト可能な空間（空白領域）とする。
【００３５】
次に、オブジェクト検出部５が、オブジェクト保持部２内に領域検出部４が検出した余剰領域に配置可能なオブジェクトがあるか否かを検出する（ステップＳ１００３）。ここで、前記余剰領域に配置可能なオブジェクトがない場合（ステップＳ１００３：Ｎｏ）は、処理終了する。
【００３６】
一方、ステップＳ１００３において前記余剰領域に配置可能なオブジェクトがある場合（ステップＳ１００３：Ｙｅｓ）は、表示部８が配置可能なオブジェクトをリストアップする（ステップＳ１００４）。配置可能なオブジェクトが複数あれば、そのすべてをリストアップする。オブジェクト保持部２に格納されているすべてのオブジェクトのアイコンは、画面２０１の復活待ちリスト２０５に表示されている。したがって、このステップＳ１００４では、前記余剰領域に配置可能なオブジェクトのアイコンをハイライトすることによってリストアップする。
【００３７】
図１２は、配置可能なオブジェクトがリストアップされた際の表示部８に表示される画面２０１の一例を示す図である。図１２では、オブジェクト検出部５が、登録されているすべてのオブジェクトが文書２０８に戻すことができる対象であると判断した例を示している。このため、表示部８は、登録されているすべてのオブジェクト４０１，７０１〜７０４が文書２０８の余剰領域内に収まる。そのため、これらのオブジェクトを文書２０８に戻すことができることを示すために、表示部８は、復活待ちリスト２０５内でこれらのオブジェクトをハイライト表示している。また、データブロック復活ダイアログ１１０１は、オブジェクトを選択し文書２０８に戻すことを指示するためのダイアログである。チェックボックス１１０２〜１１０６は、文書２０８に戻すオブジェクトを選択するである。実行ボタン１１０７は、チェックボックス１１０２〜１１０６で選択されたオブジェクトを文書２０８に戻すことを指示するためのものである。キャンセルボタン１１０８は、オブジェクトを文書２０８に１つも戻さないことを指示するためのものである。
【００３８】
図１１に戻り、オブジェクト配置部６は、ユーザーによってリストアップされたオブジェクトが選択されたか否かを判断する（ステップＳ１００５）。ここで、リストアップされたオブジェクトが選択されていない場合（ステップＳ１００５：Ｎｏ）は、処理を終了する。具体的には、図１２に示したデータブロック復活ダイアログ１１０１でキャンセルボタン１１０８を押下する。
【００３９】
一方、ステップＳ１００５においてリストアップされたオブジェクトが選択された場合（ステップＳ１００５：Ｙｅｓ）は、オブジェクト配置部６が選択されたオブジェクトが複数か否かを判定する（ステップＳ１００６）。具体的には、データブロック復活ダイアログ１１０１で実行ボタン１１０７が押下された際、オブジェクト配置部６がデータブロック復活ダイアログ１１０１のチェックボックス１１０２〜１１０６で選択されたデータが複数であるか否かを判定する。
【００４０】
ステップＳ１００６において選択されたオブジェクトが単数である場合（ステップＳ１００６：Ｎｏ）は、オブジェクト配置部６が、リストアップされたオブジェクトを文書２０８に戻す（ステップＳ１００９）。
【００４１】
ここで、オブジェクト配置部６が当該オブジェクトを文書２０８に戻す際、オブジェクト保持部２に格納されている削除オブジェクトの前後のオブジェクトのＩＤとその各オブジェクトからの相対位置の情報を元に文書に戻す。具体的には、オブジェクト４０１を文書２０８に戻す際、オブジェクト配置部６が、そのオブジェクト４０１のオブジェクトＩＤ５０１を元に、「ＩＤ−１」のＩＤを持つオブジェクト４０３を文書２０８内で探す。オブジェクト配置部６は、「ＩＤ−１」のＩＤを持つオブジェクト４０３からのオフセット（ｘ，ｙ）のデータ（前のオブジェクト５０３）を元にオブジェクト４０１を配置する左上隅の座標点を決定する。オブジェクト配置部６は、決定した左上隅の座標点の位置にオブジェクト４０１のデータブロック５０２を配置する。
【００４２】
ところで、「ＩＤ−１」のＩＤを持つオブジェクトが文書２０８内に存在しない場合、オブジェクト配置部６は、さらに−１のＩＤを持つオブジェクトすなわち「ＩＤ−２」のオブジェクトを探す。オブジェクト配置部６は、文書２０８内から、削除時に、前記座標系における−ｙ方向の最も近くに存在していたオブジェクトを見つけることができない場合、前記座標系の基準点を「ＩＤ−１」のＩＤを持つオブジェクトの左上隅の座標点として用いる。
【００４３】
そして、文書データ編集部３が文書２０８の再編集を行う（ステップＳ１０１０）。ここでは、文書データ編集部３は、「ＩＤ−１」のＩＤを持つオブジェクト４０３の後の位置すなわち前記座標系における＋ｙ方向に配置されていたオブジェクト群をオブジェクト４０１の後の位置に配置する。その際、文書データ編集部３は、当該オブジェクト群の先頭のオブジェクト４０４の左上隅の座標点を「ＩＤ＋１」のＩＤを持つオブジェクト４０４からのオフセット（ｘ，ｙ）のデータ（後のオブジェクト５０４）を元に決定する。
【００４４】
図１３は、削除されたオブジェクト４０１を文書２０８に戻した際の表示部８に表示される画面２０１の一例を示す図である。オブジェクト４０１は、削除前とは異なるページ、異なる位置に戻されている。しかし、削除前と同様、オブジェクト４０１は、オブジェクト４０３とオブジェクト４０４との間に戻されていることが分かる。
【００４５】
また、図１４は、図１１のフローチャートの処理が終了した後、文書２０８にレイアウト可能な空間がさらに残っている場合に表示部８に表示される画面２０１の一例を示す図である。領域検出部４が文書２０８にレイアウト可能な空間がさらに残っていることを検出した場合、表示部８は復活の継続ダイアログ１３０１を表示する。復活の継続ダイアログ１３０１内には、復活の継続を指示する「ＯＫ」ボタン１３０２と、復活の継続をキャンセルする「キャンセル」ボタン１３０３がある。復活の継続ダイアログ１３０１において、「ＯＫ」ボタン１３０２が押下された際、新たに図１１のフローチャートの処理が実行される。
【００４６】
一方、図１５は、図１１のフローチャートの処理が終了した後、文書２０８にレイアウト可能な空間が十分残っていない場合に表示部８に表示される画面２０１の一例を示す図である。たとえば、領域検出部４が、復活待ちのオブジェクトをすべて戻すことができる余剰領域（空きレイアウト空間）が文書２０８に十分存在しないと判断した場合、表示部８は復活待ちリスト２０５に登録されているすべてのオブジェクトをハイライトしない。ここでは、オブジェクト７０４のみがハイライト表示されない。すなわち、復活待ちリスト２０５に登録されているすべてのオブジェクトのうち、オブジェクト７０４以外のみを文書２０８に戻すことが可能であることを示している。このような場合、表示部８は、データブロック復活ダイアログ１４０１でオブジェクト７０４を復活選択するためのチェックボックスを用意しない。図１５において、データブロック復活ダイアログ１４０１では、復活待ちオブジェクト７０１〜７０３を文書２０８に戻すことをそれぞれ指示するチェックボックス１４０２〜１４０４がチェックされている。そして、図１５に示した例では、実行ボタン１１０７が押下されることで、オブジェクト配置部６が復活待ちオブジェクト７０１〜７０３を文書２０８に戻す指示を受け付ける。
【００４７】
再度図１１に戻る。ステップＳ１００６において選択されたオブジェクトが複数である場合（ステップＳ１００６：Ｙｅｓ）は、オブジェクト配置部６は、選択されたオブジェクトすべてを文書２０８に戻すことが可能かどうかを判断する（Ｓ１００７）。この処理は、オブジェクト配置部６がステップＳ１００２での計算結果をもとに実行する。ここで、選択されたオブジェクトすべてを文書２０８に戻すことが可能な場合（Ｓ１００７：Ｙｅｓ）は、ステップＳ１００９へ進む。これ以降の処理は前述の通りである。
【００４８】
一方、ステップＳ１００７において選択されたオブジェクトすべてを文書２０８に戻すことが不可能な場合（Ｓ１００７：Ｎｏ）は、表示部８はオブジェクトの選択数を減らすことを要求する旨の表示を行う（ステップＳ１００８）。この後、ステップＳ１００５へ移行する。
【００４９】
図１６は、ステップＳ１００８の処理によって表示部８に表示される画面２０１の一例を示す図である。ステップＳ１００８では、選択数過多のダイアログ１５０１が表示される。選択数過多のダイアログ１５０１の中には「ＯＫ」ボタン１５０２がある。「ＯＫ」ボタン１５０２が押下された際、表示部８はデータブロック復活ダイアログ１４０１（図１５参照）を表示し、オブジェクトの再選択を促す。
【００５０】
次に、復活待ちオブジェクトのグループ化の例を示す。単体のオブジェクトを文書に戻した場合、当該オブジェクトを戻す文書のコンテンツ次第で、当該オブジェクトがその文書の中で意味的に浮いてしまうことがある。そこで、次に示すようなグループ化を行い、意味的にまとまりのあるオブジェクトを１つにまとめておくことにより、そのような問題を避けることができる。
【００５１】
図１７は、削除オブジェクトのグループ化を指示する際に表示部８に表示される画面２０１の一例を示す図である。復活待ちリスト２０５において、入力部７を構成するマウスやキーボードの操作により、復活待ちリスト２０５内でオブジェクトを１つ以上選択し、その状態でマウスの右クリックなどにより、コンテキストメニュー１６０１を呼び出す。コンテキストメニュー１６０１でグループ化を選択した際、たとえばオブジェクト検出部５などが選択された１つ以上の復活待ちオブジェクトを所定の項目ごとにグループ化する。この処理は、たとえば図１１に示したフローチャートではステップＳ１００４の処理とともに行うとよい。このようにすることで、グループ化された復活待ちオブジェクト群を、図１１のフローチャートのステップＳ１００６において、１つの復活待ちオブジェクトとして扱うことができる。また、図１１のフローチャートのステップＳ１００９〜ステップＳ１０１０の処理においては、オブジェクト配置部６がグループ化を解除した後、すなわち個別化した後、ステップＳ１００９〜ステップＳ１０１０処理対象となる。このようなグループ化を取り入れることで、意味的に関連のあるオブジェクトをひとまとめに復活させることが容易にできる。
【００５２】
図１１に示した処理では、ステップＳ１００１で新たなレイアウト空間ができる状況として、図９に示したような文書に新たなアプリケーションデータを取り込んだ際の状況を述べた。しかしながら、新たなレイアウト空間ができる例は、これにとどまらない。他の例として、印刷設定の変更が挙げられる。たとえば、印刷用紙１枚につき２ページの面付けが行われている６ページの文書を両面印刷の設定に変更した場合、面付け可能なページは２ページ増える。この場合、２ページ分の新たなレイアウト空間ができたことになる。
【００５３】
上述した従来技術では、未対応コンテンツが割り当てられていたレイアウト枠の削除時のページ位置の情報で未対応コンテンツを分類し、当該ページの文書編集の際に優先的に選択することができるのみである。問題なのは元のレイアウト枠に関する情報が残っていないことである。したがって、削除前の前後のコンテンツとの関係を回復するよう未対応コンテンツを文書に戻すためには、ユーザーが記憶を頼りにレイアウト枠を再配置するしかない。さらに、削除前の前後のコンテンツが別のページにフローしてしまった場合、削除時のページ位置の情報を頼りに、未対応コンテンツを文書の元の削除位置に削除前の前後のコンテンツとの関係を回復しながら戻すことはできないという致命的な欠点がある。
【００５４】
これに対し、本実施形態によれば、文書データのコンテンツを削除した際の前後のコンテンツを記憶し、その前後のコンテンツが現存する文書中の位置に削除したコンテンツを再度戻すことができる。したがって、ページを跨って大きく文書のレイアウトが変更されていても、いったん削除したコンテンツを元に戻した際に、違和感のないコンテンツのつながりを再現することができる。
【００５５】
〔第２の実施形態〕
第１の実施形態では、新たなレイアウト空間ができた際、文書に戻すことができるオブジェクトを復活待ちリストからリストアップし、選択されたものを文書に戻すようにした。しかしながら、新たなレイアウト空間ができた際に真っ先に文書に元に戻したい復活待ちオブジェクトがあっても、新たなレイアウト空間ができリストアップがなされるまで、ユーザーは復活待ちオブジェクトを記憶しておく必要があった。そこで、本実施形態では、オブジェクトを再配置する際に、ユーザーの直接的な関与を要せず、あらかじめ規定されている優先度に基づいたオブジェクトの復活を行うようにした。
【００５６】
（レイアウト装置の機能的構成）
図１８は、第２の実施形態にかかるレイアウト装置の機能的構成を示すブロック図である。本実施形態にかかるレイアウト装置は、第１の実施形態におけるレイアウト装置の機能的構成に加え、優先度設定部２１を備えている。
【００５７】
この優先度設定部２１は、削除された各オブジェクトに対してオブジェクト削除部１が削除した順に優先度を設定する。優先度が設定されたオブジェクトは当該優先度を反させた形式でオブジェクト保持部２に格納される。オブジェクト検出部５は、オブジェクト保持部２が保持するオブジェクトを設定されている優先度順に検出する。
【００５８】
図１９は、文書からオブジェクト４０１を削除した後に表示部８に表示される画面２０１の一例を示す図である。復活待ちリスト２０５に表示されるオブジェクトのアイコンは、その優先度を反映させた順に表示される。ここでは、オブジェクト４０１，７０１，７０３，７０２，７０４の順に、優先度が設定されている例を示している。オブジェクト４０１，７０１，７０３，７０２，７０４のアイコンにはそれぞれの優先度を示す優先度ラベル１７０１〜１７０５が付与されている。なお、優先度ラベルの値の数値が低ければ、優先度が高いことを示す。
【００５９】
また、各オブジェクトの優先度は、入力部７を構成するマウスにより復活待ちリスト２０５に表示されている各オブジェクトのアイコンをドラッグ＆ドロップすることにより、変更可能である。たとえば、図１９において優先度が全体の２番目（Ｐｒｉ．００２）であるオブジェクト７０１の優先度を１番目にしたい場合、オブジェクト７０１のアイコンをマウスにより、オブジェクト４０１のアイコンの前にドラッグ＆ドロップすればよい。この操作により、優先度設定部２１は、オブジェクト７０１の優先度を１番目に、オブジェクト４０１の優先度を２番目にする。また、同様に、オブジェクト７０１の優先度を２番目から４番目にしたい場合、オブジェクト７０１のアイコンをオブジェクト７０２のアイコンの後にドラッグ＆ドロップすればよい。この操作により、優先度設定部２１は、各オブジェクトの優先度をオブジェクト４０１→オブジェクト７０３→オブジェクト７０２→オブジェクト７０１→オブジェクト７０４の順に設定し直すことができる。
【００６０】
なお、第１の実施形態で触れたように削除された各オブジェクトがグループ化された場合には、そのグループ内で最も高い優先度を持つオブジェクトの優先度をそのグループの優先度として用いる。
【００６１】
（レイアウト装置の処理）
第２の実施形態のレイアウト装置の主要な処理について説明する。文書データからオブジェクトが削除される処理については、その削除順に優先度が設定されること以外は第１の実施形態で説明した手順と同様である。したがって、その説明は省略する。ここでは、文書データに削除したオブジェクトを再配置する処理について説明する。図２０は、本実施形態にかかるレイアウト装置におけるオブジェクトの再配置処理の手順を示すフローチャートである。
【００６２】
図２０に示すフローチャートにおいて、まず、領域検出部４が文書データ中に余剰な領域が存在しているか否かを検出する（ステップＳ１８０１）。この処理は、文書のページ数が増加した場合に実行される。ここで、文書データ中に余剰な領域が存在していない場合（ステップＳ１８０１：Ｎｏ）は、再度ステップＳ１８０１に戻る。
【００６３】
一方、ステップＳ１８０１において文書データ中に余剰な領域が存在している場合（ステップＳ１８０１：Ｙｅｓ）は、領域検出部４がその余剰領域のレイアウト空間を計算する（ステップＳ１８０２）。ここでは、縦方向すなわち前記座標系におけるｙ軸方向の空きレイアウト空間を計算する。空きレイアウト空間は、本実施形態では、ページ幅一杯の矩形がレイアウト可能な空間とする。
【００６４】
次に、オブジェクト検出部５が、オブジェクト保持部２内に領域検出部４が検出した余剰領域に配置可能なオブジェクトがあるか否かをその優先度順に検出する（ステップＳ１８０３）。ここで、前記余剰領域に配置可能なオブジェクトがない場合（ステップＳ１８００３：Ｎｏ）は、処理終了する。
【００６５】
一方、ステップＳ１８０３において前記余剰領域に配置可能なオブジェクトがある場合（ステップＳ１８００３：Ｙｅｓ）は、オブジェクト配置部６が、当該オブジェクトを文書２０８に戻す（ステップＳ１８０４）。そして、文書データ編集部３が文書２０８を再編集する（ステップＳ１８０５）。
【００６６】
ステップＳ１８０４およびステップＳ１８０５の詳細は、それぞれ図１１に基づいて説明したステップＳ１００９、ステップＳ１０１０と同様である。
【００６７】
以上説明したように、本実施形態によれば、あらかじめ復活待ちリストに登録されるオブジェクトに優先度を設定しておき、その優先度に基づいてオブジェクトの再配置を行うことができる。このため、オブジェクトの再配置処理の際にオブジェクトの選択を行わずとも、優先度順に所望のオブジェクトを再配置することができる。
【００６８】
なお、上記各実施形態で説明したレイアウト方法を実行するプログラムは、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に記録される。そして、このプログラムをコンピュータによって記録媒体から読み出されることによって実行される。また、このプログラムは、インターネット等のネットワークを介して配布することが可能な伝送媒体であってもよい。
【産業上の利用可能性】
【００６９】
以上のように、本発明にかかるレイアウト装置、レイアウト方法、およびレイアウトプログラムは、文書中の文字列や画像などのデータを再配置し、効果的なレイアウト変更を可能にする。特に、印刷する用紙の節約のためのレイアウト変更に有用である。
【図面の簡単な説明】
【００７０】
【図１】本発明にかかるレイアウト装置のハードウェア構成を示すブロック図である。
【図２】第１の実施形態にかかるレイアウト装置の機能的構成を示すブロック図である。
【図３】第１の実施形態にかかるレイアウト装置におけるオブジェクト削除処理の手順を示すフローチャートである。
【図４】表示部８に表示される初期画面の一例を示す図である。
【図５】文書データから削除するオブジェクトを選択する際に表示部８に表示される画面の一例を示す図である。
【図６】オブジェクト保持部２に格納されるオブジェクトのデータ形式を示す概念図である。
【図７】文書からオブジェクト４０１を削除した後に表示部８に表示される画面２０１の一例を示す図である。
【図８】図３のフローチャートに従い、さらにいくつかのオブジェクトを文書２０８から削除した結果を示す画面２０１の一例を示す図である。
【図９】文書２０８に新たなアプリケーションデータを取り込む際に表示部８に表示される画面２０１の一例を示す図である。
【図１０】図９に示した新たなアプリケーションデータを取り込んだ後の表示部８に表示される画面２０１の一例を示す図である。
【図１１】第１の実施形態にかかるレイアウト装置におけるオブジェクト再配置処理の手順を示すフローチャートである。
【図１２】配置可能なオブジェクトがリストアップされた際の表示部８に表示される画面２０１の一例を示す図である。
【図１３】削除されたオブジェクト４０１を文書２０８に戻した際の表示部８に表示される画面２０１の一例を示す図である。
【図１４】図１１のフローチャートの処理が終了した後、文書２０８にレイアウト可能な空間がさらに残っている場合に表示部８に表示される画面２０１の一例を示す図である。
【図１５】図１１のフローチャートの処理が終了した後、文書２０８にレイアウト可能な空間が十分残っていない場合に表示部８に表示される画面２０１の一例を示す図である。
【図１６】ステップＳ１００８の処理によって表示部８に表示される画面２０１の一例を示す図である。
【図１７】削除オブジェクトのグループ化を指示する際に表示部８に表示される画面２０１の一例を示す図である。
【図１８】第２の実施形態にかかるレイアウト装置の機能的構成を示すブロック図である。
【図１９】文書からオブジェクト４０１を削除した後に表示部８に表示される画面２０１の一例を示す図である。
【図２０】第２の実施形態にかかるレイアウト装置におけるオブジェクトの再配置処理の手順を示すフローチャートである。
【符号の説明】
【００７１】
１  オブジェクト削除部
２  オブジェクト保持部
３  文書データ編集部
４  領域検出部
５  オブジェクト検出部
６  オブジェクト配置部
７  入力部
８  表示部
９  記憶部
１０  印刷部
１１  通信部
２１  優先度設定部
【図１】
2010165201.tif 000003
【図２】
2010165201.tif 000004
【図３】
2010165201.tif 000005
【図４】
2010165201.tif 000006
【図５】
2010165201.tif 000007
【図６】
2010165201.tif 000008
【図７】
2010165201.tif 000009
【図８】
2010165201.tif 000010
【図９】
2010165201.tif 000011
【図１０】
2010165201.tif 000012
【図１１】
2010165201.tif 000013
【図１２】
2010165201.tif 000014
【図１３】
2010165201.tif 000015
【図１４】
2010165201.tif 000016
【図１５】
2010165201.tif 000017
【図１６】
2010165201.tif 000018
【図１７】
2010165201.tif 000019
【図１８】
2010165201.tif 000020
【図１９】
2010165201.tif 000021
【図２０】
2010165201.tif 000022