(57)【要約】【課題】他のアプリケーションにより管理されている文書データに対してワークフローを施す場合に、適切なワークフローを簡易に選択させる。【解決手段】プロセッサを備える情報処理装置であって、プロセッサは、１以上の処理を含むワークフローを実行するワークフロー実行部として機能し、ワークフロー実行部は、アプリケーション部から出力された呼出指示に応じてオペレーティングシステム部がワークフロー実行部を呼び出した場合、実行可能な少なくとも１つのワークフローを示すリストを表示させる表示制御部と、リストに示された少なくとも１つのワークフローのうち何れか１つのワークフローの選択を受け付ける選択受付部と、呼出指示により処理対象として指定された文書データを取得するアプリケーション受付部と、取得した文書データに対して、選択されたワークフローを施すフロー制御部と、を有する。【選択図】図７
2018046342.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサを備える情報処理装置であって、
前記プロセッサは、１以上の処理を含むワークフローを実行するワークフロー実行部として機能し、
前記ワークフロー実行部は、
アプリケーション部から出力された呼出指示に応じてオペレーティングシステム部が前記ワークフロー実行部を呼び出した場合、実行可能な少なくとも１つの前記ワークフローを示すリストを表示させる表示制御部と、
前記リストに示された少なくとも１つの前記ワークフローのうち何れか１つの前記ワークフローの選択を受け付ける選択受付部と、
前記呼出指示により処理対象として指定された文書データを取得するアプリケーション受付部と、
取得した前記文書データに対して、選択された前記ワークフローを施すフロー制御部と、
を有する情報処理装置。
【請求項２】
過去に選択された前記ワークフローを示す選択履歴を管理する履歴管理部としてさらに機能し、
前記表示制御部は、前記選択履歴に応じた順序で並べられた前記ワークフローを示す前記リストを表示させる
請求項１に記載の情報処理装置。
【請求項３】
前記履歴管理部は、前記呼出指示を出力した前記アプリケーション部のそれぞれ毎に前記選択履歴を管理し、
前記表示制御部は、前記呼出指示の出力元の前記アプリケーション部に対応する前記選択履歴に示された前記ワークフローを上位部分に含む前記リストを表示させる
請求項２に記載の情報処理装置。
【請求項４】
前記履歴管理部は、前記呼出指示により指定された前記文書データの種類のそれぞれ毎に前記選択履歴を管理し、
前記表示制御部は、前記呼出指示により指定された前記文書データの種類に対応する前記選択履歴に示された前記ワークフローを上位部分に含む前記リストを表示させる
請求項２に記載の情報処理装置。
【請求項５】
前記履歴管理部は、前記選択履歴に示された前記ワークフローを、最近に選択された前記ワークフローほど上位となるように並べ替え、
前記表示制御部は、前記選択履歴に示された順に並べられた前記ワークフローを、上位部分に含む前記リストを表示させる
請求項３または４に記載の情報処理装置。
【請求項６】
前記表示制御部は、アプリケーション受付処理を含む前記ワークフローを、前記リストに含め、
前記ワークフロー実行部は、前記アプリケーション受付処理において、前記呼出指示により指定された前記文書データを取得するアプリケーション受付部をさらに有する
請求項１から５の何れか１項に記載の情報処理装置。
【請求項７】
前記表示制御部は、アプリケーション呼出処理を含む前記ワークフローを、前記リストに含め、
前記ワークフロー実行部は、前記アプリケーション呼出処理において、選択された前記ワークフローにより処理された前記文書データを指定するとともに、前記呼出指示の出力元の前記アプリケーション部を呼び出し先として指定した明示的な前記呼出指示を生成し、生成した明示的な前記呼出指示を前記オペレーティングシステム部に出力するアプリケーション呼出部をさらに有し、
前記オペレーティングシステム部は、前記ワークフロー実行部から明示的な前記呼出指示を受けた場合、指定された前記アプリケーション部を呼び出して、呼び出した前記アプリケーション部に前記ワークフローにより処理がされた前記文書データを与える
請求項１から５の何れか１項に記載の情報処理装置。
【請求項８】
前記表示制御部は、前記呼出指示により処理対象として指定された前記文書データに特定の種類の特定情報が含まれている場合、前記特定情報に対応付けられた前記ワークフローを、上位部分に含む前記リストを表示する
請求項１に記載の情報処理装置。
【請求項９】
前記特定情報は、メールアドレスである
請求項８に記載の情報処理装置。
【請求項１０】
前記フロー制御部は、選択された前記ワークフローを定義するワークフロー情報に従って、順次に処理を特定し、
前記ワークフロー実行部は、
前記フロー制御部から、実行すべき処理が指定されるとともに、処理対象である前記文書データが与えられ、指定された処理に対応するプラグインプログラムを実行することにより、与えられた前記文書データに対して指定した処理を施し、指定された処理の実行を終えると、処理を施した後の前記文書データを前記フロー制御部に戻すプラグイン実行部
をさらに有する
請求項１から９の何れか１項に記載の情報処理装置。
【請求項１１】
前記ワークフロー実行部は、前記ワークフローの実行に先だって、前記ワークフロー情報を生成するワークフロー情報生成部をさらに有する
請求項１０に記載の情報処理装置。
【請求項１２】
プロセッサを備える情報処理装置であって、
前記プロセッサは、
ワークフロープログラムを実行することにより、１以上の処理を含むワークフローを実行するワークフロー実行部と、
アプリケーションプログラムを実行することにより、文書データを取り扱う処理を実行する少なくとも１つのアプリケーション部と、
オペレーティングシステムプログラムを実行することにより、前記ワークフロー実行部および少なくとも１つの前記アプリケーション部を管理するオペレーティングシステム部と、
して機能し、
何れか１つの前記アプリケーション部は、前記文書データを処理対象として指定した呼出指示を前記オペレーティングシステム部に与え、
前記オペレーティングシステム部は、前記呼出指示を受け取った場合、前記ワークフロー実行部を呼び出し、
前記ワークフロー実行部は、
前記アプリケーション部から出力された前記呼出指示に応じて前記オペレーティングシステム部が前記ワークフロー実行部を呼び出した場合、実行可能な少なくとも１つの前記ワークフローを示すリストを表示させる表示制御部と、
前記リストに示された少なくとも１つの前記ワークフローのうち何れか１つの前記ワークフローの選択を受け付ける選択受付部と、
前記呼出指示により処理対象として指定された前記文書データを取得するアプリケーション受付部と、
取得した前記文書データに対して、選択された前記ワークフローを施すフロー制御部と、
を有する情報処理装置。
【請求項１３】
何れか１つの前記アプリケーション部は、呼び出すべき前記アプリケーション部を指定しない暗黙的な前記呼出指示を前記オペレーティングシステム部に与え、
前記オペレーティングシステム部は、暗黙的な前記呼出指示を受けた場合、前記文書データを取得可能な前記アプリケーション部の一覧を表示し、表示した前記アプリケーション部のうち１つの前記アプリケーション部をユーザに指定させ、ユーザにより指定された前記アプリケーション部を呼び出す
請求項１２に記載の情報処理装置。
【請求項１４】
コンピュータを、請求項１から１３の何れか１項に記載の情報処理装置における前記ワークフロー実行部として機能させるためのプログラム。
【請求項１５】
プロセッサを備える情報処理装置において実行される情報処理方法であって、
前記プロセッサは、１以上の処理を含むワークフローを実行するワークフロー実行部として機能し、
前記ワークフロー実行部が、アプリケーション部から出力された呼出指示に応じてオペレーティングシステム部が前記ワークフロー実行部を呼び出した場合、実行可能な少なくとも１つの前記ワークフローを示すリストを表示させる
前記ワークフロー実行部が、前記リストに示された少なくとも１つの前記ワークフローのうち何れか１つの前記ワークフローの選択を受け付け、
前記ワークフロー実行部が、前記呼出指示により処理対象として指定された文書データを取得し、
前記ワークフロー実行部が、取得した前記文書データに対して、選択された前記ワークフローを施す
情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、プログラムおよび情報処理方法に関する。
【背景技術】
【０００２】
プリンタ、スキャナおよびファクシミリ等の機能を有する複合機が知られている。複合機は、スキャナにより取り込んだ文書データに対して、１以上の処理を含むワークフローを施す機能を有する。複合機は、ワークフローを実行することにより、取り込んだ文書データに対してノイズ除去等の所定の処理を施し、その後、指定されたファイルサーバ装置等に文書データを自動で送信することができる。
【０００３】
また、携帯型の情報処理装置は、例えばＡｎｄｒｏｉｄ（登録商標）等の汎用のオペレーティングシステムが起動している。また、汎用のオペレーティングシステム上では、数多くのアプリケーションが動作可能である。例えば、情報処理装置は、複合機がスキャンして取り込んだ文書データを複合機から受信し、受信した文書データに対してワークフローを施す専用のアプリケーションを実行することもできる。これにより、情報処理装置は、複合機に代わってワークフローを実行するので、複合機の処理負担を軽減させることができる。
【０００４】
また、このようなワークフローを実行する専用のアプリケーションは、複合機がスキャンして取り込んだ文書データに限らず、他の汎用のアプリケーションが管理する文書データに対してワークフローを施すこともできる。これにより、情報処理装置は、汎用のアプリケーションが管理する文書データに対して、複合機が実行する処理と同様の処理、例えば、ノイズ除去処理およびファイルサーバ装置等への自動送信処理等を施すことができる。
【０００５】
特許文献１には、スキャンして生成した画像データをインテントにより、自身のアプリケーションに送信する場合に、予め設定された前処理を実行する情報処理装置が記載されている。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、情報処理装置において、あるアプリケーションから他のアプリケーションへとデータを受け渡す場合、それぞれのアプリケーションがデータの受け渡しのためのＡＰＩ（Application  Programming  Interface）を提供しなければならない。このため、ワークフローを実行する専用のアプリケーションは、他のアプリケーションから文書データを取得するためには、それぞれのアプリケーションにより提供されるＡＰＩを考慮した設計がされていなければならなかった。従って、ワークフローを実行する専用のアプリケーションは、他のアプリケーションから文書データを取得するためには、対応する追加のＡＰＩの実装が必要となってしまっていた。
【０００７】
本発明は、上記に鑑みてなされたものであって、他のアプリケーションにより管理されている文書データに対してワークフローを施す場合に、適切なワークフローを簡易に選択させることができる情報処理装置、プログラムおよび情報処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決し、目的を達成するために、本発明は、プロセッサを備える情報処理装置であって、前記プロセッサは、１以上の処理を含むワークフローを実行するワークフロー実行部として機能し、前記ワークフロー実行部は、アプリケーション部から出力された呼出指示に応じてオペレーティングシステム部が前記ワークフロー実行部を呼び出した場合、実行可能な少なくとも１つの前記ワークフローを示すリストを表示させる表示制御部と、前記リストに示された少なくとも１つの前記ワークフローのうち何れか１つの前記ワークフローの選択を受け付ける選択受付部と、前記呼出指示により処理対象として指定された文書データを取得するアプリケーション受付部と、取得した前記文書データに対して、選択された前記ワークフローを施すフロー制御部と、を有する。
【発明の効果】
【０００９】
本発明によれば、他のアプリケーションにより管理されている文書データに対してワークフローを施す場合に、適切なワークフローを簡易に選択させることができるという効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】図１は、第１実施形態に係る文書処理システムの構成を示す図である。
【図２】図２は、画像形成装置および情報処理装置のハードウェア構成を示す図である。
【図３】図３は、情報処理装置の機能構成を画像形成装置とともに示す図である。
【図４】図４は、アプリケーション呼出処理について説明するための図である。
【図５】図５は、ワークフロー実行部により実行されるワークフローの第１例を示す図である。
【図６】図６は、ワークフロー実行部により実行されるワークフローの第２例を示す図である。
【図７】図７は、第１実施形態に係るワークフロー実行部の機能構成を示す図である。
【図８】図８は、選択履歴の第１例を示す図である。
【図９】図９は、選択履歴の第２例を示す図である。
【図１０】図１０は、選択履歴の第３例を示す図である。
【図１１】図１１は、第１実施形態に係る文書処理システムの処理の流れを示すシーケンス図である。
【図１２】図１２は、ワークフロー実行部の処理の流れを示すシーケンス図である。
【図１３】図１３は、第２実施形態に係るワークフロー実行部の機能構成を示す図である。
【図１４】図１４は、ワークフロー生成画面を表示している情報処理装置を示す図である。
【図１５】図１５は、第３実施形態に係るワークフロー実行部の機能構成を示す図である。
【図１６】図１６は、第３実施形態に係るワークフロー実行部により実行されるワークフローの例を示す図である。
【図１７】図１７は、第４実施形態に係るワークフロー実行部により実行されるワークフローの例を示す図である。
【図１８】図１８は、第４実施形態に係るワークフロー実行部の機能構成を示す図である。
【図１９】図１９は、第４実施形態に係る文書処理システムの処理の流れを示すシーケンス図である。
【発明を実施するための形態】
【００１１】
以下に、本発明に係る実施形態を図面に基づいて詳細に説明する。なお、この実施形態によりこの発明が限定されるものではない。
【００１２】
（第１実施形態）
図１は、第１実施形態に係る文書処理システム１０の構成を示す図である。文書処理システム１０は、画像形成装置２０と、情報処理装置３０と、情報提供サーバ装置３２と、ファイルサーバ装置３４と、メールサーバ装置３６とを備える。
【００１３】
画像形成装置２０は、用紙の表面をスキャンして、用紙の表面の画像を表す文書データを出力する。画像形成装置２０は、例えば、プリンタ、スキャナおよびファクシミリ等の機能を有する複合機である。
【００１４】
なお、画像形成装置２０は、文書データを出力する機器の一例である。文書処理システム１０は、画像形成装置２０に代えて、画像形成装置２０以外の文書データを出力する機器を備えてもよい。例えば、文書処理システム１０は、電子式カメラ装置またはファクシミリ装置等を、文書データを出力する機器として備えてもよい。また、文書データは、テキストデータまたは動画像データ等を含んでもよい。
【００１５】
情報処理装置３０は、コンピュータである。情報処理装置３０は、例えば、ユーザにより持ち運びが可能な携帯型のコンピュータである。情報処理装置３０は、例えば、スマートフォン、タブレット装置、携帯電話機器またはノート型コンピュータ等であってよい。情報処理装置３０は、据え置き型のコンピュータであってもよい。
【００１６】
情報処理装置３０は、画像形成装置２０と通信経路を介して情報を送受信することが可能である。通信経路は、例えば、電波式無線通信経路であってもよいし、赤外線による無線通信経路であってもよい。また、通信経路は、ケーブル等を用いた有線通信経路であってもよい。また、通信経路は、情報処理装置３０と画像形成装置２０とを一対一で接続する経路であってもよいし、バス等またはネットワークを介して接続する経路であってもよいし、インターネット等の公衆回線を介して接続する経路であってもよい。
【００１７】
また、情報処理装置３０は、インターネット等のネットワークを介して情報提供サーバ装置３２、ファイルサーバ装置３４およびメールサーバ装置３６にアクセス可能である。
【００１８】
情報提供サーバ装置３２は、ネットワークを介して情報処理装置３０に情報を提供する。例えば、情報提供サーバ装置３２は、情報処理装置３０が実行するプログラムを提供する。この場合、情報処理装置３０は、情報提供サーバ装置３２からプログラムをダウンロードして実行する。
【００１９】
ファイルサーバ装置３４は、ネットワークを介して情報処理装置３０から送信された文書データを記憶する。情報処理装置３０は、文書データをネットワークを介してファイルサーバ装置３４に送信して記憶させる。
【００２０】
メールサーバ装置３６は、ネットワークを介して情報処理装置３０からメール形式で送信された文書データを記憶する。情報処理装置３０は、文書データをネットワークを介してメールサーバ装置３６に送信して記憶させる。
【００２１】
図２は、画像形成装置２０および情報処理装置３０のハードウェア構成を示す図である。情報処理装置３０は、ＣＰＵ（Central  Processing  Unit）等のプロセッサ２０１と、ＲＡＭ（Random  Access  Memory）およびＲＯＭ（Read  Only  Memory）等のメモリ２０２と、ＨＤＤ（Hard  Disk  Drive）等の記憶装置２０３と、ディスプレイ等の表示部２０４と、ディスプレイ上に形成されたタッチセンサ等の入力部２０５と、通信部２０６と、ネットワークＩ／Ｆ２０７とを備える。プロセッサ２０１、メモリ２０２、記憶装置２０３、表示部２０４、入力部２０５、通信部２０６およびネットワークＩ／Ｆ２０７は、バスにより接続されている。
【００２２】
プロセッサ２０１は、記憶装置２０３に記憶されたプログラムをメモリ２０２に展開して実行し、各部を制御して入出力を行ったり、データの加工を行ったりする。メモリ２０２は、プロセッサ２０１の作業領域としてデータを記憶する。
【００２３】
記憶装置２０３は、オペレーティングシステム（ＯＳ）、アプリケーションプログラム、ワークフロープログラムおよびデータを記憶している。これらのプログラムは、インストール可能な形式または実行可能な形式のファイルで、コンピュータで読み取り可能な記録メディアに記録して配布される。また、プログラムは、情報提供サーバ装置３２等からダウンロードすることにより配布されてもよい。
【００２４】
通信部２０６は、画像形成装置２０と通信経路を介して情報を送受信する。ネットワークＩ／Ｆ２０７は、ネットワークに接続するためのインターフェイス装置である。ネットワークＩ／Ｆ２０７は、ネットワークを介して、情報提供サーバ装置３２、ファイルサーバ装置３４およびメールサーバ装置３６等の他の装置と情報を送受信する。
【００２５】
画像形成装置２０は、ＣＰＵ等のプロセッサ２１１と、ＲＡＭおよびＲＯＭ等のメモリ２１２と、ＨＤＤ等の記憶装置２１３と、プリンタ２１４と、スキャナ２１５と、通信部２１６とを備える。プリンタ２１４は、データに応じた文字および画像等を用紙等に印刷する。スキャナ２１５は、用紙等に印刷された文字および画像等を読み取ってデータに変換する。なお、画像形成装置２０は、プリンタ２１４またはスキャナ２１５の一方のみを備える構成であってもよい。通信部２１６は、情報処理装置３０と通信経路を介して情報を送受信する。
【００２６】
図３は、情報処理装置３０の機能構成を画像形成装置２０とともに示す図である。情報処理装置３０は、操作部４２と、ワークフロー実行部４４と、少なくとも１つのアプリケーション部４６（４６−１〜４６−Ｎ）（Ｎは任意の自然数）と、ＯＳ部４８（オペレーティングシステム部）とを有する。
【００２７】
操作部４２は、記憶装置２０３にインストールされた専用の操作用アプリケーションプログラムを、プロセッサ２０１が実行することにより機能する。これに代えて、操作部４２は、情報提供サーバ装置３２からダウンロードしたスクリプトプログラムを、プロセッサ２０１がブラウザプログラム上で実行することにより機能してもよい。
【００２８】
操作部４２は、画像形成装置２０を操作するためのユーザインターフェイスをユーザに提供する。操作部４２は、ユーザインターフェイスに対する操作に応じた操作指示を通信経路を介して画像形成装置２０に与える。画像形成装置２０は、操作部４２から与えられた操作指示に応じて、各種の動作を実行する。このような操作部４２は、画像形成装置２０の操作パネルとして機能することができる。これにより、操作部４２は、スキャンの開始ボタンおよびスキャンをするための各種の設定値の入力ボタン等をユーザに提供することができる。
【００２９】
ワークフロー実行部４４は、記憶装置２０３にインストールされたワークフロープログラムを、プロセッサ２０１が実行することにより機能する。ワークフロー実行部４４は、画像形成装置２０によりスキャンして生成された文書データを通信経路を介して取得する。ワークフロー実行部４４は、画像形成装置２０から取得した文書データに対して、１以上の処理を含むワークフローを施す。
【００３０】
ワークフロー実行部４４は、ワークフローを定義するワークフロー情報を記憶する。ワークフロー実行部４４は、ユーザにより選択されたワークフローを定義するワークフロー情報を読み出し、読み出したワークフロー情報に従って順次に処理を実行する。これにより、ワークフロー実行部４４は、ユーザにより選択されたワークフローを実行することができる。
【００３１】
また、ワークフロー実行部４４は、ワークフローにサーバ配信処理が含まれる場合、処理対象の文書データを、例えば、ファイルサーバ装置３４またはメールサーバ装置３６等にネットワークを介して送信する。
【００３２】
また、ワークフロー実行部４４は、何れかのアプリケーション部４６からの呼出指示に応じて、ＯＳ部４８から呼び出される場合がある。この場合、ワークフロー実行部４４は、実行可能な少なくとも１つのワークフローを示すリストを表示させて、リストに示されたワークフローのうちの何れかのワークフローの選択を受け付ける。ワークフロー実行部４４は、選択されたワークフローにアプリケーション受付処理が含まれる場合、呼出指示により指定された文書データを取得する。そして、ワークフロー実行部４４は、取得した文書データに対して、選択されたワークフローを施す。
【００３３】
アプリケーション部４６は、記憶装置２０３にインストールされたアプリケーションプログラムをプロセッサ２０１が実行することにより機能する。アプリケーション部４６は、文書データを取り扱う処理を実行する。アプリケーション部４６は、文書データを管理する機能を有してもよいし、文書データを生成する機能を有してもよいし、文書データを編集する機能を有してもよいし、文書データをネットワーク上のサーバに送信する機能を有してもよい。アプリケーションプログラムは、例えば、ビジネス用プログラムであっても、ゲーム用プログラムであっても、無料であっても、有料であってもよい。
【００３４】
なお、ワークフロー実行部４４は、アプリケーション部４６の一例である。また、ワークフロープログラムは、アプリケーションプログラムの一例である。
【００３５】
ＯＳ部４８は、記憶装置２０３にインストールされたオペレーティングシステムプログラムをプロセッサ２０１が実行することにより機能する。オペレーティングシステムプログラムは、コンピュータを動作させるための基本プログラムである。ＯＳ部４８は、操作部４２、ワークフロー実行部４４および少なくとも１つのアプリケーション部４６を管理する。すなわち、操作部４２、ワークフロー実行部４４および少なくとも１つのアプリケーション部４６は、ＯＳ部４８の管理下で機能する。ＯＳ部４８は、一例として、Ａｎｄｒｏｉｄ（登録商標）を実行することにより機能する。
【００３６】
図４は、アプリケーション呼出処理について説明するための図である。それぞれのアプリケーション部４６は、アプリケーション呼出処理を実行することができる。
【００３７】
ＯＳ部４８は、呼出マネージャ５２を含む。呼出マネージャ５２は、それぞれのアプリケーション部４６に対して、他のアプリケーション部４６を呼び出す機能（アプリケーション呼出機能）を提供する。ここでは、第１のアプリケーション部４６−１が、第ｍ（ｍは２以上の整数）のワークフロー実行部４４−ｍを呼び出す例を説明する。なお、ワークフロー実行部４４は、第ｍのアプリケーション部４６−ｍの一例である。
【００３８】
第１のアプリケーション部４６−１は、アプリケーション呼出処理の実行において、ＯＳ部４８の呼出マネージャ５２に呼出指示を与える。第１のアプリケーション部４６−１は、呼出指示に、処理対象の文書データを指定することができる。呼出指示には、処理対象の文書データの実体が含まれていてもよいし、処理対象の文書データが格納されたアドレスが記述されていてもよい。
【００３９】
呼出マネージャ５２は、呼出指示を受け取った場合、対応するワークフロー実行部４４を呼び出して起動させる。そして、呼出マネージャ５２は、呼出指示に含まれる文書データを与える。呼び出されたワークフロー実行部４４は、呼出マネージャ５２から文書データを受け取る。
【００４０】
このように、アプリケーション呼出処理において、第１のアプリケーション部４６−１は、ＯＳ部４８の管理の下で機能する第ｍのアプリケーション部４６−ｍ（ワークフロー実行部４４）を呼び出して起動させ、処理対象の文書データを与えることができる。これにより、呼び出された第ｍのアプリケーション部４６−ｍ（ワークフロー実行部４４）は、第１のアプリケーション部４６−１から処理対象の文書データを取得することができる。例えば、Ａｎｄｒｏｉｄ（登録商標）では、このような機能をインテントと呼ぶ。
【００４１】
なお、第１のアプリケーション部４６−１は、呼び出すべき第ｍのアプリケーション部４６−ｍを指定する呼出指示をＯＳ部４８に与えてもよいし、呼び出すべき第ｍのアプリケーション部４６−ｍを指定しない呼出指示をＯＳ部４８に与えてもよい。ここでは、呼び出すべき第ｍのアプリケーション部４６−ｍ（例えばワークフロー実行部４４）を第１のアプリケーション部４６−１が指定する呼出指示を、明示的な呼出指示と呼ぶ。例えば、Ａｎｄｒｏｉｄ（登録商標）では、このような呼出指示を、明示的インテントと呼ぶ。また、呼び出すべき第ｍのアプリケーション部４６−ｍ（例えばワークフロー実行部４４）を第１のアプリケーション部４６−１が指定しない呼出指示を、暗黙的な呼出指示と呼ぶ。例えば、Ａｎｄｒｏｉｄ（登録商標）では、このような呼出指示を、暗黙的インテントと呼ぶ。
【００４２】
なお、第１実施形態においては、第１のアプリケーション部４６−１は、暗黙的な呼出指示をＯＳ部４８に与える。
【００４３】
また、ワークフロー実行部４４およびそれぞれのアプリケーション部４６は、他のアプリケーション部４６から受け取り可能な呼出指示が管理者等により予め設定されている。例えば、Ａｎｄｒｏｉｄ（登録商標）では、マニュフェストファイルにインテントフィルタとして登録されている。
【００４４】
例えば、ワークフロー実行部４４は、表１に示されるように、どういった動作が指定された場合に呼び出しを受け付けるかが設定されている。
【表１】
2018046342.tif 000003
【００４５】
また、例えば、ワークフロー実行部４４は、表２に示されるように、どういった種類の文書データを受け取ることが可能であるかが設定されている。
【表２】
2018046342.tif 000004
【００４６】
呼出マネージャ５２は、何れかのアプリケーション部４６から呼出指示を受けた場合、このような情報を参照して、呼出指示により指定された動作および文書データを受け取り可能な他のアプリケーション部４６（ワークフロー実行部４４を含む）を呼び出す。
【００４７】
図５は、ワークフロー実行部４４により実行されるワークフローの第１例を示す図である。ワークフロー実行部４４は、画像形成装置２０がスキャンして生成した文書データを取得し、取得した文書データに対して操作者が指定したワークフローを施す。ワークフローにより実行される処理の内容は、ワークフロー情報により定義される。
【００４８】
ワークフロー実行部４４には、管理者により生成された複数のワークフロー情報が登録されている。ワークフロー情報は、コンピュータにより解釈が可能なデータ形式で記述される。ワークフロー情報は、例えば、ＸＭＬ（Extensible  Markup  Language）により記述される。ワークフロー実行部４４は、ワークフロー情報に記述された内容を解釈してワークフローを実行する。
【００４９】
ワークフロー情報は、ワークフロー実行部４４が実行するワークフロー（少なくとも１つの処理およびそれらの処理の実行順序）を定義する。図５に示すワークフローは、ノイズ除去処理→文字認識処理→フォーマット変換処理→サーバ配信処理の順で処理をすることを示している。
【００５０】
例えば、ノイズ除去処理において、ワークフロー実行部４４は、画像のノイズ除去等をする。文字認識処理において、ワークフロー実行部４４は、画像に含まれる文字を認識して、テキストデータを生成する。フォーマット変換処理において、ワークフロー実行部４４は、文書データを指定されたファイルフォーマット（例えばＰＤＦ（Portable  Document  Format）等）に変換する。サーバ配信処理において、ワークフロー実行部４４は、文書データを指定されたサーバ（例えばファイルサーバ装置３４またはメールサーバ装置３６）に送信する。
【００５１】
図６は、ワークフロー実行部４４により実行されるワークフローの第２例を示す図である。ワークフロー実行部４４が、画像形成装置２０により生成された文書データにワークフローを施すのではなく、アプリケーション部４６により管理されていた文書データに対してワークフローを施す場合もある。この場合、ワークフロー実行部４４は、アプリケーション部４６からの呼出指示に応じたＯＳ部４８からの呼び出しに応じて起動をして、ワークフローを実行する。
【００５２】
アプリケーション部４６により管理されていた文書データに対して処理を施す場合、ワークフロー実行部４４は、図６に示すような、アプリケーション受付処理を含むワークフローを実行する。図６に示すワークフローは、アプリケーション受付処理→文字認識処理→フォーマット変換処理→サーバ配信処理の順で処理をすることを示している。
【００５３】
アプリケーション受付処理において、ワークフロー実行部４４は、ＯＳ部４８の管理の下で機能する他のアプリケーション部４６により管理されている文書データを取得する。例えば、アプリケーション受付処理において、ワークフロー実行部４４は、呼出指示により指定されたメモリ領域から文書データを読み出す。
【００５４】
アプリケーション受付処理において、ワークフロー実行部４４は、例えば、アプリケーション部４６の一例であるＤｒｏｐｂｏｘ（登録商標）アプリケーションからの呼出指示に応じて、Ｄｒｏｐｂｏｘ（登録商標）により管理される特定のフォルダに文書データをダウンロードしてもよい。また、アプリケーション受付処理において、ワークフロー実行部４４は、例えば、アプリケーション部４６の一例であるＬＩＮＥ（登録商標）アプリケーションからの呼出指示に応じて、ＬＩＮＥ（登録商標）により管理される文書データを取得してもよい。
【００５５】
図７は、第１実施形態に係るワークフロー実行部４４の機能構成を示す図である。ワークフロー実行部４４は、文書取得部６１と、アプリケーション受付部６２と、ワークフロー情報記憶部６３と、フロー制御部６４と、プラグイン実行部６５と、配信先情報記憶部６６と、配信部６７と、ワークフローリスト記憶部７１と、履歴記憶部７２と、表示制御部７３と、選択受付部７４と、履歴管理部７５とを有する。
【００５６】
文書取得部６１は、画像形成装置２０からワークフローの実行指示を受けた場合、画像形成装置２０がスキャンして生成した文書データを、画像形成装置２０から取得する。文書取得部６１は、取得した文書データをフロー制御部６４に与える。
【００５７】
アプリケーション受付部６２は、ワークフロー実行部４４がアプリケーション部４６から出力された呼出指示に応じてＯＳ部４８により呼び出された場合、呼出指示により指定された文書データを取得する。アプリケーション受付部６２は、ＯＳ部４８から文書データを取得してもよいし、呼出指示により指定された格納領域から文書データを読み出してもよい。アプリケーション受付部６２は、フロー制御部６４からの実行指示に応じて動作する。アプリケーション受付部６２は、取得した文書データをフロー制御部６４に与える。
【００５８】
ワークフロー情報記憶部６３は、ワークフロー情報を記憶する。例えば、表３に示すように、ワークフロー情報記憶部６３は、ワークフローＩＤに関連付けて、ＸＭＬデータで表されたワークフロー情報を記憶する。ワークフロー情報記憶部６３は、複数のワークフロー情報を記憶してもよい。
【表３】
2018046342.tif 000005
【００５９】
フロー制御部６４は、画像形成装置２０または選択受付部７４から、ワークフローの実行指示および実行すべきワークフローを特定するワークフローＩＤを受け取る。フロー制御部６４は、画像形成装置２０または選択受付部７４から受け取った実行指示に従って、ワークフローＩＤにより特定されるワークフローの実行を制御する。なお、フロー制御部６４は、実行指示およびワークフローＩＤを一旦キューに格納し、実行すべきタイミングにおいて、実行指示およびワークフローＩＤをキューから取得してもよい。
【００６０】
また、フロー制御部６４は、画像形成装置２０からワークフローの実行指示を受けた場合、処理対象の文書データを文書取得部６１から受け取る。また、フロー制御部６４は、ワークフロー実行部４４がアプリケーション部４６から出力された呼出指示に応じてＯＳ部４８により呼び出された場合、処理対象の文書データをアプリケーション受付部６２から受け取る。
【００６１】
フロー制御部６４は、ワークフローを実行する場合、取得したワークフローＩＤに関連付けられたワークフロー情報をワークフロー情報記憶部６３から読み出す。フロー制御部６４は、読み出したワークフロー情報に従って、実行すべきワークフローに含まれるそれぞれの処理および処理順序を特定する。そして、フロー制御部６４は、実行すべきワークフローにおけるそれぞれの処理の実行において、プラグイン実行部６５に対して処理を指定する。さらに、フロー制御部６４は、処理を指定するとともに、処理対象の文書データ、および、その処理を実行するための設定値をプラグイン実行部６５に与える。プラグイン実行部６５が処理を実行した後、フロー制御部６４は、処理が施された後の文書データをプラグイン実行部６５から受け取る。そして、フロー制御部６４は、ワークフローに含まれる１つの処理が終了すると、プラグイン実行部６５に対して次の処理を指定する。これにより、フロー制御部６４は、プラグイン実行部６５に、ワークフローにより特定される１以上の処理を順次に実行させることができる。
【００６２】
なお、フロー制御部６４は、実行すべきワークフローにサーバ配信処理が含まれる場合、サーバ配信処理の実行において、配信部６７に対して実行指示を与える。フロー制御部６４は、配信部６７に対して実行指示を与えるとともに、処理対象の文書データおよび配信処理を実行するために必要な設定値を与える。また、フロー制御部６４は、実行すべきワークフローにアプリケーション受付処理が含まれる場合、アプリケーション受付処理において、アプリケーション受付部６２に対して実行指示を与える。
【００６３】
プラグイン実行部６５は、フロー制御部６４から、実行すべき処理が指定される。これとともに、プラグイン実行部６５は、処理対象の文書データおよび設定値が与えられる。プラグイン実行部６５は、与えられた文書データに対して、指定された処理を設定値に従って施す。より具体的には、プラグイン実行部６５は、異なる複数のプラグインプログラム８１（８１−１〜８１−ｎ）を実行可能である。プラグイン実行部６５は、指定された処理に対応するプラグインプログラム８１を実行することにより、与えられた文書データに対して、指定した処理を施すことができる。プラグイン実行部６５は、指定された処理の実行を終えると、処理を施した後の文書データをフロー制御部６４に戻す。
【００６４】
配信先情報記憶部６６は、文書データの送信先を示す配信先情報を記憶する。配信先情報記憶部６６は、例えば、表４に示すように、フォルダ配信かメール配信かといったタイプ毎に、配信先のサーバのアドレスを記憶する。
【表４】
2018046342.tif 000006
【００６５】
配信部６７は、ワークフローにサーバ配信処理を含む場合、フロー制御部６４から実行指示を受け取る。これとともに、配信部６７は、フロー制御部６４から文書データおよび設定値を受け取る。配信部６７は、受け取った設定値に基づき配信タイプを特定し、特定した配信タイプに対応する配信先情報を配信先情報記憶部６６から読み出す。そして、配信部６７は、サーバ配信処理の実行において、特定した配信タイプに応じたデータ形式の文書データを、配信先情報に示されたアドレスに送信する。なお、配信部６７は、ネットワーク上のプリンタ装置等に文書データを送信してもよい。
【００６６】
ワークフローリスト記憶部７１は、リストを記憶する。リストは、アプリケーション部４６から出力された呼出指示に応じてＯＳ部４８により呼び出された場合に実行可能な少なくとも１つのワークフローを示す。リストは、アプリケーション受付処理を含む少なくとも１つのワークフローを示す。リストは、例えば、予め定められた順序で並べられたワークフローＩＤを含む。例えば、リストは、番号順または生成順で並べられたワークフローＩＤを含む。
【００６７】
履歴記憶部７２は、アプリケーション部４６から出力された呼出指示に応じてＯＳ部４８により呼び出された場合に選択されたワークフローを示す選択履歴を記憶する。履歴記憶部７２は、例えば、呼出指示を出力したアプリケーション部４６のそれぞれ毎に、選択履歴を記憶する。また、履歴記憶部７２は、例えば、呼出指示により指定された文書データの種類のそれぞれ毎に、選択履歴を記憶してもよい。また、それぞれの選択履歴は、最近に選択されたワークフローほど上位となるように並べ替えられていてもよい。
【００６８】
表示制御部７３は、アプリケーション部４６から出力された呼出指示に応じてＯＳ部４８により呼び出された場合、実行可能な少なくとも１つのワークフローを示すリストを表示部２０４に表示させる。
【００６９】
この場合、表示制御部７３は、選択履歴に応じた順序で並べられたワークフローを示すリストを表示させる。例えば、表示制御部７３は、ワークフローリスト記憶部７１に記憶されたリストに示されたワークフローの順序を、履歴記憶部７２に記憶された選択履歴に従って修正して表示する。
【００７０】
また、履歴記憶部７２が呼出指示を出力したアプリケーション部４６のそれぞれ毎に選択履歴を記憶している場合、表示制御部７３は、呼出指示の出力元のアプリケーション部４６に対応する選択履歴に示されたワークフローを上位部分に含むリストを表示させてもよい。例えば、表示制御部７３は、リストの上位部分に、呼出指示の出力元のアプリケーション部４６に対応する選択履歴に示されたワークフローを含めるように、リストを修正して表示する。
【００７１】
また、履歴記憶部７２が呼出指示により指定された文書データの種類のそれぞれ毎に選択履歴を記憶している場合、表示制御部７３は、呼出指示により指定された文書データの種類に対応する選択履歴に示されたワークフローを上位部分に含むリストを表示させてもよい。例えば、表示制御部７３は、リストの上位部分に、呼出指示により指定された文書データの種類に対応する選択履歴に示されたワークフローを含めるように、リストを修正して表示する。
【００７２】
さらに、表示制御部７３は、最近に選択されたワークフローほど上位となるようなリストを表示させてもよい。例えば、履歴記憶部７２が最近に選択されたワークフローほど上位となるように並べ替えた選択履歴を記憶している場合、表示制御部７３は、選択履歴に示された順に並べられたワークフローを、上位部分に含むリストを表示させてもよい。
【００７３】
なお、ここで、上位とは、ユーザがより選択しやすいリスト上における位置を意味する。例えば、上位とは、ワークフローＩＤを画面の上から順に並べて表示する場合には、画面の上の方のことを意味し、また、ワークフローＩＤを複数の画面に分けて表示する場合には、初期に表示される画面を意味する。これにより、表示制御部７３は、選択履歴に示されたワークフローをユーザに選択しやすくさせることができる。
【００７４】
選択受付部７４は、表示制御部７３により表示されたリストに示された少なくとも１つのワークフローのうち、何れか１つのワークフローの選択をユーザから受け付ける。例えば、選択受付部７４は、入力部２０５に対する操作に基づき、ワークフローの選択をユーザから受け付ける。選択受付部７４は、ワークフローの選択を受け付けた場合、選択されたワークフローを特定するためのワークフローＩＤを、履歴管理部７５に与える。さらに、選択受付部７４は、ワークフローの選択を受け付けた場合、ワークフローの実行指示および選択されたワークフローを特定するワークフローＩＤを、フロー制御部６４に与える。
【００７５】
履歴管理部７５は、履歴記憶部７２に記憶されている選択履歴を管理する。具体的には、履歴管理部７５は、選択受付部７４がワークフローの選択を受け付ける毎に、履歴記憶部７２に記憶されている選択履歴を更新する。
【００７６】
図８は、選択履歴の第１例を示す図である。図９は、選択履歴の第２例を示す図である。
【００７７】
例えば、履歴管理部７５は、図８に示すように、呼出指示を出力したアプリケーション部４６のそれぞれ毎に、選択履歴を管理する。例えば、アプリケーション部４６から出力された呼出指示に応じてＯＳ部４８によりワークフロー実行部４４が呼び出された場合に、履歴管理部７５は、呼出指示を出力したアプリケーション部４６を特定する。そして、履歴管理部７５は、特定したアプリケーション部４６に対応する選択履歴に、選択されたワークフローを追加する。
【００７８】
なお、履歴管理部７５は、選択履歴を、最近に選択されたワークフローほど上位となるように並べ替えられていてもよい。例えば、図８に示す状態において、呼出指示を出力したアプリケーション部４６が“Ａ”であり、選択されたワークフローが“＃２”であったとする。この場合、履歴管理部７５は、図９に示すように、“Ａ”の選択履歴に示されたワークフローの順序を、“＃２”が最上位となるように並べ替える。
【００７９】
図１０は、選択履歴の第３例を示す図である。例えば、履歴管理部７５は、図１０に示すように、呼出指示により指定された文書データの種類のそれぞれ毎に、選択履歴を管理してもよい。例えば、アプリケーション部４６から出力された呼出指示に応じてＯＳ部４８によりワークフロー実行部４４が呼び出された場合に、履歴管理部７５は、呼出指示により指定された文書データの種類を特定する。そして、履歴管理部７５は、特定した種類に対応する選択履歴に、選択されたワークフローを追加する。なお、この場合も、履歴管理部７５は、対応する選択履歴を、最近に選択されたワークフローほど上位となるように並べ替えられていてもよい。
【００８０】
図１１は、第１実施形態に係る文書処理システム１０の処理の流れを示すシーケンス図である。文書処理システム１０は、例えば、図１１に示すシーケンスのように処理を実行する。
【００８１】
まず、第１のアプリケーション部４６−１は、文書データに対して何らかの処理を実行する（Ｓ３１１）。続いて、第１のアプリケーション部４６−１は、暗黙的な呼出指示をＯＳ部４８に与える（Ｓ３１２）。この場合、第１のアプリケーション部４６−１は、管理している文書データを処理対象として指定する。なお、暗黙的な呼出指示は、呼び出すべきアプリケーション部４６を指定しない呼出指示である。
【００８２】
続いて、ＯＳ部４８は、暗黙的な呼出指示を受けた場合、文書データを取得可能なアプリケーション部４６の一覧を表示して、表示したアプリケーション部４６のうち１つのアプリケーション部４６をユーザに指定させる（Ｓ３１３）。なお、ワークフロー実行部４４は、アプリケーション部４６の一例である。そして、ＯＳ部４８は、ユーザから、何れかのアプリケーション部４６の指定を受け付ける（Ｓ３１４）。
【００８３】
ここで、ワークフロー実行部４４以外のアプリケーション部４６が指定された場合、ＯＳ部４８は、指定されたアプリケーション部４６（ここでは、第２のアプリケーション部４６−２）を呼び出す（Ｓ３１５）。そして、呼び出された第２のアプリケーション部４６−２は、何らかの処理を実行する（Ｓ３１６）。
【００８４】
一方、ワークフロー実行部４４が指定された場合、ＯＳ部４８は、ワークフロー実行部４４を呼び出す（Ｓ３１７）。そして、呼び出されたワークフロー実行部４４は、処理対処の文書データに対して、ワークフローを施す（Ｓ３１８）。なお、Ｓ３１８でのワークフロー実行部４４の処理内容は、図１２においてさらに説明する。
【００８５】
図１２は、ワークフロー実行部４４の処理の流れを示すシーケンス図である。アプリケーション部４６から出力された呼出指示に応じてＯＳ部４８により、ワークフロー実行部４４が呼び出された場合、ワークフロー実行部４４は、図１２に示すシーケンスのように処理を実行する。
【００８６】
まず、表示制御部７３は、ＯＳ部４８からの呼び出しを受け付ける（Ｓ３２１）。続いて、表示制御部７３は、呼び出しの内容を解析する（Ｓ３２２）。例えば、表示制御部７３は、呼び出し元のアプリケーション部４６の名称（アプリケーション名）を特定する。また、表示制御部７３は、処理対象の文書データの種類を特定してもよい。
【００８７】
続いて、表示制御部７３は、ワークフローリスト記憶部７１から、実行可能な少なくとも１つのワークフローを示すリストを取得する（Ｓ３２３）。続いて、表示制御部７３は、履歴記憶部７２から、対応する選択履歴を取得する（Ｓ３２４）。例えば、表示制御部７３は、履歴記憶部７２がアプリケーション部４６毎に選択履歴を記憶している場合には、呼出元のアプリケーション部４６に対応する選択履歴を取得する。また、例えば、表示制御部７３は、履歴記憶部７２が文書データの種類毎に選択履歴を記憶している場合には、処理対象の文書データの種類に対応する選択履歴を取得する。
【００８８】
続いて、対応する選択履歴が無い場合、表示制御部７３は、ワークフローリスト記憶部７１に記憶されているリストを表示する（Ｓ３２５）。例えば、表示制御部７３は、番号順または生成順で並べられたワークフローＩＤを含むリストを表示する。
【００８９】
一方、対応する選択履歴が有る場合、表示制御部７３は、ワークフローリスト記憶部７１に記憶されたリストに示されたワークフローの順序を、取得した選択履歴に従って修正する（Ｓ３２６）。例えば、表示制御部７３は、リストの上位部分に、呼出指示の出力元のアプリケーション部４６に対応する選択履歴に示されたワークフローを含めるように、リストを修正する。また、例えば、表示制御部７３は、リストの上位部分に、呼出指示により指定された文書データの種類に対応する選択履歴に示されたワークフローを含めるように、リストを修正する。選択履歴が最近に選択されたワークフローほど上位となるように並べ替えられている場合には、表示制御部７３は、リストの上位に示されたワークフローの順序を、選択履歴に示された順に修正してもよい。
【００９０】
そして、表示制御部７３は、修正したリストを表示する（Ｓ３２７）。これにより、表示制御部７３は、選択履歴に応じた順序で並べられたワークフローを示すリストを表示することができる。また、例えば、表示制御部７３は、呼出指示の出力元のアプリケーション部４６に対応する選択履歴に示されたワークフローを上位部分に含むリストを表示することができる。また、表示制御部７３は、呼出指示により指定された文書データの種類に対応する選択履歴に示されたワークフローを上位部分に含むリストを表示することができる。さらに、表示制御部７３は、最近に選択されたワークフローほど上位となるようなリストを表示することができる。
【００９１】
このようなリストを表示することにより、表示制御部７３は、適切なワークフローをユーザにより選択しやすくさせることができる。例えば、表示制御部７３は、過去に同一のアプリケーション部４６から呼び出されていた場合に、その時と同一のワークフローを選択しやすくすることができる。また、例えば、表示制御部７３は、過去に同一の種類の文書データに対してワークフローを施していた場合、その時と同一のワークフローを選択しやすくすることができる。
【００９２】
続いて、選択受付部７４は、表示されたリストに示された何れか１つのワークフローの選択をユーザから受け付ける（Ｓ３２８）。選択受付部７４は、選択されたワークフローを特定するためのワークフローＩＤを、履歴管理部７５に与える（Ｓ３２９）。
【００９３】
続いて、履歴管理部７５は、選択受付部７４からワークフローＩＤを受け取った場合、履歴記憶部７２に記憶されている選択履歴を更新する（Ｓ３３０）。例えば、呼出指示を出力したアプリケーション部４６のそれぞれ毎に選択履歴を管理している場合には、履歴管理部７５は、呼出指示を出力したアプリケーション部４６を特定し、特定したアプリケーション部４６に対応する選択履歴に、選択されたワークフローを追加する。また、例えば、呼出指示により指定された文書データの種類のそれぞれ毎に選択履歴を管理している場合には、履歴管理部７５は、処理対象の文書データの種類を特定し、特定した文書データの種類に対応する選択履歴に、選択されたワークフローを追加する。なお、履歴管理部７５は、対応する選択履歴を、最近に選択されたワークフローほど上位となるように並べ替えてよい。
【００９４】
また、選択受付部７４は、ワークフローの選択をユーザから受け付けた場合、ワークフローの実行指示および選択されたワークフローを特定するためのワークフローＩＤをフロー制御部６４に与える（Ｓ３３１）。
【００９５】
フロー制御部６４は、選択受付部７４からワークフローの実行指示およびワークフローＩＤを受け取った場合、ワークフローＩＤにより特定されるワークフローの実行を開始する（Ｓ３３２）。ワークフローの実行を開始すると、フロー制御部６４は、アプリケーション受付部６２に実行指示を与えて、呼出元のアプリケーション部４６により管理されている処理対象の文書データを取得させる（Ｓ３３３）。そして、フロー制御部６４は、以後、プラグイン実行部６５および配信部６７等に、処理対象の文書データおよび実行指示を順次に与えて、ワークフローに示された処理を順次に実行させる（Ｓ３３４）。
【００９６】
なお、ワークフローの実行中にエラーが発生した場合、フロー制御部６４は、エラーが発生した旨を表示し（Ｓ３３５）、中断処理を実行する（Ｓ３３６）。また、ワークフローにエラーが発生せず正常に全ての処理が終了した場合、フロー制御部６４は、ワークフローが正常に完了したことを示す完了通知をユーザに出力する（Ｓ３３７）。
【００９７】
以上のように、本実施形態に係るワークフロー実行部４４は、特別なＡＰＩ等をワークフロー実行部４４に組み込むことなく、他のアプリケーション部４６が取り扱う文書データに対してワークフローを施すことができる。これにより、本実施形態に係る文書処理システム１０によれば、ワークフロー実行部４４の開発負担を軽減させることができる。
【００９８】
（第２実施形態）
つぎに、第２実施形態に係る文書処理システム１０について説明する。第２実施形態に係る文書処理システム１０は、第１実施形態の文書処理システム１０と略同一の機能および構成を有する。従って、第２実施形態における第１実施形態と略同一の機能および構成を有する部分については、同一の符号を付けて相違点を除き詳細な説明を省略する。第３実施形態以降においても同様である。
【００９９】
図１３は、第２実施形態に係るワークフロー実行部４４の機能構成を示す図である。第２実施形態に係るワークフロー実行部４４は、ワークフロー情報生成部９１をさらに有する。
【０１００】
ワークフロー情報生成部９１は、ワークフローの実行に先だって、管理者による操作に応じて、ワークフロー情報を生成する。ワークフロー情報生成部９１は、生成したワークフロー情報をワークフローＩＤに関連付けてワークフロー情報記憶部６３に記憶させる。
【０１０１】
さらに、ワークフロー情報生成部９１は、生成したワークフロー情報により定義されるワークフローにアプリケーション受付処理が含まれる場合、ワークフローリスト記憶部７１に記憶されているリストも更新する。具体的には、ワークフロー情報生成部９１は、生成したワークフロー情報に対応するワークフローＩＤをリストに追加する。
【０１０２】
図１４は、ワークフロー生成画面９２を表示している情報処理装置３０を示す図である。ワークフロー情報生成部９１は、例えば、図１４に示すような、ワークフロー生成画面９２を表示して、管理者にワークフロー情報を生成させる。
【０１０３】
ワークフロー生成画面９２は、選択領域９３と、作成領域９４とを含む。選択領域９３には、ワークフローに含めることが可能な処理を示す複数のアイコン９５が表示されている。
【０１０４】
管理者は、選択領域９３においてワークフローに含めるべき処理を示す何れかのアイコン９５を選択し、選択したアイコン９５を作成領域９４にドラッグアンドドロップをする。そして、管理者は、作成領域９４において、ドロップした２つのアイコン９５の間を、処理順序を示す矢印９６により接続する。
【０１０５】
管理者は、ワークフローに含めるべき処理を示す全てのアイコン９５を作成領域９４にドロップし、実行すべき順序に従って矢印９６によりアイコン９５の間を接続した後に、完了ボタン９７を押す。完了ボタン９７が押された場合、ワークフロー情報生成部９１は、作成領域９４上に表示されたアイコン９５の並びに従った順序で処理を実行させるワークフロー情報を生成する。さらに、ワークフロー情報生成部９１は、生成したワークフロー情報に、アプリケーション受付処理が含まれている場合には、生成したワークフロー情報に対応するワークフローＩＤを、ワークフローリスト記憶部７１に記憶されているリストに追加する。
【０１０６】
以上のように本実施形態に係るワークフロー実行部４４によれば、ワークフロー情報を生成することができる。また、本実施形態に係るワークフロー実行部４４によれば、生成したワークフロー情報にアプリケーション受付処理が含まれている場合には、ＯＳ部４８からの呼び出し時に表示されるリストを更新することができる。
【０１０７】
（第３実施形態）
図１５は、第３実施形態に係るワークフロー実行部４４の機能構成を示す図である。第３実施形態に係るワークフロー実行部４４は、特定情報検出部１０１と、特定情報リスト記憶部１０２とをさらに有する。
【０１０８】
特定情報検出部１０１は、アプリケーション部４６から出力された呼出指示に応じてＯＳ部４８によりワークフロー実行部４４が呼び出された場合に、呼出指示により指定された文書データに特定の種類の特定情報が含まれているか否かを検出する。例えば、特定情報検出部１０１は、文書データにおける予め定められた位置にメールアドレスが含まれているか否かを検出する。例えば、特定情報検出部１０１は、文書データにおけるメタデータの所定の位置にメールアドレスが含まれているか否かを検出してもよいし、文書データの本体における所定の位置にメールアドレスが含まれているか否かを検出してもよい。
【０１０９】
特定情報リスト記憶部１０２は、特定情報リストを記憶する。特定情報リストは、特定情報を用いた処理を実行するワークフローを示す。例えば、特定情報がメールアドレスである場合、特定情報リストは、例えば、文書データからメールアドレスを抽出する処理または抽出したメールアドレスを配信先として設定する処理を含むワークフローを示す。特定情報リストは、例えば、管理者が新たなワークフローを生成した場合に更新されてよい。
【０１１０】
表示制御部７３は、呼出指示により処理対象として指定された文書データに特定の種類の特定情報が含まれている場合、特定情報に対応付けられたワークフローを上位部分に含むリストを表示させる。例えば、表示制御部７３は、呼出指示により処理対象として指定された文書データに特定情報が含まれている場合、リストの上位に、特定情報リスト記憶部１０２に記憶された特定情報リストに示されたワークフローを含めるように、ワークフローリスト記憶部７１に記憶されたリストを修正する。そして、表示制御部７３は、修正したリストを表示させる。
【０１１１】
図１６は、第３実施形態に係るワークフロー実行部４４により実行されるワークフローの例を示す図である。特定情報を用いた処理を実行するワークフローは、例えば、図１６に示すようなワークフローである。図１６に示すワークフローは、アプリケーション受付処理→アドレス抽出処理→アドレス設定処理の順で処理をすることを示している。
【０１１２】
アドレス抽出処理は、文書データからメールアドレスを抽出する処理である。アドレス設定処理は、メールアドレスを配信先のアドレスとして設定する処理である。アドレス抽出処理において、ワークフロー実行部４４は、処理対象の文書データからメールアドレスを抽出する。アドレス設定処理において、ワークフロー実行部４４は、例えば配信先情報記憶部６６に記憶されているメールアドレスを、抽出したメールアドレスに書き換える。
【０１１３】
このように、本実施形態に係るワークフロー実行部４４は、文書データに特定情報が含まれている場合、適切なワークフローをユーザに選択しやすくすることができる。
【０１１４】
（第４実施形態）
図１７は、第４実施形態に係るワークフロー実行部４４により実行されるワークフローの例を示す図である。第４実施形態に係るワークフロー実行部４４は、ワークフローの中の１つの処理として、アプリケーション呼出処理を実行することができる。
【０１１５】
アプリケーション呼出処理において、ワークフロー実行部４４は、ＯＳ部４８の管理の下で機能する他のアプリケーション部４６を呼び出して起動させ、処理対象の文書データを与える。アプリケーション呼出処理において、ワークフロー実行部４４は、例えば、アプリケーション部４６の一例であるＤｒｏｐｂｏｘ（登録商標）アプリケーションを呼び出して起動させ、Ｄｒｏｐｂｏｘ（登録商標）により管理される特定のフォルダに文書データをアップロードさせてもよい。また、アプリケーション呼出処理において、ワークフロー実行部４４は、例えば、アプリケーション部４６の一例であるＬＩＮＥ（登録商標）アプリケーションを起動させ、ＬＩＮＥ（登録商標）により管理される宛先に文書データを送信させてもよい。
【０１１６】
図１７に示すワークフローは、アプリケーション受付処理→ノイズ除去処理→文字認識処理→フォーマット変換処理→配信処理の順で処理をすることを示している。
【０１１７】
図１７に示す配信処理を実行する場合、ワークフロー実行部４４は、サーバ配信処理およびアプリケーション呼出処理を含む配信処理を実行する。ワークフロー実行部４４は、例えば、配信処理において、サーバ配信処理またはアプリケーション呼出処理の何れか一方を実行する。なお、ワークフロー実行部４４は、ワークフローの実行前にユーザが入力した設定値に応じて、サーバ配信処理またはアプリケーション呼出処理の何れを実行するかを決定してもよい。
【０１１８】
このように、ワークフロー実行部４４は、ワークフローにアプリケーション呼出処理が含まれる場合、ＯＳ部４８を介して何れかのアプリケーション部４６を呼び出して、処理対象の文書データを呼び出したアプリケーション部４６に与えることができる。
【０１１９】
図１８は、第４実施形態に係るワークフロー実行部４４の機能構成を示す図である。第４実施形態に係るワークフロー実行部４４は、アプリケーション呼出部１１１をさらに有する。
【０１２０】
本実施形態において、フロー制御部６４は、実行すべきワークフローにアプリケーション呼出処理を含む場合には、アプリケーション呼出処理の実行において、アプリケーション呼出部１１１に対して、実行指示、処理対象の文書データおよび必要な設定値を与える。
【０１２１】
アプリケーション呼出部１１１は、アプリケーション呼出処理がワークフローに含まれる場合、フロー制御部６４から実行指示を受け取る。アプリケーション呼出部１１１は、実行指示を受け取った場合、他のアプリケーション部４６を呼び出す呼出指示を生成する。そして、アプリケーション呼出部１１１は、生成した明示的な呼出指示をＯＳ部４８に出力する。
【０１２２】
ここで、アプリケーション呼出部１１１は、アプリケーション呼出処理において、選択されたワークフローにより処理された文書データを処理対象として指定する。さらに、アプリケーション呼出部１１１は、ワークフロー実行部４４を呼び出した呼出指示の出力元のアプリケーション部４６を呼び出し先として指定した明示的な呼出指示を生成する。例えば、ＯＳ部４８がＡｎｄｒｏｉｄ（登録商標）を実行して機能している場合、アプリケーション呼出部１１１は、明示的なインテントを、呼出指示として生成する。
【０１２３】
図１９は、第４実施形態に係る文書処理システム１０の処理の流れを示すシーケンス図である。ワークフロー実行部４４がアプリケーション呼出処理を含むワークフローを実行する場合、文書処理システム１０は、図１９に示すように処理を実行する。
【０１２４】
アプリケーション呼出処理を含むワークフローを実行する場合、文書処理システム１０は、Ｓ３１１から３１８までは、図１１に示すシーケンスと同様に処理を実行する。ワークフロー実行部４４は、ワークフローの最終段階において、ワークフロー実行部４４の呼出元である第１のアプリケーション部４６−１を呼び出すための明示的な呼出指示を生成する（Ｓ３５１）。この呼出指示は、選択されたワークフローにより処理された文書データを処理対象として指定している。
【０１２５】
続いて、ワークフロー実行部４４は、生成した明示的な呼出指示を、ＯＳ部４８に与える（Ｓ３５２）。続いて、ＯＳ部４８は、明示的な呼出指示を受けたことに応じて、第１のアプリケーション部４６−１を呼び出す（Ｓ３５３）。第１のアプリケーション部４６−１は、ＯＳ部４８から呼び出されると、処理対象である文書データを受け取って、何らかの処理を実行する（Ｓ３５４）。
【０１２６】
このように、本実施形態に係る文書処理システム１０は、アプリケーション部４６がワークフロー実行部４４を呼び出して文書データをワークフロー実行部４４に与え、さらに、アプリケーション部４６がワークフローを施した後の文書データをワークフロー実行部４４から取得することができる。
【０１２７】
以上、本発明の複数の実施形態を説明したが、それぞれの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能である。
【符号の説明】
【０１２８】
１０  文書処理システム
２０  画像形成装置
３０  情報処理装置
３２  情報提供サーバ装置
３４  ファイルサーバ装置
３６  メールサーバ装置
４２  操作部
４４  ワークフロー実行部
４６  アプリケーション部
４８  ＯＳ部
５２  呼出マネージャ
６１  文書取得部
６２  アプリケーション受付部
６３  ワークフロー情報記憶部
６４  フロー制御部
６５  プラグイン実行部
６６  配信先情報記憶部
６７  配信部
７１  ワークフローリスト記憶部
７２  履歴記憶部
７３  表示制御部
７４  選択受付部
７５  履歴管理部
８１  プラグインプログラム
９１  ワークフロー情報生成部
９２  ワークフロー生成画面
９３  選択領域
９４  作成領域
９５  アイコン
９６  矢印
９７  完了ボタン
１０１  特定情報検出部
１０２  特定情報リスト記憶部
１１１  アプリケーション呼出部
２０１  プロセッサ
２０２  メモリ
２０３  記憶装置
２０４  表示部
２０５  入力部
２０６  通信部
２１１  プロセッサ
２１２  メモリ
２１３  記憶装置
２１４  プリンタ
２１５  スキャナ
２１６  通信部
【先行技術文献】
【特許文献】
【０１２９】
【特許文献１】特開２０１２−２１２３４８号公報
【図１】
2018046342.tif 000007
【図２】
2018046342.tif 000008
【図３】
2018046342.tif 000009
【図４】
2018046342.tif 000010
【図５】
2018046342.tif 000011
【図６】
2018046342.tif 000012
【図７】
2018046342.tif 000013
【図８】
2018046342.tif 000014
【図９】
2018046342.tif 000015
【図１０】
2018046342.tif 000016
【図１１】
2018046342.tif 000017
【図１２】
2018046342.tif 000018
【図１３】
2018046342.tif 000019
【図１４】
2018046342.tif 000020
【図１５】
2018046342.tif 000021
【図１６】
2018046342.tif 000022
【図１７】
2018046342.tif 000023
【図１８】
2018046342.tif 000024
【図１９】
2018046342.tif 000025