(57)【要約】【課題】クラウドサーバに記憶されるコンテンツを印刷する場合の、ユーザの使い勝手を向上させる技術を提供すること。【解決手段】印刷アプリ４３は、ブラウザ４２が有するプラグイン機能によって、ブラウザ４２に追加され、クラウドサーバ１０１に記憶されるコンテンツの印刷指示をブラウザ４２が受け付けた場合に起動される。印刷アプリ４３は、情報処理装置１に、クラウド印刷に対応可能なプリンタに印刷させるクラウド印刷かクラウド印刷に対応していないプリンタに印刷させるローカル印刷かの選択を受け付けさせ、クラウド印刷が選択された場合、クラウド印刷を実行する指示をクラウドサーバ１０１に出力させ、ローカル印刷が選択された場合、クラウドサーバ１０１からダウンロードしたコンテンツに基づく印刷データを生成し、生成した印刷データをローカルプリンタに送信させる。【選択図】図２
2019179311.tif 000002
【特許請求の範囲】
【請求項１】
印刷指示機能を有する特定プログラムが組み込まれた情報処理装置の制御部によって実行可能なアプリケーションプログラムであって、
前記アプリケーションプログラムは、前記特定プログラムが有するプラグイン機能によって、前記特定プログラムに追加されるプログラムであり、
前記アプリケーションプログラムは、前記情報処理装置の通信インターフェースを介して接続するクラウドサーバに記憶されるコンテンツの印刷指示を、前記特定プログラムが受け付けた場合に、前記制御部によって起動され、
前記アプリケーションプログラムは、前記制御部に、
前記クラウドサーバから前記コンテンツをダウンロードするダウンロード処理と、
前記クラウドサーバに登録されたプリンタであるクラウドプリンタに印刷データを送信するクラウド印刷か、前記情報処理装置の通信インターフェースを介して接続するプリンタであるローカルプリンタに印刷データを送信するローカル印刷か、の選択を受け付ける選択処理と、
前記選択処理にて前記クラウド印刷が選択された場合、前記クラウド印刷を実行する指示を、前記クラウドサーバに対して出力するクラウド印刷指示出力処理と、
前記選択処理にて前記ローカル印刷が選択された場合、前記ダウンロード処理にてダウンロードした前記コンテンツに基づく印刷データを生成し、生成した前記印刷データを、前記ローカルプリンタに対して送信する印刷データ送信処理と、
を実行させる、
ことを特徴とするアプリケーションプログラム。
【請求項２】
請求項１に記載するアプリケーションプログラムであって、
前記アプリケーションプログラムは、前記制御部に、
前記選択処理にて前記クラウド印刷が選択された場合、前記クラウドサーバにプリンタが登録されているか否かを判断するクラウドプリンタ判断処理と、
前記クラウドプリンタ判断処理にてプリンタが登録されていないと判断した場合、ローカルプリンタの１つを前記クラウドサーバに登録する指示を、前記クラウドサーバに対して出力するプリンタ登録指示出力処理と、
を実行させる、
ことを特徴とするアプリケーションプログラム。
【請求項３】
請求項１または請求項２に記載するアプリケーションプログラムであって、
前記アプリケーションプログラムの前記選択処理では、
前記ダウンロード処理にてダウンロードした前記コンテンツを用いて、前記情報処理装置のユーザインターフェースに、選択したプリンタでの印刷プレビューを表示する、
ことを特徴とするアプリケーションプログラム。
【請求項４】
請求項１から請求項３のいずれか１つに記載するアプリケーションプログラムであって、
前記アプリケーションプログラムは、前記制御部に、
前記クラウドサーバへのログインに用いるアカウント情報を取得するアカウント取得処理と、
前記アカウント取得処理にて前記アカウント情報を取得した場合に、取得した前記アカウント情報を用いて、前記クラウドサーバの利用が制限されているか否かを判断する制限判断処理と、
前記制限判断処理にて前記クラウドサーバの利用が制限されていないと判断した場合、前記アカウント取得処理にて取得した前記アカウント情報でのログインを前記クラウドサーバに要求し、前記制限判断処理にて前記クラウドサーバの利用が制限されていると判断した場合、前記アカウント取得処理にて取得した前記アカウント情報でのログインを前記クラウドサーバに要求しないログイン要求処理と、
を実行させる、
ことを特徴とするアプリケーションプログラム。
【請求項５】
請求項４に記載するアプリケーションプログラムであって、
前記アプリケーションプログラムは、前記制御部に、
前記アカウント取得処理にて取得した前記アカウント情報を用いて前記クラウドサーバにログイン中か否かを判断するログイン判断処理を実行させ、
前記ログイン判断処理にてログイン中でないと判断した場合、前記制限判断処理および前記ログイン要求処理を実行し、
前記ログイン判断処理にてログイン中と判断した場合、前記制限判断処理および前記ログイン要求処理を実行しない、
ことを特徴とするアプリケーションプログラム。
【請求項６】
印刷指示機能を有する特定プログラムが組み込まれた情報処理装置の制御部によって実行可能なアプリケーションプログラムであって、
前記アプリケーションプログラムは、前記特定プログラムが有するプラグイン機能によって、前記特定プログラムに追加されるプログラムであり、
前記アプリケーションプログラムは、前記情報処理装置の通信インターフェースを介して接続するクラウドサーバに記憶されるコンテンツの印刷指示を、前記特定プログラムが受け付けた場合に、前記制御部によって起動され、
前記アプリケーションプログラムは、前記制御部に、
前記クラウドサーバから前記コンテンツをダウンロードするダウンロード処理と、
前記情報処理装置を介さずに前記クラウドサーバからプリンタに印刷データが送信されるクラウド印刷か、前記情報処理装置がプリンタに印刷データを送信するローカル印刷か、の選択を受け付ける選択処理と、
前記選択処理にて前記クラウド印刷が選択された場合、前記クラウド印刷を実行する指示を、前記クラウドサーバに対して出力するクラウド印刷指示出力処理と、
前記選択処理にて前記ローカル印刷が選択された場合、前記ダウンロード処理にてダウンロードした前記コンテンツに基づく印刷データを生成し、生成した前記印刷データを、前記ローカル印刷を行うプリンタに対して送信する印刷データ送信処理と、
を実行させる、
ことを特徴とするアプリケーションプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書に開示される技術分野は、アプリケーションプログラムに関する。さらに詳細には、クラウドサーバに記憶されるコンテンツの印刷に関するものである。
【背景技術】
【０００２】
近年、パーソナルコンピュータ（ＰＣ）やスマートフォン等の情報処理装置から、インターネット上のクラウドサーバに接続し、クラウドサーバに記憶されるコンテンツの印刷を所定のプリンタに行わせるクラウド印刷が知られている。例えば特許文献１には、クラウドサーバと通信可能なプリンタであって、クラウドサーバから印刷ジョブを受信する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−１０９６１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
クラウド印刷を行う場合、あらかじめクラウド印刷用のプリンタをクラウドサーバに登録しておき、その登録プリンタにコンテンツあるいはコンテンツに基づくデータが送信されることで印刷が行われる。しかしながら、必ずしもユーザが登録プリンタの近くにいるとは限らず、一時的に別のプリンタを使用したい場合もある。このような場合であっても、クラウド印刷を行うにはその別のプリンタの登録が必要になる。プリンタの登録はユーザにとって手間であり、使い勝手の悪さを感じさせることがある。また、クラウド印刷に対応していないプリンタを使用したい場合もある。
【０００５】
本明細書に開示される技術は、前記した従来の技術が有する問題点を解決するためになされたものである。すなわちその課題とするところは、クラウドサーバに記憶されるコンテンツを印刷する場合の、ユーザの使い勝手を向上させる技術を提供することにある。
【課題を解決するための手段】
【０００６】
この課題の解決を目的としてなされたアプリケーションプログラムは、印刷指示機能を有する特定プログラムが組み込まれた情報処理装置の制御部によって実行可能なアプリケーションプログラムであって、前記アプリケーションプログラムは、前記特定プログラムが有するプラグイン機能によって、前記特定プログラムに追加されるプログラムであり、前記アプリケーションプログラムは、前記情報処理装置の通信インターフェースを介して接続するクラウドサーバに記憶されるコンテンツの印刷指示を、前記特定プログラムが受け付けた場合に、前記制御部によって起動され、前記アプリケーションプログラムは、前記制御部に、前記クラウドサーバから前記コンテンツをダウンロードするダウンロード処理と、前記クラウドサーバに登録されたプリンタであるクラウドプリンタに印刷データを送信するクラウド印刷か、前記情報処理装置の通信インターフェースを介して接続するプリンタであるローカルプリンタに印刷データを送信するローカル印刷か、の選択を受け付ける選択処理と、前記選択処理にて前記クラウド印刷が選択された場合、前記クラウド印刷を実行する指示を、前記クラウドサーバに対して出力するクラウド印刷指示出力処理と、前記選択処理にて前記ローカル印刷が選択された場合、前記ダウンロード処理にてダウンロードした前記コンテンツに基づく印刷データを生成し、生成した前記印刷データを、前記ローカルプリンタに対して送信する印刷データ送信処理と、を実行させる、ことを特徴としている。
【０００７】
本明細書に開示されるアプリケーションプログラムは、情報処理装置に組み込まれている特定のプログラムが有するプラグイン機能によって、特定プログラムに追加され、クラウドサーバに記憶されるコンテンツの印刷指示を受け付けた場合に起動される。そして、アプリケーションプログラムは、制御部に、クラウドプリンタによるクラウド印刷かローカルプリンタによるローカル印刷かの選択を行わせる。つまり、情報処理装置では、クラウドサーバに記憶されるコンテンツを印刷する場合であっても、ローカル印刷の選択を受け付け可能であり、ローカル印刷が選択された場合には、コンテンツをダウンロードし、ダウンロードしたコンテンツに基づく印刷データを生成し、ローカルプリンタに送信する。従って、クラウド印刷に対応していないプリンタを使用してのコンテンツの印刷が可能であるので、ユーザの使い勝手の向上が期待できる。
【０００８】
上記の機能を実現するための制御方法、およびアプリケーションプログラムを格納するコンピュータにて読取可能な記憶媒体も、新規で有用である。
【発明の効果】
【０００９】
本明細書に開示される技術によれば、クラウドサーバに記憶されるコンテンツを印刷する場合の、ユーザの使い勝手を向上させる技術が実現される。
【図面の簡単な説明】
【００１０】
【図１】実施の形態にかかる印刷システムの概略構成図である。
【図２】印刷システムの動作を示すシーケンス図である。
【図３】印刷処理の手順を示すフローチャートである。
【図４】ログイン処理の手順を示すフローチャートである。
【図５】クラウド印刷処理の手順を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下、本実施の形態にかかるアプリケーションプログラム（以下、「アプリ」とする）について、添付図面を参照しつつ詳細に説明する。本形態は、インターネット上にあるコンテンツを印刷する際に利用されるアプリである。
【００１２】
本形態のアプリは、例えば、図１に示すように、情報処理装置１を用いて、複数のプリンタのうちの１台に印刷させる場合に使用されるプログラムである。情報処理装置１は、例えば、パーソナルコンピュータ、スマートフォン、タブレットコンピュータであり、各プリンタに印刷させる画像データの生成及び編集、各プリンタへの印刷実行指示の送信等を行う装置である。
【００１３】
本形態の情報処理装置１によって印刷させることのできるプリンタ２、３、４は、いずれも、印刷対象の媒体への印刷が可能な装置であり、例えば、ページプリンタ、コピー機、複合機、ＦＡＸ装置である。なお、本形態の印刷システムを構成する情報処理装置やプリンタの台数は、図１の例に限らない。
【００１４】
本形態の情報処理装置１は、例えば、図１に示すように、インターネット１００を介して、クラウドサーバ１０１に接続可能である。クラウドサーバ１０１は、記憶装置を備え、文書や画像などを含む種々のコンテンツのアップロードやダウンロードを受け付ける。なお、クラウドサーバ１０１は、１台の装置によって構成されてもよいし、複数台の装置の協働によって機能するものであってもよい。
【００１５】
本形態の情報処理装置１は、図１に示すように、ＣＰＵ１１と、ＲＯＭ１２と、ＲＡＭ１３と、不揮発性メモリ１４と、を含むコントローラ１０を備えている。さらに、ユーザインターフェース（以下、「ユーザＩＦ」とする）１５と、ネットワークインターフェース（以下、「ネットワークＩＦ」とする）１６と、ＵＳＢインターフェース（以下、「ＵＳＢ−ＩＦ」とする）１７と、を備え、これらがコントローラ１０に電気的に接続されている。なお、図１中のコントローラ１０は、情報処理装置１の制御に利用されるハードウェアやソフトウェアを纏めた総称であり、制御部の一例である。
【００１６】
ＣＰＵ１１は、ＲＯＭ１２や不揮発性メモリ１４から読み出したプログラムに従って、また、ユーザの操作に基づいて、各種の処理を実行する。ＲＯＭ１２には、情報処理装置１を起動するための起動プログラム等が記憶されている。ＲＡＭ１３は、各種の処理が実行される際の作業領域として、あるいは、データを一時的に記憶する記憶領域として利用される。不揮発性メモリ１４は、例えば、ＨＤＤ、フラッシュメモリであり、各種のプログラムや画像データ等のデータや各種設定を記憶する領域として利用される。ＣＰＵ１１のバッファ、ＲＯＭ１２、ＲＡＭ１３、不揮発性メモリ１４は、メモリの一例である。
【００１７】
本形態の情報処理装置１の不揮発性メモリ１４には、オペレーティングシステム（以下、「ＯＳ」とする）４１と、ブラウザ４２と、印刷アプリ４３と、を含む、各種のプログラムが記憶されている。ＯＳ４１の一部は、ＲＯＭ１２に含まれていてもよい。
【００１８】
ブラウザ４２は、ウェブページを表示するプログラムであり、プラグイン機能を有している。ブラウザ４２は、特定プログラムの一例である。プラグイン機能は、機能拡張のために、プラグインアプリとして他のプログラムの登録を受け付け、受け付けたプラグインアプリを一種のサブルーチンとして、その処理を実行できる機能である。ブラウザ４２は、さらに、印刷指示機能も有し、表示中のウェブページの印刷指示を受け付ける。
【００１９】
印刷アプリ４３は、ブラウザ４２のプラグイン機能によってブラウザ４２に追加され、ブラウザ４２にてクラウドサーバ１０１のコンテンツを印刷する指示を受け付けた場合に、起動される。印刷アプリ４３は、受け付けた印刷指示にて指定されている印刷装置に応じて、異なる処理を実行する。印刷アプリ４３の動作の詳細については、後述する。
【００２０】
ユーザＩＦ１５は、ユーザによる操作を受け付けるとともに情報の表示を行うハードウェアを含む。ユーザＩＦ１５に含まれるハードウェアは、タッチパネル等の入力機能と出力機能との両方を備えるものであっても良いし、ディスプレイとキーボードやマウスとの組み合わせによって構成されるものであっても良い。
【００２１】
ネットワークＩＦ１６は、インターネット１００等のネットワークを介して外部装置と通信を行うためのハードウェアを含む。ネットワークＩＦ１６の通信規格は、例えば、イーサネット（登録商標）、Ｗｉ−Ｆｉ（登録商標）などである。ＵＳＢ−ＩＦ１７は、ＵＳＢ規格に基づく通信を行うためのハードウェアを含む。ネットワークＩＦ１６やＵＳＢ−ＩＦ１７の通信の態様は、有線でも無線でもよい。ネットワークＩＦ１６とＵＳＢ−ＩＦ１７は、通信インターフェースの一例である。
【００２２】
次に、各プリンタについて説明する。プリンタには、クラウド印刷に対応しているものと対応していないものとがある。クラウド印刷は、インターネット１００を利用するクラウド印刷サービスによって提供される印刷方法であり、クラウド印刷サービスに登録されたクラウドプリンタに対して、インターネット１００上のコンテンツをインターネット１００を介して送信し、印刷させる印刷方法である。クラウド印刷による印刷実行時には、プリンタは、インターネット１００に接続されていればよく、情報処理装置１とは接続されていなくても良い。
【００２３】
プリンタ２は、クラウド印刷に対応していないプリンタであり、情報処理装置１から印刷指示可能なローカルプリンタである。プリンタ２は、例えば、クラウド印刷で用いられるデータ形式に対応していないプリンタ、インターネット１００に接続されていないプリンタである。また、プリンタ２は、例えば、ＵＳＢ−ＩＦ１７を介して、情報処理装置１と１対１に接続されているプリンタであっても良い。プリンタ２は、インターネット１００に接続するための通信インターフェースを備えていないものであっても良い。
【００２４】
プリンタ３とプリンタ４は、クラウド印刷に対応可能なプリンタであり、クラウドプリンタである。プリンタ３とプリンタ４は、いずれも、クラウド印刷で用いられるデータ形式に対応しているプリンタであり、インターネット１００に接続するための通信インターフェースを備え、インターネット１００に接続されているプリンタである。つまり、プリンタ３とプリンタ４は、図１に示すように、インターネット１００を介して、クラウドサーバ１０１に接続可能である。
【００２５】
本形態では、プリンタ３は、情報処理装置１にも接続され、情報処理装置１から印刷データを送信することもできる。なお、本形態では、プリンタ３は、情報処理装置１のクラウドプリンタとしての登録はされていないものとする。プリンタ３は、クラウド印刷サービスに登録されれば、クラウド印刷を実行できる。
【００２６】
一方、プリンタ４は、例えば、遠隔地に配置されているプリンタであって、情報処理装置１に直接接続されてはいないが、情報処理装置１から使用するクラウドプリンタとしてクラウド印刷サービスに登録済みのプリンタである。情報処理装置１は、クラウド印刷サービスにて印刷を行わせる装置としてプリンタ４を指定して、クラウド印刷を行わせることができる。
【００２７】
続いて、本形態の印刷システムによる印刷動作について説明する。この印刷動作は、クラウドサーバ１０１に記憶されるコンテンツを印刷する場合の動作である。なお、以下の説明における処理およびフローチャートの各処理ステップは、基本的に、印刷アプリ４３などのプログラムに記述された命令に従ったＣＰＵ１１の処理を示す。ＣＰＵ１１による処理は、情報処理装置１のＯＳ４１の他のモジュールとデータ交換するためのＩＦ（ＡＰＩとも呼ばれる）を用いたハードウェア制御も含む。本明細書では、ＯＳ４１の記載を省略して各プログラムの動作を説明する。
【００２８】
まず、印刷動作の概要を、図２のシーケンス図を参照して説明する。ブラウザ４２は、起動を指示するユーザ操作に基づいて、ＣＰＵ１１によって起動され（手順５１）、指定されたウェブページをユーザＩＦ１５に表示させる（手順５２）。さらに、ブラウザ４２は、ユーザ操作によって、クラウドサーバ１０１を利用する指示を受け付ける（手順５３）。
【００２９】
クラウドサーバ１０１は、記憶するコンテンツを利用させる際に、認証のためのログインを要求する。ブラウザ４２は、ユーザ操作に基づいてログイン情報を取得し、取得したログイン情報をクラウドサーバ１０１に送信する（手順５４）。ログインに成功した場合、クラウドサーバ１０１は、ブラウザ４２にコンテンツを表示させる（手順５５）。
【００３０】
ブラウザ４２は、クラウドサーバ１０１のコンテンツを表示中に、表示しているコンテンツの印刷指示を受け付ける（手順５６）。そして、ブラウザ４２は、クラウドサーバ１０１に記憶されるコンテンツの印刷指示を受け付けたことに応じて、プラグインアプリである印刷アプリ４３を起動する（手順５７）。
【００３１】
印刷アプリ４３は、起動されると、指定されたコンテンツの印刷に際して、クラウド印刷を行うか、ローカル印刷を行うか、をユーザに問い合わせる表示を行い、ユーザ操作を受け付ける。
【００３２】
そして、印刷アプリ４３は、クラウド印刷の指示を受け付けた場合には、クラウド印刷に対応可能なクラウドプリンタのうちからユーザの選択を受け付け、クラウド印刷サービスを利用してクラウドプリンタに印刷させる。本形態では、プリンタ４は、クラウド印刷サービスに登録済みであり、クラウドプリンタとして選択可能である。また、プリンタ３は、クラウド印刷サービスに未登録の状態ではクラウド印刷を実行できないが、登録すればクラウド印刷が可能であることから、クラウドプリンタとして選択可能である。
【００３３】
印刷アプリ４３は、例えば、クラウド印刷の指示を受け付け、プリンタ４が選択された場合、クラウド印刷の実行指示をクラウド印刷サービスを介してクラウドサーバ１０１に出力する（手順５８）。クラウドサーバ１０１は、クラウド印刷の指示に基づいて印刷データを生成し、指定されたクラウドプリンタであるプリンタ４に印刷データを送信する（手順５９）。プリンタ４は、印刷データを受信して印刷を実行する（手順６０）。これにより、クラウドサーバ１０１に記憶されるコンテンツに基づく印刷物が、プリンタ４から出力される。
【００３４】
プリンタ４は、印刷完了等のステータス情報をクラウドサーバ１０１に送信する（手順６１）。クラウドサーバ１０１は、受信したステータス情報を印刷アプリ４３に送信する（手順６２）。印刷アプリ４３は、受信したステータス情報を表示する。
【００３５】
一方、印刷アプリ４３は、ローカル印刷の指示を受け付けた場合には、クラウド印刷サービスを利用せず、情報処理装置１に接続されているローカルプリンタに印刷させる。印刷アプリ４３は、ローカル印刷を実行可能なプリンタを検索して、検索されたプリンタのうちからユーザの選択を受け付け、選択されたプリンタにローカル印刷を実行させる。本形態では、プリンタ２とプリンタ３は、情報処理装置１に接続されており、ローカル印刷を実行可能であることから、ローカルプリンタとして選択可能である。
【００３６】
印刷アプリ４３は、例えば、ローカル印刷の指示を受け付け、プリンタ２が選択された場合、クラウドサーバ１０１に印刷対象のコンテンツのダウンロードを要求する（手順６４）。そして、印刷アプリ４３は、クラウドサーバ１０１からコンテンツをダウンロードする（手順６５）。すなわち、印刷アプリ４３は、コンテンツのデータを、情報処理装置１のＲＡＭ１３に一旦記憶させる。さらに、印刷アプリ４３は、ダウンロードしたコンテンツに基づいて、プリンタ２にてサポート可能な形式の印刷データを生成する（手順６６）。
【００３７】
そして、印刷アプリ４３は、印刷データをプリンタ２に送信する（手順６７）。プリンタ２は、印刷データを受信して印刷を実行する（手順６８）。これにより、クラウドサーバ１０１に記憶されるコンテンツに基づく印刷物が、プリンタ２から出力される。プリンタ２は、印刷完了等のステータス情報を印刷アプリ４３に送信する（手順６９）。印刷アプリ４３は、受信したステータス情報を表示する。
【００３８】
続いて、印刷アプリ４３による印刷処理の手順について、図３のフローチャートを参照して説明する。印刷処理は、ブラウザ４２がクラウドサーバ１０１のウェブページを表示中に、ユーザ操作により印刷指示を受け付けたことで、ブラウザ４２から起動される。印刷処理は、ブラウザ４２による印刷アプリ４３の起動を契機に、ＣＰＵ１１にて実行される。なお、以下の説明中に付記した手順番号は、図２のシーケンス図中に示す手順番号に対応する。
【００３９】
印刷処理では、ＣＰＵ１１は、まず、ブラウザ４２に表示しているウェブページを運営するクラウドサーバ１０１にログイン済みであるか否かを判断する（Ｓ１０１）。Ｓ１０１は、ログイン判断処理の一例である。ログイン済みであるか否かの判断は、例えば、クラウドサーバ１０１に問い合わせることによって行われる。そして、ログイン済みではないと判断した場合（Ｓ１０１：ＮＯ）、ＣＰＵ１１は、ログイン処理を実行する（Ｓ１０２、手順５４）。ログイン処理の手順について、図４のフローチャートを参照して説明する。
【００４０】
ログイン処理では、ＣＰＵ１１は、まず、ユーザによって入力されたアカウント情報を取得する（Ｓ２０１）。Ｓ２０１は、アカウント取得処理の一例である。アカウント情報は、例えば、ＩＤやメールアドレスとパスワードとの組であり、ユーザによって予めクラウドサーバ１０１に登録されている情報である。なお、アカウントを未登録のユーザは、例えば、クラウドサーバ１０１のアカウント作成のページにて、アカウントを作成してからログイン手続きを実行する。
【００４１】
アカウント情報は、例えば、ブラウザ４２を介して入力された情報であってもよいし、印刷アプリ４３の起動時のパラメータとして付加されていてもよい。なお、ブラウザ４２は、キャッシュ機能を有し、過去に入力されたＩＤやパスワードの情報を保存している場合がある。ブラウザ４２がキャッシュ情報を有している場合には、アカウント情報の入力操作を省略して、自動的にログインしても良い。あるいは、ブラウザ４２は、キャッシュ情報を参照して、ログインページにアカウント情報を表示させても良い。
【００４２】
ＣＰＵ１１は、取得したアカウント情報が、クラウドサーバ１０１の利用を制限されている情報であるか否かを判断する（Ｓ２０２）。Ｓ２０２は、制限判断処理の一例である。そして、利用が制限されていると判断した場合（Ｓ２０２：ＹＥＳ）、ＣＰＵ１１は、ユーザＩＦ１５を制御して、利用が制限されていることを示すメッセージを表示させ（Ｓ２０３）、ログインの手続きを行わない。つまり、入力されたアカウント情報が、クラウドサーバ１０１にログイン可能なものであったとしても、クラウドサーバ１０１へのログインを制限する。
【００４３】
例えば、クラウドサーバ１０１に記憶されるコンテンツに対し、閲覧のみを許可し、印刷を許可しないアカウントが設定されている場合がある。また、例えば、複数のユーザにて共有される情報処理装置１では、情報処理装置１に設定されているクラウドプリンタの使用を許可するアカウントを制限する場合がある。印刷アプリ４３は、例えば、利用制限の対象となるアカウントのリストを取得し、Ｓ２０１にて取得したアカウント情報がそのリストに含まれているか否かに基づいて、Ｓ２０２の判断を行う。なお、利用制限のリストは、例えば、自装置のデータベースで管理してもよいし、外部サーバに問い合わせてもよい。
【００４４】
一方、取得したアカウント情報の利用が制限されていないと判断した場合（Ｓ２０２：ＮＯ）、ＣＰＵ１１は、取得したアカウント情報によるログインをクラウドサーバ１０１に要求する（Ｓ２０４）。Ｓ２０４は、ログイン要求処理の一例である。そして、ＣＰＵ１１は、ログインに成功したか否かを判断する（Ｓ２０５）。ログインに成功したと判断した場合（Ｓ２０５：ＹＥＳ）、ＣＰＵ１１は、ログイン処理を終了して、印刷処理に戻る。
【００４５】
一方、ログインに成功しなかったと判断した場合（Ｓ２０５：ＮＯ）、または、Ｓ２０３の後、ＣＰＵ１１は、別のアカウント情報によるログインを行うか否かを判断する（Ｓ２０６）。例えば、ユーザの指示に基づいて、別のアカウント情報によるログインを行うと判断した場合（Ｓ２０６：ＹＥＳ）、ＣＰＵ１１は、Ｓ２０１に戻って、新たなアカウント情報を取得する。
【００４６】
別のアカウント情報によるログインを行わないと判断した場合（Ｓ２０６：ＮＯ）、ＣＰＵ１１は、ログイン失敗として（Ｓ２０７）、ログイン処理を終了する。ＣＰＵ１１は、例えば、ユーザによるログイン中止の指示を受け付けた場合、または、新たなアカウント情報を取得しないまま所定の時間が経過した場合、別のアカウントでのログインを行わないと判断する。なお、利用制限によってＳ２０３を実行した後は、別のアカウントでのログインを受け付けずに、Ｓ２０７に進んでログイン処理を終了してもよい。
【００４７】
ログイン処理を実行することで、ＣＰＵ１１は、クラウドサーバ１０１の利用が制限されていない場合にクラウドサーバ１０１にログインを要求する一方、クラウドサーバ１０１の利用が制限されているアカウントの場合には、クラウドサーバ１０１にログインを要求しない。これにより、予期しないクラウド印刷の可能性を低減できる。
【００４８】
図３の印刷処理の説明に戻り、ＣＰＵ１１は、Ｓ１０２のログイン処理によってログインに成功したか否かを判断する（Ｓ１０３）。ログインに成功しなかったと判断した場合（Ｓ１０３：ＮＯ）、ＣＰＵ１１は、クラウドサーバ１０１のコンテンツの印刷を実行できないので、印刷処理を終了する。
【００４９】
ログイン済みであると判断した場合（Ｓ１０１：ＹＥＳ）、または、ログインに成功したと判断した場合（Ｓ１０３：ＹＥＳ）、ＣＰＵ１１は、印刷の対象となるコンテンツの指定を受け付ける（Ｓ１０４）。ＣＰＵ１１は、例えば、ユーザＩＦ１５を制御して、コンテンツの一覧を表示させ、コンテンツの選択指示を受け付ける。そして、ＣＰＵ１１は、指定されたコンテンツのダウンロードが可能か否かを判断する（Ｓ１０５）。
【００５０】
コンテンツのダウンロードができないと判断した場合（Ｓ１０５：ＮＯ）、ＣＰＵ１１は、ユーザＩＦ１５を制御して、印刷が不可能であることを示すメッセージを表示させる（Ｓ１０６）。例えば、コンテンツによっては、ダウンロードを禁止する情報が付与されている場合がある。ウェブページでの閲覧は可能であっても、ダウンロードや印刷が禁止されているコンテンツが選択された場合、ＣＰＵ１１は、Ｓ１０５にてＮＯと判断する。
【００５１】
ダウンロードが可能であると判断した場合（Ｓ１０５：ＹＥＳ）、ＣＰＵ１１は、コンテンツのダウンロードを行う（Ｓ１０７、手順６４、６５）。Ｓ１０７は、ダウンロード処理の一例である。そして、ＣＰＵ１１は、ユーザＩＦ１５を制御して、ダウンロードしたコンテンツを印刷した場合の印刷プレビューを表示させる（Ｓ１０８）。そして、ＣＰＵ１１は、印刷実行の指示を受け付けたか否かを判断する（Ｓ１０９）。
【００５２】
ＣＰＵ１１は、印刷プレビューの表示中に、例えば、クラウド印刷かローカル印刷かの選択、印刷を実行させるプリンタの指定、印刷条件の変更、印刷実行の指示、を受け付ける。印刷実行の指示を受け付けていないと判断した場合（Ｓ１０９：ＮＯ）、ＣＰＵ１１は、さらにプレビューの表示を行う。ＣＰＵ１１は、例えば、受け付けた印刷設定に基づいて、表示させる印刷プレビューを変更する。
【００５３】
印刷実行の指示を受け付けたと判断した場合（Ｓ１０９：ＹＥＳ）、ＣＰＵ１１は、受け付けた印刷指示の印刷設定が、クラウド印刷の指示であるか否かを判断する（Ｓ１１０）。Ｓ１１０は、選択処理の一例である。
【００５４】
クラウド印刷の指示であると判断した場合（Ｓ１１０：ＹＥＳ）、ＣＰＵ１１は、クラウド印刷処理を実行する（Ｓ１１１）。クラウド印刷処理の手順について、図５のフローチャートを参照して説明する。
【００５５】
クラウド印刷処理では、ＣＰＵ１１は、まず、指定されたプリンタがクラウドプリンタとして登録されているか否かを判断する（Ｓ３０１）。Ｓ３０１は、クラウドプリンタ判断処理の一例である。本形態では、ＣＰＵ１１は、指定されたプリンタがプリンタ４であれば、クラウドプリンタとして登録されていると判断し、指定されたプリンタがプリンタ３であれば、クラウドプリンタとして登録されていないと判断する。
【００５６】
クラウドプリンタとして登録されていないと判断した場合（Ｓ３０１：ＮＯ）、ＣＰＵ１１は、クラウド印刷サービスにプリンタ３の情報を送信し、例えば、プリンタ３をクラウドプリンタとして登録するよう指示する情報を出力する（Ｓ３０２）。Ｓ３０２は、プリンタ登録指示出力処理の一例である。
【００５７】
例えば、プリンタ３にクラウド印刷を実行させる指示を受け付けた場合、プリンタ３をクラウド印刷サービスに登録する必要がある。クラウド印刷が選択され、指定されたプリンタがクラウド印刷サービスにクラウドプリンタとして登録されていない場合、印刷アプリ４３が情報処理装置１から指定されたプリンタの情報をクラウド印刷サービスに登録する。従って、プリンタを登録するためのユーザの手間を軽減できる。なお、登録指示には、指定されたプリンタの識別情報、すなわち、クラウドサーバ１０１がプリンタにアクセスするための情報を付加する。
【００５８】
そして、指定されたプリンタが登録済みであると判断した場合（Ｓ３０１：ＹＥＳ）、または、Ｓ３０２の後、ＣＰＵ１１は、指定されたプリンタが使用可能な状態であるか否かを判断する（Ｓ３０３）。プリンタ３またはプリンタ４が、例えば、オフライン状態や、エラー停止状態であれば、使用可能ではない。ＣＰＵ１１は、例えば、プリンタ３またはプリンタ４に状態の問い合わせ信号を送信し、使用可能状態の応答を受信したか否かに基づいて、Ｓ３０３の判断を行う。ＣＰＵ１１は、クラウドサーバ１０１を介してＳ３０３の問い合わせを行っても良い。
【００５９】
指定されたプリンタが使用可能ではないと判断した場合（Ｓ３０３：ＮＯ）、ＣＰＵ１１は、他のプリンタが有るか否かを判断する（Ｓ３０４）。ＣＰＵ１１は、例えば、ユーザＩＦ１５を制御して、指定されたプリンタが使用可能ではないことを表示させ、他のプリンタの選択を促す。その際、ＣＰＵ１１は、例えば、ネットワークＩＦ１６やＵＳＢ−ＩＦ１７を制御して、使用可能な状態のプリンタが有るか否かを判断し、選択肢として表示させても良い。他のプリンタが有ると判断した場合（Ｓ３０４：ＹＥＳ）、ＣＰＵ１１は、Ｓ３０１に戻って、使用可能なプリンタがクラウドプリンタとして登録されているか否かを判断する。
【００６０】
指定されたプリンタが使用可能な状態であると判断した場合（Ｓ３０３：ＹＥＳ）、ＣＰＵ１１は、クラウドサーバ１０１にクラウド印刷の指示を出力し（Ｓ３０５、手順５８）、クラウド印刷処理を終了する。Ｓ３０５は、クラウド印刷指示出力処理の一例である。ＣＰＵ１１は、クラウドサーバ１０１に対して、指定されたクラウドプリンタに印刷データを送信する指示を出力させる。これにより、クラウドサーバ１０１から当該プリンタに印刷データが送信され、プリンタは、印刷を実行する。
【００６１】
一方、使用可能なプリンタが無いと判断した場合（Ｓ３０４：ＮＯ）、ＣＰＵ１１は、ユーザＩＦ１５を制御して、エラーメッセージを表示させ（Ｓ３０６）、クラウド印刷処理を終了する。
【００６２】
図３の印刷処理の説明に戻り、受け付けた印刷指示がクラウド印刷の指示ではないと判断した場合（Ｓ１１０：ＮＯ）、ＣＰＵ１１は、Ｓ１０７にてダウンロードしたコンテンツに基づいて、印刷データを生成する（Ｓ１１２）。そして、ＣＰＵ１１は、生成した印刷データを指定されたプリンタに送信し、プリンタに印刷を実行させる（Ｓ１１３）。Ｓ１１３は、印刷データ送信処理の一例である。プリンタ２が選択された場合や、クラウド印刷サービスに登録しないでプリンタ３に印刷させる場合、ＣＰＵ１１は、クラウド印刷を行わない。クラウド印刷に対応していないプリンタであっても、生成済みの印刷データを送信することで、コンテンツの印刷が可能となる。
【００６３】
そして、Ｓ１０６の後、Ｓ１１１の後、または、Ｓ１１３の後、ＣＰＵ１１は、印刷の終了指示を受け付けたか否かを判断する（Ｓ１１４）。終了指示を受け付けていないと判断した場合（Ｓ１１４：ＮＯ）、ＣＰＵ１１は、Ｓ１０４に戻って、印刷対象のコンテンツの指定を受け付ける。一方、終了の指示を受け付けたと判断した場合（Ｓ１１４：ＹＥＳ）、ＣＰＵ１１は、印刷処理を終了する。なお、ＣＰＵ１１は、印刷処理の終了前に、ダウンロードしたコンテンツを削除しても良い。
【００６４】
以上、詳細に説明したように、本形態の印刷アプリ４３は、ブラウザ４２のプラグイン機能によって、ブラウザ４２にてクラウドサーバ１０１に記憶されるコンテンツの印刷指示を受け付けた場合に起動される。そして、印刷アプリ４３は、ローカル印刷の選択を受け付け可能であり、クラウドサーバ１０１に記憶されるコンテンツであっても、クラウドサーバ１０１に登録されていないプリンタ（例えば、クラウド印刷に対応していないプリンタ２）に印刷を行わせることができる。一方、印刷アプリ４３は、クラウド印刷が選択された場合には、クラウド印刷を実行させる。つまり、印刷アプリ４３によれば、クラウドプリンタでの印刷もローカルプリンタでの印刷も選択できることから、ユーザの使い勝手の向上が期待できる。
【００６５】
なお、クラウド印刷とは別に、プリンタの機種に限定されない汎用の印刷データを作成してプリンタに送信する、いわゆる、ドライバレス印刷技術がある。ドライバレス印刷技術による印刷を行うためには、プリンタは、汎用の印刷データに基づいて自機にて用いる印刷データを作成するための作成機能を有している必要がある。つまり、当該作成機能を有していないプリンタは、ドライバレス印刷技術による印刷を実行できない。例えば、クラウド印刷サービスによって送信される印刷データが、このドライバレス印刷技術による汎用の印刷データである場合には、当該作成機能を有していないプリンタは、クラウド印刷サービスによる印刷を実行できないことになる。本形態の印刷アプリ４３によれば、クラウドサーバ１０１のコンテンツを、クラウド印刷サービスに対応していないプリンタに印刷させることもできるので、ユーザの使い勝手の向上が期待できる。
【００６６】
なお、本実施の形態は単なる例示にすぎず、本発明を何ら限定するものではない。したがって本明細書に開示される技術は当然に、その要旨を逸脱しない範囲内で種々の改良、変形が可能である。例えば、ローカル印刷を実行するローカルプリンタと、クラウド印刷を実行するクラウドプリンタと、の何れか一方のみを含むシステムにも適用可能である。
【００６７】
また、例えば、利用制限は行わなくても良い。例えば、クラウドサーバ１０１にログインできるアカウントであれば、印刷も可能であるとしても良い。
【００６８】
また、例えば、印刷アプリ４３の起動時にクラウドサーバ１０１にログイン済みであれば、ログイン処理を実行しないとしたが、ログイン済みであっても、アカウント情報に基づいて制限情報を確認してもよい。例えば、ログイン済みのアカウント情報が、情報処理装置１での印刷の実行を制限されるアカウント情報であれば、メッセージを表示して強制的にログアウトするとしても良い。
【００６９】
また、例えば、印刷プレビューの表示を行わないのであれば、クラウド印刷が選択された場合には、コンテンツのダウンロードを行わなくても良い。例えば、印刷処理のＳ１０４の後、Ｓ１１０の判断を実行し、Ｓ１１０にてＮＯと判断した場合に限り、Ｓ１０５の判断を行うとしても良い。つまり、ローカル印刷が選択された場合にダウンロードするとしても良い。あるいは、クラウド印刷であっても、プレビューの表示の指示を受け付けた場合にダウンロードするとしても良い。
【００７０】
また、実施の形態に開示されている処理は、単一のＣＰＵ、複数のＣＰＵ、ＡＳＩＣなどのハードウェア、またはそれらの組み合わせで実行されてもよい。また、実施の形態に開示されている処理は、その処理を実行するためのプログラムを記録した記録媒体、または方法等の種々の態様で実現することができる。
【符号の説明】
【００７１】
１  情報処理装置
２、３、４  プリンタ
１１  ＣＰＵ
１５  ユーザＩＦ
１６  ネットワークＩＦ
１７  ＵＳＢ−ＩＦ
４２  ブラウザ
４３  印刷アプリ
１０１  クラウドサーバ
【図１】
2019179311.tif 000003
【図２】
2019179311.tif 000004
【図３】
2019179311.tif 000005
【図４】
2019179311.tif 000006
【図５】
2019179311.tif 000007