(57)【要約】【課題】プリンターとの間で通信エラーが発生している期間を短縮できるようにすることを目的とする。【解決手段】プリンターに接続可能なタブレット端末の端末プロセッサーにより実行されるプリンター用アプリであって、端末プロセッサーに、ブラウザーアプリから、ＵＲＬスキームにより構成された情報で、プリンターとの通信エラーが発生した場合の処理が指定された受信ＵＲＬスキーム情報を取得させ、プリンターとの間で通信エラーが発生した場合、受信ＵＲＬスキーム情報に基づいてプリンターの再選択処理を実行させる。【選択図】図３
2019117531.tif 000002
【特許請求の範囲】
【請求項１】
プリンターに接続可能な端末のプロセッサーにより実行されるプリンター用プログラムであって、
前記プロセッサーに、
上位プログラムから、ＵＲＬスキームにより構成された情報であって、前記プリンターとの通信エラーが発生した場合の処理が指定された第１情報を取得させ、
前記プリンターとの間で通信エラーが発生した場合、前記第１情報に基づいて前記プリンターの再選択処理を実行させる、
プリンター用プログラム。
【請求項２】
前記プロセッサーに、
前記プリンターとの通信エラーが発生した場合、前記上位プログラムへ通信エラーの発生を通知させず、
前記再選択処理を実行して前記プリンターとの通信に成功した場合、通信成功を前記上位プログラムに通知させる、
請求項１に記載のプリンター用プログラム。
【請求項３】
前記端末は、表示部を備え、
前記プロセッサーに、
前記プリンターとの間で通信エラーが発生した場合、前記再選択処理用の画面である再選択用画面を前記表示部に表示させ、
前記再選択処理を実行させて前記プリンターとの通信に成功した場合、前記表示部の表示を、前記再選択用画面から前記上位プログラムを示す上位プログラム画面へ遷移させる、
請求項２に記載のプリンター用プログラム。
【請求項４】
前記第１情報は、前記プリンターを指定する印刷先情報、印刷情報、再選択処理情報を含み、
前記プロセッサーに、
前記印刷先情報が指定する前記プリンターに前記印刷情報を送信させる準備をさせ、
前記プリンターとの間で通信エラーが発生した場合、前記再選択処理情報に基づいて前記再選択処理を実行させ、通信エラーが発生した前記プリンターを前記再選択処理で選択された前記プリンターに変更して前記印刷情報を送信させる、
請求項１から３のいずれか一項に記載のプリンター用プログラム。
【請求項５】
前記再選択用画面は、前記プリンターを示すプリンター情報を選択可能に表示し、
前記プリンター情報は、コマンドをブロードキャストして取得した情報、又は、オペレーティングシステムから取得した情報である、
請求項３に記載のプリンター用プログラム。
【請求項６】
プリンターと通信可能な通信部と、
上位プログラムとプリンター用プログラムを記憶する記憶部と、
前記記憶部から上位プログラムと前記プリンター用プログラムを読み出して実行する制御部と、を備え、
前記制御部は、
前記上位プログラムにより、ＵＲＬスキームにより構成されたもので、前記プリンターとの通信エラーが発生した場合の処理が指定された第１情報を生成して、前記プリンター用プログラムに送信し、
前記プリンター用プログラムにより、前記プリンターとの間で通信エラーが発生した場合、前記第１情報に基づいて前記プリンターの再選択処理を実行する、
端末。
【請求項７】
プリンターと通信可能な端末の制御方法であって、
上位プログラムとプリンター用プログラムを読み出して実行し、
前記上位プログラムにより、ＵＲＬスキームにより構成されたもので、前記プリンターとの通信エラーが発生した場合の処理が指定された第１情報を生成して、前記プリンター用プログラムに送信し、
前記プリンター用プログラムにより、前記プリンターとの間で通信エラーが発生した場合、前記第１情報に基づいて前記プリンターの再選択処理を実行する、
端末の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンター用プログラム、端末、及び、端末の制御方法に関する。
【背景技術】
【０００２】
従来、ＵＲＬスキームに構成された情報を取得し、取得した情報に基づいて処理を実行させるアプリケーションプログラムが知られている（例えば、特許文献１参照）。特許文献１では、使用中アプリから送信されるＵＲＬスキームを取得してプリンターに係る処理を実行させる印刷用アプリが、使用中アプリの表示画面から印刷用アプリの表示画面への切り替えが起きた際、使用中アプリの表示画面の画像を表示させ、使用中アプリから印刷用アプリへの切り替えに伴ってユーザーに与える違和感を抑制する技術を開示する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−１００８９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載のように、使用中アプリのような上位のプログラムから、印刷用アプリのような下位のプログラムを介してプリンターを制御する場合では、プリンターとの間で通信エラーが発生すると、下位のプログラムと上位のプログラムとの間でやり取りが多くなり、通信エラーが発生している期間が長期化してしまう場合があった。
そこで、本発明は、上述した事情に鑑みてなされたものであり、プリンターとの間で通信エラーが発生している期間を短縮できるようにすることを目的とする。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、本発明は、プリンターに接続可能な端末のプロセッサーにより実行されるプリンター用プログラムであって、前記プロセッサーに、上位プログラムから、ＵＲＬスキームにより構成された情報であって、前記プリンターとの通信エラーが発生した場合の処理が指定された第１情報を取得させ、前記プリンターとの間で通信エラーが発生した場合、前記第１情報に基づいて前記プリンターの再選択処理を実行させる。
本発明によれば、端末のプロセッサーに、プリンターとの間で通信エラーが発生した場合、第１情報に基づいてプリンターの再選択処理を実行させることで、上位プログラムとのやり取りを低減でき、プリンターとの間で通信エラーが発生している期間を短縮できる。
【０００６】
また、本発明は、前記プロセッサーに、前記プリンターとの通信エラーが発生した場合、前記上位プログラムへ通信エラーの発生を通知させず、前記再選択処理を実行して前記プリンターとの通信に成功した場合、通信成功を前記上位プログラムに通知させる。
本発明によれば、上位プログラムとのやり取りを必要最小限にすることができ、プリンターとの間で通信エラーが発生している期間をより短縮できる。
【０００７】
また、本発明は、前記端末は、表示部を備え、前記プロセッサーに、前記プリンターとの間で通信エラーが発生した場合、前記再選択処理用の画面である再選択用画面を前記表示部に表示させ、前記再選択処理を実行させて前記プリンターとの通信に成功した場合、前記表示部の表示を、前記再選択用画面から前記上位プログラムを示す上位プログラム画面へ遷移させる。
本発明によれば、プリンターとの間で通信エラーが発生した場合、再選択用画面を表示させ、再選択処理を実行させてプリンターとの通信に成功した場合、再選択用画面から上位プログラム画面へ遷移させるため、画面遷移の回数を必要最小限にすることができる。したがって、ユーザーに画面遷移による違和感を与えてしまうことを抑制できる。また、通信に成功した場合に画面遷移するため、ユーザーにプリンターと通信に成功したことを容易に認識させることができる。
【０００８】
また、本発明は、前記第１情報は、前記プリンターを指定する印刷先情報、印刷情報、再選択処理情報を含み、前記プロセッサーに、前記印刷先情報が指定する前記プリンターに前記印刷情報を送信させる準備をさせ、前記プリンターとの間で通信エラーが発生した場合、前記再選択処理情報に基づいて前記再選択処理を実行させ、通信エラーが発生した前記プリンターを前記再選択処理で選択された前記プリンターに変更して前記印刷情報を送信させる。
本発明によれば、印刷先情報が指定するプリンターとの間で通信エラーが発生した場合、再選択処理で選択されたプリンターに印刷先を変更して印刷情報を送信するため、再選択処理情報で選択されたプリンターで印刷情報に基づく印刷を速やかに実行できる。
【０００９】
また、本発明は、前記再選択用画面は、前記プリンターを示すプリンター情報を選択可能に表示し、前記プリンター情報は、コマンドをブロードキャストして取得した情報、又は、オペレーティングシステムから取得した情報である。
本発明によれば、コマンドをブロードキャストして取得した情報、又は、オペレーティングシステムから取得したプリンター情報を再選択画面が表示するため、再選択されたプリンターと確実に通信が成功できる。したがって、再選択処理を複数回実行することを防止でき、プリンターとの間で通信エラーが発生している期間をより短縮できる。
【００１０】
また、上記課題を解決するために、本発明の端末は、プリンターと通信可能な通信部と、上位プログラムとプリンター用プログラムを記憶する記憶部と、前記記憶部から上位プログラムと前記プリンター用プログラムを読み出して実行する制御部と、を備え、前記制御部は、前記上位プログラムにより、ＵＲＬスキームにより構成されたもので、前記プリンターとの通信エラーが発生した場合の処理が指定された第１情報を生成して、前記プリンター用プログラムに送信し、前記プリンター用プログラムにより、前記プリンターとの間で通信エラーが発生した場合、前記第１情報に基づいて前記プリンターの再選択処理を実行する。
本発明によれば、端末のプロセッサーに、プリンターとの間で通信エラーが発生した場合、第１情報に基づいてプリンターの再選択処理を実行させることで、上位プログラムとのやり取りを低減でき、プリンターとの間で通信エラーが発生している期間を短縮できる。
【００１１】
また、上記課題を解決するために、本発明は、プリンターと通信可能な端末の制御方法であって、上位プログラムとプリンター用プログラムを読み出して実行し、前記上位プログラムにより、ＵＲＬスキームにより構成されたもので、前記プリンターとの通信エラーが発生した場合の処理が指定された第１情報を生成して、前記プリンター用プログラムに送信し、前記プリンター用プログラムにより、前記プリンターとの間で通信エラーが発生した場合、前記第１情報に基づいて前記プリンターの再選択処理を実行する。
本発明によれば、端末のプロセッサーに、プリンターとの間で通信エラーが発生した場合、第１情報に基づいてプリンターの再選択処理を実行させることで、上位プログラムとのやり取りを低減でき、プリンターとの間で通信エラーが発生している期間を短縮できる。
【図面の簡単な説明】
【００１２】
【図１】印刷システムの構成を示す図。
【図２】印刷装置制御部、及び、印刷装置記憶部の機能ブロック図。
【図３】端末制御部、及び、端末記憶部の機能ブロック図。
【図４】画面遷移を説明するための図。
【図５】タブレット端末、及び、プリンターの動作を示すフローチャート。
【図６】タッチパネルの表示画面の表示態様の一例を示す図。
【図７】タッチパネルの表示画面の表示態様の一例を示す図。
【図８】タッチパネルの表示画面の表示態様の一例を示す図。
【図９】タッチパネルの表示画面の表示態様の一例を示す図。
【図１０】印刷アプリ実行部の動作を示すフローチャート。
【図１１】タッチパネルの表示画面の表示態様の一例を示す図。
【発明を実施するための形態】
【００１３】
図１は、印刷システム１の構成を示す図である。
【００１４】
図１に示すように、印刷システム１は、プリンター２と、タブレット端末３（端末）とを備える。印刷システム１は、ショッピングセンターや、コンビニエンスストア、車内販売等の小売業や、レストランや、喫茶店、居酒屋等の飲食業等の業務で利用されるＰＯＳシステムである。ＰＯＳシステムとは、顧客が購入した商品に応じて会計を行う機能や、会計に応じてレシートを発行する機能等を有するシステムである。
【００１５】
プリンター２は、ロール紙を収容し、収容したロール紙にライン型のサーマルヘッド２６１でドットを形成して文字や画像等を印刷するサーマルプリンターである。なお、本実施形態に係るプリンター２の印刷方式はサーマル方式であるが、プリンター２の印刷方式は、サーマル方式に限らず、インクジェット方式等の他の印刷方式でもよい。また、プリンター２の印刷ヘッドは、ライン型に限らず、シリアル型でもよい。
【００１６】
プリンター２は、印刷装置プロセッサー２０、印刷装置不揮発性記憶部２１、印刷装置メモリー２２、印刷装置近距離無線通信部２３、印刷装置入力部２４、印刷装置表示部２５、及び、印刷部２６を備える。
【００１７】
印刷装置プロセッサー２０は、プリンター２の各部を制御するプロセッサーである。印刷装置プロセッサー２０は、印刷装置不揮発性記憶部２１、印刷装置メモリー２２、印刷装置近距離無線通信部２３、印刷装置入力部２４、印刷装置表示部２５、印刷部２６、及び、デバイス通信部２７と接続する。印刷装置プロセッサー２０は、これら各部とデータや信号を送受信することにより、プリンター２の各部を制御する。
【００１８】
印刷装置不揮発性記憶部２１は、フラッシュメモリーや、ＥＥＰＲＯＭ（Electrically Erasable Programmable Read Only Memory）等により構成され、印刷装置プロセッサー２０が読み出して実行するプログラムや、印刷装置プロセッサー２０がプログラムを読み出して実行して処理する各種データを記憶する。
【００１９】
印刷装置メモリー２２は、印刷装置プロセッサー２０がプログラムを実行する場合に、実行されるプログラム、及び、処理されるデータを一時的に記憶するワークエリアを構成する。
【００２０】
印刷装置近距離無線通信部２３は、印刷装置プロセッサー２０の制御で、例えばＢｌｕｅｔｏｏｔｈ（登録商標）等の所定の近距離無線通信に係る通信規格に従って、タブレット端末３と通信する回路で構成された基板を備える。
【００２１】
印刷装置入力部２４は、プリンター２に設けられた操作スイッチや、タッチパネル等の入力手段を備え、ユーザーの入力手段に対する操作を検出し、印刷装置プロセッサー２０に出力する。印刷装置プロセッサー２０は、印刷装置入力部２４からの入力に基づいて、入力手段に対する操作に対応する処理を実行する。
【００２２】
印刷装置表示部２５は、複数のＬＥＤや、表示パネル等を備え、印刷装置プロセッサー２０の制御で、ＬＥＤを所定の態様で点灯／消灯／点滅や、表示パネルへの情報の表示等を実行する。
【００２３】
印刷部２６は、印刷装置プロセッサー２０の制御に従って、タブレット端末３から受信する制御コマンドに基づいて印刷を実行する。制御コマンドは、ロール紙への文字や画像等の印刷を指示するコマンドであり、文字コードや文字コードを印刷するためのコマンド等を含む。この制御コマンドは、プリンター２が対応するコマンド体系のコマンドである。印刷部２６は、サーマルヘッド２６１と、ヘッド駆動部２６３と、搬送モーター２６４と、カッター駆動モーター２６５と、カッター２６６とを備える。
【００２４】
サーマルヘッド２６１は、抵抗体から構成される発熱素子２６２をロール紙の搬送方向と交差（例えば直交）する交差方向に複数配列して有する。サーマルヘッド２６１は、発熱素子２６２に通電することにより発熱させ、ロール紙の印刷面に熱を与えることによって、文字や画像等を印刷する。
【００２５】
ヘッド駆動部２６３は、印刷装置プロセッサー２０の制御で、サーマルヘッド２６１の発熱素子２６２に対する通電を制御する。
【００２６】
搬送モーター２６４は、印刷装置プロセッサー２０の制御で、搬送ローラー（不図示）を回転させ、ロール紙を搬送する。
【００２７】
カッター駆動モーター２６５は、印刷装置プロセッサー２０の制御で、カッター２６６を構成する可動刃（不図示）を固定刃（不図示）に向けてスライドするように駆動させ、ロール紙をカットする。
【００２８】
デバイス通信部２７は、ＵＳＢの規格に従ったポートや、ＵＳＢ以外のシリアル通信規格（ＲＳ２３２Ｃ等）に従ったポート、パラレル通信規格（ＩＥＥＥ１２８４等）に従ったポート、有線ＬＡＮに係る通信規格（イーサネット（登録商標）等）に従ったポート、その他ポートを有する回路で構成されたインターフェースボードを備える。各ポートには、デバイスが接続可能である。デバイス通信部２７は、印刷装置プロセッサー２０の制御で、ポートを介してプリンター２に接続されたデバイスと通信する。
【００２９】
プリンター２には、接続する外部デバイスとして、カスタマーディスプレー４１、バーコードリーダー４２、及び、ドロワー４３が接続される。
【００３０】
カスタマーディスプレー４１は、印刷装置プロセッサー２０の制御で、会計に関する情報を表示する。カスタマーディスプレー４１に表示された情報は、レジカウンターで会計を行う顧客が視認できる。
バーコードリーダー４２は、商品や、商品の包装等に付されたバーコードを読み取り、読取結果を示すデータをデバイス通信部２７に出力する。デバイス通信部２７は、バーコードリーダー４２から入力されたデータを、印刷装置プロセッサー２０に出力する。
【００３１】
ドロワー４３は、現金等を収容するトレイ、及び、トレイをドロワー４３の本体に対して引き出し可能な機構を備える装置である。
【００３２】
図２は、プリンター２の制御系を構成する印刷装置制御部２００、及び、印刷装置記憶部２１０の機能ブロック図である。
【００３３】
図２に示す印刷装置記憶部２１０は、印刷装置不揮発性記憶部２１、及び／又は、印刷装置メモリー２２により構成される論理的な記憶部である。印刷装置制御部２００、及び、印刷装置制御部２００が有する各機能部は、印刷装置プロセッサー２０がプログラムを実行することによって、ソフトウェアとハードウェアとの協働により形成される。印刷装置制御部２００、及び、印刷装置制御部２００が有する各機能部は、例えば、印刷装置プロセッサー２０、印刷装置不揮発性記憶部２１、及び、印刷装置メモリー２２により構成される。
【００３４】
印刷装置制御部２００は、印刷制御部２０１と、通信制御部２０２との機能を有する。
【００３５】
印刷制御部２０１は、印刷部２６を制御して、タブレット端末３から送信される制御コマンドに基づく印刷を印刷部２６に実行させる。なお、ここでの印刷には、ロール紙の搬送、及び、ロール紙のカットを含む。
【００３６】
通信制御部２０２は、印刷装置近距離無線通信部２３を制御して、タブレット端末３との通信を印刷装置近距離無線通信部２３に実行させる。
【００３７】
次に、タブレット端末３について説明する。
タブレット端末３は、例えば、前面の広い領域にタッチパネル３４が設けられたタブレット型の（板状の）端末装置である。タブレット端末３は、会計に際し、会計に関する各種処理を実行してプリンター２を制御するホストコンピューターとして機能する。
【００３８】
タブレット端末３は、端末プロセッサー３０（プロセッサー）、端末不揮発性記憶部３１、端末メモリー３２、端末近距離無線通信部３３（通信部）、タッチパネル３４（表示部）、スイッチ部３５、及び、ネットワーク通信部３６を備える。
【００３９】
端末プロセッサー３０は、タブレット端末３の各部を制御するプロセッサーである。端末プロセッサー３０は、端末不揮発性記憶部３１、端末メモリー３２、端末近距離無線通信部３３、タッチパネル３４、スイッチ部３５、及び、ネットワーク通信部３６と接続する。端末プロセッサー３０は、これら各部とデータや信号を送受信することにより、タブレット端末３の各部を制御する。
【００４０】
端末不揮発性記憶部３１は、フラッシュメモリーや、ＥＥＰＲＯＭ（Electrically Erasable Programmable Read Only Memory）等により構成され、端末プロセッサー３０が読み出して実行するプログラムや、端末プロセッサー３０がプログラムを読み出して実行して処理する各種データを記憶する。
【００４１】
端末メモリー３２は、端末プロセッサー３０がプログラムを実行する場合に、実行されるプログラム、及び、処理されるデータを一時的に記憶するワークエリアを構成する。
【００４２】
端末近距離無線通信部３３は、端末プロセッサー３０の制御で、例えばＢｌｕｅｔｏｏｔｈ等の所定の近距離無線通信に係る通信規格に従って、プリンター２と通信する回路で構成された基板を備える。
【００４３】
タッチパネル３４は、液晶表示パネル等の表示パネルと、表示パネルに重ねて、或いは一体に設けられたタッチセンサーとを備える。表示パネルは、端末プロセッサー３０の制御で、各種画像や、各種画面等を表示する。タッチセンサーは、タッチ操作を検出し、端末プロセッサー３０に出力する。端末プロセッサー３０は、タッチセンサーからの入力に基づいて、タッチ操作に対応する処理を実行する。
【００４４】
スイッチ部３５は、スイッチ等の筐体に設けられた操作子を備え、これらのスイッチが操作された場合に操作信号を端末プロセッサー３０に出力する。端末プロセッサー３０は、スイッチ部３５から入力された操作信号に基づいて、操作された操作子に対応する処理を実行する。
【００４５】
ネットワーク通信部３６は、端末プロセッサー３０の制御で、グローバルネットワークＧＮと接続する機器（Ｗｅｂサーバー等）と所定の通信規格に従って通信する。ネットワーク通信部３６が通信に用いる通信規格は、ＨＴＴＰや、ＷｅｂＳｏｃｋｅｔ等、どのような規格でもよい。
【００４６】
図２は、タブレット端末３の制御系を構成する端末制御部３００（制御部）、及び、端末記憶部３１０（記憶部）の機能ブロック図である。
【００４７】
図２に示す端末記憶部３１０は、端末不揮発性記憶部３１、及び／又は、端末メモリー３２により構成される論理的な記憶部である。端末制御部３００、及び、端末制御部３００が有する各機能部は、端末プロセッサー３０がプログラムを読み出して実行することによって、ソフトウェアとハードウェアとの協働により形成される。端末制御部３００、及び、端末制御部３００が有する各機能部は、例えば、端末プロセッサー３０、端末メモリー３２、及び、端末不揮発性記憶部３１により構成される。
【００４８】
端末記憶部３１０は、ブラウザーアプリケーションプログラム（以下、「ブラウザーアプリ」と表現する）３１１（上位プログラム）と、プリンター用アプリケーションプログラム（以下、「プリンター用アプリ」と表現する）３１２（プリンター用プログラム）とを記憶する。
【００４９】
ブラウザーアプリ３１１は、端末制御部３００が後述するブラウザー実行部３０２として機能するためのアプリケーションプログラムである。ブラウザーアプリ３１１は、予めタブレット端末３にインストールされる。
【００５０】
プリンター用アプリ３１２は、端末制御部３００が後述する印刷アプリ実行部３０３として機能するためのアプリケーションプログラムである。プリンター用アプリ３１２は、予めタブレット端末３にインストールされる。
【００５１】
端末制御部３００は、オペレーティングシステム（ＯＳ）３０１と、ブラウザー実行部３０２と、印刷アプリ実行部３０３との機能を有する。オペレーティングシステム３０１の機能は、端末記憶部３１０が記憶する制御プログラムの機能であり、その他の各部は、オペレーティングシステム３０１上で実行されるアプリケーションプログラムの機能である。
【００５２】
ブラウザー実行部３０２は、端末プロセッサー３０がブラウザーアプリ３１１を読み出して実行することによりブラウザーの機能を実現する機能部である。ブラウザー実行部３０２は、ブラウザーの機能により、ＨＴＭＬ等のマークアップ言語やスクリプト言語で記述されたウェブページを、グローバルネットワークＧＮと接続する所定のウェブサーバーからダウンロードする。ダウンロードされたウェブページのデータは、例えば端末記憶部３１０に記憶される。ブラウザー実行部３０２は、ブラウザーの機能により、ダウンロードされたウェブページのデータを読み込み、このウェブページを表示させる表示データを生成してタッチパネル３４により表示する。また、ブラウザー実行部３０２は、ウェブページに実装されたスクリプトの機能により、ＵＲＬスキームにより構成された情報（以下、ＵＲＬスキーム情報という）をプリンター用アプリ３１２に送信する。
【００５３】
印刷アプリ実行部３０３は、端末プロセッサー３０がプリンター用アプリ３１２を読み出して実行することにより、ブラウザー実行部３０２とプリンター２とを中継する機能部である。印刷アプリ実行部３０３は、ブラウザー実行部３０２から送信された所定の形式（例えば、ＸＭＬ（Extensible Markup Language）形式）の印刷データを受信すると、受信した印刷データをプリンター２に対応するコマンド体系の制御コマンドに変換する。この制御コマンドには、印刷データに基づく文字コードや文字コードを印刷するためのコマンド等が含まれる。また、印刷アプリ実行部３０３は、ブラウザーアプリ３１１とＵＲＬスキーム情報を送受信する。
【００５４】
ここで、ＵＲＬスキームとは、あるアプリケーションプログラムと、あるアプリケーションプログラムと異なる他のアプリケーションプログラムとの間で情報(データやコマンド等を含む)を送受信する機能の一種である。
【００５５】
ＵＲＬスキームは、例えば、「（アプリケーション名）：／／（アクション）？（パラメーター）（＆）・・・」に示す形式で記述される。「：／／」は、スキームを区切る区切り記号である。「：／／」の前段は、アプリケーションプログラムの名称であるアプリケーション名が記述される部分であり、「：／／」の後段は、前段で記述されたアプリケーション名のアプリケーションプログラムに対する命令が記述される命令部分である。
【００５６】
「（アプリケーション名）」には、アプリケーション名として、例えば、情報を送信する送信先のアプリケーションプログラムを識別する識別情報（例えば、ＩＤや名称等）が記述される。例えば、ブラウザーアプリ３１１からプリンター用アプリ３１２にデータを送信する場合、ブラウザーアプリ３１１は、上記形式の「（アプリケーション名）」に、プリンター用アプリ３１２を識別する識別情報を記述する。
「（アクション）」は、「：／／」の前段で指定されたアプリケーションプログラムに実行させる処理の識別名が記述される。例えば、印刷処理を実行させる場合、「（アクション）」には、「Ｐｒｉｎｔ」のような印刷処理の識別名が記述される。「（アクション）」は、ＵＲＬスキーム情報によっては記述が省略される。
「（パラメーター）」は、「：／／」の前段で指定されたアプリケーションプログラムに与えられるパラメーターであり、パラメーター項目と、パラメーター値とが対応付いて記述される。複数の「（パラメーター）」を記述する場合、「＆」を示す連結記号が用いられる。特に、ＵＳＬスキーム情報に「（アクション）」が記述される場合、「（パラメーター）」は、「（アクション）」で記述された処理において、「：／／」の前段で指定されたアプリケーションプログラムに与えられるパラメーターとなる。
【００５７】
例えば、ブラウザーアプリ３１１から印刷データをプリンター用アプリ３１２に送信する際、ブラウザーアプリ３１１は、以下のＵＲＬスキーム情報をプリンター用アプリに送信する。すなわち、ブラウザーアプリ３１１は、「（プリンター用アプリの識別情報）：／／（印刷処理を示す識別名）？（印刷データの種類項目を示すパラメーター項目＝種類を示すパラメーター値）＆（印刷データの項目を示すパラメーター項目＝印刷データを示すパラメーター値）」のＵＲＬスキーム情報を、プリンター用アプリ３１２に送信する。
【００５８】
このように、ブラウザー実行部３０２と印刷アプリ実行部３０３とは、ＵＲＬスキーム情報を送受信する。つまり、ブラウザーアプリ３１１とプリンター用アプリ３１２とは、ＵＲＬスキーム情報を送受信する。
【００５９】
ところで、あるアプリケーションプログラムと、あるアプリケーションプログラムと異なる他のアプリケーションプログラムとの間において、ＵＲＬスキーム情報の送受信が行われると、画面遷移が発生することが知られている。本実施形態において画面遷移とは、ある表示画面の状態から他の表示画面の状態に変化することを示す。
【００６０】
図４は、画面遷移を説明するための図である。
図４の説明では、ブラウザーアプリ３１１とプリンター用アプリ３１２との間においてＵＲＬスキーム情報の送受信が行われる場合を例示して説明する。
【００６１】
図４に示すように、タブレット端末３のタッチパネル３４は、ブラウザーアプリ３１１の画面を示すブラウザーアプリ画面３１１Ｇ（上位プログラム画面）をフォアグランドで表示し、プリンター用アプリ３１２の画面を示すプリンター用アプリ画面３１２Ｇをバックグランドで表示しているとする。なお、フォアグランドで表示とは、複数のアプリケーションプログラムの画面が表示されている状況において、動作がアクティブな状態となっているアプリケーションプログラムの画面を最前に表示することである。バックグランドで表示とは、複数のアプリケーションプログラムの画面が表示されている状況において、フォアグランドに表示される画面に重畳されて、或いは隠されて表示することである。
【００６２】
ここで、ブラウザーアプリ３１１からプリンター用アプリ３１２にＵＲＬスキーム情報が送信されると、ＵＲＬスキーム情報を受信したプリンター用アプリ３１２がアクティブな状態となる。これに伴って、図４に示すように、タッチパネル３４の表示画面３４０では、画面遷移が発生する。すなわち、タッチパネル３４は、プリンター用アプリ画面３１２Ｇをフォアグランドで表示し、ブラウザーアプリ画面３１１Ｇをバックグランドで表示する画面遷移が発生する。また、ここで、プリンター用アプリ３１２からブラウザーアプリ３１１にＵＲＬスキーム情報が送信されると、ＵＲＬスキーム情報を受信したブラウザーアプリ３１１がアクティブな状態となる。これに伴って、図４に示すように、タッチパネル３４の表示画面３４０では、ブラウザーアプリ画面３１１Ｇをフォアグランドで表示し、プリンター用アプリ画面３１２Ｇをバックグランドで表示する画面遷移が発生する。
【００６３】
プリンター用アプリ３１２は、端末プロセッサー３０により実行されることにより端末プロセッサー３０を印刷アプリ実行部３０３として機能させるアプリーションプログラムである。したがって、プリンター用アプリ３１２は、端末プロセッサー３０をブラウザー実行部３０２とプリンター２とを中継させる機能を実現するためのアプリケーションプログラムである。そのため、ブラウザーアプリ３１１は、プリンター２の制御の主体となるアプリケーションプログラムであり、プリンター用アプリ３１２に対して上位のアプリケーションプログラムである。印刷を実行する際は、ブラウザーアプリ３１１からプリンター用アプリ３１２にＵＲＬスキーム情報で印刷データが受け渡され、プリンター用アプリ３１２が制御コマンドに変換してプリンター２に送信する。ここで、タブレット端末３とプリンター２との間で通信エラーが発生すると、プリンター用アプリ３１２は、上位のブラウザーアプリ３１１に通知したり、通知に伴うブラウザーアプリ３１１からの指示を受信したりと、ブラウザーアプリ３１１とのやり取りが多くなる場合がある。なお、本実施形態において、通信エラーとは、プリンター２と通信接続不可を示すその結果、プリンター２との間で通信エラーが発生している期間が長期化する虞がある。また、上位のブラウザーアプリ３１１とのやり取りの増加に伴って、タッチパネル３４の表示画面３４０では、ブラウザーアプリ画面３１１Ｇとプリンター用アプリ画面３１２Ｇとの間でフォアグランドでの表示及びバックグランドでの表示を切り替える画面遷移が多く発生し、ユーザーに違和感を与えてしまう可能性があった。
【００６４】
そこで、本実施形態のプリンター用アプリ３１２は、端末プロセッサー３０を以下のように機能させる。
【００６５】
図５は、タブレット端末３、及び、プリンター２の動作を示すフローチャートであり、特に、ブラウザー実行部３０２、印刷アプリ実行部３０３、及び、プリンター２の動作を示すフローチャートである。図５において、フローチャートＦＡは、ブラウザー実行部３０２の動作を示し、フローチャートＦＢは、印刷アプリ実行部３０３の動作を示し、フローチャートＦＣは、プリンター２の動作を示す。
【００６６】
以下では、プリンター用アプリ３１２が受信するＵＲＬスキーム情報を、受信ＵＲＬスキーム情報（第１情報）と表現し、プリンター用アプリ３１２が送信するＵＲＬスキーム情報を、送信ＵＲＬスキーム情報と表現する。なお、ブラウザー実行部３０２と印刷アプリ実行部３０３とがＵＲＬスキーム情報を送受信することは、ブラウザーアプリ３１１とプリンター用アプリ３１２とがＵＲＬスキーム情報を送受信することに相当する。
【００６７】
図５に示す各フローチャートの開始時点では、ブラウザーアプリ画面３１１Ｇがフォアグランドで表示され、プリンター用アプリ画面３１２Ｇがバックグランドで表示されているものとする。
【００６８】
ブラウザー実行部３０２は、タッチパネル３４がフォアグランドで表示したブラウザーアプリ画面３１１Ｇが示すウェブページに対するユーザーの操作を監視する。図５のフローチャートＦＡに示すように、ブラウザー実行部３０２は、ユーザーから印刷指示が入力されると（ステップＳＺ１）、印刷データに基づく印刷をプリンター２が実行するための受信ＵＲＬスキーム情報を生成する（ステップＳＡ１）。例えば、ブラウザー実行部３０２は、以下の受信ＵＲＬスキーム情報を生成する。
【００６９】
受信ＵＲＬスキーム情報：「（プリンター用アプリ３１２の識別情報）：／／（印刷処理を示す識別名）？（印刷データの種類項目を示すパラメーター項目＝種類を示すパラメーター値）＆（印刷データの項目を示すパラメーター項目＝印刷データを示すパラメーター値）＆（印刷先の項目を示すパラメーター項目＝プリンター２の識別情報を示すパラメーター値）＆（再選択処理の項目を示すパラメーター項目＝有効を示すパラメーター値）」。
「（印刷データの項目を示すパラメーター項目＝印刷データを示すパラメーター値）」は、ＵＲＬスキーム情報において印刷データに係るパラメーターである。このパラメーターに含まれる印刷データを示すパラメーター値が、本発明の印刷情報に相当する。
「（印刷先の項目を示すパラメーター項目＝プリンター２の識別情報を示すパラメーター値）」は、ＵＲＬスキーム情報において印刷先に係るパラメーターであり、本発明の印刷先情報に相当する。このパラメーターに含まれるパラメーター値は、印刷データに基づく印刷を実行するプリンター２を識別する識別情報であり、ＩＰアドレスや、マックアドレス、製造時に一意に割り当てられるシリアル番号等である。このパラメーターには、過去にタブレット端末３と通信したプリンター２の識別情報や、タブレット端末３と対応付くプリンター２の識別情報等が選択的あるいは一意に記述される。
「（再選択処理の項目を示すパラメーター項目＝有効を示すパラメーター値）」は、ＵＲＬスキーム情報において再選択処理の実行に係るパラメーターであり、本発明の再選択処理情報に相当する。後に詳述するが、再選択処理とは、印刷先に係るパラメーターが示すプリンター２と通信エラーが発生した場合の処理であり、印刷を実行させるプリンター２を再選択する処理である。
【００７０】
ブラウザー実行部３０２は、受信ＵＲＬスキーム情報を生成すると、印刷アプリ実行部３０３に送信する（ステップＳＡ２）。
【００７１】
次いで、図５のフローチャートＦＢに示すように、印刷アプリ実行部３０３は、ブラウザー実行部３０２から受信ＵＲＬスキーム情報を受信する（ステップＳＢ１）。なお、印刷アプリ実行部３０３がブラウザー実行部３０２から受信ＵＲＬスキーム情報を受信することは、プリンター用アプリ３１２がブラウザーアプリ３１１から受信ＵＲＬスキーム情報を受信することに相当する。また、受信ＵＲＬスキーム情報を受信することは、受信ＵＲＬスキーム情報を取得することに相当する。
【００７２】
印刷アプリ実行部３０３がブラウザー実行部３０２からＵＲＬスキーム情報を受信すると、タッチパネル３４の表示画面３４０では、ブラウザーアプリ画面３１１Ｇをバックグランドで表示し、プリンター用アプリ画面３１２Ｇをフォアグランドで表示する画面遷移が発生する。
【００７３】
図６は、タッチパネル３４の表示画面３４０の表示態様の一例を示す図である。
図６は、印刷アプリ実行部３０３がブラウザー実行部３０２からＵＲＬスキーム情報を受信した場合におけるタッチパネル３４の表示画面３４０の表示態様を示している。
【００７４】
図６に示すように、タッチパネル３４の表示画面３４０は、プリンター用アプリ画面３１２Ｇをフォアグランドで表示し、ブラウザーアプリ画面３１１Ｇをバックグランドで表示している。そして、フォアグランドで表示されているプリンター用アプリ画面３１２Ｇは、印刷を実行していることを示す情報Ｊ１を表示している。
【００７５】
図５のフローチャートＦＢの説明に戻り、印刷アプリ実行部３０３は、受信ＵＲＬスキーム情報を受信すると、受信ＵＲＬスキーム情報に基づいて、プリンター２が対応可能（解釈し実行可能）なコマンド体系の制御コマンドを生成する（ステップＳＢ２）。この制御コマンドには、受信ＵＲＬスキーム情報に含まれる印刷データに基づいた、文字コードや文字コードを印刷するためのコマンド等が含まれる。
【００７６】
例えば、受信ＵＲＬスキーム情報：（プリンター用アプリ３１２の識別情報）：／／（印刷処理を示す識別名）？（印刷データの種類の項目を示すパラメーター項目＝種類を示すパラメーター値）＆（印刷データの項目を示すパラメーター項目＝印刷データを示すパラメーター値）」を印刷アプリ実行部３０３が受信したとする。この場合、印刷アプリ実行部３０３は、パラメーター値が示す印刷データに基づく印刷を実行するコマンドを含む制御コマンドを生成する。
【００７７】
次いで、印刷アプリ実行部３０３は、受信ＵＲＬスキーム情報に含まれる印刷先に係るパラメーターが示すプリンター２と通信接続が可能か否かを判別する（ステップＳＢ３）。通信接続が可能か否かの判別方法は、いずれの判別方法を採用できる。
【００７８】
印刷アプリ実行部３０３は、受信ＵＲＬスキーム情報に含まれる印刷先に係るパラメーターが示すプリンター２と通信接続が可能であると判別した場合（ステップＳＢ３：ＮＯ）、ステップＳＢ４の処理を実行する。すなわち、印刷アプリ実行部３０３は、当該プリンター２にステップＳＢ２で生成した制御コマンドを、端末近距離無線通信部３３により送信する（ステップＳＢ４）。
【００７９】
図５のフローチャートＦＣに示すように、プリンター２の印刷装置制御部２００の通信制御部２０２は、印刷装置近距離無線通信部２３により制御コマンドを受信する（ステップＳＣ１）。次いで、印刷装置制御部２００の印刷制御部２０１は、制御コマンドに基づいて、印刷部２６により印刷を実行する（ステップＳＣ２）。
【００８０】
次いで、印刷制御部２０１は、印刷部２６により受信した制御コマンドに基づく印刷に、成功したか失敗したかを判別する（ステップＳＣ３）。例えば、印刷制御部２０１は、印刷実行中にロール紙切れを示す情報を取得した場合、印刷に失敗したと判別する（ステップＳＣ３：「印刷失敗」）。また、例えば、印刷制御部２０１は、印刷実行時にロール紙を収容する収容部を覆うカバーが開状態である場合、印刷に失敗したと判別する（ステップＳＣ３：「印刷失敗」）。また、例えば、印刷制御部２０１は、印刷実行中に、上記のようなエラーが発生しなかった場合、印刷に成功したと判別する（ステップＳＣ３：「印刷成功」）。
【００８１】
印刷制御部２０１が印刷に成功したと判別した場合（ステップＳＣ３：「印刷成功」）、通信制御部２０２は、タブレット端末３に印刷成功を通知する（ステップＳＣ４）。すなわち、通信制御部２０２は、印刷装置近距離無線通信部２３により印刷成功を示す情報をタブレット端末３に送信する。
【００８２】
図５のフローチャートＢに示すように、印刷アプリ実行部３０３は、端末近距離無線通信部により印刷成功を示す情報を受信する（ステップＳＢ５）。次いで、ステップＳＢ５で受信した情報に基づいて、印刷アプリ実行部３０３は、プリンター２が印刷に成功したか失敗したかを判別する（ステップＳＢ６）。ステップＳＢ５において印刷成功を示す情報を受信した場合、印刷アプリ実行部３０３は、プリンター２が印刷に成功したと判別する（ステップＳＢ６：「印刷成功」）。一方で、ステップＳＢ５において印刷失敗を示す情報を受信した場合、印刷アプリ実行部３０３は、プリンター２が印刷に失敗したと判別する（ステップＳＢ６：「印刷失敗」）。
【００８３】
印刷アプリ実行部３０３は、プリンター２が印刷に成功したと判別すると（ステップＳＢ６：「印刷成功」）、印刷成功を示す送信ＵＲＬスキーム情報を生成する（ステップＳＢ７）。印刷アプリ実行部３０３は、例えば、以下に示す送信ＵＲＬスキーム情報を生成する。
【００８４】
送信ＵＲＬスキーム情報：「（ブラウザーアプリ３１１の識別情報）：／／？（印刷結果の項目を示すパラメーター項目＝印刷成功を示すパラメーター値）」。
【００８５】
印刷アプリ実行部３０３は、生成した送信ＵＲＬスキーム情報を、ブラウザー実行部３０２に送信する（ステップＳＢ８）。なお、印刷成功を示すＵＲＬスキーム情報を送信することは、印刷成功を通知することに相当する。また、本実施形態では、プリンター２とタブレット端末３との通信が成功した場合に印刷成功を通知できるため、印刷成功を通知することは、通信成功を通知することに相当する。
【００８６】
図５のフローチャートＦＡに示すように、ブラウザー実行部３０２は、印刷アプリ実行部３０３から送信ＵＲＬスキーム情報を受信する（ステップＳＡ３）。
【００８７】
ブラウザー実行部３０２が印刷アプリ実行部３０３から送信ＵＲＬスキーム情報を受信すると、タッチパネル３４の表示画面３４０では、ブラウザーアプリ画面３１１Ｇをフォアグランドで表示し、プリンター用アプリ画面３１２Ｇをバックグランドで表示する画面遷移が発生する。すなわち、タッチパネル３４の表示画面３４０では、図６に示す表示画面３４０から図７に示す表示画面３４０に遷移する。
【００８８】
図７は、タッチパネル３４の表示画面３４０の表示態様の一例を示す図である。
図７は、ブラウザー実行部３０２が印刷アプリ実行部３０３から送信ＵＲＬスキーム情報を受信した場合におけるタッチパネル３４の表示画面３４０の表示態様を示している。
【００８９】
図７に示すように、タッチパネル３４の表示画面３４０は、ブラウザーアプリ画面３１１Ｇをフォアグランドで表示し、プリンター用アプリ画面３１２Ｇをバックグランドで表示している。なお、図７では、ブラウザーアプリ画面３１１Ｇ、及び、プリンター用アプリ画面３１２Ｇとして、テキストや画像等の情報を表示していない画面を例示しているが、印刷成功を示す情報を表示してもよい。これにより、画面遷移だけでなく情報として印刷成功をユーザーに提示でき、ユーザーは、より確実に印刷が成功したことを認識できる。
【００９０】
図５のフローチャートＦＣのステップＳＣ３の説明に戻り、印刷制御部２０１が印刷に失敗したと判別した場合（ステップＳＣ３：「印刷失敗」）、通信制御部２０２は、タブレット端末３に印刷失敗を通知する（ステップＳＣ５）。すなわち、通信制御部２０２は、印刷装置近距離無線通信部２３により、印刷失敗を示す情報をタブレット端末３に送信する（ステップＳＣ５）。通信制御部２０２は、印刷失敗を示す情報をタブレット端末３に送信する際に、印刷失敗の要因を示す情報を併せて送信する。例えば、印刷失敗の要因がロール紙切れである場合、通信制御部２０２は、ロール紙切れを示す情報を、印刷失敗を示す情報と併せて送信する。
【００９１】
プリンター２の印刷制御部２０１は、ステップＳＣ５の処理を実行すると、印刷失敗の要因が解消されたか否かを判別し（ステップＳＣ６）、解消されたと判別した場合（ステップＳＣ６：ＮＯ）、処理をステップＳＣ２に戻し、再度印刷を実行する。
【００９２】
図５のフローチャートＦＢに示すように、印刷アプリ実行部３０３は、端末近距離無線通信部により印刷失敗を示す情報を受信し（ステップＳＢ５）、プリンター２が印刷に失敗したと判別する（ステップＳＢ６：「印刷失敗」）。
【００９３】
印刷アプリ実行部３０３は、印刷失敗を示す情報を受信すると、印刷失敗をブラウザーアプリ３１１に通知せず、フォアグランドで表示されているプリンター用アプリ画面３１２Ｇ内に、印刷失敗詳細情報ＩＳＪ（図８参照）を表示する（ステップＳＢ９）。
【００９４】
図８は、タッチパネル３４の表示画面３４０の表示態様の一例を示す図である。
【００９５】
図８に示すように、タッチパネル３４の表示画面３４０は、プリンター用アプリ画面３１２Ｇをフォアグランドで表示し、ブラウザーアプリ画面３１１Ｇをバックグランドで表示している。また、図８に示すように、タッチパネル３４の表示画面３４０は、フォアグランドで表示されるプリンター用アプリ画面３１２Ｇにおいて印刷失敗詳細情報ＩＳＪを表示する。
【００９６】
印刷失敗詳細情報ＩＳＪは、プリンター２が印刷に失敗したことを示す情報Ｊ２と、印刷失敗の要因に対する対処を示す情報Ｊ３と、印刷失敗の要因（すなわちエラー）のコードを示す情報Ｊ４とを含む。印刷アプリ実行部３０３は、印刷失敗詳細情報ＩＳＪをプリンター用アプリ画面３１２Ｇに表示する際、プリンター２から受信した印刷失敗の要因を示す情報に基づいて、対処を示す情報Ｊ３、及び、印刷失敗の要因のコードを示す情報Ｊ４を所定の方法で取得する。
【００９７】
このように、印刷アプリ実行部３０３は、ブラウザー実行部３０２にプリンター２が印刷に失敗したことを通知せず、プリンター用アプリ画面３１２Ｇに印刷失敗詳細情報ＩＳＪを表示する。これにより、タッチパネル３４の表示画面３４０では、プリンター用アプリ画面３１２Ｇとブラウザーアプリ画面３１１Ｇとについてフォアグランドの表示、及び、バックグランドの表示を切り替える画面遷移が発生しない。したがって、ユーザーに画面遷移による違和感を与えてしまうこと抑制した上で、印刷アプリ実行部３０３は、プリンター２が印刷に失敗したことをユーザーに提示できる。
【００９８】
また、印刷失敗詳細情報ＩＳＪには、ボタンＢ１が重畳されてプリンター用アプリ画面３１２Ｇに表示される。ボタンＢ１は、印刷失敗詳細情報ＩＳＪの表示を取り消すボタンである。ボタンＢ１が選択されることで、印刷失敗詳細情報ＩＳＪは、プリンター用アプリ画面３１２Ｇ内における表示が取り消される。すなわち、図８に示すタッチパネル３４の表示画面３４０から、図６に示すタッチパネル３４の表示画面３４０へ遷移する。この際、印刷アプリ実行部３０３は、処理をステップＳＢ９からステップＳＢ６に処理を戻し、プリンター２が印刷に成功したか失敗したかを再度判別する。
【００９９】
図５のフローチャートＦＢのステップＳＢ３の説明に戻り、印刷アプリ実行部３０３は、受信ＵＲＬスキーム情報に含まれる印刷先に係るパラメーターが示すプリンター２と通信接続が不可能であると判別した場合（ステップＳＢ３：ＮＯ）、当該プリンター２との間に通信エラーが発生したと判定する（ステップＳＢ１０）。
【０１００】
次いで、印刷アプリ実行部３０３は、再選択処理を実行するか否かを判別する（ステップＳＢ１１）。ステップＳＢ１１に際し、印刷アプリ実行部３０３は、再選択処理有無情報ＳＵＪを、プリンター用アプリ画面３１２Ｇ内に表示する。
【０１０１】
図９は、タッチパネル３４の表示画面３４０の表示態様の一例を示す図である。
【０１０２】
図９に示すように、タッチパネル３４の表示画面３４０は、プリンター用アプリ画面３１２Ｇをフォアグランドで表示し、ブラウザーアプリ画面３１１Ｇをバックグランドで表示している。また、図９に示すように、タッチパネル３４の表示画面３４０は、フォアグランドで表示されるプリンター用アプリ画面３１２Ｇにおいて再選択処理有無情報ＳＵＪを表示する。
【０１０３】
再選択処理有無情報ＳＵＪは、受信ＵＲＬスキーム情報に含まれる印刷先に係るパラメーターが示すプリンター２と通信接続が不可であることを示す情報Ｊ５と、再選択処理を実行するか否かを示す情報Ｊ６とを含む。
【０１０４】
このように、印刷アプリ実行部３０３は、受信ＵＲＬスキーム情報に含まれる印刷先に係るパラメーターが示すプリンター２と通信接続が不可であることを、ブラウザー実行部３０２に通知せず、プリンター用アプリ画面３１２Ｇに再選択処理有無情報ＳＵＪを表示する。これにより、タッチパネル３４の表示画面３４０には、プリンター用アプリ画面３１２Ｇとブラウザーアプリ画面３１１Ｇとについてフォアグランドの表示、及び、バックグランドの表示を切り替える画面遷移が発生しない。したがって、ユーザーに画面遷移による違和感を与えてしまうことを抑制し、印刷アプリ実行部３０３は、受信ＵＲＬスキーム情報に含まれる印刷先に係るパラメーターが示すプリンター２と通信接続が不可であること（すなわち通信エラーが発生していること）をユーザーに提示できる。
【０１０５】
また、再選択処理有無情報ＳＵＪは、ボタンＢ２、及び、ボタンＢ３が重畳されてプリンター用アプリ画面３１２Ｇに表示される。ボタンＢ２は、再選択処理を実行することを指示するボタンである。ボタンＢ３は、再選択処理を実行しないことを指示するボタンである。例えば、印刷アプリ実行部３０３は、ボタンＢ２が選択された場合、再選択処理を実行すると判別し（ステップＳＢ１１：ＹＥＳ）、ボタンＢ３が選択された場合、再選択処理を実行しないと判別する（ステップＳＢ１１：ＮＯ）。
【０１０６】
図５のフローチャートＦＢの説明に戻り、印刷アプリ実行部３０３は、再選択処理を実行しないと判別した場合（ステップＳＢ１１：ＮＯ）、本処理を終了する。この際、例えば、印刷アプリ実行部３０３は、プリンター用アプリ画面３１２Ｇ内に、受信ＵＲＬスキーム情報に含まれる印刷先に係るパラメーターが示すプリンター２に関する情報（シリアル番号や、プリンター名、マックアドレス等）を表示してもよい。また、例えば、タッチパネル３４の表示画面３４０は、図９に示す表示画面３４０から図７に示す表示画面３４０に画面遷移してもよい。
【０１０７】
一方で、印刷アプリ実行部３０３は、再選択処理を実行すると判別した場合（ステップＳＢ１１：ＹＥＳ）、再選択処理を実行する（ステップＳＢ１２）。ここで、再選択処理について、詳細に説明する。再選択処理とは、受信ＵＲＬスキーム情報に含まれる印刷先に係るパラメーターが示すプリンター２以外のプリンター２を印刷先の対象として選択する処理である。
【０１０８】
図１０は、再選択処理における印刷アプリ実行部３０３の動作を示すフローチャートＦＤである。
【０１０９】
印刷アプリ実行部３０３は、タブレット端末３と通信可能なプリンター２を示すプリンター情報を取得する（ステップＳＤ１）。ここで、プリンター情報の取得について、説明する。
【０１１０】
本実施形態では、タブレット端末３とプリンター２との通信として近距離無線通信を例示しているが、ここでの例では、タブレット端末３と１又は複数のプリンター２とが所定のネットワークに接続しているものとする。なお、このネットワークに接続しているプリンター２は、受信ＵＲＬスキーム情報に含まれる印刷先に係るパラメーターが示すプリンター２ではない。ステップＳＤ１において、印刷アプリ実行部３０３は、当該ネットワーク上に所定のコマンド体系のコマンドをブロードキャストする。このコマンドは、例えば、プリンター情報の送信を要求するコマンドである。このコマンドを解釈可能なプリンター２は、タブレット端末３にネットワークを介してプリンター情報を送信する。これにより、印刷アプリ実行部３０３は、通信接続が可能なプリンター２のプリンター情報を取得する。
【０１１１】
また、例えば、印刷アプリ実行部３０３は、オペレーティングシステム３０１からプリンター情報を取得する。端末近距離無線通信部３３の近距離無線通信の通信規格がＢｌｕｅｔｏｏｔｈである場合、オペレーティングシステム３０１は、ペアリングが保たれる距離においてペアリングしたプリンター２から、ペアリングに際し取得した情報をプリンター情報として取得する。そして、印刷アプリ実行部３０３は、オペレーティングシステム３０１が取得したプリンター情報を取得する。オペレーティングシステム３０１がｉＯＳ（登録商標）である場合、印刷アプリ実行部３０３は、過去に通信接続したプリンター情報をオペレーティングシステム３０１から取得する。また、オペレーティングシステム３０１がＡｎｄｒｏｉｄ（登録商標）である場合、印刷アプリ実行部３０３は、ペアリングした全てのプリンター２についてプリンター情報をオペレーティングシステム３０１から取得する。これにより、印刷アプリ実行部３０３は、通信接続が可能なプリンター２のプリンター情報を取得する。
【０１１２】
このように、印刷アプリ実行部３０３は、コマンドをブロードキャストして、或いはオペレーティングシステム３０１からプリンター情報を取得するため、確実に通信接続できるプリンター２を示すプリンター情報を取得できる。そのため、印刷アプリ実行部３０３は、後述する再選択処理を複数回実行することを防止でき、タブレット端末３とプリンター２との間で通信エラーが発生している期間をより短縮できる。
【０１１３】
次いで、印刷アプリ実行部３０３は、少なくとも１のプリンター情報を取得したか否かを判別する（ステップＳＤ２）。印刷アプリ実行部３０３は、１のプリンター情報を取得していないと判別した場合（ステップＳＤ２：ＮＯ）、処理をステップＳＤ１に戻す。一方で、印刷アプリ実行部３０３は、少なくとも１のプリンター情報を取得したと判別した場合（ステップＳＤ２：ＹＥＳ）、ステップＳＤ１で取得した１又は複数のプリンター情報を表示する再選択用画面ＳＳＧを、プリンター用アプリ画面３１２Ｇに表示する（ステップＳＤ３）。
【０１１４】
図１１は、タッチパネル３４の表示画面３４０の表示態様の一例を示す図である。
【０１１５】
図１１に示すように、タッチパネル３４の表示画面３４０は、プリンター用アプリ画面３１２Ｇをフォアグランドで表示し、ブラウザーアプリ画面３１１Ｇをバックグランドで表示している。また、図１１に示すように、タッチパネル３４の表示画面３４０は、フォアグランドで表示されるプリンター用アプリ画面３１２Ｇにおいて再選択用画面ＳＳＧを表示する。
【０１１６】
再選択用画面ＳＳＧは、再選択処理用の画面である。再選択用画面ＳＳＧは、ステップＳＤ１で取得したプリンター情報が選択可能に表示される。図１１では、「プリンターＡ」を示すプリンター情報と、「プリンターＢ」を示すプリンター情報とが、再選択用画面ＳＳＧに表示される。この表示は、ステップＳＤ２において、２つのプリンター２のプリンター情報を取得したことを示している。
【０１１７】
このように、印刷アプリ実行部３０３は、受信ＵＲＬスキーム情報に含まれる印刷先に係るパラメーターが示すプリンター２との間で通信エラーが発生した場合、ブラウザー実行部３０２に通信エラーが発生したことを通知せず、プリンター用アプリ画面３１２Ｇに再選択用画面ＳＳＧを表示する。これにより、タッチパネル３４の表示画面３４０では、プリンター用アプリ画面３１２Ｇとブラウザーアプリ画面３１１Ｇとについてフォアグランドの表示、及び、バックグランドの表示を切り替える画面遷移が発生しない。したがって、ユーザーに画面遷移による違和感を与えてしまうことを抑制した上で、印刷アプリ実行部３０３は、確実に通信接続が可能なプリンター２を示すプリンター情報をユーザーに提示できる。
【０１１８】
図１０に示すフローチャートＦＤの説明に戻り、印刷アプリ実行部３０３は、再選択用画面ＳＳＧをプリンター用アプリ画面３１２Ｇに表示すると、再選択用画面ＳＳＧにおいて１のプリンター情報が選択されたか否かを判別する（ステップＳＤ４）。印刷アプリ実行部３０３は、再選択用画面ＳＳＧにおいて１のプリンター情報が選択されていないと判別した場合（ステップＳＤ４：ＮＯ）、ステップＳＤ３の処理を継続する。
【０１１９】
一方で、印刷アプリ実行部３０３は、再選択用画面ＳＳＧにおいて１のプリンター情報が選択されたと判別した場合（ステップＳＤ４：ＹＥＳ）、選択された１のプリンター２にステップＳＢ２で生成した制御コマンドを送信する（ステップＳＤ５）。この際、タッチパネル３４の表示画面３４０は、図１１に示す表示画面３４０から図６に示す表示画面３４０に遷移する。
【０１２０】
このように、印刷アプリ実行部３０３は、ステップＳＢ２で制御コマンドを生成することで、受信ＵＲＬスキーム情報が含む印刷先に係るパラメーターが示すプリンター２に制御コマンドを送信する準備をする。なお、この制御コマンドは、受信ＵＲＬスキーム情報が含む印刷データに基づくコマンドであるため、本実施形態では印刷情報に相当する。そして、印刷アプリ実行部３０３は、受信ＵＲＬスキーム情報が含む印刷先に係るパラメーターが示すプリンター２との間で通信エラーが発生した場合、印刷先を再選択処理で選択されたプリンター２に変更して制御コマンドを送信する。これにより、印刷アプリ実行部３０３は、再選択処理情報で選択されたプリンター２に速やかに制御コマンドを送信でき、プリンター２に制御コマンドに基づく印刷を速やかに実行させることができる。
【０１２１】
再選択処理で選択されたプリンター２は、受信した制御コマンドに基づいて印刷を実行し、印刷が成功した場合と印刷が失敗した場合とで対応する処理を実行する。そして、印刷アプリ実行部３０３は、上述したように、再選択処理で選択されたプリンター２が印刷に成功した場合と失敗した場合とで対応する処理を実行する。また、ブラウザー実行部３０２は、再選択処理で選択されたプリンター２が印刷に成功した場合に、印刷アプリ実行部３０３から送信ＵＲＬスキーム情報を受信する。この際に、タッチパネル３４の表示画面３４０は、図７に示すように、ブラウザーアプリ画面３１１Ｇがフォアグランドで表示され、プリンター用アプリ画面３１２Ｇがバックグランドで表示される画面遷移が発生する。
【０１２２】
このように、プリンター用アプリ３１２は、端末プロセッサー３０に実行されることで端末プロセッサー３０を印刷アプリ実行部３０３として機能させる。すなわち、印刷アプリ実行部３０３は、ブラウザーアプリ３１１からプリンター２との通信エラーが発生した場合の処理（すなわち再選択処理）が指定された受信ＵＲＬスキーム情報を取得し、受信ＵＲＬスキーム情報が指定するプリンター２との間で通信エラーが発生した場合、プリンター２の再選択処理を実行させる。これにより、印刷アプリ実行部３０３は、通信エラーが発生した場合に再選択処理を実行するため、ブラウザー実行部３０２とのやり取りが無く、受信ＵＲＬスキーム情報が指定するプリンター２以外のプリンター２と通信できるようになる。したがって、印刷アプリ実行部３０３は、プリンター２との間で通信エラーが発生している期間を短縮できる。また、印刷アプリ実行部３０３は、タッチパネル３４の表示画面３４０の画面遷移の回数を低減できるため、画面遷移による違和感をユーザーに与えてしまうことを抑制できる。
【０１２３】
また、印刷アプリ実行部３０３は、受信ＵＲＬスキーム情報に指定されたプリンター２と通信エラーが発生した場合、ブラウザーアプリ３１１へ通信エラーの発生を通知しない。そして、印刷アプリ実行部３０３は、再選択処理を実行してプリンター２との通信に成功した場合、通信成功をブラウザーアプリ３１１に通知する。これにより、印刷アプリ実行部３０３は、プリンター２との通信に成功した場合にのみブラウザーアプリ３１１に通信成功を通知するため、ブラウザーアプリ３１１とのやり取りを必要最小限にすることができ、プリンター２との間で通信エラーが発生している期間をより短縮できる。さらに、印刷アプリ実行部３０３は、プリンター用アプリ画面３１２Ｇとブラウザーアプリ画面３１１Ｇとが切り替わる画面遷移の回数を必要最小限にすることができる。そのため、印刷アプリ実行部３０３は、画面遷移による違和感をユーザーに与えてしまうことを抑制できる。また、印刷アプリ実行部３０３が通信成功を通知するとは、印刷アプリ実行部３０３が印刷成功を通知することに相当する。そのため、プリンター２による印刷が成功するまでに発生する上記画面遷移の回数を必要最小限にできる。
【０１２４】
また、印刷アプリ実行部３０３は、送信ＵＲＬスキーム情報をブラウザーアプリ３１１に送信することで印刷成功を通知する。これにより、印刷アプリ実行部３０３は、再選択用画面ＳＳＧからブラウザーアプリ画面３１１Ｇに遷移させる。ここでいう遷移とは、バックグランドで表示されていたブラウザーアプリ画面３１１Ｇをフォアグランドで表示することである。これにより、印刷アプリ実行部３０３は、画面遷移による違和感をユーザーに与えてしまうことを抑制した上で、ユーザーにプリンター２と通信に成功したことを容易に認識させることができる。また、ユーザーにプリンター２が印刷に成功したことを容易に認識させることができる。
【０１２５】
以上、説明したように、プリンター用アプリ３１２（プリンター用プログラム）は、プリンター２に接続可能なタブレット端末３（端末）の端末プロセッサー３０（プロセッサー）により実行されるアプリケーションプログラムである。プリンター用アプリ３１２は、端末プロセッサー３０に、ブラウザーアプリ３１１（上位プログラム）から、プリンター２との通信エラーが発生した場合の処理が指定された受信ＵＲＬスキーム情報（第１情報）を取得させ、プリンター２との間で通信エラーが発生した場合、受信ＵＲＬスキーム情報に基づいてプリンター２の再選択処理を実行させる。
【０１２６】
この構成によれば、端末プロセッサー３０に、プリンター２との間で通信エラーが発生した場合、受信ＵＲＬスキーム情報に基づいてプリンター２の再選択処理を実行させることで、ブラウザーアプリ３１１とのやり取りを低減できるため、プリンター２との間で通信エラーが発生している期間を短縮できる。
【０１２７】
また、プリンター用アプリ３１２は、端末プロセッサー３０に、プリンター２との通信エラーが発生した場合、ブラウザーアプリ３１１へ通信エラーの発生を通知させず、再選択処理を実行してプリンター２との通信に成功した場合、通信成功をブラウザーアプリ３１１に通知させる。
【０１２８】
この構成によれば、ブラウザーアプリ３１１とのやり取りを必要最小限にすることができ、プリンター２との間で通信エラーが発生している期間をより短縮できる。
【０１２９】
また、タブレット端末３は、タッチパネル３４（表示部）を備える。プリンター用アプリ３１２は、端末プロセッサー３０に、プリンター２との間で通信エラーが発生した場合、再選択処理用の画面である再選択用画面ＳＳＧをタッチパネル３４に表示させ、再選択処理を実行させてプリンター２との通信に成功した場合、タッチパネル３４の表示を、再選択用画面ＳＳＧからブラウザーアプリ画面３１１Ｇ（上位プログラム画面）へ遷移させる。
【０１３０】
この構成によれば、プリンター２との間で通信エラーが発生した場合、再選択用画面ＳＳＧを表示させ、再選択処理を実行させてプリンター２との通信に成功した場合、再選択用画面ＳＳＧからブラウザーアプリ画面３１１Ｇへ遷移させるため、画面遷移の回数を必要最小限にすることができる。したがって、プリンター用アプリ３１２は、画面遷移による違和感をユーザーに与えてしまうことを抑制できる。また、通信に成功した場合に画面遷移するため、プリンター用アプリ３１２は、ユーザーにプリンターと通信に成功したことを容易に認識させることができる。
【０１３１】
また、受信ＵＲＬスキーム情報は、印刷先のプリンター２を指定する印刷先に係るパラメーター（印刷先情報）、印刷データ（印刷情報）、再選択処理に係るパラメーター（再選択処理情報）を含む。プリンター用アプリ３１２は、端末プロセッサー３０に、印刷先に係るパラメーターが指定するプリンター２に印刷データに基づく制御コマンド（印刷情報）を送信させる準備をさせ、当該プリンター２との間で通信エラーが発生した場合、再選択処理情報に基づいて再選択処理を実行させ、印刷先のプリンター２を再選択処理で選択されたプリンター２に変更して制御コマンドを送信させる。
【０１３２】
この構成によれば、印刷先に係るパラメーターが指定するプリンター２との間で通信エラーが発生した場合、再選択処理で選択されたプリンター２に印刷先を変更して制御コマンドを送信するため、再選択処理情報で選択されたプリンター２で制御コマンドに基づく印刷を速やかに実行できる。
【０１３３】
また、再選択用画面ＳＳＧは、プリンター情報を選択可能に表示する。プリンター情報は、コマンドをブロードキャストして取得した情報、又は、オペレーティングシステム３０１から取得した情報である。
【０１３４】
この構成によれば、コマンドをブロードキャストして取得した情報、又は、オペレーティングシステム３０１から取得したプリンター情報を再選択画面が表示するため、再選択されたプリンター２と確実に通信が成功できる。そのため、再選択処理を複数回実行することを防止でき、プリンター２との間で通信エラーが発生している期間をより短縮できる。
【０１３５】
なお、上述した各実施形態は、あくまでも本発明の一態様を示すものであり、本発明の範囲内で任意に変形および応用が可能である。
【０１３６】
例えば、受信ＵＲＬスキーム情報は、上述したパラメーターの他、カッター２６６の制御を定義したパラメーターを含んでよいし、搬送モーター２６４の制御を定義したパラメーターを含んでもよい。さらに、受信ＵＲＬスキーム情報は、プリンター２に接続するデバイスの制御を定義したパラメーターを含んでもよい。
【０１３７】
また、例えば、印刷アプリ実行部３０３の機能は、プリンター用アプリ３１２を記憶した記憶媒体、プリンター用アプリ３１２を配信するサーバー装置、プリンター用アプリ３１２を伝送する伝送媒体、プリンター用アプリ３１２を搬送波内に具現化したデータ信号等の形態で実現することもできる。記憶媒体としては、コンピューターが読み取り可能な種々の媒体を利用することができ、磁気的、光学的記憶媒体あるいは半導体メモリーデバイスを用いるもののいずれであってもよく、その他の種類の記憶媒体を使用してもよい。また、メモリーカード等の可搬型記憶媒体であってもよい。また、記憶媒体は、上記装置と通信回線を介して接続された装置が備える記憶媒体であってもよい。
【０１３８】
また、例えば、上述したタブレット端末３の制御方法（端末の制御方法）が、タブレット端末３が備えるコンピューター、又は、タブレット端末３に接続される外部装置を用いて実現される場合、本発明を、当該方法を実現するためにコンピューターが実行するプログラム、このプログラムをコンピューターで読み取り可能に記録した記録媒体、或いは、このプログラムを伝送する伝送媒体の態様で構成することも可能である。上記記録媒体としては、磁気的、光学的記録媒体又は半導体メモリーデバイスを用いることができる。具体的には、フレキシブルディスク、ＨＤＤ（Hard Disk Drive）、ＣＤ−ＲＯＭ（Compact Disk Read Only Memory）、ＤＶＤ（Digital Versatile Disk）、Ｂｌｕ−ｒａｙ（登録商標）Ｄｉｓｃ、光磁気ディスク、フラッシュメモリー、カード型記録媒体等の可搬型の、或いは固定式の記録媒体が挙げられる。また、上記記録媒体は、タブレット端末３や、タブレット端末３に接続された外部装置が備える内部記憶装置であるＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、ＨＤＤ等の不揮発性記憶装置でもよい。プリンター２の制御方法についても同様である。
【０１３９】
また、端末制御部３００、及び、印刷装置制御部２００の機能を実現は、１のプロセッサーにより実現する場合を例示したが、複数のプロセッサー、又は、半導体チップにより実現してもよい。例えば、端末制御部３００、及び、印刷装置制御部２００が、ＳｏＣ（System-on-a-Chip）やＭＣＵ（Micro Control Unit）、ＦＰＧＡ（Field-Programmable Gate Array）等の副処理装置（co-processor）をさらに備える構成であってもよい。また、端末制御部３００、及び、印刷装置制御部２００は、ＣＰＵ及び副処理装置の双方を協働させるか、あるいは双方のうちの一方を選択的に用いて各種の制御を行ってもよい。
【０１４０】
また、例えば、図５、及び、図１０の処理単位は、処理を理解容易にするために、主な処理内容に応じて分割したものであり、処理単位の分割の仕方や名称によって、本発明が限定されることはない。処理内容に応じて、されに多くの処理単位に分割してもよい。また、１つの処理単位がさらに多くの処理を含むように分割してもよい。また、その処理の順番は、本発明の趣旨に支障のない範囲で適宜に入れ替えてもよい。
【０１４１】
また、図１、図２、及び図３に示した各機能部は機能的構成を示すものであって、具体的な実装形態は特に限定されない。つまり、必ずしも各機能部に個別に対応するハードウェアが実装される必要はなく、一つのプロセッサーがプログラムを実行することで複数の機能部の機能を実現する構成とすることも勿論可能である。また、上述した実施形態においてソフトウェアで実現される機能の一部をハードウェアとしてもよく、或いは、ハードウェアで実現される機能の一部をソフトウェアで実現してもよい。その他、タブレット端末３、及び、プリンター２の他の各部の具体的な細部構成についても、本発明の趣旨を逸脱しない範囲で任意に変更可能である。
【符号の説明】
【０１４２】
２…プリンター、３…タブレット端末（端末）、３０…端末プロセッサー（プロセッサー）、３３…端末近距離無線通信部（通信部）、３４…タッチパネル（表示部）、３００…端末制御部（制御部）、３０１…オペレーティングシステム、３０２…ブラウザー実行部、３０３…印刷アプリ実行部、３１０…端末記憶部（記憶部）、３１１…ブラウザーアプリ（上位プログラム）、３１１Ｇ…ブラウザーアプリ画面（上位プログラム画面）、３１２…プリンター用アプリ（プリンター用プログラム）、ＳＳＧ…再選択用画面。
【図１】
2019117531.tif 000003
【図２】
2019117531.tif 000004
【図３】
2019117531.tif 000005
【図４】
2019117531.tif 000006
【図５】
2019117531.tif 000007
【図６】
2019117531.tif 000008
【図７】
2019117531.tif 000009
【図８】
2019117531.tif 000010
【図９】
2019117531.tif 000011
【図１０】
2019117531.tif 000012
【図１１】
2019117531.tif 000013