以下、適宜図面を参照して本発明の実施形態について説明する。なお、以下に説明される実施形態は本発明の一例にすぎず、本発明の要旨を変更しない範囲で、本発明の実施形態を適宜変更できることは言うまでもない。
図1は、本実施形態における記録システム100の概略図である。図1に示される記録システム100は、複合機10A、10B(以下、これらを総称して、「複合機10」と表記することがある。)と、携帯端末50とで構成されている。複合機10及び携帯端末50は、通信ネットワーク101を通じて通信可能に構成されている。通信ネットワーク101は、例えば、有線LAN(Local Area Networkの略)、無線LAN、或いはこれらの組み合わせであってもよい。
[複合機10]
複合機10は、図2(A)に示されるように、プリンタ部11と、スキャナ部12と、FAX部13と、表示部23と、操作部24と、通信部25と、装着部26と、CPU(Central Processing Unitの略)31と、記憶部32と、通信バス33とを主に備える。複合機10を構成する各構成要素は、通信バス33を通じて相互に接続されている。複合機10は、出力装置の一例である。
[プリンタ部11、スキャナ部12、FAX部13]
プリンタ部11は、画像データで示される画像を記録用紙に記録するプリント動作を実行する。記録用紙は、シート或いは被記録媒体の一例である。プリンタ部11の記録方式として、インクジェット方式や電子写真方式などの公知の方式を採用することができる。スキャナ部12は、原稿に記録されている画像を読み取って画像データを生成するスキャン動作を実行する。FAX部13は、FAXプロトコルに準拠した方式で画像データを送受信するFAX送信動作及びFAX受信動作を実行する。
前述の複数の動作のうちのプリント動作及びFAX送信動作は、コンテンツデータで示されるコンテンツを出力する出力動作の一例である。なお、複合機10が実行する動作はこれらに限定されない。出力動作の一例として、複合機10は、携帯端末50から取得したコンテンツデータを、装着部26に装着された可搬記憶媒体に記憶させるメディア保存動作を実行してもよい。出力動作の他の例として、複合機10は、携帯端末50から取得した画像データで示される画像を表示部23に表示させてもよい。
また、出力動作は、円盤形状の画像(以下、「レーベル画像」と表記する。)を、CD-ROMの表面に記録するレーベルプリント動作、カード等の表面に凹凸を形成するエンボス加工動作、葉書に画像を記録する葉書プリント動作、布地に画像を記録するガーメントプリント動作等を含んでもよい。これらの動作は、一般的な記録用紙と異なる被記録媒体(例えば、CD-ROM、カード、葉書、布地)に画像を記録するための専用のハードウェアを有する出力装置のみで実行可能である。さらに、出力動作は、画像を記録した複数の記録用紙を綴じる製本動作、CADデータに基づいて3次元の構造物を生成する3Dプリント動作、布地に糸を縫い込んで画像を生成する刺繍動作等を含んでもよい。これらの動作もまた、専用のハードウェアを有する出力装置のみで実現可能である。
複合機10A、10Bが実行可能な動作は異なっていてもよい。本実施形態において、複合機10Aはプリント動作、FAX送信動作、及びレーベルプリント動作を実行可能であり、複合機10Bはプリント動作、メディア保存動作、及びレーベルプリント動作を実行可能である。また、出力装置は、複数の動作を実行可能なものに限定されず、単一の動作のみを実行可能であってもよい。複合機10のMIB(Management Information Baseの略)には、例えば、当該複合機10を識別するための装置IDと、当該複合機10が実行可能な動作を示す動作情報とが定義されていてもよい。動作情報は、例えば、実行可能な動作を識別するための動作IDを含んでもよい。装置IDは装置識別情報の一例であり、動作IDは動作識別情報の一例である。
[表示部23]
表示部23は、各種情報を表示する表示画面を備える。表示部23としては、液晶ディスプレイ(Liquid Crystal Displayの略)、有機ELディスプレイ(Organic Electro-Luminescence Displayの略)等を採用することができる。
[操作部24]
操作部24は、表示部23の表示画面に表示されたオブジェクトを選択するユーザの操作を受け付ける。具体的には、操作部24はボタンを有しており、押下されたボタンに対応づけられた各種の操作信号をCPU31へ出力する。さらに、操作部24は、表示部23の表示画面に重畳された膜状のタッチセンサを有していてもよい。すなわち、表示部23がタッチパネルディスプレイとして構成されてもよい。
なお、「オブジェクト」とは、ユーザが操作部24を操作することによって選択可能な画像を指す。一例として、オブジェクトは表示部23に表示された文字列であって、操作部24の方向キーを押下することによってオブジェクトの1つがハイライト表示され、操作部24の決定ボタンを押下することによってハイライト表示されたオブジェクトが選択されてもよい。他の例として、操作部24がタッチパネルである場合のオブジェクトは表示部23に表示されたアイコン、ボタン、リンク等であって、タッチ位置に表示されたオブジェクトが選択されてもよい。
タッチパネルとして実現される操作部24は、表示部23の表示画面をタッチするユーザ操作を受け付ける。また、操作部24は、ユーザがタッチした表示画面上の位置を示す位置情報を出力する。位置情報は、例えば、表示画面の左上端を原点とし、右向きをx軸の正の向き、下向きをy軸の正の向きとしたx-y平面上の座標(x,y)として表現できる。タッチセンサには、静電容量方式、抵抗膜方式等の周知の方式を採用することができる。
なお、本明細書中における「タッチ」とは、入力媒体を表示画面に接触させる操作全般を含む。すなわち、タッチした入力媒体を所定時間内に表示画面から離間させるタップ操作、タッチした入力媒体を表示画面上で静止させるロングタッチ操作、タッチした入力媒体を表示画面上でスライドさせるスライド操作、表示画面上をスライドする入力媒体の加速度が閾値以上であるフリック操作、表示画面上の異なる位置にタッチした2つの入力媒体を互いに近づける向きにスライドさせるピンチイン操作、表示画面上の異なる位置にタッチした2つの入力媒体を互いに離れる向きにスライドさせるピンチアウト操作等は、タッチの一例である。
また、入力媒体が表示画面に触れていなくても、表示画面との間の距離がごく僅かな位置まで入力媒体を近接させることを、前述の「タッチ」の概念に含めてもよい。さらに入力媒体とは、ユーザの指であってもよいし、タッチペン等であってもよい。以下、表示部53に表示されたアイコンの位置のタップを、当該アイコンを選択するユーザ操作の一例として説明する。
[通信部25]
通信部25は、通信ネットワーク101を通じて外部装置と通信を行うためのインタフェースである。すなわち、複合機10は、通信部25を通じて携帯端末50に各種情報を出力し、通信部25を通じて携帯端末50から各種データ又は各種情報を受信する。通信部25の具体的な通信手順は特に限定されないが、例えば、Wi-Fi(Wi-Fi Allianceの登録商標)を採用することができる。
[装着部26]
装着部26は、可搬記憶媒体が着脱されるインタフェースである。CPU31は、装着部26に装着された可搬記憶媒体からデータ又は情報を読み出し、或いは装着部26に装着された可搬記憶媒体にデータ又は情報を書き込むことができる。可搬記憶媒体の具体例は特に限定されないが、例えば、USBメモリ、SDカード、CD-ROM、DVD-ROM等であってもよい。
[CPU31]
CPU31は、複合機10の全体動作を制御するものである。CPU31は、操作部24から出力される各種情報、及び通信部25を通じて外部装置から取得した各種情報等に基づいて、後述する各種プログラムを記憶部32から取得して実行する。すなわち、CPU31及び記憶部32は、制御部の一例を構成する。
[記憶部32]
記憶部32は、プログラム記憶領域32Aと、データ記憶領域32Bとを有する。プログラム記憶領域32Aには、OS(Operating Systemの略)34と、制御プログラム35とが格納される。なお、制御プログラム35は、単一のプログラムであってもよいし、複数のプログラムの集合体であってもよい。データ記憶領域32Bには、制御プログラム35の実行に必要なデータ或いは情報が記憶される。
なお、本明細書中の「データ」と「情報」とは、コンピュータによって取り扱い可能なビット或いはビット列である点において共通する。「データ」とは、各ビットが示す意味内容をコンピュータが考慮することなく取り扱えるものを指す。これに対して、「情報」とは、各ビットが示す意味内容によってコンピュータの動作が分岐するものを指す。さらに、「指示」は、送信先の装置に対して次の動作を促すための制御信号であって、情報を含んでいることもあるし、それ自体が情報としての性質を有していることもある。
また、「データ」及び「情報」は、形式(例えば、テキスト形式、バイナリ形式、フラグ形式等)がコンピュータ毎に変更されたとしても、同一の意味内容と認識される限り、同一のデータ及び情報として取り扱われる。例えば、「2つ」であることを示す情報が、あるコンピュータではASCIIコードで”0x32“というテキスト形式の情報として保持され、別のコンピュータでは二進数表記で”10“というバイナリ形式の情報として保持されてもよい。
但し、上記の「データ」及び「情報」の区別は厳密なものではなく、例外的な取り扱いも許容される。例えば、データが一時的に情報として扱われてもよいし、情報が一時的にデータとして扱われてもよい。また、ある装置ではデータとして扱われるものが、他の装置では情報として扱われてもよい。さらには、データの中から情報が取り出されてもよいし、情報の中からデータが取り出されてもよい。
記憶部32は、例えば、RAM(Random Access Memoryの略)、ROM(Read Only Memoryの略)、EEPROM(Electrically Erasable Programmable Read-Only Memoryの略)、HDD(Hard Disk Driveの略)、CPU31が備えるバッファ等、或いはそれらの組み合わせによって構成される。
なお、記憶部32は、コンピュータが読み取り可能なストレージ媒体であってもよい。コンピュータが読み取り可能なストレージ媒体とは、non-transitoryな媒体である。non-transitoryな媒体には、上記の例の他に、CD-ROM、DVD-ROM等の記録媒体も含まれる。また、non-transitoryな媒体は、tangibleな媒体でもある。一方、インターネット上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、コンピュータが読み取り可能な媒体の一種であるコンピュータが読み取り可能な信号媒体であるが、non-transitoryなコンピュータが読み取り可能なストレージ媒体には含まれない。
プログラム記憶領域32Aに記憶されているプログラムは、CPU31によって実行される。しかしながら、本明細書では、CPU31を省略して各プログラムの動作を説明することがある。すなわち、以下の説明において、「プログラムAが処理Aを実行する」という趣旨の記述は、「CPU31がプログラムAに記述された処理Aを実行する」ことを指してもよい。後述する携帯端末50についても同様である。
また、プログラム記憶領域32Aに記憶されているプログラムは、事象を判断し、判断結果に応じて動作する。しかしながら、本明細書では、判断することを省略して各プログラムの動作を説明することがある。すなわち、以下の説明において、「制御プログラムが条件Aに応じて、処理Aを実行する」という趣旨の記述は、「制御プログラムは条件Aであるか否かを判断する。制御プログラムは、肯定判断であることに応じて、処理Aを実行する」ことを指してもよい。後述する携帯端末50についても同様である。
また、プログラム記憶領域32Aに記憶されているプログラムは、データ等を特定し、取得し、抽出し、或いは選択する。プログラムがデータ等を特定するとは、例えば、複数のデータ等のうちから条件に合致するデータを特定し、当該データ等そのもの或いは当該データ等を識別するための情報を、予め定められた記憶領域に記憶させる処理を指す。データ等を識別するための情報とは、例えば、当該データ等を識別するための識別情報、当該データ等が記憶された配列のインデックス、当該データ等が記憶された記憶領域のポインタ等である。プログラムがデータ等を取得し、抽出し、或いは選択する処理も同様である。後述する携帯端末50についても同様である。
OS34は、複合機10を構成するハードウェアであるプリンタ部11、スキャナ部12、FAX部13、表示部23、操作部24、通信部25、及び装着部26等を制御するためのAPI(Application Programming Interfaceの略)を提供する基本プログラムである。すなわち、上記の各プログラムは、OS34が提供するAPIを呼び出すことによって、各ハードウェアを制御する。しかしながら、本明細書では、OS34を省略して各プログラムの動作を説明することがある。すなわち、以下の説明において、「プログラムBがハードウェアCを制御する」という趣旨の記述は、「プログラムBがOS34のAPIを通じてハードウェアCを制御する」ことを指してもよい。後述する携帯端末50についても同様である。
[携帯端末50]
携帯端末50は、図2(B)に示されるように、表示部53と、操作部54と、通信部55と、CPU61と、記憶部62と、通信バス63とを主に備える。携帯端末50に含まれる表示部53、操作部54、通信部55、CPU61、記憶部62、及び通信バス63は、複合機10に含まれる表示部23、操作部24、通信部25、CPU31、記憶部32、及び通信バス33と同様の構成であるので、説明は省略する。CPU61及び記憶部62は、制御部の一例である。携帯端末50は、例えば、スマートフォン、携帯電話、或いはタブレット端末等である。
記憶部62のプログラム記憶領域62Aには、OS64と、出力プログラム65と、コンテンツ指定プログラム66と、不図示のプログラムAとが格納されている。コンテンツ指定プログラム66及びプログラムAは、起動元プログラムの一例である。また、記憶部62のデータ記憶領域62Bには、図3に示される各種情報が記憶されている。さらに、データ記憶領域62Bには、コンテンツデータが格納されるコンテンツデータフォルダが設けられていてもよい。コンテンツデータは、例えば、画像データ、写真データ、ドキュメントデータ、表計算データ、プレゼンテーションデータ、動画データ、或いは音楽データ等であってもよい。
携帯端末50の表示部53は、図8~図12に示されるように、共通表示領域80と、プログラム表示領域81とに区分される。共通表示領域80には、プログラム表示領域81の表示内容にかかわらず、OS64によってステータスバーが表示される。ステータスバーには、OS64によって各種情報が表示される。ステータスバーには、例えば、プログラム表示領域81に表示された画面のタイトル、携帯端末50のバッテリー残量を示すアイコン、通信部55の通信状態を示すアイコン、携帯端末50が外部サービスから受信したプッシュ通知を示すアイコン等が表示される。プログラム表示領域81には、フォアグラウンドで実行されているプログラムが生成した画面が表示される。
以下、「プログラムが表示部53に画面を表示させる」と記述したときは、プログラム画面がプログラム表示領域81に表示され、ステータスバーが共通表示領域80に表示されるものとする。プログラム画面とは、プログラムの指示によって、プログラム表示領域81に表示される画面のことである。但し、表示部53は、表示領域が共通表示領域80とプログラム表示領域81とに区分された部分画面モードと、表示領域の全てがプログラム表示領域81となる全画面モードとに切替可能であってもよい。
OS64は、例えば、Android(Google inc.の登録商標) OS、iOS(Cisco Systems,Inc.の登録商標)、Windows Phone(Microsoft Corporationの登録商標) Operating System等であってもよい。OS64は、携帯端末50にインストールされた複数のプログラムを並行して実行することができる。複数のプログラムは、例えば、時分割多重方式によって仮想的に並行して実行される。また、OS64は、並行して実行する複数のプログラムのうちの1つをフォアグラウンドで実行し、その他のプログラムをバックグラウンドで実行する。
フォアグラウンドは、例えば、当該プログラムの実行に拠るプログラム画面が表示部53の表示領域の大部分に表示されている状態である。「表示領域の大部分」とは、例えば、プログラム表示領域81を指してもよい。バックグラウンドは、例えば、当該プログラムと異なるプログラムの実行に拠るプログラム画面が表示部53の表示領域の大部分に表示されている状態である。すなわち、携帯端末50は、並行して実行する複数のプログラムのうち、フォアグラウンドで実行されているプログラムの実行に拠るプログラム画面のみを表示部53に表示させることができる。
出力プログラム65は、通信部55を通じて接続された複合機10に、コンテンツデータに対する出力動作を実行させるプログラムである。出力プログラム65は、例えば、プリント動作を実行させるための記録指示情報、FAX送信動作を実行させるためのFAX指示情報等を、通信部55を通じて複合機10に送信する。記録指示情報及びFAX指示情報は、出力指示情報の一例である。また、出力プログラム65は、レーベルプリント動作、エンボス加工動作、葉書プリント動作、ガーメントプリント動作製本動作、3Dプリント動作、刺繍動作等を複合機10に実行させるための出力指示情報を送信可能であってもよい。さらに、出力プログラム65は、出力指示情報を送信する前にプレビュー画面を表示部53に表示させる。
コンテンツ指定プログラム66は、コンテンツデータ、出力動作、及び出力装置の少なくとも1つをユーザに指定させる。また、コンテンツ指定プログラム66は、プログラムID、指定データID、指定動作ID、及び指定装置IDの少なくとも1つを指定して、出力プログラム65を起動させることができる。コンテンツ指定プログラム66が実行するこれらの処理は、起動処理の一例である。また、プログラムAは、起動処理を実行するコンテンツ指定プログラムの他の例である。
以下、ユーザが指定したコンテンツデータを「指定データ」と表記し、ユーザが指定した出力動作を「指定動作」と表記し、ユーザが指定した出力装置を「指定装置」と表記する。また、指定動作及び指定装置は、プログラムによって予め指定されていてもよい。プログラムIDはコンテンツ指定プログラム66を識別するためのプログラム識別情報の一例であり、指定データIDは指定データを識別するための指定データ情報の一例であり、指定装置IDは指定装置を識別するための指定装置情報の一例であり、指定動作IDは指定動作を識別するための指定動作情報の一例である。
本実施形態に係るコンテンツ指定プログラム66は、レーベル画像をユーザ操作に従って編集し、当該レーベル画像を示すレーベル画像データを指定データとして出力プログラム65に提供するものである。但し、コンテンツ指定プログラム66の具体例はこれに限定されない。一例として、プログラムAは、データ記憶領域62Bに記憶された複数の写真データのうちの1つをユーザに指定させ、指定された写真データを出力プログラム65に提供するものであってもよい。他の例として、プログラムAは、地図画像の任意の領域をユーザに指定させ、指定された領域の地図画像を示す画像データを出力プログラム65に提供するものであってもよい。
コンテンツ指定プログラム66は、例えば、所謂プラグインとして出力プログラム65を起動することができる。この場合、コンテンツ指定プログラム66は、出力プログラム65を特定する情報、URI、及び指定情報を引数として、プラグインとしてアプリケーションを起動するためのプラグインAPIを実行すればよい。プラグインAPIで指定される引数は、例えば、Android OSで用いられるインテント形式の情報であってもよい。または、コンテンツ指定プログラム66は、後述する明示的共有APIを実行することによって、出力プログラム65を起動してもよい。明示的共有APIで指定される引数は、プラグインAPIと共通であってもよい。
出力プログラム65は、例えば、コンテンツ指定プログラム66によって起動される。出力プログラム65は、コンテンツ指定プログラム66から提供されたプログラムID、指定データID、指定装置ID、及び指定動作IDを取得し、指定データに対する指定動作を指定装置に実行させるプログラムである。出力プログラム65は、例えば、インテント形式の引数を参照することで、コンテンツ指定プログラム66から提供された各種情報を取得できる。出力プログラム65は、例えば、レーベルプリント動作を実行させるための出力指示情報を、通信部55を通じて複合機10に送信する。
また、出力プログラム65は、コンテンツ指定プログラム66から取得した各種情報に従って動作し、当該動作によって生成される生成情報をコンテンツ指定プログラム66に提供することができる。生成情報は、例えば、出力プログラム65が生成した画像データ、生成した画像データの所在を示すURL、及び出力プログラム65による動作結果を示す結果情報などが考えられる。
一例として、出力プログラム65は、インテント形式の引数に生成情報を追記することで、当該生成情報をコンテンツ指定プログラム66に提供してもよい。出力プログラム65が生成情報を追記した引数は、コンテンツ指定プログラム66に戻り値として提供される。これにより、コンテンツ指定プログラム66は、戻り値に含まれる各種情報を取得できる。他の例として、出力プログラム65は、出力プログラム65を起動するためにコンテンツ指定プログラム66が実行したプラグインAPI或いは明示的共有APIの戻り値として、コンテンツ指定プログラム66に生成情報を提供してもよい。
他の例として、出力プログラム65は、コンテンツ指定プログラム66がアクセス可能な記憶部62の領域に生成情報を記憶させることで、当該生成情報をコンテンツ指定プログラム66に提供してもよい。この場合、コンテンツ指定プログラム66は、記憶部62に記憶された生成情報を読み込むことで、当該生成情報を取得する。他の例として、出力プログラム65は、コンテンツ指定プログラム66を特定する情報及び生成情報を引数として、アプリケーションに引数を受け渡すためのAPIを実行することによって、コンテンツ指定プログラム66に生成情報を提供してもよい。この場合の引数も、インテント形式の情報であってよい。
OS64は、第1プログラムが指定した第2プログラムを起動し、且つ第1プログラムが指定した指定情報を第2プログラムに提供する共有機能を、携帯端末50にインストールされたプログラムに提供する。第1プログラムは、例えば、OS64が提供するAPI(以下、「共有API」と表記する。)を実行することによって、共有機能を利用することができる。より詳細には、第1プログラムは、第2プログラムのプログラムID及び指定情報を引数として、共有APIを実行する。図13を参照して、共有機能の詳細を説明する。
まず、共有元のアプリケーション41は、共有機能を実現するためのOS64の共有APIを実行する(S1)。暗黙的共有APIの実行には、少なくともURI(Uniform Resource Identifierの略)、タイプ、アクションが引数として求められる。引数は、例えば、インテント形式の情報であってもよい。共有元のアプリケーション41は、暗黙的共有APIの引数に他の情報を含めてもよい。URIは、共有データの所在を示す情報である。タイプは、共有データのデータ形式を示す情報である。アクションは、共有先のアプリケーションに実行させる共有データに対する処理の種類(例えば、閲覧、編集、送信、印刷等)を示す情報である。URI、タイプ、及びアクションは、共有元のアプリケーションから要求先のアプリケーションに提供される指定情報の一例である。
一方、共有先のアプリケーションの候補となるアプリケーション42、43、44、・・・は、処理可能な共有データのデータ形式と実行可能な処理の種類とを、OS64に対して予め宣言している。そこで、OS64は、アプリケーション42、43、44、・・・のうちから、タイプで示されるデータ形式の共有データに対してアクションで示される処理を実行可能なアプリケーションを特定(S2)し、特定したアプリケーションの一覧を表示部53に表示させる(S3)。そして、OS64は、一覧表示されたアプリケーションのうちの1つを選択するユーザ操作を操作部54を通じて受付可能な状態で待機する(S4)。
次に、OS64は、一覧表示されたアプリケーションのうちの1つを選択するユーザ操作を操作部54を通じて受け付けたことに応じて(S4)、URI、タイプ、及びアクションを引数として当該アプリケーションを起動する(S5)。以下の実施形態において、コンテンツ指定プログラム66が図13のアプリケーション41に相当し、出力プログラム65が図13のアプリケーション42~44の1つに相当する。
なお、ステップS2~S5の処理は、共有元のアプリケーションによって実行されてもよい。この場合の共有元のアプリケーションは、ステップS2において、タイプで示されるデータ形式の共有データに対して、アクションで示される処理を実行可能なアプリケーションを特定する情報をOS64から取得する。そして、共有元のアプリケーションは、ステップS5において、OS64から取得したアプリケーションを特定する情報、URI、タイプ、及びアクションを引数として明示的共有APIを実行することによって、ユーザ操作によって選択されたアプリケーションを起動させることができる。共有元のアプリケーション41は、明示的共有APIの引数に他の情報を含めてもよい。
または、共有元のアプリケーションは、共有機能の利用をユーザに指示されたことに応じて、予め定められたアプリケーションを特定する情報、URI、タイプ、及びアクションを引数として明示的共有APIを実行することによって、予め定められた共有先のアプリケーションを起動させてもよい。本実施形態では、例えば、共有元のアプリケーションであるコンテンツ指定プログラム66に、予め定められた共有先のアプリケーションとして出力プログラム65が設定されていればよい。より詳細には、コンテンツ指定プログラム66が起動時に参照する設定ファイル、或いはコンテンツ指定プログラム66のソースコードに、出力プログラム65を特定する情報が記述されていればよい。
データ記憶領域62Bは、図3(A)に示されるように、プログラムIDと、プログラムIDに対応付けられた装置IDとを記憶することができる。以下、図3(A)に示される情報を「装置情報リスト」と表記することがあり、図3(A)に示される各レコードを「装置情報レコード」と表記することがある。すなわち、装置情報リストは、複数の装置情報レコードを含むことができる。装置情報リストは、出力プログラム65によって編集される。
本実施形態において、コンテンツ指定プログラム66はプログラムID“001”で識別され、プログラムAはプログラムID“002”で識別され、出力プログラム65はプログラムID“999”で識別される。本実施形態において、複合機10Aの装置IDは“MFP-A”であり、複合機10Bの装置IDは“MFP-B”である。以下、出力プログラム65のプログラムID“999”に対応付けられた装置IDを、「デフォルトID」と表記することがある。デフォルトIDは、例えば、不図示のユーザインタフェースを通じてユーザに指定させてもよいし、後述するデバイス決定処理で決定された指定装置IDであってもよい。
また、データ記憶領域62Bは、図3(B)に示されるように、デバイス変更フラグを記憶している。デバイス変更フラグは、後述するデバイス選択処理で指定装置が変更されたか否かを示す。デバイス変更フラグには、指定装置が変更されたことを示す“ON”、指定装置が変更されていないことを示す“OFF”のいずれかが設定される。デバイス変更フラグの初期値は“OFF”である。デバイス変更フラグの値は、出力プログラム65によって設定される。
さらに、データ記憶領域62Bは、図3(C)に示されるように、登録装置IDを記憶することができる。登録装置IDは、後述するステップS20において、出力プログラム65からコンテンツ指定プログラム66に提供された装置IDである。登録装置IDは、コンテンツ指定プログラム66によって編集される。
[記録システム100の動作]
図4~図6を参照して、本実施形態に係る記録システム100の動作を説明する。記録システム100は、ユーザ操作に基づいて携帯端末50で指定されたコンテンツデータに対するレーベルプリント動作を、ユーザ操作に基づいて指定された複合機10Aに実行させる処理を実行する。
まず、携帯端末50のOS64は、メニュー画面を表示部53に表示させ、ステータスバーを共通表示領域80に表示させる。図8(A)はメニュー画面の一例である。図8(A)に示されるメニュー画面は、複数のプログラムアイコン111、112、113、114、115を含む。プログラムアイコン111~115は、携帯端末50にインストールされたプログラムに対応する。例えば、プログラムアイコン111はプログラムAに対応し、プログラムアイコン114は出力プログラム65に対応し、プログラムアイコン115はコンテンツ指定プログラム66に対応する。
そして、OS64は、プログラムアイコン111~115の1つの選択を操作部54を通じて受け付ける。OS64は、例えばプログラムアイコン115の選択を操作部54を通じて受け付けたことに応じて、コンテンツ指定プログラム66を起動させて、当該コンテンツ指定プログラム66をフォアグラウンドで実行する。プログラムアイコン115の選択は、コンテンツ指定プログラム66の起動を指示するユーザ操作の一例である。
コンテンツ指定プログラム66は、プログラムアイコン114の選択を受け付けたOS64によって起動されたことに応じて、レーベル編集画面を表示部53に表示させる。図8(B)は、レーベル画像が編集される前のレーベル編集画面の一例である。図9(A)は、レーベル画像が編集された後のレーベル編集画面の一例である。図8(B)及び図9(A)に示されるレーベル編集画面は、レーベル画像表示領域121と、複数の編集アイコン122、123、124と、装置アイコン125と、レーベルアイコン126とを含む。そして、コンテンツ指定プログラム66は、レーベル編集画面に含まれるアイコンの選択を、操作部54を通じて受け付ける。
レーベル画像表示領域121は、編集アイコン122~124を用いて編集されたレーベル画像を表示する領域である。編集アイコン122は、レーベル画像に文字列を追加する指示に対応する。編集アイコン123は、レーベル画像に色を付加する指示に対応する。編集アイコン124は、レーベル画像に写真を追加する指示に対応する。装置アイコン125は、指定装置を切り替える指示に対応する。レーベルアイコン126は、レーベルプリント動作を指定動作として指定して、出力プログラム65を起動させる指示に対応する。
なお、装置アイコン125には、データ記憶領域62Bに記憶された登録装置ID“MFP-A”が記述されている。登録装置IDは、コンテンツ指定プログラム66の起動時点における仮の指定装置IDとして、データ記憶領域62Bに一時記憶される。一方、データ記憶領域62Bに登録装置IDが記憶されていない場合、装置アイコン125には、登録装置IDが存在しないことを示す“未選択”等の文字列が記述されてもよい。
また、図8(B)に示されるレーベルアイコン126は、選択不能な態様の一例としてグレーアウトされている。但し、選択不能な態様の他の例として、図8(B)に示されるレーベル編集画面において、レーベルアイコン126を非表示にしてもよい。一方、図9(A)に示されるレーベルアイコン126は、選択可能な態様となっている。すなわち、レーベルアイコン126は、レーベル画像が編集される前は選択不能で、レーベル画像が編集されたことに応じて選択可能となる。
コンテンツ指定プログラム66は、編集アイコン122~124の選択を操作部54を通じて受け付けたことに応じて、ユーザ操作に従ってレーベル画像を編集する。そして、コンテンツ指定プログラム66は、編集後のレーベル画像をレーベル画像表示領域121に配置したレーベル編集画面を、表示部53に表示させる。また、コンテンツ指定プログラム66は、編集後のレーベル画像を示すレーベル画像データを指定データとして、当該レーベル画像データを識別するためのデータID(例えば、“レーベル画像.JPEG”)を指定データIDとして、データ記憶領域62Bに一時記憶させる。
出力プログラム65及びコンテンツ指定プログラム66は、OS64のAPIを用いて、記憶部62に記憶されたデータを読み出し、編集し、或いは削除することができる。データIDは、OS64のAPIにデータを指定するために用いられる形式の情報である。データIDは、例えば、ファイルパスやURIである。なお、データ記憶領域62Bに既に指定データ及び指定データIDが一時記憶されている場合は、新たな指定データ及び指定データIDで上書きされる。
なお、編集後のレーベル画像を示すレーベル画像データの記憶先は、例えば、クラウドサーバ等の不図示の外部サーバであってもよい。すなわち、コンテンツ指定プログラム66は、編集後のレーベル画像を示すレーベル画像データを、通信部55を通じて外部サーバに送信してもよい。そして、コンテンツ指定プログラム66は、当該レーベル画像データのデータIDを指定データIDとして、データ記憶領域62Bに一時記憶させてもよい。この場合の指定データIDは、例えば、レーベル画像データを外部サーバからダウンロードするためのURLの形式であってもよい。
一例として、コンテンツ指定プログラム66は、編集アイコン122が選択されたことに応じて、不図示のソフトウェアキーボードを表示部53に表示させ、当該ソフトウェアキーボードを通じて入力された文字列をユーザが所望する位置に配置する。他の例として、コンテンツ指定プログラム66は、編集アイコン123が選択されたことに応じて、選択可能な色の一覧を表示部53に表示させ、操作部54を通じて選択された色をレーベル画像の背景色に設定する。さらに他の例として、コンテンツ指定プログラム66は、編集アイコン124が選択されたことに応じて、選択可能な写真の一覧を表示部53に表示させ、操作部54を通じて選択された写真をユーザが所望する位置に配置する。
また、コンテンツ指定プログラム66は、装置アイコン125の選択を操作部54を通じて受け付けたことに応じて、図6に示されるデバイス選択処理を実行する。デバイス選択処理の詳細は、後述する。なお、コンテンツ指定プログラム66は、後述するステップS42、S43で指定動作の指定を受け付けてもよいし、レーベルプリント動作が指定動作として予め定められていてもよい。そして、コンテンツ指定プログラム66は、デバイス選択処理で選択された複合機10の装置IDを、仮の指定装置IDとしてデータ記憶領域62Bに一時記憶させる。なお、データ記憶領域62Bに仮の指定装置IDが既に一時記憶されている場合は、新たな装置IDで上書きされる。
さらに、コンテンツ指定プログラム66は、レーベルアイコン126の選択を操作部54を通じて受け付けたことに応じて、プログラムID、指定データID、仮の指定装置IDである装置ID、及び指定動作IDを出力プログラム65を引数として、出力プログラム65を起動するためのAPIを実行する。ここで実行されるAPIは、プラグインとして出力プログラム65を起動するためのAPIであってもよいし、明示的共有APIであってもよい。これにより、OS64は、コンテンツ指定プログラム66をバックグラウンドで実行し、出力プログラム65をフォアグラウンドで実行する。本実施形態では、プログラムID“001”及び指定動作ID“レーベルプリント動作”は固定であり、指定データID“レーベル画像.JPEG”及び装置ID“MFP-A”は前述の処理によってユーザによって指定されたものである。
なお、コンテンツ指定プログラム66は、少なくとも指定データIDを提供すればよく、プログラムID、装置ID、及び指定動作IDの提供を省略することができる。また、指定動作IDは固定でなくてもよい。コンテンツしてプログラム66は、例えば、プリント動作に対応するプリントアイコン、FAX送信動作に対応するFAXアイコン、或いはメディア保存動作に対応するメディアアイコン等をレーベル編集画面にさらに含めてもよい。そして、コンテンツ指定プログラム66は、選択されたアイコンに対応する出力動作の動作IDを、指定動作IDとして出力プログラム65に提供してもよい。
[外部起動処理]
出力プログラム65は、図4に示されるように、コンテンツ指定プログラム66による起動処理によって起動されたことに応じて、コンテンツ指定プログラム66から提供された情報を取得する(S11)。出力プログラム65は、少なくとも指定データIDを取得する。本実施形態に係る出力プログラム65は、プログラムID“001”、指定データID“レーベル画像.JPEG”、装置ID“MFP-A”、及び指定動作ID“レーベルプリント動作”を取得する。そして、出力プログラム65は、コンテンツ指定プログラム66から取得した各種情報を、データ記憶領域62Bに一時記憶させる。ステップS11の処理は、取得処理の一例である。
次に、出力プログラム65は、デバイス決定処理を実行する(S12)。デバイス決定処理は、指定データに対する指定動作を実行させる複合機10を決定する処理である。図5を参照して、デバイス決定処理の詳細を説明する。
まず、出力プログラム65は、ステップS11で装置IDを取得したか否かを判断する(S31)。次に、出力プログラム65は、装置ID“MFP-A”を取得したと判断したことに応じて(S31:Yes)、装置ID“MFP-A”で識別される複合機10Aが通信部55を通じて通信可能な状態か否かを判断する(S32)。ステップS31の処理は第3判断処理の一例であり、ステップS32の処理は第4判断処理の一例である。
出力プログラム65は、例えばステップS32において、ICMP(Internet Control Message Protocolの略)のエコーリクエストを通信部55を通じて複合機10Aに送信する。そして、出力プログラム65は、通信部55を通じて複合機10Aからエコーリプライを受信したことに応じて、複合機10Aが通信可能な状態であると判断する。一方、出力プログラム65は、所定の時間が経過してもエコーリプライを受信できないことに応じて、複合機10Aが通信不能な状態であると判断する。但し、複合機10Aが通信可能か否かの判断方法は前述の例に限定されず、他の周知の方法を採用してもよい。
そして、出力プログラム65は、複合機10Aが通信可能な状態だと判断したことに応じて(S32:Yes)、コンテンツ指定プログラム66から取得した装置ID“MFP-A”を、指定装置IDとして決定する(S33)。そして、出力プログラム65は、コンテンツ指定プログラム66から取得した装置ID“MFP-A”を、指定装置IDとしてデータ記憶領域62Bに一時記憶させる。ステップS33の処理は、第2決定処理の一例である。
一方、出力プログラム65は、装置IDを取得していないと判断したことに応じて(S31:No)、或いは複合機10Aが通信不能な状態であると判断したことに応じて(S32:No)、ステップS11でプログラムIDを取得したか否かを判断する(S34)。次に、出力プログラム65は、プログラムID“001”を取得したと判断したことに応じて(S34:Yes)、当該プログラムID“001”に対応付けられた装置IDが装置情報リストに記憶されているか否かを判断する(S35)。ステップS34の処理は第1判断処理の一例であり、ステップS35の処理は第2判断処理の一例である。
そして、出力プログラム65は、プログラムID“001”に対応付けられた装置ID“MFP-A”が装置情報リストに記憶されていると判断したことに応じて(S35:Yes)、当該装置ID“MFP-A”を指定装置IDに決定する(S36)。すなわち、出力プログラム65は、当該装置ID“MFP-A”を、指定装置IDとしてデータ記憶領域62Bに一時記憶させる。ステップS36の処理は、第1決定処理の一例である。また、出力プログラム65は、デバイス変更フラグに“ON”を設定する(S37)。
一方、出力プログラム65は、プログラムIDを取得していないと判断したことに応じて(S34:No)、或いはプログラムIDに対応付けられた装置IDが装置情報リストに記憶されていないと判断したことに応じて(S35:No)、デバイス選択処理を実行する(S38)。デバイス選択処理は、指定装置を指定するユーザ操作を受け付ける処理である。図6を参照して、デバイス選択処理の詳細を説明する。
まず、出力プログラム65は、ステップS11で指定動作IDを取得したか否かを判断する(S41)。ステップS41の処理は、第5判断処理の一例である。次に、出力プログラム65は、指定動作IDを取得していないと判断したことに応じて(S41:No)、動作選択画面を表示部53に表示させる(S42)。図9(B)は、動作選択画面の一例である。図9(B)に示される動作選択画面は、複数の動作アイコン131、132、133、134を含む。動作アイコン131はプリント動作に対応し、動作アイコン132はレーベルプリント動作に対応し、動作アイコン133はFAX送信動作に対応し、動作アイコン134はメディア保存動作に対応する。
次に、出力プログラム65は、動作選択画面に含まれる動作アイコン131~134の1つを選択するユーザ操作を、操作部54を通じて受け付ける(S43)。出力プログラム65は、例えば動作アイコン132の選択を操作部54を通じて受け付けたことに応じて(S43:Yes)、動作アイコン132に対応するレーベルプリント動作を指定動作に決定する。すなわち、出力プログラム65は、レーベルプリント動作の動作IDを、指定動作IDとしてデータ記憶領域62Bに一時記憶させる。ステップS43の処理は、第2受付処理の一例である。一方、出力プログラム65は、指定動作IDを取得したと判断したことに応じて(S41:Yes)、ステップS42、S43の処理をスキップする。
次に、出力プログラム65は、通信部55を通じて通信可能な複数の複合機10のうち、指定動作を実行可能な複合機10を検索する(S44)。ステップS44の処理は、検索処理の一例である。出力プログラム65は、例えば、SNMP(Simple Network Management Protocolの略)を用いて、MIBに記憶された装置ID及び動作情報の送信を要求する送信要求情報を、通信部55を通じて複合機10に送信する。次に、出力プログラム65は、複合機10から返信された装置ID及び動作情報を通信部55を通じて受信する。次に、出力プログラム65は、指定動作IDと、複合機10から受信した動作情報に含まれる動作IDとを比較する。そして、出力プログラム65は、動作情報に指定動作IDが含まれる複合機10を、対象複合機として特定する。本実施形態では、指定動作ID“レーベルプリント動作”が動作情報に含まれる複合機10A、10Bが対象複合機として特定される。
なお、動作情報は、複合機10のモデルを示すモデル情報であってもよい。この場合の出力プログラム65は、モデル情報と、モデル情報に対応する動作IDとの対応関係を示す対応情報にアクセスし、受信したモデル情報に対応する動作IDを取得する。すなわち、対応情報は、モデル情報で示されるモデルの複合機10が実行可能な動作を示す情報でもある。なお、対応情報は、携帯端末50に記憶されていてもよいし、不図示のクラウドサーバに記憶されていてもよい。
他の例として、送信要求情報は、指定動作IDを含んでもよい。複合機10の制御プログラム35は、通信部25を通じて携帯端末50から送信要求情報を受信し、送信要求情報に含まれる指定動作IDがMIBに記憶されているか否かを判断してもよい。そして、制御プログラム35は、指定動作IDがMIBに記憶されていると判断したことに応じて、通信部25を通じて携帯端末50に装置IDを送信してもよい。一方、制御プログラム35は、指定動作IDがMIBに記憶されていないと判断したことに応じて、携帯端末50に装置IDを送信しない。そして、携帯端末50の出力プログラム65は、通信部55を通じて受信した装置IDで示される複合機10を対象複合機として特定してもよい。
次に、出力プログラム65は、デバイス選択画面を表示部53に表示させる(S45)。図10(A)は、デバイス選択画面の一例である。図10(A)に示されるデバイス選択画面は、デバイスアイコン135、136を含む。デバイスアイコン135、136は、ステップS44で特定した対象複合機である複合機10A、10Bに対応する。また、デバイスアイコン135、136には、対応する複合機10A、10Bの装置IDが記述されている。そして、出力プログラム65は、デバイス選択画面に含まれるアイコンの選択を操作部54を通じて受け付ける(S46)。
次に、出力プログラム65は、例えばデバイスアイコン135の選択を操作部54を通じて受け付けたことに応じて(S46:Yes)、当該デバイスアイコン135に対応する複合機10Aの装置ID“MFP-A”を、指定装置IDに決定する(S47)。すなわち、出力プログラム65は、装置ID“MFP-A”を指定装置IDとしてデータ記憶領域62Bに一時記憶させる。ステップS46の処理は第1受付処理の一例であり、ステップS47の処理は第3決定処理の一例である。また、出力プログラム65は、デバイス変更フラグに“ON”を設定する(S48)。
図4に戻って、出力プログラム65は、プレビュー画面を表示部53に表示させる(S13)。そして、出力プログラム65は、プレビュー画面に含まれるアイコンの選択を、操作部54を通じて受け付ける(S14)。ステップS13の処理はプレビュー表示処理の一例であり、ステップS14の処理は第3受付処理の一例である。図10(B)は、プレビュー画面の一例である。図10(B)に示されるプレビュー画面は、プレビュー画像141と、装置アイコン142と、プリントアイコン143とを含む。
プレビュー画像141は、指定データに対する指定動作を指定装置に実行させた結果を表す画像である。本実施形態に係るプレビュー画像は、レーベル画像を複合機10AがCD-ROMの表面に記録したイメージを示す。装置アイコン142は、指定装置を切り替える指示に対応する装置切替オブジェクトの一例である。装置アイコン142には、現在の指定装置IDが記述されている。プリントアイコン143は、後述する出力指示処理の実行指示に対応する出力指示オブジェクトの一例である。
出力プログラム65は、例えばステップS13において、OS64のAPIを用いてレーベル画像データをデータ記憶領域62Bから読み出し、当該レーベル画像データを用いてプレビュー画像データを生成する。一方、レーベル画像データが外部サーバに記憶されている場合、出力プログラム65は、ステップS13において、通信部55を通じて外部サーバからレーベル画像データを受信し、当該レーベル画像データを用いてプレビュー画像データを生成してもよい。
次に、出力プログラム65は、装置アイコン142の選択を操作部54を通じて受け付けたことに応じて(S14:装置アイコン)、デバイス選択処理を実行する(S15)。デバイス選択処理の詳細は既に説明したので、再度の説明は省略する。そして、出力プログラム65は、ステップS15で切り替えられた指定装置IDが装置アイコン142に記述されたプレビュー画面を、表示部53に表示させる(S13)。
また、出力プログラム65は、プリントアイコン143の選択を操作部54を通じて受け付けたことに応じて(S14:プリントアイコン)、指定装置である複合機10Aに通信部55を通じて出力指示情報を送信する(S16)。出力指示情報は、指定データに対する指定動作を指定装置に実行させるための情報である。本実施形態の出力指示情報は、指定データID“レーベル画像.JPEG”で識別されるレーベル画像データと、出力動作ID“レーベルプリント動作”とを含む。具体的には、出力プログラム65は、OS64のAPIを用いて指定データを読み出し、読み出した指定データを含む出力指示情報を生成し、生成した出力指示情報を通信部55を通じて複合機10Aに送信する。ステップS16の処理は、出力指示処理の一例である。
なお、指定データIDが、外部サーバから指定データをダウンロードするためのURLである場合、出力プログラム65は、通信部55を通じて外部サーバから指定データを受信し、受信した指定データを含む出力指示情報を生成し、生成した出力指示情報を通信部55を通じて複合機10Aに送信してもよい。または、出力プログラム65は、外部サーバから指定データをダウンロードするためのURLを含む出力指示情報を、通信部55を通じて複合機10Aに送信してもよい。
一方、図示は省略するが、複合機10Aの制御プログラム35は、通信部25を通じて携帯端末50から出力指示情報を受信する。そして、制御プログラム35は、受信した出力指示情報に従った出力動作を、プリンタ部11に実行させる。本実施形態におけるプリンタ部11は、レーベル画像データ“レーベル画像.JPEG”で示されるレーベル画像を、CD-ROMの表面に記録するレーベルプリント動作を実行する。または、複合機10Aは、出力指示情報に含まれるURLを用いて外部サーバから指定データをダウンロードし、当該指定データに対するレーベルプリント動作を、プリンタ部11に実行させてもよい。
次に、出力プログラム65は、ステップS11で取得したプログラムID“001”と、指定装置ID“MFP-A”とを含む装置情報レコードを、装置情報リストに記憶させる(S17)。なお、同一のプログラムIDを含む装置情報レコードが既に記憶されている場合は、新たな装置情報レコードで上書きされる。また、ステップS11でプログラムIDを取得していない場合、出力プログラム65は、ステップS17の処理をスキップする。ステップS17の処理は記憶処理の一例である。また、出力プログラム65は、出力プログラム65のプログラムID“999”を含む装置情報レコードに、指定装置ID“MFP-A”をデフォルトIDとして記憶させてもよい。
次に、出力プログラム65は、デバイス変更フラグに設定された値を判断する(S18)。そして、出力プログラム65は、デバイス変更フラグに“ON”が設定されていると判断したことに応じて(S18:Yes)、デバイス変更フラグに“OFF”を設定する(S19)。さらに、出力プログラム65は、起動元プログラムであるコンテンツ指定プログラム66に、指定装置IDを提供する(S20)。ステップS20の処理は、提供処理の一例である。一方、出力プログラム65は、デバイス変更フラグに“OFF”が設定されていると判断したことに応じて(S18:No)、ステップS19、S20の処理をスキップする。
また、図示は省略するが、コンテンツ指定プログラム66は、出力プログラム65から提供された指定装置IDを取得する。そして、コンテンツ指定プログラム66は、出力プログラム65から取得した指定装置IDを、登録装置IDとしてデータ記憶領域62Bに記憶させる。なお、登録装置IDが既にデータ記憶領域62Bに記憶されている場合は、出力プログラム65から取得した指定装置IDで上書きされる。なお、これらの処理を実現するコンテンツ指定プログラム66は、フォアグラウンドで実行されてもよいし、バックグラウンドで実行されてもよい。
[本実施形態の作用効果]
上記の実施形態によれば、コンテンツ指定プログラム66から提供された指定データIDで識別されるコンテンツデータを、デバイス決定処理で決定された出力装置に出力させることができる。なお、デバイス決定処理で決定された出力装置は、コンテンツ指定プログラム66から提供された装置IDで識別される出力装置、コンテンツ指定プログラム66のプログラムIDに対応付けられた装置IDで識別される出力装置、或いはデバイス選択処理でユーザに指定させた出力装置のいずれかである。
より詳細には、ステップS33、S36で決定された指定装置IDで識別される出力装置は、コンテンツ指定プログラム66が過去に起動した出力プログラム65によって、出力指示情報が送信された出力装置である。すなわち、当該出力装置は、指定動作を実行することができる。また、ステップS47で決定された指定装置IDで識別される出力装置は、指定動作を実行可能な出力装置である。
その結果、コンテンツ指定プログラム66が指定を受け付けたコンテンツデータを、当該コンテンツ指定プログラム66に適した出力装置に出力させることができる。これらの処理は、レーベルプリント動作、エンボス加工動作、葉書プリント動作、ガーメントプリント動作、3Dプリント動作、或いは刺繍動作等のように、専用のハードウェアを有する出力装置が必要な場合に、特に有利な効果を奏する。
また、デバイス決定処理で決定された指定装置IDを、コンテンツ指定プログラム66のプログラムIDと対応付けて装置情報リストに記憶させる(S17)と共に、コンテンツ指定プログラム66に登録装置IDとして登録させる(S20)。これにより、コンテンツ指定プログラム66による出力プログラム65の次回起動時に、前回の出力指示処理で出力指示情報が送信された出力装置に出力動作を実行させることができる。すなわち、コンテンツ指定プログラム66に適した出力装置に指定動作を実行させることができる。
なお、上記の実施形態において、メニュー画面を通じて起動されたコンテンツ指定プログラム66がプラグインとして出力プログラム65を起動させた例を説明した。しかしながら、コンテンツ指定プログラム66は、共有機能を利用して出力プログラム65を起動させてもよい。または、下記の変形例で示されるように、出力プログラム65がプラグインとしてコンテンツ指定プログラム66を起動させてもよい。
[変形例]
以下、図7を参照して、変形例に係る記録システム100の動作を説明する。なお、上記の実施形態との共通点の詳しい説明は省略し、相違点を中心に説明する。まず、OS64は、プログラムアイコン114の選択を操作部54を通じて受け付けたことに応じて、出力プログラム65を起動させて、当該出力プログラム65をフォアグラウンドで実行する。出力プログラム65は、コンテンツ指定プログラム66による起動処理によらずに、OS64によって起動されたことに応じて、図7に示される標準起動処理を実行する。
まず、出力プログラム65は、デフォルトIDを指定装置IDに決定する(S51)。すなわち、出力プログラム65は、プログラムID“999”に対応付けられた装置ID“MFP-A”を装置情報リストから読み出し、当該装置ID“MFP-A”を指定装置IDとしてデータ記憶領域62Bに一時記憶させる。ステップS51の処理は、第4決定処理の一例である。
次に、出力プログラム65は、メイン画面を表示部53に表示させる(S52)。図11(A)は、メイン画面の一例である。図11(A)に示されるメイン画面は、複数の動作アイコン146、147、148と、装置アイコン149とを含む。そして、出力プログラム65は、メイン画面に含まれる各種アイコンの選択を操作部54を通じて受け付ける(S53)。
動作アイコン146~148は、指定装置である複合機10Aの動作情報で特定される出力動作に対応する。動作アイコン146はプリント動作に対応し、動作アイコン147はFAX送信動作に対応し、動作アイコン148はレーベルプリント動作に対応する。複合機10Aの動作情報は、例えば、ステップS52で複合機10Aから取得してもよいし、ステップS44で取得した動作情報を装置情報レコードに含めておいてもよい。装置アイコン149は、指定装置を切り替える指示に対応する。装置アイコン149には、現時点での指定装置である複合機10Aの装置ID“MFP-A”が記述されている。
次に、出力プログラム65は、装置アイコン149の選択を操作部54を通じて受け付けたことに応じて(S53:装置アイコン)、デバイス選択処理を実行する(S54)。デバイス選択処理の詳細は既に説明したので、再度の説明は省略する。そして、出力プログラム65は、ステップS54で切り替えられた指定装置IDが装置アイコン149に記述されたメイン画面を、表示部53に表示させる(S52)。
また、出力プログラム65は、例えば動作アイコン146の選択を操作部54を通じて受け付けたことに応じて(S53:動作アイコン)、動作アイコン146に対応するプリント動作を指定動作に決定する。すなわち、出力プログラム65は、プリント動作の動作IDを、指定動作IDとしてデータ記憶領域62Bに一時記憶させる。次に、出力プログラム65は、取得元選択画面を表示部53に表示させる(S55)。そして、出力プログラム65は、取得元選択画面に含まれるアイコンの選択を、操作部54を通じて受け付ける(S56)。
図11(B)は、取得元選択画面の一例である。取得元選択画面は、指定データの取得元をユーザに選択させるための画面である。図11(B)に示される取得元選択画面は、取得元アイコン151、152と、プラグインアイコン153、154とを含む。取得元アイコン151は写真データの取得元であるデータ記憶領域62Bの写真データフォルダに対応し、取得元アイコン152はインターネット上の不図示のサーバに対応する。また、プラグインアイコン153はコンテンツ指定プログラム66に対応し、プラグインアイコン154はプログラムAに対応する。
次に、出力プログラム65は、例えば取得元アイコン151の選択を操作部54を通じて受け付けたことに応じて(S56:取得元アイコン)、データ選択画面を表示部53に表示させる(S57)。そして、出力プログラム65は、データ選択画面に含まれるアイコンの選択を、操作部54を通じて受け付ける(S58)。ステップS58の処理は、第4受付処理の一例である。
図12(A)は、データ選択画面の一例である。図12(A)に示されるデータ選択画面は、複数のデータアイコン155、156、157、158、159、160を含む。データアイコン155~160は、指定データとして指定可能なコンテンツデータに対応する。データアイコン155~160は、データ記憶領域62Bの写真データフォルダに記憶された写真データに対応する。一方、取得元アイコン152が選択された場合、出力プログラム65は、インターネット上のサーバに記憶されたコンテンツデータに対応するデータアイコンを含むデータ選択画面を、表示部53に表示させる。
次に、出力プログラム65は、例えばデータアイコン155の選択を操作部54を通じて受け付けたことに応じて(S58:Yes)、データアイコン155に対応するコンテンツデータを指定データに決定する。すなわち、出力プログラム65は、データアイコン155に対応するコンテンツデータのデータIDを、指定データIDとしてデータ記憶領域62Bに一時記憶させる。
次に、出力プログラム65は、プレビュー画面を表示部53に表示させる(S59)。そして、出力プログラム65は、プレビュー画面に含まれるアイコンの選択を、操作部54を通じて受け付ける(S60)。ステップS59の処理はプレビュー表示処理の一例であり、ステップS60の処理は第3受付処理の一例である。
図12(B)は、プレビュー画面の一例である。図12(B)に示されるプレビュー画面は、プレビュー画像161と、プリントアイコン162とを含む。プレビュー画像161は、ステップS58で指定された指定データを、ステップS53で指定された指定動作で出力した結果を表す画像である。すなわち、プレビュー画像161は、データアイコン155に対応する写真データで示される写真が記録用紙に記録されたイメージを示す。プリントアイコン162は、出力指示処理の実行指示に対応する。
そして、出力プログラム65は、プリントアイコン162の選択を操作部54を通じて受け付けたことに応じて(S60:Yes)、指定装置である複合機10Aに通信部55を通じて記録指示情報を送信する(S61)。ステップS61の処理は、出力指示処理の一例である。一方、図示は省略するが、複合機10Aの制御プログラム35は、通信部25を通じて携帯端末50から記録指示情報を受信する。そして、制御プログラム35は、受信したプリント指示情報に従ったプリント動作をプリンタ部11に実行させる。すなわち、プリンタ部11は、記録指示情報に含まれる写真データで示される写真を記録用紙に記録する。
一方、出力プログラム65は、例えばプラグインアイコン153の選択を操作部54を通じて受け付けたことに応じて(S56:プラグインアイコン)、プラグインアイコン153に対応するコンテンツ指定プログラム66を起動させる(S62)。出力プログラム65は、例えばステップS62において、コンテンツ指定プログラム66をプラグインとして起動するための関数を実行してもよいし、コンテンツ指定プログラム66のプログラムIDを指定して共有APIを実行してもよい。そして、OS64は、出力プログラム65をバックグラウンドで実行し、コンテンツ指定プログラム66をフォアグラウンドで実行する。
コンテンツ指定プログラム66は、出力プログラム65によって起動されたことに応じて、図8(B)及び図9(A)を参照して説明した処理を実行する。そして、コンテンツ指定プログラム66は、例えば、ステップS62で出力プログラム65が実行した関数或いは共有APIの戻り値として、指定データID等を提供する。これらの処理は、起動処理の一例である。そして、出力プログラム65は、図4に示される外部起動処理を実行する(S63)。外部起動処理の詳細は既に説明したので、再度の説明は省略する。
また、上記の実施形態の携帯端末50において、記憶部62のプログラム記憶領域62Aに記憶された各種プログラムがCPU61によって実行されることによって、本発明の制御部が実行する各処理が実現される例を説明した。しかしながら、制御部の構成はこれに限定されず、その一部又は全部を集積回路(IC(Integrated Circuitの略)とも言う。)等のハードウェアで実現してもよい。
さらに、本発明は、携帯端末50として実現できるだけでなく、携帯端末50に処理を実行させるプログラムとして実現してもよい。そして、当該プログラムは、non-transitoryな記録媒体に記録されて提供されてもよい。non-transitoryな記録媒体は、CD-ROM、DVD-ROM等の他、通信ネットワーク101を通じて携帯端末50に接続可能なサーバに搭載された記憶部を含んでもよい。そして、サーバの記憶部に記憶されたプログラムは、当該プログラムを示す情報或いは信号として、インターネット等の通信ネットワーク101を通じて配信されてもよい。