(57)【要約】      （修正有）【課題】複数世代の帳票データを含む文書データを、ユーザが閲覧しやすい形態で生成することの可能な仕組みを提供すること。【解決手段】帳票サーバ１００は、帳票データを世代ごとに記憶している。この世代ごとに記憶している帳票データの格納するための文書データを生成し、生成した文書データに世代ごとのレイヤを生成する。そして、生成したレイヤに対応する世代の帳票データを当該レイヤに挿入することで、複数世代の帳票データを含む文書データを生成する。【選択図】図３
2016126779.tif 000002
【特許請求の範囲】
【請求項１】
帳票データを世代ごとに記憶する記憶手段を備える情報処理装置であって、
前記記憶手段に記憶された帳票データを挿入するための文書データを生成する文書データ生成手段と、
前記帳票データの世代ごとに、前記文書データ生成手段で生成された文書データにレイヤを生成するレイヤ生成手段と、
前記レイヤ生成手段で生成されたレイヤに対応する世代の前記帳票データを、当該レイヤに挿入する帳票データ挿入手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記情報処理装置は、
前記帳票データ挿入手段で帳票データを挿入されたレイヤのうち、所定の世代の帳票データが挿入されたレイヤを可視状態として設定する状態設定手段を更に備えることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記状態設定手段は、更に、前記帳票データ挿入手段で帳票データを挿入されたレイヤのうち、所定の世代の帳票データとは異なる帳票データが挿入されたレイヤを不可視状態として設定することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記記憶手段は、更に帳票データの世代ごとにアノテーションを記憶し、
前記レイヤ生成手段は、前記記憶手段に記憶されたアノテーションごとに、前記文書データにレイヤを生成し、
前記帳票データ挿入手段は、前記レイヤ生成手段で生成されたレイヤに対応するアノテーションを、当該レイヤに挿入することを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記情報処理装置は、
前記記憶手段に記憶された複数世代の帳票データが挿入された文書データの生成要求を受け付ける文書データ生成要求受付手段を更に備え、
前記文書データ生成手段は、前記生成要求を受け付けた場合に、前記文書データを生成することを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
帳票データを世代ごとに記憶する記憶手段を備える情報処理装置の制御方法であって、
前記情報処理装置の文書データ生成手段が、前記記憶手段に記憶された帳票データを挿入するための文書データを生成する文書データ生成ステップと、
前記情報処理装置のレイヤ生成手段が、前記帳票データの世代ごとに、前記文書データ生成ステップで生成された文書データにレイヤを生成するレイヤ生成ステップと、
前記情報処理装置の帳票データ挿入手段が、前記レイヤ生成ステップで生成されたレイヤに対応する世代の前記帳票データを、当該レイヤに挿入する帳票データ挿入ステップと
を備えることを特徴とする情報処理装置の制御方法。
【請求項７】
帳票データを世代ごとに記憶する記憶手段を備える情報処理装置の制御方法を実行可能なプログラムであって、
前記情報処理装置を、
前記記憶手段に記憶された帳票データを挿入するための文書データを生成する文書データ生成手段と、
前記帳票データの世代ごとに、前記文書データ生成手段で生成された文書データにレイヤを生成するレイヤ生成手段と、
前記レイヤ生成手段で生成されたレイヤに対応する世代の前記帳票データを、当該レイヤに挿入する帳票データ挿入手段
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
複数世代の帳票データを含む文書データを、ユーザが閲覧しやすい形態で生成することの可能な情報処理装置、その制御方法、及びプログラムに関する。
【背景技術】
【０００２】
従来、情報処理装置によって生成される文書データには様々な情報が格納されている。例えば、テキストや画像といった情報が格納されている。この文書データをアプリケーションで読み込むと、文書データに含まれるテキストや画像等がディスプレイに表示される。
【０００３】
また、文書データに複数のレイヤ（層）を設ける仕組みが存在する。前述した通り文書データには様々な情報が格納されるため、この仕組みでは、文書データの情報をレイヤごとに分けて格納し、レイヤごとに表示／非表示を切り替えることで、文書データに含まれる情報を閲覧しやすくさせている。例えばＰＤＦ（Ｐｏｒｔａｂｌｅ  Ｄｏｃｕｍｅｎｔ  Ｆｏｒｍａｔ）形式の文書データがこれにあたる。
【０００４】
このように文書データに複数のレイヤを設ける仕組みが、特許文献１に開示されている。特許文献１は、文書データに含まれる特定のレイヤを選択し、これを表示または印刷する仕組みである。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−２８０２１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、会計システム等の上位システムから転送されるデータを用いて帳票データを生成する帳票システムにおいて、この帳票データからＰＤＦ形式等の文書データを生成する仕組みが存在する。帳票システムでは、アカウント管理によって帳票システムを使用可能なユーザを限定している場合があるため、帳票システムを使用できないユーザに帳票データを閲覧させるために、ＰＤＦ形式等の文書データを生成している。
【０００７】
しかしながら、この仕組みでは帳票データごとに文書データが生成されてしまうため、帳票データが日次や月次といった世代によって管理されている場合には、その世代数分の文書データが生成されてしまう問題がある。つまり、文書データの数が多くなってしまうと、閲覧するユーザが閲覧しにくい上、文書データの管理が煩雑になってしまう。
【０００８】
そこで、特許文献１に示すような複数のレイヤを設けた文書データに帳票データを格納する仕組みが望まれるが、特許文献１はこういった文書データの表示や印刷を行う仕組みが開示されているだけである。
【０００９】
そこで本発明の目的は、複数世代の帳票データを含む文書データを、ユーザが閲覧しやすい形態で生成することの可能な仕組みを提供することである。
【課題を解決するための手段】
【００１０】
上記の目的を達成するために本発明の情報処理装置は、帳票データを世代ごとに記憶する記憶手段を備える情報処理装置であって、前記記憶手段に記憶された帳票データを挿入するための文書データを生成する文書データ生成手段と、前記帳票データの世代ごとに、前記文書データ生成手段で生成された文書データにレイヤを生成するレイヤ生成手段と、前記レイヤ生成手段で生成されたレイヤに対応する世代の前記帳票データを、当該レイヤに挿入する帳票データ挿入手段とを備えることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、複数世代の帳票データを含む文書データを、ユーザが閲覧しやすい形態で生成することが可能となる。
【図面の簡単な説明】
【００１２】
【図１】帳票システムのシステム構成の一例を示す図である。
【図２】帳票サーバ１０１及びクライアントＰＣ１０１のハードウェア構成の一例を示す図である。
【図３】帳票サーバ１０１及びクライアントＰＣ１０１の機能構成の一例を示す図である。
【図４】本実施形態における一連の処理の流れを示すフローチャートである。
【図５】第１のＰＤＦ生成処理の詳細な処理の流れを示すフローチャートである。
【図６】第２のＰＤＦ生成処理の詳細な処理の流れを示すフローチャートである。
【図７】アノテーション解析処理の詳細な処理の流れを示すフローチャートである。
【図８】ＰＤＦ作成リスト画面３００及びバインダ選択画面４００の画面構成の一例を示す図である。
【図９】帳票テーブル５００のテーブル構成の一例を示す図である。
【図１０】生成されたＰＤＦデータをＰＤＦビューアで閲覧した場合の画面例を示す図である。
【図１１】図１０に示すＰＤＦデータのレイヤ構造の概要を示す図である。
【図１２】第２の実施形態における、一連の処理の流れを示すフローチャートである。
【図１３】第２の実施形態における、ＰＤＦ作成リスト画面３００、ディレクトリ・バインダ選択画面７００、及びバインダ選択画面４００の画面構成の一例を示す図である。
【図１４】第２の実施形態における、アノテーション解析処理の詳細な処理の流れを示すフローチャートである。
【図１５】第２の実施形態における処理を実行した場合の、ＰＤＦデータのレイヤ構造の概要を示す図である。
【発明を実施するための形態】
【００１３】
以下、図面を参照して、本発明の実施形態を詳細に説明する。
【００１４】
図１は、本実施形態における帳票システムのシステム構成の一例を示す図である。本実施形態の帳票システムは、帳票サーバ１００及びクライアントＰＣ１０１を含み、これらがＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）またはインターネット等のネットワーク１０２を介して、相互にデータ通信可能に接続されている。尚、図１のネットワーク上に接続される各種端末あるいはサーバの構成は一例であり、用途や目的に応じて様々な構成例がある。
【００１５】
帳票サーバ１００（情報処理装置）は、サーバ装置である。帳票サーバ１００の外部メモリには帳票データが記憶されており、クライアントＰＣ１０１のウェブブラウザから帳票データの参照要求を受け付けると、ネットワーク１０２を通じてクライアントＰＣ１０１に帳票データを送信する。また、クライアントＰＣ１０１から操作を受け付けるためのウェブページや、帳票データを閲覧するためウェブページを生成する。
【００１６】
本実施形態において帳票データとは、会計システム等の上位システムから転送されるデータを用いて生成される、電子的な帳票である。帳票データは、罫線や固定の文字列から構成されるテンプレートのデータに、上位システムから取得したデータを挿入して生成する。また帳票サーバ１００は、日次や月次といった任意のタイミングで帳票データを生成し、この生成した帳票データの世代管理を行う。例えば、ある部門の経費に関する帳票データを毎月生成する場合には、この月次で生成される帳票データをバインダというまとまりで管理する。つまり、１つのバインダには複数の世代の帳票データが含まれることになる。
【００１７】
帳票データのデータ構成を、図９の帳票テーブル５００に示す。帳票テーブル５００は、帳票ＩＤ５０１、帳票定義ＩＤ５０２、ディレクトリＩＤ５０３、世代Ｎｏ．５０４、登録日時５０５、総ページ数５０６、ページ定義情報５０７、フォーム定義情報５０８、テキスト情報５０９、マップ情報５１０から構成される。更に、アノテーション数５１１、アノテーションデータ５１２（ページ番号５１３、位置情報５１４、アノテーション種別５１５、色情報５１６、コメント文字列５１７）等の情報から構成される。
【００１８】
帳票ＩＤ５０１は、生成された帳票データごとに割り振られる一意な識別情報である。帳票定義ＩＤ５０２は、バインダを一意に識別するための識別情報である。ディレクトリＩＤ５０３は、バインダが含まれるディレクトリ（フォルダ）を一意に識別するための識別情報である。世代Ｎｏ．５０４は、バインダ内の世代を一意に識別するための識別情報である。登録日時５０５は、帳票データが生成されて帳票サーバ１００に記憶（登録）された日時である。総ページ数５０６は、帳票データのページ数である。ページ定義情報５０７、フォーム定義情報５０８、テキスト情報５０９、マップ情報５１０は、テンプレートとなるデータのどの位置にどの文字、線、画像、フォーム等をどういった色や大きさで表示するのかを定義するための情報である。これらの情報を用いて、１つの帳票を電子的に作り上げる。
【００１９】
アノテーション数５１１は、帳票データに付されているアノテーションの数である。アノテーションとは、帳票データに対して付されるマーカや付箋といった注釈である（スタンプやチェックといった注釈も含む）。アノテーションデータ５１２は、どのページのどの位置にどんなアノテーションが付されているのか等を示す情報である。アノテーションデータ５１２は、１世代の帳票データに複数のアノテーションを付すことができるので、付されているアノテーションの数だけアノテーションデータ５１２が存在する。アノテーションデータ５１２は、ページ番号５１３、位置情報５１４、アノテーション種別５１５、色情報５１６、コメント文字列５１７から構成される。ページ番号５１３は、アノテーションが付されているページの番号である。位置情報５１４は、アノテーションが付されている位置（座標）である。アノテーション種別５１５は、付されているアノテーションの種別（付箋、マーカ等）を示す。色情報５１６はアノテーションの色、コメント文字列５１７はアノテーションが付箋である場合に付箋に入力された文字列を示す。
【００２０】
このように、帳票データは帳票テーブル５００に示すようなデータ構造となっており、これらを含むデータとして帳票サーバ１００の外部メモリ２１１に記憶されている。
【００２１】
クライアントＰＣ１０１は、パーソナルコンピュータである。クライアントＰＣ１０１は、ウェブブラウザを介して帳票サーバ１００が記憶する帳票データを表示することができる。また、クライアントＰＣ１０１にはＰＤＦビューアがインストールされており、これを用いて帳票データから生成されるＰＤＦデータを表示することができる。
【００２２】
図２は、帳票サーバ１００及びクライアントＰＣ１０１のハードウェア構成の一例を示す図である。
【００２３】
ＣＰＵ２０１は、システムバス２０４に接続される各デバイスやコントローラを統括的に制御する。
【００２４】
また、ＲＯＭ２０２あるいは外部メモリ２１１には、ＣＰＵ２０１の制御プログラムであるＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  ／  ＯｕｔｐｕｔＳｙｓｔｅｍ）やオペレーティングシステムプログラム（以下、ＯＳという。）が記憶されている。また外部メモリ２１１には、帳票サーバ１００及びクライアントＰＣ１０１の実行する機能を実現するために必要な各種プログラム等が記憶されている。ＲＡＭ２０３は、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。
【００２５】
ＣＰＵ２０１は、処理の実行に際して必要なプログラム等をＲＡＭ２０３にロードして、プログラムを実行することで各種動作を実現するものである。
【００２６】
また、入力コントローラ２０５は、キーボードやマウス等のポインティングデバイスといった入力デバイス２０９からの入力を制御する。
【００２７】
ビデオコントローラ２０６は、ディスプレイ２１０等の表示器への表示を制御する。表示器はＣＲＴや液晶ディスプレイでも構わない。
【００２８】
メモリコントローラ２０７は、ハードディスクやフレキシブルディスク或いはＰＣＭＣＩＡカードスロットにアダプタを介して接続されるカード型メモリ等の外部メモリ２１１へのアクセスを制御する。外部メモリ２１１（記憶手段）は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶する。
【００２９】
通信Ｉ／Ｆコントローラ２０８は、ネットワークを介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、ＴＣＰ／ＩＰを用いたインターネット通信等が可能である。
【００３０】
尚、ＣＰＵ２０１は、例えばＲＡＭ２０３内の表示情報用領域へアウトラインフォントの展開（ラスタライズ）処理を実行することにより、ディスプレイ２１０上での表示を可能としている。また、ＣＰＵ２０１は、ディスプレイ２１０上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【００３１】
本発明の帳票サーバ１００及びクライアントＰＣ１０１が後述する各種処理を実行するために用いられる各種プログラム等は外部メモリ２１１に記録されており、必要に応じてＲＡＭ２０３にロードされることによりＣＰＵ２０１によって実行されるものである。さらに、本発明に係わるプログラムが用いる定義ファイルや各種情報テーブルは外部メモリ２１１に格納されている。
【００３２】
図３は、帳票サーバ１００及びクライアントＰＣ１０１の機能構成の一例を示す図である。尚、図３に示す帳票サーバ１００及びクライアントＰＣ１０１の機能構成は一例であり、用途や目的に応じて様々な構成例がある。
【００３３】
帳票サーバ１００は機能部として、帳票管理モジュール１００１、帳票生成モジュール１００２、帳票保管モジュール１００３、ＰＤＦ生成モジュール１００４、及びＰＤＦ保管モジュール１００５を備える。
【００３４】
帳票管理モジュール１００１は、帳票データを生成するための各種情報を管理するためのモジュールである。例えば、前述したテンプレートのデータを管理する。
【００３５】
帳票生成モジュール１００２は、帳票データを生成するためのモジュールである。前述した通り、上位システムから取得したデータを帳票管理モジュール１００１が管理するテンプレートのデータに挿入し、帳票データを生成する。
【００３６】
帳票保管モジュール１００３は、生成された帳票データを保管するためのモジュールである。帳票生成モジュール１００２で生成されたモジュールを帳票保管モジュール１００３が帳票サーバ１００の外部メモリ２１１に記憶する。そして、クライアントＰＣ１０１からの要求に応じて外部メモリ２１１から帳票データを取得し、クライアントＰＣ１０１に送信する。また、生成された帳票データの世代管理も帳票保管モジュール１００３が行っている。
【００３７】
ＰＤＦ生成モジュール１００４は、帳票データからＰＤＦデータを生成するためのモジュールである。帳票保管モジュール１００３が外部メモリ２１１に保管している帳票データのうち、クライアントＰＣ１０１から指定された帳票データからＰＤＦデータを生成する。
【００３８】
ＰＤＦ保管モジュール１００５は、生成されたＰＤＦデータを保管するためのモジュールである。ＰＤＦ生成モジュール１００４で生成したＰＤＦデータを取得し、これを帳票サーバ１００の外部メモリ２１１に保管する。そして、クライアントＰＣ１０１からの要求に応じて外部メモリ２１１からＰＤＦデータを取得し、クライアントＰＣ１０１に送信する。
【００３９】
クライアントＰＣ１０１は機能部として、ウェブブラウザ１０１１、及びＰＤＦビューア１０１３を備える。ウェブブラウザ１０１１は、ウェブページを表示するためのウェブブラウザである。帳票サーバ１００は、クライアントＰＣ１０１を介して操作を受け付けるためにウェブページを生成する。これをクライアントＰＣ１０１が受信し、ウェブブラウザ１０１１が表示する。
【００４０】
ＰＤＦビューア１０１３は、ＰＤＦデータを表示するためのアプリケーションである。帳票サーバ１００から送信されたＰＤＦデータをＰＤＦビューア１０１３で表示する。ＰＤＦビューア１０１３は、ＰＤＦデータがレイヤ構造になっていれば、レイヤごとに表示（可視状態）／非表示（不可視状態）を切り替えることができる。つまり、可視状態のレイヤを表示し、不可視状態のレイヤを非表示にする。
【００４１】
図４は、本実施形態における一連の処理の流れを示すフローチャートである。
【００４２】
ステップＳ１０１では、帳票サーバ１００のＣＰＵ２０１は、クライアントＰＣ１０１のウェブブラウザ１０１１からの表示要求に応じて、図８（ａ）に示すようなＰＤＦ作成リスト画面３００を生成する。そして、生成したＰＤＦ作成リスト画面３００をＨＴＴＰ（Ｈｙｐｅｒｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）によりクライアントＰＣ１０１のウェブブラウザ１０１１に送信する。
【００４３】
ＰＤＦ作成リスト画面３００は、帳票データからＰＤＦデータを生成するためのウェブページである。メニュー領域３０１に備えるＰＤＦ作成リストリンク３０２が押下されると、ＰＤＦ作成リスト画面３００の右側の領域にチェックボックス３０３と、バインダ選択リンク３０４が表示される。
【００４４】
ステップＳ１０２では、帳票サーバ１００のＣＰＵ２０１は、クライアントＰＣ１０１に表示されたＰＤＦ作成リスト画面３００において、バインダ選択リンク３０４が押下されたか否かを判定する。クライアントＰＣ１０１からバインダ選択リンク３０４を押下した旨の通知を受けた場合には、バインダ選択リンク３０４が押下されたと判定する。
【００４５】
バインダ選択リンク３０４が押下されたと判定した場合には、図７（ｂ）に示すようなバインダ選択画面４００を生成し、これをクライアントＰＣ１０１にＨＴＴＰで送信する。そして、クライアントＰＣ１０１でこのバインダ選択画面４００をウェブブラウザ１０１１で表示し、ユーザからの入力を受け付ける。帳票サーバ１００は、バインダ選択画面４００をクライアントＰＣ１０１に送信すると、ステップＳ１０３に処理を進める。バインダ選択リンク３０４が押下されていないと判定した場合には、ステップＳ１０２を繰り返し実行する。
【００４６】
バインダ選択画面４００は、ＰＤＦデータを生成する帳票データが含まれるバインダを選択するためのウェブページである。バインダ選択画面４００には、ラジオボタン４０１が備えられており、これによりバインダの選択を受け付ける。また、ラジオボタン４０１でバインダを選択した状態で実行ボタン４０２が押下されると、帳票サーバ１００が選択したバインダに含まれる帳票データからＰＤＦデータを生成する。
【００４７】
ステップＳ１０３では、帳票サーバ１００のＣＰＵ２０１は、クライアントＰＣ１０１に表示されたバインダ選択画面４００において、実行ボタン４０２が押下されたか否かを判定する。クライアントＰＣ１０１から実行ボタン４０２を押下した旨の通知（チェックボックス３０３、及びラジオボタン４０１の選択状態を示す情報）を受信した場合（文書データ生成要求受付手段）には、実行ボタン４０２が押下されたと判定する。実行ボタン４０２が押下されたと判定した場合には、ステップＳ１０４に処理を進める。実行ボタン４０２が押下されていないと判定した場合には、ステップＳ１０３の処理を繰り返す。
【００４８】
ステップＳ１０４では、帳票サーバ１００のＣＰＵ２０１は、ステップＳ１０３で受信したチェックボックス３０３のチェック状態を示す情報と、ラジオボタン４０１の選択状態とを取得する。
【００４９】
ステップＳ１０５では、帳票サーバ１００のＣＰＵ２０１は、ステップＳ１０４で取得したチェックボックス３０３のチェック状態を示す情報を用いて、チェックボックス３０３にチェックがなされているか否かを判定する。チェックボックス３０３にチェックがなされていると判定した場合には、ステップＳ１５０に処理を進める。チェックボックス３０３にチェックがなされていないと判定した場合には、ステップＳ１４０に処理を進める。
【００５０】
ステップＳ１４０では、帳票サーバ１００のＣＰＵ２０１は、第１のＰＤＦ生成処理を実行する。第１のＰＤＦ生成処理は、選択されたバインダに含まれる複数世代の帳票データごとにＰＤＦデータを生成する処理である。この第１のＰＤＦ生成処理の詳細は、後述する図５に示す。
【００５１】
ステップＳ１５０では、帳票サーバ１００のＣＰＵ２０１は、第２のＰＤＦ生成処理を実行する。第２のＰＤＦ生成処理は、選択されたバインダに含まれる帳票データの世代ごとにレイヤを生成し、この生成したレイヤに対応する世代の帳票データを当該レイヤに割り当てる処理である。第２のＰＤＦ生成処理の詳細は、後述する図６に示す。
【００５２】
ステップＳ１４０またはステップＳ１５０の処理が終了したら、本一連の処理を完了する。
【００５３】
図５は、第１のＰＤＦ生成処理の詳細な処理の流れを示すフローチャートである。
【００５４】
ステップＳ１４０１では、帳票サーバ１００のＣＰＵ２０１は、クライアントＰＣ１０１で選択されたバインダの帳票データを特定する。そして特定した帳票データを帳票サーバ１００の外部メモリ２１１から取得し、帳票サーバ１００のＲＡＭ２０３に記憶する。選択されたバインダの帳票データは、帳票定義ＩＤ５０２を参照することで特定する。
【００５５】
ステップＳ１４０２では、帳票サーバ１００のＣＰＵ２０１は、ステップＳ１４０１で取得したいずれかの帳票データ（１世代分）を参照し、この帳票データ構成するページ数分、処理を繰り返すループ処理の開始である。
【００５６】
ステップＳ１４０３では、帳票サーバ１００のＣＰＵ２０１は、ステップＳ１４０１でＲＡＭ２０３に記憶した、参照中の帳票データを取得し、未処理のページを参照する。そして、このページを構成するデータをＰＤＦの型に変換する。更に参照中の帳票データに対応するＰＤＦデータに新たなページを生成し、このページに変換したデータを挿入する。参照中の帳票データに対応するＰＤＦデータが生成されていない場合には、空のＰＤＦデータを生成した後に、これらの処理を実行する。
【００５７】
ステップＳ１４０４では、帳票サーバ１００のＣＰＵ２０１は、参照中の帳票データの全ページに対してステップＳ１４０３が実行されたか否かを判定し、これが実行されたと判定した場合には、ループ処理を抜けてステップＳ１４０５に処理を進める。そうでない場合には、ステップＳ１４０２に処理を戻す。こうすることで、参照中の帳票データのすべてのページを含むＰＤＦデータを生成する。
【００５８】
ステップＳ１４０５では、帳票サーバ１００のＣＰＵ２０１は、ＰＤＦデータを生成した帳票データの帳票ＩＤ５０１、ディレクトリＩＤ５０３、及び登録日時５０５を取得し、これらを用いて、一意なファイル名を作成する。
【００５９】
ステップＳ１４０６では、帳票サーバ１００のＣＰＵ２０１は、生成したＰＤＦデータのファイル名を、ステップＳ１４０５で作成したファイル名にリネームして、帳票サーバ１００の外部メモリ２１１に保存する。そして、ステップＳ１４０１でＲＡＭ２０３に記憶したすべての帳票データに対して、ステップＳ１４０２からステップＳ１４０６の処理が完了したかどうかを判定する。すべての帳票データに対して処理が完了したと判定した場合には、第１のＰＤＦ生成処理を終了する。そうでない場合には、ステップＳ１４０２に処理を戻し、未処理の帳票データに対して処理を実行し、各世代の帳票データごとにＰＤＦデータを生成する。
【００６０】
このようにチェックボックス３０３にチェックを入れていない場合には、世代ごとにＰＤＦデータが生成される。つまり、世代が３つあれば３つのＰＤＦデータが生成されることになる。
【００６１】
図６は、第２のＰＤＦ生成処理の詳細な処理の流れを示すフローチャートである。
【００６２】
ステップＳ１５０１では、帳票サーバ１００のＣＰＵ２０１は、クライアントＰＣ１０１で選択されたバインダの帳票データを特定する。そして特定した帳票データを帳票サーバ１００の外部メモリ２１１から取得し、帳票サーバ１００のＲＡＭ２０３に記憶する。選択されたバインダの帳票データは、帳票定義ＩＤ５０２を参照することで特定する。また、取得した帳票データは世代Ｎｏ．５０４で昇順にソートした上でＲＡＭ２０３に格納しておく。
【００６３】
ステップＳ１５０２では、帳票サーバ１００のＣＰＵ２０１は、各種変数の定義及び初期化を実行する。本実施形態で使用する変数とその初期値について説明する。レイヤ通し番号として変数ｉを定義し、初期値として１を格納する。帳票データレイヤ番号として変数ｄを定義し、初期値として０を格納する。付箋レイヤ番号として変数ｆを定義し、初期値として０を格納する。マーカレイヤ番号として変数ｍを定義し、初期値として０を格納する。帳票データ有無フラグとして変数ｄ＿ｆｌａｇを定義し、初期値にｆａｌｓｅを格納する。付箋有無フラグとして変数ｆ＿ｆｌａｇを定義し、初期値にｆａｌｓｅを格納する。マーカ有無フラグとして変数ｍ＿ｆｌａｇを定義し、初期値にｆｌａｓｅを格納する。以上が、本実施形態で使用する変数とその初期値についての説明である。
【００６４】
ステップＳ１５０３では、帳票サーバ１００のＣＰＵ２０１は、選択されたバインダに含まれる帳票データの世代数分繰り返すループ処理の開始である。また、ステップＳ１５０３では、ＲＡＭ２０３から１世代分の帳票データを取り出す処理も併せて実行する。このとき、最も世代が古い帳票データから順に取り出す。
【００６５】
ステップＳ１５０４では、帳票サーバ１００のＣＰＵ２０１は、ステップＳ１５０３で取り出した１世代分の帳票データのページ数分繰り返すループ処理の開始である。
【００６６】
ステップＳ１５０５では、帳票サーバ１００のＣＰＵ２０１は、帳票データ有無フラグ（変数ｄ＿ｆｌａｇ）が真（ｔｒｕｅ）であるか偽（ｆａｌｓｅ）であるかを判定する。すなわち、帳票データを格納するレイヤの新規作成が必要かどうかを判定している。帳票データ有無フラグが真である場合には、ステップＳ１５１０に処理を進める。帳票データ有無フラグが偽である場合には、ステップＳ１５０６に処理を進める。
【００６７】
ステップＳ１５０６では、帳票サーバ１００のＣＰＵ２０１は、帳票データレイヤ番号（変数ｄ）にレイヤ通し番号（変数ｉ）を代入する。そして、帳票データに対応する空のＰＤＦデータ（文書データ）が生成されていなければ、これを生成する（文書データ生成手段）。更に、生成したＰＤＦデータに１世代分の帳票データを格納するためのレイヤを生成する（レイヤ生成手段）。このレイヤは変数ｄが示すＩＤのレイヤ（帳票データレイヤ）として生成する。また、処理対象の帳票データの登録日時５０５、世代Ｎｏ．５０４を用いてレイヤの名称を作成し、生成したレイヤのレイヤ名に作成した名称をつける。また、ＰＤＦデータに生成されるレイヤは、そのレイヤが示すＩＤの順番（昇順が望ましい）となるように格納する。以下の処理において生成されるレイヤについても同様である。
【００６８】
ステップＳ１５０７では、帳票サーバ１００のＣＰＵ２０１は、処理対象の帳票データの参照中ページのページ定義情報５０７、フォーム定義情報５０８、テキスト情報５０９、マップ情報５１０を取得する。そして、参照中ページを構成するこれらのデータをＰＤＦの型に変換し、変換したデータを変数ｄが示すＩＤのレイヤに格納、つまり挿入する（帳票データ挿入手段）。
【００６９】
ステップＳ１５０８では、帳票サーバ１００のＣＰＵ２０１は、レイヤ通し番号（変数ｉ）を１つインクリメントする。
【００７０】
ステップＳ１５０９では、帳票サーバ１００のＣＰＵ２０１は、帳票データ有無フラグ（変数ｄ＿ｆｌａｇ）にｔｒｕｅを代入する。この帳票データ有無フラグを有効にしておくことで、１世代分の帳票データを１つのレイヤに書き出すことが可能となる。
【００７１】
一方、ステップＳ１５０５で帳票データ有無フラグが真であると判定された場合には、ステップＳ１５１０に処理を進める。ステップＳ１５１０では、帳票サーバ１００のＣＰＵ２０１は、処理対象の帳票データの参照中ページのページ定義情報５０７、フォーム定義情報５０８、テキスト情報５０９、マップ情報５１０を取得する。そして、参照中ページを構成するこれらのデータをＰＤＦの型に変換し、変換したデータを変数ｄが示すＩＤのレイヤに格納、つまり挿入する（帳票データ挿入手段）。
【００７２】
ステップＳ１５１１では、帳票サーバ１００のＣＰＵ２０１は、処理対象の帳票データに付されているアノテーションの数をアノテーション数５１１から特定し、アノテーションの数に応じて、処理を分岐する。アノテーション数が０である場合には、ステップＳ１５０４に戻ってバインダに含まれる次の世代の帳票データに対して処理を実行する。アノテーション数が０以外の場合は、アノテーションが存在するのでステップＳ１６０に処理を進める。
【００７３】
ステップＳ１６０では、帳票サーバ１００のＣＰＵ２０１は、処理対象の帳票データに付されているアノテーションごとにレイヤを生成し、格納するアノテーション解析処理を実行する。アノテーション解析処理の詳細は、後述する図７に示す。
【００７４】
ステップＳ１５１２は、帳票サーバ１００のＣＰＵ２０１は、ステップＳ１５０３で取り出した１世代分の帳票データのページ数分繰り返すループ処理の終端である。すべてのページに対して処理が完了したら、ステップＳ１５１３に処理を進める。そうでなければ、ステップＳ１５０４に処理を戻す。
【００７５】
ステップＳ１５１３では、帳票サーバ１００のＣＰＵ２０１は、ステップＳ１５０６及びステップＳ１６０で作成した各レイヤを不可視状態に設定する。ＰＤＦデータにおいて、レイヤごとに可視状態または不可視状態を設定することができる。レイヤが可視状態に設定された場合には、ＰＤＦデータを開いたときに当該レイヤが表示される。レイヤが不可視状態に設定された場合には、ＰＤＦデータを開いたときに当該レイヤが非表示となる。この可視状態及び不可視状態はあくまで初期値であり、ＰＤＦビューアでＰＤＦデータを開いてユーザからの操作により、可視状態／不可視状態を切り替えることが可能である。
【００７６】
ステップＳ１５１４では、帳票サーバ１００のＣＰＵ２０１は、１世代分の処理が完了したので、レイヤ通し番号以外の各変数をステップＳ１５０２と同様に初期化する。レイヤ通し番号については、ステップＳ１５１４では初期化しない。このタイミングで初期化することにより、世代ごとに異なるレイヤとする事が可能となる。
【００７７】
ステップＳ１５１５では、帳票サーバ１００のＣＰＵ２０１は、バインダに含まれる帳票データの世代数分繰り返すループ処理の終端である。すべての世代の帳票データに対して処理が完了したのであれば、ステップＳ１５１６に処理を進める。そうでなければ、ステップＳ１５０３に処理を戻す。こうして、すべての世代の帳票データに対してステップＳ１５０４乃至ステップＳ１５１４を実行する。
【００７８】
ステップＳ１５１６では、帳票サーバ１００のＣＰＵ２０１は、最新世代の帳票データのレイヤを可視状態に変更する（状態設定手段）。
【００７９】
ステップＳ１５１７では、帳票サーバ１００のＣＰＵ２０１は、最新世代の帳票データに付された付箋のレイヤが存在する場合は可視状態に変更する。最新世代の付箋レイヤが存在しない場合は、この処理は行われない。
【００８０】
ステップＳ１５１８では、帳票サーバ１００のＣＰＵ２０１は、最新世代の帳票データに付されたマーカのレイヤが存在する場合は可視状態に変更する。最新世代のマーカレイヤが存在しない場合は、この処理は行われない。
【００８１】
ステップＳ１５１６乃至ステップＳ１５１８に示すように、最新世代の帳票データに関するレイヤについては可視状態に変更しておくことで、このＰＤＦデータを開いたときに最新世代の帳票データに関する情報がデフォルトで表示される。すべての世代の帳票データ等を可視状態にしておくと、各レイヤにあるデータが重なって表示されてしまい閲覧しにくい問題がある。そこで、いずれかの世代の帳票データに関するレイヤだけを可視状態としておくことで、この問題を解決している。本実施形態では、最新世代の帳票データに関するレイヤを可視状態としたが、特にこれに限らない。最も古い世代の帳票データであってもよいし、ユーザから指定された特定の世代の帳票データであってもよい。
【００８２】
ステップＳ１５１９では、帳票サーバ１００のＣＰＵ２０１は、選択されたバインダに含まれる帳票データのディレクトリＩＤ５０３、帳票定義ＩＤ５０２、最新世代の登録日時５０５を帳票テーブル５００から抽出し、これらを用いて一意なファイル名を作成する。
【００８３】
ステップＳ１５２０では、帳票サーバ１００のＣＰＵ２０１は、生成したＰＤＦデータのファイル名をステップＳ１５１９で作成したファイル名に変更して、帳票サーバ１００の外部メモリ２１１に保存する。以上のようにすることで、選択されたバインダに含まれる複数世代の帳票データをレイヤごとに格納するＰＤＦデータを生成することができる。よって、前述した第１のＰＤＦ生成処理のように世代ごとにＰＤＦデータが生成されず、１つのＰＤＦデータで収まることになる。つまり、ユーザが世代数分のデータを管理する煩雑さが軽減される。
【００８４】
図７は、アノテーション解析処理の詳細な処理の流れを示すフローチャートである。
【００８５】
ステップＳ１６０１では、帳票サーバ１００のＣＰＵ２０１は、変数ｎの定義及び初期化を実行する。変数ｎはアノテーション数をカウントするための変数であり、初期値に１を格納する。
【００８６】
ステップＳ１６０２では、帳票サーバ１００のＣＰＵ２０１は、参照中の帳票データに含まれるアノテーション数５１１の数だけ繰り返すループ処理の開始である。アノテーション数５１１が示す数だけループが完了したら、アノテーション解析処理を終了する。
【００８７】
ステップＳ１６０３では、帳票サーバ１００のＣＰＵ２０１は、参照中の帳票データの帳票テーブル５００のアノテーションデータ５１２からｎ番目のアノテーションデータを取得する。変数ｎが１であれば、参照中の帳票データに含まれる１番目のアノテーションデータ５１２を取得する。
【００８８】
ステップＳ１６０４では、帳票サーバ１００のＣＰＵ２０１は、ステップＳ１６０３で取得したアノテーションデータ５１２のページ番号５１３を参照し、この番号が示すページが参照中のページであるか否かを判定する。参照中のページであると判定した場合には、ステップＳ１６０５に処理を進める。参照中のページでないと判定した場合には、ステップＳ１６１８に処理を進める。
【００８９】
ステップＳ１６０５では、帳票サーバ１００のＣＰＵ２０１は、ステップＳ１６０３で取得したアノテーションデータ５１２のアノテーション種別５１５を参照し、処理を分岐する。アノテーション種別５１５が「付箋」である場合には、ステップＳ１６０６に処理を進める。アノテーション種別５１５が「マーカ」である場合には、ステップＳ１６１２に処理を進める。
【００９０】
ステップＳ１６０６では、帳票サーバ１００のＣＰＵ２０１は、付箋有無フラグ（変数ｆ＿ｆｌａｇ）が真（ｔｒｕｅ）であるか偽（ｆａｌｓｅ）であるかを判定する。すなわち、付箋を示すアノテーションデータを格納するレイヤの新規作成が必要かどうかを判定している。付箋有無フラグが真である場合には、ステップＳ１６１１に処理を進める。付箋有無フラグが偽である場合には、ステップＳ１６０７に処理を進める。
【００９１】
ステップＳ１６０７では、帳票サーバ１００のＣＰＵ２０１は、付箋レイヤ番号（変数ｆ）にレイヤ通し番号（変数ｉ）を代入する。そして、参照中の帳票データに対応するＰＤＦデータに付箋のアノテーションデータを格納するためのレイヤを生成する。このレイヤは変数ｆが示すＩＤのレイヤ（付箋レイヤ）として生成する。また、処理対象の帳票データの登録日時５０５、世代Ｎｏ．５０４を用いてレイヤの名称を作成し、作成した名称の末尾に「＿付箋」を付与する。そして、これを生成したレイヤのレイヤ名とする。
【００９２】
ステップＳ１６０８では、帳票サーバ１００のＣＰＵ２０１は、ステップＳ１６０３で取得したアノテーションデータ５１２の位置情報５１４、アノテーション種別５１５、色情報５１６、及びコメント文字列５１７を取得する。そして、この付箋のアノテーションを構成するこれらのデータをＰＤＦの型に変換し、変換したデータを変数ｆが示すＩＤのレイヤに格納、つまり挿入する。
【００９３】
ステップＳ１６０９では、帳票サーバ１００のＣＰＵ２０１は、レイヤ通し番号（変数ｉ）を１つインクリメントする。
【００９４】
ステップＳ１６１０では、帳票サーバ１００のＣＰＵ２０１は、付箋有無フラグ（変数ｆ＿ｆｌａｇ）にｔｒｕｅを代入する。この付箋有無フラグを有効にしておくことで、１世代分の付箋を１つのレイヤに書き出すことが可能となる。
【００９５】
一方、ステップＳ１６０６で付箋有無フラグが偽であると判定された場合には、ステップＳ１６１１に処理を進める。ステップＳ１６１１では、帳票サーバ１００のＣＰＵ２０１は、ステップＳ１６０３で取得したアノテーションデータ５１２の位置情報５１４、アノテーション種別５１５、色情報５１６、及びコメント文字列５１７を取得する。そして、この付箋のアノテーションを構成するこれらのデータをＰＤＦの型に変換し、変換したデータを変数ｆが示すＩＤのレイヤに格納、つまり挿入する。
【００９６】
ステップＳ１６１２では、帳票サーバ１００のＣＰＵ２０１は、マーカ有無フラグ（変数ｍ＿ｆｌａｇ）が真（ｔｒｕｅ）であるか偽（ｆａｌｓｅ）であるかを判定する。すなわち、マーカを示すアノテーションデータを格納するレイヤの新規作成が必要かどうかを判定している。マーカ有無フラグが真である場合には、ステップＳ１６１７に処理を進める。マーカ有無フラグが偽である場合には、ステップＳ１６１３に処理を進める。
【００９７】
ステップＳ１６１３では、帳票サーバ１００のＣＰＵ２０１は、マーカレイヤ番号（変数ｍ）にレイヤ通し番号（変数ｉ）を代入する。そして、参照中の帳票データに対応するＰＤＦデータにマーカのアノテーションデータを格納するためのレイヤを生成する。このレイヤは変数ｍが示すＩＤのレイヤ（マーカレイヤ）として生成する。また、処理対象の帳票データの登録日時５０５、世代Ｎｏ．５０４を用いてレイヤの名称を作成し、作成した名称の末尾に「＿マーカ」を付与する。そして、これを生成したレイヤのレイヤ名とする。
【００９８】
ステップＳ１６１４では、帳票サーバ１００のＣＰＵ２０１は、ステップＳ１６０３で取得したアノテーションデータ５１２の位置情報５１４、アノテーション種別５１５、及び色情報５１６を取得する。そして、このマーカのアノテーションを構成するこれらのデータをＰＤＦの型に変換し、変換したデータを変数ｍが示すＩＤのレイヤに格納、つまり挿入する。
【００９９】
ステップＳ１６１５では、帳票サーバ１００のＣＰＵ２０１は、レイヤ通し番号（変数ｉ）を１つインクリメントする。
【０１００】
ステップＳ１６１６では、帳票サーバ１００のＣＰＵ２０１は、マーカ有無フラグ（変数ｍ＿ｆｌａｇ）にｔｒｕｅを代入する。このマーカ有無フラグを有効にしておくことで、１世代分のマーカを１つのレイヤに書き出すことが可能となる。
【０１０１】
一方、ステップＳ１６１２でマーカ有無フラグが偽であると判定された場合には、ステップＳ１６１７に処理を進める。ステップＳ１６１１７では、帳票サーバ１００のＣＰＵ２０１は、ステップＳ１６０３で取得したアノテーションデータ５１２の位置情報５１４、アノテーション種別５１５、及び色情報５１６を取得する。そして、このマーカのアノテーションを構成するこれらのデータをＰＤＦの型に変換し、変換したデータを変数ｆが示すＩＤのレイヤに格納、つまり挿入する。
【０１０２】
ステップＳ１６１８では、帳票サーバ１００のＣＰＵ２０１は、アノテーション数をカウントする変数（ｎ）を１つインクリメントする。
【０１０３】
ステップＳ１６１９では、帳票サーバ１００のＣＰＵ２０１は、参照中の帳票データに含まれるアノテーション数５１１の数だけ繰り返すループ処理の終端である。アノテーション数５１１が示す数だけループが完了したら、アノテーション解析処理を終了する。
【０１０４】
このようにして、ある世代の帳票データを構成するページに付されているアノテーションについても、当該アノテーションを挿入するためのレイヤを生成する。そして、このレイヤにアノテーションを挿入することにより、アノテーションが重なってしまい帳票データの示す内容が閲覧できない場合でも、アノテーションのレイヤを不可視状態とすることで閲覧可能となる。
【０１０５】
図１０は、第２のＰＤＦ生成処理で生成されたＰＤＦデータをクライアントＰＣ１０１のＰＤＦビューアで閲覧した場合の画面例である。ＰＤＦビューアは、ＰＤＦデータ表示領域６０４に読み込んだＰＤＦデータを表示する。ＰＤＦデータ表示領域６０４には、可視状態のレイヤが示すデータが表示される。図１０では、「２０１４１２３１＿ＧＥＴＳＵＪＩ」の帳票データレイヤと、「２０１４１２３１＿ＧＥＴＳＵＪＩ＿マーカ」のマーカレイヤとが可視状態となっている。そのため、これらのレイヤが示すデータがＰＤＦデータ表示領域６０４に表示される。６０２は、帳票データレイヤのデータであり、６０３は、マーカレイヤのデータである。更に、読み込んだＰＤＦデータに含まれるレイヤをレイヤ選択領域６０５に一覧表示する。このレイヤ選択領域６０５にはＰＤＦデータに含まれるレイヤのＩＤが昇順となるよう一覧表示される。
【０１０６】
この図１０に示すＰＤＦデータのレイヤ構造は、図１１に示す。図１０のＰＤＦデータは、５つのレイヤから構成されている。レイヤのＩＤが１のものは、帳票データレイヤであり、レイヤの名称が「２０１４１１３０＿ＧＥＴＳＵＪＩ」である。ここには、アノテーション以外の帳票データが格納されている。レイヤのＩＤが２のものは、マーカレイヤであり、レイヤの名称が「２０１４１１３０＿ＧＥＴＳＵＪＩ＿マーカ」である。ここには、マーカのアノテーションデータが格納されている。レイヤのＩＤが３のものは、付箋レイヤであり、レイヤの名称が「２０１４１１３０＿ＧＥＴＳＵＪＩ＿付箋」である。ここには、付箋のアノテーションデータが格納されている。この３つが１つの世代（２０１４年１１月度に出力された世代）の帳票データとして帳票サーバ１００で記憶されているものである。
【０１０７】
また、レイヤのＩＤが４のものは、帳票データレイヤであり、レイヤの名称が「２０１４１２３１＿ＧＥＴＳＵＪＩ」である。ここには、アノテーション以外の帳票データが格納されている。レイヤのＩＤが５のものは、マーカレイヤであり、レイヤの名称が「２０１４１２３１＿ＧＥＴＳＵＪＩ＿マーカ」である。ここには、マーカのアノテーションデータが格納されている。この２つが１つの世代（２０１４年１２月度に出力された世代）の帳票データとして帳票サーバ１００で記憶されているものである。ここでは、この世代が最新の世代であるとする。
【０１０８】
これらのレイヤが図１０に示すような画面で一覧表示されるのだが、前述した通り、すべてのレイヤが可視状態となってしまうと各レイヤのデータが重なってしまい、閲覧しにくい。そのため、最新世代の帳票データに関するレイヤだけを可視状態とし、それ以外を不可視状態とする。その結果が、図１０の可視／不可視状態選択欄６０１である。可視／不可視状態選択欄６０１に示す通り、最新世代である２０１４年１２月度に出力された世代のレイヤが可視状態となっており、それ以外の世代のレイヤは不可視状態となっている。前述した処理においてＰＤＦデータを生成すると、このような初期状態で表示される。また、最新世代ではない他の世代を表示する場合には、この可視／不可視状態選択欄６０１で最新世代のレイヤを不可視状態に変更し、表示する世代を可視状態に変更すればよい。
【０１０９】
次に第２の実施形態について説明する。第２の実施形態は、ディレクトリを選択し、世代をまとめてＰＤＦ化のチェックボックス３０３にチェックがなされた状態でＰＤＦデータを作成する際には、ディレクトリ内に含まれるバインダ単位で複数の世代の帳票データをまとめてＰＤＦデータ化する。また、どのアノテーションを帳票データと同じレイヤに含めるかを選択できるようにするものである。
【０１１０】
第２の実施形態におけるシステム構成、ハードウェア構成、機能構成は、第１の実施形態と同様であるので説明は省略する。以下の説明では、第１の実施形態と異なる部分について説明を行う。特に、第２の実施形態は、図４、図７の変形例であるためのこの２つのフローチャートを中心に説明を行う。
【０１１１】
まず、図４の変形例である図１２を参照し、第２の実施形態における一連の処理の流れについて説明する。
【０１１２】
ステップＳ１７０１では、帳票サーバ１００のＣＰＵ２０１は、クライアントＰＣ１０１のウェブブラウザ１０１１からの要求に応じて、図１３（ａ）に示すようなＰＤＦ作成リスト画面３００を生成する。そして、ステップＳ１７０２では、帳票サーバ１００のＣＰＵ２０１は、生成したＰＤＦ作成リスト画面３００をＨＴＴＰによりクライアントＰＣ１０１のウェブブラウザ１０１１に送信する。
【０１１３】
図１３（ａ）に示すＰＤＦ作成リスト画面３００は、チェックボックス３０３の他に、付箋を別レイヤにするか否かを選択するためのチェックボックス３０５と、マーカを別レイヤにするか否かを選択するためのチェックボックス３０６を備える。このチェックボックス３０５とチェックボックス３０６とは、帳票データの種別に応じて自動的にチェックＯＮ／ＯＦＦを決定し、変更不可能な状態にしてもよい。こうすることで、例えば丸秘といったようなアノテーションを取り除かれることがなくなる。また、バインダ選択リンク３０４は、新たにディレクトリ・バインダ選択リンク３０７に置き換わっている。
【０１１４】
ステップＳ１７０３では、帳票サーバ１００のＣＰＵ２０１は、クライアントＰＣ１０１に表示されたＰＤＦ作成リスト画面３００において、ディレクトリ・バインダ選択リンク３０７が押下されたか否かを判定する。クライアントＰＣ１０１からディレクトリ・バインダ選択リンク３０７を押下した旨の通知を受けた場合には、ディレクトリ・バインダ選択リンク３０７が押下されたと判定する。ディレクトリ・バインダ選択リンク３０７が押下されたと判定した場合には、ステップＳ１７０４に処理を進める。バインダ選択リンク３０４が押下されていないと判定した場合には、ディレクトリ・バインダ選択リンク３０７が押下されるまで、ステップＳ１７０３を繰り返し実行する。
【０１１５】
ステップＳ１７０４では、帳票サーバ１００のＣＰＵ２０１は、ＰＤＦ作成リスト画面３００において選択を受け付けた、３０３、３０５、３０６に示すチェックボックスのチェック状態を示す情報をクライアントＰＣ１０１から取得する。
【０１１６】
ステップＳ１７０５では、帳票サーバ１００のＣＰＵ２０１は、図１３（ｂ）に示すようなディレクトリ・バインダ選択画面７００を生成し、ステップＳ１７０６では、これをクライアントＰＣ１０１にＨＴＴＰで送信する。ディレクトリ・バインダ選択画面７００は、ＰＤＦデータを生成する帳票データが含まれるディレクトリまたはバインダを選択するためのウェブページである。ディレクトリ・バインダ選択画面７００には、ラジオボタン７０１が備えられている。これによりディレクトリの選択を受け付けて、実行ボタン７０２が押下されると、帳票サーバ１００が選択したディレクトリに含まれるバインダごとに、帳票データからＰＤＦデータを生成する。一方、ディレクトリリンク７０３の選択を受け付けると、図１３（ｃ）に示すようなバインダ選択画面４００を表示する。図１３（ｃ）に示すバインダ選択画面４００は、図８（ｂ）に示すものと同様である。
【０１１７】
ステップＳ１７０７では、帳票サーバ１００のＣＰＵ２０１は、クライアントＰＣ１０１に表示されたディレクトリ・バインダ選択画面７００において、いずれかのラジオボタン７０１にチェックされた状態で実行ボタン７０２が押下されたか否かを判定する。帳票サーバ１００がクライアントＰＣ１０１から送信された要求に基づいて、これを判定すればよい。いずれかのラジオボタン７０１にチェックされた状態で実行ボタン７０２が押下されたと判定した場合には、ステップＳ１７０８に処理を進める。そうでない場合には、ステップＳ１７１３に処理を進める。
【０１１８】
ステップＳ１７０８では、帳票サーバ１００のＣＰＵ２０１は、ステップＳ１７０４で取得したチェックボックス３０３のチェック状態を示す情報を用いて、チェックボックス３０３にチェックがなされているか否かを判定する。チェックボックス３０３にチェックがなされていると判定した場合には、ステップＳ１７０９に処理を進める。チェックボックス３０３にチェックがなされていないと判定した場合には、ステップＳ１７１１に処理を進める。
【０１１９】
ステップＳ１７０９では、帳票サーバ１００のＣＰＵ２０１は、ラジオボタン７０１によって選択されたディレクトリに含まれるバインダの数だけ、ステップＳ１７１０を繰り返し実行する。ステップＳ１７１０では、帳票サーバ１００のＣＰＵ２０１は、第２のＰＤＦ生成処理を実行する。第２のＰＤＦ生成処理については、図６と同様であるので説明は省略する。すなわち、このループ処理によって、ディレクトリを選択するだけで、バインダごとに、当該バインダに含まれる複数世代の帳票データを含む１つのＰＤＦデータが生成されることになる。
【０１２０】
ステップＳ１７１１では、帳票サーバ１００のＣＰＵ２０１は、ラジオボタン７０１によって選択されたディレクトリに含まれるバインダの数だけ、ステップＳ１７１２を繰り返し実行する。ステップＳ１７１２では、帳票サーバ１００のＣＰＵ２０１は、第１のＰＤＦ生成処理を実行する。第１のＰＤＦ生成処理については、図５と同様であるので説明は省略する。すなわち、このループ処理によって、ディレクトリを選択するだけで、バインダごとに、当該バインダに含まれる複数世代の帳票データごとにＰＤＦデータが生成されることになる。
【０１２１】
ステップＳ１７１３では、帳票サーバ１００のＣＰＵ２０１は、クライアントＰＣ１０１に表示されたディレクトリ・バインダ選択画面７００において、ディレクトリリンク７０３が押下されたか否かを判定する。帳票サーバ１００がクライアントＰＣ１０１から送信された要求に基づいて、これを判定すればよい。ディレクトリリンク７０３が押下されたと判定した場合には、ステップＳ１７１４に処理を進める。そうでない場合には、ステップＳ１７０７に処理を戻す。
【０１２２】
ステップＳ１７１４では、帳票サーバ１００のＣＰＵ２０１は、図１３（ｃ）に示すようなバインダ選択画面４００を生成し、ステップＳ１７１５では、これをクライアントＰＣ１０１にＨＴＴＰで送信する。
【０１２３】
ステップＳ１７１６では、帳票サーバ１００のＣＰＵ２０１は、クライアントＰＣ１０１に表示されたバインダ選択画面４００において、いずれかのラジオボタン４０１にチェックされた状態で実行ボタン４０２が押下されたか否かを判定する。帳票サーバ１００がクライアントＰＣ１０１から送信された要求に基づいて、これを判定すればよい。いずれかのラジオボタン４０１にチェックされた状態で実行ボタン４０２が押下されたと判定した場合には、ステップＳ１７１７に処理を進める。そうでない場合には、いずれかのラジオボタン４０１にチェックされた状態で実行ボタン４０２が押下されるまで、ステップＳ１７１６を繰り返し実行する。
【０１２４】
ステップＳ１７１７では、帳票サーバ１００のＣＰＵ２０１は、ステップＳ１７０４で取得したチェックボックス３０３のチェック状態を示す情報を用いて、チェックボックス３０３にチェックがなされているか否かを判定する。チェックボックス３０３にチェックがなされていると判定した場合には、ステップＳ１７１８に処理を進める。チェックボックス３０３にチェックがなされていないと判定した場合には、ステップＳ１７１９に処理を進める。
【０１２５】
そして、ステップＳ１７１８では、帳票サーバ１００のＣＰＵ２０１は、第２のＰＤＦ生成処理を実行し、ステップＳ１７１９では、第１のＰＤＦ生成処理を実行する。
【０１２６】
次に、図７の変形例である図１４を参照し、第２の実施形態におけるアノテーション解析処理の詳細な処理の流れについて説明する。尚、図１４は、図７の変形例であるため、図７と同様のステップ（Ｓ１６０１乃至Ｓ１６１９）については、説明を省略する。処理順については、図１４に示す通りである。
【０１２７】
ステップＳ１８０１では、帳票サーバ１００のＣＰＵ２０１は、クライアントＰＣ１０１に表示された図１３（ａ）に示すＰＤＦ作成リスト画面３００で、チェックボックス３０５にチェックされているか否かを判定する。帳票サーバ１００がクライアントＰＣ１０１から送信された要求に基づいて、これを判定すればよい。チェックボックス３０５にチェックされていると判定した場合には、ステップＳ１６０７に処理を進める。チェックボックス３０５にチェックされていないと判定した場合には、ステップＳ１８０２に処理を進める。
【０１２８】
ステップＳ１８０２では、帳票サーバ１００のＣＰＵ２０１は、付箋レイヤ番号（変数ｆ）に帳票データレイヤ番号（変数ｄ）を代入する。すなわち、これによって帳票データが挿入されたレイヤと同じレイヤに付箋のアノテーションを挿入することになる。そして、ステップＳ１８０３では、帳票サーバ１００のＣＰＵ２０１は、ステップＳ１６０３で取得したアノテーションデータ５１２の位置情報５１４、アノテーション種別５１５、色情報５１６、及びコメント文字列５１７を取得する。そして、この付箋のアノテーションを構成するこれらのデータをＰＤＦの型に変換し、変換したデータを変数ｆが示すＩＤのレイヤに格納、つまり挿入する。このように、チェックボックス３０５にチェックがされていない場合には、付箋のアノテーションが帳票データと同じレイヤに挿入される。
【０１２９】
ステップＳ１８０４では、帳票サーバ１００のＣＰＵ２０１は、付箋有無フラグ（変数ｆ＿ｆｌａｇ）にｔｒｕｅを代入する。この付箋有無フラグを有効にしておくことで、１世代分の付箋を１つのレイヤに書き出すことが可能となる。
【０１３０】
ステップＳ１８０５では、帳票サーバ１００のＣＰＵ２０１は、クライアントＰＣ１０１に表示された図１３（ａ）に示すＰＤＦ作成リスト画面３００で、チェックボックス３０６にチェックされているか否かを判定する。帳票サーバ１００がクライアントＰＣ１０１から送信された要求に基づいて、これを判定すればよい。チェックボックス３０６にチェックされていると判定した場合には、ステップＳ１６１３に処理を進める。チェックボックス３０５にチェックされていないと判定した場合には、ステップＳ１８０６に処理を進める。
【０１３１】
ステップＳ１８０６では、帳票サーバ１００のＣＰＵ２０１は、マーカレイヤ番号（変数ｍ）に帳票データレイヤ番号（変数ｄ）を代入する。すなわち、これによって帳票データが挿入されたレイヤと同じレイヤにマーカのアノテーションを挿入することになる。そして、ステップＳ１８０７では、帳票サーバ１００のＣＰＵ２０１は、ステップＳ１６０３で取得したアノテーションデータ５１２の位置情報５１４、アノテーション種別５１５、色情報５１６、及びコメント文字列５１７を取得する。そして、このマーカのアノテーションを構成するこれらのデータをＰＤＦの型に変換し、変換したデータを変数ｆが示すＩＤのレイヤに格納、つまり挿入する。このように、チェックボックス３０６にチェックがされていない場合には、マーカのアノテーションが帳票データと同じレイヤに挿入される。
【０１３２】
ステップＳ１８０８では、帳票サーバ１００のＣＰＵ２０１は、マーカ有無フラグ（変数ｍ＿ｆｌａｇ）にｔｒｕｅを代入する。このマーカ有無フラグを有効にしておくことで、１世代分の付箋を１つのレイヤに書き出すことが可能となる。
【０１３３】
図１５は、チェックボックス３０３とチェックボックス３０５にチェックされ、チェックボックス３０６にチェックされていない場合のレイヤの構造を示す概念図である。世代ごとに帳票データのレイヤが作られ、ここに帳票データが挿入されると共に、チェックボックス３０５がチェックされているので付箋のアノテーションは帳票データとは別のレイヤに対して挿入される。一方、チェックボックス３０６はチェックされていないので、マーカのアノテーションは帳票データのレイヤに対して挿入される。よって、帳票データとマーカのアノテーションが含まれるレイヤと付箋のアノテーションが含まれるレイヤとを備えるＰＤＦデータが生成されることになる。
【０１３４】
以上のように、ディレクトリを選択し、世代をまとめてＰＤＦ化のチェックボックス３０３にチェックがなされた状態でＰＤＦデータを作成する際には、ディレクトリ内に含まれるバインダ単位で複数の世代の帳票データをまとめてＰＤＦデータ化できる。また、どのアノテーションを帳票データと同じレイヤに含めるかを選択できる。
【０１３５】
以上説明したように、本実施形態によれば、複数世代の帳票データを含む文書データを、ユーザが閲覧しやすい形態で生成することが可能となる。
【０１３６】
本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、１つの機器からなる装置に適用してもよい。
【０１３７】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接、或いは遠隔から供給するものを含む。そして、そのシステム或いは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。
【０１３８】
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実行可能とするためのコンピュータプログラム自体も含まれる。
【０１３９】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であってもよい。
【０１４０】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷなどがある。また、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などもある。
【０１４１】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
【０１４２】
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【０１４３】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０１４４】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【０１４５】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
【０１４６】
なお、前述した実施形態は、本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【０１４７】
１００  帳票サーバ
１０１  クライアントＰＣ
１０２  ネットワーク
２０１  ＣＰＵ
２０２  ＲＯＭ
２０３  ＲＡＭ
２０４  システムバス
２０５  入力コントローラ
２０６  ビデオコントローラ
２０７  メモリコントローラ
２０８  通信Ｉ／Ｆコントローラ
２０９  入力デバイス
２１０  ディスプレイ
２１１  外部メモリ
【図１】
2016126779.tif 000003
【図２】
2016126779.tif 000004
【図３】
2016126779.tif 000005
【図４】
2016126779.tif 000006
【図５】
2016126779.tif 000007
【図６】
2016126779.tif 000008
【図７】
2016126779.tif 000009
【図８】
2016126779.tif 000010
【図９】
2016126779.tif 000011
【図１０】
2016126779.tif 000012
【図１１】
2016126779.tif 000013
【図１２】
2016126779.tif 000014
【図１３】
2016126779.tif 000015
【図１４】
2016126779.tif 000016
【図１５】
2016126779.tif 000017