JP2010176520A - 文書編集装置、文書編集方法、および文書編集プログラム - Google Patents
文書編集装置、文書編集方法、および文書編集プログラム Download PDFInfo
- Publication number
- JP2010176520A JP2010176520A JP2009020078A JP2009020078A JP2010176520A JP 2010176520 A JP2010176520 A JP 2010176520A JP 2009020078 A JP2009020078 A JP 2009020078A JP 2009020078 A JP2009020078 A JP 2009020078A JP 2010176520 A JP2010176520 A JP 2010176520A
- Authority
- JP
- Japan
- Prior art keywords
- content
- layout
- movement
- document editing
- amount
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Processing Or Creating Images (AREA)
- Document Processing Apparatus (AREA)
Abstract
【課題】ユーザがコンテンツを追加/削除しようとする場合、それを追加/削除することによって影響を受ける他のコンテンツのレイアウトを自動修正することができる文書編集装置を提供する。
【解決手段】文書編集部204は、入力部201より入力された指定に基づき、テンプレート管理部203が記憶部202より読み出したテンプレートを受け取り、これをレイアウト処理部205に通知する。また、レイアウト処理部205から受け取ったレイアウト計算結果に基づき、文書の再編集を行う。レイアウト計算部205は、文書編集部204から渡されたテンプレートおよびコンテンツデータを用いてレイアウトを計算する。出力部206は、文書編集を実行する際に使用するテンプレートを選択するためのテンプレート指定画面や。再編集された文書などを表示する。
【選択図】図2
【解決手段】文書編集部204は、入力部201より入力された指定に基づき、テンプレート管理部203が記憶部202より読み出したテンプレートを受け取り、これをレイアウト処理部205に通知する。また、レイアウト処理部205から受け取ったレイアウト計算結果に基づき、文書の再編集を行う。レイアウト計算部205は、文書編集部204から渡されたテンプレートおよびコンテンツデータを用いてレイアウトを計算する。出力部206は、文書編集を実行する際に使用するテンプレートを選択するためのテンプレート指定画面や。再編集された文書などを表示する。
【選択図】図2
Description
本発明は、文字列や画像のコンテンツのレイアウトを行う文書編集装置、文書編集方法、および文書編集プログラムに関する。
近年、顧客の開拓や囲い込みのために、顧客満足度を高めることを目標として、CRM(Customer Relationship Management)やOne−to−Oneマーケティングの必要性が注目されている。代表的な手法としてバリアブルプリントが挙げられる。
従来、バリアブルプリント等に代表される自動レイアウト機能を有する文書編集装置では、まず、コンテンツを配置するためのテンプレートを作成する。次に、このテンプレートを用いて、テンプレート中のレイアウト枠にコンテンツを挿入し、自動レイアウトを行い、文書を生成していた。そして、自動的に生成されたレイアウトをユーザの指示に基づき修正し、その画像状態を表示し、レイアウト情報またはレイアウトされた複数の画像データを出力するようになっている(たとえば、特許文献1を参照。)。
特開平9−190546号公報
従来の自動レイアウト機能を有する文書編集装置では、自動レイアウト後、自動レイアウト実行時に使用していたテンプレートに関する情報は失われることになる。このため、ユーザがコンテンツを追加/削除しようとする場合、それを追加/削除することによって影響を受ける他のコンテンツのレイアウトは個別に手動で調整する必要があり、煩雑な操作が要求されるという問題がある。
また、特許文献1に開示された技術は、コンテンツの追加/削除時にはあらかじめ用意されているテンプレートを切り替える手法である。この場合、複数のテンプレートを用意しておく必要があり、テンプレートがない場合にはユーザが所望するレイアウトに変更できないという問題がある。
本発明は、上述した従来技術による問題点を解消するため、ユーザがコンテンツを追加/削除しようとする場合、それを追加/削除することによって影響を受ける他のコンテンツのレイアウトを自動修正することができる文書編集装置を提供することを目的とする。
上述した課題を解決し、目的を達成するため、本発明にかかる文書編集装置は、コンテンツのレイアウトを行う文書編集装置であって、レイアウト変更指示や、レイアウトする文書の指定、新たにレイアウトするコンテンツの指定を行う入力手段と、前記入力手段により指定されたコンテンツを前記入力手段により指定された位置にレイアウトするために必要な配置領域サイズを求め、当該配置領域サイズを確保するための既存のコンテンツを移動させる方向および移動量を求めるレイアウト計算手段と、前記レイアウト計算手段により求められた方向および移動量に基づき既存のコンテンツを移動させ、前記入力手段により指定されたコンテンツを前記入力手段により指定された位置にレイアウトする文書編集手段と、を備えていることを特徴とする。
また、本発明は、コンテンツのレイアウトを行う文書編集方法であって、レイアウトの変更に関する指示及び新たにレイアウトするコンテンツの指定を行う入力工程と、前記入力工程により指定されたコンテンツを前記入力工程により指定された位置にレイアウトするために必要な配置領域サイズを求め、当該配置領域サイズを確保するための既存のコンテンツを移動させる方向および移動量を求めるレイアウト計算工程と、前記レイアウト計算工程により求められた方向および移動量に基づき既存のコンテンツを移動させ、前記入力工程により指定されたコンテンツを前記入力工程により指定された位置にレイアウトする文書編集工程と、を備えていることを特徴とする。
本発明によれば、レイアウト実行後にコンテンツを追加/削除した場合、初期のレイアウトで使用していたテンプレートをコンテンツの追加/削除処理に合わせて変更し、変更したテンプレートを使用して再度自動レイアウトすることができる。これにより、影響を受ける他のコンテンツのレイアウトは自動的に処理されることなり、利便性が向上する。
以下、添付図面を参照して、本発明の好適な実施の形態を詳細に説明する。
図1は、本発明の実施形態にかかる文書編集装置のハードウェア構成を示す図である。この文書編集装置100は、CPU(Central Processing Unit)101と、ROM(Read Only Memory)102と、RAM(Randam Access Memory)と、を備えている。さらに、文書編集装置100は、入力装置104と、表示装置105と、表示コントローラ106と、記憶装置107と、通信装置108と、を備えている。そして、これら各機能部は、バス109により接続されている。CPU101は、情報処理のための演算、論理判断処理などを実行し、バス109を介して各機能部を制御する。
図1は、本発明の実施形態にかかる文書編集装置のハードウェア構成を示す図である。この文書編集装置100は、CPU(Central Processing Unit)101と、ROM(Read Only Memory)102と、RAM(Randam Access Memory)と、を備えている。さらに、文書編集装置100は、入力装置104と、表示装置105と、表示コントローラ106と、記憶装置107と、通信装置108と、を備えている。そして、これら各機能部は、バス109により接続されている。CPU101は、情報処理のための演算、論理判断処理などを実行し、バス109を介して各機能部を制御する。
ROM102は、読出し専用の固定メモリであり、本実施形態で実行される文書編集プログラムなどの制御プログラムコードを記憶する。CPU101が、この制御プログラムコードを読み出し実行することによって、本実施形態の文書編集処理が行われる(詳細は後述)。RAM103は、書込み可能なメモリであり、この文書編集装置100を構成する各機能部から送られてくる各種データの一時記憶のために用いられる。
入力装置104は、文書編集装置100への情報や命令などを入力するものである。この入力装置104は、アルファベットキー、ひらがなキー、カタカナキー、句点などの文字記号入力キーや、カーソル移動を指示するカーソル移動キーなどのような各種の機能キーを備えたキーボードを備えている。また、GUI(Graphical User Interface)上で画面の制御可能位置を指し示し、また各種機能の選択指示などを行うポインティング機器、たとえばマウスやスティックポインタなども接続されている。
表示装置105は、各種情報を表示するためのもので、陰極線管CRT(Cathode−Ray Tube)や液晶パネルなどで構成されている。
表示コントローラ106は、表示装置105におけるドット構成の表示パターンやカーソル表示を制御する。記憶装置107は、各種データやプログラムなどを格納するためのものである。この記憶装置107としては、ハードディスク、フロッピー(登録商標)ディスク、CD−ROM、DVD−ROM、メモリカード、光磁気ディスクなどを用いることができる。通信装置108は、Ethernet(登録商標)などのネットワークとの接続を制御し、当該ネットワークを介して複数の他の文書編集装置と接続する役割を担う。
この文書編集装置100は、入力装置104からの各種の入力および通信装置108から供給されるネットワーク経由の各種入力に応じて作動する。入力装置104からの入力および通信装置108からの入力がなされると、まず、インタラプト信号がCPU101に送られる。そして、CPU101が記憶装置107内に記憶してある各種の制御信号を読出し、それらの制御信号に従って、各種の制御が行われる。
図2は、本発明の実施形態にかかる文書編集装置の機能的構成を示すブロック図である。この文書編集装置100は、入力部201と、記憶部202と、テンプレート管理部203と、文書編集部204と、レイアウト計算部205と、出力部206と、を備える。
入力部201は、文書編集装置100に対して、ユーザによるレイアウト変更指示や、レイアウトする文書の指定、レイアウトするコンテンツの指定を行う。この入力部201は、図1に示したCPU101、入力装置104などでその機能を実現できる。記憶部202は、あらかじめ作成されているテンプレートをはじめとする各種データ、プログラムを記憶する。この記憶部202は、図1に示したCPU101、ROM102、RAM103、記憶装置107などでその機能を実現できる。
テンプレート管理部203は、記憶部202に記憶されているテンプレートの読み出しや、文書編集部204から渡されたテンプレートを記憶部202に記憶する。このテンプレート管理部203は、図1に示したCPU101がROM102に記憶された制御プログラムコードを読み出し実行することでその機能を実現できる。
文書編集部204は、入力部201より入力されたレイアウト変更指示や、レイアウトする文書の指定、レイアウトするコンテンツの指定に基づき、テンプレート管理部203がより読み出したテンプレートを受け取り、これをレイアウト計算部205に通知する。また、レイアウト計算部205から受け取ったレイアウト計算結果に基づき、文書の再編集を行う。より具体的には、レイアウト計算部205により求められた方向および移動量に基づき既存のコンテンツを移動させる。そして、入力部201により指定されたコンテンツを入力部201により指定された配置位置にレイアウトする。この文書編集部204は、図1に示したCPU101がROM102に記憶された制御プログラムコードを読み出し実行することでその機能を実現できる。
レイアウト計算部205は、文書編集部204から渡されたテンプレートおよびコンテンツデータを用いてレイアウトを計算する。具体的には、入力部201により指定されたコンテンツを入力部201により指定された配置位置にレイアウトするために必要な配置領域サイズを求め、当該配置領域サイズを確保するために既存のコンテンツを移動させる方向および移動量を求める(詳細は後述)。このレイアウト計算部205は、図1に示したCPU101がROM102に記憶された制御プログラムコードを読み出し実行することでその機能を実現できる。
ここで、レイアウト計算部205がレイアウト計算を行うときに用いるコンテンツ配置領域情報について説明する。コンテンツ配置領域情報は、コンテンツを配置する配置領域の位置およびサイズを規定する情報である。このコンテンツ配置領域情報に基づき、新しく配置するコンテンツのレイアウト位置を計算する。
図3は、コンテンツ配置領域情報の構成例を示す図である。コンテンツ配置領域情報700は、領域ID701と、X座標702と、Y座標703と、高さ704と、幅705と、関連領域IDリスト706と、から構成される。領域ID701は、コンテンツの配置領域を特定するための一意な値を示す。X座標702は、レイアウト領域の左上を原点としたコンテンツ配置領域のX座標を示す。Y座標703は、レイアウト領域の左上を原点としたコンテンツ配置領域のY座標を示す。高さ704は、コンテンツ配置領域の高さを示す。幅705は、コンテンツ配置領域の幅を示す。関連領域IDリスト706は、再編集を行うときに当該コンテンツ配置領域と格納コンテンツのサイズに応じて領域のサイズ調整を行うための他のコンテンツ配置領域のIDを示す。コンテンツ配置領域情報700は、記憶部202に格納される。
次に、レイアウト計算部205がレイアウト計算を行うときに用いる移動方向別移動量情報について説明する。移動方向別移動量情報とは、新たに配置するコンテンツとすでに配置されているコンテンツとが重なり合わないように、すでに配置されているコンテンツを移動させるための移動量を移動方向ごとに求めた情報である。この移動方向別移動量情報は、コンテンツ追加処理で使用する。
図4は、移動方向別移動量情報の構成例を説明図である。移動方向別移動量情報800は、上方向移動量801と、下方向移動量802と、左方向移動量803と、右方向移動量804と、により構成される。上方向移動量801は、上方向の移動量を示す。下方向移動量802は、下方向の移動量を示す。左方向移動量803は、左方向の移動量を示す。右方向移動量804は、右方向の移動量を示す。この移動方向別移動量情報800は、記憶部202に格納される。
図2に戻り、出力部206は、文書編集を実行する際に使用するテンプレートを選択するためのテンプレート指定画面や。再編集された文書などを表示する。この出力部206は、図1に示した表示装置105、表示コントローラ106などでその機能を実現できる。
ここで、出力部206に表示されるテンプレート指定画面について説明する。図5は、テンプレート指定画面の一例を示す図である。テンプレート指定画面1200は、記憶部202に記憶されているテンプレートを一覧表示し、文書編集処理で使用するテンプレートを選択する画面である。まず、テンプレート管理部203が記憶部202に記憶されているテンプレートを取得する。そして、文書編集部204を介して、テンプレート中の配置領域を含めたテンプレートの外観を出力部206に表示する。このテンプレート指定画面1200は、テンンプレート一覧表示部1201と、OKボタン1202と、キャンセルボタン1203と、を備えている。テンプレート一覧表示部1201は、入力部201からのテンプレートの選択指示を表示する。OKボタン1202は、これを押下することで、テンプレート一覧表示部1201に表示されたテンプレート選択操作を確定する。キャンセルボタン1203は、これを押下することで、文書編集処理を中止する。
次に、出力部206に表示されるコンテンツ指定画面についついて説明する。図6は、コンテンツ指定画面の一例を示す図である。このコンテンツ指定画面1100は、図5に示したテンプレート指定画面1200中のOKボタン1202が押下された後に表示される。すなわち、テンプレート指定画面1200で選択されたテンプレートの外観をテンプレート中の配置領域を含めて表示し、配置領域ごとにコンテンツを指定するための画面である。コンテンツ指定画面1100は、コンテンツ指定部1101と、OKボタン1102と、キャンセルボタン1103と、を備えている。コンテンツ指定部1101は、テンプレートの外観を表示し、配置領域ごとのコンテンツの指定指示を受け付ける。OKボタン1102は、これを押下することで、コンテンツ指定指示を確定する。キャンセルボタン1103は、これを押下することで、文書編集処理を中止する。
次に、出力部206に表示されるレイアウト結果画面について説明する。図7(a)、図7(b)は、レイアウト結果画面の一例を示す図である。図7(a)は、1回目のレイアウト結果表示時の画面であり、図7(b)は、レイアウト結果変更後のレイアウト結果表示時の画面である。このレイアウト結果画面1300は、編集処理が終了した後にレイアウトの結果を表示する画面である。レイアウト結果画面1300は、レイアウト結果表示部1301と、レイアウト変更ボタン1302と、OKボタン1303と、を備えている。レイアウト結果表示部1301は、レイアウトの結果を表示する。レイアウト変更ボタン1302は、これを押下することで、レイアウト結果表示部1301に表示されたレイアウトの結果に対して再レイアウト(再編集)を開始する。OKボタン1303は、これを押下することで、レイアウト結果表示部1301に表示されたレイアウト結果を確定する。なお、レイアウト変更ボタン1301は、再レイアウト後のレイアウト結果表示時には操作不可となり、図7(b)に示すように表示される。
以下、本実施形態における文書編集装置の処理の内容について詳細に説明する。
まず、この文書編集装置100の処理内容全体について説明する。図8は、本発明の実施形態にかかる文書編集装置の処理手順を示すフローチャートである。
まず、この文書編集装置100の処理内容全体について説明する。図8は、本発明の実施形態にかかる文書編集装置の処理手順を示すフローチャートである。
図8に示すフローチャートにおいて、まず、テンプレート指定を受け付ける(ステップS301)。具体的には、出力部206に図5に示したテンプレート選択画面1200を表示させ、テンプレートの一覧をユーザに提示する。そして、テンプレート一覧表示部1201に表示されたテンプレートのうちから所望のテンプレートをユーザに指定させる。この指定は入力部201の処理で行う。ここで指定されたテンプレート情報は、文書編集部204が受け付ける。なお、テンプレート選択画面1200を表示させる処理については前述の通りである。
次に、コンテンツ指定を受け付ける(ステップS302)。具体的には、出力部206に図6に示したコンテンツ指定画面1100を表示させ、S301の処理で選択したテンプレートの配置領域ごとにレイアウト対象とするコンテンツを指定する。この指定は入力部201の処理で行う。ここで指定されたコンテンツ情報は、文書編集部204が受け付ける。なお、コンテンツ指定画面1100を表示させる処理については前述の通りである。
次に、レイアウト処理を実行する(ステップS303)。ここでは、文書編集部204がレイアウト計算部205の計算結果を基に、ステップS301およびステップS302において指定されたテンプレートとコンテンツを用いてレイアウト処理を実行する。
次に、レイアウト結果を表示する(ステップS304)。ここでは、出力部206が、ステップS303の処理によってレイアウトされた文書を表示する。具体的には、出力部206が、図7(a)に示したレイアウト結果画面1300にステップS303の処理で得られたレイアウト結果を表示する。
次に、レイアウト変更をするか否かを判断する(ステップS305)。ここでは、図7(a)に示したレイアウト結果画面1300に表示されているレイアウト結果について変更するか否かを判断する。この判断は、ユーザが行う。ここで、ユーザがレイアウト変更しないと判断した場合、すなわちレイアウト結果画面1300のOKボタン1302を押下した場合(ステップS305:No)は、処理を終了する。
一方、ユーザがレイアウト変更すると判断した場合、すなわちレイアウト結果画面1300のレイアウト変更ボタン1301を押下した場合(ステップS305:Yes)は、コンテンツを追加するか・削除するかの判断を行う(ステップS306)。この判断も、ユーザが行う。
ステップS306においてコンテンツを追加すると判断した場合は、文書編集部204がレイアウト計算部205の計算結果を基に、コンテンツ追加処理を行う(ステップS307)。この結果、文書中に新たなコンテンツが追加・配置される。この後、ステップS309へ移行する。一方、ステップS306においてコンテンツを削除すると判断した場合は、文書編集部204がレイアウト計算部205の計算結果を基に、コンテンツ削除処理を行う(ステップS308)。この結果、文書中に配置されていたコンテンツが削除される。この後、ステップS309へ移行する。
最後に、テンプレートの登録を行う(ステップS309)。ここでは、テンプレート管理部203が、ステップS307またはステップS308にて変更されたテンプレートを記憶部202に格納する。なお、ここで格納されたテンプレートは、後に実行されるステップS301の処理の際に、テンプレート選択画面1200のテンプレート一覧表示部1201に表示される。
次に、図8に示したコンテンツ追加処理(ステップS307)について詳細に説明する。図9は、コンテンツ追加処理(ステップS307)の手順を示すフローチャートである。
図9に示すフローチャートにおいて、まず、コンテンツ指定を受け付ける(ステップS401)。具体的には、出力部206に図6に示したコンテンツ指定画面1100を表示させ、追加するコンテンツを指定する。この指定は入力部201の処理で行う。ここで指定されたコンテンツ情報は、文書編集部204が受け付ける。なお、コンテンツ指定画面1100を表示させる処理については前述の通りである。
図9に示すフローチャートにおいて、まず、コンテンツ指定を受け付ける(ステップS401)。具体的には、出力部206に図6に示したコンテンツ指定画面1100を表示させ、追加するコンテンツを指定する。この指定は入力部201の処理で行う。ここで指定されたコンテンツ情報は、文書編集部204が受け付ける。なお、コンテンツ指定画面1100を表示させる処理については前述の通りである。
次に、追加するコンテンツの位置を指定する(ステップS402)。ここでは、入力部201を構成するマウスなどでコンテンツ追加したい画面上の位置を指定する。次に、オーバーラップ配置領域情報を取得する(ステップS403)。ここでは、レイアウト計算部205が、ステップS401で受け付けたコンテンツおよびステップS402で指定したコンテンツ位置を基準にして、すでに配置されているコンテンツと重なる領域を求める。具体的には、ステップS402で指定されたコンテンツの位置をコンテンツの重心とし、当該コンテンツの各頂点の座標を算出する。そして、これらの座標と図3(a)に示したコンテンツ配置領域情報700に含まれる各配置領域のX座標702、Y座標703、高さ704、幅705と、を比較して重なっている配置領域の領域ID701を求める。求めた領域IDは、図10に示すようなオーバーラップ配置領域情報900を生成して、これを記憶部202に格納する。
次に、オーバーラップ配置領域があるか否かを判定する(ステップS404)。ここでは、レイアウト計算部205が、ステップS403で求めたオーバーラップ配置領域情報900に配置領域の領域IDが格納されているか否か判定する。ここで、オーバーラップ配置領域がない場合(ステップS404:No)、すなわちオーバーラップ配置領域情報900に配置領域の領域IDが格納されていない場合は、追加コンテンツと重なる配置領域が存在しなと判断し、ステップS410へ移行する。
一方、オーバーラップ配置領域がある場合(ステップS404:Yes)、すなわちオーバーラップ配置領域情報900に配置領域の領域IDが格納されている場合は、追加コンテンツと重なる既存のコンテンツ配置領域が存在すると判断する。そして、配置領域移動方向を求める(ステップS405)。ここではレイアウト計算部205が、ステップS403で求めたオーバーラップ配置領域情報900とステップS402で求めた追加コンテンツの座標から、オーバーラップ配置領域情報900に格納されている各配置領域をどの方向に移動する必要があるかを求める。既存のコンテンツ配置領域の移動方向は、以下のような判定定基準により求める。
図11は、既存のコンテンツ配置領域の移動方向を求める基準を説明するための図である。まず、配置領域に追加コンテンツの左上頂点と右上頂点が含まれている場合は、図11(a)に示すように、コンテンツ配置領域は上方向に移動させる。配置領域に追加コンテンツの左上頂点のみが含まれている場合は、図11(b)に示すように、コンテンツ配置領域は上方向と左方向へ移動させる。配置領域に追加コンテンツの右上頂点のみが含まれている場合は、図11(c)に示すように、コンテンツ配置領域は上方向/左方向へ移動させる。配置領域に追加コンテンツの左下頂点と右下頂点が含まれている場合は、図11(d)に示すように、配置領域は下方向に移動させる。配置領域に追加コンテンツの左下頂点のみが含まれている場合は、図11(e)に示すように、コンテンツ配置領域は下方向と左方向に移動させる。配置領域に追加コンテンツの右下頂点のみが含まれている場合は、図11(f)に示すように、コンテンツ配置領域は下方向と右方向に移動させる。また、コンテンツ配置領域に追加コンテンツの全頂点が含まれている場合、または、コンテンツ配置領域が追加コンテンツに含まれる場合は、方向ごとに追加コンテンツとオーバーラップしないようにするための移動量を求めて、最も少ない方向を移動方向とする。
次に、移動方向別移動量を求める(ステップS406)。ここでは、レイアウト計算部205が、既存のコンテンツの移動方向別移動量を求める。具体的には、ステップS403で求めたオーバーラップ配置領域情報900と追加コンテンツの重なりから、移動すべき移動量をステップS405で求めた移動方向ごとに算出する。ここで算出された値は、図4に示した移動方向別移動量情報800に格納する。
次に、既存のコンテンツの配置領域を移動させる(ステップS407)。ここでは、文書編集部204が、ステップS403で求めたオーバーラップ配置領域情報900とステップS406で求めた移動方向別移動量情報800を参照して、依存のコンテンツの位置を移動方向別に移動させる。移動後の既存コンテンツの配置領域情報は、レイアウト計算部205が算出し、コンテンツ配置領域情報700を生成する。
次に、コンテンツがオーバーラップするか否かを判定する(ステップS408)。ここでは、レイアウト計算部205が、ステップS407で移動した後のコンテンツ配置領域情報700を参照して、追加コンテンツと既存コンテンツとの重なりがあるか否かを判定する。ここで、コンテンツがオーバーラップしない場合(ステップS408:No)は、ステップS410へ移行する。
一方、コンテンツがオーバーラップする場合(ステップS408:Yes)は、既存コンテンツの配置領域サイズを調整する(ステップS409)。ここでは、まず、レイアウト計算部205が、既存コンテンツの移動方向ごとに、方向別移動量情報800を参照し、ステップS407で移動した移動量との差を求める。移動した配置領域のサイズから求めた値を均等に配分する。すべての移動方向においてこの処理を行い、追加コンテンツを配置する領域を確保する。このようにして既存コンテンツの配置領域のサイズの縮小を行う。
次に、コンテンツ配置領域情報を更新する(ステップS410)。ここでは、レイアウト計算部205が、ステップS402で指定された追加コンテンツ位置に配置領域を新設するためのコンテンツ配置領域情報700を更新する。また、追加コンテンツの配置領域を近接する既存の配置領域と関連付けるためにコンテンツ配置領域情報700の関連領域IDリスト706を更新する。ここで更新された関連領域IDリスト706は、新たに追加するコンテンツの配置領域を示すものである。図3(b)は、更新後のコンテンツ配置領域情報の構成例を示す図である。
続いて、レイアウト処理を実行する(ステップS411)。ここでは、文書編集部204が、図3(b)に示した更新後のコンテンツ配置領域情報700の基づき、レイアウト処理を実行する。すなわち、コンテンツ配置領域情報700の関連領域IDリスト706にて関連付けられている配置領域同士はコンテンツのサイズに応じて配置領域のサイズを調整しながらレイアウト処理を実行する。
そして、レイアウト結果を表示する(ステップS412)。ここでは、出力部206が、ステップS411で実行されたレイアウト処理の結果を表示する(図7(b)を参照)。
そして、レイアウト結果を表示する(ステップS412)。ここでは、出力部206が、ステップS411で実行されたレイアウト処理の結果を表示する(図7(b)を参照)。
次に、図9に示した既存のコンテンツ配置領域の移動処理(ステップS407)について詳細に説明する。図12は、既存のコンテンツの位置を移動させる処理(ステップS407)の手順を示すフローチャートである。この処理は、レイアウト計算部205の計算結果に基づき、文書編集部204が実行する。
図12に示すフローチャートにおいて、まず、移動量を初期化(0に設定)する(ステップS501)。次に、全ての移動方向に対して配置領域の移動処理を行ったか否か判定する(ステップS502)。ここで、全ての移動方向に対してコンテンツ配置領域を移動させた場合(ステップS502:Yes)は、コンテンツ配置領域の移動処理を終了する。
一方、全ての移動方向に対するコンテンツ配置領域を移動させていない場合(ステップS502:No)は、移動対象配置領域リストを作成する(ステップS503)。図13は、このとき作成される移動対象配置領域リストの一例を示す図である。移動処理対象の既存コンテンツの移動方向に応じて、追加コンテンツと重なる既存コンテントの配置領域の領域IDを移動対象配置領域リスト1000に格納する。
図14は、移動対象配置領域リストに格納する配置領域の一例を説明するための図である。ここに示すように、移動方向が下方向の場合、移動対象コンテンツ配置領域リスト1000には配置領域の「2」および「3」の領域IDを格納する。また、追加コンテンツと重なる既存コンテンツの配置領域とこの配置領域が既存コンテンツの移動方向に近接する配置領域の間隔が0である場合は、移動方向に近接する領域を移動対象配置領域リスト1000に格納する。
次に、移動可能量を取得する(ステップS504)。ここでは、移動対象配置領域リスト1000に格納されている既存コンテンツの配置領域を移動させるのに可能な移動可能量を取得する。なお、移動可能量としては、移動対象コンテンツ配置領域リスト1000で移動方向に隣接する既存コンテンツの配置領域との間隔で最も狭い間隔を想定している。
たとえば、図14に示した例では、領域IDが「2」および「3」である配置領域を下方向に移動する場合、当該領域IDの配置領域の下方向に位置している配置領域をコンテンツ配置領域情報700から求める。図14では、領域ID「4」の配置領域が領域ID「2」,「3」の配置領域の下方向に位置する。領域ID「2」と領域ID「4」の配置領域の垂直方向の間隔と領域ID「3」と領域ID「4」の配置領域の垂直方向の間隔とをそれぞれ求めて比較する。この例では、領域ID「2」と領域ID「4」の配置領域の垂直方向の間隔が領域ID「3」と領域ID「4」の配置領域垂直方向の間隔より狭い。そこで、移動可能量は領域ID「2」と領域ID「4」の配置領域の垂直方向の間隔となる。
次に、配置領域の移動が可能か否かを判定する(ステップS505)。具体的には、ステップS504で求めた移動可能量が0であるか否か判定する。ここで、配置領域の移動が不可能な場合(ステップS505:No)は、他の移動方向に対する移動処理を行うためにステップS501へ戻る。
一方、配置領域の移動が可能な場合(ステップS505:Yes)は、移動量と移動可能量の合計値が方向別移動量より大きいか否か判定する(ステップS506)。なお、方向別移動量は、図4に示した方向別移動量情報800を参照する。
ここで、移動量と移動可能量の合計値が方向別移動量より大きい場合(ステップS506:Yes)は、これ以上既存のコンテンツ配置領域の移動量を確保する必要がない。そこで、既存コンテンツの配置領域を方向別移動量にしたがった量だけ移動させる(ステップS507)。具体的には、ステップS504で求めた移動可能量分だけ当該移動方向に移動対象配置領域リスト1000にある既存コンテンツの配置領域を移動する。そして、コンテンツ配置領域情報700のX座標702およびY座標703を更新する。また、各配置領域間の間隔が0となった配置領域同士は、関連付けるためにコンテンツ配置領域情報700の関連領域IDリスト706を更新する。さらに、移動量に移動可能量を加算する。
一方、ステップS506において移動量と移動可能量の合計値が方向別移動量より小さい場合(ステップS506:No)は、さらに既存コンテンツの配置領域を確保する必要がある。そこで、移動に必要とされる残りの必要移動量を求める(ステップS508)。具体的には、方向別移動量情報800の処理対象の移動量からステップS504で求めた移動可能量を減算し、残りの必要移動量を求める。そして、移動可能量分だけ移動方向に移動対象配置領域リスト1000にある既存コンテンツの配置領域を移動させる。そして、配置領域情報700のX座標702およびY座標703を更新する。また、各配置領域間の間隔が0となった配置領域同士は、関連付けるために配置領域情報700の関連領域IDリストを更新する。この後、次の移動方向に対する移動処理を行うためにステップS501へ戻る。
次に、さらに移動可能な配置領域が存在するか否かを判定する(ステップS509)。具体的には、コンテンツ配置領域情報700から移動対象とする既存コンテンツの配置領域が存在するか否か判定する。ここで、さらに移動可能な配置領域が存在しない場合(ステップS509:No)は、ステップS501へ戻る。一方、さらに移動可能な配置領域が存在する場合(ステップS509:Yes)は、移動対象配置領域リストを更新する(ステップS510)。すなわち、更新済みの配置領域情報700に基づき、移動対象配置領域リスト1000を更新する。この後、ステップS504へ戻る。
以下に、具体例を示しながら、新たなコンテンツの追加を説明する。図15は、編集前のレイアウト結果を示す図である。ここでは、図15を参照しながら、編集前のレイアウト結果1601に対して追加コンテンツ1602を追加する例を説明する。図15に示す編集前のレイアウト結果1601のコンテンツ配置領域情報700は、図3(a)に示したものとする。また、追加コンテンツ1602のサイズは、高さ40、幅180とする。
まず、図9のステップS401で追加コンテンツ1602が指定される。次に、ステップS402で追加コンテンツ1602の位置が、X座標150,Y座標130と指定される。続いて、ステップS403において追加するコンテンツの各頂点を算出すると、左上頂点がX座標60,Y座標110、左下頂点がX座標60,Y座標150、右上頂点がX座標240,Y座標110、右下頂点がX座標240,Y座標150となる。追加コンテンツ1602の座標と図3(a)のコンテンツ配置領域情報700にある既存コンテンツと重なっている領域は、領域ID「2」と領域ID「3」の部分である。なお、求めたIDは図10のオーバーラップ配置領域情報900に格納する。
続いて、ステップS404の判定を行うが、追加コンテンツと重なる領域がオーバーラップ配置領域900にあるため、ステップS405に進む。ステップS405では、領域ID「2」は、図11(a)に該当するので上方向に移動する。また、領域ID「3」は、図11(d)に該当するので下方向に移動する。
次に、ステップS406では、図4の移動方向別移動量情報800を求める。ここでは、上方向移動量801は20、下方向移動量802は20、左方向移動量803、および右方向移動量804は0とする。
次に、図12のステップS501で移動量を初期化(0)する。そして、ステップS502の判定に移る。ここでは、全ての移動方向に対して処理を行っていないために、次はステップS503に進む。ステップS503では、先ず上方向の移動を行う。追加コンテンツと重なる領域の領域IDは「2」であるが、領域ID「2」の上方向に隣接する領域ID「1」との間隔が0であるために領域ID「1」を図13の移動対象配置領域リスト1000に格納する。次に、ステップS504で移動対象配置領域リスト1000に格納されている領域ID「1」が上方向に隣接する配置領域との間隔を求める。ここでは、コンテンツ配置領域情報700より、領域ID「1」の上側には、配置領域が存在せずにレイアウト領域上端との間隔は10となっている。したがって、移動可能量は10とする。
次に、ステップS505の判定に移る。ここでは、移動可能量が10であるために次はステップS506の判定に移る。ここでは、まず、移動可能量と移動量の合計値は10である。一方、方向別移動量情報800の上方向移動量801は20であるので、次はステップS508に進む。ステップS508では、コンテンツ配置領域情報700の領域ID「2」のY座標703を60、領域ID「1」のY座標703を0に更新する。そして、移動量に移動可能量10を加算して、移動量を10とする。
続いて、ステップS509では、コンテンツ配置領域情報700より上方向に移動する配置領域がないため、次に下方向の移動を行うためにステップS501へ戻る。
ステップS501では移動量を0とする。次に、ステップS502の判定では全ての移動方向に対して処理を行っていないためにステップS503に進む。ステップS503では、下方向の移動を行う。ここでは、追加コンテンツと重なる領域の領域ID「3」であるが、領域ID「3」の下方向に隣接する領域ID「4」との間隔および領域ID「4」と領域ID「5」との間隔が0であるために領域ID「5」を図13の移動対象配置領域リスト1000に格納する。
ステップS501では移動量を0とする。次に、ステップS502の判定では全ての移動方向に対して処理を行っていないためにステップS503に進む。ステップS503では、下方向の移動を行う。ここでは、追加コンテンツと重なる領域の領域ID「3」であるが、領域ID「3」の下方向に隣接する領域ID「4」との間隔および領域ID「4」と領域ID「5」との間隔が0であるために領域ID「5」を図13の移動対象配置領域リスト1000に格納する。
次に、ステップS504において移動対象配置領域リスト1000に格納されている領域ID「5」が下方向に隣接する配置領域との間隔を求める。ここでは、コンテンツ配置領域情報700より、領域ID「5」の下側には、配置領域が存在せずにレイアウト領域下端との間隔は10である。したがって、移動可能量は10とする。
次に、ステップS505の判定では、移動可能量が10であるためにステップS506の判定へ進む。まず、移動可能量と移動量の合計値は10である。一方、方向別移動量情報800の下方向移動量802は20であるので、次はステップS508に進む。
ステップS508では、コンテンツ配置領域情報700の領域ID「3」のY座標703を140、領域ID「4」のY座標703を230、領域ID「5」のY座標703を270に更新する。そして、移動量に移動可能量10を加算して、移動量を10とする。次に、ステップS509では、コンテンツ配置領域情報700より上方向に移動する配置領域がない。そこで、下方向の移動を行うためにステップS501へ戻る。
ステップS501では移動量を0とする。ステップS502の判定では全ての移動方向に対して処理を行ったために、次はステップS408に進む。ステップS408の判定では、移動後の配置領域と重なるので追加コンテンツは配置できない。そこで、ステップS409に進む。
ステップS409では、上方向の移動量10および下方向の移動量10である。そこで、方向別移動量情報800を参照すると、垂直方向に20不足していることが分かる。そこで、移動した5つの配置領域の高さから4を減算し、コンテンツ配置領域情報700を更新する。そして、ステップS411に進む。ステップS411では、追加コンテンツの配置領域を追加するために、図3(b)に示すようにコンテンツ配置領域情報700を更新すし、処理を終了する。
次に、図8のコンテンツ削除処理(ステップS308)の処理について説明する。図16は、コンテンツ削除処理(ステップS308)の手順を示すフローチャートである。この処理は、すべて、レイアウト計算部205の計算結果に基づき、文書編集部204が実行する。
図16に示すフローチャートにおいて、まず、削除する既存コンテンツの指定を受け付ける(ステップS601)。次に、配置領域情報を取得する(ステップS602)。ここでは、コンテンツ配置領域情報700から指定されたコンテンツが含まれる配置領域情報を取得する。次に、配置領域にあるコンテンツを削除する(ステップS603)。ここでは、ステップS602で取得した配置領域情報を参照し、当該配置領域にあるコンテンツを削除する。次に、削除した配置領域に近接する配置領域同士を関連付ける(ステップS604)。具体的には、削除したコンテンツ付近に配置されている他のコンテンツ同士を近づけ不自然な空間がないようにする。続いて、レイアウト処理を実行する(ステップS605)。ここでは、修正された配置領域とレイアウト対象となるコンテンツを基にレイアウト処理を実行する。最後に、レイアウト結果を表示させ(ステップS606)、処理を終了する。
以上説明したように、本実施の形態は、レイアウト実行後にコンテンツを追加/削除した場合、初期のレイアウトで使用していたテンプレートをコンテンツの追加/削除処理に合わせて変更し、変更したテンプレートを使用して再度自動レイアウトする。これにより、影響を受ける他のコンテンツのレイアウトは自動的に処理されることなり、文書編集処理の効率が向上する。
なお、上記実施形態で説明した文書編集方法は、あらかじめ用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネット等のネットワークを介して配布することが可能な伝送媒体であってもよい。
以上のように、本発明は、多くのコンテンツを含む文書編集に有用であり、特に、コンテンツの追加/削除を頻繁に行う文書編集に適している。
100 文書編集装置
101 CPU
102 ROM
103 RAM
101 CPU
102 ROM
103 RAM
Claims (7)
- コンテンツのレイアウトを行う文書編集装置であって、
レイアウトの変更に関する指示及び新たにレイアウトするコンテンツの指定を行う入力手段と、
前記入力手段により指定されたコンテンツを前記入力手段により指定された位置にレイアウトするために必要な配置領域サイズを求め、当該配置領域サイズを確保するための既存のコンテンツを移動させる方向および移動量を求めるレイアウト計算手段と、
前記レイアウト計算手段により求められた方向および移動量に基づき既存のコンテンツを移動させ、前記入力手段により指定されたコンテンツを前記入力手段により指定された位置にレイアウトする文書編集手段と、
を備えていることを特徴とする文書編集装置。 - 前記レイアウト計算手段は、既存の配置領域を移動する移動方向と移動方向ごとの移動量を求め、
前記文書編集手段は、
前記レイアウト計算手段により算出された前記移動方向に前記移動量だけ既存の配置領域を移動させ、移動の前と移動の後との配置領域間で領域サイズを調整するために配置領域間の間隔がなくなった配置領域を関連付け、
既存のコンテンツの配置領域の移動後の空き領域に追加コンテンツが配置できない場合は、前記レイアウト計算手段により算出された移動量と、当該文書編集手段が移動させた既存のコンテンツ配置領域への移動量との差を均等に配分して縮小することを特徴とする請求項1に記載の文書編集装置。 - 前記入力手段は、削除するコンテンツの指定を行い、
前記レイアウト計算手段は、前記入力手段により削除が指定されたコンテンツを削除した後に空間が生じないようするための既存のコンテンツを移動させる方向および移動量を求め、
前記文書編集手段は、前記レイアウト計算手段により求められた既存のコンテンツを移動させる方向および移動量に基づき、前記既存のコンテンツを移動させてレイアウトを行うことを特徴とする請求項1に記載の文書編集装置。 - コンテンツのレイアウトを行う文書編集方法であって、
レイアウトの変更に関する指示及び新たにレイアウトするコンテンツの指定を行う入力工程と、
前記入力工程により指定されたコンテンツを前記入力工程により指定された位置にレイアウトするために必要な配置領域サイズを求め、当該配置領域サイズを確保するための既存のコンテンツを移動させる方向および移動量を求めるレイアウト計算工程と、
前記レイアウト計算工程により求められた方向および移動量に基づき既存のコンテンツを移動させ、前記入力工程により指定されたコンテンツを前記入力工程により指定された位置にレイアウトする文書編集工程と、
を備えていることを特徴とする文書編集方法。 - 前記レイアウト計算工程は、既存の配置領域を移動する移動方向と移動方向ごとの移動量を求め、
前記文書編集工程は、
前記レイアウト計算工程により算出された前記移動方向に前記移動量だけ既存の配置領域を移動させ、移動の前と移動の後との配置領域間で領域サイズを調整するために配置領域間の間隔がなくなった配置領域を関連付け、
既存のコンテンツの配置領域の移動後の空き領域に追加コンテンツが配置できない場合は、前記レイアウト計算工程により算出された移動量と、当該文書編集工程が移動させた既存のコンテンツ配置領域への移動量との差を均等に配分して縮小することを特徴とする請求項1に記載の文書編集方法。 - 前記入力工程は、削除するコンテンツの指定を行い、
前記レイアウト計算工程は、前記入力工程により削除が指定されたコンテンツを削除した後に空間が生じないようするための既存のコンテンツを移動させる方向および移動量を求め、
前記文書編集工程は、前記レイアウト計算工程により求められた既存のコンテンツを移動させる方向および移動量に基づき、前記既存のコンテンツを移動させてレイアウトを行うことを特徴とする請求項1に記載の文書編集方法。 - 請求項4〜6のいずれかひとつに記載の文書編集方法をコンピュータに実行させることを特徴とする文書編集プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009020078A JP2010176520A (ja) | 2009-01-30 | 2009-01-30 | 文書編集装置、文書編集方法、および文書編集プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009020078A JP2010176520A (ja) | 2009-01-30 | 2009-01-30 | 文書編集装置、文書編集方法、および文書編集プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010176520A true JP2010176520A (ja) | 2010-08-12 |
Family
ID=42707410
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009020078A Pending JP2010176520A (ja) | 2009-01-30 | 2009-01-30 | 文書編集装置、文書編集方法、および文書編集プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2010176520A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016119015A (ja) * | 2014-12-23 | 2016-06-30 | ブラザー工業株式会社 | 印刷データ作成プログラム及び印刷データ作成装置 |
JP2017159667A (ja) * | 2017-06-08 | 2017-09-14 | セイコーエプソン株式会社 | 印刷装置、テンプレート生成方法、及び、制御装置 |
JP2018092624A (ja) * | 2016-11-29 | 2018-06-14 | 三和化学株式会社 | レイアウト支援システム |
JP2019016353A (ja) * | 2017-06-29 | 2019-01-31 | セールスフォース ドット コム インコーポレイティッド | 自動レイアウトエンジン |
JP2019032826A (ja) * | 2017-06-29 | 2019-02-28 | セールスフォース ドット コム インコーポレイティッド | 様々な電子デバイスとのプレゼンテーションのコラボレーション |
-
2009
- 2009-01-30 JP JP2009020078A patent/JP2010176520A/ja active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016119015A (ja) * | 2014-12-23 | 2016-06-30 | ブラザー工業株式会社 | 印刷データ作成プログラム及び印刷データ作成装置 |
JP2018092624A (ja) * | 2016-11-29 | 2018-06-14 | 三和化学株式会社 | レイアウト支援システム |
JP2017159667A (ja) * | 2017-06-08 | 2017-09-14 | セイコーエプソン株式会社 | 印刷装置、テンプレート生成方法、及び、制御装置 |
JP2019016353A (ja) * | 2017-06-29 | 2019-01-31 | セールスフォース ドット コム インコーポレイティッド | 自動レイアウトエンジン |
JP2019032826A (ja) * | 2017-06-29 | 2019-02-28 | セールスフォース ドット コム インコーポレイティッド | 様々な電子デバイスとのプレゼンテーションのコラボレーション |
JP7114366B2 (ja) | 2017-06-29 | 2022-08-08 | セールスフォース ドット コム インコーポレイティッド | 様々な電子デバイスとのプレゼンテーションのコラボレーション |
JP7344632B2 (ja) | 2017-06-29 | 2023-09-14 | セールスフォース インコーポレイテッド | 自動レイアウトエンジン |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4760921B2 (ja) | 項目設定装置、並びにその制御方法及び制御プログラム | |
JP2008269554A (ja) | ソースコード生成装置 | |
JP2010176520A (ja) | 文書編集装置、文書編集方法、および文書編集プログラム | |
JP2008293361A (ja) | 画面表示システム、その制御方法、プログラム及び記録媒体 | |
JP2010165300A (ja) | 項目設定装置、並びにその制御方法及び制御プログラム | |
US10498917B2 (en) | Storage medium storing computer-readable instructions for selecting parameter set for process on scan data | |
JP2017011517A (ja) | 機器、情報処理システム、情報処理方法、及びプログラム | |
US10511728B2 (en) | Image processing device, non-transitory computer-readable recording medium containing instructions therefor, and information processing system | |
JP2005217655A (ja) | 画像処理装置及び方法、並びに、コンピュータプログラム及びコンピュータ可読記憶媒体 | |
JP2011048477A (ja) | フローチャート描画装置、フローチャート描画方法およびフローチャート描画プログラム | |
JP7329957B2 (ja) | 仮想オブジェクト表示装置、及びプログラム | |
JP2006195512A (ja) | 表示制御装置及び表示制御プログラム | |
JP2009216833A (ja) | 画像表示装置、画像送信サーバ、画像表示システム、画像表示方法、画像表示プログラム、および、記録媒体 | |
KR101948504B1 (ko) | 프로그래머블 표시기, 화면 표시 시스템, 및 프로그래머블 표시기의 제어 방법 | |
JP2013120505A (ja) | 情報処理装置 | |
JP4136188B2 (ja) | 図形編集装置および方法 | |
JP2001042991A (ja) | 情報処理装置、情報処理方法、及び情報処理プログラムを格納した記憶媒体 | |
JP7056094B2 (ja) | 表示制御装置及びプログラム | |
JP4718530B2 (ja) | 画面作成装置及び画面作成プログラム | |
JP2915879B2 (ja) | 文書処理装置及び方法 | |
JP3781923B2 (ja) | 線描画装置および線描画方法、ならびに線描画プログラムを記録したコンピュータ読み取り可能な記録媒体 | |
JP4670289B2 (ja) | 表示制御装置 | |
JP4989547B2 (ja) | 作図支援装置、作図支援方法、およびプログラム | |
JP2016071472A (ja) | 編集支援システム、方法およびプログラム | |
JP2015161957A (ja) | 画面管理システム |