以下、本発明の実施形態を図面に基づいて説明する。
<1.装置構成>
図1は、この発明の実施形態に係るMFP1の概略構成を示す図である。
MFP1は、図1に示すように、画像読取部2と、通信部4と、データ格納部5と、入出力部7と、コントローラ9とを備える。コントローラ9等により文書処理機能が実現され、MFP1は文書処理装置として動作する。
画像読取部2は、いわゆるスキャナ部であり、MFP1の所定位置に載置された原稿を光学的に読み取って、当該原稿のスキャン画像(詳細にはスキャン画像の画像データ)を生成する機能を有している。
通信部4は、公衆回線等を介したファクシミリ通信を行うことが可能な処理部である。さらに、通信部4は、通信ネットワークNWを介したネットワーク通信が可能である。このネットワーク通信では、TCP/IP(Transmission Control Protocol / Internet Protocol)およびFTP(File Transfer Protocol)等の各種のプロトコルが利用され、当該ネットワーク通信を利用することによって、MFP1は、所望の相手先との間で各種のデータを授受することが可能である。また、MFP1は、このネットワーク通信を利用することによって、電子メールの送受信を行うことも可能である。
データ格納部5は、各種のデータ(画像データおよび履歴データ等)を格納する記憶領域であり、RAMおよびHDD等によって構成される。
入出力部7は、MFP1に対応する入力を受ける付ける受付機能と、各種情報の表示出力を行う表示機能とを有し、タッチパネル式のディスプレイ(タッチスクリーン)等で構成される。
コントローラ9は、CPU、RAM、ROM等を備えるコンピュータシステム(単にコンピュータとも称する)として構成され、MFP1内の上述の各処理部等に対する動作制御を行う。
また、コントローラ9は、当該CPUを用いて所定のプログラムPGを実行することによって、テキスト情報抽出部10と、見出し項目群抽出部11と、ノード群設定部12と、電子文書生成部13と、付随情報設定部14と、更新箇所検出部15と、格納制御部16と、ジョブ履歴記録部17と、比較対象指定部18とを含む各種の機能処理部を実現する。なお、当該プログラムPGは、電子的に書き換え可能な不揮発性メモリ(EEPROM等)等に記憶される。また、当該プログラムPGは、CD−ROM、DVD−ROM、メモリカード等の各種の記録媒体に記録された状態で提供され、所定の操作によって当該記録媒体からMFP1の当該不揮発性メモリ等に転送することも可能である。これによれば、当該プログラムPGの変更が可能である。また、当該プログラムPGは、ネットワークを介してMFP1内にダウンロードすることも可能である。
テキスト情報抽出部10は、スキャン画像の画像データGAから光学文字認識(OCR)によって認識される文書情報をテキスト情報TXとして抽出する。
見出し項目群抽出部11は、文書内の「見出し」となる複数の項目(以下、見出し項目とも称する)を、見出し項目群HLとしてテキスト情報TXから抽出する。
ノード群設定部12は、見出し項目群HLを階層化して木構造のノード群を構築し、階層化された各見出し項目を当該木構造のノード群NDの各ノードに設定する。
電子文書生成部13は、画像データGAに基づいて原稿に関する電子文書を生成する。電子文書としては、本文情報領域HIとしおり情報領域(付加情報領域とも称する)SIとを有する形式のデータファイル(たとえば、しおり付きPDF(Portable Document Format)ファイル)等が採用される。また、電子文書生成部13は、電子文書を生成する際に当該電子文書の「しおり」を作成するしおり作成機能を有する。具体的には、電子文書生成部13は、ノード群設定部12によって階層化された見出し項目群HLに基づいて、電子文書のしおり表示領域SD(図11参照)(後述)に表示させるしおり情報(以下、目次情報とも称する)を作成する。
付随情報設定部14は、木構造の各ノードに設定された見出し項目に関する各キーワード群KWをテキスト情報TXから抽出し、当該各キーワード群KWを当該各ノードの付随情報に設定する。
更新箇所検出部15は、更新前の原稿に関するテキスト情報TX(TX1とも称する)と更新後の原稿に関するテキスト情報TX(TX2とも称する)とに基づいて、更新後の原稿に係る更新箇所(更新部分)を検出する。
具体的には、更新箇所検出部15は、更新前の原稿に係る木構造のノード群と更新後の原稿に係る木構造のノード群とを比較して、更新後の原稿に係る更新箇所を検出する。より詳細には、更新箇所検出部15は、更新前の原稿に係る木構造のノードに設定されている見出し項目と更新後の原稿に係る木構造のノードに設定されている木構造のノードに設定されている見出し項目とを比較して、更新後の原稿に係る更新箇所(詳細には見出し変更項目(後述))を検出する。また、更新箇所検出部15は、更新前の原稿に係る木構造のノードに設定されている付随情報と更新後の原稿に係る木構造のノードに設定されている付随情報とを比較して、更新後の原稿に係る更新箇所(詳細には本文変更項目(後述))を検出する。
格納制御部16は、更新後の原稿に係る更新箇所を表示するデータ(更新箇所の表示用データ)を更新箇所の検出結果に基づいて生成するとともに、当該更新箇所の表示用データを更新後の原稿に関する電子文書内に格納する。
ジョブ履歴記録部17は、更新前の原稿のスキャンジョブを含む複数の読込ジョブ(スキャンジョブ)に関する履歴情報であるジョブ履歴をデータ格納部5に記録する。また、ジョブ履歴記録部17は、ジョブ履歴と複数の読込ジョブに係る電子文書に関するテキスト情報(構造化されたキーワード情報等)とを、読込ジョブごとに、それぞれ関連付けて記録する。なお、「読込ジョブ」には、単なるスキャン動作のみで構成されるジョブ、およびスキャン動作と送信動作とを組み合わせて実行するジョブ等が、少なくとも含まれる。より詳細には、「読込ジョブ」には、原稿をスキャンしてスキャン画像を生成するとともに当該スキャン画像から生成された電子文書をFTP通信等により各種の送信先に送信する送信ジョブ等が含まれる。
比較対象指定部18は、ジョブ履歴として記録された複数の読込ジョブの中から、更新前の原稿に関する読込ジョブを選択して指定する。詳細には、操作ユーザの選択操作に応じて、更新前の原稿に関する読込ジョブが、更新後原稿に対する比較対象原稿の情報を有する読込ジョブとして、選択され指定される。
<2.動作概要>
本実施形態では、MFP1が、更新前の原稿に関する電子文書を生成して所定の送信先に送信し、その後、更新後の原稿に関する電子文書を生成して、再度、所定の送信先に送信する場合について説明する。この実施形態においては、MFP1は、更新後の原稿の電子文書を生成する際に、当該更新後の原稿に係る更新箇所を検出し、当該更新箇所の表示用データ(表示情報)を電子文書に格納する。
以下では、図6に示す原稿MS1を更新前の原稿として採用し、図20で示す原稿MS2(MS2a)を更新後の原稿として採用する場合について先ず例示する。
<3.更新前の原稿に関する動作>
最初に、図2のフローチャートを参照しながら、更新前の原稿に関する動作について説明する。なお、図2は、更新前の原稿に関する処理を示すフローチャートである。
ステップS11において、画像読取部2は、更新前の原稿である原稿MS1(図6参照)を光学的に読み取り、当該原稿MS1のスキャン画像である画像データGA1(図7参照)を生成する。
次のステップS12において、テキスト情報抽出部10は、図7に示すように、画像データGA1から光学文字認識等によって文字情報を認識し、当該文字情報をテキスト情報TX1として抽出する。
また、ステップS13において、見出し項目群抽出部11は、図8に示すように、文書の見出しとなる項目をテキスト情報TX1から見出し項目群として抽出する。具体的には、まず、見出し項目群抽出部11は、テキスト情報TX1を行単位の行情報LNi(LN1〜LN10)に分解する。
さらに、見出し項目群抽出部11は、当該行情報LNiのうち見出し項目の抽出条件を満たす行情報(当該行の文字情報)を見出し項目として抽出する。ここでは、見出し項目の抽出条件として、「各行情報LNiの文字の大きさが一定以上であること」及び「各行情報LNiの行頭に数字(見出し番号)が存在すること」のいずれかを充足すること、が採用される。そして、見出し項目群抽出部11は、行情報LNiのうち見出し項目の抽出条件を満たす行情報LN1,LN2,LN5,LN8を、見出し項目HL1,HL2,HL3,HL4として抽出する。
つぎに、ステップS14において、ノード群設定部12は、見出し項目群HLi(HL1,HL2,HL3,HL4)を階層化して、木構造のノード群を構築する。
具体的には、まず、ノード群設定部12は、「文字の大きさ」、「見出し番号」及び「インデント数」などに応じて、見出し項目HL1,HL2,HL3,HL4の階層を決定する。具体的には、見出し項目HL1を第1階層LY1に配置し、見出し項目HL2,HL3,HL4を第2階層LY2に配置する。
この後、ノード群設定部12は、階層化された見出し項目群HLiの各見出し項目を木構造TS1のノード群の各ノードに設定する。詳細には、ノード群設定部12は、図10に示すように、見出し項目HL1を第1階層LY1のノードND11に設定し、見出し項目HL2,HL3,HL4をそれぞれ第2階層LY2のノードND21,ND22,ND23に設定する。なお、図10に示すノードND0は、ルートノードを示している。
つぎに、ステップS15において、電子文書生成部13は、画像データGA1に基づいて原稿MS1に関する電子文書PF1(図11参照)を生成する。なお、ここでは、電子文書PF1として、本文情報領域HI1(不図示)としおり情報領域SI1(不図示)とを有する形式のデータファイル(たとえば、しおり付きPDFファイル)を採用する。この電子文書PF1は、図11に示すように、表示画面において、本文表示領域HD1としおり表示領域SD1とを有する状態で表示される。
そして、電子文書生成部13は、画像データGA1に基づいて生成される本文情報を本文情報領域HI1に格納し、見出し項目HLiに基づいて生成される目次情報をしおり情報領域SI1に格納する。当該電子文書PF1が閲覧される際には、図11に示すように、本文表示領域HD1には本文情報が表示され、しおり表示領域SD1には、目次情報(見出し項目)が表示される。
また、電子文書生成部13は、目次情報を構成する見出し項目とそれに対応する本文情報とを関連付ける情報(リンク情報)を電子文書PF1内に埋め込む。これによれば、電子文書PF1の閲覧者は、しおり表示領域SD1に表示される見出し項目を選択することによって、本文表示領域HD1に当該見出し項目に対応する本文情報を表示させることができる。
そして、ステップS16において、付随情報設定部14は、木構造TS1のノード群の各ノードに付随情報を設定する。具体的には、付随情報設定部14は、図4に示すフローチャートの各ステップ(ステップS71〜ステップS76)を実行することによって、木構造の各ノードに付随情報を設定する。
以下では、図4のフローチャートを参照しながら、木構造TS1の各ノードに付随情報が設定される動作について説明する。
ステップS71において、付随情報設定部14は、処理対象のノードを選択する。具体的には、まず、ノードND11(図10参照)が処理対象のノードとして選択される。
つぎに、ステップS72において、付随情報設定部14は、ノードND11に関連するテキスト情報があるか否かを判定する。詳細には、処理対象のノードND11に対応する見出し項目HL1と次のノードND21に対応する見出し項目HL2との間にテキスト情報が存在するか否かが判定される。ここでは、図12に示すように、見出し項目HL1と見出し項目HL2との間にはテキスト情報が存在せず、ノードND11に関連するテキスト情報が存在しないと判定され、ステップS71に戻る。
ステップS71に戻ると、付随情報設定部14は、次の処理対象のノードを選択する。
具体的には、今度は、次のノードND21(図10参照)が処理対象のノードとして選択される。
つぎに、ステップS72において、ノードND21に関連するテキスト情報があるか否かを判定する。詳細には、処理対象のノードND21に対応する見出し項目HL2と次のノードND22に対応する見出し項目HL3との間にテキスト情報が存在するか否かが判定される。ここでは、図12に示すように、見出し項目HL2と見出し項目HL3との間にテキスト情報TX12が存在し、ノードND21に関連するテキスト情報が存在すると判定され、ステップS73に進む。
ステップS73において、付随情報設定部14は、図12に示すように、見出し項目HL2と見出し項目HL3との間に存在するテキスト情報TX12を抽出する。
つぎに、ステップS74において、付随情報設定部14は、ステップS73で抽出されたテキスト情報の中から、名詞をキーワード群として抽出する。具体的には、付随情報設定部14は、図13に示すように、テキスト情報TX12の中からキーワード群KW2を抽出する。当該キーワード群KW2には、キーワードKW21(「挨拶」),KW22(「円滑」),KW23(「人間関係」),KW24(「必須」),KW25(「要素」)が含まれる。
つぎに、ステップS75において、図14に示すように、付随情報設定部14は、キーワード群KW2をノードND21の付随情報AI21として設定する。
つぎに、ステップS76において、付随情報設定処理が行われていないノードが木構造TS1にあるか否かを判定する。ここでは、付随情報設定処理が行われていないノード(ノードND22,ND23)が未だ存在するため、ステップS71に戻る。
そして、付随情報設定部14は、ノードND22,ND33についても、上記と同様の動作を実行することによって、それぞれのノードND22,ND33に付随情報を設定する。
具体的には、まず、見出し項目HL3と見出し項目HL4との間のテキスト情報TX13が、ノードND22(図10参照)に関連するテキスト情報として取得される(ステップS71〜S73)。また、図15に示すように、キーワードKW31,KW32,KW33,KW34を含むキーワード群KW3が当該テキスト情報TX13から抽出される(ステップS74)。そして、図16に示すように、キーワード群KW3がノードND22の付随情報AI22として設定される(ステップS75)。
同様に、まず、見出し項目HL4とテキスト情報TX1の終端までの間のテキスト情報TX14(図12)が、ノードND23(図10参照)に関連するテキスト情報として取得される(ステップS71〜S73)。また、図17に示すように、キーワードKW41〜KW47を含むキーワード群KW4が当該テキスト情報TX14から抽出される(ステップS74)。そして、図18に示すように、キーワード群KW4がノードND23の付随情報AI23として設定される(ステップS75)。
その後、ステップS76において、付随情報設定処理が行われていないノードが木構造TS1に存在しないと判定されると、図4のサブルーチン処理を終了し、ステップS17(図2)に進む。
ステップS17においては、通信部4は、電子文書生成部13によって生成された電子文書PF1を所定の送信先に送信する。たとえば、通信部4は、FTPを利用したネットワーク通信によって電子文書PF1を送信する。なお、これに限定されず、通信部4は、電子文書PF1を電子メールに添付して、メール送信するようにしてもよい。
つぎに、ステップS18において、ジョブ履歴記録部17は、電子文書PF1を送信した送信ジョブに関するジョブ履歴(送信履歴とも称する)SR1と電子文書PF1に関する木構造TS1とを関連付けてデータ格納部5に記録する。具体的には、図19に示すように、送信ジョブに関する各送信履歴SR1は、文書名、送信ユーザ名、送信先アドレス、送信時刻等)を有する。また、当該送信履歴SR1には、各種の情報(具体的には、「読込設定」および「階層化テキスト情報」等)が関連付けて記録されている。「階層化テキスト情報」としては、送信済み電子文書に関する木構造データ等が記録されている。たとえば、電子文書PF1に関する木構造TS1が送信履歴SR1に関連付けて記録される。なお、後述するように、更新前の原稿MS1に関する送信ジョブの終了から時間が経過した後に更新前後の両原稿を比較する場合においても、更新前の原稿MS1に関する送信履歴SR1およびそれに関連付けられた木構造TS1(テキスト情報TX1)を呼び出すことによれば、比較前の原稿に関する木構造TS1(テキスト情報TX1)を再生成せずに済む。
<4.更新後の原稿に関する動作>
続いて、図3のフローチャートを参照しながら、更新後の原稿MS2(MS2a)に関する動作について、更新前の原稿MS1に関する動作との相違点を中心に説明する。なお、図3は、更新後の原稿に関する処理を示すフローチャートである。また、この図3のフローチャートに係る処理は、更新前の原稿MS1に関する送信ジョブの実行から適宜の時間が経過した後(例えば、当該送信ジョブの実行から数日後)に、実行される。
原稿MS2aは、図21に示すように、原稿MS1を3箇所(更新箇所UD1a,UD2a,UD3a)更新した原稿である。更新箇所UD1aでは、見出し項目HL1が更新されている。具体的には、原稿MS1の2行目の「1.挨拶」が、「1.日頃の挨拶」に更新されている。また、更新箇所UD2aでは、見出し項目HL3に関する本文が更新されている。具体的には、原稿MS1の6行目から原稿MS1の7行目に係る「必要なモノにいつでも・・・」が、「必要なモノや情報にいつでも・・・」に更新されている。また、更新箇所UD3aでは、見出し項目HL4と、当該見出し項目HL4に関する本文とが削除されている。具体的には、原稿MS1の9行目の「3.報告、連絡、相談」と、それ以降の本文とが、削除されている。
まず、図3のステップS31において、入出力部7に表示された送信履歴の一覧(複数の送信履歴)(図19)から、或る送信履歴SR1を操作者が選択する。そして、この選択操作に応じて、比較対象指定部18は、送信履歴の一覧(図19参照)に示された送信履歴のうち、当該送信履歴SR1を、更新箇所検出対象のジョブ(更新前ジョブ)として指定する。そして、指定された送信履歴SR1に係る読込ジョブに関連付けて記録されているテキスト情報TX1が、更新後の原稿のテキスト情報に対する比較対象のテキスト情報としてデータ格納部5から取得される。
その後、後述するように、データ格納部5から取得されるテキスト情報TX1と、新たなスキャン動作によって取得されるテキスト情報TX2とが比較され、原稿に係る更新箇所が検出される。
具体的には、まず、MFP1は、原稿MS2aに関して、ステップS32からステップS37までの処理を行い、更新後の原稿に係るテキスト情報TX2の取得動作等を実行する。なお、ステップS32〜ステップS37の各処理は、それぞれ、図2のステップS11〜ステップS16の各処理と同様の処理である。
ステップS32においては、画像読取部2は、原稿MS2aに関する画像データ(スキャン画像データ)GA2a(図22参照)を生成する。
また、ステップS33において、テキスト情報抽出部10は、図22に示すように、テキスト情報TX2(TX2a)を画像データGA2(GA2a)から抽出する。
さらに、ステップS34において、見出し項目群抽出部11は、図23に示すように、複数の見出し項目(行情報LN1,LN2,LN5)を見出し項目群HLi(HL1,HL2,HL3)としてテキスト情報TX2aから抽出する。
つぎに、ステップS35において、ノード群設定部12は、図24に示すように、見出し項目群HLiを階層化して、木構造TS2(TS2a)を構築する。具体的には、ノード群設定部12は、見出し項目HL1を第1階層LY1に配置し、見出し項目HL2,HL3を第2階層LY2に配置する。また、ノード群設定部12は、図25に示すように、木構造TS2(TS2a)のノード群の各ノードに見出し項目を設定する。詳細には、ノード群設定部12は、見出し項目HL1を第1階層LY1のノードND11に設定し、見出し項目HL2,HL3をそれぞれ第2階層LY2のノードND21,ND22に設定する。
次のステップS36において、電子文書生成部13は、図26に示すような電子文書PF2aを生成する。なお、ここでは、電子文書PF2aとして、本文情報領域HI2a(不図示)としおり情報領域SI2a(不図示)とを有する形式のデータファイル(たとえば、しおり付きPDFファイル)を採用する。
そして、電子文書生成部13は、画像データGA2aに基づいて生成される本文情報を電子文書PF2aの本文情報領域HI2aに格納し、見出し項目HLiに基づいて生成される目次情報を電子文書PF2aのしおり情報領域SI2aに格納する。なお、仮にこのままの電子文書PF2aが閲覧される際には、図26に示すように、当該電子文書PF2aの本文表示領域HD2aには本文情報が表示され、当該電子文書PF2aのしおり表示領域SD2aには目次情報(見出し項目)が表示される。
また、電子文書生成部13は、目次情報を構成する見出し項目とそれに対応する本文情報とを関連付ける情報(リンク情報)を電子文書PF2aに埋め込む。これによれば、電子文書PF2aの閲覧者は、しおり表示領域SD2aに表示される見出し項目を選択することによって、本文表示領域HD2aに当該見出し項目に対応する本文情報を表示させることができる。
さらに、ステップS37において、付随情報設定部14は、図4に示すフローチャートの各ステップ(ステップS71〜ステップS76)を実行することによって、木構造の各ノードに付随情報を設定する。具体的には、付随情報設定部14は、図27に示すように、キーワード群KW2を木構造TS2aのノードND21の付随情報AI21として設定し、キーワード群KW3を木構造TS2aのノードND22の付随情報AI22として設定する。
つぎに、ステップS38において、更新箇所検出部15は、原稿MS1に関する木構造TS1と原稿MS2aに関する木構造TS2aとを比較することによって、原稿MS2aに係る更新箇所を検出する。また、このステップS38において、格納制御部16は、原稿MS2aに係る更新箇所の表示情報を電子文書PF2aのしおり情報領域SI2に格納する。
具体的には、図5に示すフローチャートの各ステップ(ステップS51〜ステップS64)が実行される。なお、図5は、ステップS38の詳細動作を示すフローチャートである。
以下では、図5のフローチャートを参照しながら、更新箇所検出部15が更新箇所を検出する動作と、格納制御部16が更新箇所の表示情報を電子文書PF2aに格納する動作とについて説明する。
このステップS38(図5)においては、木構造TS2(TS2a)のノード群の各ノードに設定された見出し項目と、木構造TS1のノード群の各ノードに設定された見出し項目とを比較して、更新箇所が検出される。より詳細には、木構造TS2における第n階層第mノードND(2,n,m)に設定された見出し項目と、木構造TS1のノード群のうち上記ノードND(2,n,m)と同一階層(第n階層)に存在するノード群の各ノードND(1,n,j)に設定された見出し項目とを比較する(ステップS51〜S56,S59〜S61)ことなどにより、更新箇所が検出される。なお、ノードND(1,n,m)は、木構造TS1における第n階層第mノードを表し、ノードND(2,n,m)は、木構造TS2における第n階層第mノードを表す。
まず、図5のステップS51において、更新箇所検出部15は、木構造TS2(TS2a)のノード群から比較対象のノード(注目ノードとも称する)を選択する。具体的には、まず、更新後の原稿MS2aに係る木構造TS2aの第1階層LY1(n=1)の第1番目(m=1)のノードND11(ND(2,1,1))が選択される。
つぎに、ステップS52において、更新箇所検出部15は、木構造TS2における第n階層の第mノードND(2,n,m)に設定された見出し項目と、木構造TS1における第n階層の各ノードND(1,n,j)に設定された見出し項目とを比較する。そして、各ノードND(1,n,j)の見出し項目が、注目ノードND(2,n,m)の見出し項目に一致するか否かが判定される。そして、一致する見出し項目が存在する場合には、当該見出し項目は変更されていないものと判定される。また、注目ノードND(2,n,m)に対応するノードND(1,n,k)は、「対応ノード」として記録される。その後、ステップS53に進む。一方、一致する見出し項目が存在しない場合には、当該見出し項目に関する変更がなされたものと判定され、ステップS59に進む。なお、ステップS59では、後述するように、注目ノードND(2,n,m)が見出し変更項目に追加される。
ここでは、木構造TS2aのノードND11(ND(2,1,1))に設定されている見出し項目HL1と、木構造TS1の第1階層LY1の各ノードND(1,1,j)に設定されている見出し項目とが比較される。
図28に示すように、木構造TS1の第1階層LY1に存在するノードは、ノードND11のみである。そのため、更新箇所検出部15は、木構造TS2aのノードND11に設定される見出し項目HL1と木構造TS1のノードND11に設定される見出し項目HL1とを比較する。ここで、木構造TS2aのノードND11に設定される見出し項目HL1は、図23に示すように、「新入社員のビジネスマナー」である。また、木構造TS1のノードND11に設定される見出し項目HL1も、図8に示すように、「新入社員のビジネスマナー」であり、木構造TS2aのノードND11に設定される見出し項目HL1の文字列と同一の文字列である。したがって、更新箇所検出部15は、木構造TS2aのノードND11の見出し項目HL1と木構造TS1のノードND11の見出し項目HL1とが一致すると判定し、当該見出し項目HL1は変更されていないものと判定する。その後、ステップS53に進む。
ステップS53において、更新箇所検出部15は、ステップS52にて一致した各ノードに付随情報が存在する否かを判定する。付随情報が存在する場合にはステップS54に進み、付随情報が存在しない場合にはステップS56に進む。なお、ステップS54では、後述するように、キーワード群に関する一致判定処理等が実行される。
ここでは、図28に示すように、木構造TS2aのノードND11にも木構造TS1のノードND11にも付随情報は設定されていない。そのため、更新箇所検出部15は、一致したノード同士に付随情報は存在しないと判定し、ステップS56に進む。
ステップS56において、更新箇所検出部15は、木構造TS2の第n階層に未比較ノードND(2,n,m)が残存しているか否かを判定する。未比較ノードが存在する場合には、ステップS61に進み、値mがインクリメントされ注目ノードが更新された後、再びステップS52に進む。一方、別のノードが存在しない場合にはステップS57に進む。
図28に示すように、木構造TS2aの第1階層LY1には、ノードND11以外のノードは設定されていない。そのため、更新箇所検出部15は、木構造TS2aの第1階層LY1には未比較ノードは存在しないと判定し、ステップS57に進む。
ステップS57においては、更新箇所検出部15は、非対応ノードND(1,n,j)が木構造TS1の第n階層に存在するか否かを判定する。この「非対応ノード」は、木構造TS1の同一階層に存在する全てのノードのうち、「対応ノード」(上述)(ステップS52参照)以外のノードである。換言すれば、木構造TS1の第n階層に存在する全てのノードのうち、その見出し項目が木構造TS2の第n階層のいずれのノードの見出し項目とも一致しなかったノードである。非対応ノードが存在する場合には、ステップS62に進み、当該非対応ノードは削除または修正等されたものと判定され、当該非対応ノードに設定されていた見出し項目が「見出し変更項目」に追加される。一方、非対応ノードが存在しない場合には、ステップS57からステップS58に進む。なお、「見出し変更項目」は、原稿の更新前後において、その見出し項目の名称に関する変更がなされた見出し項目である。詳細には、「見出し変更項目」は、原稿の更新により見出し項目の名称自体が修正された見出し項目を含むことに加え、原稿の更新により削除された見出し項目をも含み、原稿の更新により追加された見出し項目をも含む。
木構造TS1の第1階層LY1における唯一のノードND11は、木構造TS2aの第1階層LY1のノードND11に対応する。そのため、更新箇所検出部15は、木構造TS1の第1階層には、非対応ノードND(1,1,j)が存在しないと判定する。そして、ステップS58に進む。
ステップS58において、更新箇所検出部15は、木構造TS2aの第n階層LYnに下位階層があるか否かを判定する。そして、下位階層がある場合には、ステップS63に進み、下位階層がない場合には、図5のフローチャートにおける処理は終了し、図3のステップS39に進む。
ここでは、図28に示すように、木構造TS2aにおいては、第1階層LY1の下位階層である第2階層LY2が存在する。そのため、木構造TS2aの第1階層LY1は下位階層を有していると判定され、ステップS63に進む。
ステップS63においては、値nがインクリメントされ、値mは最初の値「1」に戻されることによって、注目ノードが更新される。詳細には、更新箇所検出部15は、原稿MS2aに係る木構造TS2aの第2階層LY2(n=2)の第1番目(m=1)のノードND21を、注目ノードに設定する。そして、ステップS52に戻る。
ステップS52においては、更新箇所検出部15は、今度は、木構造TS2における第2階層の第1ノードND(2,2,1)に設定された見出し項目と、木構造TS1における第2階層の各ノードND(1,2,j)に設定された見出し項目とを比較する。詳細には、木構造TS2aのノードND21に設定されている見出し項目HL2と、木構造TS1の第2階層LY2の各ノードND21,ND22,ND23に設定されている各見出し項目とをそれぞれ比較し、一致する見出し項目が存在するか否かを判定する。
図23に示すように、木構造TS2aのノードND21に設定された見出し項目HL2は、「1.日頃の挨拶」である。また、木構造TS1のノードND21,ND22,ND23に設定される見出し項目HL2,HL3,HL4は、それぞれ、図8に示すように、「1.挨拶」、「2.整理整頓」、「3.報告、連絡、相談」である。したがって、更新箇所検出部15は、木構造TS2aのノードND21の見出し項目HL2は、木構造TS1のノードND21,ND22,ND23に設定される見出し項目HL2,HL3,HL4のいずれとも一致しないと判定する。そして、更新箇所検出部15は、木構造TS2aのノードND21に設定されている見出し項目HL1を更新箇所として検出する。そして、ステップS59に進む。
ステップS59においては、注目ノードND(2,n,m)が更新箇所(見出し変更項目)に追加される。そして、格納制御部16は、当該更新箇所の表示情報を電子文書PF2aのしおり情報領域SI2aに格納する。この結果、図26と比較すると判るように、電子文書PF2aのしおり表示領域SD2aには、図29に示すように、木構造TS2aのノードND21(ND(2,2,1))に設定されている見出し項目HL1が、見出し変更項目HC1として追加表示される。
ステップS56において、更新箇所検出部15は、ノードND21以外のノードが木構造TS2aの第2階層LY2に存在するか否かを判定する。
ここでは、図28に示すように、木構造TS2aの第2階層LY2には、ノードND21以外にノードND22も存在する。そのため、更新箇所検出部15は、木構造TS2aの第2階層LY2に別のノードが存在すると判定し、ステップS61に進む。
ステップS61においては、値mがインクリメントされ、注目ノードが更新される。詳細には、更新箇所検出部15は、更新後の原稿MS2aに係る木構造TS2aの第2階層LY2(n=2)の第2番目(m=2)のノードND22(ND(2,2,2,))を、注目ノードに設定する。そして、ステップS52に戻る。
ステップS52において、更新箇所検出部15は、木構造TS2aのノードND22(ND(2,2,2)に設定されている見出し項目HL3と、木構造TS1の第2階層LY2の各ノード(1,2,j)に設定されている見出し項目とを比較する。
図28に示すように、木構造TS1の第2階層LY2には、3つのノードND21,ND22,ND23が存在する。そして、更新箇所検出部15は、木構造TS2aのノードND22に設定された見出し項目HL3(「2.整理整頓」)と木構造TS1のノードND22に設定された見出し項目HL3(「2.整理整頓」)とが一致することを検出し、ステップS53に進む。
ステップS53においては、更新箇所検出部15は、木構造TS2aのノードND22と、木構造TS1のノードND22とに、それぞれ付随情報が存在するか否かを判定する。
図28に示すように、木構造TS2aのノードND22には付随情報AI22が設定され、木構造TS1のノードND22には付随情報AI22が設定されている。そのため、更新箇所検出部15は、付随情報が存在すると判定し、ステップS54に進む。
ステップS54において、木構造TS2aのノード群におけるノードND22に設定された付随情報と、木構造TS1のノード群における対応ノードND22に設定された付随情報とを比較して、更新箇所(詳細には本文変更項目)が検出される。
詳細には、更新箇所検出部15は、木構造TS2aのノードND22の付随情報AI22であるキーワード群KW3の全キーワードと、木構造TS1のノードND22の付随情報AI22であるキーワード群KW3の全キーワードとが一致するか否かを判定する。そして、全キーワードが一致する場合には、ステップS56に進み、一致しないキーワードが存在する場合には、ステップS60に進む。
図28に示すように、木構造TS2aのノードND22の付随情報AI22(すなわちキーワード群KW3)には、新たなキーワードである「情報」が追加されている。更新箇所検出部15は、木構造TS2aのノードND22の付随情報AI22(すなわちキーワード群KW3)と、木構造TS1のノードND22の付随情報AI22(すなわちキーワード群KW3)とは完全には一致しないと判定する。そして、更新箇所検出部15は、木構造TS2aのノードND22に設定される見出し項目HL3を更新箇所(詳細には、本文変更項目)として検出し、ステップS60に進む。なお、「本文変更項目」は、その付随情報(詳細にはその見出し項目に付随するテキスト情報(本文))が変更された見出し項目である。
ステップS60において、格納制御部16は、更新箇所の表示情報をしおり情報領域SI2aに格納する。この結果、しおり表示領域SD2aには、図29に示すように、木構造TS2aのノードND22に設定されている見出し項目HL3が、本文変更項目BC1として表示される。
また、ステップS60において、格納制御部16は、本文変更項目BC1とそれに対応する本文情報とを関連付ける情報(リンク情報)を電子文書PF2aのしおり情報領域Si2aに埋め込む。そして、電子文書PF2aの閲覧者が、しおり表示領域SD2aに表示される本文変更項目BC1を選択すると、当該リンク情報を用いて、当該本文変更項目BC1に対応する本文情報が本文表示領域HD2aに表示される。端的に言えば、本文変更項目BC1の選択操作に応じて、「ジャンプ表示」が行われる。
さらに、ステップS60において、格納制御部16は、マーカー対象情報を本文情報領域HI2aに格納する。これによれば、電子文書PF2aの本文表示領域HD2aには、図29に示すように、マーカー対象のキーワードである「情報」にマーカーMK1が付された状態で表示される。
次のステップS56においては、更新箇所検出部15は、木構造TS2aの第2階層LY2にノードND21,ND22とは別のノードがさらに存在するか否かを判定する。
図28に示すように、木構造TS2aの第2階層LY2には、ノードND21,ND22以外にノードは存在しない。そのため、更新箇所検出部15は、木構造TS2aの第2階層LY2に別のノードは存在しないと判定する。そして、ステップS57に進む。
ステップS57においては、更新箇所検出部15は、木構造TS1の第2階層に非対応ノードND(1,2,j)が存在するか否かを判定する。
木構造TS1の第2階層LY2の3つのノードのうちの2つのノードND21,ND23に一致するノードは、木構造TS2aの第2階層LY2に存在しない。そのため、更新箇所検出部15は、木構造TS1の非対応ノードND21,23に設定されている見出し項目HL2,HL4を更新箇所(詳細には、見出し変更項目)として検出する。そして、ステップS62に進む。
ステップS62においては、非対応ノードND21,23が更新箇所(見出し変更項目)に追加される。そして、格納制御部16は、当該更新箇所の表示情報を電子文書PF2aのしおり情報領域SI2aに格納する。この結果、電子文書PF2aのしおり表示領域SD2aには、図29に示すように、木構造TS1のノードND21に設定されている見出し項目HL2が、見出し変更項目HC2として表示され、木構造TS1のノードND23に設定されている見出し項目HL4が、見出し変更項目HC3として表示される。
次のステップS58においては、更新箇所検出部15は、木構造TS2aの第2階層LY2に下位階層があるか否かを判定する。
図28に示すように、木構造TS2aの第2階層LY2の下位階層は存在しない。そのため、更新箇所検出部15は、木構造TS2aの第2階層LY2に下位階層なしと判定する。そして、図5のフローチャートにおける処理は終了し、図3のステップS39に進む。
ステップS39において、通信部4は、ステップS38の処理が施された電子文書PF2aを所定の送信先に送信する。当該電子文書PF2aは、たとえば送信履歴SR1に記録されていた「送信先アドレス」宛に送信される。
つぎに、ステップS40において、ジョブ履歴記録部17は、電子文書PF2aを送信した送信ジョブに関するジョブ履歴SR2と電子文書PF2aに関する木構造TS2aとを関連付けて記録する。詳細には、ジョブ履歴記録部17は、たとえば図30に示すように、電子文書PF2aに関する履歴情報を送信履歴SR2に記録する。そして、ジョブ履歴記録部17は、電子文書PF2aに関する木構造(階層化テキスト情報)TS2aを送信履歴SR2に関連付けて記録する。なお、このような送信履歴SR2は、原稿が更に更新される際において、当該更に更新された原稿と当該更なる更新直前の原稿(すなわち送信履歴SR2に係る原稿)との相違点等を検出する際に用いられる。
以上のような動作によれば、更新箇所検出部15は、原稿MS1に関する木構造TS1と原稿MS2に関する木構造TS2と比較することによって、更新後の原稿MS2に係る更新箇所を検出する。また、格納制御部16は、更新後の原稿MS2に係る更新箇所の表示情報を電子文書PF2のしおり情報領域SI2に格納する。そして、当該電子文書PF2aが閲覧される際には、図29に示すように、当該電子文書PF2aの本文表示領域HD2aには本文情報が表示され、当該電子文書PF2aのしおり表示領域SD2aには目次情報(見出し項目)が表示される。特に、更新箇所の表示用データに基づき当該更新箇所が当該電子文書PF2aのしおり表示領域SD2aに表示されるので、電子文書PF2の閲覧者(電子文書PF2の受信者等)は、当該電子文書PF2のみを閲覧することによって原稿MS2に係る更新箇所を容易に知得(確認)することができる。
特に、木構造TS2のノード群に設定される見出し項目と木構造TS1のノード群に設定される見出し項目とが比較されて更新箇所が検出されるので、全てのテキスト情報同士を比較する場合に比べて、大まかな更新箇所(見出し項目に係る更新箇所)を効率的に検出することが可能である。
また特に、木構造TS2の一のノード(ND(2,n,m))に設定された一の見出し項目と木構造TS1のノード群のうち当該一のノード(ND(2,n,m))と同一階層に存在するノードに設定された見出し項目ND(1,n,j)とがそれぞれ比較されるので、木構造TS2の一のノードと木構造TS1の全階層における全ノードとがそれぞれ(階層の区別なく)比較される場合に比べて、効率的に比較することが可能である。
また特に、木構造TS2のノード群の各ノードに設定される付随情報と、木構造TS1のノード群の各ノードに設定される付随情報とが比較されるので、更新後の原稿において、見出し項目以外の本文に関する更新箇所をも更新箇所(本文変更項目等)として詳細に検出することができる。
また特に、ステップS31において、指定された読込ジョブに関連付けて記録されているテキスト情報TX1が比較対象のテキスト情報(更新前原稿に関するテキスト情報)として取得されるので、更新前の原稿に関するスキャンジョブの終了から時間が経過した後に更新前後の両原稿を比較する場合等においても、テキスト情報TX1を再生成することを要しない。
<5.別の更新例>
上記においては、更新前の原稿MS1(図6)と更新後の原稿MS2a(図20)とがスキャンされて送信される場合について例示した。
以下では、別の更新例について説明する。具体的には、更新前の原稿MS1(図6)と更新後の原稿MS2b(図31)とがスキャンされて送信される場合について、上記との相違点を中心に説明する。
原稿MS2bは、図32に示すように、原稿MS1(図6)を1箇所(更新箇所UD1b)更新した原稿である。具体的には、更新箇所UD1bでは、「4.電話対応」とそれ以下の本文とを原稿MS1に追加する更新がなされている。
このような原稿MS2bに対して、図3のフローチャートの動作が実行されると、図39に示すような電子文書PF2bが生成される。
具体的には、上述と同様のステップS31の処理の後、ステップS32において、画像読取部2は、原稿MS2bのスキャン画像データGA2(GA2b)(図33参照)を生成する。
そして、ステップS33において、テキスト情報抽出部10は、図33に示すように、画像データGA2bからテキスト情報TX2(TX2b)を抽出する。
また、ステップS34において、見出し項目群抽出部11は、図34に示すように、複数の見出し項目(行情報LN1,LN2,LN3,NL4,LN5)を見出し項目群HLi(HL1,HL2,HL3,HL4,HL5)としてテキスト情報TX2bから抽出する。
つぎに、ステップS35において、ノード群設定部12は、図35に示すように、見出し項目群HLiを階層化して、木構造TS2(TS2b)を構築する。具体的には、ノード群設定部12は、見出し項目HL1を第1階層LY1に配置し、見出し項目HL2,HL3,HL4,HL5を第2階層LY2に配置する。また、ノード群設定部12は、図36に示すように、木構造TS2(TS2b)の各ノードに見出し項目を設定する。具体的には、ノード群設定部12は、見出し項目HL1を第1階層LY1のノードND11に設定し、見出し項目HL2,HL3,HL4,HL5をそれぞれ第2階層LY2のノードND21,ND22,ND23,ND24に設定する。
次のステップS36において、電子文書生成部13は、図37に示すような電子文書PF2bを生成する。特に、電子文書生成部13は、画像データGA2bに基づいて生成される本文情報を本文情報領域HI2bに格納し、見出し項目HLiに基づいて生成される目次情報をしおり情報領域SI2bに格納する。
さらに、ステップS37において、付随情報設定部14は、図38に示すように、木構造TS2(TS2b)のノードND21,ND22,ND23,ND24に付随情報AI21,AI22,AI23,AI24を設定する。
つぎに、ステップS38において、更新箇所検出部15は、原稿MS1に関する木構造TS1と原稿MS2bに関する木構造TS2bとを比較することによって、原稿MS2bに係る更新箇所を検出する。また、ステップS38において、格納制御部16は、原稿MS2bに係る更新箇所の表示情報を電子文書PF2bのしおり情報領域SI2に格納する。
詳細には、更新箇所検出部15は、木構造TS2aのノードND24に設定されている見出し項目HL5を更新箇所として検出する。より詳細には、ステップS52(図5)において、更新箇所検出部15は、木構造TS2aのノードND24に設定されている見出し項目HL5と、木構造TS1の第2階層LY2のノードND21,ノードND22,ノードND23に設定されている見出し項目HL2,HL3,HL4とに一致する見出し項目がないと判定する。そして、更新箇所検出部15は、木構造TS2aのノードND24に設定されている見出し項目HL5を更新箇所として検出する。
また、格納制御部16は、ステップS59において、更新箇所の表示情報を電子文書PF2bのしおり情報領域SI2bに格納する。これによれば、電子文書PF2bのしおり表示領域SD2aには、図39に示すように、木構造TS2bのノードND24に設定されている見出し項目HL5が、見出し変更項目HC1として表示される。
その後、ステップS39において、通信部4は、電子文書PF2bを所定の送信先に送信する。
また、ステップS40において、ジョブ履歴記録部17は、電子文書PF2bを送信した送信ジョブに関する送信履歴SR2と電子文書PF2aに関する木構造TS2aとを関連付けて記録する。
以上のように、この実施形態に係るMFP1によれば、更新箇所検出部15は、原稿MS1に関する木構造TS1と原稿MS2bに関する木構造TS2bと比較することによって、更新後の原稿MS2bに係る更新箇所を検出する。そして、格納制御部16は、更新後の原稿MS2bに係る更新箇所の表示情報を電子文書PF2のしおり情報領域SI2に格納する。これによれば、更新箇所の表示情報に基づき当該更新箇所が当該電子文書PF2bのしおり表示領域SD2bに表示されるので、電子文書PF2bの閲覧者は、当該電子文書PF2bのみを閲覧することによって、原稿MS2bに係る更新箇所を容易に知得(確認)することができる。
<6.変形例等>
以上、この発明の実施の形態について説明したが、この発明は上記説明した内容のものに限定されるものではない。
たとえば、上記の実施形態では、更新箇所検出部15が、更新前の原稿MS1に関する木構造TS1と、更新後の原稿MS2に関する木構造TS2とを比較することによって原稿MS2に係る更新箇所を検出する場合(図5)を例示したが、これに限定されない。具体的には、更新箇所検出部15は、更新前の原稿MS1に関するテキスト情報TX1(図7参照)と、更新後の原稿MS2に関するテキスト情報TX2(図22,図34)とを、それぞれ階層化することなく、そのまま比較することによって原稿MS2に係る更新箇所を検出してもよい。
また、上記の実施形態では、ジョブ履歴記録部17が、電子文書の送信ジョブに関する送信履歴と、当該電子文書に関するテキスト情報(詳細には木構造)とを関連付けて記録する場合(図2のステップS18,図3のステップS40)を例示したが、これに限定されない。たとえば、ジョブ履歴記録部17は、スキャン動作により生成した電子文書をMFP1のデータ格納部5内のフォルダ(「ボックス」とも称する)に格納する電子文書格納ジョブ(「スキャンtoボックス」とも称する)に関する格納履歴と、当該電子文書に関するテキスト情報(木構造等)とを関連付けて記録しておくようにしてもよい。そして、比較対象指定部18が、操作者による選択操作に応じて、更新後の電子文書と比較すべき元の電子文書を、ボックスに格納された履歴の中から指定し、更新箇所検出部15が更新箇所を検出するようにしてもよい。
また、上記の実施形態では、ステップS59,S60,S62(図5)において、格納制御部16は、更新後の原稿MS2に係る更新箇所の表示情報(表示用データ)を電子文書PF2のしおり情報領域SI2に格納する場合を例示したが、これに限定されない。たとえば、格納制御部16は、図40に示すように、更新箇所の表示情報(表示用データ)を電子メールML2(図40)の本文情報領域に格納するようにしてもよい。当該電子メールML2は、通信部4等により所定の送信先に送信されればよい。なお、この電子メールML2は、電子文書PF2を添付したものであることが好ましい。
このような変形例によれば、電子メールML2の本文表示領域MDに更新箇所が記載されるので、当該電子メールML2を受信した受信者は、原稿MS2に係る更新箇所を電子メールML2にて確認することができる。
また、上記の実施形態では、図29に示すように、格納制御部16は、更新後の原稿MS2aにおいて、見出し項目が更新されている際には、当該見出し項目を見出し変更項目HCに追加し、見出し項目以外の本文が更新される際には、当該本文に係る見出し項目を本文変更項目BCに追加する場合を例示した。すなわち、更新箇所を見出し変更項目HCと本文変更項目BCとに区別して表示する場合を例示した。しかしながら、本発明はこれに限定されない。
たとえば、格納制御部16は、図41に示すように、更新後の原稿MS2aにおいて、更新箇所に係る全ての見出し項目を一括的に変更項目TCに追加するようにしてもよい。換言すれば、更新箇所を見出し変更項目HCと本文変更項目BCとに区別することなく表示させるようにしてもよい。
このとき、格納制御部16は、見出し項目以外の本文が更新された変更項目TC2とそれに対応する本文情報とを関連付ける情報(リンク情報)を電子文書PF2aのしおり情報領域SI2aに埋め込むことが好ましい。これによれば、電子文書PF2aの閲覧者は、しおり表示領域SD2aに表示される変更項目TC2を選択することによって、本文表示領域HD2aに当該本文変更項目TC2に対応する本文情報を表示させることができる。変更項目TC1についても同様である。
なお、削除あるいは修正された変更項目TC3,TC4に対応する本文情報は電子文書PF2内には存在しないため、適切なリンク先(ジャンプ先)を設定することは容易ではない。そのような場合には、格納制御部16は、当該変更項目TC4が削除あるいは修正された旨をポップアップ表示させるための表示用データを、電子文書PF2bに埋め込むようにしてもよい。これによれば、電子文書PF2bの閲覧者によって当該変更項目TC1,TC4が選択される場合には、図42に示すように、ポップアップ表示PUが画面に表示される。そのため、操作者は、自らにより選択された見出し項目が削除あるいは修正等されていることを容易に知得することができる。