(57)【特許請求の範囲】
【請求項１】
特定情報を有するスキャナと通信する情報処理装置で実行されるアプリケーションプログラムであって、前記特定情報は、特定のプログラムで特定処理を施すことが可能なファイルを生成できるスキャナか、特定のプログラムで特定処理を施すことが可能なファイルを生成できないスキャナか、を示す情報である前記アプリケーションプログラムであって、
前記情報処理装置に、
前記スキャナで読み取った画像を取得する画像取得処理と、
前記スキャナから前記特定情報を取得する特定情報取得処理と、
前記画像取得処理にて取得した画像を表すファイルを生成するファイル生成処理と、
を実行させ、さらに、
前記ファイル生成処理では、
前記特定情報が、前記スキャナが特定のプログラムで特定処理を施すことが可能なファイルを生成できるものであることを示す第１情報であった場合、前記特定のプログラムによって特定処理を施すことができるファイルであることを示す利用可能情報を、生成される前記ファイルに埋め込み、
前記特定情報が、前記スキャナが特定のプログラムで特定処理を施すことが可能なファイルを生成できないものであることを示す第２情報であった場合、前記利用可能情報を、生成される前記ファイルに埋め込まない、
ことを特徴とするアプリケーションプログラム。
【請求項２】
請求項１に記載するアプリケーションプログラムにおいて、
前記スキャナの読み取り実行指示を受け付けた場合に、前記特定情報取得処理を実行し、
前記ファイル生成処理では、前記スキャナの読み取り実行指示を受け付けた場合に取得した前記特定情報を用いてファイルを生成する、
ことを特徴とするアプリケーションプログラム。
【請求項３】
請求項１または請求項２に記載するアプリケーションプログラムにおいて、
前記特定情報取得処理を実行した後、取得した前記特定情報を前記情報処理装置のメモリに記憶し、
前記ファイル生成処理では、
前記メモリから読み出した前記特定情報を用いてファイルを生成する、
ことを特徴とするアプリケーションプログラム。
【請求項４】
請求項３に記載するアプリケーションプログラムにおいて、
前記ファイル生成処理では、
前記メモリから読み出した前記特定情報が前記第２情報であった場合、前記特定情報取得処理を再実行し、再実行によって取得した前記特定情報が前記第１情報であった場合、前記利用可能情報を、生成される前記ファイルに埋め込む、
ことを特徴とするアプリケーションプログラム。
【請求項５】
請求項３に記載するアプリケーションプログラムにおいて、
前記ファイル生成処理では、
前記メモリから読み出した前記特定情報が、前記スキャナが特定のプログラムで特定処理を施すことが可能なファイルを生成できるものであるが特定のプログラムで特定の処理を施す設定になっていないことを示す第３情報であった場合、前記特定情報取得処理を再実行し、再実行によって取得した前記特定情報が前記第１情報であった場合、前記利用可能情報を前記ファイルに埋め込む、
ことを特徴とするアプリケーションプログラム。
【請求項６】
請求項１から請求項５のいずれか１つに記載するアプリケーションプログラムにおいて、
前記ファイル生成処理では、
前記ファイルとして、ＰＤＦファイルを生成する、
ことを特徴とするアプリケーションプログラム。
【請求項７】
請求項１から請求項６のいずれか１つに記載するアプリケーションプログラムにおいて、
前記ファイル生成処理では、
前記利用可能情報を、生成される前記ファイルのヘッダに埋め込む、
ことを特徴とするアプリケーションプログラム。
【請求項８】
請求項１から請求項７のいずれか１つに記載するアプリケーションプログラムにおいて、
前記ファイル生成処理では、
前記利用可能情報を前記ファイルに埋め込まない場合、
前記スキャナを識別する識別情報を、生成される前記ファイルに埋め込み、
前記識別情報は、
前記識別情報が埋め込まれた前記ファイルを前記特定のプログラムが読み込んだ場合に、前記特定のプログラムが前記識別情報を用いて前記スキャナから前記特定情報を取得し、取得した前記特定情報が前記第１情報であった場合、前記特定のプログラムによって前記特定処理が施される情報である、
ことを特徴とするアプリケーションプログラム。
【請求項９】
請求項１から請求項８のいずれか１つに記載するアプリケーションプログラムにおいて、
前記ファイル生成処理では、
前記利用可能情報を前記ファイルに埋め込む場合、
前記スキャナを識別する識別情報を、生成される前記ファイルに埋め込み、
前記識別情報は、
前記識別情報が埋め込まれた前記ファイルを前記特定のプログラムが読み込んだ場合に、前記特定のプログラムが前記識別情報を用いて前記スキャナから前記特定情報を取得し、取得した前記特定情報が第２情報であった場合、前記特定のプログラムによって前記特定処理が施されない情報である、
ことを特徴とするアプリケーションプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ファイルを生成する機能を有するアプリケーションプログラムに関する。さらに詳細には、アプリケーションプログラムにおいて、スキャナで読み取られた画像を表すファイルに特定情報を埋め込む技術に関するものである。
【背景技術】
【０００２】
パーソナルコンピュータ（ＰＣ）やスマートフォン等の情報処理装置で実行されるアプリケーションプログラムであって、スキャナで読み取られた画像を取得し、その画像を表すファイルを生成する技術が知られている。例えば、特許文献１には、スキャナで読み取られた画像を表すＰＤＦファイルを生成し、そのＰＤＦファイルを電子メールに添付して送信するシステムが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−２２２３７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
画像を表すファイルに対して特定処理を施す特定のプログラムがある。スキャナには、この特定のプログラムで特定処理を施すことが可能なファイルを生成できるものとできないものとがある。従来、情報処理装置がアプリケーションプログラムを利用してスキャナで読み取られた画像を表すファイルを生成する場合、特定のプログラムで特定処理を施すことが可能なファイルを生成できなかった。本明細書では、スキャナには、特定のプログラムで特定処理を施すことが可能なファイルを生成できるものとできないものとがあることをふまえ、情報処理装置がアプリケーションプログラムを利用してスキャナで読み取られた画像を表すファイルを生成する場合に、特定のプログラムで特定処理を施すことが可能なファイルを適切に生成する技術を提供する。
【課題を解決するための手段】
【０００５】
この課題の解決を目的としてなされたアプリケーションプログラムは、特定情報を有するスキャナと通信する情報処理装置で実行されるアプリケーションプログラムであって、前記特定情報は、特定のプログラムで特定処理を施すことが可能なファイルを生成できるスキャナか、特定のプログラムで特定処理を施すことが可能なファイルを生成できないスキャナか、を示す情報である前記アプリケーションプログラムであって、前記情報処理装置に、前記スキャナで読み取った画像を取得する画像取得処理と、前記スキャナから前記特定情報を取得する特定情報取得処理と、前記画像取得処理にて取得した画像を表すファイルを生成するファイル生成処理と、を実行させ、さらに、前記ファイル生成処理では、前記特定情報が、前記スキャナが特定のプログラムで特定処理を施すことが可能なファイルを生成できるものであることを示す第１情報であった場合、前記特定のプログラムによって特定処理を施すことができるファイルであることを示す利用可能情報を、生成される前記ファイルに埋め込み、前記特定情報が、前記スキャナが特定のプログラムで特定処理を施すことが可能なファイルを生成できないものであることを示す第２情報であった場合、前記利用可能情報を、生成される前記ファイルに埋め込まない、ことを特徴とする。
【０００６】
上記のような、画像を表すファイルを生成する機能を有するアプリケーションプログラムでは、特定のプログラムで特定処理を施すことが可能なファイルを生成できるものか否かに関する特定情報をスキャナから取得し、特定のプログラムで特定処理を施すことが可能なファイルを生成できるスキャナ、すなわち、特定のプログラムに対応するスキャナで読み取られた画像であれば、利用可能情報を埋め込んだファイルを生成し、特定のプログラムで特定処理を施すことが可能なファイルを生成できないスキャナ、すなわち、特定のプログラムに対応しないスキャナで読み取られた画像であれば、利用可能情報を埋め込まないファイルを生成する。このように、アプリケーションプログラムが、画像を読み取ったスキャナの種類によって、利用可能情報が埋め込まれたファイルを生成するか、利用可能情報が埋め込まれていないファイルを生成するか、を切り換える。これにより、利用可能情報が埋め込まれたファイルに特定処理を施す特定のプログラムでは、特定のプログラムに対応するスキャナで読み取った画像を表すファイルには、特定処理を施すことができるが、特定のプログラムに対応しないスキャナで読み取った画像を表すファイルには、特定処理を施すことができない。その結果、特定のプログラムでは、特定のプログラムに対応するスキャナで画像を読み取ったことを条件として、特定処理を施すことができるようになる。よって、情報処理装置は、アプリケーションプログラムを利用してスキャナで読み取られた画像を表すファイルを生成する場合に、スキャナの特定のプログラムへの対応状態に応じて、特定のプログラムで特定処理を施すことが可能なファイルを適切に生成することができる。
【０００７】
上記装置の機能を実現するための制御方法、コンピュータプログラム、および当該コンピュータプログラムを格納するコンピュータにて読取可能な記憶媒体も、新規で有用である。
【発明の効果】
【０００８】
本発明によれば、スキャナで読み取られた画像を表すファイルを生成する機能を有するアプリケーションプログラムであって、情報処理装置がアプリケーションプログラムを利用してスキャナで読み取られた画像を表すファイルを生成する場合に、特定のプログラムで特定処理を施すことが可能なファイルを適切に生成する技術が実現される。
【図面の簡単な説明】
【０００９】
【図１】第１実施形態に係るスキャンアプリを用いたスキャンシステムの概略構成図である。
【図２】スキャンアプリの動作概要を説明する図である。
【図３】選択デバイスファイルのデータ構造の一例を示す図である。
【図４】初期画面からデバイス選択画面の遷移図である。
【図５】画像確認画面からファイル形式選択画面の遷移図である。
【図６】デバイス選択処理の手順を説明するフローチャートである。
【図７】スキャン処理の手順を説明するフローチャートである。
【図８】第２実施形態に係るスキャンアプリの動作概要を説明する図である。
【図９】スキャン処理の手順を説明するフローチャートである。
【図１０】特定処理の手順を説明するフローチャートである。
【発明を実施するための形態】
【００１０】
以下、本実施形態にかかる装置について、添付図面を参照しつつ詳細に説明する。
【００１１】
（第１実施形態）
図１に示すスキャンシステム９は、ＳＰ（スマートフォンの略）６０とＭＦＰ１０とが通信可能に設けられている。ＭＦＰ１０は、スキャン機能、印刷機能、ＦＡＸ機能を実行する複合機である。スキャンシステム９では、ＳＰ６０が、ＭＦＰ１０で読み取った画像を取得して、その画像を表すファイルを生成する。そして、ＳＰ６０は、所定の条件を満たすファイルに対して特定処理を施す。所定の条件については後述する。ＳＰ６０は、情報処理装置の一例である。ＳＰ６０は、ＰＣ、タブレット端末などであっても良い。ＭＦＰ１０は、スキャナの一例である。ＭＦＰ１０は、スキャン機能、印刷機能、ＦＡＸ機能のうちスキャン機能のみを実行可能なスキャン装置や、スキャン機能、印刷機能、ＦＡＸ機能のうちスキャン機能と印刷機能のみを実行可能なコピー機であっても良い。すなわち、ＭＦＰ１０は、画像を読み取るデバイスであれば良い。
【００１２】
ＭＦＰ１０は、ＣＰＵ２１と、ＲＯＭ２２と、ＲＡＭ２３と、不揮発性メモリ２４と、を含むコントローラ１１を備えている。ＭＦＰ１０は、さらに、読取部１２と、印刷部１３と、操作部１４と、表示部１５と、通信部１６とを備え、これらがコントローラ１１に電気的に接続されている。
【００１３】
ＲＯＭ２２には、ＭＦＰ１０の基本動作を制御するファームウェア３０などのプログラムが記憶されている。ファームウェア３０は、書き換えによるバージョンアップが可能である。また、ＲＯＭ２２には、フラグＹなどの各種情報が記憶されている。フラグＹは、特定情報の一例である。フラグＹについては、後述する。
【００１４】
ＲＡＭ２３は、各種処理が実行される際に作業領域として、あるいは、データを一時的に記憶する記憶領域として利用される。不揮発性メモリ２４は、例えば、ＨＤＤ、フラッシュメモリであり、各種のプログラムやデータを記憶する。不揮発性メモリ２４は、例えば、ＳＰ６０からの指示で読み取った画像のデータを、ＳＰ６０に送信するまで記憶する。
【００１５】
ＣＰＵ２１は、ＲＯＭ２２や不揮発性メモリ２４から読み出したプログラムに従って、また、ユーザの指示に基づいて、各種の処理を実行する。なお、コントローラ１１は、ＭＦＰ１０の制御に利用されるハードウェアやソフトウェアを纏めた総称であって、実際にＭＦＰ１０に存在する単一のハードウェアを表すとは限らない。
【００１６】
読取部１２は、原稿の画像を読み取る装置である。印刷部１３は、記録媒体に画像データを印刷する装置である。操作部１４は、ユーザによる入力を受け付ける装置である。表示部１５は、情報の表示を行う装置である。通信部１６は、ＳＰ６０などの外部機器と通信を行うためのハードウェアを含む。通信部１６の通信方式は、ＵＳＢ、Ｗｉ−Ｆｉ（登録商標）、Ｂｌｕｅｔｏｏｔｈ（登録商標）など、どのような規格の方式でもよいし、無線でも有線でもよい。
【００１７】
一方、ＳＰ６０は、ＣＰＵ７１と、ＲＯＭ７２と、ＲＡＭ７３と、不揮発性メモリ７４と、を含むコントローラ６１を備えている。さらに、ＳＰ６０は、通信部６２と操作パネル６３を備え、これらがコントローラ６１に電気的に接続されている。
【００１８】
ＲＯＭ７２には、各種プログラム等が記憶されている。ＲＡＭ７３は、各種処理が実行される際に作業領域として、あるいは、データを一時的に記憶する記憶領域として利用される。不揮発性メモリ７４は、例えば、ＨＤＤ、フラッシュメモリであり、各種のプログラムやデータを記憶する領域として利用される。
【００１９】
ＣＰＵ７１は、ＲＯＭ７２や不揮発性メモリ７４から読み出したプログラムに従って、また、ユーザの指示に基づいて、各種の処理を実行する。なお、コントローラ６１は、ＳＰ６０の制御に利用されるハードウェアやソフトウェアを纏めた総称であって、実際にＳＰ６０に存在する単一のハードウェアを表すとは限らない。ＣＰＵ７１は、コンピュータの一例である。なお、コントローラ６１をコンピュータの一例にしても良い。
【００２０】
通信部６２は、ネットワークを介して接続された外部装置と通信を行うためのハードウェアを含む。操作パネル６３は、例えば、タッチパネルであり、ユーザによる入力を受け付けるとともに情報の表示を行う。
【００２１】
本形態のＳＰ６０は、スキャンアプリ１と特定処理アプリ２とを不揮発性メモリ７４に記憶している。また、ＳＰ６０は、第１フォルダ３と第２フォルダ４を不揮発性メモリ７４に設けている。更に、ＳＰ６０は、選択デバイスファイル５を不揮発性メモリ７４に記憶している。スキャンアプリ１は、アプリケーションプログラムの一例である。特定処理アプリ２は、特定のプログラムの一例である。不揮発性メモリ７４は、メモリの一例である。
【００２２】
図２に示すように、スキャンアプリ１は、ＳＰ６０と別体のＭＦＰ１０が読み取った画像を取得して、ユーザが指定するファイル形式で当該画像を表すファイルを生成し、生成したファイルを所定の保存先に記憶させるアプリである。本実施例では、所定の保存先は第１フォルダ３である。ファイル形式は、例えば、ＰＤＦやＪＰＥＧである。
【００２３】
特定処理アプリ２は、所定の保存先（すなわち、第１フォルダ３）に記憶されたファイルが、所定の条件を満たす場合に、特定処理を施すものである。所定の条件を満たす場合とは、特定処理アプリ２で特定処理を施すことができるファイルであることを示す利用可能情報Ｚをファイルが含んでいる場合をいう。特定処理は、例えば、ファイル名を変更する処理や、ファイルを複数のファイルに分割する処理である。本形態では、特定処理の内容を示すコマンドは、バーコードなどの画像に埋め込まれている。特定処理アプリ２で処理されたファイルは、第２フォルダ４に記憶される。
【００２４】
ここで、ＭＦＰ１０には、特定処理アプリ２で特定処理を施すことが可能なファイル、すなわち、利用可能情報Ｚを含むファイル、を生成できるものとできないものがある。つまり、ＭＦＰ１０には、特定処理アプリ２に対応するものとしないものとがある。そこで、ＭＦＰ１０は、モデル情報や識別情報の他に、フラグＹをＲＯＭ２２に記憶している。
【００２５】
モデル情報は、ＭＦＰ１０の機種を示す情報であり、例えば型番である。識別情報は、ＭＦＰ１０に固有に付与された情報であり、例えば、製品番号やＩＰアドレスやＭＡＣアドレスなどである。フラグＹは、特定処理アプリ２で特定処理を施すことが可能なファイルを生成できるデバイスであるか否かを示す情報である。つまり、フラグＹは、ＭＦＰ１０の特定処理アプリ２への対応状態を示す情報である。本形態では、フラグＹの書き換えは、サービス担当者のみが可能な操作により行われる。
【００２６】
フラグＹには、「ＯＮ」と、「ＯＦＦ」と、「ＮＳ（Ｎｏｔ  Ｓｕｐｐｏｒｔｅｄの略）」の何れかがフラグ値として設定される。
【００２７】
「ＯＮ」のフラグ値は、特定処理アプリ２に対応可能であって、特定処理アプリ２に対応する設定になっていることを示すフラグ値である。「ＯＦＦ」のフラグ値は、特定処理アプリ２に対応可能であって、特定処理アプリ２に対応する設定になっていないことを示すフラグ値である。「ＮＳ」のフラグ値は、特定処理アプリ２に非対応であることを示す情報である。
【００２８】
例えば、ＭＦＰ１０のうち、モデル情報が”１２３４”のＭＦＰ１０Ａ，１０Ｂは、特定処理アプリ２に対応可能な機種であり、モデル情報が”５６７８”のＭＦＰ１０Ｃは、特定処理アプリ２に非対応の機種であるとする。
【００２９】
特定処理アプリ２に対応可能な機種であるＭＦＰ１０Ａ，１０Ｂは、運用により、特定処理アプリ２に対応する設定にも対応しない設定にもすることができる。ＭＦＰ１０Ａは、フラグＹのフラグ値が「ＯＮ」であり、特定処理アプリ２に対応する設定である。つまり、ＭＦＰ１０Ａは、利用可能情報Ｚを埋め込んだファイルを生成できるものである。一方、ＭＦＰ１０Ｂは、フラグＹのフラグ値が「ＯＦＦ」であり、特定処理アプリ２に対応しない設定である。つまり、ＭＦＰ１０Ｂは、利用可能情報Ｚを埋め込んだファイルを生成しないものである。
【００３０】
ＭＦＰ１０Ａ，１０Ｂは、運用の変更により、特定処理アプリ２に対する対応状態が変更される可能性がある。例えば、フラグＹのフラグ値が「ＯＦＦ」であるＭＦＰ１０Ｂは、ファームウェア３０のアップグレードにより、フラグＹのフラグ値が「ＯＦＦ」から「ＯＮ」に変更され、特定処理アプリ２に対応する機種に変更される可能性がある。また、フラグＹのフラグ値が「ＯＮ」であるＭＦＰ１０Ａは、例えば、特定処理アプリ２に対応するファームウェア３０の試用期間の経過により、フラグＹのフラグ値が「ＯＮ」から「ＯＦＦ」に変更され、特定処理アプリ２に対応しない機種に変更される可能性がある。
【００３１】
これに対し、特定処理アプリ２に対応できない機種、つまり、非対応の機種であるＭＦＰ１０Ｃは、フラグＹに「ＮＳ」のフラグ値が設定される。つまり、ＭＦＰ１０Ｃは、利用可能情報Ｚを埋め込んだファイルを生成しないものである。特定処理アプリ２に非対応の機種は、原則的に、フラグ値が「ＮＳ」から変更されることはない。
【００３２】
尚、本明細書では、ＭＦＰ１０Ａ，１０Ｂ，１０Ｃ…を特に区別する必要がない場合、ＭＦＰ１０と包括的に記載する。
【００３３】
ところで、ＭＦＰ１０は、読取部１２で読み込んだ画像をＪＰＥＧ形式にして、ＳＰ６０に渡す。つまり、ＭＦＰ１０は、利用可能情報Ｚを含まないファイルをＳＰ６０に渡す。ＳＰ６０は、ＭＦＰ１０と別体であるため、単にＭＦＰ１０からＪＰＥＧファイルを受信するだけでは、ＭＦＰ１０が特定処理アプリ２に対応するものか否かを判断することができず、特定処理アプリ２で特定処理を施すことが可能なＰＤＦファイルＸを生成することができない。そこで、スキャンアプリ１は、画像を読み取るＭＦＰ１０からフラグＹを取得し、フラグ値に応じて利用可能情報ＺをＰＤＦファイルＸに埋め込むように構成されている。
【００３４】
つまり、スキャンアプリ１は、フラグＹのフラグ値が「ＯＮ」であるＭＦＰ１０Ａで読み取った画像を表すＰＤＦファイルＸ１には、ＭＦＰ１０Ａがファイルを生成する場合と同様に、利用可能情報Ｚを埋め込む。また、スキャンアプリ１は、フラグＹのフラグ値が「ＯＦＦ」であるＭＦＰ１０Ｂで読み取った画像を表すＰＤＦファイルＸ２には、ＭＦＰ１０Ｂがファイルを生成する場合と同様に、利用可能情報を埋め込まない。更に、スキャンアプリ１は、フラグＹのフラグ値が「ＮＳ」であるＭＦＰ１０Ｃで読み取った画像を表すＰＤＦファイルＸ３には、ＭＦＰ１０Ｃがファイルを生成する場合と同様に、利用可能情報Ｚを埋め込まない。尚、本明細書では、ＰＤＦファイルＸ１，Ｘ２，Ｘ３…を特に区別する必要がない場合、ＰＤＦファイルＸと包括的に記載する。
【００３５】
第１フォルダ３は、スキャンアプリ１が生成したファイルを記憶する記憶領域である。従って、利用可能情報Ｚが埋め込まれたＰＤＦファイルＸ１も、利用可能情報Ｚが埋め込まれないＰＤＦファイルＸ２，Ｘ３も、第１フォルダ３に記憶される。更に、第１フォルダ３には、ＰＤＦ以外のファイル形式で生成されたファイルも記憶される。
【００３６】
第２フォルダ４は、特定処理アプリ２が処理したデータを記憶する記憶領域である。第２フォルダ４は、ＳＰ６０内のメモリではなく、ＵＳＢやＦＴＢサーバ、クラウドサーバなどの外部ストレージ媒体であっても良い。また、第２フォルダ４は、単一のフォルダに限らず、複数のフォルダで構成されていても良い。この場合、例えば、ＰＤＦファイルＸ１から分割した分割ファイルＸ１ａ，Ｘ１ｂを別個のフォルダに記憶させても良い。
【００３７】
選択デバイスファイル５は、図３に示すように、スキャンの実行対象として選択されたデバイス（以下、選択デバイスとも記載する）に関する情報を記憶するものである。選択デバイスファイル５には、例えば、モデル情報記憶領域５１と、識別情報記憶領域５２と、スキャン能力記憶領域５３と、フラグ記憶領域５４とが存在する。
【００３８】
モデル情報記憶領域５１には、選択デバイスのモデル情報が記憶される。モデル情報は、例えば型番である。識別情報記憶領域５２には、選択デバイスに個別に付与された識別情報が記憶される。識別情報は、例えば、製造番号やＩＰアドレスやＭＡＣアドレスなどである。スキャン能力記憶領域５３には、選択デバイスのスキャン能力に関する情報が記憶される。スキャン能力に関する情報は、例えば、解像度や色再現性などである。フラグ記憶領域５４には、選択デバイスから取得したフラグＹのフラグ値が記憶される。
【００３９】
続いて、スキャンシステム９の動作概要を図４及び図５を参照して説明する。なお、以下の処理およびフローチャートの各処理ステップは、基本的に、アプリケーションやモジュールなどのプログラムに記述された命令に従ったＣＰＵの処理を示す。すなわち、以下の説明における「判断」、「選択」、「取得」、「受付」、「制御」等の処理は、ＣＰＵの処理を表している。ＣＰＵによる処理は、装置のＯＳ（Operating Systemの略）のＡＰＩを用いたハードウェア制御も含む。本明細書では、ＯＳの記載を省略して各プログラムの動作を説明する。すなわち、以下の説明において、「プログラムがハードウェアを制御する」という趣旨の記載は、「プログラムがＯＳのＡＰＩを用いてハードウェアを制御する」ことを指してもよい。なお、「取得」は要求を必須とはしない概念で用いる。すなわち、ＣＰＵが要求することなくデータを受信するという処理も、「ＣＰＵがデータを取得する」という概念に含まれる。また、本明細書中の「データ」とは、装置に読取可能なビット列で表される。そして、実質的な意味内容が同じでフォーマットが異なるデータは、同一のデータとして扱われるものとする。本明細書中の「情報」についても同様である。
【００４０】
ＳＰ６０は、スキャンアプリ１が起動している状態で、例えば図４に示すスキャンアプリ１の初期画面１１０においてデバイス選択１１１がタップされると、ＳＰ６０と通信可能なデバイスを検索し、デバイス選択画面１２０を表示する。図中符号１２１，１２２，１２３に示すように、デバイス選択画面１２０には、検索されたデバイスのモデル情報と識別情報がそれぞれ表示される。例えば、ＭＦＰ１０を示す情報がタップされると、ＳＰ６０は、タップされたＭＦＰ１０を選択デバイスとして受け付ける。ＳＰ６０は、選択されたＭＦＰ１０に再度アクセスして、スキャン能力やフラグＹなどの能力値を取得する。そして、ＳＰ６０は、選択デバイスファイル５を生成し、不揮発性メモリ７４に記憶する。これにより、選択したＭＦＰ１０のフラグＹが永続的にＳＰ６０に記憶される。
【００４１】
ＳＰ６０は、デバイスの選択が完了した後、図４に示す初期画面１１０のスキャン１１２がタップされると、選択したＭＦＰ１０にスキャン実行指示を送信し、原稿の画像を読み取らせる。ＳＰ６０は、ＭＦＰ１０で読み取った画像のＪＰＥＧファイルを受信すると、例えば図５に示すように、受信した画像１３１を画像確認画面１３０に表示させる。ＳＰ６０は、保存ボタン１３２がタップされると、ファイル形式選択画面１４０を表示する。ＰＤＦ１４１が選択されると、ＳＰ６０は、選択デバイスで読み取った画像を表すＰＤＦファイルＸを生成する。
【００４２】
この場合において、ＳＰ６０は、図２に示すように、フラグＹのフラグ値が「ＯＮ」に設定されているＭＦＰ１０Ａが選択デバイスとして選択され、ＭＦＰ１０ＡからＪＰＥＧファイルを受信した場合、ヘッダに利用可能情報Ｚを埋め込んだＰＤＦファイルＸ１を生成する。
【００４３】
一方、ＳＰ６０は、フラグＹのフラグ値が「ＯＦＦ」に設定されているＭＦＰ１０Ｂが選択デバイスとして選択され、ＭＦＰ１０ＢからＪＰＥＧファイルを受信した場合、ヘッダに利用可能情報Ｚを埋め込まないＰＤＦファイルＸ２を生成する。また、ＳＰ６０は、フラグＹのフラグ値が「ＮＳ」に設定されているＭＦＰ１０Ｃが選択デバイスとして選択され、ＭＦＰ１０ＣからＪＰＥＧファイルを受信した場合、ヘッダに利用可能情報Ｚを埋め込まないＰＤＦファイルＸ３を生成する。
【００４４】
ＳＰ６０は、生成したＰＤＦファイルＸを第１フォルダ３に記憶する。
【００４５】
続いて、特定処理アプリ２の動作の説明を行う。ＳＰ６０においては、特定処理アプリ２は常時起動しており、第１フォルダ３にファイルが記憶されることを監視している。
【００４６】
ＳＰ６０が、利用可能情報が埋め込まれたＰＤＦファイルＸ１を第１フォルダ３に記憶すると、特定処理アプリ２が、ＰＤＦファイルＸ１の画像に埋め込まれたコマンドに従って、ＰＤＦファイルＸ１に特定処理を施す。例えば、コマンドがファイルの分割である場合には、ＰＤＦファイルＸ１を分割ファイルＸ１ａと分割ファイルＸ１ｂに分割し、第２フォルダ４に記憶する。また例えば、コマンドがファイル名の変更である場合には、ＰＤＦファイルＸ１のファイル名を変更して第２フォルダ４に記憶する。
【００４７】
これに対して、利用可能情報が埋め込まれていないＰＤＦファイルＸ２，Ｘ３を第１フォルダ３に記憶しても、特定処理アプリ２は、ＰＤＦファイルＸ２，Ｘ３に特定処理を施さない。
【００４８】
このように、ＳＰ６０は、選択したＭＦＰ１０からフラグＹを取得し、フラグＹに応じて利用可能情報Ｚを埋め込んだＰＤＦファイルＸを生成することで、特定処理アプリ２に対応するＭＦＰ１０で読み取った画像のＰＤＦファイルＸには、特定処理アプリ２による特定処理を施すことができる。つまり、特定処理アプリ２では、特定処理アプリ２に対応するＭＦＰ１０で画像を読み取ったことを条件として、特定処理を施すことができる。よって、ＳＰ６０は、スキャンアプリ１を利用してＭＦＰ１０で読み取られた画像を表すＰＤＦファイルＸを生成する場合に、ＭＦＰ１０の特定処理アプリ２への対応状態に応じて、特定処理アプリ２で特定処理を施すことが可能なＰＤＦファイルＸを適切に生成することができる。
【００４９】
続いて、スキャンアプリ１の詳細な動作手順を、図６および図７を参照して説明する。ＳＰ６０のＣＰＵ７１は、スキャンアプリ１が起動され、図４に示す初期画面１１０においてデバイス選択１１１がタップされたことを契機に、図６に示すデバイス選択処理を実行する。
【００５０】
ＣＰＵ７１は、通信部６２を制御して、通信可能なデバイスを検索する（Ｓ１１）。ＣＰＵ７１は、操作パネル６３を制御して、検出したデバイスを図４に示すデバイス選択画面１２０に一覧表示する（Ｓ１２）。つまり、ＣＰＵ７１は、通信に成功したデバイスからモデル情報と識別情報を取得し、デバイス選択画面１２０に表示する。
【００５１】
その後、ＣＰＵ７１は、デバイスの選択を受け付けたか否かを判断する（Ｓ１３）。デバイス選択画面１２０に表示されるデバイスの何れかがタップされるまで、ＣＰＵ７１は待機する（Ｓ１３：ＮＯ）。
【００５２】
一方、デバイス選択画面１２０に表示されるデバイスの一つがタップされると、ＣＰＵ７１は、タップされたデバイスを選択デバイスとして受け付ける（Ｓ１３：ＹＥＳ）。そして、ＣＰＵ７１は、通信部６２を制御して、Ｓ１３にて選択された選択デバイス（すなわちＭＦＰ１０）の通信部１６に接続し、選択デバイス（ＭＦＰ１０）から能力値を取得する（Ｓ１４）。Ｓ１４の処理は、特定情報取得処理の一例である。ＣＰＵ７１は、選択されたＭＦＰ１０からのみスキャン能力やフラグＹなどの情報を取得するので、処理時間が短縮される。
【００５３】
それから、ＣＰＵ７１は、Ｓ１４にて取得した能力値を選択デバイスファイル５に記憶する（Ｓ１５）。すなわち、ＣＰＵ７１は、Ｓ１４にて取得したスキャン能力やフラグＹなどの能力値を、Ｓ１１のデバイス検索時に取得したモデル情報と識別情報に関連付けて不揮発性メモリ７４に記憶させる。
【００５４】
つまり、ＣＰＵ７１は、Ｓ２のデバイス検索時に取得したモデル情報と識別情報のうち、選択したＭＦＰ１０に関するものを、図３に示す選択デバイスファイル５のモデル情報記憶領域５１と識別情報記憶領域５２にそれぞれ記憶させる。また、ＣＰＵ７１は、図３に示す選択デバイスファイル５のスキャン能力記憶領域５３に、Ｓ１４にて取得した能力値に含まれるスキャン能力に関する情報を記憶させる。
【００５５】
さらに、ＣＰＵ７１は、Ｓ１４にて取得したフラグＹを、図３に示す選択デバイスファイル５のフラグ記憶領域５４に記憶させる。具体的に、例えば、取得したフラグＹのフラグ値が「ＯＮ」である場合、ＣＰＵ７１はフラグ記憶領域５４に「ＯＮ」を記憶させる。これと同様に、ＣＰＵ７１は、フラグ記憶領域５４に「ＯＦＦ」または「ＮＳ」を記憶させることも可能である。これにより、ＳＰ６０は、選択したＭＦＰ１０の特定処理アプリ２に対する対応状態を永続的に記憶する。その後、ＣＰＵ７１は、図６に示す処理を終了する。
【００５６】
ＣＰＵ７１は、図６に示すデバイス選択処理を終了すると、図４に示す初期画面１１０を表示する。ＣＰＵ７１は、図４に示す初期画面１１０のスキャン１１２がタップされたことを契機に、図７に示すスキャン処理を実行する。
【００５７】
スキャン処理では、ＣＰＵ７１は、通信部６２を介して、図６のデバイス選択処理にて選択されたＭＦＰ１０にアクセスし、スキャン実行指示を送信する（Ｓ２１）。ＭＦＰ１０は、読取部１２にセットされた原稿の画像を読み取り、その画像を表すＪＰＥＧファイルを通信部１６を介してＳＰ６０に返信する。
【００５８】
ＣＰＵ７１は、ＭＦＰ１０からデータ（すなわち、ＪＰＥＧファイル）を受信すると（Ｓ２２）、操作パネル６３を制御し、図５に示す画像確認画面１３０に受信した画像１３１を表示させる（Ｓ２３）。Ｓ２２の処理は、画像取得処理の一例である。そして、ＣＰＵ７１は、画像を保存するかキャンセルするかの指示を待つ（Ｓ２４）。ＣＰＵ７１は、画像確認画面１３０のキャンセルボタン１３３がタップされると、キャンセルの指示を受け付け（Ｓ２４：キャンセル）、図７に示す処理を終了する。つまり、ＣＰＵ７１は、ＭＦＰ１０が読み取った画像１３１のファイルを生成しない。
【００５９】
一方、ＣＰＵ７１は、画像確認画面１３０の保存ボタン１３２がタップされると、保存の指示を受け付け（Ｓ２４：保存）、図５に示すファイル形式選択画面１４０を操作パネル６３に表示させる（Ｓ２５）。そして、ＣＰＵ７１は、選択されたファイル形式（以下「選択ファイル形式」と記載する）がＰＤＦファイルか否かを判断する（Ｓ２６）。図５に示すファイル形式選択画面１４０に表示されるファイル形式のうち、ＰＤＦ以外のファイル形式（ＪＰＥＧなど）がタップされた場合には、ＣＰＵ７１は、選択ファイル形式がＰＤＦファイルでないと判断する（Ｓ２６：ＮＯ）。この場合、ＣＰＵ７１は、選択ファイル形式でファイルを生成し、第１フォルダ３に記憶させる（Ｓ２７）。
【００６０】
これに対して、図５に示すファイル形式選択画面１４０に表示されるファイル形式のうち、ＰＤＦ１４１がタップされた場合には、ＣＰＵ７１は、選択ファイル形式がＰＤＦファイルであると判断する（Ｓ２６：ＹＥＳ）。この場合、ＣＰＵ７１は、選択デバイスファイル５のフラグ記憶領域５４に記憶されたフラグ値を読み出す（Ｓ２８）。デバイス選択時にフラグ記憶領域５４に記憶されたフラグ値を用いるので、ＣＰＵ７１は、スキャン実行時に選択デバイスと通信する回数が少なくなり、スキャンにかかる時間を短縮できる。そして、ＣＰＵ７１は、Ｓ２８にて読み出したフラグ値が「ＮＳ」か否かを判断する（Ｓ２９）。
【００６１】
ＣＰＵ７１は、Ｓ２８にて読み出したフラグ値が「ＮＳ」であると判断した場合（Ｓ２９：ＹＥＳ）、利用可能情報Ｚをヘッダに埋め込まないで、受信した画像を表すＰＤＦファイルを生成する（Ｓ３０）。そして、ＣＰＵ７１は、生成したＰＤＦファイルを第１フォルダ３に記憶させてから（Ｓ３１）、処理を終了する。
【００６２】
つまり、ＣＰＵ７１は、特定処理アプリ２に非対応のＭＦＰ１０Ｃを利用してスキャンを実行した場合、利用可能情報Ｚが埋め込まれていないＰＤＦファイルＸ３を生成する。よって、ＣＰＵ７１は、特定処理アプリ２に非対応のＭＦＰ１０Ｃが読み取った画像のＰＤＦファイルＸ３にアクセスしても、特定処理を施さない。
【００６３】
一方、ＣＰＵ７１は、Ｓ２８にて読み出したフラグＹのフラグ値が「ＮＳ」ではないと判断した場合（Ｓ２９：ＮＯ）、Ｓ２８にて読み出したフラグ値が「ＯＮ」か否かを判断する（Ｓ３２）。ＣＰＵ７１は、Ｓ２８にて読み出したフラグ値が「ＯＮ」であると判断した場合（Ｓ３２：ＹＥＳ）、利用可能情報Ｚをヘッダに埋め込んで、受信した画像のＰＤＦファイルＸを生成する（Ｓ３７）。そして、ＣＰＵ７１は、生成したＰＤＦファイルＸを第１フォルダ３に記憶させた後（Ｓ３１）、処理を終了する。
【００６４】
つまり、ＣＰＵ７１は、特定処理アプリ２に対応可能なモデルであって、対応を許可されたＭＦＰ１０Ａでスキャンを実行した場合、利用可能情報Ｚが埋め込まれたＰＤＦファイルＸ１を生成する。よって、特定処理アプリ２は、特定処理アプリ２に対応するＭＦＰ１０Ａが読み取った画像のＰＤＦファイルＸ１に特定処理を施すことができる。
【００６５】
これに対し、ＣＰＵ７１は、Ｓ２８にて読み出したフラグ値が「ＯＦＦ」である、すなわち、「ＯＮ」でないと判断した場合（Ｓ３２：ＮＯ）、選択したＭＦＰ１０に接続する（Ｓ３３）。そして、ＣＰＵ７１は、ＭＦＰ１０のフラグＹを再取得し（Ｓ３４）、再取得したフラグＹのフラグ値が「ＯＮ」であるか否かを判断する（Ｓ３５）。ＭＦＰ１０は、特定処理アプリ２に対応可能な機種であり、アップグレード等により特定処理アプリ２に対応する設定に、つまり、フラグＹのフラグ値が「ＯＮ」に変更されている可能性があるからであるため、フラグＹを再取得する。つまり、ＣＰＵ７１は、既知のフラグ値が「ＯＦＦ」である場合には、選択デバイスの最新のフラグ値を取得し、「ＯＮ」か否かを判断する。
【００６６】
ＣＰＵ７１は、再取得したフラグ値が「ＯＦＦ」である場合、つまり、再取得したフラグ値が「ＯＮ」でない場合には（Ｓ３５：ＮＯ）、利用可能情報Ｚを埋め込まないＰＤＦファイルＸを生成する（Ｓ３０）。
【００６７】
一方、ＣＰＵ７１は、再取得したフラグ値が「ＯＮ」であると判断した場合（Ｓ３５：ＹＥＳ）、選択デバイスファイル５のフラグ記憶領域５４に記憶されるフラグ値を「ＯＦＦ」から「ＯＮ」に書き換える（Ｓ３６）。これにより、ＣＰＵ７１は、次回スキャン処理を実行する際に、Ｓ３３の処理にてフラグ値が「ＯＮ」であると判断することが可能になるので、Ｓ３３〜Ｓ３６の処理を省き、通信回数を減らすことができる。ＳＰ６０とＭＦＰ１０との間で通信を確立するには数秒かかるため、通信回数を減らすことで、ユーザの待ち時間を短縮できる。
【００６８】
Ｓ３６にてフラグＹを書き換えたＣＰＵ７１は、利用可能情報Ｚを埋め込んだＰＤＦファイルＸを生成する（Ｓ３７）。つまり、ＣＰＵ７１は、ＭＦＰ１０ＢのフラグＹのフラグ値がデバイス選択時に「ＯＦＦ」であっても、その後、ファームウェア３０のアップグレードによりＭＦＰ１０ＢのフラグＹのフラグ値が「ＯＮ」になった場合でも、最新のフラグＹに対応して利用可能情報Ｚを埋め込んだＰＤＦファイルＸを生成することができる。
【００６９】
それから、ＣＰＵ７１は、Ｓ３７にて生成したＰＤＦファイルを第１フォルダ３に記憶させ（Ｓ３１）、処理を終了する。尚、Ｓ２９，Ｓ３１，Ｓ３２〜Ｓ３７の処理は、ファイル生成処理の一例である。
【００７０】
尚、特定処理アプリ２は、常時起動して、第１フォルダ３を監視している。特定処理アプリ２は、スキャンアプリ１により生成されたファイルが第１フォルダ３に記憶されると、記憶されたファイルが利用可能情報Ｚを埋め込まれたＰＤＦファイルＸ１である場合には、ＰＤＦファイルＸ１の画像に埋め込まれたコマンドに従って特定処理を施し、記憶されたファイルが利用可能情報Ｚを埋め込まれていないＰＤＦファイルＸ２，Ｘ３である場合には特定処理を施さない。
【００７１】
以上説明したように、画像を表すファイルを生成する機能を有するスキャンアプリ１では、特定処理アプリ２で特定処理を施すことが可能なファイルを生成できるものか否かに関するフラグＹをＭＦＰ１０から取得し、特定処理アプリ２で特定処理を施すことが可能なファイルを生成できるＭＦＰ１０Ａ、すなわち、特定処理アプリ２に対応するＭＦＰ１０Ａで読み取られた画像であれば、利用可能情報Ｚを埋め込んだＰＤＦファイルＸ１を生成し、特定処理アプリ２で特定処理を施すことが可能なファイルを生成できないＭＦＰ１０Ｂ，１０Ｃ、すなわち、特定処理アプリ２に対応しないＭＦＰ１０Ｂ，１０Ｃで読み取られた画像であれば、利用可能情報Ｚを埋め込まないＰＤＦファイルＸ２，Ｘ３を生成する。このように、スキャンアプリ１が、画像を読み取ったＭＦＰ１０の種類によって、利用可能情報Ｚが埋め込まれたＰＤＦファイルＸ１を生成するか、利用可能情報Ｚが埋め込まれていないＰＤＦファイルＸ２，Ｘ３を生成するか、を切り換える。これにより、利用可能情報Ｚが埋め込まれたＰＤＦファイルＸ１に特定処理を施す特定処理アプリ２では、特定処理アプリ２に対応するＭＦＰ１０Ａで読み取った画像を表すＰＤＦファイルＸ１には、特定処理を施すことができるが、特定処理アプリ２に対応しないＭＦＰ１０Ｂ，１０Ｃで読み取った画像を表すＰＤＦファイルＸ２，Ｘ３には、特定処理を施すことができない。その結果、特定処理アプリ２では、特定処理アプリ２に対応するＭＦＰ１０Ａで画像を読み取ったことを条件として、特定処理を施すことができるようになる。よって、ＳＰ６０は、スキャンアプリ１を利用してＭＦＰ１０で読み取られた画像を表すＰＤＦファイルＸを生成する場合に、ＭＦＰ１０の特定処理アプリ２への対応状態に応じて、特定処理アプリ２で特定処理を施すことが可能なＰＤＦファイルＸを適切に生成することができる。
【００７２】
（第２実施形態）
次に、本発明の第２実施形態について説明する。図８に示すように、スキャンシステム９００は、スキャンアプリ１００と、特定処理アプリ２００を除き、第１実施形態と同様に構成されている。以下では、第１実施形態と相違する点を中心に説明し、第１実施形態と共通する点については図面および説明に第１実施形態と同じ符号を用い、適宜説明を省略する。
【００７３】
画像を表すファイルに対して特定処理を施す特定のプログラムがある。スキャナには、この特定のプログラムで特定処理を施すことが可能なファイルを生成できるものとできないものとがある。つまり、スキャナには、特定のプログラムに対応するものと対応しないものとがある。購入当初は特定のプログラムに非対応のスキャナであっても、後から特定のプログラムに対応することがあり得る。従来、このような場合であっても、特定のプログラムに非対応のスキャナで読み取った画像を表すファイルには、スキャナの特定のプログラムへの対応状態を示す情報が含まれていなかった。そのため、情報処理装置は、特定のプログラムに非対応のスキャナが読み取った画像を表すファイルに特定処理を施す術がなかった。よって、スキャナが読み取った画像のファイルを生成する処理には、改善の余地がある。
【００７４】
そこで、本形態では、スキャンアプリ１００は、特定処理アプリ２００に対応可能であって、特定処理アプリ２００に対応する設定になっていないＭＦＰ１０Ｂで読み取った画像を表すＰＤＦファイルＸ１１を生成する場合に、ＭＦＰ１０Ｂの識別情報ＴをＰＤＦファイルＸ１１のヘッダに埋め込み、特定処理アプリ２００側でＭＦＰ１０ＢのフラグＹを取得するようにする。これにより、特定処理アプリ２００は、ＰＤＦファイルＸ１１にアクセスした際に、ＰＤＦファイルＸ１１に埋め込まれた識別情報Ｔを利用してＭＦＰ１０Ｂに接続してフラグＹを取得し、取得したフラグＹに応じてＰＤＦファイルＸ１１に特定処理を施すことができる。つまり、ＳＰ６０は、特定処理アプリ２００に非対応のＭＦＰ１０Ｂで読み取った画像のＰＤＦファイルＸ１１に対し、ＭＦＰ１０Ｂの最新の対応状態に応じて特定処理を施すことができる。
【００７５】
スキャンアプリ１００によって実行されるスキャン処理の手順を図９を参照して説明する。ＣＰＵ７１は、スキャン実行指示を受け付けたことを契機に、図９に示すスキャン処理を実行する。
【００７６】
スキャン処理では、ＣＰＵ７１は、ファイル形式選択画面１４０においてファイル形式としてＰＤＦが選択されると（Ｓ２６：ＹＥＳ）、選択デバイスファイル５からフラグ値を取得する（Ｓ２８）。ＣＰＵ７１は、取得したフラグ値が「ＯＮ」でないと判断した場合には（Ｓ４１：ＮＯ）、識別情報Ｔを埋め込んだＰＤＦファイルＸを生成する（Ｓ４２）。つまり、ＣＰＵ７１は、特定処理アプリ２００に非対応のＭＦＰ１０Ｂで読み取った画像のＰＤＦファイルＸ１１を生成する場合には、ＭＦＰ１０Ｂの識別情報Ｔを選択デバイスファイル５の識別情報記憶領域５２から読み出し、ＰＤＦファイルＸ１１のヘッダにそれぞれ埋め込む。ＣＰＵ７１は、Ｓ４２にて生成したＰＤＦファイルＸを第１フォルダ３に記憶し（Ｓ３１）、処理を終了する。尚、ＣＰＵ７１は、取得したフラグ値が「ＯＮ」である場合には（Ｓ４１：ＹＥＳ）、Ｓ３７以降の処理を行う。Ｓ３７以降の処理は、上述したので、説明を割愛する。
【００７７】
次に、特定処理アプリ２００によって実行される特定処理の手順を図１０を参照して説明する。ＣＰＵ７１は、第１フォルダ３にファイルが記憶されることを契機に、図１０に示す特定処理を行う。
【００７８】
ＣＰＵ７１は、第１フォルダ３に記憶されたファイルのヘッダに埋め込まれた埋め込み情報を取得する（Ｓ５１）。ファイルのヘッダにファイルの処理等に関する情報が埋め込まれているからである。そして、ＣＰＵ７１は、Ｓ５１にて取得した埋め込み情報に基づいて、第１フォルダ３に記憶されたファイルが、利用可能情報Ｚが埋め込まれたＰＤＦファイルＸか否かを判断する（Ｓ５２）。
【００７９】
ＣＰＵ７１は、Ｓ５１にて取得した埋め込み情報が利用可能情報Ｚを含む場合、つまり、第１フォルダ３に記憶されたファイルが、利用可能情報Ｚが埋め込まれたＰＤＦファイルＸ１であると判断した場合には（Ｓ５２：ＹＥＳ）、当該ファイルが特定処理アプリ２００の操作対象となる操作対象ファイルであると判定する（Ｓ５３）。そこで、ＣＰＵ７１は、利用可能情報Ｚに含まれるコマンドに従って操作対象ファイルに処理を施し（Ｓ５４）、処理後のファイルを第２フォルダ４に記憶する（Ｓ５５）。その後、処理を終了する。
【００８０】
つまり、ＣＰＵ７１は、埋め込み情報が利用可能情報Ｚであることにより、特定処理アプリ２００に対応するＭＦＰ１０で読み取られた画像のファイルであることを確認し、特定処理を施すことができる。
【００８１】
これに対して、ＣＰＵ７１は、Ｓ５１にて取得した埋め込み情報が利用可能情報Ｚを含まない場合、つまり、第１フォルダ３に記憶されたファイルが利用可能情報Ｚを埋め込まれていないＰＤＦファイルＸ１１であると判断した場合には（Ｓ５２：ＮＯ）、ＣＰＵ７１は、当該ファイルに識別情報Ｔが埋め込まれているか否かを判断する（Ｓ５６）。
【００８２】
識別情報Ｔが埋め込まれていないと判断する場合（Ｓ５６：ＮＯ）、ＣＰＵ７１は、当該ファイルが操作対象ファイルでないと判定し（Ｓ５９）、処理を終了する。つまり、例えば、当該ファイルがＰＤＦ以外のファイル形式で記憶され、利用可能情報Ｚも識別情報Ｔも有しないファイルには、特定処理アプリ２００による特定処理を施さない。
【００８３】
一方、識別情報Ｔが埋め込まれていると判断する場合（Ｓ５６：ＹＥＳ）、ＣＰＵ７１は、識別情報Ｔに対応するＭＦＰ１０に接続し、フラグＹを再取得する（Ｓ５７）。ＣＰＵ７１は、再取得したフラグＹのフラグ値が「ＯＮ」であるか否かを判断する（Ｓ５８）。
【００８４】
ＣＰＵ７１は、再取得したフラグＹのフラグ値が「ＯＮ」でない場合には（Ｓ５８：ＮＯ）、操作対象ファイルではないと判定し（Ｓ５９）、処理を終了する。
【００８５】
例えば、図８に示すＭＦＰ１０Ｂは、購入当初のフラグＹのフラグ値が「ＯＦＦ」であり、サービス担当者によってフラグＹが書き換えられていないとする。この場合、ＣＰＵ７１は、ＰＤＦファイルＸ１１にアクセスすると、ヘッダに埋め込まれた識別情報Ｔを利用してＭＦＰ１０Ｂに接続し、フラグＹのフラグ値が「ＯＦＦ」であることを確認する。この場合、ＣＰＵ７１は、ＭＦＰ１０Ｂで読み取った画像のＰＤＦファイルＸ１１に、利用可能情報Ｚを埋め込まず、また、特定処理アプリ２００による特定処理を施さない。
【００８６】
しかし、ＣＰＵ７１は、図１０に示すように、再取得したフラグＹのフラグ値が「ＯＮ」である場合には（Ｓ５８：ＹＥＳ）、当該ＰＤＦファイルＸ１１のヘッダに利用可能情報Ｚを埋め込んで、ファイルを書き換える（Ｓ６０）。その後、ＣＰＵ７１は、Ｓ５３以降の処理を行う。Ｓ５３以降の処理は、上述したので説明を省略する。
【００８７】
例えば、図８に示すＭＦＰ１０Ｂは、購入当初のフラグＹのフラグ値が「ＯＦＦ」であり、サービス担当者によってフラグＹのフラグ値が「ＯＮ」に書き換えられたとする。この場合、ＣＰＵ７１は、ＰＤＦファイルＸ１１にアクセスすると、ヘッダに埋め込まれた識別情報Ｔを利用してＭＦＰ１０Ｂに接続し、最新のフラグＹのフラグ値が「ＯＮ」であることを確認する。この場合、ＣＰＵ７１は、ＰＤＦファイルＸ１１のヘッダに利用可能情報Ｚを埋め込んで、ＰＤＦファイルＸ１１を書き換える。
【００８８】
これにより、次回、特定処理アプリ２００が書き換え後のＰＤＦファイルＸ１１にアクセスしたときには、ＣＰＵ７１は、ＰＤＦファイルＸ１１が操作対象ファイルであると直ちに判定できるようになる（Ｓ５１、Ｓ５２：ＹＥＳ、Ｓ５３）。よって、ＣＰＵ７１は、次回、ＭＦＰ１０Ｂに接続してフラグＹを再取得する必要がなくなり、通信回数を減らすことができる。その結果、ユーザの待ち時間を短くできる。
【００８９】
尚、スキャンアプリ１００は、例えば、特定処理アプリ２００に対応しないＭＦＰ１０Ｃで読み取った画像のＰＤＦファイルＸ１２を生成する場合、ＭＦＰ１０Ｃの識別情報ＴをＰＤＦファイルＸ１２のヘッダに埋め込むようにしても良い（図９のＳ４１：ＮＯ、Ｓ４２）。そして、上記と同様、特定処理アプリ２００の特定処理では、ＣＰＵ７１は、ＰＤＦファイルＸ１２に埋め込んだ識別情報Ｔを利用してＭＦＰ１０Ｃに接続し、ＰＤＦファイルＸ１１と同様の処理を行うようにしても良い。これによれば、仮に、特定処理アプリ２００に対応しないＭＦＰ１０Ｃが、何らかの事情により特定処理アプリ２００に対応するようになっても、ＭＦＰ１０Ｃが読み取った画像のＰＤＦファイルＸ１２に特定処理アプリ２００により特定処理を施すことが可能になる。
【００９０】
以上説明したように、本形態のような、画像を表すファイルを生成する機能を有するスキャンアプリ１００では、特定処理アプリ２００に対応可能であるが、特定処理アプリ２００に対応する設定にされていないＭＦＰ１０Ｂ、つまり、特定処理アプリ２００に非対応のＭＦＰ１０Ｂで読み取られた画像であれば、ＭＦＰ１０Ｂの識別情報Ｔを埋め込んだＰＤＦファイルＸ１１を生成し、特定処理アプリ２００に対応するＭＦＰ１０Ａで読み取られた画像であれば、識別情報Ｔを埋め込まずに利用可能情報Ｚを埋め込んだＰＤＦファイルＸ１を生成する。このように、スキャンアプリ１００が、ＭＦＰ１０の種類によって、識別情報Ｔが埋め込まれたＰＤＦファイルＸ１１を生成するか、識別情報Ｔが埋め込まれていないＰＤＦファイルＸ１を生成するか、を切り換える。
【００９１】
これにより、利用可能情報Ｚが埋め込まれたＰＤＦファイルＸに特定処理を施す特定処理アプリ２００では、利用可能情報Ｚが埋め込まれないＰＤＦファイルＸ１１について、ＰＤＦファイルＸ１１に埋め込まれた識別情報Ｔを利用して、ＰＤＦファイルＸ１１に記憶される画像を読み取ったＭＦＰ１０Ｂに接続して最新のフラグＹを独自に取得し、取得したフラグＹが特定処理に対応することを示すフラグ値（すなわち、「ＯＮ」）である場合には、当該ＰＤＦファイルＸ１１に特定処理を施すことができ、特定処理に対応しないことを示すフラグ値（すなわち、「ＯＦＦ」）を設定される場合には、当該ＰＤＦファイルＸ１１に特定処理を施すことができない。
【００９２】
よって、本形態によれば、スキャンアプリ１００が非対応のＭＦＰ１０Ｂが読み取った画像のＰＤＦファイルＸ１１に識別情報Ｔを埋め込むことで、ＳＰ６０は、特定処理アプリ２００側で非対応のＭＦＰ１０Ｂに接続して最新のフラグＹを取得し、最新のフラグ値（対応状態）に応じて特定処理アプリ２００によってＰＤＦファイルＸ１１に特定処理を施すことができる。
【００９３】
なお、本実施の形態は単なる例示にすぎず、本発明を何ら限定するものではない。したがって本発明は当然に、その要旨を逸脱しない範囲内で種々の改良、変形が可能である。
【００９４】
例えば、上記形態では、サービス担当者のみがフラグＹを書き換えることが可能であったが、例えば、アクティベーションコードの入力などにより、ユーザ自身がフラグＹを書き換えることができるようにしても良い。
【００９５】
例えば、上記形態では、特定処理アプリ２は、ＰＤＦファイルＸのバーコード等の画像に埋め込まれたコマンドに従って、特定処理を施した。これに対して、特定処理アプリ２にて、予めコマンドを指定しても良い。つまり、コマンドは、スキャンアプリ１が生成するファイルに埋め込まれていなくても良い。
【００９６】
例えば、上記形態では、デバイス選択時にフラグＹを取得し、そのフラグ値を選択デバイスファイル５に記憶し、ファイル生成時に使用した。これに対して、スキャナの読み取り指示を受け付けた場合に選択デバイスからフラグＹを取得し、ＰＤＦファイル生成時に、スキャナの読み取り指示を受け付けたときに取得したフラグＹを用いてＰＤＦファイルＸを生成しても良い。つまり、スキャンを実行してファイルを生成するときに、毎回、フラグＹを取得しても良い。これによれば、スキャナの読み取り実行指示を受け付ける前にファームウェア３０が書き換えられてフラグＹが書き換えられたとしても、書き換え後のフラグＹに対応してＰＤＦファイルＸを生成することができる。
【００９７】
例えば、上記形態では、フラグＹのフラグ値を「ＯＮ」と「ＯＦＦ」と「ＮＳ」の３値としたが、フラグ値は「ＯＮ」と「ＯＦＦ」の２値にしても良い。この場合、フラグ値が「ＯＮ」である場合には、利用可能情報Ｚを埋め込んだＰＤＦファイルＸを生成し、フラグ値が「ＯＦＦ」である場合には、利用可能情報Ｚを埋め込まないＰＤＦファイルＸを生成するようにすると良い。更に、フラグ値が「ＯＦＦ」である場合には、特定処理アプリ２を実行するＳＰ６０は、フラグＹの再取得を行って、選択デバイスから最新のフラグＹを取得するようにすると良い。この場合、最新のフラグ値が「ＯＦＦ」から「ＯＮ」に変更されていた場合には、利用可能情報Ｚを埋め込んだＰＤＦファイルＸを生成すると良い。つまり、スキャナの購入当初はフラグＹのフラグ値が「ＯＦＦ」にされ、特定処理アプリ２に非対応であっても、後から、フラグＹのフラグ値が「ＯＮ」に変更され、特定処理アプリ２に対応することがある。そこで、フラグＹのフラグ値が「ＯＦＦ」で、特定処理アプリ２に非対応であった場合には、ＰＤＦファイルＸを生成する度にスキャナからフラグＹを取得する。これにより、ＳＰ６０は、最新のスキャナの対応状態に応じてＰＤＦファイルＸを生成することができる。尚、フラグ値を「ＯＮ」と「ＯＦＦ」と「ＮＳ」の３値とすることにより、スキャナの対応状態をより詳細に確認し、フラグ値が「ＮＳ」であって、特定処理アプリ２への対応状態が「ＯＮ」に変更される可能性が低いスキャナに無駄に接続することを回避できる。
【００９８】
例えば、図７において、フラグ値が「ＯＦＦ」である場合に（Ｓ３２：ＮＯ）、フラグＹを再取得して、最新のフラグ値に応じてＰＤＦファイルを生成した。これに対して、フラグ値が「ＯＮ」である場合にも、フラグＹを再取得して、最新のフラグ値に応じてＰＤＦファイルを生成するようにしても良い。これによれば、例えば、試用期間の経過などによりフラグＹのフラグ値が「ＯＮ」から「ＯＦＦ」に変更された場合でも、最新のフラグ値「ＯＦＦ」に応じて、利用可能情報Ｚを埋め込まないＰＤＦファイルＸを生成できる。よって、特定処理アプリ２に対応しないＭＦＰ１０で読み取った画像のＰＤＦファイルＸに利用可能情報Ｚを埋め込むことを回避し、特定処理アプリ２の適用を制限できる。尚、図９の処理においても、Ｓ４１にてフラグ値が「ＯＦＦ」である場合に、これと同様に、処理しても良い。
【００９９】
例えば、図７のＳ２９の後に、図９のＳ４２に示すように識別情報Ｔを埋め込んだＰＤＦファイルを生成する処理を行っても良い。つまり、選択デバイスファイル５のフラグ記憶領域５４が「ＮＳ」のフラグ値を記憶する場合に、ＭＦＰ１０Ｃの識別情報ＴをＰＤＦファイルＸに埋め込むようにしても良い。そして、ＣＰＵ７１が、図８に示す特定処理アプリ２００を用いて、図１０に示す特定処理を実行しても良い。
【０１００】
例えば、上記形態では、スキャナの能力値は、図６のＳ１１にてデバイスを検索する際に取得し、Ｓ１４の処理を省いても良い。
【０１０１】
例えば、特定処理アプリ２，２００は、常時起動していなくても良い。すなわち、特定処理アプリ２，２００は、ユーザの指示により起動し、ユーザの指示によって特定処理を施しても良い。
【０１０２】
例えば、スキャナ本体がファイルを生成する場合に、自機の識別情報Ｔを当該ファイルに含めるようにしても良い。これによれば、上記第２実施形態と同様、特定処理アプリ２００は、図１０に示す処理を実行することにより、識別情報Ｔを利用して、当該ＰＤＦファイルを作成したスキャナ本体から最新のフラグ値を取得し、最新のフラグ値に従ってファイルに特定処理を施すことができる。
【０１０３】
また、実施の形態に開示されている処理は、単一のＣＰＵ、複数のＣＰＵ、ＡＳＩＣなどのハードウェア、またはそれらの組み合わせで実行されてもよい。また、実施の形態に開示されている処理は、その処理を実行するためのプログラムを記録した記録媒体、または方法等の種々の態様で実現することができる。
【符号の説明】
【０１０４】
１，１００  スキャンアプリ
２，２００  特定処理アプリ
１０  ＭＦＰ
６０  ＳＰ
【図１】
0006988617.tif 000002
【図２】
0006988617.tif 000003
【図３】
0006988617.tif 000004
【図４】
0006988617.tif 000005
【図５】
0006988617.tif 000006
【図６】
0006988617.tif 000007
【図７】
0006988617.tif 000008
【図８】
0006988617.tif 000009
【図９】
0006988617.tif 000010
【図１０】
0006988617.tif 000011