(57)【要約】【課題】ＷＥＢブラウザ上で動作するプログラムを用いてＷＥＢブラウザに表示させたイメージを、所望とするとおりに印刷する。【解決手段】ネットワークを介して接続されるクライアント２０、ＷＥＢデータサーバ３０、ＷＥＢアプリケーションサーバ４０を備えたクライアントサーバシステムにおいて、クライアント２０にＷＥＢデータサーバ３０からＪａｖａアプレット及びデータがダウンロードされ、ダウンロードされたＪａｖａアプレット及びデータを用いて、クライアント２０のＷＥＢブラウザ２１にチャートやデータシート等の表示が行われる。印刷を行う場合は、表示されたチャートやデータシート等の印刷情報をＷＥＢアプリケーションサーバ４０に送信し、ＷＥＢアプリケーションサーバ４０において受信された印刷情報に基づく印刷用ファイルを作成し、作成された印刷用ファイルをクライアント２０に送信する。【選択図】　図１
2004062243.tif 000002
【特許請求の範囲】
【請求項１】
ＷＥＢページを閲覧するＷＥＢブラウザを備えたクライアントと、
前記クライアントにネットワークを介して接続されるサーバとを備え、
前記クライアントは、前記ＷＥＢブラウザ上で動作するプログラムを用いて、当該ＷＥＢブラウザに表示された画像に対応する印刷情報を前記サーバに送信するクライアント送信手段を有し、
前記サーバは、受信した前記印刷情報に基づいて印刷用データを作成する印刷用データ作成手段と、当該印刷用データ作成手段により作成された当該印刷用データを当該クライアントに送信するサーバ送信手段と、を有すること
を特徴とするクライアントサーバシステム。
【請求項２】
使用するＯＳ（Ｏｐｅｒａｔｉｎｇ　Ｓｙｓｔｅｍ）またはＷＥＢブラウザソフトウェアが異なる複数のクライアントが、前記ネットワークを介して前記サーバに接続されることを特徴とする請求項１に記載のクライアントサーバシステム。
【請求項３】
前記印刷情報は、前記ＷＥＢブラウザに表示されたイメージに関する情報及び／または当該ＷＥＢブラウザに表示されたテキストのソースに関する情報を含むことを特徴とする請求項１に記載のクライアントサーバシステム。
【請求項４】
前記印刷情報は、前記ＷＥＢブラウザに表示または非表示の追加情報を含むことを特徴とする請求項１に記載のクライアントサーバシステム。
【請求項５】
ＷＥＢブラウザ上で動作するプログラムを用いて当該ＷＥＢブラウザに表示された画像に対する印刷指示があったかどうかを判断する判断手段と、
前記判断手段により前記印刷指示があったと判断された場合に、当該印刷指示に基づいて印刷情報を作成する印刷情報作成手段と、
前記印刷情報作成手段により作成された前記印刷情報をネットワークを介してサーバに送信するクライアント送信手段と、
前記クライアント送信手段により送信された前記印刷情報に基づいて前記サーバにより作成された印刷用データを前記ネットワークを介して当該サーバから受信するクライアント受信手段と、
前記クライアント受信手段により受信された前記印刷用データを出力する出力手段と
を備えることを特徴とするクライアント。
【請求項６】
前記ＷＥＢブラウザ上で動作する前記プログラムは、前記ネットワークを介してダウンロードされたＪａｖａアプレットであることを特徴とする請求項５に記載のクライアント。
【請求項７】
クライアントのＷＥＢブラウザ上で動作するプログラムによって作成された画像に関する印刷情報を受信するサーバ受信手段と、
前記サーバ受信手段により受信された前記印刷情報に基づいて印刷用データを作成する印刷用データ作成手段と、
前記印刷用データ作成手段により作成された前記印刷用データを前記クライアントに送信するサーバ送信手段と
を備えることを特徴とするサーバ。
【請求項８】
前記印刷用データ作成手段により作成される前記印刷用データは、ＰＤＦ（Ｐｏｒｔａｂｌｅ　Ｄｏｃｕｍｅｎｔ　Ｆｏｒｍａｔ）ファイルであることを特徴とする請求項７に記載のサーバ。
【請求項９】
前記印刷用データ作成手段が作成する前記印刷用データのフォームデータを格納するフォームデータ格納手段と、
前記印刷用データ作成手段が作成する前記印刷用データの画像データを作成する画像データ作成手段と
を更に備えることを特徴とする請求項７に記載のサーバ。
【請求項１０】
クライアントのＷＥＢブラウザに表示された画像に基づいて印刷情報を作成するためのプログラムモジュールを、当該クライアントに送信するプログラムモジュール送信手段と、
前記プログラムモジュールを用いて作成され且つ前記クライアントより送信された前記印刷情報に基づいて印刷用データを作成する印刷用データ作成手段と
を備えることを特徴とするコンピュータ装置。
【請求項１１】
ＷＥＢブラウザ上で動作するプログラムを用いて当該ＷＥＢブラウザに表示された画像に対する印刷指示があったかどうかを判断するステップと、
前記印刷指示があった場合に当該印刷指示に基づいて印刷情報を作成するステップと、
作成された前記印刷情報をネットワークを介してサーバに送信するステップと、
前記印刷情報に基づいて前記サーバにより作成された印刷用データを前記ネットワークを介して受信するステップと、
受信された前記印刷用データを出力するステップと
を含むことを特徴とする印刷用イメージの作成方法。
【請求項１２】
クライアントのＷＥＢブラウザ上で動作するプログラムによって作成された画像に関する印刷情報を受信するステップと、
受信された前記印刷情報に基づいて印刷用データを作成するステップと、
作成された前記印刷用データを前記クライアントに送信するステップと
を含むことを特徴とする印刷用イメージの作成方法。
【請求項１３】
クライアントのＷＥＢブラウザに表示された画像に基づいて印刷情報を作成するプログラムモジュールを、当該クライアントに送信するステップと、
前記プログラムモジュールを用いて作成され且つ前記クライアントより送信された前記印刷情報に基づいて印刷用データを作成するステップと
を含むことを特徴とする印刷用イメージの作成方法。
【請求項１４】
コンピュータに、
ＷＥＢブラウザ上で動作するプログラムを用いて当該ＷＥＢブラウザに表示された画像に対する印刷指示があったかどうかを判断する機能と、
前記印刷指示があった場合に当該印刷指示に基づいて印刷情報を作成する機能と、
作成された前記印刷情報をネットワークを介してサーバに送信する機能と、
前記印刷情報に基づいて前記サーバにより作成された印刷用データを前記ネットワークを介して受信する機能と、
受信された前記印刷用データを出力する機能と
を実現させることを特徴とするプログラム。
【請求項１５】
前記ＷＥＢブラウザ上で動作するプログラムを前記ネットワークを介して受信する機能を更に含むことを特徴とする請求項１４に記載のプログラム。
【請求項１６】
コンピュータに、
クライアントのＷＥＢブラウザ上で動作するプログラムによって作成された画像に関する印刷情報を受信する機能と、
受信された前記印刷情報に基づいて印刷用データを作成する機能と、
作成された前記印刷用データを前記クライアントに送信する機能と
を実現させることを特徴とするプログラム。
【請求項１７】
受信された前記印刷情報に基づいて前記印刷用データを作成する機能は、
前記印刷用データのフォームデータを読み込む機能と、
前記印刷情報に基づく画像データを作成する機能と、
前記読み込まれたフォームデータに作成された前記画像データを埋め込む機能と
を含むことを特徴とする請求項１６に記載のプログラム。
【請求項１８】
コンピュータに、
クライアントのＷＥＢブラウザに表示された画像に基づいて印刷情報を作成するプログラムモジュールを、当該クライアントに送信する機能と、
前記プログラムモジュールを用いて作成され且つ前記クライアントより送信された前記印刷情報に基づいて印刷用データを作成する機能と
を実現させることを特徴とするプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、クライアントのＷＥＢブラウザに表示させたイメージを印刷するためのクライアントサーバシステム等に関し、特に、クライアントのＷＥＢブラウザ上で動作するＪａｖａアプレット等のプログラムを用いてＷＥＢブラウザに表示させたイメージを印刷するのに好適なサーバシステム等に関する。
【０００２】
【従来の技術】
従来、通信ネットワークを介して接続されたサーバとクライアントとを備えたクライアントサーバシステムにおいて、サーバに蓄積されたデータベースからクライアントが所定のデータを取得し、取得したデータに基づきクライアントにおいてデータ分析を行うものが知られている。そして最近では、利用者の操作性を簡易なものとする目的で、クライアントに備えられたＷＥＢブラウザでデータ分析を行うものが主流となりつつある。
【０００３】
この種のクライアントサーバシステムでは、サーバからクライアントに対して送信するデータ中にＪａｖａアプレットを埋め込んでおき、クライアントのＷＥＢブラウザ上で受信したＪａｖａアプレットを実行させることにより、取得したデータに基づく分析、例えばデータシートやチャート等の作成を行わせるようにしたものもある。
【０００４】
このようなクライアントサーバシステムでは、Ｊａｖａアプレットを利用することで、個々のクライアントに専用のモジュールを導入しなくて済むという利点がある。また、チャートやデータシートを作成するためのＪａｖａアプレットのファイルサイズは小さく、サーバからクライアントへの送信時間は少なくて済むため、業務の流れを妨げることもない。
【０００５】
【発明が解決しようとする課題】
ところで、上述したクライアントサーバシステムでは、クライアントで分析を行う間に作成したチャートやデータシート等のイメージを印刷しておきたいという要請がある。
しかしながら、クライアントのＷＥＢブラウザが備える印刷コマンドによってＷＥＢブラウザに表示されたイメージを印刷しようとすると、Ｊａｖａアプレットを使用して作成したチャートやデータシートが一部欠けたり、あるいは、白紙状態になってしまったりして、所望とする印刷結果が得られないという技術的課題がみられた。
【０００６】
このような技術的課題を解決するもっとも簡易な手法として、クライアントでスクリーンキャプチャを使用して表示画面のハードコピーを生成し、これを印刷することが考えられる。しかしながら、チャートやデータシートが表示画面中に収まりきらない場合には、表示画面をスクロールさせながら複数回に分けてスクリーンキャプチャ及び印刷を行う必要があるため、非常に面倒であると共に、チャートやデータシートを一枚の用紙に収めることができなくなるおそれがある。
【０００７】
また、クライアントに専用の印刷モジュールを導入し、この印刷モジュールを使用してイメージを印刷することが考えられる。しかしながら、この手法を採用した場合には、すべてのクライアントに印刷モジュールを導入する必要があるため、Ｊａｖａアプレットを使用する最大のメリット、すなわち、個々のクライアントに専用のモジュールを導入しなくて済むという利点を損なうこととなってしまう。
【０００８】
さらに、Ｊａｖａアプレットを使用せず、Ｊａｖａサーブレット等サーバ上で動作するプログラムを使用してデータの分析及びイメージの作成を行い、サーバで作成したイメージをクライアントに送信して表示させ、これを印刷することが考えられる。しかしながら、サーバ側で分析を行う場合には、サーバ−クライアント間の通信を行わなければならない分、クライアントで分析を行う場合と比べて分析に時間がかかり、業務の妨げとなってしまう。
【０００９】
さらにまた、通常のＪａｖａアプレットでは、Ｊａｖａアプレットが実行されるクライアントに接続されたプリンタにはアクセスできない規定となっているが、署名付きＪａｖａアプレットを使用すれば、プリンタにもアクセスできるようになるため、これを利用して印刷を行わせることが考えられる。しかしながら、この手法では、各Ｊａｖａアプレットで作成したチャートやデータシートを個々に印刷することは可能であるものの、チャートやデータシートが混在したイメージ全体を印刷することは困難である。
【００１０】
本発明は、以上の技術的課題を解決するためになされたものであって、その目的とするところは、ＷＥＢブラウザ上で動作するプログラムを用いてＷＥＢブラウザに表示させたイメージを、所望とするとおりに印刷することにある。
【００１１】
【課題を解決するための手段】
本発明者は、上述した技術的課題を解決すべく鋭意検討を行った結果、クライアントのＯＳ（Ｏｐｅｒａｔｉｎｇ　Ｓｙｓｔｅｍ）の種類及びクライアントに搭載されるＷＥＢブラウザの種類によって、Ｊａｖａアプレット等を使用して作成したイメージの印刷結果が異なるという知見を得た。そして、Ｊａｖａアプレット等を使用して作成したイメージを、Ｊａｖａアプレット等に依存しないデータ形式に変換することで、ＷＥＢブラウザに表示させたイメージの印刷が可能となることに着目し、本発明を案出するに至った。
すなわち、本発明のクライアントサーバ装置は、ＷＥＢページを閲覧するＷＥＢブラウザを備えたクライアントと、前記クライアントにネットワークを介して接続されるサーバとを備え、クライアントは、ＷＥＢブラウザ上で動作するプログラムを用いて、ＷＥＢブラウザに表示された画像に対応する印刷情報をサーバに送信するクライアント送信手段を有し、サーバは、受信した印刷情報に基づいて印刷用データを作成する印刷用データ作成手段と、印刷用データ作成手段により作成された印刷用データをクライアントに送信するサーバ送信手段と、を有することを特徴としている。
【００１２】
本発明のクライアントサーバシステムでは、使用するＯＳ（Ｏｐｅｒａｔｉｎｇ　Ｓｙｓｔｅｍ）またはＷＥＢブラウザソフトウェアが異なる複数のクライアントが、ネットワークを介して前記サーバに接続されるような場合においても、各クライアントのＷＥＢブラウザに表示した画像を印刷することができる。
【００１３】
また、本発明のクライアントサーバシステムにおいて、印刷情報は、ＷＥＢブラウザに表示されたイメージに関する情報及び／またはＷＥＢブラウザに表示されたテキストのソースに関する情報を含むこと、あるいは、ＷＥＢブラウザに表示または非表示の追加情報を含むことを特徴とすることができる。
【００１４】
また、本発明のクライアントは、ＷＥＢブラウザ上で動作するプログラムを用いて当該ＷＥＢブラウザに表示された画像に対する印刷指示があったかどうかを判断する判断手段と、判断手段により印刷指示があったと判断された場合に、印刷指示に基づいて印刷情報を作成する印刷情報作成手段と、印刷情報作成手段により作成された印刷情報をネットワークを介してサーバに送信するクライアント送信手段と、クライアント送信手段により送信された印刷情報に基づいてサーバにより作成された印刷用データをネットワークを介してサーバから受信するクライアント受信手段と、クライアント受信手段により受信された印刷用データを出力する出力手段とを備えることを特徴としている。
ここで、ＷＥＢブラウザ上で動作するプログラムとしては、ネットワークを介してダウンロードされたＪａｖａアプレットを用いることができる。
尚、印刷用ファイルの出力には、クライアントの画面に印刷用データを表示させる態様及びプリンタに印刷用データを印刷させる態様のいずれをも含む。
【００１５】
更に、本発明のサーバは、クライアントのＷＥＢブラウザ上で動作するプログラムによって作成された画像に関する印刷情報を受信するサーバ受信手段と、サーバ受信手段により受信された印刷情報に基づいて印刷用データを作成する印刷用データ作成手段と、印刷用データ作成手段により作成された印刷用データをクライアントに送信するサーバ送信手段とを備えることを特徴としている。
ここで、印刷用データ作成手段により作成される印刷用データをＰＤＦ（Ｐｏｒｔａｂｌｅ　Ｄｏｃｕｍｅｎｔ　Ｆｏｒｍａｔ）ファイルとすれば、印刷する用紙に応じたレイアウトを行うことが可能であるという点で好ましい。
そして、本発明のサーバにおいては、印刷用データ作成手段が作成する前記印刷用データのフォームデータを格納するフォームデータ格納手段と、印刷用データ作成手段が作成する印刷用データの画像データを作成する画像データ作成手段とを更に備えることが好ましい。
【００１６】
更にまた、本発明のコンピュータ装置は、クライアントのＷＥＢブラウザに表示された画像に基づいて印刷情報を作成するためのプログラムモジュールを、クライアントに送信するプログラムモジュール送信手段と、プログラムモジュールを用いて作成され且つクライアントより送信された印刷情報に基づいて印刷用データを作成する印刷用データ作成手段とを備えることを特徴としている。
【００１７】
また、本発明は、コンピュータに、ＷＥＢブラウザ上で動作するプログラムを用いて当該ＷＥＢブラウザに表示された画像に対する印刷指示があったかどうかを判断する機能と、印刷指示があった場合にこの印刷指示に基づいて印刷情報を作成する機能と、作成された印刷情報をネットワークを介してサーバに送信する機能と、印刷情報に基づいてサーバにより作成された印刷用データをネットワークを介して受信する機能と、受信された印刷用データを出力する機能と実現させるプログラムとして把握することができる。
このプログラムにおいては、前記ＷＥＢブラウザ上で動作するプログラムを前記ネットワークを介して受信する機能を更に含むことが好ましい。
【００１８】
更に、本発明は、コンピュータに、クライアントのＷＥＢブラウザ上で動作するプログラムによって作成された画像に関する印刷情報を受信する機能と、受信された前記印刷情報に基づいて印刷用データを作成する機能と、作成された前記印刷用データを前記クライアントに送信する機能とを実現させるプログラムとして把握することができる。
このプログラムにおいて、受信された印刷情報に基づいて印刷用データを作成する機能は、印刷用データのフォームデータを読み込む機能と、印刷情報に基づく画像データを作成する機能と、読み込まれたフォームデータに作成された画像データを埋め込む機能とを含むことが好ましい。
【００１９】
更にまた、本発明は、コンピュータに、クライアントのＷＥＢブラウザに表示された画像に基づいて印刷情報を作成するプログラムモジュールを、このクライアントに送信する機能と、プログラムモジュールを用いて作成され且つクライアントより送信された印刷情報に基づいて印刷用データを作成する機能とを実現させるプログラムとして把握することができる。
【００２０】
これらのコンピュータに実行させるプログラムは、このコンピュータが読み取り可能に記憶した記憶媒体に格納される形態がある。この記憶媒体としては、例えばＣＤ−ＲＯＭ媒体等が該当し、コンピュータにおけるＣＤ−ＲＯＭ読取装置によってプログラムが読み取られ、例えば、コンピュータにおけるハードディスク等の各種メモリにこのプログラムが格納され、実行される形態が考えられる。また、これらのプログラムは、例えば、プログラム伝送装置によってネットワークを介してノートＰＣや携帯端末に提供される形態が考えられる。このようなプログラム伝送装置としては、プログラムを格納するメモリと、ネットワークを介してプログラムを提供するプログラム伝送手段とを備えていれば足りる。
【００２１】
また、本発明は、上述したプログラムの発明における各機能をステップで表現した方法の発明として把握することもできる。
【００２２】
【発明の実施の形態】
以下、添付図面に示す実施の形態に基づいてこの発明を詳細に説明する。
図１は、本発明が適用された実施の一形態に係るクライアントサーバシステムの機能を説明するブロック図である。このクライアントサーバシステムは、通信ネットワーク（ネットワーク）を介して接続されるＷＥＢサーバ１０とクライアント２０とを備えている。これらのうち、ＷＥＢサーバ１０は、データ等が格納されるＷＥＢデータサーバ３０とアプリケーション等が格納されるＷＥＢアプリケーションサーバ４０とを有しており、クライアント２０にはプリンタ５０が接続されている。
【００２３】
図２は、本実施の形態におけるＷＥＢサーバ１０（ＷＥＢデータサーバ３０、ＷＥＢアプリケーションサーバ４０）及びクライアント２０を実現するのに好適なコンピュータ装置のハードウェア構成の例を模式的に示したものである。
図２に示すコンピュータ装置は、演算手段であるＣＰＵ（Ｃｅｎｔｒａｌ　ＰｒｏｃｅｓｓｉｎｇＵｎｉｔ：中央処理装置）１０１と、Ｍ／Ｂ（マザーボード）チップセット１０２及びＣＰＵバスを介してＣＰＵ１０１に接続されたメインメモリ１０３と、同じくＭ／Ｂチップセット１０２及びＡＧＰ（Ａｃｃｅｌｅｒａｔｅｄ　Ｇｒａｐｈｉｃｓ　Ｐｏｒｔ）を介してＣＰＵ１０１に接続されたビデオカード１０４と、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ　Ｃｏｍｐｏｎｅｎｔ　Ｉｎｔｅｒｃｏｎｎｅｃｔ）バスを介してＭ／Ｂチップセット１０２に接続されたハードディスク１０５、ネットワークインターフェイス１０６及びＵＳＢポート１０７と、さらにこのＰＣＩバスからブリッジ回路１０８及びＩＳＡ（Ｉｎｄｕｓｔｒｙ　Ｓｔａｎｄａｒｄ　Ａｒｃｈｉｔｅｃｔｕｒｅ）バスなどの低速なバスを介してＭ／Ｂチップセット１０２に接続されたフロッピーディスクドライブ１０９及びキーボード／マウス１１０とを備える。そして、例えばクライアント２０では、ＵＳＢポート１０７を介してプリンタ５０が接続されるようになっている。但し、プリンタ５０については、このようなクライアント２０のローカルプリンタではなく、ネットワークプリンタとすることも可能である。
尚、図２は本実施の形態を実現するコンピュータ装置のハードウェア構成を例示するに過ぎず、本実施の形態を適用可能であれば、他の種々の構成を取ることができる。例えば、ビデオカード１０４を設ける代わりに、ビデオメモリのみを搭載し、ＣＰＵ１０１にてイメージデータを処理する構成としても良いし、ＡＴＡ（ＡＴ　Ａｔｔａｃｈｍｅｎｔ）などのインターフェイスを介してＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ　Ｄｉｓｃ　Ｒｅａｄ　Ｏｎｌｙ　Ｍｅｍｏｒｙ）やＤＶＤ−ＲＯＭ（Ｄｉｇｉｔａｌ　Ｖｅｒｓａｔｉｌｅ　Ｄｉｓｃ　Ｒｅａｄ　ＯｎｌｙＭｅｍｏｒｙ）のドライブを設けても良い。
【００２４】
また、図１において、クライアント２０は、ＷＥＢページを閲覧するためのＷＥＢブラウザ２１と、ＷＥＢサーバ１０と通信を行うためのクライアント通信部２２（クライアント送信手段、クライアント受信手段（共に図示せず）を含む）とを有している。ここで、ＷＥＢブラウザ２１は、図２に示したプログラム制御されたＣＰＵ１０１にて実現されるソフトウェアブロックであり、ＣＰＵ１０１を制御してこれらの機能を実現するプログラムは、磁気ディスクや光ディスク、半導体メモリ、その他の記憶媒体に格納して配布したり、ネットワークを介して配信したりすることにより提供され、メインメモリ１０３に読み込まれる。また、クライアント通信部２２は、ネットワークインターフェイス１０６によって実現される。尚、メインメモリ１０３に保持されるデータやプログラムは、必要に応じてハードディスク１０５などの記憶装置に待避させることができる。
【００２５】
また、ＷＥＢブラウザ２１はＯｐｅｒａｔｉｎｇ　Ｓｙｓｔｅｍ（ＯＳ）上で動作するものであるが、このクライアント２０のＯＳについては、各種ＯＳより適宜選定することができ、複数のクライアント２０が存在する場合においては、各クライアント２０において異なるＯＳを使用することができる。そして、ＷＥＢブラウザ２１としては、例えばＭｉｃｒｏｓｏｆｔ社のＩｎｔｅｒｎｅｔ　ＥｘｐｌｏｒｅｒやＡＯＬ　Ｔｉｍｅ　Ｗａｒｎｅｒ社のＮｅｔｓｃａｐｅ　Ｃｏｍｍｕｎｉｃａｔｏｒ（Ｎａｖｉｇａｔｏｒ）等、ＪａｖａＶＭ（Ｊａｖａ　Ｖｉｒｔｕａｌ　Ｍａｃｈｉｎｅ）が動作可能な各種ＷＥＢブラウザソフトウェアより適宜選定することができ、複数のクライアント２０が存在する場合においては、各クライアント２０において異なる種類のＷＥＢブラウザソフトウェアを選択することができる。
【００２６】
更に、ＷＥＢデータサーバ３０は、数値データ等が格納されるデータ格納部３１と、クライアント２０のＷＥＢブラウザ２１で実行させるためのＪａｖａアプレット（ＷＥＢブラウザ２１上で動作するプログラム）が格納されるアプレット格納部３２と、クライアント２０からの要求に応じてこのクライアント２０に提供するＪａｖａアプレット及びデータを選択する提供データ選択部３３と、クライアント２０と通信を行うデータサーバ通信部３４（プログラムモジュール送信手段（図示せず）を含む）とを有している。ここで、提供データ選択部３３は、図２に示したプログラム制御されたＣＰＵ１０１にて実現されるソフトウェアブロックであり、ＣＰＵ１０１を制御してこれらの機能を実現するプログラムは、磁気ディスクや光ディスク、半導体メモリ、その他の記憶媒体に格納して配布したり、ネットワークを介して配信したりすることにより提供され、メインメモリ１０３に読み込まれる。また、データサーバ通信部３４はネットワークインターフェイス１０６によって実現され、データ格納部３１及びアプレット格納部３２はハードディスク１０５にて実現される。尚、メインメモリ１０３に保持されるデータやプログラムは、必要に応じてハードディスク１０５などの記憶装置に待避させることができる。
【００２７】
ＷＥＢデータサーバ３０では、クライアント２０のクライアント通信部２２からデータサーバ通信部３４に対してプログラムモジュールとしてのＪａｖａアプレットの送信が要求されると、提供データ選択部３３がアプレット格納部３２から必要なＪａｖａアプレットを取り出し、データサーバ通信部３４からクライアント通信部２２に対して、取り出したＪａｖａアプレットを送信する。また、クライアント２０のクライアント通信部２２からデータサーバ通信部３４に対してデータの送信が要求されると、提供データ選択部３３がデータ格納部３１から必要なデータを取り出し、データサーバ通信部３４からクライアント通信部２２に対して取り出したデータを送信する。
【００２８】
更にまた、ＷＥＢアプリケーションサーバ４０は、クライアント２０から送信された印刷情報に基づいて印刷用データを作成する印刷用データ作成部４１と、この印刷用データ作成部４１からの指示に応じて画像データ（本実施の形態ではＧＩＦファイル４５）を作成する画像データ作成部４２と、印刷用データ作成部４１で作成されたＧＩＦファイル４５等を埋め込むためのフォームデータを格納するフォームデータ格納部４３と、クライアント２０と通信を行うアプリサーバ通信部４４（サーバ送信手段、サーバ受信手段（共に図示せず）を含む）とを有している。本実施の形態では、画像データ作成部４２としてＧＩＦ（Ｇｒａｐｈｉｃ　Ｉｎｔｅｒｃｈａｎｇｅ　Ｆｏｒｍａｔ）ファイルを生成するＧＩＦエンコーダが用いられている。尚、画像データ作成部４２としては、ＧＩＦエンコーダの他にＪＰＥＧ（Ｊｏｉｎｔ　Ｐｈｏｔｏｇｒａｐｈｉｃ　Ｅｘｐｅｒｔｓ　Ｇｒｏｕｐ）エンコーダ等を使用することもできる。また、フォームデータ格納部４３には、ＰＤＦ（Ｐｏｒｔａｂｌｅ　Ｄｏｃｕｍｅｎｔ　Ｆｏｒｍａｔ）ファイルの各種フォームが格納されている。そして、印刷用データ作成部４１は、画像データ作成部４２からの画像データやフォームデータ格納部４３からのフォームデータ等に基づいて印刷用データとしてのＰＤＦファイルを作成するものであって、Ｊａｖａサーブレットによって動作するようになっている。また、印刷用データ作成部４１には、作成したＧＩＦファイル４５等を一時的に記憶する印刷出力用記憶部４１ａが設けられている。
【００２９】
ここで、印刷用データ作成部４１及び画像データ作成部４２は、図２に示したプログラム制御されたＣＰＵ１０１にて実現されるソフトウェアブロックであり、ＣＰＵ１０１を制御してこれらの機能を実現するプログラムは、磁気ディスクや光ディスク、半導体メモリ、その他記憶媒体に格納して配布したり、ネットワークを介して配信したりすることにより提供され、メインメモリ１０３に読み込まれる。また、アプリサーバ通信部４４はネットワークインターフェイス１０６によって、印刷出力用記憶部４１ａはメインメモリ１０３によって、フォームデータ格納部４３はハードディスク１０５によって、それぞれ実現される。尚、メインメモリ１０３に保持されるデータやプログラムは、必要に応じてハードディスク１０５などの記憶装置に待避させることができる。
【００３０】
次に、データ分析を行う場合を例に挙げて、本実施の形態にかかるクライアントサーバシステムにおける動作、データ分析及びデータ分析結果の印刷について説明する。ここで、図３はクライアント２０における処理を説明するフローチャート、図４はＷＥＢアプリケーションサーバ４０における処理を説明するフローチャートである。また、図５〜図１１は、データ分析及びデータ分析結果の印刷過程において、クライアント２０のＷＥＢブラウザ２１に表示されるイメージを示す図である。
【００３１】
まず、図３を主として参照しながら、クライアント２０における処理について説明する。
利用者によってクライアント２０のＷＥＢブラウザ２１が開かれると（ステップＳ１０１）、ＷＥＢデータサーバ３０からＪａｖａアプレット及びデータがダウンロードされる（ステップＳ１０２）。
そして、クライアント２０にダウンロードされたＪａｖａアプレットによって、ＷＥＢブラウザ２１には図５に示す画面が表示される。図示の例では、表示画面上部の左側から順に、分析を行うデータを呼び出すための検索（Ｒｅｔｒｉｅｖｅ）ボタン６１、バーチャート（Ｂａｒ　Ｃｈａｒｔ：棒グラフ）を表示させるための棒グラフボタン６２、ラインチャート（Ｌｉｎｅ　Ｃｈａｒｔ：折れ線グラフ）を表示させるための折れ線グラフボタン６３、パイチャート（Ｐｉｅ　Ｃｈａｒｔ：円グラフ）を表示させるための円グラフボタン６４、イメージを印刷するためのプリント（Ｐｒｉｎｔ）ボタン６５が表示され、表示画面の下部には、空のデータシート６６が表示される。次に、利用者が検索ボタン６１をクリックして所望とする条件等を設定すると、ＷＥＢデータサーバ３０から条件に合致したデータが送信（ダウンロード）される。その後、ダウンロードされたデータはデータシート６６に表示される。
【００３２】
次いで、利用者の操作によってＷＥＢブラウザ２１上でデータが分析され、データの分析結果がＷＥＢブラウザ２１に表示される（ステップＳ１０３）。具体的には、例えば利用者によってＷＥＢブラウザ２１に表示された棒グラフボタン６２がクリックされると、データシート６６の上部にデータシート６６に基づいた棒グラフ６７が表示され（図６参照）、折れ線グラフボタン６３がクリックされると折れ線グラフ６８が表示され（図７参照）、円グラフボタン６４がクリックされると円グラフ６９が表示される（図８参照）。これらグラフの作成はダウンロードされたＪａｖａアプレットによって行われ、作成されたグラフはｈｔｍｌ（Ｈｙｐｅｒ　Ｔｅｘｔ　Ｍａｒｋｕｐ　Ｌａｎｇｕａｇｅ）を利用してＷＥＢブラウザ２１に表示される。
尚、この例では、利用者が電気製品等の製品別の月々の売上高の分析を行っているものとする。そして、ＷＥＢブラウザ２１に表示されるデータシート６６には、Ｊａｎ（１月）からＪｕｌ（７月）までの分しか表示されていないが、実際には８月〜１２月までのデータが隠れており、各グラフ６７〜６９には１月〜１２月までの実績が表示される。
【００３３】
そして、利用者がＷＥＢブラウザ２１のｈｔｍｌフォームに表示されたプリント（印刷）ボタン６５をクリックしたか否かが判断され（ステップＳ１０４）、プリントボタン６５がクリックされた場合には、ＷＥＢブラウザ２１の表示内容に基づいた印刷情報が作成され（ステップＳ１０５）、作成された印刷情報をクライアント通信部２２のクライアント送信手段からＷＥＢアプリケーションサーバ４０のアプリサーバ通信部４４に送信する（ステップＳ１０６）。従って、このＷＥＢブラウザ２１は、このＷＥＢブラウザ２１に表示された画像に対する印刷指示があったか否かを判断する判断手段としても機能している。また、ＷＥＢアプリケーションサーバ４０に対する印刷要求及び印刷情報の作成は、ダウンロードされたＪａｖａアプレットによって行われる。それゆえ、このＪａｖａアプレットは、印刷情報を作成する印刷情報作成手段として機能している。尚、この説明では、図９に示すように、棒グラフ６７が表示された状態でプリントボタン６５がクリックされたものとする。また、作成される印刷情報には、棒グラフ６７に関するイメージ情報、データシート６６のテキストソースに関するテキスト情報及びその他の追加情報（作成日等）が含まれる。このイメージ情報の詳細については後述する。一方、プリントボタン６５がクリックされていない場合には、ステップＳ１０３に戻ってデータ分析を続行する。
【００３４】
その後、クライアント２０は、送信した印刷情報に基づいてＷＥＢアプリケーションサーバ４０で作成されたＰＤＦファイルをクライアント通信部２２のクライアント受信手段で受信し（ステップＳ１０７）、受信したＰＤＦファイルを、Ａｃｒｏｂａｔ−Ｒｅａｄｅｒ　Ｐｌｕｇ−ｉｎ（Ａｃｒｏｂａｔ−Ｒｅａｄｅｒはアドビシステムズ社の商標）を使用してＷＥＢブラウザ２１に表示させる（ステップＳ１０８）。ここで、図１０及び図１１は、ＷＥＢブラウザ２１に受信したＰＤＦファイルを表示させた状態を示す図であり、図１０は棒グラフ７１及びデータシート７２の上部側を含むＰＤＦファイルの上部側を、図１１は図１０を下側にスクロールして表示させたデータシート７２を含むＰＤＦファイルの下部側を示している。図１０及び図１１からわかるように、ＰＤＦファイルのデータシート７２は、分析中の表示画面（図７参照）におけるデータシート６６と異なり、１月〜１２月までのすべてのデータが表示される。また、注釈７３、作成日７４、タイトル７５やページ番号７６など、分析中のＷＥＢブラウザ２１の表示画面には存在しなかった事項も表示されるようになっている。
尚、ＷＥＢアプリケーションサーバ４０における印刷情報の処理、すなわち、ＰＤＦファイルの作成プロセスについては後述する。
【００３５】
そして、利用者がＡｃｒｏｂａｔ−Ｒｅａｄｅｒの印刷ボタン（あるいはＷＥＢブラウザ２１の印刷ボタン）をクリックしたか否かが判断され（ステップＳ１０８）、印刷ボタンがクリックされている場合にはＷＥＢブラウザ２１に表示されているＰＤＦファイルがプリンタ５０によって印刷されて（ステップＳ１０９）、一連の処理を終了する。このとき印刷されるのはＰＤＦファイルであるため、クライアント２０のＯＳやＷＥＢブラウザ２１のＷＥＢブラウザソフトウェアの種類に関係なく、良好な印刷結果が得られることになる。一方、印刷ボタンがクリックされていない場合には、ステップＳ１０８に戻り、印刷ボタンのクリックを待つことになる。本実施の形態では、ＷＥＢブラウザ２１及びプリンタ５０が、出力手段として機能していることになる。
【００３６】
次に、図４を主として参照しながら、ＷＥＢアプリケーションサーバ４０における処理について説明する。
まず、クライアント２０のクライアント通信部２２から送信された印刷情報をＷＥＢアプリケーションサーバ４０のアプリサーバ通信部４４のアプリサーバ受信手段が受信する（ステップＳ２０１）。次に、印刷用データ作成部４１は、受信した印刷情報に含まれるイメージ情報、ここでは、図９に示す棒グラフ６７に関する情報を画像データ作成部４２に受け渡し、画像データ作成部４２では、受け渡されたイメージ情報に基づいてＧＩＦファイル４５を作成して（ステップＳ２０２）、印刷用データ作成部４１に返送する。返送されたＧＩＦファイル４５は印刷出力用記憶部４１ａに一時的に記憶される。また、印刷用データ作成部４１は、フォームデータ格納部４３より適切なＰＤＦファイルのフォームを取り出し（ステップＳ２０３）、取り出したＰＤＦファイルにＧＩＦファイル４５を埋め込む（ステップＳ２０４）。ＧＩＦファイル４５が埋め込まれたＰＤＦファイルは印刷用出力記憶部４１ａに一時記憶される。そして、印刷用データ作成部４１は、ＧＩＦファイル４５が埋め込まれたＰＤＦファイルに、受信した印刷情報に含まれるテキスト情報を更に埋め込む（ステップＳ２０５）と共に、注釈、作成日、タイトル、ページ番号等からなるその他の追加情報を埋め込む（ステップＳ２０６）。最後に、アプリサーバ通信部４４のアプリサーバ送信手段からクライアント２０のクライアント通信部２２に対して完成したＰＤＦファイルを送信し（ステップＳ２０７）、一連の処理を終了する。
【００３７】
ここで、クライアント２０からＷＥＢアプリケーションサーバ４０に受け渡される印刷情報について補足説明しておく。
本実施の形態では、クライアント２０のＷＥＢブラウザ２１でＪａｖａアプレットが動作し、ＷＥＢアプリケーションサーバ４０の印刷用データ作成部４１でＪａｖａサーブレットが動作している。ここで、ＪａｖａアプレットのバージョンはＪＤＫ１．１であることが多く、ＪａｖａサーブレットのバージョンはＪＤＫ１．１よりも新しいＪＤＫ１．２以上であることが多い。これは、クライアント２０で現在一般に用いられているＷＥＢブラウザソフトウェアの多くがＪａｖａのバージョンＪＤＫ１．１にしか対応していないのに対し、ＷＥＢサーバ１０ではそのような束縛がないために新しいバージョンを使用しやすいことが原因である。
【００３８】
クライアント２０とＷＥＢアプリケーションサーバ４０との間では、アプレットサーブレット間通信という技術を利用して通信を行うことができる。そこで、このアプレットサーブレット間通信を利用して印刷情報の受け渡しを行うことが考えられる。しかしながら、Ｊａｖａでは、ｉｎｔ型やｂｏｏｌｅａｎ型などのプリミティブ型データのやりとりは容易であるものの、イメージデータ（イメージ情報）のやりとりが困難である。特に、ＪａｖａアプレットとしてバージョンＪＤＫ１．１を用い、ＪａｖａサーブレットとしてバージョンＪＤＫ１．２を用いている場合には、両者のＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ　Ｐｒｏｇｒａｍ　Ｉｎｔｅｒｆａｃｅ）が異なり、Ｊａｖａアプレット側で作成したイメージデータをそのまま送信しても、Ｊａｖａサーブレット側でそのイメージデータを認識することができない。
【００３９】
従って、イメージデータについては、Ｊａｖａアプレット（ＪＤＫ１．１）及びＪａｖａサーブレット（ＪＤＫ１．２以上）の両者が認識できる形式に一旦変換する必要がある。そこで、本実施の形態では、クライアント２０のＷＥＢブラウザ２１にＪａｖａアプレットで表示させたイメージ（例えば棒グラフ６７）を、両者が認識可能なピクセルグラバークラスのデータに変換した後、ＷＥＢアプリケーションサーバ４０にイメージ情報として送信するようになっている。このピクセルグラバークラスは、イメージとして管理されている情報（各画素の色）をＩｎｔｅｇｅｒ型（３２ｂｉｔ）の配列（二次元）で、しかも、クライアントサーバ間通信を行うことのできるプリミティブ型のデータに変換することができるものである。従って、クライアント２０においてイメージ（例えば棒グラフ６７）からＩｎｔｅｇｅｒ型の配列に変換してからＷＥＢアプリケーションサーバ４０に送信し、ＷＥＢアプリケーションサーバ４０で受け取ったデータ（Ｉｎｔｅｇｅｒ型の配列）をイメージに変換することで、イメージを受け渡すことができる。
【００４０】
尚、本実施の形態では、ＷＥＢアプリケーションサーバ４０に画像データ作成部４２（本実施の形態ではＧＩＦエンコーダ）を具備させているが、ＪａｖａアプレットにＧＩＦエンコーダを埋め込んでおき、クライアント２０でＪａｖａアプレットを使用して先にＧＩＦファイルを作成し、ＧＩＦファイルを含む印刷情報をＷＥＢアプリケーションサーバ４０に送信することも考えられる。しかしながら、ＪａｖａアプレットにＧＩＦエンコーダをバンドルすると、Ｊａｖａアプレットのサイズが大きくなってしまう他、クライアント２０の数だけＧＩＦエンコーダのライセンスを購入しなければならなくなるため、好ましくない。
【００４１】
また、テキスト情報については、バージョンＪＤＫ１．１及びバージョンＪＤＫ１．２の間で共通の型であるため、イメージデータのように変換する必要はなく、そのまま受け渡すことができる。但し、テキスト情報については、ＷＥＢブラウザ２１に表示されたデータ（本実施の形態では１月〜６月分）だけでなく、表示されないデータ（本実施の形態では７月〜１２月分）も受け渡す必要があることから、テキストデータのソースを受け渡す必要がある。
【００４２】
更に、その他の追加情報については、ＷＥＢブラウザ２１に表示されるものあるいは表示されないものを適宜設定することが可能であり、タイトル等記載すべき内容を予め設定しておくことも可能であるし、プリントボタン６５をクリックした際に利用者が設定することも可能である。
【００４３】
本実施の形態では、Ｊａｖａアプレットを使用してクライアント２０のＷＥＢブラウザ２１に表示させたチャートやデータシートの情報を、ＷＥＢアプリケーションサーバ４０に送信し、ＷＥＢアプリケーションサーバ４０においてＪａｖａアプレットとは無関係なＰＤＦ形式に作り変えた後、再度クライアント２０に送信するようにしたので、クライアント２０で受信したＰＤＦファイルをプリンタ５０より印刷すれば、クライアントのＯＳやＷＥＢブラウザソフトウェアの種類に関係なく、良好な印刷結果を得ることができる。
【００４４】
尚、本実施の形態では、ＷＥＢアプリケーションサーバ４０においてＰＤＦファイルを作成するようにしていたが、これに限られるものではなく、例えばプリンタブルなｈｔｍｌファイルなど、クライアント２０で印刷可能な形式のファイルとしても差し支えない。そして、ＷＥＢアプリケーションサーバ４０において、ＰＤＦファイル等のファイルではなく、例えばバイナリーのストリーム形式の印刷用データを作成するようにしてもよい。この場合は、クライアントにおいて受信した印刷用データに基づく印刷用画像が作成されることになるが、この印刷用データもＪａｖａアプレットとは無関係なものであることから、クライアント２０で受信した印刷用データをプリンタ５０より印刷すれば、クライアントのＯＳやＷＥＢブラウザソフトウェアの種類に関係なく、良好な印刷結果を得ることができる。
【００４５】
また、本実施の形態では、ＰＤＦファイルに埋め込む画像ファイルとしてＧＩＦファイル４５を用いていたが、これに限られるものではなく、ＪＰＥＧやＰＮＧ（Ｐｏｒｔａｂｌｅ　Ｎｅｔｗｏｒｋ　Ｇｒａｐｈｉｃｓ）等、各種画像フォーマットより適宜選定して差し支えない。
【００４６】
更に、本実施の形態では、クライアントサーバシステムを用いてデータ分析を行い、その分析結果を印刷する例について説明を行ったが、これに限られるものではなく、クライアント２０のＷＥＢブラウザ２１上で動作するプログラムを用いてＷＥＢブラウザ２１に描画させたイメージを印刷する場合に適用することが可能である。
【００４７】
更にまた、本実施の形態では、機能別に、ＷＥＢデータサーバ３０とＷＥＢアプリケーションサーバ４０とを用いていたが、これに限られるものではなく、一台のサーバにＷＥＢデータサーバ３０の機能とＷＥＢアプリケーションサーバ４０の機能とを持たせるようにしてもよいことは勿論である。
【００４８】
【発明の効果】
以上説明したように、本発明によれば、ＷＥＢブラウザ上で動作するプログラムを用いてＷＥＢブラウザに表示させたイメージを、所望とするとおりに印刷することができる。
【図面の簡単な説明】
【図１】実施の一形態に係るクライアントサーバシステムを示す図である。
【図２】実施の一形態によるクライアントサーバシステムを実現するのに好適なコンピュータ装置のハードウェア構成の例を模式的に示した図である。
【図３】クライアントの動作を説明するフローチャートである。
【図４】ＷＥＢアプリケーションサーバの動作を説明するフローチャートである。
【図５】クライアントでＷＥＢブラウザを開いた場合の表示画面を示す図である。
【図６】ＷＥＢブラウザに棒グラフを表示させた場合の表示画面を示す図である。
【図７】ＷＥＢブラウザに折れ線グラフを表示させた場合の表示画面を示す図である。
【図８】ＷＥＢブラウザに円グラフを表示させた場合の表示画面を示す図である。
【図９】ＷＥＢブラウザに棒グラフを表示させた条件下でプリントボタンをクリックした場合の表示画面を示す図である。
【図１０】ＷＥＢブラウザ上にＰＤＦファイル（上部：グラフ側）を表示させた場合の表示画面を示す図である。
【図１１】ＷＥＢブラウザ上にＰＤＦファイル（下部：データシート側）を表示させた場合の表示画面を示す図である。
【符号の説明】
１０…ＷＥＢサーバ、２０…クライアント、２１…ＷＥＢブラウザ、２２…クライアント通信部、３０…ＷＥＢデータサーバ、３１…データ格納部、３２アプレット格納部…、３３…提供データ選択部、３４…データサーバ通信部、４０…ＷＥＢアプリケーションサーバ、４１…印刷用データ作成部、４１ａ…印刷出力用記憶部、４２…画像データ作成部、４３…フォームデータ格納部、４４…アプリサーバ通信部、４５…ＧＩＦファイル
【図１】
2004062243.tif 000003
【図２】
2004062243.tif 000004
【図３】
2004062243.tif 000005
【図４】
2004062243.tif 000006
【図５】
2004062243.tif 000007
【図６】
2004062243.tif 000008
【図７】
2004062243.tif 000009
【図８】
2004062243.tif 000010
【図９】
2004062243.tif 000011
【図１０】
2004062243.tif 000012
【図１１】
2004062243.tif 000013