(57)【要約】【課題】  Ｗｅｂブラウザー上で動作する一般的なＷｅｂアプリケーションで作成した印刷データを印刷処理するためには、クライアントにプリンタードライバーなどの専用のアプリケーションをインストールする必要があった。【解決手段】  本発明の印刷システムは、ウェブブラウザーを備える情報処理装置と、ウェブブラウザーを介して利用されるウェブアプリケーションを備えるアプリケーションサーバーと、プリンターとで構成され、前記情報処理装置の備える前記ウェブブラウザーは、前記ウェブアプリケーションにより生成された印刷データを受信し、印刷の実行指示を受け付けた際に、当該印刷データを前記プリンターに送信する送信手段とを有することを特徴とする。【選択図】  図４
2011233034.tif 000002
【特許請求の範囲】
【請求項１】
ウェブブラウザーを備える情報処理装置と、ウェブブラウザーを介して利用されるアプリケーションを備えるアプリケーションサーバーと、プリンターとを含む印刷システムであって、
前記アプリケーションサーバーは、
前記ウェブブラウザーを介した印刷指示に応じて、前記アプリケーションを用いて、前記情報処理装置に送信すべき印刷データを生成する生成手段を有し、
前記情報処理装置の備える前記ウェブブラウザーは、
前記アプリケーションサーバーで生成された印刷データの印刷の実行指示を受け付けるための画面の表示を制御する制御手段と、
前記制御手段により表示された画面を介して、印刷の実行指示を受け付けた際に、前記アプリケーションサーバーより受信した印刷データを前記プリンターに送信する送信手段とを有することを特徴とする印刷システム。
【請求項２】
ウェブブラウザーを備える情報処理装置と、ウェブブラウザーを介して利用されるアプリケーションを備えるアプリケーションサーバーと、プリンターとを含む印刷システムにおける制御方法であって、
前記アプリケーションサーバーは、
前記ウェブブラウザーを介した印刷指示に応じて、前記アプリケーションを用いて、前記情報処理装置に送信すべき印刷データを生成する生成工程を有し、
前記情報処理装置の備える前記ウェブブラウザーは、
前記アプリケーションサーバーで生成された印刷データの印刷の実行指示を受け付けるための画面の表示を制御する制御工程と、
前記制御工程で表示された画面を介して、印刷の実行指示を受け付けた際に、前記アプリケーションサーバーより受信した印刷データを前記プリンターに送信する送信工程とを有することを特徴とする制御方法。
【請求項３】
ネットワークを介して接続されたアプリケーションサーバーのアプリケーションを利用するウェブブラウザーを備える情報処理装置であって、
前記ウェブブラウザーの機能として、前記アプリケーションサーバーのアプリケーションで生成され、前記アプリケーションサーバーから受信した印刷データの印刷の実行指示を受け付けるための画面の表示を制御する制御手段と、
前記ウェブブラウザーの機能として、前記制御手段により表示された画面を介して、印刷の実行指示を受け付けた際に、前記印刷データをプリンターに送信する送信手段と有することを特徴とする情報処理装置。
【請求項４】
前記制御手段は、前記印刷の実行指示を受け付けるための画面において、前記ウェブブラウザーで管理される複数のプリンターの中から、ユーザーに出力対象となるプリンターを選択させるための表示を行うことを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記ウェブブラウザーで管理される複数のプリンターは、ユーザーによる事前の登録されたプリンター、及びネットワーク上を検索することにより見つかったプリンターの少なくとも何れかであることを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記ウェブブラウザーの機能として、プリンターの機種情報を取得するための通信手段を有することを特徴とする請求項３乃至５の何れか１項に記載の情報処理装置。
【請求項７】
前記通信手段は、前記送信手段により印刷データを送信したプリンターから、印刷出力のステータスを受信することを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記ウェブブラウザーの機能として、前記アプリケーションサーバーから受信した印刷データに適用するサービスを呼び出すサービス制御手段を有することを特徴とする請求項３乃至７の何れか１項に記載の情報処理装置。
【請求項９】
前記サービス制御手段は、ネットワークを介して接続されたサーバーから前記サービスを取得することを特徴とする請求項８に記載の情報処理装置。
【請求項１０】
前記サービス制御手段は、前記制御手段により表示された画面を介して、印刷データの出力体裁を設定する旨の入力を受け付けた際に、印刷設定ＵＩ表示サービスを呼び出して、印刷設定画面の表示の制御を行うことを特徴とする請求項８または９に記載の情報処理装置。
【請求項１１】
前記印刷設定画面は、出力対象となるプリンターに対応する設定が可能な画面であることを特徴とする請求項１０に記載の情報処理装置。
【請求項１２】
前記サービス制御手段は、前記印刷データに設定されている印刷設定に対応するサービスを呼び出して、印刷データに対して印刷設定に応じた処理を行うことを特徴とする請求項８乃至１１の何れか１項に記載の情報処理装置。
【請求項１３】
前記印刷設定は、ページ集約及びスタンプの少なくとも何れかを含むことを特徴とする請求項１２に記載の情報処理装置。
【請求項１４】
前記サービス制御手段は、前記印刷データの印刷プレビューを行うことが設定されている際に、印刷プレビューを行うためのサービスを呼び出して、当該印刷データの印刷設定に応じた印刷プレビューの表示の制御を行うことを特徴とする請求項８乃至１３の何れか１項に記載の情報処理装置。
【請求項１５】
前記サービス制御手段は、前記アプリケーションサーバーから受信した印刷データのフォーマットが出力対象のプリンターでサポートしていない場合に、フォーマットを変換するサービスを呼び出して、当該印刷データのフォーマットを前記プリンターでサポートしているフォーマットに変換する処理を行うことを特徴とする請求項８乃至１４の何れか１項に記載の情報処理装置。
【請求項１６】
前記アプリケーションサーバーから受信した印刷データのフォーマットが、ＰＤＦ形式であることを特徴とする請求項３乃至１５の何れか１項に記載の情報処理装置。
【請求項１７】
ネットワークを介して接続されたアプリケーションサーバーのアプリケーションを利用するウェブブラウザーを備える情報処理装置における制御方法であって、
前記ウェブブラウザーの機能として、前記アプリケーションサーバーのアプリケーションで生成され、前記アプリケーションサーバーから受信した印刷データの印刷の実行指示を受け付けるための画面の表示を制御する制御工程と、
前記ウェブブラウザーの機能として、前記制御工程で表示された画面を介して、印刷の実行指示を受け付けた際に、前記印刷データをプリンターに送信する送信工程と有することを特徴とする制御方法。
【請求項１８】
請求項３乃至１６の何れか１項に記載の手段としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はＷｅｂアプリケーション印刷システムに関し、詳しくはＷｅｂブラウザー上で動作するアプリケーションによって作成した文書を容易に印刷するための技術に関するものである。
【背景技術】
【０００２】
近年、Ｗｅｂブラウザー上で動作するＷｅｂアプリケーションが盛んに研究・開発されている。Ｗｅｂアプリケーションとは、プログラムを情報処理装置にインストールすることなく、Ｗｅｂブラウザーなどを通じてネットワーク越しに利用する方式のアプリケーションを指す。Ｗｅｂアプリケーションは、従来、各クライアントＰＣに組み込むことで提供していたＩＴサービスを、ネットワークを通じて提供する「クラウドコンピューティング技術」の広まりとともに発達してきた。Ｗｅｂアプリケーションには、文書作成や表計算といった機能を提供するものがある。
【０００３】
ここで、従来のＷｅｂアプリケーションにより編集した文書データの印刷の方法について説明する。あるＷｅｂアプリケーションでは、ユーザーによって印刷指示が入力されると、Ｗｅｂアプリケーションで処理対象としていた文書を、ＰＤＦ（Ｐｏｒｔａｂｌｅ  Ｄｏｃｕｍｅｎｔ  Ｆｏｒｍａｔ）形式のデータに変換し、ネットワークを通じてＷｅｂブラウザーを起動しているクライアントに転送する。その情報処理装置上のＷｅｂブラウザーは、ＰＤＦ形式の文書データを受信した旨をユーザーに通知する。その後、ユーザーはＰＤＦ形式の文書データをクライアント内のアプリケーションを利用して、印刷を行うことになる。具体的には、このＰＤＦのデータを処理するアプリケーションを用いて再度、ユーザー印刷指示すると、同クライアント内のプリンタードライバーに対して描画命令が送られる。そして、プリンタードライバーは描画命令をプリンターが解釈可能なＰＤＬ形式に変換して、印刷ジョブとしてネットワーク上のプリンターに送信する。
【０００４】
このように、現状のＷｅｂアプリケーションで作成した文書を印刷するには、ユーザーがクライアントにあらかじめＰＤＦプログラムやプリンタードライバーをインストールしておくことが前提となっている。
【０００５】
また、特許文献１では、Ｗｅｂブラウザーのプラグインプログラムが、アプリケーションサーバーから印刷対象データと印刷設定データとを取得して、予めクライアントにインストールされているプリンタードライバーを使って印刷する技術の開示がある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００３−２１６３６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、Ｗｅｂアプリケーションを主に利用しようとするユーザーにとっては、クライアントにはＷｅｂブラウザー以外の機能に関してはできる限り最小限のものみ動作するような環境が望ましいと考える。そのため、Ｗｅｂブラウザー以外のアプリケーションをクライアントに個別にインストールしなければならないというのは、必ずしもユーザーの意に添うものではない。また、プリンタードライバーのインストール処理自体、ユーザーにとっては煩雑な作業である場合もある。
【０００８】
さらに、特許文献１に記載の印刷システムでは、Ｗｅｂアプリケーションプログラム側に関しても、印刷設定データをクライアントに送信するための機能を追加しなければならない。現状の一般的なＷｅｂアプリケーションプログラムには、このような機能がないため、特許文献１記載の技術はすぐに利用できるようなものではない。
【０００９】
そこで、本発明は、Ｗｅｂアプリケーションから受け取ったデータを、プリンタードライバーを介さずに、Ｗｅｂブラウザーからプリンターに送信し、印刷を実現するための手法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上述の課題を解決するために、本発明の印刷システムはウェブブラウザーを備える情報処理装置と、ウェブブラウザーを介して利用されるアプリケーションを備えるアプリケーションサーバーと、プリンターとを含み、
前記アプリケーションサーバーは、前記ウェブブラウザーを介した印刷指示に応じて、前記アプリケーションを用いて、前記情報処理装置に送信すべき印刷データを生成する生成手段を有し、
前記情報処理装置の備える前記ウェブブラウザーは、前記アプリケーションサーバーで生成された印刷データの印刷の実行指示を受け付けるための画面の表示を制御する制御手段と、前記制御手段により表示された画面を介して、印刷の実行指示を受け付けた際に、前記アプリケーションサーバーより受信した印刷データを前記プリンターに送信する送信手段とを有することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、Ｗｅｂアプリケーションから受け取ったデータを、プリンタードライバーを介さずに、Ｗｅｂブラウザーからプリンターに送信し、印刷を実現するための手法を提供できる。
【図面の簡単な説明】
【００１２】
【図１】本発明における印刷システムの構成例を示す。
【図２】本発明に適用可能な情報処理装置のハードウェア構成例を示す。
【図３】本発明に適用可能なプリンターのハードウェア構成例を示す。
【図４】Ｗｅｂブラウザーの内部構成の一例を示す。
【図５】Ｗｅｂアプリケーションの内部構成の一例を示す。
【図６】Ｗｅｂブラウザーを介して表示されるＷｅｂアプリケーションのＩ／Ｆの例を示す。
【図７】印刷管理サーバーの内部構成の一例を示す。
【図８】印刷設定データの一例を示す。
【図９】プリンターの機種情報の一例を示す。
【図１０】実施例１の印刷指示を行った際の処理を説明するためのフローチャートを示す。
【図１１】実施例１の印刷データをプリンターに送信する際の処理を説明するためのフローチャートを示す。
【図１２】実施例２の印刷出力の監視の処理を説明するためのフローチャートを示す。
【発明を実施するための形態】
【００１３】
以下、図面を参照して本発明の好適な実施形態について詳細に説明する。
【００１４】
（実施例１）
図１は、本発明における、Ｗｅｂコンテンツを印刷するための印刷システムの構成例を説明するための図である。
【００１５】
ユーザーが直接操作する情報処理装置であるクライアント１は、イーサネット（登録商標）などのネットワークインターフェースでネットワーク５に接続されている。クライアントは複数台、ネットワーク５に接続されてもよい。Ｗｅｂブラウザー（ウェブブラウザー）１０はクライアント１上にインストールされたＷｅｂコンテンツ閲覧用のアプリケーションである。また、Ｗｅｂブラウザー１０には、Ｗｅｂブラウザー１０を介したユーザーの印刷指示に応じて、適切な印刷サービスを取得して実行することなどが可能な印刷制御機能１１００が予め用意されている。
【００１６】
アプリケーションサーバー２は、ネットワーク５に接続されたサーバーである。Ｗｅｂアプリケーション２０は、アプリケーションサーバー２のオペレーティングシステム上で動作するプログラムである。ユーザーはＷｅｂブラウザー１０を通じてネットワーク５に接続されたアプリケーションサーバー２にアクセスし、Ｗｅｂアプリケーション２０を利用する。なお、クライアント１に対して、アプリケーションサーバー２がインターネット上の遠隔のネットワークのサーバーとして構成されるものであってもよい。
【００１７】
印刷管理サーバー３も、同じくネットワーク５に接続されたサーバーである。印刷管理サービス３０は、印刷管理サーバー３のオペレーティングシステム上で動作するプログラムである。印刷サービスデータベースは、Ｗｅｂブラウザー１０の印刷制御機能１１００によって取得及び実行制御される印刷サービス群を格納するデータベースである。
【００１８】
４はプリンターであり、ネットワーク５に接続されている。プリンターは複数台、ネットワーク５に接続されてもよい。また、プリンターはクライアントとネットワーク５を介さずに直接、所定の通信回線（ＵＳＢなど）を用いて接続されていてもよい。
【００１９】
なお、ユーザーの視点においては、Ｗｅｂアプリケーション２０を利用している際に本発明記載の印刷機能を利用する際には、該Ｗｅｂアプリケーション２０の提供する機能の一部として見えるため、印刷管理サービス３０の存在を意識することはない。
【００２０】
図２は、一般的な情報処理装置であるクライアント１の内部のハードウェアの構成の一例を表すブロック構成図である。
【００２１】
クライアント１において、ＣＰＵ１０１は、ＲＡＭ１０２に記憶されているプログラムに従って、システムバス１０４に接続される各デバイスを総括的に制御している。ＲＡＭ１０２は、ＣＰＵ１０１の主メモリ、ワークエリア等としても機能している。ＲＯＭ１０３は、ブートプログラムやＢＩＯＳ等を記憶するプログラムＲＯＭ１０３ａ、各種データを記憶するデータＲＯＭ１０３ｂに区分けして構成されている。キーボードコントローラＩ／Ｆ１０５は、キーボード１０９や不図示のポインティングデバイス（マウス）からのキー入力を制御する。ディスプレイＩ／Ｆ１０６は、ディスプレイ１１０への表示を制御している。外部メモリＩ／Ｆ１０７は、例えばハードディスク（ＨＤ）、Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｉｓｋ（ＳＳＤ）等の外部メモリ１１１とのアクセスを制御する。外部メモリ１１１は、オペレーティングシステム（以下、ＯＳ）１１２やＷｅｂブラウザー１０などのアプリケーション、さらに不図示のユーザファイルや編集ファイル等を記憶する情報処理装置が読み取り可能な記憶媒体として機能する。ネットワークＩ／Ｆ１０８はネットワーク５に接続され、通信制御処理を行う。
【００２２】
なお、本発明の印刷システムを構成するアプリケーションサーバー２と印刷管理サーバー３はサーバーではあるがクライアント１と同様の装置構成を備えるものとする。ただし、クライアント１、アプリケーションサーバー２、及び印刷管理サーバー３上で動作するプログラムがそれぞれ異なることは図１の説明で述べた通りである。
【００２３】
図３は、プリンター４の内部のハードウェアの構成の一例を表すブロック構成図である。
【００２４】
ＣＰＵ４０１は、プリンター４全体の動作を制御している。ＲＡＭ４０２は、ＣＰＵ４０１の主メモリ、ワークエリア等として機能するとともに、出力情報展開領域、環境データ格納領域としても用いられる。ＲＡＭ４０２は、ＮＶＲＡＭ（Ｎｏｎ−ｖｏｌａｔｉｌｅ  ＲＡＭ：不揮発性ＲＡＭ）領域も備えており、図示しない増設ポートに接続されるオプションＲＡＭによりメモリ容量を拡張することができるように構成されている。ＲＯＭ４０３は、各種フォントを記憶するフォントＲＯＭ４０３ａ、ＣＰＵ４０１により実行される制御プログラム等を記憶するプログラムＲＯＭ４０３ｂ、及び各種データを記憶するデータＲＯＭ４０３ｃを備えている。ネットワークＩ／Ｆ４０５は、ネットワーク５に接続され、通信制御処理を行う。印刷部Ｉ／Ｆ４０６は、プリンターエンジンである印刷部４０８とのインターフェースを制御している。外部メモリ４１０は、外部メモリＩ／Ｆ４０７によりアクセスが制御されており、オプションとして接続されるハードディスク（ＨＤ）等を含んでおり、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。操作部４０９には、ユーザーによる操作を受け付ける操作パネルが設けられ、その操作パネルには操作のためのスイッチ及びＬＥＤ表示器等が配されている（不図示）。ＣＰＵ４０１は、ＲＯＭ４０３のプログラムＲＯＭ４０３ｂに記憶された制御プログラム等に基づき、印刷部Ｉ／Ｆ４０６を介して印刷部４０８に出力情報としての画像信号を出力する。
【００２５】
図４は、Ｗｅｂブラウザー１０の内部コンポーネントの一例を説明するためのブロック構成図である。Ｗｅｂブラウザー１０は、クライアント１のオペレーティングシステム上でアプリケーションとして動作する。
【００２６】
ネットワーク制御部１００１は、ネットワーク５との通信を制御し、Ｗｅｂコンテンツの受信処理や、ユーザーの入力データ送信処理などを行う。コンテンツ記憶部１００２は、ネットワーク制御部１００１によって取得されたＷｅｂコンテンツを、ＲＡＭ１０２や外部メモリ１１１に記憶したり、他のコンポーネントからの要求に応じて取り出したりする。コンテンツ表示部１００３は、コンテンツ記憶部１００２によって記憶されたＷｅｂコンテンツを取り出して、マークアップ言語形式の（ＨＴＭＬなど）文書、スタイルシート言語、及び画像データ等の記述を解釈して、ディスプレイ１１０に表示する処理を行う。また、コンテンツ表示部１００３は、Ｗｅｂコンテンツにスタイルシートが指定されていたらそれを適用して表示する。入力制御部１００４は、Ｗｅｂブラウザー１０のメニューコマンドや、Ｗｅｂコンテンツの一部としてディスプレイ１１０に表示されているリンクやボタンなどに対する入力を検知して、該入力に応じた処理を行う。例えば、表示されたＷｅｂコンテンツ中の下線文字列で表されるリンクに、ユーザーがマウスカーソルを重ねたら、リンクの文字列を強調色で表示するようコンテンツ表示部１００３に指示する。また、ユーザーによってリンクがクリックされたら、そのリンクが示す別のＷｅｂコンテンツの取得をネットワーク制御部１００１に指示したりする。
【００２７】
本発明の印刷システムでは、Ｗｅｂブラウザー１０の機能として印刷処理を司る印刷制御機能１１００を用意している。印刷制御機能１１００では、ユーザーからの印刷指示に応じた、プリンター４に対する印刷データの送信制御や、印刷管理サーバー３からの印刷サービスの取得などの処理を行う。本実施例において、印刷制御機能１１００は、印刷制御部１１１０、プリンター管理部１１２０、印刷サービス制御部１１３０、及びプリンター通信部１１４０からなる。
【００２８】
印刷制御部１１１０は、ネットワーク制御部１００１から伝達される要求を処理し、他のコンポーネントへ処理を指示する役割を担う。またページ保存部１００２と連携して、Ｗｅｂアプリケーション２０からの印刷データ２０８を取得する。また、後述するようなユーザーからの印刷の実行指示を受け付ける管理画面６１０の表示制御も行う。
【００２９】
プリンター管理部１１２０は、プリンター４など出力対象となるプリンターの管理を行うコンポーネントである。出力対象となり得るプリンターは、Ｗｅｂブラウザー１０で扱えるように、事前にユーザーの指示に基づき、クライアント内の所定の記憶領域に登録されるものとする。また、Ｗｅｂブラウザー１０のネットワーク制御部１００１を介して、印刷データの出力対象となり得るプリンターを検索する機能を有するものであってもよい。出力対象となり得るプリンターは、管理画面６１０で表示されることになる。
【００３０】
プリンター通信部１１４０は、Ｗｅｂブラウザー１０のネットワーク制御部１００１を用いて、プリンター４の通信を行い、印刷データを送信の制御を行う。また、後述する印刷サービスの実行などに際して、プリンター４の機種情報４１を取得するための制御を行う。
【００３１】
印刷サービス制御部１１３０は主に以下のような処理を行う。まず、Ｗｅｂアプリケーション２０から取得した印刷データ２０８を、出力対象として選択されたプリンター４に対して送信する際に、ユーザーが所定の印刷設定により送信することを確認できる画面を提供する処理を行う。この際に、出力対象のプリンターから機種情報を取得するなどして、印刷データに対してレイアウト設定などの出力体裁の変更などを行う後述するような印刷設定画面６２０を作成して表示することも可能である。また、印刷サービス制御部１１３０は、印刷データ２０８、それに設定される印刷設定データ、及び機種情報４１に応じた、様々な印刷サービスを提供するサービスプログラムを印刷管理サービス３０から取得して、実行する。印刷サービス制御部１１３０が必要に応じて印刷管理サーバー３から取得するサービスプログラムについて説明する。本実施例においては、印刷サービスとして、特に５つを例に挙げて説明する。
【００３２】
印刷設定ＵＩ表示サービス１１２１は、印刷データに対する印刷設定を行うためのユーザーインターフェース（ＵＩ）を作成し、Ｗｅｂブラウザー１０上に表示する。このＵＩ画面の例に関しては、図６において説明する。ユーザーが各設定項目に対して設定を行った後、それら設定値を印刷設定データとして保持する。例えば、印刷設定データとは、印刷を行う上で必要となる設定情報であり、Ｗｉｎｄｏｗｓ（登録商標）  ＯＳではＤＥＶＭＯＤＥ構造体やＰｒｉｎｔＴｉｃｋｅｔがそれに相当する。印刷設定データの一例として、図８にて詳細に説明する。
【００３３】
レイアウトサービス１１２２は、印刷データに対して、複数ページを用紙の１つの面に集約させる場合など、特殊な出力体裁となる印刷を行う際に使用する。具体的には、印刷設定データの「ページ集約」に対する設定値が２−ｕｐ以上の場合に使用する。
【００３４】
スタンプサービス１１２３は、印刷データに対してスタンプ画像などを重ねて印刷する場合に使用する。具体的には、印刷設定データの「スタンプ」に対する設定値がＯＮの場合に使用する。
【００３５】
プレビュー表示サービス１１２４は、印刷実行前に印刷プレビュー表示を行う場合に使用する。具体的には、印刷設定データの「印刷プレビュー」に対する設定値がＯＮの場合に使用する。
【００３６】
ＰＤＬ変換サービス１１２５は、Ｗｅｂアプリケーション２０から取得した印刷データを、プリンターの解釈できる印刷言語に変換する場合に使用する。具体的には、印刷データ２０８のデータフォーマットが、プリンターがサポートしているかどうか判断し、必要に応じてプリンターがサポートしているＰＤＬに変換する。ここで、ＰＤＬとは、ＰＡＧＥ  ＤＥＳＣＲＩＰＴＩＯＮ  ＬＡＮＧＵＡＧＥを示す。
【００３７】
なお、本発明においては、Ｗｅｂブラウザー１０が備える印刷制御機能１１００としては、図４で図示されるコンポーネントの中の一部のコンポーネントの機能のみで構成されてもよい。具体的には、ネットワーク上のプリンターを探索する機能、プリンターから機種情報を取得する機能、及び印刷管理サーバー３からサービスプログラムを取得する機能の少なくとも何れかを除いた単純な構成としてもよい。このような単純構成によるＷｅｂブラウザー１０であっても、Ｗｅｂアプリケーション２０から取得した印刷データを選択されたプリンターに対して標準的な印刷設定（部数の設定など）をユーザーに確認させ、印刷を実現することができる。また、前述のサービスプログラムを必要に応じて取得するのではなく、例えば、プレビュー表示サービス１１２４やＰＤＬ変換サービス１１２５を印刷サービス制御部１１３０が予め備えるサービスとして構成するようにしてもよい。
【００３８】
さらに、ここまで説明をしてきた印刷制御機能１１００を、Ｗｅｂブラウザー１０のプラグインプログラムとして、提供することが可能である。これにより、プリンターのベンダが、より最適な印刷を行うためのサービスを提供するためのプラグインプログラムを、既に情報処理装置で動作しているＷｅｂブラウザー１０に対して柔軟に提供できるようになる。
【００３９】
図５は、アプリケーションサーバー２の内部コンポーネントの一例を説明するためのブロック構成図である。
【００４０】
ネットワーク制御部２０１は、Ｗｅｂブラウザー１０からの要求（Ｗｅｂアプリケーションの起動、操作、終了などの指示）を受信して、アプリケーション制御部２０２へ伝達する。また、アプリケーション制御部２０２からの応答などを、Ｗｅｂブラウザー１０へ送信する制御を行う。アプリケーション制御部２０２は、ネットワーク制御部２０１から伝達される要求を処理し、他のコンポーネントへ処理を指示する役割を担う。表示制御部２０３は、記憶されたプログラムコード２０４を読み出し、Ｗｅｂブラウザーに表示するユーザーインターフェースに相当するＷｅｂコンテンツを生成し、アプリケーション制御部２０２に送信する。また、表示制御部２０３は、アプリケーション制御部から伝達される入力操作の要求を処理し、入力に応じたＵＩを表示するためのデータの生成も行う。
【００４１】
文書管理部２０５は、ユーザーにより作成や編集された文書データ２０６をアプリケーションサーバー２０の外部メモリ２０９に保存したり、また外部メモリ２０９から読み出したりする制御を行う。従来の組み込み型のアプリケーションでは、文書データがユーザーのクライアント上に保存されたのに対し、文書データがサーバー上に保存されるのがＷｅｂアプリケーションの特徴である。
【００４２】
印刷データ生成部２０７は、Ｗｅｂブラウザー１０からの印刷指示の要求に応じて、文書データ２０６を印刷に適した形式の印刷データ２０８に変換する。この変換に際して、所定のメモリ２１０を用いる。ここで印刷に適した形式としては、具体的には、ＸＭＬ（ＥＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）やＰＤＦ（Ｐｏｒｔａｂｌｅ  Ｄｏｃｕｍｅｎｔ  Ｆｏｒｍａｔ）などの形式が挙げられる。ここで生成された印刷データは、Ｗｅｂブラウザー１０に対して送信される。
【００４３】
図６は、ネットワーク５を介してＷｅｂブラウザー１０上で起動された、Ｗｅｂアプリケーション２０が提供するＵＩの表示例である。
【００４４】
まず、図６（ａ）を用いて、Ｗｅｂアプリケーション２０を用いて編集などを行うために表示された文書データに対して、印刷指示を行うまでの表示に関して説明する。
【００４５】
５０１は、Ｗｅｂブラウザー１０が備えるＵＲＬボックスである。Ｗｅｂブラウザー１０は、ＵＲＬボックス５０１にネットワーク５上のＷｅｂコンテンツとして表現されるＵＲＬ情報の入力を受け取り、アプリケーションサーバー２に対してＷｅｂアプリケーション２０の起動要求を送信する。Ｗｅｂアプリケーション２０は、この起動要求を受けて、表示制御部２０３によって生成されたＵＩを表示するための情報をＷｅｂブラウザー１０への応答として送信する。Ｗｅｂブラウザー１０は、このＵＩを表示するための情報をＷｅｂコンテンツとして受信し、Ｗｅｂコンテンツの表示領域である５０７に表示する。このとき、表示領域５０７に表示されるＵＩのデザインは、通常のＷｅｂページといった見た目でなく、一般の文書作成アプリケーションの画面に似たデザインとすることが好ましい。
【００４６】
このＷｅｂブラウザー１０においては、ユーザーにより２通りの印刷指示が行える。１つは、Ｗｅｂブラウザー自身が従来から一般的に提供している印刷機能を起動する「印刷」のメニューボタン５０５である。この「印刷」のメニューボタン５０５を利用してしまうと、ディスプレイ上での表示に最適化されたレイアウトで、Ｗｅｂブラウザー１０が動作するクライアントにインストールされているプリンタードライバーを用いて印刷することになる。
【００４７】
もう１つの印刷指示の方法としては、Ｗｅｂアプリケーション２０が提供するＵＩ上に表示される印刷メニューから印刷ボタン５０８を選択する方法がある。本発明は、この印刷ボタン５０８を用いた印刷指示に応じて、特徴的な印刷処理を実現することになる。ユーザーが印刷ボタン５０８を選択して印刷を指示すると、Ｗｅｂアプリケーション２０は、印刷データ生成部２０７によって、紙への出力に最適なレイアウトの印刷データ２０８を生成することになる。
【００４８】
図６（ｂ）を用いて、印刷ボタン５０８が押下されたときの表示の例に関して説明する。
【００４９】
印刷内容の確認などを行うための管理画面６１０は、［プリンター一覧］、［印刷範囲］、及び［印刷部数］といった領域が用意されている。［印刷範囲］では印刷の対象となる文書データの印刷したいページを簡易に設定でき、［印刷部数］では印刷部数を簡易に設定できる。
【００５０】
［プリンター一覧］では、［プリンター名］リストコントロール６１１を用いて、印刷対象として選択可能なプリンターの表示、選択を行うことができる。［詳細設定］ボタン６１２が押下された場合、前述の印刷設定ＵＩ表示サービス１１２１などを利用した設定画面の表示が行われる。また、［プリンター検索］ボタン６１３が押下された場合、ネットワーク上のプリンターの検索を実行する。この検索の結果、見つかったプリンターもユーザーは出力対象プリンターとして選択可能である。
【００５１】
図６（ｃ）を用いて、［詳細設定］ボタン６１２が押下された際の説明を行う。
【００５２】
［印刷設定］画面６２０は、上述した各種印刷サービス、及び出力対象のプリンターから取得した機種情報を用いて行える印刷設定用のＵＩの表示例を示す。具体的には、出力用紙サイズ、印刷方向、ページ集約、両面印刷、スタンプ、及び印刷プレビュー有無の設定が行える。ここで設定された設定値をもとに、印刷設定ＵＩ表示サービス１１２１は印刷設定データを作成することになる。
【００５３】
図７は、印刷管理サーバーの内部コンポーネントの一例を説明するためのブロック構成図である。
【００５４】
ネットワーク制御部３０１は、外部の情報処理装置やプリンター４との通信制御を行う。印刷サービス管理部３０２は、ネットワーク制御部３０１から伝達される要求を処理する。また、印刷サービス管理部３０２は、Ｗｅｂブラウザー１０に対して提供する印刷サービス群を、印刷サービスデータベース３０３を用いて管理している。印刷サービス管理部３０２は、要求された印刷サービスを印刷サービスデータベース３０３から検索して、ネットワーク制御部３０１を介して要求元に送信する制御を行う。
【００５５】
図８は、印刷設定データの一例を示す図である。本発明では、ＸＭＬベースで記述される“ＰｒｉｎｔＴｉｃｋｅｔ”を一例として挙げ、説明する。
【００５６】
図示されている印刷設定データにおいては、出力サイズ（ＰａｇｅＭｅｄｉａＳｉｚｅ）、印刷方向（ＰａｇｅＯｒｉｅｎｔａｔｉｏｎ）、及びページ集約（ＪｏｂＣｏｐｉｅｓＡｌｌＤｏｃｕｍｅｎｔｓ）といった設定項目に関する設定がなされている。出力サイズには、「Ｌｅｔｔｅｒ」が設定されている。印刷方向には、「横（“Ｌａｎｄｓｃａｐｅ”）」が設定されている。ページ集約には、「２ページ／面（“２”）」が設定されている。
【００５７】
なお、印刷設定データにおいて設定される設定項目は、図示されるもの以外にも、ステープルや製本に関する設定や、エコ設定（省トナー設定など）といった様々なものが挙げられる。印刷制御機能１１００の印刷サービス制御部１１３０は、これら設定項目の設定値を参照して、必要な印刷サービスを呼び出して利用する。
【００５８】
図９は、プリンター４の機種情報の一例を示す図である。
【００５９】
図示されている機種情報においては、プリンター名（ＰｒｉｎｅｒＮａｍｅ）として「ＸＸＸＸ  ｘｘｘｘｘ」、プリンターが解釈できる印刷言語として「ＸＰＳ」といった情報が含まれている。ここで、印刷言語に関しては、図示では、“ＩｓＰＤＦＳｕｐｐｏｒｔｅｄ”の値が「ｆａｌｓｅ」、“ＩｓＸＰＳＳｕｐｐｏｒｔｅｄ”の値が「ｔｒｕｅ」となっていることより、サポートしている印刷言語が「ＸＰＳ」であることが解釈できる。
【００６０】
印刷制御機能１１００の印刷サービス制御部１１３０は、Ｗｅｂアプリケーションから取得した印刷データのフォーマットを確認し、例えばＰＤＦならＰＤＬ変換サービス１１２５を利用して、プリンターの解釈できる印刷言語（ＸＰＳ）への変換処理を実行する。
【００６１】
図１０は、Ｗｅｂブラウザー１０を介して起動されたＷｅｂアプリケーション２０上で、ユーザーからの印刷指示を受け付ける際のクライアント１で行われる処理を説明するためのフローチャートである。
【００６２】
Ｓ１５０１において、Ｗｅｂブラウザー１０を介してＷｅｂアプリケーション２０が起動されたタイミングから、ユーザーからの印刷指示の受付を開始する。このユーザーからの指示に関しては、Ｗｅｂブラウザー１０の入力制御部１００４により検出され、その検出された入力を、ネットワーク制御部１００１を介してＷｅｂアプリケーション２０に対して伝える。
【００６３】
Ｓ１５０２において、ネットワーク制御部１００１において、受け付けた印刷指示に応じた応答をＷｅｂアプリケーション２０から受け取るまで待機する。ここでＷｅｂアプリケーション２０から、応答として印刷データ２０８を受信した場合（ＹＥＳ）、Ｓ１５０３において、ネットワーク制御部１００１は受信した印刷データ２０８を印刷制御部１１１０に渡す。Ｓ１５０３において、印刷制御部１１１０は、受信した印刷データ２０８の印刷の実行指示などを入力させるためのＵＩ（管理画面６１０）の表示制御を行う。また、この際にはプリンター管理部１１２０により管理されている出力対象となり得るプリンターを呼び出し、［プリンター名］リストコントロール６１１からユーザーにより出力対象とするプリンターの選択を可能とする。ここで呼び出されるプリンターは、前述した通り、事前にユーザーにより登録されたプリンターであってもよいし、ネットワーク上で検索されたプリンターであってもよい。
【００６４】
プリンター管理部１１２０による出力可能なプリンターを検索方法として、代表的な例を以下に説明する。ここでは、ネットワーク５に接続されたプリンターなどと通信し、それらの名称、設置場所、ＩＰアドレス、ハードウェアＩＤといった情報を取得することである。まず、通信手段としてはＳＮＭＰ（Ｓｉｍｐｌｅ  Ｎｅｔｗｏｒｋ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ）などのプロトコルを使用する。プリンター管理部１１２０は、プリンターの状態（電源が入っているかなど）や、ネットワーク５に接続されているかなどを調べるため、所定のデータをブロードキャストなどにより送信し、ネットワーク上の装置との通信を試みる。そして、プリンター管理部１１２０は、プリンター４などからの応答として、その名称や設置場所などの情報をネットワークＩ／Ｆを通じて受信する。その後、受信した情報をもとに出力可能なプリンターかどうかを判断する。プリンター管理部１１２０は、この検索処理により、出力対象となり得るプリンターの情報を取得し、管理する。
【００６５】
Ｓ１５０５において、印刷制御部１１１０は、管理画面６１０から［詳細設定］ボタンが押下されたか否かを判断する。［詳細設定］ボタンが押下されたと判断した場合には、Ｓ１５０６に処理を進める。
【００６６】
Ｓ１５０６では、プリンター通信部１１４０は、［プリンター名］リストコントロール６１１で選択されたプリンター４と通信し、機種情報４１を取得する。さらに、Ｓ１５０７において、印刷サービス制御部１１３０は、印刷設定ＵＩ表示サービス１１２１を呼び出す。印刷サービス制御部１１３０は、予め印刷設定ＵＩ表示サービス１１２１を管理していない場合は印刷管理サーバーと通信を行い、該サービスを取得する。その後、Ｓ１５０８において、印刷設定ＵＩ表示サービス１１２１を利用して、印刷制御部１１１０は、Ｓ１５０６で取得した機種情報に対応する印刷設定画面６２０を作成し、表示する。
【００６７】
Ｓ１５０９において、印刷制御部１１１０は、印刷の実行指示を受け付けるまで待機し、管理画面６１０または印刷設定画面６２０を介して、実行指示を受け付けた場合は、Ｓ１５１０に処理を進める。Ｓ１５１０において、図１１を用いて説明する、プリンターに所望の印刷出力させるための処理を実行する。Ｓ１５１１において、印刷制御部１１１０は、印刷サービス制御部１１３０に対してサービスの終了を指示する。この際に、印刷サービス制御部１１３０は、管理している印刷サービスを削除するようにして、ユーザーからの印刷指示を受け付けるたびに、印刷管理サーバーと通信して印刷サービスを取得する構成としてもよい。以上の処理により、Ｗｅｂアプリケーション２０を利用した一連の印刷処理が終了する。
【００６８】
なお、Ｗｅｂブラウザー１０が備える印刷制御機能１１００として、例えば、プリンターから機種情報を取得する機能、及び印刷管理サーバー３からサービスプログラムを取得する機能を除いた単純な構成であった場合に関して説明する。この場合は、Ｓ１５０６及びＳ１５０７の処理を行うことがないので、Ｓ１５０４で表示された画面（６１０）において、［詳細設定］ボタンがない、または［詳細設定］ボタンが押下できないような表示制御を行うことになる。よって、Ｓ１５０４の処理後、ユーザーからの印刷実行の指示をＳ１５０９で受け付けて、そのまま印刷処理を進めることになる。こういった場合であっても、出力プリンターや部数などをユーザーに確認させた上で、簡単な印刷を行うことが可能である。
【００６９】
図１１は、図１０のＳ１５１０の詳細を説明するためのフローチャートである。以降のＳ１６０１、Ｓ１６０４、Ｓ１６０７、及びＳ１６１０で説明するように、印刷制御部１１１０は印刷設定データなどを参照して、印刷データに対して印刷サービスを用いた処理が必要となるかを判断することになる。何らかの印刷サービスが必要である場合は、印刷サービス制御部１１３０に対して、印刷サービスを利用した各種処理を印刷データに施すよう指示することになる。
【００７０】
まず、Ｓ１６０１において、印刷制御部１１１０は、レイアウトの変更が指示されているかを判断する。例えば、［ページ集約］の設定値にｎ−ｕｐ（ｎ≧２）が設定されていた場合にはレイアウトの変更があると判断する。印刷制御部１１１０は、レイアウトの変更が指示されていると判断した場合にはＳ１６０２に処理を進め、変更の指示がない場合はＳ１６０４に処理を進める。Ｓ１６０２において、印刷サービス制御部１１３０は、レイアウトサービス１１２２を呼び出す。前述したようにこのような印刷サービスに関しては、必要に応じて印刷管理サーバーと通信することにより取得してもよい。そして、Ｓ１６０３において、印刷サービス制御部１１３０は、レイアウトサービス１１２２を起動して、印刷データに対して設定されているレイアウト編集を行う。
【００７１】
Ｓ１６０４において、印刷制御部１１１０は、スタンプの設定が指示されているかを判断する。例えば、［スタンプ］の設定値にＯＮが設定されていた場合にはスタンプ画像の付加する設定の指示があると判断する。印刷制御部１１１０は、スタンプの設定が指示されていると判断した場合にはＳ１６０５に処理を進め、この指示がない場合はＳ１６０７に処理を進める。Ｓ１６０５において、印刷サービス制御部１１３０は、スタンプサービス１１２３を呼び出す。そして、Ｓ１６０６において、印刷サービス制御部１１３０は、スタンプサービス１１２３を起動して、印刷データに対して設定されているスタンプ画像を付加する処理を行う。
【００７２】
Ｓ１６０７において、印刷制御部１１１０は、印刷プレビューの表示が指示されているかを判断する。例えば、［印刷プレビュー］の設定値にＯＮが設定されていた場合には印刷プレビューの表示が指示されていると判断する。印刷制御部１１１０は、印刷プレビューの表示が指示されていると判断した場合にはＳ１６０８に処理を進め、この指示がない場合はＳ１６１０に処理を進める。Ｓ１６０８において、印刷サービス制御部１１３０は、プレビュー表示サービス１１２４を呼び出す。そして、Ｓ１６０９において、印刷サービス制御部１１３０は、プレビュー表示サービス１１２４を起動して、ここまでの設定を反映した印刷データに対応する印刷プレビューの表示制御を行う。このプレビュー表示は、Ｗｅｂブラウザー１０を介して行われる。このプレビューにおいて印刷実行が指示（ＯＫボタンの押下）された場合にはＳ１６１０に進む。また、キャンセルの指示が行われた場合には、印刷データの送信を行わずに、Ｓ１５１１の処理を実行して一連の処理を終了する。
【００７３】
Ｓ１６０７において、印刷制御部１１１０は、Ｗｅｂアプリケーション２０か取得した印刷データ２０８のデータフォーマットが、出力対象として選択されたプリンター４で出力可能かを判断する。出力可能であれば、Ｓ１６１３に処理を進め、不可能な場合にはＳ１６１１に処理を進める。Ｓ１６１１において、印刷サービス制御部１１３０は、ＰＤＬ変換サービス１１２５を呼び出す。Ｓ１６１２において、印刷サービス制御部１１３０は、ＰＤＬ変換サービス１１２５を起動して、印刷データに対してＰＤＬ変換処理を行う。例えば、Ｗｅｂブラウザー１０がＰＤＦ形式の印刷データを受け取った場合、プリンター４のサポートする印刷言語（例えば、ＸＰＳ）へのフォーマット変換が行われることになる。
【００７４】
Ｓ１６１３において、印刷制御部１１１０は、ここまでの処理で生成された印刷データをプリンター４に送信する。プリンター４においては、受け取った印刷データを設定されている印刷設定に基づいて処理することで印刷出力を行う。
【００７５】
本実施例によれば、ＰＤＦ形式などの汎用的なデータを生成可能な一般的なＷｅｂアプリケーション２０から印刷を行うときに、クライアントにプリンタードライバーなどをインストールすることなく、Ｗｅｂブラウザー１０から直接印刷を行うことが可能となる。
【００７６】
（実施例２）
本実施例においては、実施例１において印刷ジョブをプリンター４に送信した後の、出力状況の監視や再印刷に関する処理について説明する。具体的には、印刷データを送信した後、Ｗｅｂブラウザー１０が、プリンター４と通信を行い、正常に印刷出力を完了するまで監視してから、前述のＳ１５１１で説明したようなサービスの終了処理を実行するようにする。
【００７７】
図１２は、図１０で説明したＳ１５１０及びＳ１５１１の処理の間で行われるプリンターにおける印刷出力の監視の処理を説明するためのフローチャートである。
【００７８】
Ｓ１７０１において、プリンター通信部１１４０は、印刷データを送信したプリンター４からステータスを受信する。この処理に関しては、例えば、プリンター通信部１１４０が、所定のタイミングごとにプリンターに対してステータスを要求する、またはプリンターから自発的に通知されてくる印刷出力の完了やエラーなどのステータスを受信するといった方法がある。Ｓ１７０２で、印刷制御部１１１０は、プリンター通信部１１４０を介して受信したプリンター４のステータスがエラーであるか否かを判断する。エラーではない場合にはＳ１７０３に処理を進め、エラーであった場合にはＳ１７０４に処理を進める。Ｓ１７０３において、印刷制御部１１１０は、プリンター通信部１１４０を介して受信したプリンター４のステータスが印刷出力の完了であるか否かを判断する。印刷出力の完了であった場合にはＳ１５１１に処理を進め、それ以外の印刷進捗の通知などであった場合にはＳ１７０１に戻り、次のステータスの受信を待機する。
【００７９】
Ｓ１７０４において、印刷制御部１１１０は、Ｗｅｂブラウザー１０上にエラーが発生した旨の表示画面（不図示）の表示を行うことで、エラー通知を行う。また、ここでの表示画面においては、同様の設定で再印刷を行うか否かをユーザーに問い合わせる表示も行うようにする。Ｓ１７０５において、印刷制御部１１１０は、ユーザーから再印刷を行うとの入力を受け付けたか否かを判断する。再印刷を行う入力を受け付けた場合にはＳ１５１０に戻り、再度、印刷データのプリンターへの送信処理を行う。再印刷を行わないとの入力を受け付けた場合は、Ｓ１５１１に処理を進める。
【００８０】
（実施例３）
以上の実施例においては、基本的にはクライアントにプリンタードライバーをインストールすることなく、Ｗｅｂブラウザー１０による印刷処理に関して説明を行ってきた。しかしながら、クライアントに既に、ユーザーがよく利用するプリンタードライバーがインストールされている場合もある。本実施例においては、管理画面６１０を表示する際に、このインストール済みのプリンタードライバーをも考慮することを特徴とする。
【００８１】
具体的には、プリンター管理部１１２０により管理されている出力対象となり得るプリンターを呼び出す際に、同時にクライアントに既にインストールされているプリンタードライバーの情報をＯＳから取得する。そして、プリンタードライバーの情報が取得できた場合には、対応するプリンターを［プリンター名］リストコントロール６１１に表示する。ここで、プリンタードライバーが既にインストールされているプリンターに関しては、リスト上の一番上に配置するなど、ユーザーにとって識別し易いように表示制御を行ってもよい。また、詳細設定ボタン６１２を押下された際には、このプリンタードライバーの提供する印刷設定画面を開くようにしてもよい。
【００８２】
（他の実施例）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置内のコンピュータ（ＣＰＵまたはＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2011233034.tif 000003
【図２】
2011233034.tif 000004
【図３】
2011233034.tif 000005
【図４】
2011233034.tif 000006
【図５】
2011233034.tif 000007
【図６】
2011233034.tif 000008
【図７】
2011233034.tif 000009
【図８】
2011233034.tif 000010
【図９】
2011233034.tif 000011
【図１０】
2011233034.tif 000012
【図１１】
2011233034.tif 000013
【図１２】
2011233034.tif 000014