以下、情報処理装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態)
図1は、本実施の形態における情報処理装置1のブロック図である。
情報処理装置1は、ページ情報格納部101、ページ生成部102、リンク領域管理情報取得部103、順番情報取得部104、プレビュー表示部105、受付部106、順番情報変更部107、および出力部108を備える。
ページ情報格納部101には、第一のページ情報が格納される。第一のページ情報は、少なくとも文字列または画像を含む一以上のオブジェクトが配置されたページの情報である。第一のページ情報は、オブジェクトを含む情報である。また、第一のページ情報は、例えば、オブジェクトが配置されるページを識別する情報であるページ識別情報や、オブジェクトが配置された領域を示す情報である配置情報を含んでいてもよい。また、第一のページ情報は、ページのサイズ等を定義するページ定義情報を有していていても良い。第一のページ情報は、例えば、一のページを示すページ識別情報と、一のページ識別情報が示すページに配置される一以上のオブジェクトと、これらのオブジェクトが配置された領域を示す配置情報とを有する。
なお、第一のページ情報に含まれるオブジェクトや、ページ識別情報や、配置情報や、ページ定義情報等は、それらの情報そのものであってもよく、あるいは、その情報を特定可能な情報であってもよい。後者の場合には、第一のページ情報に含まれるオブジェクト等は、例えば、オブジェクト等が格納されている領域を示すポインタやアドレスであってもよいし、オブジェクトの識別情報であっても良い。このことは、他の2以上の情報を有する情報についても同様である。
オブジェクトとは、例えば、1以上の文字で構成される文字列または画像の少なくとも一方を含むデータである。また、オブジェクトは音声を含むデータでも良い。オブジェクトとは、例えば、情報処理装置1が編集する情報の構成要素と考えても良い。オブジェクトに含まれる文字列は、フォントや、フォントサイズ、フォント色等のフォントの属性値を有していても良い。文字列を含むオブジェクトをここでは文字列オブジェクトと呼ぶ。オブジェクトに含まれる画像は、動画像であっても良いし静止画像であっても良い。また、画像は、ビットマップデータでもベクトルデータであっても良く、ファイル形式等は、TIFF、JPEG、SVG等問わない。画像を含む文字列をここでは画像オブジェクトと呼ぶ。オブジェクトは、ページに配置されるコンテンツと考えても良い。
ページとは、例えば、1以上のオブジェクトが配置される領域を示す情報である。ページは、ここでは、仮想の紙面や台紙やアートボード等を示す情報と考えて良い。ページは、オブジェクト等が配置されて出力される出力可能領域や、印刷可能領域と考えても良い。
ページ識別情報は、ページを識別可能な情報であればよく、例えば、ページに割り当てられた固有の識別情報や、ページ番号等である。また、1ページを示す第一のページ情報が一のファイル等を構成している場合、ページ識別情報は、ページのファイル名等でも良い。なお、第一のページ情報を後述する順番情報と対応付けて管理する場合、順番情報で第一のページ情報を識別することが可能であるため、ページ識別情報は、省略しても良い。かかることは他のページ情報についても同様である。
オブジェクトの配置情報は、例えば、ページ情報が示すページ内のオブジェクトが配置されている領域を示す情報である。オブジェクトは、例えば、配置情報によってページ上にレイアウトされる。オブジェクトの配置情報は、例えば、オブジェクトの位置やサイズ等を指定するための情報である。オブジェクトの配置情報は、例えば、オブジェクト上の一以上の点(例えば、中心点や、対角の交点や、四隅のうちの一以上の点)の位置を示す情報と、オブジェクトの縦横のサイズを示す情報との組み合わせや、オブジェクトの一対の対角の位置を示す情報であってもよい。点の位置を示す情報は、例えば、ページに対して設定される座標等で示される。サイズを示す情報の単位等は問わない。サイズとは、ここではオブジェクトのデータサイズではなく寸法を意味する。ただし、配置情報は、オブジェクトの配置された領域が特定できる情報であればどのような情報でもよい。例えば、配置情報は、オブジェクトが配置される位置(例えば座標等)を示す情報であっても良い。この場合、オブジェクトが配置される領域のサイズは、例えば、オブジェクトのサイズとしてもよい。上記のような場合、この配置情報が示す位置にオブジェクトが配置された場合のオブジェクトが占める領域(あるいはオブジェクト上の領域)を、オブジェクトの配置される領域と考えて良い。また、オブジェクトが、オブジェクトを配置するための枠やフレームやボックス等と呼ばれる配置領域に配置されている場合、この配置領域を示す情報をオブジェクトの配置情報と考えてもよい。配置領域を示す情報は、オブジェクトの配置情報と同様の位置やサイズ等を示す情報で構成される。このフレーム等の領域と、この領域に配置される一以上のオブジェクトは、例えば、図示しないフレーム等の領域を示す情報と、配置されるオブジェクトとを対応付けて管理する管理情報等で管理される。なお、後述する第二のページ情報以降のページ情報が示すページに配置されるオブジェクトは、第一のページ情報が示すページに配置されるオブジェクトにリンクして配置することで、第一のページ情報が示すページに配置されるオブジェクトを共用するようにしても良い。また、オブジェクトの配置される領域が、出力デバイス側等で指定されていたり、出力デバイス側で配置される領域を解釈する場合等には、第一のページ情報は、配置情報を有していなくてもよい。
ページ定義情報は、ページのサイズやマージンや余白等の属性を定義する情報である。また、ページの背景色等の属性を定義する情報を有していてもよい。また、ページ定義情報は、第一のページ情報の出力時のサイズの情報等を有していても良い。また、第一のページ情報が出力される出力デバイス等の表示画面のサイズを示す情報を有していても良い。また、ページ定義情報は、第一のページ情報の出力サイズの情報等を有していても良い。なお、第一のページ情報が示すページの出力サイズは、出力デバイスの表示画面のサイズ等やユーザの操作等に合わせて可変であっても良い。
なお、一以上のオブジェクトが配置されている領域をページと考える場合のように、ページのサイズ等を指定する必要がない場合には、第一のページ情報は、ページ定義情報を有していなくてもよい。例えば、一のオブジェクトが表示されることも一のページが表示されたと考える場合には、ページ定義情報は省略しても良い。
第一のページ情報は、一のファイルで構成されていても良いし、複数のファイルで構成されていても良い。また、第一のページ情報は、一以上のデータベースでも良い。
第一のページ情報は、具体的には、オブジェクトが配置されたドキュメントを示すドキュメント情報やページの情報と考えても良い。第一のページ情報は、HTML等のWEBページの情報であっても良いし、DTP装置や、クロスメディアパブリッシング装置やワードプロセッサ等の電子出版物等を出力可能な装置で用いられるオブジェクトが配置されたページの情報であっても良い。また、これらのページ情報は、ページ原稿の情報等と考えても良い。
また、第一のページ情報は、例えば、電子出版物を出力するために利用されるページ情報でもよい。電子出版物は、情報の出力媒体を電子媒体とした出版物である。例えば、電子出版物は、電子ブックや、電子ペーパー、電子配布用書類等である。また、WEBページ等も電子出版物と考えても良い。電子出版物は電子書籍と考えても良い。電子出版物の内容等は問わない。ただし、第一のページ情報は、紙等の物理的な媒体に印刷して出力する出版にも利用可能なページ情報であっても良い。
なお、第一のページ情報とは、リンク情報等を用いて階層化されるページ情報の、第一階層のページ情報と考えても良い。
ページ情報格納部101に格納されている第一のページ情報は、例えば、ユーザ等により指定された情報処理装置1の処理対象となるページ情報である。ページ情報格納部101にページ情報が蓄積される過程は問わない。例えば、記録媒体を介してページ情報がページ情報格納部101で蓄積されるようになってもよく、通信回線等を介して送信されたページ情報がページ情報格納部101で蓄積されるようになってもよく、あるいは、入力デバイスを介して入力されたページ情報がページ情報格納部101で蓄積されるようになってもよい。なお、かかることは、以下の格納部等に関しても同様であるものとする。ページ情報格納部101は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
ページ生成部102は、第二のページ情報を生成する。第二のページ情報は、第一のページ情報に配置された一以上のオブジェクトを配置したページの情報である。ページ生成部102は、例えば、第一のページ情報から第二のページ情報を生成する。ページ情報に配置されるオブジェクトとは、ここでは、ページ情報が示すページに配置されるオブジェクトを意味する。かかることは以下においても同様である。第二のページ情報の構成は、例えば、第一のページ情報の構成と同様である。第二のページ情報は、例えば、オブジェクトやページ識別情報や配置情報等の第一のページ情報と同様の構成を有している。ページ生成部102は、第二のページ情報をどのように生成してもよい。ページ生成部102は、第二のページ情報に、第一のページ情報に配置されたオブジェクトの複製を生成して配置しても良いし、第一のページ情報に配置されているオブジェクトのリンク情報を配置しても良い。リンク情報は、ポインタと考えても良い。ページ生成部102は、例えば、空白のページを示すページ定義情報やページ識別情報を生成し、このページに一以上のオブジェクトを配置して第二のページ情報を生成しても良い。リンク情報を配置する場合、例えば、第二のページ情報のオブジェクトが配置された領域には、リンクされるオブジェクトが格納されている場所を示す情報やオブジェクトを特定する情報等がリンク情報として配置される。また、例えば、予め指定されたページ定義情報のテンプレート等に一以上のオブジェクトを配置して第二のページ情報を生成しても良い。また、ページ定義情報を生成せずに、オブジェクトの配置される位置を示す配置情報を生成することで、第二のページ情報を生成しても良い。また、オブジェクトを第二のページ情報のページ識別情報と対応付けただけの第二のページ情報を生成しても良い。また、配置情報を生成する際に、オブジェクトのサイズ等の属性値等を利用したり、参照したりしても良いし、オブジェクトの第一のページ情報における配置情報等を利用したり参照したりしても良い。例えば、オブジェクトを実寸で配置する場合、オブジェクトが配置されている領域のサイズを指定するために、オブジェクトのサイズ情報を取得しても良い。
ページ生成部102は、第一のページ情報に配置されたオブジェクトのうちのいずれのオブジェクトを配置した第二のページ情報を生成しても良い。例えば、第一のページ情報に複数のオブジェクトが配置されている場合、配置されている全てのオブジェクトを個別に配置した複数の第二のページ情報を生成しても良い。また、第一のページ情報に配置されている複数のオブジェクトのうちの、予め指定されたオブジェクトを除いたオブジェクトについて第二のページ情報を生成しても良い。予め指定されたオブジェクトとは、例えば、ユーザにより指定を受け付けたオブジェクトや、予め指定された属性を有するオブジェクトや、予め指定された条件に合致する、あるいは合致しないオブジェクトである。これらの指定に用いられる情報は、例えば、図示しない記憶媒体等に予め格納されている。また、ページ生成部102は、第一のページ情報に配置された複数のオブジェクトが配置された一の第二のページ情報を、一以上生成しても良い。また、第一のページ情報に配置された複数のオブジェクトが配置された一の第二のページ情報を複数生成する場合、それぞれの第二のページ情報に配置されるオブジェクトの一部が重複していても良い。
ページ生成部102は、例えば、図示しない指定受付部等が入力デバイス等を介してユーザ等から受け付けた一以上の指定情報によりそれぞれ指定されるオブジェクトを配置した一以上の第二のページ情報を生成する。ページ生成部102は、例えば、図示しない指定受付部が複数のオブジェクトを指定した場合に、当該複数のオブジェクトのそれぞれを個別に配置した複数の第二のページ情報を生成しても良いし、複数のオブジェクトを一のページ情報に配置したページ情報を生成しても良い。あるいは、複数のオブジェクトの二以上の群に予め指定したルール等で分割して、それぞれを配置した二以上のページ情報を生成しても良い。また、ページ生成部102は、例えば、図示しない指定受付部が、複数の指定情報を受け付けた場合に、各指定情報で指定されるオブジェクトをそれぞれ配置した複数のページ情報を、各指定情報別に作成する。
ページ生成部102は、例えば、第一のページ情報に配置された一以上のオブジェクトを、予めデフォルト等で指定された外観となるように配置した第二のオブジェクトを生成する。ここでの外観とは、オブジェクトの位置や、サイズ、属性等を含む概念である。外観は、いわゆるアピアランスと呼ばれる画面表示スタイル等と考えても良い。また、ページ生成部102は、例えば、第一のページ情報に配置された一以上のオブジェクトを、第一のページ上とは異なる外観となるよう配置した第二のオブジェクトを生成することが好ましい。ページ生成部102は、例えば、予め指定されたテンプレート等に第一のページ情報に配置されたオブジェクトを配置することで、予め指定された外観を有する第二のページ情報を生成しても良い。また、第一のページ上におけるオブジェクトの外観に関する情報を取得し、この情報を用いて、このオブジェクトの外観が、第一のページ上の外観とは異なる外観を有するように配置した第二のページ情報を生成しても良い。なお、第二のページ情報、あるいはそれ以降のページ情報においては、第一のページ情報に配置されるオブジェクトを参照して(あるいはリンクして)配置するようにすることで、第一のページ情報に配置されるオブジェクトを共用するようにしても良い。これによりデータ量の削減を図ることができる。
ページ生成部102は、例えば、第一のページ情報に配置された一以上のオブジェクトを、拡大して配置した第二のページ情報を生成する。ここでの拡大は、例えば、オブジェクトのページにおける配置サイズの拡大である。拡大されるサイズ等は、拡大率は、配置サイズの縦または横の最大値等で予め指定しておくようにしても良いし、任意に設定しても良いし、第一のページ情報や、第二のページ情報のページのサイズの情報等から適宜算出してもよい。また、ページ生成部102は、第一のページ情報に配置された一以上のオブジェクトに含まれる文字のフォントサイズ等を大きくした第二のページ情報を生成しても良い。また、文字のフォントを予め指定されたフォントに変更しても良い。また、画像のオブジェクトの最終的な出力解像度を予め指定された低解像度に指定する情報を含む第二のページ情報を生成しても良い。
また、ページ生成部102は、第一のページ情報上のオブジェクトに加えて、それ以外のオブジェクトを含む第二のページ情報を生成しても良い。
なお、第二のページ情報を生成する際に利用する情報(例えば、どのようにオブジェクトの外観を変更するかを示す情報、例えば変更のルールや、変更の処理を行うための命令やプログラムや、テンプレート)等は、図示しない記憶媒体等に予め格納しておくようにすればよい。
ページ生成部102は、第一のページ情報に配置されたオブジェクトのうちの1以上のオブジェクトがグループ化されている場合、このグループ化されたオブジェクトであるオブジェクトグループを配置した第二のページ情報を生成してもよい。例えば、ページ生成部102は、複数のオブジェクトグループに属するオブジェクトを、オブジェクトグループ別に配置した複数の第二のページ情報を生成する。一のオブジェクトグループに、複数のオブジェクトが属する場合、第一のページ情報におけるそれらの相対的な位置関係は、これらが配置される第二のページ情報におけるこれらの相対的な位置関係と変わらないものとすることが好ましい。相対的な位置関係が変わらないとは、オブジェクト同士の上下左右の位置関係や、オブジェクト間の距離と、オブジェクトのサイズとの比率等がほぼ変わらないこととを意味する。ただし、位置関係を変更するようにしても良い。
なお、グループ化されたオブジェクトは、オブジェクト格納部や図示しない格納部等に格納されているグループ管理情報で管理される。グループ管理情報は、例えば、一のオブジェクトグループに属する一以上のオブジェクトを示す情報である。グループ管理情報は、例えば、オブジェクトグループを示す識別情報であるグループ識別情報と、このグループ識別情報が示すオブジェクトグループに属するオブジェクトを示す識別情報であるオブジェクト識別情報とを有する情報である。
また、第一のページ情報にオブジェクトグループと、グループ化されていないオブジェクトとが混在している場合において第二のページ情報を生成する際には、ページ生成部102は、オブジェクトグループを、グループ化されていない一のオブジェクトと同様に扱うようにしてよい。例えば、ページ生成部102が、第一のページ情報に配置されている各オブジェクトを個別に配置した第二のページ情報を生成する処理を行っている場合においては、オブジェクトグループを構成する複数のオブジェクトを配置した一の第二のページ情報を生成するようにしても良い。
また、ページ生成部102は、第一のページ情報に配置されたオブジェクトのうちの、グループ化されたオブジェクトをそれぞれ個別に配置した第二のページ情報を生成しても良い。この生成対象となるグループ化されたオブジェクトは、例えば、ユーザにより指定されたオブジェクトグループに属するオブジェクトである。
オブジェクトグループの属性は、グループ化されているオブジェクトのいずれかの属性と考えても良いし、グループ化されているオブジェクトのうちの、予め指定されたオブジェクトの属性と考えても良い。
ページ生成部102は、例えば、第一のページ情報に配置されたオブジェクトに応じたルールに従って、第二のページ情報を生成するようにしても良い。以下、オブジェクトに応じた第二のページ情報の生成の例について説明する。
(a)画面サイズ指定情報とオブジェクトサイズとに応じた生成
例えば、予め、図示しない格納部等に、第一のページ情報や第二のページ情報が示すページを出力する出力デバイスの画面サイズの情報と、オブジェクトのサイズについての閾値であるサイズ閾値とを有するサイズ制限情報を蓄積しておくようにし、情報処理装置1の図示しない受付部等が、第二のページ情報を表示する画面サイズを指定する情報である画面サイズ指定情報を受け付けるようにし、ページ生成部102は、例えば、第一のページ情報に配置されたオブジェクトのうちの、この画面サイズ指定情報が示す画面サイズに対応するサイズ閾値情報を、サイズ制限情報より取得し、取得したサイズ閾値より大きいサイズのオブジェクトについてのみ、第二のページ情報を生成するようにしても良い。ここでのオブジェクトのサイズとは、オブジェクトの配置される寸法やオブジェクト自身の縦横の画素数等である。サイズ閾値についても同様である。これにより、第一のページ情報が表示されるサイズによっては、表示画面に表示されるサイズが小さすぎて、ユーザの操作が困難と思われるオブジェクトについては、第二のページ情報を単独で生成せずに、他のサイズの大きいオブジェクトと組み合わせて第二のページ情報を生成することで、無駄な第二のページ情報の作成を抑えることができる。即ち、サイズ制限情報は、オブジェクト単体の第二のページ情報の生成の可否の決定に用いられる。なお、画面サイズ指定情報を用いる代わりに、ページ定義情報が有するページの出力サイズを示す情報等を用いるようにしても良い。
(b)オブジェクトの属性値に応じた生成
例えば、予め、図示しない格納部等に、属性値条件と、配置ルール条件とを有する生成管理情報を蓄積しておく。属性値条件は、オブジェクトの1以上の属性値についての条件を示す情報である。属性値条件は、例えば、属性と、その属性の値またはその値の範囲とを有する情報である。配置ルール情報は、第二のページ情報を生成する際のオブジェクトの配置のルールを示す情報である。配置ルール情報は、第二のページ情報を生成する際の生成ルール情報と考えても良い。配置ルール情報は、どのようにオブジェクトを配置した第二のページ情報を作成するかを示すルールを示す情報である。例えば、配置ルール情報は、配置対象となるオブジェクトの配置位置等を指定する情報(例えば座標やサイズ等の情報)であってもよいし、配置対象となるオブジェクトの配置位置等を示す情報を含むテンプレートの情報であっても良い。また、オブジェクトが予め指定した位置やサイズ等になるように配置したページを作成するためのプログラムや、プログラムを呼び出すための情報等であっても良い。
そして、ページ生成部102は、第一のページ情報に配置された一以上のオブジェクトの属性値を取得し、属性値が満たす属性値条件に対応する配置ルール情報を上記の生成管理情報から取得し、この配置ルール情報に従って第一のページ情報に配置された一以上のオブジェクトを配置した第二のページ情報を生成するようにしてもよい。ページ生成部102は、例えば、第一のページ情報に配置された一以上のオブジェクトから、予め指定された一以上の属性についての属性値を取得する。この予め指定された属性値は、配置ルール情報に対応した属性の属性値としてもよいし、ユーザにより予め指定された一以上の属性値としてもよい。
例えば、ページ生成部102は、第一のページ情報に配置された一以上のオブジェクトのフォントサイズの属性値を取得する。そして、取得したフォントサイズが、一の属性値条件が示すフォントサイズの閾値より小さいか否かを判断し、小さい場合に、この属性値条件に対応する配置ルール情報であるオブジェクトを拡大して配置する配置ルール情報を取得し、配置ルール情報に従って第一のページ情報に配置された一以上のオブジェクトを拡大して配置した第二のページ情報を生成する。なお、拡大を行う配置ルール情報には、拡大率や、拡大後のオブジェクトの縦、または横の値を指定する情報を含むようにしても良い。なお、文字列のオブジェクトの拡大は、フォントサイズを大きくなるよう変更することと考えても良い。
なお、属性値条件を満たさないと判断された場合、そのオブジェクトについての第二のページ情報を生成しないようにしても良い。あるいは、デフォルトで指定された配置ルール情報に従って第二のページ情報を生成しても良い。例えば、属性値条件を満たす場合と満たさない場合との両方の場合において、オブジェクトを拡大して配置した第二のページ情報を生成するようにするとともに、属性値を満たす方の拡大率の方が、属性値を満たさない場合よりも拡大率が大きくなるようにしても良い。
(c)オブジェクトグループの属性値に応じた生成
例えば、予め図示しない格納部に、グループ属性値条件と、グループ配置ルール情報とを有するグループ生成管理情報が格納される。グループ属性値条件は、オブジェクトグループの一以上の属性についての属性値の条件を示す情報である。グループ属性値条件は、例えば、オブジェクトグループについての属性と、その属性の値またはその値の範囲とを有する情報である。グループ配置ルール情報は、第二のページ情報を生成する際のオブジェクトグループの配置のルールを示す情報である。グループ配置ルール情報は、第二のページ情報を生成する際のグループ生成ルール条件と考えても良い。グループ配置ルール情報は、どのようにオブジェクトグループを配置した第二のページ情報を作成するかを示すルールを示す情報である。グループ配置ルール情報は、配置対象となるグループオブジェクト、あるいはグループオブジェクトを構成するオブジェクトが配置される位置等を指定する情報(例えば座標やサイズ等の情報)であってもよいし、例えば、配置対象となるグループオブジェクト、あるいはグループオブジェクトを構成するオブジェクトの配置位置等を示す情報を含むテンプレートの情報であっても良い。また、グループオブジェクトが予め指定した位置やサイズ等となるように配置したページを作成するためのプログラムや、プログラムを呼び出すための情報等であっても良い。
そして、ページ生成部102は、第一のページ情報に配置されたオブジェクトのうちの、グループ化されたオブジェクトから、そのオブジェクトグループについての属性値を取得し、上記のグループ生成管理情報から、取得した属性値が条件を満たすグループ属性値条件に対応するグループ配置ルール情報を取得し、グループ配置ルール情報に従って、グループ化されたオブジェクトを配置した第二のページ情報を生成するようにしてもよい。
例えば、ページ生成部102は、第一のページ情報に配置されたグループ化されたオブジェクトで構成されるオブジェクトグループについてのオブジェクト数の属性値を取得し、取得したオブジェクト数が、予めグループ配置ルールと対応付けてグループ生成管理情報に格納されているグループ属性値条件が示すオブジェクト数の閾値より大きい場合、このグループ属性値条件に対応するグループ配置ルール情報であるオブジェクトグループを構成するオブジェクトを拡大して配置するというグループ配置ルール情報を取得する。そして、このグループ配置ルール情報に従って、グループ管理情報が示す一のグループオブジェクトを構成するオブジェクトを拡大して配置した第二のページ情報を生成する。オブジェクトグループの拡大率等の情報は、グループ配置ルール情報等に予め蓄積しておくようにしても良いし、デフォルト等で指定されているようにしても良い。
なお、グループ属性値条件を満たさないと判断された場合、そのオブジェクトグループについての第二のページ情報を生成しないようにしても良い。あるいは、そのオブジェクトグループについては、デフォルトで指定されたグループ配置ルール情報に従って第二のページ情報を生成しても良い。
なお、ページ生成部102は、第一のページ情報に対するリンク情報と対応付けられたボタンを配置した第二のページ情報を生成してもよい。このボタンは、例えば、第一のページ情報に対するリンク情報と対応付けられたボタンであっても良いし、第一のページ情報に対するリンク情報と、当該第一のページ情報を出力させる処理等を実行するためのプログラム等と対応付けられていても良い。また、このボタンは、例えばボタン画像や、ボタンを示す文字列等と対応付けられていても良い。
また、ページ生成部102は、同じ第一のページ情報に配置されているオブジェクトを用いて生成される他の第二のページ情報を出力するためのボタン等を配置した第二のページ情報を生成しても良い。このボタンは、例えば、他の第二のページ情報に対するリンク情報と対応付けられたボタンであっても良いし、他の第二のページ情報に対するリンク情報と、当該第二のページ情報を出力させる処理等を実行するためのプログラム等と対応付けられていても良い。また、このボタンは、例えばボタン画像や、ボタンを示す文字列等を有するボタンでも良いし、不可視のボタンであっても良い。ここで述べる他の第二のページ情報とは、例えば、第二のページ情報に後述する順序情報が対応付けられている場合、その順序情報が示す順序が、ボタンを配置する第二のページ情報に対して、予め指定された数だけ前後する第二のページ情報を出力するためのリンク情報や、プログラム等と対応付けられたボタンであっても良い。また、このボタンには、出力させたい第二のページ情報に対応した順序情報を指定する情報が対応づけられているようにしても良い。この場合、例えば、このボタンに対して、予め指定された操作(例えばマウスクリック)等が行われた場合に、このボタンの順序情報に対応付けられた第二のページ情報を出力されるようにすればよい。例えば、順序情報が、第二のページ情報のページ番号であるとすると、一の第二のページ情報に配置されたボタンに、「2」というページ番号が対応付けられている場合に、このボタンに対してボタンを押す操作が行われた場合に、順序情報であるページ番号「2」に対応した第二のページ情報が出力されるようにしても良い。また、例えば、ボタンに、現在表示されている第二のページ情報の、次の出力順番の第二のページ情報を表示させるための指示等で構成されるリンク情報を対応付けておくようにし、このボタンに対して予め指定された操作(例えばボタンを押す操作)が行われた場合に、情報を閲覧する装置等に、現在表示されている第二のページ情報の順番情報を取得させ、その順番情報の次の順番情報を取得させて、その順番情報に対応した第二のページ情報を表示させるようにしても良い。例えば、ボタンに対応付けるリンク情報として、現在の順番情報の値に「1」を加算した順番情報に移動することを指示する情報を対応付けるようにしても良い。なお、ボタンに、前に出力順番の第二のページ情報を表示させる指示を対応付ける場合も同様である。
なお、ページ生成部102は、このページ生成部102が生成した第n(nは2以上の整数)のページ情報に配置された一以上のオブジェクトを配置したページの情報である第(n+1)のページ情報を生成する処理を繰り返すようにしてもよい。第nのページ情報は、例えば、オブジェクトやページ識別情報や配置情報等の第一のページ情報と同様の構成を有するものである。また、ページ生成部102が第nのページ情報から第(n+1)のページ情報を生成する処理は、上述した第一のページ情報から第二のページ情報を生成する処理と同様の処理である。具体的には、ページ生成部102が生成した第(n+1)のページ情報を、再度、第nのページ情報として用いて、第(n+1)のページ情報を取得する処理を繰り返すようにすればよい。例えば、第一のページ情報からページ生成部120が取得した第二のページ情報を用いて、第三のページ情報を生成し、この第三のページ情報を用いてページ生成部102が第四のページ情報を生成する、というような処理を繰り返せばよい。この処理の繰り返しは、第(n+1)のページ情報に配置されるオブジェクト数が、所定数以下(例えば1以下)となるまで繰り返すようにしても良いし、所定回数だけ繰り返すようにしても良い。あるいは、第(n+1)のページ情報の生成が、グループオブジェクトに対するページ情報の生成でなくなるまで繰り返しても良い。なお、ページ生成部102が取得した第二のページ情報や、ページ情報の生成を繰り返すごとに取得される第(n+1)のページ情報は、例えば、図示しない記憶媒体等に蓄積しておく。なお、ページ生成部102が行う処理においては、第nのページ情報と、第(n+1)のページ情報とは、それぞれ、第一のページ情報と、第二のページ情報とほぼ同様に取り扱われるものとする。
なお、第nのページ情報におけるnの値は、リンク関係で階層化されたページ情報における階層の深さと考えても良い。
ページ生成部102は、通常、MPUやメモリ等から実現され得る。ページ生成部102の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
リンク領域管理情報取得部103は、第一のページ情報に配置された一以上のオブジェクト上の領域を示す情報と、この一以上のオブジェクトが配置された第二のページ情報に対するリンク情報とを対応付けて有するリンク領域管理情報を取得する。ここでは、第一のページ情報に配置された一以上のオブジェクト上の領域をリンク領域、このリンク領域を示す情報をリンク領域指定情報と呼ぶ。ここでの一以上のオブジェクトとは、一の第二のページ情報に配置される第一のページ情報の一以上のオブジェクトを意味する。
リンク領域指定情報は、少なくとも一の第二のページ情報に配置される第一のページに配置された一以上のオブジェクト上の領域を指定可能な情報であればよい。リンク領域指定情報は、例えば、第一のページ情報を指定する情報と、この第一のページ情報の一以上のオブジェクトの配置領域を含む領域を指定する情報である。第一のページ情報を指定する情報は、例えば第一のページ情報の識別情報等である。ただし、第一のページ情報自身であっても良い。リンク領域指定情報は、例えば、オブジェクトの配置情報と同様の、リンク領域内の中心や辺上等の一以上の点を示す情報(座標情報)と、リンク領域のサイズや輪郭等を指定する情報との組合せや、リンク領域の対角の位置を示す情報(座標情報)等により構成される。また、リンク領域指定情報は、第二のページ情報に配置される一以上のオブジェクトを指定する情報でもよい。この場合、指定されたオブジェクト上の領域がリンク領域となる。この場合、第二のページ情報に配置される一以上のオブジェクトがいわゆるリンクボタンに設定されたと考えても良い。オブジェクトを指定する情報は、通常はオブジェクト名等のオブジェクトの識別情報であるが、オブジェクト自身であっても良い。また、リンク領域指定情報は、第二のページ情報に配置される一以上のオブジェクトの配置領域を示す配置情報を指定する情報でも良い。なお、リンク領域指定情報は、非連続のリンク領域を指定する情報であってもよい。
一の第二のページ情報に配置されるオブジェクトが複数である場合、リンク領域指定情報は、複数のオブジェクト間のオブジェクトが配置されていない領域上もリンク領域に指定する情報でも良い。例えば、リンク領域は、複数のオブジェクトをカバーする一の領域であっても良い。また、一以上のオブジェクトの予め指定されたマージン等を有する周辺の領域もリンク領域に指定する情報でもよい。ただし、異なる第二のページ情報に配置されるオブジェクトについて設定されるリンク領域同士は重ならないようにすることが好ましい。もしくは、重なった場合、重なった上下関係により、一方のリンク領域が無効となるようにすることが好ましい。なお、第一のページ情報が示すページを表示する際に、第一のページ情報に配置されたリンク領域を強調表示できるようしてもよく、このような場合等においては、リンク領域が重なった部分については、このリンク領域を無効とするかしないかに関わらず、リンク領域が重なっている部分であることを示すような表示態様とすることが好ましい。例えば、各リンク領域に配置されているオブジェクト上に色のついた画像をオーバーレイ表示して、オブジェクトの表示態様を変更する場合、このリンク領域が重なっている部分については、各リンク領域上に配置される色のついた画像同士を重ねて合成した色で表示したり、異なる色で表示することで、リンク領域の重なっていない部分と異なる表示とすることが好ましい。なお、リンク領域を強調表示するために用いる情報、例えば、強調表示に用いるオーバーレイ用の画像等は、例えば、ページ生成部102やリンク領域管理情報取得部103等が適宜生成するようにすればよい。
リンク情報は、第一のページ情報に配置された一以上のオブジェクトが配置された第二のページ情報を示す情報である。リンク情報はポインタと考えても良い。例えば、第二のページ情報に、識別情報が対応付けられている場合、リンク情報は、当該第二のページ情報の識別情報であっても良い。また、リンク情報は、後述する順番情報であっても良い。また、リンク情報は、第二のページ情報が格納されている場所を示すアドレス情報であっても良い。アドレス情報は、第一のページ情報が格納されている位置に対する相対的なアドレス情報であっても、絶対的なアドレス情報であっても良い。例えば、第二のページ情報が、第一のページ情報とは別のファイルとして図示しない格納部等に蓄積される場合、リンク情報は、この第二のページ情報に対するファイルパスやURL等であっても良い。リンク情報は、例えば、リンク先となる第二のページ情報のページ識別情報を有する情報である。なお、ここで述べるリンク情報は、第二のページ情報を用いて出力される出力情報に対するリンク情報と考えても良い。また、リンク情報は、後述する出力部108等が、出力の際に、ページ情報を用いて出力される出力データの出力先(例えば格納先)等に応じて、リンク関係が保たれるよう適宜書き換えるようにしても良い。また、リンク情報は、対応する一以上のオブジェクトが配置されている領域(即ち対応するリンク領域指定情報が示す領域)に対して予め指定された操作が行われた場合に、この領域に配置されている一以上のオブジェクトが配置された第二のページ情報を出力させるための情報であると考えても良い。リンク情報は、リンク先の第二のページ情報を出力させるための処理を実行させるためのスクリプト等のプログラムや命令等を有していても良いし、同様のプログラム等と対応付けられていても良い。
リンク領域管理情報取得部103は、例えば、グループ管理情報が示す一以上のオブジェクトで構成されるオブジェクトグループ上の領域を含む領域と、グループ管理情報が示す一以上のオブジェクトが配置された第二のページ情報に対するリンク情報とを対応付けて管理するリンク領域管理情報を取得してもよい。
また、リンク領域管理情報取得部103は、一以上の指定情報によってそれぞれ指定される一以上のオブジェクト上の領域を含む領域と、一以上のオブジェクトが配置される第二のページ情報に対するリンク情報とを対応付けて管理するリンク領域管理情報を取得してもよい。
リンク領域管理情報取得部103は、通常、MPUやメモリ等から実現され得る。リンク領域管理情報取得部103の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
順番情報取得部104は、第二のページ情報に配置されるオブジェクトの属性値を取得し、属性値に応じてこれらの各オブジェクトが配置される第二のページ情報の出力順番を示す情報である順番情報を取得する。第二のページ情報に配置されるオブジェクトとは、ここでは、第一のページ情報内に配置されているオブジェクトのうちの、第二のページ情報に配置されるオブジェクトを意味する。順番情報取得部104は、結果的に第二のページ情報に配置されるオブジェクトの属性値を取得すればよく、例えば、第一のページ情報に配置されている状態におけるオブジェクトの属性値を取得しても、第二のページ情報に配置済のオブジェクトの属性値を取得しても良い。なお、順番情報取得部104は、第一のページ情報に配置されているオブジェクト群別に、順番情報を取得しても良い。例えば、グループ化等により、複数の群に分けられたオブジェクトが第一のページ情報に配置されている場合、順番情報取得部104は、それぞれの群に属するオブジェクトについて、当該オブジェクトが配置される第二のページ情報に対応した順番情報を取得するようにしても良い。
順番情報は、第一のページ情報を用いて生成される各第二のページ情報の出力順番を示す情報である。出力順番とは、デフォルト等で第二のページ情報が出力される順番や、推奨される第二のページ情報が出力される順番と考えて良い。ただし、必ずしも第二のページ情報は、この出力順番で表示される必要はない。順番情報は各第二のページ情報と対応づけられた情報である。具体的には、順番情報は、当該順番情報と対応付けられた第二のページ情報内に配置されていても良い。また、順番情報は、各第二のページ情報を示す情報と、当該第二のページ情報の順番情報とを有する順番管理情報によって、第二のページ情報と対応付けて管理されていても良い。第二のページ情報を示す情報は、例えば第二のページ情報の識別情報である。なお、第二のページ情報や、第二のページ情報を示す情報が、出力順番に沿って配列して管理されている場合において、各第二のページ情報の配列されている順番の値を、順番情報と考えるようにしても良い。順番情報取得部104が取得した順番情報を、例えば、第二のページ情報のページ番号や台紙番号としてもよい。順番情報は、連番で示された情報であっても、連番で示されていない情報であっても良い。例えば、連番で示されていない情報である場合、順番情報が示す値が大きいものから数えた順番を、順番情報が示す出力順番と考えても良い。また、順番情報は、出力順番と対応付けられた値であれば、数値でなくても良い。例えば、「A」,「B」,「C」や、「first」、「second」等でも良い。
オブジェクトの属性値とは、例えば、オブジェクト自身の属性値であっても良いし、第一のページ情報内におけるオブジェクトの配置に関する属性値であってもよい。オブジェクト自身の属性値は、例えば、オブジェクトが文字列のオブジェクトか画像のオブジェクトであるかを示す属性値であってもよい。また、オブジェクト自身の属性値は、例えば、オブジェクトが文字列のオブジェクトであれば、文字のフォントや、フォントサイズや、フォントカラー等の属性値であっても良いし、文字数や文字コード等の属性値であっても良い。また、オブジェクトが画像のオブジェクトであれば、オブジェクトの縦横の画素数や、オブジェクトの解像度や、オブジェクトのビット深度や、オブジェクトのデータ量や、ファイル形式や、著作権情報の有無等の属性値であっても良い。また、オブジェクトの内容についての属性値や、オブジェクト名についての属性値等であっても良い。第一のページ情報内におけるオブジェクトの配置に関する属性値は、例えば第一のページ内におけるオブジェクトの並びの属性値や、第一のページ内のオブジェクトが配置されているエリアの属性値である。あるいは、他のオブジェクトとの距離や相対的な配置方向の属性値であっても良い。
なお、オブジェクトがグループ化されて、第二のページ情報に配置される場合、オブジェクトの属性値は、オブジェクトグループについての属性値と考えても良い。なお、オブジェクトグループについての属性値は、オブジェクトグループを構成するオブジェクトに含まれる任意の1以上のオブジェクトの属性値であっても良いし、予め指定されたオブジェクトの属性値であっても良い。
順番情報取得部104は、オブジェクトの属性値に応じてどのように順番情報を取得してもよい。以下、文字列の属性値により順番情報を取得する場合と、オブジェクトの配置の属性値により順番情報を取得する場合とについて例を挙げて説明する。
A)オブジェクトの文字列の属性値による順番情報の取得例
例えば、順番情報取得部104は、文字列を含むオブジェクトである文字列オブジェクトに含まれる文字列の属性値を取得し、取得した文字列の属性値に応じた順番情報を取得する。例えば、順番情報取得部104は、文字列オブジェクトのうちの、予め指定されたフォントを含むオブジェクトが配置された第二のページ情報を、予め指定された出力順番とする出力情報を取得してもよい。また、文字列オブジェクトのフォントサイズの大きい順や、文字量の大小等の組合せに応じた出力順番を示す出力情報を取得しても良い。具体例を挙げると、順番情報取得部104は、文字列オブジェクトのうちの、一番文字サイズが大きい文字列を含むオブジェクトが配置された第二のページ情報を、1番目の出力順番とする順番情報を取得する。さらに、一番文字サイズが大きい文字列を含むオブジェクトを除いたオブジェクトのうちの、一番多い文字数の文字列オブジェクトが配置された第二のページ情報を、2番目の出力順番とする順番情報を取得する。このような順番情報を取得する際には、例えば、文字列オブジェクトの属性値についての条件を示す情報である「属性値条件」という項目と、予め出力順番を示す「順番情報」という項目とを有する出力順番決定情報が利用される。例えば、上記の場合、「属性値条件」の値が「文字サイズ=max」で、「順番情報」の値が「1」である出力順番決定情報と、「属性値条件」の値が「文字数=max」で、「順番情報」の値が「2」である出力順番決定情報を図示しない記憶媒体等に蓄積しておくようにする。そして、「順番情報」が「1」に対応する文字列オブジェクトとして、「文字サイズ=max」である文字列オブジェクト、即ち文字サイズが最大の文字列オブジェクトを検出して、検出した文字列オブジェクトの順番情報を「1」とする。また、「順番情報」が「2」に対応する文字列オブジェクトとして、「文字数=max」である文字列オブジェクト、即ち文字数が最大の文字列オブジェクトを検出して、検出した文字列オブジェクトの順番情報を「2」とする。なお、その他のオブジェクトが配置される第二のページ情報の順番情報については、ランダムや、第二のページ情報の取得順等、どのように取得しても良い。また、「順番情報」が「3」以降の出力順番決定情報等を用意するようにしても良い。あるいは、順番情報を取得しなくても良いし、その他のオブジェクトが配置された第二のページ情報をページ生成部102が生成しないようにしても良い。
B)オブジェクトの配置の属性値による順番情報の取得例
順番情報取得部104は、第二のページ情報に配置されるオブジェクトの、第一のページ情報における配置についての属性値を取得し、取得した配置についての属性値に応じた順番情報を取得する。具体例を挙げると、順番情報取得部104は、第一のページ情報が示す1以上のオブジェクトが配置されている領域内に対して、予め指定された走査を行ってオブジェクトを検出し、オブジェクトの検出順番に従って、各オブジェクトが配置される第二のページ情報の順番情報を取得する。予め指定された操作とは、例えば、第一のページ情報が示すオブジェクトが配置された領域に対する水平方向の走査を、上から下に向かって繰り返し行う走査である。この走査は、例えば、オブジェクトが配置される領域の最下部まで、もしくは全てのオブジェクトが検出されるまで行われる。水平方向の走査は、例えば右から左への走査である。なお、第二のページ情報が右開きのページ情報であれば、上記の水平方向の走査を、右から左への走査とし、左開きのページ情報であれば、上記の水平公報の走査を、左から右への走査としても良い。なお、走査の間隔等は問わない。また、走査位置が一のオブジェクトが配置されている領域に入った時点、もしくは、走査位置が一のオブジェクトが配置されている領域内の予め指定されている位置(例えば中心点等)を通過した時点で、そのオブジェクトが検出されたと判断して、その後は、同じオブジェクトの検出は行わないようにすることが好ましい。なお、水平方向の走査の代わりに上から下への垂直方向の走査を、左から右、あるいは、右から左に繰り返すようにしても良い。なお、走査を行う範囲は、順番情報の取得対象となるオブジェクトが配置されている領域内に限定して良い。例えば、ページ生成部102が、一の第一のページ情報に配置されている複数のオブジェクト群別に第二のページ情報を生成する場合、それぞれのオブジェクト群別にそれぞれのオブジェクトが配置されている領域内で走査を行って、順番情報をそれぞれ取得するようにすればよい。
また、順番情報取得部104は、例えば、第一のページ情報における各オブジェクトが配置されている領域の右上の座標を取得し、その値のy座標の値が大きいものから順に、オブジェクトを検出する。また、このとき、同じy座標の値のオブジェクトが存在する場合には、x座標の値が大きいオブジェクトを先に検出するようにする。そして、オブジェクトの検出順に順番情報を取得するようにしても良い。ただし、ここでの座標は、例えば第一のページ情報が示すページの左下隅を原点とし、水平右方向を正のx座標、垂直上方向を正のy座標とした場合の座標であるとする。
また、順番情報取得部104は、例えば、第一のページ情報における各オブジェクトが配置されている領域の左上の座標を取得し、その値のy座標の値が大きいものから順に、オブジェクトを検出する。また、このとき、同じy座標の値のオブジェクトが存在する場合には、x座標の値が小さいオブジェクトを先に検出するようにする。そして、オブジェクトの検出順に順番情報を取得するようにしても良い。ただし、ここでの座標は、例えば第一のページ情報が示すページの左下隅を原点とし、水平右方向を正のx座標、垂直上方向を正のy座標とした場合の座標であるとする。
なお、順番情報取得部104は、オブジェクトの文字列の属性値等のオブジェクト自身の属性値による順番情報を取得する処理と、オブジェクトの配置の属性値による順番情報を取得する処理とを適宜組み合わせて順番情報を取得するようにしてもよい。例えば、上述したように、第一のページ情報に配置されている順番情報の取得対象となるオブジェクトについて、上記の文字列の属性値による順番情報を取得する処理例で説明したように、フォントサイズと、文字量から1番目の順番情報と2番目の順番情報とを取得し、残りのオブジェクトについては、上述したオブジェクトの配置の属性による順番情報の取得例と同様に、予め指定された走査を行って、オブジェクトの検出順に第二のページ情報についての順番情報を取得するようにしても良い。また、第二のページ情報に配置されているオブジェクトを、右上に配置されるオブジェクト等からの距離が近いものから順に検出して、検出順に順番情報を取得するようにし、同じ距離(もしくは、差が予め指定された範囲となる距離)に配置されたオブジェクトが複数検出された場合に、オブジェクト自身の属性に応じて出力順番が先となる方を決定しても良い。例えば、同じ距離に複数のオブジェクトが検出された場合、フォントサイズの大きい方のオブジェクトが配置される第二のページ情報の順番情報を、出力順番が先となる順番情報にするようにしてもよい。
順番情報取得部104は、例えば、第二のページ情報に配置されるオブジェクトの1以上の属性値に対して、出力順番を決定するための1以上の判断処理を順次行って、それぞれの判断結果に対応した順番情報を取得する。
なお、予め出力順番と、オブジェクトの属性値についての条件である属性値条件とを対応付けて有する出力順番決定情報を、図示しない記憶媒体等に予め用意しておくようにし、順番情報取得部104が、第二のページ情報にそれぞれ配置されるオブジェクトの属性値が各属性値条件を満たすか否かを判断し、一の属性値条件を満たす場合に、その属性値条件に対応した順番情報を、第二のページ情報の順番情報として取得するようにしても良い。属性値条件は、例えば、「フォントサイズが一番大きい」、「フォントサイズが2番目に大きい」や、「文字数が一番多い」、「文字数が2番目に多い」や、「画素数が最も多い」等である。また、「ページの最も上部で、かつ最も左側(あるいは右側)に配置されている」や、「対応する出力順番よりも早い出力順番を示す順番情報に対応付けられたオブジェクト以外のオブジェクトの中で、ページの最も上部で、かつ最も左側(あるいは右側)に配置されている」等でも良い。また、属性値条件は、「ページに対して予め指定された走査を行った場合に検出されるn番目(nは、1以上の整数)のオブジェクト」等でも良い。また、この場合の属性値条件は、2以上の属性値についての条件を組みあわせたものでも良い。
また、予めオブジェクトから取得される1以上の属性値についての条件である属性値条件と、出力順番を決定する際の出力の優先度を示す値とを対応付けて有する優先度情報を図示しない記憶媒体等の格納部に予め用意しておくようにし、順番情報取得部104は、この優先度情報から、第二のページ情報に配置されるオブジェクトの属性値が満たす属性値条件に対応する優先度を示す値を取得して加算し、加算により得られた優先度の値が示す優先度の大きさの大きい順(あるいは小さい順)に、オブジェクトが配置される第二のページ情報の出力順番を決定して順番情報を取得するようにしても良い。
なお、順番情報取得部104が順番情報を取得するタイミングは問わない。例えば、ページ生成部102がページ情報を生成した後、順番情報を取得しても良いし、ページ生成部102がページ情報を生成する前に、第二のページ情報の生成対象となる第一のページ情報に配置されているオブジェクトを用いて、順番情報を取得しても良い。この場合、この順番情報に従って、順番情報取得部104が第二のページ情報を取得しても良い。
また、順番情報取得部104は、全ての第二ページ情報について順番情報を取得しなくても良い。
また、オブジェクトの属性値によって、順番情報が取得できない第二のページ情報があった場合、その第二のページ情報については、順番情報取得部104は、ランダムに、残りの順番情報を取得しても良いし、ページ生成部102の生成順に残りの順番情報を取得しても良い。
また、順番情報取得部104が取得する順番情報は、必ずしも連続した順番を示す情報でなくても良い。例えば、欠番等があってもよい。また、前の順番に対する次の順番を示す情報等でも良い。
順番情報取得部104が取得した順番情報は、例えば、対応する第二のページ情報と対応付けられて図示しないメモリやハードディスク等の記憶媒体等に蓄積される。順番情報取得部104は、通常、MPUやメモリ等から実現され得る。順番情報取得部104の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
プレビュー表示部105は、順番情報取得部104が取得した順番情報が示す第二のページ情報の出力順番に関するプレビュー画面を表示する。プレビュー表示部105は、順番情報取得部104が取得した順番情報を用いて、プレビュー画面を構成して図示しないモニタ等に表示する。プレビュー画面は、第二のページ情報の出力順番を認識可能な表示画面であればどのような画面でも良い。プレビュー画面は、例えば、第二のページ情報を示す情報と、順番情報とを対応付けて示す画面である。例えば、第二のページ情報を用いて作成したいわゆるサムネイル画像等の縮小画像と、順番情報とを対応付けて示す画面でも良い。あるいは、サムネイル画像等の縮小画像を順番情報が示す順番に配列した画面でもよい。また、第二のページ情報の識別情報と、順番情報とを対応付けて示す画面でも良い。あるいは、第二のページ情報を、順番情報が示す出力順番に沿って出力することが可能な画面でも良い。
プレビュー表示部105は、ディスプレイデバイスを含むと考えても含まないと考えても良い。プレビュー表示部105は、ディスプレイデバイスのドライバーソフトまたは、ディスプレイデバイスのドライバーソフトとディスプレイデバイス等で実現され得る。また、プレビュー表示部105は、サムネイル画像等を作成するためのMPUやGPUやメモリ等を有していても良い。
受付部106は、順番情報取得部104が取得した順番情報に対する変更指示を受け付ける。変更指示は、例えば、順番情報と、第二のページ情報との対応付けを変更する指示や、新たな順番情報を第二のページ情報に対応付ける指示である。例えば、プレビュー表示部105が表示したプレビュー画面において、第二のページ情報の縮小画像と、順番情報とが対応付けて表示されている場合において、ページ情報の順番情報の値を変更する変更指示を図示しない入力デバイス等を介して受け付けても良い。また、プレビュー表示部105が表示したプレビュー画面において、第二のページ情報の縮小画像が順番情報が示す順番で配置されて表示されている場合において、その縮小画像の配列を変更する操作を図示しない入力デバイス等を介して受け付けることで、第二のページ情報の出力順番を、変更後の配列が示すような出力順番となるよう変更する変更指示を受け付けても良い。例えば、受付部106は、4番目の順番情報と対応付けられている第二のページ情報と、5番目の順番情報と対応付けられている第二のページ情報とについて、対応付けられている順番情報を入れ替える変更指示を受け付ける。
ここで述べる受け付けとは、キーボードやマウス、タッチパネルなどの入力デバイスから入力された情報の受け付け、有線もしくは無線の通信回線を介して送信された情報の受信などを含む概念である。変更指示の入力手段は、テンキーやキーボードやマウスやメニュー画面によるもの等、何でも良い。受付部106は、テンキーやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
順番情報変更部107は、受付部106が受け付けた変更指示に応じて順番情報取得部104が取得した順番情報を変更する。順番情報変更部107は、例えば、変更指示に応じて第二のページ情報に対応付けられている順番情報を変更する。この変更は、上書きや書き換え等である。なお、順番情報を変更するとは、変更指示に応じて、順番情報と、第二のページ情報との対応付けを変更することも含む概念である。例えば、第二のページ情報と順番情報との対応関係が、変更指示が示す対応関係となるよう、第二のページ情報と順番情報との対応関係を変更しても良い。例えば、受付部106が、4番目の順番情報と対応付けられている第二のページ情報と、5番目の順番情報と対応付けられている第二のページ情報とについて、対応付けられている順番情報を入れ替える変更指示を受け付けた場合に、4番目の順番情報と対応付けられている第二のページ情報を5番目の順番情報と対応付け、5番目の順番情報と対応付けられている第二のページ情報を4番目の順番情報と対応付けるよう順番情報を変更する。
順番情報変更部107は、通常、MPUやメモリ等から実現され得る。順番情報変更部107の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
出力部108は、第二のページ情報と、順番情報とを有する出力情報を出力する。例えば、出力部108は、ページ生成部102が生成した第二のページ情報と、順番情報取得部104が取得した順番情報とを有する出力情報を出力する。また、例えば、順番情報変更部107により、順番情報取得部104が取得した順番情報が変更された場合、出力部108は、第二のページ情報と順番情報変更部107が変更した順番情報とを出力する。第二のページ情報と、順番情報とを有する出力情報とは、具体的には、第二のページ情報と、この第二のページ情報に対応付けられた順番情報とを有する出力情報である。出力部108は、第二のページ情報内に、対応する順番情報が配置されている出力情報を出力してもよい。
また、出力部108は、第一のページ情報と、リンク領域管理情報とを更に有する出力情報を出力してもよい。
なお、第二のページ情報と、順番情報とを有する出力情報を出力するということは、本実施の形態においては、第二のページ情報を用いて作成した出力用のデータと、順番情報とを含む出力情報を出力することも含む概念である。第二のページ情報を用いて作成した出力用のデータは、例えば、ページ情報の一部や全てをレンダリングして画像データ化して得られる情報や、ページ情報に配置されたオブジェクトを配置情報が示す位置に埋め込んで作成したデータ等であってもよい。あるいは、出力用のデータは、配置されている画像オブジェクト等のデータ形式や解像度等が変更されたものであっても良い。第一のページ情報についても同様である。
また、出力部108は、第一のページ情報と、第二のページ情報との出力先(あるいはこれらを用いて作成した出力用のデータの出力先)に応じて、リンク領域管理情報に含まれるリンク情報等を、出力後のリンク関係が保たれるよう書き換えるようにすることが好ましい。
出力部108が出力する出力情報は、例えば、モニタ等で表示可能な電子出版物のデータである。
ここで述べる出力とは、主として、図示しない記録媒体への蓄積であるが、外部の装置への送信、ディスプレイへの表示や、他の処理装置や他のプログラム等への処理結果の引渡し等を含む概念と考えても良い。出力部108は、ディスプレイ等の出力デバイスを含むと考えても含まないと考えても良い。出力部108は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
図2は、本実施の形態の情報処理装置1の動作を説明するためのフローチャートである。以下、情報処理装置1の動作について図2のフローチャートを用いて説明する。なお、ここでは、ページ情報格納部101に格納されている一の第一のページ情報について、第二のページ情報等を取得する処理を行う場合を例に挙げて説明する。
(ステップS201)ページ生成部102は、ページ情報格納部101に格納されている一の第一のページを読み出す。
(ステップS202)順番情報取得部104は、ステップS201で読み出した第一のページ情報に配置されているオブジェクトについて順番情報を取得する。この処理の詳細については後述する。
(ステップS203)ページ生成部102は、カウンターmに1を代入する。
(ステップS204)ページ生成部102は、ステップS201で読み出した第一のページ情報に配置されているオブジェクトのうちの、m番目の順番を示す順番情報に対応するオブジェクトを配置して、m番目の順番を示す順番情報に対応した第二のページ情報を生成する。例えば、m番目の順番を示す順番情報に対応するオブジェクトを拡大して配置した第二のページ情報を生成する。
(ステップS205)ページ生成部102は、m番目の順番を示す順番情報と、ステップS204で生成した第二のページ情報とを対応付けて、図示しない記憶媒体等に蓄積する。この蓄積は一時記憶でも良い。
(ステップS206)リンク領域管理情報取得部103は、ステップS201で読み出した第一のページ情報の各オブジェクトが配置されている領域上にリンク領域を指定するリンク領域指定情報を生成する。また、各リンク領域に配置されているオブジェクトが配置された第二のページ情報を示すリンク情報を取得する。そして、取得したリンク領域指定情報と、リンク情報とを対応付けて有するリンク領域管理情報を取得して図示しない記憶媒体等に蓄積する。この蓄積は一時記憶でも良い。
(ステップS207)ページ生成部102は、カウンターmの値を1インクリメントする。
(ステップS208)ページ生成部102は、ステップS201で読み出した第一のページ情報に配置されているオブジェクトの中に、m番目の順番を示す順番情報と対応付けられたオブジェクトがあるか否かを判断する。ある場合、ステップS204に戻り、ない場合、ステップS209に進む。
(ステップS209)プレビュー表示部105は、ステップS205で第二のページ情報と対応付けた順番情報と、第二のページ情報とを用いて、プレビュー画面を生成し、表示する。
(ステップS210)受付部106は、ステップS205で第二のページ情報と対応付けた順番情報についての変更指示を受け付けたか否かを判断する。受け付けた場合、ステップS211に進み、受け付けていない場合、ステップS212に進む。
(ステップS211)順番情報変更部107は、ステップS207で受け付けた変更指示に応じて順番情報を変更する。そして、ステップS213に進む。
(ステップS212)受付部106は、順番情報の変更を行わないことを示す指示を受け付けたか否かを判断する。受け付けた場合、ステップS213に進み、受け付けていない場合、ステップS210に戻る。
(ステップS213)出力部108は、第一のページ情報と、第二のページ情報と、順番情報と、リンク領域管理情報を有する出力情報を出力する。そして、処理を終了する。
なお、図2においては、一の第一のページ情報から第二のページ情報を生成する場合を例に挙げて説明したが、複数の第一のページ情報から、それぞれ第二のページ情報を生成する場合、上記のステップS201からステップS212までの処理を、各第一のページ情報について繰り返すようにすればよい。
次に、図3は、本実施の形態の情報処理装置1の、図2のステップS202において説明した順番情報を取得する処理の詳細の動作を説明するためのフローチャートである。以下、情報処理装置1の動作について図3のフローチャートを用いて説明する。
(ステップS301)順番情報取得部104は、ステップS201で読み出した第一のページ情報に配置されている各オブジェクトのうちの文字列オブジェクトから、文字列の属性値であるフォントサイズの値を取得する。そして、フォントサイズの値同士を比較して、最もフォントサイズの大きいオブジェクトを検出する。
(ステップS302)順番情報取得部104は、出力順番が1番目であることを示す順番情報である1番目の順番情報を取得し、ステップS301で検出したオブジェクトと対応付けて図示しない記憶媒体等に蓄積する。
(ステップS303)順番情報取得部104は、第一のページ情報に、未検出のオブジェクトがあるか否かを判断する。ここでの未検出のオブジェクトとは、ステップS301で検出したオブジェクト以外のオブジェクトである。ある場合、ステップS304に進み、ない場合、上位の処理にリターンする。リターンした際に、図示しない記憶媒体等にオブジェクトと対応付けて蓄積されている順番情報が、順番情報取得部104が取得した順番情報である。なお、未検出のオブジェクトか否かを判断するために、ステップS301で検出されたオブジェクトには、検出済であることを示すフラグ情報等を付与するようにしてもよい。かかることは以下の処理においても同様である。
(ステップS304)順番情報取得部104は、ステップS201で読み出した第一のページ情報に配置されている各オブジェクトのうちの、ステップS301で検出したオブジェクトを除いたオブジェクトのうちの文字列オブジェクトから、文字列の属性値である文字数の値を取得する。そして、文字数の値を比較して、最も文字数の多いオブジェクトを検出する。
(ステップS305)順番情報取得部104は、出力順番が2番目であることを示す順番情報である2番目の順番情報を取得し、ステップS304で検出したオブジェクトと対応付けて図示しない記憶媒体等に蓄積する。
(ステップS306)順番情報取得部104は、第一のページ情報に、未検出のオブジェクトがあるか否かを判断する。ここでの未検出のオブジェクトとは、ステップS301およびステップS304で検出したオブジェクト以外のオブジェクトである。ある場合、ステップS307に進み、ない場合、上位の処理にリターンする。
(ステップS307)順番情報取得部104は、カウンターnに3を代入する。
(ステップS308)順番情報取得部104は、第一のページ情報が示すページに対して、予め指定された走査を行って、オブジェクトを検出する。ただし、既に検出済のオブジェクトは検出対象外とする。
(ステップS309)順番情報取得部104は、出力順番がn番目であることを示す順番情報であるn番目の順番情報を取得し、ステップS308で検出したオブジェクトと対応付けて図示しない記憶媒体等に蓄積する。
(ステップS310)順番情報取得部104は、第一のページ情報に未検出のオブジェクトがあるか否かを判断する。ここでの未検出のオブジェクトとは、ステップS301、ステップS304およびステップS308で検出したオブジェクト以外のオブジェクトである。ある場合、ステップS311に進み、ない場合、上位の処理にリターンする。
(ステップS311)順番情報取得部104は、カウンターnの値を1インクリメントする。
以下、本実施の形態における情報処理装置1の具体的な動作について説明する。
図4は、ページ情報格納部101に格納されている第一のページ情報の表示例を示す図である。図4において、オブジェクトの周囲に配置される枠線は、説明のための便宜上のものであり、第一のページ情報が示すページに配置されたオブジェクトが占める領域を示したものであり、実際には表示は不要である。各オブジェクトの右上に記載されている番号は、後述するオブジェクトIDである。なお、オブジェクトIDは、説明のための便宜上の表示であり、実際には表示する必要はない。なお、図4は、説明のための便宜上の図であり、必ずしも寸法や縦横比等は正確ではない。
図5は、第一のページ情報を管理するページ管理表を示す図である。ページ管理表は、ページ情報格納部101に格納されている。ページ管理表は、「ページID」、「オブジェクトID」、「オブジェクト」、「フォント」、「フォントサイズ」、「中心座標x」、「中心座標y」、「幅」、「高さ」、「オブジェクト種類」等の項目を有している。「ページID」は、ページ識別情報である。各オブジェクトは、対応する「ページID」が示すページ上に配置されている。図4に示したページは、図5のページ管理表の、「ページID」の値が「L1」であるオブジェクトを配置した第一のページ情報の表示例である。「オブジェクトID」は、オブジェクトを管理するための識別情報、「オブジェクト」は、ページに配置されるオブジェクトである。「フォント」は、配置された文字列オブジェクトのフォント名、「フォントサイズ」は、配置された文字列オブジェクトのフォントサイズである。フォントサイズの単位は、ここでは一例としてポイントであるとする。「中心座標x」、「中心座標y」、「幅」、「高さ」は、オブジェクトの配置情報である。「中心座標x」は、オブジェクトが配置されている領域の中心のx座標、「中心座標y」は、オブジェクトが配置されている領域の中心のy座標、「幅」は、オブジェクトが配置されている領域の幅、「高さ」は配置されている領域の高さである。なお、座標や幅や高さの単位としては、ここでは一例としてピクセルを用いている。「オブジェクト種類」はオブジェクトの種類を示し、「文字列」は文字列オブジェクト、言い換えればテキストで構成されたオブジェクトである。また、「画像」は画像オブジェクトである。「検出フラグ」は、順番情報を取得する際に、検出済であるか否かを示す値であり、値が「0」は未検出であることを示し、値が「1」は検出済であることを示す。図5のページ管理表においては、ページIDの値が同じレコードは、同じ第一のページ情報を示す情報であるとする。
図6は、第一のページ情報のページ定義情報を管理するページ定義管理表を示す図である。ページ定義管理表は、「ページID」と「幅」と「高さ」の情報を有している。「ページID」は、図5に示したページ管理表の「ページID」の値と対応する。「幅」および「高さ」は、ここでは、オブジェクトが配置されたページの幅および高さであり、値はピクセルであるとする。ここでは、ページ情報格納部101には、「ページID」が「1」である第一のページ情報が一つだけ格納されている場合を例に挙げて説明する
まず、ユーザが、ページ情報格納部101に格納されている「ページID」が「L1」である第一のページ情報を処理する指示を、情報処理装置1に与えたとする。
ページ生成部102は、「ページID」が「L1」である第一のページ情報を図示しないメモリ等の記憶媒体に読み出す。
次に、順番情報取得部104は、第一のページ情報に配置されているオブジェクトを用いて順番情報を取得する。具体的には、まず、順番情報の値の初期値として「1」を取得する。そして、図5のページ管理表から、「オブジェクト種類」の値が「文字列」である文字列オブジェクトのレコードを検出し、さらに、その中から、「フォントサイズ」の値が最も大きいレコードを検出する。そして、そのレコードの「オブジェクトID」の値を取得する。ここでは、「オブジェクトID」の値が「OB001」であるレコードの「オブジェクト種類」の値は「文字列」であり、「フォントサイズ」の値が、他の「オブジェクト種類」の値が「文字列」であるレコードの「フォントサイズ」よりも大きい値である「32」であることから、順番情報取得部104は、この「オブジェクトID」の値「OB001」を取得する。そして、取得した「オブジェクトID」の値である「OB001」を、上記で取得した順番情報の値「1」と対応付けて、図示しないメモリ等の記憶媒体に一時記憶する。順番情報の値「1」は、オブジェクトが配置された第二のページ情報の出力順番が1番目であることを示す値であるとする。また、順番情報取得部104は、図5のページ管理表のこのレコードの「検出フラグ」の値を「1」に変更する。
図7は、図示しないメモリ等の記憶媒体に一時記憶された順番情報が取得した「オブジェクトID」の値と、「順番情報」とを対応付けて有するオブジェクト順番管理情報を示す図である。
次に、順番情報取得部104は、順番情報の値を1インクリメントして、順番情報の値「2」を取得する。そして、図5のページ管理表のうちの「検出フラグ」の値が「0」であるレコードの中から、「オブジェクト種類」の値が「文字列」である文字列オブジェクトのレコードを検出し、さらに、検出した各レコードの「オブジェクト」の値の文字数をカウントして、カウント値を比較して文字数の最も多いレコードを検出する。そして、そのレコードの「オブジェクトID」の値を取得する。なお、文字数のカウントは、文字のバイト数のカウントと考えても良い。ここでは、「オブジェクトID」の値が「OB003」であるレコードの「オブジェクト」の文字数が、他の「オブジェクト種類」の値が「文字列」であるレコードの「オブジェクト」の文字数よりも多かったとすると、順番情報取得部104は、この「オブジェクトID」の値「OB003」を取得して、上記で取得した順番情報の値「2」と対応付けて、図示しないメモリ等の記憶媒体に追記する。ここでは、図7に示したオブジェクト順番管理情報に、「オブジェクトID」の値「OB003」と、「順番情報」の値「2」とを有するレコードを追記する。そして、図5のページ管理表のこのレコードの「検出フラグ」の値を「1」に変更する。
次に、順番情報取得部104は、残りのオブジェクトについては、ページにおけるオブジェクトの配置に応じて順番情報を取得する。まず、順番情報取得部104は、順番情報の値を1インクリメントして順番情報の値「3」を取得し、ページの右上の隅の座標を起点として、左向きの水平方向に、ページの右端から左端まで、x座標の値をピクセル単位等で変化させながらオブジェクトを検出するための走査を行う。また、水平方向の走査がページの左端に達した場合、再度、予め指定した間隔を隔てて同様の左方向への水平の走査を繰り返す。予め指定した間隔は、1ピクセル等の固定値でも良いが、ここでは、「検出フラグ」の値が「0」であるオブジェクトの高さの値の最小値を用いることが好ましい。そして、走査位置が、「検出フラグ」の値が「0」であるオブジェクトが配置されている領域内に入った時点で、そのオブジェクトの「オブジェクトID」を取得して、新たに取得した順番情報の値「3」とを対応付けて図示しないメモリ等に追記する。例えば、図5のページ管理表の「検出フラグ」の値が「0」であるレコードの「中心座標x」、「中心座標y」、「幅」、「高さ」を用いて、未検出のオブジェクトの配置された領域のx座標の値の範囲と、y座標の値の範囲とをそれぞれ算出する。そして、走査位置が動くごとに走査位置が示す座標と、算出した各オブジェクトの配置された領域のx座標とy座標の値の範囲とを比較する。そして、走査位置のx座標とy座標の両方が、一のオブジェクトが配置されたx座標の値の範囲と、y座標の値の範囲とに入っていた場合、この一のオブジェクトの「オブジェクトID」の値を、新たに取得した順番情報の値と対応付けて、上記と同様にメモリ等の記憶媒体に蓄積する。また、この「オブジェクトID」を含むページ管理表のレコードの「検出フラグ」の値を「1」に変更する。そして、順番情報の値を一ずつインクリメントしながら、「検出フラグ」の値が「0」であるオブジェクトがなくなるまでオブジェクトを検出する走査を続ける。
ここでは、上述したような左上隅からの水平方向の走査を、予め指定された間隔をへだてて下方向にずらしながら繰り返し行った結果、「オブジェクトID」が「OB001」、「OB005」、「OB004」である各オブジェクトが、この順番で検出されたとする。
図8は、第一のページ情報に配置された全てのオブジェクトについて順番情報を取得した時点でのオブジェクト順番管理情報を示す図である。
次に、ページ生成部102は、メモリ等に読み出した第一のページ情報に配置されているオブジェクトをそれぞれ配置した第二のページ情報を生成する。
まず、ページ生成部102は、順番情報が「1」である第二のページ情報を生成する。ページ生成部102は、図8に示したオブジェクト順番管理情報から、「順番情報」の値「1」に対応する「オブジェクトID」の値である「OB002」を取得する。そして、「オブジェクトID」が「OB002」であるオブジェクトを、図5に示したページ管理表において検出する。次に、新たに第二のページ情報のページを示すページ識別情報を生成する。ここでは、一例として、ページ生成部102は、第一のページ情報のページ識別情報を複製してページ識別情報を生成する。このページの「ページID」の値は「L201」とする。そして、検出したオブジェクトを、生成したページ識別情報が示すページに配置して、第二のページ情報を構成する配置情報を生成する。オブジェクトは、デフォルト等の設定によって、オブジェクトの上辺のy座標が予め指定した座標となるようにして、オブジェクト領域内にセンタリングして配置されるものとする。なお、ここでは、第一のページ情報に配置されていた「オブジェクトID」が「OB001」であるオブジェクトをそのまま参照してページに配置するものとする。つまり、オブジェクトに対するリンクを配置しているものとする。この場合も、ここでは、第二のページ情報には、実質的に配置されたオブジェクトが含まれていると考えて良い。
ここで、第一のページ情報に配置されている状態でのフォントサイズが、予め指定されたサイズ以下の文字列オブジェクトは、第二のページ情報を生成する際にオブジェクトのサイズを予め指定された倍率で拡大して配置し、その他のオブジェクトについては、そのままのサイズで配置するという第二のページ情報を生成するためのルールがここでは、予め指定されていたとする。この予め指定されたサイズは「14」で、予め指定された倍率は140%であったとする。
ページ生成部102は、「オブジェクトID」が「OB002」であるオブジェクトに対応した「フォントサイズ」の値が「32」であり、「14」よりも大きいため、このオブジェクトを、第一のページ情報に配置されているサイズと同じサイズで配置する。
さらに、ページ生成部102は、第二のページ情報のページに第一のページ情報に対するリンク情報と対応付けられたボタンを配置する。ボタンの配置される位置は問わない。例えば第二のページ情報のテンプレート等に位置等が指定されているようにしてもよい。ボタンの画像や文字列等は、例えば、ページ生成部102が予め有しているものや、図示しない格納部等に予め格納されているものを読み出すようにする。リンク情報は、例えば、第一のページ情報に対する相対的なリンク情報や絶対的なリンク情報を取得して、ボタンに設定する。また、リンク情報として、リンク先となるページ情報の「ページID」の値を用いてもよい。この場合、ページ情報を用いて出力を行う際に、このページIDを、適宜、ページ情報を用いて出力される情報のファイルパス等のリンク情報に置き換えるようにしても良い。また、ボタンには、ボタンに対する予め指定された操作に応じて第一のページ情報を出力させる処理を実行させるためのスクリプト等のプログラムを対応付けておくようにしても良い。
このようにして取得されたページ識別情報と、オブジェクトと、配置情報とで構成される情報が、「オブジェクトID」が「OB001」であるオブジェクトグループを構成するオブジェクトが配置される第二のページ情報である。
なお、上記のボタンのオブジェクトや、ボタンに対応付けられたリンク情報やアクションを実行させるプログラム等は、例えば、第二のページ情報のページ管理表等や、図示しないボタン管理情報等で管理するようにすればよい。
ページ生成部102は、上記の処理により取得した「オブジェクトID」が「OB002」であるオブジェクトが配置された第二のページ情報を、順番情報の値「1」と対応付けて、図示しない記憶媒体等に一時記憶する。
図9は、ページ生成部102が生成した第二のページ情報を管理する第二ページ管理表である。この第二ページ管理表は、図5に示したページ管理表において、「順番情報」という項目を設けたものである。ここでは、第一のページ情報の「オブジェクトID」が「OB001」であるオブジェクトが配置された第二のページ情報の「ページID」は「L201」である。なお、「オブジェクト」の値は、ここでは、第一のページ情報に配置されているリンク先のオブジェクトであるとする。なお、ページ管理表と第二ページ管理表とを1のページ管理表で管理するようにしても良い。
図10は、ページ生成部102が生成した第二のページ情報のページ定義情報を管理するページ定義管理表を示す図である。なお、このページ定義管理表と、図6に示したページ定義管理表とを一のテーブル等で管理しても良い。
次に、リンク領域管理情報取得部103は、第一のページ情報の「オブジェクトID」が「OB002」であるオブジェクト上の領域をリンク領域に指定するリンク領域指定情報を取得する。ここでは、リンク領域指定情報として、このオブジェクトの識別情報と、リンク領域が設定される第一のページ情報の「ページID」を取得する。具体的には、1番目のオブジェクトの「オブジェクトID」である「OB002」をリンク領域指定情報として取得する。これにより、この「オブジェクトID」に対応するオブジェクトの配置情報が示すオブジェクト上の領域がリンク領域に指定されたこととなる。また、この「オブジェクトID」が「OB002」であるオブジェクトが配置された第二のページ情報へのリンク情報として、このオブジェクトが配置された第二ページ情報の「ページID」である「L201」を取得する。そして、取得したリンク領域指定情報と、リンク情報とを対応付けたリンク領域管理情報を図示しないメモリ等に一時記憶する。なお、リンク領域指定情報としてオブジェクトIDを取得する代わりに、オブジェクトが配置されている領域を示す座標等の情報を取得しても良い。
図11は、リンク領域管理情報取得部103が取得したリンク領域管理情報を示す図である。リンク領域管理情報は、「リンク領域ID」「リンク領域指定情報」と「リンク先ページID」とを有する。「リンク領域指定情報」は、「ページID」、「オブジェクトID」を有する。「リンク領域ID」はリンク領域の識別情報である。「リンク領域指定情報」の「ページID」は、リンク領域が設定されるページ情報を示すもので、図6で示したページ定義管理表の「ページID」に対応する。「オブジェクトID」は、リンク領域をこのオブジェクトIDが示すオブジェクトが占める領域に指定するための情報であり、図5に示したページ管理表の「オブジェクトID」の値に対応する。「リンク先ページID」は、リンク先を示すリンク情報として用いられる「ページID」であり、図10等に示した「ページID」に対応する。ここでは、リンク領域には、「ページID」が「L201」であるページ情報に対するリンク情報が対応付けられていることを示している。
ページ生成部102は、更に、「順番情報」が「2」以降のオブジェクトについても、順次、上記と同様に、順番情報と対応付けられた第二のページ情報およびリンク領域管理情報を生成する。
例えば、「順番情報」が「2」であるオブジェクトの「フォントサイズ」は、「12」であり、「14」よりも小さいため、このオブジェクトは、140%のサイズに拡大されて、第二のページ情報に配置される。
図12は、第一のページ情報に配置されている全てのオブジェクトをそれぞれ配置した第二のページ情報を生成した結果として得られた第二ページ管理表を示す図である。
また、図13は、第一のページ情報に配置されている全てのオブジェクトをそれぞれ配置した第二のページ情報のページ定義管理表を示す図である。
ページ生成部102による第二のページ情報を生成する処理が終了した場合、プレビュー表示部105は、図示しないモニタ等にページ生成部102が生成した全ての第二のページ情報のサムネイル画像を、第二ページ管理表を用いて作成し、これらを第二のページ情報の順番情報順に配列したプレビュー画面を表示する。順番情報順とは、ここでは、順番情報の値の昇順とする。なお、プレビュー画面の表示は、ユーザの指示に応じて行うようにしてもよい。
図14は、第二のページ情報のプレビュー画面の表示例を示す図である。なお、プレビュー画面を構成するサムネイル画像として、第一のページ情報に戻るボタン等を含まないサムネイル画像を生成するようにしてもよい。
ここで、ユーザがマウス等の入力デバイス等を操作して、順番情報が「4」である第二のページ情報のサムネイル画像をドラッグして、順番情報が「5」である第二のページ情報のサムネイル画像と入れ替えたとする。
図15は、サムネイル画像を入れ替えた状態のプレビュー画面を示す図である。
この操作によって、受付部106は、順番情報が「4」である第二のページ情報と順番情報が「5」である第二のページ情報の順番情報を入れ替える変更指示を受け付ける。
順番情報変更部107は、受付部106が受け付けた変更指示に応じて、順番情報が「4」である第二のページ情報と順番情報が「5」である第二のページ情報の順番情報を入れ替える。
図16は、変更指示に応じて順番情報が変更された第二ページ管理表を示す図である。
そして、出力部108は、作成した第二のページ情報と順番情報とを有する出力情報を出力する。この出力は、ユーザからの指示に応じて行われても良いし、変更指示による変更が終了した時点や、予め指定されたトリガー等に応じて行われても良い。ここでは、出力部108は、例えば、出力情報を図示しない記憶媒体等に蓄積する。ここでの出力情報は、例えば、図16の第二ページ管理表と、図5に示したページ管理表と、図6および図13で示したページ定義管理表と、図11に示したリンク領域管理情報を含む情報である。なお、出力情報は、どのようなフォーマットやファイル形式の情報であっても良い。また、文字列オブジェクト等を適宜レンダリングすることで画像オブジェクト等に変換した情報であっても良い。
ここで、出力部108が出力した出力情報を、この出力情報を出力可能な情報閲覧装置20で開いて、モニタ等に表示させて操作を行う場合について説明する。情報閲覧装置20はいわゆるビューアである。情報閲覧装置20は、例えば携帯電話や、携帯情報端末等であっても良いし、コンピュータ等であっても良い。なお、ここでは、指等でタッチ操作可能な情報閲覧装置20で、この情報閲覧装置20の記憶媒体等の格納部に蓄積された出力情報を出力する場合を例に挙げて説明する。
まず、ユーザがメニュー等を操作して、出力情報を表示させる指示を与えると、情報閲覧装置20は、図示しない格納部等に格納されている出力情報から、1番目の出力順番を示す順番情報と対応づけられた第二のページ情報を取得する。具体的には、出力情報に含まれる図12に示した第二ページ管理表と、図13に示したページ定義管理表とから、「順番情報」の値が「1」であるレコードの情報を取得する。例えば、ページID「L201」と対応づけられたページ定義情報や、オブジェクトID「OB002」と対応づけられたオブジェクトや配置情報を取得する。そして取得した情報を用いて情報閲覧装置20は、順番情報「1」に対応した第二のページ情報を表示する。
図17は、順番情報「1」に対応した第二のページ情報の表示例を示す図である。なお、ページ情報を表示とは、ここでは、ページ情報が示すページが表示されることと考えてもよいし、ページ情報が示すページ等が表示されることと考えてもよい。
つぎに、ユーザが、情報閲覧装置20に対して、現在表示されている第二のページ情報の次の第二のページ情報を表示する操作を行ったとする。この操作は、図示しない次のページ情報を表示するためのメニュー項目の操作であってもよいし、予め指定されている次の第二のページ情報を表示する操作(例えば、表示されている第二のページ情報上を、カーソルや指で右から左へなぞる操作)であってもよい。ここでは、例えば、情報閲覧装置20が、図17に示すように、「次へ」という文字列を有する次のページ情報を表示するためのボタン170を入力インターフェースとして表示しており、このボタンをタップ操作することで、情報閲覧装置20は、出力順番が次の第二のページ情報の表示指示を受け付け、この第二のページ情報の表示処理を行う。具体的には、まず、情報閲覧装置20は、現在表示されている第二のページ情報に対応づけられた順番情報の次の出力順番を示す順番情報を取得する。ここでは、現在の順番情報の値「1」に1を加算することで、次の出力順番を示す順番情報である「2」を取得する。そして、2番目の順番情報「2」と対応づけられた第二のページ情報を上記と同様に取得する。例えば、ページID「L202」と対応づけられたページ定義情報や、オブジェクトID「OB003」と対応づけられたオブジェクトや配置情報を取得する。そして取得した情報を用いて情報閲覧装置20は、順番情報「2」に対応した第二のページ情報を表示する。
図18は、順番情報「2」に対応した第二のページ情報の表示例を示す図である。
さらに、次の第二のページ情報を表示する操作を行うと、順番情報「3」と対応づけられた第二のページ情報が表示されるが、ここでは、ユーザが、表示されている第二のページ情報に表示されている第一のページ情報と対応づけられたボタン180を押したとすると、情報閲覧装置20は第一のページ情報を出力情報から読み出して、第一のページ情報を表示する。
図19は、第一のページ情報の表示例を示す図である。
第一のページ情報においては、各オブジェクト情報上に、リンク領域管理情報によって、リンク領域が設定されていることにより、各オブジェクトがボタンとなっており、各オブジェクトに対してユーザがタップ操作をすると、図11に示したようなリンク領域管理情報に応じて、タップされたオブジェクトが配置された第二のページ情報が読み出され、表示される。
なお、ここでは、次の第二のページ情報を受け付けるボタン等を、情報閲覧装置20が表示するようにしたが、各第二のページ情報に、次の出力順番の第二のページ情報の表示指示を受け付けるためのボタン等を配置しておくようにしてもよい。この場合も、現在表示されているページ情報の次のページ情報を表示することを示す情報だけを、ボタンに設定しておくようにすればよく、次に表示する第二のページ情報に対するリンク情報等をボタンに設定しなくてもよい。
また、ここでは、次の出力順番の第二のページ情報を表示する操作について説明したが、あらかじめ指定された操作等を受け付けることで、現在表示されている第二のページ情報の前の出力順番の第二のページ情報を表示するようにしてもよい。この場合、上記の処理において、現在表示されている第二のページ情報の順番情報に対して一つ前の順番情報を取得するようにすればよい。
また、一つ前や一つ次の順番情報を取得する代わりに、あらかじめ指定された操作に応じて、2以上前や後の順番情報を取得して、この順番情報に対応した第二のページ情報を表示するようにしてもよい。このようにすることで、例えば複数ページめくり等が可能となる。
このように、情報処理装置1が出力した出力情報に対し、情報閲覧装置20を操作して第二のページ情報を順次表示する表示指示を与えると、順番情報が示す出力順番で第二のページ情報が表示される。
図20は、上述したような情報処理装置1が出力する出力情報を出力する情報閲覧装置20の構成の一例を示すブロック図である。
情報閲覧装置20は、出力情報格納部201、表示指示受付部202、出力情報取得部203、出力情報表示部204とを備える。
出力情報格納部201には、情報処理装置1が出力する出力情報が蓄積される。出力情報格納部201は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
表示指示受付部202は、マウスやタッチパネル等の入力デバイス等を介して、ユーザからの出力情報格納部201に格納されている出力情報の表示指示を受け付ける。この表示指示は、第一のページ情報や、第二のページ情報を表示する指示である。この表示指示は、表示対象の第一のページ情報や、第二のページ情報を直接指定する指示を含んでも良い。例えば、表示指示受付部202は、第一のページ情報のリンク領域に対する操作に応じて、対応する第二のページ情報を出力する指示を受け付けても良い。また、出力情報に含まれる第二のページ情報を順番情報に応じた順番で表示する表示指示を含んでも良い。具体的には、予め指定された操作が行われるごとに、順番情報が示す順番で、順番情報に対応付けられた第二のページ情報を表示する指示を受け付けても良い。また、順番情報を指定することで、第二のページ情報を表示する指示でもよい。また、順番情報に従って、第二のページ情報を自動的に順次読み出して自動再生する指示を受け付けても良い。なお、順番情報が示す順番で表示する指示は、順番情報が示す順番を利用して表示する指示であれば、どのように順番情報を利用するかは問わない。ここで述べる受付とは、例えば、入力手段からの受付である。入力手段は、テンキーやキーボードやマウスやメニュー画面によるもの等、何でも良い。表示指示受付部202は、テンキーやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
出力情報取得部203は、表示指示により指示される出力情報を取得する。具体的には、出力情報取得部203は、第一のページ情報や第二のページ情報を、出力情報格納部201から取得する。例えば、順番情報が示す順番で出力情報に含まれる第二のページ情報を読み出す指示を受け付けた場合、指示を受け付けるごとに、次の順番(もしくは、前の順番)を示す順番情報と対応付けられた第二のページ情報を読み出しても良いし、順番情報が示す順番にそって、予め指定されたタイミングで、第二のページ情報を順次読み出しても良い。出力情報取得部203は、通常、MPUやメモリ等から実現され得る。出力情報取得部203の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
出力情報表示部204は、出力情報取得部203が読み出した出力情報を表示する。例えば、出力情報取得部203が順番情報が示す順番に応じて取得した第二のページ情報を表示する。出力情報表示部204は、ディスプレイデバイスを含むと考えても含まないと考えても良い。出力情報表示部204は、ディスプレイデバイスのドライバーソフトまたは、ディスプレイデバイスのドライバーソフトとディスプレイデバイス等で実現され得る。
以上、本実施の形態によれば、第一のページ情報におけるオブジェクトのページ等から各オブジェクトが配置されている第二のページ情報を取得することで、表示領域の制限された情報閲覧装置等でも閲覧しやすいページ情報を生成するとともに、この第二のページ情報に、オブジェクトが閲覧される順番として適していると考えられる順番情報を取得して対応づけることができ、この順番情報が示す順番で第二のページ情報を閲覧させることができるようになるため、閲覧性に優れた第二のページ情報を提供することが可能となる。
なお、上記各実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
また、上記各実施の形態において、一の装置に存在する2以上の通信手段(情報送信部など)は、物理的に一の媒体で実現されても良いことは言うまでもない。
また、上記実施の形態において、各構成要素が実行する処理に関係する情報、例えば、各構成要素が受け付けたり、取得したり、選択したり、生成したり、送信したり、受信したりする情報や、各構成要素が処理で用いるしきい値や数式、アドレス等の情報等は、上記説明で明記していない場合であっても、図示しない記録媒体において、一時的に、あるいは長期にわたって保持されていてもよい。また、その図示しない記録媒体への情報の蓄積を、各構成要素、あるいは、図示しない蓄積部が行ってもよい。また、その図示しない記録媒体からの情報の読み出しを、各構成要素、あるいは、図示しない読み出し部が行ってもよい。
また、上記各実施の形態では、情報処理装置がスタンドアロンである場合について説明したが、情報処理装置は、スタンドアロンの装置であってもよく、サーバ・クライアントシステムにおけるサーバ装置であってもよい。後者の場合には、受付部や出力部は、通信回線を介して入力を受け付けたり、画面を出力したりすることになる。
また、上記各実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。
なお、上記各実施の形態における情報処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータを、ページ情報格納部に格納されている少なくとも文字列または画像を含む一以上のオブジェクトが配置されたページの情報である第一のページ情報に配置された一以上のオブジェクトを配置したページの情報である第二のページ情報を生成するページ生成部と、第二のページ情報に配置されるオブジェクトの属性値を取得し、属性値に応じて各オブジェクトが配置される第二のページ情報の出力順番を示す情報である順番情報を取得する順番情報取得部と、第二のページ情報と、順番情報とを有する出力情報を出力する出力部として機能させるためのプログラムである。
なお、上記プログラムにおいて、上記プログラムが実現する機能には、ハードウェアでしか実現できない機能は含まれない。例えば、情報を取得する取得部や、情報を出力する出力部などにおけるモデムやインターフェースカードなどのハードウェアでしか実現できない機能は、上記プログラムが実現する機能には含まれない。
また、このプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
図21は、上記プログラムを実行して、上記実施の形態による情報処理装置を実現するコンピュータの外観の一例を示す模式図である。上記実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムによって実現されうる。
図21において、コンピュータシステム900は、CD−ROM(Compact Disk Read Only Memory)ドライブ905、FD(Floppy(登録商標) Disk)ドライブ906を含むコンピュータ901と、キーボード902と、マウス903と、モニタ904とを備える。
図22は、コンピュータシステム900の内部構成を示す図である。図22において、コンピュータ901は、CD−ROMドライブ905、FDドライブ906に加えて、MPU(Micro Processing Unit)911と、ブートアッププログラム等のプログラムを記憶するためのROM912と、MPU911に接続され、アプリケーションプログラムの命令を一時的に記憶すると共に、一時記憶空間を提供するRAM(Random Access Memory)913と、アプリケーションプログラム、システムプログラム、及びデータを記憶するハードディスク914と、MPU911、ROM912等を相互に接続するバス915とを備える。なお、コンピュータ901は、LANへの接続を提供する図示しないネットワークカードを含んでいてもよい。
コンピュータシステム900に、上記実施の形態による情報処理装置等の機能を実行させるプログラムは、CD−ROM921、またはFD922に記憶されて、CD−ROMドライブ905、またはFDドライブ906に挿入され、ハードディスク914に転送されてもよい。これに代えて、そのプログラムは、図示しないネットワークを介してコンピュータ901に送信され、ハードディスク914に記憶されてもよい。プログラムは実行の際にRAM913にロードされる。なお、プログラムは、CD−ROM921やFD922、またはネットワークから直接、ロードされてもよい。
プログラムは、コンピュータ901に、上記実施の形態による情報処理装置の機能を実行させるオペレーティングシステム(OS)、またはサードパーティプログラム等を必ずしも含んでいなくてもよい。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいてもよい。コンピュータシステム900がどのように動作するのかについては周知であり、詳細な説明は省略する。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。