以下、ページ処理装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態)
図1は、本実施の形態におけるページ処理装置1のブロック図である。
ページ処理装置1は、ページ情報格納部101、領域設定情報格納部102、配置用管理データ格納部103、配置指示受付部104、配置部105、および出力部106を備える。
ページ情報格納部101には、一または二以上のページ情報が格納される。ページ情報格納部101に格納される一または二以上のページ情報は、表配置領域が設定されたページを含む一または二以上のページのページ情報である。表配置領域については後述する。
ページ情報は、ページの情報である。ページとは、例えば、モニタ等に表示される電子書籍、電子雑誌、および電子ドキュメント等の少なくとも一以上を構成するページであってもよく、いわゆるWEBページ等の電子的なページであっても良く、紙等の物理的な媒体に印刷されるページであっても良い。ここで述べるページとは、情報を再度読み込むことなくスクロール等で出力可能な範囲を含むと考えても良く、情報を順次読み込みながら、スクロール等で出力可能な範囲を含むと考えてもよい。一のページ情報は、例えば、一のページを出力するための情報である。ここでの出力は、表示や印刷等も含む概念である。ページ情報は、例えば、HTML(HyperText Markup Language)や、XML(Extensible Markup Language)等で記述されたページの情報である。また、ページ情報が、これらの情報を構成する要素等の表示等を制御するためのいわゆるCSS(Cascading Style Sheet)等のスタイルシート等を含んでいると考えても良い。また、ページ情報は、電子ドキュメントを構成するページ情報であっても良い。また、ページ情報は、ワードプロセッサソフトウェア、及びDTPソフトウェア等が扱う一以上のページの情報であってもよい。
ページ情報は、例えば、出力するページのサイズ等を指定する情報を有していても良い。また、ページ情報は、出力するページのマージン等や、ヘッダやフッタ等の情報を有していても良い。また、ページ情報は、ページ番号等のページ識別子を有していても良い。また、ページ情報は、ページに配置される一以上のデータを有していても良い。この一以上のデータは、テキストデータであってもよく、画像データであってもよい。画像データは、静止画像のデータであってもよく、動画像のデータであってもよい。また、ページ情報は、ページに配置される一以上のデータに対するリンク情報等を有していても良い。この場合、ページに配置されるデータは、ページ情報が有していなくても良く、例えば、図示しない格納部に格納されているようにしても良い。ページに配置されるデータは、例えば、後述する配置用データである。配置用データについては後述する。ページ情報格納部101に格納されるページ情報が示すページには、予め一以上のデータが配置されていても良い。また、ページ情報は、ページに配置されるデータの位置の情報を有していても良く、データがページに配置される際の大きさ等の情報を有していても良く、データが配置される領域を示す情報を有していても良い。領域を示す情報は、例えば、領域の輪郭を示す情報である。領域の輪郭を示す情報は、例えば、矩形の領域の四隅の座標の情報である。また、ページに配置されるデータの属性値等を有していても良い。データの属性値は、例えば、テキストデータのフォント名や、フォントサイズ等の情報であっても良い。
ページ情報は、ページに配置される一以上の表の情報を有していても良い。この表は、ページ情報が示すページに設定された表配置領域に配置された表であってもよい。ここでの表は、例えば、出力用の表である。表は、データ等をマトリクス状に並べて配置したものと考えてもよい。表の情報は、ページに表を出力することが可能な情報であれば、どのような情報であっても良い。表の情報は、例えば、表の列数及び行数等を有する情報である。表の情報は、例えば、表の列の幅(即ち横方向の長さ)及び行の高さ(即ち縦方向の長さ)等を有していてもよい。また、表の情報は、表の罫線や背景色等の情報を有していても良い。表の情報は、表に配置されるデータを有していても良く、表に配置されるデータに対するリンク情報を有していても良い。表に配置されるデータは、テキストデータであってもよく、画像データであってもよい。また、表の情報は、表が配置される位置を指定する情報を有していても良く、表の高さ及び幅の少なくとも一方の情報を有していても良い。表の情報は、表の表示属性(例えば、表の背景色等の情報、表内に配置される文字のフォント名等の属性を示す情報の少なくとも一方等)の情報を有していても良い。ページに配置される表は、この表に配置されるデータに関する属性値と対応付けられていても良い。例えば、表の情報は、配置されるデータに関する属性値の情報を有していても良い。
なお、ページ情報、及びページに配置される表の情報等については、公知技術であるため、ここでは詳細な説明は省略する。
表配置領域とは、表が配置される領域である。表配置領域が設定されたページとは、例えば、表配置領域となる領域が指定されたページである。一のページ内の表配置領域は、位置が予め特定された領域であっても良く、同じページに配置されるデータ等に応じて位置が変更される(例えば位置がずれる)領域であってもよい。例えば、表配置領域は、同じページ内の表配置領域以外の領域に配置された一以上のデータの下方に配置される領域であっても良い。この場合、同じページ内に配置される一以上のデータの数等に応じて、表配置領域の位置が下方にずれることとなる。また、表配置領域の大きさは、予め決められた大きさであってもよく、表配置領域内に配置される表のサイズ及び表の数に応じて変動可能であっても良い。例えば、表配置領域に配置される表の行の増減に併せて表配置領域の高さが増減するようにしてもよい。また、表配置領域の大きさは、表配置領域内に配置される表以外のデータ等に応じて変動可能であっても良い。また、表配置領域は、例えば、表配置領域は、領域の開始位置等を示す位置、例えば、表配置領域の上辺等の一以上の辺の位置だけが指定された領域であってもよい。この場合、表配置領域は、例えば、指定された上辺より下の領域と考えてもよい。
表配置領域に配置される表は、表配置領域内に収まるよう配置される表であれば、表配置領域と同じ大きさでなくて良い。一の表配置領域には、一の表が配置されても良く、複数の表が配置されても良い。一のページには複数の表配置領域が設定されていても良い。表配置領域には、予め一以上の表が配置されていても良い。予め配置されている表は、表の列に対応付けられた項目名を有する表であって、レコード(行)を有していない表であってもよい。この項目名は属性名と考えてもよい。また、この表は、配置される関連データの属性値と対応付けられた表であってもよい。この表は、例えば、後述する関連データが配置される表である。また、表配置領域には、表以外の一以上のデータが予め配置されていてもよい。
一のページに設定される表配置領域は、領域設定情報により設定される。領域設定情報は表配置領域を設定する情報である。領域設定情報は、表配置領域を設定可能な情報であれば、どのような情報であってもよい。例えば、領域設定情報は、表配置領域の四隅の位置を指定する情報を有していても良く、表配置領域の位置(例えば、中心位置や、左上の位置)を指定する情報を有していても良く、表配置領域の一以上の辺の位置を指定する情報を有していてもよい。また、領域設定情報は、表配置領域の幅や高さを指定する情報を有していても良い。ここでの位置を指定する情報は、ページに対して設定された座標系における座標等の絶対的な位置を指定する情報であっても良く、ページに配置されたデータ等に対する相対的な位置を指定する情報(例えば、余白の距離を示す情報等)であっても良い。
領域設定情報は、例えば、この領域設定情報が設定する表配置領域が設定されるページのページ情報と対応付けられた情報である。領域設定情報と、ページ情報とがどのように対応付けられているかは問わない。本実施の形態においては、領域設定情報格納部102に格納されている領域設定情報が、この領域設定情報が設定する表配置領域が配置されるページの識別子(例えば、ページ番号等)を有している場合を例に挙げて説明する。なお、領域設定情報と、この領域設定情報が設定する表配置領域が配置されるページのページ識別子とを有する情報が、領域設定情報格納部102に格納されているようにしてもよい。また、一の領域設定情報により表配置領域が設定されるページ情報が、領域設定情報格納部102に格納されているこの一の領域設定情報に対するリンク情報等を有しているようにすることで、領域設定情報がページ情報と対応付けられていてもよい。なお、領域設定情報は、ページ情報の一部であってもよい。例えば、ページ情報が領域設定情報を有するようにしても良い。例えば、領域設定情報により表配置領域が設定されるページのページ情報が、この領域設定情報を有していても良い。また、ページに配置されるデータ等は、ページ情報の一部と考えてもよく、一部と考えないようにしてもよい。
本実施の形態においては、ページ情報格納部101に格納されるページ情報の少なくとも一部が、表配置領域が設定されたページのページ情報であればよく、例えば、全てのページ情報が表配置領域が設定されたページのページ情報であっても良く、一のページ情報だけが表配置領域が設定されたページのページ情報であっても良い。
ページ情報格納部101は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。かかることは、他の格納部についても同様である。
領域設定情報格納部102には、領域設定情報が格納される。領域設定情報格納部102には、例えば、表配置領域を設定するページ情報と対応付けられた領域設定情報が格納されている。表配置領域を設定するページ情報と対応付けられた領域設定情報が格納されているということは、例えば、表配置領域を設定する一または二以上のページのページ識別子を有する領域設定情報が格納されることであってもよく、領域設定情報格納部102に、領域設定情報と、この領域設定情報が表配置領域を設定するページ情報のページ識別子と、を有する一または二以上の情報が格納されていることであってもよい。なお、ページ情報が、このページ情報が示すページに表配置領域を設定するための領域設定情報に対するリンク情報を有しており、この領域設定情報が領域設定情報格納部102に格納されている場合も、表配置領域を設定するページ情報と対応付けられた領域設定情報が領域設定情報格納部102に格納されていると考えてもよい。このリンク情報は、領域設定情報の識別子であってもよく、領域設定情報により設定される表配置領域の識別子であってもよい。以下、本実施の形態においては、領域設定情報が、表配置領域を設定するページ識別子を有する場合を例に挙げて説明する。なお、ページ情報が領域設定情報を有している場合(例えば、ページ情報が、このページ情報が示すページに設定される表配置領域の領域設定情報を有している場合等)においては、領域設定情報格納部102は省略してもよい。
なお、領域設定情報格納部102に格納される各領域設定情報は、それぞれの領域設定情報が設定する領域に配置される表に対応する配置用データが配置される一以上のページの識別子である対象ページ識別子とさらに対応付けられているようにしてもよい。一の対象ページ識別子と対応付けられた領域設定情報は、この一の対象ページ識別子が示すページに、配置用データが配置された場合に、この配置用データに対応する関連データが配置されたレコードを有する表が配置される表配置領域を設定する領域設定情報である。配置用データ及び関連データについては後述する。なお、一以上のページ情報に、このページ情報が示すページに配置用データが配置された場合に、この配置用データに関する関連データが配置されたレコードを有する表が配置される表配置領域を設定する領域設定情報へのリンク情報を有していてもよい。例えば、このリンク情報を有するページに、配置用情報が配置された場合、このリンク情報が示す領域設定情報により設定される表配置領域に関連データが配置されたレコードを有する表が後述する配置部105により配置されるようにしてもよい。このリンク情報は、領域設定情報の識別子であってもよく、領域設定情報により設定される表配置領域の識別子であってもよい。
配置用管理データ格納部103には、一または二以上の配置用管理データが格納される。配置用管理データは、配置用データと、この配置用データに関する一以上のデータである関連データとを有する情報である。一の配置用管理データは、複数の異なる関連データを有していても良い。また、一の配置管理データが有する関連データは、関連データの項目を示す情報(例えば、項目名)と対応付けられていてもよい。項目は、関連データの種類や分類、属性等と考えてもよい。一の配置用管理データは、一以上の関連データと、この一以上の関連データのそれぞれに対応する項目を示す情報とを対応付けて有していても良い。
配置用データは、ページ情報が示すページに配置されるデータである。ここでの配置は、配置用データを配置するためのリンク情報を、ページに対して設定することも含む概念である。配置用データは、例えば、画像データであってもよく、テキストデータであってもよく、データの種類は問わない。また、画像データは、動画像であってもよく、静止画像であってもよい。関連データは、配置用データに関するデータである。配置用データに関するデータは、配置用データが示すものに関するデータであってもよい。例えば、配置用データが、商品の画像データである場合、関連データは、商品名であってもよく、商品の価格であってもよく、商品の仕様等の情報であってもよい。また、例えば、配置用データが、書籍の画像データである場合、関連データは、書籍のタイトルであってもよく、書籍の著者名であってもよく、出版社名であってもよく、書籍の内容の一部の抜粋等であってもよい。
また、配置用管理データは、配置用管理データが有する配置用データに関する一以上の属性値を更に有していてもよい。配置用データに関する属性値は、例えば、配置用データが示すものについての属性値であってもよい。例えば、配置用データに関する属性値は、配置用データが示すものの分類を示す情報であってもよく、種類を示す情報であってもよく、カテゴリーを示す情報であってもよい。例えば、配置用データに関する属性値は、配置用データが示す商品の分類を示す情報であってもよい。
配置指示受付部104は、ページ情報が示すページに、配置用管理データ格納部103に格納された配置用データを配置する指示である配置指示を受け付ける。例えば、ユーザから、キーボードやマウス、タッチパネルなどの入力デバイスを介して、配置用管理データ格納部103に格納された一以上の配置用データを、一のページ情報が示すページに配置する操作を受け付けた場合に、配置指示受付部104は、この一以上の配置用データをページに配置する配置指示を受け付ける。配置指示は、例えば、配置対象となる配置用データを示す情報を有する情報である。配置用データを示す情報は、例えば、配置用データの識別子である。配置指示は、更に、配置用データを配置するページ上の位置を指定する情報(例えば、座標等の位置情報)を有していても良い。例えば、ユーザが、マウス等を操作して、モニタ等に表示されている一の配置用データを、一のページ上に、いわゆるドラッグアンドドロップする操作を行なった場合に、この配置用データを示す情報を配置対象を示す情報として有し、かつ、このドロップした位置の位置情報を、配置する位置を指定する情報として有する配置指示を受け付ける。なお、配置指示受付部104は、一度に複数の配置用データの配置指示を受け付けても良い。
ここでの、受け付けとは、キーボードやマウス、タッチパネルなどの入力デバイスから入力された情報の受け付けなどを含む概念である。入力手段は、キーボードやマウスやタッチパネルやメニュー画面によるもの等、何でも良い。配置指示受付部104は、キーボードやタッチパネル等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
配置部105は、配置指示が示す配置用データを、ページ情報が示す一のページに配置し、かつ、配置用管理データによりこの配置された配置用データに対応付けられた関連データを配置したレコードが追加された表を、表配置領域内に配置する。配置部105は、例えば、配置指示が示す配置用データを、この配置指示を受け付けた一のページに配置する。配置部105は、例えば、配置指示が示す配置用データを、一のページの、表配置領域以外の領域に配置する。配置する場所は、任意の場所であってもよく、現在配置されている他の全ての配置用データの下方等に位置する場所であってもよい。また、配置指示が、配置用データを配置するページ上の位置を指定する情報を有する場合、この位置を指定する情報が示す位置に、配置用データを配置してもよい。配置用データを一のページに配置することは、例えば、配置用データを、一のページに埋め込むことである。例えば、配置用データを一のページに配置することは、配置用データを、一のページの配置指示が指定する位置に埋め込むことである。ページに一の配置用データを埋め込むことは、例えば、ページ情報が埋め込まれた配置用データを有するようにするとともに、この配置用データが配置される位置を示す情報等をページ情報に設定することである。ページ情報に設定するということは、ページ情報に、このような情報を付加することと考えてもよい。なお、ページ情報に配置用データを埋め込む代わりに、ページ情報に、配置用データに対するリンク情報を設定するようにしてもよい。
配置部105は、例えば、配置指示が示す配置用データに対応付けられた関連データを、配置用管理データ格納部103から取得し、取得した関連データを配置したレコードが追加された表を、表配置領域に配置する。配置部105は、例えば、このようにして表にレコードを自動的に追記する。配置部105は、例えば、既に、表配置領域に表が配置されている場合、ページに配置された配置用データに対応付けられた一以上の関連データを配置したレコードを、この表に追加する。予め配置されている表は、例えば、各列の幅や、各行の高さ等が予め決められた表であってもよく、各列の幅や各行の高さは、配置される関連データ等に応じて増減するようにしてもよい。ここでのレコードが追加された表を配置するということは、結果的に、レコードが追加された表が配置されることであればよい。例えば、レコードを追加した表を作成し、この表で、レコードを追加する前の表を更新すること(例えば、置き換えることや、上書きすること等)を、レコードが追加された表を配置することと考えてもよい。また、例えば、上記のように、表配置領域に配置されている表にレコードだけを追加してもよい。レコードを追加することは、例えば、表の行等を追加することと考えてもよい。
予め表配置領域に表が配置されている場合、この表の一以上の列と、この表に配置される一の配置用データに対応付けられた一以上の関連データとは、予め対応付けられていてもよい。そして、各関連データを、追加するレコードの、それぞれが対応付けられた各列に配置するようにしてもよい。ここでの予め配置されている表は、レコードを有する表であってもよく、上述したようなレコードを有さない表であってもよい。この場合、配置部105は、この対応付けに応じて、各関連データを配置されている表の新たなレコードの各列のデータとして配置してもよい。列が、関連データと対応付けられているということは、列の項目名と、関連データの項目名等とが対応付けられていることであってもよい。例えば、表の各列の項目名と、この表に配置される関連データの項目名等とが、予め対応付けられていてもよい。また、表の一以上の項目名と、この表に配置される一以上の関連データの項目名等とを、予め一致させておき、列の項目名と一致する項目名と対応付けられた関連データを、この列に対応付けられた関連データと考えるようにしてもよい。また、表の列の配列順と、配置用管理データが有する関連データの配列順とを対応付けておくようにしてもよい。
なお、予め表配置領域に表を配置しておく代わりに、予め表配置領域に、どのような項目名を有する表が配置されるか、予め決められているようにしてもよく、かかる場合も、上記の予め表配置領域に表が配置されている場合と同様に、配置部105は、この表に、新たなレコードを追加した表を配置するようにしてもよい。この場合の予め決められた表は、予め表配置領域に配置されいる表と同様の表であってもよい。配置される表の各列の幅や、各行の高さ等が予め決められていてもよい。このような幅や高さの情報は、例えば、図示しない格納部等に予め格納されているようにすればよい。
また、配置部105は、例えば、表配置領域に表が配置されていない場合、ページに配置された配置用データに対応付けられた一以上の関連データを配置したレコードを有する表を作成して、表配置領域に配置する。作成する表の項目名等は、例えば、各関連データ等と対応付けられた項目名等を取得するようにすればよい。表を作成する際は、例えば、一の関連データが配置されるセルの幅は、この関連データに含まれる文字列や画像のデータ、または関連データに対応する項目名の文字列等、に応じて設定された幅(例えば、配置用データ等の幅方向に予め指定されたマージン等を付加した幅)であってもよく、予め決められた幅であってもよい。表の高さについても同様である。また、作成される表の幅は、表に配置される属性数(例えば、関連データの種類数等)に応じて増減してもよい。また、このようにして作成されて配置された表に、関連データを配置したレコードを追加する際には、各関連データを、各関連データに予め対応付けられた表の各列に配置するようにすればよい。例えば、表に関連データを配置したレコードを追加する際には、上記と同様に、各関連データを、各関連データに対応する項目名と一致する項目名の列に配置するようにしてもよい。また、一の配置用データに対応する一以上の関連データを、配列順等の予め決められた順番に沿って、表の各列に配置(例えば、左側の列から右側の列に向かって配置等)するようにしてもよい。
なお、配置部105は、配置用データに対応付けられた一以上の関連データの全てを配置したレコードを追加した表を配置してもよく、関連データの一部(全てを除く)を配置したレコードを追加した表を配置してもよい。例えば、配置する一部の関連データを指定する情報であるフラグ情報を、各関連データと対応付けて、配置用管理データ格納部103に予め格納しておくようにしてもよい。また、配置する一部の関連データを指定する情報、例えば、一以上の関連データの項目名や属性名等の情報を、配置用管理データ格納部103等に予め格納しておくようにしてもよい。例えば、また、配置部105は、関連データに加えて、更に、上述した配置用データに関する属性値を有するレコードを追加した表を配置してもよい。
配置部105は、例えば、配置用データに対応付けられた関連データを配置したレコードが追加された表を、この配置用データが配置されたページに対応する表配置領域に配置する。配置用データが配置されたページに対応する表配置領域とは、例えば、配置用データが配置されたページと同じページに設定された表配置領域であってもよく、配置用データが配置されたページと対応付けられた一または二以上の表配置領域であってもよい。
例えば、配置部105は、表配置領域が設定されたページに配置用データが配置された場合に、配置用データに対応付けられた関連データを配置したレコードを有する表を、配置用データが配置されたページの表配置領域に配置するようにしてもよい。
また、配置部105は、表配置領域が設定されたページ以外のページ等の、一以上のページに配置用データが配置された場合に、配置用データに対応付けられた関連データを配置したレコードを有する表を、表配置領域が設定されたページのうちの一または二以上のページの表配置領域に配置するようにしてもよい。例えば、表配置領域が設定されたページ以外の一以上のページに配置用データが配置された場合に、配置用データに対応付けられた関連データを配置したレコードを有する表を、表配置領域が設定されたページのうちの、配置用データが配置されたページに対して配列順番が後となる最も近いページの表配置領域に配置するようにしてもよい。
また、例えば、配置用データが配置される一以上のページと、この一以上のページのいずれか一つに配置された配置用データに関する関連データを配置したレコードを追加した表を配置する表配置領域を設定する領域設定情報とを、対応付ける対応情報を、図示しない格納部、あるいは、領域設定情報格納部102等に予め蓄積しておくようにして、一のページに配置用データが配置された場合に、上記の対応情報によって、このページと対応付けられた領域設定情報により設定される表配置領域に、この配置された配置用データに対応する関連データを配置したレコードを追加した表を配置するようにしてもよい。配置用データが配置される一以上のページと領域設定情報とを対応付ける情報は、例えば、ページ識別子と、領域設定情報の識別子とを有する情報である。領域設定情報の識別子の代わりに表配置領域の識別子等を用いてもよい。
あるいは、領域設定情報格納部102に格納される一以上の領域設定情報が、それぞれ、配置用データが配置される一以上のページの識別子である対象ページ識別子と対応付けられているようにし、配置用データが配置されたページの識別子が、一の領域設定情報と対応付けられた対象ページ識別子と一致する場合に、この一致する対象ページ識別子が対応付けられた一の領域設定情報により設定される一または二以上の表配置領域に、配置された配置用データに対応する関連データを配置したレコードを追加した表を配置するようにしてもよい。
配置部105は、例えば、表配置領域に、表配置領域に応じた表を配置するようにしてもよい。配置部105は、例えば、表配置領域に、表配置領域の高さと幅との少なくとも一方に応じた表を配置する。表配置領域の高さは、表配置領域の縦方向の長さと考えてもよい。また、表配置領域の幅は、表配置領域の横方向の長さと考えてもよい。
例えば、配置部105は、表配置領域に配置されるレコードが追加された表の高さが、表配置領域の高さよりも大きくなる場合に、追加するレコードを配置した表を、レコードを追加する前の表の横に配置するようにしてもよい。例えば、レコードを追加した表の高さが、表配置領域の高さよりも大きい場合、追加するレコードだけを新たに配置した表を、レコードを追加する前の表の横に配置するようにしてもよい。この際、項目名等は、隣の表と同じものを用いるようにしてよい。なお、追加するレコードを配置した表が、ページからはみ出す場合も、同様に、レコードを追加する前の表の横に配置するようにしてもよい。
配置部105は、表配置領域に配置される表の幅が、表配置領域の幅よりも大きくなる場合に、配置される表の、表配置領域からはみ出す一以上の列を、表配置領域からはみださない一以上の列の上または下に配置するようにしてもよい。例えば、作成する表の幅が、表配置領域の幅よりも大きい場合、表配置領域からはみ出すこととなる列の情報を切り出して、表配置領域からはみださない一以上の列で構成される表の一部の上または下に配置するようにしてもよい。なお、追加するレコードを配置した表が、ページからはみ出す場合も、配置される表の、表配置領域からはみ出す一以上の列を、表配置領域からはみださない一以上の列の上または下に配置するようにしてもよい。
配置部105は、配置指示により配置された配置用データに関する属性値と同じ属性と対応付けられた表に、この配置用データに対応付けられた関連データを配置したレコードを追加した表を配置するようにしてもよい。また、配置部105は、配置指示により配置された配置用データに対応付けられた関連データを配置したレコードを有する表であって、配置用データに関する属性値に応じて異なる表を配置するようにしてもよい。属性値に応じて異なる表を配置するとは、結果的に属性に応じて異なる表が配置されることであればよい。例えば、配置用データがページに配置された場合に、配置部105は、この配置用データに関する関連データを配置する表配置領域に、この配置用データと対応付けられた属性値と同じ属性値が対応付けられた表が配置されているか否かを判断し、同じ属性値が対応付けられた表が配置されている場合、この表に対して、配置された配置用データに対応付けられた関連データを有するレコードを追加した表を配置する。ここでの表配置領域に配置されている表は、上述したようなユーザ等により作成されたレコードを有さない表であってもよい。また、同じ属性値が対応付けられた表が配置されていない場合、配置された配置用データに関連する関連データを配置したレコードを有する表であって、この配置用データと対応付けられた属性値と対応付けられた表を作成して表配置領域に配置する。なお、表と属性値とをどのように対応付けてもよい。例えば、表のタイトル等に属性値を配置するようにしてもよく、表の情報に非表示となるよう属性値を配置してもよい。また、対応付けを管理する情報等を設けてもよい。また、表の一の属性名(例えば、表の一の列の項目名)が表に対応付けられた属性値であってもよい。
なお、表配置領域に表が一つも配置されていない場合、表配置領域に、配置用データと対応付けられた属性値と同じ属性値が対応付けられた表が配置されているか否かを判断しなくてもよい。また、ここでの属性値は、二以上の属性値の組合わせ等であってもよい。
配置部105は、例えば、配置用データ及び表等の少なくとも一方をページに配置する際に、これらがページに配置されるよう、これらが配置されるページのページ情報を更新する。例えば、配置部105は、配置用データおよび表等の少なくとも一方が配置されたページのページ情報に、配置された配置用データおよび表の情報等の少なくとも一方を埋め込んでもよく、ページ情報に、配置されたこれらの情報の位置を示す情報等を追記してもよい。また、配置部105は、ページ情報に、配置された配置用データへのリンク情報等を追記してもよい。また、配置部105は、例えば、ページに配置されている表にレコードが追加された場合に、このページ情報の、レコードが追加された表の情報を更新してもよい。
なお、配置部105は、ページに配置した表の情報を図示しない格納部等に格納して管理し、ページにはこの表の情報に対するリンク情報等を配置するようにしてもよい。
また、配置部105は、図示しない受付部等が、ページに配置された配置用データ、表、および表配置領域の少なくとも一つに対して変更を行なう指示等を受け付けた場合に、この指示に応じて、配置用データ、表、および表配置領域の少なくとも一つに対して、指示に応じた変更を行なうようにしてもよい。例えば、図示しない受付部等が、ページに配置された配置用データの配置を変更する指示、表の配置を変更する指示、または表配置領域の配置を変更する指示等を受け付けた場合に、配置部105は、この指示に応じて、配置用データ、表、または表配置領域の配置等を変更してもよい。配置部105は、例えば、この変更に応じて、ページ情報を更新する。例えば、配置部105は、この変更に応じて、ページ情報が有する配置用データ、表、または表配置領域の配置等を示す情報を更新する。
出力部106は、配置用データ及び表の少なくとも一方が配置された一または二以上のページ情報を出力する。例えば、出力部106は、図示しない受付部等が受け付けたユーザ等の指示に応じて、配置用データ及び表の少なくとも一方が配置された一以上のページ情報を出力する。なお、出力部106は、配置用データ及び表の少なくとも一方が配置されていない一以上のページ情報を出力してもよい。なお、配置用データ等が、リンク情報等によって、ページ情報が示すページに配置されている場合、出力部106は、この配置用データ等を埋め込んだページのページ情報を出力しても良い。
ここでの出力とは、モニタ等への表示、プロジェクターを用いた投影、印刷、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。なお、ここでの印刷は、プリンタ等による印刷であってもよく、電子ドキュメント等の印刷等であってもよい。
出力部106は、モニタやプリンタ等の出力デバイスを含むと考えても含まないと考えても良い。出力部106は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
次に、ページ処理装置1の動作の一例について図2のフローチャートを用いて説明する。
(ステップS101)配置指示受付部104は、配置用管理データ格納部103に格納されている一の配置用データのページに対する配置指示を受け付けたか否かを判断する。例えば、ページ処理装置1は、図示しない受付部等を介してユーザから受け付けた指示等に応じて、図示しないモニタ等に一以上のページを表示し、表示しているページに対して、配置用データを配置する配置指示を受け付ける。配置指示を受け付けた場合、ステップS102に進み、受け付けていない場合、ステップS117に進む。
(ステップS102)配置部105は、ステップS101で受け付けた配置指示に応じて、配置用データをページに配置する。
(ステップS103)配置部105は、ステップS102で配置用データを配置したページのページ識別子(例えば、ページ番号等)を取得する。
(ステップS104)配置部105は、ステップS103で取得したページ識別子と一致する対象ページ識別子と対応付けられた領域設定情報があるか否かを判断する。例えば、領域設定情報格納部102に格納される一以上の領域設定情報が、それぞれ、配置用データが配置される一以上のページの識別子である対象ページ識別子と対応付けられているようにし、ステップS103で取得した配置用データが配置されたページの識別子が、一の領域設定情報と対応付けられた対象ページ識別子と一致する場合に、対応付けられた領域設定情報があると判断する。領域設定情報がある場合、領域設定情報を取得してステップS105に進み、ない場合、ステップS101に戻る。
(ステップS105)配置部105は、ステップS102で配置した配置用データに対応する関連データと属性値とを配置用管理データ格納部103から取得する。
(ステップS106)配置部105は、ステップS104で取得した領域設定情報により設定された表配置領域に、一以上の表が配置されているか否かを判断する。配置されている場合、ステップS107に進み、配置されていない場合、ステップS110に進む。
(ステップS107)配置部105は、ステップS105で取得した属性値と同じ属性値と対応付けられた表が、表配置領域に配置されているか否かを判断する。配置されている場合、ステップS108に進み、配置されていない場合、ステップS113に進む。
(ステップS108)配置部105は、ステップS105で取得した属性値と同じ属性値と対応付けられた表に、ステップS105で取得した関連データが配置されたレコードを追加した表のページの高さが、表配置領域に収まる長さか否かを判断する。例えば、配置部105は、表のページの高さと、表配置領域の高さとを比較し、表配置領域の高さが、表の高さ以上である場合、収まると判断し、高さ未満である場合、収まらないと判断する。なお、追加される表のレコードの高さや、文字等の属性等は、デフォルト等で指定されていてもよく、配置される配置用データ等に応じて決定されてもよい。。配置部105は、レコードを追加した表を作成して、上記の判断を行なっても良く、レコードを追加した表を作成する前に、この表の高さを、現在配置されている表の高さと、追加される行の高さ等を用いて算出して上記の判断を行なっても良い。収まる場合、ステップS109に進み、収まらない場合、ステップS116に進む。
(ステップS109)配置部105は、関連データが配置されたレコードを追加した表を、ステップS104で取得した領域設定情報により設定される表配置領域に配置する。ここでの表の配置は、既に配置されている表に対する関連データが配置されたレコードの追加であってもよい。そして、ステップS101に戻る
(ステップS110)配置部105は、ステップS105で取得した関連データが配置されたレコードを有する新たに作成される表であって、ステップS105で取得した属性値と対応付けられた表の幅が、ステップS104で取得した領域設定情報により設定される表配置領域に収まる長さか否かを判断する。例えば、配置部105は、新たに作成される表の幅と、表配置領域の幅とを比較し、表配置領域の幅が、表の幅以上である場合、収まると判断し、幅未満である場合、収まらないと判断する。なお、追加される新たな表のレコードの高さや、レコードを構成する個々の関連データが配置される領域(例えばセル等)の幅は、例えば、配置される関連データに応じて決定されてもよく、デフォルト等で予め決められていてもよい。また、配置される文字等の属性等は、例えば、デフォルト等で指定されていてもよい。配置部105は、レコードを追加した表を作成して、上記の判断を行なっても良く、新たな表を作成する前に、この表の幅を、レコードを構成する各セルに配置される関連データの数や、文字数等から算出して上記の判断を行なっても良い。収まる場合、ステップS111に進み、収まらない場合、ステップS112に進む。
(ステップS111)配置部105は、関連データが配置されたレコードを有する表であって、ステップS105で取得した属性値と対応付けられた新たな表を作成し、ステップS104で取得した領域設定情報により設定される表配置領域に配置する。そして、ステップS101に戻る。
(ステップS112)配置部105は、関連データが配置されたレコードを有する表であって、ステップS105で取得した属性値と対応付けられた新たな表の、ステップS105で取得した領域設定情報により設定される表配置領域からはみ出す一以上の列を、表配置領域の幅と、表の各列の幅等とを用いて検出する。そして、検出されたはみ出す列を、他のはみ出さない1以上の列の下方に配置した表を作成し、ステップS104で取得した領域設定情報により設定される表配置領域に配置する。そして、ステップS101に戻る。
(ステップS113)配置部105は、ステップS105で取得した関連データが配置されたレコードを有する新たに作成される表であって、ステップS105で取得した属性値と対応付けられた表の幅が、ステップS105で取得した領域設定情報により設定される表配置領域に収まる幅か否かを判断する。なお、ここでは、新たに作成される表は、既に配置されている表の下側に配置されることがデフォルト等で予め指定されていてもよい。この処理は、例えば、ステップS110の処理と同様に行なわれる。
(ステップS114)配置部105は、関連データが配置されたレコードを有する表であって、ステップS105で取得した属性値と対応付けられた新たな表を作成し、ステップS104で取得した領域設定情報により設定される表配置領域の、既に配置されている他の表の下方に配置する。そして、ステップS101に戻る
(ステップS115)配置部105は、関連データが配置されたレコードを有する表であって、ステップS105で取得した属性値と対応付けられた新たな表の、ステップS104で取得した領域設定情報により設定される表配置領域からはみ出す一以上の列を、他のはみ出さない1以上の列の下方に配置した表を作成し、ステップS104で取得した領域設定情報により設定される表配置領域に配置する。そして、ステップS101に戻る。
(ステップS116)配置部105は、ステップS105で取得した関連データが配置されたレコードを有する新たに作成される表であって、ステップS105で取得した属性値と対応付けられた表を、表配置領域に既に配置されている表の横に配置する。好ましくは、新たに作成した表を、同じ属性値と対応付けられた既存の表の横に並べて配置する。そして、ステップS101に戻る。
なお、図2のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
以下、本実施の形態におけるページ処理装置1の具体的な動作について説明する。個々では、複数ページの製品カタログを作成する場合を例に挙げて説明する。
(具体例1)
図3は、ページ情報格納部101に格納されているページ情報を管理するページ情報管理表である。ページ情報管理表は、「ページID」と「ページ情報」という項目を有している。「ページID」は、ページの識別子であり、ここでは一例としてページ番号であるとする。また、「ページ情報」は、ページ情報であるとする。ここでのページ情報は、どのようなページ情報であってもよい。例えば、ページ情報は、複数のデータの集合であってもよい。例えば、ページ情報は、例えば、いわゆるマークアップ言語等で記述されたページの情報と、CSSファイル等のスタイルファイルと、ページに配置される画像データとの組を有するものであってもよい。なお、ここでは、ページ情報が示す各ページには、ページ番号を示す文字列、例えば、「<1>」等が予め配置されているものとする。
図4は、領域設定情報格納部102に格納されている領域設定情報を管理する領域設定情報管理表である。領域設定情報管理表は、「領域設定情報」と、「対象ページID」という項目を有している。「領域設定情報」は、更に「ページID」と「領域」という項目を有している。「領域設定情報」は領域設定情報である。「ページID」は表配置領域が設定されるページ識別子であり、ここでは一例としてページ番号であるとする。「領域」は、表配置領域の輪郭を指定する情報であり、ここでは、矩形の表配置領域の四隅の座標であるとする。ここでの座標は、ページ内における座標であるとする。なお、(x1,y1)等は、任意の座標値であるとする。
図5は、配置用管理データ格納部103に格納されている配置用管理データを管理する配置用管理データ管理表である。配置用管理データ管理表は、「ID」、「データ」、「製品名」、「仕様」、「価格」、「分類」という項目を有しているものとする。「ID」は、配置用管理データの識別子である。「データ」は、配置用データであり、ここでは製品の画像データであるとする。なお、ここでは、説明の便宜上、画像データのファイル名を示している。「製品名」は、製品名である。「仕様」は、製品についての仕様のデータであり、ここではテキストデータであるとする。「価格」は製品の価格、「分類」は、製品の分類であり、製品の種類と考えてもよい。配置管理データ管理表の各レコード(行)は、各配置管理データを示し、「データ」は、配置用データであり、「製品名」、「仕様」、及び「価格」は、関連データであり、「分類」は、属性であるとする。
ユーザが、例えば、図示しない入力デバイス等を操作して、「ページID」が「1」であるページを、図示しないモニタに表示させる指示をページ処理装置1の図示しない受付部に与えたとすると、図示しない表示部が、図3に示したページ情報管理表において、「ページID」が「1」であるレコードから「ページ情報」の値であるページ情報を読み出して、図示しないモニタ等に、このページ情報が示すページを表示する。ここでは、このページは、配置用データ等が配置されていないページであるとする。
図6は、モニタ等に表示されている「ページID」が「1」であるページ50を示す図(図6(a))、及びこのページに配置用データを配置した状態を示す図(図6(b))である。なお、ここでは、説明の便宜上、モニタや、操作を受け付けるためのメニュー画面等は図示せず、表示されているページの全体を示している。かかることは、以下の表示例についても同様である。
次に、ユーザが、図示しない入力デバイス等を介して、図5に示した配置用管理データ格納部103に格納されている「ID」が「001」であるレコードの配置用データ「001.jpg」を、図6に示したページの所望の位置に配置するための操作(例えば、ドラッグアンドドロップ等)を行なったとすると、配置指示受付部104は、この配置用データ「001.jpg」を「ページID」が「1」であるページの所望の位置に配置する指示を受け付ける。
配置指示に応じて、配置部105は、図6(b)に示すように、配置用データ「001.jpg」を「ページID」が「1」であるページの所望の位置に配置する。画像60は、ページ50に配置された配置用データ「001.jpg」が示す画像である。
また、配置部105は、画像60が配置されたページ50のページ識別子「1」を取得し、図4に示した領域設定情報管理表から、「対象ページID」の値の一つが、取得したページ識別子「1」と一致するレコードがあるか否かを判断する。ここでは、一致するレコードがあるため、このレコードの「領域設定情報」を構成する二つの項目「ページID」の値である「5」と「領域」の値である「(x1,y1)、(x2,y1)、(x1,y2)、(x2,y2)」とを読み出す。
更に、配置部105は、配置用データ「001.jpg」に対応付けられた関連情報及び属性値を、図5に示した配置管理データ管理表から読み出す。具体的には、「データ」が「001.jpg」であるレコードの「製品名」、「仕様」、及び「価格」の値である関連データと、各値に対応する項目名である「製品名」、「仕様」、及び「価格」という文字列と、同レコードの「分類」の値と、その項目名である「分類」という文字列とを取得する。
配置部105は、読み出した「ページID」と「領域」との値が示す表配置領域、具体的には、「ページID」が示すページ識別子が示すページの、「領域」が示す領域内に一以上の表が配置されているか否かを判断する。ここでは、「ページID」の値が「5」である
ページの「領域」の値「(x1,y1)、(x2,y1)、(x1,y2)、(x2,y2)」で定義される表配置領域に、既に表が配置されているか否かを、ページ情報管理表の「ID」が「5」であるレコードの「ページ情報」の値から判断する。
ここでは、配置されていないと判断したとすると、配置部105は、上記で取得した関連データを配置して作成される新たな表の幅を算出し、算出した幅が、上記の領域設定情報の「領域」の値が示す表配置領域の長さ以下であるか否かを判断する。表の幅は、例えば、表の各列の幅の合計である。表の各列は、例えば、各列に配置される関連データの幅(例えば文字列または画像データの幅)、または各列の項目名の文字列に、この幅に予め決められたマージン等を加算した幅である。ただし、各列の幅は、上限等が予め決められていてもよい。なお、上限の幅を超えた列に配置されるテキストデータ等の配置用データは、この列のセル内に折りかえして配置されるようにしてもよい。ここでは、長さ以下であったとすると、配置部105は、新たに配置される表の幅が、表配置領域に収まると判断する。このため、上記で取得した関連データを、関連データの各項目と対応付けて配置したレコードを有する新たな表を作成し、上記で取得した「分類」の値である属性値「テレビ」と対応付けて、上記で取得した領域設定情報が示す「ページID」が「5」であるページ情報の、「領域」の値である「(x1,y1)、(x2,y1)、(x1,y2)、(x2,y2)」が示す表配置領域に、作成した表を配置する。なお、表は、例えば、デフォルトで指定された配置ルール等に沿って表配置領域に配置される。例えば、ここでは、表配置領域の上に、左寄せで配置される。また、既に他の表が表配置領域に配置されている場合、その表の下に、予め指定された距離だけ隔てて、右寄せで配置されるものとする。なお、表の左上には、上記で取得した属性値を示す文字列である「テレビ」が配置されるものとする。
図7は、このようにして、ページ50に配置された配置用データに対応する関連データが配置されたレコードを有する表70が配置された「ページID」が「5」であるページ51の表示例を示す図(図7(a))、及び、更にレコードが追加された場合の表示例(図7(b))である。図7(a)に示すように、「ページID」が「5」である領域設定情報によりページ51に設定された表配置領域71に、新たな表70が配置される。
ここで、同様に、図6(b)に示した状態のページ50に、新たに、図5に示した配置用管理データ管理表の「ID」が「002」であるレコードの配置用データ「002.jpg」を配置する配置指示を、配置指示受付部104が受け付けたとする。
配置指示に応じて、配置部105は、図6(b)に示した場合と同様に、配置用データ「002.jpg」を「ページID」が「1」であるページの所望の位置に配置する。
また、配置部105は、画像60が配置されたページ50のページ識別子「1」を取得し、図4に示した領域設定情報管理表から、「対象ページID」の値の一つが、上記で取得したページ識別子「1」と一致するレコードがあるか否かを判断する。ここでは、一致するレコードがあるため、このレコードの「領域設定情報」を構成する二つの項目「ページID」の値である「5」と、「領域」の値である「(x1,y1)、(x2,y1)、(x1,y2)、(x2,y2)」とを読み出す。
更に、配置部105は、配置用データ「002.jpg」に対応付けられた関連情報及び属性値を、図5に示した配置管理データ管理表から読み出す。取得した属性値は、上記と同様に「テレビ」であったとする。
配置部105は、読み出した「ページID」と「領域」との値が示す表配置領域、具体的には、「ページID」が示すページ識別子が示すページ51の、「領域」が示す表配置領域71内に一以上の表が配置されているか否かを判断する。
ここでは、図7(a)に示したように、既に一以上の表が配置されていると判断したとすると、配置部105は、この表の中に、今回取得した属性値「テレビ」と一致する属性値と対応付けられた表があるか否かを判断する。ここでは、上記の表70と対応付けられた属性値(例えば、表の左上に配置された属性値)が一致すると判断されたとする。
このため、配置部105は、上記で取得した関連データを配置したレコードを、既に配置されている表に追加した場合の表の高さを算出し、この表の高さが、表配置領域71に収まるか否かを判断する。具体的には、この表の高さが、表配置領域71の高さ以下であるか否かを判断する。表の高さは、例えば、表の各行の高さと、表の各列の項目名等が配置される表頭部分の高さとの合計である。表の各行の高さは、例えば、各行に配置される関連データの高さ(例えば文字列または画像データの高さ)、に、予め決められたマージン等を加算した高さである。ただし、各行の高さは、上限等が予め決められていてもよい。かかることは、表頭部分(例えば、項目名が配置される部分)の高さについても同様である。なお、ここでの表の高さは、表の直上に配置された属性値も含めた長さとする。ここでは、高さが、表配置領域71の高さ以下であり、表配置領域71に収まると判断されたとすると、配置部105は、このレコードを新たに追加した表70で、直前にページ51に配置されていた表70を更新する。これにより、ページ51の表配置領域71に配置された表70は、図7(b)に示すようになる。
(具体例2)
図8は、具体例2を説明するための、ページ50に配置された配置用データに対応する関連データが配置されたレコードを有する表70が配置された「ページID」が「5」であるページ51の表示例を示す図(図8(a))、及び、更にレコードが追加された場合の表示例(図8(b))である。
ここでは、仮に、上記の具体例1と同様に配置用データ「002.jpg」を配置した時点で、図4に示した領域設定情報管理表から配置部105が読み出した「ページID」と「領域」との値が示す表配置領域71に、図8(a)に示すように、今回取得した属性値「テレビ」と一致する属性と対応付けられた表70が既に配置されており、その表には、上記とは異なり、既に、二以上のレコードが配置されていたとする。また、この表配置領域が配置されているページが横長のページであり、表配置領域が、既に配置されている表の2倍以上の幅を有していたとする。
配置部105は、配置用データ「002.jpg」が配置されたページ50に対応する表配置領域に、今回取得した属性値「テレビ」と一致する属性値と対応付けられた表があると判断し、上記で取得した関連データを配置したレコードを、既に配置した表に追加した場合の表の高さを算出し、この表の高さが、表配置領域71に収まるか否かを判断する。具体的には、この表の高さが、表配置領域71の高さ以下であるか否かを判断する。ここでは、高さが、表配置領域71の高さより大きくなり、表配置領域71に収まらないと判断されたとすると、配置部105は、既に配置されている表70と同じ項目を有しており、上記で取得した関連データを配置したレコードを有する表70aを、表70の横に、予め指定された距離を隔てて配置する。これにより、ページ51の表配置領域71に配置された表70及び表70aは、図8(b)に示すようになる。
(具体例3)
図9は、具体例3を説明するための、ページ50に配置された配置用データに対応する関連データが配置されたレコードを有する表70が配置されることとなる「ページID」が「5」であるページ51の表示例を示す図(図9(a))、及び、関連データが配置されたレコードを有する表が配置された場合の表示例(図9(b))である。
ここでは、仮に、上記の具体例1と同様に配置用データ「001.jpg」を配置した時点で、図4に示した領域設定情報管理表から配置部105が読み出した「ページID」と「領域」との値が示す表配置領域71に、図9(a)に示すように、表が配置されておらず、表配置領域71の幅が、図7(a)で配置された表よりも十分に狭いものであるとする。
配置部105は、配置用データ「001.jpg」が配置されたページ50に対応する表配置領域71に、表が配置されていないと判断し、配置部105は、上記で取得した関連データを配置して作成される新たな表の幅を算出し、算出した長さが、上記の領域設定情報の「領域」の値が示す表配置領域の長さ以下であるか否かを判断する。ここでは、長さ以下でなかったとすると、配置部105は、新たに配置される表の幅が、表配置領域に収まらないと判断する。このため、上記で取得した関連データを、関連データの各項目と対応付けて配置したレコードを有する新たな表を作成する。このとき、表を構成する各項目が配置される列の幅を左側から順番に右に向かって加算していき、加算した長さが、表配置領域を超える直前の列から左側の列と、表配置領域を超えた時点の列から右側の列とをそれぞれ別の表として作成する。そして、表配置領域を超える直前の列から左側の列を有する表70bを、表配置領域に、上記の具体例と同様に配置するとともに、この表の下方に、表配置領域を超えた時点の列から右側の列を有する表70cを配置する。ここでは、例えば、「価格」以外の列と、「価格」の列とを別の表として配置する。これにより、図9(b)に示すように、表配置領域に収まらない列を、折り返して、配置した表を作成して配置することができる。なお、配置部105は、一の配置用データに対応した関連データが配置された二以上の表としては、一の表が折りかえされていることがわかるような態様の二以上の表を作成することが好ましい。例えば、上に配置される表の右側と、下に配置される表の左側との行を区切る線が、それぞれの表の外側に少しだけはみ出しているようにしてもよい。
(具体例4)
図10は、具体例4を説明するための、ページ50に配置された配置用データに対応する関連データが配置されたレコードを有する表70が配置された「ページID」が「5」であるページ51の表示例を示す図(図10(a))、及び、更にレコードが追加された場合の表示例を示す図(図10(b))である。
ここでは、仮に、上記の具体例1と同様に配置用データ「002.jpg」を配置した時点で、図4に示した領域設定情報管理表から配置部105が読み出した「ページID」と「領域」との値が示す表配置領域71に、図8(a)に示すように、今回取得した属性値「テレビ」と一致する属性と対応付けられた表70と、属性値「冷蔵庫」と対応付けられた表90が既に配置されていたとする。
配置部105は、配置用データ「002.jpg」が配置されたページ50に対応する表配置領域に、今回取得した属性値「テレビ」と一致する属性値と対応付けられた表があると判断し、上記で取得した関連データを配置したレコードを、既に配置した表に追加した場合の表の高さを算出し、この表の高さが、表配置領域71に収まるか否かを判断する。なお、ここでは、表70のレコードの追加によって、表70の縦方向の高さが増加した場合、その下方に配置されている表90の配置もこの高さ分だけ同じ方向に移動させるものとする。なお、この移動によって、この表が、表配置領域71からはみ出すようになる場合も、表の縦方向の高さが、表配置領域に収まらないと判断する。
ここでは表配置領域に収まると判断されたとすると、表70のレコードが追加された結果、ページ51は、図10(b)に示すようになる。
また、収まらないと判断された場合、上記の変形例2と同様に、表70の横に、表70aが追加される。また、追加する表70が、表配置領域に収まらない場合には、例えば、エラー表示等を行なうようにしてもよい。
(具体例5)
図11は、具体例5を説明するための、ページ50に配置された配置用データに対応する関連データが配置されたレコードを有する表が配置される「ページID」が「5」であるページ51の表示例を示す図(図11(a))、及び、更に表が追加された場合の表示例を示す図(図11(b))である。
ここでは、仮に、上記の具体例1と同様に一つ目の配置用データ「001.jpg」を配置した時点で、図4に示した領域設定情報管理表から配置部105が読み出した「ページID」と「領域」との値が示す表配置領域71に、図11(a)に示すように、属性値「冷蔵庫」と対応付けられた表90だけが既に配置されていたとする。
配置部105は、配置用データ「002.jpg」が配置されたページ50に対応する表配置領域に、今回取得した属性値「テレビ」と一致する属性値と対応付けられた表がないと判断し、上記で取得した関連データを配置したレコードを有する表70を新たに作成した場合の表70の高さを算出し、この表の高さが、表配置領域71の、表90の下方の領域に収まるか否かを判断する。ここでは、収まると判断されたとすると、表70を新たに追加する。これにより、ページ51は、図11(b)に示すようになる。
また、収まらないと判断された場合、上記と同様に、表90の横に、表70を配置すればよい。また、配置する表70が、表配置領域に収まらない場合には、例えば、エラー表示等を行なうようにしてもよい。
(具体例6)
上記具体例1においては、対象ページ識別子と対応付けられた領域設定情報を用いて、対象ページ識別子が示すページに配置用データが配置された場合に、この対象ページ識別子と対応付けられた領域設定情報が示す表配置領域に、配置された配置用データに対応付けられた関連データが配置されたレコードを有する表を配置する場合について説明したが、以下、対象ページ識別子を用いずに、領域設定情報が設定されたページに配置用データが配置された場合に、この域設定情報が示す表配置領域に、配置された配置用データに対応付けられた関連データが配置されたレコードを有する表を配置する場合について説明する。
図12は、領域設定情報格納部102に格納された領域設定情報を管理する領域設定情報管理表を示す図である。この領域設定情報管理表は、図11に示した領域設定情報において、項目名が「対象ページID」である列を削除したものである。なお、レコードは、図11のものとは異なるものとする。なお、配置用管理データ管理表等は、上記具体例と同様のものを用いるものとする。
上記具体例の図6(a)と同様に、配置指示に応じて、配置部105が、モニタに表示した「ページID」が「1」であるページ50に、図5に示した配置用管理データ格納部103に格納されている「ID」が「001」であるレコードの配置用データ「001.jpg」を配置したとする。
配置部105は、画像60が配置されたページ50のページ識別子「1」を取得し、図11に示した領域設定情報管理表に「ページID」が「1」であるレコードがあるか否かを判断する。ここでは、レコードがあるため、このレコードの「ページID」の値である「1」と、「領域」の値である「(x1,y1)、(x2,y1)、(x1,y2)、(x2,y2)」とを読み出す。なお、一致するレコードがない場合、表を配置する処理は終了する。
更に、配置部105は、配置用データ「001.jpg」に対応付けられた関連データ及び属性値を、図5に示した配置管理データ管理表から読み出す。
配置部105は、読み出した「ページID」と「領域」との値が示す表配置領域、具体的には、「ページID」が示すページ識別子が示すページの、「領域」が示す領域内に一以上の表が配置されているか否かを判断する。この表配置領域は、この具体例においては、配置用データ「001.jpg」が配置されたページに設定された表配置領域である。
ここでは、「ページID」の値が「1」であるページの「領域」の値「(x1,y1)、(x2,y1)、(x1,y2)、(x2,y2)」で定義される領域に、既に表が配置されているか否かをページ情報管理表の「ID」が「1」であるレコードの「ページ情報」の値が示すページ情報から判断する。
ここでは、配置されていないと判断したとすると、配置部105は、上記具体例1の場合と同様に、表を作成して配置する。ここでは、「ページID」の値が「1」であるページに表を配置する。
図13は、ページ50に配置された配置用データに対応する関連データが配置されたレコードを有する表70が配置された同じページ50の表示例を示す図(図13(a))、及び、更にレコードが追加された場合の表示例(図13(b))である。図13(a)に示すように、この具体例においては、配置用データである画像データが示す画像60が配置されたページ50に設定された表配置領域72に、新たな表70が配置される。
ここで、図13(a)に示した状態のページ50に、新たに、図5に示した配置用管理データ管理表の「ID」が「002」であるレコードの配置用データ「002.jpg」を配置する配置指示を、配置指示受付部104が受け付けたとすると、図13(b)に示すように、配置用データ「002.jpg」である画像データが示す画像61がページ50に配置され、上記と同様の処理が行なわれてページ50に表配置領域72を設定する領域設定情報が取得され、上記具体例1と同様の処理が行なわれて、このページ50の表配置領域72に既に配置されている表70に配置用データ「002.jpg」に対応する関連データが配置されたレコードが追加される。
以上、本実施の形態によれば、ページに配置用データを配置した場合に、この配置用データに関連したデータが配置されたレコードを有する表を配置することができ、ページに配置したデータに関連したデータが配置された表を、容易に配置することができる。
なお、上記各実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
また、上記各実施の形態では、ページ処理装置がスタンドアロンである場合について説明したが、ページ処理装置は、スタンドアロンの装置であってもよく、サーバ・クライアントシステムにおけるサーバ装置であってもよい。後者の場合には、出力部や受付部は、通信回線を介して入力を受け付けたり、画面を出力したりすることになる。
また、上記各実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。その実行時に、プログラム実行部は、格納部(例えば、ハードディスクやメモリ等の記録媒体)にアクセスしながらプログラムを実行してもよい。
なお、上記各実施の形態におけるページ処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、表を配置する領域である表配置領域が設定されたページを含む一以上のページの情報である一以上のページ情報が格納されるページ情報格納部と、ページ情報が示すページに配置されるデータである配置用データと、配置用データに関する一以上のデータである関連データと、を有する1以上の配置用管理データが格納される配置用管理データ格納部と、にアクセス可能なコンピュータを、ページ情報が示すページに、配置用管理データ格納部に格納された配置用データを配置する指示である配置指示を受け付ける配置指示受付部と、配置指示が示す配置用データを、ページ情報が示す一のページに配置し、かつ、配置用管理データにより配置用データに対応付けられた関連データを配置したレコードが追加された表を、表配置領域内に配置する配置部と、配置用データ及び表の少なくとも一方が配置された一以上のページ情報を出力する出力部として機能させるためのプログラムである。
なお、上記プログラムにおいて、上記プログラムが実現する機能には、ハードウェアでしか実現できない機能は含まれない。例えば、情報を取得する取得部や、情報を出力する出力部などにおけるモデムやインターフェースカードなどのハードウェアでしか実現できない機能は、上記プログラムが実現する機能には含まれない。
また、このプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
図14は、上記プログラムを実行して、上記実施の形態によるページ処理装置を実現するコンピュータの外観の一例を示す模式図である。上記実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムによって実現されうる。
図14において、コンピュータシステム900は、CD−ROM(Compact Disk Read Only Memory)ドライブ905を含むコンピュータ901と、キーボード902と、マウス903と、モニタ904とを備える。
図15は、コンピュータシステム900の内部構成を示す図である。図15において、コンピュータ901は、CD−ROMドライブ905に加えて、MPU(Micro Processing Unit)911と、ブートアッププログラム等のプログラムを記憶するためのROM912と、MPU911に接続され、アプリケーションプログラムの命令を一時的に記憶すると共に、一時記憶空間を提供するRAM(Random Access Memory)913と、アプリケーションプログラム、システムプログラム、及びデータを記憶するハードディスク914と、MPU911、ROM912等を相互に接続するバス915とを備える。なお、コンピュータ901は、LANへの接続を提供する図示しないネットワークカードを含んでいてもよい。
コンピュータシステム900に、上記実施の形態によるページ処理装置等の機能を実行させるプログラムは、CD−ROM921に記憶されて、CD−ROMドライブ905に挿入され、ハードディスク914に転送されてもよい。これに代えて、そのプログラムは、図示しないネットワークを介してコンピュータ901に送信され、ハードディスク914に記憶されてもよい。プログラムは実行の際にRAM913にロードされる。なお、プログラムは、CD−ROM921、またはネットワークから直接、ロードされてもよい。
プログラムは、コンピュータ901に、上記実施の形態によるページ処理装置の機能を実行させるオペレーティングシステム(OS)、またはサードパーティプログラム等を必ずしも含んでいなくてもよい。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいてもよい。コンピュータシステム900がどのように動作するのかについては周知であり、詳細な説明は省略する。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。