(57)【要約】      （修正有）【課題】モバイル機器などの端末装置からの印刷時にプリンタドライバの機能をより有効に利用可能とする情報処理システム、情報処理装置およびプログラムを提供する。【解決手段】情報処理システムは、プリンタドライバ１３０で設定可能な１以上の設定項目をプリンタドライバから取得する取得部１２１と、取得された設定項目に対する設定を行う設定画面を端末装置に表示するための第１表示情報を生成する生成部１２２と、第１表示情報を端末装置に送信する送信部１２３と、を備える。【選択図】図２
2016177781.tif 000002
【特許請求の範囲】
【請求項１】
プリンタドライバで設定可能な１以上の設定項目を前記プリンタドライバから取得する取得部と、
取得された前記設定項目に対する設定を行う設定画面を端末装置に表示するための第１表示情報を生成する生成部と、
前記第１表示情報を前記端末装置に送信する送信部と、
を備える情報処理システム。
【請求項２】
前記取得部は、さらに、前記設定項目に対して設定可能な設定値を取得し、
前記生成部は、取得された前記設定値を設定可能な前記設定画面を前記端末装置に表示するための前記第１表示情報を生成する、
請求項１に記載の情報処理システム。
【請求項３】
前記取得部は、１以上のプリンタドライバのうち指定されたプリンタドライバから、前記設定項目を取得する、
請求項１に記載の情報処理システム。
【請求項４】
前記取得部は、１以上のプリンタドライバのうち、指定された識別情報で識別されるプリンタに対応するプリンタドライバから、前記設定項目を取得する、
請求項３に記載の情報処理システム。
【請求項５】
前記生成部は、さらに、記憶部に記憶された１以上のデータのいずれかを選択する選択画面を前記端末装置に表示するための第２表示情報を生成し、
前記送信部は、さらに、前記第２表示情報を前記端末装置に送信する、
請求項１に記載の情報処理システム。
【請求項６】
前記生成部は、前記記憶部に記憶されたデータのうち、指定された条件に適合する１以上のデータのいずれかを選択する選択画面を前記端末装置に表示するための第２表示情報を生成する、
請求項５に記載の情報処理システム。
【請求項７】
前記生成部は、さらに、印刷が実行できない場合に、印刷が実行できないことを示すエラー情報を生成し、
前記送信部は、さらに、前記エラー情報を前記端末装置に送信する、
請求項１に記載の情報処理システム。
【請求項８】
前記設定画面で設定された前記設定項目に従った印刷を前記プリンタドライバに指示する指示部をさらに備える、
請求項１に記載の情報処理システム。
【請求項９】
プリンタドライバで設定可能な１以上の設定項目を前記プリンタドライバから取得する取得部と、
取得された前記設定項目に対する設定を行う設定画面を端末装置に表示するための第１表示情報を生成する生成部と、
前記第１表示情報を前記端末装置に送信する送信部と、
を備える情報処理装置。
【請求項１０】
コンピュータを、
プリンタドライバで設定可能な１以上の設定項目を前記プリンタドライバから取得する取得部と、
取得された前記設定項目に対する設定を行う設定画面を端末装置に表示するための第１表示情報を生成する生成部と、
前記第１表示情報を前記端末装置に送信する送信部、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、情報処理装置およびプログラムに関する。
【背景技術】
【０００２】
モバイル機器などの端末装置上で印刷文書をプリンタが解釈可能なデータ形式に変換してプリンタに送信する技術、クラウドプリンタサーバのネットワークサービス上に印刷文書を送信し、サービス上でプリンタが解釈可能なデータ形式に変換しプリンタに送信する技術、および、モバイル機器からＰＣ（パーソナルコンピュータ）などの情報処理装置に導入されたプリンタドライバを利用して印刷する技術が知られている。
【０００３】
特許文献１は、ＯＳ（オペレーティングシステム）のフォントの違いなどによる表示上のレイアウトを崩れさせないために、モバイル機器からＰＣのエージェント経由でプリンタドライバを用いて印刷する技術を提案している。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の技術では、モバイル機器のユーザが使用するＰＣで導入されているプリンタドライバの機能を把握することができず、プリンタドライバが備えている機能をモバイル機器から利用できない場合があった。また、当該ＰＣでユーザが利用している印刷の設定をモバイル機器で使用できない場合があった。
【０００５】
本発明は、上記に鑑みてなされたものであって、モバイル機器などの端末装置からの印刷時にプリンタドライバの機能をより有効に利用可能とすることを目的とする。
【課題を解決するための手段】
【０００６】
上述した課題を解決し、目的を達成するために、本発明は、プリンタドライバで設定可能な１以上の設定項目を前記プリンタドライバから取得する取得部と、取得された前記設定項目に対する設定を行う設定画面を端末装置に表示するための第１表示情報を生成する生成部と、前記第１表示情報を前記端末装置に送信する送信部と、を備える。
【発明の効果】
【０００７】
本発明によれば、モバイル機器などの端末装置からの印刷時にプリンタドライバの機能をより有効に利用可能になるという効果を奏する。
【図面の簡単な説明】
【０００８】
【図１】図１は、第１の実施形態にかかる情報処理システムの構成例を示すブロック図である。
【図２】図２は、第１の実施形態のＰＣおよびモバイル機器の機能構成例を示すブロック図である。
【図３】図３は、設定項目および設定値の一例を示す図である。
【図４】図４は、設定画面の作成処理の一例を示すフローチャートである。
【図５】図５は、作成される設定画面の一例を示す図である。
【図６】図６は、印刷処理の流れを説明する図である。
【図７】図７は、設定画面の作成処理から印刷処理までの流れの一例を示すシーケンス図である。
【図８】図８は、第２の実施形態のＰＣおよびモバイル機器の機能構成例を示すブロック図である。
【図９】図９は、プリンタドライバの特定処理の一例を示すシーケンス図である。
【図１０】図１０は、第３の実施形態のＰＣおよびモバイル機器の機能構成例を示すブロック図である。
【図１１】図１１は、指定画面の一例を示す図である。
【図１２】図１２は、取得されるファイルの情報（ファイルリスト）の一例を示す図である。
【図１３】図１３は、モバイル機器に送信する形式に変換されたファイルリストの一例を示す図である。
【図１４】図１４は、取得したファイルの情報を表示して印刷するファイルを選択させるための選択画面の一例を示す図である。
【図１５】図１５は、印刷処理の流れを説明する図である。
【図１６】図１６は、モバイル機器で表示されるエラーメッセージの一例を示す図である。
【図１７】図１７は、第３の実施形態の印刷処理の一例を示すシーケンス図である。
【図１８】図１８は、変形例のデフォルト変更処理の一例を示すシーケンス図である。
【図１９】図１９は、第１〜第３の実施形態にかかる装置のハードウェア構成例を示す説明図である。
【発明を実施するための形態】
【０００９】
以下に添付図面を参照して、この発明にかかる情報処理システム、情報処理装置およびプログラムの一実施形態を詳細に説明する。
【００１０】
（第１の実施形態）
第１の実施形態では、モバイル機器（端末装置の一例）が、ＰＣ（情報処理装置の一例）で実行される印刷サービスを経由してプリンタドライバに設定項目（能力）や設定値を問い合わせる。そして、当該印刷サービスまたはモバイル機器が、取得した情報を参照して、モバイル機器上で印刷設定を行うための設定画面を構築する。モバイル機器は、設定画面で設定された印刷設定による印刷を、印刷サービス経由でプリンタドライバに指示する。これにより、モバイル機器が、ＰＣで利用していた印刷設定およびプリンタドライバの機能を利用して印刷することができる。すなわち、モバイル機器からの印刷時にプリンタドライバの機能をより有効に利用可能になる。
【００１１】
図１は、第１の実施形態にかかる情報処理システムの構成例を示すブロック図である。情報処理システムは、ＰＣ１００と、モバイル機器２００と、プリンタ３００と、ルータ４００と、を備えている。図１では各装置を１つずつ記載しているが、各装置は複数備えられていてもよい。
【００１２】
ＰＣ１００、プリンタ３００、および、ルータ４００は、例えばＬＡＮ（ローカルエリアネットワーク）などの任意のネットワークにより接続される。ルータ４００は、このネットワークに対するモバイル機器２００の接続を中継する機器である。モバイル機器２００は、例えば無線ＬＡＮによりルータ４００を介して他の装置と通信する。この場合、ルータ４００は、無線ＬＡＮルータ機能を備えればよい。なおモバイル機器２００の通信方法は無線通信に限られるものではなく、有線通信であってもよい。
【００１３】
図２は、ＰＣ１００およびモバイル機器２００の機能構成例を示すブロック図である。図２に示すように、ＰＣ１００は、ＡＰＩ（アプリケーションプログラミングインタフェース）１１０と、印刷サービス１２０と、プリンタドライバ１３０と、記憶部１４０と、を備えている。
【００１４】
ＡＰＩ１１０は、モバイル機器２００などの外部装置から印刷サービス１２０の機能を利用するためのインタフェースである。ＡＰＩ１１０は、例えば、ＨＴＴＰ（Hypertext  Transfer  Protocol）プロトコルのＰＯＳＴメソッド（またはＧＥＴメソッド）を用いたＷｅｂＡＰＩなどを適用できる。
【００１５】
印刷サービス１２０は、モバイル機器２００からＰＣ上に導入されたプリンタドライバを介する印刷を実行するための各種機能を提供する。印刷サービス１２０は、取得部１２１と、生成部１２２と、送信部１２３と、指示部１２４と、を備えている。
【００１６】
取得部１２１は、プリンタドライバ１３０などからの情報の取得処理を行う。例えば取得部１２１は、プリンタドライバ１３０で設定可能な１以上の設定項目、および、当該設定項目に対して設定可能な設定値をプリンタドライバ１３０から取得する。取得部１２１が、現在、各設定項目に設定されている設定値を取得してもよい。複数のプリンタドライバ１３０がインストールされている場合、取得部１２１は、指定されたプリンタドライバ１３０から設定項目や設定値を取得してもよい。
【００１７】
生成部１２２は、取得された設定項目に対する設定を行う設定画面を端末装置に表示するための表示情報（第１表示情報）を生成する。この表示情報は、設定画面をモバイル機器２００で生成して表示するために必要な情報であってもよいし、設定画面自体であってもよい。すなわち、設定画面の生成は、ＰＣ１００およびモバイル機器２００のいずれで実行してもよい。
【００１８】
送信部１２３は、モバイル機器２００などの外部に対して各種情報を送信する。例えば送信部１２３は、生成された表示情報をモバイル機器２００に送信する。
【００１９】
指示部１２４は、プリンタドライバ１３０に対する印刷を指示する。例えば指示部１２４は、設定画面で設定された設定項目に従った印刷要求をモバイル機器２００から受信すると、当該印刷要求に従い、プリンタドライバ１３０に対して印刷を指示する。
【００２０】
なお、印刷サービス１２０が備える各部（取得部１２１、生成部１２２、送信部１２３、指示部１２４）は、例えば、ＣＰＵ（Central  Processing  Unit）などの処理装置にプログラムを実行させること、すなわち、ソフトウェアにより実現してもよいし、ＩＣ（Integrated  Circuit）などのハードウェアにより実現してもよいし、ソフトウェアおよびハードウェアを併用して実現してもよい。
【００２１】
プリンタドライバ１３０は、例えばステープル機能やパンチ機能などの各種設定項目の印刷設定を受け付け、受け付けた印刷設定に従った印刷をプリンタ３００に実行させる。
【００２２】
記憶部１４０は、各種情報を記憶する。記憶部１４０は、ＨＤＤ（Hard  Disk  Drive）、光ディスク、メモリカード、ＲＡＭ（Random  Access  Memory）などの一般的に利用されているあらゆる記憶媒体により構成することができる。
【００２３】
モバイル機器２００は、モバイルアプリ２０１を備えている。モバイルアプリ２０１は、印刷サービス１２０と連携してプリンタドライバ１３０を介した印刷を実行するためのアプリケーションである。
【００２４】
さらに図２を用いて、モバイル機器２００が、ＰＣ１００上に導入された印刷サービス１２０を利用して印刷設定を取得する取得処理の一例（図２の（１）〜（７））を説明する。この処理は、例えば、ユーザによって文書データの印刷が指定されたときにモバイルアプリ２０１により開始されてもよい。
【００２５】
（１）モバイルアプリ２０１が、プリンタドライバ１３０で設定可能な設定項目（能力）を取得するために、設定項目（および設定値）の取得要求をＰＣ１００（ＡＰＩ１１０）に送信する。
（２）ＡＰＩ１１０は、設定項目の取得要求を印刷サービス１２０に送信する。
（３）印刷サービス１２０（取得部１２１）は、プリンタドライバ１３０に対して設定項目および設定値の取得を要求する。
【００２６】
例えばＰＣ１００がＷｉｎｄｏｗｓ（登録商標）をＯＳとして動作している場合、印刷サービス１２０は、設定項目および設定値として、ＰｒｉｎｔＴｉｃｋｅｔ（プリントチケット）およびＰｒｉｎｔＣａｐａｂｉｌｉｔｙ（プリントケイパビリティ）を取得してもよい。ＰｒｉｎｔＣａｐａｂｉｌｉｔｙは、プリンタドライバ１３０で設定可能な設定項目と、この設定項目に対して設定可能な設定値とを含む情報である。ＰｒｉｎｔＴｉｃｋｅｔは、現在設定されている設定値を含む情報である。ＰｒｉｎｔＴｉｃｋｅｔおよびＰｒｉｎｔＣａｐａｂｉｌｉｔｙ（ＰＴ／ＰＣ）は、Ｗｉｎｄｏｗｓの「．Ｎｅｔ  Ｆｒａｍｅｗｏｒｋ」のＡＰＩ経由で呼び出すことができる。現在設定されている設定値は、例えばＰＣ１００がプリンタドライバ１３０に設定値の表示を要求したときに、最初に表示されるデフォルトの設定値である。
【００２７】
取得部１２１は、プリンタドライバ１３０から少なくともＰｒｉｎｔＣａｐａｂｉｌｉｔｙを取得する。これにより、生成部１２２は、ＰｒｉｎｔＣａｐａｂｉｌｉｔｙに含まれる設定項目と、この設定項目に設定可能な設定値とを設定する設定画面を端末装置に表示するための表示情報を生成できる。取得部１２１がＰｒｉｎｔＴｉｃｋｅｔを取得すれば、生成部１２２は、現在設定されている設定値を例えばデフォルト値として設定した設定画面の表示情報を生成できる。
【００２８】
（４）プリンタドライバ１３０は、要求に応じて設定項目および設定値を印刷サービス１２０に送信する。
（５）印刷サービス１２０は、取得した設定項目および設定値にＨＴＴＰのレスポンスヘッダを付けて、ＡＰＩ１１０に渡す。この例では、ＨＴＴＰヘッダを付与した設定項目および設定値が、設定画面を表示するための表示情報（第１表示情報）に相当する。なお、適用可能な通信プロトコルはＨＴＴＰに限られない。ＨＴＴＰ以外のプロトコルを用いる場合、印刷サービス１２０は、当該プロトコルに従い必要に応じてヘッダなどの情報を設定項目および設定値に付与する。
（６）ＡＰＩ１１０は、受け取った設定項目および設定値をモバイルアプリ２０１に送信する。
【００２９】
図３は、設定項目および設定値の一例を示す図である。図３では、プリンタドライバ１３０から取得されたＰｒｉｎｔＣａｐａｂｉｌｉｔｙにＨＴＴＰヘッダを付加したデータの例が示されている。１行目から６行目までがＨＴＴＰヘッダに相当する。図３ではＰｒｉｎｔＴｉｃｋｅｔが記載されていないが、ＰｒｉｎｔＴｉｃｋｅｔも含めてもよい。
【００３０】
Ｗｉｎｄｏｗｓの「．Ｎｅｔ  Ｆｒａｍｅｗｏｒｋ」のＡＰＩでは、図３に示すようにＸＭＬ形式のＰｒｉｎｔＣａｐａｂｉｌｉｔｙが取得できる。図３では、設定項目の例として、カラー（ＰａｇｅＯｕｔｐｕｔＣｏｌｏｒ）およびコピー部数（ＪｏｂＣｏｐｉｅｓＡｌｌＤｏｃｕｍｅｎｔｓ）が記載されている。カラーの設定項目に対して設定可能な設定値として、カラー（Ｃｏｌｏｒ）およびモノクロ（Ｍｏｎｏｃｈｒｏｍｅ）が記載されている。コピー部数の設定項目に対して設定可能な設定値は、最小値（ＭｉｎＶａｌｕｅ）が１、最大値（ＭａｘＶａｌｕｅ）が９９９、データタイプ（ＤａｔａＴｙｐｅ）が整数であることなどが記載されている。
【００３１】
印刷サービス１２０は、設定項目および設定値のフォーマットを変換せずにモバイルアプリ２０１に送信してもよいし、他のフォーマットに変換してモバイルアプリ２０１に送信してもよい。例えばモバイルアプリ２０１がＪＳＯＮ（JavaScript（登録商標）  Object  Notation）のデータ形式をサポートしている場合、印刷サービス１２０は、設定項目および設定値をＪＳＯＮのフォーマットに変換して送信してもよい。
【００３２】
図２に戻る。
（７）モバイルアプリ２０１は、受信した設定項目および設定値に従い、プリンタドライバ１３０に対応する設定画面を作成する。
【００３３】
図４は、設定画面の作成処理の一例を示すフローチャートである。作成処理は、例えば、ＰＣ１００から表示情報を受信したモバイルアプリ２０１により実行される。以下では、ＸＭＬ形式で記述されたＰｒｉｎｔＣａｐａｂｉｌｉｔｙおよびＰｒｉｎｔＴｉｃｋｅｔを表示情報として受信した場合を例に説明する。Ｗｉｎｄｏｗｓ以外のＯＳを用いる場合は、ＰｒｉｎｔＣａｐａｂｉｌｉｔｙおよびＰｒｉｎｔＴｉｃｋｅｔに相当する表示情報を用いて同様の処理を実行すればよい。
【００３４】
モバイルアプリ２０１は、受信した表示情報からＰｒｉｎｔＣａｐａｂｉｌｉｔｙを読み込む（ステップＳ１０１）。図３の例では、モバイルアプリ２０１は、「ｐｓｆ：ＰｒｉｎｔＣａｐａｂｉｌｉｔｉｅｓ」タグで囲まれた箇所を読み込む。
【００３５】
モバイルアプリ２０１は、読み込んだＰｒｉｎｔＣａｐａｂｉｌｉｔｙに未処理の設定項目タグが存在するか否かを判断する（ステップＳ１０２）。モバイルアプリ２０１は、例えば、予め定められたタグ名（図３の例では「Ｆｅａｔｕｒｅ  ｎａｍｅ」、「ＰａｒａｍｅｔｅｒＤｅｆ  ｎａｍｅ」など）と一致する設定項目タグが含まれるかを判断する。
【００３６】
未処理の設定項目タグが存在する場合（ステップＳ１０２：Ｙｅｓ）、モバイルアプリ２０１は、当該設定項目タグ内に定められた各情報を読み込み、読み込んだ設定項目タグに対応する設定欄を作成する（ステップＳ１０３）。例えばモバイルアプリ２０１は、「Ｆｅａｔｕｒｅ  ｎａｍｅ」が「ＰａｇｅＯｕｔｐｕｔＣｏｌｏｒ」の設定項目タグから、設定値として「Ｃｏｌｏｒ」および「Ｍｏｎｏｃｈｒｏｍｅ」が選択できるという情報を読み込む。そしてモバイルアプリ２０１は、これらの情報に従い、「Ｃｏｌｏｒ」および「Ｍｏｎｏｃｈｒｏｍｅ」が選択できる設定欄を作成する。またモバイルアプリ２０１は、例えば事前に作成した設定画面に対して設定欄を作成する。
【００３７】
モバイルアプリ２０１は、ＰｒｉｎｔＣａｐａｂｉｌｉｔｙ内に記載された情報、および、設定可能な設定値などを参照し、設定欄のタイプを決定してもよい（ステップＳ１０４）。図３の例では、「ＰａｒａｍｅｔｅｒＤｅｆ  ｎａｍｅ」の種別が、いずれか１つを選択する選択肢（ＳｅｌｅｃｔｉｏｎＴｙｐｅ、ＰｉｃｋＯｎｅ）であることが指定されている。モバイルアプリ２０１は、このような情報に従い、「Ｃｏｌｏｒ」および「Ｍｏｎｏｃｈｒｏｍｅ」のいずれかを選択できる設定欄を作成してもよい。また、設定値のデータ種別（整数（Ｉｎｔｅｇｅｒ）か文字列かなど）が指定されている場合には、モバイルアプリ２０１は、指定されたデータ種別の情報が入力できる設定欄を作成してもよい。これにより、指定できない設定項目および設定値が指定されることを回避可能となる。
【００３８】
この後、ステップＳ１０２に戻り処理が繰り返される。ステップＳ１０２で未処理の設定項目タグが存在しないと判断された場合（ステップＳ１０２：Ｎｏ）、モバイルアプリ１０２は、作成した設定欄に対するデフォルト値を設定し（ステップＳ１０５）、作成処理を終了する。例えばモバイルアプリ２０１は、ＰｒｉｎｔＴｉｃｋｅｔで設定されている現在の設定値を、設定画面のデフォルト値として設定する。これにより、ユーザがＰＣ１００で使用している設定値と同じ設定値を容易に利用可能となる。
【００３９】
図５は、作成される設定画面の一例を示す図である。図５では、カラーモード、集約、ポスター、部数、および、文字スタンプが設定項目として設定可能な設定画面の例が示されている。例えば文字スタンプなどの機能は、プリンタドライバ１３０に備えられ、プリンタドライバ１３０に対して設定値を設定することにより利用可能となる場合がある。本実施形態によれば、プリンタドライバ１３０から取得した設定項目および設定値を用いて設定画面を作成できるため、このような機能もモバイル機器２００から利用可能となる。
【００４０】
設定画面が生成されモバイル機器２００の表示部などに表示されると、ユーザはこの設定画面上で設定項目を設定する。この後ユーザは、例えばモバイルアプリ２０１が表示する画面を用いて、設定された設定項目による印刷を指示する。図６は、このようにして指示された印刷処理の流れを説明する図である。
【００４１】
モバイルアプリ２０１は、設定画面で設定された設定項目を例えばＰｒｉｎｔＴｉｃｋｅｔの形式に変換する。モバイルアプリ２０１は、ＰｒｉｎｔＴｉｃｋｅｔと、印刷する文書データとをＡＰＩ１１０を介して印刷サービス１２０に送信する。文書データは、ＰＣ１００で処理できる形式であれば、例えばＪＰＥＧ（Joint  Photographic  Experts  Group）およびＰＮＧ（Portable  Network  Graphics）などの画像データ、並びに、ワードプロセッサなどで作成されたテキストデータなどの任意の形式でよい。
【００４２】
印刷サービス１２０は、ＡＰＩ１１０経由で受け取った文書データと印刷設定（ＰｒｉｎｔＴｉｃｋｅｔ）をプリンタドライバ１３０に渡す。ＰｒｉｎｔＴｉｃｋｅｔの形式で印刷設定を受信した場合は、印刷サービス１２０は、例えばＰｒｉｎｔＴｉｃｋｅｔを指定可能なＷｉｎｄｏｗｓのＡＰＩを用いることにより、プリンタドライバ１３０に印刷設定を渡す。設定できない設定値が含まれていた場合、プリンタドライバ１３０は、該当する設定項目に対してデフォルト値を設定してもよい。文書データは、例えばＷｉｎｄｏｗｓの提供するＯＬＥ（Object  Linking  and  Embedding）の仕組みを利用して印刷する
ことができる。
【００４３】
図７は、設定画面の作成処理から印刷処理までの流れの一例を示すシーケンス図である。まずモバイルアプリ２０１が、設定項目の取得要求をＰＣ１００のＡＰＩ１１０に送信する（ステップＳ２０１）。取得要求は、設定項目を取得するプリンタドライバ１３０を特定する情報を含んでもよい。
【００４４】
ＡＰＩ１１０は、設定項目の取得要求を印刷サービス１２０に送信する（ステップＳ２０２）。印刷サービス１２０は、例えばＷｉｎｄｏｗｓＡＰＩを用いて、プリンタドライバ１３０から設定項目を取得する（ステップＳ２０３）。プリンタドライバ１３０は、印刷サービス１２０に対して設定項目を返す（ステップＳ２０４）。
【００４５】
印刷サービス１２０は、プリンタドライバ１３０から返された設定項目にレスポンスヘッダを付与してＡＰＩ１１０に返す（ステップＳ２０５）。ＡＰＩ１１０は、印刷サービス１２０から受け取った設定項目を、モバイルアプリ２０１に返す（ステップＳ２０６）。
【００４６】
モバイルアプリ２０１は、例えば図４に示すフローチャートに従い、受信した設定項目を設定可能な設定画面を生成して表示する（ステップＳ２０７）。モバイルアプリ２０１は、例えばユーザにより印刷の実行が指定されると、ＡＰＩ１１０を介して印刷サービス１２０に印刷を指示する（ステップＳ２０８、ステップＳ２０９）。
【００４７】
印刷サービス１２０は、例えばＰｒｉｎｔＴｉｃｋｅｔによって指定された設定値をプリンタドライバ１３０に設定する（ステップＳ２１０）。プリンタドライバ１３０は、設定値が指定されていない設定項目、および、設定できない設定値が設定された設定項目に対して、デフォルト値を設定してもよい（ステップＳ２１１）。
【００４８】
印刷サービス１２０は、印刷の実行をプリンタドライバ１３０に指示する（ステップＳ２１２）。プリンタドライバ１３０は、設定された設定値に従い、ＰＤＬ（Page  Description  Language：ページ記述言語）を生成してプリンタ３００に送信する（ステップＳ２１３）。
【００４９】
以上のように、本実施形態によれば、プリンタドライバから取得した設定項目および設定値に基づき設定画面を作成し、この設定画面で設定された設定値に従い印刷を実行できる。これにより、モバイル機器は、ＰＣで利用していた印刷設定およびプリンタドライバの機能を利用して印刷することが可能になる。
【００５０】
（第２の実施形態）
第２の実施形態では、ＰＣに複数のプリンタドライバがインストールされている場合について説明する。各プリンタドライバは、相互に設定項目および設定値が異なる場合があるため、いずれのプリンタドライバを用いるかを特定しなければ、正しく設定項目および設定値を設定できない場合がある。本実施形態では、利用するプリンタ３００の情報に基づき、利用するプリンタドライバを特定する。
【００５１】
図８は、本実施形態のＰＣ１００−２およびモバイル機器２００−２の機能構成例を示すブロック図である。なお他の装置（プリンタ３００、ルータ４００）は第１の実施形態と同様の構成であるため、同一の符号を付し説明を省略する。
【００５２】
図８に示すように、ＰＣ１００−２は、ＡＰＩ１１０と、印刷サービス１２０−２と、プリンタドライバ１３０Ａ、１３０Ｂと、記憶部１４０と、を備えている。モバイル機器２００−２は、モバイルアプリ２０１−２を備えている。プリンタドライバ１３０Ａ、１３０Ｂを区別する必要がない場合は単にプリンタドライバ１３０という場合がある。プリンタドライバ１３０の個数は２に限られるものではなく、３以上であってもよい。
【００５３】
第２の実施形態では、印刷サービス１２０−２およびモバイルアプリ２０１−２の機能が第１の実施形態と異なっている。その他の構成および機能は、第１の実施形態のブロック図である図２と同様であるので、同一符号を付し、ここでの説明は省略する。
【００５４】
モバイルアプリ２０１−２は、利用するプリンタ３００から、当該プリンタ３００を識別する識別情報を取得し、ＰＣ１００−２に送信する機能が追加される点が、第１の実施形態のモバイルアプリ２０１と異なっている。
【００５５】
印刷サービス１２０−２は、モバイルアプリ２０１−２から送信されたＩＰアドレスに対応するプリンタドライバ１３０を特定する機能が追加される点が、第１の実施形態の印刷サービス１２０と異なっている。印刷サービス１２０−２は、取得部１２１−２と、生成部１２２と、送信部１２３と、指示部１２４と、を備えている。
【００５６】
取得部１２１−２は、第１の実施形態の取得部１２１の機能に加え、モバイルアプリ２０１−２から送信されたＩＰアドレスに対応するプリンタドライバ１３０を特定するために必要な情報を取得する機能を備える。
【００５７】
さらに図２を用いて、プリンタドライバ１３０を特定する処理の具体例を説明する。モバイルアプリ２０１−２は、利用するプリンタ３００から当該プリンタ３００の識別情報として例えばＩＰ（Internet  Protocol）アドレスを取得する。プリンタ３００の識別情報はＩＰアドレス以外であってもよい。モバイルアプリ２０１−２は、例えば、ＮＦＣ（Near  Field  Communication）、２次元バーコードの認識、および、手入力などの任意の方法で、プリンタ３００のＩＰアドレスを取得する。利用するプリンタ３００のＩＰアドレスがモバイル機器２００内に事前に設定されている場合は、ＩＰアドレスの取得機能は備えていなくてもよい。
【００５８】
モバイルアプリ２０１−２は、取得したＩＰアドレスを、ＡＰＩ１１０を経由して印刷サービス１２０−２に送信する。ＩＰアドレスを受け取った印刷サービス１２０−２は、ＰＣ１００−２内にインストールされているプリンタドライバ１３０を検出する。例えば印刷サービス１２０−２の取得部１２１−２は、Ｗｉｎｄｏｗｓで定義されているＥｎｕｍＰｒｉｎｔｅｒｓ（）関数を用いて、インストールされているプリンタドライバ１３０を列挙（検出）できる。またこの関数により、各プリンタドライバ１３０が接続されているプリンタ３００のポートを取得できる。
【００５９】
取得部１２１−２は、例えばＷｉｎｄｏｗｓで定義されているｘｃｖＤａｔａ関数を用いて、ポートに紐づけられているＩＰアドレスを取得できる。取得部１２１−２はこのようにして取得した各ＩＰアドレスを比較することにより、利用するプリンタドライバ１３０を特定する。
【００６０】
以下、プリンタドライバ１３０を特定する処理の詳細についてさらに説明する。図９は、プリンタドライバ１３０の特定処理の一例を示すシーケンス図である。
【００６１】
まずモバイルアプリ２０１−２は、プリンタ３００からＩＰアドレスを取得する（ステップＳ３０１、ステップＳ３０２）。モバイルアプリ２０１−２は、取得したＩＰアドレスをＰＣ１００−２のＡＰＩを介して印刷サービス１２０−２に送信し、このＩＰアドレスに対応するプリンタドライバ１３０の確認を要求する（ステップＳ３０３、ステップＳ３０４）。
【００６２】
印刷サービス１２０−２の取得部１２１−２は、ＰＣ１００−２にインストールされたプリンタドライバ１３０を列挙する（ステップＳ３０５）。取得部１２１−２は、列挙した各プリンタドライバ１３０に対して設定された各ポートから、ＩＰアドレスを取得する。最初のポートがプリンタドライバ１３０Ａに対応するポートであったとすると、取得部１２１−２は、プリンタドライバ１３０ＡからＩＰアドレスを取得する（ステップＳ３０６、ステップＳ３０７）。取得部１２１−２は、プリンタドライバ１３０Ａから取得したＩＰアドレスと、モバイルアプリ２０１−２から取得したＩＰアドレスとを比較する（ステップＳ３０８）。
【００６３】
同様にして、取得部１２１−２は、プリンタドライバ１３０ＢからＩＰアドレスを取得する（ステップＳ３０９、ステップＳ３１０）。取得部１２１−２は、プリンタドライバ１３０Ｂから取得したＩＰアドレスと、モバイルアプリ２０１−２から取得したＩＰアドレスとを比較する（ステップＳ３１１）。
【００６４】
取得部１２１−２は、このようにしてＩＰアドレスを比較し、一致した場合に、一致したＩＰアドレスに対応するプリンタドライバ１３０を、利用するプリンタドライバ１３０として特定する（ステップＳ３１２）。
【００６５】
印刷サービス１２０−２は、特定したプリンタドライバ１３０の情報（プリンタドライバ１３０の名称など）を、ＡＰＩ１１０を介してモバイルアプリ２０１−２に返す（ステップＳ３１３、ステップＳ３１４）。
【００６６】
この後、モバイルアプリ２０１−２は、通知されたプリンタドライバ１３０の情報を指定して、設定項目の取得要求などの第１の実施形態で説明した処理を実行する。
【００６７】
なおプリンタドライバ１３０を特定する方法は上記に限られるものではない。例えば、プリンタモデル名からプリンタドライバを特定する方法などを用いてもよい。
【００６８】
（第３の実施形態）
上記実施形態では、モバイル機器に記憶されているファイル（データ）を印刷した。第３の実施形態では、ＰＣに記憶されているファイルを印刷する例を説明する。
【００６９】
図１０は、本実施形態のＰＣ１００−３およびモバイル機器２００−３の機能構成例を示すブロック図である。なお他の装置（プリンタ３００、ルータ４００）は第１の実施形態と同様の構成であるため、同一の符号を付し説明を省略する。
【００７０】
図１０に示すように、ＰＣ１００−３は、ＡＰＩ１１０と、印刷サービス１２０−３と、プリンタドライバ１３０と、記憶部１４０と、を備えている。モバイル機器２００−３は、モバイルアプリ２０１−３を備えている。
【００７１】
第３の実施形態では、印刷サービス１２０−３およびモバイルアプリ２０１−３の機能が第１の実施形態と異なっている。その他の構成および機能は、第１の実施形態のブロック図である図２と同様であるので、同一符号を付し、ここでの説明は省略する。
【００７２】
モバイルアプリ２０１−３は、ＰＣ１００−３に記憶されているファイルの情報を取得して取得したファイルの印刷を指定できるようにする機能が追加される点が、第１の実施形態のモバイルアプリ２０１と異なっている。
【００７３】
印刷サービス１２０−３は、モバイルアプリ２０１−３からの要求に応じてＰＣ１００−３に記憶されているファイルの情報をモバイルアプリ２０１−３に返信する機能、および、ＰＣ１００−３に記憶されているファイルを印刷する機能が追加される点が、第１の実施形態の印刷サービス１２０と異なっている。印刷サービス１２０−３は、取得部１２１−３と、生成部１２２−３と、送信部１２３−３と、指示部１２４と、を備えている。
【００７４】
取得部１２１−３は、第１の実施形態の取得部１２１の機能に加え、モバイルアプリ２０１−３からの要求に応じてＰＣ１００−３の記憶部１４０等に記憶されているファイルの情報を取得する機能を備える。
【００７５】
生成部１２２−３は、第１の実施形態の生成部１２２の機能に加え、取得部１２１−３により情報が取得されたファイルのいずれかを選択する選択画面を表示するための表示情報（第２表示情報）を生成する機能を備える。この表示情報は、選択画面をモバイル機器２００−３（モバイルアプリ２０１−３）で生成して表示するために必要な情報であってもよいし、選択画面自体であってもよい。生成部１２２−３は、さらに印刷が実行できない場合に、印刷が実行できないことを示すエラー情報を生成してもよい。
【００７６】
送信部１２３−３は、第１の実施形態の送信部１２３の機能に加え、選択画面を表示するための表示情報、および、エラー情報をモバイル機器２００−３に送信する機能を備える。
【００７７】
さらに図１０を用いて、ファイルの情報を取得する処理の具体例を説明する。モバイルアプリ２０１−３は、ＰＣ１００−３に記憶されているファイルの情報（ファイルリスト）を、ＡＰＩ１１０を介して印刷サービス１２０−３に要求する。
【００７８】
印刷サービス１２０−３は、要求に応じて、例えばＷｉｎｄｏｗｓで定義されるＦｉｎｄＦｉｒｓｔＦｉｌｅ（）関数を用いてフォルダを指定し、指定したフォルダ下に記憶されているファイル（ファイル名）を取得する。印刷サービス１２０−３は、取得したファイル名を含むファイルリストを作成し、ＡＰＩ１１０を介してモバイルアプリ２０１−３に送信する。なおファイルの情報は表形式である必要はなく任意の形式でよい。
【００７９】
モバイルアプリ２０１−３は、ファイルリストに示されるファイルのいずれかを選択させるための選択画面を表示する。この場合、ファイルリストが、選択画面を表示するための表示情報（第２表示情報）に相当する。
【００８０】
ＰＣ１００−３（生成部１２２−３）がファイルリストに基づき選択画面を生成してもよい。この場合は、生成した選択画面自体が、選択画面を表示するための表示情報（第２表示情報）に相当する。
【００８１】
モバイルアプリ２０１−３は、ファイルの条件を指定し、指定した条件に適合するファイルの情報をＰＣ１００−３から取得してもよい。図１１は、このように構成する場合に用いられる指定画面の一例を示す図である。
【００８２】
図１１に示すように、指定画面は、入力フィールド１１０１、１１０２と、送信ボタン１１１１と、キャンセルボタン１１１２と、を含む。入力フィールド１１０１は、ファイルの拡張子を指定するための入力欄である。入力フィールド１１０２は、フォルダパスを指定するための入力欄である。このように図１１では、ファイルの拡張子、および、ファイルが記憶されているフォルダのパスを条件として指定する例が示されている。モバイルアプリ２０１−３は、ファイルリストの要求時に、これらの条件の設定値も併せてＰＣ１００−３に送信する。例えば送信ボタン１１１１が押下されたときに、入力された条件の設定値（拡張子、フォルダパス）がＰＣ１００−３に送信される。キャンセルボタン１１１２が押下された場合は、例えば、指定画面の表示が終了される。
【００８３】
図１２は、取得されるファイルの情報（ファイルリスト）の一例を示す図である。図１２は、図１１のような条件に適合するファイルとして得られたファイルの情報の例を示している。図１３は、モバイル機器２００−３に送信する形式に変換されたファイルリストの一例を示す図である。図１３は、ＸＭＬ形式のファイルリストにＨＴＴＰヘッダが付与された形式の送信データの例を示している。
【００８４】
図１４は、取得したファイルの情報を表示して印刷するファイルを選択させるための選択画面の一例を示す図である。図１４に示すように、選択画面は、選択肢１４０１と、印刷ボタン１４１１と、印刷設定ボタン１４１２と、を含む。選択肢１４０１は、取得されたファイルリストに含まれるファイルのうち、１以上のファイルを選択可能な選択肢である。いずれかのファイルが選択（チェック）され、印刷ボタン１４１１が押下されると、モバイルアプリ２０１−３は、選択されたファイルの印刷指示をＰＣ１００−３に送信する。印刷設定ボタン１４１２が押下されると、印刷設定のための設定画面が表示される。設定画面の作成処理は、例えば、第１の実施形態の図４と同様の手順で実行される。
【００８５】
図１５は、印刷ボタン１４１１が押下された場合の印刷処理の流れを説明する図である。モバイルアプリ２０１−３は、選択画面で選択されたファイルの印刷指示を、ＡＰＩ１１０を介して印刷サービス１２０−３に送信する。印刷指示は、設定画面で設定された印刷設定（ＰｒｉｎｔＴｉｃｋｅｔなど）、および、選択されたファイルのフルパスなどの情報を含んでもよい。
【００８６】
印刷サービス１２０−３は、受け取ったフルパスで特定されるファイルと印刷設定とをプリンタドライバ１３０に渡すことにより、印刷を実行させる。プリンタドライバ１３０への情報の設定方法等は図６と同様である。ファイルが削除された、または、何らかの異常が生じたことなどに起因して、モバイルアプリ２０１−３から指定されたファイルがＰＣ１００−３内に存在しなかった場合、例えばＯＬＥからエラーが返される。印刷サービス１２０−３は、このようなエラーが生じた場合に、エラー情報を生成し（生成部１２２−３）、モバイルアプリ２０１−３にエラー情報を送信してもよい（送信部１２３−３）。エラー情報は、例えば、印刷できなかった旨を示すエラーメッセージ、および、ファイル名などを含む。
【００８７】
モバイルアプリ２０１−３は、エラー情報をもとにエラーメッセージを表示してもよい。図１６は、モバイル機器２００−３で表示されるエラーメッセージの一例を示す図である。
【００８８】
ファイルの情報を取得し、取得した情報に基づき選択されたファイルを印刷する処理についてさらに説明する。図１７は、本実施形態の印刷処理の一例を示すシーケンス図である。
【００８９】
モバイルアプリ２０１−３は、ＰＣ１００−３から取得するファイルの条件として拡張子およびフォルダパスなどの指定を受け付ける（ステップＳ４０１）。モバイルアプリ２０１−３は、例えば図１１に示す指定画面を表示し、指定画面で指定された条件を受け付ける。モバイルアプリ２０１−３は、受け付けた条件に適合するファイルの情報（ファイルリスト）を、ＡＰＩ１１０を介して印刷サービス１２０−３に要求する（ステップＳ４０２、ステップＳ４０３）。
【００９０】
印刷サービス１２０−３は、指定された条件に適合するファイルを記憶部１４０等から検索する（ステップＳ４０４）。印刷サービス１２０−３は、検索された各ファイルを識別する情報（例えばファイル名）、および、フルパスを含む情報（ファイルリストなど）を作成する（ステップＳ４０５）。印刷サービス１２０−３は、作成したファイルリストを、ＡＰＩ１１０を介してモバイルアプリ２０１−３に送信する（ステップＳ４０６、ステップＳ４０７）。
【００９１】
モバイルアプリ２０１−３は、ファイルリストを元に印刷用の画面（例えば図１４の選択画面）を生成して表示する（ステップＳ４０８）。この画面で印刷するファイルおよび印刷設定が指定された場合、モバイルアプリ２０１−３は、印刷するファイルのパスと印刷設定とを、ＡＰＩ１１０を介して印刷サービス１２０−３に送信し、印刷を要求する（ステップＳ４０９、ステップＳ４１０）。
【００９２】
印刷サービス１２０−３は、印刷が要求されたファイルがＰＣ１００−３内に存在するか判断する（ステップＳ４１１）。存在する場合、印刷サービス１２０−３は、このファイルに、指定された印刷設定を適用して印刷する（ステップＳ４１２）。印刷サービス１２０−３は、ＡＰＩ１１０を介して印刷結果をモバイルアプリ２０１−３に送信する（ステップＳ４１３、ステップＳ４１４）。なお、ステップＳ４１１でファイルが存在しないと判断された場合、印刷サービス１２０−３は、エラー情報をモバイルアプリ２０１−３に送信してもよい。
【００９３】
このように、第３の実施形態によれば、ＰＣ１００−３内に記憶されているファイルをモバイル機器２００−３から選択して印刷させることができる。
【００９４】
（変形例）
上記実施形態では、ＰｒｉｎｔＴｉｃｋｅｔなどを用いて現在設定されている設定値を取得し、取得した設定値をデフォルト値として設定した設定画面を生成した。設定画面のデフォルト値として設定する設定値は、現在設定されている設定値に限られるものではない。本変形例では、現在設定されている設定値以外の設定値を、設定画面のデフォルト値として設定可能とする構成について説明する。なお以下では第１の実施形態に本変形例を適用した場合を説明するが、第２および第３の実施形態にも同様に本変形例を適用できる。
【００９５】
現在設定されている設定値以外の設定値には、例えば、以下のような設定値がある。
（Ａ１）ユーザによる設定等によってプリンタドライバ１３０が記憶している設定値のセット（例えばカラー、両面、ステープル左上、パンチ左２つ等）
（Ａ２）予めモバイルアプリ２０１に保存している１または複数の設定値（例えばカラーのみ指定、カラーと両面を指定等）、または設定値のセット
（Ａ３）印刷サービス１２０が記憶している１または複数の設定値（例えばカラーのみ指定、カラーと両面を指定等）、または設定値のセット
【００９６】
図１８は、本変形例のデフォルト変更処理の一例を示すシーケンス図である。デフォルト変更処理は、例えば、図４のステップＳ１０５で設定するデフォルト値を変更するために実行される。デフォルト変更処理の実行タイミングは任意であるが、例えば、図７のＳ２０７で設定画面を設定する前、または、設定画面を設定するときに実行するように構成できる。
【００９７】
モバイルアプリ２０１は、設定画面のデフォルト値として設定する設定値のセットを識別する情報（識別情報）を、ＡＰＩ１１０を介して印刷サービス１２０に送信する（ステップＳ５０１、ステップＳ５０２）。例えばモバイルアプリ２０１は、プリンタドライバ１３０が記憶している設定値のセット、または、印刷サービス１２０が記憶している設定値のセットであれば、設定値のセットを識別する識別情報を送信する。モバイルアプリ２０１が記憶している設定値または設定値のセットであれば、各設定または指定する設定の設定値を送信してもよい。
【００９８】
印刷サービス１２０は、ＯＳ１８０１に対してＰｒｉｎｔＴｉｃｋｅｔを要求する（ステップＳ５０３）。ＯＳ１８０１は、ＰｒｉｎｔＴｉｃｋｅｔを印刷サービス１２０に送信する（ステップＳ５０４）。ＰｒｉｎｔＴｉｃｋｅｔは、プリンタドライバ１３０に現在設定されている設定値を表している。
【００９９】
なお、モバイルアプリ２０１が、ユーザから現在設定されている設定値を用いる要求を受け付けた場合、または、何も指定がない場合等は、以降のステップＳ５０５〜ステップＳ５０７を実行せず、ＯＳ１８０１から取得したＰｒｉｎｔＴｉｃｋｅｔをモバイルアプリ２０１に通知してもよい。
【０１００】
印刷サービス１２０が記憶している設定値または設定値のセットが指定された場合、印刷サービス１２０は、自身が記憶している設定値を読み出す（ステップＳ５０５）。印刷サービス１２０は、ＯＳ１８０１を介して、ＰｒｉｎｔＴｉｃｋｅｔの変更をプリンタドライバ１３０に要求する（ステップＳ５０６、ステップＳ５０７）。
【０１０１】
プリンタドライバ１３０が記憶している設定値または設定値のセットが指定された場合、ステップＳ５０５は実行せず、印刷サービス１２０は、ＰｒｉｎｔＴｉｃｋｅｔの変更を、プリンタドライバ１２０に要求する。例えばプリンタドライバ１３０が記憶している設定値のセットに変更する場合であれば、設定値のセットを識別する識別情報をプリンタドライバ１３０に通知する。また、モバイルアプリ２０１に保存している設定値に変更する場合であれば、設定値自体をプリンタドライバ１３０に通知する。
【０１０２】
プリンタドライバ１３０は、通知された設定値または識別情報をもとにＰｒｉｎｔＴｉｃｋｅｔを変更する（ステップＳ５０８）。プリンタドライバ１３０による変更処理の結果は、ＯＳ１８０１、印刷サービス1２０、および、ＡＰＩ１１０を介して、モバイルアプリ２０１に送信される（ステップＳ５０９〜ステップＳ５１２）。
【０１０３】
この後、モバイルアプリ２０１は、図７のステップＳ２０７と同様に、ＰｒｉｎｔＴｉｃｋｅｔの内容をデフォルト値として設定した設定画面を表示し、設定値の変更を受け付ける。設定値が変更された場合、モバイルアプリ２０１は、印刷サービス１２０に変更内容を通知し、ＰｒｉｎｔＴｉｃｋｅｔの変更処理（ステップＳ５０６〜ステップＳ５０８）を再度実行してもよい。
【０１０４】
設定値の設定が完了し、モバイルアプリ２０１から印刷の指示を受け付けると、印刷サービス１２０は印刷を要求する。この処理は、例えば、図７のステップＳ２０８〜ステップＳ２１３と同様に実行される。
【０１０５】
設定画面の表示、および、印刷の指示に応じた印刷処理は実行しなくてもよい。例えば、指定された設定値によりＰｒｉｎｔＴｉｃｋｅｔを変更後、そのまま印刷サービス１２０から印刷を要求するように構成してもよい。
【０１０６】
次に、第１〜第３の実施形態にかかる各装置（モバイル機器、ＰＣ）のハードウェア構成について図１９を用いて説明する。図１９は、第１〜第３の実施形態にかかる装置のハードウェア構成例を示す説明図である。
【０１０７】
第１〜第３の実施形態にかかる装置は、ＣＰＵ（Central  Processing  Unit）５１などの制御装置と、ＲＯＭ（Read  Only  Memory）５２やＲＡＭ（Random  Access  Memory）５３などの記憶装置と、ネットワークに接続して通信を行う通信Ｉ／Ｆ５４と、各部を接続するバス６１を備えている。
【０１０８】
第１〜第３の実施形態にかかる装置で実行されるプログラムは、ＲＯＭ５２等に予め組み込まれて提供される。
【０１０９】
第１〜第３の実施形態にかかる装置で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ（Compact  Disk  Read  Only  Memory）、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ（Compact  Disk  Recordable）、ＤＶＤ（Digital  Versatile  Disk）等のコンピュータで読み取り可能な記録媒体に記録してコンピュータ・プログラム・プロダクトとして提供されるように構成してもよい。
【０１１０】
さらに、第１〜第３の実施形態にかかる装置で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、第１〜第３の実施形態にかかる装置で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
【０１１１】
第１〜第３の実施形態にかかる装置で実行されるプログラムは、コンピュータを上述した装置の各部として機能させうる。このコンピュータは、ＣＰＵ５１がコンピュータ読取可能な記憶媒体からプログラムを主記憶装置上に読み出して実行することができる。
【符号の説明】
【０１１２】
１００  ＰＣ
１１０  ＡＰＩ
１２０  印刷サービス
１２１  取得部
１２２  生成部
１２３  送信部
１２４  指示部
１３０  プリンタドライバ
１４０  記憶部
２００  モバイル機器
２０１  モバイルアプリ
３００  プリンタ
４００  ルータ
【先行技術文献】
【特許文献】
【０１１３】
【特許文献１】特開２０１４−０２１８２２号公報
【図１】
2016177781.tif 000003
【図２】
2016177781.tif 000004
【図３】
2016177781.tif 000005
【図４】
2016177781.tif 000006
【図５】
2016177781.tif 000007
【図６】
2016177781.tif 000008
【図７】
2016177781.tif 000009
【図８】
2016177781.tif 000010
【図９】
2016177781.tif 000011
【図１０】
2016177781.tif 000012
【図１１】
2016177781.tif 000013
【図１２】
2016177781.tif 000014
【図１３】
2016177781.tif 000015
【図１４】
2016177781.tif 000016
【図１５】
2016177781.tif 000017
【図１６】
2016177781.tif 000018
【図１７】
2016177781.tif 000019
【図１８】
2016177781.tif 000020
【図１９】
2016177781.tif 000021