(57)【特許請求の範囲】
【請求項１】
フォーム情報とフィールドデータとをオーバレイ出力するための描画命令を実行することにより、印刷データを生成する第１生成手段と、
前記第１生成手段で前記描画命令を実行することによって前記印刷データを生成する際に前記描画命令に含まれる複数のフィールドの情報を取得することによって、前記複数のフィールド間の計算関係を示す計算情報を生成する第２生成手段と、
仮想プリンタドライバを用いて、前記第１生成手段で生成された印刷データを変換して、ＰＤＦ形式の帳票ページを生成する第３生成手段と、
前記ＰＤＦ形式の帳票ページを、ＳＶＧ形式の帳票ページに変換する変換手段と、
前記変換手段で変換された前記ＳＶＧ形式の帳票ページと、前記第２生成手段で生成された計算情報とに基づいて、前記帳票ページの閲覧および編集を行うための閲覧画面を表示させるためのデータを生成する閲覧画面生成手段と、
前記閲覧画面生成手段で生成された前記閲覧画面を表示させるためのデータを、クライアント装置に送信する送信手段と、を備えることを特徴とする情報処理装置。
【請求項２】
前記クライアント装置では、
前記情報処理装置から送信された前記閲覧画面を表示させるためのデータを受信し、
前記受信したデータに基づいて、前記閲覧画面を表示し、
前記閲覧画面に表示されたデータが編集された場合に、前記計算情報に基づいて前記編集されたデータと計算関係のあるフィールドのデータを計算し、前記編集されたデータと前記計算されたデータとに基づいて前記閲覧画面を更新することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記閲覧画面生成手段で生成される前記閲覧画面を表示させるためのデータは、前記ＳＶＧ形式の帳票ページと、前記計算情報と、閲覧および編集を制御するための制御プログラムとを含むことを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記クライアント装置は、編集操作が行われた前記閲覧画面の領域が編集可能な領域かどうかを判断し、前記編集可能な領域であると判断した場合に前記編集を行うための編集画面を表示し、
前記表示された編集画面で前記データが編集された場合に、前記計算情報に基づいて前記編集されたデータと計算関係のあるフィールドのデータを計算して、前記編集されたデータと前記計算されたデータとに基づいて前記閲覧画面を更新することを特徴とする請求項２に記載の情報処理装置。
【請求項５】
前記計算情報は、前記帳票ページ内のデータの各フィールドに関連のある他のフィールドがあるか否かを示す情報を有しており、
前記クライアント装置では、前記編集画面でデータが編集された場合に、前記編集されたデータと関連のあるフィールドを前記計算情報により特定することを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記計算情報は、前記帳票ページ内のデータの各フィールドに関連のある他のフィールドがあるか否かを示す情報とともに、前記関連のある他のフィールドに対する処理内容を有しており、
前記クライアント装置では、前記編集画面でデータが編集された場合に、前記編集されたデータと関連のあるフィールドを前記計算情報により特定して、当該特定されたフィールドを前記処理内容に基づき更新することを特徴とする請求項４に記載の情報処理装置。
【請求項７】
前記クライアント装置は、更新された前記閲覧画面を印刷する場合に、前記情報処理装置に前記更新された閲覧画面のデータを送信し、
前記情報処理装置は、さらに、前記更新された閲覧画面のデータをもとに前記情報処理装置の保持している前記帳票ページのデータを更新して、印刷用データを作成することを特徴とする請求項２に記載の情報処理装置。
【請求項８】
前記クライアント装置は、前記編集されたデータが前記帳票ページのレイアウトに影響するかを判断して、前記編集されたデータが前記帳票ページのレイアウトに影響すると判断した場合に、前記情報処理装置に前記編集されたデータを送信し、
前記情報処理装置は、
前記編集されたデータに基づいて帳票ページを新たに作成して、前記新たに作成された帳票ページの閲覧画面を前記クライアント装置に送信し、
前記クライアント装置は、前記新たに作成された閲覧画面を表示することを特徴とする請求項７に記載の情報処理装置。
【請求項９】
コンピュータを、請求項１乃至８のいずれか１項に記載の情報処理装置の各手段として機能させるためのコンピュータプログラム。
【請求項１０】
情報処理装置の第１生成手段が、フォーム情報とフィールドデータとをオーバレイ出力するための描画命令を実行することにより、印刷データを生成する第１生成工程と、
前記情報処理装置の第２生成手段が、前記第１生成工程で前記描画命令を実行することにより前記印刷データを生成する際に前記描画命令に含まれる複数のフィールドの情報を取得することによって、前記複数のフィールド間の計算関係を示す計算情報を生成する第２生成工程と、
前記情報処理装置の第３生成手段が、仮想プリンタドライバを用いて、前記第１生成工程で生成された印刷データを変換して、ＰＤＦ形式の帳票ページを生成する第３生成工程と、
前記情報処理装置の変換手段が、前記ＰＤＦ形式の帳票ページを、ＳＶＧ形式の帳票ページに変換する変換工程と、
前記ＳＶＧ形式の帳票ページと、前記第２生成工程で生成された計算情報とに基づいて、前記帳票ページの閲覧および編集を行うための閲覧画面を表示させるためのデータを生成する閲覧画面生成工程と、
前記閲覧画面生成工程で生成された前記閲覧画面を表示させるためのデータを、クライアント装置に送信する送信工程と、
を備えることを特徴とする、情報処理装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、情報処理装置、制御方法、およびコンピュータプログラムに関する。
【背景技術】
【０００２】
昨今、ペーパーレス化による業務の効率化や省資源化を目的に、紙媒体の情報を文書データに置き換える企業が増加している。例えば、社内で運用されている業務帳票もその対象となることが多く、特に基幹系システムが出力する帳票は大量のページ数を出力するため運用コストが莫大なものになることから、帳票の電子化が積極的に行われている。また、サーバコンピュータ側で業務データの管理や各種処理を行う形態として、クラウドコンピューティングシステムが普及し始めている。ユーザは、クライアントコンピュータのブラウザからインターネットを介してクラウドサーバコンピュータのＷｅｂページにアクセスし、そのＷｅｂページ上で電子化された帳票文書データを閲覧することが考えられる。さらに、業務フローに応じて閲覧している帳票文書データを編集・印刷するような利用ケースの増加が予想される。
【０００３】
Ｗｅｂページ上で電子化された帳票文書データを編集するには、編集処理を制御するためのプログラムが必要である。ここで、帳票文書データの編集できる箇所、及び帳票文書データ内の各データ間の計算関連（例えば単価データと合計データの関連）は帳票文書データごとに異なるため、各帳票文書データ専用の制御プログラムが必要となる。このため、コストが高く生産性が低いという課題がある。
【０００４】
ＡＤＯＢＥ（登録商標）社のＡｃｒｏｂａｔは、ＡＤＯＢＥ（登録商標）  ＰＤＦ、Ｍｉｃｒｏｓｏｆｔ（登録商標）  Ｗｏｒｄ文書などをＷｅｂページで閲覧・編集できるＰＤＦフォームに変換することができる。また、特許文献１は、帳票データをクライアントがブラウザで閲覧・編集する帳票出力確認サーバを開示している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００５−１９０４３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、帳票文書データ内で編集したデータが他のデータと計算上の関連がある場合に、データを編集後に関連データもその関連性に従い更新する必要がある。Ａｃｒｏｂａｔの場合は、手動で計算関係の設定を行う必要がある。また、特許文献１の場合は、クライアントがブラウザ上で編集した後で、データベース内の帳票データを編集したデータに更新し、さらに更新したデータを用いて再度オーバレイ出力処理を行うことで編集後のデータの閲覧および関連データの更新を実現している。このため、オーバレイ出力処理、及びブラウザで閲覧可能な画像形式に変換する処理を行う必要があり、データ編集の完了から関連フィールドの値を更新するまでに時間がかかってしまう。
【０００７】
本発明は、このような状況を鑑みてなされたものであり、例えば、オーバレイ出力された帳票文書データを閲覧しているときにデータの編集を行うと、そのデータに関連するデータも自動的にリアルタイム更新される情報処理システムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の一実施形態の情報処理装置は、フォーム情報とフィールドデータとをオーバレイ出力するための描画命令を実行することにより、印刷データを生成する第１生成手段と、前記第１生成手段で前記描画命令を実行することによって前記印刷データを生成する際に前記描画命令に含まれる複数のフィールドの情報を取得することによって、前記複数のフィールド間の計算関係を示す計算情報を生成する第２生成手段と、仮想プリンタドライバを用いて、前記第１生成手段で生成された印刷データを変換して、ＰＤＦ形式の帳票ページを生成する第３生成手段と、前記ＰＤＦ形式の帳票ページを、ＳＶＧ形式の帳票ページに変換する変換手段と、前記変換手段で変換された前記ＳＶＧ形式の帳票ページと、前記第２生成手段で生成された計算情報とに基づいて、前記帳票ページの閲覧および編集を行うための閲覧画面を表示させるためのデータを生成する閲覧画面生成手段と、前記閲覧画面生成手段で生成された前記閲覧画面を表示させるためのデータを、クライアント装置に送信する送信手段と、を備える。
【発明の効果】
【０００９】
本発明の情報処理システムによれば、例えば、帳票文書データ内に計算上の関連が存在するデータがある場合、オーバレイ出力された帳票文書データとともに、計算上の関連を示す関連情報を出力する。これにより、閲覧された帳票文書データ上で編集を行うと、そのデータに関連するデータも自動的にリアルタイム更新されるようになる。
【図面の簡単な説明】
【００１０】
【図１】本発明の第１実施形態に係るシステムの構成例を示す図である。
【図２】第１実施形態に係るハードウェアの構成例を示す図である。
【図３】帳票生成サーバで動作するソフトウェアモジュールの構成例を示す図である。
【図４】帳票生成サーバのオーバレイ出力処理を説明する図である。
【図５】編集可能な帳票閲覧画面を生成する処理のシーケンスを示す図である
【図６】ログイン画面の一例を示す図である。
【図７】帳票選択画面の一例を示す図である。
【図８】オーバレイ出力処理を説明するフローチャートである。
【図９】計算情報ファイルの構成例を示す図である。
【図１０】編集可能な帳票閲覧画面の一例を示す図である。
【図１１】編集可能な帳票閲覧画面の編集処理を説明するフローチャートである。
【図１２】編集可能な帳票閲覧画面に対して編集操作が行われた状態を示す図である。
【図１３】印刷ボタンが押下された際の印刷処理のシーケンスを示す図である。
【図１４】変種可能な帳票閲覧画面のレイアウト変更を説明する図である。
【図１５】計算情報ファイルの構成例を示す図である。
【図１６】編集可能な帳票閲覧画面の編集処理を説明するフローチャートである。
【発明を実施するための形態】
【００１１】
（第１実施形態）
まず、一般的なオーバレイ出力について説明する。オーバレイ出力とは、原稿用紙形式の枠線などの情報を記録するフォーム情報とテキスト形式のデータ（フィールドデータ）を重ねあわせて印刷することである。レーザプリンタ等のページプリンタがもつページ登録またはフォーム登録と呼ばれる機能を使用し、フォーム情報としてあらかじめ登録しておく。このページプリンタを利用してフィールドデータとともに印刷するとき、ページ情報呼び出しまたはフォーム情報呼び出しと呼ばれる機能を使用することにより、該フォーム情報と該フィールドデータを重ねあわせて印刷することができる。このような重ねあわせ印刷のことをオーバレイ出力と定義している。また、オーバレイ出力の結果を紙に印刷するのではなく、仮想プリンタドライバを使用することにより、オーバレイ出力の結果（オーバレイ処理された印刷データ）を、所定のフォーマットの電子ファイルに変換して出力することも可能である。
【００１２】
図４は、帳票生成サーバ１０１によるオーバレイ出力処理の概要について説明した図である。
フォーム情報は専用のフォーム情報設計システムを利用して作成することができる。フォーム情報は、フィールドデータに依存しない固定的な図形（フォーム図形）と、受け取ったフィールドデータを指定した出力書式に従って表示する図形（フィールド図形）から構成されていることが一般的である。フィールド図形を作成するには、予めフィールドデータを受け取るための項目（フィールド）を作成する必要がある。フィールドはフォーム情報設計システムにて表示された専用の画面から作成することができる。フィールド図形を作成すると作成元であるフィールドとの関連付けが内部的におこなわれる。
【００１３】
表形式のフィールド図形（表図形）４０２の場合、フィールドデータをレコード単位に受け取るためのレコードフィールド４０３を作成する必要がある。また、他のフィールド図形のデータの演算結果からフィールドデータを生成する形式のフィールドは計算列フィールドと定義する。また、指定した集計方法で集計しフィールドデータを生成するフィールド形式は集計フィールドと定義する。フィールド図形４０４の場合、どのフィールドとどのような集計方法とが指定されているかを表すための集計フィールド４０５を作成する必要がある。
【００１４】
帳票生成サーバ１０１が、フィールド図形４０２，４０４と各フィールド４０３，４０５とが定義されたフォーム情報ファイル４０１と、対応するフィールドデータファイル４０６とを読み込む。そして、帳票生成サーバ１０１が、読み込んだフォーム情報ファイル４０１とフィールドデータファイル４０６とを重ね合わせることでオーバレイ出力を実行する。図４の４０７はオーバレイ出力結果を表す。
【００１５】
図１は、本実施形態のシステム構成例を示す図である。
図１に示すシステムは、帳票生成サーバ１０１とクライアント装置１０２とを備える。帳票生成サーバ１０１は、オーバレイ出力処理、及び電子帳票閲覧プログラムの生成処理を実行する。すなわち、帳票生成サーバ１０１はテキストデータであるフィールドデータファイルと所定のフォーム情報を含むフォーム情報ファイルとを重ね合わせて印刷ページを生成する。そして、仮想プリンタドライバに指示して上記生成された印刷ページを電子ファイルに変換する。また、その生成された電子ファイル（帳票ファイル）を用いてその帳票を閲覧及び編集できる帳票閲覧プログラムを生成する。
【００１６】
本実施形態の帳票閲覧プログラムとは、ネットワークを介して配信できるウェブブラウザ上で動作するウェブアプリケーションである。多くの場合、これらのウェブアプリケーションは、ウェブページを表現するマッシュアップ言語（ＨＴＭＬ）及びウェブブラウザ上で動作するプログラミング言語（ＪａｖａＳｃｒｉｐｔ（登録商標））により動作するアプリケーションである。帳票閲覧プログラムはウェブブラウザ上で表示するアプリケーションであるため、以下帳票閲覧画面とも呼ぶ。また、帳票閲覧プログラムは、ウェブブラウザ上で動作するウェブアプリケーション以外のコンピュータシステム上で実行するアプリケーションでも良い。また、帳票生成サーバ１０１が電子帳票ファイル及び後述するフィールド間の計算関連の情報を表すファイルのみ生成し、クライアント装置１０２側に上記ファイルを用いて後述する帳票閲覧・編集操作を再現できるアプリケーションを備えるような構成でも良い。帳票生成サーバ１０１は、クライアント装置１０２からリクエストを受信して上記オーバレイ出力処理、帳票閲覧プログラム生成処理を行う。
【００１７】
プリンタ１０３は、クライアント装置１０２からリクエストを受信して帳票文書データを紙に印刷する処理を行う。また、上記各構成要素はネットワーク１００により通信可能に接続されている。ネットワークは、例えば、インターネット等のＬＡＮ、ＷＡＮ、電話回線、専用デジタル回線、ＡＴＭやフレームリレー回線、ケーブルテレビ回線、データ放送用無線回線等のいずれでもよい。また、これらの組み合わせにより実現される、いわゆる通信ネットワークであってもよい。すなわち、ネットワーク１００はデータの送受信が可能であればよく、クライアント装置１０２から帳票生成サーバ１０１への通信手段とクライアント装置１０２からプリンタ１０３への通信手段が異なっていてもよい。
【００１８】
図２は、図１の帳票生成サーバ１０１、クライアント装置１０２のハードウェア構成例を示す図である。
ＣＰＵ２０１は、内部バスで接続される各デバイス（後述のＲＯＭ、ＲＡＭ他）を直接または間接的に制御し、本発明を実現するためのプログラムを実行する。ＲＯＭ２０２には、ＢＩＯＳが格納してある。ＲＡＭ２０３（記憶装置）は、ＣＰＵ２０１のワーク領域として利用されたり、本発明を実現するためのコンピュータプログラム（ソフトウェアモジュール）をロードするための一時記憶として利用されたりする。
【００１９】
ＨＤＤ２０４（ハードディスクドライブ）は、基本ソフトウェアであるＯＳやソフトウェアモジュールが記憶されている記憶装置である。なお、ＨＤＤの代わりにはＳＳＤ（ソリッドステートドライブ）などの記憶装置を用いてもよい。入力装置２０５は、不図示のキーボードやポインティングデバイスなど、入力を行うための装置である。出力装置２０６は、ディスプレイが接続され、出力を行うための装置である。Ｉ／Ｆ２０７は、ネットワーク１００に接続するためのインターフェースである。
【００２０】
帳票生成サーバ１０１、またはクライアント装置１０２を起動すると、まずＣＰＵ２０１がＢＩＯＳを実行し、次にＯＳをＨＤＤ２０４からＲＡＭ２０３に実行可能にロードする。ＣＰＵ２０１は、ＯＳの動作に従って後述する各種ソフトウェアモジュールをＨＤＤ２０４からＲＡＭ２０３に随時、実行可能にロードする。各種ソフトウェアモジュールは上記各デバイスの協調によりＣＰＵ２０１によって実行され動作する。また、Ｉ／Ｆ２０７はネットワーク１００に接続されており、ＯＳの動作に従ってＣＰＵ２０１により制御され、上述した通信手段による通信を実現している。
【００２１】
図３は、帳票生成サーバ１０１上で動作するソフトウェアモジュールの構成例を示す図である。なお各ソフトウェアモジュールは図２で示したＨＤＤ２０４に記憶されており、前述したようにＣＰＵ２０１によってＲＡＭ２０３にロードされ実行されることにより、該ＣＰＵ２０１は各処理部として機能する。
アクセス制御部３０１は、クライアント装置１０２からのリクエストに応じてユーザ認証を行う。ページ生成部３０２は、クライアント装置１０２にレスポンスを返すためのＷｅｂページを生成（閲覧画面生成）する。上記帳票閲覧プログラムであるウェブアプリケーションに必要なＨＴＭＬ、ＪａｖａＳｃｒｉｐｔ（登録商標）などのファイルもページ生成部３０２で生成され、クライアント装置１０２に返す。
【００２２】
データアクセス部３０３は、各データベース３０５、３０６、３０７、３０８、３０９へのアクセス処理を行う。帳票生成部３０４は、データアクセス部３０３を介して読み出したフォーム情報ファイル４０１が示すフォーム情報と、フィールドデータファイル４０６が示すフィールドデータとを重ね合わせて、印刷データを生成する。そして、帳票生成部３０４が、上記生成した印刷データを仮想プリンタドライバなどのソフトウェアを利用して電子ファイルとしての帳票ページファイルを生成する。帳票印刷部３１０は、クライアント装置１０２からの印刷ファイル生成リクエストを受け取り、リクエスト中に含まれる帳票ページファイルを印刷可能なフォーマットに変換する。
【００２３】
データベース３０５は、帳票データを格納するデータベースである。帳票データは、帳票名、所有者などの情報を表すデータであり、当該帳票がどのフォーム情報ファイルとフィールドデータファイルから生成されるかを表す情報を所有する。また、帳票データは、当該帳票のオーバレイ結果である帳票ページがどれであるかを表す情報を所有する。
データベース３０６は、フォーム情報ファイルを格納するデータベースである。データベース３０７は、フィールドデータファイルを格納するデータベースである。データベース３０８は、帳票生成部３０４が生成した帳票ページファイルを格納するデータベースである。データベース３０９は、帳票オーバレイ出力処理時に生成する計算情報ファイルを格納するデータベースである。計算情報ファイルについては後述する。後述するように、帳票生成サーバはクライアントから帳票ページの閲覧要求を受信した場合、ページ生成部３０２は、帳票ページファイルと計算情報ファイルとを用いて、帳票閲覧ページを生成してクライアントに送信する。
【００２４】
次に、本実施形態の具体的な動作について説明する。図５は、本実施形態における、編集可能な帳票閲覧画面を生成する処理のシーケンスを示す図である。また、図６は、クライアント装置のウェブブラウザに表示されるログイン画面である。
まず、Ｓ５０１において、ユーザは、クライアント装置１０２のウェブブラウザで表示されているログイン画面６０１にて帳票生成サーバ１０１にログインのリクエストを送信する。ユーザは、ログイン画面６０１のユーザ名入力テキストボックス６０２とパスワード入力テキストボックス６０３にユーザ名とパスワードを入力し、ログインボタン６０４を押下することにより帳票生成サーバ１０１にログインのリクエストを送信する。
【００２５】
Ｓ５０２において、帳票生成サーバ１０１のアクセス制御部３０１は、クライアント装置１０２から受信したログインリクエストの内容により、ログイン処理を行う。アクセス制御部３０１は、Ｂａｓｉｃ認証を行い、ユーザ名とパスワードが有効であると判断した場合にＳ５０３を行う。Ｂａｓｉｃ認証は一般的な認証処理のため、その説明を省略する。Ｓ５０３において、帳票生成サーバ１０１のページ生成部３０２は、ログインしたユーザの情報に応じて図７に示す帳票選択画面７０１を生成する。
【００２６】
図７は、帳票選択画面の一例を示す図である。
領域７０２は、現在ログインしたユーザのユーザ名を表示する。ドロップダウンリスト７０３は、現在ログインしたユーザが所有する帳票一覧を表示する。ドロップダウンリスト７０３の中に表示する内容は、ページ生成部３０２がデータアクセス部３０３を介して帳票データのデータベース３０５から抽出したログインユーザが所有する帳票の帳票名である。ボタン７０４、７０５、および７０６は、ドロップダウンリスト７０３で選択された帳票名に該当する帳票に対して、それぞれプレビュー、編集可能なプレビュー、印刷操作を実行し、帳票操作を行うためのボタンである。編集可能プレビューボタン７０５が押下された後の処理の説明は後述するが、プレビューボタン７０４と印刷ボタン７０６が押下された後の処理の説明は省略する。
【００２７】
図５の説明に戻す。Ｓ５０４において、帳票生成サーバ１０１のアクセス制御部３０１は、Ｓ５０３で生成された帳票選択画面７０１を、ネットワーク１００を介してクライアント装置１０２に返す。
Ｓ５０５において、クライアント装置１０２は、帳票生成サーバ１０１からのレスポンスを受け取り、ウェブブラウザに帳票選択画面７０１を表示する。
Ｓ５０６において、ユーザは、帳票選択画面７０１内のドロップダウンリスト７０３から操作したい帳票の帳票名を選択する。
【００２８】
Ｓ５０７において、ユーザにより帳票選択画面７０１内の編集可能プレビューボタン７０５が押下されると、クライアント装置１０２は、帳票生成サーバ１０１に編集可能な帳票閲覧画面の生成リクエストを送信する。編集可能な帳票閲覧画面の生成リクエストの中に、閲覧対象帳票を特定できる情報を包含する。
Ｓ５０８において、帳票生成サーバ１０１の帳票生成部３０４は、データアクセス部３０３を介して閲覧対象帳票に関連するフォーム情報ファイル４０１とフィールドデータファイル４０６とを取得する。
Ｓ５０９において、帳票生成サーバ１０１の帳票生成部３０４は、Ｓ５０８で取得したフォーム情報ファイル４０１とフィールドデータファイル４０６を使用してオーバレイ出力処理を行う。
【００２９】
以下でオーバレイ出力処理の詳細について説明する。図８は、本発明の実施形態における帳票生成サーバ１０１が実行するオーバレイ出力処理を説明するフローチャートである。
Ｓ８０１において、Ｓ５０８で取得したフォーム情報ファイル４０１とフィールドデータファイル４０６を使用して閲覧対象帳票のレイアウト構成を計算する。
Ｓ８０２において、Ｓ８０１で得られたレイアウト構成に従い、各図形（フィールドデータに依存しないフォーム図形及びフィールドデータに依存するフィールド図形）の描画命令を順次行う。
【００３０】
Ｓ８０３において、帳票生成部３０４は、Ｓ８０２で実行した描画命令がフィールド図形の描画命令であるかどうか判断する。Ｓ８０３において、帳票生成部３０４は、Ｓ８０２で実行した描画命令がフィールド図形の描画命令であると判断した場合には、Ｓ８０４の処理に進む。Ｓ８０３において、帳票生成部３０４は、Ｓ８０２で実行した描画命令がフィールド図形の描画命令ではないと判断した場合には、Ｓ８０６の処理に進む。
【００３１】
Ｓ８０４において、帳票生成部３０４は、Ｓ８０２で実行した描画命令の対象フィールド図形の情報を取得する。取得する情報は、対象フィールド図形のフィールド名、フィールド図形のタイプ（レコードフィールド、集計フィールド、など）、描画するレコードのデータ、データの描画位置及び関連フィールド（帳票ページ内のデータの関連情報）の情報である。Ｓ８０５において、帳票生成部３０４は、Ｓ８０４で取得した情報を図９に示すような計算情報ファイル９０１に書き込む処理（計算情報生成）を行う。計算情報ファイル９０１が存在しない場合は、計算情報ファイルの新規作成を行う。また、同じフィールド名に対応する複数の情報を書き込む場合には、行９０４の「ｄａｔａ」レコードのように、異なる部分（行９０５と行９０６）をマージする処理を行う。続いて、帳票生成部３０４は、データアクセス部３０３を介して生成された計算情報ファイルを計算情報ファイルデータベース３０９に格納する。そして、生成された計算情報ファイルを特定できる情報を帳票データデータベース３０５の中の該当帳票レコードに追加する。以下、計算情報ファイル９０１の構成について説明する。
【００３２】
図９は、計算情報ファイルの構成例を示す図である。本実施形態の場合、計算情報ファイルはＪＳＯＮフォーマットである。以下、計算情報ファイルの各行の記述内容を「レコード」という。
行９０２のレコードは、フィールド図形のフィールド名を示している。行９０３のレコードは、フィールド図形の種類を示している。行９０４のレコードは、フィールド図形の各データの描画情報を示している。行９０５及び９０６のレコードは、フィールド図形のデータの値及び描画位置（座標）を示している。行９０７のレコードは、対象フィールド図形と関連するフィールド図形の情報を示している。あるフィールド図形と関連するフィールド図形が存在しない場合は、行９０７のように、「ｎｕｌｌ」と記述する。また、あるフィールド図形と関連するフィールド図形が存在する場合は、行９０８及び９１０が示すレコードのように、関連するフィールド図形のフィールド名を記述する。また、このとき行９０９及び９１１の示すレコードのように、フィールド図形間の計算関係も記述する。
【００３３】
Ｓ８０６において、帳票生成部３０４は、すべての描画命令が完了したか否かを判断する。Ｓ８０６において、帳票生成部３０４がすべての描画命令が完了していないと判断した場合はＳ８０２に戻り、次の描画命令を行う。Ｓ８０６において、帳票生成部３０４がすべての描画命令が完了したと判断した場合は、Ｓ８０７の処理を行う。Ｓ８０７において、帳票生成部３０４は、描画処理の結果であるＰＤＬ情報（プリンタに対して描画を指示するためのページ記述言語）を利用して、仮想プリンタドライバを介して該ＰＤＬ情報をＰＤＦ形式に変換することにより帳票ページを生成する。
【００３４】
図５の説明に戻す。Ｓ５１０において、帳票生成部３０４は、Ｓ８０７で生成したＰＤＦ形式の帳票ページをＳＶＧ（スケーラブル・ベクター・グラフィックス）形式の帳票ページに変換する。ＰＤＦ形式の帳票ページは、ウェブブラウザ上で直接編集することができないため、編集できる形式（本実施形態の場合はＳＶＧ形式）に変換している。続いて、帳票生成部３０４は、データアクセス部３０３を介して生成されたＳＶＧ形式の帳票ページを帳票ページファイルデータベース３０８に格納する。そして、生成されたＳＶＧ形式の帳票ページを特定できる情報を帳票データデータベース３０５の中の該当レコードに追加する。
【００３５】
Ｓ５１１において、帳票生成サーバ１０１は、Ｓ５０７でリクエストされた対象帳票の編集可能な帳票閲覧画面のＵＲＬをクライアント装置１０２に返す。返したＵＲＬの中に、Ｓ５１０で生成したＳＶＧ形式の帳票ページを特定できる情報が含まれている。本実施形態の場合は、返したＵＲＬの中に帳票ページと関連する帳票データの帳票名が含まれている。
Ｓ５１２において、クライアント装置１０２は、Ｓ５１１で返却されたＵＲＬを使用して編集可能な帳票閲覧画面にリダイレクトするリクエストを帳票生成サーバ１０１に送信する。
【００３６】
Ｓ５１３において、帳票生成サーバ１０１のページ生成部３０２は、Ｓ５１２のリダイレクトリクエストの内容に応じて編集可能な帳票閲覧画面を生成する。編集可能な帳票閲覧画面は、リクエスト対象帳票の帳票ページファイル、帳票ページファイルを閲覧・編集・印刷操作を制御するためのＪａｖａＳｃｒｉｐｔ（登録商標）プログラム（制御プログラム）、及び編集操作時に必要な計算情報ファイルに基づいて生成される。すなわち、帳票閲覧画面を表示させるためのプログラムは、帳票ページファイルとＪａｖａＳｃｒｉｐｔ（登録商標）プログラムと計算情報ファイルとを含む。ページ生成部３０２は、Ｓ５１２のリダイレクトリクエスト中の帳票名情報を利用して、データアクセス部３０３を介してリクエスト対象帳票に関連する帳票ページファイル及び計算情報ファイルをデータベース３０８、３０９から取得する。
【００３７】
Ｓ５１４において、帳票生成サーバ１０１は、Ｓ５１３で生成した編集可能な帳票閲覧画面を表示させるためのデータ（プログラム）を、クライアント装置１０２に返す（送信する）。
Ｓ５１５において、クライアント装置１０２は帳票生成サーバ１０１からのレスポンスを受け取り（受信し）、ウェブブラウザに図１０に示すような編集可能な帳票閲覧画面を表示する。以上が、図５を用いた編集可能な帳票閲覧画面を生成する処理のシーケンスの説明である。
【００３８】
図１０は、本実施形態における編集可能な帳票閲覧画面を示す図である。
編集可能な帳票閲覧画面１００１は、ＳＶＧ形式の帳票ページを表示する領域１００２を含む。領域１００２の中で横方向のフリック操作を行うと前後の帳票ページへの切り替えができる。ボタン１００３は、現在表示されている帳票ページを印刷するためのボタンである。領域１００４及び１００５は、レコードフィールド「金額」のレコードを描画した結果である。領域１００４および１００５に描画される値、および各領域の描画位置を示す座標情報は、計算情報ファイル９０１の行９１２及び９１３にそれぞれ記述されている。同様に、領域１００６は、集計フィールドの「合計」のレコードを描画した結果である。領域１００６に描画される値および座標情報は、計算情報ファイル９０１の行９１４に記述されている。また、ユーザが領域１００２内でクリック操作を行うと、編集可能な帳票閲覧画面の編集プログラム（制御プログラム）が動作し、図１１に示すような編集処理を行うことができる。
【００３９】
図１１は、本実施形態における編集可能な帳票閲覧画面上で行う編集処理を説明するフローチャートである。
Ｓ１１０１において、ユーザは編集可能な帳票閲覧画面１００１の領域１００２内でクリック操作を行う。Ｓ１１０２において、編集可能な帳票閲覧画面の編集プログラム（制御プログラム）は、Ｓ１１０１でクリックされた位置が編集可能なフィールドの領域内であるか否かを判断する。以下、編集可能な帳票閲覧画面の編集プログラムを「編集プログラム」と略記する。具体的には、ユーザがクリックした位置の座標が計算情報ファイル９０１の各データの領域（行９０５、９０６、９１２、９１３、および９１４に「ｐｏｓｉｔｉｏｎ」属性として記述されている）内に含まれているか否かを判断する。また、必須ではないが、集計フィールド（例えば集計フィールド「合計」）を編集不可にする場合は、集計フィールドの各データの領域（例えば行９１４が示す領域）を上記対象領域から除外する。本実施形態では、集計フィールドは編集不可とする。
【００４０】
Ｓ１１０２において、編集プログラムは、ユーザがクリックした位置が編集可能なフィールドの領域内であると判断した場合、編集ダイアログ１２０１（編集画面）を表示する（Ｓ１１０３）。一方、Ｓ１１０２において、編集プログラムが、ユーザがクリックした位置が編集可能なフィールドの領域内ではないと判断した場合は何も行わず編集処理を終了する。本実施形態では、編集可能な帳票閲覧画面１００１において、領域１００４、１００５、１００７または１００８のいずれかがユーザによりクリックされた場合に、ユーザがクリックした位置が編集可能なフィールドの領域内であると判断する。例えば、ユーザが領域１００４内をクリックした場合、クリック位置は計算情報ファイル９０１内の「金額」フィールド９１７の１番目のレコード（行９１２）に該当する。また、今後の処理のために計算情報ファイル内のクリック位置に該当するフィールド情報およびデータ情報は記憶される。
【００４１】
Ｓ１１０４において、ユーザは、編集ダイアログ１２０１のテキストボックス１２０２内に新しい値を入力し、「確認」ボタン１２０３をクリックする。
Ｓ１１０５において、編集プログラムは、領域１００２内に表示されたＳＶＧファイルの中からＳ１１０１のクリック位置に該当するテキスト要素（＜ｔｅｘｔ＞タグ）を特定する。そして、特定されたテキスト要素内の値をＳ１１０４でユーザが入力した値に置き換える。また、計算情報ファイル９０１内の対応するデータの値もユーザが入力した値に置き換える。図１２の例では、図１０の領域１００４の値“５００００”が、“７００００”に置き換えられた場合を示している。
【００４２】
Ｓ１１０６において、編集プログラムは、Ｓ１１０２で記憶したクリック位置に該当するフィールドに関連するフィールドを特定する。例えば、ユーザが領域１００４内をクリックした場合は、クリック位置が計算情報ファイル９０１内の「金額」フィールド９１７のレコードを示す部分９１２に該当する。そして、「金額」フィールド９１７は「合計」フィールドと関連していることが行９０８から特定できる。
【００４３】
Ｓ１１０７において、Ｓ１１０６で関連フィールドが特定された場合は、Ｓ１１０８の処理に進む。関連フィールドが特定されなかった場合は、編集処理を終了する。
Ｓ１１０８において、Ｓ１１０６で特定された関連フィールドのデータの値を計算する。具体的には、計算情報ファイル９０１の中に記述されているフィールドの「ｒｅｌａｔｉｖｅ  ｆｉｅｌｄ」レコードの情報を利用して関連フィールドのデータの値を計算する。例えば、フィールド「合計」９１６は、「ｒｅｌａｔｉｖｅ  ｆｉｅｌｄ」９１０に記載されているように、フィールド「金額」９１７と関連している。そして、フィールド「合計」９１６のデータの値は、処理内容（フィールド間の計算関係）を表す「ｆｕｎｃｔｉｏｎ」関数９１１に従い、フィールド「金額」９１７の各データの値の合計値（「ｓｕｍ」）になる。
【００４４】
Ｓ１１０９において、Ｓ１１０５と同様に編集プログラムは、領域１００２内に表示されたＳＶＧファイルの中から関連フィールドのデータに該当するテキスト要素を特定し、その値を更新する。図１２（Ａ）は、ユーザが領域１００４内をクリックし、表示された編集ダイアログ１２０１に「７００００」を入力した場合の編集可能な帳票閲覧画面１００１の状態を示している。また、図１２（Ｂ）は、図１２（Ａ）の状態から「確認」ボタン１２０３が押され、値が更新された後の編集可能な帳票閲覧画面１００１の状態を示している。当該編集された値「７００００」に基づいて、フィールド「合計」９１６のデータの値が計算され、領域１００６の値は計算後の合計値「１７００００」で更新される。
【００４５】
図１３は、本実施形態において、編集可能な帳票閲覧画面の印刷ボタンが押下された際の印刷処理のシーケンスを示す図である。
Ｓ１３０１において、編集可能な帳票閲覧画面１００１の印刷ボタン１００３がユーザにより押下される。Ｓ１３０２において、クライアント装置１０２は、帳票生成サーバ１０１に印刷ファイルを生成するリクエストを送信する。印刷ファイルを生成するリクエストの中には、クライアント装置１０２側で現在保持しているＳＶＧ形式の帳票ページファイルが含まれる。
【００４６】
Ｓ１３０３において、帳票生成サーバ１０１の帳票印刷部３１０は、データアクセス部３０３を介して帳票ページファイルデータベース３０８内の帳票ページファイルをＳ１３０２のリクエストの中に含まれる帳票ページファイルを使用して更新する。Ｓ１３０４において、帳票印刷部３１０はＳ１３０２のリクエストに含まれるＳＶＧ形式の帳票ページファイルをＰＤＦ形式（印刷用データ）に変換する。
【００４７】
Ｓ１３０５において、帳票印刷部３１０はＳ１３０４で生成されたＰＤＦファイルにアクセスするためのＵＲＬをクライアント装置に返す。Ｓ１３０６において、クライアント装置１０２は、Ｓ１３０５で返されたＰＤＦファイルにアクセスするためのＵＲＬにリダイレクトする。
Ｓ１３０７において、帳票生成サーバ１０１のアクセス制御部３０１は、データアクセス部３０３を介して、Ｓ１３０４で生成されたＰＤＦファイルをクライアント装置に返す。Ｓ１３０８において、クライアント装置１０２はＳ１３０７で返されたＰＤＦファイルを受信し、ＰＤＦファイルをウェブブラウザで表示できるソフトウェア（Ａｄｏｂｅ（登録商標）  ＰＤＦ  Ｒｅａｄｅｒなど）を使用してＰＤＦファイルを表示する。
Ｓ１３０９において、クライアント装置１０２はＰＤＦファイルを印刷できるソフトウェアを使用してＰＤＦファイルを印刷する。
【００４８】
以上のように、本実施形態によれば、オーバレイ出力された帳票文書データ内に計算上の関連が存在するデータがある場合、帳票文書データとともに計算上の関連を示す関連情報を出力する。これにより、閲覧画面において帳票文書データの編集を行うとそのデータに関連するデータも自動的にリアルタイム更新される情報処理システムを提供することができる。
【００４９】
（第２実施形態）
次に、本発明の第２実施形態に係る帳票文書データの閲覧・編集が可能な情報処理システムについて説明する。第１実施形態では、編集可能な帳票閲覧画面での編集操作は、帳票ページのレイアウトに変更がない場合について説明した。帳票ページのレイアウトとは、各フォームファイルで定義されている各図形のオーバレイ出力処理後の配置のことである。
【００５０】
例えば、図１４（Ａ）の帳票ページの場合は、各商品の金額に税金が含まれているかどうかを示すためのフィールド「税金」がある。また、「税込」の商品の合計値と「税抜」の商品の合計値を別々に計算するためのフィールド「小計」がある。この例の場合は、ユーザが１４０２領域内の値を「税込」から「税抜」に変更すると、小計値の計算ルールに従い図１４（Ｂ）のように表示することが望ましい。
【００５１】
このような場合に、本実施形態では、帳票閲覧画面における編集操作がレイアウトに影響するか否かを判定し、レイアウトに影響する編集操作のみに対して、帳票生成サーバ１０１に編集可能な帳票閲覧画面を生成するリクエストを送信する。
本実施形態によれば、帳票ページのレイアウトに影響するフィールドの編集において帳票文書データ内に計算上の関連が存在するデータであっても、自動的にリアルタイム性が高い帳票文書データの閲覧・編集を可能にする。本実施形態に係る編集処理の詳細は、図１６を用いて後述する。
【００５２】
図１５は、本実施形態における計算情報ファイルの構成例を示す図である。図９に示した第１実施形態における計算情報ファイルと同様の構成については説明を省略する。
図１４に示した例における計算情報ファイルでは、レコードフィールド「税金」に対して「ブレイク」の設定がされている。ブレイクとは、レコードフィールドのデータの値が変更された場合に関連付けられた処理を行うことを指す。図１４に示した例の場合は、レコードフィールド「税金」のデータが「税込」から「税抜」に変わるとブレイクが発生し、「税込」の集計（小計）を行う。
【００５３】
図８のＳ８０５において、帳票生成サーバ１０１は、計算情報ファイルを作成する際に、各編集可能なフィールドに「ブレイク」の設定があるか否かを示す「ｂｒｅａｋ」レコード行１５０２及び１５０３のレコードを計算情報ファイルに格納する。帳票生成サーバ１０１の帳票生成部３０４は、Ｓ８０４において「ｂｒｅａｋ」レコードを作成するための情報をフォーム情報ファイルから取得する。
【００５４】
図１６は、本実施形態における編集処理を説明するためのフローチャートである。図１１に示した第１実施形態における編集処理と同一の処理には同一の符号を付し、説明を省略する。
Ｓ１６０１において、編集プログラムは、ユーザが編集ダイアログ１２０１のテキストボックス１２０２で入力した値が帳票ページのレイアウトに影響するか否かを判断する。本実施形態では、レイアウトに影響するか否かは計算情報ファイル１５０１の中の該当するフィールドの「ｂｒｅａｋ」レコードが「ｔｒｕｅ」であるか否かにより判断する。図１４の例では、領域１４０２内の値が「税込」から「税抜」に変更された場合には、領域１４０２に該当するフィールドの「ｂｒｅａｋ」レコード１５０３を取得し、その値が「ｔｒｕｅ」であるためＳ１６０１の判断が真になる。帳票ページのレイアウトに影響する要因はブレイクの設定のみではないので、Ｓ１６０１の判断基準は上記に限らない。
【００５５】
Ｓ１６０１において、編集プログラムが編集ダイアログ１２０１に入力した値が帳票ページのレイアウトに影響しないと判断した場合にはＳ１６０２に進み、図１１のＳ１１０５以降の処理を行う。Ｓ１６０１において、編集プログラムが編集ダイアログ１２０１に入力した値が帳票ページのレイアウトに影響すると判断した場合には、Ｓ１６０３の処理を行う。
【００５６】
Ｓ１６０３において、編集プログラムは入力した値に従いクライアント装置１０２側で保持している計算情報ファイル１５０１を更新する。Ｓ１６０４において、編集プログラムは、帳票生成サーバ１０１に編集可能な帳票閲覧画面を生成するリクエストを送信する。リクエストの中には、Ｓ１６０３で更新された計算情報ファイルが含まれている。これ以降の処理は不図示であるが、帳票生成サーバ１０１は、Ｓ１６０４のリクエストを受信し、リクエストの中の計算情報ファイルと計算情報ファイルデータベース３０９の中に格納されている計算情報ファイルとを比較する。そして、比較の結果を利用して、フィールドデータファイルデータベース３０７に格納されている該当帳票のフィールドデータを更新する。続いて、帳票生成サーバ１０１は、図５のＳ５０８以降の処理を行う。
【００５７】
このように、本実施形態によれば、第１実施形態と同様の効果を奏する。さらに、本実施形態によれば、帳票ページのレイアウトに変更がある場合であっても、自動的にリアルタイム性が高い帳票文書データの閲覧・編集が可能な情報処理システムを提供することができる。
【００５８】
（その他の実施形態）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（コンピュータプログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給する。そしてそのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。この場合、そのプログラム、及び該プログラムを記憶した記憶媒体は本発明を構成することになる。
【００５９】
以上、本発明の好ましい実施形態について説明したが、本発明は、これらの実施形態に限定されず、その要旨の範囲内で種々の変形および変更が可能である。
【符号の説明】
【００６０】
１０１    帳票生成サーバ
１０２    クライアント装置
３０２    ページ生成部
３０４    帳票生成部
１００１  帳票閲覧画面
【図１】
0006529229.tif 000002
【図２】
0006529229.tif 000003
【図３】
0006529229.tif 000004
【図４】
0006529229.tif 000005
【図５】
0006529229.tif 000006
【図６】
0006529229.tif 000007
【図７】
0006529229.tif 000008
【図８】
0006529229.tif 000009
【図９】
0006529229.tif 000010
【図１０】
0006529229.tif 000011
【図１１】
0006529229.tif 000012
【図１２】
0006529229.tif 000013
【図１３】
0006529229.tif 000014
【図１４】
0006529229.tif 000015
【図１５】
0006529229.tif 000016
【図１６】
0006529229.tif 000017