(58)【調査した分野】(Int.Cl.,DB名)
画像読取装置による画像の読み取りを制御するためのアプリケーションソフトである画像読取アプリケーションを登録可能な情報処理装置において、前記画像読取装置の制御のために用いられる装置制御方法であって、
前記画像読取装置から画像の読み取りを要求する読取要求を受信した場合に、前記画像読取アプリケーションが登録されているか否かを判断する登録判断ステップと、
前記登録判断ステップにより前記画像読取アプリケーションが登録されていると判断された場合に、その登録されている前記画像読取アプリケーションである登録アプリの中で、現在起動されている前記登録アプリである起動中登録アプリがあるか否かを判断する起動状態判断ステップと、
前記起動状態判断ステップによって前記起動中登録アプリが複数あると判断された場合に、登録されている全ての前記登録アプリのうちその複数の起動中登録アプリのみを選択対象として、その選択対象の各起動中登録アプリのうち何れか1つを選択するための外部からの選択入力を受け付ける選択入力受付ステップと、
前記起動状態判断ステップにより前記起動中登録アプリがあると判断された場合に、その起動中登録アプリを、前記読取要求に対する前記画像読取装置での画像の読み取りの制御に使用するアプリケーションソフトに決定し、前記起動状態判断ステップによって前記起動中登録アプリが複数あると判断された場合は、前記選択入力受付ステップにより受け付けられた選択入力によって選択された1つの前記起動中登録アプリを、前記読取要求に対する前記画像読取装置での画像の読み取りの制御に使用するアプリケーションソフトに決定する使用アプリ決定ステップと、
を有し、
前記情報処理装置には複数の前記登録アプリが登録されていて、そのうち少なくとも1つは、前記使用アプリ決定ステップにより前記決定されると前記情報処理装置における外部からの入力操作を要することなく前記画像読取装置に対して画像の読み取りの指示を行って画像の読み取りを実行させる自動実行アプリであり、
さらに、前記起動状態判断ステップによって前記起動中登録アプリが複数あると判断された場合に、その複数の起動中登録アプリの中に前記自動実行アプリがあるか否かを判断する自動実行アプリ判断ステップを有し、
前記自動実行アプリ判断ステップにより前記自動実行アプリがあると判断された場合は、前記選択入力受付ステップは行われず、前記使用アプリ決定ステップでは、前記自動実行アプリを、前記読取要求に対する前記画像読取装置の制御に使用するアプリケーションソフトに決定する、
ことを特徴とする装置制御方法。
【発明を実施するための形態】
【0015】
以下に、本発明の好適な実施形態を図面に基づいて説明する。なお、本発明は、下記の実施形態に示された具体的手段や構造等に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の形態を採り得る。例えば、下記の実施形態の構成の一部を、同様の機能を有する公知の構成に置き換えたり、他の実施形態の構成に対して付加、置換等したり、課題を解決できる限りにおいて省略したりしてもよい。また、下記の複数の実施形態を適宜組み合わせて構成してもよい。
【0016】
[第1実施形態]
(1)画像読取システムの構成
本実施形態の画像読取システム1は、
図1に示すように、MFP(Multi Function Peripheral )2とPC(Personal Computer )3が相互に通信可能に接続されてなるものである。MFP2とPC3はネットワーク4により接続されている。本実施形態のネットワーク4は有線LAN(Local Area Network)であるが、これはあくまでも一例であり、他のネットワーク(例えば無線LANやUSBなど)であってもよい。
【0017】
(2)MFPの構成
MFP2は、原稿の画像を読み取るスキャナ機能や、記録用紙やOHPシート等の被記録媒体に画像を形成(印刷)するプリンタ機能などの各種機能を備えたいわゆる複合機であって、ネットワーク4に接続されたユーザ(PC3を含む)が共有可能ないわゆるネットワーク複合機として構成されている。
【0018】
MFP2は、CPU11、ROM12、RAM13、操作・表示部14,スキャナ部16、プリンタ部17,USBインタフェース(USBI/F)18、およびLANインタフェース(LANI/F)19などを備えている。
【0019】
CPU11は、ROM12に記憶されている各種プログラムやデータに従ってMFP2内の各部の制御および各種演算を実行する。ROM12に記憶されているプログラムには、スキャナ機能を実現するためのプログラムが含まれている。RAM13は、CPU11から直接アクセスされるメインメモリ等として利用されるものであり、スキャナ機能実行時に参照される各種記憶領域も設定されている。
【0020】
操作・表示部14は、タッチパネル15や図示しない押しボタン等により構成され、タッチパネル15にMFP2の動作状態や設定情報等の各種情報を表示したり、タッチパネル15や押しボタン等を介してユーザによる各種操作入力を受け付け可能である。
【0021】
スキャナ部16は、イメージセンサを備え、原稿の画像を読み取ってその画像を表す画像データを生成する。プリンタ部17は、被記録媒体に対して画像を形成(印刷)する。USBI/F18は、周知のUSB(Universal Serial Bus)規格にてデータ通信を行うためのインタフェースである。LANI/F19は、LANによるデータ通信を行うためのインタフェースである。
【0022】
MFP2を使用するユーザは、操作・表示部14を操作することによって、MFP2の動作モード(機能)を選択することができる。例えば、動作モードとしてスキャナ機能を実現させるためのスキャナモードや、プリンタ機能を実現させるためのプリンタモードなどの、各種動作モードをタッチパネル15のメインメニュー画面から選択可能である。メインメニュー画面において、ユーザがスキャナモードを選択(タップ操作等)すると、MFP2はスキャナ機能を実現すべく所定の処理を開始することとなる。
【0023】
スキャナモードが選択された場合には、スキャナ機能におけるより具体的な機能選択画面がタッチパネル15に表示される。その機能選択画面における選択肢の中には、プッシュスキャンが含まれている。そこで、ユーザがその機能選択画面でプッシュスキャンを選択すると、プッシュスキャン実現のための動作が開始される。
【0024】
(3)PCの構成
PC3は、CPU31、ROM32、RAM33、HDD(ハードディスクドライブ)34、表示部35、入力部36、USBI/F37、及び、LANI/F38などを備えている。
【0025】
CPU31は、ROM32やHDD34に記憶されている各種プログラムを実行することによってPC3の各部や外部機器(MFP2を含む)を制御する。ROM32には、CPU31によって実行される各種プログラムやデータ等が記憶されている。RAM33は、CPU31が各種処理を実行するための主記憶装置として用いられる。表示部35は、液晶ディスプレイなどの表示デバイスが含まれる。入力部36は、ユーザにより操作される周知のキーボードやマウス、あるいはタッチパネルなどが含まれる。
【0026】
HDD34には、OS(Operating System)や各種デバイスドライバ、各種アプリケーションソフトなどがインストールされている。以下の説明では、アプリケーションソフトを「アプリケーション」又は「アプリ」と略称する。
【0027】
各種アプリケーションの中には、MFP2のプッシュスキャン機能に対応したアプリケーション、即ちMFP2からプッシュスキャン機能によるイベント通知(プッシュスキャンの要求)があった場合にMFP2へスキャンの実行を指示したりスキャンされた画像データを取得して各種処理を行ったりすることが可能なアプリケーション(以下「スキャンアプリ」という)が含まれている。各種デバイスドライバの中には、MFP2を制御するためのデバイスドライバが含まれている。
【0028】
なお、以下の説明で、単に「ドライバ」というときは、特に断りのない限り、MFP2の制御用のデバイスドライバを意味するものとする。また、以下の説明では、OSやアプリ、ドライバ等を実行するCPU31のことを、単にプログラム名で記載する場合がある。例えば、「スキャンアプリが」という記載は、「スキャンアプリを実行するCPU31が」を意味する場合がある。また、本明細書においてアプリやドライバ等のソフトウェアに対して「起動」とは、CPU31により当該ソフトウェア(プログラム)の処理が開始されること(ソフトウェアが立ち上がって動作可能になること)を意味し、「起動中」とは、CPU31による当該ソフトウェアの処理開始から終了までの期間を意味する。「起動中」には、CPU31が当該ソフトウェアに基づく演算処理を実際に実行中の状態はもちろん、具体的な演算処理は行っていないものの特定の要因によって演算処理を実行可能な状態(いわゆる常駐状態もその1つ)も含む。
【0029】
ドライバは、通常、MFP2を提供するメーカ(ベンダ)からMFP2と共にCDやDVD等の媒体によって(或いは別途ネットワークを介して)提供される。プッシュスキャンアプリは、MFP2を提供するベンダから媒体やネットワークを介して提供されるものもあれば、MFP2のベンダ以外の他社から媒体やネットワークを介して提供されるものもある。
【0030】
スキャンアプリには、MFP2からイベント通知(プッシュスキャンの要求)を受けた場合に、自動でMFP2側へ(ドライバ経由で)スキャン開始指示を送ってスキャンを実行させるタイプのアプリ(自動スキャン型アプリ)と、MFP2へのスキャン開始指示までは行わずにPC3の表示部35にユーザに対するスキャン実行の意志を確認する画面(以下、「スキャン実行確認UI(User Interface)」という)を表示させてユーザ操作入力を待ち、スキャン実行を示す操作入力があった場合にスキャン開始指示を送ってスキャン実行させるタイプのアプリ(非自動スキャン型アプリ)がある。
【0031】
自動スキャン型アプリは、起動後、MFP2からのイベント通知によりドライバからプッシュスキャン情報が渡された場合は、そのプッシュスキャン情報に基づいて、MFP2側へ指示すべき情報や、スキャン後の画像データを受信した場合に行うべき処理等を確認した上で、ドライバへスキャン開始指示を出す。これによりドライバ経由でMFP2側へスキャン開始コマンドが送信され、MFP2にてスキャンが実行されて、スキャン後の画像データが送信されてくる。自動実行型アプリは、MFP2からドライバ経由で画像データを受信すると、それを所定のフォルダに格納したり画面に表示させたりするなどの所定の処理を行う。
【0032】
なお、MFP2から送信されるイベント通知(プッシュスキャンの要求)には、少なくとも、送信元のMFP2を特定する情報(例えばポート番号やIPアドレス)や、MFP2でユーザ等により受け付けられたイベントを定義する情報(例えばID)が含まれる。また、プッシュスキャン情報には、スキャンアプリがプッシュスキャンの実行に必要な種々の情報が含まれる。例えば、ドライバを特定する情報(換言すればプッシュスキャン要求元のデバイス(MFP2等)を特定する情報)、デバイスからの要求内容、その他プッシュスキャン実行に必要な各種の情報などがある。また、ドライバがスキャンアプリに対して「プッシュスキャン情報を渡す」とは、引数にプッシュスキャン情報を指定してスキャンアプリを起動することを意味する。
【0033】
非自動スキャン型アプリは、起動後、ドライバからプッシュスキャン情報が渡された場合は、そのプッシュスキャン情報に基づいて、MFP2側へ指示すべき情報や、スキャン後の画像データを受信した場合に行うべき処理等を確認した上で、PC3の表示部35にスキャン実行確認UIを表示させる。
【0034】
スキャン実行確認UIは、例えば、ユーザに対して「スキャンを実行しますか?」という問いかけのテキスト画像と共に、「スキャン実行」及び「キャンセル」の2つのボタンを有する画像である。
【0035】
このスキャン実行確認UIに対してユーザが例えば「キャンセル」ボタンをクリックした場合は、非自動スキャン型アプリは、スキャン実行確認UIの画面を表示部35から消去する。この場合、MFP2においてスキャンは実行されない。
【0036】
一方、スキャン実行確認UIに対してユーザが例えば「スキャン実行」ボタンをクリックした場合は、非自動スキャン型アプリはドライバへスキャン開始指示を出し、これによりドライバからMFP2へスキャン開始コマンドが送信される。スキャン開始コマンド送信後の処理は、自動スキャン型アプリの場合と同様である。
【0037】
図1に示すように、本実施形態では、HDD34に、アプリA,B,C,D,Eの5つのアプリがインストールされている。このうちアプリC,D,Eの3つは、スキャンアプリである。また、ドライバは、
図1に示すように、その一部又は全てがOSの一部として組み込まれ、OSと協調して動作する。なお、本実施形態のOSは、周知のWindows(登録商標。以下同様。)であり、
図1に示すようにその内部にレジストリが含まれている。レジストリは、各種アプリやドライバ等の設定データが記録されるデータベースであり、本実施形態では、スキャンアプリ登録リストが含まれている。
【0038】
即ち、本実施形態では、PC3において、MFP2からプッシュスキャンの要求があった場合にそれに対応可能なスキャンアプリをプッシュスキャン用のスキャンアプリとして予め登録しておくことができる。プッシュスキャン用のスキャンアプリとしての登録は、ほとんどのスキャンアプリについては、PC3へのインストール時にインストーラによって自動的に行われる。つまり、ほとんどのスキャンアプリは、PC3にインストールされると、自動的に、プッシュスキャン用のスキャンアプリとしてOSに登録(具体的にはレジストリに登録)される。ただし、インストーラによる自動的な登録以外にも、ユーザ操作等によって任意に登録したり或いは登録を解除したりすることも可能である。また、ベンダ側から予めプッシュスキャン用のスキャンアプリのリストがドライバの一部として(或いはドライバとは別に)提供されて、そのリストに挙がっているスキャンアプリを登録アプリとして判断できるような構成であってもよい。
【0039】
本実施形態では、インストールされている3つのスキャンアプリC,D,Eが、いずれも、プッシュスキャン用のスキャンアプリとしてOS(レジストリ)に登録されている。以下、OSに登録されているスキャンアプリを、「登録アプリ」とも言う。
【0040】
更に、本実施形態では、登録アプリのうち優先的に使用するスキャンアプリを指定することができる。即ち、スキャンアプリのOSへの登録自体は、複数のスキャンアプリについて可能であり、本実施形態でも、3つのスキャンアプリC,D,Eが登録アプリとしてOSに登録されている。その登録アプリの中で、さらに、プッシュスキャンのイベント通知があった場合に優先的に使用させるスキャンアプリを、そのスキャンアプリのインストール時に自動的に、又はユーザ操作等によって任意に、スキャン指定アプリとして指定することができる。
【0041】
なお、プッシュスキャンに対応したスキャンアプリは、そのスキャンアプリにおいて、MFP2でのスキャン実行時の各種パラメータを設定できるよう構成されており、スキャン開始指示を出す際にその設定情報もドライバ経由でMFP2へ送信することができる。MFP2は、プッシュスキャン機能にてスキャンを実行する際、PC3から送信されてきた設定情報に従ってスキャンを実行可能である。ただし、設定情報は、MFP2側で設定することも可能である。
【0042】
(4)プッシュスキャンの概要
次に、本実施形態の画像読取システム1において実現されるプッシュスキャンの流れの概要について、
図2、
図3を用いて、PC3にインストールされているドライバの処理内容を中心に説明する。
【0043】
本実施形態の画像読取システム1で実現されるプッシュスキャンの機能には、主に、次の2つの特徴がある。第1の特徴は、PC3がMFP2からプッシュスキャンの要求を受けた時に、PC3において、登録アプリが既に1つ起動されている場合は、ドライバは、その既に起動中の登録アプリをプッシュスキャンに使用するアプリとして決定し、そのアプリに対してプッシュスキャン情報を渡すことである。
【0044】
この第1の特徴は、既に起動中の登録アプリはユーザが「これを使ってスキャンさせたい」と思っているスキャンアプリであることが想定される、という考えに基づくものである。従来、登録アプリが複数ある場合は、常にその複数の登録アプリを画面に表示させてユーザに選択させるのが一般的である。これに対し、本実施形態では、第1の特徴を有することによって、登録アプリが複数ある場合であっても、既に何れか1つの登録アプリが起動中の場合には選択画面は表示されない。
【0045】
第2の特徴は、複数の登録アプリのうち何れか1つがスキャン指定アプリとして指定されている場合に、PC3がMFP2からプッシュスキャンの要求を受けた時の動作である。この場合、従来は、無条件にそのスキャン指定アプリを用いてスキャンを実行させることが一般的である。これに対し、本実施形態では、スキャン指定アプリ以外の他の登録アプリが既に起動中の場合は、その既に起動中の登録アプリとスキャン指定アプリのうちどちらを用いてプッシュスキャンを実行させるかをユーザに選択させる。そして、ユーザにより選択された登録アプリをプッシュスキャンに使用するアプリとして決定し、そのアプリに対してプッシュスキャン情報を渡す。
【0046】
この第2の特徴は、指定されている登録アプリがあるもののそれ以外の他の登録アプリが既に起動中の場合はもしかしたらユーザはその起動中のスキャンアプリを用いてスキャンさせたいと思っているかもしれない、という考えに基づくものである。この第2の特徴を有することで、仮に何れかの登録アプリが指定されているとしても、ユーザは、そのスキャン指定アプリ以外の他の登録アプリ起動させておくことで、その登録アプリを用いてスキャンを実行させることができる。
【0047】
第1の特徴について、
図2を用いて具体的に説明する。
図2は、図示の如く、PC3において3つのスキャンアプリC,D,Eが登録されていて、そのうちスキャンアプリCが起動中であって、且つ、他に2つのアプリA,Bが起動中である例を示している。なお、この例では、3つのスキャンアプリC,D,Eはいずれもスキャン指定アプリとして指定されてはいない。
【0048】
このような状態において、PC3がMFP2からプッシュスキャンの要求を受けた場合、ドライバは、レジストリのスキャンアプリ登録リストを参照して、登録アプリがあるか否か、即ち登録されているスキャンアプリがあるか否かを確認する。なお、MFP2からのプッシュスキャンの要求は、MFP2において、スキャナ機能の機能選択画面でユーザがプッシュスキャンを選択(例えばタップ)して実行キーをタップすることにより、PC3へ送信される。
【0049】
続いて、ドライバは、現在既に起動しているアプリを確認する。ドライバは、上記確認結果に基づき、起動中のアプリの中に登録アプリがあるか否かを確認する。本例の場合、登録アプリのうちスキャンアプリCが既に起動中である。そのため、ドライバは、スキャンアプリCをプッシュスキャンに使用するアプリに決定して、スキャンアプリCにプッシュスキャン情報を渡してプッシュスキャンを実行させる。
【0050】
なお、複数の登録アプリが起動中であった場合は、本実施形態では、後述するように、その既に起動中の登録アプリのみが列挙された選択画面を表示させて、何れか1つをユーザに選択させる。
図4(a)は、その選択画面の一例を示す。
図4(a)は、登録アプリが2つ(スキャンアプリC,E)既に起動中であってその2つの登録アプリが列挙された選択画面を示している。
図4(a)は、スキャンアプリCを示すテキストが白抜き反転された状態、即ちスキャンアプリCが選択されている状態を示している。
【0051】
図4(a)の選択画面において、列挙されている2つのスキャンアプリC,Eのうちユーザが所望のスキャンアプリを選択(例えばクリック操作)して、OKボタンをクリックすると、その選択されたスキャンアプリがプッシュスキャンに用いるスキャンアプリとして決定される。
【0052】
次に、第2の特徴について、
図3を用いて具体的に説明する。
図3は、図示の如く、PC3において3つのスキャンアプリC,D,Eが登録されていて、そのうちスキャンアプリDがプッシュスキャンに用いるスキャン指定アプリとして予め指定されており、現時点で既にスキャンアプリC及び2つのアプリA,Bが起動中である例を示している。
【0053】
このような状態において、PC3がMFP2からプッシュスキャンの要求を受けた場合、ドライバは、レジストリのスキャンアプリ登録リストを参照して、登録アプリがあるか否かを確認する。続いて、ドライバは、現在既に起動しているアプリを確認する。ドライバは、上記確認結果に基づき、起動中のアプリの中に登録アプリがあるか否かを確認する。本例の場合、スキャンアプリDがスキャン指定アプリとして登録されているものの、これとは別のスキャンアプリCが既に起動中である。そのため、ドライバは、スキャン指定アプリであるスキャンアプリDと起動中のスキャンアプリCのアプリ名が列挙された選択画面を表示させて、何れか一方をユーザに選択させる。
【0054】
図4(b)は、その選択画面の一例を示す。
図4(b)は、登録アプリとしてのスキャンアプリCが既に起動中であることから、その起動中のスキャンアプリCと、起動していないもののスキャン指定アプリとして指定されているスキャンアプリDの2つの登録アプリが列挙された選択画面を示している。この選択画面において、スキャンアプリDの表示行には黒丸印が表示されているが、この黒丸印は、スキャンアプリDがスキャン指定アプリであることを示す印である。また、この選択画面の初期状態では、スキャン指定アプリであるスキャンアプリDが選択値のデフォルト(選択された状態)として設定されて白抜き反転表示される。
【0055】
図4(b)の選択画面において、列挙されている2つのスキャンアプリC,Dのうちユーザが所望のスキャンアプリを選択(例えばクリック操作)して、OKボタンをクリックすると、その選択されたスキャンアプリがプッシュスキャンに用いるスキャンアプリとして決定される。
【0056】
なお、スキャン指定アプリが既に起動中の場合は、本実施形態では、他に起動中の登録アプリがあっても、選択画面は表示されず、スキャン指定アプリがプッシュスキャンに用いるスキャンアプリとして決定される。
【0057】
(5)ドライバの処理
次に、PC3にインストールされているドライバの処理についてより詳しく説明する。PC3が起動すると、CPU31は、各種初期処理の1つとして、HDD34に記憶(インストール)されているドライバのプログラムを読み込んで実行する。
図5は、そのドライバのプログラム全体のうち、プッシュスキャンの実行に関わる処理部分であるプッシュスキャン制御処理を示すフローチャートである。本明細書では、ドライバによる処理全体のうち、
図5のプッシュスキャン制御処理に絞って説明する。
【0058】
PC3のCPU31は、
図5のプッシュスキャン制御処理を開始すると、S10で、MFP2からプッシュスキャンの要求が受信されるのを待つ。MFP2からプッシュスキャンの要求を受信したら(S10:YES)、S20で、レジストリのスキャンアプリ登録リストを参照して、登録アプリの有無を確認する。
【0059】
S30では、S20の確認結果に基づき、登録アプリがあるか否か判断する。登録アプリが1つもない場合は(S30:NO)、このスキャン制御処理を終了する。登録アプリがあった場合は(S30:YES)、S40で、登録アプリは1つか否か判断する。登録アプリは1つと判断した場合は(S40:YES)、S50で、その1つだけ登録されている登録アプリを、プッシュスキャンに用いるスキャンアプリに決定してこれを起動させ、プッシュスキャン情報を渡す。なお、その登録アプリが既に起動している場合は、当然ながら起動させる処理は不要となる。そして、S90で、アプリ対応処理を行う。
【0060】
S90のアプリ対応処理は、登録アプリにプッシュスキャン情報を渡した後、その登録アプリの処理内容に従ってMFP2へ必要な情報を送信したり、MFP2から送信されてきた各種情報や画像データを必要に応じて登録アプリへ渡したりするなどの、MFP2におけるプッシュスキャン機能を制御するドライバとしての一般的な処理である。
【0061】
S40で、登録アプリが1つではない(つまり複数ある)と判断した場合は(S40:NO)、S60で、複数の登録アプリの中にスキャン指定アプリがあるか否か(つまりプッシュスキャン用として予め指定されたアプリがあるか否か)判断する。スキャン指定アプリがない場合は(S60:NO)、S70の第1アプリ決定処理を経てS90に進む。スキャン指定アプリがある場合は(S60:YES)、S80の第2アプリ決定処理を経てS90に進む。
【0062】
S70の第1アプリ決定処理の詳細について、
図6を用いて説明する。CPU31は、第1アプリ決定処理に移行すると、S110で、複数の登録アプリそれぞれについて起動状態を確認する。S120では、S110の確認結果に基づいて、起動中の登録アプリがあるか否か判断する。
【0063】
起動中の登録アプリがなかった場合は(S120:NO)、S130で、レジストリに登録されている登録アプリを全て選択肢として列挙し、S140で、その選択肢(全ての登録アプリ)が列挙された選択画面を表示部35に表示させる。例えば登録アプリが2つある場合は、
図4(a)と同じような選択画面が表示される。
【0064】
S150では、MFP2へ選択要求を通知する。この選択要求を受信したMFP2は、プッシュスキャンに用いるスキャンアプリをユーザ自らPC3側で選択する必要があることを示すメッセージを、操作・表示部14に表示する。
【0065】
S160では、選択画面において何れかの登録アプリがユーザにより選択(OKボタンがクリックされる)のを待つ。何れかの登録アプリが選択された場合は(S160:YES)、S170で、その選択された登録アプリをプッシュスキャンに用いるスキャンアプリに決定してこれを起動させ、プッシュスキャン情報を渡す。
【0066】
S120で、起動中の登録アプリがあった場合は(S120:YES)、S180で、起動中の登録アプリは1つか否か判断する。起動中の登録アプリが1つの場合は(S180:YES)、S190で、その起動中の登録アプリをプッシュスキャンに用いるスキャンアプリに決定して、プッシュスキャン情報を渡す。
【0067】
S180で、起動中の登録アプリが1つではない(つまり複数の登録アプリが起動中である)場合は(S180:NO)、S200で、起動中の複数の登録アプリを選択肢として列挙する。S210では、その選択肢が列挙された選択画面を表示部35に表示させる。例えば2つの登録アプリが起動中の場合は、
図4(a)と同じような選択画面を表示させる。220では、S150と同様、MFP2へ選択要求を通知する。
【0068】
S230では、選択画面中の何れかの登録アプリがユーザにより選択されるのを待つ。何れかの登録アプリが選択された場合は(S230:YES)、S240で、その選択された登録アプリをプッシュスキャンに用いるスキャンアプリに決定して、プッシュスキャン情報を渡す。
【0069】
次に、S80(
図5参照)の第2アプリ決定処理の詳細について、
図7を用いて説明する。CPU31は、第2アプリ決定処理に移行すると、S310で、複数の登録アプリそれぞれについて起動状態を確認し、S320で、S310の確認結果に基づいて起動中の登録アプリがあるか否か判断する。
【0070】
起動中の登録アプリがなかった場合は(S320:NO)、S330で、プッシュスキャン用として予め指定されているスキャン指定アプリを、プッシュスキャンに用いるスキャンアプリに決定して、これを起動させ、プッシュスキャン情報を渡す。
【0071】
S320で、起動中の登録アプリがあった場合は(S320:YES)、S340で、起動中の登録アプリは1つか否か判断する。起動中の登録アプリが1つの場合は(S340:YES)、S350で、その起動中の1つの登録アプリがスキャン指定アプリであるか否か判断する。起動中の登録アプリがスキャン指定アプリではない場合は(S350:NO)、S380に進む。起動中の登録アプリがスキャン指定アプリである場合は(S350:YES)、S360で、その起動中のスキャン指定アプリをプッシュスキャンに用いるスキャンアプリに決定して、プッシュスキャン情報を渡す。
【0072】
S340で、起動中の登録アプリが1つではない(つまり複数の登録アプリが起動中である)場合は(S340:NO)、S370で、起動中の複数の登録アプリの中にスキャン指定アプリがあるか否か判断する。スキャン指定アプリがあった場合は(S370:YES)、S360に進み、そのスキャン指定アプリをプッシュスキャンに用いるスキャンアプリに決定する。起動中の複数の登録アプリの中にスキャン指定アプリがなかった場合、即ちスキャン指定アプリは起動しておらず他の登録アプリが複数起動している場合は(S370:NO)、S380で、スキャン指定アプリを選択肢として列挙する。S390では、その列挙したスキャン指定アプリを選択値のデフォルトに設定する。
【0073】
S400では、起動中の他の登録アプリを選択肢として列挙する。S410では、S380及びS400で列挙した選択肢の選択画面を表示部35に表示させる。このとき、S390の処理によってスキャン指定アプリがデフォルト指定されているため、選択画面においては、スキャン指定アプリが仮選択されて白抜き反転表示された状態となって表示される。例えば、指定されていない登録アプリが1つ起動中の場合は、
図4(b)に例示したように、起動中の登録アプリと起動していないスキャン指定アプリの2つが列挙されたてそのうちスキャン指定アプリが仮選択された状態の選択画面が表示される。
【0074】
S420では、MFP2へ選択要求を通知する。S430では、選択画面中の何れかの登録アプリがユーザにより選択されるのを待つ。何れかの登録アプリが選択された場合は(S430:YES)、S440で、その選択された登録アプリをプッシュスキャンに用いるスキャンアプリに決定し、プッシュスキャン情報を渡す。選択された登録アプリがスキャン指定アプリの場合は、選択された時点ではスキャン指定アプリはまだ起動していないため、S440の処理においてまずスキャン指定アプリを起動させる必要がある。
【0075】
(6)第1実施形態の効果等
以上説明した本実施形態の画像読取システム1では、MFP2からプッシュスキャンの要求を受けたときにPC3において既に起動中の登録アプリがある場合は、他に登録アプリがあっても、その起動中の登録アプリが優先的にプッシュスキャンに用いるスキャンアプリに決定される。
【0076】
これにより、ユーザは、MFP2でのプッシュスキャン操作に先立って、PC3においてプッシュスキャンに用いたいスキャンアプリを起動しておくことで、登録アプリが複数あっても選択画面が毎回表示されないようにすることができ、その分、スキャンアプリを選択する手間を低減できる。
【0077】
従って、本実施形態の画像読取システム1によれば、PC3において、プッシュスキャンに使用するスキャンアプリの選択にかかるユーザの労力を軽減しつつ、適切なスキャンアプリによりプッシュスキャンを実行(MFP2を制御)することができる。
【0078】
MFP2からプッシュスキャンの要求を受けたときにPC3において複数の登録アプリが起動中の場合は、選択画面が表示される。しかしその場合、全ての登録アプリが選択画面に列挙されるのではなく、あくまでも、起動中の登録アプリのみが列挙される。このように、選択画面は表示されるものの、起動していない登録アプリは選択肢として表示されないため、その分、ユーザによるスキャンアプリを選択する手間を低減できる。
【0079】
また、プッシュスキャンに用いるスキャンアプリが予め指定されている場合、基本的にはそのスキャン指定アプリがプッシュスキャンに用いられることになる。しかし、スキャン指定アプリとは別の登録アプリが起動中の場合は、その起動中の登録アプリとスキャン指定アプリとが列挙された選択画面が表示され、ユーザが何れか一方を選択できる。そのため、ユーザは、スキャン指定アプリとは別のスキャンアプリを用いてスキャンさせたい場合は、所望のスキャンアプリを起動させておくことで、スキャン指定アプリとは別の所望のスキャンアプリを用いてプッシュスキャンを実行させることができる。
【0080】
なお、本実施形態において、PC3は本発明の情報処理装置の一例に相当し、MFP2は本発明の画像読取装置の一例に相当し、PC3のドライバは本発明の装置制御プログラムの一例に相当し、PC3のCPU31は本発明の制御部の一例に相当し、HDD34(詳しくはレジストリ)は本発明の登録部の一例に相当し、スキャンアプリは本発明の画像読取アプリケーションの一例に相当し、自動スキャン型アプリは本発明の自動実行アプリの一例に相当する。
【0081】
[第2実施形態]
上記第1実施形態では、
図5のプッシュスキャン制御処理におけるS70の第1アプリ決定処理の具体的内容を、
図6に例示した。ここでは、その
図6の第1アプリ決定処理の他の実施形態を、第2実施形態として説明する。
【0082】
本実施形態の画像読取システム1(
図1参照)は、MFP2とPC3がネットワーク4により接続されている。そのため、MFP2とPC3が互いに離れて設置されていることも想定される。一方、スキャンアプリには、既述の通り、ドライバからプッシュスキャン情報がアプリに渡されると自動的にMFP2へスキャン開始指示を行ってスキャンを実行させる自動スキャン型アプリと、スキャン開始指示の前にスキャン実行確認UIを表示させてユーザ操作入力を待つ非自動スキャン型アプリがある。
【0083】
MFP2とPC3が互いに離れている場合、MFP2の設置場所にてプッシュスキャンを実行させようとするユーザにとっては、PC3でアプリ選択操作を行うことなくMFP2への入力操作だけで自動的にスキャンが完了した方が都合がよいと想定される。
【0084】
そこで、本実施形態の第1アプリ決定処理は、登録アプリの中に自動スキャン型アプリが含まれている場合はその自動スキャン型アプリが優先的にプッシュスキャン用アプリとして決定されるように構成されている。
図8に、本実施形態の第1アプリ決定処理の詳細を示す。
【0085】
本実施形態では、PC3のCPU31は、
図5のプッシュスキャン制御処理においてS60で否定判定すると、
図8の第1アプリ決定処理に進む。なお、
図8の第1アプリ決定処理は、
図6に示した第1実施形態の第1アプリ決定処理と比較して、主に次の2つの点が相違する。相違点のうちの1つは、S130の処理とS140の処理の間に、S131及びS132の処理が追加されていることである。相違点のうちのもう1つは、S180の判断処理で否定判定された場合において、S200の処理に移行する前に、S195の判断処理(S195で肯定判定された場合はさらにS510以降(
図9参照)の処理)を実行することである。
【0086】
そこで、
図8に示した本実施形態の第1アプリ決定処理のうち、
図6に示した第1実施形態の第1アプリ決定処理と同じ処理については、
図6と同じ符号を付し、その説明を省略する。そして、以下、
図8に示した本実施形態の第1アプリ決定処理について、第1実施形態と相違する部分に絞って説明する。
【0087】
PC3のCPU31は、
図8の第1アプリ決定処理において、S120で起動中の登録アプリがないと判断し、S130で全ての登録アプリを選択肢として列挙すると、S131で、列挙した登録アプリの中に自動スキャン型アプリがあるか否か判断する。自動スキャン型アプリが列挙されていない場合は(S131:NO)、S140に進む。
【0088】
一方、自動スキャン型アプリが列挙されている場合は(S131:YES)、S132で、その列挙されている自動スキャン型アプリのうち特定の1つを、選択値のデフォルトに設定して、S140に進む。S132において、自動スキャン型アプリが1つだけ列挙されている場合は、その自動スキャン型アプリがデフォルトに設定される。自動スキャン型アプリが複数列挙されている場合は、その複数の自動スキャン型アプリのうち、予め決められたルールにより選択された特定の1つがデフォルトに設定される。
【0089】
なお、自動スキャン型アプリか否かの判断は、種々の方法で行うことができる。例えば、ドライバの一部として、自動スキャン型アプリのデータベースを保持しておき、そのデータベースを元に判断する方法が考えられる。また例えば、ユーザの入力操作によってスキャンアプリ毎に自動スキャン型アプリか否かを指定できるようにし、その指定内容に基づいて判断する方法が考えられる。また例えば、過去に実行されたプッシュスキャンにおいてスキャン実行確認UIが表示されたか否かを学習しておき、その学習結果に基づいて判断する方法が考えられる。
【0090】
CPU31は、S180で、起動中の登録アプリが1つではない(つまり複数の登録アプリが起動中である)と判断した場合は(S180:NO)、S195で、起動中の登録アプリの中に自動スキャン型アプリが含まれているか否か確認する。自動スキャン型アプリが含まれていない場合は(S195:NO)、S200に進む。自動スキャン型アプリが含まれている場合は(S195:YES)、
図9のS510に進む。
【0091】
S510では、起動中の登録アプリの中に自動スキャン型アプリが1つだけ含まれているか否か判断する。自動スキャン型アプリが1つだけ含まれている場合は(S510:YES)、S520で、その起動中の1つの自動スキャン型アプリをプッシュスキャンに用いるスキャンアプリに決定して、プッシュスキャン情報を渡す。
【0092】
S510で、自動スキャン型アプリが1つだけではない(つまり複数の自動スキャン型アプリが起動中である)と判断した場合は(S510:NO)、S530で、起動中の登録アプリ(自動スキャン型アプリも含む)を選択肢として列挙する。S540では、その列挙した登録アプリのうち自動スキャン型アプリの1つを、選択値のデフォルトに設定する。複数の自動スキャン型アプリのどれをデフォルトに設定するかについての具体的方法は、S132(
図8参照)と同様である。
【0093】
S550では、選択肢が列挙された選択画面を表示部35に表示させる。S560では、MFP2へ選択要求を通知する。S570では、選択画面中の何れかの登録アプリがユーザにより選択されるのを待つ。何れかの登録アプリが選択された場合は(S570:YES)、S580で、その選択された登録アプリをプッシュスキャンに用いるスキャンアプリに決定して、プッシュスキャン情報を渡す。
【0094】
以上説明したように、
図8,
図9に示した本実施形態の第1アプリ決定処理によれば、自動スキャン型アプリを1つ起動させておくことで、他に起動中の登録アプリがあったとしても、起動中の自動スキャン型アプリにてプッシュスキャンを実行・完了させることができる。そのため、MFP2を操作してプッシュスキャンを実行させたいユーザにとって、プッシュスキャンの完了までに要する手間が低減される。特に、MFP2とPC3との距離が離れているほど効果的である。
【0095】
[他の実施形態]
(1)第1実施形態では、ドライバは、MFP2からプッシュスキャンの要求を受けたときに複数の登録アプリ(但しスキャン指定アプリを除く)が起動中であった場合は(S180:NO)、その起動中の登録アプリを列挙してユーザに選択させる構成であった(S200)。これに対し、例えば、複数の登録アプリが起動中であった場合にその中から何れか1つを自動的に選択させるためのシーケンスを予め設定しておいて、そのシーケンスにより自動選択された1つの登録アプリがプッシュスキャンに用いるスキャンアプリとして自動的に決定される(つまりユーザによる選択操作を不要とする)構成であってもよい。
【0096】
この場合のシーケンスとしては、例えば、ユーザによる過去の使用頻度を学習させておいてその学習結果に基づいて使用頻度の高いスキャンアプリを選択する手順や、読み取り対象の原稿の情報をMFP2から取得してその原稿のスキャンにより適したスキャンアプリを選択する手順、などが考えられる。
【0097】
(2)第1実施形態では、ドライバは、MFP2からプッシュスキャンの要求を受けたときにスキャン指定アプリが既に起動中であった場合は、他に起動中の登録アプリがあったとしてもスキャン指定アプリがプッシュスキャンに用いるスキャンアプリとして決定される構成であった(S370:YES)。これに対し、スキャン指定アプリを含む複数の登録アプリが起動中の場合は、その起動中の登録アプリを列挙してユーザに選択させるようにしてもよい。
【0098】
(3)第1実施形態において、ドライバは、スキャン指定アプリを含む複数の登録アプリが何れも起動していない場合は(S320:NO)、スキャン指定アプリを含む全ての登録アプリを列挙してユーザに選択させるようにしてもよい。その場合、選択画面の初期状態においてスキャン指定アプリを選択値のデフォルトとして(つまり仮選択された状態として)白抜き反転表示させるようにしてもよい。
【0099】
(4)第1実施形態において、ドライバは、スキャン指定アプリ以外の他の登録アプリが1つ起動中であった場合は(S350:NO)、その起動中の登録アプリをプッシュスキャンに用いるスキャンアプリとして決定してもよい。
【0100】
(5)第2実施形態では、
図9のS510で否定判定された場合(つまり複数の自動スキャン型アプリが起動中だった場合)、起動中の登録アプリが全て(自動スキャン型か否かにかかわらず起動中のもの全て)列挙された選択画面が表示される構成であった。これに対し、複数の自動スキャン型アプリが起動中だった場合は、他に非自動スキャン型アプリが起動中であっても、起動中の自動スキャン型アプリのみを列挙してユーザに選択させるようにしてもよい。或いは、起動中の複数の自動スキャン型アプリの中から、予め設定されたシーケンスに従って特定の1つを自動的に選択し、その自動的に選択した1つの自動スキャン型アプリをプッシュスキャンに用いるスキャンアプリとして自動的に決定する構成であってもよい。
【0101】
(6)上述した各種選択画面において、どの選択値(どのスキャンアプリの選択肢)をデフォルトに設定するかについては、適宜決めることができる。逆に、デフォルト設定を行わないようにしてもよい。
【0102】
(7)本発明の適用は、
図1に示した構成の画像読取システム1への適用に限定されるものではない。プッシュスキャン機能を有する装置としてMFP2はあくまでも一例である。また、ドライバ及びスキャンアプリがインストールされる情報処理装置として、PC3はあくまでも一例である。