以下、本発明の好ましい実施形態について、添付図面を参照して説明する。図1は、本発明の情報処理プログラムの一実施形態であるアプリケーション12bを搭載する端末10の電気的構成を示すブロック図である。以下では、「アプリケーション」を「アプリ」と称することがある。
本実施形態の端末10は、スマートフォンなどの携帯端末として構成される。端末10には、CPU11、フラッシュメモリ12、RAM13、操作キー15、LCD16、タッチパネル17、メモリカードインターフェイス(以下「メモリカードI/F」と称す)18、音声入出力部19、電話網通信部20、近距離通信部22、無線通信部23が設けられる。これらの各部は、バスライン24を介して互いに接続される。
CPU11は、フラッシュメモリ12等に記憶される固定値やプログラム等に従って、バスライン24と接続された各部を制御する。フラッシュメモリ12は、書換可能な不揮発性のメモリである。フラッシュメモリ12には、オペレーティングシステム12a、アプリ12bが格納される。以下では「オペレーティングシステム」を「OS」と称することがある。また、以下では、アプリケーションやオペレーティングシステムなどのプログラムを実行するCPU11のことを、単にプログラム名で記載する場合もある。例えば「アプリケーション」という記載が「アプリケーションを実行するCPU11」を意味する場合もある。OS12aは、端末10の標準機能を実現するための基本ソフトウェアである。本実施形態では、OS12aは、アンドロイド(登録商標)OSである。
アプリ12bは、各種デバイスのベンダによって提供されるアプリケーションであって、ユーザによって端末10にインストールされ、端末10から、対応するデバイスが有する各種機能の利用を可能とする。例えば、アプリ12bは、パーソナルコンピュータ(以下「PC」と称す)などを経由せずに、端末10から直接、デバイスの印刷機能やスキャン機能などを利用することを可能にする。
本実施形態のアプリ12bによれば、端末10と多機能周辺装置(以下「MFP」と称す)100との間で近距離無線通信が確立されたことをトリガとして、印刷対象として選択されたファイル(以下「印刷対象ファイル」と称す)に応じた画像データと印刷設定とを、無線LAN通信、より詳細には、Wi−Fi Direct(登録商標)規格に基づく直接通信によりMFP100に送信する。これにより、印刷対象ファイルに基づく画像が、MFP100の印刷機能によって印刷される。以下、端末10とMFP100との間で近距離無線通信が確立されたことをトリガとする上記印刷を「NFC印刷」と称す。
詳細は後述するが、本実施形態のアプリ12bは、端末10とMFP100との間で近距離無線通信が確立されたことをトリガとして実行される、端末10とMFP100との間でWi−Fi Direct規格に基づく無線通信を確立するための処理(以下、この処理を「ハンドオーバ処理」と称す)の期間中を利用して、印刷設定を行うことが可能に構成される。よって、本実施形態のアプリ12bによれば、当該アプリ12bを搭載する端末10が、NFC印刷において、端末10から送信した印刷設定がMFP100で利用できず、エラーが発生する事象を好適に抑制できる。後述する図3のフローチャートに示す各処理は、CPU11がアプリ12bに従い実行する処理である。
また、フラッシュメモリ12には、アプリ用記憶領域12cが設けられる。アプリ用記憶領域12cは、アプリ12bが使用する、アプリ12bに割り当てられた記憶領域である。アプリ用記憶領域12cには、例えば、前回のNFC印刷に用いた印刷設定が記憶される。NFC印刷の印刷設定は、例えば、A4やA3などの用紙サイズ、普通紙や光沢紙などの用紙種類、ふちなし印刷を行うか否かの設定や、標準画質や高画質などの画質設定や、印刷部数などから構成される。なお、NFC印刷の印刷設定としては、上記例示した設定に限らず、印刷をカラーで行うかモノクロで行うかや、両面印刷を行うか否かの設定なども適宜採用できる。
RAM13は、CPU11がアプリ12b等を実行するにあたり、各種データを一時的に記憶するためのテンポラリエリアを有する書換可能な揮発性のメモリである。操作キー15は、端末10に指示などを入力するためのメカニカルキーであり、例えば、端末10の筺体に設けられる。LCD16は、各種画面を表示する液晶表示装置である。タッチパネル17は、LCD16に重ねて設けられ、指や棒などの指示体を接触または接近させることによって、端末10に指示などを入力する。メモリカードI/F18は、書換可能な不揮発性のメモリカードMCが装着されるインタフェースであり、メモリカードMCに対するデータの書き込み又は読み出しを制御する。音声入出力部19は、マイクやスピーカなどで構成された音声入出力用デバイスである。電話網通信部20は、携帯電話網(図示せず)を介した通話を行うための回路である。
近距離通信部22は、例えば10cm程度の短い距離を通信可能距離とする近距離無線通信で通信を行うためのインタフェースである。本実施形態の近距離通信部22が行う近距離無線通信は、NFC標準規格に従う非接触通信(以下、この通信を「NFC通信」と称す)である。つまり、本実施形態において、端末10は、近距離通信部122を有するMFP100との間でNFC通信を行うことが可能である。
無線通信部23は、無線LAN規格による通信(無線LAN通信)を行うためのインタフェースである。本実施形態では、無線通信部23が行う無線LAN通信は、IEEE802.11b/g/nの規格に準拠した無線LANによる無線通信である。上述した通り、端末10は、無線通信部23を介して、無線通信部123を有するMFP100との間で、Wi−Fi Direct規格に基づく無線通信(以下、この通信を「WIDI通信」と称す)を行うことができる。また、端末10は、無線通信部23を介して、アクセスポイント(以下「AP」と称す)50との間で、Wi−Fi(登録商標)規格に基づく無線通信(以下、この通信を「Wi−Fi通信」と称す)を行うことができる。
AP50は、Wi−Fi通信を中継する中継装置である。よって、端末10は、AP50を介して、無線通信部123を有するMFP100とWi−Fi通信を行うことができる。AP50は、ブロードバンドルーター機能を有し、インターネット800に接続できる。よって、端末10は、AP50を介して、インターネット800に接続できる。
MFP100は、印刷機能、スキャン機能、コピー機能、ファクシミリ機能などの各種機能を有している。MFP100は、各種機能を実現するための、図示されないプリンタ部、スキャナ部、およびファクシミリ通信部などを有する。MFP100は、近距離通信部22と同様の近距離通信部122を有している。また、MFP100は、無線通信部23と同様の無線通信部123を有している。
変換サーバ200は、端末10からアップロードされた第1形式のファイル(本実施形態では、PDF形式のファイル)を、第1形式とは異なる第2形式の画像ファイルに変換するサーバである。変換後のファイル形式である第2形式としては、JPEG、PNG、GIF、BMPなどの各種形式を採用できる。本実施形態の変換サーバ200は、PDF形式のファイルをJPEG形式の画像ファイルに変換する。端末10は、インターネット800およびAP50を介して、変換サーバ200と通信可能に接続される。本実施形態のアプリ12bは、印刷対象ファイルがPDF形式のファイルである場合、当該ファイルと印刷設定とを変換サーバ200にアップロードし、変換サーバ200にて、印刷設定に応じたJPEG形式の画像ファイルに変換させる。
図2は、本実施形態のアプリ12bによりLCD16に表示される画面の遷移の一例を模式的に示す図である。アプリ12bによりLCD16に表示される対象選択画面(図示せず)にて印刷対象ファイルが選択されると、プレビュー画面50が表示される。プレビュー画面50には、対象選択画面にて選択された印刷対象ファイルに基づく画像51が表示される。
なお、本実施形態のアプリ12bによれば、印刷対象ファイルがPDF形式のファイルである場合、変換サーバ200にて当該PDF形式のファイルから変換されたJPEG形式のファイルに基づく画像が、画像51として表示される。具体的に、印刷対象ファイルとして選択されたPDF形式のファイルと、端末10にて現在に設定されているNFC印刷の印刷設定(以下、この印刷設定を「現在のNFC印刷設定」と称す)とが、変換サーバ200にアップロードされ、PDF形式のファイルは、変換サーバ200にて、現在のNFC印刷設定に応じたJPEG形式のファイルに変換される。そして、変換サーバ200からダウンロードされた、変換後のJPEG形式のファイルに基づく画像が、画像51として表示される。
プレビュー画面50がLCD16に表示された状態で、端末10とMFP100との間でNFC通信が確立された場合、NFC通信の確立に伴い、ハンドオーバ処理が開始される。NFC通信の確立に伴い、LCD16に表示される画面はプレビュー画面50から別の画面に切り替わるが、切り替え後の画面は、現在のNFC印刷設定、より詳細には、前回のNFC印刷にて使用した印刷設定が、NFC通信の相手であるMFP100にて利用可能か否かに応じて異なる。
具体的に、現在のNFC印刷設定が、NFC通信の相手であるMFP100にて利用可能な設定(すなわち、適合する設定)である場合、端末10とMFP100との間でNFC通信が確立されたことに伴い、LCD16に表示される画面は、プレビュー画面50から、ハンドオーバ処理の進行状況を示すプログレス表示を含む画面(図示せず)に切り替わる。そして、当該プログレス表示を含む画面は、ハンドオーバ処理の完了に伴い、NFC印刷中であることを示す印刷中画面80に切り替わる。
その一方で、現在のNFC印刷設定が、NFC通信の相手であるMFP100にて利用できない設定(すなわち、不適合な設定)を含む場合、端末10とMFP100との間でNFC通信が確立されたことに伴い、LCD16に表示される画面は、プレビュー画面50から、設定画面60、より詳細には、画面60aに切り替わる。
設定画面60は、現在のNFC印刷設定のうち、MFP100にて利用できない設定を変更させるための画面である。設定画面60には、現在のNFC印刷設定のうち、MFP100にて利用できない設定61が表示される。図2に示す例では、設定61として、ふちなし印刷をするか否かの設定のみが表示されるが、MFP100にて利用できない設定が複数ある場合には、それら複数の設定の各々が設定61として表示される。
設定画面60に表示される設定61に対するタップ操作が行われた場合、タップ操作された設定61に対して設定可能な設定値の候補が選択肢としてLCD16に表示される(図示せず)。ユーザは、当該選択肢の中から、所望の設定値を選ぶことにより、当該設定における設定値を変更できる。なお、設定値の選択肢は、相手となるMFP100の能力(所謂、スペック)に応じたものである。
設定画面60の一形態である画面60aには、OKボタン62が表示される。OKボタン62は、ハンドオーバ処理の完了を待つことなく、設定画面60の表示後に変更されたものを含め、設定61における設定値の確定を指示するボタンである。ハンドオーバ処理の実行中にOKボタン62に対するタップ操作が行われた場合、LCD16に表示される画面は、画面60aから、待機画面70に切り替わる。
待機画面70は、ハンドオーバ処理の完了を待機する画面である。なお、待機画面70では、設定61における設定値を変更できない。待機画面70には、Cancelボタン71と、プログレス表示72とが表示される。プログレス表示72は、ハンドオーバ処理の進行状況を示す表示である。
Cancelボタン71は、設定61における現在の設定値をキャンセルする旨を指示するボタンである。ハンドオーバ処理が完了する前にCancelボタン71に対するタップ操作が行われた場合、LCD16に表示される画面は、待機画面70から、再度、設定画面60である画面60aに切り替わる。これにより、ユーザは、設定61における設定値を再度変更できる。
その一方で、Cancelボタン71に対するタップ操作が行われることなく、ハンドオーバ処理が完了した場合、設定61における変更後の設定値が、例えば、ふちなし印刷の有無の切り替えなど、変換サーバ200での変換を要するものでないことを条件として、当該変更後の設定値が反映された現在のNFC印刷設定を用いて画像51のNFC印刷が実行される。かかる場合、LCD16に表示される画面は、待機画面70から印刷中画面80に切り替わる。
なお、詳細は後述するが、設定61における変更後の設定値が、変換サーバ200での変換を要するものである場合、NFC印刷は一旦キャンセルされる。例えば、印刷対象ファイルが変換サーバ200での変換を必要とするファイル形式である場合に、用紙サイズが変更された場合には、変換サーバ200での変換が必要となる。よって、かかる場合、NFC印刷は一旦キャンセルされる。図示はしないが、設定61における変更後の設定値が、変換サーバ200での変換を要するものである場合には、変換の完了後に再度MFP100とのNFC通信の確立を行うよう促すエラー画面(図示せず)が表示される。
画面60a(設定画面60)に表示されるOKボタン62に対するタップ操作が行われることなく、ハンドオーバ処理が完了した場合、LCD16に表示される画面は、画面60aから画面60bに切り替わる。画面60bもまた、設定画面60の一形態の画面である。よって、画面60bでは、設定61における設定値を変更できる。
画面60bには、プリントボタン63が表示される。プリントボタン63は、設定画面60の表示後に変更されたものを含め、設定61に対する設定値の確定を指示するボタンである。プリントボタン63に対するタップ操作が行われた場合、設定61における変更後の設定値が変換サーバ200での変換を要するものでないことを条件として、当該変更後の設定値が反映された現在NFC印刷設定を用いて画像51のNFC印刷が実行される。かかる場合、LCD16に表示する画面は、画面60bから印刷中画面80に切り替わる。
よって、ハンドオーバ処理が完了する前には、OKボタン62に対するタップ操作を行うことにより、設定61における設定値を確定させることができる。その一方で、OKボタン62に対するタップ操作が行われることなく、ハンドオーバ処理が完了した場合には、プリントボタン63に対するタップ操作を行うことにより、設定61における設定値の確定させることができる。
図3は、NFC印刷処理を示すフローチャートである。本処理は、プレビュー画面50を開いた状態で、アプリ12bが、OS12aからNFCイベントを受け付けたことに伴い開始される。NFCイベントは、端末10(近距離通信部22)が、MFP100など、NFC通信の通信相手となるデバイス(以下「NFCデバイス」と称す)を検知した場合に、OS12aがアプリ12bに通知するイベントである。なお、端末10がNFCデバイスを検知したことに伴い、端末10と、検知されたNFCデバイスとの間にて、NFC通信が確立される。本実施形態では、NFCデバイスは、MFP100とする。
CPU11は、MFP100に対し、WIDI通信用のSSID(Service Set Identifier)をNFC通信によって要求し、それにより、WIDI通信用のSSID(以下、単に「SSID」と称す)と、当該SSIDに対応するパスワードとを、MFP100からNFC通信により取得する(S301)。
また、CPU11は、S301において、通信相手のMFP100に対し、モデル情報をNFC通信によって要求し、それにより、モデル情報をMFP100からNFC通信により取得する。CPU11は、MFP100から取得したSSIDおよびパスワードと、モデル情報とを、RAM13に記憶する。
CPU11は、端末10とMFP100との間にて、ハンドオーバ処理、つまり、WIDI通信を確立するための処理を開始する(S302)。具体的に、CPU11は、S301にて取得されRAM13に記憶されたSSIDとパスワードとを、無線通信部23が通信する際に用いる通信設定として設定することにより、ハンドオーバ処理を行う。なお、S302にて開始されたハンドオーバ処理は、完了するまでに、ある程度の時間(例えば、30秒程度)を要する。
CPU11は、現在のNFC印刷設定を利用できるかを判断する(S303)。具体的に、CPU11は、S301にて取得されRAM13に記憶されたモデル情報に基づき、通信相手のMFP100の能力を示す情報を取得し、当該取得した情報に基づき、現在のNFC印刷設定を利用できるかを判断する。
S303の処理をより詳細に説明する。モデル情報に対応するMFP100の能力を示す情報がアプリ用記憶領域12cに記憶されている場合、CPU11は、該当する情報をアプリ用記憶領域12cから取得する。一方、モデル情報に対応するMFP100の能力を示す情報がアプリ用記憶領域12cに記憶されていない場合、CPU11は、通信相手のMFP100に対し、能力を示す情報をNFC通信によって要求し、それにより、能力を示す情報をMFP100からNFC通信により取得する。
あるいは、AP50を介して、LAN(図示せず)上の管理サーバ(図示せず)や、インターネット800上の管理サーバ(図示せず)に接続し、これらの管理サーバから、モデル情報に対応するMFP100の能力を示す情報を取得する構成であってもよい。
次に、CPU11は、現在のNFC印刷設定の設定項目毎に、現在の設定値が、取得した能力を示す情報により特定される、MFP100において設定可能な設定値に含まれるかを判断する。全ての設定項目について、現在のNFC印刷設定の設定値が、取得した能力を示す情報により特定される、MFP100において設定可能な設定値に含まれると、CPU11が判断した場合、それは、通信相手のMFP100の能力に対し、現在のNFC印刷設定を利用できることを示す。つまり、かかる場合、CPU11は、S303の判断を肯定する。
一方で、少なくとも1の設定項目について、現在のNFC印刷設定の設定値が、取得した能力を示す情報により特定される、MFP100において設定可能な設定値に含まれないと、CPU11が判断した場合、CPU11は、S303の判断を否定する。
S303の判断をCPU11が否定した場合、すなわち、現在のNFC印刷設定を利用できない場合(S303:No)、CPU11は、LCD16に表示する画面を、NFC印刷設定を設定するための設定画面に切り替える(S304)。本実施形態では,CPU11は、設定画面として、現在のNFC印刷設定のうち、MFP100にて利用できない設定を変更させるための画面、例えば、図2の設定画面60を表示する。
CPU11は、設定画面における設定を確定させるOKボタン(例えば、OKボタン62)を設定画面に表示する(S305)。CPU11は、設定画面を介する設定変更を受け付けたかを判断する(S306)。設定変更を受け付けたとCPU11が判断した場合(S306:Yes)、CPU11は、設定の変更、すなわち、変更後の設定値を設定項目に対応付けてRAM13に記憶し(S307)、処理をS308に移行する。なお、設定画面にて設定可能な設定値の選択肢は、通信相手のMFP100の能力に応じたものである。一方、設定変更を受け付けていないとCPU11が判断した場合(S306:No)、CPU11は、処理をS308に移行する。
CPU11は、OKボタンに対する操作を受け付けたか判断する(S308)。OKボタンに対する操作を受け付けないとCPU11が判断した場合(S308:No)、CPU11は、S302にて開始されたハンドオーバ処理が完了したかを判断する(S318)。
S318において、CPU11は、ハンドオーバ処理を開始する際に設定したSSIDとパスワードを用いてMFP100に問い合わせを行い、問い合わせに対する返信に応じて、ハンドオーバ処理が完了したかを判断する。具体的に、その問い合わせに対する返信をCPU11が受信した場合、CPU11は、ハンドオーバ処理が完了したと判断する。S318において、ハンドオーバ処理が完了していないとCPU11が判断した場合(S318:No)、CPU11は、処理をS306に移行する。
S308において、OKボタンに対する操作を受け付けたとCPU11が判断した場合、すなわち、ハンドオーバ処理が完了する前に、OKボタンに対する操作が行われた場合(S308:Yes)、処理をS309に移行する。
S318において、ハンドオーバ処理が完了したとCPU11が判断した場合、すなわち、OKボタンに対する操作が行われる前に、ハンドオーバ処理が完了した場合(S318:Yes)、CPU11は、OKボタンに代えて、設定画面における設定を確定させるプリントボタン(例えば、プリントボタン63)を設定画面に表示する(S319)。CPU11は、プリントボタンに対する操作を受け付けたか判断する(S320)。
プリントボタンに対する操作を受け付けないとCPU11が判断した場合(S320:No)、設定画面を介する設定変更を受け付けたかを判断する(S321)。設定変更を受け付けたとCPU11が判断した場合(S321:Yes)、CPU11は、S307と同様に、変更後の設定値を設定項目に対応付けてRAM13に記憶し(S322)、処理をS320に移行する。一方、設定変更を受け付けていないとCPU11が判断した場合(S321:No)、CPU11は、処理をS320に移行する。
プリントボタンに対する操作を受け付けたとCPU11が判断した場合(S320:Yes)、CPU11は、処理をS309に移行する。よって、OKボタンに対する操作が行われる前に、ハンドオーバ処理が完了した場合、ハンドオーバ処理の完了後も、プリントボタンに対する操作が行われるまで、設定変更を行うことができる。そして、OKボタンまたはプリントボタンのいずれかが操作されたことを条件として、CPU11は、処理をS309に移行する。
CPU11は、設定の変更に伴い、変更後の設定値が、変換サーバ200での変換を要するものであるかを判断する(S309)。設定の変更に伴い、変換サーバ200での変換を要する場合としては、変換サーバ200での変換を必要とするファイル形式の印刷対象ファイルについて、用紙サイズが変更された場合が例示される。なお、設定が変更された後も、データの拡大や縮小などで対応できる場合には、変換サーバ200での変換を要しない扱いにする構成としてもよい。
変換サーバ200での変換を要しないと、CPU11が判断した場合(S309:No)、CPU11は、S318と同様に、ハンドオーバ処理が完了したかを判断する(S310)。S310において、ハンドオーバ処理が完了していないとCPU11が判断した場合(S310:No)、CPU11は、LCD16に表示する画面を、ハンドオーバ処理の完了を待機する待機画面(例えば、待機画面70)に切り替える(S311)。CPU11は、プログレス表示(例えば、プログレス表示72)およびキャンセルボタン(例えば、キャンセルボタン71)を、待機画面に表示する(S312,S313)。
CPU11は、S313の処理後、S318と同様に、ハンドオーバ処理が完了したかを判断する(S314)。S314において、ハンドオーバ処理が完了していないとCPU11が判断した場合(S314:No)、CPU11は、キャンセルボタンに対する操作を受け付けたか判断する(S327)。
キャンセルボタンに対する操作を受け付けないとCPU11が判断した場合(S327:No)、CPU11は、処理をS314に移行する。一方、キャンセルボタンに対する操作を受け付けたとCPU11が判断した場合(S327:Yes)、CPU11は、S304に移行し、LCD16に表示する画面を設定画面に切り替える。よって、ハンドオーバ処理が完了する前に、キャンセルボタンに対する操作が行われた場合には、設定画面が表示されるので、設定変更を再度行うことができる。
S314において、ハンドオーバ処理が完了したとCPU11が判断した場合、すなわち、待機画面が表示された状態でハンドオーバ処理が完了した場合(S314:Yes)、CPU11は、LCD16に表示する画面を、印刷中画面、例えば、図2の印刷中画面80に切り替える(S315)。CPU11は、印刷処理を実行し(S316)、本処理を終了する。よって、S302にて開始されたハンドオーバ処理が完了する前にOKボタンに対する操作が行われた場合には、その後に、ハンドオーバ処理が完了したことを条件として、印刷処理(S316)が実行される。
印刷処理(S316)において、CPU11は、印刷用データと印刷指示とを、ハンドオーバ処理により確立されたWIDI通信により、MFP100に送信する。印刷処理(S316)の結果として、MFP100は、印刷機能を用いて、受信した印刷用データに応じた印刷を実行する。
本実施形態では、印刷対象ファイル、または、変換サーバ200にて印刷対象ファイルから変換された画像ファイルと、現在のNFC印刷設定とを、印刷用データとしてMFP100に送信する。なお、印刷対象ファイル、または、変換サーバ200にて印刷対象ファイルから変換された画像ファイルと、現在のNFC印刷設定とから、印刷用データを生成し、生成された印刷用データをMFP100に送信する構成としてもよい。
印刷処理(S316)にてMFP100に送信される「現在のNFC印刷設定」は、アプリ用記憶領域12cに記憶されるNFC印刷の印刷設定に、S307またはS322にてRAM13に記憶された変更後の設定値を反映させたものである。なお、印刷処理(S316)にてMFP100に送信した設定は、前回のNFC印刷にて使用した印刷設定として、アプリ用記憶領域12cに記憶される。
S310において、ハンドオーバ処理が完了したとCPU11が判断した場合(S310:Yes)、CPU11は、処理をS315に移行する。よって、プリントボタンに対する操作が行われた場合、CPU11はS310の判断を肯定するので、プリントボタンに対する操作をトリガとして印刷処理(S316)が実行される。
S303の判断をCPU11が肯定した場合、すなわち、現在のNFC印刷設定を利用できる場合(S303:Yes)、CPU11は、S318と同様に、ハンドオーバ処理が完了したかを判断する(S317)。CPU11は、ハンドオーバ処理が完了するまで、S317の判断を繰り返す(S317:No)。
そして、ハンドオーバ処理が完了したとCPU11が判断した場合(S317:Yes)、CPU11は、処理をS315に移行する。よって、S303,S317の処理によれば、現在のNFC印刷設定を利用できる場合には、設定画面は表示されない。よって、設定変更を行う必要がないにもかかわらず、設定画面が表示されたことにより、誤った設定に変更されることを防止できる。
S309において、変換サーバ200での変換を要すると、CPU11が判断した場合(S309:Yes)、MFP100とのNFC通信が可能であるかを判断する(S323)。当該判断は、例えば、CPU11が、通信確認用のデータをNFC通信によって送信し、その返信を受信した場合に、NFC通信が可能であるとして肯定される。
CPU11がS323の処理を否定した場合、すなわち、MFP100とNFC通信を行うことができない場合(S323:No)、CPU11は、S318と同様に、ハンドオーバ処理が完了したかを判断する(S324)。CPU11は、ハンドオーバ処理が完了するまで、S324の判断を繰り返す(S324:No)。そして、ハンドオーバ処理が完了したとCPU11が判断した場合(S324:Yes)、CPU11は、処理をS325に移行する。
一方、CPU11がS323の処理を肯定した場合、すなわち、MFP100とNFC通信が可能である場合(S323:Yes)、CPU11は、ハンドオーバ処理の状況とは無関係に、処理をS325に移行する。つまり、ハンドオーバ処理が完了していなくても、CPU11は、処理をS325に移行する。
S325において、CPU11は、WIDI通信をキャンセルする指示をMFP100に送信する。より詳細には、CPU11がS323の処理を肯定した場合には、CPU11は、NFC通信により、上記指示をMFP100に送信する。一方、CPU11がS323の処理を否定した場合には、CPU11は、ハンドオーバ処理により確立されたWIDI通信により、上記指示をMFP100に送信する。S325の処理の結果、MFP100は、端末10とのWIDI通信をキャンセルする。
MFP100が同時期にWIDI通信できる装置の数には上限数が設けられている場合が多い。変換サーバ200での変換にはある程度(例えば、数分程度)の時間がかかるので、その間、端末10とMFP100との間のWIDI通信を接続したままにしておくと、他の装置がMFP100とWIDI通信できなくなる状況が生じ得る。これに対し、S309,S323〜S325の処理によれば、設定の変更に伴い、変換サーバ200での変換を要する場合には、通信相手のMFP100に対し、WIDI通信をキャンセルする指示が送信される。よって、端末10が、MFP100にて同時期に接続可能な装置の数を無駄に消費することを抑制できる。
特に、端末10がMFP100とNFC通信できる場合には、NFC通信を用いて、WIDI通信をキャンセルする指示が送信されるので、ハンドオーバ処理の状況にかかわらず、早い段階でWIDI通信をキャンセルできる。一方で、端末10がMFP100とNFC通信できない場合には、実行中のハンドオーバ処理が完了するのを待って、当該ハンドオーバ処理により確立されたWIDI通信を用いて、WIDI通信をキャンセルする指示が送信される。よって、端末10がNFC印刷のトリガとしてのNFC通信を確立させた後、端末10をMFP100から離してしまった等、端末10とMFP100との間でNFC通信を行うことができない状況が生じた場合であっても、上記指示をMFP100に送信できる。
CPU11は、S325の処理後、LCD16に表示する画面を、エラー画面に切り替え(S326)、本処理を終了する。エラー画面は、変換サーバ200での変換の完了後に再度MFP100とのNFC通信の確立を行うよう促す画面である。よって、その後にどうすべきであるかを報せることができる。
本実施形態によれば、端末10とMFP100との間でNFC通信が確立されたことに基づいて開始されるハンドオーバ処理の期間中に、設定画面が表示されるので、当該期間中を利用して、NFC印刷設定を適宜変更することができる。よって、NFC印刷において、端末10から送信した印刷設定がMFP100で利用できず、エラーが発生する事象を好適に抑制できる。また、ハンドオーバ処理の期間中に設定画面が表示されるので、当該期間中にNFC印刷設定を適切な値に設定できる。よって、ハンドオーバ処理が完了後、適切に設定されたNFC印刷設定を用いたNFC印刷を迅速に実行できる。
特に、設定画面として、現在のNFC印刷設定のうち、MFP100にて利用できない設定を変更させるための画面が表示されるので、どの設定を変更させるべきかを把握させ易い。また、MFP100にて利用できない設定値を適切な設定値に変更できる。よって、印刷設定に基づくエラーの発生を好適に抑制できる。
また、ハンドオーバ処理の完了前には、設定画面にはOKボタンが表示される一方で、ハンドオーバ処理の完了後には、設定画面にはプリントボタンが表示される。つまり、ハンドオーバ処理の完了前後にて、設定画面に表示される、設定画面における設定を確定させるためのボタンの態様が異なる。よって、設定画面に表示されたボタンの態様に応じて、ハンドオーバ処理の状況を報せることができる。つまり、OKボタンが表示されている場合には、ハンドオーバ処理が未だ行われていることを報せることができる。一方で、プリントボタンが表示されている場合には、ハンドオーバ処理が完了しており、印刷処理の実行待ちであることを報せることができる。
上記実施形態において、アプリ12bが、情報処理プログラムの一例である。端末10が、情報処理装置の一例である。MFP100が、外部装置の一例である。変換サーバ200が、第2の外部装置の一例である。近距離通信部22が、第1通信部の一例である。無線通信部23が、第2通信部の一例である。LCD16が、表示部の一例である。RAM13,フラッシュメモリ12が記憶部の一例である。CPU11が、制御部の一例である。NFC通信が、第1無線通信の一例である。WIDI通信が、第2無線通信の一例である。SSIDが、無線情報の一例である。ハンドオーバ処理が、通信確立処理の一例である。設定画面60が、設定画面の一例である。印刷指示が、所定の処理の実行指示の一例である。モデル情報が、外部装置に設定可能な設定値を特定する情報の一例である。OKボタン62が、第1操作子の一例である。プリントボタン63が、第2操作子の一例である。キャンセルボタン71が、第3操作子の一例である。
S302の処理を実行するCPU11が、通信制御手段の一例である。S304,S305の処理を実行するCPU11が、第1表示手段の一例である。S306,S321の処理を実行するCPU11が、受付手段の一例である。S316の処理を実行するCPU11が、第1指示出力手段の一例である。S301の処理を実行するCPU11が、取得手段の一例である。S303の処理を実行するCPU11が、第1判断手段の一例である。S309の処理を実行するCPU11が、第2判断手段の一例である。S325の処理を実行するCPU11が、第2指示出力手段の一例である。S323の処理を実行するCPU11が、第3判断手段の一例である。S319の処理を実行するCPU11が、第2表示手段の一例である。S313の処理を実行するCPU11が、第3表示手段の一例である。
以上、実施形態に基づき本発明を説明したが、本発明は上述した実施形態に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の改良変更が可能であることは容易に推察できるものである。
例えば、上記実施形態では、アプリ12bが搭載される情報処理装置として、スマートフォンなどの端末10を例示したが、近距離通信部22および無線通信部23に相当する構成を有する装置であれば、種々の装置を情報処理装置として採用できる。例えば、タブレット端末や、ノート型のパーソナルコンピュータや、デジタルカメラや、音楽再生装置などの装置が、近距離通信部22および無線通信部23に相当する構成を有する場合、これらの各装置を、アプリ12bを搭載するための情報処理装置として採用できる。
上記実施形態では、端末10のOS12aがアンドロイドOSであるものとして説明したが、他のOSを採用する構成としてもよい。上記実施形態では、近距離無線通信として、NFC通信を例示したが、TransferJet(登録商標)など、他の規格に従う非接触通信を採用する構成としてもよい。
上記各実施形態では、外部装置として、印刷機能などの複数の機能を有するMFP100を例示したが、印刷機能のみを有するプリンタであっても、外部装置として採用できる。また、上記実施形態では、端末10がMFP100の印刷機能を利用する場合に、本発明を適用する構成としたが、MFP100が有する印刷機能以外の機能を利用する場合であっても、本発明を適用できる。例えば、NFC通信の確立をトリガとして、端末10が、スキャンの実行指示を送信することにより、MFP100のスキャン機能を利用する場合に、本発明を適用してもよい。
上記実施形態では、NFC通信の確立をトリガとして、端末10とMFP100との間でWIDI通信を確立するためのハンドオーバ処理の期間中に設定画面を表示する構成とした。これに代えて、NFC通信の確立をトリガとして、端末10とMFP100との間で、AP50を介するWi−Fi通信を確立する構成において、当該Wi−Fi通信を確立する処理の期間中に設定画面を表示する構成としてもよい。かかる変形例では、端末10とMFP100との間で、AP50を介するWi−Fi通信を確立する処理が「通信確立処理」の一例となる。
上記実施形態では、設定画面として、現在のNFC印刷設定のうち、MFP100にて利用できない設定を変更させるための画面が表示される構成とした。これに代えて、MFP100にて利用できない設定だけでなく、全てのNFC印刷設定を設定可能な画面を設定画面として表示する構成としてもよい。かかる構成によれば、印刷部数などをハンドオーバ処理の期間中に変更できる。
上記実施形態のNFC印刷処理(図3)におけるS301では、端末10がMFP100からSSIDとパスワードとを取得する構成とした。これに代えて、端末10がSSIDとパスワードとを生成し、MFP100に送信する構成としてもよい。なお、かかる変形例において、端末10が生成したSSIDはRAM13に記憶される。
上記実施形態では、OKボタンが操作されることなく、ハンドオーバ処理が完了したことにより、プリントボタンが表示された後、設定変更を受け付けることができるよう構成した。これに代えて、プリントボタンが表示された後は、設定変更を受け付けられないように構成してもよい。かかる変形例では、OKボタンが操作されることなく、ハンドオーバ処理が完了した場合に、設定変更がおこなわれていることを条件として、CPU11がS319の処理を実行し、S321,S322の処理を省略すればよい。
上記実施形態では、S301にて取得したモデル情報に基づいて、MFP100の能力を示す情報を取得する構成とした。これに代えて、通信相手のMFP100から能力を示す情報を取得する構成としてもよい。かかる変形例では、MFP100の能力を示す情報が「外部装置に設定可能な設定値を特定する情報」の一例となる。
上記実施形態では、設定の変更に伴い、変換サーバ200での変換を要する場合には、WIDI通信をキャンセルする指示をMFP100に送信する構成とした。当該指示をMFP100に送信する条件としては、設定の変更に伴い、外部装置との通信を要するものであれば、適宜の条件を採用できる。
上記実施形態では、CPU11が、通信確認用のデータをNFC通信によって送信し、その返信を受信した場合に、S323の判断を肯定する構成とした。これに代えて、端末10がMFP100に再度近づけられ、両装置のNFC通信が確立された場合に、CPU11は、S323の判断を肯定する構成としてもよい。かかる変形例では、CPU11がS309の判断を肯定した場合に、NFC通信の再接続を促すメッセージを表示する構成としてもよい。
上記実施形態では、CPU11が、図3に記載される各処理を実行する構成として説明したが、図3に記載される各処理を、複数のCPUが協同的に実行する構成としてもよい。また、ASICなどのICが、単独で、または、複数によって協働的に、図3に記載される各処理を実行する構成してもよい。また、CPU11とASICなどのICとが協同して、図3に記載される各処理を実行する構成してもよい。また、上記実施形態により説明した各特徴や、上述した各変形例を適宜組み合わせて実施する構成としてもよい。