JP6763249B2 - プログラム - Google Patents

プログラム Download PDF

Info

Publication number
JP6763249B2
JP6763249B2 JP2016180404A JP2016180404A JP6763249B2 JP 6763249 B2 JP6763249 B2 JP 6763249B2 JP 2016180404 A JP2016180404 A JP 2016180404A JP 2016180404 A JP2016180404 A JP 2016180404A JP 6763249 B2 JP6763249 B2 JP 6763249B2
Authority
JP
Japan
Prior art keywords
program
designated
image processing
label
mobile terminal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016180404A
Other languages
English (en)
Other versions
JP2018045494A (ja
Inventor
紀彦 浅井
紀彦 浅井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Brother Industries Ltd
Original Assignee
Brother Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Brother Industries Ltd filed Critical Brother Industries Ltd
Priority to JP2016180404A priority Critical patent/JP6763249B2/ja
Priority to US15/697,760 priority patent/US10389892B2/en
Publication of JP2018045494A publication Critical patent/JP2018045494A/ja
Priority to US16/444,606 priority patent/US11489976B2/en
Application granted granted Critical
Publication of JP6763249B2 publication Critical patent/JP6763249B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Description

本発明は、携帯端末のプログラムであって、同じ携帯端末にインストールされた他のプログラムを利用して、画像処理装置に画像処理動作を実行させるプログラムに関する。
例えば特許文献1には、同じ携帯端末にインストールされた他のプログラム(以下、「外部プログラム」と表記する。)を起動し、起動した外部プログラムからの指示に従って、画像処理装置に画像処理動作を実行させるプログラムが開示されている。一例として、当該プログラムは、外部プログラムから指定された画像データを出力する出力動作を、画像処理装置に実行させることができる。他の例として、当該プログラムは、画像処理装置に実行させた入力動作で生成された画像データを、外部プログラムに編集させることができる。
特開2012−203742号公報
しかしながら、適切な画像処理装置が接続されていない状態で外部プログラムを起動したとしても、外部プログラムを利用した処理を完了することができない。すなわち、ユーザは、適切な画像処理装置を選択してから、外部プログラムの起動を指示する必要がある。そして、画像処理装置及び外部プログラムの多様化に伴って、このような手順でプログラムを操作するユーザの負担も増大する。
本発明は、上記の事情に鑑みてなされたものであり、その目的は、外部プログラムを利用して画像処理装置に画像処理動作を実行させるプログラムにおいて、起動する外部プログラムに適した画像処理装置を簡単に選択させる技術を提供することにある。
本明細書では様々な開示を行う。開示例の1つであるプログラムは、メモリと、入力インタフェースと、通信インタフェースとを備える携帯端末によって読み取り可能である。前記メモリは、該プログラムが起動可能な複数の外部プログラムを記憶している。前記外部プログラムは、複数の画像処理動作のうちの少なくとも1つを実行可能な画像処理装置に、該プログラムを通じて前記画像処理動作を指示するプログラムである。該プログラムは、複数の前記外部プログラムの1つである指定プログラムを指定するユーザ操作を、前記入力インタフェースを通じて受け付ける第1受付処理と、指定動作の動作IDを含む指定装置情報が前記メモリに記憶されているか否かを判断する第1判断処理とを前記携帯端末に実行させる。前記指定動作は、前記指定プログラムが前記画像処理装置に指示し得る前記画像処理動作である。前記指定装置情報は、ユーザが指定した前記画像処理装置である指定装置が実行可能な前記画像処理動作を識別する前記動作IDを含む。該プログラムは、前記第1判断処理で記憶されていないと判断したことに応じて、前記通信インタフェースを通じて通信可能な複数の前記画像処理装置のうち、前記指定動作を実行可能な前記画像処理装置を検索する第1検索処理と、発見した前記画像処理装置の1つである前記指定装置を指定するユーザ操作を、前記入力インタフェースを通じて受け付ける第2受付処理と、前記第2受付処理で指定された前記指定装置の前記指定装置情報を、前記メモリに記憶させる第1記憶処理と、前記指定動作の前記動作IDを含む前記指定装置情報が前記メモリに記憶されている状態で、前記指定プログラムを起動する起動処理と、前記指定動作の前記動作IDを前記指定プログラムから取得する取得処理と、前記通信インタフェースを通じて前記指定装置に第1指示情報を送信する第1指示処理とを前記携帯端末に実行させる。前記第1指示情報は、前記取得処理で取得した前記動作IDで識別される前記指定動作を実行させるための情報である。
上記構成によれば、起動しようとする外部プログラムが指定されたタイミングで、当該外部プログラムが指示し得る指定動作を実行可能な画像処理装置のうちから、所望の画像処理装置をユーザに指定させることができる。これにより、起動しようとする外部プログラムに適した画像処理装置を簡単に選択させることができる。
図1は、本実施形態に係るシステム100の概略図である。 図2(A)はMFP10のブロック図であり、図2(B)は携帯端末50のブロック図である。 図3は、メモリ62に記憶されたプログラムリストを示す図である。 図4は、メイン処理のフローチャートである。 図5は、メイン画面生成処理のフローチャートである。 図6は、デバイス選択処理のフローチャートである。 図7は、PI起動処理のフローチャートである。 図8は、レーベルPI処理のフローチャートである。 図9は、指示受付処理のフローチャートである。 図10は、ディスプレイ53の表示例であって、(A)はOS64のメニュー画面を、(B)はメイン画面を示す。 図11は、ディスプレイ53の表示例であって、(A)はデバイス選択画面を、(B)は確認画面を示す。 図12は、ディスプレイ53の表示例であって、(A)はレーベルプログラム66のメニュー画面を、(B)はレーベル編集画面を示す。
以下、適宜図面を参照して本発明の実施形態について説明する。なお、以下に説明される実施形態は本発明の一例にすぎず、本発明の要旨を変更しない範囲で、本発明の実施形態を適宜変更できることは言うまでもない。例えば、後述する各処理の実行順序は、本発明の要旨を変更しない範囲で、適宜変更することができる。
図1は、本実施形態に係るシステム100の概略図である。図1に示されるシステム100は、MFP10A、10B(以下、これらを総称して、「MFP10」と表記することがある。)と、携帯端末50とで構成されている。MFP10及び携帯端末50は、通信ネットワーク101を通じて通信可能に構成されている。通信ネットワーク101は、例えば、有線LAN、無線LAN、或いはこれらの組み合わせであってもよい。または、MFP10及び携帯端末50は、USBケーブル等によって接続されていてもよい。
MFP10(Multi-Function Peripheralの略)は、図2(A)に示されるように、プリンタ11と、スキャナ12と、ディスプレイ23と、入力I/F24と、通信I/F25と、CPU31と、メモリ32と、通信バス33とを主に備える。MFP10を構成する各構成要素は、通信バス33を通じて相互に接続されている。MFP10は、画像処理装置の一例である。
プリンタ11は、画像データで示される画像をシートに記録するプリント動作を実行するハードウェアである。プリンタ11の記録方式としては、インクジェット方式や電子写真方式などの公知の方式を採用することができる。スキャナ12は、原稿に記録されている画像を読み取って画像データ(以下、「スキャンデータ」と表記する。)を生成するスキャン動作を実行するハードウェアである。なお、MFP10A、10Bは、少なくとも1つの動作を実行可能であればよい。また、MFP10A、10Bが実行可能な動作は、異なっていてもよい。
プリント動作は、携帯端末50から取得した画像データを出力する出力動作の一例である。スキャン動作は、携帯端末50に入力する画像データを生成する入力動作の一例である。また、プリント動作及びスキャン動作は、画像処理動作の一例である。但し、画像処理動作の具体例はこれらに限定されない。出力動作の他の例としては、FAXプロトコルに従って画像データを外部装置にFAX送信するFAX送信動作が挙げられる。入力動作の他の例としては、不図示のサーバから画像データを受信するダウンロード動作が挙げられる。
ディスプレイ23は、液晶ディスプレイ、有機ELディスプレイ等であり、各種情報を表示する表示画面を備える。
入力I/F24は、ユーザによる入力操作を受け付けるユーザインタフェースである。具体的には、入力I/F24はボタンを有しており、押下されたボタンに対応づけられた各種の操作信号をCPU31へ出力する。さらに、入力I/F24は、ディスプレイ23の表示画面に重畳された膜状のタッチセンサを有していてもよい。ディスプレイ23の表示画面に表示されたオブジェクトを指定する操作、文字列或いは数字列を入力する操作は、ユーザ操作の一例である。「オブジェクト」とは、例えば、ディスプレイ23に表示された文字列、アイコン、ボタン、リンク、ラジオボタン、チェックボックス、プルダウンメニュー等である。
タッチセンサとして実現される入力I/F24は、ユーザがタッチした表示画面上の位置を示す位置情報を出力する。なお、本明細書中における「タッチ」とは、入力媒体を表示画面に接触させる操作全般を含む。また、入力媒体が表示画面に触れていなくても、表示画面との間の距離がごく僅かな位置まで入力媒体を近接させる「ホバー」或いは「フローティングタッチ」を、前述の「タッチ」の概念に含めてもよい。さらに入力媒体とは、ユーザの指であってもよいし、タッチペン等であってもよい。ディスプレイ23に表示されたオブジェクトの位置をタップするユーザ操作は、当該オブジェクトを指定するユーザ操作の一例である。
通信I/F25は、通信ネットワーク101を通じて外部装置と通信可能なインタフェースである。すなわち、MFP10は、通信I/F25を通じて外部装置に各種情報を送信し、通信I/F25を通じて外部装置から各種情報を受信する。通信I/F25の具体的な通信手順は特に限定されないが、例えば、Wi−Fi(Wi-Fi Allianceの登録商標)を採用することができる。また、MFP10及び携帯端末50がUSBケーブルで接続される場合、通信I/F25は、USBケーブルを着脱可能なUSBインタフェースであってもよい。
CPU31は、MFP10の全体動作を制御するものである。CPU31は、入力I/F24から出力される各種情報、通信I/F25を通じて外部装置から受信した各種情報等に基づいて、後述する各種プログラムをメモリ32から取得して実行する。CPU31及びメモリ32は、コントローラの一例を構成する。
メモリ32は、OS34と、装置プログラム35とを記憶している。装置プログラム35は、単一のプログラムであってもよいし、複数のプログラムの集合体であってもよい。また、メモリ32は、装置プログラム35の実行に必要なデータ或いは情報等を記憶する。メモリ32は、例えば、RAM、ROM、EEPROM、HDD、MFP10に着脱されるUSBメモリ等の可搬記憶媒体、CPU31が備えるバッファ等、或いはそれらの組み合わせによって構成される。
メモリ32は、コンピュータが読み取り可能なストレージ媒体であってもよい。コンピュータが読み取り可能なストレージ媒体とは、non−transitoryな媒体である。non−transitoryな媒体には、上記の例の他に、CD−ROM、DVD−ROM等の記録媒体も含まれる。また、non−transitoryな媒体は、tangibleな媒体でもある。一方、インターネット上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、コンピュータが読み取り可能な媒体の一種であるコンピュータが読み取り可能な信号媒体であるが、non−transitoryなコンピュータが読み取り可能なストレージ媒体には含まれない。後述する携帯端末50のメモリ62についても同様である。
メモリ32のMIB(Management Information Baseの略)は、図1に示される装置情報を記憶している。装置情報は、MFP10を識別する装置IDと、MFP10が実行可能な画像処理動作を識別する動作IDとを含む。なお、「装置ID」とは、通信ネットワーク101上において、MFP10A、10Bを一意に識別することができれば、テキスト形式、バイナリ形式等の形式は問わない。動作ID、後述するプログラムID、後述するデータID等についても同様である。
すなわち、MFP10Aは、装置ID“MFP−A”で識別され、動作ID“シートプリント”、“レーベルプリント”で識別される画像処理動作を実行可能である。一方、MFP10Bは、装置ID“MFP−B”で識別され、動作ID“シートプリント”、“レーベルプリント”、“シートスキャン”、“レーベルスキャン”で識別される画像処理動作を実行可能である。
動作ID“シートプリント”は、被記録媒体の一例である記録用紙に対して画像を記録するプリント動作(以下、「シートプリント動作」と表記する。)を識別する。動作ID“レーベルプリント”は、被記録媒体の一例であるレーベル(例えば、CD−ROM、DVD−ROM等)の表面に画像を記録するプリント動作(以下、「レーベルプリント動作」と表記する。)を識別する。すなわち、MFP10A、10Bのプリンタ11は、被記録媒体に画像を記録する記録位置に、記録用紙のみならず、レーベルを搬送するハードウェアを備えている。
動作ID“シートスキャン”は、記録用紙に記録された画像を読み取ってスキャンデータを生成するスキャン動作(以下、「シートスキャン動作」と表記する。)を識別する。動作ID“レーベルスキャン”は、レーベルに記録された画像を読み取ってスキャンデータを生成するスキャン動作(以下、「レーベルスキャン動作」と表記する。)を識別する。すなわち、MFP10Aは、スキャナ12を備えていない所謂プリンタ単能機である。一方、MFP10Bは、スキャンデータで示される画像上において、レーベルの中心位置を特定する画像処理機能を備えている。
携帯端末50は、図2(B)に示されるように、ディスプレイ53と、入力I/F54と、通信I/F55と、CPU61と、メモリ62と、通信バス63とを主に備える。携帯端末50に含まれるディスプレイ53、入力I/F54、通信I/F55、CPU61、メモリ62、及び通信バス63は、MFP10に含まれるディスプレイ23、入力I/F24、通信I/F25、CPU31、メモリ32、及び通信バス33と同様の構成であるので、説明は省略する。CPU61及びメモリ62は、コントローラの一例である。
携帯端末50は、例えば、携帯電話、スマートフォン、或いはタブレット端末等である。より詳細には、携帯端末50のディスプレイ53は、表示画面のサイズが12インチ以下、より好ましくは8インチ以下であるのが望ましい。また、携帯端末50の入力I/F54は、ディスプレイ53の表示画面に重ねられたタッチセンサであるのが望ましい。メモリ62は、OS64と、端末プログラム65と、レーベルプログラム66と、地図プログラム67とを記憶している。
OS64は、例えば、Android(Google inc.の登録商標) OS、iOS(Cisco Systems,Inc.の登録商標)、Windows Phone(Microsoft Corporationの登録商標) Operating System等であってもよい。OS64は、携帯端末50にインストールされた複数のプログラムを並行して実行することができる。複数のプログラムは、例えば、時分割多重方式によって仮想的に並行して実行される。また、OS64は、並行して実行する複数のプログラムのうちの1つをフォアグラウンドで実行し、その他のプログラムをバックグラウンドで実行する。
フォアグラウンドは、例えば、当該プログラムの実行に拠る画面がディスプレイ53の表示領域の大部分に表示されている状態である。バックグラウンドは、例えば、当該プログラムと異なるプログラムの実行に拠る画面がディスプレイ53の表示領域の大部分に表示されている状態である。すなわち、携帯端末50は、並行して実行する複数のプログラムのうち、フォアグラウンドで実行されているプログラムの実行に拠る画面のみをディスプレイ53に表示させることができる。
端末プログラム65は、通信I/F55を通じて接続されたMFP10に、画像処理動作を実行させるプログラムである。MFP10に実行させる画像処理動作は、端末プログラム65が入力I/F54を通じてユーザに指定させてもよいし、携帯端末50にインストールされた他のプログラムから指定されてもよい。すなわち、端末プログラム65は、他のプログラムからの指示に従ってMFP10に画像処理動作を実行させる所謂デバイスドライバとは異なるものである。
レーベルプログラム66は、レーベルスキャン動作で生成したスキャンデータを端末プログラム65を通じてMFP10から取得し、取得したスキャンデータからレーベルに記録する画像を示すレーベル画像データを生成する機能を有する。また、レーベルプログラムは、入力I/F54を通じたユーザ操作に従ってレーベル画像データを生成し、生成したレーベル画像データを対象とするレーベルプリント動作を端末プログラム65を通じてMFP10に実行させる機能を有する。
地図プログラム67は、不図示のサーバから取得した地図画像データの一部を入力I/F54を通じたユーザ操作に従って抽出し、抽出した地図画像データを対象とするシートプリント動作を端末プログラム65を通じてMFP10に実行させる機能を有する。また図示は省略するが、名刺プログラムは、シートスキャン動作で生成したスキャンデータを端末プログラム65を通じてMFP10から取得し、取得したスキャンデータに含まれる文字列(例えば、氏名、会社名、電話番号、メールアドレス等)をテキストデータとして抽出する機能を有する。
また、端末プログラム65は、携帯端末50にインストールされたレーベルプログラム66及び地図プログラム67を、所謂プラグインとして起動することができる。同様に、レーベルプログラム66及び地図プログラム67は、携帯端末50にインストールされた端末プログラム65を、所謂プラグインとして起動することができる。プラグインは、外部プログラムの一例である。なお、外部プログラムは、起動元のプログラムとは別個のプログラムで且つ独立して実行可能なプログラムであって、起動元のプログラムのサブルーチンとは異なる。また、外部プログラムは、起動元のプログラムと同じ携帯端末50で動作するプログラムである。
外部プログラムは、例えば、OS64が提供するAPI(以下、「起動API」と表記する。)によって起動される。起動元のプログラムは、例えば、外部プログラムのプログラムIDを引数として指定して、起動APIを実行する。OS64は、起動APIが実行されたことに応じて、指定されたプログラムIDで識別される外部プログラムを起動する。そして、外部プログラムは、所定の動作を実行し、当該動作の実行結果を起動APIの戻り値として起動元のプログラムに引き渡す。なお、外部プログラムは、OS64によって提供される共有機能によって起動されてもよい。
メモリ62は、例えば図3に示されるように、プログラムリストを記憶することができる。プログラムリストは、1以上のプログラムレコードを含む。プログラムレコードは、例えば、端末プログラム65のインストール時にメモリ62に記憶される。プログラムレコードは、端末プログラム65が起動可能な複数のプログラムのうちの1つに対応する。プログラムレコードは、プログラムIDと、インストールフラグと、PI機能リストと、コンテンツ情報とを含む。
プログラムIDは、端末プログラム65が起動可能なプログラムを識別する。すなわち、レーベルプログラム66はプログラムID“レーベル”で識別され、地図プログラム67はプログラムID“地図”で識別され、名刺プログラムはプログラムID“名刺”で識別される。インストールフラグは、対応するプログラムIDで識別されるプログラムが携帯端末50にインストールされているか否かを示す。インストールフラグには、既にインストールされていることに対応する第1値“YES”、或いは未だインストールされていないことに対応する第2値“NO”が設定される。
PI機能リストは、対応するプログラムIDで識別されるプログラムが、端末プログラム65を通じてMFP10に指示し得る指定動作を示す情報である。すなわち、レーベルプログラム66、地図プログラム67、及び名刺プログラムは、1以上の指定動作の実行を端末プログラム65を通じてMFP10に指示することができる。PI機能リストは、指定動作の動作ID(以下、「指定動作ID」と表記する)を示す。より詳細には、PI機能リストは、複数の動作IDそれぞれに対応付けて、指定動作であることに対応する第3値“ON”、或いは指定動作でないことに対応する第4値“OFF”を含む。
一例として、PI機能リストは、Android OSによって管理される所謂マニュフェストファイルに定義されていてもよい。他の例として、端末プログラム65は、外部プログラムが提供する関数を実行することによって、当該関数の戻り値としてPI機能リストを外部プログラムから取得してもよい。
コンテンツ情報は、対応するプログラムIDで識別されるプログラムから、起動APIの戻り値として取得した動作ID及びURI(Uniform Resource Identifierの略)を含む。動作IDは、MFP10に実行させる画像処理動作を識別するための情報である。URIは、対応する動作IDで識別される画像処理動作の対象となる画像データを識別するデータIDの一例である。コンテンツ情報は、後述する指示受付処理において、端末プログラム65によってプログラムレコードに登録される。プログラムレコードは、複数のコンテンツ情報を含んでもよいし、コンテンツ情報を含まなくてもよい。
また図示は省略するが、メモリ62は、指定装置情報を記憶することができる。指定装置情報は、後述するデバイス選択処理で指定されたMFP10(以下、「指定装置」と表記する。)のMIBに記憶された装置情報である。一方、MFP10が指定されていないとき、メモリ62には、指定装置情報が記憶されていない。
[システム100の動作]
図4〜図9を参照して、本実施形態に係るシステム100の動作を説明する。なお、図4のメイン処理を開始する時点において、メモリ62には、MFP10Aの装置情報が指定装置情報として記憶されているものとする。
本明細書のフローチャートは、基本的に、プログラムに記述された命令に従ったCPU31、61の処理を示す。すなわち、以下の説明における「判断」、「抽出」、「選択」、「算出」、「決定」、「特定」、「制御」等の処理は、CPU31、61の処理を表している。CPU31、61による処理は、OS34、64を介したハードウェア制御も含む。また、本明細書中の「データ」とは、コンピュータに読取可能なビット列で表される。そして、実質的な意味内容が同じでフォーマットが異なるデータは、同一のデータとして扱われるものとする。本明細書中の「情報」についても同様である。
携帯端末50のOS64は、図10(A)に示されるメニュー画面をディスプレイ53に表示させる。メニュー画面は、複数のプログラムアイコン111、112、113、114を含む。プログラムアイコン111〜114は、携帯端末50にインストールされたプログラムに対応する。例えば、プログラムアイコン111は端末プログラム65に対応し、プログラムアイコン112はレーベルプログラム66に対応し、プログラムアイコン113は地図プログラム67に対応する。そして、OS64は、プログラムアイコン111〜114の1つを指定するユーザ操作を、入力I/F54を通じて受け付ける。
一例として、OS64は、プログラムアイコン112の指定を入力I/F54を通じて受け付けたことに応じて、レーベルプログラム66を起動させ、且つ当該プログラムをフォアグラウンドで実行する。ここで起動されたレーベルプログラム66は、後述するレーベルPI処理を実行する。他の例として、OS64は、プログラムアイコン111の指定を入力I/F54を通じて受け付けたことに応じて、端末プログラム65を起動させ、且つ当該プログラムをフォアグラウンドで実行する。以下、プログラムアイコン111が指定された場合の処理を説明する。
携帯端末50の端末プログラム65は、OS64によって起動されたことに応じて、メイン画面生成処理を実行する(S11)。メイン画面生成処理は、図10(B)に示されるメイン画面を生成する処理である。より詳細には、メイン画面生成処理は、携帯端末50にインストールされた外部プログラムに対応するアイコンを、図10(B)に示されるメイン画面に含めるか否かを決定する処理である。図5を参照して、メイン画面生成処理の詳細を説明する。
端末プログラム65は、プログラムリストに含まれる全てのプログラムレコードそれぞれについて(S37:No)、S31〜S36の処理を実行する。より詳細には、端末プログラム65は、プログラムレコードのインストールフラグの設定値を判断する(S31)。また、端末プログラム65は、プログラムレコードがコンテンツ情報を含むか否かを判断する(S32)。さらに、端末プログラム65は、メモリ62に記憶された指定装置情報が、コンテンツ情報の動作IDを含むか否かを判断する(S33)。そして、端末プログラム65は、S31〜S33の判断結果に応じて、プログラムレコードに対応する外部プログラムのアイコンを決定する。
すなわち、端末プログラム65は、図3の1行目のプログラムレコードについて、インストールフラグに第1値“YES”が設定されおり(S31:Yes)、且つコンテンツ情報を含まないと判断したことに応じて(S32:No)、図10(B)に示されるように、レーベルプログラム66に対応するPIアイコン123を、メイン画面に含めると決定する(S36)。
PIアイコン123は、コンテンツ情報が対応付けられていない外部プログラムに対応する第1オブジェクトの一例である。PIアイコン123には、レーベルプログラム66を示す画像が用いられる。より詳細には、PIアイコン123は、レーベルプログラム66の名称、略称、ロゴマーク等、レーベルプログラム66に対応するアイコンであることを、携帯端末50のユーザが認識できるものであればよい。
また、端末プログラム65は、図3の2行目のプログラムレコードについて、インストールフラグに第1値“YES”が設定されおり(S31:Yes)、コンテンツ情報を含み(S32:Yes)、且つ指定装置情報が動作ID“シートプリント”を含むと判断したことに応じて(S33:Yes)、図10(B)に示されるように、地図プログラム67に対応するコンテンツアイコン124を、指定可能な態様でメイン画面に含めると決定する(S34)。
コンテンツアイコン124は、例えば図10(B)に示されるように、URIで示される画像データを加工した所謂サムネイル画像であってもよい。「加工」とは、例えば、URIで示される画像データの一部をトリミングすることでもよいし、画像データで示される画像の解像度を低下させることでもよい。または、コンテンツアイコン124は、プログラムレコードに含まれるコンテンツ情報の数を表すバッヂ画像であってもよい。バッヂ画像は、対応する外部プログラムのPIアイコンの周囲(例えば、右上)に配置されてもよい。
一方図示は省略するが、端末プログラム65は、インストールフラグに第1値“YES”が設定されおり(S31:Yes)、コンテンツ情報を含み(S32:Yes)、且つ指定装置情報が動作ID“シートプリント”を含まないと判断したことに応じて(S33:No)、地図プログラム67に対応するコンテンツアイコン124を、指定不能な態様でメイン画面に含めると決定する(S35)。指定不能な態様とは、例えば、グレーアウト等であってもよい。
さらに、端末プログラム65は、図3の3行目のプログラムレコードについて、インストールフラグに第2値“NO”が設定されていると判断したことに応じて(S31:No)、名刺プログラムに対応するアイコンを、メイン画面に含めない。そして、端末プログラム65は、全てのプログラムレコードに対してS31〜S36の処理を実行したことに応じて(S37:Yes)、メイン画面生成処理を終了する。
次に図4に戻って、端末プログラム65は、図10(B)に示されるメイン画面をディスプレイ53に表示させる(S12)。メイン画面は、動作アイコン121、122と、PIアイコン123と、指定可能な態様のコンテンツアイコン124と、切替アイコン125とを含む第1画面の一例である。そして、端末プログラム65は、メイン画面に対するユーザ操作を、入力I/F54を通じて受け付ける(S13〜S16)。S12の処理は第1表示処理の一例であり、S13〜S16の処理は第1受付処理の一例である。
動作アイコン121は、シートプリント動作の実行指示に対応する。動作アイコン122は、シートスキャン動作の実行指示に対応する。PIアイコン123及びコンテンツアイコン124は、メイン画面生成処理でメイン画面に含めると決定したアイコンである。切替アイコン125は、指定装置の切替指示に対応する。切替アイコン125には、指定装置情報に含まれる装置ID“MFP−A”が記述されている。一方、指定装置情報がメモリ62に記憶されていない場合、切替アイコン125には、指定装置が選択されていないことを示す「未選択」の文字列が記述される。
次に、端末プログラム65は、例えば、切替アイコン125の指定を入力I/F54を通じて受け付けたことに応じて(S13:Yes)、デバイス選択処理を実行する(S17)。なお、S17で実行するデバイス選択処理の検索条件は、「通信ネットワーク101を通じて通信可能な全てのMFP」である。図6を参照して、デバイス選択処理の詳細を説明する。
まず、端末プログラム65は、例えば、SNMP(Simple Network Management Protocolの略)を用いて、通信I/F55を通じて通信が可能な複数のMFP10を検索する(S41)。具体的には、端末プログラム65は、通信I/F55を通じて通信ネットワーク101に送信要求情報をブロードキャストする。次に、端末プログラム65は、送信要求情報の応答としてMFP10A、10Bが送信した装置情報を、通信I/F55を通じて受信する。すなわち、端末プログラム65は、装置情報の送信元のMFP10A、10Bを、通信可能なMFP10として特定する。なお、通信可能なMFP10を検索する方法は、周知の他の方法であってもよい。
次に、端末プログラム65は、検索条件に合致するMFP10をS41で発見したか否かを判断する(S42)。次に、端末プログラム65は、MFP10A、10Bを発見したと判断したことに応じて(S42:Yes)、図11(A)に示されるデバイス選択画面をディスプレイ53に表示させる(S43)。そして、端末プログラム65は、デバイス選択画面に対するユーザ操作を、入力I/F54を通じて受け付ける(S44)。S43の処理は第2表示処理の一例であり、S44の処理は第2受付処理の一例である。
デバイス選択画面は、デバイスアイコン131、132を含む。デバイスアイコン131、132は、ステップS41で発見したMFP10A、10Bに対応する。また、デバイスアイコン131、132には、対応するMFP10A、10Bの装置IDが記述されている。一方、S17で実行するデバイス選択処理において、デバイスアイコン131、132には、「レーベルプリント」、「レーベルスキャン」等の文字列が記述されていなくてもよい。
次に、端末プログラム65は、例えばデバイスアイコン131の指定を入力I/F54を通じて受け付けたことに応じて(S44:Yes)、デバイスアイコン131に対応するMFP10Bから受信した装置情報を、指定装置情報としてメモリ62に記憶させる(S45)。メモリ62に既に指定装置情報が記憶されている場合、端末プログラム65は、当該指定装置情報を新たな指定装置情報で上書きする。S45の処理は、第1記憶処理の一例である。一方、端末プログラム65は、S41でMFP10を発見しなかったと判断したことに応じて(S42:No)、S43〜S45の処理をスキップして、デバイス選択処理を終了する。
次に図4に戻って、端末プログラム65は、メイン画面をディスプレイ53に表示させる(S12)。デバイスアイコン131が指定された後のメイン画面において、切替アイコン125には、指定装置ID“MFP−B”が記述される。次に、端末プログラム65は、例えばPIアイコン123の指定を入力I/F54を通じて受け付けたことに応じて(S14:Yes)、PI起動処理を実行する(S18)。PI起動処理は、指定されたPIアイコン123に対応するレーベルプログラム66(以下、「指定プログラム」と表記する。)を起動する処理である。図7を参照して、PI起動処理の詳細を説明する。
まず、端末プログラム65は、PIアイコン123に対応するプログラムレコードのPI機能リストを、プログラムリストから読み出す(S51)。次に、端末プログラム65は、読み出したPI機能リストで示される指定動作を指定装置がサポートしているか否かを判断する(S52)。換言すれば、端末プログラム65は、PI機能リストで示される指定動作IDを含む指定装置情報がメモリ62に記憶されているか否かを判断する(S52)。S52の処理は、第1判断処理の一例である。
端末プログラム65は、指定動作の少なくとも一部を指定装置がサポートしていると判断したことに応じて(S52:Yes)、S53〜S55の処理をスキップして、複数の指定動作ID“レーベルプリント”、“レーベルスキャン”のうち、指定装置情報に含まれる動作IDを抽出する(S56)。そして、端末プログラム65は、レーベルプログラム66のプログラムID及びサポート機能リストを引数として指定して、起動APIを呼び出す(S57、S59)。S56の処理は抽出処理の一例であり、S57、S59及び後述するS60の処理は起動処理の一例である。
サポート機能リストは、S56で抽出した動作IDのリストである。一例として、MFP10Aが指定装置である場合、端末プログラム65は、一部の指定動作ID“レーベルプリント”のみを抽出し、抽出した動作ID“レーベルプリント”を示すサポート機能リストを、起動APIの引数として指定する(S56:No→S59)。他の例として、MFP10Bが指定装置である場合、端末プログラム65は、全ての指定動作ID“レーベルプリント”、“レーベルスキャン”を抽出し、全ての指定動作IDを示すサポート機能リストを、起動APIの引数として指定する(S56:Yes→S57)。
一方、端末プログラム65は、指定装置が指定動作を全くサポートしていないと判断したことに応じて(S52:No)、図11(B)に示される確認画面をディスプレイ53に表示させる(S53)。なお、「指定装置が指定動作を全くサポートしていない」とは、メモリ62に記憶されている指定装置情報が指定動作IDを1つも含まないこと、或いはメモリ62に指定装置情報が記憶されていないことを指す。
確認画面は、「指定装置が指定動作をサポートしていません。指定装置を選択しますか?」とのメッセージと、[YES]アイコン141と、[NO]アイコン142とを含む。そして、端末プログラム65は、確認画面に対するユーザ操作を、入力I/F54を通じて受け付ける(S54)。S54の処理は、第3受付処理の一例である。
次に、端末プログラム65は、[YES]アイコン141の指定を入力I/F54を通じて受け付けたことに応じて(S54:YES)、デバイス選択処理を実行する(S55)。そして、端末プログラム65は、デバイス選択処理で新たにメモリ62に記憶された指定装置情報を用いて、S56以降の処理を実行する。すなわち、端末プログラム65は、指定動作IDを含む指定装置情報がメモリ62に記憶されている状態で、S56以降の処理を実行する。[YES]アイコン141の指定は、第1指示操作の一例である。
S55で実行するデバイス選択処理の検索条件は、「通信ネットワーク101を通じて通信可能なMFPのうち、指定動作の少なくとも1つを実行可能なMFP」である。以下、S17で説明したデバイス選択処理との共通点の詳しい説明は省略し、相違点を中心に説明する。
一例として、端末プログラム65は、S41において、MFP10A、10Bから装置情報を受信した場合に、MFP10A、10Bのうちから、装置情報が指定動作IDの少なくとも1つを含むMFPを抽出してもよい。他の例として、端末プログラム65は、S41において、指定装置IDを含む送信要求情報をブロードキャストしてもよい。そして、MFP10A、10Bは、メモリ32に記憶された装置情報が指定装置IDを含む場合にのみ、通信I/F25を通じて携帯端末50に送信してもよい。すなわち、端末プログラム65は、指定動作IDの少なくとも1つを含む装置情報のみを受信することになる。これらの処理は、第1検索処理の一例である。
次に、端末プログラム65は、S43において、図11(A)に示されるように、全ての指定動作を実行可能なMFP10Bに対応するデバイスアイコン131を、一部の指定動作のみを実行可能なMFP10Aに対応するデバイスアイコン132より優先して表示する。また、端末プログラム65は、MFP10A、10Bが実行可能な指定動作を、対応するデバイスアイコン131、132を通じて報知する。
一例として、「優先して表示」とは、デバイスアイコン131をデバイスアイコン132より配列順(例えば、上下方向)の前方に配置することを指してもよい。他の例として、「優先して表示」とは、全ての指定動作を実行可能なMFP10Bを発見した場合にデバイスアイコン131のみを表示し、全ての指定動作を実行可能なMFP10Bを発見しなかった場合にデバイスアイコン132を表示することを指してもよい。また、「デバイスアイコン131、132を通じて指定動作を報知する」とは、例えば、対応するMFP10A、10Bが実行可能な指定動作を示す情報(例えば、動作名或いは動作IDのテキスト、動作を表す画像)を、デバイスアイコン131、132に記述することを指してもよい。
一方、端末プログラム65は、[NO]アイコン142の指定を入力I/F54を通じて受け付けたことに応じて(S54:NO)、S51で取得したPI機能リストが出力動作の動作IDを含むか否かを判断する(S58)。すなわち、端末プログラム65は、指定プログラムであるレーベルプログラム66が出力動作を実行可能か否かを判断する。[NO]アイコン142の指定は、第2指示操作の一例である。S58の処理は、第2判断処理の一例である。
次に、端末プログラム65は、レーベルプログラム66が出力動作“レーベルプリント動作”を実行可能と判断したことに応じて(S58:出力あり)、出力動作の動作ID“レーベルプリント”を示すサポート機能リストを起動APIの引数として指定して、レーベルプログラム66を起動する(S59)。一方、端末プログラム65は、指定プログラムが出力動作を実行不能と判断したことに応じて(S58:入力のみ)、サポート機能リストに代えてガイダンスフラグを起動APIの引数として指定して、指定プログラムを起動する(S60)。ガイダンスフラグは、指定動作を実行可能な指定装置が指定されていないことを示す情報である。
OS64は、起動APIが実行されたことに応じて(S57、S59、S60)、レーベルプログラム66を起動させ、且つレーベルプログラム66をフォアグラウンドで実行する。また、OS64は、フォアグランドで実行していた端末プログラム65をバックグラウンドに切り替える。起動APIによって起動されたレーベルプログラム66は、レーベルPI処理を実行する。図8を参照して、レーベルPI処理の詳細を説明する。
まず、レーベルプログラム66は、起動APIの引数としてガイダンスフラグを取得したことに応じて(S71:ガイダンスフラグ)、不図示のガイダンス画面をディスプレイ53に表示させ(S72)、レーベルPI処理を終了する。ガイダンス画面は、例えば、指定装置が指定動作を実行できないために、以降の処理を継続できないことを報知するための画面である。これにより、OS64は、バックグラウンドの端末プログラム65をフォアグラウンドで実行する。そして、フォアグラウンドに切り替えられた端末プログラム65は、例えば、S11以降の処理を実行する。
また、レーベルプログラム66は、起動APIの引数としてサポート機能リストを取得したことに応じて(S71:サポート機能リスト)、S73〜S74の処理をスキップして、指定装置が指定動作をサポートしているか否かを判断する(S75)。換言すれば、レーベルプログラム66は、S71で取得したサポート機能リストが指定装置ID“レーベルプリント”、“レーベルスキャン”を含むか否かを判断する(S75)。
次に、レーベルプログラム66は、図12(A)に示されるメニュー画面をディスプレイ53に表示させる(S77、S78)。メニュー画面は、動作アイコン151、152を含む。動作アイコン151、152は、レーベルプログラム66の指定動作である“レーベルプリント動作”、“レーベルスキャン動作”に対応する動作オブジェクトの一例である。そして、レーベルプログラム66は、メニュー画面に対するユーザ操作を、入力I/F54を通じて受け付ける(S79)。
なお、サポート機能リストが全ての指定装置IDを含むと判断した場合(S75:ALL)、レーベルプログラム66は、全ての動作アイコン151、152を、指定可能な態様でメニュー画面に表示させる(S77)。一方、サポート機能リストが一部の指定動作ID“レーベルプリント”のみを含むと判断した場合(S75:一部)、レーベルプログラム66は、指定装置がサポートするレーベルプリント動作に対応する動作アイコン151を指定可能な態様で、指定装置がサポートしていないレーベルスキャン動作に対応する動作アイコン152を指定不能な態様で、メニュー画面に表示させる(S78)。
次に、レーベルプログラム66は、指定可能な態様の動作アイコン151の指定を入力I/F54を通じて受け付けたことに応じて(S79:プリント)、図12(B)に示されるレーベル編集画面をディスプレイ53に表示させる(S80)。レーベル編集画面は、レーベル画像161と、編集アイコン162、163、164と、[プリント]アイコン165とを含む。そして、レーベルプログラム66は、レーベル編集画面に対するユーザ操作を、入力I/F54を通じて受け付ける(S81)。
レーベル画像161は、編集アイコン162〜164を用いて編集された画像である。編集アイコン162は、レーベル画像161に文字列を追加する指示に対応する。編集アイコン163は、レーベル画像161に色を付加する指示に対応する。編集アイコン164は、レーベル画像161に写真を追加する指示に対応する。[プリント]アイコン165は、レーベルプリント動作の実行指示に対応する。
そして、レーベルプログラム66は、編集アイコン162〜164対するユーザ操作に従ってレーベル画像161を編集し、編集後のレーベル画像161を示すレーベル画像データをメモリ62に記憶させる。レーベルプリント動作の実行条件とは、例えば、レーベルプリント動作の対象となる画像データ、レーベルプリント動作の画質(例えば、ファイン、ノーマル等)、レーベルに記録する画像の色(例えば、カラー、モノクロ等)等であってもよい。
次に、レーベルプログラム66は、[プリント]アイコン165の指定を入力I/F54を通じて受け付けたことに応じて(S81:Yes)、レーベルプリント動作の実行を指定装置に指示する動作指示処理を、端末プログラム65に指示する(S82)。より詳細には、レーベルプログラム66は、動作ID“レーベルプリント”及びレーベル画像データのURIを引数として指定して、端末プログラム65が提供する動作指示関数を実行する。
一方、レーベルプログラム66は、指定可能な態様の動作アイコン152の指定を入力I/F54を通じて受け付けたことに応じて(S79:スキャン)、動作ID“レーベルスキャン”を引数として指定して、動作指示関数を実行する(S83)。次に、レーベルプログラム66は、指定装置が生成したスキャンデータを端末プログラム65を通じて取得する(S84)。レーベルプログラム66は、例えば、動作指示関数の戻り値としてスキャンデータを取得すればよい。
そして、レーベルプログラム66は、S84で取得したスキャンデータを出力する(S85)。一例として、レーベルプログラム66は、取得したスキャンデータで示されるスキャン画像を含むレーベル編集画面を、ディスプレイ53に表示させてもよい。他の例として、レーベルプログラム66は、取得したスキャンデータをメモリ62に記憶させてもよい。
また、レーベルプログラム66は、図10(A)に示されるプログラムアイコン112が指定されたことに応じて起動された場合にも、レーベルPI処理を実行する。但し、この場合のレーベルプログラム66は、引数として情報を取得しない(S71:なし)。そして、レーベルプログラム66は、リスト通知フラグ及び指定動作ID“レーベルプリント”、“レーベルスキャン”を引数として指定して、動作指示関数を実行する(S73)。リスト通知フラグは、サポート機能リストの通知を端末プログラム65に指示するための情報である。
次に、レーベルプログラム66は、S73で実行した動作指示関数の戻り値として、サポート機能リストを端末プログラム65から取得する(S74:Yes)。次に、レーベルプログラム66は、S74で取得したサポート機能リストを用いて、S75以降の処理を実行する。
なお、レーベルプログラム66は、指定装置が指定動作をサポートしていないと判断したことに応じて(S75:0)、デバイス選択フラグ及び指定動作ID“レーベルプリント”、“レーベルスキャン”を引数として指定して、動作指示関数を実行する(S76)。デバイス選択フラグは、デバイス選択処理の実行を端末プログラム65に指示するための情報である。
次に、レーベルプログラム66は、S76で実行した動作指示関数の戻り値として、新たなサポート機能リストを端末プログラム65から取得する(S74:Yes)。そして、レーベルプログラム66は、S74で取得したサポート機能リストを用いて、S75以降の処理を実行する。すなわち、レーベルプログラム66は、指定装置IDを含む指定装置情報がメモリ62に記憶されている状態で、S77以降の処理を実行する。S77以降の処理は既に説明したので、説明を省略する。
OS64は、動作指示関数が実行されたことに応じて、端末プログラム65をフォアグラウンドで実行し、フォアグラウンドで実行していたレーベルプログラム66をバックグラウンドに切り替える。そして、端末プログラム65は、動作指示関数が実行されたことに応じて、指示受付処理を実行する。図9を参照して、指示受付処理の詳細を説明する。
まず、端末プログラム65は、動作指示関数の引数として指定された情報を取得する(S91、S95、S101)。S91、S95、S101の処理は、取得処理の一例である。端末プログラム65は、例えば、動作ID“レーベルスキャン”を動作指示関数の引数として取得したことに応じて(S91:Yes)、通信I/F55を通じて指定装置にレーベルスキャン指示情報を送信する(S92)。レーベルスキャン指示情報は、レーベルスキャン動作を実行させる第1指示情報の一例である。レーベルスキャン指示情報は、例えば、動作ID“レーベルスキャン”を含む。S92の処理は、第1指示処理の一例である。
一方図示は省略するが、MFP10の装置プログラム35は、通信I/F25を通じて携帯端末50からレーベルスキャン指示情報を受信する。そして、装置プログラム35は、受信したレーベルスキャン指示情報に従ったレーベルスキャン動作を、スキャナ12に実行させる。そして、装置プログラム35は、スキャナ12が生成したスキャンデータを、通信I/F25を通じて携帯端末50に送信する。
次に、端末プログラム65は、レーベルスキャン指示情報の応答として、通信I/F55を通じてMFP10からスキャンデータを受信する(S93:Yes)。そして、端末プログラム65は、S93で受信したスキャンデータを、動作指示関数の戻り値として指定して、レーベルプログラム66に引き渡す(S94)。これにより、OS64は、レーベルプログラム66をフォアグラウンドで実行し、フォアグラウンドで実行していた端末プログラム65をバックグラウンドに切り替える。
また、端末プログラム65は、動作ID“レーベルプリント”及びURIを動作指示関数の引数として取得したことに応じて(S95:Yes)、レーベルプリント動作を実行可能な指定装置が指定されているか否かを判断する(S96)。すなわち、端末プログラム65は、動作ID“レーベルプリント”を含む指定装置情報がメモリ62に記憶されているか否かを判断する。S96の処理は、第3判断処理の一例である。
次に、端末プログラム65は、レーベルプリント動作を実行可能な指定装置が指定されていないと判断したことに応じて(S96:No)、デバイス選択処理を実行する(S97)。S97で実行するデバイス選択処理の検索条件は、「通信ネットワーク101を通じて通信可能なMFPのうち、レーベルプリント動作を実行可能なMFP」である。S97の処理は、検索条件が異なる点を除いてS55と同様なので、説明は省略する。S97で実行されるS41の処理は、第2検索処理の一例である。
次に、端末プログラム65は、レーベルプリント動作を実行可能な指定装置が指定されたか否かを、S97の処理後に再び判断する(S98)。そして、端末プログラム65は、S96、S98の一方でレーベルプリント動作を実行可能な指定装置が指定されていると判断したことに応じて(S96:Yes/S98:Yes)、通信I/F55を通じて指定装置にレーベルプリント指示情報を送信する(S100)。レーベルプリント指示情報は、レーベルプリント動作を実行させる第1指示情報の一例である。レーベルプリント指示情報は、例えば、動作ID“レーベルスキャン”と、レーベル画像データとを含む。S100の処理は、第1指示処理の一例である。
一方図示は省略するが、MFP10の装置プログラム35は、通信I/F25を通じて携帯端末50からレーベルプリント指示情報を受信する。そして、装置プログラム35は、受信したレーベルプリント指示情報に従ったレーベルプリント動作を、プリンタ11に実行させる。
また、端末プログラム65は、レーベルプリント動作を実行可能な指定装置が指定されていないと判断したことに応じて(S98:No)、S95で取得した動作ID及びURIを、プログラムID“レーベル”のプログラムレコードに、コンテンツ情報として登録する(S99)。レーベルプリント動作を実行可能な指定装置が指定されていないとS98で判断される場合とは、例えば、レーベルプリント動作を実行可能なMFP10がS41で発見されなかった場合である。S99の処理は、S95で取得した動作ID及びデータIDを、取得元の外部プログラムに対応付けてメモリ62に記憶させる第2記憶処理の一例である。
また、端末プログラム65は、デバイス選択フラグ及び指定動作IDを動作指示関数の引数として取得したことに応じて(S101:デバイス選択)、デバイス選択処理を実行する(S102)。S102で実行するデバイス選択処理の検索条件は、「通信ネットワーク101を通じて通信可能なMFPのうち、指定動作を実行可能なMFP」である。S102の処理はS55と同様なので、説明は省略する。
そして、端末プログラム65は、S101で取得した指定動作IDのうち、S102でメモリ62に記憶された指定装置情報に含まれる動作IDを示すサポート機能リストを、動作指示関数の戻り値として指定して、レーベルプログラム66に引き渡す(S103)。これにより、OS64は、レーベルプログラム66をフォアグラウンドで実行し、フォアグラウンドで実行していた端末プログラム65をバックグラウンドに切り替える。
さらに、端末プログラム65は、リスト通知フラグ及び指定動作IDを動作指示関数の引数として取得したことに応じて(S101:リスト通知)、S101で取得した指定動作IDのうち、メモリ62に記憶されている指定装置情報に含まれる動作IDを示すサポート機能リストを、動作指示関数の戻り値として指定して、レーベルプログラム66に引き渡す(S103)。これにより、OS64は、レーベルプログラム66をフォアグラウンドで実行し、フォアグラウンドで実行していた端末プログラム65をバックグラウンドに切り替える。
また図4に戻って、端末プログラム65は、指定可能な態様のコンテンツアイコン124の指定を入力I/F54を通じて受け付けたことに応じて(S15:Yes)、コンテンツアイコン124に対応するコンテンツ情報を、メモリ62から読み出す。そして、端末プログラム65は、通信I/F55を通じて指定装置にシートプリント指示情報を送信する(S19)。一方図示は省略するが、端末プログラム65は、指定不能な態様のコンテンツアイコンの指定を入力I/F54を通じて受け付けたとしても、S19の処理を実行しない。S19の処理は、第2指示処理の一例である。
シートプリント指示情報は、読み出したコンテンツ情報のURIで示される画像データ“地図01.JPEG”を対象として、読み出したコンテンツ情報の動作ID“シートプリント”で識別されるシートプリント動作を実行させるための情報である。シートプリント指示情報は、例えば、読み出したURIで示される画像データ“地図01.JPEG”と、読み出した動作ID“シートプリント”とを含む。S19におけるシートプリント指示情報は、第2指示情報の一例である。一方図示は省略するが、MFP10の装置プログラム35は、通信I/F25を通じて携帯端末50からシートプリント指示情報を受信する。そして、装置プログラム35は、受信したシートプリント指示情報に従ったシートプリント動作を、プリンタ11に実行させる。
また、端末プログラム65は、動作アイコン121の指定を入力I/F54を通じて受け付けたことに応じて(S16:Yes)、通信I/F55を通じて指定装置にシートプリント指示情報を送信する(S20)。S20におけるシートプリント指示情報は、例えば、入力I/F54を通じてユーザが指定した画像データを含む。さらに、端末プログラム65は、動作アイコン122の指定を入力I/F54を通じて受け付けたことに応じて(S16:Yes)、通信I/F55を通じて指定装置にシートスキャン指示情報を送信する(S20)。シートスキャン指示情報は、シートスキャン動作を実行させるための情報である。シートスキャン指示情報は、例えば、動作ID“シートスキャン”を含む。
一方図示は省略するが、MFP10の装置プログラム35は、通信I/F25を通じて携帯端末50からシートスキャン指示処理を受信する。そして、装置プログラム35は、受信したシートスキャン指示情報に従ったシートスキャン動作を、スキャナ12に実行させる。さらに、装置プログラム35は、シートスキャン動作でスキャナ12が生成したスキャンデータを、通信I/F25を通じて携帯端末50に送信する。そして、端末プログラム65は、例えば、通信I/F55を通じてMFP10から受信したスキャンデータを、メモリ62に記憶させる。
[本実施形態の作用効果]
上記の実施形態によれば、レーベルプログラム66が指示し得る指定動作を指定装置がサポートしていない場合に(S52:No)、レーベルプログラム66を起動させるのに先立って(S57/S59)、指定動作を実行可能なMFP10のうちから所望のMFP10をユーザに指定させることができる(S55)。これにより、起動しようとするレーベルプログラム66に適したMFP10を簡単に選択させることができる。なお、上記の実施形態では、レーベルプログラム66を指定プログラムとした例を説明したが、地図プログラム67或いは名刺プログラムが指定プログラムとなった場合も同様である。
また、上記の実施形態によれば、S57、S59において、指定装置がサポートしている指定動作の動作IDが、起動APIの引数としてレーベルプログラム66に通知される。そして、レーベルプログラム66は、図12(A)に示されるメニュー画面において、指定装置がサポートしている指定動作に対応する動作アイコンを指定可能にし、指定装置がサポートしていない指定動作に対応する動作アイコンを指定不能にする。このように、レーベルプログラム66は、サポート機能リストを取得することによって、現在の指定装置を用いて利用可能な機能を、ユーザに報知すること等が可能となる。
なお、レーベルプログラム66は、指定装置がサポートしている指定動作が複数の場合にのみ、S77〜S79の処理を実行してもよい。一方、レーベルプログラム66は、指定装置がレーベルプリント動作のみをサポートしている場合、S77〜S79の処理をスキップして、S80〜S82の処理を実行してもよい。同様に、レーベルプログラム66は、指定装置がレーベルスキャン動作のみをサポートしている場合、S77〜S79の処理をスキップして、S83〜S85の処理を実行してもよい。
すなわち、レーベルプログラム66は、指定装置が指定動作を1つだけサポートしている場合に、S79で当該指定動作が指定されたものとして、S80以降の処理を実行すればよい。これにより、指定装置が1つの指定動作のみをサポートしている場合に、S77〜S79の処理がスキップされるので、レーベルプログラム66に対するユーザ操作をさらに削減することができる。
また、レーベルプログラム66において、レーベルプリント動作の対象となるレーベル画像データをユーザに指定させる処理は、指定装置がレーベルプリント動作をサポートしていなくても実行することができる。すなわち、レーベルプログラム66を起動するタイミングで指定装置を指定する必要がない場合もあり得る。そこで上記の実施形態のように、レーベルプログラム66の起動前に指定装置を指定するか否かを、確認画面を通じてユーザに選択させることによって、指定装置を指定させる処理を適切なタイミングで実行することができる。
また、上記の実施形態によれば、指定装置を指定せずにレーベルプログラム66を起動し(S58:出力あり→S59)、且つ当該レーベルプログラム66からレーベルプリント動作が指示された場合に(S95:Yes&S96:No)、デバイス選択処理が実行される(S97)。これにより、レーベルプリント動作が指示されたタイミングで、レーベルプリント動作を実行可能なMFP10のうちから、所望のMFP10をユーザに指定させることができる。
さらに、上記の実施形態によれば、レーベルプログラム66が指示したレーベルプリント動作を実行可能なMFP10が存在しない場合に(S98:No)、レーベルプログラム66から取得した動作ID及びURIがメモリ62に保存される(S99)。そして、端末プログラム65は、メイン画面のコンテンツアイコンが指定されたことに応じて(S15:Yes)、メモリ62に記憶されたコンテンツ情報に従った出力動作を指定装置に実行させる(S19)。これにより、例えば、レーベル画像161を編集するためにレーベルプログラム66に対してユーザがした操作が無駄になることを抑制できる。
なお、コンテンツアイコン124は、指定装置情報がコンテンツ情報の動作IDを含む場合に指定可能な態様で表示され、指定装置情報がコンテンツ情報の動作IDを含まない場合に指定不能な態様で表示される。また、コンテンツアイコン124には、URIで示される画像データを加工したサムネイル画像等が用いられる。これにより、コンテンツ情報がメモリ62に記憶されていることをユーザに報知し、且つ当該コンテンツ情報に従った出力動作の実行をユーザに促すことができる。
また、上記の実施形態によれば、図11(A)に示されるデバイス選択画面において、全ての指定動作を実行可能なMFP10Bに対応するデバイスアイコン131が、一部の指定動作のみを実行可能なMFP10Aに対応するデバイスアイコン132より優先して表示される。さらに、S41で発見したMFP10A、10Bが実行可能な指定動作が、対応するデバイスアイコン131、132を通じて報知される。これにより、レーベルプログラム66に適したMFP10を、ユーザに簡単に指定させることができる。
また、上記の実施形態に係るレーベルプログラム66は、起動されたタイミングで指定装置が指定動作をサポートしているか否かを判断する(S75)。そして、レーベルプログラム66は、指定装置が指定動作をサポートしていない場合に、指定動作を実行可能なMFP10のうちからユーザに指定装置を指定させる処理を、端末プログラム65に実行させる(S76→S102)。これにより、レーベルプログラム66がS82/S83を実行する前に、適切な指定装置を簡単に選択させることができる。
また、上記の実施形態のMFP10及び携帯端末50において、メモリ32、62に記憶された各種プログラムがCPU31、61によって実行されることによって、本発明のントローラが実行する各処理が実現される例を説明した。しかしながら、コントローラの構成はこれに限定されず、その一部又は全部を集積回路等のハードウェアで実現してもよい。
さらに、本発明は、MFP10及び携帯端末50として実現できるだけでなく、MFP10及び携帯端末50に処理を実行させるプログラムとして実現してもよい。そして、当該プログラムは、non−transitoryな記録媒体に記録されて提供されてもよい。non−transitoryな記録媒体は、CD−ROM、DVD−ROM等の他、通信ネットワーク101を通じてMFP10及び携帯端末50に接続可能なサーバに搭載された記憶部を含んでもよい。そして、サーバの記憶部に記憶されたプログラムは、当該プログラムを示す情報或いは信号として、インターネット等の通信ネットワーク101を通じて配信されてもよい。
10・・・MFP
11・・・プリンタ
12・・・スキャナ
23,53・・・ディスプレイ
24,54・・・入力I/F
25,55・・・通信I/F
31,61・・・CPU
32,62・・・メモリ
35・・・装置プログラム
50・・・携帯端末
65・・・端末プログラム
66・・・レーベルプログラム
67・・・地図プログラム

Claims (12)

  1. メモリと、入力インタフェースと、通信インタフェースとを備える携帯端末によって読み取り可能なプログラムであって、
    前記メモリは、該プログラムが起動可能な複数の外部プログラムを記憶しており、前記外部プログラムは、複数の画像処理動作のうちの少なくとも1つを実行可能な画像処理装置に、該プログラムを通じて前記画像処理動作を指示するプログラムであり、
    該プログラムは、
    複数の前記外部プログラムの1つである指定プログラムを指定するユーザ操作を、前記入力インタフェースを通じて受け付ける第1受付処理と、
    指定動作の動作IDを含む指定装置情報が前記メモリに記憶されているか否かを判断する第1判断処理とを前記携帯端末に実行させ、前記指定動作は、前記指定プログラムが前記画像処理装置に指示し得る前記画像処理動作であり、前記指定装置情報は、ユーザが指定した前記画像処理装置である指定装置が実行可能な前記画像処理動作を識別する前記動作IDを含み、
    該プログラムは、
    前記第1判断処理で記憶されていないと判断したことに応じて、前記通信インタフェースを通じて通信可能な複数の前記画像処理装置のうち、前記指定動作を実行可能な前記画像処理装置を検索する第1検索処理と、
    発見した前記画像処理装置の1つである前記指定装置を指定するユーザ操作を、前記入力インタフェースを通じて受け付ける第2受付処理と、
    前記第2受付処理で指定された前記指定装置の前記指定装置情報を、前記メモリに記憶させる第1記憶処理と、
    前記指定動作の前記動作IDを含む前記指定装置情報が前記メモリに記憶されている状態で、前記指定プログラムを起動する起動処理と、
    前記指定動作の前記動作IDを前記指定プログラムから取得する取得処理と、
    前記通信インタフェースを通じて前記指定装置に第1指示情報を送信する第1指示処理とを前記携帯端末に実行させ、前記第1指示情報は、前記取得処理で取得した前記動作IDで識別される前記指定動作を実行させるための情報であるプログラム。
  2. 前記指定プログラムは、複数の前記指定動作を前記画像処理装置に指示可能であり、
    該プログラムは、
    複数の前記指定動作それぞれの前記動作IDのうち、前記指定装置情報に含まれる前記動作IDを抽出する抽出処理を前記携帯端末に実行させ、
    前記起動処理において、前記抽出処理で抽出した前記動作IDを引数として指定して、前記指定プログラムを起動する請求項1に記載のプログラム。
  3. 該プログラムは、
    前記第1判断処理で記憶されていないと判断したことに応じて、前記指定装置を指定する指示に対応する第1指示操作、或いは前記指定装置を指定しない指示に対応する第2指示操作を、前記入力インタフェースを通じて受け付ける第3受付処理を前記携帯端末に実行させ、
    前記第3受付処理で前記第1指示操作を受け付けたことに応じて、前記第1検索処理を前記携帯端末に実行させる請求項1又は2に記載のプログラム。
  4. 前記画像処理動作は、前記外部プログラムから取得した画像データを出力する出力動作、或いは前記外部プログラムに入力する画像データを生成する入力動作であり、
    該プログラムは、
    前記第3受付処理で前記第2指示操作を受け付けたことに応じて、前記指定動作が前記出力動作を含むか否かを判断する第2判断処理と、
    前記第2判断処理で前記出力動作を含むと判断した場合の前記起動処理において、当該出力動作の前記動作IDを引数として指定して、前記指定プログラムを起動し、
    前記第2判断処理で前記出力動作を含まないと判断した場合の前記起動処理において、前記指定装置が指定されていないことを示す情報を引数として指定して、前記指定プログラムを起動する請求項3に記載のプログラム。
  5. 該プログラムは、
    前記出力動作を識別する前記動作ID、及び前記出力動作の対象となる画像データを識別するデータIDを、前記取得処理で取得したことに応じて、取得した前記動作IDを含む前記指定装置情報が前記メモリに記憶されているか否かを判断する第3判断処理と、
    前記第3判断処理で記憶されていると判断したことに応じて、前記第1指示処理とを前記携帯端末に実行させる請求項4に記載のプログラム。
  6. 該プログラムは、
    前記第3判断処理で記憶されていないと判断したことに応じて、前記通信インタフェースを通じて通信可能な複数の前記画像処理装置のうち、前記取得処理で取得した前記動作IDで識別される前記出力動作を実行可能な前記画像処理装置を検索する第2検索処理と、
    前記第2検索処理で前記画像処理装置を発見したことに応じて、前記第2受付処理、前記第1記憶処理、及び前記第1指示処理とを前記携帯端末に実行させる請求項5に記載のプログラム。
  7. 該プログラムは、前記第2検索処理で前記画像処理装置を発見しなかったことに応じて、前記取得処理で取得した前記動作ID及び前記データIDを、前記外部プログラムに対応付けて前記メモリに記憶させる第2記憶処理を前記携帯端末に実行させる請求項6に記載のプログラム。
  8. 前記携帯端末は、ディスプレイを備えており、
    該プログラムは、
    前記動作ID及び前記データIDが対応付けられていない前記外部プログラムに対応する第1オブジェクト、及び前記動作ID及び前記データIDが対応付けられた前記外部プログラムに対応する第2オブジェクトを含む第1画面を、前記ディスプレイに表示させる第1表示処理を、前記第1受付処理に先立って前記携帯端末に実行させ、
    前記第1受付処理で前記第1オブジェクトが指定されたことに応じて、当該第1オブジェクトに対応する前記外部プログラムを前記指定プログラムとして、前記第1判断処理を前記携帯端末に実行させ、
    前記第1受付処理で前記第2オブジェクトが指定されたことに応じて、前記通信インタフェースを通じて前記指定装置に第2指示情報を送信する第2指示処理を前記携帯端末に実行させ、前記第2指示情報は、対応する前記データIDで識別される前記画像データを対象として、対応する前記動作IDで識別される前記出力動作を実行させるための情報である請求項7に記載のプログラム。
  9. 該プログラムは、前記第1表示処理において、
    前記外部プログラムに対応付けられた前記動作IDを含む前記指定装置情報が前記メモリに記憶されている場合に、対応する前記第2オブジェクトを指定可能な態様で表示させ、
    前記外部プログラムに対応付けられた前記動作IDを含む前記指定装置情報が前記メモリに記憶されていない場合に、対応する前記第2オブジェクトを指定不能な態様で表示させる請求項8に記載のプログラム。
  10. 前記第1オブジェクトは、対応する前記外部プログラムを示す画像であり、
    前記第2オブジェクトは、前記外部プログラムに対応付けられた前記データIDの数を示す画像、或いは前記データIDで示される前記画像データを加工した画像である請求項8又は9に記載のプログラム。
  11. 前記携帯端末は、ディスプレイを備えており、
    前記指定プログラムは、複数の前記指定動作を前記画像処理装置に指示可能であり、
    該プログラムは、
    前記第1検索処理において、前記通信インタフェースを通じて通信可能な複数の前記画像処理装置のうち、複数の前記指定動作のうちの少なくとも1つを実行可能な前記画像処理装置を検索し、
    発見した複数の前記画像処理装置それぞれに対応する複数の装置オブジェクトを含む第2画面を、前記ディスプレイに表示させる第2表示処理を、前記第2受付処理に先立って前記携帯端末に実行させ、全ての前記指定動作を実行可能な前記画像処理装置に対応する前記装置オブジェクトは、一部の前記指定動作のみを実行可能な前記画像処理装置に対応する前記装置オブジェクトより優先して表示され、
    該プログラムは、前記第2受付処理において、複数の前記装置オブジェクトの1つを指定するユーザ操作を、前記入力インタフェースを通じて受け付ける請求項1から10のいずれかに記載のプログラム。
  12. 該プログラムは、前記第2表示処理において、前記画像処理装置が実行可能な前記指定動作を、対応する前記装置オブジェクトを通じて報知する請求項11に記載のプログラム。
JP2016180404A 2016-09-15 2016-09-15 プログラム Active JP6763249B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2016180404A JP6763249B2 (ja) 2016-09-15 2016-09-15 プログラム
US15/697,760 US10389892B2 (en) 2016-09-15 2017-09-07 System for executing operations on image processing devices
US16/444,606 US11489976B2 (en) 2016-09-15 2019-06-18 Mobile terminal stores program to select appropriate image processing device to execute one of plurality of image processing operations by designating an operation ID identifying a designatable operation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016180404A JP6763249B2 (ja) 2016-09-15 2016-09-15 プログラム

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2020150459A Division JP7017173B2 (ja) 2020-09-08 2020-09-08 プログラム

Publications (2)

Publication Number Publication Date
JP2018045494A JP2018045494A (ja) 2018-03-22
JP6763249B2 true JP6763249B2 (ja) 2020-09-30

Family

ID=61694880

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016180404A Active JP6763249B2 (ja) 2016-09-15 2016-09-15 プログラム

Country Status (1)

Country Link
JP (1) JP6763249B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021009703A (ja) * 2020-09-08 2021-01-28 ブラザー工業株式会社 プログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2402860B1 (en) * 2010-06-29 2020-10-07 Brother Kogyo Kabushiki Kaisha Data processing apparatus
JP5051278B2 (ja) * 2010-06-29 2012-10-17 ブラザー工業株式会社 デバイス制御プログラム、及びデバイス制御方法
JP5668418B2 (ja) * 2010-11-08 2015-02-12 株式会社リコー 画像形成装置、機器連携システム及びプログラム
JP2012213144A (ja) * 2011-03-18 2012-11-01 Ricoh Co Ltd 情報処理装置、情報処理システム、機器連携方法およびプログラム
JP5936458B2 (ja) * 2012-06-18 2016-06-22 シャープ株式会社 情報処理装置、アプリケーション実行制御方法、アプリケーション実行制御プログラム及び記録媒体
JP6299488B2 (ja) * 2014-06-30 2018-03-28 ブラザー工業株式会社 情報処理装置、連携システム、及びプログラム
KR20160076371A (ko) * 2014-12-22 2016-06-30 삼성전자주식회사 워크플로우를 처리하는 방법 및 이를 수행하는 모바일 디바이스

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021009703A (ja) * 2020-09-08 2021-01-28 ブラザー工業株式会社 プログラム

Also Published As

Publication number Publication date
JP2018045494A (ja) 2018-03-22

Similar Documents

Publication Publication Date Title
US11489976B2 (en) Mobile terminal stores program to select appropriate image processing device to execute one of plurality of image processing operations by designating an operation ID identifying a designatable operation
JP6524896B2 (ja) プログラム
US10616440B2 (en) Information processing terminal transmitting command instructing execution of image processing operation to specified apparatus and non-transitory computer-readable recording medium storing program for the information processing terminal
JP6471616B2 (ja) 携帯端末及び出力プログラム
JP6763209B2 (ja) プログラム及び携帯端末
JP7176592B2 (ja) プログラム及び携帯端末
JP6641928B2 (ja) プログラム
US10298805B2 (en) Non-transitory computer-readable medium and portable device
JP6926488B2 (ja) プログラム
JP6922436B2 (ja) プログラム及び携帯端末
JP6834441B2 (ja) プログラム及び携帯端末
JP6769136B2 (ja) プログラム及び携帯端末
JP6763249B2 (ja) プログラム
JP6763250B2 (ja) プログラム
JP7017173B2 (ja) プログラム
JP7024835B2 (ja) プログラム
JP2017054335A (ja) 出力プログラム及び携帯端末
JP6975414B2 (ja) プログラム及び携帯端末
JP6544163B2 (ja) 携帯端末及びプログラム
JP7120344B2 (ja) プログラム及び端末装置
JP6888711B2 (ja) 携帯端末及び出力プログラム
JP6835274B2 (ja) 起動元プログラム、及び端末装置
JP6677335B2 (ja) 携帯端末、コンテンツ指定プログラム、及び出力プログラム
JP2021007023A (ja) プログラム及び携帯端末
JP2021093168A (ja) 起動元プログラム、及び端末装置

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20180219

RD05 Notification of revocation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7425

Effective date: 20180219

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190827

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200717

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200811

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200824

R150 Certificate of patent or registration of utility model

Ref document number: 6763249

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150