(57)【要約】【課題】ワークフロー処理による処理対象データの変化に応じてワークフロー処理を動的に制御可能とする。【解決手段】複数の処理が所定の順序で定義されたワークフローに基づいて、データに対して複数の処理を実行させる制御部と、複数の処理のうち、特定の処理が実行されたデータの第１のサイズを取得する取得部とを備える。制御部は、データに対して、ワークフローにおいて特定の処理の後に定義された処理を、データの第１のサイズに基づいて実行させる。【選択図】図４
2018041415.tif 000002
【特許請求の範囲】
【請求項１】
複数の処理が所定の順序で定義されたワークフローに基づいて、データに対して前記複数の処理を実行させる制御部と、
前記複数の処理のうち、特定の処理が実行された前記データの第１のサイズを取得する取得部と
を備え、
前記制御部は、
前記データに対して、前記ワークフローにおいて前記特定の処理の後に定義された処理を、該データの前記第１のサイズに基づいて実行させる
情報処理装置。
【請求項２】
前記取得部により取得された前記第１のサイズを記憶する記憶部をさらに備え、
前記取得部は、
前記データに対して、前記特定の処理が実行された後であって、且つ、前記ワークフローにおいて該特定の処理の次に定義された処理が実行される前に、該特定の処理が実行された該データの前記第１のサイズを取得し、前記記憶部に記憶させ、
前記制御部は、
前記記憶部に記憶されている前記第１のサイズに基づいて、前記データに対して前記ワークフローに基づく処理を実行する
請求項１に記載の情報処理装置。
【請求項３】
前記取得部は、
前記ワークフローに複数の前記特定の処理が定義された場合に、前記特定の処理が実行されるごとに前記第１のサイズを取得し、取得した前記第１のサイズで前記記憶部に記憶されている前記第１のサイズを更新させる
請求項２に記載の情報処理装置。
【請求項４】
前記制御部は、
前記ワークフローにおいて前記特定の処理の後に定義された処理を前記データに対して実行するか否かを、前記第１のサイズに基づいて決定し、実行すると決定した場合に、該データに対して該処理を実行する
請求項１乃至請求項３の何れか１項に記載の情報処理装置。
【請求項５】
前記制御部は、
前記ワークフローにおいて前記特定の処理の後に定義された複数の処理のうちの何れかを前記データに対して実行するかを、前記第１のサイズに基づいて決定し、該データに対して決定した処理を実行する
請求項１乃至請求項３の何れか１項に記載の情報処理装置。
【請求項６】
前記取得部は、
前記複数の処理の実行が開始される前の前記データの第２のサイズをさらに取得し、
前記制御部は、
前記データに対して、前記ワークフローにおいて前記特定の処理の後に定義された処理を、前記第１のサイズおよび前記第２のサイズに基づいて実行させる
請求項１乃至請求項５の何れか１項に記載の情報処理装置。
【請求項７】
前記制御部は、
前記ワークフローにおいて前記特定の処理の後に定義された処理を前記データに対して実行するか否かを、前記第１のサイズおよび前記第２のサイズに基づいて決定し、実行すると決定した場合に、該データに対して該処理を実行する
請求項６に記載の情報処理装置。
【請求項８】
前記制御部は、
前記ワークフローにおいて前記特定の処理の後に定義された複数の処理のうちの何れかを前記データに対して実行するかを、前記第１のサイズおよび前記第２のサイズに基づいて決定し、該データに対して決定した処理を実行する
請求項６に記載の情報処理装置。
【請求項９】
画像形成装置において原稿が読み取られることにより生成された画像データと、前記画像データのサイズとを受信する受信部をさらに備え、
前記取得部は、
受信された前記画像データのサイズを前記第２のサイズとして取得し、
前記制御部は、
前記画像形成装置においてユーザにより指定された前記ワークフローに基づいて、受信された前記画像データに対して前記複数の処理を実行させる
請求項６乃至請求項８の何れか１項に記載の情報処理装置。
【請求項１０】
複数の処理が所定の順序で定義されたワークフローに基づいて、データに対して前記複数の処理を実行させる制御ステップと、
前記複数の処理のうち、特定の処理が実行された前記データの第１のサイズを取得する取得ステップと、
を有し、
前記制御ステップは、
前記データに対して、前記ワークフローにおいて前記特定の処理の後に定義された処理を、該データの前記第１のサイズに基づいて実行させる
情報処理方法。
【請求項１１】
情報処理方法をコンピュータに実行させるための情報処理プログラムであって、
前記情報処理方法は、
複数の処理が所定の順序で定義されたワークフローに基づいて、データに対して前記複数の処理を実行させる制御ステップと、
前記複数の処理のうち、特定の処理が実行された前記データの第１のサイズを取得する取得ステップと、
を有し、
前記制御ステップは、
前記データに対して、前記ワークフローにおいて前記特定の処理の後に定義された処理を、該データの前記第１のサイズに基づいて実行させる
情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法および情報処理プログラムに関する。
【背景技術】
【０００２】
従来から、複数の処理が所定の順序で定義されたワークフローに従いデータに対する処理を実行する情報処理システムが知られている。また、ワークフローに従いデータを処理する中で、処理対象データに基づく情報をワークフロー処理の制御に利用できる技術が知られている（例えば特許文献１）。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
ところで、ワークフロー処理の中で、例えば画像処理や変換処理など、処理により処理対象データが変化することが考えられる。従来の技術では、このワークフロー処理中における処理対象データの変化を考慮していないため、処理対象データの変化に応じて動的にワークフロー処理を制御することが困難であるという問題点があった。
【０００４】
本発明は、上記に鑑みてなされたものであって、ワークフロー処理による処理対象データの変化に応じてワークフロー処理を動的に制御可能とすることを目的とする。
【課題を解決するための手段】
【０００５】
上述した課題を解決し、目的を達成するために、本発明は、複数の処理が所定の順序で定義されたワークフローに基づいて、データに対して複数の処理を実行させる制御部と、複数の処理のうち、特定の処理が実行されたデータの第１のサイズを取得する取得部とを備え、制御部は、データに対して、ワークフローにおいて特定の処理の後に定義された処理を、データの第１のサイズに基づいて実行させる。
【発明の効果】
【０００６】
本発明によれば、ワークフロー処理による処理対象データの変化に応じたワークフロー処理の動的な制御が可能となるという効果を奏する。
【図面の簡単な説明】
【０００７】
【図１】図１は、第１の実施形態に適用可能な情報処理システムの例を示すブロック図である。
【図２】図２は、第１の実施形態に適用可能なＭＦＰのハードウェア構成の例を示すブロック図である。
【図３】図３は、第１の実施形態に適用可能なＷＦ処理サーバのハードウェア構成の例を示すブロック図である。
【図４】図４は、第１の実施形態に係るＭＦＰおよびＷＦ処理サーバの機能を説明するための機能ブロック図である。
【図５】図５は、第１の実施形態に係るワークフロー設定画面の例を示す図である。
【図６】図６は、第１の実施形態に係るワークフロー定義情報の例を示す図である。
【図７】図７は、第１の実施形態に係るＭＦＰにおける処理を示す一例のフローチャートである。
【図８】図８は、第１の実施形態に係る書誌情報の例を抜粋して示す図である。
【図９】図９は、第１の実施形態に係るＷＦ処理サーバにおける処理を示す一例のフローチャートである。
【図１０】図１０は、第１の実施形態に係るジョブデータの構成例を示す図である。
【図１１】図１１は、第１の実施形態に係る、最新のファイルサイズを示す属性が追加された書誌情報の例を示す図である。
【図１２】図１２は、第１の実施形態に係る処理をより具体的な例を用いて示す一例のフローチャートである。
【図１３】図１３は、第１の実施形態の変形例に係るワークフローの例を示す図である。
【図１４】図１４は、第２の実施形態に係るＭＦＰの一例の構成を示すブロック図である。
【発明を実施するための形態】
【０００８】
以下に添付図面を参照して、情報処理装置、情報処理方法および情報処理プログラムの実施形態を詳細に説明する。
【０００９】
（第１の実施形態の概要）
図１は、第１の実施形態に適用可能な情報処理システムの例を示す。図１において、情報処理システム１は、ＭＦＰ(Multi  Function  Printer)１０と、ＷＦ（ワークフロー）処理サーバ２０と、文書管理サーバ３０と、メールサーバ３１とを含み、これらＭＦＰ１０、ＷＦ処理サーバ２０、文書管理サーバ３０およびメールサーバ３１が、ネットワーク４０により互いに通信可能に接続される。
【００１０】
ＭＦＰ１０は、プリンタ機能、スキャナ機能、ＦＡＸ機能、複写機能など画像形成に係る複数の機能を１台の筐体で実現するものである。ＷＦ処理サーバ２０は、それぞれ定義された複数のワークフローを管理すると共に、各ワークフローによる処理を制御する。ワークフローは、あるサービスを実行するための処理の組み合わせが定義される。ワークフローにおける各処理は、例えば、プラグインプログラム（以下、プラグイン）により実行される。ＷＦ処理サーバ２０は、この各処理にそれぞれ対応する各プラグインも管理する。
【００１１】
文書管理サーバ３０は、ネットワーク４０を介して転送された文書データを受信し、受信した文書データを、例えば所定のフォルダに保存し管理する。例えば、文書管理サーバ３０により電子文書が保存されたフォルダを、ネットワーク４０を介して他の情報機器（パーソナルコンピュータなど）からアクセス可能とすることで、電子文書の配信を行うことができる。このように、フォルダを介した電子文書の配信を、フォルダ配信と呼ぶ。
【００１２】
メールサーバ３１は、ネットワーク４０内やネットワーク４０外での電子メールの送受信を行う。電子メールに電子文書を添付して指定された宛先に送信することで、電子文書を配信することができる。このように、電子メールを用いた電子文書の配信を、メール配信と呼ぶ。
【００１３】
なお、電子文書は、例えばスキャナ装置などで読み取って画像データ化した原稿が格納されるファイルである。これに限らず、電子文書は、パーソナルコンピュータなどで文書作成アプリケーションプログラムを用いて作成した文書データが格納されるファイルであってもよい。
【００１４】
このように構成された情報処理システム１において、ユーザが作成した原稿を電子文書としてファイル配信またはメール配信により配信する場合の処理について、概略的に説明する。
【００１５】
先ず、ＷＦ処理サーバ２０に管理される利用可能なワークフローが、ＭＦＰ１０の操作パネルに提示され、ユーザの操作パネルに対する操作に応じて、利用するワークフローを選択可能となっているものとする。ユーザは、操作パネルを操作して、例えば、電子文書をフォルダ配信またはメール配信により配信する処理を実行するワークフローを選択する。選択されたワークフローを示す情報が、ネットワーク４０を介してＭＦＰ１０からＷＦ処理サーバ２０に送信される。
【００１６】
次に、ユーザは、ＭＦＰ１０の読取台に原稿をセットして操作パネルを操作して、原稿の読み取りを開始させる。原稿が読み取られて得られた画像データが格納されたファイルは、読み取られた原稿に基づく電子文書として、ネットワーク４０を介してＷＦ処理サーバ２０に送信される。電子文書は、ＷＦ処理サーバ２０に受信される。
【００１７】
ＷＦ処理サーバ２０は、受信した電子文書に対して、ＭＦＰ１０から指定されたワークフローに定義される処理を施す。この例では、ＷＦ処理サーバ２０は、例えば電子文書の形式を配信に適した形式に変換し、形式を変換した電子文書を文書管理サーバ３０またはメールサーバ３１に転送し、電子文書を、フォルダ配信またはメール配信により配信する。また、ＷＦ処理サーバ２０は、所定のフォルダに格納された電子文書を取得して、この電子文書に対してユーザにより指定されたワークフローに定義される処理を施すこともできる。
【００１８】
第１の実施形態に係る情報処理システム１では、ＷＦ処理サーバ２０は、ワークフローによる処理中の電子文書の状態に応じて、ワークフローにおける電子文書に対する処理を制御する。より具体的には、ＷＦ処理サーバ２０は、ワークフローによる処理中の電子文書のファイルサイズの変化に応じて、ワークフローでの処理を動的に制御する。
【００１９】
第１の実施形態に係る情報処理システム１による電子文書の配信処理について、概略的に説明する。上述したように、ＷＦ処理サーバ２０に管理されるワークフローは、ＭＦＰ１０の操作パネルに、ユーザ操作に応じて選択可能に提示される。ここで、ＭＦＰ１０に提示されるワークフローは、例えば、電子文書のファイルサイズや、当該ファイルを圧縮符号化した際の圧縮率を基準として処理の振り分けを行うワークフローであるものとする。
【００２０】
ユーザは、ＭＦＰ１０の操作パネルに対する操作により、実行するワークフローを選択し、原稿台に原稿をセットして原稿の読み取りを開始させる。ＭＦＰ１０は、原稿が読み取られて得られた画像データをファイルに格納し、読み取られた原稿に基づく電子文書を作成する。また、ＭＦＰ１０は、電子文書の現時点でのファイルサイズを、オリジナルのファイルサイズ（第２のサイズ）として、当該電子文書に関連付けられる書誌情報に含める。書誌情報は、電子文書と関連付けて一時的に保存され、ワークフロー中で利用することのできる情報である。
【００２１】
ＭＦＰ１０は、電子文書および書誌情報を、ＷＦ処理サーバ２０に送信する。ＷＦ処理サーバ２０は、ＭＦＰ１０から送信された電子文書に対し、選択されたワークフローに定義される処理を実行する。ワークフローにおいて、画像変換など画像処理を含む処理や、ファイルの圧縮符号化処理といった特定種類の処理を実行すると、電子文書のファイルサイズが変化する可能性がある。ＷＦ処理サーバ２０は、ワークフローによる特定種類の処理の終了毎に、処理後の電子文書のファイルサイズを最新のファイルサイズ（第１のサイズ）として取得する。
【００２２】
ＷＦ処理サーバ２０は、ＭＦＰ１０から送信された書誌情報に、取得した最新のファイルサイズを示す情報を追加して、書誌情報を更新する。このとき、ＷＦ処理サーバ２０は、書誌情報に既に最新のファイルサイズを示す情報が含まれる場合には、新たに取得した最新のファイルサイズを示す情報によって、書誌情報に既に含まれる最新のファイルサイズを示す情報を更新する。
【００２３】
ＷＦ処理サーバ２０は、ワークフローにおける処理がファイルサイズを取得する必要のある特定種類の処理であるか否かを、当該処理を実行するためのプラグインの種類を示す情報に基づき判定する。すなわち、ＷＦ処理サーバ２０は、各プラグインを、プラグインの種類を示す情報と関連付けて管理する。例えば、ワークフロー上で指定できるプラグインは、画像処理を行う画像処理系と、配信処理を行う配信系の、何れかの種類に分類されている。ＷＦ処理サーバ２０は、ワークフローにおいて処理を実行するプラグインの種類を確認する。ＷＦ処理サーバ２０は、プラグインの種類の確認結果に応じて、そのプラグインの処理後に最新のファイルサイズを用いた書誌情報の更新を行う必要があるか否かを判定できる。
【００２４】
第１の実施形態によれば、ＷＦ処理サーバ２０は、電子文書の、ワークフローによる処理前のオリジナルのファイルサイズと、ワークフローによる特定種類の処理後の最新のファイルサイズとを、書誌情報から取得できる。そのため、電子文書のファイルのオリジナルサイズを考慮した上で、ファイルサイズを条件として柔軟に制御可能なワークフローを実現することができる。例えば、第１の実施形態によれば、オリジナルサイズを基準としてファイルサイズを５０％以下に圧縮したい場合や、ファイルサイズを１５０％増加まで許容して画像処理を行いたい場合などにも対応できる。
【００２５】
（第１の実施形態に適用可能な構成）
図２は、第１の実施形態に適用可能なＭＦＰ１０のハードウェア構成の例を示す。図２において、ＭＦＰ１０は、ＣＰＵ(Central  Processing  Unit)１０００と、ＲＯＭ(Read  Only  Memory)１００１と、ＲＡＭ(Random  Access  Memory)１００２と、外部Ｉ／Ｆ１００３と、操作部Ｉ／Ｆ１００４と、操作パネル１０４０と、通信Ｉ／Ｆ１００５と、ストレージ１０２０とを備える。さらに、ＭＦＰ１０は、ＭＦＰ１０の各機能を実行するための構成を備える。
【００２６】
ストレージ１０２０は、データを不揮発に記憶する記憶媒体であって、ハードディスクドライブやフラッシュメモリを適用できる。ストレージ１０２０は、ＣＰＵ１０００が動作するためのプログラムやデータが記憶される。
【００２７】
ＭＦＰ１０がプリント機能、コピー機能、スキャナ機能およびＦＡＸ機能を有するこの例では、ＭＦＰ１０は、各機能を実行するための構成として、画像処理・エンジン制御部１０３０と、スキャナユニット１０３１と、プリンタユニット１０３２と、ＦＡＸユニット１０３３とを有する。また、ＭＦＰ１０が有する上述した各部は、バス１０１０および１０１１により互いに通信可能に接続されている。
【００２８】
ＣＰＵ１０００は、例えば、ＲＯＭ１００１やストレージ１０２０に予め記憶されたプログラムに従い、ＲＡＭ１００２をワークメモリとして用い、このＭＦＰ１０の全体の動作を制御する。
【００２９】
操作部Ｉ／Ｆ１００４は、ユーザ操作を受け付ける操作部と、ユーザに情報を提示するための表示部を備えた操作パネル１０４０が接続される。操作パネル１０４０は、接触した位置に応じた信号を出力するようにしたタッチパネルを用いることができ、当該タッチパネルと表示部とを一体的に構成することができる。操作パネル１０４０からユーザ操作に応じて出力された信号は、操作部Ｉ／Ｆ１００４を介してＣＰＵ１０００に供給される。また、操作部Ｉ／Ｆ１００４は、ＣＰＵ１０００から供給された表示制御信号に応じて、操作パネル１０４０の表示部に対して画面を表示させる。
【００３０】
通信Ｉ／Ｆ１００５は、ＣＰＵ１０００の指示に従い、ネットワーク４０に対する通信を制御する。外部Ｉ／Ｆ１００３は、例えばＵＳＢ(Universal  Serial  Bus)インターフェイスといった、外部機器を接続するためのインターフェイスである。
【００３１】
スキャナユニット１０３１は、ＣＩＳ(Contact  Image  Sensor)といった光センサを用いて原稿台にセットされた原稿の画像をスキャンして読み取り、画像データを出力する。プリンタユニット１０３２は、インクジェット方式や電子写真方式といった画像形成方式を用いて、画像データに基づき媒体に画像を形成する。
【００３２】
画像処理・エンジン制御部１０３０は、ＣＰＵ１０００の指示に従いスキャナユニット１０３１およびプリンタユニット１０３２の動作を制御する。また、画像処理・エンジン制御部１０３０は、ＣＰＵ１０００の指示に従い、スキャナユニット１０３１で読み取られた画像データに所定の画像処理を施してバス１０１１に対して出力する。さらに、画像処理・エンジン制御部１０３０は、バス１０１１を介して供給された画像データに所定の画像処理を施してプリンタユニット１０３２に供給する。ＦＡＸユニット１０３３は、例えば公衆電話回線に接続され、ＣＰＵ１０００の指示に従い、バス１０１１を介して供給された画像データのＦＡＸ送信処理を行う。
【００３３】
図３は、第１の実施形態に適用可能なＷＦ処理サーバ２０のハードウェア構成の例を示す。図３において、ＷＦ処理サーバ２０は、ＣＰＵ２０００と、ＲＯＭ２００１と、ＲＡＭ２００２と、グラフィクスＩ／Ｆ２００３と、ストレージ２００４と、通信Ｉ／Ｆ２００５と、データＩ／Ｆ２００６とを備え、これら各部がバス２０２０により互いに通信可能に接続される。
【００３４】
ストレージ２００４は、データを不揮発に記憶する記憶媒体であって、ハードディスクドライブやフラッシュメモリを適用できる。ストレージ２００４は、ＣＰＵ２０００が動作するためのプログラムやデータが記憶される。また、ストレージ２００４は、各ワークフローを定義するための定義ファイルと、各ワークフローで利用可能な各プラグインとが記憶される。さらに、ストレージ２００４は、ＭＦＰ１０から送信された電子文書も一時的に記憶する。
【００３５】
ＣＰＵ２０００は、例えば、ＲＯＭ２００１やストレージ２００４に予め記憶されたプログラムに従い、ＲＡＭ２００２をワークメモリとして用い、このＷＦ処理サーバ２０の全体の動作を制御する。グラフィクスＩ／Ｆ２００３は、ＣＰＵ２０００によりプログラムに従い生成された表示制御信号に基づき、ディスプレイ２０１０が対応可能な表示信号を生成する。ディスプレイ２０１０は、グラフィクスＩ／Ｆ２００３から供給された表示信号に応じた画面を表示する。
【００３６】
データＩ／Ｆ２００６は、外部の機器との間でデータの送受信を行う。データＩ／Ｆ２００６としては、例えばＵＳＢ(Universal  Serial  Bus)を適用可能である。この例では、データＩ／Ｆ２００６に入力デバイス２０１１が接続されている。入力デバイス２０１１は、例えばポインティングデバイスやキーボードであり、ユーザ操作に応じた入力情報を出力する。入力デバイス２０１１から出力された入力情報は、データＩ／Ｆ２００６を介して例えばＣＰＵ２０００に供給される。通信Ｉ／Ｆ２００５は、ＣＰＵ２０００の指示に従い、ネットワーク４０に対する通信を制御する。
【００３７】
図４は、第１の実施形態に係るＭＦＰ１０、および、情報処理装置としてのＷＦ処理サーバ２０の機能を説明するための機能ブロック図である。
【００３８】
ＭＦＰ１０は、ＵＩ(User  Interface)部１００と、通信部１０１と、読取部１０２とを含む。これらＵＩ部１００、通信部１０１および読取部１０２は、ＭＦＰ１０が有するＣＰＵ１０００上で動作するプログラムにより実現される。これに限らず、ＵＩ部１００、通信部１０１および読取部１０２の一部または全部を、互いに協働して動作するハードウェア回路により構成してもよい。
【００３９】
ＵＩ部１００は、操作パネル１０４０の表示部に表示させるための表示画面を生成する。また、ＵＩ部１００は、操作パネル１０４０に対するユーザ操作を受け付け、ユーザ操作に応じてＭＦＰ１０の各部に指示を出し、ＭＦＰ１０の動作を制御する。通信部１０１は、通信Ｉ／Ｆ１００５を制御して、ネットワーク４０を介したＷＦ処理サーバ２０との通信を行う。読取部１０２は、例えばＵＩ部１００の指示に従いスキャナユニット１０３１を制御して原稿台にセットされた原稿の読み取りを行い、原稿を読み取った画像データを出力する。
【００４０】
ＷＦ処理サーバ２０は、ワークフロー制御部２００と、プラグイン管理部２３０と、ジョブ制御部２４０と、通信部２５０とを含む。これらワークフロー制御部２００、プラグイン管理部２３０、ジョブ制御部２４０および通信部２５０は、ＣＰＵ２０００上で動作する情報処理プログラムにより実現される。これに限らず、ワークフロー制御部２００、プラグイン管理部２３０、ジョブ制御部２４０および通信部２５０の一部または全部を、互いに協働して動作するハードウェア回路により構成してもよい。
【００４１】
通信部２５０は、通信Ｉ／Ｆ２００５を制御して、ネットワーク４０を介したＭＦＰ１０との通信を行う。ジョブキュー２４３は、例えばストレージ１０２０またはＲＡＭ１００２における所定の記憶領域を用いて構成される。
【００４２】
ワークフロー制御部２００は、ワークフロー管理部２１０と、ワークフロー実行部２２０とを含む。ワークフロー管理部２１０は、ワークフロー２１１1、２１１2、…を管理する。なお、図では、ワークフロー２１１1、２１１2、…がＷＦ＃１、＃２、…としても示されている。各ワークフロー２１１1、２１１2、…は、後述するワークフロー定義ファイルとしてストレージ１０２０に記憶され、ワークフロー管理部２１０に管理される。
【００４３】
ワークフロー実行部２２０は、ワークフロー管理部２１０に管理される各ワークフロー２１１1、２１１2、…のうち、後述するジョブ実行部により指定されたワークフローを実行する（制御部）。ワークフロー実行部２２０は、ファイルサイズ更新部２２１を含む。ファイルサイズ更新部２２１は、ワークフロー実行部２２０により実行されるワークフローの処理に応じて、処理後のファイルサイズを最新のファイルサイズとして取得し、取得した最新のファイルサイズにより書誌情報を更新する（取得部）。
【００４４】
プラグイン管理部２３０は、各プラグイン２３０1、２３０2、…を、予め定められた、各プラグイン２３０1、２３０2、…の種類と関連付けて管理する。なお、図では、プラグイン２３０1、２３０2、…がプラグイン＃１、＃２、…としても示されている。各プラグイン２３０1、２３０2、…は、ワークフロー管理部２１０に管理される各ワークフロー２１１1、２１１2、…に定義される各処理を実行するためのプログラムであって、例えばストレージ１０２０に記憶される。ワークフロー実行部２２０は、指定されたプラグインをプラグイン管理部２３０から取得して実行させる。これに限らず、ワークフロー実行部２２０は、処理の実行を指定されたプラグインに要求して、当該プラグインに処理を実行させてもよい。
【００４５】
なお、プラグイン管理部２３０に管理される各プラグイン２３０1、２３０2、…は、例えば、電子文書による画像データに対して画像処理を施す画像処理系のプラグインと、電子文書の配信に係る配信系のプラグインとの２種類に分類される。プラグイン管理部２３０は、これらプラグインの種類を識別し、種類を示す情報を各プラグイン２３０1、２３０2、…に関連付けて、各プラグイン２３０1、２３０2、…の管理を行う。なお、プラグインの種類は、これに限らず、例えば電子文書などのファイルに対して書庫化、圧縮符号化を施すアーカイブ系をさらに含めてもよい。
【００４６】
ジョブ制御部２４０は、ジョブ生成部２４１と、ジョブ実行部２４２とを含む。ジョブ生成部２４１は、通信部２５０から渡された情報や、ワークフロー管理部２１０から取得した情報などを纏めてジョブデータを生成する。ジョブ生成部２４１は、生成したジョブデータをジョブキュー２４３に記憶させる。ジョブ実行部２４２は、定期的にジョブキュー２４３を監視し、ジョブキュー２４３からジョブデータを取得できると、取得したジョブデータをワークフロー実行部２２０に渡す。
【００４７】
第１の実施形態に係るＷＦ処理サーバ２０の各機能を実現するための情報処理プログラムは、インストール可能な形式また実行可能な形式のファイルでＣＤ(Compact  Disk)、フレキシブルディスク（ＦＤ）、ＤＶＤ(Digital  Versatile  Disk)などのコンピュータで読み取り可能な記録媒体に記録して提供される。これに限らず、情報処理プログラムを、インターネットなどのネットワークに接続されたコンピュータ上に格納し、当該ネットワークを介してダウンロードさせることにより提供してもよい。また、情報処理プログラムをインターネットなどのネットワークを経由して提供または配布するように構成してもよい。
【００４８】
情報処理プログラムは、上述した各部（ワークフロー制御部２００、プラグイン管理部２３０、ジョブ制御部２４０および通信部２５０）を含むモジュール構成となっている。実際のハードウェアとしては、ＣＰＵ２０００がストレージ２００４などの記憶媒体から当該情報処理プログラムを読み出して実行することにより、上述した各部がＲＡＭ２００２などの主記憶装置上にロードされ、ワークフロー制御部２００、プラグイン管理部２３０、ジョブ制御部２４０および通信部２５０が主記憶装置上に生成されるようになっている。
【００４９】
（第１の実施形態に係る処理の詳細）
次に、第１の実施形態に係る処理について、より詳細に説明する。この第１の実施形態に係る処理に先立って、ワークフローが設定される。例えば、この情報処理システム１の管理者は、例えばＷＦ処理サーバ２０からワークフローの設定を行う。これに限らず、ネットワーク４０に接続される他のコンピュータからワークフローの設定を行ってもよい。
【００５０】
図５は、第１の実施形態に係る、ワークフローの設定を行うためのワークフロー設定画面の例を示す。図５に示すワークフロー設定画面５００は、例えばＷＦ処理サーバ２０のディスプレイ２０１０に表示される。図５において、ワークフロー設定画面５００は、設定領域５０１および５０２と、ボタン５０３および５０４とを含む。
【００５１】
設定領域５０１は、ワークフローにおいて実行させる各処理および各処理の順序を設定する領域である。図５の例では、設定領域５０１に対し、スタートポイント５１０と、各処理に対応するプラグインＰ１〜Ｐ５とが、それぞれ対応するアイコン画像を用いて処理順に従い配置されて、ワークフロー２１１ａが構成される様子が示されている。ワークフロー２１１ａは、スタートポイント５１０を開始点として、設定領域５０１内の矢印に従い右方向に向けてワークフローの各プラグインＰ１〜Ｐ５が順次実行される。
【００５２】
図５の例では、スタートポイント５１０の直後に、画像補正を行うためのプラグインＰ１が配置され、その次に、ＰＤＦ(Portable  Document  Format)変換を行うためのプラグインＰ２が配置される。すなわち、スタートポイント５１０において入力された画像データは、画像補正のプラグインＰ１で画像補正処理を施され、ＰＤＦ変換のプラグインＰ２においてＰＤＦ形式の画像データに変換される。
【００５３】
プラグインＰ２の次に、次の処理を複数のプラグインのうち何れにより行うかを条件に応じて決定する、決定のプラグインＰ３（図では「Decision  Point」と表記）が配置される。図５の例では、決定のプラグインＰ３は、次の処理を行うプラグインを、指定された条件に応じてプラグインＰ４およびプラグインＰ５のうち何れかに決定する。なお、プラグインＰ４は、メール配信を行うプラグインであり、プラグインＰ５は、フォルダ配信を行うプラグインである。
【００５４】
例えば、ＷＦ処理サーバ２０は、ディスプレイ２０１０に、プラグイン管理部２３０に管理される各プラグイン２３１1、２３１2、…にそれぞれ対応するアイコン画像が一覧表示されるツールボックスを、ワークフロー設定画面５００と共に表示させる。ユーザは、ツールボックスからワークフロー２１１ａ内で用いるプラグインＰ１〜Ｐ５に対応するアイコン画像を、ポインティングデバイスによるドラッグアンドドロップ操作などにより設定領域５０１に配置する。また、ユーザは、既に設定領域５０１に配置された各プラグインＰ１〜Ｐ５のアイコン画像を、例えばポインティングデバイスによるドラッグ操作などにより移動させることで、各プラグインＰ１〜Ｐ５の処理の順序を変更する編集操作を実行できる。
【００５５】
図５において、設定領域５０２は、設定領域５０１にアイコン画像により表示される各プラグインＰ１〜Ｐ５のうち、指定されたプラグインに対する設定を行う。図５の例では、設定領域５０１において決定のプラグインＰ３が指定され、設定領域５０２に、指定された決定のプラグインＰ３における条件設定を行うための各入力領域５２０〜５２５と、ボタン５２６および５２７とが配置される。
【００５６】
ボタン５２６および５２７は、条件の追加および削除をそれぞれ指定するためのボタンである。ボタン５２６および５２７は、それぞれ、表示が「−（マイナス）」の状態で、右側に表示される一連の条件の削除を指示し、表示が「＋（プラス）」の状態で、条件の追加を指示する。また、入力領域５２０は、設定領域５０２に複数の条件が示されている場合に、これら複数の条件に対して論理和または論理積の何れを適用するかを入力する。
【００５７】
ここで、決定のプラグインＰ３（以下、適宜、プラグイン「Decision  Point」と呼ぶ)について概略的に説明する。プラグイン「Decision  Point」は、指定された条件に対して判定を行い、判定結果に応じて、次に実行させるプラグインを決定する。例えば、設定領域５０２において、入力領域５２１は、判定項目が入力され、入力領域５２２および５２３は、入力領域５２１に入力された判定項目に対する判定対象がそれぞれ入力される。入力領域５２４および５２５は、判定条件が入力される。
【００５８】
図５の例では、入力領域５２１に「比率」が入力され、入力領域５２２および５２３に、それぞれ「ファイルサイズ（最新）」および「ファイルサイズ（初期）」が入力される。これにより、プラグイン「Decision  Point」が、最新のファイルサイズの、初期（オリジナル）のファイルサイズに対する比率に基づく条件で判定を行うことが示される。また、入力領域５２４に不等号「＜」が入力され、入力領域５２５に値「０．５」が入力される。これにより、プラグイン「Decision  Point」が、入力領域５２２および５２３に入力された判定対象の比率が「０．５」以下であるか否かが判定条件であることが示される。
【００５９】
プラグイン「Decision  Point」は、例えば、判定結果が条件を満たす場合に値「ｔｒｕｅ」、満たさない場合に値「ｆａｌｓｅ」を出力する。設定領域５０１の決定のプラグインＰ３の直後に配されるアイコン画像５１１ａおよび５１１ｂは、それぞれプラグイン「Decision  Point」の判定結果を示す値「ｔｒｕｅ」および「ｆａｌｓｅ」に対応する。
【００６０】
なお、設定領域５０２は、設定領域５０１において指定されたプラグインに応じた項目の各入力領域が配される。
【００６１】
図５のように設定されたワークフロー２１１ａは、スタートポイント５１０にて入力された電子文書の画像データに対して、プラグインＰ１およびＰ２により画像補正およびＰＤＦ変換が順次施される。ワークフロー２１１ａは、決定のプラグインＰ３により、プラグインＰ２によるＰＤＦ変換の結果の電子文書のファイルサイズ（最新のファイルサイズ）と、スタートポイント５１０にて入力された電子文書のファイルサイズ（オリジナルのファイルサイズ）とが比較される。ワークフロー２１１ａは、決定のプラグインＰ３による比較結果に基づき、オリジナルのファイルサイズに対する最新のファイルサイズの比率が「０．５」以下であるか否かに従い、後の処理をプラグインＰ４によるメール配信処理とするか、プラグインＰ５によるフォルダ配信処理とするかが決定される。
【００６２】
図５において、ボタン５０３は、設定領域５０１および５０２に入力された各情報が確定される。例えば、ボタン５０３が操作されると、設定領域５０１に入力されたワークフロー２１１ａの情報に基づきワークフロー定義情報が生成され、ワークフロー定義ファイルに格納される。ボタン５０３が操作されると、さらに、設定領域５０１に入力されるワークフロー２１１ａに含まれる各プラグインＰ１〜Ｐ５について、それぞれに対応する設定領域５０２に入力された値に基づき、プラグイン定義情報が生成され、プラグイン定義ファイルに格納される。
【００６３】
図６は、第１の実施形態に係る、図５の設定領域５０１に示されるワークフロー２１１ａに対応するワークフロー定義情報の例を示す。
【００６４】
なお、この図６と、後述する図８および図１１とにおいて、特に記載の無い限り、各行の先頭の数字は説明のための行番号を示し、続くコロン（：）でデータ本体を示すコードと区別されている。この例では、ワークフロー定義情報は、タグを用いてデータの意味や構造を定義して記述するマークアップ言語の一種であるＸＭＬ(Extensible  Markup  Language)を用いて記述されている。これは一例であって、ワークフロー定義情報の記述方式は、特に限定されない。例えば、ワークフロー定義情報は、ＪＳＯＮ(JavaScript（登録商標））  Object  Notation)により記述してもよいし、バイナリ形式で記述してもよい。
【００６５】
図６において、第１行目でこのデータが記述されるＸＭＬのバージョンと、エンコード方式とが定義され、第２行目の開始タグ「<flows>」と、第２０行目の終了タグ「</flows>」とに挟まれる、第３行目の開始タグ「<flow>」と、第１９行目の終了タグ「</flow>」との間に、ワークフロー２１１ａが記述される。
【００６６】
また、ワークフロー定義情報において、記述「nextPlugin」は、次に実行されるプラグインが定義されることを示し、記述「nextPlugin」に続く記述「id="  "」において、「"  "」に挟まれる部分に、次に実行されるプラグインの識別情報が記述される。
【００６７】
第４行目〜第１６行目の記述において、第４行目〜第６行目に開始タグ「<startpoint>」および終了タグ「</startpoint>」によりスタートポイント５１０が定義され、これら開始タグ「<startpoint>」および終了タグ「</startpoint>」に挟まれた第５行目に、スタートポイント５１０の次に実行されるプラグインの識別情報「@ImageProcessingToolbox」が記述される。すなわち、記述「nextPlugin」は、次に実行されるプラグインが定義されることを示し、記述「nextPlugin」を含む、一対の開始文字「<」および終了文字「>」に挟まれる部分に、記述「id=」に続けて、次に実行されるプラグインの識別情報が記述される。
【００６８】
第７行目以降、開始タグ「<plugin>」および終了タグ「</plugin>」を用いて、それぞれプラグインが定義される。
【００６９】
第７行目〜第９行は、画像補正のプラグインＰ１が定義される。第７行目の開始タグ「<plugin  id=  ...>」において、このプラグインについて、記述「id=」により識別情報「@ImageProcessingToolbox」が、記述「type=」によりタイプ「filter」が、記述「displayName=」により表示名「画像補正」が、それぞれ記述される。表示名は、設定領域５０１における表示に用いられる。また、開始タグ「<plugin  id=  ...>」および終了タグ「</plugin>」に挟まれる第８行目に、記述「nextPlugin」として、このプラグインの次に実行されるプラグインの識別情報「@RPDFConverter」が記述される。
【００７０】
第１０行目〜第１２行目は、ＰＤＦ変換のプラグインＰ２が定義される。第１０行目の開始タグ「<plugin  id=  ...>」において、このプラグインについて、識別情報「@RPDFConverter」と、タイプ「filter」と、表示名「ＰＤＦ変換」とが記述される。また、開始タグ「<plugin  id=  ...>」および終了タグ「</plugin>」に挟まれる第１１行目に、このプラグインの次に実行されるプラグインの識別情報「@DecisionPoint」が記述される。
【００７１】
第１３行目〜第１６行目は、決定のプラグインＰ３が定義される。第１３行目の開始タグ「<plugin>」において、このプラグインについて、識別情報「@DecisionPoint」と、タイプ「filter」と、表示名「Desicion  Point」とが記述される。
【００７２】
また、決定のプラグインＰ３の場合、開始タグ「<plugin  id=  ...>」および終了タグ「</plugin>」に挟まれる第１４行目および第１５行目に、判定結果が値「ｔｒｕｅ」および値「ｆａｌｓｅ」の場合にそれぞれ次に実行されるプラグインの識別情報が記述される。
【００７３】
具体的には、第１４行目において、次に実行されるプラグインの識別情報「@ToSMTP」が記述され、記述「decision="true"」によりこの識別情報「@ToSMTP」のプラグインが、判定結果が値「ｔｒｕｅ」の場合に実行されることが示される。同様に、第１５行目において、次に実行されるプラグインの識別情報「@ToFolder」が記述され、記述「decision="false"」によりこの識別情報「@ToFolder」のプラグインが、判定結果が値「ｆａｌｓｅ」の場合に実行されることが示される。
【００７４】
第１７行目および第１８行目は、それぞれメール配信のプラグインＰ４と、フォルダ配信のプラグインＰ５とが定義される。図１８行目の、開始文字「<」および終了文字「/>」によるタグにおいて、識別情報「@ToSMTP」と、タイプ「output」と、表示名「メール配信」とが記述される。同様に、図１９行目の、開始文字「<」および終了文字「/>」によるタグにおいて、識別情報「@ToFolder」と、タイプ「output」と、表示名「フォルダ配信」とが記述される。
【００７５】
ワークフロー実行部２２０は、ワークフロー実行の際に、このように記述されたワークフロー定義情報が格納されるワークフロー定義ファイルを読み込み、ワークフロー定義情報を解釈する。ワークフロー実行部２２０は、ワークフロー定義情報からスタートポイント５１０を定義する開始タグ「<startpoint>」および終了タグ「</startpoint>」を検出し、記述「nextPlugin」に従い次に実行されるプラグインの識別情報「@ImageProcessingToolbox」を取得する。
【００７６】
ワークフロー実行部２２０は、取得した識別情報「@ImageProcessingToolbox」を、当該ワークフロー定義情報から検索し、識別情報「@ImageProcessingToolbox」に示されるプラグインをプラグイン管理部２３０から読み出して実行させる。ワークフロー実行部２２０は、このプラグインの実行が終了されると、当該識別情報「@ImageProcessingToolbox」のプラグインの次に実行されるプラグインの識別情報「@RPDFConverter」（第８行目）を取得し、同様にして、識別情報「@RPDFConverter」に示されるプラグインをプラグイン管理部２３０から読み出して実行させる。ワークフロー実行部２２０は、このプラグインの実行が終了されると、当該識別情報「@RPDFConverter」の次に実行されるプラグインの識別情報「@DecisionPoint」（第１１行目）を取得する。
【００７７】
ワークフロー実行部２２０は、識別情報「@DecisionPoint」に示されるプラグインをプラグイン管理部２３０から読み出して実行させる。このとき、ワークフロー実行部２２０は、直前に実行された識別情報「@RPDFConverter」に示されるプラグインによる処理後のファイルのファイルサイズ（最新のファイルサイズ）と、オリジナルのファイルサイズとを取得し、設定領域５０２にて設定された条件に従い判定を行う。
【００７８】
ワークフロー実行部２２０は、判定の結果、条件を満たしているとされた場合、記述「decision="true"」（第１４行目）に従い、次に実行されるプラグインの識別情報「@ToSMTP」を取得する。一方、判定の結果、条件を満たしていないとされた場合、ワークフロー実行部２２０は、記述「decision="false"」（第１５行目）に従い、次に実行されるプラグインの識別情報「@ToFolder」を取得する。ワークフロー実行部２２０は、判定の結果に従い取得した識別情報に示されるプラグインをプラグイン管理部２３０から読み出し、実行させる。
【００７９】
次に、図７〜図１２を用いて、第１の実施形態に係る、ＭＦＰ１０およびＷＦ処理サーバ２０における処理について、より詳細に説明する。
【００８０】
図７は、第１の実施形態に係るＭＦＰ１０における処理を示す一例のフローチャートである。ステップＳ１００で、ＵＩ部１００は、通信部１０１によりＷＦ処理サーバ２０との間で通信を行い、使用するワークフロー（ＷＦ）を選択し、選択したワークフローを示す情報を通信部１０１によりＷＦ処理サーバ２０に送信する。
【００８１】
例えば、ＵＩ部１００は、通信部１０１によるＷＦ処理サーバ２０と通信を行い、ワークフローのリストを送信するよう依頼する。ＷＦ処理サーバ２０は、この依頼に応じて、ワークフロー管理部２１０からワークフロー２１１1、２１１2、…のリストを取得し、取得したリストをＭＦＰ１０に送信する。リストは、ＭＦＰ１０において通信部１０１により受信され、ＵＩ部１００に渡される。ＵＩ部１００は、渡されたリストを、操作パネル１０４０に表示させる。ＵＩ部１００は、操作パネル１０４０に対するユーザ操作に応じて、リストに含まれるワークフロー２１１1、２１１2、…から１つを選択する。ＵＩ部１００は、選択したワークフローを示す情報（例えば識別情報）を、通信部１０１によりＷＦ処理サーバ２０に送信する。
【００８２】
次のステップＳ１０１で、ＵＩ部１００は、操作パネル１０４０に対するユーザ操作に応じて、読取部１０２に対して、スキャナユニット１０３１によるスキャンを実行するように指示する。このとき、ＵＩ部１００は、操作パネル１０４０に対する、スキャンに関する各種設定値の入力を受け付ける。読取部１０２は、この指示に従いスキャナユニット１０３１を制御して、入力された各種設定値に従い、原稿台にセットされた原稿の画像をスキャンして読み取る。読取部１０２は、原稿を読み取った画像データをファイルに格納し、例えばストレージ１０２０に記憶する。このファイルは、画像データ化された原稿が格納される電子文書である。
【００８３】
次のステップＳ１０２で、ＵＩ部１００は、ステップＳ１０１で読み取りストレージ１０２０に記憶された電子文書のファイルサイズを含む書誌情報を作成する。このファイルサイズは、電子文書のオリジナルのファイルサイズである。
【００８４】
次のステップＳ１０３で、ＵＩ部１００は、ステップＳ１０２で作成した書誌情報と、ステップＳ１０１でストレージ１０２０に記憶した電子文書と、スキャンに関して入力された各種設定値とを、通信部１０１によりＷＦ処理サーバ２０に送信する。
【００８５】
図８は、ステップＳ１０２で作成される書誌情報の例を抜粋して示す。図８において、第１行目でこのデータが記述されるＸＭＬのバージョンと、エンコード方式とが定義され、第２行目の開始タグ「<document>」により、書誌情報であることが示され、開始タグ「<document>」と第２６行目の終了タグ「</document>」とに挟まれる部分に、書誌情報の内容が記述される。
【００８６】
第３行目の開始タグ「<content>」と第９行目の終了タグ「</content>」の間の第５行目に、記述「path=」に続けて、このオリジナルの電子文書に関連付けられる電子文書のファイル名およびパス名を示す情報が記述される。この例では、ファイル名およびパス名が「scan_001.tif」として記述されている。
【００８７】
第１０行目の開始タグ「<properties>」と第２５行目の終了タグ「</properties>」との間に、それぞれ開始タグ「<property  id="  ">」および終了タグ「</property>」に挟まれて、この書誌情報に関連付けられる電子文書の各属性情報が記述される。なお、開始タグ「<property  id="  ">」における一対の記号「"  "」の間には、その属性情報の識別情報が記述される。
【００８８】
この例では、各属性情報のうち、属性６００に示されるように、第２１行目の開始タグ「<property  id="contentSize">」により、当該電子文書のファイルサイズが記述されることが示され、次の第２２行目に、開始タグ「<value>」および終了タグ「</value>」に挟まれてファイルサイズ「425736（バイト）」が記述されている。この開始タグ「<property  id="contentSize">」により記述されるファイルサイズが、電子文書のオリジナルのファイルサイズとなる。
【００８９】
図９は、図７のフローチャートに示したＭＦＰ１０の処理に対応する、第１の実施形態に係るＷＦ処理サーバ２０における処理を示す一例のフローチャートである。ステップＳ２００で、ＷＦ処理サーバ２０は、図７のステップＳ１００においてＭＦＰ１０から送信された、選択されたワークフローを示す情報を受信して、記憶する。例えば、ＷＦ処理サーバ２０は、ＭＦＰ１０から送信されたワークフローを示す情報を通信部２５０により受信する。通信部２５０は、受信したワークフローを示す情報を、例えばＲＡＭ２００２に一時的に記憶する。
【００９０】
次のステップＳ２０１で、ＷＦ処理サーバ２０は、ＭＦＰ１０からの電子文書および書誌情報が受信されたか否かを判定する。ＷＦ処理サーバ２０は、ＭＦＰ１０からの電子文書および書誌情報を受信していないと判定した場合（ステップＳ２０１、「受信無し」）、処理をステップＳ２０１に戻し、ＭＦＰ１０からの電子文書および書誌情報を待機する。
【００９１】
ＷＦ処理サーバ２０は、図７のステップＳ１０３にてＭＦＰ１０から送信された電子文書および書誌情報を受信したと判定した場合（ステップＳ２０１、「受信」）、ＷＦ処理サーバ２０は、処理をステップＳ２０２に移行させる。このとき、ＷＦ処理サーバ２０は、ＭＦＰ１０から電子文書および書誌情報と共に送信された、スキャンに関する各種設定値も受信する。ステップＳ２０２で、ＷＦ処理サーバ２０は、受信した電子文書、書誌情報および各種設定値を記憶する。
【００９２】
より具体的には、ＷＦ処理サーバ２０において、通信部２５０は、ＭＦＰ１０から送信された電子文書、書誌情報および各種設定値を受信し、受信した電子文書、書誌情報および各種設定値をジョブ生成部２４１に渡す。また、通信部２５０は、ステップＳ２００でＭＦＰ１０から受信し記憶した、選択されたワークフローを示す情報をジョブ生成部２４１に渡す。
【００９３】
ジョブ生成部２４１は、通信部２５０から渡されたワークフローを示す情報に基づきワークフロー管理部２００からワークフロー定義ファイルを取得する。ジョブ生成部２４１は、通信部２５０から渡された電子文書、書誌情報および各種設定値と、取得したワークフロー定義ファイルとを纏めてジョブデータを生成する。ジョブ生成部２４１は、生成したジョブデータをジョブキュー２４３に記憶する。
【００９４】
図１０は、第１の実施形態に係る、ジョブキュー２４３に記憶されるジョブデータの構成例を示す。ジョブデータは、例えばフォルダ構造を用いてジョブキュー２４３に記憶される。図１０において、ジョブデータが格納されるフォルダ７００が生成され、フォルダ７００に対して、ジョブキュー２４３内で一意に生成されたフォルダ名が付与される。また、フォルダ７００の直下にファイル群７０１が格納される。なお、フォルダ７００などに示される各フォルダ名は、図１０において説明のため便宜的に示すもので、当該フォルダに実際に格納されるデータではない。
【００９５】
図１０の例では、フォルダ群７０１は、ファイル「distribution.xml」と、ファイル「document.xml」と、ファイル「Flow.xml」と、ファイル「Result.xml」と、ファイル「scan_001.tif」とを含んでいる。
【００９６】
なお、各ファイル名において区切り文字「．（ピリオド）」で区切られた後ろの文字列は、そのファイルの種類を示す拡張子であって、拡張子「xml」は、そのファイルがＸＭＬファイルであることを示す。拡張子「tif」は、そのファイルがＴＩＦ(Tagged  Image  File  Format)形式の画像データであることを示している。拡張子「pdf」は、そのファイルがＰＤＦ形式の画像データであることを示し、拡張子「zip」は、ｚｉｐ方式で書庫化されたアーカイブファイルであることを示している。また、拡張子「dcx」は、そのファイルがマルチページのイメージファイルであることを示している。
【００９７】
ファイル「scan_001.tif」は、画像データが格納されるファイルであって、電子文書を構成する。ファイル「document.xml」は、図８を用いて説明した、ファイル「scan_001.tif」に対応する書誌情報が格納される書誌情報ファイルである。すなわち、ジョブキュー２４３は、書誌情報が記憶される記憶部である。ファイル「Flow.xml」は、図６を用いて説明したワークフロー定義情報が格納されるワークフロー定義ファイルであり、ＭＦＰ１０において選択されたワークフローのワークフロー定義情報が格納される。ファイル「distribution.xml」は、ファイル「Flow.xml」に含まれる各プラグインに対するプラグイン定義ファイルであって、上述した図５の設定領域５０２にて設定された内容が反映される。ファイル「Result.xml」は、ファイル「Flow.xml」に従い実行されたプラグインの実行結果を示す情報が格納される。
【００９８】
なお、図１０において、ルートの直下に形成されるフォルダ「ＤＨ」は、ファイル「Flow.xml」に従い実行されたプラグインのワークエリアとして用いられるフォルダ７１０、７１１および７１２が格納される。なお、フォルダ「ＤＨ」を省略して、各フォルダ７１０、７１１および７１２をフォルダ７００の直下に作成してもよい。各フォルダ７１０、７１１および７１２は、例えば、ファイル「Flow.xml」に含まれる各プラグインのうち、特定種類のプラグインが実行されることによりファイル「scan_001.tif」から生成された画像データを格納するファイルが、それぞれ格納される。
【００９９】
次のステップＳ２０３で、ＷＦ処理サーバ２０は、ＭＦＰ１０にて選択されたワークフローを実行する。より具体的には、ＷＦ処理サーバ２０において、ジョブ実行部２４２は、ジョブキュー２４３に記憶されるジョブデータを定期的に監視している。ジョブ実行部２４２は、ジョブキュー２４３からジョブデータを取得できると、取得したジョブデータをワークフロー実行部２２０に渡す。
【０１００】
ワークフロー実行部２２０は、渡されたジョブデータからワークフローを示す情報を取り出す。ワークフロー実行部２２０は、ワークフロー管理部２１０に管理されるワークフロー２１１1、２１１2、…から、ジョブデータから取り出した情報に従いワークフローを指定し、指定したワークフローのワークフロー定義ファイルを取得する。ワークフロー実行部２２０は、取得したワークフロー定義ファイルに記述されるスタートポイント５１０から、当該ワークフローの実行を開始する。
【０１０１】
次のステップＳ２０４で、ワークフロー実行部２２０は、ワークフロー定義ファイルに格納されるワークフロー定義情報に従い、当該ワークフローに指定されるプラグインによる処理を実行する。より具体的には、ワークフロー実行部２２０は、ワークフロー定義情報に示されるプラグインの実行順に従い、プラグイン管理部２３０に管理される各プラグイン２３０1、２３０2、…からプラグインを１つ取得する。ワークフロー実行部２２０は、ジョブデータから取り出した電子文書の画像データ、すなわち、上述したファイル「scan_001.tif」に格納される画像データに対して、プラグイン管理部２３０から取得したプラグインにより処理を施す。
【０１０２】
次のステップＳ２０５で、ワークフロー実行部２２０は、プラグイン管理部２３０から、ステップＳ２０４で実行されたプラグインの種類を示す情報を取得する。次のステップＳ２０６で、ワークフロー実行部２２０は、取得したプラグインの種類を示す情報に基づき、ステップＳ２０４で実行されたプラグインが特定種類のプラグインであるか否かを判定する。
【０１０３】
特定種類のプラグインは、例えば、電子文書の画像データに対して画像処理を施す画像処理系のプラグインである。上述した図５の例では、画像補正のプラグインＰ１と、ＰＤＦ変換のプラグインＰ２とが特定種類のプラグインであると判定される。一方、決定のプラグインＰ３、メール配信のプラグインＰ４およびフォルダ配信のプラグインＰ５は、ファイルサイズを変更させないため、特定種類のプラグインではないと判定される。
【０１０４】
これに限らず、特定種類のプラグインは、電子文書のファイルサイズを変更させる可能性のあるプラグインとしてもよい。この場合、画像処理系のプラグインのうちＰＤＦ変換のプラグインＰ２のような画像変換を行うプラグインや、ファイルの書庫化や圧縮符号化を施すプラグインを、特定種類のプラグインに含めることができる。
【０１０５】
ワークフロー実行部２２０は、ステップＳ２０６で、実行されたプラグインが特定種類のプラグインではないと判定した場合（ステップＳ２０６、「Ｎｏ」）、処理をステップＳ２０９に移行させる。一方、ワークフロー実行部２２０は、ステップＳ２０６で、実行されたプラグインが特定種類のプラグインであると判定した場合（ステップＳ２０６、「Ｙｅｓ」）、処理をステップＳ２０７に移行させる。
【０１０６】
ステップＳ２０７で、ワークフロー実行部２２０は、ファイルサイズ更新部２２１により、ステップＳ２０４でプラグインによる処理が施された電子文書のファイルサイズを取得する。次のステップＳ２０８で、ファイルサイズ更新部２２１は、ステップＳ２０７で取得したファイルサイズを最新のファイルサイズとして、書誌情報を更新する。
【０１０７】
図１１は、図８で示した書誌情報に対して、最新のファイルサイズを示す属性６０１が追加された例を示す。図１１において、第２４行目の開始タグ「<property  id="latestContentSize">」により、当該電子文書の最新のファイルサイズが記述されることが示され、次の第２５行目に、開始タグ「<value>」および終了タグ「</value>」に挟まれてファイルサイズ「190773（バイト）」が記述されている。属性６０１においてこの開始タグ「<property  id="latestContentSize">」により記述されるファイルサイズが、電子文書の最新のファイルサイズとなる。
【０１０８】
また、図１１において、属性６００には、第２１行目の開始タグ「<property  id="contentSize">」と第２３行目の終了タグ「</property>」に挟まれて、オリジナルのファイルサイズが記述される。したがって、図１１に示す書誌情報を参照することで、オリジナルのファイルサイズと、最新のファイルサイズとを取得できる。
【０１０９】
なお、書誌情報に、最新のファイルサイズを示す属性６０１が既に追加されている場合、ファイルサイズ更新部２２１は、属性６０１において開始タグ「<value>」および終了タグ「</value>」に挟まれて記述されるファイルサイズを、ステップＳ２０７で取得した最新のファイルサイズにより更新する。
【０１１０】
次のステップＳ２０９で、ワークフロー実行部２２０は、ワークフロー定義情報に従い、次に実行されるプラグインが有るか否かを判定する。ワークフロー実行部２２０は、次に実行されるプラグインが有ると判定した場合（ステップＳ２０９、「Ｙｅｓ」）、処理をステップＳ２０４に戻し、次のプラグインを実行する。
【０１１１】
一方、ワークフロー実行部２２０は、ステップＳ２０９で次に実行されるプラグインが無いと判定した場合、図９のフローチャートによる一連の処理を終了させる。
【０１１２】
なお、上述では、ステップＳ２０６の判定処理において、ワークフロー実行部２２０は、プラグイン管理部２３０から実行するプラグインの種類を示す情報を取得し、特定種別のプラグインであるか否かを判定するようにしているが、これはこの例に限定されない。
【０１１３】
例えば、ワークフロー実行部２２０は、ファイルサイズを取得する必要のある特定種類の識別情報のリストを管理し、実行するプラグインの識別情報がこのリストに含まれるか否かに基づいて、特定種別のプラグインであるか否かを判定することができる。
【０１１４】
また例えば、図６のワークフロー定義情報にプラグインの種類を示す記述を含めてもよい。この場合、ワークフロー実行部２２０は、ワークフロー定義情報を参照して、指定されるプラグインによる処理を実行する際に、ワークフロー定義情報に含まれるプラグインの種類を示す記述に基づいて、特定種別のプラグインであるか否かを判定することもできる。
【０１１５】
図１２は、第１の実施形態に係る上述した図９のフローチャートに従った処理を、より具体的な例に適用した場合の処理を示す一例のフローチャートである。ここでは、図９のフローチャートによる処理を、図５の設定領域５０１および５０２に設定されたワークフロー２１１ａに対して適用した場合について説明する。なお、ＭＦＰ１０側の処理は、図７のフローチャートを用いて説明した処理と同一なので、ここでの説明を省略する。
【０１１６】
図１２において、ステップＳ３００〜ステップＳ３０４の処理は、図９のフローチャートのステップＳ２００〜ステップＳ２０４の処理と同様である。すなわち、ステップＳ３００で、ＷＦ処理サーバ２０は、ＭＦＰ１０から送信された、選択されたワークフロー２１１ａを示す情報を受信して記憶する。次のステップＳ３０１で、ＷＦ処理サーバ２０は、ＭＦＰ１０からの電子文書および書誌情報が受信されたか否かを判定する。ＷＦ処理サーバ２０は、受信していないと判定した場合（ステップＳ３０１、「受信無し」）、処理をステップＳ３０１に戻し、受信したと判定した場合（ステップＳ３０１、「受信」）、処理をステップＳ３０２に移行させる。
【０１１７】
ステップＳ３０２で、ＷＦ処理サーバ２０において、ジョブ生成部２４１は、受信した電子文書、書誌情報および各種設定値と、ステップＳ３００で記憶したワークフロー２１１ａを示す情報に基づきワークフロー管理部２１０から取得したワークフロー定義ファイルとを纏めてジョブデータを生成する。ジョブ生成部２４１は、生成したジョブデータをジョブキュー２４３に記憶する。ジョブ生成部２４１は、ジョブキュー２４３に対して、生成したジョブデータに一意のフォルダ７００を作成して、当該ジョブデータを構成する各ファイル（ファイル群７０１）をジョブキュー２４３に記憶する（図１０参照）。このとき、ジョブ生成部２４１は、ファイル群７０１を、フォルダ７００の直下に格納する。
【０１１８】
次のステップＳ３０３で、ワークフロー実行部２２０は、ジョブ実行部２４２から渡されたジョブデータに基づき指定されたワークフローのワークフロー定義ファイルにおけるワークフロー定義情報の記述に従い、当該ワークフローの実行を開始する。ここでは、図５のワークフロー設定画面５００において設定されたワークフロー２１１ａに設定される順序に従い、各プラグインＰ１〜Ｐ５が実行される。
【０１１９】
次のステップＳ３０４で、ワークフロー実行部２２０は、電子文書の画像データに対して、ワークフロー定義情報の記述に従い画像補正のプラグインＰ１による画像補正処理を実行させる。ワークフロー実行部２２０は、画像補正処理が施された電子文書をジョブ実行部２４２に渡す。ここで、ジョブ生成部２４１は、ジョブキュー２４３に記憶される当該ワークフローのフォルダ７００の直下にフォルダ「ＤＨ」を作成し、当該フォルダ「ＤＨ」の直下に、さらに新たにフォルダ７１０を作成する（図１０参照）。ジョブ実行部２４２は、このフォルダ７１０に、ステップＳ３０４で画像補正処理を施した電子文書をファイル「scan_001.tif」として格納する。また、例えばジョブ生成部２４１は、画像補正処理が施された電子文書に応じて書誌情報を作成し、フォルダ７１０に格納する。
【０１２０】
なお、図１０の例では、フォルダ７１０に格納される電子文書は、ファイル「scan_001.tif」であり、ファイル群７０１に含まれるオリジナルのファイル「scan_001.tif」に対してファイル名およびファイルサイズが変化しない。
【０１２１】
次のステップＳ３０５で、ファイルサイズ更新部２２１は、ステップＳ３０４の処理を施した電子文書（ファイル「scan_001.tif」）のファイルサイズを、最新のファイルサイズとして取得する。次のステップＳ３０６で、ファイルサイズ更新部２２１は、ステップＳ３０５で取得した最新のファイルサイズにより、ステップＳ３０２でジョブデータとして記憶された書誌情報を更新する。
【０１２２】
次のステップＳ３０７で、ワークフロー実行部２２０は、ステップＳ３０４で画像補正処理が施された電子文書の画像データに対して、ワークフロー定義情報の記述に従いＰＤＦ変換のプラグインＰ２による処理を施し、電子文書の形式を、ＰＤＦ形式に変換する。すなわち、ステップＳ３０７で、ワークフロー実行部２２０は、ステップＳ３０４で画像補正処理を施しフォルダ７１０に格納したファイル「scan_001.tif」に対してＰＤＦ変換処理を施す。
【０１２３】
ワークフロー実行部２２０は、ＰＤＦ変換処理が施された電子文書をジョブ実行部２４２に渡す。ここで、ジョブ生成部２４１は、ジョブキュー２４３に記憶される、当該ワークフローのフォルダ「ＤＨ」の直下に、新たにフォルダ７１１を作成する（図１０参照）。ジョブ実行部２４２は、このフォルダ７１１に、ステップＳ３０７でＰＤＦ変換処理を施した電子文書をファイル「scan_001.pdf」として格納する。
【０１２４】
このように、ＰＤＦ変換処理が施された電子文書は、ファイル名において少なくとも拡張子が変更される。また、ＰＤＦ変換処理は、画像データに対して白紙除去などの画像処理を施すことが可能であり、ファイルサイズが処理前のファイルサイズに対して変化する可能性がある。
【０１２５】
ジョブ生成部２４１は、上述と同様に、ＰＤＦ変換処理が施された電子文書に応じて書誌情報を作成し、フォルダ７１１に格納する。
【０１２６】
次のステップＳ３０８で、ファイルサイズ更新部２２１は、ステップＳ３０７の処理を施した電子文書（ファイル「scan_001.pdf」）のファイルサイズを、最新のファイルサイズとして取得する。次のステップＳ３０９で、ファイルサイズ更新部２２１は、ステップＳ３０６で更新された書誌情報をステップＳ３０８で取得した最新のファイルサイズにより、さらに更新する。
【０１２７】
次のステップＳ３１０で、ワークフロー実行部２２０は、ワークフロー定義情報の記述に従い、決定のプラグインＰ３による処理を実行する。
【０１２８】
図１１を参照し、ステップＳ３１０において、ワークフロー実行部２２０は、決定のプラグインＰ３の処理により、図５の設定領域５０２において設定された条件に従い、書誌情報に含まれる属性６００に記述されるオリジナルのファイルサイズに対する、属性６０１に記述される最新のファイルサイズの比率を求める。次のステップＳ３１１で、ワークフロー実行部２２０は、決定のプラグインＰ３の処理により、図５の設定領域５０２において設定された条件に従い、ステップＳ３１０で求めた比率が「０．５」以下であるか否かを判定する。
【０１２９】
ワークフロー実行部２２０は、比率が「０．５」以下であると判定した場合（ステップＳ３１１、「Ｙｅｓ」）、処理をステップＳ３１２に移行させる。ステップＳ３１２で、ワークフロー実行部２２０は、ワークフロー定義情報の記述に従い、図５の設定領域５０１においてアイコン画像５１１ａに示されるように、メール配信のプラグインＰ４による処理を実行し、電子文書のメール配信を行う。これにより、電子文書がメールサーバ３１に転送され、電子文書が指定されたメールアドレスに対して送信される。
【０１３０】
一方、ワークフロー実行部２２０は、比率が「０．５」を超えると判定した場合（ステップＳ３１１、「Ｎｏ」）、処理をステップＳ３１３に移行させる。ステップＳ３１３で、ワークフロー実行部２２０は、ワークフロー定義情報の記述に従い、図５の設定領域５０１においてアイコン画像５１１ｂに示されるように、フォルダ配信のプラグインＰ５による処理を実行し、電子文書のフォルダ配信を行う。これにより、電子文書が文書管理サーバ３０に転送され、電子文書が指定されたフォルダに格納される。
【０１３１】
ステップＳ３１２またはステップＳ３１３の処理が完了すると、図１２のフローチャートによる一連の処理が終了される。
【０１３２】
このように、第１の実施形態によれば、オリジナルのファイルサイズと最新のファイルサイズとが常に書誌情報に格納されている。そのため、ワークフロー実行時に、各プラグインは、オリジナルおよび最新のファイルサイズの値を容易に参照できる。また、書誌情報に含まれる最新のファイルサイズは、各プラグインではなく、ワークフローを実行するワークフロー実行部２２０が更新する。したがって、プラグイン管理部２３０に新たなプラグインが追加された場合にも、ファイルサイズの更新処理が漏れることが無い。
【０１３３】
（第１の実施形態の変形例）
なお、上述では、決定のプラグインＰ３における判定を、オリジナルのファイルサイズと最新のファイルサイズとを用いて行うように説明したが、これはこの例に限定されない。第１の実施形態の変形例では、決定のプラグインＰ３における判定を、オリジナルのファイルサイズと最新のファイルサイズのうち何れか一方の値を用いて行う。
【０１３４】
ここで、前提として、メール配信で配信可能な電子文書のファイルサイズに上限（例えば３ＭＢ（メガバイト））が存在するものとする。また、ＰＤＦ変換は、ファイルサイズが元のファイルサイズに対して７０％程度に圧縮される通常モードによるＰＤＦ変換と、さらに小さなファイルサイズに圧縮可能な高圧縮モードによるＰＤＦ変換とが選択可能であるものとする。
【０１３５】
第１の例として、決定のプラグインＰ３において、オリジナルのファイルサイズが所定値、例えばメール配信の上限より大きな値（例えば４ＭＢ）を超えるか否かで処理を分岐させることができる。この場合、例えば、判定結果が「ｔｒｕｅ」すなわち所定値を超える場合に高圧縮モードのＰＤＦ変換を行い、「ｆａｌｓｅ」すなわち所定値以下であれば通常モードのＰＤＦ変換を行う。
【０１３６】
第２の例として、決定のプラグインＰ３において、最新のファイルサイズがメール配信においてメールに添付可能な上限のファイルサイズを超えるか否かで処理を分岐させることができる。この場合、例えば、判定結果が「ｔｒｕｅ」すなわち上限を超える場合にフォルダ配信を行い、「ｆａｌｓｅ」すなわち上限以下であればメール配信を行う。
【０１３７】
図１３は、第１の実施形態の変形例に係る、決定のプラグインＰ３における判定を、オリジナルのファイルサイズと最新のファイルサイズのうち何れか一方の値を用いて行う場合のワークフロー２１１ｂの例を示す。なお、図１３において、上述した図５と共通する部分には同一の符号を付して、詳細な説明を省略する。
【０１３８】
ワークフロー実行部２２０は、スタートポイント５１０から入力された電子文書に対して画像補正のプラグインＰ１にて画像処理を施し、第１の決定のプラグインＰ３1に渡す。プラグインＰ１の出力５１２における電子文書のファイルサイズは、スタートポイント５１０から入力された電子文書のファイルサイズ（オリジナルのファイルサイズ）に対して変化していないものとする。
【０１３９】
第１の決定のプラグインＰ３1は、プラグインＰ１の出力５１２におけるファイルサイズを取得し、取得したファイルサイズが所定値を超えるか否かを判定する。第１の決定のプラグインＰ３1は、取得したファイルサイズが所定値を超えると判定した場合、処理を、高圧縮モードでＰＤＦ変換を行う第１のＰＤＦ変換のプラグインＰ２1に分岐させる。一方、第１の決定のプラグインＰ３1は、取得したファイルサイズが所定値以下であると判定した場合、処理を、通常モードのＰＤＦ変換を行う第２のＰＤＦ変換のプラグインＰ２2に分岐させる。
【０１４０】
先ず、第１のＰＤＦ変換のプラグインＰ２1に処理が分岐された場合について説明する。第１のＰＤＦ変換のプラグインＰ２1において高圧縮モードでＰＤＦ変換処理された電子文書は、第２の決定のプラグインＰ３2に渡される。第２の決定のプラグインＰ３2は、プラグインＰ２1の出力５１３におけるファイルサイズを取得し、取得したファイルサイズがメール配信の上限を超えるか否かを判定する。第２の決定のプラグインＰ３2は、取得したファイルサイズがメール配信の上限を超えると判定した場合、処理を、フォルダ配信を行うプラグインＰ５に分岐させる。一方、第２の決定のプラグインＰ３2は、取得したファイルサイズがメール配信の上限以下であると判定した場合、処理を、メール配信を行うプラグインＰ４に分岐させる。
【０１４１】
第２のＰＤＦ変換のプラグインＰ２2に処理が分岐された場合も、同様である。この場合には、第２のＰＤＦ変換のプラグインＰ２2において通常モードでＰＤＦ変換処理された電子文書は、第３の決定のプラグインＰ３3に渡される。第３の決定のプラグインＰ３3は、プラグインＰ２2の出力５１４におけるファイルサイズを取得し、取得したファイルサイズがメール配信の上限を超えるか否かを判定する。第３の決定のプラグインＰ３3は、取得したファイルサイズがメール配信の上限を超えると判定した場合、処理を、フォルダ配信を行うプラグインＰ５に分岐させる。一方、第３の決定のプラグインＰ３3は、取得したファイルサイズがメール配信の上限以下であると判定した場合、処理を、メール配信を行うプラグインＰ４に分岐させる。
【０１４２】
なお、図１３では、第２の決定のプラグインＰ３2から分岐されるプラグインＰ４およびＰ５と、第３の決定のプラグインＰ３3から分岐されるプラグインＰ４およびＰ５とが異なるものとして示しているが、第２の決定のプラグインＰ３2および第３の決定のプラグインＰ３3は、共通するプラグインＰ４およびＰ５に処理を分岐させることができる。
【０１４３】
（第２の実施形態）
次に、第２の実施形態について説明する。第２の実施形態は、ＷＦ処理サーバ２０の機能をＭＦＰ１０に組み込んだ例である。図１４は、第２の実施形態に係るＭＦＰの一例の構成を示す。なお、図１４において、上述した図４と共通する部分には同一の符号を付して、詳細な説明を省略する。
【０１４４】
図１４において、第２の実施形態に係るＭＦＰ１０’は、図４に示したＷＦ処理サーバ２０が含むワークフロー制御部２００と、プラグイン管理部２３０と、ジョブ制御部２４０と、ジョブキュー２４３と、通信部２５０’とを含む。通信部２５０’は、ＭＦＰ１０’と外部の機器との間の通信を制御する。これらワークフロー制御部２００、プラグイン管理部２３０、ジョブ制御部２４０および通信部２５０’は、ＣＰＵ１０００で動作する情報処理プログラムにより実現される。これに限らず、ワークフロー制御部２００、プラグイン管理部２３０、ジョブ制御部２４０および通信部２５０’を、互いに協働して動作するハードウェア回路により実現してもよい。ジョブキュー２４３は、ストレージ１０２０またはＲＡＭ１００２の所定の記憶領域を用いて構成される。
【０１４５】
また、第２の実施形態に係るＭＦＰ１０’は、それぞれ図４のＵＩ部１００および読取部１０２に対応するＵＩ部１００’および読取部１０２’を含む。ＵＩ部１００’は、操作パネル１０４０の表示部に表示させるための表示画面を生成する。また、ＵＩ部１００’は、操作パネル１０４０に対するユーザ操作を受け付け、ユーザ操作に応じてＭＦＰ１０’の各部に指示を出し、ＭＦＰ１０’の動作を制御する。
【０１４６】
このような構成において、ＵＩ部１００’は、ワークフロー管理部２１０からワークフロー２１１1、２１１2、…のリストを取得し、取得したリストを、操作パネル１０４０に表示させる。ＵＩ部１００’は、操作パネル１０４０に対するユーザ操作に応じて、リストに含まれるワークフロー２１１1、２１１2、…から１つを選択する。ＵＩ部１００’は、選択したワークフローを示す情報（例えば識別情報）を、ジョブ生成部２４１に渡す。
【０１４７】
読取部１０２’は、ＵＩ部１００’の指示に従い、スキャナユニット１０３１を制御して、ＵＩ部１００’から入力された各種設定値に従い、原稿台にセットされた原稿の画像をスキャンして読み取る。読取部１０２’は、原稿を読み取った画像データをファイルに格納し、電子文書としてジョブ生成部２４１に渡す。また、ＵＩ部１００’は、例えば読取部１０２’から電子文書のファイルサイズを取得し、このファイルサイズを含む書誌情報を作成する。ＵＩ部１００’は、作成した書誌情報と、スキャンに関して入力された各種設定値とを、ジョブ生成部２４１に渡す。
【０１４８】
ジョブ生成部２４１は、読取部１０２’から渡された電子文書と、ＵＩ部１００’から渡された書誌情報および各種設定値とを纏めてジョブデータとしてジョブキュー２４３に記憶する。
【０１４９】
以降の処理は、上述した第１の実施形態に係るＷＦ処理サーバ２０における処理と同様なので、ここでの詳細な説明を省略する。
【０１５０】
なお、ＵＩ部１００’は、図５を用いて説明したワークフロー設定画面５００を操作パネル１０４０に対して表示させて、ワークフローの作成および編集を行うようにできる。
【０１５１】
第２の実施形態に係るＭＦＰ１０’の各機能を実現するための情報処理プログラムは、インストール可能な形式また実行可能な形式のファイルでＣＤ(Compact  Disk)、フレキシブルディスク（ＦＤ）、ＤＶＤ(Digital  Versatile  Disk)などのコンピュータで読み取り可能な記録媒体に記録して提供される。これに限らず、情報処理プログラムを、インターネットなどのネットワークに接続されたコンピュータ上に格納し、当該ネットワークを介してダウンロードさせることにより提供してもよい。また、情報処理プログラムをインターネットなどのネットワークを経由して提供または配布するように構成してもよい。
【０１５２】
情報処理プログラムは、上述した各部（ワークフロー制御部２００、プラグイン管理部２３０、ジョブ制御部２４０および通信部２５０’）を含むモジュール構成となっている。実際のハードウェアとしては、ＣＰＵ１０００がストレージ１０２０などの記憶媒体から当該情報処理プログラムを読み出して実行することにより、上述した各部がＲＡＭ１００２などの主記憶装置上にロードされ、ワークフロー制御部２００、プラグイン管理部２３０、ジョブ制御部２４０および通信部２５０’が主記憶装置上に生成されるようになっている。
【０１５３】
なお、上述の実施形態は、本発明の好適な実施の例ではあるがこれに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変形による実施が可能である。
【符号の説明】
【０１５４】
１  情報処理システム
１０  ＭＦＰ
２０  ＷＦ処理サーバ
４０  ネットワーク
１００，１００’  ＵＩ部
１０２，１０２’  読取部
２００  ワークフロー制御部
２１０  ワークフロー管理部
２１１1，２１１2，…，２１１ａ，２１１ｂ  ワークフロー
２２０  ワークフロー実行部
２２１  ファイルサイズ更新部
２３０  プラグイン管理部
２３０1，２３０2，…，Ｐ１，Ｐ２，Ｐ２1，Ｐ２2，Ｐ３，Ｐ３1，Ｐ３2，Ｐ３3，Ｐ４，Ｐ５  プラグイン
２４０  ジョブ制御部
２４１  ジョブ生成部
２４２  ジョブ実行部
２４３  ジョブキュー
５００  ワークフロー設定画面
５０１，５０２  設定領域
６００，６０１  属性
７００，７１０，７１１，７１２  フォルダ
７０１  ファイル群
１０２０，２００４  ストレージ
１０３１  スキャナユニット
１０４０  操作パネル
２０１０  ディスプレイ
【先行技術文献】
【特許文献】
【０１５５】
【特許文献１】特許第５８４５６６７号公報
【図１】
2018041415.tif 000003
【図２】
2018041415.tif 000004
【図３】
2018041415.tif 000005
【図４】
2018041415.tif 000006
【図５】
2018041415.tif 000007
【図６】
2018041415.tif 000008
【図７】
2018041415.tif 000009
【図８】
2018041415.tif 000010
【図９】
2018041415.tif 000011
【図１０】
2018041415.tif 000012
【図１１】
2018041415.tif 000013
【図１２】
2018041415.tif 000014
【図１３】
2018041415.tif 000015
【図１４】
2018041415.tif 000016