(実施例1)
図1は、本実施例のFAX文書を管理する管理装置を組み込むシステムの全体構成を示す。このシステムは、1以上の顧客(101,102)が所有するFAX装置(108,109)と、商社の支店(103,104)が所有する複合機(111,113)と、1以上のメーカー(106,107)が所有するFAX装置(121,122)は、公衆回線(電話回線)124を介してFAX通信することが可能である。なお、FAX装置(108,109,121,122)は、FAX専用機に限るものではなく、FAX画像の送受信が可能な装置であれば、複合機であってもPCであっても構わない。また、本実施例では、商社の本店105は公衆回線124に接続させていないが、複合機等の装置を設置して接続させるようにしてもよい。
また、商社支店(103,104)の複合機(111,113)やPC(110,114)は、LAN(112,115)を介してインターネット123に接続している。また、商社の本店105には、各支店の受発注データを管理する基幹システム116、FAXサーバー118、文書を格納しておく文書サーバー119、各種データの保存場所であるデータベース117、ファイルサーバー125が存在し、LAN120を介してインターネット123にも接続している。これらの装置は、LAN(112,115,120)やインターネット123等のネットワークを介して、データの送受信を行うことが可能である。なお、データベース117は、基幹システム116、FAXサーバー118、文書サーバー119からLAN120経由でアクセスされるものとする。また、本実施例ではデータベース117を独立の装置として記載しているが、基幹システム116、FAXサーバー118、文書サーバー119それぞれの中、または、いずれか1つの中に配置してもよいし、商社本店105外に設置してもよい。また、図1ではデータベース117を1つ記載しているが、役割に応じて複数のデータベースを設けても構わない。
商社支店のPC110、114は、WEBブラウザ(又は専用のアプリケーションプログラム)を用いて、基幹システム116、FAXサーバー118、文書サーバー119が提供するユーザインターフェースを利用できるものとする。なお、PC110、114の代わりに、複合機111、113がWEBブラウザを有し、複合機111、113のWEBブラウザの画面から直接基幹システム116、FAXサーバー118、文書サーバー119が提供するユーザインターフェースを利用するようにしても構わない。さらに、PC110、114の代わりに、ネットワークに接続可能なモバイル端末のWEBブラウザを介して、基幹システム116、FAXサーバー118、文書サーバー119が提供するユーザインターフェースを利用するようにしても構わない。
複合機111、113は、公衆回線124を通じて受信したFAX画像を蓄積したり印刷したりすることも可能である。なお、本実施例では、公衆回線124を通じてFAXの送受信を行っているが、FAXの通信相手となるFAX装置がインターネット123に接続しており、インターネットを利用したFAX送受信プロトコルに対応していれば、インターネット123を介したFAX送受信も可能である。複合機111、113は、インターネット123上に公開されているFAXサーバー118に対して、FAXデータを送信する機能も有する。このインターネットを介したFAXサーバーに対するFAXデータの送信においては、予め決められたルールに従い、FAXサーバー118の適当なフォルダに対して送信を行う。なお、この能力は、複合機111、113のファームウェアにより提供されても、複合機111、113に後からインストールされて動作するプログラムによって提供されてもよい。なお、複合機111、113は、FAX送受信機能、インターネット123上に公開されているFAXサーバー118に対するFAXデータの送信機能があれば、複合機以外の装置でも構わない。FAX送受信機能、FAXデータの送信機能は、他の装置と連携して実現される物でもよい。
基幹システム116は、支店103、104が受けた顧客101、102からの注文を起点とする一連の受発注情報、各顧客情報、各メーカー情報、各支店の担当者情報等を一元管理している。すなわち、各顧客と各支店との間で送受信した情報や、各支店と各メーカーとの間で送受信した情報などが、顧客からの注文ごとにまとめて管理されるものとする。
また、FAXサーバー118は、複合機111、113から転送されたFAX文書(注文書)を起点に、後述の図8で説明する処理フローを実現する。また、文書サーバー119は、FAXサーバー118で処理した各種文書データを最終的に保管するストレージを備えた装置である。
図2は、本実施例における複合機111の構成を示すブロック図である。なお、複合機113も同様の構成である。CPU202を含む制御部201は、複合機111全体の動作を制御する。CPU202は、ROM203に記憶された制御プログラム(コンピュータプログラム)を読み出し実行することにより、読取制御や送信制御などの各種制御を行う。この制御プログラムは後述のコントローラ制御部402を含む。RAM204は、CPU201の主メモリ、ワークエリア等の一時記憶領域として用いられる。HDD205は、画像データや各種プログラム、或いは各種情報テーブルを記憶する。
操作部I/F206は、操作部212と制御部201とを接続するインターフェースである。操作部212には、タッチパネル機能を有する液晶表示部やキーボードなどが備えられている。複合機111のWebブラウザ404、アプリケーション409、410は、処理に応じてAPI403や仮想マシンAPI406を呼び出し、コントローラ制御部402に処理を依頼することによって操作画面を操作部212の液晶表示部に表示する。
プリンタI/F207は、プリンタ213と制御部201とを接続するインターフェースである。プリンタ213で印刷すべき画像データはプリンタI/F207を介して制御部201から転送され、プリンタ213において記録媒体上に印刷される。複合機111のWebブラウザ404、アプリケーション409、410は、印刷処理に応じてAPI403や仮想マシンAPI406を呼び出し、コントローラ制御部402に処理を依頼することによって印刷処理を実行する。
スキャナI/F208は、スキャナ214と制御部201とを接続するインターフェースである。スキャナ214は、原稿上の画像を読み取って画像データを生成し、スキャナI/F208を介して制御部201に該画像データを入力する。後述の複合機111のWebブラウザ404、アプリケーション409、410は、処理に応じてAPI403や仮想マシンAPI406を呼び出し、コントローラ制御部402に処理を依頼することによってスキャン処理を実行し、画像データを受信する。
アクセサリI/F209は、フィニッシャ215と制御部201とを接続するインターフェースである。図2では、接続するアクセサリの代表としてフィニッシャ215を示したが、他のアクセサリを1つ、または複数接続する事も可能である。アクセサリとしては、パンチ穴を空けるパンチャー、ステープルを行なうステープラー、製本を行う製本ユニット、出力物のソートを行うソーター等がある。
モデムI/F210は、モデム216と制御部201(複合機111)とを接続するインターフェースである。モデム216は、公衆回線124に接続し、外部からのFAXの受信、および、外部へのFAXの送信を行なう。
ネットワークI/F211は、制御部201(複合機111)とLAN112とを接続するインターフェースである。ネットワークI/F211は、LANやインターネットを介して接続された外部装置に画像データや情報を送信したり、該外部装置から各種情報を受信したりする。なお、FAX装置108、109、121、122も、アクセサリI/F209、フィニッシャ215、ネットワークI/F211を除く部分は、同様の構成であるものとする。
図3は、FAXサーバー118の構成を示すブロック図である。制御部301は、サーバー118全体の動作を制御する。CPU302は、ROM303に記憶された制御プログラム(コンピュータプログラム)を読み出して各種制御処理を実行する。RAM304は、CPU302の主メモリ、ワークエリア等の一時記憶領域として用いられる。HDD305は、画像データや各種プログラム、或いは後述する各種情報テーブルを記憶する。ネットワークI/F306は、制御部301(FAXサーバー118)をLAN120に接続するためのインターフェースであり、LANやインターネットを介して他の装置と各種情報を送受信する。なお、基幹システム116、文書サーバー119も、図3と同様のハードウェア構成を有するものとする。
図4は、本実施例における複合機111で実行される基本的なソフトウェア構成を示す図である。なお、複合機113も同様の構成であるものとする。
401は、複合機111全体を制御する本発明の第1の実行環境の一例である。一般的に401は、複合機111の各種機能をリアルタイムに制御可能なリアルタイムOSの各モジュール、或いは、CPUに命令してクリティカルに複合機のオプション装置や拡張カードを含む各機能を制御することが可能なライブラリ群から構成される。更に、401はその上位で動作するアプリケーションに対して、インターフェース・コマンドを提供するモジュール群を含む。ここでは、401をオペレーティング・システム(以下、OSと略記する)と呼ぶ。
402は、OS401上で動作するコントローラ制御部であり、スキャナ214やプリンタ213などを制御するモジュールにより構成されるものである。403は、アプリケーション・プログラミング・インターフェース(以下、APIと略記する)である。API403は、アプリケーションからの命令の入力の命令列に応答して、コントローラ制御部402にアクセスするための処理とネットワークI/F211を介してネットワークに接続された機器等に制御コマンドを送る機能を有する。404は、OS401上で動作するアプリケーションの1つであるWebブラウザであり、API403を使用してコントローラ制御部402に各種処理を依頼する。
405は、特定のアプリケーションを実行するために最適な第2の実行環境であり、例えば、Java(登録商標)の仮想マシンなどにより実現されるものである。406は、仮想マシン405上のアプリケーションがOS401上で動作するコントローラ制御部402にアクセスするためのAPIであり、本実施例においてはAPI403を呼び出すための変換モジュールの機能を有するものである。
407は、仮想マシン405上で動作するアプリケーション409,410を統括的に制御する機能を有するフレームワークモジュールである。408は仮想マシン404上の他のアプリケーションを管理するためのアプリケーションであり、フレームワーク407と協調し、アプリケーション409、410のダウンロード、アップロード、消去、無効化を行うものである。
409、410は、仮想マシン404上で動作するアプリケーションであり、仮想マシンAPI406を使用しコントローラ制御部402に各種処理を依頼する。なお、本実施形態の説明においては、仮想マシン上で動作するアプリケーション409、410を想定して説明するが、ネイティブなアプリケーションであっても構わない。また、本実施形態において、アプリケーション409は、複合機111が受信したFAX画像を、FAXサーバー118に対して送信する機能を実行するものとして説明する。
411は、仮想マシン405が使用する資源を管理するリソース管理部であり、OS401上で動作する。リソース管理部411は、仮想マシン405、仮想マシンAPI406、フレームワーク407、或いはOS401上の全アプリケーションがメモリ等のリソース資源を使用する際、予め決められた以上の資源が使用できないように制限するものである。例えば、操作部212に画面を表示するアプリケーションについて、予め決められたアプリケーション上限数を超えた場合には、UI表示を行うことができない、などがある。
図5は、アプリケーション409、410のソフトウェア構成(モジュール)を示すブロック図である。これらのモジュールは複合機111(または複合機113)のHDD205もしくはROM203に格納され、CPU202が実行する。UI制御部501は、複合機111が処理を行う際の設定をユーザに促すためのUI画面を表示する。例えば、スキャン処理を行う場合、UI制御部501は、画像処理装置自体が生成可能なスキャンデータを設定させるためのUI画面を表示する。また、印刷処理を行う場合、UI制御部501は画像処理装置自体が印刷可能なデータの取得を設定させるためのUI画面を表示する。また、UI制御部501は、後述のWebブラウザ連携部505からの依頼により、アプリケーション409、410の画面を操作部211の前面に表示するといった制御を行う。
スキャン処理制御502は、UI制御部501で設定したスキャンの設定内容にしたがって、設定内容が画像処理装置自体のスキャン処理能力と整合性があっているかを考慮した処理を行う。印刷処理制御部503は、UI制御部501で設定した印刷の設定内容にしたがって、設定内容が画像処理装置自体の印刷処理能力と整合性があっているかを考慮した処理を行う。通信部504は、サーバーと通信しデータの送受信や、FTP、SMB、WebDAV等にしたがってファイルの送受信を行う処理を行う。
Webブラウザ連携部505は、Webブラウザ404と通信し、Webブラウザ404の呼び出しや、Webブラウザ404からの操作終了の通知を受け取るといった処理を行う。Webブラウザ連携部505は、Webブラウザ404から操作終了の通知を受け取った場合、アプリケーション409、410の画面を操作部212の前面に表示するようUI制御部501に依頼する。
図6は、Webブラウザ404のソフトウェア構成モジュールを示すブロック図である。これらのモジュールは複合機111(または複合機113)のHDD205もしくはROM203に格納され、CPU202が実行する。
通信部601は、HTTPプロトコル/HTTPSプロトコルにしたがって、サーバーと通信する。より具体的には、通信部601は、Webブラウザ404のUI制御部602で表示した操作画面を介して入力される情報を、サーバーで実行されているアプリケーションなどに対するリクエストとして送信する。また、通信部601は、サーバーで実行されているアプリケーションなどから送信されるレスポンス(処理結果)を受信する。また、通信部601は、アプリケーション409のような複合機111内部のアプリケーションの通信部504とも通信可能である。
UI制御部602は、通信部601が受信したレスポンス中に含まれるHTMLファイルを解析し、解析結果に基づいて操作部211に操作画面を表示する。また、UI制御部602は、後述のアプリケーション連携部604からの依頼により、Webブラウザ404の画面を操作部212の前面に表示するといった制御を行う。セッション管理部603は、サーバー102とWebブラウザ404が通信を行う際のセッション情報を管理する。
アプリケーション連携部604は、アプリケーション409と通信し、アプリケーション409からのWebブラウザ404の呼び出し要求を受信する処理や、アプリケーション409への操作終了の通知を送信する処理などを行う。アプリケーション連携部604は、アプリケーション409からのWebブラウザ404の呼び出し要求を受信すると、Webブラウザ404の画面を操作部212の前面に表示するようUI制御部602に依頼する。
図7は、FAXサーバー118において本発明に係る処理プログラム(コンピュータプログラム)を実行する際、処理プログラムをRAM上にロードした際のメモリマップの構造を示す図である。メモリマップは、本装置上の入出力を司る基本I/Oプログラム701、各処理プログラムに動作環境を提供するシステム・プログラム702、本実施例の処理プログラムを初めとする各種処理プログラム703、関連データを格納するエリア704、各種プログラムが動作する際に一時的に利用するワークエリア705で構成されている。なお、容量の制約により701〜705として利用する領域が足りなくなった場合、HDDをRAMの領域の一部として扱うことも可能である。
図8は、本発明に係る処理プログラム(コンピュータプログラム)を実行するFAXサーバー118の機能モジュール構成を示す図である。これらの機能モジュールは、FAXサーバー118のROM303もしくはHDD305に格納され、CPU302が実行する。
FAX受信処理制御部801は、複合機111が受信したFAX文書を、ファイルサーバー125を介して取得するためのFAX受信処理を制御する。このFAX受信処理制御部801は、複合機111に割り当てられた複数の受信フォルダーを監視し、FAX文書が複合機111により格納されたことを検知して動作するものである。
画像処理制御部802は、二次元バーコードの生成/解析や、指定された領域の文字認識処理(以降、OCR処理)を制御するものであり、主にFAX受信処理制御部801およびFAX送信処理制御部803により使用される内部機能モジュールである。
FAX送信処理制御部803は、メーカーへ送信するFAX文書の送信処理、および複合機111に対する送信依頼処理を制御する。このFAX送信処理制御部803は、メーカーへのFAX送信に必要な情報を記載した発注情報ファイル900を基幹システム116が出力するフォルダーを監視し、そのフォルダーに発注情報ファイル900が格納されたことを検知して動作するものである。
発注書作成処理制御部804は、メーカーへFAXとして送信する発注書の作成を制御するものであり、主にFAX送信処理制御部803から使用される内部モジュールである。
データベース処理制御部805は、データベース117に格納された後述の図10から図12で示すデータの入出力を制御する。データベース処理制御部805は、主に、FAX受信処理制御部801およびFAX送信処理制御部803により使用される内部機能モジュールである。
図9は、発注情報ファイル900を示す図である。発注情報ファイル900は、基幹システム116が出力するデータであり、FAXサーバー118が参照する。発注情報ファイル900は、メーカーへの発注書に記載すべき情報を含んでおり、発注ID910、相手先911、相手先電話番号912、担当者913、支店914、デバイス915、品番916、個数917、品名918、単価919により構成される。本実施例では発注情報ファイル900はCSV形式のファイルとしているが、XML形式のファイルなどFAXサーバー118が認識可能な形式のファイルであれば、形式は問わない。
図10〜図14は、データベース117に記憶されるデータテーブルを示す図であり、それぞれFAXサーバー118からデータベース処理制御部805を経由して参照される。
図10は、支店管理テーブル1000を示す図である。支店管理テーブル1000は、支店ID1010、支店名1011、支店フォルダー名1012、受信フォルダー名1013、デフォルト振分フォルダー名1014、支店管理者名1015、支店管理者メールアドレス1016、作成日時1017、更新日時1018により構成される。
図11は、担当者管理テーブル1100を示す図である。担当者管理テーブル1100は、担当者ID1110、担当者名1111、受信済文書格納フォルダー名1112、送信済文書格納フォルダー名1113、支店ID1114、デバイスID1115、基幹システム内の名称1116、作成日時1117、更新日時1118により構成される。
図12は、デバイス管理テーブル1200を示す図である。デバイス管理テーブル1200は、支店ID1210、デバイスID1211、デバイス名1212、デバイスフォルダー1213、アドレス1214、作成日時1215、更新日時1216により構成される。
図13は、送信ジョブ管理テーブル1300を示す図である。送信ジョブ管理テーブル1300は、発注ID1310、ジョブID1311、FAXJOBファイル名1312、送信ステータス1313、相手先1314、支店ID1315、担当者ID1316により構成される。
図14は、OCRゾーンテーブル1400を示す図である。OCRゾーンテーブル1400は、フォーマットID1410、相手先1411、発注ID領域1412、担当者領域1413により構成される。発注ID領域1412および担当者領域1413に記載されている位置情報は、OCR処理を行う原稿内の領域を特定する情報である。
図15は、発注帳票データ1500を示す図である。基幹システム116が出力した発注情報ファイル900を基に作成する発注書のFAX送信データの例である。図15の例では、発注日、発注ID、品番、品名、個数、単価、希望納期、二次元バーコードを付与し、金額、小計、消費税、合計、合計金額を計算して帳票データとして構成するが、特に中身の書式については問わない。
図16は、ファイルサーバー125が管理するフォルダーおよびフォルダーに格納するファイルの構成を示す図である。FAXサーバーROOTフォルダー1600を最上位フォルダーとして構成される本フォルダー構造は、PC110、複合機111、FAXサーバー118より参照、および更新可能なアクセス権限にて構成される。
FAXサーバーROOTフォルダー1600は、LIBフォルダー1610、DEVフォルダー1620を配下に保持する。
LIBフォルダー1610は、PC110、FAXサーバー118よりアクセスされるフォルダーであり、PC110を利用するユーザから参照/更新する場所を表している。LIBフォルダー1610は、その配下に支店X103、支店Y104など支店ごとのフォルダーを保持する。本実施例では、支店Xフォルダー1611を図示しているが、その他の支店のフォルダーも存在しているものとする。
支店Xフォルダー1611は、その配下に担当フォルダー1612、受信フォルダー1615を保持する。担当フォルダーは、その配下に、その支店に在籍するFAX受発注業務担当者ごとのフォルダーを保持する。本実施例では、担当者管理テーブル1100に記載された担当者山田さんのYamadaフォルダー1613を図示しているが、その他の担当者のフォルダーも存在しているものとする。なお、Yamadaフォルダー1613は、その配下に山田さんが担当している注文のファイルを保持する。図16の例では、メーカーAに送信したFAX文書ファイル1614を保持している状態を図示している。
受信フォルダー1615は、受信したFAX文書の中で担当者への自動振り分けができないFAX文書ファイルを保持しておくためのフォルダーである。すなわち、顧客からのFAX受信した注文書のFAX文書ファイルや、メーカーからFAX受信した回答書のFAX文書ファイルの中で、担当者の特定ができないものを保持する。この受信フォルダー1615に保持されたFAX文書ファイルは、担当者や管理者などにより手動で担当フォルダー1612配下の担当者のフォルダーに配布されるものとなる。図16の例では、FAX受信をしたファイル1616が受信フォルダー1615に格納されている状態を図示している。
DEVフォルダー1620は、複合機111、基幹システム116、FAXサーバー118によりアクセスされるフォルダーであり、複合機111とFAXサーバー118、および基幹システム116とFAXサーバー118との間でのファイルの授受に使用する。すなわち、複合機111とFAXサーバー118との間では、FAX文書ファイルの授受、基幹システム116とFAXサーバー118との間では、発注情報ファイル900の授受が行われる。
DEVフォルダー1620は、配下に支店Xフォルダー1621で表されている支店毎のフォルダーと、基幹フォルダー1628を保持する。なお、図示していないが、支店Xフォルダー1621と同様に、他の支店のフォルダーも並列に並んで保持しているものとする。
支店Xフォルダー1621は、配下に支店Xで管理している複合機111のDeviceXフォルダー1622を保持する。なお、図示していないが、このDeviceXフォルダー1622同様、支店で管理されている複合機の数だけフォルダーとして並列に並んで保持しているものとする。
DeviceXフォルダー1622は、配下に送信フォルダー1623と受信フォルダー1625を保持する。送信フォルダー1623は、FAXサーバー118からメーカーへの発注を行うためのFAX文書ファイルを配置し、複合機111がそのFAX文書ファイルを取得してFAX送信を行うための仲介場所として使用されるものである。図16の例では、送信フォルダー1623の下に、メーカーAへ送信するためのFAX文書ファイル1624が配置されていることを表している。
受信フォルダー1625は、複合機111で受信したFAX文書ファイルをPDF形式にして配置し、FAXサーバー118がそのFAX文書ファイルを取得してFAX受信処理を行うための仲介場所として使用されるものである。図16の例では、メーカーAから受信したFAX文書ファイル1626と、顧客1から受信したFAX文書ファイル1627が配置されていることを表している。
基幹フォルダー1628は、基幹システム116から出力された発注情報ファイル900を配置し、FAXサーバー118がそのファイルを取得して送信FAX文書を作成するための仲介場所として使用されるものである。図16の例では、基幹システム116から出力された発注IDがOID_0001であるCSVファイル1629が配置されていることを表している。このCSVファイルは、発注情報ファイル900の書式で記載されているものとなる。
図17は、FAXを介して受発注を行う際に実行される、顧客101、商社支店103、商社本店105、メーカー106間のワークフローを示す図である。
WF1700において、顧客101が、FAX装置108を用いて商社支店103に対して注文をFAXで送信すると、商社支店103は、複合機111で注文のFAXを受信する。
WF1701において、複合機111は、受信したFAXデータを、予め登録された設定にしたがって、商社本店105のファイルサーバー125の所定のフォルダーに配置する。この時、画像データのまま配置することも、PDFに変換して配置することも、あるいはテキストデータに変換して送ることも可能である。なお、本実施例では、ファイルサーバー125に転送するが、FAXサーバー118内やFAXサーバー118が管理可能な共有領域であればどこでも構わない。
WF1702において、商社支店103の担当者は、PC110を用いてファイルサーバー125に保存されたFAXデータを閲覧しながら、WF1703において、基幹システム116に対して注文情報をキーボード等を用いて入力する。基幹システム116に入力する方法は、ブラウザのようなUIでもよいし、方法は問わない。このとき、基幹システム116は、注文を一意に特定可能な「発注ID」(すなわち、注文を識別するための識別子)を発行して、図9のような発注情報ファイル900を作成する。
注文情報が入力されると、WF1704において、基幹システム116は発注情報ファイル900を出力して、FAXサーバー118に送付する。本実施例では前述のようにファイルサーバー125の基幹フォルダー1628を介してFAXサーバーに渡すことができるが、特にこの方法に特化せずWEBサービス等の通信手段を用いてもよく、方法は問わない。
WF1705において、基幹システムからの発注情報ファイル900を取得したFAXサーバーは、FAX送信処理制御部803から起動された、発注書作成処理制御部804において、発注情報ファイル900に基づいて発注帳票データ1500を作成する。この際、発注書作成処理制御部804は、画像処理制御部802を使用して、発注情報ファイル900に記載されている発注ID910、担当者913、支店914の情報を含んだ二次元バーコード画像(識別情報)を生成し、発注帳票データ1500に埋め込む。そして、作成した発注帳票データ1500は、複合機111がFAX送信を行う事の出来る形式のファイルにしてファイルサーバー125に出力する。FAXサーバーは、ファイルサーバー125に出力した後に、FAX送信処理を依頼する複合機111に対して発注帳票データをFAX送信するように通知する。
WF1706において、複合機111は、発注帳票データ1500を、発注対象のメーカーのFAX装置121に対してFAX送信する。
WF1707において、メーカーAはFAX装置121で受信した発注帳票データ1500に納期回答を記載したもの(回答書)を、同じくFAX装置121を使用して商社支店103の複合機111に対してFAX送信する。
WF1708において、複合機111は、予め登録された設定に従い、WF1707で受信したFAX文書データを、商社本店105のファイルサーバー125のデバイス受信フォルダー1625に転送する。この時、WF1701と同様、画像データのまま配置することも、PDFに変換して配置することも、あるいはテキストデータに変換して送ることも可能である。
WF1709において、FAXサーバー118は、WF1708でファイルサーバー125に配置されたFAX文書データを取得して解析を行い、担当が判別できた場合には、該FAX文書データをファイルサーバー125の担当フォルダーへ移動する。本処理については、図18で詳細に述べる。
WF1710において、商社支店103の担当者は、PC110を使用してファイルサーバー125に置かれた納期回答が付与されたFAXデータ(回答書)を閲覧しながら、WF1700で受信したFAXデータに対して納期回答を記載して、顧客向けの回答書を作成する。
WF1711において、商社支店103の担当者は、納期回答を記載したFAXデータ(顧客向けの回答書)を複合機111に対して送信する。
WF1712において、複合機111は、その納期回答を記載したFAXデータ(顧客向けの回答書)を、顧客101のFAX108へ送信する。
WF1713において、FAXサーバー118は、WF1700、WF1706、WF1707、WF1712で送受信したFAXデータを取得し、まとめてアーカイブし、WF1714において当該アーカイブしたアーカイブファイルを文書サーバー119に格納する。
図18は、図17のWF1709の処理を詳細に示したものである。本処理は、FAXサーバー118のCPU302により実行されるものであり、FAX受信処理制御部801での処理を示している。
ステップS1801において、監視していたファイルサーバー125のデバイス受信フォルダー1625にFAX文書ファイルが配置されたことを検知し、そのFAX文書ファイルを取得する。例えば、ここで取得したファイルは、メーカーAから送付されたFAX文書ファイル1626であったとする。
ステップS1802において、取得したFAX文書ファイル1626を画像処理制御部802に送付し、FAX文書内に二次元バーコードの画像イメージ(識別情報)があるかどうかのチェックと、二次元バーコード画像の解析を行う。すなわち、画像処理制御部802は、FAX文書のページ内にQRコード(登録商標)(識別情報)が存在するかをチェックし、存在する場合にはその二次元バーコード画像から、コード化されている文字列情報を取得する。本システムでは、WF1705で生成した二次元バーコードとして埋め込んだ発注ID910、担当者913、支店914の情報があれば、FAXサーバー118のRAM304に記録しておく。
ステップS1803において、RAM304に二次元バーコードから抽出された情報が保存されているかどうかを判定する(すなわち、二次元バーコードがあったかどうかを判定する)。情報が保存されていると判定した場合には、担当者を特定することができる情報があるとして、ステップS1804へ進む。一方、情報が保存されていない(二次元バーコードが無かった)場合には、ステップS1806へ進む。
ステップS1804において、RAMに保存された情報の中から、発注IDと担当者名とを取得する。ここでは、更に、二次元バーコードから取得した担当者名に基づいて、担当者管理テーブル1100に保持されている担当者の情報に基づき、当該担当者の受信済み文書格納フォルダー名を取得しておく。
ステップS1805において、S1804で発注IDと担当者名とを取得できたか判定し、取得できた場合には、ステップS1808へ進む。一方、S1804で発注IDと担当者名とを取得できなかった場合には、ステップS1806に進む。
ステップS1806において、FAX文書ファイル1626に対してOCR処理を行い、支店914および担当者913の情報取得を行う。本ステップのOCR処理については、図19において後述する。
ステップS1807において、OCR処理の結果として、RAM304に発注ID910、担当者913の情報が記録されているかを確認し、存在する場合には、ステップS1808に進む。一方、RAM304に情報の記録を確認できない場合には、ステップS1809に進む。
ステップS1808において、ステップS1804もしくはステップS1806で取得した発注ID910及び担当者913の情報と、メーカーからの回答である旨の識別子(ここでは「回答」)をファイル名称に付与する。これにより、FAX文書ファイル1626のファイル名は、例えば、「OID_0001_山田_回答_メーカーA_201312214.pdf」といった名称に変更される。そして、支店914に合致する受信フォルダー名1013と、担当者913に合致する受信済み文書格納フォルダー名1112とで構成されるファイルサーバー125のパス(Yamadaフォルダー1613)を保存先として決定し、このファイルを移動(振り分け)して本処理を終了する。
ステップS1809において、二次元バーコード及びOCR処理のいずれでも担当者を特定できなかったため、当該FAX文書ファイルを受信した複合機111の属する支店914のデフォルト振分フォルダー名1014に、当該FAX文書ファイル1626を移動して、本処理を終了する。
図19は、図18のステップS1806において実行されるOCR処理の詳細を示したものである。本処理フローは、FAXサーバー118のCPU302において、画像処理制御部802の処理として行われる。本処理は、起動時にOCR処理対象となるファイルのパスをあらかじめ受け取っておく。
ステップS1901において、OCRゾーンテーブル1400のレコード一覧を取得する。取得したレコードは、RAM304に一時的に格納しておく。
ステップS1902において、起動時に取得したパスのファイル名称に基づいて、該ファイル名内に含まれているFAX文書の送信元情報を抽出し、その情報が、RAM304に格納したOCRゾーンテーブル1400の項目1411内に存在するかどうかを確認する。
ステップS1903において、OCRゾーンテーブル1400内に、FAX相手先(FAX文書の送信元)のレコードが存在した場合には、ステップS1904に進み、存在しなかった場合にはステップS1905に進む。
ステップS1904において、OCRゾーンテーブル1400内の相手先のレコードをRAM304から取得する。
ステップS1905において、RAM304に格納したOCRゾーンテーブル1400のレコードから任意の一つ(ここではリストの先頭とする)を取得して、RAM304から削除する。
ステップS1906において、ステップS1904もしくはステップS1905で取得したレコードの領域情報を使用して、起動時に取得したファイルのゾーンOCR処理を行う。ここでは、メーカーAのレコード(すなわちフォーマットID1410が「ZONE_0002」のレコード)を使用するものとして記載する。
まず、レコードの発注ID領域1412に対応する領域(左上を起点にして、右に50ピクセル/下に80ピクセルの位置から右に150ピクセル、下に100ピクセルの位置の2点を頂点とした矩形エリア)の部分画像に対してOCR処理を実行して文字列情報を読み取る。読み取った文字列は、RAM304に前述の発注ID910として格納しておく。次に、レコードの担当者領域1413に対応する領域(左上を起点にして、右に320ピクセル/下に80ピクセルの位置から右に370ピクセル、下に100ピクセルの位置の2点を頂点とした矩形エリア)の部分画像に対してOCR処理を実行して文字列情報を読み取る。読み取った文字列は、RAM304に前述の担当者913として格納しておく。
ステップS1907において、RAM304に発注ID910と担当者913が格納されたかどうかを確認し、格納されている場合には、OCRが成功したとしてステップS1908に進む。一方、格納されていない場合には、ステップS1910に進む。
ステップS1908において、RAM304に格納した担当者名が、担当者情報テーブル1100の担当者名1111に存在するレコードを取得する。
ステップS1909において、ステップS1908でレコードが取得できた場合には所望のOCR処理が行えたため、本処理フローを終了する。取得できなかった場合には、OCR対象の領域(OCR対象の文字)が間違っているため、ステップS1910に進む。
ステップS1910において、ステップS1905同様、RAM304に格納したOCRゾーンテーブル1400のレコードから任意の一つ(ここでは残りのリスト(すなわち未処理のレコード)の中の先頭とする)を取得して、RAM304から削除する。
ステップS1911において、OCRゾーンテーブル1400のレコードが取得できたか判断し、レコードが取得できている場合には、ステップS1906に戻って、OCR処理を継続する。一方、取得できなかった場合には、確認すべきレコードがなくなったため、ステップS1912に進む。
ステップS1912において、全てのOCRゾーンテーブル1400のレコードでOCRを失敗したため、RAM304に格納した処理中の発注ID910、担当者913を削除して、本処理フローを終了する。
以上述べたように、本実施例では、メーカーからのFAX文書(回答書)の中に二次元コードが含まれていれば、当該二次元コードの情報に基づいて振り分け処理を行う。すなわち、FAX送信された発注書にメーカーが直接書き込んで、回答書としてFAX返信してきた場合は、二次元コードが含まれているため、その情報に基づいて振り分け処理を正確に行うことができる。
一方、二次元コードが含まれていなければ、まず、OCRゾーンテーブルのうち、FAXの送信元電話番号に対応するメーカーの情報を取得してOCR処理を行って、振り分けに用いる情報を取得する。すなわち、メーカーが発注書に直接書き込まずに、そのメーカー独自のフォーマットに回答を記載して回答書を送付してくる場合があるが、その場合、そのメーカー独自のフォーマットは大抵同じフォーマットで送付してくる。したがって、そのフォーマット情報をOCRゾーンテーブルに予め登録しておくことで、送信元電話番号に基づいて、振り分け処理に用いる情報が記載された領域を特定してOCR処理を行うことができるので、より正確な振り分け処理が可能になる。
(実施例2)
本実施例2は、実施例1の図18で示した受信文書の振り分けの処理を、図20の処理で置き換えたものとなる。そのため、その他の図で説明した構成、および処理フローについては同じであるため、説明を省略する。
図20は、図17のWF1709における、実施例2の処理を詳細に示したものである。本処理は、FAXサーバー118のCPU302により実行されるものであり、FAX受信処理制御部801での処理を示している。
ステップS2001において、監視していたファイルサーバー125のデバイス受信フォルダー1625にFAX文書ファイルが配置されたことを検知し、そのFAX文書ファイルを取得する。例えば、ここで取得したファイルは、メーカーAから送付されたFAX文書ファイル1626であったとする。
ステップS2002において、FAX文書ファイル1626に対してOCR処理を行い、支店914および担当者913の情報取得を行う。本ステップのOCR処理については、前述の図19と同様の処理である。
ステップS2003において、OCR処理の結果、RAM304に発注ID910、担当者913の情報が記録されているかを確認し、存在する場合には、ステップS2008に進む。一方、RAM304に情報が保存されていなかった場合には、ステップS2004に進む。
ステップS2004において、取得したFAX文書ファイル1626を画像処理制御部802に送付し、FAX文書内に二次元バーコードの画像イメージがあるかどうかのチェックと、二次元バーコード画像の解析を行う。すなわち、画像処理制御部802は、FAX文書のページ内にQRコード(登録商標)が存在するかをチェックし、存在する場合にはその二次元バーコード画像から、コード化されている文字列情報を取得する。本システムでは、WF1705で生成した二次元バーコードとして埋め込んだ発注ID910、担当者913、支店914の情報があれば、FAXサーバー118のRAM304に記録しておく。
ステップS2005において、RAM304に二次元バーコードから抽出された情報が保存されているかどうかを判定する(すなわち、二次元バーコードがあったかどうかを判定する)。情報が保存されていると判定した場合には、担当者を特定することができる情報があるとして、ステップS2006へ進む。一方、情報が保存されていない(二次元バーコードが無かった)場合には、ステップS2009へ進む。
ステップS2006において、RAMに保存された情報の中から、発注IDと担当者名とを取得する。ここでは、更に、二次元バーコードから取得した担当者名に基づいて、担当者管理テーブル1100に保持されている担当者の情報に基づき、当該担当者の受信済み文書格納フォルダー名を取得しておく。
ステップS2007において、S2006で発注IDと担当者名とを取得できたか判定し、取得できた場合には、ステップS2008へ進む。一方、S2006で発注IDと担当者名とを取得できなかった場合には、ステップS2009に進む。
ステップS2008において、ステップS2002もしくはステップS2006において取得した発注ID910および担当者913と、メーカーからの回答である旨の識別子(ここでは「回答」)とをファイル名称に付与する。これにより、FAX文書ファイル1626のファイル名は、例えば、「OID_0001_山田_回答_メーカーA_201312214.pdf」のようなファイル名称に変更される。さらに、このファイルは、支店914に合致する受信フォルダー名1013と、担当者913に合致する受信済み文書格納フォルダー名1112とで構成されるファイルサーバー125のパス(Yamadaフォルダー1613)へ移動(振り分け)して本処理を終了する。
ステップS2009において、二次元バーコードおよびOCR処理のいずれでも担当者を特定できなかったため、当該FAX文書ファイルを受信した複合機111の属する支店914のデフォルト振分フォルダー名1014に、当該FAX文書ファイル1626を移動して、本処理を終了する。
(実施例3)
本実施例3は、受信したFAX文書ファイルが複数ページだった場合の処理を示しており、実施例1の図18で示した受信文書の振り分け処理を、図21の処理で置き換えたものとなる。そのため、その他の図で説明した構成、および処理フローについては同様であるため、説明を省略する。
図21は、図17のWF1709における、実施例3の処理を詳細に示したものである。本処理は、FAXサーバー118のCPU302により実行されるものであり、FAX受信処理制御部801での処理を示している。
ステップS2101において、監視していたファイルサーバー125のデバイス受信フォルダー1625にFAX文書ファイルが配置されたことを検知し、そのFAX文書ファイルを取得する。例えば、ここで取得したファイルは、メーカーAから送付されたFAX文書ファイル1626であったとする。
ステップS2102において、取得したFAX文書ファイル1626から、先頭ページのみを取得し、RAM304に格納する。この際、取得したページは、元のFAX文書ファイル1626からは削除しておく。
ステップS2103において、ステップS2102でページの取得処理ができている場合には、ステップS2104に進む。ページの取得ができない場合には、ステップS2115に進む。
ステップS2104において、RAM304に格納したFAX文書ファイル1626の1ページを画像処理制御部802に送付し、FAX文書内に二次元バーコードの画像イメージがあるかどうかのチェックと、二次元バーコード画像の解析を行う。すなわち、画像処理制御部802は、FAX文書のページ内にQRコード(登録商標)が存在するかをチェックし、存在する場合にはその二次元バーコード画像から、コード化されている文字列情報を取得する。本システムでは、WF1705で生成した二次元バーコードとして埋め込んだ発注ID910、担当者913、支店914の情報があれば、FAXサーバー118のRAM304に記録しておく。
ステップS2105において、RAM304に二次元バーコードから抽出された情報が保存されているかどうかを判定する(すなわち、二次元バーコードがあったかどうかを判定する)。情報が保存されていると判定した場合には、担当者を特定することができる情報があるとして、ステップS2106へ進む。一方、情報が保存されていない(二次元バーコードが無かった)場合には、ステップS2108へ進む。
ステップS2106において、RAMに保存された情報の中から、発注IDと担当者名とを取得する。ここでは、更に、二次元バーコードから取得した担当者名に基づいて、担当者管理テーブル1100に保持されている担当者の情報に基づき、当該担当者の受信済み文書格納フォルダー名を取得しておく。
ステップS2107において、S2106で発注IDと担当者名とを取得できたか判定し、取得できた場合には、ステップS2110へ進む。一方、S2106で発注IDと担当者名とを取得できなかった場合には、ステップS2108に進む。
ステップS2108において、RAM304に格納したページに対してOCR処理を行い、支店914および担当者913の情報取得を行う。本ステップのOCR処理については、前述した図19の処理と同様である。
ステップS2109において、OCR処理の結果、RAM304に発注ID910、担当者913の情報が記録されているかを確認し、存在する場合には、ステップS2110に進む。一方、RAM304に情報が保存されていなかった場合には、ステップS2114に進む。
ステップS2110において、二次元バーコードの解析もしくはOCR処理にて取得したRAM304の発注ID910、担当者913を、RAM304に格納してある比較用発注ID910、比較用担当者913とそれぞれ比較する。
ステップS2111において、S2110での比較結果、発注ID910、担当者913共に比較用データと同じであるかどうか判定し、同じであると判定した場合には、前のページと同じ発注IDでまとまるページであるため、ステップS2114に進む。一方、データが異なる場合、もしくは比較用発注ID910、比較用担当者913が存在しない場合(すなわち、文書の最初のページが処理対象であった場合)には、ステップS2112に進む。
ステップS2112において、発注ID910、担当者913が異なるため、回答書が別のものに切り替わったと判断し、今までRAM304にキャッシュしていたFAX文書ファイルを保存し、担当者のフォルダーに移動する。なお、保存するFAX文書ファイルには、この時点で、RAM304に格納していた比較用発注ID910および比較用担当者913と、メーカーからの回答である旨の識別子(ここでは「回答」)とを用いて、ファイル名称を付与する。ここでベースとなるファイル名は、ステップ2101で受信したファイルサーバー125上の複数ページのファイル名称となる。これにより、FAX文書ファイル1626は、例えば、「OID_0001_山田_回答_メーカーA_201312214.pdf」という名称が与えられる。また、このファイルは、支店914に合致する受信フォルダー名1013と、担当者913に合致する受信済み文書格納フォルダー名1112とで構成されるファイルサーバー125のパス(Yamadaフォルダー1613)へ移動する。
ステップS2113において、キャッシュしていたRAM304上の情報をクリアし、新たな情報に変更する。具体的には、ステップS2112でファイル化したキャッシュFAX文書ファイルをクリアし、ステップS2102でRAM304に格納している1ページを新たにキャッシュFAX文書ファイルとしてRAM304に登録する。さらに、比較用発注ID910および比較用担当者913もクリアし、RAM304に格納している発注ID910および担当者913を、新たな比較用発注ID910および比較用担当者913として登録する。そして、RAM304のファイルの1ページ情報、および発注ID910、担当者913をクリアする。本ステップで1ページ分の処理が終わるため、次のページの処理を行うため、ステップS2102に戻る。
ステップS2114において、ステップS2102で取得した1ページの情報は、キャッシュしている文書の続きであると判断をするため、RAM304のキャッシュFAX文書ファイルに当該1ページの情報を追加する。そして、RAM304のファイルの1ページ情報、および発注ID910、担当者913をクリアする。
ステップS2115において、受信したFAX文書のすべてのページを処理し終えたため、最後にキャッシュに残っているFAX文書ファイルを担当者フォルダーに移動する。キャッシュ文書の保存処理については、ステップS2112で行った手順と同じであるため、詳細説明は省略する。本ステップの処理を終えたら、全てのRAM304の情報をクリアして処理フローを終了する。
実施例3の処理によれば、メーカーが複数の発注書それぞれに対する回答をまとめてFAX送信してきた場合でも、複数の発注書それぞれに対する回答ごとに分離して保存することができるようになる。
(その他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。その処理は、上述した実施例の機能を実現させるソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。