以下、本発明にかかる印刷システムを具体化した実施の形態について、添付図面を参照しつつ詳細に説明する。本形態は、互いに通信可能な印刷装置と情報処理装置とを含む印刷システムに本発明を適用したものである。
本形態の印刷システム100は、図1に示すように、印刷装置1と、情報処理装置2とを有し、互いに通信可能に接続されている。印刷装置1は、印刷対象の媒体への印刷が可能な装置であり、例えば、ラベルプリンタ、ページプリンタ、コピー機、複合機である。情報処理装置2は、印刷装置1にて印刷させる画像データの生成及び処理、印刷装置1への印刷実行指示の送信等を行う装置であり、例えば、スマートフォン、パーソナルコンピュータ、タブレットコンピュータである。なお、印刷システム100を構成する印刷装置1や情報処理装置2の台数は、図1の例に限らない。
印刷装置1は、図1に示すように、コントローラ11と、画像形成部12と、操作パネル13と、ネットワークインターフェース14とを有している。コントローラ11は、CPUやメモリ等を含み、印刷装置1の各構成要素を制御する。なお、図1中のコントローラ11は、印刷装置1の制御に利用されるハードウェアを纏めた総称であって、実際に印刷装置1に存在する単一のハードウェアを表すとは限らない。
画像形成部12は、印刷対象の媒体に画像を印刷するための構成である。画像形成部12の画像形成方式は、電子写真方式であっても、インクジェット方式であってもよい。また、印刷装置1は、カラー画像を形成可能な装置であってもよいし、モノクロ印刷のみを行う装置であってもよい。操作パネル13は、例えば、タッチパネルであり、ユーザによる入力を受け付けるとともに情報の表示を行う。操作パネル13は、各種の表示ランプやボタン等を含んでもよい。ネットワークインターフェース14は、情報処理装置2と通信を行うためのハードウェアを含む。
情報処理装置2は、図1に示すように、CPU21と、ROM22と、RAM23と、不揮発性メモリ24と、操作表示部26と、ネットワークインターフェース27とを有している。ROM22には、情報処理装置2を起動するための起動プログラム等が記憶されている。RAM23は、各種処理が実行される際に作業領域として、あるいは、データを一時的に記憶する記憶領域として利用される。不揮発性メモリ24は、例えば、HDD、フラッシュメモリであり、各種のプログラムやデータを記憶する。
CPU21は、ROM22や不揮発性メモリ24から読み出したプログラムに従って、各種の処理を実行する。操作表示部26は、例えば、タッチパネルであり、ユーザによる入力を受け付けるとともに情報の表示を行う。操作表示部26は、キーボード、マウス、ディスプレイ等を備えるものであってもよい。ネットワークインターフェース27は、印刷装置1と通信を行うためのハードウェアを含む。ネットワークインターフェース27は、通信インターフェースの一例である。
本形態の印刷システム100では、情報処理装置2と印刷装置1とが、共通のアクセスポイント3を介して、Wi−Fi(登録商標)規格に準拠した無線通信を行う。すなわち、ネットワークインターフェース14および27は、ともに、Wi−Fi(登録商標)規格による無線通信を可能にするインターフェースである。より具体的には、IEEE802.11の規格及びそれに準ずる規格に基づく無線通信を可能にするインターフェースである。なお、本形態の通信態様は一例であり、前述の態様に限らない。例えば、情報処理装置2と印刷装置1とは、アクセスポイント3を介さない直接接続による無線通信にて通信してもよい。
情報処理装置2の不揮発性メモリ24には、図2に示すように、画像編集用のアプリケーションプログラム(画像編集アプリ)41と、画像データ生成プログラム42と、専用印刷制御プログラム43と、オペレーティングシステム(OS)44と、が記憶されている。さらに、情報処理装置2のOS44には、汎用印刷制御プログラム45と、通信プログラム46と、が組み込まれている。以下では、アプリケーションプログラムを「アプリ」と称する。なお、図2では、各種のデータの流れる方向を実線の矢印にて示している。
画像編集アプリ41は、例えば、ユーザの指示を受け付ける機能、画像を表示する機能、画像の編集や保存を行う機能、を有するプログラムである。画像編集アプリ41は、さらに、生成済みの画像ファイルを読み込む機能や、印刷指示を受け付ける機能、印刷時の各種設定を受け付ける機能も有する。また、画像編集アプリ41は、図2中に一点鎖線で示すように、専用印刷制御プログラム43または汎用印刷制御プログラム45を介して、印刷装置1から装置の状態情報を取得する機能も有する。装置の状態情報としては、例えば、印刷完了通知、エラー通知がある。
画像データ生成プログラム42は、印刷用の画像ファイルを生成する機能を有するプログラムである。本形態の情報処理装置2では、画像データ生成プログラム42は、例えば、画像編集アプリ41にて受け付けた編集の指示に基づいて、ラベル画像ファイルを生成する。ラベル画像ファイルは、テープ状のラベル媒体に印刷するためのデータファイルである。画像編集アプリ41にてラベル画像ファイルを生成する処理の手順は、詳細には、画像編集アプリ41から画像データ生成プログラム42に生成の指示が出力され、画像データ生成プログラム42にて生成されたラベル画像ファイルを画像編集アプリ41が取得する手順を含む。
専用印刷制御プログラム43は、例えば、ラベル画像ファイルに含まれる画像データをラスタライズしてラスタライズデータを生成する機能、生成したラスタライズデータを通信プログラム46を制御して印刷装置1に送信する機能、を有するプログラムである。専用印刷制御プログラム43は、特定のモデルの印刷装置に対応する専用のプログラムであり、他のメーカの機種など特定のモデル以外の印刷装置には対応しない。本形態の専用印刷制御プログラム43は、例えば、印刷装置1を制御するための専用のプログラムであり、印刷装置1にて実行可能な全ての詳細な印刷設定に対応可能であって、印刷装置1にて対応可能な形式のラスタライズデータを生成する。専用印刷制御プログラム43は、特定プログラムの一例である。
汎用印刷制御プログラム45は、所定の印刷規格に基づく印刷用の規格データを生成する機能、生成した規格データを通信プログラム46を制御して印刷装置1に送信する機能、を有するプログラムである。汎用印刷制御プログラム45は、印刷制御機能を実現するために、OS44によって提供される標準のプログラムである。汎用印刷制御プログラム45によって送信される規格データは、例えば、汎用のラスタライズ処理を備える印刷装置1にて処理が可能な、所定の規格に則ったデータであり、ラスタライズされていないデータである。
また、汎用印刷制御プログラム45は、所定の印刷規格をサポートする種々の印刷装置に対応する汎用のプログラムである。そのため、汎用印刷制御プログラム45に対応する機能を備えた印刷装置であれば、どのメーカの印刷装置であっても、規格データに基づく印刷を実行できる。汎用印刷制御プログラム45は、複数の機種に対応する汎用のプログラムであることから、受け付け可能な印刷設定が一般的なものに限られる。そのため、汎用印刷制御プログラム45は、印刷装置1にて実行可能な全ての印刷設定を受け付けるとは限らない。汎用印刷制御プログラム45を利用した印刷のシステムとしては、例えば、AirPrint、Mopria(いずれも登録商標)がある。
なお、前述したラベル画像ファイルは、専用印刷制御プログラム43における処理に適するファイルである。画像編集アプリ41は、印刷対象の画像データを専用印刷制御プログラム43に渡す場合には、印刷装置1及び専用印刷制御プログラム43に適したラベル画像ファイルを用いる。画像編集アプリ41は、印刷対象の画像データを汎用印刷制御プログラム45に渡す場合には、汎用印刷制御プログラム45に適したラベル画像ファイルを用いる。
通信プログラム46は、ネットワークインターフェース27を制御して、通信相手の装置との通信を行う機能を有するプログラムである。例えば、専用印刷制御プログラム43は、生成したラスタライズデータをOS44に渡す。情報処理装置2のOS44は、通信プログラム46により当該ラスタライズデータを、ネットワークインターフェース27を介して印刷装置1に送信する。通信プログラム46も、OS44によって提供される標準のプログラムである。通信プログラム46の一部は、ROM22に記憶されていてもよい。
本形態の印刷システム100は、印刷装置1に印刷を行わせるための、印刷を指示するデータを処理する処理の経路として、図3に示すように、2種類の経路を有する。2種類の経路とは、情報処理装置2がラスタライズ処理を行う第1経路と、印刷装置1がラスタライズ処理を行う第2経路と、である。第1経路は、第1の経路及び第1の印刷手順の一例であり、第2経路は、第2の経路及び第2の印刷手順の一例である。
第1経路を用いて印刷装置1に印刷を行わせる場合、図3に示すように、情報処理装置2は、ラスタライズ処理を実行して、ラベル画像ファイルに含まれる画像データをラスタライズし、ラスタライズ後のラスタライズデータを印刷装置1に送信する。印刷装置1は、ラスタライズデータを受信して、受信したラスタライズデータに基づいて印刷する。第1経路では、情報処理装置2は、印刷対象の画像データを図2に示した専用印刷制御プログラム43を用いてラスタライズする。専用印刷制御プログラム43によるラスタライズ処理は、第1のラスタライズ処理の一例であり、第1経路にて情報処理装置2から印刷装置1へ送信されるラスタライズデータは、第1データの一例である。
第1経路は、専用印刷制御プログラム43を使用することから、印刷装置1にて対応可能な各種の印刷設定に対応している。専用印刷制御プログラム43は、OS44には含まれないので、第1経路による印刷を行う場合、情報処理装置2は、OS44に含まれる印刷制御機能(例えば、汎用印刷制御プログラム45)を使用しない。
第2経路を用いて印刷装置1に印刷を行わせる場合、図3に示すように、情報処理装置2は、規格化処理においてラベル画像ファイルに含まれる画像データの規格化を行い、規格データを印刷装置1に送信する。印刷装置1は、規格データのラスタライズを行う汎用ラスタライズ処理を行い、汎用ラスタライズ処理にてラスタライズされたデータに基づいて印刷する。第2経路では、情報処理装置2は、印刷対象の画像データを図2に示した汎用印刷制御プログラム45にて規格化する。印刷装置1による汎用ラスタライズ処理は、第2のラスタライズ処理の一例であり、印刷装置1にてラスタライズされたデータは、第2データの一例である。
第2経路は、OS44に含まれる印刷制御機能である汎用印刷制御プログラム45を使用することから、印刷装置1にて対応可能な全ての印刷設定に対応できるとは限らない。例えば、汎用印刷制御プログラム45は、特定の機種のみが対応可能な高解像度の印刷設定に対応していない。そのため、第2経路を用いた印刷では、多くの機種にて対応可能な印刷設定が用いられる。
このように、第1経路と第2経路とでは、印刷対象の画像データのラスタライズを行う処理主体が異なる。すなわち、第1経路は、情報処理装置2にラスタライズを行わせる経路であり、第2経路は、印刷装置1にラスタライズを行わせる経路である。また、第1経路と第2経路とでは、ラスタライズ処理のアルゴリズムが異なり、処理結果も異なる可能性がある。すなわち、第1経路は、詳細な印刷設定にも対応できるラスタライズを行う経路であり、第2経路は、いくつかの印刷設定が制限されるラスタライズを行う経路である。また、第1経路と第2経路とでは、情報処理装置2から印刷装置1へと送信されるデータの種類やデータフォーマットも異なる。この結果、同じラベル画像ファイルに基づく印刷物であっても、第1経路による印刷物と、第2経路による印刷物とでは、印刷結果が異なる可能性がある。
本形態の印刷装置1は、第1経路と第2経路とのいずれによって送信されるデータにも対応可能である。また、情報処理装置2は、第1経路でも第2経路でも、ネットワークインターフェース27による無線通信を利用してデータを送信する。つまり、第1経路でも第2経路でも、通信態様は同じである。
続いて、本形態の印刷システム100におけるインストールに関する動作について説明する。第2経路にて用いられる汎用印刷制御プログラム45は、OS44によって提供される。つまり、汎用印刷制御プログラム45を含むOS44を使用する情報処理装置2であれば、インストール動作を行うことなく汎用印刷制御プログラム45を使用できる。
一方、画像編集アプリ41や専用印刷制御プログラム43は、OS44に含まれる標準のプログラムではない。そのため、画像編集アプリ41や専用印刷制御プログラム43を使用するためには、これらのプログラムを記憶する外部サーバやCD−ROM等からインストールする必要がある。そして、プログラムのインストールには、ある程度の手間と時間が掛かり、さらに、費用が必要となる場合もある。
本形態の情報処理装置2は、ユーザごとに、そのユーザによる情報処理装置2の使用状況に基づいて、推奨される処理の経路である推奨経路を決定する。情報処理装置2は、例えば、情報処理装置2をほとんど使用しないユーザや、印刷の高度な設定を行わないと推測されるユーザに対しては、第1経路を用いた印刷の必要性が低いことが想定されることから、推奨経路を第2経路に決定する。第2経路による印刷では、プログラムのインストールは不要であり、簡単な操作で即座に印刷が可能となる。
一方、例えば、情報処理装置2の使用頻度が高く、情報処理装置2や印刷装置1の使用に熟練していると推測されるユーザは、印刷の高度な設定を使いこなすことができる可能性が高い。また、例えば、専用印刷制御プログラム43の機能を使用できるアプリが組み込まれている場合には、第1経路での印刷の必要性が高い。本形態の情報処理装置2は、例えば、熟練度が高いと推測されるユーザや、高度な印刷設定を用いる可能性があると推測されるユーザに対しては、推奨経路を第1経路に決定する。第1経路による印刷では、専用印刷制御プログラム43のインストールが必要であるものの、第2経路よりも多くの詳細な印刷設定が可能であることから、スキルが高いユーザの希望に合う印刷物が得られる可能性が高まる。
なお、情報処理装置2は、複数のユーザで共有される場合もある。複数のユーザに共同で使用される情報処理装置2では、例えば、ユーザごとに専用の記憶領域が割り当てられ、その専用の記憶領域に、当該ユーザにてインストールされたアプリや印刷実行時に指示された印刷設定等の情報が記憶される。以下では、ユーザに専用の記憶領域を、ユーザ領域とする。一方、情報処理装置2には、情報処理装置2を使用する全てのユーザが使用できる共有の記憶領域も設けられている。以下では、全てのユーザに共有の記憶領域を、共有領域とする。
本形態の情報処理装置2は、複数のユーザで共有される場合の処理の経路の決定に際して、その時点で情報処理装置2を使用しているユーザである現在使用中のユーザの情報や、現在使用中のユーザのユーザ領域に記憶されているアプリや印刷設定の情報を参照する。例えば、ユーザ領域に専用印刷制御プログラム43の機能を使用できるアプリがインストールされている場合や、第1経路でのみ提供される高度な印刷設定が記憶されている場合には、そのユーザの推奨経路を第1経路とする。これにより、複数のユーザで共有される情報処理装置2であっても、現在使用中のユーザに適切な処理の経路が決定される。
さらに、本形態の情報処理装置2は、推奨経路を第1経路に決定した場合であって、専用印刷制御プログラム43がインストールされていない場合には、専用印刷制御プログラム43のインストールを行う。これにより、処理の経路が第1経路に決定された場合、専用印刷制御プログラム43を使用できるようになることから、第1経路を用いての印刷が可能になる。情報処理装置2は、専用印刷制御プログラム43のインストールを自動的に行ってもよいし、ユーザの許諾を得てから行ってもよい。
続いて、本形態の印刷システム100において前述したインストール動作を含み、処理の経路を決定する動作を実現するために、情報処理装置2にて実行される印刷経路決定処理の手順について、図4のフローチャートを参照して説明する。この印刷経路決定処理は、例えば、画像編集アプリ41の起動、画像編集アプリ41のユーザ切り替え、情報処理装置2へのログイン操作の受け付けを契機に、情報処理装置2のCPU21にて実行される。
なお、以下では、まず、複数のユーザにて共有される情報処理装置2の処理について説明する。複数のユーザにて共有される情報処理装置2では、情報処理装置2を使用するユーザは、まず、ログイン操作を行う。情報処理装置2は、最後にログイン操作を行ったユーザを現在使用中のユーザとし、そのユーザのユーザ領域を使用させるとともに、他のユーザのユーザ領域を使用させない。
印刷経路決定処理では、CPU21は、まず、現在使用中のユーザについて、ユーザごとに推奨される処理の経路を決定する推奨経路決定処理を実行する(S101)。推奨経路決定処理の手順について、図5のフローチャートを参照して説明する。
推奨経路決定処理では、CPU21は、まず、現在使用中のユーザのユーザ情報を取得する(S201)。CPU21は、例えば、OS44からログイン情報を取得し、そのログイン情報に基づいて、ユーザ名またはユーザIDを取得し、現在使用中のユーザのユーザ領域を特定する。
そして、CPU21は、現在使用中のユーザのユーザ領域にインストールされているアプリの情報を取得する(S202)。S202は、取得処理の一例である。情報処理装置2は、例えば、図6に示すように、ユーザ領域にインストールされているアプリの情報を含むアプリリスト241を、ユーザ名に対応付けて、不揮発性メモリ24に記憶している。アプリリスト241には、例えば、アプリの名称、当該アプリの発行元の情報、インストールを行った日時、アプリのバージョン情報が含まれる。
そして、CPU21は、アプリリスト241に基づいて、ユーザ領域に特定のアプリがインストールされているか否かを判断する(S203)。特定のアプリは、例えば、専用印刷制御プログラム43と連動する機能を有するアプリである。特定のアプリは、連動プログラムの一例である。
画像編集アプリ41は、例えば、図7に示すように、自身と同様に専用印刷制御プログラム43と連動する機能を有するアプリの情報を含む、連動アプリリスト411を備えている。連動アプリリスト411には、例えば、アプリの名称と、アプリのバージョン情報とが含まれる。つまり、連動アプリリスト411に記憶されている各アプリは、バージョン情報に記憶されているバージョン以上であれば、専用印刷制御プログラム43と連動する機能を有している。CPU21は、連動アプリリスト411に含まれるアプリがアプリリスト241に含まれている場合に、S203にてYESと判断する。
ユーザ領域に特定のアプリがインストールされていると判断した場合(S203:YES)、CPU21は、推奨経路を第1経路に決定して(S204)、推奨経路決定処理を終了する。S204は、決定処理の一例である。専用印刷制御プログラム43と連動する機能を有するアプリがユーザ領域に有るユーザは、高度な設定での印刷を行う可能性が高い。また、アプリをユーザ領域にインストールするユーザは、情報処理装置2の使用の熟練度も高いと推測できる。CPU21は、現在使用中のユーザのユーザ領域に特定のアプリがインストールされている場合、推奨経路を第1経路に決定する。
一方、ユーザ領域に特定のアプリがインストールされていないと判断した場合(S203:NO)、CPU21は、共有領域にインストールされているアプリの情報を取得する(S205)。S205は、取得処理の一例である。共有領域にインストールされているアプリは、全てのユーザが使用できるアプリである。情報処理装置2は、例えば、図8に示すように、共有領域にインストールされているアプリの情報を含むアプリリスト242を、不揮発性メモリ24に記憶している。
アプリリスト242には、例えば、図8に示すように、アプリの名称、当該アプリの発行元の情報、インストールを行った日時、アプリのバージョン情報、当該アプリを使用したことのあるユーザの情報が含まれる。情報処理装置2は、例えば、アプリリスト242に含まれるアプリが起動された際、ログイン中のユーザの情報を使用ユーザ情報としてアプリリスト242に追加して記憶する。
そして、CPU21は、アプリリスト242に基づいて、共有領域に特定のアプリがインストールされているか否かを判断する(S206)。特定のアプリは、例えば、専用印刷制御プログラム43と連動する機能を有するアプリである。CPU21は、S203と同様に、連動アプリリスト411を使用して、連動アプリリスト411に含まれるアプリがアプリリスト242に含まれている場合に、S206にてYESと判断する。
共有領域に専用印刷制御プログラム43と連動する特定のアプリがインストールされていると判断した場合(S206:YES)、CPU21は、現在使用中のユーザが、この特定のアプリを使用したことがあるか否かを判断する(S207)。CPU21は、例えば、アプリリスト242に基づいて、特定のアプリと判断したアプリに関連付けられている使用ユーザ情報に、現在使用中のユーザを示す情報が含まれている場合に、S207にてYESと判断する。
そして、現在使用中のユーザが特定のアプリを使用したことがあると判断した場合(S207:YES)、CPU21は、推奨経路を第1経路に決定して(S204)、推奨経路決定処理を終了する。専用印刷制御プログラム43と連動する特定のアプリを使用しているユーザは、高度な設定での印刷を行う可能性が高い。
共有領域に特定のアプリがインストールされていないと判断した場合(S206:NO)、または、特定のアプリがインストールされているものの、現在使用中のユーザはその特定のアプリを使用したことがないと判断した場合(S207:NO)、CPU21は、各ユーザによる情報処理装置2の使用頻度の情報を取得する(S208)。S208は、取得処理の一例である。
情報処理装置2は、例えば、図9に示すように、情報処理装置2へのログインに関する情報を含む使用リスト243を、不揮発性メモリ24に記憶している。使用リスト243には、例えば、ログインしたユーザのユーザ名、ログインした日時、ログアウトした日時、ログイン中に印刷を行った場合には直近に使用したプリンタのプリンタ名、印刷に際して設定された印刷設定の情報が含まれる。なお、図9には1回分のログインについてのみ示しているが、情報処理装置2は、所定の期間内について、ログイン操作およびログアウト操作を受け付ける度に、ログイン日時とログアウト日時とを追加して使用リスト243に保存する。
そして、CPU21は、現在使用中のユーザの使用頻度と、他のユーザの使用頻度とを比較し、現在使用中のユーザの使用頻度が基準値よりも高いか否かを判断する(S209)。例えば、CPU21は、使用リスト243に基づいて、ログイン時間の長さ、所定期間当たりのログイン回数、によってユーザごとの使用頻度の情報を求める。
基準値は、例えば、全ユーザの使用頻度の平均値、全ユーザの使用頻度の中央値である。CPU21は、例えば、現在使用中のユーザの使用頻度が、全ユーザの使用頻度の平均値よりも高い場合に、S209にてYESと判断する。または、CPU21は、例えば、現在使用中のユーザの使用頻度の順位が、全ユーザの中央の順位よりも高い場合に、S209にてYESと判断する。情報処理装置2の使用頻度が高い場合には、そのユーザの熟練度が高いと推測できる。現在使用中のユーザの使用頻度が高いと判断した場合(S209:YES)、CPU21は、推奨経路を第1経路に決定して(S204)、推奨経路決定処理を終了する。
現在使用中のユーザの使用頻度が高くないと判断した場合(S209:NO)、CPU21は、現在使用中のユーザによるアプリの取得履歴を取得する(S210)。S210は、取得処理の一例である。CPU21は、例えば、アプリリスト241に基づいて、ユーザ領域にインストールされたアプリの情報を取得する。また、CPU21は、例えば、アプリを取得可能な各種サイトの取得履歴などを参照して、現在使用中のユーザによって取得されたアプリのリストを取得してもよい。なお、アプリの取得履歴には、現在使用中のユーザが取得したアプリであれば、ユーザ領域へインストールされたアプリだけでなく、共有領域へインストールされたアプリも含んでもよい。
そして、CPU21は、現在使用中のユーザによって取得されたアプリの中に、有料のアプリや課金機能を有するアプリが含まれているか否かを判断する(S211)。有料のアプリは、有料プログラムの一例である。有料のアプリや課金機能を有するアプリが含まれていると判断した場合(S211:YES)、CPU21は、推奨経路を第1経路に決定して(S204)、推奨経路決定処理を終了する。
有料のアプリや課金機能を有するアプリを取得したユーザは、情報処理装置2の使用権限が高く、熟練度も高いと推測できる。なお、課金機能を有するアプリが含まれるか否かの判断に代えて、課金機能に対する課金を行ったことがあるか否かに基づいてS211の判断を行ってもよい。有料のアプリの購入や、課金機能への課金は、有料機能を使用した一例である。
有料のアプリや課金機能を有するアプリが含まれていないと判断した場合(S211:NO)、CPU21は、現在使用中のユーザによる印刷履歴を取得する(S212)。CPU21は、例えば、使用リスト243に基づいて、現在使用中のユーザによる印刷履歴を取得する。そして、CPU21は、印刷履歴の中に、高度な印刷設定を使用した印刷が含まれているか否かを判断する(S213)。高度な印刷設定とは、第1経路での印刷であれば対応可能であるが、第2経路での印刷では対応不可能な印刷設定である。高度な印刷設定としては、例えば、輝度やコントラスト等の色調設定、高解像度等の画質設定、印刷開始タイミングの設定がある。
なお、共有領域にインストールされたアプリであっても、ユーザごとに専用の設定を保存できるアプリの場合、専用の設定は、各ユーザのユーザ領域に保存されることがある。この場合、CPU21は、ユーザ領域に記憶されている専用の設定の内容に高度な印刷設定が含まれているか否かに基づいて、S213の判断を行ってもよい。
高度な印刷設定を使用した印刷が含まれていると判断した場合(S213:YES)、CPU21は、推奨経路を第1経路に決定して(S204)、推奨経路決定処理を終了する。高度な印刷設定を使用したユーザは、情報処理装置2や印刷装置1の使用に慣れており、熟練度も高いと推測できる。
高度な印刷設定を使用した印刷が含まれていないと判断した場合(S213:NO)、CPU21は、推奨経路を第2経路に決定して(S214)、推奨経路決定処理を終了する。S214は、決定処理の一例である。なお、CPU21は、現在使用中のユーザによる印刷の指示を受け付けたことがない場合には、S213にてNOと判断する。印刷に関わるアプリの使用や取得の履歴がなく、情報処理装置2の使用頻度が低いユーザは、情報処理装置2の使用に熟練している可能性は低い。このようなユーザは、高度な印刷設定を必要とする可能性が低く、インストール作業を煩わしく感じる可能性が高い。
図4の印刷経路決定処理の説明に戻り、CPU21は、S101の推奨経路決定処理にて決定した推奨経路が第1経路であるか否かを判断する(S102)。推奨経路が第1経路であると判断した場合(S102:YES)、CPU21は、専用印刷制御プログラム43がインストールされているか否かを判断する(S103)。
専用印刷制御プログラム43がインストールされていると判断した場合(S103:YES)、CPU21は、使用する処理の経路を推奨経路である第1経路に決定して(S104)、印刷経路決定処理を終了する。CPU21は、ユーザ領域に専用印刷制御プログラム43が有る場合も、共有領域に専用印刷制御プログラム43が有る場合も、S103にてYESと判断する。専用印刷制御プログラム43がインストールされていれば、情報処理装置2は、第1経路を用いての印刷を実行できる。そこで、情報処理装置2は、画像編集アプリ41にて現在使用中のユーザによる印刷の指示を受け付けた場合、第1の経路を用いて印刷を実行する。
一方、専用印刷制御プログラム43がインストールされていないと判断した場合(S103:NO)、CPU21は、現在使用中のユーザに、アプリをインストールするインストール権限があるか否かを判断する(S105)。インストール権限はOS44によって管理される情報であり、例えば、ユーザごとの登録情報として、不揮発性メモリ24に記憶されている。
インストール権限があると判断した場合(S105:YES)、CPU21は、操作表示部26を制御して、専用印刷制御プログラム43をインストールする許諾を求める旨のメッセージを表示させる(S106)。専用印刷制御プログラム43のインストールを望まないユーザも考えられるため、CPU21は、インストール前にインストールの実行可否をユーザに問い合わせる。
そして、CPU21は、専用印刷制御プログラム43のインストールを許諾する回答を受け付けたか否かを判断する(S107)。インストールを許諾する回答を得たと判断した場合(S107:YES)、CPU21は、例えば、ネットワークインターフェース27を介して、専用印刷制御プログラム43をダウンロードし、ユーザ領域または共有領域にインストールする(S108)。S108は、インストール処理の一例である。なお、S106の表示にてインストールする領域の指定も受け付けてもよいし、インストール時にインストールする領域の指定を受け付けてもよい。また、例えば、外部サーバからインストールする場合、その外部サーバへのサインイン操作を要求してもよい。
専用印刷制御プログラム43のインストールが完了したら、CPU21は、使用する処理の経路を推奨経路である第1経路に決定して(S104)、印刷経路決定処理を終了する。専用印刷制御プログラム43をインストールしたので、現在使用中のユーザは、第1経路での印刷を実行できる。
一方、現在使用中のユーザに、アプリをインストールするインストール権限が無いと判断した場合(S105:NO)、または、インストールを許諾しない回答を得たと判断した場合(S107:NO)、CPU21は、印刷に使用する処理の経路を第2経路に決定して(S109)、印刷経路決定処理を終了する。専用印刷制御プログラム43をインストールしない場合、情報処理装置2は、第1経路での印刷を実行できないため、処理の経路を、推奨経路である第1経路ではなく、第2経路とする。S106にてメッセージを表示してから、所定の時間が経過しても回答を得られない場合も、S107にてNOと判断してもよい。
また、推奨経路決定処理にて決定した推奨経路が、第2経路であると判断した場合(S102:NO)、CPU21は、使用する処理の経路を推奨経路である第2経路に決定して(S104)、印刷経路決定処理を終了する。例えば、情報処理装置2の使用に熟練していないと推測されるユーザであって、第1経路が推奨されないユーザであれば、処理の経路を第2経路とすることが好ましい。
なお、一人のユーザのみが使用する情報処理装置2の場合には、ユーザの区別は不要である。その場合、CPU21は、ユーザ領域と共有領域との区別を行わないことから、推奨経路決定処理のS203とS206とは同じ処理となる。また、S203とS206とは、いずれか一方のみでよい。また、S207の判断は無くてもよい。また、推奨経路決定処理のS209における使用頻度の判断では、他のユーザとの比較ではなく、所定の閾値との比較による判断を行うとよい。また、印刷経路決定処理のS105におけるインストール権限の判断も無くてもよい。
情報処理装置2は、印刷経路決定処理にて現在使用中のユーザの処理の経路を決定した後、例えば、画像編集アプリ41にて印刷実行の指示を受け付ける。画像編集アプリ41は、印刷の指示を受け付けた際、決定している処理の経路を用いて、印刷対象の画像データの処理を行う。画像編集アプリ41は、例えば、処理の経路に応じて、設定可能な項目の異なる印刷設定画面を表示して、印刷設定を受け付ける。また、処理の経路によって、印刷装置1に印刷を指示するデータが異なるので、情報処理装置2は、決定している処理の経路に対応するデータを生成して印刷装置1へ送信する。
以上、詳細に説明したように、本形態の情報処理装置2は、現在使用中のユーザの使用頻度の情報と、情報処理装置2にインストールされているアプリの情報と、の少なくとも一方に基づいて、推奨経路を決定し、経路に応じて専用印刷制御プログラム43をインストールする。使用頻度の情報やアプリの情報から、現在使用中のユーザの情報処理装置2に対する熟練度を推測できるので、情報処理装置2は、推測した熟練度に基づいて、推奨する経路を振り分ける。すなわち、熟練度が高いユーザと推測された場合には、専用印刷制御プログラム43を用いて詳細な印刷設定が可能な第1経路を推奨し、さらに専用印刷制御プログラム43がインストールされていない場合には専用印刷制御プログラム43のインストールを行う。一方、熟練度が低いユーザと推測された場合には、第1経路を推奨せず、専用印刷制御プログラム43のインストールも行わない。これにより、ユーザの熟練度に応じて適切な印刷が可能になる。
なお、本実施の形態は単なる例示にすぎず、本発明を何ら限定するものではない。したがって本発明は当然に、その要旨を逸脱しない範囲内で種々の改良、変形が可能である。例えば、印刷装置1は、操作パネル13を備えなくてもよい。情報処理装置2は、不揮発性メモリ24に限らず、どのような種類の大容量記憶装置を備えていてもよい。
また、印刷装置1と情報処理装置2との通信方式は、Wi−Fi(登録商標)規格に準拠した無線通信に限らない。例えば、LANケーブルやUSBケーブルを用いた有線通信であってもよいし、Bluetooth(登録商標)等の他の規格に基づく無線通信であってもよい。また、複数の通信機能を備えていてもよい。
また、印刷対象の画像ファイルは、ラベルに印刷するためのラベル画像ファイルに限らない。例えば、PDFファイル、JPEG等の圧縮ファイル、ビットマップファイルでもよい。ラベル画像ファイル以外の画像ファイルを対象とする場合、画像編集アプリ41や専用印刷制御プログラム43として、対象の画像ファイルに適合するものを使用すればよい。
また、本形態では、第2経路では印刷装置1にてラスタライズするとしたが、第1経路と異なる経路であればよく、情報処理装置2にてラスタライズする経路であってもよい。例えば、汎用印刷制御プログラム45がラスタライズ機能を有していれば、そのラスタライズ機能によってラスタライズしてもよい。この場合であっても、第1経路と第2経路とではラスタライズ処理のアルゴリズムが異なる。また、この場合であっても、第1経路は、OS44の印刷制御機能を用いない経路であり、第2経路は、OS44の印刷制御機能を用いる経路である。
また、本形態では、印刷システム100にて対応可能な経路として第1経路と第2経路の2種類が有るものとして説明しているが、さらに他の経路があってもよい。他の経路としては、例えば、デバイスに専用のドライバを用いて印刷する経路や、Unix、macOS、Linux(登録商標)の印刷ドライバであるCUPSを用いて印刷する経路がある。デバイス専用のドライバやCUPSは、インストールが必要なプログラムであって、情報処理装置2のOS44(図2参照)に組み込まれ、画像データのラスタライズを行うプログラムである。本発明は、第1経路と第2経路との組に代えて、デバイス専用のドライバやCUPSと第2経路との組を有する印刷システムにも適用可能である。
また、本形態では、印刷経路決定処理にてS203、S206、S207、S209、S211、S213の各判断をこの順に行って推奨経路を決定するとしているが、これに限らない。例えば、これら全ての判断を行う必要はない。また、判断の順序も本形態の例に限らず、どの順としてもよい。例えば、いずれか1つの判断だけで決定してもよいし、これらのうちのいくつかの判断によって決定してもよい。例えば、S209の判断のみを行い、使用頻度の高いユーザであれば、推奨経路を第1経路とするとしてもよい。つまり、使用頻度に基づく判断のみでもよいし、アプリの情報に基づく判断のみでもよい。また、さらに他の判断を加えてもよい。
また、本形態では、共有領域に専用印刷制御プログラム43がインストールされている場合、現在使用中のユーザが使用したことがあるか否かに基づいて推奨経路を決定するとしたが、使用の判断は行わなくてもよい。共有領域に専用印刷制御プログラム43がインストールされていれば、どのユーザも専用印刷制御プログラム43を使用した印刷を実行可能であることから、全てのユーザの推奨経路を第1経路としてもよい。
また、本形態では、ユーザごとの使用頻度の高低を、他のユーザの使用頻度と比較して決定するとしたが、例えば、固定値との比較としてもよい。例えば、単位期間当たりのログイン回数やログイン時間の閾値を設定しておき、現在使用中のユーザの使用頻度と閾値との比較に基づいて、判断してもよい。また、本形態では、使用頻度の高低を、ログイン情報に基づいて決定するとしたが、ログイン情報ではなく、印刷実行の頻度に基づいて決定してもよい。
また、本形態では、使用リスト243に直近で使用したプリンタ名の情報を含むとしたが、直近のみでなくてもよい。例えば、プリンタを使用する度に、使用履歴を残すとしてもよい。
また、情報処理装置2は、アプリの有料情報や課金情報を備えていてもよい。例えば、図10に示すように、ユーザごとにインストールしたアプリの情報を保存するテーブル25を設けてもよい。情報処理装置2は、例えば、ユーザ領域にテーブル25を作成し、アプリ名、アプリのインストール時の価格、機能ごとの課金金額、の各情報を記憶してもよい。図10の例では、アプリAは、インストール価格は無料であり、課金もない。また、アプリBは、インストール価格は無料であるが、機能Xまたは機能Yを使用するためには課金が必要である。また、アプリCは、インストール価格が有料であり、課金はない。情報処理装置2は、推奨経路決定処理のS210にてテーブル25から情報を取得し、インストール価格が有料のアプリCや課金機能を含むアプリBがテーブル25に含まれている場合に、S211にてYESと判断する。このようにすれば、各ユーザがインストールしたアプリの情報をまとめて取得できる。
また、本形態では、画像編集アプリ41は画像を編集する機能を有しているとしたが、これに限られない。例えば、画像の編集は他の汎用のアプリにて行い、画像編集アプリ41は、その汎用のアプリで作成されたファイルを印刷する機能を有するものであってもよい。
また、実施の形態に開示されている処理は、単一のCPU、複数のCPU、ASICなどのハードウェア、またはそれらの組み合わせで実行されてもよい。また、実施の形態に開示されている処理は、その処理を実行するためのプログラムを記録した記録媒体、または方法等の種々の態様で実現することができる。