(57)【要約】      （修正有）【課題】外部プログラムが本プログラムを通じて指示可能である画像処理動作のうちの少なくとも１つを、情報処理端末に接続された画像処理装置が実行可能であるか否かユーザに報知する。【解決手段】情報処理端末のコンピュータは、外部プログラムがプログラムに指示可能である画像処理動作のうちの少なくとも１つの画像処理動作の識別情報を外部プログラムから受信し（Ｓ２００）、記憶部に記憶された能力情報を利用して、識別情報により識別される画像処理動作を、指定装置が実行可能か否か判断し（Ｓ２０４）、判断結果を示す判断情報を表示部に表示させ（Ｓ２０７およびＳ２１２およびＳ２２２）、指定装置が識別情報により識別される画像処理動作を実行可能であると判断した場合、画像処理動作を実行させるための動作指示情報を、外部プログラムから受信し、通信部を介して動作指示情報を指定装置に送信する。【選択図】図６
2019101956.tif 000002
【特許請求の範囲】
【請求項１】
ユーザが指定した画像処理装置である指定装置の能力情報を記憶する記憶部と、表示部と、通信部と、を備えた情報処理端末のコンピュータによって実行可能なプログラムであって、
前記プログラムを通じて前記指定装置に画像処理動作を指示する外部プログラムと、前記プログラムと前記外部プログラムとの間のデータの送受信を制御する共有機能を備えたオペレーティングシステムと、が前記情報処理端末にインストールされており、
前記プログラムは、
前記外部プログラムが前記プログラムを通じて前記指定装置に指示可能である画像処理動作のうちの少なくとも１つの画像処理動作を識別する識別情報を、前記共有機能を介して前記外部プログラムから受信する第１受信処理と、
前記記憶部に記憶された前記能力情報を利用して、前記識別情報により識別される前記画像処理動作を、前記指定装置が実行可能か否か判断する第１判断処理と、
前記第１判断処理における判断結果を示す判断情報を、前記表示部に表示させる第１表示処理と、
前記第１判断処理で前記指定装置が前記識別情報により識別される前記画像処理動作を実行可能であると判断した場合、前記識別情報により識別される前記画像処理動作を実行させるための動作指示情報を、前記共有機能を介して前記外部プログラムから受信する第２受信処理と、
前記通信部を介して前記動作指示情報を前記指定装置に送信する動作指示処理と、
を前記コンピュータに実行させることを特徴とするプログラム。
【請求項２】
前記情報処理端末は、操作部を更に備え、
前記第１判断処理において、前記画像処理動作を前記指定装置が実行不可能であると判断した場合、装置特定処理を前記プログラムは前記コンピュータに更に実行させ、
前記装置特定処理は、
前記通信部を介して通信可能な複数の画像処理装置の各々が、前記識別情報により識別される前記画像処理動作を実行可能か否か判断する第２判断処理と、
前記第２判断処理で前記識別情報により識別される画像処理動作のいずれかを実行可能と判断した前記複数の画像処理装置の各々に対応する複数の装置オブジェクトを前記表示部に表示させる第２表示処理と、
前記複数の装置オブジェクトのうちのいずれかを前記指定装置として指定するユーザ操作を、前記操作部を介して受け付ける受付処理と、
を含むことを特徴とする請求項１記載のプログラム。
【請求項３】
前記識別情報は、前記外部プログラムが前記プログラムに指示可能である画像処理動作のうちの複数の画像処理動作を識別する情報であって、
前記第１判断処理において、前記指定装置の前記能力情報を利用して、前記識別情報により識別される複数の前記画像処理動作の各々を前記指定装置が実行可能か否かを判断し、
前記第１判断処理で前記複数の画像処理動作のうちのいくつかを前記指定装置が実行可能であると判断した場合、前記第１表示処理において、前記装置特定処理の実行を指示する第１オブジェクトおよび、前記共有機能を介して前記判断情報を前記外部プログラムに送信する送信処理の実行を指示する第２オブジェクトを前記表示部に更に表示させ、
前記第１表示処理で前記表示部に表示させた前記第１オブジェクトに対するユーザ操作を、前記操作部を介して受け付けたことに応答して、前記装置特定処理を前記プログラムは前記コンピュータに更に実行させ、
前記第１表示処理で前記表示部に表示させた前記第２オブジェクトに対するユーザ操作を、前記操作部を介して受け付けたことに応答して、前記プログラムは前記送信処理を前記コンピュータに更に実行させ、
前記第２受信処理において、前記送信処理の実行後に、前記外部プログラムが前記判断情報に基づいてユーザに指定させた前記動作指示情報を、前記外部プログラムから受信することを特徴とする請求項２に記載のプログラム。
【請求項４】
前記第１受信処理で、前記識別情報により識別される前記複数の画像処理動作の各々が基本動作であるか、オプション動作であるかのいずれか一方を示す動作情報を前記外部プログラムから更に受信し、
前記第１判断処理において、前記動作情報により前記基本動作と示される前記画像処理動作を前記指定装置が実行可能か否か、および、前記動作情報により前記オプション動作と示される前記画像処理動作を前記指定装置が実行可能か否かを更に判断し、
前記第１判断処理で前記指定装置は前記基本動作を実行不可能であると判断した場合、前記第１表示処理において、前記第１オブジェクトを前記表示部に表示させ、前記第２オブジェクトを前記表示部に表示させないことを特徴とする請求項３に記載のプログラム。
【請求項５】
前記第１判断処理において、前記基本動作を前記指定装置が実行可能か否かを判断し、前記指定装置が前記基本動作を実行不可能であると判断した場合、前記指定装置が前記オプション動作を実行可能か否か更に判断することなく、前記指定装置は前記画像処理動作を実行不可能と判断し、前記装置特定処理を実行することを特徴とする請求項４に記載のプログラム。
【請求項６】
前記第２判断処理において、前記識別情報により示される前記複数の画像処理動作のうち、前記動作情報により前記基本動作と示される画像処理動作を、前記複数の画像処理装置が少なくとも実行可能か否かを更に判断し、
前記第２表示処理において、前記第２判断処理で前記動作情報により前記基本動作と示される前記画像処理動作を少なくとも実行可能であると判断した前記複数の画像処理装置の各々ごとに対応する装置オブジェクトを前記表示部に表示させることを特徴とする請求項４または５に記載のプログラム。
【請求項７】
前記第２表示処理において、前記複数の装置オブジェクトのうち、前記第１判断処理で前記指定装置が実行不可能であると判断した画像処理動作を実行可能である前記画像処理装置に対応する装置オブジェクトを強調表示することを特徴とする請求項２乃至６のいずれかに記載のプログラム。
【請求項８】
ユーザが指定した画像処理装置である指定装置の能力情報を記憶する記憶部と、
表示部と、
通信部と、
制御部と、
を備えた情報処理端末であって、
プログラムと、前記プログラムを通じて前記指定装置に画像処理動作を指示する外部プログラムと、前記プログラムと前記外部プログラムとの間のデータの送受信を制御する共有機能を備えたオペレーティングシステムと、が前記情報処理端末にインストールされており、
前記制御部は前記プログラムを実行することにより、
前記外部プログラムが前記プログラムを通じて前記指定装置に指示可能である画像処理動作のうちの少なくとも１つの画像処理動作を識別する識別情報を、前記共有機能を介して前記外部プログラムから受信する第１受信手段と、
前記記憶部に記憶された前記能力情報を利用して、前記第１受信手段が受信した前記識別情報により識別される前記画像処理動作を、前記指定装置が実行可能か否か判断する第１判断手段と、
前記第１判断手段の判断結果を示す判断情報を、前記表示部に表示させる第１表示手段と、
前記指定装置が前記識別情報により識別される前記画像処理動作を実行可能であると前記第１判断手段が判断した場合、前記識別情報により識別される前記画像処理動作を実行させるための動作指示情報を、前記共有機能を介して前記外部プログラムから受信する第２受信手段と、
前記通信部を介して前記動作指示情報を前記指定装置に送信する動作指示手段と、
を備えることを特徴とする情報処理端末。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理動作を画像処理装置に指示する際に、情報処理端末において実行されるプログラムおよび当該プログラムを実行する情報処理端末に関する。
【背景技術】
【０００２】
従来から、情報処理端末において、画像データをユーザに指定させ、当該画像データに対する画像処理動作を画像処理装置に実行させるプログラムがある。例えば、特許文献１に開示されたプログラムは、携帯端末に記憶された画像データをユーザに指定させる。そして、当該画像データで示される画像を記録用紙に記録するプリント動作を複合機に実行させる。
【０００３】
特許文献１に開示された携帯端末には、プログラムと外部プログラムがインストールされている。特許文献１に開示されたプログラムは、当該外部プログラムにおいてユーザに指定させた画像データに対する動作を画像処理装置に実行させることができる。より詳細には、ユーザが当該外部プログラムを起動すると、起動された外部プログラムは、ユーザに画像データおよび当該画像データに対する動作を指定させ、指定された画像データ（以降、指定データと呼ぶ）および指定データに対して指定された動作（以降、指定動作と呼ぶ）を識別する情報を含む指定情報を当該プログラムに提供することで、当該プログラムを起動する。起動されたプログラムは、外部プログラムから提供された指定情報によって識別される指定動作を実行可能な画像処理装置をユーザに選択させ、指定データに対する指定動作を指示する情報を、選択させた画像処理装置に送信して、当該画像処理装置に指定データに対する指定動作を実行させる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１７−０９７７５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に記載された技術では、外部プログラムから指示された動作を実行できる画像処理装置が携帯端末に接続されていない場合、当該動作を画像処理装置に実行させることができない。そのため、外部プログラムを実行する情報処理端末において、画像処理動作の内容を指定したユーザ操作が無駄になってしまうという問題がある。
【０００６】
本発明は上記の事情に鑑みてなされたものであり、外部プログラムが本プログラムを通じて画像処理装置に指示可能である画像処理動作のうちの少なくとも１つを、情報処理端末に接続された画像処理装置が実行可能であるか否かユーザに報知するプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本明細書に開示されているプログラムは、ユーザが指定した画像処理装置である指定装置の能力情報を記憶する記憶部と、表示部と、通信部と、を備えた情報処理端末のコンピュータによって実行可能なプログラムであって、前記プログラムを通じて前記指定装置に画像処理動作を指示する外部プログラムと、前記プログラムと前記外部プログラムとの間のデータの送受信を制御する共有機能を備えたオペレーティングシステムと、が前記情報処理端末にインストールされており、前記プログラムは、前記外部プログラムが前記プログラムを通じて前記指定装置に指示可能である画像処理動作のうちの少なくとも１つの画像処理動作を識別する識別情報を、前記共有機能を介して前記外部プログラムから受信する第１受信処理と、前記記憶部に記憶された前記能力情報を利用して、前記識別情報により識別される前記画像処理動作を、前記指定装置が実行可能か否か判断する第１判断処理と、前記第１判断処理における判断結果を示す判断情報を、前記表示部に表示させる第１表示処理と、前記第１判断処理で前記指定装置が前記識別情報により識別される前記画像処理動作を実行可能であると判断した場合、前記識別情報により識別される前記画像処理動作を実行させるための動作指示情報を、前記共有機能を介して前記外部プログラムから受信する第２受信処理と、前記通信部を介して前記動作指示情報を前記指定装置に送信する動作指示処理と、を前記コンピュータに実行させることを特徴とする。
【０００８】
上記構成によると、プログラムは、外部プログラムが当該プログラムを通じて指定装置に指示可能である画像処理動作のうちの少なくとも１つの画像処理動作を識別する識別情報を受信し、受信した識別情報により識別される画像処理動作を指定装置が実行可能か否か判断し、当該判断の結果を示す判断情報を表示部３０に表示させる。そして、ＣＰＵ１２は、指定装置が実行可能と判断した画像処理動作を実行させるための動作指示情報を外部プログラムから受信し、当該動作指示情報を指定装置に送信する。従って、ユーザは外部プログラムが指示可能である画像処理動作のうちの少なくとも１つの画像処理動作を指定装置が実行可能であることを把握した上で、外部プログラムにおいて画像処理動作を指定するユーザ操作を行うことができるので、外部プログラムにおける画像処理動作を指定するユーザ操作が無駄になることを防止することができる。
【０００９】
また、本明細書に開示されている情報処理端末は、ユーザが指定した画像処理装置である指定装置の能力情報を記憶する記憶部と、表示部と、通信部と、制御部と、を備えた情報処理端末であって、プログラムと、前記プログラムを通じて前記指定装置に画像処理動作を指示する外部プログラムと、前記プログラムと前記外部プログラムとの間のデータの送受信を制御する共有機能を備えたオペレーティングシステムと、が前記情報処理端末にインストールされており、前記制御部は前記プログラムを実行することにより、前記外部プログラムが前記プログラムを通じて前記指定装置に指示可能である画像処理動作のうちの少なくとも１つの画像処理動作を識別する識別情報を、前記共有機能を介して前記外部プログラムから受信する第１受信手段と、前記記憶部に記憶された前記能力情報を利用して、前記第１受信手段が受信した前記識別情報により識別される前記画像処理動作を、前記指定装置が実行可能か否か判断する第１判断手段と、前記第１判断手段の判断結果を示す判断情報を、前記表示部に表示させる第１表示手段と、前記指定装置が前記識別情報により識別される前記画像処理動作を実行可能であると前記第１判断手段が判断した場合、前記識別情報により識別される前記画像処理動作を実行させるための動作指示情報を、前記共有機能を介して前記外部プログラムから受信する第２受信手段と、前記通信部を介して前記動作指示情報を前記指定装置に送信する動作指示手段と、を備えることを特徴とする。
【図面の簡単な説明】
【００１０】
【図１】図１は、本実施形態に係るシステム１００の概略図である。
【図２】図２（Ａ）は、情報処理端末１０のブロック図であり、図２（Ｂ）は、ＭＦＰ４０Ａのブロック図である。
【図３】図３は、記憶部１４に記憶された動作リスト１８を示す図である。
【図４】図４（Ａ）はＭＦＰ４０Ａが備える記憶部３３に記憶された装置情報ｄ１であり、図４（Ｂ）はＭＦＰ４０Ｂが備える記憶部３３に記憶された装置情報ｄ２であり、図４（Ｃ）はＭＦＰ４０Ｃが備える記憶部３３に記憶された装置情報ｄ３を示す図である。
【図５】図５は起動処理のフローチャートである。
【図６】図６は判断結果表示処理のフローチャートである。
【図７】図７はデバイス選択処理のフローチャートである。
【図８】図８は第１対応判断処理のフローチャートである。
【図９】図９は第２対応判断処理のフローチャートである。
【図１０】図１０はメイン処理のフローチャートである。
【図１１】図１１は印刷処理のフローチャートである。
【図１２】図１２は表示部３０に表示される画面の一例であって、図１２（Ａ）は判断情報が「対応」を示す場合の判断画面Ｄ１を、図１２（Ｂ）は判断情報が「一部対応」を示す場合の判断画面Ｄ１を、図１２（Ｃ）は判断情報が「非対応」を示す場合の判断画面Ｄ１を、図１２（Ｄ）は確認画面Ｄ４を示す図である。
【図１３】図１３は表示部３０に表示される画面の一例であって、図１３（Ａ）はデバイス選択画面Ｄ５を、図１３（Ｂ）はメニュー画面Ｄ６を、図１３（Ｃ）はレーベル編集画面Ｄ７を示す図である。
【発明を実施するための形態】
【００１１】
以下、適宜図面を参照して本発明に係る実施形態について説明する。なお、以下に説明される実施形態は本発明の実施形態の一例にすぎず、本発明の要旨を変更しない範囲で、本発明の実施形態を適宜変更できることは言うまでもない。例えば、本発明の要旨を変更しない範囲で、後述する各処理の実行順序を適宜変更することができる。
【００１２】
[システム１００]
図１は、本実施形態に係るシステム１００の概略図である。図１に示されるシステム１００は、情報処理端末１０と、ＭＦＰ（Multi Function Peripheralの略）４０Ａ、４０Ｂ、４０Ｃ（以下、これらを総称してＭＦＰ４０と呼ぶこともある。）と、で構成されている。ＭＦＰ４０および情報処理端末１０は通信ネットワーク１０１を通じて通信可能に構成されている。通信ネットワーク１０１は、例えば、インターネット、有線ＬＡＮ、無線ＬＡＮ、或いはこれらの組み合わせによって通信可能に接続されていてもよい。または、情報処理端末１０およびＭＦＰ４０は、ＵＳＢケーブル等によって接続されていてもよい。
【００１３】
[ＭＦＰ４０の構成]
ＭＦＰ４０は、図２（Ｂ）に示すように、ＣＰＵ２１と、操作部２３と、表示部２５と、スキャナ２７と、プリンタ２９と、無線通信インタフェース（無線通信ＩＦ）３１と、記憶部３３とを主に備えており、ＭＦＰ４０を構成する各構成要素は、相互に接続されている。なお、本明細書では、インタフェースのことを「ＩＦ」と記載する。また、ＭＦＰ４０Ｂ、４０Ｃについては、ＭＦＰ４０Ａと同様の構成であるため、ここでは説明を省略する。
【００１４】
ＣＰＵ２１は、記憶部３３に記憶された制御プログラム３５、操作部２３から送信される各種情報、および通信ＩＦ３１を通じて通信装置から取得した各種情報等に従って、ＭＦＰ４０の制御を実行する。
【００１５】
操作部２３は、ユーザにより操作される複数の操作ボタンを備える。操作部２３は、ユーザの押下操作に応じた信号をＣＰＵ２１へ送信する。ユーザは、操作部２３を操作することによって所望の指示を入力することができる。操作部２３は、タッチパネルとして、表示部２５と一体に構成されていてもよい。表示部２５は、ＬＣＤ等のディスプレイを備えている。表示部２５は、ＣＰＵ２１からの指示に従って、各種の情報をディスプレイに表示する。
【００１６】
スキャナ２７は、スキャン動作を実行するハードウェアである。スキャン動作は、原稿に記録されている画像を読み取って画像データを生成する動作である。プリンタ２９は、プリント動作を実行するハードウェアである。プリント動作は、画像データで示される画像を被記録媒体に記録する動作である。本実施形態では、インクを吐出して画像を記録するインクジェット方式のプリンタ２９の例を説明するが、プリンタ２９の記録方式は電子写真方式等であってもよい。プリント動作およびスキャン動作は、画像処理動作の一例である。
【００１７】
通信ＩＦ３１は、通信ネットワーク１０１を通じて外部装置と通信可能なインタフェースである。通信ＩＦ３１の具体的な通信手段は特に限定されない。例えば、Ｗｉ−Ｆｉ  Ａｌｌｉａｎｃｅによって定められたＷｉ−Ｆｉ方式に従った無線通信を当該通信手段として採用することができる。また、ＭＦＰ４０Ａと情報処理端末１０がＵＳＢケーブルで接続される場合、通信ＩＦ３１は、ＵＳＢケーブルを着脱可能なＵＳインタフェースであってもよい。
【００１８】
記憶部３３は、フラッシュメモリなどにより構成されていて、制御プログラム３５を有する。制御プログラム３５は、例えば、出荷前に記憶部３３に記憶される形態、あるいは、ＣＤ−ＲＯＭなどに記録された形態で提供されるものでもよい。
【００１９】
ＭＦＰ４０Ａが備える記憶部３３のＭＩＢ（Management Information Baseの略）は、装置情報ｄ１を記憶している（図４（Ａ））。ＭＦＰ４０Ｂが備える記憶部３３のＭＩＢは、装置情報ｄ２を記憶している（図４（Ｂ））。ＭＦＰ４０Ｃが備える記憶部３３のＭＩＢは、装置情報ｄ３を記憶している（図４（Ｃ））。以下、装置情報ｄ１、ｄ２、ｄ３を総称して装置情報ｄと呼ぶこともある。装置情報ｄはＭＦＰ４０を識別する装置ＩＤと、ＭＦＰ４０の能力情報を記憶している。能力情報とは、ＭＦＰ４０の性能を示す値であり、具体的には、例えば印刷を実行可能な用紙サイズ、用紙タイプ、カラー／モノクロ印刷可能であるか、両面印刷可能であるか、印刷解像度、フチなし印刷可能であるか、読取解像度、カラー／モノクロ読取可能であるか、といったＭＦＰ４０が実行可能なプリント動作およびスキャン動作の内容を示す情報である。なお、装置ＩＤとは、通信ネットワーク１０１上において、ＭＦＰ４０Ａ、４０Ｂ、４０Ｃを一意に識別することができれば、テキスト形式、バイナリ形式などを形式は問わない。
【００２０】
また、詳細は後述するが、装置情報ｄに含まれる能力情報は、レーベルプリント動作およびレーベルスキャン動作を、ＭＦＰ４０が実行可能であるか否かを示す。レーベルプリント動作は、被記録媒体の一例であるレーベル（例えば、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭなど）の表面に画像を記録するプリント動作である。レーベルスキャン動作は、原稿を読み取ってレーベルの表面に画像を記録するための色（レーベルクオリティカラー）に補正したスキャンデータを生成するスキャン動作である。
【００２１】
ＭＦＰ４０Ａの装置情報ｄ１に含まれる能力情報は、レーベルプリント動作およびレーベルスキャン動作を実行可能であることを示し、ＭＦＰ４０Ｂの装置情報ｄ２に含まれる能力情報は、レーベルプリント動作を実行可能であり、レーベルスキャン動作を実行できないことを示し、ＭＦＰ４０Ｃの装置情報ｄ３に含まれる能力情報は、レーベルスキャン動作を実行可能であり、レーベルプリント動作を実行できないことを示す。
【００２２】
また、ＭＦＰ４０Ａの装置情報ｄ１に含まれる装置ＩＤは“ＭＦＰ−ＡＡＢＢ”を示し、ＭＦＰ４０Ｂの装置情報ｄ２に含まれる装置ＩＤは“ＭＦＰ−ＢＢＣＣ”を示し、ＭＦＰ４０Ｃの装置情報ｄ３に含まれる装置ＩＤは“ＭＦＰ−ＣＣＤＤ”を示す。
【００２３】
[情報処理端末１０の構成]
情報処理端末１０は、例えば、携帯電話、スマートフォン、あるいはタブレット端末等である。情報処理端末１０は、図２（Ａ）に示すように、ＣＰＵ１２と、記憶部１４と、通信ＩＦ２６と、操作部２８と、表示部３０とを主に備えている。情報処理端末１０を構成する各構成要素は、相互に接続されている。なお、通信ＩＦ２６の構成は、前述の通信ＩＦ３１の構成と同様であるため、ここでは説明を省略する。
【００２４】
ＣＰＵ１２は、記憶部１４に記憶されるメインアプリケーション１６（以降、メインアプリ１６と呼ぶ）、レーベルアプリケーション１７（以降、レーベルアプリ１７と呼ぶ）、オペレーティングシステム２０（以降、ＯＳ２０と呼ぶ）、および、情報処理端末ＩＦ２４および通信ＩＦ２６などを介して送受信される各種信号などに従って、各機能の制御を行う。
【００２５】
記憶部１４は、一例として、ＲＡＭ、ＲＯＭ、フラッシュメモリ、ＨＤＤなどで構成されている。記憶部１４は、メインアプリ１６と、レーベルアプリ１７と、動作リスト１８と、ＯＳ２０とを記憶している。
【００２６】
また、図示はしないが、記憶部１４は、メインアプリ１６およびレーベルアプリ１７に対応するマニフェストファイルを記憶している。マニフェストファイルは、アプリケーションが情報処理端末１０にインストールされた際に記憶されるファイルである。マニフェストファイルは、マニフェストファイル対応するアプリケーションを識別するパッケージ名と、アクティビティ情報と、を含んでいる。アクティビティ情報はアプリケーションによって表示される各画面を定義するための情報であり、例えば、各画面の起動条件や、動作などが定義されている。
【００２７】
メインアプリ１６およびレーベルアプリ１７は、通信ネットワーク１０１上のアプリストアサーバ４５から情報処理端末１０にインストールされてもよいし、ＭＦＰ４０と共に出荷されるメディアから情報処理端末１０にインストールされてもよい。
【００２８】
メインアプリ１６は、通信ＩＦ２６を通じてＭＦＰ４０に、画像処理動作を実行させるプログラムである。当該画像処理動作の対象となる印刷対象データおよび当該画像処理動作についての複数の動作条件それぞれに対応するパラメータは、メインアプリ１６が操作部２８を介してユーザに指定させてもよいし、情報処理端末１０にインストールされた他のプログラムから指定されてもよい。すなわち、他のプログラムから画像処理動作の対象となる印刷対象データを受信し、画像処理動作についての複数の動作条件それぞれに対応するパラメータを指定させる、所謂デバイスドライバと、メインアプリ１６とは異なる。
【００２９】
レーベルアプリ１７は、レーベル印刷機能とレーベルコピー機能とを有する。レーベル印刷機能は、操作部２８を介してユーザ操作に従ってレーベル画像データを生成し、生成したレーベル画像データを対象とするレーベルプリント動作を、メインアプリ１６を通じてＭＦＰ４０に指示する機能である。レーベルコピー機能は、レーベルスキャン動作の実行により生成したスキャンデータを、メインアプリ１６を通じてＭＦＰ４０から取得し、取得したスキャンデータからレーベルに記録する画像を示すレーベル画像データを生成し、生成したレーベル画像データを対象とするレーベルプリント動作を、メインアプリ１６を通じてＭＦＰ４０に指示する機能である。すなわち、レーベル印刷機能を利用するためには、レーベルプリント動作を実行可能であるＭＦＰ４０が必要であり、レーベルコピー機能を利用するためには、レーベルプリント動作およびレーベルスキャン動作を実行可能であるＭＦＰ４０が必要である。
【００３０】
動作リスト１８はレーベルアプリ１７を情報処理端末１０にインストールする際に、記憶部１４に記憶される情報である。図３に示すように、動作リスト１８は動作ＩＤと動作情報とを含んだ情報である。動作ＩＤは、レーベルアプリ１７がメインアプリ１６を通じて指定装置に指示可能である画像処理動作を識別する。例えば、動作ＩＤ“レーベルプリント”は、レーベルプリント動作を示し、動作ＩＤ“レーベルスキャン”は、レーベルスキャン動作を示す情報である。動作情報は、動作ＩＤにより示される画像処理動作が基本動作であるかオプション動作であるかを示す情報である。基本動作は、レーベルアプリ１７が有する全ての機能を利用するために共通して必要とされる画像処理動作である。オプション動作は、レーベルアプリ１７が有するいずれかの機能を実現するために必要とされる画像処理動作である。本実施形態では、レーベルアプリ１７において、レーベルプリント動作は基本動作であり、レーベルスキャン動作はオプション動作である。
【００３１】
ＯＳ２０は、例えば、Ａｎｄｒｏｉｄ（登録商標）ＯＳであってもよい。ＯＳ２０は、表示部３０に各種の画像を表示させる機能や、アプリケーションプログラムに利用される基本的な機能を有するプログラムである。また、ＯＳ２０は、アプリケーションが各種ハードウェアに指示をするためのＡＰＩ（Application Programming Interfaceの略）を提供するプログラムでもある。また、ＯＳ２０は、情報処理端末１０にインストールされた複数のプログラムを並行して実行することができる。ＯＳ２０は、並行して実行する複数のプログラムのうちの１つをフォアグラウンドで実行し、その他のプログラムをバックグラウンドで実行する。情報処理端末１０は、並行して実行する複数のプログラムのうち、フォアグラウンドで実行されているプログラムの実行によって表示される画面のみを表示部３０に表示させることができる。
【００３２】
操作部２８は、情報処理端末１０の各機能を実行するためのキーであり、ユーザの操作に応じた信号をＣＰＵ１２へ送信する装置である。ユーザは、操作部２８を操作することによって所望の指示を入力することができる。操作部２８は、タッチパネルとして、表示部３０と一体に構成されていてもよい。
【００３３】
表示部３０は、情報処理端末１０の各種機能情報を表示する。表示部３０は、ＣＰＵ１２からの指示に従って、各種の情報を不図示のディスプレイに表示する。
【００３４】
レーベルアプリ１７は、メインアプリ１６をプラグインとして起動することができる。同様に、メインアプリ１６は、レーベルアプリ１７をプラグインとして起動することができる。なお、レーベルアプリ１７は外部プログラムの一例である。外部プログラムは、起動元のプログラムとは別個のプログラムで、且つ、独立して実行可能なプログラムである。すなわち、外部プログラムは、起動元のプログラムのサブルーチンとは異なる。また、外部プログラムは、起動元のプログラムと同じ情報処理端末１０で動作するプログラムである。
【００３５】
メインアプリ１６およびレーベルアプリ１７は、ＯＳ２０が有する共有機能を介して相互に情報を送受信することができる。より詳細には、データを送信する送信側アプリケーションは、当該データを受信する受信側アプリケーションを識別するパッケージ名と、受信側アプリケーションによって実行させるアクティビティを指定するアクティビティ情報と、当該データと、を含んだＵＲＩスキームを引数として指定してＯＳ２０が提供するインテントＡＰＩを実行する。これにより、送信側アプリケーションは受信側アプリケーションにデータを送信することができる。
【００３６】
[本明細書における記載上の注意点]
以降、「ＣＰＵ１２は」という記載、および「メインアプリ１６」はという記載は、「情報処理端末１０においてメインアプリ１６を実行するＣＰＵ１２は」を意味する場合もある。また、「アイコンやボタンなどを選択するユーザ操作を、操作部２８を介して受け付けた」という記載は、「表示部３０に表示されたアイコンやボタンなどの位置に対するユーザ操作を、操作部２８を介して受け付けた」を意味する場合もある。
【００３７】
[システムの動作]
次に、図５から図１１を参照して、本実施形態に係るシステム１００の動作を説明する。なお、以下の動作は、メインアプリ１６を実行することによって、通信ＩＦ２６を通じて通信可能な複数のＭＦＰ４０のうち、所望のＭＦＰ４０をユーザが指定（以降、ユーザによって指定されたＭＦＰ４０を指定装置と呼ぶ。）したことがある状態を前提としている。そのため、記憶部１４には、指定装置の装置情報ｄである指定装置情報が記憶されており、後述する、デバイス無しフラグには、第１値”ＯＦＦ”が設定されている。
【００３８】
（起動処理）
ＯＳ２０を実行するＣＰＵ１２は、レーベルアプリ１７を起動させる指示を、操作部２８を介してユーザから受け付けたことに応じて、レーベルアプリ１７を起動する。その後、ＣＰＵ１２はレーベルアプリ１７を実行することで、図５に示す起動処理を実行する。
【００３９】
Ｓ１００において、ＣＰＵ１２は、不図示の起動画面を表示部３０に表示させる。起動画面は、例えば、“レーベルアプリケーションに対応しているかどうかをチェックします”といったメッセージを含んでいてもよい。
【００４０】
Ｓ１０２において、ＣＰＵ１２は、起動指示情報をＯＳ２０が提供する共有機能を介してメインアプリ１６に送信することで、メインアプリ１６を起動する。より詳細には、レーベルアプリ１７は、メインアプリ１６を識別するパッケージ名と、メインアプリ１６によって判断結果表示処理を実行させることを指定するアクティビティ情報と、起動指示情報と、を含むＵＲＩスキームを引数として指定してＯＳ２０が提供するインテントＡＰＩを実行する。起動指示情報は、動作リスト１８を含む。
【００４１】
（判断結果表示処理）
Ｓ１０２の実行後、ＯＳ２０を実行するＣＰＵ１２は、パッケージ名によって識別されるメインアプリ１６を起動してフォアグラウンドで実行する。ＣＰＵ１２は、ＣＰＵ１２はメインアプリ１６を実行することで、アクティビティ情報で指定される判断結果表示処理（図６）を実行する。なお、このとき、レーベルアプリ１７は、バックグラウンドで実行される。
【００４２】
Ｓ２００において、ＣＰＵ１２はＯＳ２０が提供する共有機能を介して、レーベルアプリ１７から起動指示情報を受信する。
【００４３】
Ｓ２０４において、ＣＰＵ１２は、指定装置がレーベルアプリ１７に対応しているか否かを判断する第１対応判断処理（後述）を実行し、Ｓ２０５に進む。第１対応判断処理の実行により指定装置に対応付けられた判断情報が生成される。判断情報は、指定装置がレーベルアプリ１７に対応しているか否かを示す情報であり、具体的には、「対応」、「一部対応」、「非対応」のいずれかを示す。指定装置が基本動作およびオプション動作を実行可能である場合、「対応」を示す判断情報が指定装置に対応付けられて生成される。指定装置が基本動作を実行可能であり、オプション動作を実行不可能である場合、「一部対応」を示す判断情報が指定装置に対応付けられて生成される。指定装置が少なくとも基本動作を実行不可能である場合、「非対応」を示す判断情報が指定装置に対応付けられて生成される。
【００４４】
Ｓ２０５において、ＣＰＵ１２はデバイス無しフラグに第２値”ＯＮ”が設定されているか否かを判断する。デバイス無しフラグは、後述するデバイス選択処理において、基本動作を実行できるＭＦＰ４０が情報処理端末１０と通信可能に接続されていないと判断される場合に、第２値”ＯＮ”が設定されるフラグである。なお、デバイス無しフラグには、第１値”ＯＦＦ”がデフォルトで設定されている。
【００４５】
デバイス無しフラグに第１値”ＯＦＦ”が設定されている場合（Ｓ２０５：ＯＦＦ）、ＣＰＵ１２はＳ２０６に進む。
【００４６】
ＣＰＵ１２は、Ｓ２０６において、指定装置情報に対応付けられた判断情報により「対応」が示されると判断する場合（Ｓ２０６：対応）、図１２（Ａ）に示す判断画面Ｄ１を表示部３０に表示させる（Ｓ２０７）。図１２（Ａ）は、ＭＦＰ４０Ａが指定装置として指定されている場合について示している。この場合、判断画面Ｄ１は、メッセージＭ１、Ｍ２を含む。メッセージＭ１はＭＦＰ４０Ａの装置情報ｄ１に含まれる装置ＩＤを示し、メッセージＭ２は判断情報を示す。
【００４７】
Ｓ２０８において、ＣＰＵ１２は判断画面Ｄ１におけるＯＫボタンＢ１を選択するユーザ操作を、操作部２８を介して受け付けるまで処理を待機する（Ｓ２０８：Ｎｏ）。操作部２８を介してＯＫボタンＢ１を選択するユーザ操作を受け付けた場合（Ｓ２０８：Ｙｅｓ）、ＣＰＵ１２は、ＯＳ２０が提供する共有機能を介して、判断情報をレーベルアプリ１７に送信する（Ｓ２１０）。より詳細には、メインアプリ１６は、レーベルアプリ１７を識別するパッケージ名と、レーベルアプリ１７によってメイン処理（後述）を実行させることを指定するアクティビティ情報と、判断情報と、を含むＵＲＩスキームを引数として指定してＯＳ２０が提供するインテントＡＰＩを実行する。そして、ＣＰＵ１２は、判断結果表示処理を終了する。
【００４８】
また、ＣＰＵ１２は、Ｓ２０６において、指定装置情報に対応付けられた判断情報により「一部対応」が示されると判断する場合（Ｓ２０６：一部対応）、図１２（Ｂ）に示す判断画面Ｄ１を表示部３０に表示させる（Ｓ２１２）。図１２（Ｂ）は、ＭＦＰ４０Ｂが指定装置として指定されている場合について示している。この場合、判断画面Ｄ１は、メッセージＭ１と、判断情報を示すメッセージＭ２と、ＯＫボタンＢ１と、デバイス選択ボタンＢ２と、を含む。メッセージＭ１は、ＭＦＰ４０Ｂの装置情報ｄ２に含まれる装置ＩＤを示す。判断情報が「一部対応」を示す場合、メッセージＭ２は、レーベルアプリ１７が有する機能のうち、指定装置が対応している機能を示す情報（例えば、機能名、あるいは機能を表す画像）を含んでもよい。
【００４９】
Ｓ２１４において、ＣＰＵ１２は判断画面Ｄ１におけるボタンを選択するユーザ操作を、操作部２８を介して受け付ける。操作部２８を介してＯＫボタンＢ１を選択するユーザ操作を受け付けた場合（Ｓ２１４：ＯＫボタン）、Ｓ２１０と同様の処理を実行し（Ｓ２１６）、判断結果表示処理を終了する。一方で、操作部２８を介してデバイス選択ボタンＢ２を選択するユーザ操作を受け付けた場合（Ｓ２１４：デバイス選択ボタン）、Ｓ２１８のデバイス選択処理（後述）を実行し、Ｓ２０５に戻る。
【００５０】
また、ＣＰＵ１２は、Ｓ２０６において、指定装置情報に対応付けられた判断情報により「非対応」が示されると判断する場合（Ｓ２０６：非対応）、図１２（Ｃ）に示す判断画面Ｄ１を表示部３０に表示させる（Ｓ２２２）。図１２（Ｃ）は、ＭＦＰ４０Ｃが指定装置として指定されている場合について示している。この場合、判断画面Ｄ１は、メッセージＭ１と、メッセージＭ２と、デバイス選択ボタンＢ２と、を含む。メッセージＭ１は、ＭＦＰ４０Ｃの装置情報ｄ３に含まれる装置ＩＤを示す。メッセージＭ２は、判断情報を示す。
【００５１】
Ｓ２２４において、ＣＰＵ１２は判断画面Ｄ１におけるデバイス選択ボタンＢ２を選択するユーザ操作を、操作部２８を介して受け付けるまで処理を待機する（Ｓ２２４：Ｎｏ）。操作部２８を介してデバイス選択ボタンＢ２を選択するユーザ操作を受け付けた場合（Ｓ２２４：Ｙｅｓ）、ＣＰＵ１２は、デバイス選択処理（後述）を実行し、Ｓ２０５に戻る。
【００５２】
一方で、デバイス無しフラグに第２値”ＯＮ”が設定されている場合（Ｓ２０５：ＯＮ）、ＣＰＵ１２は、図１２（Ｄ）に示す確認画面Ｄ４を表示する（Ｓ２２８）。確認画面Ｄ４は、レーベルアプリ１７に対応するデバイスが無いことを示すメッセージＭ３と、ＯＫボタンＢ３とを含む。
【００５３】
Ｓ２２９において、ＣＰＵ１２は確認画面Ｄ４におけるＯＫボタンＢ３を選択するユーザ操作を、操作部２８を介して受け付けるまで処理を待機する（Ｓ２２９：Ｎｏ）。操作部２８を介してＯＫボタンＢ３を選択するユーザ操作を受け付けた場合（Ｓ２２９：Ｙｅｓ）、ＣＰＵ１２は、デバイス無しフラグに第１値”ＯＦＦ”を設定し（Ｓ２３０）、Ｓ２１０またはＳ２１６と同様の処理を実行した後に（Ｓ２３２）、判断結果表示処理を終了する。
【００５４】
（デバイス選択処理）
図７は、デバイス選択処理のフローチャートを示した図の一例である。
【００５５】
Ｓ４００において、メインアプリ１６を実行するＣＰＵ１２は、通信ＩＦ２６を通じて通信可能な複数のＭＦＰ４０を検索する。具体的には、ＣＰＵ１２は、ＳＮＭＰ（Simple Network Management Protocol）を用いて、通信ＩＦ２６を通じて、通信ネットワーク１０１に送信要求情報をブロードキャストする。次に、ＣＰＵ１２は、送信要求情報の応答として、ＭＦＰ４０が送信した装置情報を、通信ＩＦ２６を通じて受信する。ＣＰＵ１２は、ＭＦＰ４０Ａ、ＭＦＰ４０Ｂ、ＭＦＰ４０Ｃを通信可能なＭＦＰ４０として特定する。なお、通信可能なＭＦＰ４０を検索する方法は、周知の他の方法であってもよい。
【００５６】
Ｓ４０２において、ＣＰＵ１２は、Ｓ４００で通信可能なＭＦＰ４０として特定した複数のＭＦＰ４０の各々がレーベルアプリ１７に対応しているか否かを判断する第２対応判断処理を実行する。第２対応判断処理の実行により、Ｓ４００で通信可能なＭＦＰ４０として特定した複数のＭＦＰ４０の各々ごとに、レーベルアプリ１７に対応しているか否かを示す判断情報が生成される。各判断情報はＳ４００で受信した複数のＭＦＰ４０の各々の装置情報と対応付けて記憶される。なお、ＣＰＵ１２は、Ｓ４００とＳ４０２の処理を並列して実行してもよい。より詳細には、ＣＰＵ１２は、Ｓ４００において装置情報を受信するたびに、装置情報を受信したＭＦＰ４０がレーベルアプリ１７に対応しているか否かを判断する第２対応判断処理を実行し、当該第２対応判断処理と並列して検索処理を実行してもよい。
【００５７】
Ｓ４０４において、ＣＰＵ１２は、Ｓ４０２の第２対応判断処理の実行によって生成された判断情報のうち、「対応」、または、「一部対応」を示す判断情報が少なくとも１つあるか無いかについて判断する。
【００５８】
ＣＰＵ１２は、Ｓ４０４において肯定判断する場合（Ｓ４０４：Ｙｅｓ）、図１３に示すデバイス選択画面Ｄ５を表示部３０に表示させる（Ｓ４０６）。デバイス選択画面Ｄ５は、デバイスオブジェクトＣ１を含む。デバイスオブジェクトＣ１は、Ｓ４０２で基本動作を実行可能であるＭＦＰ４０として特定した複数のＭＦＰ４０の各々（ＭＦＰ４０Ａ、ＭＦＰ４０Ｂ）に対応する。また、デバイス選択画面Ｄ５におけるデバイスオブジェクトＣ１の表示領域には、ＭＦＰ４０の装置ＩＤおよびレーベルアプリ１７に対応しているか否かを示す判断情報を表示させてもよい。なお、判断情報が「一部対応」を示すＭＦＰ４０に対応するデバイスオブジェクトＣ１の表示領域には、レーベルアプリが有する機能のうち当該ＭＦＰ４０が実行不可能である機能を示す情報（例えば、機能名、あるいは機能を表す画像）を表示してもよい。また、レーベルアプリ１７に非対応であるＭＦＰ４０に対応するデバイスオブジェクトＣ１は、指定不可能な態様で表示させてもよいし、デバイス選択画面Ｄ５に表示させないようにしてもよい。また、指定装置が実行不可能である画像処理動作を実行可能であるＭＦＰ４０に対応するデバイスオブジェクトＣ１を強調表示してもよい（例えば、デバイスオブジェクトＣ１のサイズを大きくして表示してもよいし、デバイスオブジェクトＣ１の枠線を太くして表示してもよい）。図１１は、指定装置としてＭＦＰ４０Ｂが選択されていた場合のデバイス選択画面Ｄ５の一例を示している。この場合、ＭＦＰ４０Ｂが実行不可能であるレーベルスキャン動作を実行可能であるＭＦＰ４０Ａに対応するデバイスオブジェクトＣ１が強調表示されている。
【００５９】
Ｓ４０８において、ＣＰＵ１２は、デバイス選択画面Ｄ５におけるデバイスオブジェクトＣ１を選択するユーザ操作を、操作部２８を介して受け付けるまで処理を待機する（Ｓ４０８：Ｎｏ）。操作部２８を介してデバイスオブジェクトＣ１を選択するユーザ操作を受け付けると（Ｓ４０８）、記憶部１４に記憶されている指定装置情報および指定装置情報に対応付けられた判断情報を、ユーザ操作を受け付けたデバイスオブジェクトＣ１に対応するＭＦＰ４０の装置情報ｄおよび当該装置情報ｄに対応付けられた判断情報に更新して（Ｓ４１０）、デバイス選択処理を終了する。
【００６０】
ＣＰＵ１２は、Ｓ４０４において否定判断する場合（Ｓ４０４：Ｎｏ）、デバイス無しフラグに第２値”ＯＮ”を設定し（Ｓ４１２）、デバイス選択処理を終了する。
【００６１】
（第１対応判断処理）
図８は、第１対応判断処理のフローチャートを示した図の一例である。
【００６２】
Ｓ６００において、ＣＰＵ１２は、指定装置が基本動作を実行可能であるか実行不可能であるかを判断する。より詳細には、ＣＰＵ１２は、Ｓ２００で受信した動作リスト１８に含まれる動作ＩＤおよび動作情報によりレーベルプリント動作が基本動作であると判断する。そして、ＣＰＵ１２は、指定装置の装置情報ｄに含まれる能力情報が、プリント動作に対応している情報と、対応する用紙サイズとしてレーベルを示す情報と、を含んでいると判断すれば、レーベルプリント動作を実行可能と判断する。
【００６３】
ＣＰＵ１２は、指定装置が基本動作を実行可能であると判断する場合（Ｓ６００：Ｙｅｓ）、指定装置がオプション動作を実行可能であるか否かを判断する（Ｓ６０４）。より詳細には、ＣＰＵ１２は、Ｓ２００で受信した動作リスト１８に含まれる動作ＩＤおよび動作情報によりレーベルスキャン動作がオプション動作であると判断する。そして、ＣＰＵ１２は、指定装置の装置情報ｄに含まれる能力情報が、スキャン動作に対応している情報と、レーベルコピーに合わせたカラーに対応している情報と、を含んでいると判断すれば、レーベルスキャン動作を実行可能と判断する。指定装置がレーベルコピーに合わせたカラーに対応しているとは、指定装置がレーベルの表面に画像を記録するために適した色変換をスキャンデータに対して行うことができること意味する。
【００６４】
指定装置がオプション動作を実行可能であると判断する場合（Ｓ６０４：Ｙｅｓ）、ＣＰＵ１２は、「対応」判断情報を生成して、当該判断情報を指定装置情報と対応付けて記憶部１４に記憶し（Ｓ６０８）、対応判断処理を終了する。
【００６５】
指定装置がオプション動作を実行不可能であると判断する場合（Ｓ６０４：Ｎｏ）、「一部対応」を示す判断情報を生成して、当該判断情報を指定装置情報と対応付けて記憶部１４に記憶し（Ｓ６１２）、対応判断処理を終了する。このとき、判断情報は、指定装置が実行不可能であるオプション動作を示す情報を含む。なお、判断情報は指定装置が実行可能であるオプション動作を示す情報を含んでいてもよい。
【００６６】
一方で、指定装置が基本動作を実行不可能であると判断する場合（Ｓ６００：Ｎｏ）、ＣＰＵ１２は、Ｓ６０４を実行することなく、「非対応」を示す判断情報を生成して、当該判断情報を指定装置情報と対応付けて記憶部１４に記憶し（Ｓ６１６）、対応判断処理を終了する。
【００６７】
以上の処理により、ＣＰＵ１２は、レーベルアプリ１７に指定装置が対応しているか否かを判断する。
【００６８】
（第２対応判断処理）
図９は、第２対応判断処理のフローチャートを示した図の一例である。
【００６９】
Ｓ８００において、ＣＰＵ１２は、Ｓ４００で特定した複数のＭＦＰ４０のうちのいずれかのＭＦＰ４０を判断対象とし、判断対象としているＭＦＰ４０が基本動作を実行可能であるか実行不可能であるかを判断する。ＣＰＵ１２は、判断対象としているＭＦＰ４０が基本動作を実行可能であると判断する場合（Ｓ８００：Ｙｅｓ）、判断対象としているＭＦＰ４０がオプション動作を実行可能であるか否かを判断する（Ｓ８０４）。
【００７０】
判断対象としているＭＦＰ４０がオプション動作を実行可能であると判断する場合（Ｓ８０４：Ｙｅｓ）、ＣＰＵ１２は、「対応」を示す判断情報を生成し、当該判断情報を判断対象としているＭＦＰ４０の装置情報と対応付けて記憶部１４に記憶し（Ｓ８０８）、Ｓ８２０に進む。
【００７１】
判断対象としているＭＦＰ４０がオプション動作を実行不可能であると判断する場合（Ｓ８０４：Ｎｏ）、「一部対応」を示す判断情報を生成し、当該判断情報を判断対象としているＭＦＰ４０の装置情報と対応付けて記憶部１４に記憶し（Ｓ８１２）、Ｓ８２０に進む。このとき、判断情報は、判断対象としているＭＦＰ４０が実行不可能であるオプション動作を示す情報を含む。なお、判断情報は、実行不可能であるオプション動作を示す情報の代わりに、判断対象としているＭＦＰ４０が実行可能であるオプション動作を示す情報を含んでいてもよい。
【００７２】
一方で、ＣＰＵ１２は、Ｓ８００で否定判断する場合（Ｓ８００：Ｎｏ）、「非対応」を示す判断情報を生成し、当該判断情報を判断対象としているＭＦＰ４０の装置情報と対応付けて記憶部１４に記憶し（Ｓ８１６）、Ｓ８２０に進む。
【００７３】
Ｓ８２０において、ＣＰＵ１２は、Ｓ４００で通信可能なＭＦＰ４０として特定した全てのＭＦＰ４０について、レーベルアプリ１７に対応しているか否か判断したかを確認する。具体的には、ＣＰＵ１２は、Ｓ４００で通信可能なＭＦＰ４０として特定した全てのＭＦＰ４０の装置情報に判断情報が対応付けられているか否かを確認する。
【００７４】
Ｓ８２０で否定判断する場合（Ｓ８２０：Ｎｏ）、ＣＰＵ１２は、Ｓ８００に戻り、まだレーベルアプリ１７に対応しているか否か判断していないＭＦＰ４０について、基本動作を実行可能か否かの判断を行う。一方で、ＣＰＵ１２は、Ｓ８２０において肯定判断する場合（Ｓ８２０：Ｙｅｓ）、第２対応判断処理を終了する。
【００７５】
（メイン処理）
図６のＳ２１０またはＳ２１６の実行後、ＯＳ２０を実行するＣＰＵ１２は、パッケージ名によって識別されるレーベルアプリ１７をフォアグラウンドで実行する。ＣＰＵ１２は、レーベルアプリ１７を実行することで、アクティビティ情報で指定されるメイン処理（図１０）を実行する。
【００７６】
Ｓ１０００においてＣＰＵ１２は、ＯＳ２０が提供する共有機能を介して、メインアプリ１６から判断情報を受信する。
【００７７】
Ｓ１００２おいてＣＰＵ１２は、Ｓ１０００で受信した判断情報が「非対応」を示すと判断する場合（Ｓ１００２：非対応）、レーベルアプリ１７に対応するデバイスが無いことを示すエラー画面（不図示）を表示部３０に表示させる（Ｓ１００３）。エラー画面は、レーベルアプリ１７に対応するデバイスが無いことを示すメッセ―ジを含んでいる。そして、ＣＰＵ１２は、メイン処理を終了する。
【００７８】
Ｓ１００２おいてＣＰＵ１２は、Ｓ１０００で受信した判断情報が「対応」を示すと判断する場合（Ｓ１００２：対応）、ＣＰＵ１２は、図１３（Ｂ）に示すメニュー画面Ｄ６を表示部３０に表示させる（Ｓ１００４）。メニュー画面Ｄ６は、レーベルアプリ１７が有するレーベル印刷機能およびレーベルコピー機能に対応する機能オブジェクトＣ３およびＣ４を含む。
【００７９】
Ｓ１００２おいてＣＰＵ１２は、Ｓ１０００で受信した判断情報が「一部対応」を示すと判断する場合（Ｓ１００２：一部対応）、ＣＰＵ１２は、図１３（Ｂ）に示すメニュー画面Ｄ６を表示部３０に表示させる（Ｓ１００６）。ＣＰＵ１２は、判断情報に含まれる指定装置が実行不可能であるオプション動作を示す情報に基づいて、指定装置が実行可能である機能に対応する機能オブジェクトＣ３を指定可能な態様で表示部３０に表示させ、指定装置が実行不可能であるオプション動作を含む機能に対応する機能オブジェクトＣ３を指定不可能な態様で表示部３０に表示させてもよい。
【００８０】
Ｓ１００８においてＣＰＵ１２は、指定可能な態様で表示されたレーベル印刷機能に対応する機能オブジェクトＣ３を選択するユーザ操作を、操作部２８を介して受け付けた場合（Ｓ１００８：レーベルプリント）、図１３（Ｃ）に示すレーベル編集画面Ｄ７を表示部３０に表示させる（Ｓ１０１０）。レーベル編集画面Ｄ７は、レーベル画像Ｃ５と、編集ボタンＢ４、Ｂ５、Ｂ６と、プリントボタンＢ７とを含む。そして、レーベルアプリ１７は、レーベル編集画面Ｄ７に対するユーザ操作を、操作部２８を介して受け付け、プリントボタンＢ７を選択するユーザ操作を、操作部２８を介して受け付けるまで処理を待機する（Ｓ１０１２：Ｎｏ）。
【００８１】
レーベル画像Ｃ５は、編集ボタンＢ４〜Ｂ６を用いて編集された画像である。編集ボタンＢ４は、レーベル画像Ｃ５に文字列を追加する指示に対応する。編集ボタンＢ５は、レーベル画像Ｃ５に色を付加する指示に対応する。編集ボタンＢ６は、レーベル画像Ｃ５に写真を追加する指示に対応する。プリントボタンＢ７は、レーベルプリント動作の実行指示に対応する。
【００８２】
ＣＰＵ１２は、編集ボタンＢ４〜Ｂ６に対するユーザ操作に従ってレーベル画像Ｃ５を編集し、編集後のレーベル画像Ｃ５を示すレーベル画像データを記憶部１４に記憶する。この処理は、レーベルプリント動作の実行条件の指定を受け付ける処理の一例である。レーベルプリント動作の実行条件とは、例えば、レーベルプリント動作の対象となる画像データ、レーベルプリント動作の画質（例えば、ファイン、ノーマル等）、レーベルに記録する画像の色（例えば、カラー、モノクロ等）等であってもよい。
【００８３】
ＣＰＵ１２は、プリントボタンＢ７を選択するユーザ操作を、操作部２８を介して受け付けたことに応じて（Ｓ１０１２：Ｙｅｓ）、レーベルプリント動作の実行を指定装置に指示するレーベル印刷指示情報を、メインアプリ１６に送信する（Ｓ１０１４）。より詳細には、レーベルアプリ１７は、メインアプリ１６を識別するパッケージ名と、メインアプリ１６によって印刷処理（後述）を実行させることを指定するアクティビティ情報と、動作ＩＤ“レーベルプリント”及びレーベル画像データのＵＲＩを含むＵＲＩスキームを引数として指定してＯＳ２０が提供するインテントＡＰＩを実行する。そして、ＣＰＵ１２は、メイン処理を終了する。
【００８４】
一方、ＣＰＵ１２は、Ｓ１００８においてＣＰＵ１２は、指定可能な態様で表示されたレーベルコピー機能に対応する機能オブジェクトＣ４を選択するユーザ操作を、操作部２８を介して受け付けた場合（Ｓ１００８：レーベルコピー）、レーベルスキャン動作の実行を指定装置に指示するレーベル読取指示情報を、メインアプリ１６に送信する（Ｓ１０１６）。より詳細には、レーベルアプリ１７は、動作ＩＤ“レーベルスキャン”を含むＵＲＩスキームを引数として指定してＯＳ２０が提供するインテントＡＰＩを実行する。
【００８５】
次に、ＣＰＵ１２は、指定装置が生成したスキャンデータを、メインアプリ１６を通じて受信する（Ｓ１０１８）。
【００８６】
ＣＰＵ１２は、図１３（Ｃ）に示すレーベル編集画面を表示部３０に表示させる（Ｓ１０２０）。このとき、Ｓ１０１８で受信したスキャンデータで示されるスキャン画像を含むレーベル編集画面を表示させてもよい。そして、ＣＰＵ１２は、Ｓ１０１２と同様のＳ１０２２の処理を実行し、Ｓ１０１４と同様のＳ１０２４の処理を実行した後に、メイン処理を終了する。なお、Ｓ１０２０〜Ｓ１０２４を実行する代わりに、ＣＰＵ１２は、Ｓ１０１８で受信したスキャンデータを記憶部１４に記憶させてもよい。
【００８７】
（印刷処理）
Ｓ２１０またはＳ２１６の実行後、ＯＳ２０を実行するＣＰＵ１２は、パッケージ名によって識別されるメインアプリ１６をフォアグラウンドで実行する。ＣＰＵ１２は、メインアプリ１６を実行することで、アクティビティ情報で指定される印刷処理（図１１）を実行する。
【００８８】
Ｓ１１００において、ＣＰＵ１２は、ＯＳ２０が提供する共有機能を介して、レーベルアプリ１７から動作ＩＤ“レーベルプリント”及びレーベル画像データのＵＲＩを含むＵＲＩスキームを受信する。
【００８９】
Ｓ１１０２において、ＣＰＵ１２は、通信ＩＦ２６を通じて指定装置にレーベル印刷指示情報を送信し、印刷処理を終了する。その後、図示は省略するが、ＭＦＰ１０の制御プログラム３５は、通信ＩＦ３１を通じて情報処理端末１０からレーベル印刷指示情報を受信し、受信したレーベル印刷指示情報に従ったレーベルプリント動作を、プリンタ２９に実行させる。
【００９０】
[本実施形態による効果]
上述したように、メインアプリ１６を実行するＣＰＵ１２は、レーベルアプリ１７がメインアプリ１６を通じて指定装置に指示可能である画像処理動作を示す動作ＩＤを受信し（Ｓ２００）、受信した動作ＩＤが示す画像処理動作を指定装置が実行可能か否か判断し（Ｓ２０４）、当該判断の結果を示す判断情報を含む判断画面Ｄ１を表示部３０に表示させる（Ｓ２０７、Ｓ２１２、Ｓ２２２）。そして、ＣＰＵ１２は、指定装置が実行可能と判断した画像処理動作を実行させるためのレーベル印刷指示情報をレーベルアプリ１７から受信し（Ｓ１１００）、レーベル印刷指示情報を指定装置に送信する。従って、ユーザはレーベルアプリ１７が指示可能である画像処理動作を指定装置が実行可能であることを把握した上で、レーベルアプリ１７において画像処理動作を指定するユーザ操作を行うことができるので（例えば、Ｓ１００８、Ｓ１０１２、あるいはＳ１０２２）、レーベルアプリ１７における画像処理動作を指定するユーザ操作が無駄になることを防止することができる。
【００９１】
また、メインアプリ１６を実行するＣＰＵ１２は、動作ＩＤが示す画像処理動作を指定装置が実行不可能であると判断した場合（Ｓ２０６：非対応）、ＣＰＵ１２は、デバイス選択処理を実行する（Ｓ２２６）。デバイス選択処理を実行するＣＰＵ１２は、情報処理端末１０と通信可能と特定した複数のＭＦＰ４０の各々が、動作ＩＤにより示される画像処理動作を実行可能であるか否かを判断し（Ｓ４０２）、当該画像処理動作を実行可能と判断したＭＦＰ４０のデバイスオブジェクトＣ１を含むデバイス選択画面Ｄ５を表示部３０に表示させ（Ｓ４０６）、操作部２８を介してデバイスオブジェクトＣ１を選択するユーザ操作を受け付けると（Ｓ４０８）、記憶部１４に記憶されている指定装置情報を、ユーザ操作を受け付けたデバイスオブジェクトＣ１に対応するＭＦＰ４０の装置情報ｄに更新する（Ｓ４１０）。従って、動作ＩＤが示す画像処理動作を指定装置が実行不可能である場合であっても、ユーザは、レーベルアプリ１７において画像処理動作を指定するユーザ操作を行う前に、動作ＩＤが示す画像処理動作を実行可能であるＭＦＰ４０を指定装置として簡単に指定することができる。
【００９２】
また、メインアプリ１６を実行するＣＰＵ１２は、判断情報がレーベルアプリ１７に一部対応であることを示す場合（Ｓ２０６：一部対応）、デバイス選択処理の実行を指示するデバイス選択ボタンＢ２と、判断情報をレーベルアプリ１７に送信する処理であるＳ２１０の実行を指示するＯＫボタンＢ１と、を含む判断画面Ｄ１を表示部３０に表示させる（Ｓ２２８）。ＣＰＵ１２は、ＯＫボタンＢ１を選択するユーザ操作を、操作部２８を介して受け付けた場合（Ｓ２１４）、判断情報をレーベルアプリ１７に送信する。レーベルアプリ１７が指示可能である画像処理動作のいくつかに対応しているＭＦＰ４０が指定装置である場合、当該指定装置を指定したまま、レーベルアプリ１７において当該指定装置が実行可能である画像処理動作を指定したいという場合と、当該指定装置が実行できない画像処理動作を実行できる他のＭＦＰ４０を指定したいという場合とがある。上述した構成によれば、メインアプリ１６を実行するＣＰＵ１２は、これらの場合に対応できるため、ユーザにとって好都合である。
【００９３】
また、メインアプリ１６を実行するＣＰＵ１２は、動作リスト１８によって基本動作と示される画像処理動作を指定装置が実行不可能であると判断した場合（Ｓ６００：Ｎｏ）、指定装置が動作リスト１８によってオプション動作と示される画像処理動作を実行可能であったとしても、ＯＫボタンＢ１を表示部３０に表示させず、デバイス選択ボタンＢ２を含む判断画面Ｄ１を表示部３０に表示させる（Ｓ２２２）。従って、基本動作を実行不可能であるにも関わらず、レーベルアプリ１７において画像処理動作を指定するユーザ操作をユーザが行うことを防ぐことができる。
【００９４】
また、メインアプリ１６を実行するＣＰＵ１２は、動作リスト１８によって基本動作と示される画像処理動作を指定装置が実行可能であるか否か判断した後に（Ｓ６００）、動作リスト１８によってオプション動作と示される画像処理動作を指定装置が実行可能であるか否か判断し（Ｓ６０４）、当該判断の結果を示す判断情報を含む判断画面Ｄ１を表示部３０に表示させる（Ｓ２０７、Ｓ２１２、Ｓ２２２）。従って、メインアプリ１６を実行するＣＰＵ１２は、ユーザに判断の結果を迅速に報知することができる。
【００９５】
また、メインアプリ１６を実行するＣＰＵ１２は、基本動作を実行可能であるＭＦＰ４０に対応するデバイスオブジェクトＣ１を含むデバイス選択画面Ｄ５を表示部３０に表示させる（Ｓ４０６）。従って、基本動作を実行不可能であるデバイスを誤ってユーザに指定させてしまうことを防ぐことができる。
【００９６】
また、メインアプリ１６を実行するＣＰＵ１２は、デバイス選択画面Ｄ５において、指定装置が実行不可能である画像処理動作を実行可能であるＭＦＰ４０に対応するデバイスオブジェクトＣ１を、表示部３０に強調表示させる（Ｓ４０６）。デバイス選択処理の実行を指示した場合、ユーザは指定装置が実行不可能である画像処理動作を実行可能であるＭＦＰ４０を指定装置として指定したい可能性が高い。従って、上記構成によれば、ユーザは所望する指定装置を容易に見つけることができる。
【００９７】
[変形例]
上記の実施例では、レーベルアプリ１７が起動された後、ＣＰＵ１２は、起動画面を表示し（Ｓ１００）、起動指示情報をメインアプリに送信していた（Ｓ１０２）。しかしながら、例えば、レーベルアプリ１７が起動された後、レーベルアプリ１７を実行するＣＰＵ１２は、起動画面を表示することなく、デバイスチェックボタンを含んだメニュー画面を表示し、デバイスチェックボタンを選択するユーザ操作を、操作部２８を介して受け付けた場合に、メインアプリ１６に起動指示情報を送信してもよい。
【００９８】
上記の実施例では、動作リスト１８は動作ＩＤと動作情報とを含んでいたが、動作リスト１８は少なくともレーベルアプリ１７がメインアプリ１６を通じて指定装置に指示可能である画像処理動作のうちの少なくとも１つの動作ＩＤを含んでいてもよい。この場合、図８の第１対応判断処理において、Ｓ６００とＳ６０４とを１度に実行してもよい。つまり、動作ＩＤにより示される画像処理動作を指定装置が実行可能であるか否かを１つの処理で判断してもよい。このとき、動作ＩＤにより識別される画像処理動作のうち、いくつかを実行可能であれば、「一部対応」を示す判断情報を生成してもよい。図８の第２対応判断処理におけるＳ８００およびＳ８０４についても同様である。
【００９９】
上記の実施例では、図１１（Ａ）〜（Ｃ）に示した判断画面Ｄ１はメッセージＭ１およびメッセージＭ２を含んでいたが、判断画面Ｄ１は少なくともメッセージＭ２を含んでいればよい。
【０１００】
上記の実施例では、基本動作は、レーベルアプリ１７が有する全ての機能を利用するために共通して必要とされる画像処理動作であったが、例えば、レーベルアプリ１７のベンダーによって予め定義された特定の画像処理動作であってもよい。
【０１０１】
上記の実施例では、図１２（Ａ）に示したデバイス選択画面Ｄ５はＳ４０２で基本動作を実行可能であるＭＦＰ４０として特定した複数のＭＦＰ４０の各々（ＭＦＰ４０Ａ、ＭＦＰ４０Ｂ）に対応するデバイスオブジェクトＣ１を含んでいたが、Ｓ４００で特定した通信可能なＭＦＰ４０の各々に対応するデバイスオブジェクトＣ１を含み、Ｓ４０２で基本動作を実行不可能と判断したＭＦＰ４０に対応するデバイスオブジェクトＣ１を指定不可能（例えば、グレーアウト）に表示してもよい。
【０１０２】
上記の実施例では、図８の第１対応判断処理において、ＣＰＵ１２はＳ指定装置が基本動作に対応していないと判断した場合（Ｓ６００：Ｎｏ）、指定装置がオプション動作を実行可能であるか否か判断することなく（Ｓ６０４）、Ｓ６１６に進んだが、Ｓ６０４を実行した上で、指定装置が基本動作に対応していなければ、Ｓ６１２に進んでもよい。第２対応判断処理におけるＳ８００、Ｓ８０４およびＳ８１６についても同様である。
【０１０３】
上記の実施例では、図５〜図１１の各処理がソフトウェア（即ち記憶部１４に記憶されているメインアプリ１６やレーベルアプリ１７）によって実現されるが、これらの各処理のうちの少なくとも１つが論理回路等のハードウェアによって実現されてもよい。
【０１０４】
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は、複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【０１０５】
[請求項との対応]
ＭＦＰ４０は画像処理装置の一例である。メインアプリ１６はプログラムの一例である。レーベルアプリ１７は外部プログラムの一例である。動作ＩＤは識別情報の一例である。デバイス選択ボタンＢ２は第１オブジェクトの一例である。ＯＫボタンＢ１は第２オブジェクトの一例である。デバイスオブジェクトＣ１は装置オブジェクトの一例である。レーベル印刷指示情報は動作指示情報の一例である。通信ＩＦ２６は通信部の一例である。ＣＰＵ１２は制御部の一例であるＣＰＵ１２は、メインアプリ１６を読み取ることで、各種の手段として機能する。
【０１０６】
Ｓ２００の処理は第１受信処理の一例である。Ｓ２０４の処理は第１判断処理の一例である。Ｓ２０７、Ｓ２１２およびＳ２２２の処理は第１表示処理の一例である。Ｓ１１００の処理は第２受信処理の一例である。Ｓ１１０２の処理は動作指示処理の一例である。Ｓ４０２の処理は第２判断処理の一例である。Ｓ４０６は第２表示処理の一例である。Ｓ２１０、Ｓ２１６およびＳ２３２の処理は送信処理の一例である。Ｓ４０８の処理は受付処理の一例である。
【符号の説明】
【０１０７】
１０・・・情報処理端末
１２・・・ＣＰＵ
１６・・・メインアプリケーション
１７・・・レーベルアプリケーション
４０・・・ＭＦＰ
【図１】
2019101956.tif 000003
【図２】
2019101956.tif 000004
【図３】
2019101956.tif 000005
【図４】
2019101956.tif 000006
【図５】
2019101956.tif 000007
【図６】
2019101956.tif 000008
【図７】
2019101956.tif 000009
【図８】
2019101956.tif 000010
【図９】
2019101956.tif 000011
【図１０】
2019101956.tif 000012
【図１１】
2019101956.tif 000013
【図１２】
2019101956.tif 000014
【図１３】
2019101956.tif 000015