(57)【特許請求の範囲】
【請求項１】
クライアント装置と通信することが可能な情報処理装置であって、
前記クライアント装置に対して、前記クライアント装置上で実行されることにより、帳票フォームに帳票データの埋め込まれた帳票印刷データを生成する機能を前記クライアント装置が有しているかを判定可能なプログラムを送信するプログラム送信手段と、
前記帳票フォームに前記帳票データの埋め込まれた前記帳票印刷データを生成する機能を前記クライアント装置が有しているか否かを示す前記プログラムによる判定結果を受信する受信手段と、
前記受信手段によって受信された前記プログラムによる判定結果に基づいて、前記帳票フォームに前記帳票データが埋め込まれた前記帳票印刷データを前記クライアント装置に対して送信するか、前記帳票印刷データを生成するために必要な前記帳票フォームと前記帳票データとを前記クライアント装置に対して送信するかを判定する判定手段を備え、
前記判定手段は、前記プログラムにより、前記帳票フォームに前記帳票データの埋め込まれた帳票印刷データを生成する機能を前記クライアント装置が有していると判定されていた場合に、前記帳票印刷データを生成するために必要な前記帳票フォームと前記帳票データとを前記クライアント装置に対して送信すると判定することを特徴とする情報処理装置。
【請求項２】
前記判定手段により、前記帳票フォームに前記帳票データが埋め込まれた前記帳票印刷データを前記クライアント装置に対して送信すると判定された場合に、前記帳票フォームに前記帳票データの埋め込まれた前記帳票印刷データを生成し、前記判定手段により、前記帳票印刷データを生成するために必要な前記帳票フォームと前記帳票データとを前記クライアント装置に対して送信すると判定された場合に、前記帳フォーム及び前記帳票データを含む配信データを生成する生成手段と、
前記生成手段により生成された、前記帳票印刷データ又は前記配信データを前記クライアント装置に対して送信するデータ送信手段とを更に備えることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
クライアント装置と通信することが可能な情報処理装置における制御方法であって、
前記クライアント装置に対して、前記クライアント装置上で実行されることにより、帳票フォームに帳票データの埋め込まれた帳票印刷データを生成する機能を前記クライアント装置が有しているかを判定可能なプログラムを送信するプログラム送信工程と、
前記帳票フォームに前記帳票データの埋め込まれた前記帳票印刷データを生成する機能を前記クライアント装置が有しているか否かを示す前記プログラムによる判定結果を受信する受信工程と、
前記受信工程によって受信された前記プログラムによる判定結果に基づいて、前記帳票フォームに前記帳票データが埋め込まれた前記帳票印刷データを前記クライアント装置に対して送信するか、前記帳票印刷データを生成するために必要な前記帳票フォームと前記帳票データとを前記クライアント装置に対して送信するかを判定する判定工程を備え、
前記判定工程では、前記プログラムにより、前記帳票フォームに前記帳票データの埋め込まれた帳票印刷データを生成する機能を前記クライアント装置が有していると判定されていた場合に、前記帳票印刷データを生成するために必要な前記帳票フォームと前記帳票データとを前記クライアント装置に対して送信すると判定することを特徴とする制御方法。
【請求項４】
前記判定工程において、前記帳票フォームに前記帳票データが埋め込まれた前記帳票印刷データを前記クライアント装置に対して送信すると判定された場合に、前記帳票フォームに前記帳票データの埋め込まれた前記帳票印刷データを生成し、前記判定工程において、前記帳票印刷データを生成するために必要な前記帳票フォームと前記帳票データとを前記クライアント装置に対して送信すると判定された場合に、前記帳フォーム及び前記帳票データを含む配信データを生成する生成工程と、
前記生成工程で生成された、前記帳票印刷データ又は前記配信データを前記クライアント装置に対して送信するデータ送信工程とを更に備えることを特徴とする請求項３に記載の制御方法。
【請求項５】
請求項３又は４いずれかに記載の制御方法の各工程をコンピュータに実行させるための制御プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ネットワークを介して、帳票のプリントデータを生成して、帳票のプリントを行うネットワークプリントシステムに関するものである。
【０００２】
【従来の技術】
インターネットの急速な発展とＷｅｂサーバの林立に伴い、業務処理のＷｅｂ化が推進されている。ネットワークに接続されたパーソナルコンピュータは、情報の表示と情報の入力が可能なＷｅｂブラウザを搭載するのみで、ＷｅｂブラウザとＷｅｂサーバによる業務処理がひろく行われる様になっている。このとき、業務処理に必要な情報が、ＷｅｂサーバとＷｅｂブラウザの間で交換される。
【０００３】
Ｗｅｂサーバは、Ｗｅｂブラウザから入力された情報を受け取り、サーバ内でその情報を加工し、加工後の情報を再びＷｅｂブラウザに送信する。Ｗｅｂサーバは、その加工後の情報を表示する。これらの動作が繰り返し行われて、業務が遂行される。
【０００４】
しかし、ＷｅｂブラウザとＷｅｂサーバによる業務処理において問題となっているのは、業務処理上欠かせないプリント処理に関する部分である。特に帳票等、フォーマットに従った美しいプリントを行う事ができなかった。
【０００５】
通常のＷｅｂブラウザはプリント機能を提供しているものの、この機能は、Ｗｅｂブラウザ上に表示されたイメージのハードコピーを、Ｗｅｂブラウザ配下のプリンタ（或いは、Ｗｅｂブラウザが起動されているコンピュータの配下にあるプリンタ）にプリントさせるものである。このプリント方式では、用紙サイズを越えるイメージや、複数ページにまたがるイメージの印刷では、ページ区切りをどのようにするかという問題があり、ユーザが所望するプリントが行なわれないことが多い。
【０００６】
【発明が解決しようとする課題】
これを解決する方法として、Ｗｅｂサーバを有するプリントシステムサーバが、Ｗｅｂブラウザからの指示に応じて、プリントイメージデータ（例えば、帳票印刷データ）を生成し、それをＷｅｂブラウザが起動されているクライアントに配信するプリントシステムが考えられる。このプリントシステムにおいては、サーバは、個々の指示に対する印刷用データを必ず生成し、それを逐次的にクライアントに返している。これをサーバサイドメイク機能と呼ぶ。
【０００７】
しかし、このＷｅｂブラウザ経由のプリント処理では、最終的なプリントイメージデータをプリントシステムサーバ側が生成しているため、多数のクライアントから集中的にリクエストが発生すると、プリントシステムサーバの負荷が大きくなるという問題点がある。特に、多数のクライアントからのリクエストが集中的に発生すると言うのは、Ｗｅｂによるネットワークシステムの特徴にもなっている。
【０００８】
さらに、プリントイメージデータの生成は、プリントシステムサーバ側のプリンタドライバを利用して行なわれるため、クライアント側がそのプリントイメージデータをプリンタに印刷させるためには、プリントシステムサーバ側のプリンタドライバとクライアント側のプリンタドライバを同一のものにしなければならない場合がある。
【０００９】
そして、さらに、プリントシステムサーバ側で生成されたプリントイメージデータは、内容によってはデータ量が大きくなる。そのプリントイメージデータがクライアント側へ配信された場合、ネットワークの負荷も大きくなる。
【００１０】
そこで、プリントシステムサーバ側がプリントイメージデータを配信するのではなく、プリントイメージデータを生成するのに使用するフォームデータをクライアント側に配信し、一方、クライアント側では、配信されたフォームデータを格納する場所を複数種類設けることにより、プリントイメージデータを生成するためのオーバレイ処理を効率的かつ効果的に行なえるようにする。これを、クライアントサイドメイク機能と呼ぶ。
【００１１】
しかし、プリントシステムを熟知していないユーザは、自分が使用しているクライアントの端末において、クライアントサイドメイク機能を利用できるか否かを把握できない場合がある。そのため、ユーザは、サーバサイドメイク機能やクライアントサイドメイク機能を意識することなく、自分が使用しているプリントシステムの環境で、最適な印刷業務を行なえることが望ましい。そのため、ユーザが操作しているクライアントの端末に、クライアントサイドメイク機能用のソフトウェアがインストールされていればクライアントサイドメイク機能が使用され、インストールされていなければサーバサイドメイク機能が使用されることが望ましい。
【００１２】
【課題を解決するための手段】
上記課題を解決するため、本発明では、クライアント装置と通信することが可能な情報処理装置であって、前記クライアント装置に対して、前記クライアント装置上で実行されることにより、帳票フォームに帳票データの埋め込まれた帳票印刷データを生成する機能を前記クライアント装置が有しているかを判定可能なプログラムを送信するプログラム送信手段と、前記帳票フォームに前記帳票データの埋め込まれた前記帳票印刷データを生成する機能を前記クライアント装置が有しているか否かを示す前記プログラムによる判定結果を受信する受信手段と、前記受信手段によって受信された前記プログラムによる判定結果に基づいて、前記帳票フォームに前記帳票データが埋め込まれた前記帳票印刷データを前記クライアント装置に対して送信するか、前記帳票印刷データを生成するために必要な前記帳票フォームと前記帳票データとを前記クライアント装置に対して送信するかを判定する判定手段を備え、前記判定手段は、前記プログラムにより、前記帳票フォームに前記帳票データの埋め込まれた帳票印刷データを生成する機能を前記クライアント装置が有していると判定されていた場合に、前記帳票印刷データを生成するために必要な前記帳票フォームと前記帳票データとを前記クライアント装置に対して送信すると判定することを特徴とする。
【００１６】
【発明の実施の形態】
＜帳票プリントシステム＞
図１は、帳票プリントシステムの機能構成図である。
【００１７】
１００は、帳票プリントシステムのサーバ（以下、サーバと省略する）である情報処理装置である。
【００１８】
１０１は、データベースで構築されているデータ格納部であり、各業務用データを格納している。このデータは予めデータベース化されているもののほか、Ｗｅｂブラウザで入力されたデータがそのままデータ格納部に格納されることもある。
【００１９】
１０２は、帳票プリントの際に使用されるプリント用帳票フォームを示す帳票フォーム（或いは、帳票フォームデータと言う）が格納されている帳票フォーム格納部である。帳票フォーム格納部１０２は、帳票プリントを行う為の帳票フォーム等を格納する。なお、帳票フォームは、クライアントがサーバから読み出したＷｅｂドキュメントごとに、それぞれに対応したものがある。従って、サーバが帳票フォームに対応づけられるＷｅｂドキュメントをクライアントに送信した場合、そのＷｅドキュメントに対応する識別子をサーバは記憶しておく。また、帳票フォーム格納部に格納される帳票フォームには、対応するＷｅｂドキュメントの識別子が帳票フォーム識別子として関連付けられている。
【００２０】
１０３は、クライアントからの要求に基づいて、画像生成に必要なデータと帳票フォームとを合成した配信データを生成する配信データ生成部１０３である。
【００２１】
１０４は、Ｗｅｂサーバの機能を有するネットワーク通信制御部である。ここで、Ｗｅｂサーバ機能とは、ＨＴＴＰ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）やＦＴＰ（Ｆｉｌｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）等をサポートする機能であり、ＵＲＬ（Ｕｎｉｆｏｒｍ  ＲｅｓｏｕｃｅＬｏｃａｔｏｒ）で指定された、ＨＴＭＬ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）などで記述された文書データファイル（Ｗｅｂドキュメント）等を、要求に応じてネットワーク上のクライアントに送信することができるものである。
【００２２】
１０５は、帳票印刷データを決められた様式に従って作成する画像生成部である。画像生成部１０５は、帳票印刷データを、帳票フォーム及びそこにオーバーレイされるデータとの組み合わせにより、プリント出力部で解釈可能な所定の形式で作成する。
【００２３】
１０６は、データ処理部で、各業務用のアプリケーションプログラムに従ってデータ処理を行なう。
【００２４】
１０７は、プリント情報解析部で、クライアントのプリント能力の判定等を行なう。
【００２５】
１１０は、帳票プリントシステムのクライアント（以下、クライアントと省略する）であるＰＣ等の情報処理装置である。
【００２６】
１１１は、帳票プリントシステムのサーバ（以下、サーバと省略する）に対してデータの入出力を行うデータ入出力部である。データ入出力部１１１は、電話回線やＬＡＮ等のネットワーク１５０を介してサーバ１００とデータを交換するもので、ＨＴＴＰより低いレイヤの処理を行う。
【００２７】
１１２は、データ処理部であって、配信データ生成部１０３によって生成された配信データを解析し、そこから、画像生成に必要なデータと帳票フォームとを復元する。そして、１１３は、データ処理部１１２によって復元された帳票フォームを格納する部分である。
【００２８】
１１５は、帳票印刷データを決められた様式に従って作成する画像生成部である。画像生成部１１５は、帳票フォーム及びそこにオーバーレイされるデータとの組み合わせにより、プリント出力部１１７で解釈可能な所定の形式で帳票印刷データを作成する。
【００２９】
１１６は、Ｗｅｂブラウザ１１６である。Ｗｅｂブラウザ１１６は、ＨＴＭＬ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）などで記述された文書データファイル（Ｗｅｂドキュメント）を表示する機能を持つアプリケーションプログラムで、Ｗｅｂサーバから受信したＷｅｂドキュメントを表示する。また、Ｗｅｂブラウザ１１６は、単にＷｅｂドキュメントを表示するのみならず、ＨＴＭＬの記述に従って、画面上でデータを入力させ、それをＷｅｂサーバに返送する機能をも持つ。なお、Ｗｅｂブラウザは、入力されたＵＲＬに従って、サーバからＷｅｂドキュメントを取得する。なお、クライアント１１０は、帳票フォーム格納部１１３、データ処理部１１２、画像生成部１１５によりクライアントサイドメイク機能を備えている。
【００３０】
１１７は、画像生成部１１５で作成されたデータをプリンタが出力できる形式に変換するプリント出力部であり、一般にはプリンタドライバと呼ばれている。
【００３１】
同様に、１２０は、帳票プリントシステムのクライアント（以下、クライアントと省略する）であるＰＣ等の情報処理装置である。ただし、クライアント１２０は、クライアントサイドメイク機能を備えていない。
【００３２】
１２１は、帳票プリントシステムのサーバ（以下、サーバと省略する）に対してデータの入出力を行うデータ入出力部である。データ入出力部１２１は、電話回線やＬＡＮ等のネットワーク１５０を介してサーバ１００とデータを交換するもので、ＨＴＴＰより低いレイヤの処理を行う。
【００３３】
１２２は、Ｗｅｂブラウザである。Ｗｅｂブラウザ１２２は、ＨＴＭＬ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）などで記述された文書データファイル（Ｗｅｂドキュメント）を表示する機能を持つアプリケーションプログラムで、Ｗｅｂサーバから受信したＷｅｂドキュメントを表示する。また、Ｗｅｂブラウザ１１６は、単にＷｅｂドキュメントを表示するのみならず、ＨＴＭＬの記述に従って、画面上でデータを入力させ、それをＷｅｂサーバに返送する機能をも持つ。なお、Ｗｅｂブラウザは、入力されたＵＲＬに従って、サーバからＷｅｂドキュメントを取得する。
【００３４】
１２３は、作成されたデータをプリンタが出力できる形式に変換するプリント出力部であり、一般にはプリンタドライバと呼ばれている。
【００３５】
１３０は印刷装置である。１５０は、サーバとクライアントとを結んでいるネットワークである。ネットワークの形態として、ＬＡＮ（Ｌｏｃａｌ  ＡｒｅａＮｅｔｗｏｒｋ）、インターネット、無線などがある。なお、ここでは、ネットワーク１５０は、Ｗｅｂ環境の通信手順（例えば、ＴＣＰ／ＩＰプロトコルやＨＴＴＰプロトコル）に対応したものであるとする。
【００３６】
図３は、クライアント及びサーバの制御構成を示すハードウエア構成図である。図１の各部（１０３〜１０７、１１１、１１２、１１５〜１１７、１２１〜１２３）は、それぞれに対応するプログラムがメモリ３０３にロードされ、コンピュータのＣＰＵ３０２によって実行されることにより実現されている。
【００３７】
また、これらのプログラムや、データ格納部１０１、帳票フォーム格納部１０２、帳票フォーム一時格納部１１３、帳票フォーム恒久格納部１１４は、ハードディスク等の外部メモリ３０５に格納される。外部メモリ３０５は、フロッピディスクやＣＤ−ＲＯＭ等の取り外し可能な記憶媒体を用いるものであっても良い。
【００３８】
ディスプレイ３０４には、Ｗｅｂブラウザや画像が表示される。Ｉ／Ｏインターフェース３０６は、ネットワーク１５０やプリンタなどの外部装置に接続するための口である。また、キーボードやポインティングデバイス３０１により、ユーザは必要な入力を行う。
【００３９】
＜Ｗｅｂブラウザ上の表示＞
つぎに、Ｗｅｂブラウザ（１１６や１２２）からのプリント指示について述べる。サーバ１００は、データ入出力部１１１や１２１と通信することにより、Ｗｅｂブラウザで入力されたデータの受付、解析、受け付けたデータに応じたデータの検索、検索結果のデータ入出力部１１１や１２１への返信を行なう。
【００４０】
Ｗｅｂブラウザは、サーバから配信されたＷｅｂドキュメントに応じてボタンを表示しており、ユーザがそのボタンを押すと、データ入出力部を介してサーバへ様々な要求が送られる。なお、このボタンは、コンピュータのディスプレイに表示されており、マウスなどのポインティングデバイスやキーボードからの入力により選択され、押されるものである。
【００４１】
図２は、Ｗｅｂブラウザにおいて、業務処理用のページが表示されているのを示す図である。この帳票プリントシステムのおける印刷ボタンは、Ｗｅｂブラウザのイメージ表示領域に設けられる。
【００４２】
２０１は、クライアントのモニター或いはディスプレイ装置に表示されるＷｅｂブラウザのウインドウである。２０２のエリアにウインドウタイトルが表示される。２０３および２０４のエリアにはＷｅｂブラウザが持つコマンドが表示されている。Ｗｅｂブラウザに表示されているイメージを印刷するためのコマンドもここにある。２０５は、アクセスするサーバのアドレス（ＵＲＬ：Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｉｏｎなど）を入力するテキストフィールドである。
【００４３】
２０６及び２０７は、ユーザが各項目を選択可能になっているフィールドである。２０８は表示ボタンである。この表示ボタンが押されると、２０６と２０７の欄において、ユーザにより選択されている項目がサーバに送信され、サーバからの応答を待つことになる。すると、サーバは、２０６で選択された帳票名及び２０７で選択された人名に基づき帳票の表示データ（表示用のＨＴＭＬドキュメントデータ）を生成し、それをクライアントに送信する。Ｗｅｂサーバは、その帳票表示データをもとに、２０９のような帳票のイメージを表示する。
【００４４】
図２の場合では、サーバは、夏目漱石さんの勤務状況に関するデータを、データ格納部１０１を検索して取得し、そのデータをもとに帳票表示データ（ここでは、帳票のイメージを表示するＷｅｂドキュメント）を生成し、それをクライアントに送信する。すると、月次帳票がＷｅｂブラウザの２０９に表示される。さらに、２１０はこの帳票プリントシステムにおける印刷ボタンである。
【００４５】
クライアントからサーバの帳票のページを読み出す場合、Ｗｅｂブラウザが、クライアントで起動される。ユーザが、図２のように、ｈｔｔｐ：／／２０２．２２８．１０２と入力すると、欄２０６〜２１０を含むＷｅｂドキュメントデータがサーバからＷｅｂブラウザに送られる。
【００４６】
＜サーバサイドメイク機能＞
クライアントサイドメイク機能を備えないクライアント１２０のＷｅｂブラウザ１２２において、印刷ボタン２１０が押された場合の動作を示す。印刷では、形式識別子に対応したプリント用帳票フォームにデータが挿入されて、印刷すべき文書が作成される。印刷ボタンが押されると、印刷ボタンが押されたことを示す情報がサーバに送信される。サーバでは、印刷を要求してきたクライアントに送信してあるＷｅｂドキュメント（帳票ページ）に付された識別子を基に、帳票フォーム格納部１０２に格納されている帳票フォームを検索する。各帳票フォームは、形式識別子から検索できるように格納されている。
【００４７】
図４は、印刷に用いられる帳票フォームの一例である。帳票フォーム中の図形データ（帳票データ）は、固定データと可変データに分類される。帳票タイトルの文字列４０１、枠および日にち等を示す数字４０２、文字列及び枠４０３は固定データである。また、エリア４０４及び４０５のｓ１、ｎ１〜ｎ１２、ｎ５０、ｎ５１には、データベース等より検索された値（帳票データ）が埋め込まれる。
【００４８】
一方、図５は、図４の図形データに埋め込まれるべき可変データのテーブルである。
【００４９】
このテーブルは、各帳票フォームごとに用意されており、どの帳票フォームのものであるかがわかるように、帳票フォーム識別子５０４が付されている。図５のテーブルでは、各可変データｓ１、ｎ１〜ｎ５１ごとに、その可変データのインデックス（５０１）、その可変データの表示する文字サイズ（５０２）、その可変データの実際の値（数列或いは文字列）（５０３）が格納されている。図４の帳票フォームと図５の各可変データの値とが、インデックスに基づいてマージされることにより、帳票印刷データが作成される。
【００５０】
図６は、サーバが実際に帳票印刷データを生成し、クライアント１２０に送信する処理を示すフローチャートである。この処理は、サーバが、印刷ボタン２１０が押されたことを示す情報を受信したことにより、サーバにおいて実行される。この処理は、ステップＳ７０１〜Ｓ７０４がデータ処理部１０６により、ステップＳ７０５〜Ｓ７０６は画像生成部１０５により、ステップＳ７０７はネットワーク通信制御部１０４により行われる。
【００５１】
まず、ステップＳ６０１で、サーバが、ボタンが押されたことを受信すると、ステップＳ６０２において、使用される帳票フォームを検索する。使用される帳票フォームは、クライアントにすでに送信しているＷｅｂドキュメントの識別子が記憶されているため、それをもとに検索可能である。
【００５２】
ステップＳ６０３では、検索で検出された帳票フォーム内に組み込まれるべき可変データの欄の位置を検知する。次に、ステップＳ６０４で、インデックスデータを作成する。すなわち、図５のテーブルにおける可変データの値を、そのインデックスに応じて、ステップＳ６０３で抽出した可変データの欄の位置に合わせるようにして記述する。こうして、可変データ部分を記述したインデックスデータができる。
【００５３】
次に、ステップＳ６０５において、画像生成部１０５が、ステップＳ６０２で得られた帳票フォームの固定データ部分と、ステップＳ６０４で作成したインデックスデータとをマージさせる。ステップＳ６０６では、画像生成部１０５が、ステップＳ６０５でマージされたデータから、実際の画像形式、すなわちプリント出力部１１７にて解釈可能な形式で記述された帳票印刷データを作成する。
【００５４】
ステップＳ６０７では、ステップＳ６０６で作成した帳票印刷データを、クライアント１２０に対して送信する。なお、このステップでは、データをクライアント１２０に送信するとしているが、作成された帳票印刷データそのものをクライアントに送信せず、作成された帳票印刷データのデータファイルのＵＲＬをクライアントに送ってもよい。その場合、クライアントでは、Ｗｅｂブラウザが受信したＵＲＬを用いて、自動的に、ＨＴＴＰでなくＦＴＰを利用してデータファイルの送信を要求し、サーバからデータファイルを受信する。
【００５５】
図７は、図６のステップＳ６０７でサーバにより送信された帳票印刷データを受信したクライアント１２０による処理を示すフローチャートである。
【００５６】
まず、ステップＳ７０１では、プリント出力部が、受信した帳票印刷データを解析し、受信した帳票印刷データに適したプリンタを見つける。図１ではプリンタは１台しかないため、プリンタ１３０が選ばれる。ステップＳ７０２では、プリント出力部１２３が、解析結果に基づいて、プリンタ１３０で出力可能なプリントイメージデータを生成する。
【００５７】
それをステップＳ７０３でプリントスプールに格納する。すると、印刷装置１３０に順次プリントイメージデータが出力させる。以上を、受信した帳票印刷データが全て解析され、プリントイメージデータに変換されるまで繰り返し行う。
【００５８】
以上の手順により、クライアントからＷｅｂブラウザを用いて出力データを指定し、適当な形式で印刷を行わせることができる。また、印刷用に作成された帳票フォームを用いて帳票を印刷することにより、表示された帳票を印刷する場合と異なり、Ｗｅｂブラウザを用いて作成した画像を、高品質の印刷物として出力可能である。また、サーバでもクライアントでも、いずれのプリンタからでも高品質の帳票を利用者の都合に応じて印刷させることができる。また、帳票フォームを保持するのはサーバのみであり、データとの合成もサーバで行っているため、クライアントは、市販のＷｅｂブラウザを用意しておきさえすれば、サーバから高品質の帳票を印刷できる。またこのためにクライアントの負荷が軽く、処理能力の低い安価なパーソナルコンピュータ或いはＷｅｂブラウザ機能だけを有する携帯情報端末を利用できる。
【００５９】
＜クライアントサイドメイク機能＞
上記の帳票プリントシステムでは、サーバが帳票印刷データの生成を行なっていたが、必要に応じて、サーバが、必要な帳票フォームと帳票データとをクライアントに送信し、クライアントが帳票印刷データを生成することも可能である。これを、クライアントサイトメイク機能と呼ぶ。
【００６０】
クライアントサイトメイク機能を備えるクライアント１１０による帳票印刷データの生成及び出力を行うための流れについて説明する。図８は、クライアント１１０からの印刷要求を受けたサーバが、配信データを作成するまでの処理の流れをフローチャートである。なお、ステップＳ１００１〜Ｓ１００５は、配信データ生成部１０３により実行され、ステップＳ１００６はネットワーク通信制御部１０４によって実行される。
【００６１】
まず、ステップＳ８０１で、Ｗｅｂブラウザ１１６から受信した要求（ＨＴＴＰリクエスト）を解析し、ステップＳ８０２及びＳ８０３で、クライアントが要求している帳票印刷データの生成に必要なデータ、特に帳票フォームと帳票データを特定する。更に、ステップＳ８０４では、クライアントが画像生成した後、プリンタが印刷実行する時のプリンタ情報や印刷部数等（これをまとめて印刷条件と呼ぶ）を特定する。
【００６２】
ステップＳ８０５において、ステップＳ８０２〜Ｓ８０４で特定された画像生成に必要な情報を一つのデータに合成して、配信データを作成する。そして、ステップＳ８０６では、作成された配信データをクライアント１１０に送信する。
【００６３】
図９は、クライアントから受け取った印刷要求（ＨＴＴＰリクエスト）に含まれる情報を表している。９０１は、クライアントから送信されたＨＴＴＰリクエストそのものである。９０２は、クライアントで指定されたプリンタに関する出力プリンタ情報である。９０３は、画像生成時に指定する帳票の名称、印刷部数、両面・片面印刷の指定、プリンタのトレー指定等の印刷時の条件を表す。９０４は、クライアントで選択された印刷する帳票名を示している。
【００６４】
図１０は、サーバが、ＨＴＴＰリクエストに含まれる帳票名に基づいて画像生成に必要な帳票データと帳票フォーム（帳票テンプレート）を特定するためのテーブルを表している。１００１は、帳票名に対応する帳票データ及び帳票フォームの組み合わせを示すテーブルである。
【００６５】
このテーブルでは、各帳票ごとに、その帳票の名称（１００２、１００４、１００６）、その帳票に対応する帳票データ及び帳票フォーム（１００３、１００５、１００７）が格納されている。なお、１００５では、帳票フォームが複数必要であることを示している。サーバは、ＨＴＴＰリクエストに含まれる帳票名をもとに、図１０のテーブルを検索し、帳票データ及び帳票フォームを引き出す。
【００６６】
図１１は、サーバが生成する配信データを表す図である。１１０１は、クライアントに配信される配信データ全体を表す。
【００６７】
１１０２は、配信データのヘッダ部である。１１０３は、出力プリンタ情報を格納するフィールドである。１１０４は、印刷条件の情報を格納するフィールドである。
【００６８】
１１０５は、配信データのデータ部である。１１０６は、画像生成に必要なデータを格納するフィールドである。１１０７及び１１０８は、それぞれの帳票フォームを格納するフィールドを表す。データ部１１０５には、帳票フォームが複数存在する場合でも、それぞれの帳票フォームを連続して格納可能である。
【００６９】
図１２は、サーバから配信された配信データを受け取ったクライアントが、画像を生成し、印刷を実行するまでの処理を示すフローチャートである。なお、ステップＳ１２０１は、データ入出力部１１１により実行され、ステップＳ１２０２〜Ｓ１２０４は、データ処理部１１２により実行され、ステップＳ１２０５は画像生成部１１５により実行され、ステップＳ１２０６は、プリント出力部１１７により実行される。
【００７０】
ステップＳ１２０１では、サーバで作成された配信データを受信する。ステップＳ１２０２では、ステップＳ１２０１で受け取った配信データから、印刷条件を抽出しメモリに保持し、ステップＳ１２０３では、帳票の印刷に必要な帳票データを抽出してファイルとして保存する。ステップＳ１２０４では、画像生成に必要な帳票フォームを抽出し、ファイルとして保存する。
【００７１】
ステップＳ１２０５では、ステップＳ１２０２〜Ｓ１２０４で抽出された各情報に基づいて帳票印刷データを生成する。このときの、帳票印刷データの生成方法は、図６のステップＳ６０２〜Ｓ６０６と同等である。そして、ステップＳ１２０６で、プリント出力部１１７は、帳票印刷データをプリントイメージデータに変換し、それをプリンタに送信する。
【００７２】
＜機能の判定＞
上記では、サーバサイドメイク機能を用いた印刷処理とクライアントサイドメイク機能を用いた印刷処理をそれぞれ別々に説明したが、以下では、サーバサイドメイク機能を用いるか、クライアントサイドメイク機能を用いるかを判断して、印刷処理を行なう手順について説明する。
【００７３】
図１３は、帳票を作成するための、サーバとクライアントのやり取りを示す図である。ステップＳ１３０１及びＳ１３０２では、クライアントのＷｅｂブラウザからサーバに対して帳票印刷の為の処理開始を宣言する。すなわちクライアントとサーバとの間でセッションが開始されることになる。セッションが開始されると、ステップＳ１３０３では、サーバが、帳票作成を促すページのデータ（ＨＴＭＬデータ）をクライアントに配信する。
【００７４】
ステップＳ１３０４では、クライアントのＷｅｂブラウザが、そのデータをユーザに対して表示し、そこで、ユーザは様々なデータ入力を行う。そして、一通りのデータ入力が終わると、ステップＳ１３０５では、クライアントは帳票の作成依頼をサーバに送信する。
【００７５】
一方、ステップＳ１３０６では、サーバは、クライアントからのリクエストに応じて、帳票のデータを作成した後、ステップＳ１３０７では、クライアントに返信するデータの中に、クライアントで実行可能な実行モジュール（プラグインと言う）を添付する。そして、ステップＳ１３０８で、実行モジュール付きのデータをクライアントに送信する。
【００７６】
なお、このプラグインをサーバからクライアントに送信して、クライアントで実行させることにより、機能を判定する特殊なソフトウェアを予めクライアントが有している必要が無い。更に、機能の判定が自動的に行なわれるため、ユーザがプリントシステムの詳細を熟知している必要が無く、ユーザにとって便利なプリントシステムを提供することができる。
【００７７】
クライアントでは、ステップＳ１３０９で、サーバから応答されたデータを表示すると同時に、ステップＳ１３１０で、前記サーバから送信されたプラグインが実行される。プラグインは、自動実行型であり、かつ、実行ステータスを返すことが可能である。ステップＳ１３１１では、実行されたプラグインが、クライアントサイドメイク機能が可能な環境がクライアントに完備されているか否かを判定する。この判定では、例えば、データ処理部１１２や画像生成部１１５に対応するソフトウェアがクライアントにインストールされているか否かを検出し、インストールされていることが確認された場合にはクライアントサイドメイク機能を使用可能と判定する。
【００７８】
すなわち、クライアントサイドメイク機能が可能でないならば、本プラグインは、エラー終了する。また、クライアントサイドメイク機能が可能ならば、正常終了となる。ステップＳ１３１２では、プラグインは、クライアントサイドメイク機能が可能であるか否かを示すステータスをサーバに通知する。サーバは、ステップＳ１３１３で、現セッションのクライアントがクライアントサイドメイク機能を実行可能であるか否かを把握することが可能である。
【００７９】
その後、クライアントにおいて印刷要求が発生すると、クライアントは、ステップＳ１３１４で印刷リクエストをサーバに送信する。サーバは、ステップＳ１３１５で、帳票印刷データ或いは配信データを生成し、そのいずれかをクライアントに送信する。その後、ステップＳ１３１６で、クライアントは、帳票印刷データ或いは配信データを用いて帳票を印刷する。
【００８０】
ここでの特徴は、ステップＳ１３１１でクライアントの環境を評価し、ステップＳ１３１３で、サーバがクライアントの環境をを認識することである。この認識により、サーバは、ステップＳ１３１５において、コストのかかる画像生成を行うか、つまり、帳票印刷データを生成して送信するか、またはデータのみの配信にとどめるか、つまり、帳票フォームとデータとを含む配信データを生成して送信するかを判定できる。
【００８１】
図１４は、図１３のステップＳ１３１５のデータ作成・応答処理を示すフローチャートである。ここでは、クライアントは、クライアント自身の能力に応じた適切なデータ作成を依頼している。印刷イメージデータそのものである場合もあり、テキストデータと帳票フォームの軽いデータである場合もある。
【００８２】
ステップＳ１４０１では、既にこのセッション内で把握されているクライアントの環境を再確認する。更に、ステップＳ１４０２では、セッション内で作成された、帳票作成に必要なデータを整備する。実際には、決められている形式、たとえばＣＳＶ形式、ＸＭＬ形式などに再編集した上で、ステップＳ１４０３では、使用する帳票用フォームを検索する。
【００８３】
ステップＳ１４０４の判定では、このセッションの印刷データは、サーバサイドメイク機能すなわちサーバ内で帳票印刷データまでを作成した上でクライアントに返信するか、或いはクライアントサイドメイク機能すなわちテキストと帳票フォームをクライアントに配信すべきか判定する。
【００８４】
サーバサイドメイク機能を使用する場合は、ステップＳ１４０６においてサーバ内で画像生成処理を行う。なお、このときの処理は、図６に示す通りである。クライアントサイドメイク機能を使用が可能と判定されたときは、ステップＳ１４０５において配信データ生成処理を行なう。このときの処理は、図８に示す通りである。
【００８５】
そして、ステップＳ１４０７では、ステップＳ１４０５で作成した配信データ或いはステップＳ１４０６で作成した帳票印刷データをクライアントに送信する。
【００８６】
＜制御プログラムの供給方法＞
また、本発明に係るプログラム及び関連データは、フロッピーディスク（ＦＤ）やＣＤ−ＲＯＭ中に記憶され、そこからコンピュータに供給される。図１５は、本発明に係るプログラム及び関連データがＦＤやＣＤ−ＲＯＭに格納されている状態でのメモリマップを示す図である。ＦＤやＣＤ−ＲＯＭの記憶領域は、ボリューム情報、ディレクトリ情報、本発明に係るプログラムの実行ファイル（プログラムコード）、ジョブアカウントの関連データファイルから構成される。
【００８７】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウエア（制御プログラム）のプログラムコードを記録した記憶媒体（図１５）を、図１６に示すようにコンピュータに供給し、そのコンピュータの装置（ＣＰＵ３０２）が記憶媒体に格納されたプログラムコードを読出し実行することによって達成される。
【００８８】
図１５に示すプログラムやデータをコンピュータに供給する方法として図１６に示すようにフロッピーディスクＦＤ１６００に記憶させて、コンピュータ本体１６０２に（フロッピーディスクドライブ１６０１を介して）供給する方法が一般的である。この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコード及びそのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００８９】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピディスクやハードディスク以外にも、光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，磁気テープ，不揮発性のメモリカード，ＲＯＭなどを用いることができる。
【００９０】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００９１】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００９２】
【発明の効果】
以上説明したように、本発明によれば、Ｗｅｂブラウザを介して帳票などを印刷しようとするユーザは、自身が使用しているクライアントの環境を意識することなく、最適な方法により帳票印刷に必要なデータを入手して印刷することが可能であり、ネットワークの負荷やサーバの負荷を気にせず帳票作成を行なうことができる。
【００９３】
特に、印刷データを生成する機能をクライアントが有しているかどうかを判定するプログラムが、サーバからクライアントに送信され、クライアントで実行させることにより、機能を判定する特殊なソフトウェアを予めクライアントが有している必要が無い。更に、機能の判定が自動的に行なわれるため、ユーザがプリントシステムの詳細を熟知している必要が無く、ユーザにとって便利なプリントシステムを提供することができる。
【図面の簡単な説明】
【図１】帳票プリントシステムの機能構成図である。
【図２】Ｗｅｂブラウザにおいて、業務処理用のページが表示されているのを示す図である。
【図３】クライアント及びサーバの構成を示すハードウエア構成図である。
【図４】印刷に用いられる帳票フォームの一例を示す図である。
【図５】図形データに埋め込まれるべき可変データのテーブルを示す図である。
【図６】サーバが実際に帳票プリントデータを生成し、クライアントに送信する処理を示すフローチャートである。
【図７】サーバにより送信された帳票印刷データを受信したクライアントによる処理を示すフローチャートである。
【図８】クライアントからの印刷要求を受けたサーバが、配信データを作成するまでの処理の流れをフローチャートである。
【図９】クライアントから受け取った印刷要求（ＨＴＴＰリクエスト）に含まれる情報を示す図である。
【図１０】サーバが、ＨＴＴＰリクエストに含まれる帳票名に基づいて画像生成に必要な帳票データと帳票フォームを特定するためのテーブルを示す図である。
【図１１】サーバが生成する配信データを表す図である。
【図１２】サーバから配信された配信データを受け取ったクライアントが、画像を生成し、印刷を実行するまでの処理を示すフローチャートである。
【図１３】帳票を作成するための、サーバとクライアントのやり取りを示す図である。
【図１４】データ作成・応答処理を示すフローチャートである。
【図１５】プログラムコードを記録した記憶媒体を示す図である。
【図１６】コンピュータにプログラムコードを供給する方法を示す図である。
【符号の説明】
１００  サーバ
１０１  データ格納部
１０２  帳票フォーム格納部
１０３  配信データ生成部
１０４  ネットワーク通信制御部
１０５  画像生成部
１０６  データ処理部
１０７  プリント情報解析部
１１０  クライアント
１１１  データ入出力部
１１２  データ処理部
１１３  帳票フォーム格納部
１１５  画像生成部
１１６  Ｗｅｂブラウザ
１１７  プリント出力部
１２０  クライアント
１２１  データ入出力部
１２２  Ｗｅｂブラウザ
１２３  プリント出力部
１３０  プリンタ
１５０  ネットワーク
【図１】
0004508471.tif 000002
【図２】
0004508471.tif 000003
【図３】
0004508471.tif 000004
【図４】
0004508471.tif 000005
【図５】
0004508471.tif 000006
【図６】
0004508471.tif 000007
【図７】
0004508471.tif 000008
【図８】
0004508471.tif 000009
【図９】
0004508471.tif 000010
【図１０】
0004508471.tif 000011
【図１１】
0004508471.tif 000012
【図１２】
0004508471.tif 000013
【図１３】
0004508471.tif 000014
【図１４】
0004508471.tif 000015
【図１５】
0004508471.tif 000016
【図１６】
0004508471.tif 000017