以下、適宜図面を参照して本発明の実施形態について説明する。なお、以下に説明される実施形態は本発明の一例にすぎず、本発明の要旨を変更しない範囲で、本発明の実施形態を適宜変更できることは言うまでもない。
図1は、本実施形態における記録システム100の概略図である。図1に示される記録システム100は、複合機10と、携帯端末50と、サービス提供装置70、80とで構成されている。一方、サービス提供装置90は、実施形態に2において後述する。複合機10、携帯端末50、及びサービス提供装置70、80は、通信ネットワーク102を介して相互に通信可能とされている。通信ネットワーク102の具体例は特に限定されないが、例えば、インターネット、移動体通信網、有線LAN(Local Area Networkの略)、無線LAN、或いはこれらの組み合わせであってもよい。
[複合機10]
複合機10は、図1に示されるように、プリンタ部11と、スキャナ部12と、表示部23と、操作部24と、通信部25と、CPU31と、記憶部32と、通信バス33とを主に備える。複合機10を構成する各構成要素は、通信バス33を介して相互に接続されている。複合機10は、画像記録装置の一例である。
[プリンタ部11、スキャナ部12]
プリンタ部11は、画像データで示される画像をシートの一例である記録用紙に記録する記録処理を実行する。プリンタ部11の記録方式は特に限定されないが、例えば、インクジェット方式や電子写真方式などの公知の方式を採用することができる。スキャナ部12は、記録用紙に記録されている画像を読み取って画像データを生成するスキャン処理を実行する。複合機10は、FAXの送受信を行うFAX機能、記録用紙に記録された画像を読み取って他の記録用紙に記録するコピー機能等をさらに有してもよい。
[表示部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に表示されたアイコン、ボタン、リンク等であって、タッチ位置に表示されたオブジェクトが選択されてもよい。
[通信部25]
通信部25は、通信ネットワーク102を通じて外部装置と通信を行うためのインタフェースである。すなわち、複合機10は、通信部25を通じて携帯端末50或いはサービス提供装置70、80に各種情報を出力し、通信部25を通じて携帯端末50或いはサービス提供装置70、80から各種データ又は各種情報を受信する。通信部25の具体的な通信手順は特に限定されないが、例えば、Wi−Fi(Wi−Fi Allianceの登録商標)を採用することができる。
[CPU31]
CPU(Central Processing Unitの略)31は、複合機10の全体動作を制御するものである。CPU31は、操作部24から出力される各種情報、及び通信部25を通じて外部装置から取得した各種情報等に基づいて、後述する各種プログラムを記憶部32から取得して実行する。すなわち、CPU31及び記憶部32は、制御部の一例を構成する。
[記憶部32]
記憶部32は、プログラム記憶領域32Aと、データ記憶領域32Bとを有する。プログラム記憶領域32Aには、OS(Operating Systemの略)34と、制御プログラム35とが格納される。なお、制御プログラム35は、単一のプログラムであってもよいし、複数のプログラムの集合体であってもよい。データ記憶領域32Bには、制御プログラム35の実行に必要なデータ或いは情報が記憶される。データ記憶領域32Bは、図2に示されるように、形式情報と設定値とを対応づけて記憶している。
形式情報は、後述するコンテンツデータ、テキストデータ、及びレイアウト定義データのデータ形式を示す情報である。図2の例における形式情報は、画像データのデータ形式の一例である”jpg“、画像形式と異なるデータ形式の一例である”pdf“、テキストデータのデータ形式の一例である”txt“、レイアウト定義データのデータ形式の一例である”xml“を示す。但し、形式情報の具体例はこれらに限定されない。以下、画像データのデータ形式のことを、画像形式とも記載する。
設定値は、対応するデータ形式のデータに対する記録処理を複合機10に実行させる際の実行条件を示す値である。図2の例における設定値は、”用紙サイズ“を示す値(例えば、L版、A4等)、”用紙種“を示す値(例えば、光沢紙、普通紙等)、及び”色数“を示す値(例えば、フルカラー、256色、モノクロ等)等である。但し、設定値の具体例はこれらに限定されず、用紙の向き、解像度、倍率、部数等を示す値を含んでもよい。
なお、本明細書中の「データ」と「情報」とは、コンピュータによって取り扱い可能なビット或いはビット列である点において共通する。「データ」とは、各ビットが示す意味内容をコンピュータが考慮することなく取り扱えるものを指す。これに対して、「情報」とは、各ビットが示す意味内容によってコンピュータの動作が分岐するものを指す。さらに、「指示」は、送信先の装置に対して次の動作を促すための制御信号であって、情報を含んでいることもあるし、それ自体が情報としての性質を有していることもある。
また、「データ」及び「情報」は、形式(例えば、テキスト形式、バイナリ形式、フラグ形式等)がコンピュータ毎に変更されたとしても、同一の意味内容と認識される限り、同一のデータ及び情報として取り扱われる。例えば、「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についても同様である。
OS34は、複合機10を構成するハードウェアであるプリンタ部11、スキャナ部12、表示部23、操作部24、及び通信部25等を制御するためのAPI(Application Programming Interfaceの略)を提供する基本プログラムである。すなわち、上記の各プログラムは、OS34が提供するAPIを呼び出すことによって、各ハードウェアを制御する。しかしながら、本明細書では、OS34を省略して各プログラムの動作を説明する。すなわち、以下の説明において、「プログラムBがハードウェアCを制御する」という趣旨の記述は、「プログラムBがOS34のAPIを通じてハードウェアCを制御する」ことを指してもよい。後述する携帯端末50についても同様である。
[携帯端末50]
携帯端末50は、図1に示されるように、表示部53と、操作部54と、通信部55と、CPU61と、記憶部62と、通信バス63とを主に備える。携帯端末50に含まれる表示部53、操作部54、通信部55、CPU61、記憶部62、及び通信バス63は、複合機10に含まれる表示部23、操作部24、通信部25、CPU31、記憶部32、及び通信バス33と共通するので、再度の説明は省略する。CPU61及び記憶部62は、制御部の一例である。
携帯端末50の操作部54は、表示部53の表示画面に重畳された膜状のタッチセンサを含む。そして、操作部54は、表示部53の表示画面をタッチするユーザ操作を受け付ける。また、操作部54は、ユーザがタッチした表示画面上の位置を示す位置情報を出力する。位置情報は、例えば、表示画面の左上端を原点とし、右向きをx軸の正の向き、下向きをy軸の正の向きとしたx−y平面上の座標(x,y)として表現できる。操作部54は、ユーザ操作を受け付ける受付部の一例である。
なお、本明細書中における「タッチ」とは、入力媒体を表示画面に接触させる操作全般を含む。すなわち、タッチした入力媒体を所定時間内に表示画面から離間させるタップ操作、タッチした入力媒体を表示画面上で静止させるロングタッチ操作、タッチした入力媒体を表示画面上でスライドさせるスライド操作、表示画面上をスライドする入力媒体の加速度が閾値以上であるフリック操作、表示画面上の異なる位置にタッチした2つの入力媒体を互いに近づける向きにスライドさせるピンチイン操作、表示画面上の異なる位置にタッチした2つの入力媒体を互いに離れる向きにスライドさせるピンチアウト操作等は、タッチの一例である。また、入力媒体とは、ユーザの指であってもよいし、タッチペン等であってもよい。
通信部55は、移動体通信網或いは無線LANを通じて複合機10或いはサービス提供装置70、80と通信する。記憶部62のプログラム記憶領域62Aには、OS64と、制御プログラム65とが格納されている。携帯端末50の具体例は、スマートフォン、携帯電話、タブレット端末等に限定されず、PC(Personal Computerの略)等であってもよい。携帯端末50は、情報処理装置の一例である。
[サービス提供装置70、80]
サービス提供装置70、80は、携帯端末50に利用させるサービスを提供する装置である。サービス提供装置70、80はインターネット上に存在し、携帯端末50からのリクエストに応じて各種サービスを提供する。サービス提供装置70は、例えば、「Evernote(Evernote Corporationの登録商標)」のサービスを提供する装置である。サービス提供装置80は、例えば、データをファイル単位で記憶する「Dropbox(DropBox, Inc.の登録商標)」、「Google Drive(Googleは、Google, Inc.の登録商標)」等のストレージサービス、或いは一般的なWEBサーバである。サービス提供装置70は第1サービス提供装置或いは特定サービス提供装置の一例であり、サービス提供装置80は第2サービス提供装置の一例である。
サービス提供装置70は、図3に示されるように、レイアウト定義データと主題情報を対応づけて記憶している。対応するレイアウト定義データ及び主題情報は、例えば、レイアウトデータ識別情報(以下、「ノートID」と表記する。)によって一意に識別される。サービス提供装置70に記憶されるレイアウト定義データは、1つに限定されず、複数であってもよい。また、サービス提供装置70は、レイアウト定義データに対応する第1サムネイル画像データ、及び画像形式のコンテンツデータに対応するサムネイル画像データを記憶している。
レイアウト定義データは、レイアウト画像のレイアウトを定義するものである。レイアウト定義データは、コンテンツ画像及びテキストの配置を示すレイアウト情報を含む。コンテンツ画像は、コンテンツデータを示す画像である。テキストは、レイアウト定義データに含まれるテキストデータによって示される文字列である。すなわち、レイアウト画像は、レイアウト情報に従ってコンテンツ画像及びテキストを配置することによって生成される。主題情報は、対応するレイアウト定義データで定義されるレイアウト画像の主題を示すものである。レイアウト定義データ或いはレイアウト画像は所謂ノートに対応し、主題は所謂タイトルに対応する。
図3(A)に示される<TEXT>タグ、<FILE>タグ、<IMAGE>タグは、レイアウト情報の一例である。<TEXT>タグは、テキストの配置を示すレイアウト情報である。<FILE>タグ、<IMAGE>タグは、”src“で示されるコンテンツデータを示すコンテンツ画像の配置を示すレイアウト情報である。なお、<IMAGE>タグは画像形式のコンテンツデータに対応し、<FILE>タグは画像形式以外のコンテンツデータに対応する。また、”src“で示されるURL(Uniform Resource Locatorの略)の末尾のファイル名は、コンテンツデータを識別する識別情報の一例である。
なお、レイアウト定義データの記述言語は特に限定されないが、例えば、HTML(HyperText Markup Languageの略)、XHTML(Extensible HyperText Markup Languageの略)、XML(Extensible Markup Languageの略)等によって記述される。また、主題情報は、レイアウト定義データに含まれていてもよいし、レイアウト定義データと独立して記憶されていてもよい。
[記録システム100の動作]
図4〜図11を参照して、実施形態1に係るノート印刷処理を説明する。ノート印刷処理は、サービス提供装置70からレイアウト定義データを取得した携帯端末50が、コンテンツデータで示されるコンテンツ、レイアウト画像、或いはテキストを用紙に記録する記録処理を複合機10に実行させる処理である。
まず、携帯端末50の制御プログラム65は、サービス選択画面を表示部53に表示させる(S11)。図7(A)は、サービス選択画面の一例である。図7(A)に示されるサービス選択画面は、[第1サービス]アイコンと、[第2サービス]アイコンとを含む。第1サービスはサービス提供装置70の提供するサービスであり、第2サービスはサービス提供装置80の提供するサービスである。但し、サービス選択画面に含まれるサービスアイコンの数が2つに限定されないことは言うまでもない。そして、制御プログラム65は、サービス選択画面に含まれるサービスアイコンの1つを選択するユーザ操作を操作部54を通じて受付可能な状態で待機する(S12)。ステップS11、S12の処理は、サービス選択処理の一例である。
次に、制御プログラム65は、[第1サービス]アイコンの位置をタップするユーザ操作を操作部54が受け付けたことに応じて(S12:Yes)、トークン取得処理を実行する(S13)。トークン取得処理は、サービス提供装置70に記憶されたデータの取得権限があることを示すトークンを取得する処理である。トークンは、認証情報の一例である。トークン取得処理の詳細は実施形態2で説明し、実施形態1ではトークンが取得できたものとして、以下の説明を継続する。ステップS13は、取得処理の一例である。
次に、制御プログラム65は、サービス提供装置70からノート一覧を取得する(S14)。制御プログラム65は、例えばステップS14において、サービス提供装置70に記憶されたレイアウト定義データに対応するノートID、主題情報、及び第1サムネイル画像データを、通信部55を通じてサービス提供装置70から受信する。レイアウト定義データ、ノートID、主題情報、及び第1サムネイル画像データは、互いに対応付けられてサービス提供装置70に記憶されていてもよい。
ノートIDは、レイアウト定義データを識別する情報である。主題情報は、レイアウト定義データによって定義されるノートのタイトル(以下、「主題」とも表記する。)を示す情報である。主題情報は、ノートのタイトルを示すテキストデータであってもよい。第1サムネイル画像データは、ノートのサムネイルである第1サムネイル画像を示すデータである。第1サムネイル画像は、例えば、対応するノートに含まれる画像のうちの1つである代表画像のサイズを縮小するなどした画像であってもよい。なお、サムネイル画像は、オリジナルの画像の解像度を削減した画像であってもよい。
より詳細には、制御プログラム65は、ステップS14において、ステップS13で取得したトークンを含む一覧要求情報を通信部55を通じてサービス提供装置70に送信する。そして、制御プログラム65は、主題情報及び第1サムネイル画像データを、一覧要求情報の応答として受信する。ステップS14の処理は、レイアウトデータ一覧取得処理の一例である。
次に、制御プログラム65は、ノート一覧表示処理を実行する(S15)。ノート一覧表示処理は、サービス提供装置70に記憶されたレイアウト定義データの1つをユーザに選択させるために、レイアウト定義データに対応するレイアウト識別画像を表示部53に一覧表示させる処理である。図5を参照して、ノート一覧表示処理を詳細に説明する。
まず、制御プログラム65は、ステップS14で取得した主題情報の1つに対応する第2サムネイル画像データがデータ記憶領域62Bに記憶されているか否かを判断する(S31)。そして、制御プログラム65は、第2サムネイル画像データがデータ記憶領域62Bに記憶されていないことに応じて(S31:No)、当該主題情報に対応するレイアウト識別画像として第1サムネイル画像を採用する(S32)。
一方、制御プログラム65は、第2サムネイル画像データがデータ記憶領域62Bに記憶されていることに応じて(S31:Yes)、当該主題情報に対応するレイアウト識別画像として第2サムネイル画像を採用する(S33)。第2サムネイル画像とは、後述するステップS19で生成される第2サムネイル画像データで示される画像である。第2サムネイル画像は、例えば、対応するノート全体を表すレイアウト画像のサイズ或いは解像度等を削減して得られる画像であってもよい。
制御プログラム65は、全ての主題情報に対応するレイアウト識別画像を決定するまで(S34:No)、ステップS31〜S33の処理を繰り返し実行する。そして、制御プログラム65は、全てのレイアウト識別画像を決定したことに応じて(S34:Yes)、ノート選択画面を表示部53に表示させる(S35)。図8は、ノート選択画面の一例である。図8に示されるノート選択画面には、主題情報で示される主題と、当該主題情報に対応するレイアウト識別画像111〜113とが一覧表示されている。
図8(A)に示されるレイアウト識別画像111、112は、第1サムネイル画像の一例である。第1サムネイル画像は、ノートの代表画像を示すものであってもよい。換言すれば、第1サムネイル画像は、ノートの一部であってもよい。一方、図8(B)に示されるレイアウト識別画像113は、第2サムネイル画像の一例である。第2サムネイル画像は、ノート全体を示すものであってもよい。但し、同一の主題情報に対応する第1サムネイル画像及び第2サムネイル画像が同一になる場合があってもよい。
図4に戻って、制御プログラム65は、ノート選択画面に含まれるレイアウト識別画像111〜113の1つを選択するユーザ操作を操作部54を通じて受付可能な状態で待機する(S16)。ステップS15、S16の処理は、レイアウトデータ選択処理の一例である。なお、ノート選択画面においてレイアウト識別画像111〜113に対応づけて表示されるのは主題情報に限定されず、レイアウト定義データに含まれるテキスト等であってもよい。なお、第1サムネイル画像データ、第2サムネイル画像データと対応づけられるのは主題情報に限定されず、主題情報と対応するレイアウト定義データ或いはノートID等であってもよい。また、主題情報、レイアウト定義データ、ノートIDは一対一で対応付けられている。そのため、「主題情報と対応する」とは、間接的に、レイアウト定義データ或いはノートIDと対応しているともいえる。
次に、制御プログラム65は、レイアウト識別画像111〜113の位置をタップするユーザ操作を操作部54が受け付けたことに応じて(S16:Yes)、当該レイアウト識別画像に対応するレイアウト定義データを、通信部55を通じてサービス提供装置70から受信する(S17)。より詳細には、制御プログラム65は、トークン及びノートIDを含むノート要求情報を通信部55を通じてサービス提供装置70に送信する。そして、制御プログラム65は、当該ノートIDで特定されるレイアウト定義データを、ノート要求情報の応答として受信すればよい。
また、制御プログラム65は、ステップS17において、レイアウト定義データで定義された画像形式のコンテンツデータに対応するサムネイル画像データを、通信部55を通じてサービス提供装置70から受信する。制御プログラム65は、例えば、コンテンツデータのURLを用いたHTTPリクエストに、サムネイル画像データの送信を要求するオプションを含めることによって、コンテンツデータと共にサムネイル画像データを受信することができる。ステップS17の処理は、レイアウトデータ取得処理の一例である。
次に、制御プログラム65は、ノート表示処理を実行する(S18)。ノート表示処理は、ステップS17で取得したレイアウト定義データを解析することによって、レイアウト画像を含むノート表示画面を表示部53に表示させる処理である。より詳細には、ノート表示処理は、テキストデータで示されるテキストと、コンテンツデータを示すコンテンツ画像とをレイアウト情報に従って配置することによって、レイアウト画像を表示部53に表示させる処理である。図3(A)のレイアウト定義データに従って、図9に示されるノート表示画面を表示部53に表示させる手順を、図6を参照して説明する。
まず、制御プログラム65は、レイアウト情報がテキストデータを示すことに応じて(S41:Yes)、当該テキストデータで示されるテキストをレイアウト情報に従ってレイアウト画像上に配置する(S42)。一例として、制御プログラム65は、図9(A)に示されるように、図3(A)の1行目の<TEXT>タグで示される「2014/9/9 晴れ」を、レイアウト画像119上の左右方向の右側に配置する。他の例として、制御プログラム65は、図3(A)の2行目及び6行目の<TEXT>タグで示される「家族でランチを作りました。」及び「美味しく出ました。」を、レイアウト画像119上の左右方向の左側に配置する。
また、制御プログラム65は、画像形式のコンテンツデータをレイアウト情報が示すことに応じて(S43:Yes)、ステップS17で取得したサムネイル画像データで示されるサムネイル画像をレイアウト情報に従ってレイアウト画像上に配置する(S44)。例えば、制御プログラム65は、図9(A)に示されるように、図3(A)の5行目の<IMAGE>タグで示される[pic.jpg]に対応するコンテンツ画像として、当該コンテンツデータに対応するサムネイル画像115を、レイアウト画像119上の左右方向の中央に配置する。
また、制御プログラム65は、画像形式と異なり且つ複合機10による記録処理が実行不能なデータ形式のコンテンツデータをレイアウト情報が示すことに応じて(S45:Yes)、データ記憶領域62Bに記憶された印刷非対応画像と、当該コンテンツデータの識別情報とを、レイアウト情報に従ってレイアウト画像上に配置する(S46)。例えば、制御プログラム65は、図9(A)に示されるように、図3(A)の4行目の<FILE>タグで示される[調理映像.mpeg]に対応するコンテンツ画像として、印刷非対応画像116及び[調理映像.mpeg]の文字列を、レイアウト画像119上の左右方向の左側に配置する。印刷非対応画像116は、記録処理が実行できないことを表す非対応画像の一例である。動画形式及び音声形式は、記録処理が実行不能なデータ形式の一例である。
また、制御プログラム65は、画像形式と異なるデータ形式で且つ複合機10による記録処理が実行可能なデータ形式のコンテンツデータをレイアウト情報が示すことに応じて(S45:No)、当該コンテンツデータに対応するサムネイル画像データがデータ記憶領域62Bに記憶されているか否かを判断する(S47)。なお、コンテンツデータに対応するサムネイル画像データは、後述するステップS23で生成されるものである。
そして、制御プログラム65は、サムネイル画像データがデータ記憶領域62Bに記憶されていないことに応じて(S47:No)、当該コンテンツデータのデータ形式に対応する形式画像と、当該コンテンツデータの識別情報とを、レイアウト情報に従ってレイアウト画像上に配置する(S49)。例えば、制御プログラム65は、図9(A)に示されるように、図3(A)の3行目の<FILE>タグで示される[レシピ.pdf]に対応するコンテンツ画像として、形式画像117及び[レシピ.pdf]の文字列を、レイアウト画像119上の左右方向の左側に配置する。
一方、制御プログラム65は、サムネイル画像データがデータ記憶領域62Bに記憶されていることに応じて(S47:Yes)、当該サムネイル画像データで示されるサムネイル画像と、当該コンテンツデータの識別情報とを、レイアウト情報に従ってレイアウト画像上に配置する(S48)。例えば、制御プログラム65は、図9(B)に示されるように、図3(A)の3行目の<FILE>タグで示される[レシピ.pdf]に対応するコンテンツ画像として、サムネイル画像118及び[レシピ.pdf]の文字列を、レイアウト画像120上の左右方向に左側に配置する。
そして、制御プログラム65は、レイアウト定義データに含まれる全てのレイアウト情報を解析し終えるまで(S50:No)、ステップS41〜S49の処理を繰り返し実行する。さらに、制御プログラム65は、レイアウト定義データに対応する主題情報で示される主題を、レイアウト画像119、120上の所定の位置に配置する。実施形態1における主題[ランチ]は、レイアウト画像119、120の左上隅に配置される。その結果、図9に示されるノート表示画面が表示部53に表示される。なお、制御プログラム65は、レイアウト定義データに従って、レイアウト画像119、120全体を示すレイアウト画像データを生成し、レイアウト画像データで示されるレイアウト画像119、120を表示部53に表示させてもよい。レイアウト画像データは、例えばJPEG形式であってもよい。
図9(A)に示されるノート表示画面は、レイアウト画像119と、[レイアウト印刷]アイコンと、[テキスト印刷]アイコンとを含む。図9(B)に示されるノート表示画面は、レイアウト画像119に代えてレイアウト画像120を含む点において、図9(A)に示されるノート表示画面と相違する。レイアウト画像120は、形式画像117に代えてサムネイル画像118を含む点において、レイアウト画像119と相違する。そして、制御プログラム65は、ノート表示画面に対するユーザ操作を操作部54を通じて受付可能な状態で待機する(S20)。ステップS18、S20の処理は、レイアウト表示処理の一例である。
次に、制御プログラム65は、ステップS18で表示部53に表示されたレイアウト画像119、120に対応する第2サムネイル画像データを生成する(S19)。具体的には、制御プログラム65は、例えばステップS19において、レイアウト定義データを用いてレイアウト画像119、120を示す第2サムネイル画像データを生成し、当該第2サムネイル画像データをノートID及び主題情報等と対応付けてデータ記憶領域62Bに記憶させる。
一例として、制御プログラム65は、ノート表示画面を表示させる際に生成したレイアウト画像データのサイズ或いは解像度等を削減してサムネイル画像データを作成し、当該サムネイル画像データをデータ記憶領域62Bに記憶させてもよい。他の例として、制御プログラム65は、レイアウト画像データそのものを、サムネイル画像データとしてデータ記憶領域62Bに記憶させてもよい。但し、主題情報に対応する第2サムネイル画像データが既にデータ記憶領域62Bに記憶されている場合、ステップS19は省略されてもよい。ステップS19の処理は、サムネイル生成処理の一例である。
次に、制御プログラム65は、ノート表示画面に含まれるコンテンツ画像の位置をタップするユーザ操作を操作部54が受け付けたことに応じて(S20:コンテンツ画像)、当該コンテンツ画像に対応するコンテンツデータを、通信部55を通じてサービス提供装置70から受信する(S21)。ステップS21の処理は、コンテンツデータ取得処理の一例である。
制御プログラム65は、例えばステップS21において、トークン及びコンテンツデータの識別情報を含むコンテンツ要求情報を通信部55を通じてサービス提供装置70に送信する。そして、制御プログラム65は、当該識別情報で識別されるコンテンツデータを、コンテンツ要求情報の応答として受信する。但し、コンテンツデータの取得タイミングはステップS21に限定されず、例えば、ステップS17でレイアウト定義情報で定義される全てのコンテンツデータが取得されてもよい。
次に、制御プログラム65は、ステップS21で取得したコンテンツデータのプレビュー画面を表示部53に表示させる(S22)。図10は、プレビュー画面の一例である。図10に示されるプレビュー画面は、コンテンツデータに対する記録処理を当該コンテンツデータに対応する設定値に従って実行した場合の結果を表すプレビュー画像121、122と、[プリント]アイコンとを含む。そして、制御プログラム65は、[プリント]アイコンを選択するユーザ操作を操作部54を通じて受付可能な状態で待機する(S26)。ステップS22の処理は、プレビュー表示処理の一例である。
なお、制御プログラム65は、例えばステップS22において、コンテンツデータのデータ形式に対応する設定値をコンテンツデータで示される画像に反映させたプレビュー画像データを生成し、当該プレビュー画像データで示されるプレビュー画像121、122をプレビュー画面に含める。また、制御プログラム65は、後述するステップS27において、プレビュー画面を表示させる際に生成したプレビュー画像データを、通信部55を通じて複合機10に送信してもよい。プレビュー画像データは、例えば、JPEG形式であってもよい。
図10(A)は、図9に示されるサムネイル画像115の位置をタップするユーザ操作を操作部54が受け付けた場合のプレビュー画面の一例である。すなわち、プレビュー画像121は、ステップS21で取得されたコンテンツデータ[pic.jpg]に対する記録処理をデータ形式”jpg“に対応する設定値に従って実行した結果を示す。本実施形態に係るプレビュー画像121は、コンテンツデータ[pic.jpg]で示される画像がフルカラーでL版サイズの光沢紙に記録されたイメージを示す。
図10(B)は、図9(A)に示される形式画像117或いは図9(B)に示されるサムネイル画像118の位置をタップするユーザ操作を操作部54が受け付けた場合のプレビュー画面の一例である。すなわち、プレビュー画像122は、ステップS21で取得されたコンテンツデータ[レシピ.pdf]に対する記録処理をデータ形式”pdf“に対応する設定値に従って実行した結果を示す。本実施形態に係るプレビュー画像122は、コンテンツデータ[レシピ.pdf]で示される画像が256色に減色されてA4サイズの用紙に記録されたイメージを示す。
また、コンテンツデータが複数のページで構成される場合において、プレビュー画面には、第1ページに対する記録処理の結果を示す第1プレビュー画像122Aと、第2ページに対する記録処理の結果を示す第2プレビュー画像122Bとが一覧表示される。なお、第1ページ及び第2ページの境界位置を示す改ページ情報がコンテンツデータに含まれている場合、制御プログラム65は、当該改ページ情報に従って第1プレビュー画像122A及び第2プレビュー画像122Bを生成すればよい。一方、改ページ情報がコンテンツデータに含まれていない場合、制御プログラム65は、対応する用紙サイズ或いは1ページに含めることができる行数等に基づいて、ページの境界位置を決定すればよい。
また、制御プログラム65は、ステップS21で取得したコンテンツデータに対応するサムネイル画像データを生成してデータ記憶領域62Bに記憶させる(S23)。サムネイル画像データの具体的な生成方法は特に限定されないが、例えば図10(B)に示されるように、コンテンツデータが複数のページで構成される場合、第1ページの内容を表すサムネイル画像データが生成されてもよい。一方、画像形式のコンテンツデータに対応するサムネイル画像データの生成は、省略することができる。ステップS23の処理は、サムネイル生成処理の一例である。
次に、制御プログラム65は、[プリント]アイコンの位置をタップするユーザ操作を操作部54が受け付けたことに応じて(S26:Yes)、通信部55を通じて複合機10に記録指示情報を送信する(S27)。記録指示情報は、プレビュー画像121、122で結果が表された記録処理の実行を複合機10に指示するための情報である。ステップS27の処理は、出力処理の一例である。
一例として、記録指示情報は、複合機10に記録処理を実行させるための印刷データを含む。印刷データは、ステップS21で取得したコンテンツデータに対する記録処理を当該コンテンツデータのデータ形式に対応する設定値に従って実行するためのデータである。この場合の印刷データは、制御プログラム65によって生成される。他の例として、記録指示情報は、ステップS21で取得したコンテンツデータ或いはステップS22で表示したプレビュー画像121、122を示すプレビュー画像データと、当該コンテンツデータのデータ形式に対応する設定値とを含む。この場合の印刷データは、複合機10の制御プログラム35によって生成される。
また、制御プログラム65は、ノート表示画面に含まれる[レイアウト印刷]アイコンの位置をタップするユーザ操作を操作部54が受け付けたことに応じて(S20:[レイアウト印刷]アイコン)、ノートプレビュー画面を表示部53に表示させる(S24)。図11(A)は、図9(A)に示されるレイアウト画像119が選択された場合のノートプレビュー画面の一例である。図11(A)に示されるプレビュー画面は、プレビュー画像123と、[プリント]アイコンとを含む。
プレビュー画像123は、レイアウト画像119に対する記録処理を、レイアウト定義データのデータ形式”xml“に対応する設定値に従って実行した結果を示す。レイアウト定義データのデータ形式に対応する設定値は、レイアウト画像用設定値の一例である。但し、プレビュー画像123には、レイアウト画像119に含まれるコンテンツ画像のうち、記録処理が実行不能であるデータ形式のコンテンツデータに対応するコンテンツ画像が反映されない。すなわち、プレビュー画像123には、コンテンツデータ[調理映像.mpeg]に対応する印刷非対応画像116及び識別情報が含まれない。
換言すれば、プレビュー画像123には、レイアウト画像119に含まれるコンテンツ画像のうち、記録処理が実行可能であるデータ形式のコンテンツデータに対応するコンテンツ画像のみが反映される。すなわち、プレビュー画像123には、テキストデータで示されるテキストと、コンテンツデータ[レシピ.pdf]に対応する形式画像117及び識別情報と、コンテンツデータ[pic.jpg]に対応するサムネイル画像115及び識別画像とが含まれる。また、図9(B)に示されるレイアウト画像120が選択された場合のプレビュー画像には、形式画像117に代えてサムネイル画像118が含まれる。
さらに、制御プログラム65は、ノート表示画面に含まれる[テキスト印刷]アイコンの位置をタップするユーザ操作を操作部54が受け付けたことに応じて(S20:[テキスト印刷]アイコン)、テキストプレビュー画面を表示部53に表示させる(S25)。図11(B)は、テキストプレビュー画面の一例である。図11(B)に示されるテキストプレビュー画面は、プレビュー画像124と、[プリント]アイコンとを含む。
プレビュー画像124は、レイアウト定義データから抽出されたテキストに対する記録処理を、テキストデータのデータ形式”txt“に対応する設定値に従って実行した結果を示す画像である。テキストデータのデータ形式に対応する設定値は、テキスト用設定値の一例である。なお、レイアウト定義データから抽出されたテキストは、レイアウト情報に従って配置されてもよいし、常に左寄せ配置されてもよい。
そして、制御プログラム65は、[プリント]アイコンの位置をタップするユーザ操作を操作部54が受け付けたことに応じて(S26:Yes)、プレビュー画像123、124で結果が表された記録処理の実行を指示する記録指示情報を、通信部55を通じて複合機10に送信する(S27)。
一方、複合機10の制御プログラム35は、通信部25を通じて携帯端末50から記録指示情報を受信したことに応じて、当該記録指示情報で示される記録処理をプリンタ部11に実行させる。なお、前述の通り、記録指示情報に含まれるデータは、コンテンツデータそのものであってもよいし、プレビュー画像を示すプレビュー画像データであってもよいし、印刷データであってもよい。すなわち、記録指示情報に従って複合機10が記録処理を実行可能であれば、記録指示情報に含まれるデータの具体例は特に限定されない。
さらに、制御プログラム65は、[第2サービス]アイコンの位置をタップするユーザ操作を操作部54が受け付けたことに応じて(S12:No)、当該サービスに応じた方法でサービス提供装置80にリクエストを送信する(S28)。例えば、サービス提供装置80が一般的なWEBサーバである場合、制御プログラム65は、従来のHTTPリクエストを通信部55を通じてサービス提供装置80に送信すればよい。
[実施形態1の作用効果]
実施形態1によれば、選択されたコンテンツデータのデータ形式に対応する設定値に従って当該コンテンツデータに対する記録処理が実行される。すなわち、データ形式に応じた適切な設定値で記録処理が実行される。制御プログラム65は、データ記憶領域62Bに記憶された設定値を変更するユーザ操作を操作部54を通じて受け付けてもよい。これにより、ユーザの所望する設定値で記録処理が実行される。
また、実施形態1によれば、レイアウト画像119、120上でコンテンツデータを選択(すなわち、コンテンツ画像をタップ)したことに応じて、当該コンテンツデータのプレビュー画像121、122が表示部53に表示される。これにより、ユーザは、閲覧しやすくレイアウトされたレイアウト画像119、120の中から記録処理の対象となるコンテンツを容易に選択することができ、且つプレビュー画面において記録処理の結果を確認してから記録指示を入力することができる。
また、実施形態1によれば、画像形式のコンテンツデータを示すコンテンツ画像としてサムネイル画像が採用される。これにより、画像形式のコンテンツデータの内容をレイアウト画像上においてユーザに確認させることができる。また、実施形態1によれば、画像形式以外のコンテンツデータを示すコンテンツ画像として、記録処理の実行可否に応じて形式画像或いは印刷非対応画像が採用される。これにより、記録処理の実行可否を一目でユーザに認識させることができる。さらに、実施形態1によれば、画像形式でないコンテンツデータのサムネイル画像がプレビュー画像を表示させる際に生成される。そして、次にレイアウト画像が表示される際には、形式画像に代えてサムネイル画像が表示される。これにより、画像形式以外のコンテンツデータに対しても、当該コンテンツデータの内容をレイアウト画像上においてユーザに確認させることができる。その結果、所望のコンテンツデータをユーザに素早く選択させることができる。
なお、レイアウト画像上におけるコンテンツ画像の選択方法は、タップ操作に限定されず、例えば、ロングタッチ操作やダブルタップ操作等でもよい。また、各コンテンツ画像に対応するチェックボックスが設けられており、当該チェックボックスをチェックすることによって、複数のコンテンツデータを一括して選択させてもよい。この場合、選択されたコンテンツデータそれぞれのプレビュー画像がプレビュー画面に一覧表示される。そして、[プリント]アイコンがタップされることによって、各コンテンツデータに対する記録処理が実行される。これにより、レイアウト画像に含まれる複数のコンテンツデータに対する記録処理を一括して実行させることができるので、少ない操作で多数のコンテンツデータに対する記録処理が実現できる。
また、実施形態1によれば、コンテンツデータ単体だけでなく、コンテンツ画像がレイアウトされたレイアウト画像、或いはコンテンツ定義データに含まれるテキストを記録用紙に記録することができる。また、実施形態1によれば、記録処理が実行不能なコンテンツデータを示すコンテンツ画像がプレビュー画像に反映されず、且つ記録用紙にも記録されない。但し、記録処理が実行不能なコンテンツデータを示すコンテンツ画像をプレビュー画像に反映するか否かは、ユーザに選択させてもよい。
なお、ステップS23、S24、S25は、任意の組み合わせで組み合わせ実行されてもよい。一例として、ノート表示画面に含まれる[レイアウト印刷]アイコンが選択されたことに応じて、ステップS23、S24が実行されてもよい。これにより、レイアウト画像が記録された記録用紙と、各コンテンツデータが個別に記録された記録用紙とがプリンタ部11から出力される。他の例として、ノート表示画面に含まれる[テキスト印刷]アイコンが選択されたことに応じて、ステップS23、S25が実行されてもよい。これにより、テキストのみが記録された記録された記録用紙と、各コンテンツデータが個別に記録された記録用紙とがプリンタ部11から出力される。
また、実施形態1によれば、ノート表示画面に表示されたノートのサムネイル画像が生成され、その後に表示されるノート選択画面において当該サムネイル画像がレイアウト識別画像として表示される。これにより、各レイアウト定義データの内容をユーザに確認させることができる。その結果、所望のレイアウト定義データをユーザに素早く選択させることができる。
[実施形態2]
次に、図12〜図16を参照して、実施形態2に係るノート印刷処理を説明する。なお、実施形態1と共通する構成及び処理には同一の番号を付して詳しい説明を省略し、相違点を中心に説明する。実施形態2に係るノート印刷処理を実行する制御プログラム65は、OS64が提供する共有機能を用いて他のアプリケーションによって起動される点において、実施形態1と相違する。また、実施形態2に係るノート印刷処理は、トークンを取得可能か否かに応じて、レイアウト定義データの取得元が切り替えられる点において、実施形態1と相違する。
まず、図12を参照して、携帯端末50のOS64が提供するAPIによって実現される共有機能を説明する。共有機能は、携帯端末50上で動作する複数のアプリケーションのうち、共有元のアプリケーションから出力されるデータを、共有先のアプリケーショに処理させる機能である。
まず、共有元のアプリケーション41は、共有機能を実現するためのOS64のAPI(以下、「共有API」と表記する。)を実行する(S1)。共有APIの実行には、URI(Uniform Resource Identifierの略)、タイプ、及びアクションが入力引数として求められる。URIは、共有データの所在を示す情報である。タイプは、共有データのデータ形式を示す情報である。アクションは、共有先のアプリケーションに実行させる共有データに対する処理の種類(例えば、閲覧、編集、送信、印刷等)を示す情報である。
一方、共有先のアプリケーションの候補となるアプリケーション42、43、44、・・・は、処理可能な共有データのデータ形式と実行可能な処理の種類とを、OS64に対して予め宣言している。そこで、OS64は、アプリケーション42、43、44、・・・のうちから、タイプで示されるデータ形式の共有データに対してアクションで示される処理を実行可能なアプリケーションを特定(S2)し、特定したアプリケーションの一覧を表示部53に表示させる(S3)。そして、OS64は、一覧表示されたアプリケーションのうちの1つを選択するユーザ操作を操作部54を通じて受付可能な状態で待機する(S4)。
次に、OS64は、一覧表示されたアプリケーションのうちの1つを選択するユーザ操作を操作部54が受け付けたことに応じて(S4)、URI、タイプ、及びアクションを入力引数として当該アプリケーションを起動する(S5)。実施形態2では、ステップS5において、図13に示されるノート印刷処理を実行する制御プログラム65が起動されたものとして、以下の処理を説明する。なお、OS64は、ステップS2で特定したアプリケーションを示す情報をアプリケーション41に通知し、ステップS3〜S5の処理をアプリケーション41に実行させてもよい。
共有機能によって起動された制御プログラム65は、入力引数として与えられたURIで示される共有データを取得する(S51)。URIは、例えば、データ記憶領域62Bに記憶されたテキストファイルのファイルパスである。そして、このテキストファイルは、例えば、サービス提供装置70に記憶されたレイアウト定義データの所在を示すURLと、当該レイアウト定義データに対応する主題情報とを含み得る。さらに、レイアウト定義データの所在を示すURLは、例えば「www.server1.com/shared/?id=001」のように、サービス提供装置70上において当該レイアウト定義データを識別するノートID”001“を含む。ステップS51の処理は、所在情報取得処理の一例である。なお、「www.server1.com」は、サービス提供装置70を示している。また、「www.server2.com2」は、サービス提供装置80を示している。
また、実施形態2に係るサービス提供装置70は、ノートID”001“で識別されるレイアウト定義データとして、図3(A)に示される第1レイアウト定義データと、図15に示される第2レイアウト定義データとを記憶している。第2レイアウト定義データは、対応する第1レイアウト定義データに加工を施したものである。実施形態2に係る第2レイアウト定義データは、”src“に[header.jpg]及び[footer.jpg]が設定された<IMAGE>タグを、第1レイアウト定義データに追加したものである。
さらに、実施形態2には、サービス提供装置70、80に加え、サービス提供装置70と同様のサービスを提供するサービス提供装置90が存在する。しかしながら、サービス提供装置70、90は、例えば、互いに異なる地域のユーザに対して独立してサービスを提供する。そのため、サービス提供装置70のトークンでは、サービス提供装置90に記憶されたデータにアクセスすることができないものとする。なお、「www.server2.com2」が、サービス提供装置90を示すURLである。
次に、制御プログラム65は、ステップS51で取得したURLがサービス提供装置70、90の所在を示すことに応じて(S52:Yes)、トークン取得処理を実行する(S53)。図14を参照して、トークン取得処理の詳細を説明する。なお、制御プログラム65は、サービス提供装置を示す文字列がURLに含まれていることに応じて、当該サービス提供装置の所在を示すURLであると判断する。具体的には、制御プログラム65は、URLに「www.server1.com」或いは「www.server2.com2」が含まれている場合に、当該URLがサービス提供装置70、90の所在を示すと判断する。
まず、制御プログラム65は、ステップS51で取得したURLが示すサービス提供装置にアクセスするためのトークンがデータ記憶領域62Bに記憶されているか否かを判断する(S71)。次に、制御プログラム65は、データ記憶領域62Bにトークンが記憶されていないことを応じて(S71:No)、トークンを取得するためのアカウント情報がデータ記憶領域62Bに記憶されているか否かを判断する(S72)。ステップS71、S72の処理は、判断処理の一例である。
次に、制御プログラム65は、アカウント情報がデータ記憶領域62Bに記憶されていないことに応じて(S72:No)、アカウント情報入力画面を表示部53に表示させる(S73)。図7(B)は、アカウント情報入力画面の一例である。図7(B)に示されるアカウント情報入力画面は、「ユーザID&パスワードを入力して下さい。」のメッセージと、ユーザIDの入力を受け付けるテキストボックスと、パスワードの入力を受け付けるテキストボックスと、[ログイン]アイコンとを含む。そして、制御プログラム65は、アカウント情報入力画面が表示された表示部53に対するユーザ操作を操作部54を通じて受付可能な状態で待機する(S74)。ステップS73、S74の処理は、アカウント情報取得処理の一例である。
そして、制御プログラム65は、[ログイン]アイコンの位置をタップするユーザ操作を操作部54が受け付けたことに応じて(S74:Yes)、テキストボックスに入力されたユーザID及びパスワードの組み合わせに対応するトークンを、サービス提供装置70、90から取得する(S75)。ユーザID及びパスワードは、トークンを取得するためのアカウント情報の一例である。ステップS75の処理は、認証情報取得処理の一例である。なお、トークンの取得元は、サービス提供装置70、90そのものに限定されず、アカウント情報の正当性を判断して、サービス提供装置70、90に対応するトークンを発行する別の装置であってもよい。トークンの取得元のことを、トークン発行装置とも記載する。
なお、OS64は、サービス提供装置70、90のトークンを要求するためのAPI(以下、「トークンAPI」と表記する。)を提供している。そして、制御プログラム65は、トークンAPIを用いてトークン発行装置にアカウント情報を送信し、その応答としてトークンを取得することができる。なお、トークン発行装置は、携帯端末50が存在している地域に対応するトークンを発行する。すなわち、ステップS75の実行時に携帯端末50がサービス提供装置70に対応する地域に存在している場合は、サービス提供装置70に対応するトークンが取得され、サービス提供装置90に対応する地域に存在している場合は、サービス提供装置90に対応するトークンが取得される。
制御プログラム65は、例えばステップS75において、ユーザID及びパスワードを含む認証要求情報を、通信部55を通じてトークン発行装置に送信する。そして、制御プログラム65は、認証要求情報の応答としてトークンを、通信部55を通じてトークン発行装置から受信する。また、制御プログラム65は、ステップS75において、アカウント情報入力画面を通じてユーザから取得したユーザID及びパスワードと、トークン発行装置から取得したトークンとをデータ記憶領域62Bに記憶させる。
制御プログラム65は、ステップS75でトークン発行装置からトークンを取得したことに応じて(S76:Yes)、当該トークンが、ステップS51で取得したURLが示すサービス提供装置のトークンであるか否かを判断する(S77)。換言すれば、制御プログラム65は、ステップS77において、ステップS51で取得したURLで所在が示されるサービス提供装置70、90と、ステップS75で取得したトークンによってデータの取得権限が認められるサービス提供装置70、90とが一致するか否かを判断する。
そして、制御プログラム65は、取得したトークンが、ステップS51で取得したURLが示すサービス提供装置のトークンであることに応じて(S77:Yes)、トークンの取得に成功したものとしてトークン取得処理を終了する(S78)。一方、制御プログラム65は、取得したトークンが、ステップS51で取得したURLが示すサービス提供装置のトークンでないことに応じて(S77:No)、トークンの取得に失敗したものとしてトークン取得処理を終了する(S79)。また、制御プログラム65は、ステップS75でトークンが取得できなかったことに応じて(S76:No)、トークンの取得に失敗したものとしてトークン取得処理を終了する(S79)。
また、制御プログラム65は、データ記憶領域62Bにアカウント情報が記憶されていることに応じて(S72:Yes)、ステップS73、S74の処理をスキップして、記憶されているアカウント情報を用いてステップS75以降の処理を実行する。さらに、制御プログラム65は、データ記憶領域62Bにトークンが記憶されていることに応じて(S71:Yes)、ステップS72〜S76の処理をスキップして、記憶されているトークンを対象としてステップS77以降の処理を実行する。
図13に戻って、制御プログラム65は、ステップS53でトークンの取得に成功したことに応じて(S54:Yes)、第1レイアウト定義データを取得する(S55)。例えば、制御プログラム65は、ステップS51で取得したURLに含まれるノートID”001“及びトークンを含むノート要求情報を、通信部55を通じてサービス提供装置70に送信する。そして、制御プログラム65は、ノートID”001“で識別される第1レイアウト定義データを、ノート要求情報の応答として通信部55を通じてサービス提供装置70から受信する。ステップS55の処理は、第1取得処理の一例である。第1レイアウト定義データは、第1データの一例である。
次に、制御プログラム65は、ノートID”001“に対応する主題情報がステップS51で参照したテキストファイルに記述されているか否かを判断する(S56)。そして、制御プログラム65は、当該テキストファイルに主題情報が記述されていないことに応じて(S56:No)、当該主題情報をサービス提供装置70から取得する(S57)。一方、制御プログラム65は、当該テキストファイルに主題情報が記述されていることに応じて(S56:Yes)、ステップS57の処理をスキップする。
制御プログラム65は、例えばステップS57において、ノートID”001“を含む主題要求情報を通信部55を通じてサービス提供装置70に送信する。そして、制御プログラム65は、ノートID”001“に対応する主題情報を、主題要求情報の応答として通信部55を通じてサービス提供装置70から受信する。ステップS57の処理は、主題情報取得処理の一例である。
次に、制御プログラム65は、図16(A)に示されるプレビュー画面を表示部53に表示させる(S58)。図16(A)に示されるプレビュー画面は、レイアウト画像125と、[プリント]アイコンとを含む。レイアウト画像125は、ステップS55で取得した第1レイアウト定義データを解析することによって生成される。また、レイアウト画像125の左上隅には、主題情報で示される主題が配置されている。レイアウト画像125は、第1レイアウト画像の一例である。ステップS58の処理は、プレビュー表示処理の一例である。
また、制御プログラム65は、ステップS53でトークンの取得に失敗したことに応じて(S54:No)、ステップS51で取得したURLで示される所在から第2レイアウト定義データを取得する(S59)。制御プログラム65は、例えばステップS59において、従来のHTTPリクエストによって第2レイアウト定義データを取得できる。また、第2レイアウト定義データの取得元は、サービス提供装置70であってもよいし、サービス提供装置70と異なるサービス提供装置であってもよい。ステップS59は、第2取得処理の一例である。第2レイアウト定義データは、第2データの一例である。
次に、制御プログラム65は、図16(B)に示されるプレビュー画面を表示部53に表示させる(S60)。図16(B)に示されるプレビュー画面は、レイアウト画像126と、[プリント]アイコンとを含む。レイアウト画像126は、ステップS59で取得した第2レイアウト定義データを解析することによって生成される。レイアウト画像126は、第2レイアウト画像の一例である。ステップS60の処理は、プレビュー表示処理の他の例である。
レイアウト画像126は、コンテンツデータ[Header.jpg]に対応するコンテンツ画像127と、コンテンツデータ[footer.jpg]に対応するコンテンツ画像128とを含む点において、レイアウト画像125と相違する。その結果、レイアウト画像126は、ノートに対応する部分がレイアウト画像125と比較して縮小されている。また、レイアウト画像126には、レイアウト画像125に含まれるサムネイル画像115、印刷非対応画像116、及び形式画像117に相当する画像が含まれている。しかしながら、各画像をタップするユーザ操作を操作部54が受け付けたとしても、当該画像に対応するコンテンツデータを取得する処理は実行されない。さらに、レイアウト画像126には、主題が含まれてない。
そして、制御プログラム65は、プレビュー画面に対するユーザ操作を操作部54を通じて受付可能な状態で待機する(S61)。次に、制御プログラム65は、[プリント]アイコンの位置をタップするユーザ操作を操作部54が受け付けたことに応じて(S61:Yes)、通信部55を通じて複合機10に記録指示情報を送信する(S62)。ステップS62で送信される記録指示情報は、レイアウト画像125、126に対する記録処理を複合機10に実行させるための情報である。ステップS62の処理は、出力処理の一例である。
一方、制御プログラム65は、ステップS51で取得したURLがサービス提供装置70、90と異なるサービス提供装置80の所在を示すことに応じて(S52:No)、トークン取得処理を実行することなく、URLを用いてサービス提供装置80にリクエストを送信する(S63)。具体的には、制御プログラム65は、URLを用いてHTTP Getリクエストを送信してもよい。そして、制御プログラム65は、当該リクエストの応答として取得したデータに対して処理を行う。
一例として、制御プログラム65は、HTTP Getリクエストの応答としてレイアウト定義データを取得したことに応じて、当該レイアウト定義データを解析して得られるレイアウト画像を表示部53に表示させてもよい。また、制御プログラム65は、例えばステップS59においても、ステップS63と同様の方法(例えば、HTTP Getリクエスト)で第2レイアウト定義データをサービス提供装置90から取得してもよい。すなわち、制御プログラム65は、ステップS59、S60と、ステップS63とにおいて、同様の手順で処理を実行してもよい。
一方、制御プログラム65は、HTTP Getリクエストの応答としてレイアウト定義データと異なるデータを取得したことに応じて、当該データに応じた処理を実行する。例えば、ステップS51で取得したURLがサービス提供装置80のコンテンツデータを示す場合、制御プログラム65は、ステップS63において、当該URLで示されるコンテンツデータをサービス提供装置80から取得し、当該コンテンツデータで示されるコンテンツ画像を表示部53に表示させればよい。
[実施形態2の作用効果]
実施形態2によれば、データ記憶領域62Bにトークンが記憶されている場合に第1取得処理(S55)が実行され、コンテンツ画像127、128を含まないレイアウト画像125をシートに記録させることができる。一方、データ記憶領域62Bにトークンが記憶されていない場合に第2取得処理(S59)が実行され、コンテンツ画像127、128を含むレイアウト画像126をシートに記録させることができる。その結果、トークンの有無に応じて適切なレイアウト画像をシートに記録させることができる。
なお、実施形態2に係るレイアウト画像126は、レイアウト画像125にコンテンツ画像127、128を含めたものである。但し、レイアウト画像の加工とは、コンテンツ画像の追加に限定されず、レイアウト画像の解像度や色数の変更等を含む画像処理等を含んでもよい。また、第1取得処理及び第2取得処理で取得されるのはレイアウト定義データに限定されない。例えば、制御プログラム65は、第2取得処理において、レイアウト画像126を示すレイアウト画像データを取得してもよい。
また、実施形態2に係るトークン取得処理によれば、データ記憶領域62Bにトークンが記憶されていない場合にアカウント情報を用いてトークンが取得され、データ記憶領域62Bにアカウント情報が記憶されていない場合にユーザからアカウント情報が取得される。これにより、コンテンツ画像127、128を含まないレイアウト画像125に対する記録処理が実行される可能性が高まる。
なお、実施形態2に係るトークン取得処理では、携帯端末50が存在している地域に対応するサービス提供装置のトークンが発行される。そこで、データ記憶領域62Bにトークンが記憶されていない場合において(S71:No)、制御プログラム65は、ステップS51で取得したURLで示されるサービス提供装置70、90と、携帯端末50が存在している地域に対応するサービス提供装置70、90とが異なることに応じて、ステップS72〜S76をスキップして、ステップS79に進んでもよい。
なお、携帯端末50が存在している場所は、例えば、携帯端末50がGPS(Global Positioning Systemの略)から受信した位置情報、或いは携帯端末50が接続される通信機器の情報によって特定される。一例として、携帯端末50がWi−Fi接続されている場合、制御プログラム65は、通信機器の一例であるブロードバンドルータに設定されているグローバルIPアドレスによって、携帯端末50の位置を特定すればよい。他の例として、携帯端末50が移動体通信網に接続されている場合、制御プログラム65は、最寄りの基地局が設置されている場所の情報によって、携帯端末50の位置を特定すればよい。
また、第2取得処理は、第1取得処理が失敗した場合に実行されてもよい。第1取得処理の失敗とは、例えば、ノート要求情報を送信したにも拘わらず第1レイアウト定義データを取得できない場合等である。第1レイアウト定義データを取得できない場合とは、例えば、第1データが既にサービス提供装置70から削除されている場合、トークンが無効である場合等である。その結果、第1レイアウト定義データが取得できない場合に記録処理が全くできなくなることを防止できる。さらに、第2取得処理は、ステップS51で参照したテキストデータに主題情報が記述されていない場合(S56:No)に実行されてもよい。
また、実施形態1、2は組み合わせることが可能である。例えば図17に示されるように、実施形態2に係るノート印刷処理において、ステップS58に代えて印刷制御処理(S71)が実行されてもよい。印刷制御処理は、図4のステップS18〜S25の処理に相当するので、再度の説明は省略する。
なお、各実施形態の複合機10及び携帯端末50において、記憶部32、62のプログラム記憶領域32A、62Aに記憶された各種プログラムがCPU31、61によって実行されることによって、本発明の制御部が実行する各処理が実現される例を説明した。しかしながら、制御部の構成はこれに限定されず、その一部又は全部を集積回路(IC(Integrated Circuitの略)とも言う。)等のハードウェアで実現してもよい。
さらに、本発明は、複合機10或いは携帯端末50として実現できるだけでなく、複合機10或いは携帯端末50に処理を実行させるプログラムとして実現してもよい。そして、当該プログラムは、non−transitoryな記録媒体に記録されて提供されてもよい。non−transitoryな記録媒体は、CD−ROM、DVD−ROM等の他、通信ネットワーク102を介して複合機10或いは携帯端末50に接続可能なサーバ装置に搭載された記憶部を含んでもよい。そして、サーバ装置の記憶部に記憶されたプログラムは、当該プログラムを示す情報或いは信号として、インターネット等の通信ネットワーク102を介して配信されてもよい。