以下、本発明の実施の形態について図面を参照して説明する。以下の説明では同一の部品には同一の符号を付してある。それらの名称および機能も同じである。したがってそれらについての詳細な説明は繰り返さない。以下の説明では、文書管理システムの一例としてパーソナルコンピュータ(以下「PC」という)を用いる場合を例に説明する。
図1は、本発明の実施の形態の1つにおけるPCのハードウェア構成の一例を示すブロック図である。図1を参照して、PC100は、それぞれがバス120に接続された中央演算装置(CPU)101と、CPU101が実行するプログラム等を記憶するためのROM(Read Only Memory)103と、CPU101の作業領域として用いられるRAM(Random Access Memory)105と、大容量記憶装置としてのハードディスクドライブ(HDD)107と、PC100をインターネットに接続するための通信I/F111と、ユーザとのインターフェースとなる操作部113と、フラッシュメモリ108が装着されるカードI/F109と、を含む。
CPU101は、PC100の全体を制御する。また、CPU101は、ROM103に記憶された文書管理プログラムを実行する。また、CPU101は、カードI/F109を介してフラッシュメモリ108に記憶された文書管理プログラムをRAM105にロードし、実行するようにしてもよい。
操作部113は、キーボードとマウス等のポインティングデバイスとを含む入力部115と、データを表示する液晶表示装置等からなる表示部117とを含む。なお、表示部117は、液晶表示装置に代えて、有機EL(Electro Luminescence)ディスプレイ、陰極線管等であってもよい。
なお、CPU101が実行するためのプログラムを記憶する記録媒体としては、フラッシュメモリ108に限られず、フレキシブルディスク、カセットテープ、光ディスク(CD−ROM(Compact Disc−Read Only Memory)/MO(Magnetic Optical Disc)/MD(Mini Disc)/DVD(Digital Versatile Disc))、ICカード、光カード、マスクROM、EPROM(Erasable Programmable ROM)およびEEPROMなどの半導体メモリ等の媒体でもよい。
さらに、CPU101がインターネットに接続されたコンピュータから文書管理プログラムをダウンロードしてHDD107に記憶する、または、インターネットに接続されたコンピュータが文書管理プログラムをHDD107に書込みするようにしてCPU101で実行するようにしてもよい。ここでいう文書管理プログラムは、CPU101により直接実行可能なプログラムだけでなく、ソースプログラム、圧縮処理されたプログラム、暗号化されたプログラム等を含む。
図2は、PC100が有する機能の一例を示す機能ブロック図である。図2を参照して、PC100は、HDD107に記憶された複数の文書データを編集する文書データ編集部10と、文書テーブル管理部20と、表示制御部30と、を含む。
文書データ編集部10は、HDD107に記憶された複数の文書データのうち2つの文書データ間でページを移動する処理を実行する。ここでは、ページの移動元の文書データを第1文書データとし、移動先の文書データを第2文書データという。文書データ編集部10は、HDD107に記憶された複数の文書データのうちから処理対象となる第1文書データと第2文書データとを選択する選択部11と、第1文書データに含まれるページを第2文書データに移動する移動部13と、を含む。
選択部11は、HDD107に記憶されている複数の文書データをそれぞれ識別するための複数の文書識別情報を表示部117に表示し、ユーザが表示部117に表示された複数の文書識別情報のいずれかを選択する指示を入力部115に入力すると、文書識別情報を選択する指示を受け付け、受け付けられた指示に従って、選択された文書識別情報で特定される文書データを処理対象に選択する。選択部11は、処理対象として選択された文書データを移動部13に出力する。
移動部13は、選択部11より入力される第1文書データ中のページを削除し、第1文書データから削除されたページを選択部11より入力される第2文書データに追加する。具体的には、選択部11より入力される第1文書データを表示部117に表示し、ユーザが移動対象となるページを選択する指示を入力部115に入力すると、入力される指示で特定されるページを選択する。次に、選択部11より入力される第2文書データを表示部117に表示し、ユーザが先に第1文書データ中で選択した移動対象となるページを挿入する位置を指定する指示を入力部115に入力すると、入力された指示で特定される第2文書データ中の位置に、先に第1文書データ中で選択された移動対象のページを挿入するとともに、第1文書データから第1文書データ中で選択された移動対象のページを削除する。移動対象のページが複数選択された場合には、複数のページを削除する。ここでは、ユーザが第1文書データ中で選択した移動対象となるページのページ番号を削除ページ番号という。ユーザが指定する第2文書データ中の位置は、第2文書データに含まれる複数のページに割り当てられたページ番号であり、指定されたページ番号の前に移動対象となるページが挿入される。ここでは、ユーザが指定する第2文書データ中の位置となるページ番号を挿入ページ番号という。
移動部13は、第1文書データ中のページを第2文書データに移動すると、第1文書データを識別するための文書識別情報と、削除ページ番号と、第2文書データを識別するための文書識別情報と、挿入ページ番号と、を文書テーブル管理部20に出力する。なお、第1文書データ中で移動対象となるページが複数選択された場合には、移動部13は、移動対象となる複数のページそれぞれの複数の削除ページ番号を文書テーブル管理部20に出力する。
具体的には、文書データAの第1ページが文書データBの第2ページに移動する場合、文書データAから第1ページが削除され、文書データBの第1ページと第2ページとの間に文書データAの第1ページが追加される。この場合、移動部13は、文書データAの文書識別情報と、第1ページを示す「1」と、文書データBの文書識別情報と、第2ページを示す「2」とを文書テーブル管理部20に出力する。
文書テーブル管理部20は、HDD107に記憶される複数の文書データにそれぞれ対応する複数の文書テーブルを生成し、HDD107に記憶する。1つの文書データに対応して1つの文書テーブルを生成し、記憶する。ここで、文書テーブルについて説明する。
文書テーブルは、文書テーブルに含まれる仮想ページを定義するための関連レコードを含む。文書テーブルは、文書テーブルで定義される仮想ページの数と同じ数の関連レコードを含む。仮想ページは、文書テーブルに対応する文書データに実際に含まれるページおよび文書テーブルに対応する文書データから削除されたページそれぞれに対応して1つ存在する。換言すれば、文書テーブルは、文書データに実際に存在するページに対応する仮想ページを定義する関連レコードと、文書データから削除されたページに対応する仮想ページを定義する関連レコードを含む。
図3は、関連レコードのフォーマットの一例を示す図である。図3を参照して、関連レコードは、仮想ページ番号の項目と、移動元情報の項目と、移動先情報の項目と、更新時の項目と、を含む。仮想ページ番号の項目は、仮想ページを識別するためのページ識別情報が設定される。文書テーブルに対応する文書データが削除されたページを含まない場合、仮想ページのページ識別情報は、文書データの対応するページのページ番号と同じである。
移動元情報の項目は、移動元文書の項目を含み、仮想ページに対応する文書データのページが移動後に追加されたページである場合に、そのページが移動前に含まれていた文書データを識別するための文書識別情報が設定される。移動先情報の項目は、移動先文書の項目と移動先ページの項目とを含む。移動先文書の項目は、仮想ページに対応する文書データのページが移動前に含まれていたが移動後に削除されたページである場合に、そのページが移動後に追加される文書データを識別するための文書識別情報が設定される。移動先ページの項目は、仮想ページに対応する文書データのページが移動前に含まれていたが移動後に削除されたページである場合に、そのページが移動後に追加される文書データに対応する文書テーブルにおいて割り当てられるページ識別情報が設定される。
更新時の項目は、移動元情報の項目または移動先情報の項目が更新されるときの日時が設定される。日時は、年月日および時刻を含む。
図4は、文書テーブルの一例を示す図である。図4(A)は、文書データAに対応する文書テーブルを示し。図4(B)は、文書データBに対応する文書テーブルを示し、図4(C)は、文書データCに対応する文書テーブルを示す。
図4(A)を参照して、文書データAに含まれる8ページのすべてが移動されておらず、削除または追加がされていない場合に生成される文書テーブルを示している。文書データAの文書テーブルは、仮想ページ番号にそれぞれ1〜8までが割り当てられた8つの関連レコードを含み、8つの関連レコードすべては、移動元情報の項目および移動先情報の項目がすべてブランクである。図4(B)を参照して、文書データBに含まれる2ページのすべてが移動されておらず、削除または追加がされていない場合に生成される文書テーブルを示している。文書データBの文書テーブルは、仮想ページ番号に1および2が割り当てられた2つの関連レコードを含み、2つの関連レコードすべては、移動元情報の項目および移動先情報の項目がすべてブランクである。図4(C)を参照して、文書データCに含まれる3ページのすべてが移動されておらず、削除または追加がされていない場合に生成される文書テーブルを示している。文書データCの文書テーブルは、仮想ページ番号にそれぞれ1〜3までが割り当てられた3つの関連レコードを含み、3つの関連レコードすべては、移動元情報の項目および移動先情報の項目がすべてブランクである。
図2に戻って、文書テーブル管理部20は、移動先記憶部21と、移動元記憶部23と、削除部25と、更新部27とを含む。
移動元記憶部23は、文書データ編集部10から第1文書データを識別するための文書識別情報と、第2文書データを識別するための文書識別情報と、挿入ページ番号と、が入力される。移動先記憶部21は、第1文書データを識別するための文書識別情報で特定される文書データに対応する文書テーブルを読み出し、挿入ページ番号に対応する新たなページ識別情報を含む新たな関連レコードを生成する。新たなページ識別情報は、移動先情報の項目にブランクが設定された関連レコードの数をページ識別情報が「1」のものから順にカウントし、カウント値が挿入ページ番号と同じとなった時点のページ識別情報である。移動元記憶部23は、新たなページ識別情報を移動先記憶部21に出力する。そして、生成された新たなされた関連レコードの移動元情報の項目において、移動元文書の項目に第1文書データを識別するための文書識別情報を設定する。そして、新たな関連レコードを、文書テーブルに追加して記憶する。その後、新たな関連レコードを追加する前に文書テーブルに含まれる関連レコードであって新たなページ識別情報と同じページ識別情報以降のページ識別情報を、「1」を加算した値に更新する。さらに、移動元記憶部23は、追加した新たな関連レコードの更新時の項目に、現在の日時を設定する。
移動先記憶部21は、文書データ編集部10から第1文書データを識別するための文書識別情報と、削除ページ番号と、第2文書データを識別するための文書識別情報と、が入力され、移動元記憶部23から新たなページ識別情報が入力される。移動先記憶部21は、第1文書データを識別するための文書識別情報で特定される文書データに対応する文書テーブルを読み出し、削除ページ番号に対応するページ識別情報を含む関連レコードを抽出する。削除ページ番号に対応するページ識別情報は、移動先情報の項目に何も設定されていない関連レコードの数をページ識別情報が「1」のものから順にカウントし、カウント値が削除ページ番号と同じとなった時点のページ識別情報である。そして、抽出された関連レコードの移動先情報の項目において、移動先文書の項目に第2文書データを識別するための文書識別情報を設定し、移動先ページの項目に移動元記憶部23から入力される新たなページ識別情報を設定する。さらに、移動先記憶部21は、抽出された関連レコードの更新時の項目に、現在の日時を設定する。
図5は、第1回目のページ移動後の文書テーブルの一例を示す図である。図5(A)は、第1回目のページ移動後の文書データAに対応する文書テーブルの一例を示す図であり、図5(B)は、第1回目のページ移動後の文書データBに対応する文書テーブルの一例を示す図であり、図5(C)は、第1回目のページ移動後の文書データCに対応する文書テーブルの一例を示す図である。図5(A)および図5(B)を参照して、ここでは、文書データAの第5ページと第6ページを文書データBの第3ページに追加した場合を示している。文書データAの第5ページに対応するページ識別情報は「5」あり、第6ページに対応するページ識別情報は「6」である。また、文書データAの第3ページと第4ページそれぞれに、文書データAの第5ページと第6ページが追加されるが、文書データBの第3ページに対応するページ識別情報は「3」あり、第4ページに対応するページ識別情報は「4」である。
まず、文書データAの第5ページが文書データBの第3ページに移動する場合を説明する。図5(B)に示される文書データBの関連テーブルにおいて、新たな関連レコードが生成されて、その関連レコードの仮想ページ番号の項目に、追加されたページに対応する新たなページ識別情報「3」が設定され、文書データBの文書テーブルに追加される。そして、追加された関連レコードの移動元文書の項目に文書データAを識別するための文書識別情報「文書A」が設定される。さらに、図5(A)に示される文書データAの関連テーブルにおいて、文書データAの第5ページに対応するページのページ識別情報が「5」なので、仮想ページ番号の項目がページ識別情報「5」に設定されている関連レコードの移動先情報の項目において、移動先文書の項目に文書データBを識別するための文書識別情報「文書B」が設定され、移動先ページの項目に、図5(B)に示す文書データBの関連テーブルにおいて、文書データBに追加されたページに割り当てられる新たなページ識別情報「3」が設定される。
文書データAに対応する文書テーブルに含まれ、仮想ページ番号の項目がページ識別情報「5」に設定されている関連レコードの移動先情報の項目に設定される文書識別情報およびページ識別情報は、移動先情報であり、移動前に文書データAに含まれていたページであって移動後に削除されて文書データBに追加されたページに対応し、移動前に文書データAから削除されて文書データBに追加されたことを示す。また、文書データBに対応する文書テーブルに含まれ、仮想ページ番号の項目がページ識別情報「3」に設定されている関連レコードの移動元情報の項目に設定される文書識別情報は、移動元情報であり、移動前に文書データBに含まれていなかったページであって、移動後に文書データAから追加されたページに対応し、移動後に文書データAから追加されたことを示す。
次に、文書データAの第6ページが文書データBの第4ページに移動する場合を説明する。図5(B)に示される文書データBの関連テーブルにおいて、新たな関連レコードが生成されて、その関連レコードの仮想ページ番号の項目に、追加されたページに対応する新たなページ識別情報「4」が設定され、文書データBの文書テーブルに追加される。そして、追加された関連レコードの移動元文書の項目に文書データAを識別するための文書識別情報「文書A」が設定される。さらに、図5(A)に示される文書データAの関連テーブルにおいて、文書データAの第6ページに対応するページ識別情報が「6」なので、仮想ページ番号の項目にページ識別情報「6」に設定されている関連レコードの移動先情報の項目において、移動先文書の項目に文書データBを識別するための文書識別情報「文書B」が設定され、移動先ページの項目に、図5(B)に示す文書データBの関連テーブルにおいて、文書データBに追加されたページに割り当てられる新たなページ識別情報「4」が設定される。
文書データAに対応する文書テーブルに含まれ、仮想ページ番号の項目がページ識別情報「6」に設定されている関連レコードの移動先情報の項目に設定される文書識別情報およびページ識別情報は、移動先情報であり、移動前に文書データAに含まれていたページであって移動後に削除されて文書データBに追加されたページに対応し、移動前に文書データAから削除されて文書データBに追加されたことを示す。また、文書データBに対応する文書テーブルに含まれ、仮想ページ番号の項目がページ識別情報「4」に設定されている関連レコードの移動元情報の項目に設定される文書識別情報は、移動元情報であり、移動前に文書データBに含まれていなかったページであって、移動後に文書データAから追加されたページに対応し、移動後に文書データAから追加されたことを示す。
その結果、文書データAの文書テーブルにおいて、仮想ページ番号の項目にページ識別情報「7」が設定された関連レコードは、文書データAの第5ページに対応し、仮想ページ番号の項目にページ識別情報「8」が設定された関連レコードは、文書データAの第6ページに対応する。
図5(C)を参照して、文書データCのページは削除、追加されないので、変更されず、図4(C)と同じである。
削除部25は、HDD107に記憶されている文書テーブルを順に読み出し、削除処理を実行する。削除処理は、定期的に実行される。削除部25は、削除処理を実行する場合、関連テーブルに含まれる関連レコードのうち更新時の項目に設定されている日時が現在日時よりも所定の期間前となる関連レコードを抽出し、抽出された関連レコードの移動元情報の項目および移動先情報の項目に設定されている値をブランクに設定することにより、移動先情報および移動元情報を関連レコードから削除する。換言すれば、移動先情報の項目および移動元情報の項目にそれぞれ設定されている値は、設定された日時から所定の期間が経過すると、関連レコードから削除される。
また、削除部25は、移動先情報で特定されるページが消去されることに応じて、移動先情報の項目に設定されている移動先情報を削除する。具体的には、文書データに含まれるページが削除されると、その文書データに対応する関連テーブルに含まれる削除されたページに対応する関連レコードの移動元情報の項目に設定されている文書識別情報に基づいて文書データを特定し、特定された文書データに対応する関連テーブルに含まれる関連レコードのうちから移動先文書の項目に、ページが削除された文書データの文書識別情報が設定されており、かつ移動先ページの項目に削除されたページのページ識別情報が設定されている関連レコードを抽出する。そして、抽出された関連レコードの移動先文書の項目および移動先ページの項目に設定されている値をブランクに設定することにより、移動先情報を関連レコードから削除する。なお、ここでの、ページの削除は、文書管理システムとしてのPC100のHDD107から実際に削除される場合の他、HDD107に記憶された状態であるが、管理対象から除かれる場合を含む。
更新部27は、関連レコードの移動先文書の項目に設定されている文書識別情報および移動先ページの項目に設定されているページ識別情報で特定されるページのページ識別情報が、移動先文書の項目に設定されている文書識別情報で特定される文書データに対応する文書テーブルにおいて変更されることに応じて、移動先ページの項目に設定されているページ識別情報を、変更後のページ識別情報で更新する。具体的には、文書データ(「文書データB」とする)にページが追加されると、追加されたページ以降のページのページ番号が変更になる。これと同様に、文書データBに対応する文書テーブルのページ識別情報も変更される。ページ識別情報が変更された関連レコードの移動元情報の項目がブランクでない場合、その関連レコードの移動元情報の項目に設定されている文書識別情報で特定される文書データ(「文書データA」とする)に対応する文書テーブルを抽出する。そして、抽出された文書データAに対応する文書テーブルに含まれる関連レコードのうちから移動先文書の項目にページが追加された文書データBの文書識別情報が設定されており、かつ移動先情報の項目に、文書データBに対応する文書テーブルにおいて変更される前のページ識別情報が設定されている関連レコードを抽出する。そして、抽出された関連レコードの移動先ページの項目に設定されているページ識別情報を、文書データBに対応する文書テーブルにおいて変更された後のページ識別情報で更新する。
図6は、第2回目のページ移動後の文書テーブルの一例を示す図である。図6(A)は、第2回目のページ移動後の文書データAに対応する文書テーブルの一例を示す図であり、図6(B)は、第2回目のページ移動後の文書データBに対応する文書テーブルの一例を示す図であり、図6(C)は、第2回目のページ移動後の文書データCに対応する文書テーブルの一例を示す図である。ここでは、文書データCの第2ページと第3ページを文書データBの第1ページに移動した場合を示している。移動前においては、図5(C)を参照して文書データCの第2ページに対応するページ識別情報は「2」あり、第3ページに対応するページ識別情報は「3」である。また、文書データBの第1ページと第2ページそれぞれに、文書データCの第2ページと第3ページが追加されるが、移動前においては、図5(B)を参照して、文書データBの第1ページに対応するページ識別情報は「1」あり、第2ページに対応するページ識別情報は「2」である。
まず、文書データCの第2ページが文書データBの第1ページに移動する場合を説明する。図6(C)に示される文書データCの関連テーブルにおいて、文書データCの第2ページに対応するページ識別情報が「2」なので、仮想ページ番号の項目がページ識別情報「2」に設定されている関連レコードの移動先文書の項目に文書データBを識別するための文書識別情報「文書B」が設定され、移動先ページの項目に、図6(B)に示す文書データBの関連テーブルにおいて、文書データBに追加されたページに割り当てられる新たなページ識別情報「1」が設定される。さらに、図6(B)に示す文書データBの関連テーブルにおいて、新たな関連レコードが生成されて、その関連レコードの仮想ページ番号の項目に、追加されたページに対応する新たなページ識別情報「1」が設定され、文書データBの文書テーブルに追加される。そして、追加された関連レコードの移動元文書の項目に文書データCを識別するための文書識別情報「文書C」が設定される。
次に、文書データCの第3ページが文書データBの第2ページに移動する場合を説明する。図6(C)に示される文書データCに対応する関連テーブルにおいて、文書データCの第3ページに対応するページ識別情報が「3」なので、仮想ページ番号の項目がページ識別情報「3」に設定されている関連レコードの移動先文書の項目に文書データBを識別するための文書識別情報「文書B」が設定され、移動先ページの項目に、図6(B)に示す文書データBの関連テーブルにおいて、文書データBに追加されたページに割り当てられる新たなページ識別情報「2」が設定される。さらに、図6(B)に示す文書データBの関連テーブルにおいて、新たな関連レコードが生成されて、その関連レコードの仮想ページ番号の項目に、追加されたページに対応する新たなページ識別情報「1」が設定され、文書データBの文書テーブルに追加される。そして、追加された関連レコードの移動元文書の項目に文書データCを識別するための文書識別情報「文書C」が設定される。
さらに、文書データBの文書テーブルにおいて、仮想ページ番号に設定されているページ識別情報が再付番される。このため、移動前に1〜4のページ識別情報が付されていたものが、それぞれ3〜6に変更される。これにより、ページ識別情報が変更されるが、ページ識別情報が変更された関連レコードのうち移動元文書の項目がブランクでない関連レコードが抽出される。ここでは、仮想ページ番号の項目にページ識別情報「5」が設定された関連レコードと、ページ識別情報「6」が設定された関連レコードが抽出される。まず、文書データBの関連テーブルにおいて仮想ページ番号の項目にページ識別情報「5」が設定された関連レコードに関する更新処理について説明する。抽出された関連レコードの移動元情報の項目に設定されている文書識別情報、ここでは「文書A」で特定される文書データAに対応する文書テーブルを抽出する。そして、抽出された文書データAの文書テーブルに含まれる関連レコードのうちから移動先文書の項目にページが追加された文書データBの文書識別情報「文書B」が設定されており、かつ移動先ページの項目に変更される前のページ識別情報、ここでは「3」が設定されている関連レコードを抽出する(図5(A)参照)。これにより、図5(A)に示す文書データAの関連テーブルから仮想ページ番号の項目にページ識別情報「5」が設定された関連レコードが抽出される。そして、図6(A)に示すように、抽出された関連レコードの移動先ページの項目に設定されている変更される前のページ識別情報「3」を変更後のページ識別情報「5」で更新する。
次に、文書データBの関連テーブルにおいて仮想ページ番号の項目に「6」が設定された関連レコードに関する更新処理について説明する。抽出された関連レコードの移動元情報の項目に設定されている文書識別情報、ここでは「文書A」で特定される文書データAに対応する文書テーブルを抽出する。そして、抽出された文書データAの文書テーブルに含まれる関連レコードのうちから移動先文書の項目にページが追加された文書データBの文書識別情報「文書B」が設定されており、かつ移動先ページの項目に変更される前のページ識別情報、ここでは「4」が設定されている関連レコードを抽出する(図5(A)参照)。これにより、図5(A)に示す文書データAの関連テーブルから仮想ページ番号の項目に「6」が設定された関連レコードが抽出される。そして、図6(A)に示すように、抽出された関連レコードの移動先ページの項目に設定されている変更される前のページ識別情報「4」を変更後のページ識別情報「6」で更新する。
図2に戻って、表示制御部30は、HDD107に記憶された複数の文書データそれぞれに対応して記憶された複数の文書テーブルに基づいて、複数の文書データを表示する。表示制御部30は、抽出部31と、ページ選択部33と、サムネイル表示部35と、移動先特定表示部37と、実態ページ表示部39とを含む。
抽出部31は、HDD107に記憶された複数の文書データのうちから1つを抽出し、抽出した文書データの文書識別情報を、ページ選択部33に出力する。抽出部31は、例えば、ユーザが入力部115にフォルダ内のすべての文書データを一覧表示する指示を入力する場合、フォルダに記憶された複数の文書データを順に選択し、選択された文書データの文書識別情報をページ選択部33に出力する。
ページ選択部33は、抽出部31から入力される文書識別情報で特定される文書データに対応する文書テーブルをHDD107から読み出し、ページ識別情報を選択し、選択されたページ識別情報が仮想ページ番号の項目に設定された関連レコードをサムネイル表示部35に出力する。まず、ページ選択部33は、ページ識別情報「1」を選択し、仮想ページ番号の項目に「1」が設定された関連レコードをサムネイル表示部35に出力する。ページ選択部33は、ユーザが入力部115にページ送り指示を入力すれば、次のページ識別情報を選択し、ユーザが入力部115にページ戻り指示を入力すれば、1つ前のページ識別情報を選択する。
サムネイル表示部35は、ページ選択部33から入力される関連レコードに基づいて、関連レコードの仮想ページ番号の項目に設定されているページ識別情報で特定されるページの画像を縮小したサムネイルを表示部117に表示する。具体的には、関連レコードの移動先情報の項目にブランクが設定されていれば、そのページ識別情報に対応するページは関連レコードが含まれる文書テーブルに対応する文書データに含まれる。このため、ページ識別情報に基づいて文書データにおけるページ番号を決定する。ページ番号の決定は、ページ識別情報よりも小さいページ識別情報が仮想ページ番号の項目に設定されている関連レコードであって、移動先情報の項目がブランクに設定されている関連レコードの数をカウントすることにより決定する。
例えば、抽出部31により文書データAが抽出され、図5(A)に示した文書データAの文書テーブルが抽出され、ページ識別情報「7」が選択された場合を例に説明する。ページ選択部33によりページ識別情報「7」が選択された場合、ページ識別情報「7」が仮想ページ番号の項目に設定される関連レコードの移動先情報の項目はブランクが設定されている。この場合、ページ識別情報「7」より小さいページ識別情報は1〜6であり、それらを仮想ページ番号の項目に含む関連レコードのうちで移動先情報の項目がブランクに設定されている関連レコードは、ページ識別情報が1〜4の4つである。したがって、ページ識別情報「7」に対応する文書データAのページ番号は「5」である。
サムネイル表示部35は、決定したページ番号で特定される文書データのページの画像を縮小したサムネイルを、文書データから抽出する。ここでは、文書データAのページ番号「5」のページのサムネイルを、文書データAから抽出する。
一方、選択されたページ識別情報が仮想ページ番号の項目に設定された関連レコードにおいて移動先情報の項目にブランクが設定されていなければ、選択されたページ識別情報で特定されるページは別の文書データに移動されている。このため関連レコードの移動先情報の項目において、移動先文書の項目に設定されている文書識別情報および移動先ページの項目に設定されているページ識別情報に基づいて、サムネイルを取得する。具体的には、移動先文書の項目に設定されている文書識別情報で特定される文書データに対応する文書テーブルを取得し、移動先ページの項目に設定されているページ識別情報が仮想ページ番号の項目に設定されている関連レコードを取得された文書テーブルのうちから抽出する。
さらに、抽出された関連レコードの移動先情報の項目にブランクが設定されていれば、その抽出された関連レコードの仮想ページ番号の項目に設定されているページ識別情報に対応するページが、移動先文書の項目に設定されている文書識別情報で特定される文書データに含まれる。このため、抽出された関連レコードの仮想ページ番号の項目に設定されているページ識別情報に基づいて文書データにおけるページ番号を決定する。ページ番号の決定は、ページ識別情報よりも小さいページ識別情報が仮想ページ番号の項目に設定されている関連レコードであって、移動先情報の項目がブランクに設定されている関連レコードの数をカウントすることにより決定する。
例えば、ページ選択部33により文書データAが抽出され、図5(A)に示した文書データAの文書テーブルが抽出され、ページ識別情報「5」が選択された場合を例に説明する。ページ識別情報「5」が仮想ページ番号の項目に設定された関連レコードの移動先情報の項目にブランクが設定されていないので、関連レコードの移動先文書の項目に設定されている文書識別情報「文書B」および移動先ページの項目に設定されているページ識別情報「3」を抽出する。
そして、移動先文書の項目に設定されている文書識別情報「文書B」で特定される文書データBに対応する文書テーブル(図5(B))を取得し、移動先ページの項目に設定されているページ識別情報「3」が仮想ページ番号の項目に設定されている関連レコードを取得された文書テーブルのうちから抽出する。これにより、仮想ページ番号にページ識別情報「3」が設定された関連レコードが抽出される。さらに、抽出された関連レコードの移動先情報の項目にブランクが設定されているので、そのページ識別情報「3」に対応するページが、文書データBに含まれる。文書データBにおいてページ識別情報「3」のページに対応する文書データBにおけるページ番号は「3」である。
サムネイル表示部35は、決定したページ番号で特定される文書データのページの画像を縮小したサムネイルを、文書データから抽出する。ここでは、文書データBのページ番号「3」のページのサムネイルを、文書データBから抽出する。
サムネイル表示部35は、第1態様表示部41と第2態様表示部43とを含む。第1態様表示部41は、関連レコードの移動先情報の項目にブランクが設定されている場合に、抽出されたページのサムネイルを第1の表示態様で表示部117に表示する。一方、第2態様表示部43は、関連レコードの移動先情報の項目にブランクが設定されていない場合に、抽出されたページのサムネイルを第2の表示態様で表示部117に表示する。第1の表示態様は、第2の表示態様よりも明度が低い。
移動先特定表示部37は、第1の表示態様で表示されたサムネイルがユーザにより特定表示指示されると、第1の表示態様で表示されたサムネイルのページが記憶されている文書データを特定するための特定表示を表示部117にする。特定表示指示は、例えば、マウスポインタをサムネイルに合わせた状態で、1度クリックする操作である。特定表示は、例えば、表示されたサムネイルのページを含む文書データの文書識別情報の表示部117への表示である。または、表示されたサムネイルから、表示されたサムネイルのページを含む文書データのサムネイルに向かう矢印の表示部117への表示である。
実態ページ表示部39は、第1の表示態様で表示されたサムネイルがユーザにより実態ページ表示指示されると、第1の表示態様で表示されたサムネイルのページの実態を表示部117に表示する。実態ページ表示指示は、例えば、マウスポインタをサムネイルに合わせた状態で、連続して2度クリックする操作である。具体的には、第1の表示態様で表示されているサムネイルのページを含む文書データをHDD107から読み出し、そのサムネイルに対応するページを表示する。例えば、図5(A)、図5(B)、図5(C)に示した文書テーブルがHDD107に記憶されている状態において、文書データAのページ識別情報「5」が選択されると、文書データBの第3ページのサムネイルが第1の表示態様で表示される。このサムネイルに対して実態ページ表示指示がユーザにより入力されると、実態ページ表示部39は、文書データBを読み出し、第3ページを表示部117に表示する。
図7は、ページ編集処理の流れの一例を示すフローチャートである。ページ編集処理は、CPU101が文書管理プログラムを実行することによりCPU101により実行される処理である。図7を参照して、CPU101は、HDD107に記憶された複数の文書データのうちから1つを第1文書データとして抽出する(ステップS01)。例えば、HDD107に記憶されている複数の文書データをそれぞれ識別するための複数の文書識別情報を表示部117に表示し、ユーザが表示部117に表示された複数の文書識別情報のいずれかを選択する指示を入力部115に入力すると、文書識別情報を選択する指示を受け付け、受け付けられた指示に従って、選択された文書識別情報で特定される文書データを第1文書データとして選択する。
そして、第1文書データに含まれる少なくとも1つのページのうちから少なくとも1つを移動するページとして選択する(ステップS02)。第1文書データを表示部117に表示し、ユーザが移動対象となるページを選択する指示を入力部115に入力すると、入力される指示で特定されるページを選択する。
次に、HDD107に記憶された複数の文書データのうちから第1文書データとは異なる1つを第2文書データとして抽出する(ステップS03)。そして、ステップS02において選択されたページを挿入するために、第2文書データで、ページを挿入する位置を示すページを選択する(ステップS04)。第2文書データを表示部117に表示し、ページを挿入した後に挿入されたページの後になるページを選択する指示をユーザが入力部115に入力すると、入力される指示で特定されるページを、ページを挿入する位置を示すページとして選択する。
ステップS05においては、ステップS04において指定されたページの前にステップS02において選択されたページを挿入する。具体的には、第2文書データの指定されたページの前にステップS02において選択されたページを追加し、第1文書データからステップS02において選択されたページを削除する。
ステップS06においては、第2文書データに対応する第2文書テーブルをHDD107から抽出する。そして、第2文書データにステップS05において追加された追加ページの関連レコードを生成し、第2文書テーブルに挿入する(ステップS07)。
生成される関連レコードは、仮想ページ番号の項目にステップS04において指定されたページに対応する関連レコードの仮想ページ番号の項目に設定されているページ識別情報と同じページ識別情報が設定される。この段階で、移動元情報の項目および移動先情報の項目はブランクである。そして、次のステップS08においては、ページ識別情報を再付番する。具体的には、ステップS04において指定されたページ以降のすべてのページにそれぞれ対応する関連レコードの仮想ページ番号の項目に設定されているページ識別情報を、それに1を加算した値に変更する。
ステップS09においては、第2文書データにおいてページ識別情報が変更されたページが存在するか否かを判断する。具体的には、第2文書データに対応する第2文書テーブルに含まれる複数の関連レコードのうちで、ページ識別情報が変更された関連レコードを抽出する。ここでは、ステップS04において指定されたページ以降のすべてのページにそれぞれ対応する関連レコードが抽出される。そして、抽出された関連レコードのうちで、移動元情報の項目がブランクに設定されていない関連レコードを抽出する。
次のステップS10においては、移動元情報で特定される文書データを抽出する。ステップS09において抽出された関連レコードの移動元情報の項目に設定されている文書識別情報で特定されるデータを抽出する。そして、抽出された文書データここでは第3文書データに対応する第3文書テーブルをHDD107から抽出する(ステップS11)。
次に、ステップS11において抽出された第3文書テーブルから第2文書データを特定する移動先情報を抽出する(ステップS12)。具体的には、第3文書テーブルに含まれる複数の関連レコードのうち移動先情報の項目において移動先文書の項目に第2文書データの文書識別情報が設定されている関連レコード(第2文書データを特定する移動先情報)を抽出する。そして、第2文書データを特定する移動先情報のうちから、第2文書データに対応する文書テーブルにおいて、ステップS08において再付番される前の変更前のページ識別情報を特定する移動先情報を抽出する。具体的には、ステップS13において抽出された、移動先文書の項目に第2文書データの文書識別情報が設定されている関連レコードのうちから移動先ページの項目に変更前のページ識別情報が設定されている関連レコードを抽出する。そして、抽出された移動先情報を変更後のページ識別情報で更新する(ステップS14)。具体的には、ステップS13において抽出された関連レコードの移動先ページの項目を、ステップS08において再付番された後の変更前の変更後のページ識別情報で更新する。
このように、第2文書データにページが挿入されることにより第2文書データに対応する第2文書テーブルにおいて、挿入されたページ以降のページ識別情報が変更されるが、第3文書テーブルにおいて、第2文書データの文書識別情報と変更前のページ識別情報とが移動先文書の項目および移動先ページの項目にそれぞれ設定されている関連レコードの移動先ページの項目が、第2文書テーブルにおいて変更された後のページ識別情報に更新される。
ステップS15においては、第2文書データに追加されたページの移動元情報に第1文書データを設定する。具体的には、ステップS07において新たに生成され、第2文書テーブルに追加された関連レコードの移動元文書の項目に第1文書データの文書識別情報を設定する。
次に、第1文書データに対応する第1文書テーブルをHDD107から抽出する(ステップS16)。そして、削除されたページの移動先情報に第2文書データを設定する(ステップS17)。具体的にはステップS16において抽出された第1文書テーブルに含まれる複数の関連レコードのうち削除されたページに対応するページ識別情報が仮想ページ番号の項目に設定されている関連レコード(削除されたページの移動先情報)において、移動先文書の項目に第2文書データの文書識別情報を設定する。
ステップS18においては、削除されたページの移動先情報に第2文書データに追加されたページを設定する。具体的にはステップS16において抽出された第1文書テーブルに含まれる複数の関連レコードのうち削除されたページに対応するページ識別情報が仮想ページ番号の項目に設定されている関連レコード(削除されたページの移動先情報)において、移動先ページの項目に第2文書データに追加されたページに対応するページ識別情報を設定する。第2文書データに追加されたページに対応するページ識別情報は、ステップS07において、第2文書データに対応する文書テーブルに追加された関連レコードの仮想ページ識別番号の項目に設定されたページ識別情報と同じである。
図8および図9は、表示処理の流れを示すフローチャートである。表示処理は、CPU101が文書管理プログラムを実行することによりCPU101により実行される処理である。ここでは、HDD107が有するフォルダ内のすべての文書データを表示する場合を例に説明する。
図8を参照して、CPU101は、HDD107に記憶されている複数の文書データのうちから1つを処理対象として抽出する(ステップS21)。例えば、ユーザが入力部115にフォルダ内のすべての文書データを一覧表示する指示を入力する場合、フォルダに記憶された複数の文書データを順に選択する。
次のステップS22においては、抽出された文書データに対応する文書テーブルをHDD107から抽出する。そして、ステップS23においては、ステップS22において抽出された文書テーブルにおいて、ページ識別情報が「1」のページに関連する移動先情報が存在するか否かを判断する。具体的には、抽出された文書テーブルにおいて仮想ページ番号の項目に「1」のページ識別情報が設定されている関連レコードを抽出し、抽出された関連レコードの移動先情報の項目における移動先文書の項目および移動先ページの項目がブランクに設定されているか否かを判断する。移動先情報の項目における移動先文書の項目および移動先ページの項目がブランクに設定されていなければ、ページ識別情報が「1」のページに移動先情報が関連付けられていると判断し、処理をステップS24に進めるが、移動先情報の項目における移動先文書の項目および移動先ページの項目がブランクに設定されていれば移動先情報が関連付けられていないと判断し、処理をステップS26に進める。以下、ページ識別情報が「1」のページに関連する移動先情報が存在する文書データを、移動元文書データという。
ステップS26においては、ステップS21において抽出された文書データからページ識別情報が「1」のページのサムネイルを取得し、取得したサムネイルを第2の表示態様で表示部117に表示し、処理をステップS27に進める。ページ識別情報が「1」のページは、ステップS21において抽出された文書データの第1ページである。
一方、処理をステップS24に進める場合、ページ識別情報が「1」のページは、ステップS21において抽出された文書データ(移動元文書データ)から削除されたページである。ステップS24およびステップS25においては、削除されたページが追加された文書データから削除されたページのサムネイルを取得する。ここでは、ステップS21において抽出された移動元文書データから削除されたページが追加された文書データを移動先文書データという。
ステップS24においては、ステップS23において抽出された移動先情報で特定されるページのサムネイルを取得する。具体的には、ステップS23において抽出された関連レコードの移動先情報の項目における移動先文書の項目に設定されている文書識別情報で特定される文書データ(移動先文書データ)に対応する文書テーブルを抽出する。そして、ステップS23において抽出された関連レコードの移動先情報の項目における移動先ページの項目に設定されているページ識別情報(以下、「該当ページ情報」という)と同じページ識別情報に対応する移動先文書データのページのサムネイルを、移動先文書データから取得する。移動先文書データにおいて、該当ページ情報と同じページ識別情報に対応するページのページ番号は、移動先文書データに対応する文書テーブルにおいて、仮想ページ番号の項目に、該当ページ情報と同じページ識別情報より小さい値のページ識別情報が設定されている関連テーブルのうち、移動先情報の項目がブランクに設定されている関連テーブルの数をカウントし、カウント値に1を加算した値である。
ステップS25においては、ステップS24において取得されたサムネイルを第1の表示態様で表示部117に表示し、処理をステップS27に進める。第1の表示態様は、第2の表示態様よりも明度が低い。
ステップS27においては、次に処理対象とするべき文書データが存在するか否かを判断する。2処理の文書データが存在するならば処理をステップS21に戻し、そうでなければ処理をステップS28に進める。ユーザが入力部115にフォルダのすべての文書データを一覧表示する指示を入力した場合には、フォルダ内のすべての文書データの第1ページのサムネイル、または削除された第1ページのサムネイルが表示される。
次に、図9を参照して、ステップS28においては、サムネイルを選択する指示を受け付けたか否かを判断する。サムネイルを選択する指示を受け付けたならば処理をステップS29に進めるが、そうでなければ処理をステップS44に進める。ユーザ、マウスを操作して、マウスポインタがサムネイルに合わせられると、サムネイルを選択する指示を受け付ける。
ステップS29においては、選択されたサムネイルの文書データに対応する文書テーブルをHDD107から抽出する。そして、変数Nに「1」を設定し(ステップS30)、処理をステップS31に進める。変数Nは、表示するページのページ識別情報が設定される変数である。
ステップS31においては、ページ送り操作を受け付けたか否かを判断する。ユーザが入力部115にページ送りボタンを指示する操作を入力すると、ページ送り操作を受け付ける。ページ送り操作を受け付けたならば処理をステップS32に進めるが、そうでなければ処理をステップS33に進める。ステップS32においては、変数Nを、それに「1」を加算した値に設定し、処理をステップS35に進める。
ステップS33においては、ページ戻し操作を受け付けたか否かを判断する。ページ戻し操作を受け付けたならば処理をステップS34に進めるがそうでなければ処理をステップS39に進める。ユーザが入力部115に、ページ戻しボタンを指示する操作を入力すると、ページ戻し操作を受け付ける。ステップS34においては、変数Nを、それから「1」を減算した値に設定する。
図10は、ページ送りボタンおよびページ戻しボタンを説明するための図である。図9を参照して、サムネイル201の下方にページ送りボタン203およびページ戻しボタン205が表示される。ページ送りボタン203とページ戻しボタン205との間にはサムネイル201のページ識別情報およびサムネイル201のページを含む文書データの総ページ数とを表示する領域207とを含む。図9においては、領域207においてサムネイル201のページ識別情報「3」が示され、総ページ数「10」が示される。
図9に戻って、ステップS35においては、ページ識別情報がNのページに移動先情報が関連付けられているか否かを判断する。具体的には、ステップS29において抽出された文書テーブルに含まれる関連レコードのうち仮想ページ番号の項目に変数Nと同じページ識別情報が設定されている関連レコードを抽出する。そして、抽出された関連レコードの移動先情報の項目における移動先文書の項目および移動先ページの項目がブランクに設定されているか否かを判断する。移動先情報の項目における移動先文書の項目および移動先ページの項目がブランクに設定されていなければ、ページ識別情報が「N」のページに移動先情報が関連付けられていると判断し、処理をステップS36に進めるが、移動先情報の項目における移動先文書の項目および移動先ページの項目がブランクに設定されていれば移動先情報が関連付けられていないと判断し、処理をステップS38に進める。以下、ページ識別情報が「N」のページに関連する移動先情報が存在する文書データを、移動元文書データという。
ステップS38においては、ステップS29において抽出された文書データからページ識別情報が「N」のページのサムネイルを取得し、取得したサムネイルを第2の表示態様で表示部117に表示し、処理をステップS43に進める。ページ識別情報が「N」のページのページ番号は、ステップS29において抽出された文書データに対応する文書テーブルにおいて、仮想ページ番号の項目にページ識別情報「N」より小さい値のページ識別情報が設定されている関連テーブルのうち、移動先情報の項目がブランクに設定されている関連テーブルの数をカウントし、カウント値に1を加算した値である。
一方、処理をステップS35に進める場合、仮想ページ識別情報が「N」のページは、ステップS28においてサムネイルが選択されることにより選択された文書データ(移動元文書データ)から削除されたページである。ステップS36およびステップS37においては、削除されたページが追加された文書データから削除されたページのサムネイルを取得する。ここでは、ステップS28においてサムネイルが選択されることにより選択された文書データを移動元文書データといい、削除されたページが追加された文書データを移動先文書データという。
ステップS36においては、移動先情報で特定されるページのサムネイルを取得する。具体的には、ステップS29において抽出された移動元文書に対応する文書テーブルにおいて、仮想ページ番号の項目にページ識別情報「N」が設定されている関連レコードを抽出し、抽出された関連レコードの移動先情報の項目における移動先文書の項目に設定されている文書識別情報の文書データ(移動先文書データ)に対応する文書テーブルを抽出する。そして、ステップS29において抽出された移動元文書に対応する文書テーブルにおいて移動先情報の項目における移動先ページの項目に設定されているページ識別情報(該当ページ情報)と同じページ識別情報に対応する移動先文書データのページのサムネイルを、移動先文書データから取得する。移動先文書データにおいて、該当ページ情報と同じページ識別情報に対応するページのページ番号は、移動先文書データに対応する文書テーブルにおいて、仮想ページ番号の項目に、該当ページ情報と同じページ識別情報より小さい値のページ識別情報が設定されている関連テーブルのうち、移動先情報の項目がブランクに設定されている関連テーブルの数をカウントし、カウント値に1を加算した値である。
ステップS37においては、ステップS36において取得されたサムネイルを第1の表示態様で表示部117に表示し、処理をステップS39に進める。第1の表示態様は、第2の表示態様よりも明度が低い。
ステップS39においては、ステップS37において第1の表示態様で表示されたサムネイルをクリックする操作を受け付けたか否かを判断する。ユーザが入力部115の備えるマウスを操作し、マウスポインタをサムネイルに合わせながら1回クリックする操作を入力すると、サムネイルをクリックする操作を受け付ける。サムネイルをクリックする操作を受け付けたならば処理をステップS40に進めるが、そうでなければステップS40をスキップして処理をステップS41に進める。
ステップS40においては、特定表示をする。特定表示は、削除されたページが移動した先の移動先文書データを特定するための表示である。特定表示がされることにより、第1の表示態様で表示されているサムネイルに対応し、削除されたページの存在場所を、ユーザに知らせることができる。
特定表示は、削除されたページが移動した先の移動先文書データの文書識別情報の表示である。ここでは、ステップS29において抽出された移動元文書に対応する文書テーブルにおいて、仮想ページ番号の項目にページ識別情報「N」が設定されている関連レコードを抽出し、抽出された関連レコードの移動先情報の項目における移動先文書の項目に設定されている文書識別情報を、表示部117に表示する。
図11は、特定表示の一例を示す第1の図である。図11を参照して、第1の表示態様で表示されたサムネイル201と、文書識別情報を表示する領域211とが示される。特定表示としての領域211は、サムネイル201にマウスポインタ209が合わせられ、クリックする操作が入力されると、表示される。
図9に戻って、ステップS41においては、ステップS37において第1の表示態様で表示されたサムネイルをダブルクリックする操作を受け付けたか否かを判断する。ユーザが入力部115の備えるマウスを操作し、マウスポインタをサムネイルに合わせながら連続して2回クリックする操作を入力すると、サムネイルをダブルクリックする操作を受け付ける。サムネイルをダブルクリックする操作を受け付けたならば処理をステップS42に進めるが、そうでなければステップS42をスキップして処理をステップS43に進める。
ステップS42においては、移動先情報で特定されるページを表示する。すなわち、第1の表示態様で表示されたサムネイルとして表示されたページの実態を表示する。具体的には、ステップS29において抽出された移動元文書に対応する文書テーブルにおいて、仮想ページ番号の項目に「N」のページ識別情報が設定されている関連レコードを抽出する。そして、抽出された関連レコードの移動先情報の項目における移動先文書の項目に設定されている文書識別情報の文書データ(移動先文書データ)を、対応するアプリケーションプログラムを起動して開く。さらに、先に抽出された関連レコード(移動元文書データに対応する文書テーブルに含まれる関連レコードのうち仮想ページ番号の項目に「N」が設定されている関連レコード)の移動先ページの項目に設定されているページ識別情報を対象ページ識別情報として決定しておく。そして、移動先文書データに対応する文書テーブルにおいて、先に決定された対象ページ識別情報に対応するページのページ番号を決定し、移動先文書データに含まれるページのうち決定されたページ番号のページを表示する。対象ページ識別情報に対応するページのページ番号は、移動先文書データに対応する文書テーブルにおいて、仮想ページ番号の項目に対象ページ識別情報より小さい値のページ識別情報が設定されている関連テーブルのうち、移動先情報の項目がブランクに設定されている関連テーブルの数をカウントし、カウント値に1を加算した値である。
ステップS43においては、ステップS28において受け付けられた選択が解除されたか否かを判断する。ユーザが入力部115操作してサムネイルの選択を解除する操作を入力したか否かを判断する。サムネイルの選択を解除する操作が受け付けられたならば処理をステップS44に進めるが、そうでなければ処理をステップS31に戻す。ステップS44においては、終了指示を受け付けたか否かを判断する。終了指示を受け付けたならば処理を終了するが、そうでなければ処理をステップS28に戻し、次のサムネイルを選択可能にする。
<特定表示の第1の変形例>
上述した特定表示は、文書識別情報表示するものであった。特定表示の第1の変形例は、特定表示を矢印としたものである。図12は、特定表示の第1の変形を示す図である。図12を参照して、画面に第1の表示態様で表示されたサムネイル201と、複数のサムネイル213,215,217が表示された一覧表示画面の一例が示される。サムネイル201にマウスポインタを合わせてクリックする操作が受け付けられると、特定表示としての矢印221が表示される。矢印221は、始点をサムネイル201とし、終点をサムネイル213とし、サムネイル201からサムネイル213に向かう矢印である。ここでは、サムネイル213は、ページが移動された先の移動先文書データのサムネイルとしている。同一画面中に、ページが移動される元の移動元文書データを示すサムネイルとページが移動された先の移動先文書データを示すサムネイルとか表示されている場合に有効である。
<特定表示の第2の変形例>
特定表示の第2の変形例は、ページが移動する元の移動元文書データとページが移動する先の移動先文書データとが、別のフォルダに記憶される場合に有効な表示である。ここでは、ページが移動する元の移動元文書データがフォルダ名「bbb」のフォルダに記憶されており、ページが移動する先の移動先文書データがフォルダ名「aaa」に記憶されている場合を例に説明する。
図13は、特定表示の第2の変形を示す図である。図13を参照して、画面中に第1のフォルダの内容を示す領域223と、フォルダ構成を示す領域221とを含む。ここでは、ページが移動される元の移動元文書データがフォルダ「bbb」に記憶されており、領域223にフォルダ「bbb」に記憶される文書データのサムネイルが一覧表示されている場合を例に示している。領域221においては、フォルダ「bbb」の名称が示され、それとは別のフォルダ「ccc」および「aaa」それぞれの名称が表示される。領域223に第1の表示態様で表示されたサムネイル201にマウスポインタを合わせてクリックする操作が受け付けられると、特定表示としての領域221に表示されたフォルダ名「aaa」が他のフォルダ名と色を代えて表示される。例えば、他のフォルダ名は黒色で表示されるのに対して、フォルダ名「aaa」は赤色で表示される。
なお、上述した実施の形態においては、文書管理システムの一例としてPCを説明したが、複数人がそれぞれ使用する複数のPCと、文書データおよび文書テーブルを記憶するファイルサーバとをLANなどのネットワークを介して接続した文書管理システムであってもよい。この場合、文書データおよび文書テーブルはファイルサーバに記憶され、ユーザがPCに入力する操作によって、PCまたはファイルサーバにおいて文書データおよび文書テーブルを更新するページ編集処理が実行され、PCにおいてファイルサーバに記憶された文書テーブルを参照しつつ文書データを表示する表示処理が実行される。
図14は、削除処理の流れの一例を示すフローチャートである。削除処理は、CPU101が文書管理プログラムを実行することによりCPU101により実行される処理である。図14を参照して、CPU101は、所定の時間が経過したか否かを判断する(ステップS51)。所定の時間が経過したならば処理をステップS52に進めるが、そうでなければ処理をステップS56に進める。換言すれば、ステップS55にからステップS55の処理は、所定時間間隔で実行される。ステップS52においては、HDD107に記憶されている文書テーブルを1つ読み出す。そして、読み出された文書テーブルに含まれる関連レコードのうちで更新時の項目に現在時刻より所定時間前の日時が設定されている関連レコードが存在するか否かを判断する(ステップS53)。
現在時刻よりも所定時間前の日時が設定されている関連レコードが存在するならば処理をステップS54に進めるが、そうでなければ処理をステップS55に進める。ステップS54においては、移動元情報の移動先情報を削除し、処理をステップS55に進める。具体的には、現在時刻よりも所定時間前の日時が設定されている関連レコードのう移動元情報の項目および移動先情報の項目にブランクを設定する。なお、移動先情報削除する場合には、関連レコードそのものを削除するようにしてもよい。この場合には、ページ識別情報が変更されるので、図7のステップS09〜ステップS14において説明したように、ページ識別情報が変更された移動元情報で特定される文書データに対応する文書レコードの移動先情報を変更する必要がある。ここでは、説明を繰り返さない。
ステップS55においては、未処理の文書テーブルがHDD107に記憶されているか否かを判断する。未処理の文書テーブルが存在するならば処理をステップS52に戻すが、存在しなければ処理をステップS56に進める。
ステップS56においては、ページが削除されたか否かを判断する。ページが削除されたならば処理をステップS57に進めるが、そうでなければ処理を終了する。ステップS57においては、削除されたページを含んでいた文書データに対応する文書テーブルをHDD107から読み出す。
次のステップS58においては、削除されたページの移動元情報を取得する。具体的には、ステップS57において読み出された文書テーブルに含まれる関連レコードのうちから、削除されたページに対応するページ識別情報が仮想ページ番号の項目に設定されている関連レコードを抽出し、抽出された関連レコードの移動元情報の項目において移動元文書の項目に設定されている文書識別情報を取得する。
そして、取得された文書識別情報で特定される移動元文書データを抽出する(ステップS59)。次のステップS60においては、移動元文書データの文書テーブルを抽出する。さらに、抽出された移動元文書データの文書テーブルにおいて、削除されたページを特定する移動先情報を抽出する(ステップS61)。具体的には、移動元文書データの文書テーブルに含まれる複数の関連レコードのうちから、移動先情報の項目において移動先文書の項目に削除されたページの文書データを識別するための文書識別情報が設定されており、移動先ページの項目に削除されたページに対応するページ識別情報が設定されている関連レコードを抽出する。
次のステップS62においては、移動先情報を削除する。具体的には、ステップS61において抽出された関連レコードにおいて、移動先情報の項目における移動先文書の項目および移動先ページの項目にブランクを設定することにより、移動先情報を削除する。次のステップS63においては、移動元情報削除する。具体的には、ステップS57において読み出された文書テーブルに含まれる複数の関連情報のうち、削除された帝人に対応するページ識別情報が仮想ページ番号の項目に設定された関連レコードにおいて、移動元文書の項目にブランクを設定する。
以上説明したように本実施の形態における文書管理システムとしてのPC100は、HDD107に記憶されている複数の文書データのうちから選択された第1の文書データに含まれるページのうち少なくとも1つが、第1の文書データとは異なる第2の文書データに移動すると、第1の文書データに対応する文書テーブルに含まれるページ識別情報であって、移動後に第1の文書データから削除されたページであって移動前に第1の文書データに含まれていたページを識別するためのページ識別情報に、移動先情報を関連付けるために、第1の文書データに対応する文書テーブルに移動先情報が記憶される。移動先情報は、第2の文書データを識別するための文書識別情報と移動後に第2の文書データに追加されたページを識別するためのページ識別情報とを含む。
このため、移動先情報に基づいて、削除されたページが追加された文書データと、その文書データ中のページを特定することができ、文書データからページが削除される場合であっても、文書データから削除されたページを追跡することができる。
また、第2の文書データに対応する文書テーブルに含まれるページ識別情報であって、移動後に第2の文書データに追加されたページを識別するためのページ識別情報に、第1の文書データを識別するための文書識別情報を含む移動元情報を関連付けるために、第2の文書データに対応する文書テーブルに移動元情報が記憶され、移動先情報で特定されるページのページ識別情報が変更されることに応じて、移動先情報に含まれるページ識別情報を、変更後のページ識別情報で更新される。このため、ページが追加された第2の文書データのページ順が変更される場合であっても、第1の文書データに対応する文書テーブルに含まれる移動元情報を更新することができる。
さらに、ページが削除および追加された時刻が移動先情報および移動元情報とともに記憶され、移動先情報および移動元情報とともに記憶される時刻から所定の時間が経過すると、移動先情報および移動元情報が削除される。このため、ページが削除および追加されてから所定の時間が経過すると、移動先情報および移動元情報が削除されるので、所定の時間に限って、削除されたページの追跡を可能とすることができ、所定の時間が経過して不要となった追跡を表示しないようにすることができる。
また、移動先情報で特定されるページが消去されることに応じて、移動先情報が削除されるので、消去されたページを追跡しないようにして、無駄な追跡がされるのを防止することができる。
さらに、HDD107に記憶された関連テーブルに基づいて、文書データから削除されたページのサムネイルが第1の表示態様で表示され、文書データに含まれるページのサムネイルが第2の表示態様で表示される。このため、文書データから削除されたページであることをユーザに通知することができる。また、文書データに含まれるページのサムネイルと、削除されたページのサムネイルとが異なる表示態様で表示されるので、ユーザは、視覚的に削除されたページか否かを認識することができる。
さらに、第1の表示態様で表示されたサムネイルに対してクリックする第1の操作が入力されることに応じて、移動先情報で特定される文書データの文書識別情報が表示される(特定表示)。このため、ユーザは、削除されたページが追加されたページを容易に特定することができる。
さらに、第1の表示態様で表示されたサムネイルに対してダブルクリックする第2の操作がされることに応じて、移動先情報で特定されるページが表示される。このため、ユーザは、削除されたページを容易に確認することができる。
このように本実施の形態におけるPC100は、移動先の文書データと移動元の文書データとの間で移動先情報が決まる。具体的には、あるページが次々と別の文書へ何世代も移動するような場合でも2世代以上前の文書データ(移動元の文書データより前の文書データ)に対して記憶される移動先情報には影響を与えない。例えば、あるページYがもともと文書データMにあって、文書データNに移動後、さらにページYが文書Oに移動した場合でも、文書Mにある移動先情報は文書Nのままで文書Nの移動先情報のみが文書データOになる。何世代にも渡るページの移動先については各世代の文書データに対する移動先情報を適宜たどれば最終的なページの移動先を把握することが可能である。
なお、上述した実施の形態においては、文書管理システムの一例としてPC100を例に説明したが、図7〜図9および図14に示した処理を実行するための文書管理方法および文書管理方法をコンピュータに実行させるための文書管理プログラムとして発明を捉えることができるのは、言うまでもない。
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
<付記>
(1) 前記移動先情報で特定されるページのページ識別情報が変更されることに応じて、前記移動先情報に含まれる前記ページ識別情報を、変更後のページ識別情報で更新する更新手段をさらに備えた、請求項10に記載の文書管理システム。
(2) 前記移動先記憶部および前記移動元記憶部は、ページが削除および追加された時刻を前記移動先情報および前記移動元情報とともに記憶し、
前記移動先情報および前記移動元情報とともに記憶される時刻から所定の時間が経過すると、前記移動先情報および前記移動元情報を削除する削除手段をさらに備えた、請求項10に記載の文書管理システム。
(3) 前記移動先情報で特定されるページが消去されることに応じて、該移動先情報を削除する削除手段を、さらに備えた請求項10に記載の文書管理システム。
(4) 前記移動先特定手段は、前記特定表示として、前記移動先情報で特定される文書データのサムネイルを、他のサムネイルと表示態様を異ならせて表示する、請求項13に記載の文書管理システム。
(5) 前記移動先特定手段は、前記特定表示として、前記選択された文書データのサムネイルから前記移動先情報で特定される文書データのサムネイルに向かう矢印を表示する、請求項13に記載の文書管理システム。
(6) 前記移動先特定手段は、前記特定表示として、前記移動先情報で特定される文書データを識別するための文書識別情報を表示する、請求項13に記載の文書管理システム。