(57)【特許請求の範囲】
【請求項１】
ユーザから原稿上のコードを検索する位置の指定を、当該原稿の少なくとも左上、右上、左下、右下の中から受け付ける受付手段と、
前記原稿を読み取り画像データを生成する読取手段と、
前記読取手段が生成した画像データに基づいて、前記受付手段が受け付けた位置と他の位置からコードを検索する検索手段と、
前記検索手段による検索により見つかったコードをデコードするデコード手段と、
を有し、
前記受付手段が受け付けた位置が左上である場合、前記検索手段は前記画像データの左上と右下からコードを検索し、右上と左下からコードを検索せず、
前記受付手段が受け付けた位置が右上である場合、前記検索手段は前記画像データの右上と左下からコードを検索し、左上と右下からコードを検索せず、
前記受付手段が受け付けた位置が左下である場合、前記検索手段は前記画像データの左下と右上からコードを検索し、左上と右下からコードを検索せず、
前記受付手段が受け付けた位置が右下である場合、前記検索手段は前記画像データの右下と左上からコードを検索し、右上と左下からコードを検索しない
ことを特徴とする画像処理装置。
【請求項２】
前記原稿の置かれた向きが縦であるか、横であるかを判定する判定手段をさらに有し、
前記検索手段がコードを検索する前記他の位置は、前記判定手段による判定の結果に基づいて決定されることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
少なくとも前記デコード手段のデコードによって得られた情報に基づいて、前記画像データに処理を実行する処理手段をさらに有することを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記処理手段は、前記デコードによって得られた情報に基づいて前記画像データの格納先のフォルダを決定する処理を実行することを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記処理手段は、前記デコードによって得られた情報に基づいて前記画像データのファイル名を決定する処理を実行することを特徴とする請求項３に記載の画像処理装置。
【請求項６】
前記検索手段が前記他の位置から前記コードを見つけた場合、前記処理手段は、前記画像データを１８０度回転させる処理を実行することを特徴とする請求項３乃至５の何れか１項に記載の画像処理装置。
【請求項７】
前記検索手段がコードを自動で検索し、得られたコードの位置を記憶手段に記憶し、
前記検索手段は前記記憶手段に記憶されている位置を検索することを特徴とする請求項１乃至６の何れか１項に記載の画像処理装置。
【請求項８】
ユーザから原稿上のコードを検索する位置の指定を、当該原稿の少なくとも左上、右上、左下、右下の中から受け付ける受付工程と、
前記原稿を読み取り画像データを生成する読取工程と、
前記読取工程で生成した画像データに基づいて、前記受付工程で受け付けた位置と他の位置からコードを検索する検索工程と、
前記検索工程による検索により見つかったコードをデコードするデコード工程と、
を有し、
前記受付工程で受け付けた位置が左上である場合、前記検索工程では前記画像データの左上と右下からコードを検索し、右上と左下からコードを検索せず、
前記受付工程で受け付けた位置が右上である場合、前記検索工程では前記画像データの右上と左下からコードを検索し、左上と右下からコードを検索せず、
前記受付工程が受け付けた位置が左下である場合、前記検索工程では前記画像データの左下と右上からコードを検索し、左上と右下からコードを検索せず、
前記受付工程が受け付けた位置が右下である場合、前記検索工程では前記画像データの右下と左上からコードを検索し、右上と左下からコードを検索しない
ことを特徴とする画像処理装置の制御方法。
【請求項９】
請求項１乃至７の何れか１項に記載の画像処理装置の各手段をコンピュータが実行するためのプログラム。 
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、原稿をスキャンして得た画像データから原稿上に存在するコードを抽出して、当該画像データを処理する装置、その方法及びプログラムに関する。
【背景技術】
【０００２】
原稿をスキャンして画像データを生成し、画像データからコード（例えばバーコード、二次元コード、電子透かしなど）を検索し、見つかったコードをデコードし、デコードによって得られた情報に従って画像データを処理する技術が知られている。例えば、特許文献１には、原稿をスキャンして得られた画像データからＱＲコード（登録商標）を読み取り、読み取ったＱＲコードから画像データの回転状態を解析して、画像データの向きを回転させる技術が開示されている。
【０００３】
また、特許文献２には、メモリカード等の記録媒体に既に記録されている画像ファイルのファイル名（またはフォルダのフォルダ名）を、２次元バーコード等のコードを使って変更する技術が開示されている。具体的には、変更をしたい場合、まず当該処理対象の画像ファイル（または処理対象のフォルダ）が選択される。その後、コード一覧シートの中から所望のコードをカメラで撮像し、当該撮像したコードを認識した結果を用いてファイル名（またはフォルダ名）を生成して、ファイル名（またはフォルダ名）が変更される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第４８６１２５５号公報
【特許文献２】ＷＯ２００５／０６２１８６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記特許文献１のような技術では、画像データの全面からコードを検索する必要があり、コードの検索に多くの時間が掛かってしまう。また、画像データからコードを検索する場面において、画像データの四隅の領域からコードを検索する技術も知られているが、こうした技術では、予め決められた四隅の位置を常に検索するのでコードが存在しない領域も常に検索することになり無駄な処理が生じたり、また、四隅以外の位置にコードが存在する場合にコードを見つけられなかったりするという第１の課題がある。
【０００６】
さらに、上記特許文献２のように、画像データから抽出したコードをデコードし、当該デコードにより得られた情報を用いてファイル名を生成し、当該画像データに該ファイル名を付与するように構成する場合には、以下のような第２の課題が生じる。そもそも上記特許文献２の技術では、処理対象の画像データの他に専用のコード一覧シートを別途準備しておく必要があり、処理対象画像データ内にコードが埋め込まれている場合は想定されていない。仮に、処理対象画像データ内に埋め込まれているコードを利用する場合には、処理対象画像毎に特有のフォーマットでコードが作成され得ることへの対応も必要となる。すなわち、様々なパラメータが様々な形式でエンコードされている可能性を踏まえ、これをデコードして得られる様々な形式の文字列をどう解釈するのかについての対応が必要となる。
【課題を解決するための手段】
【０００７】
上記第１の課題を解決するための本発明に係る画像処理装置は、ユーザから原稿上のコードを検索する位置の指定を、当該原稿の少なくとも左上、右上、左下、右下の中から受け付ける受付手段と、原稿を読み取り画像データを生成する読取手段と、前記読取手段が生成した画像データに基づいて、前記受付手段が受け付けた位置と他の位置からコードを検索する検索手段と、前記検索手段による検索により見つかったコードをデコードするデコード手段とを有し、前記受付手段が受け付けた位置が左上である場合、前記検索手段は前記画像データの左上と右下からコードを検索し、右上と左下からコードを検索せず、前記受付手段が受け付けた位置が右上である場合、前記検索手段は前記画像データの右上と左下からコードを検索し、左上と右下からコードを検索せず、前記受付手段が受け付けた位置が左下である場合、前記検索手段は前記画像データの左下と右上からコードを検索し、左上と右下からコードを検索せず、前記受付手段が受け付けた位置が右下である場合、前記検索手段は前記画像データの右下と左上からコードを検索し、右上と左下からコードを検索しないことを特徴とする。
【発明の効果】
【０００９】
上記第１の課題を解決するための本発明によれば、ユーザが指定した位置に基づいて、高速かつ効率的にコード検索を行うことが可能である。
【００１０】
また、上記第２の課題を解決するための本発明によれば、原稿特有のフォーマットで作成されたコードであっても、コードから必要なデータを抜き出してファイル名や格納先フォルダ名等を生成することが可能である。
【図面の簡単な説明】
【００１１】
【図１】ファイル管理システムの構成の一例を示す図である。
【図２】コード付原稿がＰＣで作成される様子を説明する図である。
【図３】ファイルサーバにおけるファイルの管理構造を示す図である。
【図４】コード付き原稿の元になる印刷イメージデータ生成処理の流れを示すフローチャートである。
【図５】定型業務ボタン設定処理の流れを示すフローチャートである。
【図６】定型業務の際に使用するＵＩ画面の一例を示す図である。
【図７】原稿の置き方とコードの検索対象領域を説明する図である。
【図８】原稿からスキャン画像データを取得し、コードを検出・解析する一連の流れを示すフローチャートである。
【図９】実施例1に係る、スキャン画像データの振分先フォルダ及びファイル名を決定して保存する処理の流れを示すフローチャートである。
【図１０】定型文書に付加されたコードに、ファイル名とフォルダ名とがタグ付きで埋め込まれている場合の一例を説明する図である。
【図１１】定型文書に付加されたコードに、ユーザ名や部門名といった複数のパラメータがタグ付きで埋め込まれている場合の一例を説明する図である。
【図１２】、定型文書に付加されたコードに、ファイル名とフォルダ名とがタグ無しで埋め込まれている場合の一例を説明する図である。
【図１３】定型文書に付加されたコードに、ファイル名のみがタグ無しで埋め込まれている場合の一例を説明する図である。
【図１４】定型文書に付加されたコードに、フォルダ名のみがタグ無しで埋め込まれている場合の一例を説明する図である。
【図１５】実施例２に係る、生成されたスキャン画像データの格納先フォルダおよびファイル名を決定して保存する処理の流れを示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、添付の図面を参照して、本発明を好適な実施例に基づいて詳細に説明する。なお、以下の実施例において示す構成は一例にすぎず、本発明は図示された構成に限定されるものではない。
【００１３】
［実施例１］
本実施例では、原稿をスキャンして得た画像データから二次元コードを検索・デコードし、デコードで得られた情報に基づいてフォルダ名とファイル名を決定して、原稿の画像データをファイルサーバに格納する態様について説明するものとする。
【００１４】
図１は、本実施例に係る、ファイル管理システムの構成の一例を示す図である。ファイル管理システム１００は、ＭＦＰ１１０、ＰＣ１２０、ファイルサーバ１３０で構成され、これらがＬＡＮ等のネットワーク１４０を介して相互に接続されている。
【００１５】
ＭＦＰ１１０は、プリンタやスキャナといった複数の機能を備えたいわゆる複合機（Multi Function Peripheral）と呼ばれる画像形成装置である。ＭＦＰ１１０は、制御部１１１、操作・表示部１１２、プリンタ部１１３、スキャナ部１１４、記憶部１１５、デコード部１１６、送受信部１１７で構成される。
【００１６】
制御部１１１は、ＣＰＵ、ＲＯＭ、ＲＡＭの他、操作・表示部１１２やプリンタ部１１３との各種Ｉ／Ｆを備え、ＭＦＰ１００を統括的に制御する。
【００１７】
操作・表示部１１２は、タッチスクリーン機能を有する液晶パネルなどで構成され、ユーザに対して種々の情報を表示したり、スキャン指示などのユーザ操作を受け付ける。
【００１８】
プリンタ部１１３は、制御部１１１から受け取った画像データを用いて、紙等の記録媒体上に画像を印刷する。
【００１９】
スキャナ部１１４は、原稿台やＡＤＦにセットされた原稿をスキャンして画像データを生成する。以下、スキャンによって得られた原稿の画像データを「スキャン画像データ」と呼ぶ。
【００２０】
記憶部１１５は、例えばＨＤＤであり、ユーザ設定情報などの各種データを記憶する。
【００２１】
デコード部１１６は、ＱＲコード等の二次元コード（以下、コード）をスキャン画像データから検索する処理、及び検索によって見つかったコードのデコード処理（復号化処理）を行う。
【００２２】
送受信部１１７は、ＰＣ１２０やファイルサーバ１３０といった外部装置との間でデータの送受信を行なう。
【００２３】
ＰＣ１２０は、コードを付加した原稿の作成などを行う情報処理装置である。
【００２４】
ファイルサーバ１３０は、ＭＦＰ１１０で利用するスキャン画像データなどの各種データファイルを、階層構造のフォルダに振り分けて保存・管理する情報処理装置である。
【００２５】
[コード付き原稿について]
次に、本実施例において、ＭＦＰ１１０のスキャナ部１１４によるスキャンの対象となる、コード（ＱＲコード）が付加された原稿について説明する。図２は、コード付原稿がＰＣ１２０で作成される様子を説明する図である。図２の例では、左上隅にＱＲコード２０３が付加される定型文書（ここでは納品書）２０２が、予め決められたレイアウトに従って各項目にどのような文字を入力するかが記述された雛形ファイルとしてのCSVファイル２０１に基づいて作成される。参照符号２０４は、ＱＲコード２０３をデコードして得られる情報（文字列）であり、この例では、ファイルサーバ１３０の格納先（振分先）のフォルダ名「鈴木」を指定する情報と、格納時のファイル名を指定する情報「Ａ社納品書」が含まれている。
【００２６】
[ファイルサーバにおけるファイル管理構造]
図３は、ファイルサーバ１３０におけるファイルの管理構造を示す図である。
【００２７】
トップフォルダ３００は、ファイルを格納する際に基準となる、ファイルサーバ１３０の最上位層のフォルダである。振分け先フォルダ３１０〜３３０は、トップフォルダ３００の下位にあるサブフォルダであり、本実施例では各ユーザと対応付けられている（サブフォルダ３１０：鈴木、サブフォルダ３２０：佐藤、サブフォルダ３３０：高橋）。格納ファイル３１１は、サブフォルダ３１０に格納されているファイルであり、本実施例では前述の図２で示した「Ａ社納品書」のデータである。
【００２８】
図２に示すＱＲコード２０３のようなコードであれば、ファイルサーバ１３０のトップフォルダ３００「share」下の振分け先フォルダ「鈴木」３１０に、格納ファイル「Ａ社納品書.pdf」３１１と命名され格納されることになる。
【００２９】
[コード付き原稿の作成]
続いて、ＰＣ１２０において、二次元コード（その一例としてＱＲコード）が付加された原稿が作成されるまでの流れを説明する。図４は、コード付き原稿の元になる印刷イメージデータ生成処理の流れを示すフローチャートである。なお、この一連の処理は、以下に示す手順を記述したコンピュータ実行可能なプログラムをＲＯＭからＲＡＭ上に読み込んだ後に、ＣＰＵによって該プログラムを実行することによって実施される。
【００３０】
ステップ４０１では、ＰＣ１２０の操作部（不図示）を介したユーザ操作によって、スキャン画像データ（ファイル）の格納先フォルダが指定される。本実施例では、フォルダ名として使用する雛形ファイル（ここでは CSVファイル）の列と、タグとして使用する文字列が指定される。具体的には、フォルダ名として使用する列として「担当」の列が指定され、タグとして使用する文字列として「FOLDER:」が指定される。タグはコードをデコードして得られる文字列から特定の情報を抜き出すための目印であり、例えば文字列から「担当者」が誰なのかという情報を抜き出すために使用する。
【００３１】
ステップ４０２では、ＰＣ１２０の操作部（不図示）を介したユーザ操作によって、スキャン画像データを保存する際のファイル名が指定される。本実施例では、ファイル名として使用する CSVファイルの列と、タグとして使用する文字列が指定される。具体的には、ファイル名として使用する列として「ファイル名」の列が指定され、タグとして使用する文字列として「FILENAME:」が指定される。
【００３２】
ステップ４０３では、CSVファイルのレコード（行）の情報が逐次読み込まれる。例えば管理番号「0001」から順に、「0002」、「0003」といった具合に上から下の行に向けて読み込まれる。
【００３３】
ステップ４０４では、読み込んだレコードの各フィールドの情報に従って定型文書イメージデータが生成される。
【００３４】
ステップ４０５では、ステップ４０４で読み込んだフィールドの情報とステップ４０１及び４０２で指定されたタグとを組み合わせて、コード化（符号化）の対象となる文字列が作成される。上述の例では、コード化する文字列は「FOLDER:鈴木; FILENAME:A社納品書」となる。
【００３５】
ステップ４０６では、ステップ４０５で作成された文字列からコードイメージデータが生成される。
【００３６】
ステップ４０７では、ステップ４０４で生成した定型文書イメージデータとステップ４０６で生成したコードイメージデータとを合成して、印刷イメージデータが生成される。生成された印刷イメージデータは、ＭＦＰ１１０へ送受信部１１７を介して送信され、印刷処理される。
【００３７】
ステップ４０８では、CSVファイル内のすべてのレコードについて、印刷イメージデータの生成が完了したかどうかが判定される。未処理のレコードがあればステップ４０３に戻り、次のレコードを対象にして処理を繰り返す。一方、すべてのレコードについて印刷イメージデータの生成が完了していれば、本処理を終える。
【００３８】
以上が、コード付き原稿の元になる印刷イメージデータ生成処理の内容である。このようにして生成された印刷イメージデータがＭＦＰ１１０で印刷処理されて、定型文書としてのコード付き原稿が作成される。
【００３９】
[定型業務処理の準備処理]
続いて、ＭＦＰ１１０における、定型業務処理の準備処理について説明する。ここで、本実施例における定型業務とは、上述のようにして作成された定型文書（コード付き原稿）をＭＦＰ１１０のスキャナ部１１４でスキャンし、得られたスキャン画像データをファイルサーバ１３０上の担当者毎のフォルダにファイル名を付けて格納する処理をいう。
【００４０】
実際の定型業務処理の流れを説明する前に、その準備処理について説明する。具体的には、ユーザが定型業務を行なう際に使用する、ＭＦＰ１１０の操作・表示部１１２に表示されるユーザインタフェース画面としての定型業務画面における、定型業務の内容に応じたＵＩボタン（定型業務ボタン）の設定について説明する。図５は、定型業務ボタン設定処理の流れを示すフローチャートである。以下、図６及び図７において、定型業務の際に使用するＵＩ画面の一例を適宜参照しつつ説明する。
【００４１】
ステップ５０１において、制御部１１１は、操作・表示部１１２上に定型業務画面を表示する。図６（ａ）は、定型業務画面のメイン画面の一例であり、まずこのようなメイン画面６００が操作・表示部１１２に表示される。メイン画面６００内のボタン６０１及び６０２が定型業務ボタンであり、個別の定型業務（すなわち、定型文書）の種類に応じて設けられ、設定完了後にはユーザが指定した名称に更新される（後述の図６（ｅ）を参照）。図６（ａ）は、個別の定型業務が未設定のデフォルト状態であり、「定型業務１」と「定型業務２」の２つの定型業務ボタン６０１／６０２が存在している。もちろん、設定可能な定型業務の数は２つに限定されるものではなく、より多くの定型業務ボタンを設けてもよい。設定ボタン６０３は、定型業務ボタンの設定を行う際に押下するボタンである。
【００４２】
ステップ５０２において、制御部１１１は、ユーザによる定型業務ボタン６０１/６０２の選択と、設定ボタン６０３の押下を受け付ける。ここでは、「定型業務１」に対応する定型業務ボタン６０１が選択されたものとする。
【００４３】
ステップ５０３において、制御部１１１は、操作・表示部１１２上に原稿読取設定画面を表示する。図６（ｂ）は、原稿読取設定画面の一例である。ユーザは、このような原稿読取設定画面６１０において、原稿のサイズや解像度等を入力する。以下、各項目について詳しく説明する。図６（ｂ）に示す原稿読取設定画面６１０において、領域６１１はスキャン対象の原稿のサイズを入力する領域であり、ここでは「Ａ４」が入力されている。領域６１２は読み取り時の解像度を入力する領域であり、ここでは「３００×３００」となっているので３００ｄｐｉの解像度でスキャン処理がなされることになる。領域６１３は原稿の向きを入力する領域であり、ここでは「横」となっているが、縦向きの原稿であれば「縦」を入力する。領域６１４はファイルフォーマットの形式を入力する領域であり、ここでは「ＰＤＦ」となっているので読み取った画像データはＰＤＦの形式で保存されることになる。領域６１５は原稿の向きの自動補正を行うかどうかを指定する領域であり、ここでは「行う」となっているが、ユーザが自動補正を希望しない場合は「行わない」を入力する。領域６１６は原稿に付加するコードの位置を見本原稿から自動で検出して設定するか、或いは「手動」で設定するかを指定する領域であり、領域６１７はそのコード位置を示す数値の入力・表示領域である。いま、領域６１６では「自動」となっている。この場合、図６（ｃ）に示すような、コード位置自動設定画面６２０が操作・表示部１１２に表示され、ユーザはコードが付加された原稿（見本原稿）を原稿台等にセットして読み取らせることで、自動でコード位置を設定することができる。これによって、例えば領域６１７に示されているような値（「左：20ｍｍ」「上：10ｍｍ」）が自動で決定される。仮に領域６１６に「手動」が入力されていれば、領域６１７における２つの数値を、ユーザが直接入力して設定することになる。
【００４４】
ステップ５０４において、制御部１１１は、上述のコード位置設定の領域６１６に入力された内容が「自動」であるか「手動」であるかを判定する。判定の結果、「自動」であればステップ５０５に進む。一方、「手動」であればステップ５１２に進む。
【００４５】
ステップ５０５において、制御部１１１は、上述の原稿読取設定画面６１０におけるコード位置の領域６１７をグレーアウト表示にする。
【００４６】
ステップ５０６において、制御部１１１は、ユーザによる、上述の原稿読取設定画面６１０における「次へ」ボタン６１８の押下を受け付ける。
【００４７】
ステップ５０７において、制御部１１１は、操作・表示部１１２上に、上述のコード位置自動設定画面（図６（ｃ））を表示する。これを受けて、ユーザは、読み取り対象の原稿を原稿台等にセットする。
【００４８】
ステップ５０８において、制御部１１１は、操作・表示部１１２上のスキャンの実行指示（例えば、スタートボタン（不図示）の押下）を受け付ける。
【００４９】
ステップ５０９において、制御部１１１は、スキャナ部１１４に対して原稿のスキャンを指示し、指示を受けてスキャナ部１１４は、原稿をスキャンしてスキャン画像データを生成する。生成されたスキャン画像データは、デコード部１１６へ送られる。
【００５０】
ステップ５１０において、デコード部１１６は、上述の原稿読取設定画面６１０の各項目に入力された情報（すなわち、原稿サイズと原稿向き）を基に、スキャン画像データ上におけるコードの存在する位置を検出する。検出されたコードの位置を特定する座標等の情報（コード位置検出情報）は、制御部１１１に送られる。
【００５１】
ステップ５１１において、制御部１１１は、デコード部１１６から受け取ったコード位置検出情報に従って、上述の原稿読取設定画面６１０における領域６１７に、コード位置を設定する。こうして、見本原稿から自動でコード位置が設定されると、処理はステップ５１４に進む。
【００５２】
ステップ５１２において、制御部１１１は、上述の原稿読取設定画面６１０における領域６１７にユーザが直接入力した数値をコード位置として設定する。
【００５３】
ステップ５１３において、制御部１１１は、ユーザによる、上述の原稿読取設定画面６１０における「次へ」ボタン６１８の押下を受け付ける。これにより処理はステップ５１４に進む。
【００５４】
ステップ５１４において、制御部１１１は、操作・表示部１１２上に、ファイル保存設定画面を表示する。図６（ｄ）は、ファイル保存設定画面の一例を示す図である。ファイル保存設定画面６３０において、領域６３１はファイルサーバ１３０のアドレスを指定する領域であり、ここでは「\\192.168.XX.XX」が指定されている。領域６３２はファイルサーバ１３０のトップフォルダを指定する領域であり、ここでは「share」が指定されている。領域６３３はフォルダ名タグを指定する領域であり、ここでは「FOLDER:」が指定されている。原稿内のコードをデコードして得られる文字列内にフォルダ名タグ「FOLDER:」があれば、そのタグに後続する文字列を格納先のフォルダ名とする。領域６３４はファイル名タグを指定する領域であり、ここでは「FILENAME:」が指定されている。原稿内のコードをデコードして得られる文字列内にファイル名タグ「FILENAME:」があれば、そのタグに後続する文字列をファイル名とする。領域６３５は、格納先フォルダに同一名称のファイルが既に存在し、重複してしまう場合の処理を指定する領域であり、ここでは「上書き」が指定されているが、上書き保存したくない場合は「何もしない」を入力する。また、別名で保存するように設定された場合は、コードで指定されたファイル名の末尾に番号等の文字列を自動的に追加してファイル名を付与するように構成してもよい。領域６３６は定型業務の名称を指定する領域であり、ここでは「納品書」が指定されている。すべての項目について入力が完了すると、ユーザは、ＯＫボタン６３７を押下する。
【００５５】
ステップ５１５において、制御部１１１は、ユーザによる、上述のファイル保存設定画面６３０におけるＯＫボタン６３７の押下を受け付ける。
【００５６】
ステップ５１６において、制御部１１１は、ここまでの処理で設定された各項目についての内容を、「定型業務１」に対応する定型業務として、ファイル保存設定画面６３０の領域６３６で指定された名称（ここでは「納品書」）で記憶部１１５に保存する。
【００５７】
ステップ５１７において、制御部１１１は、指定された定型業務名称をボタン名とした定型業務ボタンを作成し、当該定型業務ボタンの名称を「定型業務１」と差し替えた定型業務画面のメイン画面を、操作・表示部１１２に表示する。図６（ｅ）は、「定型業務１」に代えて名称「納品書」の定型業務ボタンが表示された定型業務画面のメイン画面６００’を示している。以降は、ユーザは、この「納品書」ボタン６４０を押下して、図２に示した定型の納品書を作成することが可能になる。
【００５８】
以上が、定型業務の内容に応じたＵＩボタン（定型業務ボタン）を設定するまでの流れである。こうして、例えば定型の納品書等を作成する定型業務を行なう際のＵＩボタンが作成される。なお、設定した定型業務の内容を変更等したい場合は、定型業務画面において、所望の定型業務ボタンを選択した後、設定ボタン６０３を選択して同様の処理を行い、再設定すればよい。
【００５９】
[コード付き原稿の置き方とスキャン時のコード位置]
ここで、ＭＦＰ１１０の原稿台等へのコード付き原稿の置き方と、スキャン時のコード位置について説明する。
【００６０】
従来は、コードが存在するはずの原稿上の位置について指定せずにスキャンを行って、得られたスキャン画像データの全面に対してコード検索を行っていたため、コードの検出に多くの時間を要していた。そこで、本実施例では、上述の通り、ユーザによって原稿の向きとコード位置を指定するようにしている（前述の図６（ｂ）に示す原稿読取設定画面６１０を参照）。これにより、デコード部１１６は、原稿上の特定された位置（検索対象領域）のみを対象にスキャンを行うことができ、コード検索を高速に行うことが可能となる。
【００６１】
ここで、ユーザによって原稿向きが「横」に指定された場合において、原稿上のコードの位置が、当該原稿の左上隅であったとする（図２の定型文書２０２を参照）。このような原稿をＭＦＰ１１０の原稿台等にセットする場合、図７（ａ）〜（ｄ）に示すように、４通りの置き方がある。ここで例えば、コード位置として図６（ｂ）の領域６１７で特定される値（左：20ｍｍ、上：10ｍｍ）が設定されている場合において、デコード部１１６が当該指定された位置以外について検索を行なわないとすれば、図７（ａ）以外の３つの置き方（図７（ｂ）〜（ｄ））でコード検索は失敗することになる。
【００６２】
そこで、本実施例では、設定された「原稿向き」と「コード位置」の情報に基づいて、以下のようにして原稿上のコード検索を行なうようにしている。
【００６３】
１）原稿台等に正しい向きで原稿がセットされている場合
図７において、「原稿向き」に「横」が指定された場合の正しい置き方は、図７（ａ）で示す横向きの正位置と図７（ｂ）で示す横向きの逆位置の２通りの置き方となる。この２通りの置き方の場合に考えられるコード位置は、横向きの正位置の置き方であれば符号７１１の位置、横向きの逆位置の置き方であれば符号７１１の位置を１８０度回転した符号７１２の位置である。従って、原稿台等に正しい向きで原稿がセットされている場合に本実施例では、デコード部１１６におけるコード検索の対象領域として、破線７２０で示す領域と破線７２１で示す領域の２箇所を指定してスキャンする（図７（ｅ）を参照）。
【００６４】
２）指定された向きとは異なる向きで原稿台等に原稿がセットされている場合
「原稿向き」に「横」が指定された場合の正しい置き方は上述の正位置と逆位置であり、図７（ｃ）や同（ｄ）で示されるように原稿を「縦」にセットした場合は、指定された原稿向きとは異なる置き方となる。このような置き方の場合に考えられるコード位置は、図７（ｃ）の置き方であれば符号７１３の位置、図７（ｄ）の置き方であれば符号７１３の位置を１８０度回転した符号７１４の位置である。従って、原稿台等に正しい向きとは異なる向きで原稿がセットされている場合に本実施例では、デコード部１１６におけるコード検索の対象領域として、破線７３０で示す領域と破線７３１で示す領域の２箇所を指定してスキャンする（図７（ｆ）参照）。
【００６５】
[定型業務処理]
次に、ＭＦＰ１１０における実際の定型業務処理について説明する。定型業務処理は、原稿のスキャン画像データを取得してコードを検出・解析する処理と、スキャン画像データのフォルダ振分け／ファイル命名の処理とに大別される。まず、前者の処理について説明する。
【００６６】
図８は、原稿からスキャン画像データを取得し、コードを検出・解析する一連の流れを示すフローチャートである。
【００６７】
ステップ８０１において、制御部１１１は、操作・表示部１１２上に前述の定型業務画面（図６（ａ）を参照）を表示する。
【００６８】
ステップ８０２において、制御部１１１は、ユーザによる定型業務ボタンの選択を受け付ける。ここでは、図６（ｅ）に示す定型業務画面６００’における「納品書」ボタン６４０が選択（押下）されたものとする。
【００６９】
ステップ８０３において、制御部１１１は、選択された定型業務において指定されている原稿向き（原稿読取設定画面６１０の領域６１３で指定）とコード位置（原稿読取設定画面６１０の領域６１７で指定）の情報を取得する。
【００７０】
ステップ８０４において、制御部１１１は、原稿台等にセットされている原稿の向きをスキャナ部１１４から取得する。
【００７１】
ステップ８０５において、制御部１１１は、ステップ８０３で取得した情報で特定される定型業務に対応付けられた原稿向きと、ステップ８０４で取得した実際にセットされている原稿の向きとが同じであるか判定する。判定の結果、同じ向きであればステップ８０６に進む。一方、異なる向きであればステップ８０７に進む。
【００７２】
ステップ８０６において、制御部１１１は、ステップ８０３で取得したコード位置情報で特定されるコード位置と、当該特定されるコード位置を１８０度回転させた位置（反転させた位置）の２カ所の領域を、コード検索対象領域として設定する。
【００７３】
ステップ８０７において、制御部１１１は、ステップ８０３で取得したコード位置情報で特定されるコード位置を９０度回転させた位置と、当該特定されるコード位置を２７０度回転させた位置の２カ所の領域を、コード検索対象領域として設定する。
【００７４】
ステップ８０８において、スキャナ部は１１４に、制御部１１１からの読み取り指示に従い、原稿台等にセットされた原稿のスキャンを実行する。スキャンによって得られたスキャン画像データ）はＲＡＭに保存された上で、デコード部１１６に送られる。
【００７５】
ステップ８０９において、デコード部１１６は、制御部１１１からのコード検索指示に従い、ステップ８０６で設定されたコード位置を検索対象領域として、スキャン画像データからコードを検索する。
【００７６】
ステップ８１０において、制御部１１１は、デコード部１１６による検索によって、コードが検出されたかどうかを判定する。判定の結果、コードが検出されていれば、ステップ８１１へ進む。一方、コードが検出されていなければ、ステップ８１２へ進む。
【００７７】
ステップ８１１において、デコード部１１６は、制御部１１１からのデコード（復号化）指示に従い、検出されたコードのデコードを試みる。デコードに成功すれば、ステップ８１３へ進む。一方、デコードに失敗すれば、ステップ８１２へ進む。
【００７８】
ステップ８１２において、制御部１１１は、コードの検出処理或いはコードのデコード処理に失敗した旨を、例えばメッセージ画面（不図示）を操作・表示部１１２に表示する等によって、ユーザに通知する。
【００７９】
ステップ８１３において、制御部１１１は、検出されたコード位置の情報をデコード部１１６から取得する。
【００８０】
ステップ８１４において、制御部１１１は、検出されたコード位置とステップ８０３で取得したコード位置情報で特定されるコード位置とが一致せず、かつ、原稿向き自動補正が「行う」に設定されているかを判定する。判定の結果、上記条件に該当する場合はステップ８１５に進む。一方、上記条件に該当しない場合は、ステップ８１７へ進む。
【００８１】
ステップ８１５において、制御部１１１は、ステップ８０３で取得した原稿向き情報で特定される原稿向きと実際の原稿向き、ステップ８０３で取得したコード位置情報で特定されるコード位置と実際のコード位置とに基づいて、ユーザが想定した定型原稿の配置に対して、実際の原稿配置がどれくらい回転しているか（回転角度）を導出する。
【００８２】
ステップ８１６において、制御部１１１は、ステップ８０８で得られたスキャン画像を、ステップ８１５で導出された角度分だけ回転させる。
【００８３】
ステップ８１７において、制御部１１１は、ステップ８０８で得られたスキャン画像或いはステップ８１５で角度の回転処理を行なって得られたスキャン画像を、ユーザが指定したファイルフォーマット（原稿読取設定画面６１０の領域６１４で指定）へ変換する。
【００８４】
以上が、原稿のスキャン画像データを取得してコードを検出・解析する処理の内容である。上述の通り本実施例では、コード位置情報で特定されるコード位置を基準として決定される異なる位置についても検索の対象領域として設定されることになり、原稿の全面をスキャンするよりも高速なコード検索を確保しつつ、指定領域以外にコードが存在する場合にも対応することを可能としている。
【００８５】
本処理の後は、生成されたスキャン画像データのフォルダ振分け／ファイル命名の処理へと進む。
【００８６】
なお、本実施例の特徴は、ユーザが指定するコード位置とは異なる位置（指定された位置を反転等させた位置）も検索対象にする点にあるが、これは、上述のような態様に限定されるものではない。例えば、ＭＦＰ１１０の管理者が事前に原稿上の所定位置（例えば左上隅）をコードの検索対象領域として予め記憶部１１５に登録し、その登録のタイミングで、上記所定位置に加えて、該所定位置を基準として決定される位置（例えばその対角である位置、ここでは右下隅）をセットにして登録するようにしてもよい。そして、ユーザが、上記セットで登録された位置（上述の例では左上隅と右下隅のセット）を選択してスキャンの実行を指示することで、原稿をスキャンして得られた画像データに対し、上記セットで登録された位置を対象にコードの検索がなされるようにしてもよい。
【００８７】
図９は、図８のフローで生成されたスキャン画像データの振分先フォルダ及びファイル名を決定して保存する処理の流れを示すフローチャートである。
【００８８】
ステップ９０１において、制御部１１１は、コードをデコードして得られたコード文字列をデコード部１１６から取得する。図２の参照符号２０４で示すコードの例であれば、「FOLDER:鈴木; FILENAME:A社納品書」がコード文字列として取得されることになる。
【００８９】
ステップ９０２において、制御部１１１は、選択された定型業務において指定されているフォルダ名タグ（ファイル保存設定画面６３０の領域６３３で指定）を取得する。
【００９０】
ステップ９０３において、制御部１１１は、ステップ９０１で取得したコード文字列に、ステップ９０２で取得したフォルダ名タグが含まれているか判定する。判定の結果、コード文字列にフォルダ名タグが含まれている場合は、ステップ９０４へ進む。一方、コード文字列にフォルダ名タグが含まれていない場合は、ステップ９０６へ進む。
【００９１】
ステップ９０４において、制御部１１１は、フォルダ名タグに基づいて、フォルダ名文字列を取得する。コード文字列として「FOLDER:鈴木; FILENAME:A社納品書」が取得されている本実施例の場合であれば、フォルダ名タグ「FOLDER:」であるから、取得されるフォルダ文字列は「鈴木」となる。
【００９２】
ステップ９０５において、制御部１１１は、ステップ９０４で取得したフォルダ文字列とトップフォルダとを組み合わせたものを、振り分け先フォルダに決定する。例えば、トップフォルダが「share」となっている場合（図３を参照）において、フォルダ文字列が「鈴木」であれば、振分け先フォルダは両者を組み合わせた「share\鈴木」となる。
【００９３】
ステップ９０６において、制御部１１１は、トップフォルダを振分け先フォルダに決定する。
【００９４】
ステップ９０７において、制御部１１１は、選択された定型業務において指定されているファイル名タグ（ファイル保存設定画面６３０の領域６３４で指定）を取得する。
【００９５】
ステップ９０８において、制御部１１１は、ステップ９０１で取得したコード文字列に、ステップ９０７で取得したファイル名タグが含まれているか判定する。判定の結果、コード文字列にファイル名タグが含まれている場合は、ステップ９０９へ進む。一方、コード文字列にファイル名タグが含まれていない場合は、ステップ９１０へ進む。
【００９６】
ステップ９０９において、制御部１１１は、ファイル名タグに基づいて、ファイル名文字列を取得する。コード文字列として「FOLDER:鈴木; FILENAME:A社納品書」が取得されている本実施例の場合であれば、ファイル名文字列は「A社納品書」であり、ファイル名は前述のファイルフォーマットを考慮して「A社納品書.pdf」となる。
【００９７】
ステップ９１０において、制御部１１１は、検出されたコードにファイル名タグが見つからない旨を、例えばメッセージ画面を操作・表示部１１２に表示する等してユーザに通知し、エラー終了する。
【００９８】
ステップ９１１において、制御部１１１は、ステップ９０５又はステップ９０６で決定された振分け先フォルダ内に、同じファイル名のファイル（すなわち、ステップ９０９で取得されたファイル名文字列と同じ文字列をファイル名に用いたファイル）が既に存在するかを判定する。判定の結果、同じファイル名のファイルが既に存在する場合は、ステップ９１２に進む。一方、同じファイル名のファイルが存在しなければ、ステップ９１３に進む。
【００９９】
ステップ９１２において、制御部１１１は、選択された定型業務において指定されている重複ファイルの処理（ファイル保存設定画面６３０の領域６３５で指定）が「上書き」であるか判定する。判定の結果「上書き」であれば、ステップ９１３へ進む。一方、「上書き」でなければステップ９１４へ進む。
【０１００】
ステップ９１３において、制御部１１１は、ファイルサーバ１３０における、ステップ９０５又はステップ９０６で決定された振分け先フォルダに、ステップ９０９で取得したファイル名文字列をファイル名に用いて、スキャン画像データを格納する。
【０１０１】
ステップ９１４において、制御部１１１は、指定された文字列をファイル名に使用したファイルが既に存在し重複するため保存できない旨を、例えばメッセージ画面を操作・表示部１１２に表示する等してユーザに通知し、エラー終了する。
【０１０２】
なお、ファイル保存設定画面６３０においてフォルダ名タグやファイル名タグが設定されていない場合には、定型文書の原稿をスキャンした日/時/分/秒といった日時情報を用いてフォルダを作成したり、ファイル名を命名するなどしてもよい。
【０１０３】
また、本実施例では、原稿の画像データをファイルサーバに格納する処理を説明したが、デコードで得られた情報に基づいて所定の処理を行なうものには広く適用可能である。
【０１０４】
以上の述べた通り、本実施例によれば、ユーザ或いは管理者によって、原稿上に存在するコードの検索位置が指定される。そして、その際には、指定された位置以外の位置についても効率的に検索を行なうので、コード検索を高速に行うことができ、かつ、原稿をスキャンして得られた画像データの所定領域以外にコードが存在する場合にも対応することが可能である。
【０１０５】
[実施例２]
実施例１では、図６（ｄ）に示すようなファイル保存設定画面において、フォルダ名タグとファイル名タグをユーザが指定できるようにしていた（入力領域６３３及び６３４）。次に、タグに加えて、区切り文字と文字コードをユーザが指定できるようにした態様について、実施例２として説明する。なお、実施例１と共通する部分については説明を省略ないしは簡略化し、以下では差異点を中心に説明するものとする。
【０１０６】
図１０は、定型文書に付加されたコードに、ファイル名とフォルダ名とがタグ付きで埋め込まれている場合の一例を説明する図である。図１０（ａ）は、図２で示したものと同じ定型文書２０２にコード２０３が付加されており、当該コード２０３をデコードして得られた情報２０４-Ａ内にファイル名とフォルダ名とがタグ付きで、かつ改行されて埋め込まれている様子を示している。以下では、説明の便宜上、タグで指定された文字列データ（値）のことを「タグ値」と呼び、タグを伴わずに文字列データだけが含まれているものを「タグ無し値」と呼ぶこととする。図１０（ｂ）に示すＵＩ画面１０００は、後述する図１５のフローチャート（スキャン画像データの格納先フォルダ及びファイル名を決定して保存する処理のフローチャート）により、コードからタグ値やタグ無し値を取得するための設定を行うコード設定画面である。
【０１０７】
まず、コード設定画面１０００内のタグ設定欄１０１０では、コードに含まれるタグを複数設定可能で、ここではタグ１〜タグ４にそれぞれ対応する入力領域１０１１〜１０１４において、計４つのタグを設定することが出来るようになっている。ここでは、コード２０３をデコードして得られた情報２０４-Ａのうちタグ値“鈴木”を取得するためタグ１に対応する入力領域１０１１に“FOLDER：”が入力され、タグ値“ A社納品書”を取得するためタグ２に対応する入力領域１０１２に“FILENAME：”が入力されている。また、コード設定画面１０００内には、コード２０３に含まれる複数のパラメータ（ここではフォルダ名とファイル名）が何で区切られているのかを指定するための区切り文字設定欄１０１５が存在する。いま、２つのパラメータは改行で区切られているため、プルダウン式の選択領域１０１６において「改行」が選択されている。なお、区切り文字として一般的に使用されるマークとしては、改行以外に、カンマ、セミコロン、スペース等が挙げられる。さらに、コード設定画面１０００には、コード２０３に含まれる文字列の文字コードを指定するための文字コード設定欄１０１７も存在し、同じくプルダウン式の選択領域１０１８において「SJIS」が選択されている。コード２０３に含まれる文字列の文字コードが予め分かっていないと、指定された区切り文字を文字列データから見つけることが出来ないことから、文字コードを併せて設定可能となっている。文字コードに指定可能なものとしてはSJISの他にも、例えば、JIS、EUC等がある。そして、「次へ」ボタン１０１９が押下されることで、図１０（ｃ）に示すフォルダ名設定画面１０２０に遷移する。
【０１０８】
フォルダ名設定画面１０２０は、コード２０３から取得した文字列データや、現在日時（スキャン日時やデータ受信日時など）の情報を使って、フォルダ名を自動生成するための設定を行う画面である。フォルダ名設定画面１０２０内には第１〜第３の３つの名称要素を選択するための領域（以下、名称要素選択領域）１０２１〜１０２３が存在し、それぞれプルダウン式のリストにおいて、４つの「タグ値」、４つの「タグ無し値」、１つの「日時」の合計９つの選択肢が表示され、その中から各１つの名称要素を選択することが可能になっている。本実施例では、後述する図１５のフローチャートにおいて取得されるのが最大４つのタグ値と最大４つのタグ無し値であるためこのような選択肢となっているが、名称要素選択領域の数や各選択領域における選択肢の数は任意である。図１０（ｃ）に示すフォルダ名設定画面１０２０では、名称要素選択領域１０２１〜１０２３で、最大３つの名称要素を選択し、それらに紐づく文字列を使ってフォルダ名を生成できるようになっている。フォルダ名設定画面１０２０にはさらに、選択された名称要素に紐づく文字列同士を連結するための連結文字の種類を設定するための連結文字設定欄１０２４も存在する。連結文字の種類としてはハイフン、アンダーバー、スペース等が挙げられる。いま、図１０（ｃ）では、名称要素選択領域１０２１において「タグ１」が選択され、名称要素選択領域１０２２及び１０２３は未選択となっている。このようにフォルダ名に「タグ１」の文字列のみを使うため、連結文字設定欄１０２４の選択領域１０２５においては「なし」が選択されている。そして、フォルダ名ラベル欄１０２６には、本画面で設定した内容（ここでは“(FOLDER)”）が表示される。図１０（ｃ）の設定では、タグ１のFOLDER:に対応するタグ値を用いてフォルダ名を生成することになるので、文書に付加されているコードのデコード結果が図１０（ａ）の２０４−Ａであった場合、フォルダ名を「鈴木」として生成することになる。そして、「次へ」ボタン１０２７が押下されることでファイル名設定画面１０３０に遷移する。
【０１０９】
ファイル名設定画面１０３０は、コード２０３から取得した文字列データや現在日時の情報を使ってファイル名を自動生成するための設定を行う画面である。ファイル名設定画面１０３０にも、フォルダ名設定画面１０２０と同様、第１〜第３の３つの名称要素選択領域１０３１〜１０３３が存在する。そして、それぞれプルダウン式のリストにおいて、４つの「タグ値」、４つの「タグ無し値」、１つの「日時」（スキャン日時やデータ受信日時など）の合計９つの選択肢が表示され、その中から各１つの名称要素を選択することが可能になっている。図１０（ｄ）に示すファイル名設定画面１０３０では、名称要素選択領域１０３１〜１０３３で、最大３つの名称要素を選択し、それらに紐づく文字列を使ってファイル名を生成できるようになっている。さらに、ファイル名設定画面１０３０には、フォルダ名設定画面１０２０と同様、名称要素選択領域１０３１〜１０３３で選択された文字列同士を連結するための連結文字の種類を設定するための連結文字設定欄１０３４も存在する。いま、ファイル名“”で自動生成するための設定として、図１０（ｄ）では、名称要素選択領域１０３１において「タグ２」が選択され、名称要素選択領域１０３２及び１０３３は未選択となっている。このようにファイル名に「タグ２」の文字列のみを使うため、連結文字設定欄１０３４の選択領域１０３５においては「なし」が選択されている。そして、ファイル名ラベル１０３６には本画面で設定した内容（ここでは“FILENAME”）が表示される。なお、生成されるファイル名には、出力されるファイル形式に応じて末尾に拡張子（ＰＤＦでれば“.pdf”）が付加される。図１０（ｄ）の設定では、タグ２の「FILENAME:」に対応するタグ値を用いてファイル名を生成することになるので、文書に付加されているコードのデコード結果が図１０（ａ）の２０４−Ａであった場合、ファイル名を「A社納品書.pdf」として生成することになる。そして、「設定」ボタン１０３７が押下されることで、上述の各設定画面１０００、１０２０及び１０３０で設定された内容がＭＦＰ１１０の記憶部１１５に保存される。
【０１１０】
図１１は、定型文書に付加されたコードに、ユーザ名や部門名といった複数のパラメータがタグ付きで埋め込まれている場合の一例を説明する図である。図１１（ａ）は、定型文書２０２にコード２０３が付加されており、当該コード２０３をデコードして得られた情報２０４-Ｂ内に、ユーザ名、部門名、課名、商品名がタグ付きで、かつ改行されて埋め込まれている様子を示している。図１１（ｂ）に示すＵＩ画面は、前述の図１０（ｂ）で示したコード設定画面１０００である。ここでは、コード２０３をデコードして得られた情報２０４-Ｂのうちタグ値“鈴木”を取得するためタグ１に対応する入力領域１０１１には“USER：”が入力され、タグ値“営業第１部”を取得するためタグ２に対応する入力領域１０１２には“BUMON：”が入力されている。さらに、タグ値“営業２課”を取得するためタグ３に対応する入力領域１０１３には“KA：”が入力され、タグ値“NotePC”を取得するためタグ４に対応する入力領域１０１４には“SHOHIN：”が入力されている。そして、区切り文字設定欄１０１５では、これら４つのパラメータが改行で区切られていることを示すため、プルダウン式の選択領域１０１６において「改行」が選択されている。また、文字コード設定欄１０１７の選択領域１０１８ではデコードして得られた情報２０４-Ｂに含まれる文字列の文字コードとして“UTF-8”が選択されている。
【０１１１】
次に、図１１（ｃ）に示すフォルダ名設定画面１０２０では、名称要素選択領域１０２１で「タグ２」が、名称要素選択領域１０２２で「タグ３」がそれぞれ選択され、名称要素選択領域１０２３は未選択となっている。さらに、連結文字設定欄１０２４では「＿（アンダーバー）」が選択されている。そして、フォルダ名ラベル欄１０２６には、本画面で設定した内容（ここでは“(BUMON)_(KA)”）が表示される。図１１（ｃ）の設定では、タグ２とタグ３それぞれに対応するタグ値を用いてフォルダ名を生成することになるので、文書に付加されているコードのデコード結果が図１１（ａ）の２０４−Ｂであった場合、フォルダ名を「営業第１部＿営業第２課」として生成することになる。
【０１１２】
そして、図１１（ｄ）に示すファイル名設定画面１０３０では、ファイル名を“”で自動生成するための設定がなされている。具体的には、名称要素選択領域１０３１で「タグ１」（USER:)が、名称要素選択領域１０３２で「タグ４」（ＳＨＯＨＩＮ）が、名称要素選択領域１０３３で「日時」がそれぞれ選択されている。さらに、連結文字設定欄１０３４の選択領域１０３５において「−（ハイフン）」が選択されている。そして、ファイル名ラベル欄１０３６には、本画面で設定した内容（ここでは“(USER)-(SHOHIN)-YYMMDDHHMM”）が表示される。図１１（ｄ）の設定では、タグ１に対応するタグ値とタグ４に対応するタグ値と日時とを用いてファイル名を生成することになるので、文書に付加されているコードのデコード結果が図１１（ａ）の２０４−Ｂであった場合、ファイル名を「鈴木-NotePC-YYMMDDhhmm.pdf」として生成することになる（YYMMDDhhmmには年月日時分が入る）。
【０１１３】
保存時のファイル名の形式や「設定」ボタン１０３７の役割といったその他の点については、図１０で説明した例と異なるところがないので説明を省略する。
【０１１４】
図１２は、定型文書に付加されたコードに、ファイル名とフォルダ名とがタグ無しで埋め込まれている場合の一例を説明する図である。図１２（ａ）は、定型文書２０２にコード２０３が付加されており、当該コード２０３をデコードして得られた情報２０４-Ｃ内に、ファイル名とフォルダ名とがタグ無しで、かつ改行されずに埋め込まれている様子を示している。図１２（ｂ）に示すＵＩ画面は、前述の図１０（ｂ）で示したコード設定画面１０００である。ここでは、コード２０３をデコードして得られた情報２０４-Ｃ内にタグが含まれていないため、タグ１〜４にそれぞれ対応する入力領域１０１１〜１０１４には何も入力されていない。そして、区切り文字設定欄１０１５では、２つのパラメータがセミコロン“；”で区切られていることを示すため、プルダウン式の選択領域１０１６において「；」が選択されている。また、文字コード設定欄１０１７の選択領域１０１８ではデコードして得られた情報２０４-Ｃに含まれる文字列の文字コードとして“EUC”が選択されている。
【０１１５】
次に、図１２（ｃ）に示すフォルダ名設定画面１０２０では、フォルダ名を“A社フォルダ”で自動生成するための設定として、名称要素選択領域１０２１で「タグ無し２」が選択され、名称要素選択領域１０２２及び１０２３は未選択となっている。そして、連結文字設定欄１０２４の選択領域１０２５では、フォルダ名に「タグ無し２」の文字列のみを使うため「なし」が選択されている。そして、フォルダ名ラベル欄１０２６には、本画面で設定した内容（ここでは“(タグ無し２)”）が表示される。
【０１１６】
さらに、図１２（ｄ）に示すファイル名設定画面１０３０では、ファイル名を“A社納品書”で自動生成するための設定として、名称要素選択領域１０３１で「タグ無し１」が選択され、名称要素選択領域１０２２及び１０２３は未選択となっている。そして、連結文字設定欄１０３４の選択領域１０３５では、ファイル名には「タグ無し１」の文字列のみを使うため「なし」が選択されている。そして、ファイル名ラベル欄１０３６には、本画面で設定した内容（ここでは“(タグ無し１)”）が表示される。
【０１１７】
保存時のファイル名の形式や「設定」ボタン１０３７の役割といったその他の点については、図１０で説明した例と異なるところがないので説明を省略する。
【０１１８】
図１３は、定型文書に付加されたコードに、ファイル名のみがタグ無しで埋め込まれている場合の一例を説明する図である。図１３（ａ）は、定型文書２０２にコード２０３が付加されており、当該コード２０３をデコードして得られた情報２０４-Ｄ内に、ファイル名がタグ無しで埋め込まれている様子を示している。図１３（ｂ）に示すＵＩ画面は、前述の図１０（ｂ）で示したコード設定画面１０００である。ここでは、コード２０３をデコードして得られた情報２０４-Ｄ内にタグが含まれていないため、タグ１〜４にそれぞれ対応する入力領域１０１１〜１０１４には何も入力されていない。そして、デコードして得られた情報２０４-Ｄ内には１つのパラメータしか含まれていないため、区切り文字設定欄１０１５の選択領域１０１６は未選択になっている。また、文字コード設定欄１０１７の選択領域１０１８ではデコードして得られた情報２０４-Ｄに含まれる文字列の文字コードとして“SJIS”が選択されている。
【０１１９】
次に、図１３（ｃ）に示すフォルダ名設定画面１０２０では、デコードして得られた情報２０４-Ｄ内にフォルダ名として使えるパラメータが含まれていないため、すべての名称要素選択領域１０２１〜１０２３が未選択となっている。そして、連結文字設定欄１０２４の選択領域１０２５においては「なし」が選択されている。そして、フォルダ名ラベル１０２６には、ファイルサーバ１３０の最上位層のフォルダであるトップフォルダ（ここでは図６（ｄ）の領域６３２で指定された「share」）に格納される旨のメッセージが表示されている。
【０１２０】
さらに、図１３（ｄ）に示すファイル名設定画面１０３０では、ファイル名を“A社納品書”で自動生成するための設定として、前述の図１２（ｄ）と同様、名称要素選択領域１０３１で「タグ無し１」が選択され、名称要素選択領域１０３２及び１０３３は未選択となっている。そして、連結文字設定欄１０３４の選択領域１０３５においても「なし」が選択されている。そして、ファイル名ラベル欄１０３６には、本画面で設定した内容（ここでは“(タグ無し１)”）が表示される。
【０１２１】
保存時のファイル名の形式や「設定」ボタン１０３７の役割といったその他の点については、図１０で説明した例と異なるところがないので説明を省略する。
【０１２２】
図１４は、定型文書に付加されたコードに、フォルダ名のみがタグ無しで埋め込まれている場合の一例を説明する図である。図１４（ａ）は、定型文書２０２にコード２０３が付加されており、当該コード２０３をデコードして得られた情報２０４-Ｅ内に、フォルダ名がタグ無しで埋め込まれている様子を示している。図１４（ｂ）に示すＵＩ画面は、前述の図１０（ｂ）で示したコード設定画面１０００である。ここでは、コード２０３をデコードして得られた情報２０４-Ｅ内にタグが含まれていないため、タグ１〜４にそれぞれ対応する入力領域１０１１〜１０１４には何も入力されていない。そして、デコードして得られた情報２０４-Ｅ内には１つのパラメータしか含まれていないため、図１３（ｂ）と同様、区切り文字設定欄１０１５の選択領域１０１６は未選択になっている。また、文字コード設定欄１０１７の選択領域１０１８ではデコードして得られた情報２０４-Ｅに含まれる文字列の文字コードとして“UTF-8”が選択されている。
【０１２３】
次に、図１４（ｃ）に示すフォルダ名設定画面１０２０では、フォルダ名を“A社フォルダ”で自動生成するための設定として、名称要素選択領域１０２１で「タグ無し１」が選択され、名称要素選択領域１０２２及び１０２３は未選択となっている。そして、連結文字設定欄１０２４の選択領域１０２５では、フォルダ名に「タグ無し１」の文字列のみを使うため「なし」が選択されている。そして、フォルダ名ラベル欄１０２６には、本画面で設定した内容（ここでは“(タグ無し１)”）が表示される。
【０１２４】
さらに、図１４（ｄ）に示すファイル名設定画面１０３０では、デコードして得られた情報２０４-Ｅ内にファイル名として使えるパラメータが含まれていないため、すべての名称要素選択領域１０３１〜１０３３が未選択となっている。そして、連結文字設定欄１０３４の選択領域１０３５では「なし」が選択されている。この場合のファイル名の決定方法としては、例えば固定の文字列に連番を付けたものにするといった手法が一般的であり、ファイル名ラベル１０３６には、その旨のメッセージが表示される。
【０１２５】
保存時のファイル名の形式や「設定」ボタン１０３７の役割といったその他の点については、図１０で説明した例と異なるところがないので説明を省略する。
【０１２６】
上述のとおり、本実施例のフォルダ名設定画面１０２０やファイル名設定画面１０３０では、タグが付いていない文字列をどのように扱うかについてもユーザが設定可能となっている。
【０１２７】
図１５は、本実施例に係る、生成されたスキャン画像データの格納先フォルダおよびファイル名を決定して保存する処理の流れを示すフローチャートである。
【０１２８】
ステップ１５０１において、制御部１１１は、コードをデコードして得られた結果をデコード部１１６から受け取り、文字列データを取得する。具体的には、デコード結果のデータについて、コード設定画面１０００の文字コード設定欄１０１７で設定された文字コードのデータとして解析（解釈）することにより、文字列データを取得する。このように構成することにより、文字化けすることなく文字列データを取得することができる。例えば、図１１のデコード情報２０４-Ｂの場合には「USER：鈴木\nBUMON：営業第１部\nKA：営業第２課\nSHOHIN：NotePC」が文字列データとして取得されることになる。
【０１２９】
ステップ１５０２において、制御部１１１は、コード設定画面１０００の区切り文字設定欄１０１５の設定内容に従って、取得した文字列データを分割する。例えば、図１１のデコード情報２０４-Ｂの場合には区切り文字として「改行」が指定される。したがって、改行コード”\n”を用いて、「USER：鈴木」、「BUMON：営業第１部」、「KA：営業第２課」、「SHOHIN：NotePC」という４つに分割された文字列データ（以下、分割後の文字列を「分割文字列」と呼ぶ。）が取得されることになる。
【０１３０】
ステップ１５０３において、制御部１１１は、ループカウンタの変数i及び、タグ無し値のカウンタの変数Ｎを初期化（ｉ＝１、Ｎ＝１を設定）する。
【０１３１】
ステップ１５０４において、制御部１１１は、i番目の分割文字列にコード設定画面１０００のタグ設定欄１０１０で設定された何れかのタグが含まれるかどうかを判定する。対象の分割文字列に設定されたタグが含まれていた場合は、ステップ１５０５に進む。一方、対象の分割文字列に設定されたタグが含まれていない場合は、ステップ１５０６に進む。
【０１３２】
ステップ１５０５において、制御部１１１は、分割文字列からタグ値に相当する文字列を取得し、該当するタグＸ（本実施例においてＸは１〜４の何れか）に紐づく値として記憶部１１５に格納して保持する。例えば、図１１のデコード情報２０４-Ｂの場合には、１番目の分割文字列「USER：鈴木」がタグ１に設定されたタグ文字列“USER：”を含んでいるため、このタグ文字列に続く文字列“鈴木”をタグ値として取得され、タグ１に紐づく値として保持される。
【０１３３】
ステップ１５０６において、制御部１１１は、i番目の分割文字列をタグ無し値Ｎとして記憶部１１５に格納し保持する。
【０１３４】
ステップ１５０７において、制御部１１１は、タグ無し値カウンタ変数Ｎをインクリメント（＋１）する。
【０１３５】
ステップ１５０８において、制御部１１１は、ループカウンタの変数iをインクリメント（＋１）する。
【０１３６】
ステップ１５０９において、制御部１１１は、未処理の分割文字列がないかを判定する。具体的には、ループカウンタの変数iが取得したいタグ値の最大数（本実施例では４）に到達したかどうかで判定される。すべての分割文字列について処理が完了していれば、ステップ１５１０に進む。一方、未処理の分割文字列があれば、ステップ１５０４に戻って次の分割文字列を対象に処理を続行する。
【０１３７】
ステップ１５１０において、制御部１１１は、ファイル名設定画面１０３０の名称要素選択領域１０３１（第１の名称要素）が未選択か否かを判定する。第１の名称要素が未選択であった場合は、ステップ１５１１に進む。一方、第１の名称要素が選択されていた場合は、ステップ１５１２に進む。
【０１３８】
ステップ１５１１において、制御部１１１は、ファイル名を固定値＋連番（例えば、”FILE_001”）に決定する。
【０１３９】
ステップ１５１２において、制御部１１１は、ファイル名設定画面１０３０の名称要素選択領域１０３２（第２の名称要素）が未選択か否かを判定する。第２の名称要素が未選択であった場合は、ステップ１５１３に進む。一方、第２の名称要素が選択されていた場合は、ステップ１５１４に進む。
【０１４０】
ステップ１５１３において、制御部１１１は、名称要素選択領域１０３１で選択された名称要素（第１の名称要素）の文字列をファイル名に決定する。例えば、第１の名称要素としてタグＸ（Ｘは１〜４の何れか）が設定されていれば、ステップ１５０５で保持されたタグＸに紐づくタグ値がファイル名となる。
【０１４１】
ステップ１５１４において、制御部１１１は、ファイル名設定画面１０３０の名称要素選択領域１０３３（第３の名称要素）が未選択か否かを判定する。第３の名称要素が未選択であった場合は、ステップ１５１５に進む。一方、第３の名称要素が選択されていた場合は、ステップ１５１６に進む。
【０１４２】
ステップ１５１５において、制御部１１１は、名称要素選択領域１０３１及び１０３２で選択された名称要素（第１及び第２の名称要素）の文字列を、連結文字設定欄１０３４で選択された連結文字を用いて連結した名称に、ファイル名を決定する。
【０１４３】
ステップ１５１６において、制御部１１１は、名称要素選択領域１０３１〜１０３３で選択された名称要素（第１〜第３の名称要素）の文字列を、連結文字設定欄１０３４で選択された連結文字を用いて連結した名称に、ファイル名を決定する。
【０１４４】
次に、ステップ１５１７において、制御部１１１は、フォルダ名設定画面１０２０の名称要素選択領域１０２１（第１の名称要素）が未選択か否かを判定する。第１の名称要素が未選択であった場合は、ステップ１５１８に進む。一方、第１の名称要素が選択されていた場合は、ステップ１５１９に進む。
【０１４５】
ステップ１５１８において、制御部１１１は、フォルダを生成しないことを決定し、ファイルの格納先フォルダを、ファイルサーバ１３０の最上位層のフォルダ（図３のトップフォルダ３００）に決定する。
【０１４６】
ステップ１５１９において、制御部１１１は、フォルダ名設定画面１０２０の名称要素選択領域１０２２（第２の名称要素）が未選択か否かを判定する。第２の名称要素が未選択であった場合は、ステップ１５２０に進む。一方、第２の名称要素が選択されていた場合は、ステップ１５２１に進む。
【０１４７】
ステップ１５２０において、制御部１１１は、名称要素選択領域１０２１で選択された名称要素（第１の名称要素）の文字列を、格納先フォルダのフォルダ名に決定する。例えば、第１の名称要素としてタグＸ（Ｘは１〜４の何れか）が設定されていれば、ステップ１５０５で保持されたタグＸに紐づくタグ値がフォルダ名となる。
【０１４８】
ステップ１５２１において、制御部１１１は、フォルダ名設定画面１０２０の名称要素選択領域１０２３（第３の名称要素）が未選択か否かを判定する。第３の名称要素が未選択であった場合は、ステップ１５２２に進む。一方、第３の名称要素が選択されていた場合は、ステップ１５２３に進む。
【０１４９】
ステップ１５２２において、制御部１１１は、名称要素選択領域１０２１及び１０２２で選択された名称要素（第１及び第２の名称要素）の文字列を、連結文字設定欄１０２４で選択された連結文字を用いて連結した名称を、格納先フォルダのフォルダ名に決定する。
【０１５０】
ステップ１５２３において、制御部１１１は、名称要素選択領域１０２１〜１０２３で選択された名称要素（第１〜第３の名称要素）の文字列を、連結文字設定欄１０２４で選択された連結文字を用いて連結した名称を、格納先フォルダのフォルダ名に決定する。
【０１５１】
最後に、ステップ１５２４において、制御部１１１は、本フローで決定したファイルサーバ１３０内の格納先フォルダに、本フローで決定したファイル名を用いて、スキャン画像データを格納する。
【０１５２】
本実施例によれば、原稿に付加されているコードに埋め込まれている文字列データの形式に合わせて、わざわざプログラムを変更することなく、設定を変更するだけで振分け送信時のファイル名、フォルダ名の自動生成を行うことが可能になる。
【０１５３】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【図１】
0006562740.tif 000002
【図２】
0006562740.tif 000003
【図３】
0006562740.tif 000004
【図４】
0006562740.tif 000005
【図５】
0006562740.tif 000006
【図６】
0006562740.tif 000007
【図７】
0006562740.tif 000008
【図８】
0006562740.tif 000009
【図９】
0006562740.tif 000010
【図１０】
0006562740.tif 000011
【図１１】
0006562740.tif 000012
【図１２】
0006562740.tif 000013
【図１３】
0006562740.tif 000014
【図１４】
0006562740.tif 000015
【図１５】
0006562740.tif 000016