(57)【要約】【課題】スキャン画像をアップロードする際に、ＨＴＭＬ文書で指定されたファイルの制限を満たすように変換する必要があり手間であった。また変換できない場合はスキャンをやり直す必要がありユーザビリティが低下していた。【解決手段】ＨＴＭＬ文書で指定されたファイルの制限を満たす設定しか行えないようにスキャン設定を制限する。【選択図】  図６
2019176422.tif 000002
【特許請求の範囲】
【請求項１】
スキャン機能を有する画像形成装置であって、
Ｗｅｂサーバから受信したＷｅｂコンテンツにおいてファイルアップロード及びファイル制限が指定されている場合に、前記ファイル制限を前記スキャン機能の制限に変換する制限変換手段と、
前記ファイルアップロードの指定に対するユーザによるファイルの入力指示に応じて、前記制限変換手段で変換した前記制限つきで前記スキャン機能を呼び出すスキャン連携手段と、
前記スキャン連携手段によって呼び出した前記スキャン機能で生成したファイルを前記Ｗｅｂサーバに送信する送信手段と
を有することを特徴とする画像形成装置。
【請求項２】
請求項１に記載の画像形成装置であって、
前記制限変換手段によるスキャン機能の制限には、単独の機能を制限する単独機能制限と機能の組み合わせを制限する組み合わせ制限との少なくともいずれかを含むことを特徴とする画像形成装置。
【請求項３】
請求項１または請求項２に記載の画像形成装置であって、
ＷｅｂサイトまたはＵＲＬごとの設定に含まれたファイルの制限およびスキャン機能の制限またはそのいずれか一方を取得する制限取得手段と、
前記制限取得手段によって取得したファイルの制限をスキャン機能の制限に変換する設定変換手段とをさらに有し、
前記スキャン連携手段は、前記制限変換手段で変換した前記制限に加えて、前記制限取得手段と前記設定変換手段とによって得た前記スキャン機能の制限つきで前記スキャン機能を呼び出すことを特徴とする画像形成装置。
【請求項４】
請求項３に記載の画像形成装置であって、
前記制限変換手段と前記制限取得手段と前記設定変換手段とによって得た前記スキャン機能の制限の間にコンフリクトがある場合には、コンフリクトする前記スキャンの機能の制限のうち優先度が低い方の制限を無効化して前記コンフリクトを解消するコンフリクト解消手段をさらに有することを特徴とする画像形成装置。
【請求項５】
請求項１乃至請求項４のいずれか一項に記載の画像形成装置であって、
ＷｅｂサイトまたはＵＲＬごとの設定に含まれた前記スキャン機能の指定を取得するスキャン機能取得手段をさらに有し、
前記スキャン連携手段は、前記スキャン機能取得手段によって取得した機能を有するスキャン機能を呼び出すことを特徴とする画像形成装置。
【請求項６】
請求項５に記載の画像形成装置であって、
前記スキャン機能として複数のスキャン機能を有し、
前記スキャン連携手段は、前記複数のスキャン機能の中から、前記スキャン機能取得手段により取得した前記指定により指定されたスキャン機能を呼び出すことを特徴とする画像形成装置。
【請求項７】
請求項６に記載の画像形成装置であって、
前記複数のスキャン機能には、一度のスキャンで読み取った画像データから複数の画像ファイルを切り出すマルチクロップ機能および文字認識機能またはそのいずれか一方を含むことを特徴とする画像形成装置。
【請求項８】
請求項１乃至請求項７のいずれか一項に記載の画像形成装置であって、
前記ファイル制限には、ファイルの種類と、複数のファイルのアップロードの可否と、前記ファイルの種類と前記複数のファイルのアップロードの可否との組み合わせの制限とを含むことを特徴とする画像形成装置。
【請求項９】
請求項１乃至請求項８のいずれか一項に記載の画像形成装置であって、
前記Ｗｅｂコンテンツに応じた画面を生成して該画面を前記画像形成装置の表示部に表示させる手段をさらに有し、
前記制限変換手段による前記スキャン機能の制限は、選択できない前記スキャン機能として前記画面に表示されることを特徴とする画像形成装置。
【請求項１０】
請求項１乃至請求項９のいずれか一項に記載の画像形成装置であって、
Ｗｅｂブラウザを有し、
前記制限変換手段と前記スキャン連携手段と前記送信手段とは、前記Ｗｅｂブラウザにより提供されることを特徴とする画像形成装置。
【請求項１１】
スキャン機能を有する画像形成装置の制御方法であって、
Ｗｅｂサーバから受信したＷｅｂコンテンツにおいてファイルアップロード及びファイル制限が指定されている場合に、前記ファイル制限を前記スキャン機能の制限に変換し、
前記ファイルアップロードの指定に対するユーザによるファイルの入力指示に応じて、変換した前記制限つきで前記スキャン機能を呼び出し、
呼び出した前記スキャン機能で生成したファイルを前記Ｗｅｂサーバに送信する
ことを特徴とする画像形成装置の制御方法。
【請求項１２】
スキャン機能を有する画像形成装置により、
Ｗｅｂサーバから受信したＷｅｂコンテンツにおいてファイルアップロード及びファイル制限が指定されている場合に、前記ファイル制限を前記スキャン機能の制限に変換させ、
前記ファイルアップロードの指定に対するユーザによるファイルの入力指示に応じて、変換した前記制限つきで前記スキャン機能を呼び出させ、
呼び出した前記スキャン機能で生成したファイルを前記Ｗｅｂサーバに送信させる
ためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像形成装置およびその制御方法に関し、特に、Ｗｅｂサーバに接続され、当該Ｗｅｂサーバにより提供される操作画面を表示するＷｅｂブラウザを備えた画像形成装置およびその制御方法に関する。
【背景技術】
【０００２】
ＰＣなどの情報処理装置がネットワーク上のＷｅｂサーバに接続され、Ｗｅｂサーバ上のＷｅｂサイトにより提供される操作画面を、情報処理装置が備えるＷｅｂブラウザ上に表示することが知られている。この場合、まず情報処理装置のＷｅｂブラウザが、Ｗｅｂサーバに対して操作画面を要求（リクエスト）する。そして、Ｗｅｂサーバが情報処理装置からの要求に応えて、Ｗｅｂブラウザに操作画面を表示させるためのＨＴＭＬ文書を情報処理装置に応答（レスポンス）する。情報処理装置のＷｅｂブラウザは、受信したＨＴＭＬ文書を解析し、ＨＴＭＬ文書の記述に基づいた操作画面を表示する。例えば、任意の文字を入力するためのテキスト入力フォームや、情報処理装置に存在するファイルをアップロードするためのファイルアップロードフォームを表示する。
【０００３】
近年、スキャナやプリンタを備えたＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）と呼ばれる画像形成装置の中にも、上述したようなＷｅｂブラウザを備えているものがある。画像形成装置が備えるＷｅｂブラウザの中には、ファイルアップロードの処理として、画像形成装置内の既存ファイルをアップロードするのではなく、新規にスキャンした画像をアップロードするものがある（例えば特許文献１）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第４８１９３１１号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ＨＴＭＬ文書にはアップロードするファイルの制限を記述することができる。しかしながら、画像形成装置において、スキャンした画像をアップロードするためには、スキャンした画像をＨＴＭＬ文書で指定されたファイルの制限を満たすように変換する必要があり、手間であった。
【０００６】
さらに、スキャンの設定によっては、ＨＴＭＬ文書で指定されたファイルの制限を満たすように変換できない場合がある。その場合、設定を変更してスキャンのやり直しが必要になり、ユーザの利便性や生産性が低下するという課題があった。
【０００７】
本発明は上記従来例に鑑みてなされたもので、サーバにより指定されたファイルの制限を満たす設定でスキャンを行ってアップロードすることが可能になる画像形成装置及びその制御方法を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために本発明は以下の構成を有する。すなわち本発明の一側面によれば、スキャン機能を有する画像形成装置であって、
Ｗｅｂサーバから受信したＷｅｂコンテンツにおいてファイルアップロード及びファイル制限が指定されている場合に、前記ファイル制限を前記スキャン機能の制限に変換する制限変換手段と、
前記ファイルアップロードの指定に対するユーザによるファイルの入力指示に応じて、前記制限変換手段で変換した前記制限つきで前記スキャン機能を呼び出すスキャン連携手段と、
前記スキャン連携手段によって呼び出した前記スキャン機能で生成したファイルを前記Ｗｅｂサーバに送信する送信手段と
を有することを特徴とする画像形成装置が提供される。
【発明の効果】
【０００９】
本発明によれば、サーバにより指定されたファイルの制限を満たす設定でスキャンを行ってアップロードすることが可能になる。
【図面の簡単な説明】
【００１０】
【図１】実施例１における画像処理システムの構成を示す図である。
【図２】実施例１におけるＭＦＰのハードウェア構成を示すブロック図である。
【図３】実施例１におけるＷｅｂサーバのハードウェア構成を示すブロック図である。
【図４】実施例１におけるＭＦＰのソフトウェア構成を示すブロック図である。
【図５】実施例１におけるＨＴＭＬ文書の例と、それをＷｅｂブラウザ４１０で表示した画面例
【図６】実施例１におけるＭＦＰの処理の一例を示すシーケンス図である。
【図７】実施例１におけるファイル制限変換テーブルの例である。
【図８】実施例１におけるＷｅｂブラウザの処理の一例を示すフローチャートである。
【図９】実施例１におけるスキャンアプリケーションの処理の一例を示すフローチャートである。
【図１０】実施例２におけるＭＦＰのソフトウェア構成を示すブロック図である。
【図１１】実施例２におけるＳＳＢ設定の記述例である。
【図１２Ａ】、
【図１２Ｂ】実施例２におけるＷｅｂブラウザの処理の一例を示すフローチャートである。
【図１３】実施例３におけるＭＦＰのソフトウェア構成を示すブロック図である。
【図１４】実施例３におけるＳＳＢ設定の記述例である。
【図１５】実施例３におけるサービス管理テーブルの記述例である。
【図１６Ａ】、
【図１６Ｂ】実施例３におけるＷｅｂブラウザの処理の一例を示すフローチャートである。
【図１７】実施例３におけるサービス管理部の処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下、本発明を実施するための最良の形態について図面を用いて説明する。
【００１２】
（実施例１）
図１は、実施形態に係る情報処理システムのシステム構成の一例を示す図である。本システムは、ＬＡＮ１１０を介して接続されるＭＦＰ１０１と、ＷＡＮ１２０を介して接続されるＷｅｂサーバ１０２とから構成される。ＬＡＮ１１０上の装置とＷＡＮ１２０上の装置はお互いのネットワークを通して、相互に通信可能である。図１は典型的なネットワーク構成の例であり、各装置がＬＡＮ１１０またはＷＡＮ１２０のどちらにあっても構わない。
【００１３】
ＭＦＰ１０１は、スキャナおよびＷｅｂブラウザを有する画像形成装置である。Ｗｅｂサーバ１０２は、ネットワーク経由でＭＦＰ１０１と接続されており、Ｗｅｂコンテンツを、ネットワークを介して配信する機能を持っており、ＭＦＰ１０１のＷｅｂブラウザからのリクエストに応じてＷｅｂコンテンツを提供する。
【００１４】
●ハードウェア構成
図２は、実施形態に係るＭＦＰ１０１の構成の一例を示すブロック図である。ＣＰＵ２１１を含む制御部２１０は、ＭＦＰ１０１全体の動作を制御する。ＣＰＵ２１１は、ＲＯＭ２１２やＨＤＤ２１４に記憶された制御プログラムを読み出して読取制御や送信制御などの各種制御処理を実行する。ＲＡＭ２１３は、ＣＰＵ２１１の主メモリ、ワークエリア等の一時記憶領域として用いられる。ＨＤＤ２１４は、各種のプログラムやスキャナ２２１で読み取った画像データなどを記憶する。
【００１５】
操作部Ｉ／Ｆ２１５は、操作部２１９と制御部２１０とを接続する。操作部２１９には、タッチパネル機能を有する液晶表示部やキーボードなどが備えられている。
【００１６】
プリンタＩ／Ｆ２１６は、プリンタ２２０と制御部２１０とを接続する。プリンタ２２０で印刷すべき画像データはプリンタＩ／Ｆ２１６を介して制御部２１０からプリンタ２２０に転送され、プリンタ２２０において記録媒体上に印刷される。
【００１７】
スキャナＩ／Ｆ２１７は、スキャナ２２１と制御部２１０とを接続する。スキャナ２２１は、原稿上の画像を読み取って画像データを生成し、スキャナＩ／Ｆ２１７を介して制御部２１０に入力する。ネットワークＩ／Ｆ２１８は、制御部２１０（ＭＦＰ１０１）をＬＡＮ１１０に接続する。ネットワークＩ／Ｆ２１８は、ＬＡＮ１１０上またはＷＡＮ１２０上の他の装置との間で各種情報を送受信する。
【００１８】
図３は、実施形態に係るＷｅｂサーバ１０２の構成の一例を示すブロック図である。ＣＰＵ３１１を含む制御部３１０は、Ｗｅｂサーバ１０２全体の動作を制御する。ＣＰＵ３１１は、ＲＯＭ３１２やＨＤＤ３１４に記憶された制御プログラムを読み出して各種制御処理を実行する。ＲＡＭ３１３は、ＣＰＵ３１１の主メモリ、ワークエリア等の一時記憶領域として用いられる。ＨＤＤ３１４は、各種のプログラムやデータを記憶する。
【００１９】
表示部Ｉ／Ｆ３１５は、表示部３１８と制御部３１０とを接続する。キーボードＩ／Ｆ３１６は、キーボード３１９と制御部３１０とを接続する。ＣＰＵ３１１は、キーボード３１９を介したユーザからの指示を認識し、認識した指示に応じて表示部３１８に表示する画面を遷移させる。なお、Ｗｅｂサーバによっては、リモート管理のため、表示部３１８とキーボード３１９を備えない構成をとるものもある。
【００２０】
ネットワークＩ／Ｆ３１７は、制御部３１０（Ｗｅｂサーバ１０２）をＷＡＮ１２０に接続する。ネットワークＩ／Ｆ３１７は、ＬＡＮ１１０上またはＷＡＮ１２０上の他の装置との間で各種情報を送受信する。
【００２１】
●ＭＦＰ１０１のソフトウェア構成
図４は、本実施例におけるＭＦＰ１０１のソフトウェア構成を説明するための図である。ＭＦＰ１０１のＨＤＤ２１４に記憶されているプログラム（ソフトウェア）を、ＣＰＵ２１１がＲＡＭ２１３に読み出し、解析、実行することで、後述の処理が実行される。
【００２２】
ＭＦＰ１０１は、Ｗｅｂブラウザ４１０とスキャンアプリケーション４２０を有する。Ｗｅｂブラウザ４１０は、任意のＷｅｂサーバと通信を行うことによってＷｅｂコンテンツを取得し、画面に表示する。Ｗｅｂブラウザ４１０は、通信部４１１、解析部４１２、ユーザ操作処理部４１３、スキャン連携部４１４、画像ファイル格納部４１５、ファイル制限変換テーブル４１６、ファイル制限変換部４１７を有する。
【００２３】
通信部４１１は、ＨＴＴＰプロトコルに従って、Ｗｅｂサーバ１０２と通信する。より具体的には、通信部４１１は、Ｗｅｂサーバ１０２に対してリクエストを送信し、Ｗｅｂコンテンツをレスポンスとして受信する。
【００２４】
解析部４１２は、Ｗｅｂサーバ１０２から受信したレスポンスを解析して、操作画面のレンダリングを行う。そしてレンダリング結果を操作部２１９に表示する。レスポンスの中にはＷｅｂブラウザ４１０に表示すべき操作画面の内容を示す記述であるＨＴＭＬ文書や、操作画面に適用するＪａｖａＳｃｒｉｐｔ（登録商標）が記載されている。
【００２５】
ユーザ操作処理部４１３は、ユーザが操作部２１９に表示されたＷｅｂコンテンツを操作したときの処理を行う。例えば、ユーザがサブミットボタンを押下した時に、フォームの内容をＨＴＴＰリクエストとして送出したり、ユーザがファイルアップロードフォームに対応するボタンを押下した時に、スキャンアプリケーション４２０を呼び出すための準備をしたりする。
【００２６】
スキャン連携部４１４は、スキャンアプリケーション４２０との連携を行う。具体的には、スキャンアプリケーション４２０を呼び出したり、スキャンアプリケーション４２０から画像ファイルを受け取って画像ファイル格納部４１５に格納したりする。画像ファイル格納部４１５は、スキャンアプリケーション４２０が生成した画像ファイルを格納する領域である。
【００２７】
ファイル制限変換テーブル４１６は、ＨＴＭＬ文書で指定されたファイルの制限をスキャン機能の制限に変換するためのテーブルである。ファイル制限変換部４１７は、ＨＴＭＬ文書で指定されたファイルの制限を、ファイル制限変換テーブル４１６を使ってスキャン機能の制限に変換する。
【００２８】
スキャンアプリケーション４２０は、スキャナ２２１から原稿を読み込むスキャン機能を持つ。また、スキャンアプリケーション４２０は、別のソフトウェアモジュールから呼び出しを受けて、スキャン機能を提供する機能（以降、サービス連携機能）を持つ。スキャンアプリケーション４２０は、画面制御部４２１、スキャン実行部４２２、サービス連携部４２３を有する。
【００２９】
画面制御部４２１はスキャン機能に関する画面の制御を行う。具体的には、スキャン設定画面を表示したり、スキャン設定画面に対するユーザ操作を受けての処理を行ったりする。スキャン実行部４２２は、スキャナ２２１から原稿を読み込み、画像ファイルを生成する。
【００３０】
サービス連携部４２３は、スキャンアプリケーション４２０が別のソフトウェアモジュールから呼び出しを受けた場合の連携処理を行う。具体的には、呼び出し元のソフトウェアモジュールから呼び出しパラメータを受け取ったり、スキャン実行部４２２が生成した画像ファイルを呼び出し元のソフトウェアモジュールに渡したりする。
【００３１】
なお、本実施例ではＷｅｂブラウザ４２０がファイル制限変換テーブル４１６とファイル制限変換部４１７を持つ構成となっているが、これに限定されない。ファイル制限変換テーブル４１６とファイル制限変換部４１７はスキャンアプリケーション４２０が持ってもよいし、図示していない別のソフトウェアモジュールが持つ構成としてもよい。
【００３２】
図５は、実施形態に係るＨＴＭＬ文書の例と、それをＷｅｂブラウザ４１０で表示した例である。
【００３３】
図５（Ａ）は、Ｗｅｂブラウザ４１０がＷｅｂサーバ１０２から受け取ったＨＴＭＬ文書の一例である。図５（Ａ）にはＩｎｐｕｔ要素によるファイルアップロードフォーム５０１（＜ｉｎｐｕｔ  ｔｙｐｅ＝"ｆｉｌｅ"＞）と、サブミットボタン５０２（＜ｉｎｐｕｔ  ｔｙｐｅ＝"ｓｕｂｍｉｔ"＞）が含まれる。
【００３４】
ファイルアップロードフォーム５０１のａｃｃｅｐｔ属性は、Ｗｅｂサーバ１０２が受け取ることが可能なファイルの種類を指定する属性である。値は、ＭＩＭＥタイプまたは拡張子で指定し、複数の値をカンマ区切りで並べることができる。図５（Ａ）では、ＪＰＥＧファイルまたはＰＤＦファイルを受け取り可能であることが示されている。
【００３５】
また、Ｉｎｐｕｔ要素はｍｕｌｔｉｐｌｅ属性を持つことがＨＴＭＬの規約で決められている。ｍｕｌｔｉｐｌｅ属性は、Ｗｅｂサーバ１０２が複数のファイルを受け取ることが可能かどうかを指定する属性である。ｍｕｌｔｉｐｌｅ属性は、値を指定せずに、その属性が存在するかしないかだけで意味を持つ真偽値属性であり、属性が指定されていれば「真」、属性が指定されていなければ「偽」とみなされる。アップロードフォーム５０１ではｍｕｌｔｉｐｌｅ属性が指定されていないため、「偽」とみなされる。つまり、アップロードフォーム５０１では、Ｗｅｂサーバ１０２は複数のファイルを受け取ることができない（単一のファイルのみを受け取ることができる）という指定が行われている。
【００３６】
図５（Ｂ）は、図５（Ａ）のＨＴＭＬ文書をＷｅｂブラウザ４１０で表示した場合の表示画面の一例である。ボタン５１１は、ファイルアップロードフォーム５０１に対応するボタンである。図５（Ｂ）ではボタン５１１のキャプションが「参照．．．」となっているが、「スキャン．．．」と表示してもよい。ボタン５１２は、サブミットボタン５０２に対応するボタンである。サブミットボタン５０２には、そのＩｎｐｕｔフォームで指定された値「アップロード」が表示されている。
【００３７】
●スキャンした画像データファイルのアップロードシーケンス
図６は、Ｗｅｂブラウザ４１０のファイルアップロードフォームの処理として、原稿をスキャンして画像をアップロードするシーケンスを示した図である。
【００３８】
ステップＳ６０１で、Ｗｅｂブラウザ４１０は、Ｗｅｂサーバ１０２に対してＨＴＴＰリクエストを送信する。送信先のＷｅｂサーバ１０２は、たとえばＷｅｂブラウザ４１０で指定されてもよいし、あらかじめボタン等に対応付けて登録されていてもよい。
【００３９】
ステップＳ６０２で、Ｗｅｂブラウザ４１０は、Ｗｅｂサーバ１０２からＨＴＴＰレスポンスとしてＷｅｂコンテンツを受信する。このとき受信したＷｅｂコンテンツは、図５（Ａ）で示したＨＴＭＬ文書であるという前提で以降の説明を行う。
【００４０】
ステップＳ６０３で、Ｗｅｂブラウザ４１０は、受信したＷｅｂコンテンツを解析し、レンダリング結果（たとえば図５（Ｂ）の画面）を操作部２１９に表示する。
【００４１】
ステップＳ６０４で、ユーザが参照ボタン５１１を押下したことを検知したＷｅｂブラウザ４１０は、ＨＴＭＬ文書で指定されたファイルの制限を、ファイル制限変換テーブル４１６を使ってスキャン機能の制限に変換する。スキャン機能の制限には、単独機能の値域または機能自体を制限する「単独機能制限」と、機能の組み合わせに制限をかける「組み合わせ制限」の二種類が存在する。単独機能制限と組み合わせ制限を総称して「スキャン制限」と定義する。
【００４２】
ステップＳ６０５で、Ｗｅｂブラウザ４１０は、スキャンアプリケーション４２０を呼び出す。このとき、Ｗｅｂブラウザ４１０は、ステップＳ６０４で得たスキャン制限を呼び出しパラメータとしてスキャンアプリケーション４２０に渡す。
【００４３】
ステップＳ６０６で、Ｗｅｂブラウザ４１０からの呼び出しを受けたスキャンアプリケーション４２０は、スキャン設定画面を表示する。このとき、スキャンアプリケーション４２０はＷｅｂブラウザ４１０から受け取った呼び出しパラメータに従って、機能を制限したスキャン画面を表示する。
【００４４】
ステップＳ６０７で、ユーザがスキャン設定を変更したことを受け取ったスキャンアプリケーション４２０は、Ｗｅｂブラウザ４１０から受け取った呼び出しパラメータに従って、組み合わせ制限の処理を行う。例えば、ユーザが変更した設定値との組み合わせに制限がある他の設定の値域を限定したり、無効化したりする。ユーザは、スキャン設定の変更を繰り返し行うことができ、ステップＳ６０７は設定変更の都度、繰り返し実行される。
【００４５】
ステップＳ６０８で、ユーザからスキャンの実行指示を受け取ったスキャンアプリケーション４２０は、スキャン設定に従ってスキャナ２２１から原稿を読み込み、画像ファイルを生成する。
【００４６】
ステップＳ６０９で、スキャンアプリケーション４２０は、ステップＳ６０８で生成した画像ファイルをＷｅｂブラウザ４１０に渡す。
【００４７】
ステップＳ６１０で、ユーザがサブミットボタン５１１を押下したことを検知したＷｅｂブラウザ４１０は、Ｗｅｂサーバ１０２に対してＨＴＴＰリクエストを送信する。このとき、ＨＴＴＰリクエストにはフォームデータ、つまり、ステップＳ６０９でスキャンアプリケーション４２０から受け取った画像ファイルが含まれる。
【００４８】
ステップＳ６１１で、Ｗｅｂブラウザ４１０は、Ｗｅｂサーバ１０２からステップＳ６０１のＨＴＴＰリクエストに対するＨＴＴＰレスポンスを受信する。
【００４９】
●ファイル制限変換テーブルの例
図７は、実施形態に係るファイル制限変換テーブル４１６の一例を示す図である。ファイル制限変換テーブル４１６は、あり得るスキャン設定に対応してあらかじめ用意されていてよい。ファイル制限変換テーブル４１６は、図７（Ａ）に示したスキャン機能テーブル７００、図７（Ｂ）に示したファイル制限テーブル７２０の２つのテーブルからなる。図７（Ａ）に示したスキャン機能テーブル７００は、スキャン機能の値域を定義したテーブルである。図７（Ｂ）に示したファイル制限変換テーブル７２０は、Ｉｎｐｕｔ要素の属性に対応するスキャン機能を特定するためのテーブルである。スキャン機能テーブル７００とファイル制限テーブル７２０の２つのテーブルを組み合わせて使用することで、単独機能制限と組み合わせ制限を決定する。
【００５０】
図７（Ａ）に示したスキャン機能テーブル７００は、ＩＤ７０１列、機能７０２列、値域７０３列の各列からなる。ＩＤ７０１列は、テーブルの行を特定するための識別子を定義する列である。なお、以降の説明において、テーブルの行を指定するためにＩＤ７０１列の値を使用することとする。例えば、ＩＤ７０１列の値が「Ａ７１１」の行は、「Ａ７１１行」と記載する。機能７０２列と値域７０３は、スキャンの機能とその値域を定義する列である。
【００５１】
図７（Ｂ）に示したファイル制限テーブル７２０は、ＩＤ７２１列、属性７２２列、属性値７２３列、単独機能制限７２４列、組み合わせ制限７２５列の各列からなる。
【００５２】
ＩＤ７２１列は、テーブルの行を特定するための識別子を定義する列である。なお、以降の説明において、テーブルの行を指定するためにＩＤ７２１列の値を使用することとする。例えば、ＩＤ７２１列の値が「Ｂ７３１」の行は、「Ｂ７３１行」と記載する。
【００５３】
属性７２２列と属性値７２３列は、Ｉｎｐｕｔ要素の属性とその値を定義する列である。なお、属性値７２３列の「ｕｎｄｅｆｉｎｅｄ」は、属性７２２列で定義された属性がＩｎｐｕｔ要素の属性として指定されていないことを示す値である。
【００５４】
単独機能制限７２４列は、ＨＴＭＬ文書のＩｎｐｕｔ要素に、属性７２２列と属性値７２３列に合致する属性が定義されていた場合に制限するスキャン機能を定義している列である。単独機能制限７２４列の値は、図７（Ａ）スキャン機能テーブル７００のＩＤ７０１で定義された識別子であり、単独機能制限７２４列の値をキーに、スキャン機能テーブル７００の行が特定できる。制限されるスキャン機能とその値域の具体的な値は、スキャン機能テーブル７００を参照する。例えばＢ７３１行は、Ｉｎｐｕｔ要素のａｃｃｅｐｔ属性が「ａｐｐｌｉｃａｔｉｏｎ／ｐｄｆ」だった場合、Ａ７１１行で定義されているＦＩＬＥ＿ＴＹＰＥ（スキャンした画像のファイル形式）の値域が「ＰＤＦ」に制限されるということを定義している。なお図７の例では、複合的な値域７０３は、単独の値域のいずれかであることを意味している。例えばＩＤがＡ７１５の機能ＦＩＬＥ＿ＴＹＰＥの値域は複合的な値域ＪＰＥＧ｜ＴＩＦＦ｜ＰＮＧであり、これは、機能ＦＩＬＥ＿ＴＹＰＥの値域が、ＪＰＥＧまたはＴＩＦＦまたはＰＮＧのいずれかであることを示している。
【００５５】
組み合わせ制限７２５列は、ＨＴＭＬ文書のＩｎｐｕｔ要素に、属性７２２と属性値７２３に合致する属性が定義されていた場合に、制限するスキャン設定の組み合わせを定義する列である。組み合わせ制限７２５の値は、図７（Ａ）スキャン機能テーブル７００のＩＤ７０１で定義された識別子であり、識別子の組み合わせによって組み合わせの制限を定義している。組み合わせが制限されるスキャン機能の具体的な値は、スキャン機能テーブル７００を参照する。例えばＢ７３４行は、Ｉｎｐｕｔ要素のａｃｃｅｐｔ属性に「ｍｕｌｔｉｐｌｅ」が指定されていない場合に制限される機能の組み合わせを複数、定義している。例えば［Ａ７１５、Ａ７１７］は、スキャン機能テーブル７００のＡ７１５行とＡ７１７行で指定されている機能が同時には有効にできない組み合わせであるという定義である。なお組み合わせ制限に定義されたスキャン機能テーブルのＩＤ７０１が複合的な値域を定義する行のＩＤである場合には、複合的な値域に含まれたそれぞれの値が組み合わせ制限の対象となる。たとえばＩＤ７０１がＡ７１５であれば、その値域は、ＦＩＬＥ＿ＴＹＰＥが、ＪＰＥＧまたはＴＩＦＦまたはＰＮＧのいずれかであることを示している。つまりＢ７３４行の制限は、ＦＩＬＥ＿ＴＹＰＥが「ＪＰＥＧ」または「ＴＩＦＦ」または「ＰＮＧ」の場合（Ａ７１５行の定義）、ＴＷＯ＿ＳＩＤＥＤが「ｔｒｕｅ」（Ａ７１７行の定義）にできないということを示している。換言すれば、［Ａ７１５、Ａ７１７］は、［Ａ７１２，Ａ７１７］、［Ａ７１３，Ａ７１７］、［Ａ７１４，Ａ７１７］と３つに分けて記述することもできる。このように記述する場合には、Ａ７１５行やＡ７１６行は必ずしも必要ではない。
【００５６】
Ｓ６０２でＨＴＴＰレスポンスを受信すると、それに含まれた属性及び属性値でファイル制限テーブル７２０を検索し、該当する単独機能制限７２４に対応したスキャン機能及びその値域がスキャン設定とされる。また該当する組み合わせ制限７２５により示された機能の組み合わせとならないよう、スキャン設定が制限されることになる。
【００５７】
●Ｗｅｂブラウザによるファイルアップロード処理手順
図８は、図６のシーケンス図におけるＷｅｂブラウザ４１０が行う処理を定義したフローチャートである。ＭＦＰ１０１のＨＤＤ２１４に記憶されているプログラムを、ＣＰＵ２１１がＲＡＭ２１３に読み出し、解析、実行することで、図８のフローチャートの各ステップが実行される。
【００５８】
ステップＳ８０１で、通信部４１１はＷｅｂサーバ１０２に対してＨＴＴＰリクエストを送信する。
【００５９】
ステップＳ８０２で、通信部４１１は、Ｗｅｂサーバ１０２からＨＴＴＰレスポンスとしてＷｅｂコンテンツを受信する。このとき受信したＷｅｂコンテンツは、図５（Ａ）で示したＨＴＭＬ文書であるという前提で以降の説明を行う。
【００６０】
ステップＳ８０３で、解析部４１２は、受信したＷｅｂコンテンツを解析して、操作画面のレンダリングを行う。そしてレンダリング結果を操作部２１９に表示する（図５（Ｂ）参照）。同時に解析部４１２は、解析した内容をＤＯＭ（Ｄｏｃｕｍｅｎｔ  Ｏｂｊｅｃｔ  Ｍｏｄｅｌ）としてＲＡＭ２１３に保持する。ＤＯＭは、ＨＴＭＬ文書に記述された要素やその属性をオブジェクトの階層構造としてモデル化したデータである。
【００６１】
ステップＳ８０４で、ユーザ操作処理部４１３は、ユーザの操作を待ち受ける。ユーザ操作処理部４１３は、ユーザの操作を検知した場合に次のステップに進む。
【００６２】
ステップＳ８０５で、ユーザ操作処理部４１３は、検知したユーザ操作の種類を判別する。ユーザ操作処理部４１３は、ユーザ操作の種類がファイルアップロードフォームのボタン（ボタン５１１）押下の場合、すなわちファイルアップロードの指定に対するユーザによるファイルの入力指示があった場合、ステップＳ８１１に処理を進める。ユーザ操作処理部４１３は、ユーザ操作の種類がフォームのサブミット指示（例えば、ボタン５１２押下）であった場合、ステップＳ８２１に処理を進める。ユーザ操作処理部４１３は、ユーザ操作の種類が、それ以外であった場合、ステップＳ８３１に処理を進め、ユーザ操作に応じた処理を行った後、ステップＳ８０４へ戻り、次のユーザ操作を待ち受ける。
【００６３】
ステップＳ８１１で、ユーザ操作処理部４１３は、ユーザが押下したボタンに対応するアップロードフォーム（＜ｉｎｐｕｔ  ｔｙｐｅ＝"ｆｉｌｅ"＞）に定義されている属性を解析部４１２が保持するＤＯＭから取得する。
【００６４】
ステップＳ８１２で、ファイル制限変換部４１７は、ステップＳ８１１で取得した属性からファイル制限を特定し、ファイル制限の有無を判別する。ファイル制限変換部４１７は、ファイル制限があるときはステップＳ８１３へ処理を進め、ファイル制限がないときはステップＳ８１５へ処理を進める。具体的には、ファイル制限変換部４１７は、ステップＳ８１１で取得した属性と、ファイル制限テーブル７２０の属性７２２列・属性値７２３列とを比較し、合致するファイル制限テーブル７２０の行を抽出する。例えば、図５（Ａ）のファイルアップロードフォーム５０１の場合、Ｂ７３１行、Ｂ７３２行、Ｂ７３４行が抽出結果となる。以下に内訳を示す。「ａｃｃｅｐｔ＝"ｉｍａｇｅ／ｊｐｅｇ，ａｐｐｌｉｃａｔｉｏｎ／ｐｄｆ"」という指定がＢ７３１行、Ｂ７３２行に一致する。また、アップロードフォーム５０１にはｍｕｌｔｉｐｌｅ属性が指定されていないためＢ７３４行に一致する。
【００６５】
ステップＳ８１３で、ファイル制限変換部４１７は、ステップＳ８１３で特定したファイル制限をスキャン制限に変換する。具体的には、単独機能制限７２４列、組み合わせ制限７２５列の各値と、スキャン機能テーブル７００のＩＤ７０１を紐づけることで、スキャン機能テーブル７００の行を特定する。例えば、Ｂ７３１行の場合、単独機能制限７２４行の値は「Ａ７１１」で、スキャン機能テーブル７００のＡ７１１行に対応する。Ａ７１１行の定義からＦＩＬＥ＿ＴＹＰＥ（スキャンした画像のファイル形式）の値域が「ＰＤＦ」に制限されることが分かる。同様にＢ７３２行の場合、スキャン機能テーブル７００のＡ７１２行を参照し、ＦＩＬＥ＿ＴＹＰＥの値域が「ＪＰＥＧ」に制限されることが分かる。ファイルアップロードフォーム５０１の場合、Ｂ７３１行とＢ７３２行から特定されるＡ７１１行とＡ７１２行の両方が有効になるため、ＦＩＬＥ＿ＴＹＰＥの値域は「ＰＤＦとＪＰＥＧ」になる。また、Ｂ７３４行は、組み合わせ制限７２５列に制限するスキャン設定の組み合わせが定義されている。例えば［Ａ７１５、Ａ７１７］は、スキャン機能テーブル７００のＡ７１５行とＡ７１７行で指定されている機能が同時には有効にできない組み合わせであるという定義である。つまりＦＩＬＥ＿ＴＹＰＥが「ＪＰＥＧ」または「ＴＩＦＦ」または「ＰＮＧ」の場合（Ａ７１５行の定義）、ＴＷＯ＿ＳＩＤＥＤが「ｔｒｕｅ」（Ａ７１７行の定義）にできないということになる。同様に、［Ａ７１５、Ａ７１９］や［Ａ７１６、Ａ７１８］など、組み合わせ制限７２５に定義されている他の組み合わせも制限される。つまりＦＩＬＥ＿ＴＹＰＥが「ＪＰＥＧ」または「ＴＩＦＦ」または「ＰＮＧ」の場合（Ａ７１５行の定義）、ＳＣＡＮ＿ＰＡＧＥが「＞１」（Ａ７１９行の定義）にできない、ということになる。また、ＦＩＬＥ＿ＴＹＰＥが「ＰＤＦ」または「ＤＯＣＸ」または「ＰＰＴＸ」の場合（Ａ７１６行の定義）、ＳＰＬＩＴ＿ＰＡＧＥが「ｔｒｕｅ」（Ａ７１８行の定義）にできないということになる。
【００６６】
ステップＳ８１４で、スキャン連携部４１４は、スキャンアプリケーション４２０を呼び出す。このとき、スキャン連携部４１４は、ステップＳ８１２で特定したスキャン制限を呼び出しパラメータとしてスキャンアプリケーション４２０に渡す。
【００６７】
一方、ステップＳ８１５は、ステップＳ８１２でファイル制限がないと判別した場合の処理であり、スキャン連携部４１４は、呼び出しパラメータにスキャン制限を含めずに、スキャンアプリケーション４２０を呼び出す。
【００６８】
ステップＳ８１６は、スキャンアプリケーション４２０がスキャン設定画面を表示して、スキャンを実行する処理である。詳細は図９のフローチャートで説明する。
【００６９】
ステップＳ８１７で、スキャン連携部４１４は、スキャンアプリケーション４２０がステップＳ８１６で生成した画像ファイルを受け取って、画像ファイル格納部４１５に保存する。
【００７０】
ステップＳ８１８で、スキャン連携部４１４は、ステップＳ８１７で保存した画像ファイルをファイルアップロードフォームの対象ファイルとして設定する。そして、ステップＳ８０４へ戻り、次のユーザ操作を待ち受ける。
【００７１】
ステップＳ８２１で、ユーザ操作としてサブミット指示を受け取ったユーザ操作処理部４１３は、通信部４１１を通してＷｅｂサーバ１０２に対してＨＴＴＰリクエストを送信する。このとき、ＨＴＴＰリクエストにはフォームデータとして、ステップＳ８１８でファイルアップロードフォームの対象ファイルとして設定した画像ファイルが含まれる。
【００７２】
ステップＳ８２２で、通信部４１１は、Ｗｅｂサーバ１０２からステップＳ８２１のＨＴＴＰリクエストに対するＨＴＴＰレスポンスを受信して処理を終了する。
【００７３】
●スキャン処理
図９は、図８のステップＳ８１６でＷｅｂブラウザ４１０から呼び出されたスキャンアプリケーション４２０が行う処理を定義したフローチャートである。ＭＦＰ１０１のＨＤＤ２１４に記憶されているプログラムを、ＣＰＵ２１１がＲＡＭ２１３に読み出し、解析、実行することで、図９のフローチャートの各ステップが実行される。
【００７４】
ステップＳ９０１で、Ｗｅｂブラウザ４１０から呼び出しを受けたサービス連携部４２３は、Ｗｅｂブラウザ４１０から呼び出しパラメータを受け取る。
【００７５】
ステップＳ９０２で、サービス連携部４２３は、ステップＳ９０１で受け取ったパラメータの中に組み合わせ制限が含まれている否かを判別する。サービス連携部４２３は、パラメータに組み合わせ制限が含まれていればステップＳ９０３へ処理を進め、組み合わせ制限が含まれていなければステップＳ９０４へ処理を進める。
【００７６】
ステップＳ９０３で、サービス連携部４２３は、ステップＳ９０１で受け取ったパラメータの中に含まれる組み合わせ制限を、一時的な組み合わせ制限として保存する。一時的な組み合わせ制限とは、ステップＳ９０１で受けたＷｅｂブラウザ４１０からの呼び出しに対する一連の処理の間だけ（つまり本フローチャートが終了するまでの一時的な間だけ）有効となる組み合わせ制限である。
【００７７】
ステップＳ９０４で、サービス連携部４２３は、ステップＳ９０１で受け取ったパラメータの中に単独機能制限が含まれている否かを判別する。サービス連携部４２３は、パラメータに単独機能制限が含まれていればステップＳ９０５へ処理を進め、単独機能制限が含まれていなければステップＳ９０６へ処理を進める。
【００７８】
ステップＳ９０５で、画面制御部４２１は、ステップＳ９０１で受け取ったパラメータに含まれる単独機能制限の指定に従って構成したスキャン設定画面を操作部２１９に表示する。例えば、図５（Ａ）のＨＴＭＬ文書の場合、単独機能制限として、図８のステップＳ８１２、Ｓ８１３で説明したように、ＦＩＬＥ＿ＴＹＰＥの値域が「ＰＤＦとＪＰＥＧ」に制限されている。そのため、ステップＳ９０５で画面制御部４２１は、ＦＩＬＥ＿ＴＹＰＥの選択肢を「ＰＤＦ」と「ＪＰＥＧ」のみにしたスキャン設定画面を表示する。
【００７９】
一方、ステップＳ９０６で、ステップＳ９０４で呼び出しパラメータの中に単独機能制限が含まれていないと判別した場合の処理であり、画面制御部４２１は、機能を制限していない通常のスキャン設定画面を表示する。
【００８０】
ステップＳ９０７で、画面制御部４２１は、ユーザの操作を待ち受ける。画面制御部４２１は、ユーザの操作を検知した場合に次のステップに進む。
【００８１】
ステップＳ９０８で、画面制御部４２１は、検知したユーザ操作の種類を判別する。画面制御部４２１は、ユーザ操作の種類がスキャン実行指示だった場合はステップＳ９０９に処理を進め、それ以外だった場合はステップＳ９２１に処理を進める。
【００８２】
ステップＳ９０９で、スキャン実行部４２２は、スキャン設定画面の設定に従ってスキャナ２２１から原稿を読み込み、画像ファイルを生成する。
【００８３】
ステップＳ９１０で、サービス連携部４２３は、ステップＳ９０３で保存した一時的な組み合わせ制限を破棄する。
【００８４】
ステップＳ９１１で、サービス連携部４２３は、ステップＳ９０９で生成した画像ファイルをＷｅｂブラウザ４１０に渡して処理を終了する。この後はＷｅｂブラウザ４１０が図８のステップＳ８１７から処理を続行する。
【００８５】
一方、ステップＳ９２１以降は、ステップＳ９０８で画面制御部４２１が、ユーザ操作の種類がスキャン実行指示以外だったと判別した場合の処理である。
【００８６】
ステップＳ９２１で、画面制御部４２１は、ステップＳ９０７で検知したユーザ操作に応じた処理を行う。例えば、ユーザが変更した設定値に応じて画面の表示を変更するなどの処理である。
【００８７】
ステップＳ９２２で、画面制御部４２１は、ステップＳ９０７で検知したユーザ操作が一時的な組み合わせ制限に関する操作か否かを判別する。画面制御部４２１は、ユーザ操作が一時的な組み合わせ制限に関する操作だった場合はステップＳ９２３に処理を進め、そうでなかった場合はステップＳ９０７に戻って次のユーザ操作を待ち受ける。
【００８８】
ステップＳ９２３で、画面制御部４２１は、ステップＳ９０３で保存した一時的な組み合わせ制限に基づいて、制限する組み合わせを無効化する。図５（Ａ）のＨＴＭＬ文書の場合、図８のステップＳ８１２、Ｓ８１３で説明したように、［Ａ７１５、Ａ７１７］、［Ａ７１５、Ａ７１９］［Ａ７１６、Ａ７１８］などの組み合わせが制限されている。例えば、ステップＳ９０７で検知したユーザ操作によってＡ７１５行の機能が有効になった場合、画面制御部４２１は、Ａ７１５行との組み合わせが制限されているＡ７１７行、Ａ７１９行の機能を有効にできないようにする。Ａ７１５行の機能とは、Ａ７１５行で定義された機能のいずれかひとつであってよい。具体的には、ＦＩＬＥ＿ＴＹＰＥの値として「ＪＰＥＧ」が選択された場合（Ａ７１５行）、ＴＷＯ＿ＳＩＤＥＤ（Ａ７１７行）を「ｔｒｕｅ」にできないように無効化する。同様にＳＣＡＮ＿ＰＡＧＥ（Ａ７１９行）が１を超えないように制限をかける。また、ステップＳ９０７で検知したユーザ操作によってＡ７１６行の機能が有効になった場合、画面制御部４２１は、Ａ７１６行との組み合わせが制限されているＡ７１８行の機能を有効にできないようにする。具体的には、ＦＩＬＥ＿ＴＹＰＥの値として「ＰＤＦ」が選択された場合（Ａ７１６行）、ＳＰＬＩＴ＿ＰＡＧＥ（Ａ７１８行）を「ｔｒｕｅ」にできないように無効化する。
【００８９】
以上のように、前述の実施例において説明した手順により、ＨＴＭＬ文書で指定されたファイルの制限を満たす設定でスキャンを行ってアップロードすることが可能になり、効率や生産性が向上する。
【００９０】
（実施例２）
次に、本発明に係る第２の実施例について説明する。第１の実施例では、ＨＴＭＬ文書で指定されたファイルの制限を満たす設定でスキャンを実行できるように処理を行った。一方で、Ｗｅｂサーバから受信したＨＴＭＬ文書のなかには、ファイルの制限を指定していなかったり、抜けもれがあったりするＨＴＭＬ文書もある。ＨＴＭＬの規約として定められていない制限をかけたい場合、Ｉｎｐｕｔ要素の属性として指定できないため、文章でユーザにファイルの制限を提示しているＨＴＭＬ文書もある。
【００９１】
そこで第２の実施列として、ＨＴＭＬ文書のＩｎｐｕｔ要素で指定されたファイル制限に加え、ＳＳＢ設定にファイル制限またはスキャン制限を指定することで、ＨＴＭＬ文書で不足しているファイル制限の指定を補完する実施例を説明する。第２の実施例は、第１の実施例を変形したものであるため、第１の実施例との差分のみ説明する。
【００９２】
●ソフトウェア構成
図１０は、図４で説明したＭＦＰ１０１のソフトウェア構成図に、ＳＳＢ設定１００１とＳＳＢ処理部１００２を加えた構成図である。ＳＳＢ設定１００１とＳＳＢ処理部１００２以外の記述は図４と同じであるため説明を省略する。
【００９３】
ＳＳＢ（Ｓｉｔｅ  Ｓｐｅｃｉｆｉｃ  Ｂｒｏｗｓｅｒ）設定１００１は、ＷｅｂサイトまたはＵＲＬ単位でＷｅｂブラウザ４１０に適用する設定を定義したものである。ＳＳＢ設定１００１は、特定のＷｅｂサイトの使い方を限定させたい管理者またはサービスマンが設定する。例えば、ＳＳＢ設定１００１には、Ｗｅｂブラウザ４１０のＵＩに関する設定や通信に関する設定を指定したりする。Ｗｅｂブラウザ４１０のＵＩに関する設定の例として、ツールバーの非表示やＵＲＬ入力の制限、お気に入り追加の制限などがある。通信に関する設定の例として、Ｃｏｏｋｉｅの処理方法、ＨＴＴＰＳ／ＨＴＴＰ混在ページの表示制限、キャッシュの使用可否などがある。本実施例では、ＳＳＢ設定１００１に指定する設定のひとつとして、ファイルアップロードフォームに対するファイル制限またはスキャン制限を指定する。
【００９４】
本実施例ではＳＳＢ設定１００１は、Ｗｅｂブラウザ４１０が保持する構成となっているが、ネットワーク上のサーバに配置して、必要に応じてサーバから取得するように構成してもよい。または、Ｗｅｂブラウザ４１０が起動するたびにサーバ上のＳＳＢ設定と同期をとるように構成してもよい。
【００９５】
ＳＳＢ処理部１００２は、ＳＳＢ設定１００１を読み込んで、ＳＳＢ設定１００１に定義された設定に応じた処理を行う。
【００９６】
図１１は、実施形態に係るＳＳＢ設定１００１の一例である。図１１は一例として、ＪＳＯＮ形式で記述しているが、これに限定するものではない。
【００９７】
指定１１０１は、ＳＳＢ設定を適用するＷｅｂサイトを指定している。
【００９８】
指定１１０２は、ファイルアップロードフォームに適用するファイル制限を指定している。図１１の１１０２の指定は、ＨＴＭＬ文書のＩｎｐｕｔ要素において「ａｃｃｅｐｔ＝"ｉｍａｇｅ／ｐｎｇ"」と指定した場合と同じ意味を持つ。
【００９９】
指定１１０３は、ファイルアップロードフォームに適用するスキャン制限を指定している。図１１の１１０３の指定は、スキャン解像度の値域を「１００ｘ１００ｄｐｉ」と「２００ｘ２００ｄｐｉ」に、スキャン時のカラー指定を「モノクロ」に限定している。１１０３に指定するのはファイル制限ではなく、スキャン制限のため、ＨＴＭＬの規約に縛られることはない。
【０１００】
●Ｗｅｂブラウザによるファイルアップロード処理手順
図１２Ａ、図１２Ｂは、図８を変形したフローチャートである。図８で説明したフローチャートにＳ１２０１およびＳ１２１１からＳ１２１７の処理を追加したものであるため、追加したステップのみ説明する。
【０１０１】
ステップＳ１２０１において、ＳＳＢ処理部１００２は、ステップＳ８０１およびステップＳ８０２で通信を行ったＷｅｂサイトに対応するＳＳＢ設定１００１を読み込む。
【０１０２】
ステップＳ１２１１において、ＳＳＢ処理部１００２は、ステップＳ１２０１で読み込んだＳＳＢ設定１００１からファイル制限（１１０２）とスキャン制限（１１０３）を取り出す。すなわちＳＳＢ処理部１００２は、ＳＳＢ設定に記載された制限を取得する制限取得部を実現する。
【０１０３】
ステップＳ１２１１において、ＳＳＢ処理部１００２は、ＳＳＢ設定１００１にファイル制限があれば（つまりステップＳ１２１１でファイル制限を取り出した場合は）ステップＳ１２１３へ処理を進め、そうでなければステップＳ１２１４へ処理を進める。
【０１０４】
ステップＳ１２１３において、ファイル制限変換部４１７は、ステップＳ１２１１でＳＳＢ設定１００１から取り出したファイル制限１１０２を、ファイル制限変換テーブル４１６を用いて、スキャン制限に変換する。すなわちファイル制限変換部４１７は、ＳＳＢ設定から取得したファイル制限をスキャン機能制限に変換する設定変換部を実現する。ファイル制限１１０２が、ＨＴＴＰレスポンスに含まれたファイルアップロードフォームのａｃｃｅｐｔ属性と記述の仕方が同一であれば、ファイル制限テーブル７２０を用いることができる。一致していない場合には、ファイル制限１１０２の記述に合わせてファイル制限テーブルを用意しておけばよい。
【０１０５】
ステップＳ１２１４において、ファイル制限変換部４１７は、ファイル制限またはスキャン制限の指定元がいくつあるかを判別する。例えば、ＨＴＭＬ文書とＳＳＢ設定の両方でファイル制限が指定されている場合は、指定元が複数あると判別する。また、ＳＳＢ設定においてファイル制限とスキャン制限の両方が指定されていた場合は、指定元が複数あると判別する。ファイル制限変換部４１７は、指定元が１つだけの場合はステップＳ８１４へ処理を進め、指定元が複数ある場合はステップＳ１２１５へ処理を進め、指定元がない場合はステップＳ８１５へ処理を進める。
【０１０６】
ステップＳ１２１５において、ファイル制限変換部４１７は、複数から指定されたスキャン制限にコンフリクトが発生しているか否かを判別する。例えば、図５の５０１ではａｃｃｅｐｔ属性に「ｉｍａｇｅ／ｊｐｅｇ，ａｐｐｌｉｃａｔｉｏｎ／ｐｄｆ」と指定しているが、図１１の１１０２ではａｃｃｅｐｔ属性に「ｉｍａｇｅ／ｐｎｇ」と指定しているため、コンフリクトが発生しているとみなす。ファイル制限変換部４１７は、コンフリクトが発生していると判別した場合はステップＳ１２１６へ処理を進め、コンフリクトが発生していないと判別した場合はステップＳ１２１７へ処理を進める。
【０１０７】
ステップＳ１２１５において、ファイル制限変換部４１７は、コンフリクトを解消する。具体的には、指定元に優先度を設け、コンフリクトが発生している項目に関しては、優先度の高い指定元からのスキャン制限を有効なスキャン制限とする。本実施例では優先度を「１．ＨＴＭＬ文書のファイル制限」「２．ＳＳＢ設定のファイル制限」「３．ＳＳＢ設定のスキャン制限」とし、１から順に優先度が低くなるものとするが、これに限定されるものではない。コンフリクト解消の例として、図５のファイルアップロードフォーム５０１と図１１のファイル制限１１０２のコンフリクトの場合、優先度に従って、図５のファイルアップロードフォーム５０１のａｃｃｅｐｔ属性の指定を有効とし、図１１のファイル制限１１０２のａｃｃｅｐｔ属性の指定は破棄する。
【０１０８】
ステップＳ１２１７において、ファイル制限変換部４１７は、複数の指定元から指定されたスキャン制限をマージして、ステップＳ８１４でスキャンアプリケーションを呼び出す際のパラメータとする。たとえばファイル制限から変換されたスキャン制限と、ＳＳＢ設定で指定されたスキャン制限１１０３とがマージされる。そしてマージされたスキャン設定がスキャンアプリケーション４２０に引き渡されて、第１実施例と同様にスキャンが実行される（Ｓ８１６）。
【０１０９】
以上のように、前述の実施例において説明した手順により、ＳＳＢ設定にファイル制限またはスキャン制限を指定することで、ＨＴＭＬ文書で不足しているファイル制限の指定を補完することが可能になる。
【０１１０】
（実施例３）
次に、本発明に係る第３の実施例について説明する。第１および第２の実施例では、ＨＴＭＬ文書の指定やＳＳＢ設定の指定でスキャン制限を行う処理について説明した。一方で、スキャン機能に制限をかけるのではなく、必要とするスキャン機能を指定したいケースがある。例えば、領収書を管理するＷｅｂアプリケーションの場合、領収書をアップロードする機能が備わっている。ＭＦＰから領収書をスキャンしてアップロードする場合、マルチクロップ機能（複数の領収書を一度のスキャンで読み取った後、別々の画像データとして自動的に切り出す機能）があるとユーザの利便性が向上する。
【０１１１】
一方、必要とするスキャン機能はＷｅｂアプリケーションごとに異なる。そのため、すべてのＷｅｂアプリケーションの要求を満たすスキャンアプリケーションを事前に用意しておくことは難しい。そこで第３の実施例では、複数のスキャンアプリケーションの中から、Ｗｅｂサイトが必要とするスキャン機能を持つスキャンアプリケーションを動的に呼び出すことを可能にする実施例を説明する。第３の実施例は、第２の実施例を変形したものであるため、第２の実施例との差分のみ説明する。
【０１１２】
●ソフトウェア構成
図１３は、図１０で説明したＭＦＰ１０１のソフトウェア構成図に、拡張スキャンアプリケーションＡ１３１０、拡張スキャンアプリケーションＢ１３２０、サービス管理部１３３０を加えた構成図である。また、ＳＳＢ設定１００１をＳＳＢ設定１３０１に変更している。それ以外の記述は図１０と同じであるため説明を省略する。
【０１１３】
ＳＳＢ設定１３０１は、第２の実施例で使用したＳＳＢ設定１００１を拡張したＳＳＢ設定であり、Ｗｅｂサイトが必要とするスキャン機能を指定する。
【０１１４】
図１４に、実施形態に係るＳＳＢ設定１３０１の例を示す。図１４では２つのＳＳＢ設定を例示している。図１４（Ａ）は、Ｗｅｂサイトに必要なスキャン機能がマルチクロップ機能であると指定したＳＳＢ設定の例である。スキャン機能１４０１でＷｅｂサイトに必要なスキャン機能がマルチクロップ機能であると指定している。図１４（Ｂ）は、Ｗｅｂサイトに必要なスキャン機能が文字認識機能特にＯＣＲ機能（光学的文字認識機能）であると指定したＳＳＢ設定の例である。スキャン機能１４０２でＷｅｂサイトに必要なスキャン機能がＯＣＲ機能であると指定している。さらに、ＯＣＲが有効な言語として英語（"ｅｎ"）と日本語（"ｊａ"）を指定している。
【０１１５】
図１３の説明に戻る。拡張スキャンアプリケーションＡ１３１０と拡張スキャンアプリケーションＢ１３２０は、標準のスキャンアプリケーションであるスキャンアプリケーション４２０とは異なるスキャン機能を持つスキャンアプリケーションである。また、拡張スキャンアプリケーションＡ１３１０と拡張スキャンアプリケーションＢ１３２０は、スキャンアプリケーション４２０と同様に、サービス連携機能を持つ。拡張スキャンアプリケーションＡ１３１０と拡張スキャンアプリケーションＢ１３２０は、ＭＦＰ１０１を拡張する機能として工場出荷時または工場出荷後にＭＦＰ１０１に追加されたソフトウェアである。本実施例では、２つの拡張スキャンアプリケーションを定義しているが、数を限定するものではない。
【０１１６】
拡張スキャンアプリケーションＡ１３１０と拡張スキャンアプリケーションＢ１３２０はそれぞれ、スキャンアプリケーション４２０と同様、画面制御部、スキャン実行部、サービス連携部を有する。これらは、スキャンアプリケーション４２０と同じため説明を省略する。
【０１１７】
サービス管理部１３３０は、サービス連携機能を持つアプリケーション（以降、サービス連携アプリケーション）を管理する。サービス管理部１３３０は、サービス検索部１３３１とサービス管理テーブル１３３２を有する。
【０１１８】
サービス検索部１３３１は、ＭＦＰ１０１内のソフトウェアモジュールからの指示を受けて、サービス連携アプリケーションを検索、取得する。本実施例では、Ｗｅｂブラウザ４１０からの依頼を受けて、スキャン機能を持つアプリケーションを検索する。
【０１１９】
サービス管理テーブル１３３２は、サービス連携アプリケーションの情報を管理するテーブルである。
【０１２０】
図１５にサービス管理テーブル１３３２の例を示す。サービス管理テーブル１３３２は、ＩＤ１５０１列、タイプ１５０２列、有効機能１５０３列、優先度１５０４列、アプリケーションＩＤ１５０５列を持つ。サービス管理テーブル１３３２の行は、ひとつのサービス連携アプリケーションに対応する。
【０１２１】
ＩＤ１５０１列は、テーブルの行を特定するための識別子を定義する列である。なお、以降の説明において、テーブルの行を指定するためにＩＤ１５０１列の値を使用することとする。例えば、ＩＤ１５０１列の値が「Ｃ１５１１」の行は、「Ｃ１５１１行」と記載する。
【０１２２】
タイプ１５０２列は、サービス連携アプリケーションの機能の種類を定義する列である。
【０１２３】
有効機能１５０３列は、サービス連携アプリケーションが持つ機能や値域を定義する列である。
【０１２４】
優先度１５０４列は、サービス検索部１３３１がサービス連携アプリケーションを検索する際の検索結果の優先度である。検索結果が複数ある場合、優先度１５０４列の数が最も若い数字を持つサービス連携アプリケーションを検索結果とする。
【０１２５】
アプリケーションＩＤ１５０５列は、各行に対応するアプリケーションの識別子を定義する列である。
【０１２６】
●Ｗｅｂブラウザによるファイルアップロード処理手順
図１６は、図１２を変形したフローチャートである。図１２で説明したフローチャートに対して、Ｓ１２１１をＳ１６０１に変更、Ｓ１６０２を追加、Ｓ８１４をＳ１６１１に変更、Ｓ８１５をＳ１６１２に変更している。追加・変更したステップのみ説明する。
【０１２７】
ステップＳ１６０１において、ＳＳＢ処理部１００２は、ステップＳ１２０１で読み込んだＳＳＢ設定１００１からファイル制限（１１０２）、スキャン制限（１１０３）、スキャン機能（１４０１または１４０２）を取り出す。すなわちＳＳＢ処理部１００２は、ＳＳＢ設定に記載されたファイル制限、スキャン制限に加えて、スキャン機能を取得するスキャン機能取得部を実現する。
【０１２８】
ステップＳ１６０２において、スキャン連携部４１４は、サービス検索部１３３１に対して、サービス連携アプリケーションの検索を依頼する。検索の依頼時に、スキャン連携部４１４は、検索するアプリケーションのタイプとして「スキャンアプリケーション」、検索条件として、ステップＳ１６０１で取り出したスキャン機能を指定する。検索の依頼を受けたサービス検索部１３３１の処理は図１７で後述する。スキャン連携部４１４は、検索結果として、以降の処理で使用するスキャンアプリケーションが何かという情報を受け取る。本実施例では、スキャンアプリケーション４２０、拡張スキャンアプリケーションＡ１３１０、拡張スキャンアプリケーションＢ１３２０のいずれかを検索結果として受け取る。
【０１２９】
ステップＳ１６１１で、スキャン連携部４１４は、ステップＳ１６０２で検索結果として取得したスキャンアプリケーションを呼び出す。このとき、スキャン連携部４１４は、ステップＳ８１２で特定したスキャン制限を呼び出しパラメータとしてスキャンアプリケーションに渡す。
【０１３０】
一方、ステップＳ１６１２は、ステップＳ８１２でファイル制限がないと判別した場合の処理であり、スキャン連携部４１４は、呼び出しパラメータにスキャン制限を含めずに、ステップＳ１６０２で検索結果として取得したスキャンアプリケーションを呼び出す。
【０１３１】
●スキャンアプリケーションの検索処理
図１７は、図１６のフローチャートのステップＳ１６０２において、スキャン連携部４１４から検索の依頼を受けたサービス検索部１３３１が行う処理を定義したフローチャートである。ＭＦＰ１０１のＨＤＤ２１４に記憶されているプログラムを、ＣＰＵ２１１がＲＡＭ２１３に読み出し、解析、実行することで、図１７のフローチャートの各ステップが実行される。
【０１３２】
ステップＳ１７０１において、サービス検索部１３３１はスキャン連携部４１４から検索の指示を受け取る。このとき、検索するアプリケーションのタイプが「スキャンアプリケーション」であるという情報をパラメータとして受け取る。また、アプリケーションの検索条件としてスキャン機能の指定があれば、同様に受け取る。
【０１３３】
ステップＳ１７０２において、サービス検索部１３３１は、ステップＳ１７０１で受け取った検索指示のパラメータに検索条件の指定があるか否かを判別する。サービス検索部１３３１は、検索条件の指定があればステップＳ１７０３へ処理を進め、そうでなければステップＳ１７０５へ処理を進める。
【０１３４】
ステップＳ１７０３において、サービス検索部１３３１は、ステップＳ１７０１で指定された検索条件を満たすスキャンアプリケーションを絞り込む。具体的には、サービス検索部１３３１は、サービス管理テーブル１３３２から、検索条件として指定されたスキャン機能が有効機能１５０３列に定義されている行を取り出す。例えば検索条件として、図１４（Ａ）の１４０１（ｍｕｌｔｉｃｒｏｐ：ｔｒｕｅ）が指定されていた場合、Ｃ１５１３行を取り出す。同様に検索条件として、図１４（Ｂ）の１４０２（ｏｃｒ：［"ｅｎ"，"ｊａ"］）が指定されていた場合、Ｃ１５１２行とＣ１５１３行を取り出す。
【０１３５】
ステップＳ１７０４において、サービス検索部１３３１はステップＳ１７０４の絞り込み結果を判別し、結果が０件であればステップＳ１７０５へ、結果が１件であればステップＳ１７０６へ、結果が２件以上であればステップＳ１７０７へ処理を進める。
【０１３６】
ステップＳ１７０５において、サービス検索部１３３１は、サービス管理テーブル１３３２に定義されているスキャンアプリケーションの中で優先度が最も高いアプリケーションを検索結果として確定する。図１５の例では、Ｃ１５１１列に対応するスキャンアプリケーション４２０（ＤＥＦＡＵＬＴ＿ＳＣＡＮ＿ＡＰＰ）が検索結果となる。
【０１３７】
ステップＳ１７０６において、サービス検索部１３３１は、ステップＳ１７０４で絞り込んだ結果を検索結果として確定する。
【０１３８】
ステップＳ１７０７において、サービス検索部１３３１は、ステップＳ１７０４で絞り込んだアプリケーションの中で最も優先度が高いアプリケーションを検索結果として確定する。
【０１３９】
ステップＳ１７０８において、サービス検索部１３３１は、前ステップで確定した検索結果をスキャン連携部４１４に応答して処理を終了する。
【０１４０】
以上のように、前述の実施例において説明した手順により、Ｗｅｂサイトが必要とするスキャン機能を持つスキャンアプリケーションを呼び出すことが可能になり、ユーザの利便性、生産性が向上する。
【０１４１】
［その他の実施例］
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０１４２】
１０１  ＭＦＰ、４１０  Ｗｅｂブラウザ、４２０  スキャンアプリケーション、１０２  Ｗｅｂサーバ
【図１】
2019176422.tif 000003
【図２】
2019176422.tif 000004
【図３】
2019176422.tif 000005
【図４】
2019176422.tif 000006
【図５】
2019176422.tif 000007
【図６】
2019176422.tif 000008
【図７】
2019176422.tif 000009
【図８】
2019176422.tif 000010
【図９】
2019176422.tif 000011
【図１０】
2019176422.tif 000012
【図１１】
2019176422.tif 000013
【図１２Ａ】
2019176422.tif 000014
【図１２Ｂ】
2019176422.tif 000015
【図１３】
2019176422.tif 000016
【図１４】
2019176422.tif 000017
【図１５】
2019176422.tif 000018
【図１６Ａ】
2019176422.tif 000019
【図１６Ｂ】
2019176422.tif 000020
【図１７】
2019176422.tif 000021