(57)【要約】【課題】  様々な形式のコンテンツデータとフォームデータを用いて出力結果を出力する場合、コンテンツデータの種類と同じ数のフォームデータを用意し、現在対象としているコンテンツデータに適合するフォームデータをその都度選択しなければならなかった。【解決手段】  コンテンツデータに従って、適切なデータフィールドを選択することでユーザが所望とする結果を出力すると共に、フォームデータ作成者の負担を軽減させることを目的とする。【選択図】  図１０
2008003901.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツデータを入力するためのデータフィールドをフォームデータに定義して、当該フォームデータにコンテンツデータを流し込んで出力結果を生成する情報処理装置において、
前記フォームデータ中に配置すべきデータフィールドを決定するための使用条件を、複数のデータフィールドのそれぞれに対して設定する第１設定手段と、
前記フォームデータに流し込むべく入力されるコンテンツデータの項目識別情報と、前記第１設定手段によって設定された各データフィールドの使用条件とに従って、前記フォームデータに配置すべきデータフィールドを選択する選択手段と、
前記選択手段によって選択されたデータフィールドを前記フォームデータに配置する配置手段と、
前記配置手段によって前記フォームデータに配置されたデータフィールドに対して前記コンテンツデータを流し込むことにより出力結果を出力する出力手段を有することを特徴とする情報処理装置。
【請求項２】
前記選択手段は、レコードに含まれる各コンテンツデータに対応する項目識別情報に基づいて、前記各コンテンツデータが流し込まれるデータフィールドを選択することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記フォームデータに対して、前記データフィールドを配置するための領域と、当該領域に対して前記選択手段によって選択されたデータフィールドの配置位置を決定するための配置属性とを設定する第２設定手段を更に有し、
前記配置手段は、前記第２設定手段によって設定された領域内に前記選択されたデータフィールドを配置すべく、前記設定された配置属性に従って当該データフィールドを配置することを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記第１設定手段は、前記データフィールドに前記コンテンツデータを流し込んで前記出力結果を出力する際に、どのように出力するかを示す出力属性を設定し、
前記出力手段は、前記選択されたデータフィールドにコンテンツデータを流し込み、かつ、前記出力属性に従って前記フォームデータを出力することを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記選択手段によって選択されたデータフィールドを、前記第２設定手段によって設定された領域に配置可能か否かを判定する判定手段を更に有し、
前記判定手段により、前記選択されたデータフィールドを配置できないと判定された場合、前記配置手段は、前記データフィールドのサイズを変更して配置することを特徴とする請求項３または４に記載の情報処理装置。
【請求項６】
前記コンテンツデータにおける特定のデータ項目のデータ値が変化した場合、前記コンテンツデータの指定されたデータ項目において当該変化が発生するまでのデータ値を集計する集計手段と、
前記集計手段による集計処理を実行するための条件を設定する集計条件設定手段とを更に有し、
前記集計手段は、前記コンテンツデータに含まれる項目識別情報の組み合わせが前記集計条件設定手段によって設定された条件に合致する場合、前記集計処理を実行することを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
コンテンツデータを入力するためのデータフィールドをフォームデータに定義して、当該フォームデータにコンテンツデータを流し込んで出力結果を生成する情報処理装置における情報処理方法であって、
前記フォームデータ中に配置すべきデータフィールドを決定するための使用条件を、複数のデータフィールドのそれぞれに対して設定する第１設定工程と、
前記フォームデータに流し込むべく入力されるコンテンツデータの項目識別情報と、前記第１設定工程によって設定された各データフィールドの使用条件とに従って、前記フォームデータに配置すべきデータフィールドを選択する選択工程と、
前記選択工程によって選択されたデータフィールドを前記フォームデータに配置する配置工程と、
前記配置工程によって前記フォームデータに配置されたデータフィールドに対して前記コンテンツデータを流し込むことにより出力結果を出力する出力工程を有することを特徴とする情報処理方法。
【請求項８】
前記選択工程は、レコードに含まれる各コンテンツデータに対応する項目識別情報に基づいて、前記各コンテンツデータが流し込まれるデータフィールドを選択することを特徴とする請求項７に記載の情報処理方法。
【請求項９】
前記フォームデータに対して、前記データフィールドを配置するための領域と、当該領域に対して前記選択工程によって選択されたデータフィールドの配置位置を決定するための配置属性とを設定する第２設定工程を更に有し、
前記配置工程は、前記第２設定工程によって設定された領域内に前記選択されたデータフィールドを配置すべく、前記設定された配置属性に従って当該データフィールドを配置することを特徴とする請求項７または８に記載の情報処理方法。
【請求項１０】
前記第１設定工程は、前記データフィールドに前記コンテンツデータを流し込んで前記出力結果を出力する際に、どのように出力するかを示す出力属性を設定し、
前記出力工程は、前記選択されたデータフィールドにコンテンツデータを流し込み、かつ、前記出力属性に従って前記フォームデータを出力することを特徴とする請求項７乃至９のいずれか１項に記載の情報処理方法。
【請求項１１】
前記選択工程によって選択されたデータフィールドを、前記第２設定工程によって設定された領域に配置可能か否かを判定する判定工程を更に有し、
前記判定工程により、前記選択されたデータフィールドを配置できないと判定された場合、前記配置工程は、前記データフィールドのサイズを変更して配置することを特徴とする請求項９または１０に記載の情報処理方法。
【請求項１２】
前記コンテンツデータにおける特定のデータ項目のデータ値が変化した場合、前記コンテンツデータの指定されたデータ項目において当該変化が発生するまでのデータ値を集計する集計工程と、
前記集計工程による集計処理を実行するための条件を設定する集計条件設定工程とを更に有し、
前記集計工程は、前記コンテンツデータに含まれる項目識別情報の組み合わせが前記集計条件設定工程によって設定された条件に合致する場合、前記集計処理を実行することを特徴とする請求項７乃至１１のいずれか１項に記載の情報処理方法。
【請求項１３】
コンテンツデータを入力するためのデータフィールドをフォームデータに定義して、当該フォームデータにコンテンツデータを流し込んで出力結果を生成する情報処理装置としてのコンピュータにおいて実行される情報処理プログラムであって、
前記フォームデータ中に配置すべきデータフィールドを決定するための使用条件を、複数のデータフィールドのそれぞれに対して設定する第１設定工程と、
前記フォームデータに流し込むべく入力されるコンテンツデータの項目識別情報と、前記第１設定工程によって設定された各データフィールドの使用条件とに従って、前記フォームデータに配置すべきデータフィールドを選択する選択工程と、
前記選択工程によって選択されたデータフィールドを前記フォームデータに配置する配置工程と、
前記配置工程によって前記フォームデータに配置されたデータフィールドに対して前記コンテンツデータを流し込むことにより出力結果を出力する出力工程を有することを特徴とする前記コンピュータに読み取り可能な情報処理プログラム。
【請求項１４】
前記選択工程は、レコードに含まれる各コンテンツデータに対応する項目識別情報に基づいて、前記各コンテンツデータが流し込まれるデータフィールドを選択することを特徴とする請求項１３に記載の情報処理プログラム。
【請求項１５】
前記フォームデータに対して、前記データフィールドを配置するための領域と、当該領域に対して前記選択工程によって選択されたデータフィールドの配置位置を決定するための配置属性とを設定する第２設定工程を更に有し、
前記配置工程は、前記第２設定工程によって設定された領域内に前記選択されたデータフィールドを配置すべく、前記設定された配置属性に従って当該データフィールドを配置することを特徴とする請求項１３または１４に記載の情報処理プログラム。
【請求項１６】
前記第１設定工程は、前記データフィールドに前記コンテンツデータを流し込んで前記出力結果を出力する際に、どのように出力するかを示す出力属性を設定し、
前記出力工程は、前記選択されたデータフィールドにコンテンツデータを流し込み、かつ、前記出力属性に従って前記フォームデータを出力することを特徴とする請求項１３乃至１５のいずれか１項に記載の情報処理プログラム。
【請求項１７】
前記選択工程によって選択されたデータフィールドを、前記第２設定工程によって設定された領域に配置可能か否かを判定する判定工程を更に有し、
前記判定工程により、前記選択されたデータフィールドを配置できないと判定された場合、前記配置工程は、前記データフィールドのサイズを変更して配置することを特徴とする請求項１５または１６に記載の情報処理プログラム。
【請求項１８】
前記コンテンツデータにおける特定のデータ項目のデータ値が変化した場合、前記コンテンツデータの指定されたデータ項目において当該変化が発生するまでのデータ値を集計する集計工程と、
前記集計工程による集計処理を実行するための条件を設定する集計条件設定工程とを更に有し、
前記集計工程は、前記コンテンツデータに含まれる項目識別情報の組み合わせが前記集計条件設定工程によって設定された条件に合致する場合、前記集計処理を実行することを特徴とする請求項１３乃至１７のいずれか１項に記載の情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フォームデータの作成における装置、媒体、方法に関するものである。
【背景技術】
【０００２】
フォームデータと、これらのフォームデータに対して入力されるコンテンツデータとを合成して出力するオーバレイ印刷が実行されている。まず、オーバレイ印刷について、図３を用いて説明する。図３では、フォームデータ３０１と後付データ３０３とをオーバレイ印刷する処理を想定している。フォームデータ３０１には、コンテンツデータを入力するための枠（本願ではフィールドとして記載する）３０２が設定されており、当該フィールドとコンテンツデータは関連付けられている。その結果、ユーザがフォームデータ３０１と後付データ３０３とを選択して、オーバレイ印刷を指示すると、フォームデータのフィールド３０２に対して、後付データ３０３のコンテンツデータが入力された出力結果３０４を得ることが可能となる。
【０００３】
そして、オーバレイ印刷およびバリアブルプリントにおいては、複数のデータベースから様々なデータ形式の後付データを取得し、これらの後付データとフォームデータとを合成して出力することが行われている。
【０００４】
しかしながら、図３を用いて説明したオーバレイ技術の場合、１つのフォームデータに対応できる後付データの形式は１種類であった。つまり、オーバレイ印刷およびバリアブルプリントのように様々な形式の後付データを扱う場合、後付データの種類と同じ数のフォームデータを用意し、現在対象としている後付データに適合するフォームデータをその都度選択する必要がある。例えば、図４に示すように入力される後付データとして、データ５０１からデータ５０３の３種類が予想される場合、フォームデータ５０４から５０６を作成し、オーバレイ印刷の度に後付データに適合するフォームデータを選択しなければならなかった。
【０００５】
そこで、上述したような課題を解決する方法として、複数種類のテンプレートを作成し、レイアウト対象のデータに基づいて、アプリケーションが適切なテンプレートを自動的に選択して、レイアウト処理を実行する技術が特許文献１に開示されている。
【特許文献１】特開２００６−４８５３３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述した特許文献１に記載の技術を用いてオーバレイ印刷に用いるフォームデータを選択する場合、流し込まれるコンテンツデータを想定して、それらのコンテンツデータに適合するフォームデータを予め用意しなければならなかった。例えば対象となるデータのデータ項目として「品名」、「個数」、「金額」の３種類を想定する。この場合、入力されるデータ形式は、各単体のデータ項目によって構成されるデータ、「品名」と「個数」の組み合わせ、または、「品名」と「金額」の組み合わせによって構成されるデータなど７種類の組み合わせが考えられる。よって、３種類のデータを組み合わせて出力結果を得るために、フォームデータの作成者は７種類のフォームデータを用意しなければならない。さらに想定されるデータの種類が３種類から４種類に増加すると、組み合わせの種類は１４種類となる。つまり、データの種類が増えた場合、データの種類の増加分以上のテンプレートを作成しなければならない。特にオーバレイ印刷やバリアブルプリントにおいては膨大な種類の後付データを扱うため、フォーム作成者が作成すべきフォームデータ数も膨大となり、作成作業の負担が大きくなることが容易に想像される。
【０００７】
本願は、上記課題に鑑みてなされたものであり、オーバレイ印刷に用いる後付データに従って、適切なデータフィールドを選択することでユーザが所望とする結果を出力すると共に、フォーム作成者の負担を軽減させることを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決するために本発明は、コンテンツデータを入力するためのデータフィールドをフォームデータに定義して、当該フォームデータにコンテンツデータを流し込んで出力結果を生成する情報処理装置において、前記フォームデータ中に配置すべきデータフィールドを決定するための使用条件を、複数のデータフィールドのそれぞれに対して設定する第１設定手段と、前記フォームデータに流し込むべく入力されるコンテンツデータの項目識別情報と、前記第１設定手段によって設定された各データフィールドの使用条件とに従って、前記フォームデータに配置すべきデータフィールドを選択する選択手段と、
前記選択手段によって選択されたデータフィールドを前記フォームデータに配置する配置手段と、前記配置手段によって前記フォームデータに配置されたデータフィールドに対して前記コンテンツデータを流し込むことにより出力結果を出力する出力手段を有することを特徴とする。
【発明の効果】
【０００９】
以上、本発明を用いることによって入力される後付データに従って、適合するフォームデータを動的に作成するため、ユーザの所望とする結果を出力すると共に、フォームデータ作成者の負担を軽減させることが可能となる。
【発明を実施するための最良の形態】
【００１０】
＜システム構成図＞
（実施例１）
図１は帳票等のデータを印刷するシステム１００を図示している。この中で示された方法は図２で詳しく説明されるホストコンピュータ１０１によって実行される。特にレイアウト編集、設定ファイル編集や印刷ステップはホストコンピュータ１０１によって実行される。
【００１１】
ソフトウェアは例えば以下に記述されるような記憶装置を含むコンピュータの可読媒体に格納される。ソフトウェアはコンピュータの可読媒体からロードされ、ホストコンピュータ１０１によって実行される。
【００１２】
フォーム作成アプリケーション１２１は、２つのソフトウェアコンポーネントを含んでいる。１つ目のコンポーネントはライブラリ１０５であり、オーバレイ印刷等の処理を行うソフトウェアコンポーネントである。２つ目のコンポーネントはユーザインターフェース１０３であり、ユーザにフォームや設定ファイルを作成させる機能を提供する。ユーザインターフェース１０３とライブラリ１０５はコミュニケーションチャネル１２３を介して通信する。ドキュメント生成のためのデータソースは一般的にデータベースアプリケーションを動かしている他のコンピュータによって構成されたデータベースサーバ１１７のデータベース１１９に保持されている。ホストコンピュータ１０１はネットワーク１０７を介してデータベースサーバ１１７と通信する。
【００１３】
フォーム作成アプリケーション１２１は、ホストコンピュータ１０１、または、他のコンピュータで構成されるファイルサーバ１１５に保存されるフォームデータまたは設定ファイルを生成する。これらのデータはホストコンピュータ１０１のローカルファイルシステムに保存されるか、ファイルサーバー１１５に保存されるか、あるいはプリンタ１１３によって印刷される。プリントサーバ１０９は直接ネットワークにつながっていないプリンタにネットワーク機能を提供する。プリントサーバー１０９とプリンタ１１３は通信チャネル１１１を介して接続される。
【００１４】
また、エンジンサーバ２２７には、ライブラリ１０５の分離バージョンのライブラリ２２５が含まれている。ファイルサーバ１１５に保存されたフォームは、印刷や他の目的において、ライブラリ２２５によってデータベース１１９に保存されたデータとオーバレイ印刷される。そのような処理はユーザインターフェース１０３を介して要求されるか、インターフェース２２８からユーザがライブラリ２２５に対して指示することにより可能となる。
【００１５】
図２にホストコンピュータ１０１のハードウェア構成を記載する。ホストコンピュータ１０１にはキーボード１３２、マウス１３３のようなポインティングデバイスなどの入力装置、および、ディスプレイ１４４、プリンタ１４５を含む出力装置が接続される。入力／出力（Ｉ／Ｏ）インターフェース１３８はホストコンピュータ１０１をネットワーク１０７を介して他の機器に接続する。そのネットワーク１０７の典型はローカルエリアネットワーク（ＬＡＮ）、あるいはワイドエリアネットワーク（ＷＡＮ）である。ホストコンピュータ１０１は少なくとも１つのプロセッサ１３５、例えばランダムアクセスメモリ（ＲＡＭ）やリードオンリーメモリ（ＲＯＭ）から構成されるメモリ１３６を有している。さらに、ホストコンピュータ１０１は、ビデオインタフェース１３７、キーボード１３２やマウス１３３のためのＩ／Ｏインターフェース１４３を含んでいる。記憶装置１３９はハードディスクドライブ１４０やフロッピー（登録商標）ディスクドライブ１４１を含んでいる。図２には示されていないが磁気テープドライブもまた使用される可能性がある。ＣＤ−ＲＯＭドライブ１４２は不揮発性のデータソースとして提供される。ホストコンピュータ１０１はＧＮＵ／ＬＩＮＵＸやマイクロソフトウィンドウズ（登録商標）のようなオペレーションシステム（ＯＳ）を備えている。フォーム作成アプリケーション１２１は、例えばハードディスクドライブ１４０に常駐し、プロセッサ１３５により実行、読み込み、コントロールされる。また、フォーム作成アプリケーション１２１がＣＤ−ＲＯＭやフロッピー（登録商標）ディスク上でエンコードされ、ユーザに提供される。あるいは、フォーム作成アプリケーション１２１はネットワーク１０７から読み込まれる等その他の方法でホストコンピュータ１０１に導入されても良い。
【００１６】
続いて、図５を用いて本願の更なる課題を説明する。例えば、上述した本願が想定する課題を解決するための方法として、表の形式だけを作成しておく技術が挙げられる。図５では、フォームデータ６０４には、表の形だけが設定されておりその他の情報は一切設定されていない。よって、後付データにおけるコンテンツデータは、単純に表の左側の列から入力されるのみである。例えば、後付けデータ６０１から６０３の「金額」のような数値のコンテンツデータは、フォームデータとオーバレイ処理を行って請求書を作成する場合、「￥」マークを数値に付加して出力したい場面が考えられる。この場合、フィールドに対して「データの先頭に￥を付ける」というフィールド属性を設定することで、解決できる。しかし図５のようなフォームデータを用いる場合、どの列にどのようなデータが入力されても対応できるようにしたため、上述のようなフィールド属性を設定できない。そのため、フォームデータを後付けデータ数の種類分用意する必要はなくなるが、ユーザが所望とする出力結果を得られなくなるおそれもある。また、上述した特許文献１には、使用条件の設定しないテンプレートを用意することでテンプレートの使用条件に一致しないコンテンツデータが流し込まれた場合に対応することが記載されている。このようなテンプレートを作成することで上述したように膨大な数のフォームデータを用意する必要はなくなるが、使用条件の設定されていないテンプレートがユーザの意図に合わない場合、ユーザが所望とする出力結果を得られなくなってしまう。本願は、この点における課題も解決することで、ユーザが所望とする出力結果を得ることを目的としている。
【００１７】
図６は実施例１の処理を説明するための図である。上述した課題を解決するため、実施例１では、フォーム作成アプリケーション１２１が、フォームデータに対して表の表示領域８０１と、フィールド情報８０２を設定する。そして、フォーム作成アプリケーション１２１は、後付データに含まれるコンテンツデータを流し込む際、レコードに含まれる各コンテンツデータに対応する項目識別情報（項目名）に基づいて、各コンテンツデータが流し込まれるデータフィールドを選択する。そして、選択されたデータフィールドが、フォームデータに配置されることで８０６から８０８の出力結果が生成される。
【００１８】
つまり、図６の例では、フォーム作成アプリケーション１２１が、ユーザにより指定された領域に基づいて表を表示するための表示領域８０１を設定する。さらに、ユーザからの指示に従ってフィールド情報８０２を作成する。図６では、フィールド情報として、「品名」、「個数」、「金額」、「金額（税込み）」、「デフォルト」が設定されている。そして、各フィールド情報には、フィールド属性が設定される。図６の主なフィールド属性は、「個数」のフィールド情報に設定されている「セル色：灰色」が挙げられる。このため、フォーム作成アプリケーション１２１は、後付けデータに「個数」というフィールド名が含まれていた場合、出力結果８０６のように個数に関連するセルを灰色に染めた出力結果を作成することが可能となる。また、「金額」のフィールド情報には、フィールド属性として「ピクチャ設定：￥９９９９９」が設定されている。そのため、後付けデータに「金額」というフィールド名が含まれていた場合、金額に関係するコンテンツデータには「￥」マークをつけた出力結果を作成することが可能となる。つまり、フォーム作成アプリケーション１２１は、図７から図９の画面を介して入力される情報に従って、データフィールドを配置するための表示領域と、表示領域に対してデータフィールドの配置位置を決定するための配置属性とを設定する。なお、フォーム作成アプリケーション１２１は、設定された領域内に選択されたデータフィールドを配置すべく、図９を介して設定された情報に基づく配置属性に従ってデータフィールドを配置する。本願では、フォームデータに対して、表示領域８０１とフィールド情報８０２を設定することにより、入力される後付けデータに従って動的に異なる出力結果を作成することが可能となる。例えば、図６では後付けデータとして８０３から８０５が記載されているが、データの種類毎にフォームデータを作成しなくても、容易にデータごとに異なる出力結果を作成することが可能となる。
【００１９】
続いて、フォームデータに対する設定処理について図７から図９を用いて説明する。フォーム作成アプリケーション１２１は、ユーザからの指示に従って表を表示するための表示領域を設定することにより、図７の９０１のように表示領域が描画される。この表示領域の設定処理が完結すると、フォーム作成アプリケーション１２１は、ユーザからの指示に従って図９の表示領域属性を設定するための設定画面を表示する。図９の設定画面では、表示領域の外枠の枠線の太さ、色、フィールドの配置方法、行の高さ等を設定できる。配置方法は、フォームデータに使用すべきと判定されたデータフィールドを表示領域内にどのように配置するかを設定するための項目であり、行の高さの設定は、配置されたフィールドの高さを設定するための項目である。
【００２０】
続いて、フォーム作成アプリケーション１２１は、ユーザからの指示に従って図８のフィールド属性ダイアログを表示する。フィールド属性ダイアログでは、フィールド名とフィールド属性を設定可能である。なお、フィールド属性とは、データフィールドにコンテンツデータを流し込んで出力結果を出力する際に、どのように出力するかを示す情報である。よって、フォーム作成アプリケーション１２１は、フィールド情報に設定されている内容に従ってフォームデータを作成する。また、図８を介して設定されたフィールド名は、フォームデータ中に配置すべきデータフィールドを決定するための使用条件となる。フォーム作成アプリケーション１２１は、図８の設定画面を介して設定された情報に従って複数のデータフィールドのそれぞれに対してフィールド名（使用条件）を設定する。これら図８および図９を介して設定された内容が、図７の９０２のように表示される。なお、メモリ１３６には、図８および図９を介して設定された内容が保持されている。図７の９０２では、フィールド情報として“品名”、“個数”、“金額”、“金額（税込み）”“デフォルト”が設定されていることを表している。なお、“デフォルト”は、いずれのフィールド情報にも該当しないフィールド名に関するデータを配置するためのフィールド情報である。図７の例では、フィールド名として、“品名”、“個数”、“金額”、“金額（税込み）”とは異なるフィールド名が入力された場合、当該フィールド名のデータは、デフォルトフィールドに流し込まれる。
【００２１】
以上のように、ユーザはフォームデータに対する設定処理として、表示領域とフィールド情報を設定する。実際にどのフィールドが表内に配置されるかは、オーバレイ印刷時に使用する後付けデータの内容に依存する。
【００２２】
図１０は、図７から図９によってフィールド情報が設定された状態において、後付けデータをオーバレイする際の処理を説明するためのフローチャートである。本願のフローチャートにおける各ステップの処理は、情報処理装置のプロセッサ１３５によって実行される。なお、本願の情報処理装置は、コンテンツデータを入力するためのデータフィールドをフォームデータに定義して、当該フォームデータにコンテンツデータを流し込んで出力結果を生成できる。
【００２３】
フォーム作成アプリケーション１２１は、ユーザにより選択された後付けデータとフォームデータとを関連付ける（Ｓ１００１）。具体的には、例えば、図７のような画面を開いている段階で、後付けデータを選択することにより、Ｓ１００１の処理が実行される。
【００２４】
続いて、フォーム作成アプリケーション１２１は、ユーザにより選択された後付けデータを解析して、フィールド名を取得する（Ｓ１００２）。なお、後付けデータには、フィールド名とデータフィールドに流し込まれるコンテンツデータが識別可能となるように構成されている。図１１に後付けデータの一例を示す。後付けデータには、「フィールド名」として「品名」、「個数」、「金額」が指定されている。そして、「品名」に入るデータ値として「ＡＡ」、「ＢＢ」、「ＣＣ」、「個数」に入るデータ値として「１」、「２」、「３」、「金額」に入るデータ値として「１００」、「２００」、「３００」と定義されている。つまり、後付けデータでは、データごとにデータ属性が定義されているため、フォーム作成アプリケーション１２１は、フィールド名を取得することが可能となる。また、図１１に示すように横方向に並ぶ複数のコンテンツデータによって構成されるデータ群をレコードという。図１１の例では、「“ＡＡ”“１”“１００”」の複数のコンテンツデータによって構成されるデータ群が１レコードである。そして、「ＡＡ」、「１」、「１００」、「ＢＢ」等がコンテンツデータに該当する。
【００２５】
フォーム作成アプリケーション１２１は、Ｓ１００２によって取得されたフィールド名に対応するフィールド情報が、Ｓ１００１によって関連付けたフォームデータに設定されているか否かを判定する（Ｓ１００３）。図８によって上述したように、設定されたフォーム情報およびフォーム属性は、メモリ１３６に保存されている。よって、フォーム作成アプリケーション１２１が、メモリ１３６のフォーム情報を参照して、Ｓ１００２において取得したフィールド名と比較することによりＳ１００２の処理が可能となる。
【００２６】
Ｓ１００３によって、現在対象としているフィールド名に対応するフィールド情報が設定されていないと判定された場合（Ｓ１００３−Ｎｏ）、フォーム作成アプリケーション１２１は、現在対象としているフィールド名についてデフォルトフィールドを選択する。そして、フォーム作成アプリケーション１２１は、デフォルトのフィールド属性に従って図７の表示領域にデータフィールドを配置する（Ｓ１００５）。
【００２７】
一方、Ｓ１００３によって、現在対象としているフィールド名に対応するフィールド情報が設定されていると判定された場合、フォーム作成アプリケーション１２１は、現在対象としているフィールド名に対応するフィールド情報を選択する。そして、フォーム作成アプリケーション１２１は、フィールド属性に従って図７の表示領域にデータフィールドを配置する（Ｓ１００４）。つまり、Ｓ１００３からＳ１００５の処理により、フォーム作成アプリケーション１２１は、フォームデータに流し込むべく入力されるコンテンツデータのデータ項目名を認識する。そして、フォーム作成アプリケーション１２１は、図８を介して設定された各データフィールドのフィールド名（使用条件）に従って、フォームデータに配置すべきデータフィールドを選択する。Ｓ１００４とＳ１００５の配置処理について説明する。フィールドが選択されると、当該フィールドと同じ属性を有するフィールドが生成される。ここで生成されるフィールドは、コンテンツデータを流し込むためのデータフィールドである。もし、図９における「可変フィールド」の設定がＯＮとなっている場合、フォーム作成アプリケーション１２１は、流し込まれる後付けデータ数に基づく分のデータフィールドを生成する。例えば、図６の後付データ８０３には、「品名」について３つのコンテンツデータが流し込まれる。よって、フォーム作成アプリケーションは、品名の項目名用のデータフィールドを配置すると共に、コンテンツデータ用に３つのデータフィールドを生成する。
【００２８】
そして、フォーム作成アプリケーション１２１は、Ｓ１００４またはＳ１００５の処理を実行することにより、選択されたデータフィールドをフォームデータに配置する。
【００２９】
続いて、フォーム作成アプリケーション１２１は、後付けデータにおいて指定されている全てのフィールド名についてＳ１００３からＳ１００５の処理を実行したかを判定する（Ｓ１００６）。Ｓ１００６において、全てのフィールド名についてＳ１００３からＳ１００５の処理が行われていなければ、再度、Ｓ１００３へと戻る。一方、Ｓ１００６において、全てのフィールド名についてＳ１００３からＳ１００５の処理が行われていれば、Ｓ１００６までの処理によりデータフィールドが配置されている。よって、フォーム作成アプリケーション１２１は、後付データの各データ項目のコンテンツデータを対応するデータフィールドに流し込んで、出力する（Ｓ１００７）。なお、Ｓ１００７においてコンテンツデータを配置する場合、フォーム作成アプリケーションは、Ｓ１００４またはＳ１００５の配置に応じて生成されたコンテンツデータ用のデータフィールドに対して、コンテンツデータを流し込む。そして、フォーム作成アプリケーション１２１は、出力属性に従ってフォームデータを出力する。
【００３０】
図１２に図１０の処理を実行した際の具体例を示す。
【００３１】
図１２では、後付けデータとしてデータ１４０１からデータ１４０３が選択されている。また、フォームデータのフィールド情報およびフィールド属性として、図６に上述した内容が設定されている。
【００３２】
ここで、後付けデータ１４０１とフォームデータ１４０４とを関連付けると、フォーム作成アプリケーション１２１は、後付けデータ１４０１のフォーム名を取得する。フォーム作成アプリケーション１２１は、後付けデータ１４０１から、フォーム名として「品名」、「個数」、「金額」を取得する。そして、１つ目のフィールド名「品名」が、フォームデータのフィールド情報として設定されているか判定する（Ｓ１００３）。フォームデータ１４０４には、フィールド情報として「品名」が設定されているので、フォーム作成アプリケーション１２１は、フィールド名「品名」に設定されているフィールド属性に従って「品名」用データフィールドをフォームデータに配置する。この際、「品名」用のデータフィールドの配置に従って、「品名」のコンテンツデータ用のデータフィールドも合わせて生成される。図１０にて上述した通り、コンテンツデータ用のデータフィールド属性も項目名用のデータフィールド属性と同じである。続いてフォーム作成アプリケーション１２１は、残りのフィールド名についても同様の処理を行ってデータフィールドをフォームデータに配置する。データ１４０１には、残りのフィールド名として「個数」と「金額」が含まれている。よって、フォーム作成アプリケーション１２１は、フィールド名「個数」と「金額」のデータフィールドとそれぞれのコンテンツデータ用のデータフィールドをフォームデータに配置する。以上の処理により、データ１４０１の全フィールド名のデータフィールドがフォームデータに配置されたので、フォーム作成アプリケーション１２１は、配置されたデータフィールドに後付けデータ１４０１のコンテンツデータを流し込んで出力結果を出力する。図１２の後付けデータ１４０１については、上述したフィールド属性に従って「個数」に関連するセルは灰色で塗られており、「金額」に関連するデータには、「￥」マークが付加されて出力される。その結果、１４０５のような請求書が作成される。
【００３３】
続いて、後付データとしてデータ１４０２を選択し、フォームデータ１４０４と関連付けると、同様に図１０の処理が実行されて、請求書１４０６が作成される。また、後付けデータ１４０３とフォームデータ１４０４とを関連付けると請求書１４０７が作成される。
【００３４】
なお、フィールド属性の設定は図８の設定画面を用いて行っていたが、属性の中には、例えば「幅」など、ダイアログ上で数値だけでは設定しづらい属性もある。
【００３５】
そのため、表の見栄えを確認したり、その見栄えを確認しながら属性を設定する方法について説明する。図２１は視覚的に属性を設定する方法を説明する図である。まずユーザは、フィールド一覧からフィールドを選択する。図の例では“品名”、“個数”、“金額”の３つのフィールドが選ばれている。任意のフィールドを選択した状態でＯＫボタン１６０２を押すと、フィールド属性に従って、フィールドが表の枠内に配置される。これにより表の実際の見栄えを確認することができる。さらにこの表を直接マウスでクリック等をすることでフィールドの幅、色等のフィールド属性を変更できる。ＯＫボタン１６０４を押すと、設定したフィールド属性が、フィールド一覧上のフィールドに反映される。
【００３６】
従来は、入力される後付けデータごとにフォームデータを作成しなければならず、フォームデータの作成処理に大きな負荷がかかっていた。しかし、本願発明を用いることにより、複数種類のフォームデータを用意しなくても、入力されるデータに従って動的に異なる出力結果を得ることが可能となる。また、図７のような従来技術では、どのようなデータが入ってきても良いように対応することはできる。しかし、フィールド属性を設定することもできなくなるため、単一的な出力結果しか得ることができずユーザが意図する出力結果を得ることができなくなるおそれがあった。しかし本願発明を用いることにより、ユーザが所望とするフィールド属性も反映した出力結果を得ることも可能となる。
【００３７】
（実施例２）
実施例１の処理を実行する場合、関連付けられる後付けデータに従ってユーザが所望とする出力結果を容易に得ることが可能となる。しかし、後付けデータとフォームデータを関連付けることによって、動的に表を作成するため、例えば後付けデータに含まれるフィールド名が多数あることにより、表示領域枠に収まらなくなる場面が想定される。本第２実施例では、フィールド名が多く、表の表示領域に収まらないと判定された場合の処理について説明する。なお、実施例２では、実施例１と異なる点について説明する。
【００３８】
図１３はフィールドの優先順位を設定するダイアログの一例である。ここで、フィールドの優先順位と、最小幅サイズの設定を行う。ダイアログ１５０１の例では、フィールド名のリストの中で、上にあるものが表の枠を超えた場合に優先的に小さくなる。つまり、配置されたデータフィールドが表示枠を越えると判定された場合に、どのフィールドから優先的にサイズを縮小するかを図１３の設定画面を用いて設定することが可能となる。
【００３９】
続いて実施例２の処理について図１４のフローチャートを用いて説明する。なお、図１４の処理は、上述した図１０のフローチャートのＳ１００６において、全てのフィールド名についてのデータフィールドが配置されたと判定された場合（Ｓ１００６−Ｙｅｓ）に実行される。
【００４０】
フォーム作成アプリケーション１２１は、各フィールド名のデータフィールドを配置し（Ｓ１６０１）、配置されたデータフィールドが表示領域に収まるか否かを判定する（Ｓ１６０２）。図８にて上述したようにフィールド属性の設定画面を介してフィールドサイズを設定することができる。よって、フォーム作成アプリケーション１２１は、各フィールド名のデータフィールドが備えるフィールドサイズの合計サイズと表示領域のサイズとを比較することにより、Ｓ１６０２の処理を実行することが可能となる。
【００４１】
Ｓ１６０２において、配置されたデータフィールドが表示領域に収まると判定された場合、フォーム作成アプリケーション１２１は、後付けデータとフォームとをオーバレイして出力する（Ｓ１６０６）。なお、Ｓ１６０６に記載した出力とは、例えば表示部において表示すること、または印刷装置において印刷処理を実行すべく印刷データを送信することを指す。
【００４２】
一方、配置されたデータフィールドが表示領域に収まらないと判定された場合、フォーム作成アプリケーション１２１は、フィールドサイズを変更可能なフィールド情報があるか否かを判定する（Ｓ１６０３）。図１３に上述したように、どのフィールド名のデータフィールドサイズを変更するかを設定することができる。そして、各データフィールドには、最小幅サイズも設定されている。つまり、フォーム作成アプリケーション１２１は、優先順位に従ってフィールドサイズを変更していき、最小幅サイズより大きいフィールドサイズを有するデータフィールドの有無を判定することにより、Ｓ１６０３の処理を実行できる。
【００４３】
Ｓ１６０３の判定処理の結果、フィールドサイズを変更可能なデータフィールドがないと判定された場合（Ｓ１６０３−Ｎｏ）、フォーム作成アプリケーション１２１は、エラーとして本処理を終了する（Ｓ１６０５）。
【００４４】
一方、Ｓ１６０３において、フィールドサイズを変更可能なデータフィールドがあると判定された場合（Ｓ１６０３−Ｙｅｓ）、フォーム作成アプリケーション１２１は、優先順位に従って配置されたデータフィールドのフィールド幅を変更する（Ｓ１６０４）。つまり、フォーム作成アプリケーション１２１は、図１３の設定画面を介して選択された優先順位に従って、優先順位の高いフィールド名のデータフィールドのフィールドサイズを変更する。例えば、図１３では、フィールド名「デフォルト」の優先順位が一番高いので、フォーム作成アプリケーション１２１は、フィールド名「デフォルト」のデータフィールドのフィールドサイズを最小幅サイズに変更する。そして、変更されたサイズを反映した結果が表示領域に収まるかを再度判定する。そして、収まらないと判定された場合、フォーム作成アプリケーション１２１は、優先順位に従って次のフィールド名のデータフィールドのフィールドサイズを変更する。
【００４５】
図１４の処理を図１５、図１６を用いて具体的に説明する。図１５の例では、出力結果が表示領域１７０１を越えている。ここで、図１４の処理を実行する。なお、フィールドサイズの変更順序を示す優先順位は、“個数”、“品名”、“金額”の順に変更することが設定されているとする。よって、フォーム作成アプリケーション１２１は、“個数”のデータフィールドのフィールドサイズを図１３の設定画面を介して設定された最小幅サイズに変更する。その結果、データフィールドの出力結果が表示領域１７０１に収まったことが図１６に示されている。このように、ユーザが設定した優先順位に従ってフィールドサイズを変更することにより、後付けデータに含まれるフィールド名が多数あり、表示領域枠に収まらない場合に対応することが可能となる。なお、図１４では、設定されている優先順位に従ってフィールドサイズを変更したが、例えば、実際に各フィールドに入力されるデータ数に従って変更すべきデータフィールドを決定しても良い。例えば、図１５の場合、“個数”のフィールドに入るデータが１番小さい。そのため“個数”のフィールドからフィールドサイズが変更される。
【００４６】
フィールドの優先順位か、それともデータの大きさによってフィールドが小さくなるかは、設定画面を介してユーザが選択できる。
【００４７】
（実施例３）
帳票印刷において、特定のフィールド名のデータ値を計算することが可能である。その例について、図１７に示す。図１７では、フォームデータに対して、フィールド名「品名」のデータが変化した時に合計フィールドを挿入して、当該変化が起こるまでの金額フィールドのデータを合計することが設定されている。その結果、図１７に示すようにフィールド名「品名」のデータが「ＡＡ」から「ＢＢ」に変化した場合、合計フィールドが挿入され、変化が発生するまでの「金額」フィールドの合計値が計算される。このように特定のデータ項目のコンテンツデータ値が変化した場合、指定されたデータ項目において当該変化が発生するまでのコンテンツデータ値の集計処理の実行について説明する。なお、ある項目において、データが変化することをブレイクといい、ブレイクが発生したか否かを特定のフィールド名についてのみ判定する場合、当該特定のフィールド名をブレイクキーという。実施例３では、実施例１および実施例２と異なる点について説明する。
【００４８】
図１８は、フィールド属性として設定される内容を示している。図１８は、ユーザが設定したフィールド名の組み合わせを有する後付けデータがフォームデータに関連付けられた場合に、図１７のような表を作成するための設定画面である。ユーザは、項目２００２に対してフィールド名の組み合わせを入力し、項目２００３に対して計算方法を入力する。さらに、項目２００４には、ブレイクキーを入力することが可能となる。また、ボタン２００５を指示することにより、集計結果の出力位置やサイズを設定することが可能となる。このように図１８の設定画面を介して入力された値に従って、フォーム作成アプリケーション１２１は、集計処理を実行するための条件を設定する。
【００４９】
図１９を用いて実施例３の処理を説明する。
【００５０】
まず、フォーム作成アプリケーション１２１は、関連付けられた後付けデータのフィールド名の組み合わせと、図１８の設定画面を介して設定されたフィールド名の組み合わせが一致するか否かを判定する（Ｓ２１０１）。
【００５１】
Ｓ２１０１により両者の組み合わせが一致しないと判定された場合（Ｓ２１０１−Ｎｏ）、上述の図１０の処理に従ってオーバレイ結果を出力する（Ｓ２１０４）。
【００５２】
一方、Ｓ２１０１によって両者の組み合わせが一致すると判定された場合（Ｓ２１０１−Ｙｅｓ）、フォーム作成アプリケーション１２１は、図１８の設定画面を介して設定された内容に従ってデータを集計する（Ｓ２１０２）。図１８の設定画面を用いて設定された集計対象項目、集計方法、ブレイクキー等がメモリ１３６に保持されている。フォーム作成アプリケーション１２１は、これらの内容に従って集計対象項目のデータを設定された集計方法に従って集計する。
【００５３】
フォーム作成アプリケーション１２１は、Ｓ２１０２による集計結果を設定された内容に従って、生成された表に適用する（Ｓ２１０３）。
【００５４】
フォーム作成アプリケーション１２１は、オーバレイ結果を出力する際に、Ｓ２１０２の処理によって集計した集計結果を挿入して出力する（Ｓ２１０４）。
【００５５】
図２０を用いて図１９の処理を具体的に説明する。なお、フォームデータ２２０３には、図１８の設定画面に入力されている内容が設定されているものとする。ここで、後付データ２２０１とフォームデータ２２０３が関連付けられた場合、フォーム作成アプリケーション１２１は、後付データのフィールド名の組み合わせとフォームデータに設定されている後付データの組み合わせが一致しているかを判断する。今回は、フィールド名の組み合わせが「品名」、「個数」、「金額」で一致しているため、フォーム作成アプリケーション１２１は、図１８の設定画面に入力された値に従って集計処理を行う。図１８の設定画面では、「金額」のデータに対する合計値が求められているので、フォーム作成アプリケーション１２１は、「金額」項目のデータを合計する。この際、図１８の設定画面ではブレイクキーとして「品名」が設定されているので、フォーム作成アプリケーション１２１は、「品名」のデータが変化する度に（ブレイクが発生する度に）、集計処理を実行する。その結果が、２２０４、２２０５である。一方、後付けデータ２２０２とフォームデータ２２０３を関連付けた場合、後付データ２２０２のフィールド名の組み合わせとフォームデータに設定されているフィールド名の組み合わせが一致していない。そのため、フォーム作成アプリケーション１２１は、上述した実施例１、２に従って処理を行う。そのため、後付データ２２０２の出力結果である２２０６には、集計処理が行われていない。
【００５６】
第３実施例のような処理を用いることにより本願のように汎用的なオーバレイ印刷と共に特定の組み合わせのフィールド名を有する後付データについては特徴的なオーバレイ印刷を実行することが可能となる。
【００５７】
尚、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム（実施形態では図に示すフローチャートに対応したプログラム）を、システムあるいは装置に直接あるいは遠隔から供給する。そして、そのシステムあるいは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
【００５８】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【００５９】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であっても良い。
【００６０】
プログラムを供給するための記録媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスクがある。また、更に、記録媒体としては、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などがある。
【００６１】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、その接続先のホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【００６２】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【００６３】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。また、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
【００６４】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【００６５】
【図１】本願の処理を実行するためのシステムである。
【図２】情報処理装置のハードウェア構成図である。
【図３】オーバレイ出力の一例を説明する図である。
【図４】表形式のフォームを用いてオーバレイ出力する一例を示す図である。
【図５】本願において解決すべき課題の一例を示す図である。
【図６】本願発明を説明するための図である。
【図７】本願発明によるフォーム設計処理を説明する図である。
【図８】フィールド属性を設定する設定画面を説明する図である。
【図９】表の表示領域属性を設定するための設定画面を説明する図である。
【図１０】本願発明の実施例１における処理を説明するためのフローチャートである。
【図１１】本願発明の後付けデータを説明するための図である。
【図１２】図１０のフローチャートにおける処理を説明するための図である。
【図１３】フィールドの優先順位を設定する設定画面を説明するための図である。
【図１４】本願発明の実施例２における処理を説明するためのフローチャートである。
【図１５】データフィールドと表示領域の関係を示す図である。
【図１６】データフィールドと表示領域の関係を示す図である。
【図１７】特定のフィールド名のデータ値の集計結果を示す図である。
【図１８】本願発明の実施例３における処理内容を設定するための設定画面を示す図である。
【図１９】本願発明の実施例３における処理を説明するためのフローチャートである。
【図２０】図２０のフローチャートにおける処理を説明するための図である。
【図２１】視覚的に属性を設定する方法を説明するための図である。
【符号の説明】
【００６６】
１０１  ホストコンピュータ
１０３  ユーザインタフェース
１０５  ライブラリ
１２１  フォーム作成アプリケーション
【図１】
2008003901.tif 000003
【図２】
2008003901.tif 000004
【図３】
2008003901.tif 000005
【図４】
2008003901.tif 000006
【図５】
2008003901.tif 000007
【図６】
2008003901.tif 000008
【図７】
2008003901.tif 000009
【図８】
2008003901.tif 000010
【図９】
2008003901.tif 000011
【図１０】
2008003901.tif 000012
【図１１】
2008003901.tif 000013
【図１２】
2008003901.tif 000014
【図１３】
2008003901.tif 000015
【図１４】
2008003901.tif 000016
【図１５】
2008003901.tif 000017
【図１６】
2008003901.tif 000018
【図１７】
2008003901.tif 000019
【図１８】
2008003901.tif 000020
【図１９】
2008003901.tif 000021
【図２０】
2008003901.tif 000022
【図２１】
2008003901.tif 000023