JP5142551B2 - 電子文書処理装置、電子文書処理方法、及びコンピュータプログラム - Google Patents
電子文書処理装置、電子文書処理方法、及びコンピュータプログラム Download PDFInfo
- Publication number
- JP5142551B2 JP5142551B2 JP2007042434A JP2007042434A JP5142551B2 JP 5142551 B2 JP5142551 B2 JP 5142551B2 JP 2007042434 A JP2007042434 A JP 2007042434A JP 2007042434 A JP2007042434 A JP 2007042434A JP 5142551 B2 JP5142551 B2 JP 5142551B2
- Authority
- JP
- Japan
- Prior art keywords
- filter
- function
- electronic document
- program
- application program
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000012545 processing Methods 0.000 title claims description 117
- 238000003672 processing method Methods 0.000 title claims description 14
- 238000004590 computer program Methods 0.000 title claims description 6
- 230000006870 function Effects 0.000 claims description 216
- 238000000034 method Methods 0.000 claims description 99
- 238000013507 mapping Methods 0.000 claims description 67
- 238000012805 post-processing Methods 0.000 claims description 33
- 238000007781 pre-processing Methods 0.000 claims description 33
- 238000010586 diagram Methods 0.000 description 17
- 238000007726 management method Methods 0.000 description 8
- 230000004913 activation Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000007639 printing Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 125000002066 L-histidyl group Chemical group [H]N1C([H])=NC(C([H])([H])[C@](C(=O)[*])([H])N([H])[H])=C1[H] 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000008571 general function Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Technology Law (AREA)
- Multimedia (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Accessory Devices And Overall Control Thereof (AREA)
- Storage Device Security (AREA)
- Document Processing Apparatus (AREA)
- Facsimiles In General (AREA)
Description
更に一つのMFPで、使用するユーザによって、編集できる操作や編集内容の制限を変えることが困難であるといった問題がある。
次に、図面を参照しながら、本発明の第1の実施形態について説明する。
図1は、印刷システムの概略構成の一例を示す図である。
図1において、ユーザ1は、文書をMFP100に保存させるユーザである。ユーザ2は、MFP100に保存されている電子文書1000を編集するユーザである。紙ドキュメント10は、ユーザ1によるユーザインターフェース101の操作に基づいて、MFP100が有するスキャナで読み込まれ、電子文書1000としてMFP100に保存される。また、ユーザ1によるユーザインターフェース101の操作に基づいて、MFP100が有するプリンタによって紙ドキュメント20が印刷される。
図2において、コントローラ102は、MFP100全体を制御するためのものである。ネットワーク制御部401は、ネットワークを介して相互に接続されたPC501、502等との通信を制御するためのものである。CPU402は、ハードディスク(HDD)403やROM405に記憶されたプログラムを、RAM404をワークエリアとして用いる等して実行して、コントローラ102を統括制御するためのものである。ROM405及びハードディスク403は、プログラムやデータを記憶する。RAM404は、ワークエリアとして機能したり、データの一時的な記憶領域として機能したりする。
図3において、機器内のアプリケーションプログラム群110には、再印刷アプリケーションプログラム(再印刷)111と、外部からアプリケーションプログラムをダウンロードできるアプリケーションフレームワーク120とが含まれている。編集アプリケーションプログラム(アプリA〜D)121〜124は、夫々アプリケーションフレームワーク120上で動作する。本実施形態では、編集アプリケーションプログラム121〜124は、アプリケーションフレームワーク120上で動作する。また、本実施形態では、アプリケーションフレームワーク120を用いてアプリケーションプログラム記憶手段が実現される。
プラグイン用フィルタ制御モジュール160は、アプリケーションプログラム群110、若しくはネットワークモジュール130が起動する際に、フィルタ301〜305の何れかをフィルタプラグイン210に接続(設定)する。対ユ―ザフィルタ情報モジュール170は、プラグイン用フィルタ制御モジュール160が、アプリケーションプログラム群110を使用するユーザに対して設定すべきフィルタを、フィルタ301〜305の中から決定するための情報を記憶する。
文書操作ライブラリ221は、文書管理モジュール150に記憶されている電子文書を操作する機能を持つ。文書編集ライブラリ222は、文書管理モジュール150に記憶されている電子文書を編集する機能を持つ。このように本実施形態では、例えば、文書操作ライブラリ221及び文書編集ライブラリ222を用いて、編集操作機能ライブラリが実現される。また、文書操作ライブラリ221及び文書編集ライブラリ222にライブラリ化されて記憶されている後述の関数を用いて編集操作手段が実現される。
サービスマネージャは、編集アプリケーションプログラム121〜124の追加・削除・起動・停止等、編集アプリケーションプログラム121〜124の実行を管理する。仮想機械としてのインタプリタは、アプリケーションプログラムや、ライブラリのコードを実現するJava(登録商標)のバイトコードを解釈して実行するソフトウェアである。本実施形態では、サービスマネージャが管理するアプリケーションフレームワーク120が、アプリケーションプラットフォームの一例として設けられる。
尚、プラットフォームの機能としては、アプリケーションプラットフォームの他に、機器制御用のプラットフォームがある。
図9において、編集アプリケーションプログラム121は、ユーザ2が、MFP100のユ―ザインタフェース101を操作して、編集アプリケーションプログラム121を使用した電子文書1000の編集開始を指示するまで待機する(ステップS1)。編集アプリケーションプログラム121を使用した電子文書1000の編集の開始が指示されると、編集アプリケーションプログラム121は、文書操作API201を用いて、編集対象の電子文書1000を開く処理を実行する(ステップS2)。次に、編集アプリケーションプログラム121は、編集対象の電子文書1000がなく、その編集対象の電子文書1000を開けない等のエラーが生じたか否かを判定する(ステップS3)。この判定の結果、エラーが生じた場合、編集アプリケーションプログラム121は、そのことを示すメッセージをユーザインターフェース101等に表示して(ステップS4)、処理を終了する。
一方、入力が文書操作に関わるものである場合、編集アプリケーションプログラム121は、その入力が処理の終了を指示するものか否かを判定する(ステップS8)。この判定の結果、入力が処理の終了を指示するものである場合、編集アプリケーションプログラム121は、処理が正常に終了したことを示すメッセージをユーザインターフェース101等に表示して(ステップS4)、処理を終了する。
次に、編集アプリケーションプログラム121は、その文書のプロパティの更新日時に、現在の日時を書き込んで(ステップS11)、その文書をセーブ(保存)し(ステップS12)、ステップS4に戻る。
ステップS13において、入力が、プロパティの編集を指示するものでないと判定された場合と、ステップS14において、プロパティの編集対象が、作者、更新者、作成日時、及び更新日時の何れでもないと判定された場合、ステップS16に進む。そして、編集アプリケーションプログラム121は、入力された内容に従って、編集対象の電子文書1000の操作を、文書操作API201を用いて実行して(ステップS16)、ステップS4に戻る。
図10において、編集アプリケーションプログラム122は、ユーザ2が、MFP100のユ―ザインタフェース101を操作して、編集アプリケーションプログラム122を使用した電子文書1000の編集開始を指示するまで待機する(ステップS21)。編集アプリケーションプログラム122を使用した電子文書1000の編集の開始が指示されると、編集アプリケーションプログラム121は、文書操作API201を用いて、編集対象の電子文書1000を開く処理を実行する(ステップS22)。
次に、編集アプリケーションプログラム122は、文書編集API202を介して得られる文書編集ライブラリ222の機能を用いて、置換処理を行った部品を、指定された色に着色する(ステップS29)。そして、ステップS24に戻り、次の部品に対して同様の処理を繰り返す。
ステップS26において、編集対象の電子文書1000を構成する全ての部品1001〜1005について処理を行ったと判定された場合、ステップS30に進む。そして、編集アプリケーションプログラム122は、文書操作API201を用いて、編集対象の文書をセーブ(保存)する(ステップS30)。そして、編集アプリケーションプログラム122は、エラーが生じたか否かを判定する(ステップS31)。
一方、エラーが生じていない場合、編集アプリケーションプログラム122は、正常に編集が終了したと判定して、編集対象の電子文書1000を閉じる(ステップS34)。そして、編集アプリケーションプログラム122は、正しく編集できた旨を示すメッセージをユーザインターフェース101等に表示し(ステップS35)、処理を終了する。
図11において、編集アプリケーションプログラム123は、ユーザ2が、MFP100のユ―ザインタフェース101を操作して、編集アプリケーションプログラム122を使用した電子文書1000の編集開始を指示するまで待機する(ステップS41)。編集アプリケーションプログラム123を使用した電子文書1000の編集の開始が指示されると、編集アプリケーションプログラム121は、文書操作API201を用いて、編集対象の電子文書1000を開く処理を実行する(ステップS42)。
一方、エラーが生じていない場合、編集アプリケーションプログラム123は、正常に編集が終了したと判定して、編集対象の電子文書1000を閉じる(ステップS51)。そして、編集アプリケーションプログラム123は、正しく編集できた旨を示すメッセージをユーザインターフェース101等に表示し(ステップS52)、処理を終了する。
図12において、編集アプリケーションプログラム124は、ユーザ2が、MFP100のユ―ザインタフェース101を操作して、編集アプリケーションプログラム124を使用した電子文書1000の編集開始を指示するまで待機する(ステップS61)。編集アプリケーションプログラム124を使用した電子文書1000の編集の開始が指示されると、編集アプリケーションプログラム121は、文書操作API201を用いて、編集対象の電子文書1000を開く処理を実行する(ステップS62)。
次に、編集アプリケーションプログラム124は、編集対象の文書がなく、その編集対象の文書を開けない等のエラーが生じたか否かを判定する(ステップS63)。この判定の結果、エラーが生じた場合、編集アプリケーションプログラム124は、そのことを示すメッセージをユーザインターフェース101等に表示して(ステップS64)、処理を終了する。
一方、入力が文書操作に関わるものである場合、編集アプリケーションプログラム124は、文書操作API201を用いて、電子文書1000を操作する(ステップS68)。次に、編集アプリケーションプログラム124は、エラーが発生したか否かを判定する(ステップS69)。この判定の結果、エラーが発生した場合、編集アプリケーションプログラム124は、その旨を示すメッセージをユーザインターフェース101等に表示して(ステップS64)、処理を終了する。
一方、エラーが発生していない場合、編集アプリケーションプログラム124は、処理が終了したか否かを判定する(ステップS70)この判定の結果、処理が終了していない場合には、ステップS64に戻り、処理を継続する。一方、処理が終了した場合、編集アプリケーションプログラム124は、正常に処理が終了したことを示すメッセージをユーザインターフェース101等に表示して(ステップS64)、処理を終了する。
ユーザ2が、アプリケーションプログラム群110の1つの起動を指示する際、若しくはネットワークを経由して電子文書1000に対する処理を行う際に、ユーザ認証モジュール140は、ユーザの認証処理を行い使用しているユーザを特定する。このように本実施形態では、例えば、ユーザ認証モジュール140が行う処理によって、ユーザ認証手段が実現される。
次に、プラグイン用フィルタ制御モジュール160は、対ユーザフィルタ情報モジュール170に、ステップS81で取得したユーザの認証情報を渡し、そのユーザに対応するフィルタの情報の取得を依頼する(ステップS82)。前述したように、対ユーザフィルタ情報モジュール170には、管理ユーザによって、どのユーザにどのフィルタを用いるかを示す情報が予め入力されている。
一方、該当するユーザに対応するフィルタの情報がある場合、プラグイン用フィルタ制御モジュール160は、MFP100内にその情報に合致するフィルタがインストールされていないかどうかを判定する(ステップS85)。この判定の結果、フィルタの情報に合致するフィルタが、MFP100内にインストールされていない場合、プラグイン用フィルタ制御モジュール160は、デフォルトのフィルタを選択してフィルタプラグイン210に接続する(ステップS84)。
以上のように本実施形態では、例えば、ステップS84、S86の処理を行うことによってフィルタプログラム選択手段が実現される。
アプリケーションプログラム群110若しくはネットワークモジュール130から、文書操作API201若しくは文書編集API202が呼ばれたら、フィルタプラグイン210は、APIのどの関数が呼ばれたのかを示す情報を取得する(ステップS101)。
尚、マッピングテーブルに何も定義されていなければ、図14に示す処理を何も行わないケースもある。
以上のように本実施形態では、例えば、ステップS102、S104、S106の処理を行うことにより、機能判定手段が実現され、ステップS103、S105、S107の処理を行うことにより、機能制限手段が実現される。
これに対し、実処理の項目には、文書操作ライブラリ221と文書編集ライブラリ222とに用意されている関数が定義されているため、文書操作API201及び文書編集API202の何れの関数が呼ばれても、ステップS105で該当する実処理が行われる。
また、後処理の項目には何も定義されていないため、文書操作API201及び文書編集API202の何れの関数が呼ばれても、ステップS107の処理が行われることはない。
これに対し、実処理の項目には、文書操作ライブラリ221と文書編集ライブラリ222とに用意されている関数が定義されているため、文書操作API201及び文書編集API202の何れの関数が呼ばれても、ステップS105で該当する実処理が行われる。
そして、後処理の項目には、文書操作ライブラリ221と文書編集ライブラリ222とにX_Log()という関数が定義されているため、後処理として、このX_Log()が呼ばれ、実行された処理の全ての履歴が記憶領域に保存される。
また、SaveDocument()が呼ばれた際には、前処理で、X_CallBackMessage()という関数が呼ばれ、原本ではなく一時的な文書が保存される旨をアプリケーションプログラムに対して通知する。そして、実処理では、X_SaveDocument()という関数が呼ばれ、一時的な文書を保存する。
deleteObject()が呼ばれた際にも、前処理で、X_CallBackMessage()という関数が呼ばれ、その呼び出しが無効であることをアプリケーションプログラムに対して通知する。そして、実処理では何も行われない。
尚、その他の呼び出しは、操作履歴付き一般編集フィルタ302に含まれるマッピングテーブルと同様である(図5を参照)。
(第1の適用例)
あるオフィスに2台のMFP_A、MFP_Bが設置されており、各ユーザはどちらにも自由に編集アプリケーションをインストールして使用していた。その後、ある時からMFP_Aに既に保存されている電子文書1000は、改変してはならず、MFP_Bに保存されている電子文書1000は、自由に編集してよいが、どのような使い方をしているかを調査することになったとする。
このようにする場合、MFPの管理ユーザは、MFP_Aに原本性確保フィルタ303のみをデフォルトのフィルタとしてインストールし、MFP_Bに操作履歴付き一般編集フィルタ302のみをデフォルトのフィルタとしてインストールすればよい。
図11のステップS42で、編集対象となる電子文書1000を開こう(オープンしよう)とすると、図14のステップS101で、OpenDocument()という関数が取得される。そして、図6に示した原本性確保フィルタ303のマッピングテーブルにおいて、OpenDocument()の項目には前処理が定義されているため、ステップS103で、文書操作ライブラリ221の機能であるX_Duplicate()が呼び出される。そうすると、文書操作ライブラリ221は、原本から別名の文書を複製する。
更に、OpenDocument()の項目には後処理が定義されているので、ステップS107で、文書操作ライブラリ221の機能であるX_CallBackMessage()が呼び出される。そうすると、文書操作ライブラリ221は、「編集できません。別文書としてオープンします」といったメッセ―ジを、編集アプリケーションプログラム123を経由して一般のユーザに伝える。
同様に、ステップS46では、図6に示したWriteModifiedDate()が呼ばれ、複製した別名の文書に対して、X_WriteModifiedDate()に基づく処理(更新日時の書き換え)が行われる。
ステップS47で、SaveDocument()が呼ばれると、前処理で、X_CallBackMessage()が呼ばれ、「別名で保存する」といったメッセージをユーザに伝える。そして、実処理で、X_SaveDocumnt()が呼ばれ、複製した別名の文書を保存する。この処理自体もエラーではないので、ステップS51で、別名の文書を閉じ(クローズし)、ステップS52で、正常に処理が終了したことを示すメッセージを表示する。
図11のステップS42で、編集対象となる文書を開こう(オープンしよう)とすると、図14のステップS101でOpenDocument()という関数が取得される。そして、図5に示した原本性確保フィルタ303のマッピングテーブルにおいて、OpenDocument()の項目には前処理が定義されていないため、ステップS103を行わない。そして、OpenDocument()の項目には実処理が定義されているので、ステップS105で、文書操作ライブラリ221の機能であるX_OpenDocument()が読み出される。そうすると、文書操作ライブラリ221は、編集対象となる文書を開く(オープンする)。
更に、OpenDocument()の項目には後処理が定義されているので、ステップS107で、X_Log()が呼び出され、処理内容がログに記憶される。
あるオフィスに1台のMFP_Cが設置されている。ユーザCは文書全般を管理する立場にあり、場合によっては、MFP_Cに保存してある文書の作者名や更新日時等を編集することがある。ユーザDは、MFP_Cに保存してある文書の一部の色を変更する等して、文書の体裁を変更して印刷する業務を行っているが、まだ不慣れなためミスオペレーションする可能性がある。
このような場合、MFP_Cの管理ユーザは、一般編集フィルタ301と、部分編集フィルタ305とをMFP_Cにインストールさせておく。更に、ユーザCが使用する場合には一般編集フィルタ301を接続することを示す情報と、ユーザDが使用する場合には部分編集フィルタ305を接続することを示す情報とを、対ユーザフィルタ情報モジュール170に設定しておく。
編集アプリケーションプログラム124が起動すると、図13のステップS81で、プラグイン用フィルタ制御モジュール160は、ユーザDの認証情報を、編集アプリケーションプログラム124を経由して取得する。そして、ステップS82で、対ユーザフィルタ情報モジュール170に、ユーザDの認証情報を渡すと、フィルタの情報として部分編集フィルタ305が返ってくる。このフィルタはMFP_Cにインストールされているので、ステップS86に進み、プラグイン用フィルタ制御モジュール160は、部分編集フィルタ305をフィルタプラグイン210に接続する。
もし、ユーザDが、ロゴそのものを削除しようとすると、ステップS67で、文書編集API202のdeleteObject()が呼ばれる。そうすると、前処理で、X_CallBackMessage()が呼ばれ、部品の削除ができない旨を示すメッセージが、編集アプリケーションプログラム124を経由して、ユーザDに通知される。この場合、実処理では何も行なわれない。
ユーザCが、MFP_Cの編集アプリケーションプログラム124を使用しようとしてログインすると、コントローラ102は、ユーザ認証モジュール140を使用してユーザの認証処理を行う。
編集アプリケーションプログラム124が起動すると、図13のステップS81で、プラグイン用フィルタ制御モジュール160は、ユーザCの認証情報を、編集アプリケーションプログラム124を経由して取得する。そして、ステップS82で、対ユーザフィルタ情報モジュール170に、ユーザCの認証情報を渡すと、フィルタの情報として一般編集フィルタ301が返ってくる。このフィルタはMFP_Cにインストールされているので、ステップS86に進み、プラグイン用フィルタ制御モジュール160は、一般編集フィルタ301をフィルタプラグイン210に接続する。
以降、一般編集フィルタ301は、文書編集と、文書操作とをユーザCからの指示に従ってそのまま実行する。
また、本実施形態では、フィルタ301〜305の処理を前処理、実処理、後処理の3段階で実行できる構成にしたが、より少ない段階であっても、より多数に列挙できても構わない。また、一つの処理において、複数の関数を呼び出しせるようにしてもよい。
また、地紋を用紙上に形成して処理を実行したことを示すようにしたが、処理を実行したことを示す情報を用紙上に付加するようにしていれば、必ずしも地紋を用紙上に形成する必要はない。
また、編集アプリケーションプログラム121〜124で実行される機能が、フィルタで制限される機能であるかをアプリケーションフレームワーク120(アプリケーションプラットフォーム)において判定してもよい。このようにした場合、アプリケーションフレームワーク120の指示により、フィルタの適用(選択)を行うことになる。
次に、本発明の第2の実施形態について説明する。前述した第1の実施形態では、電子文書1000の操作の機能と編集の機能とを公開するためのAPI201、202と、実際の機能を持つライブラリ221、222とを構造的に明確に分け、フィルタ301〜305をその間にプラグインするようにした。MFP100のコントローラ102のプラットフォームを一から構築する場合には、最初からこのように設計すればよいが、実際にはなかなかそういう機会は少ない。そこで、本実施形態では、既に存在するプラットフォームを流用した場合について説明する。このように本実施形態と前述した第1の実施形態とは、コントローラ102が有する機能の一部が異なる。したがって、本実施形態の説明において、前述した第1の実施形態と同一の部分については、図1〜図14に付した符号と同一の符号を付す等して詳細な説明を省略する。
図15は、MFPに内蔵されるコントローラ102におけるソフトウェアの概略構成の一例を示す図である。
フック用フィルタ制御モジュール161は、アプリケーションプログラム群110、若しくはネットワークモジュール130が起動する際に、フィルタ301〜305の何れかをフック制御モジュール232に渡す(設定する)。
ユーザ2が、アプリケーションプログラム群110の1つの起動を指示する際、若しくはネットワークを経由して電子文書1000に対する処理を行う際に、ユーザ認証モジュール140は、ユーザの認証処理を行い使用しているユーザを特定する。
図16において、フック用フィルタ制御モジュール161は、ユーザ2が使用するアプリケーションプログラム、若しくはネットワークモジュール130を経由して、MFP100を使用しているユーザの認証情報を取得する(ステップS121)。
次に、フック用フィルタ制御モジュール161は、対ユーザフィルタ情報モジュール170に、ステップS121で取得したユーザの認証情報を渡し、そのユーザに対応するフィルタの情報の取得を依頼する(ステップS122)。
一方、該当するユーザに対応するフィルタの情報がある場合、フック用フィルタ制御モジュール161は、MFP100内にその情報に合致するフィルタがインストールされていないかどうかを判定する(ステップS125)。この判定の結果、フィルタの情報に合致するフィルタが、MFP100内にインストールされていない場合、フック用フィルタ制御モジュール161は、デフォルトのフィルタを選択してフック制御モジュール232に接続する(ステップS124)。
アプリケーションプログラム群110若しくはネットワークモジュール130が、文書操作編集機能モジュール230を利用するために、文書操作編集機能モジュール230の関数の呼び出しを行う。そうすると、フック用関数テ―ブル231を介して、その関数がフック制御モジュール232に渡り、処理が開始する。
フック制御モジュール232は、呼ばれた関数を取得する(ステップS141)。
次に、フック制御モジュール232は、呼ばれた関数が、フック用関数テーブル231に、フックする対象として定義されているか否かを判定する(ステップS142)。この判定の結果、呼ばれた関数が、フック用関数テーブル231に、フックする対象として定義されていない場合、フック制御モジュール232は、実際に呼ばれた関数を文書操作編集機能モジュール230に実行させ(ステップS143)、処理を終了する。
この判定の結果、呼ばれた関数の前処理の項目に何らかの関数が定義されている場合、フック制御モジュール232は、その関数を前処理として文書操作編集機能モジュール230に実行させる(ステップS145)。更に、フック制御モジュール232は、前処理を実行したことを地紋として用紙上に形成するための情報を生成する。これにより、アプリケーションプログラム121〜124を実行して得られた用紙上に、地紋が形成されるようになり、フィルタによる制御(前処理)がなされたことをユーザに報知することができる。そして、ステップS146に進む。一方、前処理の項目に関数が定義されていない場合には、ステップS145を省略してステップS146に進む。
尚、マッピングテーブルに何も定義されていなければ、図17に示す処理を何も行わないケースもある。
以上のように本実施形態では、例えば、文書操作編集機能モジュール230により編集操作手段が実現され、ステップS142、S144〜S149の処理を実行することによりアクセス制御手段が実現される。
また、一台のMFPに、複数のフィルタをインストールしておき、ユーザの目的に合わせてどのフィルタを使用するかを設定しておくようにした。したがって、編集アプリケーションプログラム121〜124の機能に影響されることなく、編集アプリケーションプログラム121〜124の機能を、ユーザ毎に制限することができる。
次に、本発明の第3の実施形態について説明する。前述した第1の実施形態では、使用するフィルタが決定していると、文書操作API201、文書編集API202の呼び出しに対する文書操作ライブラリ221、文書編集ライブラリ222の呼び出しは一意に決まる。これに対し、本実施形態では、特定のAPIの呼び出しがあった場合には、その後のAPIの呼び出しに対するライブラリへのマッピングが動的に変化できるようにする。このように本実施形態と前述した第1の実施形態とは、コントローラ102が有する機能の一部が異なる。したがって、本実施形態の説明において、前述した第1の実施形態と同一の部分については、図1〜図14に付した符号と同一の符号を付す等して詳細な説明を省略する。
図18において、フィルタ310は、第1の実施形態で説明したフィルタ301〜305に対応するものである。図18では、3つのレベルの(3つの)マッピングテーブル311、312、313がフィルタ310に内蔵されている場合を例に挙げて示している。
図19は、レベル1のマッピングテーブル311の内容の一例を示す図である。図20は、レベル2のマッピングテーブル312の内容の一例を示す図である。図21は、レベル3のマッピングテーブル313の内容の一例を示す図である。
図22において、プラグイン用フィルタ制御モジュールは、ユーザ2が使用するアプリケーションプログラム、若しくはネットワークモジュール130を経由して、MFP100を使用しているユーザの認証情報を取得する(ステップS161)。
次に、プラグイン用フィルタ制御モジュールは、対ユーザフィルタ情報モジュール170に、ステップS161で取得したユーザの認証情報を渡し、そのユーザに対応するフィルタの情報の取得を依頼する(ステップS162)。対ユーザフィルタ情報モジュール170には、どのユーザにどのフィルタを用いるかを示す情報と、どのレベルから処理を開始するかを示す情報とが、管理ユーザによって予め入力されている。
アプリケ―ション110若しくはネットワークモジュール130から、文書操作API201若しくは文書編集API202が呼ばれたら、フィルタプラグインは、APIのどの関数が呼ばれたのか示す情報を取得する(ステップSS181)。
次に、フィルタプラグインは、自身に接続されているフィルタが持つマッピングテーブルのうち、現在(カレント)のレベル値を示すマッピングテーブルを参照する。そして、フィルタプラグインは、呼ばれた関数の前処理の項目に何らかの関数が、参照したマッピングテーブルに定義されているか否かを判定する(ステップS182)。例えば、現在のレベル値が「1」であれば、フィルタプラグインは、レベル1のマッピングテーブル311を参照する。尚、最初の処理の際には、現在のレベル値がない。このため、フィルタプラグインは、図22のステップS165、S168でプラグイン用フィルタ制御モジュールから渡されたレベル値を現在のレベル値とする。
レベル1で処理が開始されて、OpenDocument()が呼ばれると、図19に示したレベル1のマッピングテーブル311の実処理の項目に定義されているX_OpenDocument()のみが実際に処理される。その後、更新日を書き換えるWriteModifiedDate()が呼ばれると、その実処理の項目に定義されているX_WriteModfiedDate()はそのまま呼ばれる。しかしながら、後処理の項目に定義されているX_CallBackMessage()により「この処理は一度しか実行できません」のようなメッセージが出される。そして、現在のレベルが、「1」から「2」に切り替わる。
尚、1つのフィルタに含めるマッピングテーブル(レベル)は3つに限定されるものではない。
前述した本発明の実施形態における電子文書処理装置を構成する各手段、並びに電子文書処理方法の各ステップは、コンピュータのRAMやROMなどに記憶されたプログラムが動作することによって実現できる。このプログラム及び前記プログラムを記録したコンピュータ読み取り可能な記録媒体は本発明に含まれる。
100 MFP
110 アプリケーションプログラム群
120 アプリケーションプラットフォーム
121〜124 編集アプリケーションプログラム
130 ネットワークモジュール
140 ユーザ認証モジュール
150 文書管理モジュール
160 プラグイン用フィルタ制御モジュール
161 フック用フィルタ制御モジュール
170 対ユーザフィルタ情報モジュール
201 文書操作API
202 文書編集API
210 フィルタプラグイン
221 文書操作ライブラリ
222 文書編集ライブラリ
230 文書操作編集機能モジュール
231 フック用関数テーブル
232 フック制御モジュール
301〜305 フィルタ
311〜313 マッピングテーブル
501、502 PC
1000 電子文書
1001〜1005 部品
Claims (15)
- 電子文書を記憶する電子文書記憶手段と、
前記電子文書を編集するためのアプリケーションプログラムであって、アプリケーションプラットフォーム上で動作するアプリケーションプログラムを記憶するアプリケーションプログラム記憶手段と、
夫々が異なる機能制限を実現する複数のフィルタプログラムを記憶するフィルタプログラム記憶手段と、
前記アプリケーションプログラムを利用するユーザを特定し、記憶された前記複数のフィルタプログラムの中から前記ユーザに対応したフィルタプログラムを選択し、選択されたフィルタプログラムを前記アプリケーションプログラムの機能制限を行うフィルタプラグインに接続する接続手段と、を有し、
前記ユーザに対応するフィルタプログラムが前記アプリケーションプログラムの利用に制限をかけるためのフィルタプログラムであった場合、前記フィルタプラグインは、接続された該フィルタプログラムが有するマッピングテーブルで定義されたルールに基づいて前記アプリケーションプログラムから呼び出されたAPI(Application Program Interface)の関数と関連付けて定義されている別の関数を実行することで、編集対象の前記電子文書のバックアップを行った後に電子文書に対する編集操作を受け付ける機能制限を行うことを特徴とする電子文書処理装置。 - 前記フィルタプラグインは、接続された該フィルタプログラムに基づいて機能制限を行う場合、前記別の関数である前処理用の関数、および実処理用の関数を実行することで前記機能制限を行い、更に前記別の関数である後処理用の関数を実行することで編集対象の前記電子文書は編集できず、別の電子文書に対し編集が行われる旨を表示することを特徴とする請求項1に記載の電子文書処理装置。
- 前記アプリケーションプログラムを利用するユーザの認証を行うユーザ認証手段を有し、
前記フィルタプラグインは、前記ユーザ認証手段により認証されたユーザに対応するフィルタプログラムを、記憶された複数のフィルタプログラムの中から選択することを特徴とする請求項1又は2に記載の電子文書処理装置。 - 前記フィルタプログラム記憶手段は、記憶しているフィルタプログラムの削除と、記憶するフィルタプログラムの追加と自在に行うことを特徴とする請求項1〜3の何れか1項に記載の電子文書処理装置。
- 前記電子文書の編集及び操作を行う編集操作手段を提供する編集操作機能ライブラリと、
前記アプリケーションプログラムからの呼び出しに応じて、前記編集操作手段を前記アプリケーションプログラムに対して公開する編集操作機能インタフェースと、を有し、
前記フィルタプログラムは、前記マッピングテーブルとして、前記アプリケーションから呼び出し指示があった前記編集操作手段を変更するためのルールを記憶したマッピングテーブルを有し、
前記フィルタプラグインは、前記フィルタプログラムに従って、前記編集操作手段を呼び出し、前記マッピングテーブルを用いて、前記アプリケーションから呼び出し指示があった前記編集操作手段を変更することにより、前記機能制限を実行することを特徴とする請求項1〜4の何れか1項に記載の電子文書処理装置。 - 前記フィルタプログラムは、前記マッピングテーブルを複数有し、
前記フィルタプラグインは、アプリケーションプログラムから呼び出しのあった編集操作手段に応じて、マッピングテーブルを別のマッピングテーブルに切り換えることを特徴とする請求項5に記載の電子文書処理装置。 - 前記アプリケーションプログラムで実行される機能が、前記フィルタプログラムで制限される機能であるかを前記アプリケーションプラットフォームにおいて判定し、前記アプリケーションプラットフォームの指示により、前記フィルタプログラムの適用を行うことを特徴とする請求項1〜6の何れか1項に記載の電子文書処理装置。
- 電子文書処理装置により実行される電子文書処理方法であって、
電子文書を記憶媒体に記憶する電子文書記憶ステップと、
前記電子文書を編集するためのアプリケーションプログラムであって、アプリケーションプラットフォーム上で動作するアプリケーションプログラムを記憶媒体に記憶するアプリケーションプログラム記憶ステップと、
夫々が異なる機能制限を実現する複数のフィルタプログラムを記憶媒体に記憶するフィルタプログラム記憶ステップと、
前記アプリケーションプログラムを利用するユーザを特定し、記憶された前記複数のフィルタプログラムの中から前記ユーザに対応したフィルタプログラムを選択し、選択されたフィルタプログラムを前記アプリケーションプログラムの機能制限を行うフィルタプラグインに接続する接続ステップと、を有し、
前記ユーザに対応するフィルタプログラムが前記アプリケーションプログラムの利用に制限をかけるためのフィルタプログラムであった場合、前記フィルタプラグインは、接続された該フィルタプログラムが有するマッピングテーブルで定義されたルールに基づいて前記アプリケーションプログラムから呼び出されたAPI(Application Program Interface)の関数と関連付けて定義されている別の関数を実行することで、編集対象の前記電子文書のバックアップを行った後に電子文書に対する編集操作を受け付ける機能制限を行うことを特徴とする電子文書処理方法。 - 前記フィルタプラグインは、接続された該フィルタプログラムに基づいて機能制限を行う場合、前記別の関数である前処理用の関数、および実処理用の関数を実行することで前記機能制限を行い、更に前記別の関数である後処理用の関数を実行することで編集対象の前記電子文書は編集できず、別の電子文書に対し編集が行われる旨を表示することを特徴とする請求項8に記載の電子文書処理方法。
- 前記アプリケーションプログラムを利用するユーザの認証を行うユーザ認証ステップを有し、
前記フィルタプラグインは、前記ユーザ認証ステップにより認証されたユーザに対応するフィルタプログラムを、記憶された複数のフィルタプログラムの中から選択することを特徴とする請求項8又は9に記載の電子文書処理方法。 - 前記フィルタプログラム記憶ステップは、記憶しているフィルタプログラムの削除と、記憶するフィルタプログラムの追加と自在に行うことを特徴とする請求項8〜10の何れか1項に記載の電子文書処理方法。
- 前記電子文書の編集及び操作を行う編集操作手段を、編集操作機能ライブラリを用いて提供する提供ステップと、
前記アプリケーションプログラムからの呼び出しに応じて、前記編集操作手段を前記アプリケーションプログラムに対して公開することを、編集操作機能インタフェースを用いて行う公開ステップと、を有し、
前記フィルタプログラムは、前記マッピングテーブルとして、前記アプリケーションから呼び出し指示があった前記編集操作手段を変更するためのルールを記憶したマッピングテーブルを有し、
前記フィルタプラグインは、前記フィルタプログラムに従って、前記編集操作手段を呼び出し、前記マッピングテーブルを用いて、前記アプリケーションから呼び出し指示があった前記編集操作手段を変更することにより、前記機能制限を実行することを特徴とする請求項8〜11の何れか1項に記載の電子文書処理方法。 - 前記フィルタプログラムは、前記マッピングテーブルを複数有し、
前記フィルタプラグインは、アプリケーションプログラムから呼び出しのあった編集操作手段に応じて、マッピングテーブルを別のマッピングテーブルに切り換えることを特徴とする請求項12に記載の電子文書処理方法。 - 前記アプリケーションプログラムで実行される機能が、前記フィルタプログラムで制限される機能であるかを前記アプリケーションプラットフォームにおいて判定し、前記アプリケーションプラットフォームの指示により、前記フィルタプログラムの適用を行うことを特徴とする請求項8〜13の何れか1項に記載の電子文書処理方法。
- 請求項8〜14の何れか1項に記載の電子文書処理方法の各ステップをコンピュータに実行させることを特徴とするコンピュータプログラム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007042434A JP5142551B2 (ja) | 2007-02-22 | 2007-02-22 | 電子文書処理装置、電子文書処理方法、及びコンピュータプログラム |
US12/033,634 US8024812B2 (en) | 2007-02-22 | 2008-02-19 | Apparatus and method for processing digital document and computer program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007042434A JP5142551B2 (ja) | 2007-02-22 | 2007-02-22 | 電子文書処理装置、電子文書処理方法、及びコンピュータプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008201093A JP2008201093A (ja) | 2008-09-04 |
JP5142551B2 true JP5142551B2 (ja) | 2013-02-13 |
Family
ID=39717459
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007042434A Expired - Fee Related JP5142551B2 (ja) | 2007-02-22 | 2007-02-22 | 電子文書処理装置、電子文書処理方法、及びコンピュータプログラム |
Country Status (2)
Country | Link |
---|---|
US (1) | US8024812B2 (ja) |
JP (1) | JP5142551B2 (ja) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120036046A1 (en) * | 2010-08-09 | 2012-02-09 | Decopac, Inc. | Decorating System for Edible Products |
US9713342B2 (en) * | 2004-08-25 | 2017-07-25 | Decopac, Inc. | Online decorating system for edible products |
KR100945476B1 (ko) * | 2009-09-10 | 2010-03-05 | 주식회사 파수닷컴 | 가상화 기술을 이용한 디지털 저작권 관리 장치 및 방법 |
JP4975140B2 (ja) * | 2010-06-08 | 2012-07-11 | シャープ株式会社 | ソフトウェア配布方法、情報処理装置及び情報処理システム |
US10206423B2 (en) | 2010-08-09 | 2019-02-19 | Decopac, Inc. | Decorating system for edible items |
US9907332B2 (en) | 2010-08-09 | 2018-03-06 | Decopac, Inc. | Decorating system for edible items |
US10455096B2 (en) * | 2010-08-09 | 2019-10-22 | Decopac, Inc. | Decorating system for edible products |
US10543671B2 (en) | 2010-08-09 | 2020-01-28 | Decopac, Inc. | Three-dimensional decorating system for edible items |
US9743687B2 (en) | 2010-08-09 | 2017-08-29 | Decopac, Inc. | Decorating system for edible items |
DE102011012187A1 (de) * | 2011-02-23 | 2012-08-23 | Continental Automotive Gmbh | Verfahren zum Konfigurieren einer Steuervorrichtung für ein Kraftfahrzeug, Computerprogramm und Steuervorrichtung |
US10692124B1 (en) | 2018-12-07 | 2020-06-23 | Decopac, Inc. | Systems and methods for ordering and preparation of customized comestibles |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0237423A (ja) * | 1988-07-27 | 1990-02-07 | Nec Corp | ソースプログラムの世代管理を伴う編集方式 |
JP3090021B2 (ja) * | 1996-02-14 | 2000-09-18 | 富士ゼロックス株式会社 | 電子文書管理装置 |
JPH10208020A (ja) | 1997-01-22 | 1998-08-07 | Fuji Xerox Co Ltd | 画像処理装置 |
JP2001117687A (ja) | 1999-10-15 | 2001-04-27 | Canon Inc | データ処理装置、ネットワークシステム、データ処理方法、及びコンピュータ読み取り可能な記憶媒体 |
JP4227342B2 (ja) | 2002-02-27 | 2009-02-18 | キヤノン株式会社 | 画像形成装置、画像形成方法、および記憶媒体 |
JP2004102741A (ja) * | 2002-09-11 | 2004-04-02 | Hitachi Ltd | 制御プログラム配信方法及び装置 |
JP2005056137A (ja) * | 2003-08-04 | 2005-03-03 | Ffc Ltd | 機能制限プログラム、インストーラ作成プログラム及びプログラム記録媒体 |
JP4164036B2 (ja) * | 2004-02-05 | 2008-10-08 | トレンドマイクロ株式会社 | ネットワークを介して提供されるプログラムに対する受信装置上でのセキュリティの確保 |
JP3805347B2 (ja) * | 2004-09-02 | 2006-08-02 | 松下電器産業株式会社 | 制御処理装置及びこれを備えた画像形成装置 |
JP2006260176A (ja) * | 2005-03-17 | 2006-09-28 | Ex's Annex:Kk | 機密文書管理方法及び機密文書管理システム |
JP2006330946A (ja) * | 2005-05-25 | 2006-12-07 | Kyueisha:Kk | 機能制限プログラムおよびコンピュータ読み取り可能な記録媒体 |
JP2007042015A (ja) * | 2005-08-05 | 2007-02-15 | Brother Ind Ltd | 周辺電子機器制御システム及び機能制限制御プログラム |
-
2007
- 2007-02-22 JP JP2007042434A patent/JP5142551B2/ja not_active Expired - Fee Related
-
2008
- 2008-02-19 US US12/033,634 patent/US8024812B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2008201093A (ja) | 2008-09-04 |
US8024812B2 (en) | 2011-09-20 |
US20080209509A1 (en) | 2008-08-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5142551B2 (ja) | 電子文書処理装置、電子文書処理方法、及びコンピュータプログラム | |
US8089653B2 (en) | Document processing apparatus, method and program for variable printing with document file dividing | |
US7688459B2 (en) | Document processing method | |
JP4732155B2 (ja) | 画像処理装置及び制御方法 | |
JP5233582B2 (ja) | 情報処理装置、情報処理方法、及び機能拡張プログラム | |
JP2006294054A (ja) | 表示制御プログラム及び表示制御装置 | |
US20100011290A1 (en) | Print management method, recording medium storing a program, and print management apparatus | |
JP5239423B2 (ja) | 情報処理装置,情報処理方法,プログラム,および記録媒体 | |
JP2007109180A (ja) | 文書処理装置及び方法 | |
JP2009251803A (ja) | 情報処理装置、データ処理方法、プログラム | |
JP2010224830A (ja) | 情報処理装置、印刷装置、情報処理方法及び印刷方法 | |
JP2009223813A (ja) | ショートカットテンプレートを用いた文書操作を可能とする文書管理システム及び方法 | |
JP2004038296A (ja) | 情報処理装置および情報処理装置のプリンタ設定方法およびプログラムおよび記録媒体 | |
JP4702940B2 (ja) | ドキュメント管理システム及びその制御方法 | |
JP3848196B2 (ja) | データ処理装置及びデータ処理方法 | |
JP4154368B2 (ja) | 文書処理装置及び文書処理方法、文書処理プログラム | |
JP3862591B2 (ja) | 画像処理装置、画像処理方法 | |
JP4458219B2 (ja) | 印刷システムおよび印刷制御プログラム | |
JP2020184192A (ja) | 情報処理装置、情報処理方法及びプログラム | |
JP2007288410A (ja) | 情報処理装置、データ処理方法、記憶媒体、プログラム | |
JP4109965B2 (ja) | 情報処理装置およびその制御方法、ならびにプログラム | |
EP1404110B1 (en) | Method, apparatus and program for data management | |
JP4630824B2 (ja) | 文書処理装置、文書処理方法、及びコンピュータプログラム | |
JP2010186269A (ja) | 文書処理装置、文書処理方法、及びプログラム | |
JP2001159994A (ja) | 情報処理装置および情報処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100222 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120501 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120611 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120911 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121024 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20121113 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20121120 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20151130 Year of fee payment: 3 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 5142551 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
LAPS | Cancellation because of no payment of annual fees |