以下、本願の情報処理装置を具体化した一実施形態について、図面を参照して説明する。図1は、本実施形態に係わる印刷システム1のブロック図を示している。図1に示すように、印刷システム1は、携帯端末10、プリンタ50を備える。
携帯端末10は、本願の情報処理装置の一例であり、例えば、スマートフォンである。尚、本願の情報処理装置は、スマートフォンに限らず、タブレット端末やパソコンなど、情報処理が可能な他の装置でも良い。
プリンタ50は、例えば、ラベルプリンタであり、印字ヘッド、インクリボン、ラベル用テープを有するカートリッジ、テープカッター等を備え、熱転写方式により印刷を実行する。プリンタ50は、携帯端末10との間で各種の情報や指示信号を送受信し、携帯端末10による制御に基づいて、所望のテキストや写真等の印刷画像を印刷したラベルを作成する。プリンタ50は、本願の印刷装置の一例である。ラベル用テープは、本願の被印刷媒体の一例である。尚、本願の印刷装置は、熱転写方式により印刷する装置に限らず、例えば、電子写真方式やインクジェット方式で印刷する装置でも良い。また、本願の被印刷媒体は、ラベル用テープに限らず、紙やOHPフィルムでも良い。また、本願の印刷装置は、ラベル用テープなどの被印刷媒体を搬送しながら印刷する装置に限らず、例えば、ノートや段ボールなどのプリンタのトレイにセットできない対象物に直接印刷を施す所謂ハンディプリンタでも良い。
携帯端末10は、CPU12、メモリ14、ネットワークI/F16、LCD20、タッチパネル22、カメラ23を備えている。これらの構成要素は、バス28を介して互いに通信可能とされている。CPU12は、メモリ14内のアプリケーション30に従って処理を実行する。アプリケーション30は、例えば、携帯端末10で受け付けた操作指示に基づいて、プリンタ50による印刷を実行させるアプリケーションプログラムである。尚、以下の説明では、アプリケーション30を実行するCPU12のことを、単に装置名で記載する場合がある。例えば、「CPU12は」という記載は、「アプリケーション30を実行するCPU12は」ということを意味する場合がある。
尚、メモリ14は、RAM、ROM、フラッシュメモリなどを組み合わせて構成されている。また、メモリ14は、コンピュータが読み取り可能なストレージ媒体であってもよい。コンピュータが読み取り可能なストレージ媒体とは、non−transitoryな媒体である。non−transitoryな媒体には、上記の例の他に、CD−ROM、DVD−ROM等の記録媒体も含まれる。また、non−transitoryな媒体は、tangibleな媒体でもある。一方、インターネット上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、コンピュータが読み取り可能な媒体の一種であるコンピュータが読み取り可能な信号媒体であるが、non−transitoryなコンピュータが読み取り可能なストレージ媒体には含まれない。
また、メモリ14は、データ記憶領域32を備える。データ記憶領域32は、アプリケーション30の実行に必要なデータなどを記憶する領域である。また、データ記憶領域32には、印刷に用いる印刷データ33が記憶されている。印刷データ33は、例えば、プリンタ50でラベル用テープに印刷するテキストデータや画像データである。CPU12は、例えば、印刷の指示を受け付けると、印刷データ33に基づいてプリンタ50に印刷を実行させるためのジョブデータを作成し、作成したジョブデータをプリンタ50に送信する。これにより、プリンタ50によるラベルの印刷を実行させることができる。
ここで、本実施形態のCPU12は、プリンタ50によるラベルの印刷を実行する前に、印刷するラベルのプレビューを実行する。具体的には、本実施形態のCPU12は、例えば、「AR(拡張現実:Augmented Reality)」技術を活用して、カメラ23にて撮影した実際の風景に、印刷設定が反映された印刷結果を重ね合わせて表示させることで、印刷するラベルのプレビューを実行する。これにより、ユーザの意に反した印刷結果となることを未然に抑制することができる。尚、プレビューの詳細については、後述する。
ネットワークI/F16は、ルータ41やプリンタ50の間で無線通信を行なう無線インタフェースである。携帯端末10、ルータ41及びプリンタ50は、例えば、Wi−Fi(登録商標)の無線LANにより互いにデータを送受信する。携帯端末10は、例えば、ルータ41をアクセスポイントとして設定されており、ネットワークI/F16及びルータ41を介してプリンタ50やインターネット(図示略)に接続可能となっている。プリンタ50は、ルータ41を介してジョブデータなどを受信する。尚、携帯端末10は、Bluetooth(登録商標)やNFC(登録商標)などにより、プリンタ50と無線通信を実行しても良い。また、携帯端末10とプリンタ50との間の通信は無線通信に限らず、有線通信でも良い。
LCD20は、携帯端末10の各種機能を表示する表示画面を備える。LCD20は、CPU12の制御に基づいて、表示画面の表示内容を変更する。タッチパネル22は、タッチセンサを有し、LCD20の表示画面を覆うように配置されている。タッチパネル22は、ユーザの指、タッチペン等のタッチパネル22への接近・接触を検出し、検出に応じて電気信号をCPU12へ出力する。尚、携帯端末10は、タッチパネル22の代わりに、あるいはタッチパネル22に加えて、ハードキー等を備えても良い。
カメラ23は、例えば、CCD(Charge Coupled Device)イメージセンサやCMOS(Complementary Metal Oxide Semiconductor)イメージセンサなどの撮像素子やレンズ等を有する撮像装置である。携帯端末10は、例えば、取り付け位置の異なる複数のカメラ23を備えている。携帯端末10は、各カメラ23で撮像したカメラ画像を画像処理することで、例えば、三角測量の原理により、撮像した対象物と携帯端末10との間の距離を測定する。
尚、携帯端末10と対象物との距離を測定する方法は、複数のカメラ23を用いる方法に限らない。例えば、携帯端末10は、位置を変更可能な1つのカメラ23を備え、カメラ23の位置を変更し異なる位置で撮像したカメラ画像に基づいて距離を測定しても良い。また、携帯端末10は、カメラ23を備えなくとも良い。携帯端末10は、例えば、携帯端末10とは別体のカメラからカメラ画像を取得して、取得したカメラ画像から距離を測定しても良い。あるいは、携帯端末10は、対象物と携帯端末10との間の距離を測定可能な測量センサを備えても良い。測量センサの種類は特に限定されない。例えば、赤外線や超音波を用いた測量センサを採用できる。また、例えば、対象物側に所定のマーカを設置して、携帯端末10が、撮像したマーカの大きさやマーカに設けた模様の間隔などに基づいて距離を測定しても良い。
次に、携帯端末10のCPU12が、アプリケーション30を実行し、印刷データ33の印刷画像をLCD20に表示した後、印刷の実行を受け付ける印刷処理について図3〜図5を参照しつつ、説明する。図2は、プリンタ50で印刷するラベルと、そのラベルを貼り付ける対象物の一例を示している。以下の説明では、図2に示すように、対象物61としてモニタを採用し、そのモニタにラベル71を貼り付ける場合について説明する。例えば、ユーザは、対象物61(モニタ)の画面63の周りを囲むフレーム65に貼り付けるラベル71を作成する。ラベル71には、印刷画像として、「備品A−001」などのテキストデータ73が印刷される。尚、ラベル71に印刷する印刷画像は、テキストに限らず、写真、グラフィックなどでも良い。
また、図3〜図5は、印刷処理の内容を示している。携帯端末10のCPU12は、例えば、LCD20に表示したアプリケーション30のアイコンをタッチ操作されると、アプリケーション30を起動する。CPU12は、例えば、アプリケーション30を起動し、どのような印刷を実行するのか選択可能な画面をLCD20に表示する。CPU12は、印刷を受け付ける画面を表示した状態で、ラベル71の印刷を指示する操作入力をタッチパネル22で受け付けると、図3〜図5に示す印刷処理を実行する。
尚、本明細書では、主に、プログラムに記述された命令に従ったCPU12の処理を示す。即ち、以下の説明における「取得」、「表示」、「判断」等の処理は、CPU12の処理を表している。CPU12による処理は、アプリケーション30を介したハードウェア制御も含む。また、「取得」は要求を必須とはしない概念で用いる。即ち、CPU12が要求することなくデータを受信するという処理も、「CPU12がデータを取得する」という概念に含まれる。
印刷処理を開始すると、図3のステップ(以下、単に「S」と記載する)11において、CPU12は、印刷に用いるプリンタ50(以下、印刷対象のプリンタ50という場合がある)の情報を取得する。例えば、CPU12は、複数のプリンタ50をセットアップされた場合、複数のプリンタ50の中からデフォルトで使用するプリンタ50を設定する。CPU12は、S11において、予め設定したデフォルトのプリンタ50の情報(以下、プリンタ情報という場合がある)を、印刷対象のプリンタ50のプリンタ情報として取得する。ここでいうプリンタ情報とは、例えば、後述するプリンタ50が印刷可能なラベル71の最大サイズや最小サイズの情報、ポスター印刷などの機能の情報である。
CPU12は、S11を実行した後、印刷対象の印刷データ33を取得する(S13)。CPU12は、例えば、データ記憶領域32に記憶された複数の印刷データ33(図1参照)の中から、印刷対象の印刷データ33を選択する画面をLCD20に表示する。CPU12は、タッチパネル22に対する操作入力に基づいて選択された印刷データ33を印刷対象の印刷データ33に設定し、その印刷データ33をデータ記憶領域32から読み出す(S13)。尚、印刷データ33は、予め作成されたデータに限らない。CPU12は、例えば、アプリケーション30を起動した後にラベル71を作成する操作を受付け、作成したラベル71のデータを、印刷対象の印刷データ33として設定しても良い(S13)。あるいは、CPU12は、携帯端末10以外の装置、例えば、パーソナルコンピュータで作成したラベル71の印刷データ33や、インターネットからダウンロードした印刷データ33を、印刷対象の印刷データ33として設定しても良い。
CPU12は、S13を実行した後、カメラ23で撮像したカメラ画像をLCD20に表示する(S15)。図6は、対象物61を携帯端末10で撮像している状態を示している。例えば、ユーザは、ラベル71(図2参照)を貼り付けたい対象物61を台67の上に置いた状態で、離れた位置から携帯端末10で対象物61を撮像する。CPU12は、カメラ23(図1参照)で撮像したカメラ画像81をLCD20に表示する。
また、図6に示すように、CPU12は、印刷データ選択ボタン83、プリンタ選択ボタン85、ラベル選択ボタン87、拡大縮小ボタン89、プリントボタン91をLCD20に表示する。印刷データ選択ボタン83は、印刷対象の印刷データ33を選択するためのボタンである。CPU12は、印刷データ選択ボタン83に対するタッチ操作に基づいて、印刷データ33を選択する画面を表示する。これにより、ユーザは、カメラ画像81を表示させた後で、印刷対象の印刷データ33を変更することができる。
プリンタ選択ボタン85は、印刷対象のプリンタ50を選択するためのボタンである。CPU12は、プリンタ選択ボタン85に対するタッチ操作に基づいて、印刷対象のプリンタ50を選択する画面を表示する。CPU12は、例えば、ルータ41を介して通信可能で且つ印刷可能な(電源が入っているなどの)プリンタ50を表示し、印刷対象のプリンタ50の選択を受け付ける。CPU12は、例えば、LCD20にカメラ画像81の表示を開始する段階では、S11で取得したプリンタ50のプリンタ名をプリンタ選択ボタン85に表示する。また、CPU12は、プリンタ選択ボタン85によりプリンタ50の変更を受け付けると、変更後のプリンタ50からプリンタ情報を取得し、プリンタ選択ボタン85のプリンタ名を更新する。
ラベル選択ボタン87は、印刷するラベル71を選択するためのボタンである。CPU12は、ラベル選択ボタン87に対するタッチ操作に基づいて、例えば、プリンタ選択ボタン85に表示中のプリンタ50(印刷対象のプリンタ50)で印刷可能なラベル71のサイズを選択可能に表示する。この印刷可能なラベル71のサイズの情報は、例えば、上記したS11で取得したプリンタ情報に基づくものである。また、CPU12は、プリンタ選択ボタン85によりプリンタ50の変更を受け付けると、変更後のプリンタ50からプリンタ情報を取得し、ラベル選択ボタン87で選択可能に表示するラベル71のサイズ情報を更新する。
また、拡大縮小ボタン89は、例えば、LCD20に表示されるイメージ画像75の大きさを変更するボタンである。CPU12は、後述するS17以降の処理を実行することで、図6に示すように、印刷するラベル71を実寸大で示すイメージ画像75をLCD20に表示する。CPU12は、拡大縮小ボタン89に対する操作に基づいて、このイメージ画像75を拡大又は縮小する。CPU12は、そのイメージ画像75の大きさに従って印刷を実行する。従って、拡大縮小ボタン89を操作してイメージ画像75の大きさを変更することで、結果として、印刷画像の大きさや被記録媒体の大きさを変更することができる。拡大縮小ボタン89の操作の詳細については後述する。
図3に戻り、CPU12は、S15を実行した後、対象物61を特定できたか否かを判定する(S17)。CPU12は、例えば、カメラ画像81で撮像した被写体の外縁を検出し、LCD20の表示画面のうち、被写体の外縁で囲まれた領域を、その被写体の選択領域に設定する。CPU12は、任意の被写体の選択領域に対するタッチ操作を検出すると、その被写体を対象物61として設定する。選択領域に対するタッチ操作とは、例えば、被写体をダブルタップする操作やロングタップする操作である。
尚、対象物61を特定する方法は、上記したタッチに限らない。例えば、図7に示すように、対象物61の外縁(フレーム65など)にマーカ93を設置することで対象物61を特定しても良い。このマーカ93は、例えば、L字などの特定の形状や特定の色をした部材、あるいは識別情報(QRコード(登録商標))を表面に印刷した部材などである。ユーザは、所望の対象物61の角などに複数のマーカ93を設置する。これにより、CPU12は、複数のマーカ93から対象物61の外縁を認識して対象物61を特定することができる。尚、図7は、マーカ93の位置や形状を明確にするため、画面63を白色で示している。
CPU12は、対象物61を特定できるまでの間(S17:NO)、S17の判断処理を実行する。例えば、ユーザが特定の被写体をタッチ操作して選択すると、CPU12は、S17で肯定判断し(S17:YES)、S19を実行する。CPU12は、S19において、S17で特定した対象物61と携帯端末10との間の距離を測定する。上記したように、CPU12は、複数のカメラ23のカメラ画像から距離を測定しても良く、測量センサ等を用いて距離を測定しても良い。
尚、携帯端末10と対象物61の間の距離を特定する方法は、上記したCPU12による演算を用いる方法に限らない。例えば、対象物61と携帯端末10との間の距離を、ユーザが数値などで入力しても良い。また、距離を特定せずに、固定の距離を用いても良い。例えば、図7に示すように、携帯端末10の撮像位置95、携帯端末10と対象物61の間の距離97、対象物61の設置位置などを予め決定しおく。この場合、CPU12は、画像処理等によって距離97を演算する必要がなく、距離97として固定値を用いることができる。また、図7に示すように、固定の距離97を用いる方法と、マーカ93を用いる方法を併用し距離の算出精度を高めても良い。
CPU12は、S19を実行した後、対象物61の撮像画像サイズと、S19で測定した距離とに基づいて、対象物61の実サイズを特定する(S21)。CPU12は、例えば、対象物61の撮像画像から対象物61の高さや幅を算出し、算出した高さや幅を距離に応じて長くすることで対象物61の実際の大きさを実サイズとして特定する。
CPU12は、S21を実行した後、印刷データ33の印刷設定を取得する(S23)。例えば、印刷データ33には、ラベル71の作成時に、印刷する際のラベルサイズやフォントサイズ等の印刷設定が設定されている。CPU12は、この印刷データ33に設定された印刷設定を取得する(S23)。
CPU12は、S23を実行した後、S23で取得した印刷データ33の印刷設定のラベルサイズが、印刷対象のプリンタ50の印刷可能な最大サイズより大きいか否かを判断する(S25)。即ち、CPU12は、現時点の印刷設定のラベル71のサイズが、印刷対象のプリンタ50で印刷可能なサイズであるか判断する。CPU12は、S23で取得したラベルサイズ(印刷設定のサイズ)と、S11で取得したプリンタ情報の最大サイズ(印刷対象のプリンタ50の印刷可能な最大サイズ)を比較する。CPU12は、印刷データ33のラベルサイズが、印刷可能な最大サイズよりも大きいと判断すると(S25:YES)、図4のS27を実行する。
CPU12は、S27において、印刷対象のプリンタ50がポスター印刷を、実行可能か否かを判断する。ポスター印刷とは、例えば、1つの印刷画像を複数のラベル71に分割して印刷する印刷処理である。例えば、CPU12は、ポスター印刷を実行する場合、図8に示すように、1つの印刷データ33に含まれるテキストデータ73(「備品A−001」)を上下に分割し、幅が12mmの2つのラベル71にそれぞれ印刷する。これにより、1つのラベル71に印刷できないようなフォントサイズであっても、2つのラベル71に分割して印刷することで、印刷後に2つのラベル71を揃えて貼り合わせることでフォントサイズの大きなラベル71を貼ることができる。
CPU12は、例えば、印刷対象のプリンタ50がポスター印刷機能を有しているか否かの情報を、上記したS11のプリンタ情報で取得する。CPU12は、取得したプリンタ情報に基づいて、印刷対象のプリンタ50がポスター印刷機能を有していると判断した場合(S27:YES)、S29を実行する。
S29において、CPU12は、ポスター印刷を実行する場合の分割数を決定する。CPU12は、例えば、印刷データ33を、印刷対象のプリンタ50で印刷可能な最大サイズで分割した場合に、最大サイズのラベル71を何枚使用すれば印刷可能か演算し、印刷可能なラベル71の枚数を分割数として設定する。CPU12は、例えば、印刷データ33の印刷設定のラベルサイズを、印刷対象のプリンタ50の最大サイズで除算し分割数を決定する。尚、分割数の決定方法は、上記した最大サイズを用いる方法に限らない。CPU12は、例えば、最小サイズを用いて分割数を決定しても良く、複数種類のサイズを組み合わせて分割数を決定しても良い。
CPU12は、S29を実行した後、ポスター印刷の分割設定を記憶する(S31)。CPU12は、例えば、S29で決定した分割数、使用するラベル71のサイズ等を分割設定の情報としてデータ記憶領域32(図1参照)に記憶する。CPU12は、S31を実行すると、S33を実行する。
一方、CPU12は、S27において、印刷対象のプリンタ50がポスター印刷機能を有していないと判断すると(S27:NO)、警告を表示する(S35)。図9に示すように、CPU12は、例えば、印刷データ33の現在のラベルサイズが印刷不可能なサイズであることを示す文字を表示したポップアップ画面101をLCD20に表示する。これにより、ユーザは、印刷データ33のラベルサイズにプリンタ50が対応していないことを認識できる。例えば、ユーザは、印刷設定のラベルサイズの変更や、プリンタ50の変更など、適切な対応を実行できる。
また、CPU12は、印刷データ33のラベルサイズを、印刷対象のプリンタ50が印刷可能な最大サイズに設定したことを示す文字をポップアップ画面101に表示する。例えば、印刷可能な最大サイズが24mmである場合、図9に示すように、CPU12は、24mmに設定した旨を表示する。CPU12は、S35を実行した後、印刷データ33の印刷設定のラベルサイズをプリンタ50の最大サイズに変更する(S37)。これにより、ユーザが大きいラベル71を印刷したい場合に、可能な限り大きなサイズに設定して印刷することができる。
後述するように、CPU12は、S37で印刷データ33のラベルサイズを変更し、変更後のラベルサイズのイメージ画像75を、実寸大でLCD20に表示する(図9参照)。これにより、ユーザは、変更されたラベル71の大きさを対象物61と照らし合わせて実寸大で確認できる。CPU12は、S37を実行した後、S33を実行する。CPU12は、例えば、S35において、ポップアップ画面101にOKボタン103を表示し、OKボタン103をタッチ操作されるまでポップアップ画面101を表示する。そして、CPU12は、OKボタン103をタッチ操作されたことに基づいてS37を実行し、ポップアップ画面101を消し、印刷設定やラベル選択ボタン87の表示を最大サイズの値に変更する。
一方、CPU12は、図3のS25において、印刷データ33の印刷設定のラベルサイズが、印刷可能な最大サイズ以下である判断すると(S25:NO)、図4のS39を実行する。S39において、CPU12は、印刷データ33のラベルサイズが、印刷対象のプリンタ50の印刷可能な最小サイズより小さいか否かを判断する。
CPU12は、印刷データ33のラベルサイズが、印刷可能な最小サイズよりも小さいと判断すると(S39:YES)、S41を実行し、ラベルサイズが最小サイズ以上であると判断すると(S39:NO)、S33を実行する。S41において、CPU12は、警告を表示する。例えば、CPU12は、S35と同様に、印刷データ33の現在のラベルサイズが印刷不可能なサイズであることや、印刷データ33のラベルサイズを印刷対象のプリンタ50が印刷可能な最小サイズに設定したことを示すポップアップ画面(図9参照)をLCD20に表示する。CPU12は、S43を実行した後、印刷データ33のラベルサイズをプリンタ50の最小サイズに変更し(S43)、S33を実行する。これにより、最大サイズに変更した場合と同様に、ユーザが小さいラベル71を印刷したい場合に、可能な限り小さいサイズに設定して印刷することができる。
S33において、CPU12は、印刷データ33の印刷設定のフォントサイズから、実際に印刷されるテキストデータ73の文字サイズ(以下、実印刷のサイズという場合がある)を特定する。CPU12は、例えば、印刷データ33に設定されたフォントサイズを、印刷設定の倍率(印刷対象のプリンタ50で印刷する際の印刷倍率)で拡大又は縮小し、実印刷のサイズを特定する。
CPU12は、S33を実行した後、実印刷のサイズが、推奨フォントサイズより小さいか否かを判断する(S45)。ここでいう推奨フォントサイズとは、例えば、印刷を実行した場合に印刷されたテキストデータ73を見たユーザが読み間違えを起こす確率が少ない最小フォントサイズである。例えば、推奨フォントサイズとして、印刷したテキストデータ73に対する認識率の統計を取って一定割合以上の人が正確に認識できたフォントサイズを設定しても良い。
CPU12は、実印刷のサイズが、推奨フォントサイズよりも小さいと判断すると(S45:YES)、警告を表示する(S47)。CPU12は、例えば、推奨フォントサイズよりも小さく印刷される旨をLCD20に表示する。また、CPU12は、推奨フォントサイズの具体的な値を表示する、あるいは推奨フォントサイズに変更するか選択するボタンを表示しても良い。これにより、ユーザは、実印刷のサイズが適切か、推奨フォントサイズを基準に再度検討することができる。
CPU12は、S47を実行すると、図5のS51を実行する。また、CPU12は、S45において実印刷のサイズが、推奨フォントサイズ以上であると判断すると(S45:NO)、図5のS51を実行する。S51において、CPU12は、対象物61の実サイズと、印刷データ33のサイズの比率に合せたイメージ画像75を生成する。CPU12は、例えば、対象物61と印刷データ33で印刷するテキストデータ73やラベル71の比率を実寸大の比率で合せる。そして、CPU12は、カメラ画像81に映し出された対象物61の大きさに合わせた印刷データ33の印刷結果をイメージ画像75として生成する。
具体的には、例えば、CPU12は、複数のカメラ23のいずれかで撮像した画像を、そのカメラ23の倍率に応じた大きさのカメラ画像81でLCD20に映し出す。対象物61は、一定の倍率で拡大又は縮小されてLCD20に映し出される。CPU12は、対象物61の実サイズと、LCD20に映し出すサイズの比率に合せて、印刷データ33の印刷設定で印刷した場合の実サイズのラベルサイズやフォントサイズを調整し、調整した画像をイメージ画像75として生成する。CPU12は、生成したイメージ画像75をカメラ画像81の対象物61に重ねた合成画像をLCD20に表示する(S53)。より具体的には、CPU12は、カメラ画像81を後景、イメージ画像75を前景にて表示する合成画像を生成しLCD20に表示する。これにより、対象物61と印刷結果のイメージ画像75のサイズの比率を実寸大に合せてLCD20に映し出すことができる。即ち、カメラ画像81に写された対象物61に、印刷したラベル71を貼り付けた場合と同じ大きさでイメージ画像75を表示できる。図6に示すように、ユーザは、LCD20に映し出されたカメラ画像81とイメージ画像75の合成画像を見ることで、対象物61の大きさと、イメージ画像75の大きさを実寸大で比較することができる。印刷したラベル71の大きさやテキストデータ73の大きさが、対象物61に対して意図した大きさとなっているのか事前に確認することができる。ここでいうテキストデータ73の大きさとは、テキストデータ73に含まれるテキストのフォントサイズ、テキストを印刷する印刷領域のサイズなどを含んでいる。
尚、CPU12は、対象物61の実サイズと、印刷結果のラベル71やテキストデータ73のサイズを実寸大で完全に一致させなくとも良い。即ち、イメージ画像75を、実サイズで生成しなくとも良い。例えば、CPU12は、プリンタ50の印刷精度に合わせてラベル71やテキストデータ73の大きさを補正しイメージ画像75を生成しても良い。
CPU12は、S53を実行すると、印刷データ33の印刷設定が変更されたか否かを判断する(S55)。CPU12は、印刷設定が変更されたと判断すると(S55:YES)、図3のS25からの処理を実行する。例えば、本実施形態のCPU12は、S53で合成画像を表示すると、対象物61などを撮像したカメラ画像81を固定する。CPU12は、カメラ画像81を固定した状態で、イメージ画像75の大きさの変更を受け付け、受け付けたイメージ画像75の変更後の大きさに合わせて印刷データ33のラベルサイズやフォントサイズを変更し、印刷設定の変更を受け付ける。
CPU12は、例えば、イメージ画像75の大きさの変更を受け付け、変更後のイメージ画像75をカメラ画像81に重ねる。具体的には、CPU12は、拡大縮小ボタン89(図6参照)に対するタッチ操作を検出すると、タッチ操作の内容に応じてイメージ画像75を拡大又は縮小する。また、CPU12は、イメージ画像75の変更を受け付けると、受け付けた変更内容に応じて印刷データ33の印刷設定のラベルサイズを拡大又は縮小する。CPU12は、例えば、拡大縮小ボタン89に対するダブルタップ操作に応じて拡大又は縮小を切り替える。また、CPU12は、拡大縮小ボタン89に対するロングタップ操作に応じてイメージ画像75の大きさを拡大又は縮小させ、印刷設定のラベルサイズを拡大又は縮小する。CPU12は、例えば、ラベルサイズの変更に合わせてフォントサイズも変更する。尚、CPU12は、ラベルサイズの変更に合わせてフォントサイズを変更しなくとも良い。この場合、CPU12は、拡大縮小ボタン89の操作に応じて、フォントサイズを維持したまま、ラベルサイズのみを変更する。
CPU12は、変更した後の印刷設定のラベルサイズやフォントサイズに基づいて、S25以降の処理を実行する。これにより、ラベルサイズやフォントサイズの変更に合わせて、イメージ画像75の大きさ(ラベル71やテキストデータ73の大きさ)を実寸大に合せることができる。例えば、図8に示すように、イメージ画像75は、ラベルサイズやフォントサイズの拡大に応じて拡大される。
また、CPU12は、LCD20に映し出したイメージ画像75をピンチイン・ピンチアウトする操作に基づいて、イメージ画像75の大きさの変更を受け付けても良い。例えば、ユーザが、イメージ画像75を2本の指で広げるピンチアウト操作を行なった場合、CPU12は、イメージ画像75を大きくする。CPU12は、イメージ画像75の大きさの変更に合わせて印刷データ33の印刷設定のラベルサイズやフォントサイズを大きくする。また、CPU12は、LCD20に映し出したイメージ画像75の一部をドラッグする操作に基づいて、イメージ画像75の大きさを変更しても良い。例えば、ユーザが、イメージ画像75の角に触れたまま角を外側へ移動させるドラッグ操作を行なった場合、CPU12は、イメージ画像75を大きくし、印刷データ33のラベルサイズやテキストを大きくしても良い。
尚、上記したイメージ画像75を変更する方法(拡大縮小ボタン89の操作による受け付けなど)は、一例である。例えば、CPU12は、LCD20の画面上の任意の位置をタップする操作を検出した場合、タップ操作を検出した位置までイメージ画像75を拡大・縮小しても良い。また、CPU12は、フリック操作やスワイプ操作に応じて、イメージ画像75を拡大・縮小しても良い。
また、上記した説明では、イメージ画像75の大きさを変更するのに合せて印刷データ33のラベルサイズやフォントサイズの変更を受付けたが、印刷データ33のラベルサイズやフォントサイズを変更する方法は、上記した方法に限らない。例えば、CPU12は、ラベル選択ボタン87(図6参照)の操作に応じてラベルサイズの変更を受け付けた場合、ラベルサイズの変更に応じてイメージ画像75の大きさを変更し、印刷データ33のラベルサイズを変更しても良い。この場合、CPU12は、例えば、ラベルサイズを大きくするのに合わせてテキストを大きくしても良く、テキストの大きさを維持したまま、ラベルサイズだけを大きくしても良い。テキストの大きさを維持したまま、ラベルサイズを大きくした場合、イメージ画像75は、ラベルサイズに対してテキストの大きさが相対的に小さくなる。また、CPU12は、ラベル71に印刷するテキストの大きさや画像の大きさの変更だけを受け付けても良い。例えば、CPU12は、イメージ画像75に対するダブルタップ操作を受け付けた場合に、テキストの内容変更の他、テキストの大きさの変更を受け付けても良い。同様に、ラベル71に画像を印刷する場合、CPU12は、イメージ画像75内の画像に対する操作に応じて、画像の大きさの変更を受け付けても良い。また、CPU12は、上記した(1)イメージ画像75の大きさを変更するのに合せて印刷データ33のラベルサイズやフォントサイズを変更する処理、(2)ラベル選択ボタン87の操作に応じてラベルサイズだけを変更する処理、(3)ラベル71に印刷するテキストの大きさや画像の大きさの変更だけを受け付ける処理のうち、少なくとも1つの処理だけを実行する構成であっても良い。
また、CPU12は、対象物61に貼り付けたマーカなどを用いてイメージ画像75の変更を受け付けても良い。例えば、図10に示すように、対象物61のフレーム65の任意の位置に、複数のマーカ111を設置する。マーカ111としては、図7のマーカ93と同様に、例えば、L字などの特定の形状や特定の色をした部材、あるいは識別情報(QRコード(登録商標))を表面に印刷した部材などを採用できる。CPU12は、マーカ111で囲まれた領域を印刷領域として検出し、実寸大に合せたイメージ画像75(図10では破線で図示)をその印刷領域に表示しても良い。この場合、CPU12は、例えば、マーカ111の貼り付け位置が変更され場合、変更されたマーカ111の位置に応じて、イメージ画像75を拡大・縮小し、印刷データ33の印刷設定(ラベルサイズやフォントサイズの設定)を変更しても良い。
また、CPU12は、S55において、例えば、上記したイメージ画像75の大きさの変更を受け付けた場合、印刷設定の変更を受け付けと判断し(S55:YES)、S25以降の処理を再度実行する。CPU12は、仮に、変更後のラベルサイズがプリンタ50の最大サイズを超えていた場合、ラベルサイズを最大サイズに変更し(図4のS37)、イメージ画像75を最大サイズに合わせてリサイズする(図5のS51)。この場合、CPU12は、例えば、ピンチイン・ピンチアウト操作の途中でS35の警告表示などを実行しても良い。また、CPU12は、例えば、上記した(2)ラベル選択ボタン87の操作に応じてラベルサイズだけの変更を受け付けた場合も、S25以降においてラベルサイズを判断する。また、CPU12は、イメージ画像75の大きさの変更を受け付けた後(S55:YES)、イメージ画像75の大きさに合わせて変更したフォントサイズが推奨フォントより小さい場合(S45:YES)、警告を表示し(S47)、イメージ画像75の変更を実行しない。また、CPU12は、例えば、上記した(3)ラベル71に印刷するテキストなどの大きさの変更だけを受け付けた場合も、フォントサイズの判断を実行する。このようにして、CPU12は、カメラ画像81内の対象物61の大きさを固定しつつ、イメージ画像75の大きさを調整することで、実寸大の印刷結果を事前に提示することができる。
尚、CPU12は、携帯端末10と対象物61の間の距離の変動に応じて、イメージ画像75やカメラ画像81を、リアルタイムに更新しても良い。例えば、CPU12は、対象物61との間の距離、対象物61の実サイズ等を特定しつつ、印刷データ33の変更を受け付けても良い。そして、CPU12は、LCD20の合成画像をリアルタイムに更新しても良い。あるいは、CPU12は、LCD20に表示したリロードボタンをタッチ操作されたことに基づいて、距離の再取得などを実行しLCD20の合成画像を更新しても良い。また、CPU12は、イメージ画像75を一度表示した後に、対象物61の変更を受け付けても良い。
また、CPU12は、イメージ画像75の表示位置の変更をLCD20の表示画面で受け付けても良い。CPU12は、例えば、初期状態では、イメージ画像75を対象物61の中央などに表示し、イメージ画像75に対するスワイプ操作などに応じてイメージ画像75の表示位置を変更しても良い。
また、CPU12は、図5のS55において、印刷設定が変更されていないと判断すると(S55:NO)、印刷指示があるか否かを判断する(S57)。CPU12は、例えば、S53の表示処理を実行してから上記した印刷設定の変更を検出せずに、LCD20のプリントボタン91(図6参照)に対するタッチ操作を検出すると(S57:YES)、S59を実行する。また、CPU12は、印刷設定の変更やプリントボタン91のタッチ操作を検出するまでの間(S55:NO、S57:NO)、S55とS57の判断処理を繰り返し実行する。
S59において、CPU12は、LCD20に表示したイメージ画像75やカメラ画像81の表示を消去する。CPU12は、例えば、「印刷を開始します」などの文字を表示したポップアップ画面をLCD20に表示する。次に、CPU12は、印刷対象のプリンタ50と接続可能か判断する(S61)。CPU12は、ルータ41(図1参照)を介してプリンタ50と通信し、プリンタ50との間の通信が正常に実行できるか確認する。
CPU12は、印刷対象のプリンタ50との接続に成功すると(S61:YES)、ポスター印刷を設定したか否かを判断する(S63)。CPU12は、印刷データ33の印刷設定を設定及び変更した最終的な結果として、図4のS31でポスター印刷の分割設定をした場合、S63で肯定判断し(S63:YES)、S65を実行する。
また、CPU12は、印刷対象のプリンタ50との接続を確認できない場合(S61:NO)、通信エラーをLCD20に表示する(S69)。これにより、プリンタ50との接続を確認するなどの適切な対応をユーザに促すことができる。CPU12は、S69を実行すると、図3〜図5に示す印刷処理を終了する。尚、CPU12は、S59で消した画面を再度表示して、印刷指示を再度受け付けても良い。
また、S65において、CPU12は、分割設定の分割数に基づいて印刷データ33を分割する(S65)。CPU12は、S65を実行した後、S67を実行する。また、CPU12は、ポスター印刷が設定されていない場合(S63:NO)、S67を実行する。S67において、CPU12は、印刷設定や印刷画像を含む印刷データ33と、印刷指示を含むジョブデータを印刷対象のプリンタ50へ送信する。CPU12は、印刷設定が変更された場合は、最終的な印刷設定の印刷データ33をプリンタ50へ送信する。また、CPU12は、S65でポスター印刷に対応する印刷設定を実行した場合、分割した印刷データ33を順番にプリンタ50へ送信する(図8参照)。CPU12は、S67を実行すると図3〜図5に示す印刷処理を終了する。このようにして、ユーザは、LCD20に映し出されたイメージ画像75で実寸大のラベル71やテキストデータ73を確認しつつ、所望の大きさのイメージ画像75に変更し、意図した印刷結果を印刷することができる。
因みに、携帯端末10は、情報処理装置の一例である。CPU12は、コンピュータ、処理部の一例である。LCD20は、表示部の一例である。アプリケーション30は、プログラムの一例である。プリンタ50は、印刷装置の一例である。ラベル71は、被印刷媒体の一例である。テキストデータ73は、印刷画像の一例である。
以上、上記した実施形態によれば、以下の効果を奏する。
(1)上記実施形態の携帯端末10は、カメラ23で撮像されたカメラ画像81を表示するLCD20と、CPU12と、を備えている。CPU12は、テキストデータ73のフォントサイズ、及び、印刷対象のラベル71のラベルサイズの少なくとも一方を含む印刷設定を設定するS23、S31、S37、S43、S55の処理(設定処理の一例)と、設定された結果を反映させたイメージ画像75であって、設定された印刷設定に基づいたイメージ画像75を生成するS51の処理(生成処理の一例)と、カメラ23によって撮影されたカメラ画像81と、生成したイメージ画像75とを合成した合成画像をLCD20に表示するS53の処理(表示処理の一例)と、を実行する。
これによれば、CPU12は、フォントサイズなどの印刷画像の大きさ、及び、被印刷物であるラベル71のラベルサイズの少なくとも一方を含む印刷設定を、予め設定された設定値などに応じて設定することができる。CPU12は、設定を反映させた印刷設定でイメージ画像75を生成する。そして、CPU12は、カメラ23で撮像されたカメラ画像81とイメージ画像75を合成した合成画像をLCD20に表示する。これにより、ユーザは、印刷で利用する対象物61をカメラ23で撮像し合成画像を確認することで、設定した印刷設定の大きさで印刷を実行した場合の対象物61に対するイメージ画像75の大きさを確認できる。例えば、印刷を施したラベル71を対象物61に貼り付ける場合、対象物61に対するフォントサイズやラベルサイズを事前に確認できる。また、例えば、対象物61に直接印刷を施す場合、対象物61に対するフォントサイズを事前に確認できる。また、印刷画像として写真を用いる場合、対象物61に対する写真の画像サイズを事前に確認できる。
(2)また、CPU12は、印刷設定に基づく印刷をプリンタ50に指示するS67の処理(指示処理の一例)を実行する。これによれば、CPU12は、合成画像をユーザに確認させた後、印刷を実行することができる。ユーザは、印刷設定に設定したフォントサイズやラベルサイズが対象物61に合っているか事前に確認した上で、印刷を行なうことができる。合成画像の確認と印刷を一連の流れで実行でき、ユーザの負担を減らすことができる。
(3)また、CPU12は、LCD20に合成画像を表示した後に、印刷設定の変更を受け付け(S55)、変更後の印刷設定を反映させた合成画像を表示してから、S67の処理を実行する。これによれば、ユーザは、合成画像を一度確認し、フォントサイズやラベルサイズを所望の印刷設定に調整した上で、プリンタ50による印刷を実行させることができる。対象物61に対して所望の印刷設定に調整した上で、印刷を実行できる。
(4)また、CPU12は、LCD20に表示したイメージ画像75をピンチイン・ピンチアウトする操作、及びイメージ画像75の一部をドラッグする操作のうち少なくとも一方の操作に基づいて、印刷設定の変更を受け付けても良い。これによれば、CPU12は、LCD20にイメージ画像75を表示した状態で、ピンチイン・ピンチアウト操作等により印刷設定の変更を受け付ける。ユーザは、フォントサイズやラベルサイズの変更を簡単な操作で行なうことができる。
(5)また、CPU12は、カメラ画像81に含まれるマーカ111の位置を認識して、マーカ111の位置に基づいて、印刷設定を設定しても良い(図10参照)。これによれば、CPU12は、予め対象物61にマーカ111を設置して、そのマーカ111の位置に基づいて、フォントサイズやラベルサイズを調整できる。ユーザは、マーカ111の位置を変更することで、印刷設定の調整を簡単に行なうことができる。
(6)また、CPU12は、印刷設定に基づく印刷を実行するプリンタ50が印刷可能な範囲で、印刷設定の変更を受け付ける(S37、S43)。印刷を実行するプリンタ50が印刷できない印刷設定を受け付けても、印刷設定の通りに印刷を実行できず、ユーザの意に反した印刷結果となる。そこで、CPU12は、プリンタ50が印刷可能な範囲内でのみ、印刷設定の変更を受け付ける。これにより、意に反した印刷結果となることを未然に防止することが可能となる。
(7)また、CPU12は、ラベル71を貼り付ける対象物61、あるいは、印刷が施される対象物61までの距離に応じて、イメージ画像75の大きさを調整するS21、S51の処理(調整処理の一例)を実行する。これによれば、CPU12は、LCD20に表示するイメージ画像75の大きさを、印刷で利用する対象物61までの距離に応じて調整する。イメージ画像75を実寸大に調整するなどして、対象物61のカメラ画像81と合成して合成画像として表示できる。ユーザは、ラベル71を対象物61に貼り付けた際、あるいは、対象物61に印刷を直接施した際の最終結果をより正確に把握することが可能となる。
(8)また、CPU12は、カメラ画像81に撮像された被写体の中から、対象物61の指定を受け付ける(S17)。これによれば、CPU12は、カメラ画像81に撮像された被写体の中から、どの被写体を、貼り付けや直接印刷する対象物61とするのかを受け付ける。これにより、ユーザは、カメラ画像81を見て所望の対象物61を選択することで、その対象物61までの距離に応じたイメージ画像75を表示させて確認することができる。
また、本願の内容は、上記実施形態に限定されるものではなく、当業者の知識に基づいて種々の変更、改良を施した種々の態様で実施することが可能である。
具体的には、例えば、本願に係る表示部は、上記実施形態のLCD20に限らず、有機ELディスプレイなどの他の表示装置でも良い。
また、CPU12は、図3〜図5に示す印刷処理において、プリンタ50に対する印刷指示まで実行しなくとも良い。例えば、CPU12は、合成画像の表示、イメージ画像75の大きさの変更、印刷設定の変更までを受付け、印刷を実行せずに終了しても良い。この場合にも、ラベルサイズやフォントサイズなどをユーザに確認することができる。
また、CPU12は、印刷設定の変更を受け付けなくとも良い。例えば、CPU12は、S11で取得した印刷データ33の初期設定(初めから設定されていた印刷設定)に基づいて合成画像を表示し、表示後にフォントサイズやラベルサイズの変更等を受け付けなくとも良い。
また、CPU12は、印刷指示を受け付ける前に、S35等の警告表示を実行したが、印刷指示を受け付けてから警告表示を実行しても良い。
また、本願における印刷画像の大きさとは、テキストデータ73のフォントサイズに限らない。例えば、印刷画像の大きさは、テキストデータ73の印刷領域の大きさ、印刷する写真の大きさ、印刷する記号やマークの大きさなど、印刷対象となる様々な画像の大きさでも良い。
また、本願における被印刷媒体の大きさとは、ラベルサイズに限らず、ラベル71の厚み、用紙やOHPシートなどの他の被印刷媒体の大きさでも良い。
また、最大サイズ等に基づく警告を行なう方法は、ポップアップ画面101をLCD20に表示する方法に限らず、例えば、音声により警告する方法でも良い。
また、図3〜図5に示すフローチャートの順番、処理内容等は一例である。例えば、CPU12は、S31のポスター印刷や、S37の最大サイズの印刷を実行する場合、S33〜S47の推奨フォントサイズに基づく判断や警告を実行しなくとも良い。例えば、ポスター印刷や最大サイズの印刷の場合、大きなラベル71に印刷するため、フォントサイズが推奨フォントサイズより小さくなる可能性が低い。このため、S33〜S47の処理を省略しても良い。
また、CPU12は、プリンタ50の印刷可能な最大サイズより印刷設定のラベルサイズが大きい場合、S35で警告を実行し、S37で印刷可能な最大サイズに変更したが、S35の警告のみを実行しS37のサイズ変更を実行しなくとも良い。また、CPU12は、携帯端末10と通信可能な他のプリンタ50で、且つ印刷設定のラベルサイズで印刷可能なプリンタ50が存在した場合、ラベルサイズを変更せずに、そのプリンタ50の使用をユーザに提案しても良い。
また、CPU12は、イメージ画像75の大きさを実寸大に調整しなくとも良い。
また、本開示の処理部は、CPU12に限らない。処理部は、ASICや他の論理集積回路でも良く、CPU、ASIC、他の論理集積回路を組み合わせた構成でも良い。