(57)【要約】【課題】オート連続スキャン機能を有するスキャナを制御するためのプログラムについて、ユーザの意図しない原稿を読み取る可能性を低減する技術を提供すること。【解決手段】スキャナドライバ４３は、スキャナのオート連続スキャン機能を有効にするスキャンパラメータを、ＰＣ１の通信インタフェースを介してスキャナに送信する。オート連続スキャン機能は、第１の原稿の読み取りによってスキャンデータを生成した後にＡＤＦ等に第２の原稿がセットされた場合に、自動的に第２の原稿の読み取りを行い、生成済みの第１の原稿のスキャンデータに連続する、第２の原稿のスキャンデータを生成する機能である。スキャナドライバ４３は、スキャナとの通信経路が第１の経路の場合に、オート連続スキャン機能を制限する場合があり、スキャナとの通信経路が第２の経路の場合に、オート連続スキャン機能を制限しない。【選択図】図３
2020107986.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置のコンピュータによって実行可能であり、スキャナの制御を行うプログラムであって、
前記コンピュータに、
前記情報処理装置と接続する前記スキャナのオート連続スキャン機能を有効にするオート連続スキャン要求を、前記情報処理装置の通信インタフェースを介して前記スキャナに送信するオート連続スキャン設定処理を実行させ、前記オート連続スキャン機能は、第１の原稿の読み取りによってスキャンデータを生成した後に原稿のセット位置に第２の原稿がセットされた場合に、自動的に前記第２の原稿の読み取りを行い、生成済みの前記第１の原稿のスキャンデータに連続する、前記第２の原稿のスキャンデータを生成する機能であり、
さらに前記コンピュータに、
前記スキャナとの通信経路が第１の経路の場合に、前記オート連続スキャン設定処理の実行を制限する場合があり、前記スキャナとの通信経路が第２の経路の場合に、前記オート連続スキャン設定処理の実行を制限しない制限処理を実行させる、
ことを特徴とするプログラム。
【請求項２】
請求項１に記載するプログラムにおいて、
前記コンピュータに、
前記オート連続スキャン機能を有効にする指示の入力を受け付けない第１の画面と、前記オート連続スキャン機能を有効にする前記指示の入力を受け付ける第２の画面と、のいずれか一方を前記情報処理装置の表示デバイスに表示させる画面表示処理を実行させ、
さらに前記コンピュータに、
前記オート連続スキャン機能を有効にする前記指示の入力を受け付けた場合に、前記オート連続スキャン設定処理を実行させ、
前記制限処理では、
前記オート連続スキャン設定処理の実行を制限する場合、前記画面表示処理によって、前記第１の画面を前記表示デバイスに表示させ、前記オート連続スキャン設定処理の実行を制限しない場合、前記画面表示処理によって、前記第２の画面を前記表示デバイスに表示させる、
ことを特徴とするプログラム。
【請求項３】
請求項２に記載するプログラムにおいて、
前記第２の画面を構成するオブジェクトには、前記オート連続スキャン機能を有効にする指示の入力と関連付けられた特定オブジェクトが含まれ、
前記第１の画面を構成するオブジェクトには、前記特定オブジェクトが含まれない、
ことを特徴とするプログラム。
【請求項４】
請求項１から請求項３のいずれか１つに記載するプログラムにおいて、
前記第１の経路は、前記情報処理装置が前記スキャナ以外のデバイスを介して接続されるリモート接続の経路であり、
前記第２の経路は、前記情報処理装置と前記スキャナとが直接接続されるローカル接続の経路である、
ことを特徴とするプログラム。
【請求項５】
請求項１から請求項３のいずれか１つに記載するプログラムにおいて、
前記第１の経路は、前記情報処理装置が前記スキャナ以外のデバイスとも接続される１対多接続の経路であり、
前記第２の経路は、前記情報処理装置と前記スキャナとが直接接続される１対１接続の経路である、
ことを特徴とするプログラム。
【請求項６】
請求項１から請求項３のいずれか１つに記載するプログラムにおいて、
前記第１の経路は、前記情報処理装置の第１のタイプの通信インタフェースを介して前記スキャナと通信を行う通信経路であり、
前記第２の経路は、前記情報処理装置の第２のタイプの通信インタフェースを介して前記スキャナと通信を行う通信経路である、
ことを特徴とするプログラム。
【請求項７】
請求項６に記載するプログラムにおいて、
前記第１のタイプの通信インタフェースは、ネットワーク接続の通信インタフェースであり、
前記第２のタイプの通信インタフェースは、ＵＳＢ接続の通信インタフェースである、
ことを特徴とするプログラム。
【請求項８】
請求項１から請求項７のいずれか１つに記載するプログラムにおいて、
前記コンピュータに、
前記スキャナのモデルを取得する取得処理を実行させ、
前記制限処理では、
前記スキャナとの通信経路が前記第１の経路の場合、さらに前記取得処理にて取得した前記スキャナの種類が、第１モデルであれば、前記オート連続スキャン設定処理の実行を制限し、第２モデルであれば、前記オート連続スキャン設定処理の実行を制限しない、
ことを特徴とするプログラム。
【請求項９】
請求項８に記載するプログラムにおいて、
前記第１モデルは、前記オート連続スキャン機能が有効か否かを報知不可能なモデルであり、
前記第２モデルは、前記オート連続スキャン機能が有効か否かを報知可能なモデルである、
ことを特徴とするプログラム。
【請求項１０】
請求項８に記載するプログラムにおいて、
前記第１モデルは、非モバイルユースのモデルであり、
前記第２モデルは、モバイルユースのモデルである、
ことを特徴とするプログラム。
【請求項１１】
請求項１から請求項７のいずれか１つに記載するプログラムにおいて、
前記情報処理装置には、前記スキャナからの要求を受け付ける常駐アプリケーションプログラムが組み込まれており、
前記制限処理では、
前記スキャナとの通信経路が前記第１の経路の場合、さらに前記常駐アプリケーションプログラムから指示を受け付けていない状態であれば、前記オート連続スキャン設定処理の実行を制限し、前記常駐アプリケーションプログラムから指示を受け付けた状態であれば、前記オート連続スキャン設定処理の実行を制限しない、
ことを特徴とするプログラム。
【請求項１２】
請求項１１に記載するプログラムにおいて、
前記コンピュータに、
前記常駐アプリケーションプログラムから前記スキャナへのスキャン要求を受け付けた場合、前記オート連続スキャン設定処理の実行を制限せず、前記スキャナにスキャン指示を出力するスキャン指示出力処理を実行させる、
ことを特徴とするプログラム。
【請求項１３】
請求項１から請求項７のいずれか１つに記載するプログラムにおいて、
前記制限処理では、
前記スキャナとの通信経路が第１の経路の場合、さらに前記情報処理装置に入力された指示に基づく状態であれば、前記オート連続スキャン設定処理の実行を制限し、前記スキャナに入力された指示に基づく状態であれば、前記オート連続スキャン設定処理の実行を制限しない、
ことを特徴とするプログラム。
【請求項１４】
通信インタフェースと、
コンピュータと、
を備える情報処理装置であって、
前記コンピュータは、
オート連続スキャン機能を有するスキャナに対して、前記オート連続スキャン機能を有効にするオート連続スキャン要求を、前記通信インタフェースを介して送信するオート連続スキャン設定処理を実行し、前記オート連続スキャン機能は、第１の原稿の読み取りによってスキャンデータを生成した後に原稿のセット位置に第２の原稿がセットされた場合に、自動的に前記第２の原稿の読み取りを行い、生成済みの前記第１の原稿のスキャンデータに連続する、前記第２の原稿のスキャンデータを生成する機能であり、
さらに前記コンピュータは、
前記スキャナとの通信経路が第１の経路の場合に、前記オート連続スキャン設定処理の実行を制限する場合があり、前記スキャナとの通信経路が第２の経路の場合に、前記オート連続スキャン設定処理の実行を制限しない制限処理を実行する、
ことを特徴とする情報処理装置。
【請求項１５】
スキャナと情報処理装置とが所定の通信経路を介して接続されるスキャンシステムであって、
前記スキャナは、
第１の原稿の読み取りによってスキャンデータを生成した後に原稿のセット位置に第２の原稿がセットされた場合に、自動的に前記第２の原稿の読み取りを行い、生成済みの前記第１の原稿のスキャンデータに連続する、前記第２の原稿のスキャンデータを生成するオート連続スキャン機能を有し、
前記情報処理装置は、
前記スキャナの前記オート連続スキャン機能を有効にするオート連続スキャン要求を前記スキャナに送信するオート連続スキャン設定手段と、
前記スキャナとの接続に現在用いられている前記所定の通信経路が第１の経路の場合、前記オート連続スキャン設定手段による前記オート連続スキャン要求の送信を制限する場合があり、前記スキャナとの接続に現在用いられている前記所定の通信経路が第２の経路の場合、前記オート連続スキャン設定手段による前記オート連続スキャン要求の送信を制限しない制限手段と、
を備える、
ことを特徴とするスキャンシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書に開示される技術分野は、スキャナを制御するプログラム、情報処理装置、およびスキャンシステムに関する。
【背景技術】
【０００２】
従来、画像読取装置に関する技術として、複数回に分けて読み取った原稿の読取結果から１つの画像ファイルを生成するスキャンシステムが知られている。例えば特許文献１には、パーソナルコンピュータ等の制御装置に組み込まれたスキャナアプリケーションであって、１つのスキャンを単発のスキャンとするのではなく、前回のスキャンに連続して引き継ぐ連続スキャンモードを有する構成が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−２５９０６１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
前述したスキャンシステムをサポートする機能として、第１の原稿の読み取りによってスキャンデータを生成した後に原稿のセット位置に第２の原稿がセットされた場合に、自動的に第２の原稿の読み取りを行い、生成済みの第１の原稿のスキャンデータに第２の原稿のスキャンデータが連続するスキャンデータを生成するオート連続スキャン機能がある。オート連続スキャン機能を有効にすると、原稿ごとのスキャン開始指示の入力操作を省くことができるため、複数回に分けて原稿を読み取る場合にユーザの手間を軽減することができる。
【０００５】
しかしながら、オート連続スキャン機能が有効になっている状態でオート連続スキャン機能を有効にしたユーザ以外のユーザが原稿をセットしてしまうと、オート連続スキャン機能を有効にしたユーザの意図しない原稿を読み取ってしまうという問題がある。例えば、スキャナがユーザから離れた場所に設置され、ユーザがＰＣ等の制御装置によって遠隔地からそのスキャナのオート連続スキャン機能を有効にした場合、そのユーザがスキャナに原稿をセットするまでに別のユーザが原稿をセットしてしまう可能性が高まる。
【０００６】
本明細書は、オート連続スキャン機能を有するスキャナを制御するためのプログラムについて、ユーザの意図しない原稿を読み取る可能性を低減する技術を開示する。
【課題を解決するための手段】
【０００７】
この課題の解決を目的としてなされたプログラムは、情報処理装置のコンピュータによって実行可能であり、スキャナの制御を行うプログラムであって、前記コンピュータに、前記情報処理装置と接続する前記スキャナのオート連続スキャン機能を有効にするオート連続スキャン要求を、前記情報処理装置の通信インタフェースを介して前記スキャナに送信するオート連続スキャン設定処理を実行させ、前記オート連続スキャン機能は、第１の原稿の読み取りによってスキャンデータを生成した後に原稿のセット位置に第２の原稿がセットされた場合に、自動的に前記第２の原稿の読み取りを行い、生成済みの前記第１の原稿のスキャンデータに連続する、前記第２の原稿のスキャンデータを生成する機能であり、さらに前記コンピュータに、前記スキャナとの通信経路が第１の経路の場合に、前記オート連続スキャン設定処理の実行を制限する場合があり、前記スキャナとの通信経路が第２の経路の場合に、前記オート連続スキャン設定処理の実行を制限しない制限処理を実行させる、ことを特徴としている。
【０００８】
本明細書に開示されるプログラムによれば、スキャナとの通信経路によって、スキャナのオート連続スキャン機能を有効にするオート連続スキャン要求の送信を制限することが可能になる。例えば、スキャナとの通信経路の違いによってスキャナとの距離が近いか否かを推定できることから、スキャナと近距離で通信を行っていることが想定される場合と、スキャナと遠距離で通信を行っていることが想定される場合と、でオート連続スキャン要求の送信可否を振り分けることができる。これにより、オート連続スキャン機能が有効の状態で他のユーザによる原稿がセットされてユーザの意図しない原稿を読み取ってしまう、という可能性の低減が期待できる。
【０００９】
上記プログラムによって実現される制御方法、当該プログラムを実行する情報処理装置、当該プログラムを格納するコンピュータにて読取可能な記憶媒体も、新規で有用である。
【発明の効果】
【００１０】
本明細書に開示される技術によれば、オート連続スキャン機能を有するスキャナを制御するためのプログラムについて、ユーザの意図しない原稿を読み取る可能性を低減する技術が実現される。
【図面の簡単な説明】
【００１１】
【図１】スキャンシステムの電気的構成を示すブロック図である。
【図２】スキャンアプリからの起動によるスキャン動作の流れの例を示すシーケンス図である。
【図３】オート連続スキャンの設定を受け付けるか否かによる表示画面の違いの例を示す説明図である。
【図４】起動処理の手順を示すフローチャートである。
【図５】制限の有無を決定する条件を示す説明図である。
【図６】スキャン実行処理の手順を示すフローチャートである。
【図７】監視アプリからの起動によるスキャン動作の流れの例を示すシーケンス図である。
【発明を実施するための形態】
【００１２】
以下、本実施の形態にかかるスキャンシステムについて、添付図面を参照しつつ詳細に説明する。本形態は、スキャナとパーソナルコンピュータ（以下、「ＰＣ」とする）とを含むシステムである。
【００１３】
本形態のスキャンシステム１００は、例えば、図１に示すように、ＰＣ１と、スキャナ２と、スキャナ３とを含み、スキャナ２やスキャナ３がＰＣ１と所定の通信経路を介して接続されているシステムである。ＰＣ１は、情報処理装置の一例である。情報処理装置の一例は、ＰＣ１に代えて、例えば、スマートフォン、タブレットコンピュータであっても良い。スキャナ２およびスキャナ３は、原稿の画像を読み取ってスキャンデータを取得し、取得したスキャンデータをＰＣ１へ送信することのできる装置である。
【００１４】
本形態のＰＣ１は、図１に示すように、ＣＰＵ１１と、ＲＯＭ１２と、ＲＡＭ１３と、不揮発性メモリ１４と、を含むコントローラ１０を備えている。また、ＰＣ１は、ネットワークインタフェース（以下、「ネットワークＩＦ」とする）１６と、ＵＳＢ通信インタフェース（以下、「ＵＳＢ−ＩＦ」とする）１７と、ディスプレイ１８と、ユーザインタフェース（以下、「ユーザＩＦ」とする）１９と、を備え、これらがコントローラ１０に電気的に接続されている。なお、図１中のコントローラ１０は、ＰＣ１の制御に利用されるハードウェアやソフトウェアを纏めた総称であって、実際にＰＣ１に存在する単一のハードウェアを表すとは限らない。
【００１５】
ＣＰＵ１１は、ＲＯＭ１２や不揮発性メモリ１４から読み出したプログラムに従って、また、ユーザの操作に基づいて、各種の処理を実行する。ＣＰＵ１１は、コンピュータの一例である。ＲＯＭ１２には、ＰＣ１を起動するための起動プログラム等が記憶されている。ＲＡＭ１３は、各種の処理が実行される際の作業領域として、あるいは、データを一時的に記憶する記憶領域として利用される。不揮発性メモリ１４は、例えば、ＨＤＤ、フラッシュメモリであり、各種のアプリケーションプログラム（以下、「アプリ」とする）などのプログラムや画像データ、文書データ等のデータや各種設定を記憶する領域として利用される。
【００１６】
ＲＯＭ１２、ＲＡＭ１３および不揮発性メモリ１４は、いずれもメモリの一例である。また、ＣＰＵ１１がＣＰＵバッファを備えているものであれば、ＣＰＵバッファもメモリの一例である。メモリの一例はいずれも、ＰＣ１に内蔵されるＨＤＤ等に限らず、ＣＰＵ１１が読み取り可能かつ書き込み可能なストレージ媒体であってもよい。コンピュータが読み取り可能なストレージ媒体とは、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体である。ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体には、上記の例の他に、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等の記録媒体も含まれる。また、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体は、ｔａｎｇｉｂｌｅな媒体でもある。一方、インターネット上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、コンピュータが読み取り可能な媒体の一種であるコンピュータが読み取り可能な信号媒体であるが、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙなコンピュータが読み取り可能なストレージ媒体には含まれない。
【００１７】
ネットワークＩＦ１６は、ＬＡＮ、インターネット等のネットワークを介して外部装置と通信を行うネットワーク接続のためのハードウェアを含む。ネットワークＩＦ１６の通信規格は、イーサネット（登録商標）、Ｗｉ−Ｆｉ（登録商標）などである。ＵＳＢ−ＩＦ１７は、ＵＳＢ規格に基づく通信を行うＵＳＢ接続のためのハードウェアを含む。ネットワークＩＦ１６やＵＳＢ−ＩＦ１７の通信の態様は、有線でも無線でもよい。ネットワークＩＦ１６とＵＳＢ−ＩＦ１７とは、いずれも、通信インタフェースの一例である。ネットワークＩＦ１６は、第１のタイプの通信インタフェースの一例であり、ＵＳＢ−ＩＦ１７は、第２のタイプの通信インタフェースの一例である。
【００１８】
本形態のスキャナ２やスキャナ３は、ＰＣ１に対して、ＰＣ１のネットワークＩＦ１６を介しての接続も、ＵＳＢ−ＩＦ１７を介しての接続も、可能なものである。本形態では、図１に示したように、スキャナ２は、ネットワークＩＦ１６を介してＰＣ１に接続されており、スキャナ３は、ＵＳＢ−ＩＦ１７を介してＰＣ１に接続されている。ネットワークＩＦ１６を介してＰＣ１とスキャナ２とが通信を行う通信経路は、第１の経路の一例である。ＵＳＢ−ＩＦ１７を介してＰＣ１とスキャナ３とが通信を行う通信経路は、第２の経路の一例である。なお、１台のスキャナが複数の通信経路で接続されていても良い。
【００１９】
ネットワークＩＦ１６を介した通信経路は、サーバやルータ等の他のデバイスを介して接続されるリモート接続の経路である。また、ネットワークＩＦ１６を介した通信経路は、通信範囲が広い通信形態の経路であり、１対多接続の経路である。ネットワークＩＦ１６を介してＰＣ１に接続されているデバイスは、スキャナ２に限らず、例えば、他のＰＣ、他のスキャナ、プリンタ、ＦＡＸ装置が含まれる場合がある。ネットワークＩＦ１６を介して接続されているスキャナは、例えば、フロア単位や部署単位で共有され、共有可能な場所に設置されている可能性が高い。
【００２０】
一方、ＵＳＢ−ＩＦ１７を介した通信経路は、ＰＣ１とスキャナ３とが直接接続される経路であり、ローカル接続の経路であって、１対１接続の経路である。ＵＳＢ−ＩＦ１７を介して接続されているスキャナは、ＰＣ１の近くに設置されている可能性が高い。つまり、ＰＣ１とスキャナ３との距離は、ＰＣ１とスキャナ２との距離に比較して、近い傾向にある。
【００２１】
ディスプレイ１８は、ユーザに情報を報知するための画面を表示するハードウェアを含む。ディスプレイ１８は、表示デバイスの一例である。ユーザＩＦ１９は、例えば、キーボード、マウス、トラックボールであり、ユーザによる操作を受け付けるハードウェアを含む。なお、ディスプレイ１８とユーザＩＦ１９との組に代えて、タッチパネル等の入力機能と出力機能との両方を備えるものであっても良い。
【００２２】
ＰＣ１の不揮発性メモリ１４には、図１に示すように、オペレーティングシステム（以下、「ＯＳ」とする）４１と、スキャンアプリ４２と、スキャナドライバ４３と、監視アプリ４４と、を含む、各種のデータや各種のプログラムが記憶されている。ＯＳ４１は、例えば、マイクロソフトウィンドウズ（登録商標）、ＭａｃＯＳ（登録商標）、Ｌｉｎｕｘ（登録商標）である。なお、ＯＳ４１の一部は、ＲＯＭ１２に記憶されていても良い。
【００２３】
スキャンアプリ４２は、例えば、スキャナ２やスキャナ３にて原稿を読み取ったスキャンデータを各経路を介して取得し、ユーザＩＦ１９を介した指示によってスキャンデータを編集し、ユーザに指定された保存態様で保存するアプリである。また、スキャンアプリ４２は、ユーザＩＦ１９を介して、例えば、スキャン実行の指示、使用するスキャナの指定、スキャンに関する各種の設定の指示、スキャンデータの保存ファイル形式の指定、保存場所の指定、を受け付ける。
【００２４】
スキャナドライバ４３は、スキャナと通信を行ってスキャナの動作を制御するプログラムである。スキャナドライバ４３は、スキャナの各モデルに対応してスキャナのメーカによって用意され、スキャナの使用前にＰＣ１にインストールされる。スキャナドライバ４３は、例えば、スキャンアプリ４２等にてスキャン動作の開始指示を受け付けたことを契機に、スキャンアプリ４２等にて指定されたスキャナに対応するものが起動される。本形態では、スキャナ２とスキャナ３とは同じモデルのスキャナであり、スキャナドライバ４３は、スキャナ２とスキャナ３との何れにも対応している。スキャナドライバ４３は、プログラムの一例である。
【００２５】
スキャナドライバ４３には、スキャナの動作を制御するメインプログラムと、スキャナとＰＣ１との通信経路ごとに用意され、メインプログラムを呼び出すプログラムである呼び出しプログラムと、が含まれる。例えば、複数の通信経路にて接続されているスキャナに対応するスキャナドライバ４３には、通信経路ごとの複数の呼び出しプログラムが含まれる。ＯＳ４１は、スキャナ名と通信経路との組合せを示す名称に対応付けて、各呼び出しプログラムを登録する。スキャンアプリ４２は、スキャナを選択する画面に使用可能な装置として、スキャナ名と通信経路との組合せを示す名称のリストを表示し、ユーザの選択を受け付ける。スキャンアプリ４２は、選択された名称をＯＳ４１に渡し、ＯＳ４１は、受け取った名称に対応する呼び出しプログラムを起動する。各呼び出しプログラムは、自身が対応するスキャナドライバ４３のメインプログラムを起動し、起動時に通信経路の情報をメインプログラムに渡す。
【００２６】
監視アプリ４４は、ＰＣ１に接続されているスキャナ２やスキャナ３の状態を監視するアプリである。監視アプリ４４は、ＰＣ１の起動に伴って起動され、ＰＣ１に常駐する。監視アプリ４４は、例えば、所定の時間間隔でスキャナ２やスキャナ３との通信を行い、スキャナ２やスキャナ３の状態を示す情報を取得する。監視アプリ４４は、常駐アプリケーションプログラムの一例である。
【００２７】
監視アプリ４４は、例えば、スキャナ２やスキャナ３にてユーザの操作を受け付け、スキャンデータの送信先としてＰＣ１が選択された場合に、当該スキャナからの指示を受けてスキャナドライバ４３を起動する。監視アプリ４４は、指示を送信したスキャナとの通信経路に応じて、スキャナ名と通信経路との組合せに対応する呼び出しプログラムを起動する。このとき、監視アプリ４４は、呼び出しプログラムに、起動元が監視アプリ４４であることを示す情報を渡し、呼び出しプログラムは、メインプログラムにこの情報を渡す。
【００２８】
従って、スキャナドライバ４３のメインプログラムは、起動時に、選択されたスキャナを示す情報と、当該スキャナと自装置との通信経路を示す情報と、を取得する。スキャナドライバ４３が監視アプリ４４から起動された場合には、起動元が監視アプリ４４であることを示す情報も取得する。そして、スキャナドライバ４３は、それらの情報に基づいて、受け付け可能な設定を決定する。具体的には、後述するオート連続スキャン機能を有効にする設定を受け付けるか否かを決定する。
【００２９】
次に、本形態のスキャンシステム１００にて使用されるスキャナ２およびスキャナ３について説明する。本形態のスキャナ２やスキャナ３は、原稿自動搬送装置（以下、「ＡＤＦ」とする）を備え、ＡＤＦに複数枚の原稿が纏めて置かれた状態で読み取り開始の指示を受け付けた場合、纏めて置かれた複数枚の原稿を連続して読み取る機能を有している。ＡＤＦの原稿トレイは、原稿のセット位置の一例である。
【００３０】
そして、本形態のスキャナ２やスキャナ３は、継続スキャン機能を有している。継続スキャン機能は、複数回に分けて読み取った原稿を連続するひとまとまりの原稿と見なして、同じスキャン設定での読取動作を継続して行う機能である。スキャナ２やスキャナ３は、継続スキャン機能の設定を含むスキャンの実行指示を受け付けた場合、継続スキャン機能を有効とし、継続スキャン機能が有効である期間中に読み取った各スキャンデータに対して、スキャンの実行指示にて設定された処理を行う。スキャナ２やスキャナ３は、例えば、継続スキャン動作として、複数回に分けて読み取ったスキャンデータを全て同じＰＣに送信する。
【００３１】
さらに、本形態のスキャナ２やスキャナ３は、継続スキャン機能のオプションとして、自動でスキャンを再開するオート連続スキャン機能を有している。スキャナ２やスキャナ３は、オート連続スキャン機能が有効になっている状態では、ＡＤＦに原稿が置かれたことを検知すると自動的に読み取りを開始し、実行中の継続スキャンのスキャン設定に従ってスキャンデータの処理を行う。つまり、スキャナ２やスキャナ３は、ＡＤＦにセットされた第１の原稿の読み取りが終了した後、オート連続スキャン機能の有効期間中に、新たに第２の原稿がＡＤＦにセットされた場合、第１の原稿と同じスキャン設定で第２の原稿の読み取りを自動的に開始する。
【００３２】
オート連続スキャン機能を使用するスキャン動作の実行指示を受け付けた場合、スキャナ２やスキャナ３は、例えば、ＡＤＦにセットされた原稿を順に読み取り、スキャンデータを生成してＰＣ１に送信する。そして、スキャナ２やスキャナ３は、オート連続スキャン機能が無効となる前にＡＤＦに新たに原稿がセットされた場合、その原稿を読み取って新たなスキャンデータを生成し、新たに生成したスキャンデータを生成済みで送信済みのスキャンデータの続きのデータとして、ＰＣ１に送信する。
【００３３】
なお、継続スキャン機能の有効期間は、例えば、ユーザの終了指示、原稿が無い状態でのタイムアウト時間の経過、によって終了する。ユーザの終了指示は、ＰＣ１のスキャンアプリ４２やスキャナ２やスキャナ３の操作画面にて受け付ける。また、本形態のスキャナドライバ４３は、継続スキャン機能のオプションとして、継続スキャン機能のタイムアウト時間の設定を受け付ける。タイムアウトまでの時間の計測は、ＰＣ１にて行っても良いし、スキャナ２やスキャナ３にて行っても良い。ＰＣ１にて行う場合には、ＰＣ１は、例えば、所定の時間間隔で原稿の有無を確認する信号をスキャナに送信し、スキャナからの返信に基づいて原稿の有無を判断する。
【００３４】
次に、本形態のＰＣ１におけるスキャン動作について、シーケンス図およびフローチャートを参照して説明する。本形態のスキャナドライバ４３は、前述したように、スキャンアプリ４２から起動される場合と、監視アプリ４４から起動される場合とがある。まず、スキャンアプリ４２から起動された場合のスキャナドライバ４３の動作について、図２のシーケンス図を参照して説明する。
【００３５】
なお、以下の処理およびフローチャートの各処理ステップは、基本的に、プログラムに記述された命令に従ったＣＰＵ１１の処理を示す。すなわち、以下の説明における「判断」、「抽出」、「選択」、「算出」、「決定」、「特定」、「取得」、「受付」、「制御」等の処理は、ＣＰＵ１１の処理を表している。ＣＰＵ１１による処理は、ＰＣ１のＯＳのＡＰＩを用いたハードウェア制御も含む。本明細書では、ＯＳの記載を省略して各プログラムの動作を説明する。すなわち、以下の説明において、「プログラムＢがハードウェアＣを制御する」という趣旨の記載は、「プログラムＢがＯＳのＡＰＩを用いてハードウェアＣを制御する」ことを指してもよい。また、プログラムに記述された命令に従ったＣＰＵ１１の処理を、省略した文言で記載することがある。例えば、「ＣＰＵ１１が行う」のように記載することがある。また、プログラムに記述された命令に従ったＣＰＵ１１の処理を、「プログラムＡが行う」のようにＣＰＵを省略した文言で記載することがある。
【００３６】
なお、「取得」は要求を必須とはしない概念で用いる。すなわち、ＣＰＵ１１が要求することなくデータを受信するという処理も、「ＣＰＵ１１がデータを取得する」という概念に含まれる。また、本明細書中の「データ」とは、コンピュータに読取可能なビット列で表される。そして、実質的な意味内容が同じでフォーマットが異なるデータは、同一のデータとして扱われるものとする。本明細書中の「情報」についても同様である。また、「要求する」、「指示する」とは、要求していることを示す情報や、指示していることを示す情報を相手に出力することを示す概念である。また、要求していることを示す情報や指示していることを示す情報のことを、単に、「要求」、「指示」とも記載する。
【００３７】
また、ＣＰＵ１１による、情報Ａは事柄Ｂであることを示しているか否かを判断する処理を、「情報Ａから、事柄Ｂであるか否かを判断する」のように概念的に記載することがある。ＣＰＵ１１による、情報Ａが事柄Ｂであることを示しているか、事柄Ｃであることを示しているか、を判断する処理を、「情報Ａから、事柄Ｂであるか事柄Ｃであるかを判断する」のように概念的に記載することがある。
【００３８】
図２に示すように、ユーザは、スキャンアプリ４２を実行し、スキャンアプリ４２にて、使用するスキャナを選択する（矢印Ａ）。スキャナの選択には、ＰＣ１とスキャナとの通信経路の情報も含まれる。これにより、スキャンアプリ４２は、選択されたスキャナに対応するスキャナドライバ４３を起動する（矢印Ｂ）。ここでは、スキャナ２またはスキャナ３の選択を受け付けることで、これらのスキャナに対応するスキャナドライバ４３が起動される。
【００３９】
スキャナドライバ４３は、選択されたスキャナと通信し、スキャナの有する機能を示す本体能力値の情報を取得する（矢印Ｃ） 。さらに、スキャナドライバ４３は、起動時に受け取った情報に基づいて、起動元のアプリが監視アプリ４４であるか否かを判断する（矢印Ｄ）。この図２では、スキャナドライバ４３がスキャンアプリ４２から起動された場合を記載しており、矢印Ｄでは、スキャナドライバ４３は、監視アプリ４４による起動ではないと判断する。
【００４０】
そして、スキャナドライバ４３は、スキャナから取得した本体能力値と、起動時に受け取った情報とに基づいて、受け付け可能なスキャン設定を決定する（矢印Ｇ）。矢印Ｇでは、例えば、オート連続スキャン機能の有効・無効の設定を受け付けるか否かを決定する。決定方法の詳細に付いては、後述する。そして、スキャナドライバ４３は、スキャンアプリ４２に起動完了を通知する（矢印Ｈ）。
【００４１】
スキャンアプリ４２は、ユーザによる詳細設定の指示を受け付ける（矢印Ｉ）と、スキャナドライバ４３に、ユーザ向け入力受付画面（以下、「ＵＩ」とする）の表示を指示する（矢印Ｊ）。スキャナドライバ４３は、矢印Ｇにおける決定に基づいて、ＵＩ中に表示する項目を決定し、ディスプレイ１８にＵＩを表示させる（矢印Ｋ）。表示されるＵＩには、各種の選択肢やボタン等のオブジェクトが含まれる。矢印ＫにてＵＩを表示させる処理は、画面表示処理の一例である。
【００４２】
本形態のスキャナ２やスキャナ３は、継続スキャン機能を有していることから、スキャナ２やスキャナ３の本体能力値には継続スキャン機能が含まれる。従って、矢印Ｋにて表示されるＵＩには、継続スキャンの設定を受け付ける選択肢が含まれる。
【００４３】
継続スキャンが選択された場合、スキャナドライバ４３は、矢印Ｇの決定結果に基づいて、オート連続スキャン機能を有効にする設定を受け付けるＵＩ、または、オート連続スキャン機能を有効にする設定を受け付けないＵＩの何れかを表示させる。オート連続スキャン機能を有効にする設定を受け付けるＵＩの例を図３（Ａ）に、オート連続スキャン機能を有効にする設定を受け付けないＵＩの例を図３（Ｂ）に示す。図３（Ｂ）に示すＵＩは、第１の画面の一例であり、図３（Ａ）に示すＵＩは、第２の画面の一例である。
【００４４】
図３（Ａ）に示すように、オート連続スキャン機能を有効にする設定を受け付けるＵＩには、継続スキャン機能における再開のタイミングの選択肢として、自動ボタン６１と、手動ボタン６２とが、択一的に選択可能に表示される。継続スキャン機能における自動での再開の設定は、前述したオート連続スキャン機能の設定に該当する。自動ボタン６１は、特定オブジェクトの一例である。ＵＩには、ＯＫボタン６３と、キャンセルボタン６４と、が含まれ、これらの操作も受け付ける。ＯＫボタン６３は、入力された各設定を決定する指示を受け付けるボタンであり、キャンセルボタン６４は、設定を変更せずに詳細設定を終了する指示を受け付けるボタンである。
【００４５】
さらに、図３（Ａ）に示すＵＩには、継続スキャン機能のオプションとして、タイムアウト時間と搬送開始までの時間との設定を受け付ける欄が含まれる。前述したように、スキャナ２やスキャナ３は、継続スキャン機能でのスキャン開始の指示を受け付けた後、原稿の無い状態での経過時間がタイムアウト時間を超えると、継続スキャン機能を無効にする。また、搬送開始までの時間は、ＡＤＦに原稿が置かれた後、ＡＤＦによる搬送が開始されるまでの待ち時間である。
【００４６】
一方、図３（Ｂ）に示すように、オート連続スキャン機能を有効にする設定を受け付けないＵＩには、選択可能な状態での自動ボタン６１が表示されない。オート連続スキャン機能を有効にする設定を受け付けないと決定した場合、スキャナドライバ４３は、例えば、図３（Ｂ）に示すように、自動ボタン６１と、搬送開始までの時間を受け付ける欄とを、グレーアウトしたＵＩを表示させる。グレーアウトは、選択を受け付けないことを示す表示態様である。スキャナドライバ４３は、図３（Ｂ）に示すＵＩを表示させることにより、自動再開での継続スキャン機能の指定を受け付けない。
【００４７】
なお、オート連続スキャン機能を有効にする設定を受け付けないＵＩは、例えば、継続スキャン機能の選択を受け付けないＵＩ、継続スキャン機能が選択されても再開のタイミングとして自動の選択を受け付けないＵＩ、であっても良い。選択を受け付けないＵＩとは、例えば、図３（Ｂ）に示すように自動ボタン６１をグレーアウトして表示するとしても良いし、継続スキャン機能の選択肢や自動ボタン６１を表示しないとしても良いし、入力を受け付けても選択状態が変更されないとしても良い。
【００４８】
図２の説明に戻り、スキャナドライバ４３は、表示させたＵＩにて各パラメータの設定を受け付け、さらに、ＯＫボタン６３が押下される（矢印Ｌ）と、詳細設定のＵＩを消去して詳細設定の完了をスキャンアプリ４２に通知する（矢印Ｍ）。なお、詳細設定の指示を受け付けなかった場合、ＵＩは表示されず、デフォルトの設定で継続スキャン機能は無効となる。
【００４９】
スキャンアプリ４２は、ユーザのスキャン開始の指示を受け付け（矢印Ｎ）、スキャン開始の指示をスキャナドライバ４３に渡す（矢印Ｏ）。スキャナドライバ４３は、設定されているスキャンパラメータをスキャナに送信し（矢印Ｐ）、さらに、スキャン開始を指示する信号をスキャナに送信する（矢印Ｑ）。これにより、スキャナは、スキャン動作を実行する（矢印Ｒ）。なお、スキャナドライバ４３は、矢印ＬのＯＫボタン６３の押下にてスキャナ開始の指示を受け付けたものとしても良く、その場合には、スキャンアプリ４２は矢印Ｎにおける指示の受け付けを行わない。
【００５０】
スキャナは、スキャン実行により生成したスキャンデータをスキャナドライバ４３に送信する（矢印Ｓ）。スキャナドライバ４３は、受信したスキャンデータをスキャンアプリ４２に渡す（矢印Ｔ）。なお、継続スキャン機能が設定されている場合には、スキャナは、読み取りとスキャンデータの生成とを継続して行い、生成したスキャンデータをスキャナドライバ４３に送信する。スキャナドライバ４３は、継続スキャン機能の有効期間中に受信した複数のスキャンデータを纏めて１つのファイルを作成し、作成したファイルをスキャンアプリ４２に渡す。スキャンアプリ４２は、受け取ったスキャンデータの編集及び保存を実行する（矢印Ｕ）。
【００５１】
続いて、上述したスキャン動作を実現するスキャナドライバ４３の各処理の手順について、図４〜図６を参照して説明する。まず、スキャナドライバ４３の起動処理の手順について、図４のフローチャートを参照して説明する。起動処理は、スキャナドライバ４３が起動されたことを契機に、ＰＣ１のＣＰＵ１１にて実行される。なお、スキャナドライバ４３は、前述したように、スキャンを実行させる装置としてスキャナ２やスキャナ３が選択されたことで起動され、起動時に、起動元のアプリの情報と、選択されたスキャナを示す情報と、当該スキャナとＰＣ１との通信経路の情報とを受け取る。
【００５２】
スキャン処理では、ＣＰＵ１１は、まず、選択されたスキャナと通信を行い、スキャナから本体能力値を取得する（Ｓ１０１、図２の矢印Ｃ）。Ｓ１０１では、ＣＰＵ１１は、選択されたスキャナのモデルを示すモデル情報も取得する。Ｓ１０１は、取得処理の一例である。
【００５３】
次に、ＣＰＵ１１は、スキャナドライバ４３の起動元が監視アプリ４４であるか否かを判断する（Ｓ１０２、図２の矢印Ｄ）。起動時に受け取った情報に基づいて、スキャナドライバ４３の起動元が監視アプリ４４ではないと判断した場合（Ｓ１０２：ＮＯ）、ＣＰＵ１１は、スキャナのモデル情報や本体能力値に基づいて、指定されたスキャナがオート連続スキャン機能を実行可能であるか否かを判断する（Ｓ１０３）。
【００５４】
具体的には、ＣＰＵ１１は、スキャナのモデル情報がオート連続スキャン機能に対応するモデルを示している場合、または、スキャナから受け取った本体能力値がオート連続スキャン機能に対応することを示している場合に、Ｓ１０３にてＹＥＳと判断する。あるいは、ＣＰＵ１１は、スキャナのモデル情報がオート連続スキャン機能に対応するモデルを示しており、かつ、スキャナから受け取った本体能力値がオート連続スキャン機能に対応することを示している場合に、Ｓ１０３にてＹＥＳと判断するとしても良い。
【００５５】
オート連続スキャン機能を実行可能であると判断した場合（Ｓ１０３：ＹＥＳ）、ＣＰＵ１１は、起動時に受け取った情報に基づいて、自装置と選択されたスキャナとの通信経路がネットワーク接続であるか否かを判断する（Ｓ１０４）。ネットワーク接続であると判断した場合（Ｓ１０４：ＹＥＳ）、ＣＰＵ１１は、Ｓ１０１にて取得したモデル情報や本体能力値に基づいて、選択されたスキャナがディスプレイを備えるか否かを判断する（Ｓ１０５）。
【００５６】
オート連続スキャン機能を実行可能なモデルではないと判断した場合（Ｓ１０３：ＮＯ）、または、選択されたスキャナがディスプレイを備えるモデルではないと判断した場合（Ｓ１０５：ＮＯ）、ＣＰＵ１１は、オート連続スキャン機能を選択不可能にすると決定する（Ｓ１０６）。この場合、スキャンアプリ４２にて詳細設定の指示を受け付けると、例えば、図３（Ｂ）に示したＵＩを表示し、ＣＰＵ１１は、オート連続スキャン機能を有効にする設定を受け付けない。
【００５７】
一方、起動元が監視アプリ４４であると判断した場合（Ｓ１０２：ＹＥＳ）、または、ネットワークＩＦ１６ではなくＵＳＢ−ＩＦ１７を介して接続されていると判断した場合（Ｓ１０４：ＮＯ）、または、ディスプレイを備えるモデルであると判断した場合（Ｓ１０５：ＹＥＳ）、ＣＰＵ１１は、オート連続スキャン機能を選択可能にすると決定する（Ｓ１０７）。
【００５８】
この場合、スキャンアプリ４２にて詳細設定の指示を受け付けると、例えば、図３（Ａ）に示したＵＩを表示し、ＣＰＵ１１は、オート連続スキャン機能を有効にする設定を受け付ける。そして、表示させたＵＩにてオート連続スキャン機能の実行指示を受け付けた状態でＯＫボタン６３の操作を受け付けた場合には、ＣＰＵ１１は、オート連続スキャン機能の設定を含むスキャンパラメータを設定する。
【００５９】
Ｓ１０２〜Ｓ１０７の処理は、オート連続スキャン機能を有効または無効にする設定を受け付けるか否かを決定する処理であって、制限処理の一例である。Ｓ１０３〜Ｓ１０７は、図２の矢印Ｇの受付可否決定処理に相当する。なお、ＣＰＵ１１は、Ｓ１０２〜Ｓ１０５の判断を、自装置のメモリに記憶されている情報や、自装置に接続されているサーバ等から読み出した情報に基づいて行っても良い。
【００６０】
本形態のＰＣ１は、通信経路とスキャン指示を受け付けた装置とモデル情報とに基づいて、図５に示す関係となるように、オート連続スキャン機能の設定を選択可能とするか否かを決定している。図５では、オート連続スキャン機能の設定を選択可能とする場合を「○」、オート連続スキャン機能の設定を選択不可能とする場合を「×」で示している。つまり、本形態では、スキャナドライバ４３は、オート連続スキャン機能を備えるモデルであっても、ネットワークＩＦ１６を介して接続されておりディスプレイを備えないモデルのスキャナに対してＰＣ１からスキャンを指示した場合には、オート連続スキャン機能の設定を選択不可能とする。スキャナドライバ４３は、その他の場合には、オート連続スキャン機能を備えるモデルであれば、オート連続スキャン機能の設定を選択可能とする。
【００６１】
ネットワークＩＦ１６を介して接続されているスキャナ２は、複数のＰＣに接続されている可能性が高く、複数のユーザにて共用されている可能性が高い。また、共用のスキャナ２は、ＰＣ１から離れた場所に置かれている可能性がある。もし、オート連続スキャン機能が有効となっている期間中にそのオート連続スキャン機能を指示したユーザ以外のユーザによって原稿がＡＤＦに置かれると、スキャナ２は、置かれた原稿をオート連続スキャン機能を使用した読取指示の対象であるとして読み取りを開始してしまう。
【００６２】
そして、例えば、スキャナ２がディスプレイを備えないモデルである場合、他のユーザによるオート連続スキャン機能が有効となっているか否かが分かり難い。ディスプレイを備えないモデルでは、例えば、処理実行中を示すＬＥＤが点灯するのみであり、使用されている機能までは分からないことが多い。そのため、オート連続スキャン機能が有効となっていても、別のユーザが誤って原稿をセットしてしまう可能性がある。本形態ではディスプレイを備えないモデルであって、ネットワークＩＦ１６を介して接続されているスキャナに対するスキャン指示の場合、スキャナドライバ４３がオート連続スキャン機能の使用を制限するので、他のユーザの原稿のスキャンデータを取得してしまう可能性が低減される。
【００６３】
一方、選択されたスキャナがディスプレイを備えるモデルであれば、オート連続スキャン機能が有効となっていることをそのディスプレイに表示可能であることから、オート連続スキャン機能の有効期間中に他のユーザが原稿を置いてしまう可能性は低い。また、ＵＳＢ−ＩＦ１７を介して接続されているスキャナ３は、複数のユーザに共有されている可能性は低く、ＰＣ１との距離も近い傾向にあるので、制限の必要性が低い。本形態のスキャナドライバ４３は、選択されたスキャナがＵＳＢ−ＩＦ１７を介して接続されている場合、および、選択されたスキャナがネットワーク接続されていても、ディスプレイを備えるモデルであれば、オート連続スキャン機能の設定を制限しないことで、ユーザの利便性を高める。
【００６４】
ディスプレイを備えないモデルは、オート連続スキャン機能が有効か否かを報知不可能なモデルの一例であり、第１モデルの一例である。ディスプレイを備えるモデルは、オート連続スキャン機能が有効か否かを報知可能なモデルの一例であり、第２モデルの一例である。なお、ディスプレイを備えるか否かに関わらず、モバイルユースのモデルであれば、オート連続スキャン機能を選択可能とすると決定しても良い。モバイルユースのモデルのスキャナを使用するユーザは、自分の近くに当該スキャナを移動させて使用すると想定されることから、モバイルユースのスキャナに他のユーザが原稿を置いてしまう可能性は低い。モバイルユースのスキャナは、第２モデルの一例であり、非モバイルユースのスキャナは、第１モデルの一例である。
【００６５】
図４のスキャン処理の説明に戻る。Ｓ１０６またはＳ１０７にてオート連続スキャン機能を選択可能にするか否かを決定した後、ＣＰＵ１１は、起動元のアプリに起動完了を通知して（Ｓ１０８、図２の矢印Ｈ）、起動処理を終了する。これにより、ＣＰＵ１１は、例えば、スキャンアプリ４２の処理に戻り、スキャンアプリ４２にて各種の指示を受け付ける。
【００６６】
次に、スキャン実行処理の手順について、図６のフローチャートを参照して説明する。スキャンアプリ４２は、スキャン実行の指示を受け付けた場合（図２の矢印Ｎ）に、スキャン実行処理の開始をスキャナドライバ４３に指示する（図２の矢印Ｏ）。スキャン実行処理は、スキャンアプリ４２または監視アプリ４４からの指示を受け付けたことを契機に、ＰＣ１のＣＰＵ１１にて実行される。
【００６７】
スキャン実行処理では、ＣＰＵ１１は、まず、スキャンアプリ４２等にて受け付けたスキャンパラメータ、または、初期設定のスキャンパラメータを、指定されたスキャナに送信する（Ｓ２０１、図２の矢印Ｐ）。さらに、ＣＰＵ１１は、同じスキャナに、スキャンの実行を指示する実行コマンドを送信する（Ｓ２０２、図２の矢印Ｑ）。これにより、スキャナは、受信したスキャンパラメータに基づくスキャン動作を開始して、スキャンデータを生成し（図２の矢印Ｒ）、ＰＣ１に送信する（図２の矢印Ｓ）。
【００６８】
スキャンパラメータに継続スキャンのパラメータが含まれていれば、スキャナは、継続スキャンモードでのスキャン動作を開始する。スキャンパラメータにオート連続スキャン機能の設定が含まれていれば、Ｓ２０１とＳ２０２によって、ＰＣ１は、スキャナにオート連続スキャン機能の実行を要求する。スキャンパラメータにオート連続スキャン機能の設定が含まれる場合、実行コマンドは、オート連続スキャン要求の一例であり、Ｓ２０１とＳ２０２は、オート連続スキャン設定処理の一例である。
【００６９】
ＣＰＵ１１は、スキャナから送信されるスキャンデータを受信し（Ｓ２０３）、ＲＡＭ１３等のメモリに一旦記憶する。そして、ＣＰＵ１１は、スキャナから用紙無し信号を受信したか否かを判断する（Ｓ２０４）。スキャナのＡＤＦに複数枚の原稿がセットされていれば、スキャナは、セットされた原稿を１枚ずつスキャンしてスキャンデータをＰＣ１に送信し、原稿が無くなると、用紙無し信号をＰＣ１に送信する。用紙無し信号を受信していないと判断した場合（Ｓ２０４：ＮＯ）、ＣＰＵ１１は、用紙無し信号を受信するまでスキャンデータの受信を繰り返す。
【００７０】
用紙無し信号を受信したと判断した場合（Ｓ２０４：ＹＥＳ）、ＣＰＵ１１は、スキャンパラメータとして継続スキャンが設定され、継続スキャンを実行中であるか否かを判断する（Ｓ２０５）。継続スキャンを実行中であると判断した場合（Ｓ２０５：ＹＥＳ）、ＣＰＵ１１は、スキャナに原稿がセットされたか否かを判断する（Ｓ２０６）。
【００７１】
ＰＣ１は、例えば、スキャナに問い合わせて、用紙の有無を判断する。スキャナは、オート連続スキャン機能が有効であってＡＤＦに原稿がセットされた場合、または、手動継続スキャン中にフラットベッドやＡＤＦに原稿が載置されてスキャンボタンの操作を受け付けた場合に、用紙有り状態となってスキャンを実行する。用紙有り状態となっていない場合には、スキャナは、ＰＣ１に用紙無し信号を送信する。
【００７２】
スキャナからの返信に基づいて、用紙無し、と判断した場合（Ｓ２０６：ＮＯ）、ＣＰＵ１１は、スキャンアプリ４２にてスキャンの終了指示を受け付けたか否かを判断する（Ｓ２０７）。スキャンの終了指示を受け付けていないと判断した場合（Ｓ２０７：ＮＯ）、ＣＰＵ１１は、継続スキャンのタイムアウト時間が経過したか否かを判断する（Ｓ２０８）。継続スキャンのタイムアウト時間が経過していないと判断した場合（Ｓ２０８：ＮＯ）、ＣＰＵ１１は、Ｓ２０６に戻り、原稿がセットされるか、終了指示を受け付けるか、タイムアウト時間が経過するまで、これらの判断を繰り返す。
【００７３】
スキャナに原稿がセットされた場合、ＣＰＵ１１は、スキャナからの信号に基づいて用紙有りと判断し（Ｓ２０６：ＹＥＳ）、Ｓ２０３に戻って、さらにスキャンデータを受信する。また、終了指示を受け付けたと判断した場合（Ｓ２０７：ＹＥＳ）、または、タイムアウト時間が経過したと判断した場合（Ｓ２０８：ＹＥＳ）、ＣＰＵ１１は、スキャナに継続スキャンの終了を通知する（Ｓ２０９）。
【００７４】
Ｓ２０９の後、または、継続スキャンを実行中ではないと判断した場合（Ｓ２０５：ＮＯ）、ＣＰＵ１１は、スキャナにデバイスクローズの信号を送信する（Ｓ２１０）。さらに、ＣＰＵ１１は、受信したスキャンデータを纏めて１つのスキャンファイルを作成し（Ｓ２１１）、作成したスキャンファイルをスキャンアプリ４２または監視アプリ４４に渡して、スキャン実行処理を終了する。継続スキャンが設定されていた場合、ＣＰＵ１１は、継続スキャンが有効となっていた期間中に受信した全てのスキャンデータを１つのファイルに纏める。
【００７５】
次に、スキャナドライバ４３が監視アプリ４４から起動される場合について説明する。スキャナ２やスキャナ３は、例えば、自装置のタッチパネル等の入力機能を使用して、ユーザから直接スキャン指示を受け付けることもできる。スキャナ２やスキャナ３にてスキャン指示を受け付けた場合の動作について、図７のシーケンス図を参照して説明する。なお、図７では、図２と同様の動作については、同じ符号を付している。
【００７６】
図７に示すように、スキャナ２またはスキャナ３は、自装置にてユーザの指示を受け付けた場合、受け付けた指示に基づいてスキャンパラメータを設定する（矢印ａ）。スキャナ２またはスキャナ３は、オート連続スキャン機能を実行可能な装置であり、オート連続スキャン機能の設定を受け付けることができる。そして、スキャナ２またはスキャナ３は、自装置で受け付けるスキャンパラメータとして、オート連続スキャン機能を有効にする設定の選択を受け付ける。
【００７７】
スキャナ２またはスキャナ３は、自装置にてスキャン開始の指示を受け付けると（矢印ｂ）、送信先として指定された装置へスキャン開始を通知する信号を送信する。ここでは、送信先としてＰＣ１が指定された場合に付いて説明する。
【００７８】
ＰＣ１に常駐する監視アプリ４４は、スキャン開始を通知する信号を受信する（矢印ｃ）と、スキャナドライバ４３を起動する（矢印Ｂ）。スキャナドライバ４３は、スキャナと通信を行って、スキャナから本体能力値を取得する（矢印Ｃ）。
【００７９】
さらに、スキャナドライバ４３は、起動時に受け取った情報に基づいて、起動元のアプリがスキャンアプリ４２であるか監視アプリ４４であるかを判断する（矢印Ｄ）。図７では、スキャナドライバ４３は、監視アプリ４４からの起動であると判断する。前述した起動処理では、Ｓ１０２にてＮＯと判断することから、スキャナドライバ４３は、オート連続スキャン機能を有効にする設定を受け付ける。
【００８０】
スキャナドライバ４３は、スキャナから受信した本体能力値を監視アプリ４４に渡す（矢印ｆ）。さらに、監視アプリ４４の指示に基づいて、スキャナから本体にて設定されたパラメータを取得して、監視アプリ４４に渡す（矢印ｇ）。さらに、スキャナドライバ４３は、本体能力値と本体にて設定されたパラメータとから、スキャンパラメータを設定して、監視アプリ４４に渡す（矢印ｈ）。
【００８１】
スキャナドライバ４３は、監視アプリ４４からスキャン開始のコマンドを受け付けると（矢印Ｏ）、設定されているスキャンパラメータをスキャナに送信し（矢印Ｐ）、さらに、スキャン開始を指示する信号をスキャナに送信する（矢印Ｑ）。矢印Ｐ及び矢印Ｑにてスキャナに指示を出力する処理は、スキャン指示出力処理の一例である。これにより、スキャナは、スキャン動作を実行する（矢印Ｒ）。
【００８２】
つまり、スキャナドライバ４３は、スキャナ本体にてオート連続スキャン機能を有効にする指示を受け付けた場合、オート連続スキャン機能を制限することなく、受け付けた設定を監視アプリ４４に渡す。その後、監視アプリ４４から、オート連続スキャン機能を有効としたスキャン指示を受け付けたら、オート連続スキャン機能を有効としたスキャンパラメータとスキャン開始の指示とスキャナに送信する。
【００８３】
スキャナは、スキャン実行により生成したスキャンデータをスキャナドライバ４３に送信する（矢印Ｓ）。スキャナドライバ４３は、受信したスキャンデータを監視アプリ４４に渡す（矢印Ｔ）。監視アプリ４４は、受け取ったスキャンデータを、登録アプリへ出力する（矢印ｖ）。登録アプリは、監視アプリ４４に予め登録されているアプリであり、受け取ったスキャンデータの編集や保存を行う。
【００８４】
スキャナドライバ４３は、スキャナ本体からの指示で起動された場合には、通信経路に関わらず、オート連続スキャン機能を使用したスキャン動作を制限しない。スキャナ本体からの指示であれば、ユーザがスキャナの近くにいると想定されることから、他のユーザの原稿のスキャンデータを取得してしまう可能性は低い。
【００８５】
以上、詳細に説明したように、本形態のスキャナドライバ４３は、ＰＣ１とスキャナとの通信経路に応じて、オート連続スキャン機能を有効にする処理の実行を制限するか否かを決定する。具体的には、ＵＳＢ−ＩＦ１７を介して接続され、スキャナと近距離で通信を行っていることが想定される場合と、ネットワークＩＦ１６を介して接続され、スキャナと遠距離で通信を行っていることが想定される場合と、でオート連続スキャン機能の設定可否を振り分ける。これにより、オート連続スキャン機能が設定されている場合に、ユーザの意図しない原稿を読み取る可能性の低減が期待できる。
【００８６】
また、本形態では、スキャナドライバ４３がディスプレイ１８に表示させるＵＩで、オート連続スキャン機能を有効にする指示の入力を受け付ける画面とその指示の入力を受け付けない画面とを切り替えるので、オート連続スキャンを確実に制限できる。特に、継続スキャン機能の設定において自動での再開タイミングを受け付ける自動ボタン６１（図３参照）を非表示またはグレーアウトとすれば、オート連続スキャン機能を有効にする指示の入力を確実に制限できる。
【００８７】
また、本形態では、スキャナのモデルごとに、オート連続スキャン機能を制限するか否かを振り分け可能にするので、利便性が高まる。例えば、ディスプレイを備えるモデルであれば、オート連続スキャン機能が有効になっていることを報知できる。報知可能であれば、オート連続スキャンの有効期間中に他のユーザの原稿がセットされる可能性は低い。また、モバイルユースのモデルの場合、ＰＣ１の近くにスキャナを持ってきている可能性が高く、オート連続スキャンの有効期間中に他のユーザの原稿がセットされる可能性は低い。本形態では、スキャナのモデルによって、オート連続スキャン機能の設定を制限しないので、ＰＣ１のユーザがスキャナを利用し易い。
【００８８】
また、本形態のスキャナドライバ４３は、ＰＣ１に常駐するアプリケーションである監視アプリ４４から起動された場合、オート連続スキャン機能の設定を制限しない。監視アプリ４４から起動された場合、ユーザがスキャナを操作していることが想定され、他のユーザの原稿がセットされる可能性は低いことから、オート連続スキャン機能の設定を制限する必要はない。
【００８９】
なお、本実施の形態は単なる例示にすぎず、本発明を何ら限定するものではない。したがって本明細書に開示される技術は当然に、その要旨を逸脱しない範囲内で種々の改良、変形が可能である。例えば、スキャナに限らず、複合機、複写機、ＦＡＸ装置等、画像読取機能を備えるものであれば適用可能である。また、ＰＣやスキャナの台数は、図１の例に限らない。
【００９０】
また、実施の形態では、スキャナ２とスキャナ３とが同じモデルであるとしたが、異なるモデルであっても良い。つまり、スキャナ２用のスキャナドライバと、スキャナ３用のスキャナドライバとは、別物であっても良い。その場合でも、ユーザによって指定されたスキャナに対応するスキャナドライバが起動されるので、何れのスキャナドライバも本形態と同様のスキャン処理を実行するものであれば良い。
【００９１】
また、実施の形態では、オート連続スキャン機能による複数のスキャンデータを纏めて、ＰＤＦファイル等のスキャンファイルを生成する処理を、ＰＣ１が行うとしたが、スキャナ２またはスキャナ３が行っても良い。その場合、ＰＣ１は、スキャナ２またはスキャナ３から、纏まった１つのファイルを受信すればよい。
【００９２】
また、実施の形態では、対象のスキャナがネットワークＩＦ１６を介して接続されている場合、自動再開での継続スキャン機能を制限するとしたが、手動再開の継続スキャン機能も制限するとしても良い。つまり、オート連続スキャン機能の設定に限らず、継続スキャン機能そのものの設定を制限しても良い。例えば、継続スキャンの選択肢を表示しないとしても良い。一方、手動での再開であれば、スキャン実行のボタン操作が必要であり、ボタン操作を行うタイミングで継続スキャンの実行中であることに気づく可能性が高いことから、必ずしも制限しなくても良い。ただし、データの混在を防止する観点からは、手動であっても制限しても良い。
【００９３】
また、実施の形態では、スキャンアプリ４２にてスキャンの終了指示を受け付けるとしたが、スキャナにて受け付けることもできる。また、タイムアウト時間の計測をスキャナが行っても良い。スキャンの終了指示を受け付けた場合、または、タイムアウト時間が経過したと判断した場合、スキャナは、ＰＣ１に終了指示を示す信号を送信する。ＰＣ１は、当該信号を受けて、スキャンアプリ４２を終了する。
【００９４】
また、実施の形態では、スキャナドライバ４３は、起動元が監視アプリ４４である場合に、監視アプリ４４から起動されたことを示す情報を受け取り、この情報に基づいて起動元のアプリを判断するとしたが、これに限らない。例えば、起動元がスキャンアプリ４２である場合に、スキャンアプリ４２から起動されたことを示す情報を受け取ることができれば、スキャナドライバ４３は、この情報に基づいて起動元のアプリを判断しても良い。
【００９５】
また、実施の形態に開示されている任意のフローチャートにおいて、任意の複数のステップにおける複数の処理は、処理内容に矛盾が生じない範囲で、任意に実行順序を変更できる、または並列に実行できる。例えば、Ｓ１０２〜Ｓ１０５の判断は、どの順で行っても良い。
【００９６】
また、実施の形態に開示されている処理は、単一のＣＰＵ、複数のＣＰＵ、ＡＳＩＣなどのハードウェア、またはそれらの組み合わせで実行されてもよい。また、実施の形態に開示されている処理は、その処理を実行するためのプログラムを記録した記録媒体、または方法等の種々の態様で実現することができる。
【符号の説明】
【００９７】
１  ＰＣ
２、３  スキャナ
１１  ＣＰＵ
１６  ネットワークＩＦ
１７  ＵＳＢ−ＩＦ
１００  スキャンシステム
【図１】
2020107986.tif 000003
【図２】
2020107986.tif 000004
【図３】
2020107986.tif 000005
【図４】
2020107986.tif 000006
【図５】
2020107986.tif 000007
【図６】
2020107986.tif 000008
【図７】
2020107986.tif 000009