(57)【要約】【課題】  使用されるフォーム全体が変更されてしまうものであり、フォームデータの一部のみを印刷データに応じて自動的に切り換えることができなかった。【解決手段】  部分フォームを使用するための条件を設定し、流し込まれたコンテンツデータに基づいて、一致する部分フォームを使用する。【選択図】  図１
2007199758.tif 000002
【特許請求の範囲】
【請求項１】
複数のフォームを重ね合わせて１つの印刷ページを作成する部品フォーム印刷システムにおいて、
前記部品フォームにあらかじめ条件をユーザが設定する条件設定ステップと、
前記条件設定のある部品フォームを用いてオーバレイ印刷する際に、後付けデータの内容が、部品フォームに設定されている条件を満たしているかどうかを判定する条件判定ステップと、
前記条件が満たされた部品フォームのみを重ね合わせて印刷するステップと、
を有することを特徴とする部品フォーム印刷システム。
【請求項２】
前記部品フォーム印刷システムにおいて、部品フォームにあらかじめ条件を設定はせずに、後付けデータ側で条件を指定することで、追加する部品フォームを変更することができる請求項１に記載の部品フォーム印刷システム。
【請求項３】
前記部品フォーム印刷システムにおいて、部品フォームにあらかじめ条件を設定はせずに、関数によって条件を指定することで、追加する部品フォームを変更することができる請求項１乃至２に記載の部品フォーム印刷システム。
【発明の詳細な説明】
【技術分野】
【０００１】
複数のフォームを重ね合わせて１つの印刷ページを作成する部品フォーム印刷システムに係るものである。
【背景技術】
【０００２】
従来、帳票等を出力する際に、図３のように、出力フォームのレイアウトを示すフォームファイル（テンプレート）の所定の個所（フィールド）に対し、データファイルによる後付けデータを流し込んで出力フォームを得られるようにしていた。本明細書では、データが流し込まれる個所（フィールド）を示す図形をフィールド図形と呼ぶことにし、データファイルをフィールドデータと呼ぶことにする。
【０００３】
また、1ページ目はフォームファイルA、2ページ目はフォームファイルBのように、ページごとに使用するフォームファイルをあらかじめ設定ファイルで設定しておくことができる。設定ファイルには、ページごとに使用するフォームファイルのパスや、ページごとの印刷属性の設定が含まれている。本明細書では、この設定ファイルを複合フォーム設定ファイルと呼ぶことにする。複合フォーム設定ファイルでは、図４のように、１つのページを複数のフォームファイルで構成するような設定も可能である。ここで、１つのページを構成する複数のフォームファイルを、部品フォームと呼ぶことにする。図４でいえば1ページが部品フォーム１、部品フォーム２、部品フォーム３で構成されている。出力時には、各部品フォームが重ね合わされて出力される。
【０００４】
さらに従来機能として、部品フォームをオーバレイ印刷時に追加する機能がある。これは図５のように、フィールドデータ側で、追加する部品フォームを指定する。このフィールドデータを用いてオーバレイ印刷を実行すると、フィールドデータ内で指定がされている部品フォームが追加される。
【０００５】
下記特許文献１においては、フォームデータを給紙トレイと対応付けて印刷装置に保持させておくことで、操作者はトレイを選択するのみで自動的に適切なフォームデータが選択され、簡易な作業で印刷すべきデータとフォームデータを合致させた印刷結果を得ることができる技術を開示している。
【特許文献１】特開２００３−２３７１６７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
このような部品フォームの機能を利用して、以下のような運用がされる場合がある。図６は部品フォームを利用した運用の一例である。例えば保険関連の帳票では、追加する保険の種類に従って、追加する部品フォームが決まる場合がある。この場合、図６のようにユーザがフィールドデータ６０４、６０５で、追加する部品フォームを指定することが考えられる。図６では、部品フォームＡのフィールド（フィールド名“追加”）にセットされるデータの内容で、追加する部品フォームが決まる。この場合部品フォームＡのフィールド（フィールド名“追加”）にセットされるデータの内容（“Ｂ”または“Ｃ”）をユーザが確認して、その内容を元に追加する部品フォームを決定する。
【０００７】
しかしこの方法では、ユーザがフィールドデータの内容を確認する必要がある。図６でいえば、ユーザはフィールド（フィールド名“追加”）にセットされる値をまず確認して、それから追加する部品フォームを設定しなければならない。フィールドデータは、Database１１９等からデータを取得して作成することが考えられるが、その際に、ユーザはDatabase１１９から取得したデータの内容をチェックしてから、追加する部品フォームを決定しなければならない必要が生じる。これによりユーザはフィールドデータの作成に非常に手間がかかってしまう。さらに、Database１１９から取得したデータの内容を見る権限がユーザにない場合は、この運用自体も不可能である。
【０００８】
これを解決する手段としては、あらかじめ設定ファイル等で条件を設定しておき、オーバーレイ印刷時に使用するフォームファイルが自動で決まるようにすることが考えられる。図１５は設定ファイルよって、使用するフォームの設定をあらかじめしておく例である。従来技術により、条件を設定しておき、出力ページのフォームファイル全体を変更することは可能である。
【０００９】
しかしこの従来技術では、フォームファイル全体が変更されてしまる。図６のように、ページを構成する複数の部品フォームのうち、ある部品フォームのみを変更するということはできなかった。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、本発明のフォーム印刷システムは、複数のフォームを重ね合わせて１つの印刷ページを作成する部品フォーム印刷システムにおいて、部品フォームにあらかじめ条件を設定する条件設定ステップと、条件設定のある部品フォームを用いてオーバレイ印刷する際に、後付けデータの内容が、部品フォームに設定されている条件を満たしているかどうかを判定する条件判定ステップと、前記条件が満たされた部品フォームのみを重ね合わせて印刷するステップとを有する。
【発明の効果】
【００１１】
本発明によれば、ユーザは、印刷時にデータを意識して、追加する部品フォームをフィールドデータファイルから指定する必要がなくなる。そのため、ユーザはDBにアクセスする必要もなくなり、かつプログラムレスになり、データファイル作成の手間が削減される。
【発明を実施するための最良の形態】
【００１２】
＜システム構成図＞
図１は帳票等のデータを印刷するシステム１００を図示している。この中で示された方法は図２で詳しく説明される汎用コンピュータモジュール１０１で実践される。図２で記述されるプロセスは、コンピュータモジュール１０１内で実行され、システム１００上で実施可能となるフォーム作成アプリケーションプログラム１２１のようにソフトウェアの全体、あるいは一部分で実行される。特にレイアウト編集、設定ファイル編集や必然的に起こる印刷のステップはコンピュータ１０１によって実行されるソフトウェアの指示によって実施される。ソフトウェアは例えば以下に記述されるような記憶装置を含むコンピュータの可読媒体に格納される。ソフトウェアはコンピュータの可読媒体からコンピュータにロードされ、コンピュータ１０１によって実行される。そのようなソフトウェアや媒体に記録されたコンピュータプログラムを持つコンピュータの可読媒体はコンピュータプログラム製品である。そのコンピュータでのコンピュータプログラム製品の使用は望ましくもドキュメントのレイアウト編集やデータ印刷に有利な装置をもたらす。
【００１３】
コンピュータモジュール１０１はキーボード１３２やマウス１３３のようなポインティングデバイスなどの入力装置をつなぎ、ディスプレイ装置１４４や状況に応じてはローカルプリンタ１４５を含む出力装置を連結する。入力／出力インターフェース１３８はコンピュータモジュール１０１をネットワーク接続１０７から接続してシステム１００の他のコンピュータ装置につなげることができる。そのネットワーク接続１０７の典型はローカルエリアネットワーク（ＬＡＮ）、あるいはワイドエリアネットワーク（ＷＡＮ）である。
【００１４】
コンピュータモジュール１０１は典型的に少なくとも１つのプロセッサーユニット１３５、例えば半導体のランダムアクセスメモリ（ＲＡＭ）やリードオンリーメモリ（ＲＯＭ）から構成されるメモリユニット１３６、ビデオインタフェース１３７を含むＩＮＰＵＴ／ＯＵＴＰＵＴ（Ｉ／Ｏ）インターフェース、キーボード１３２やマウス１３３のためのＩ／Ｏインターフェース１４３を含んでいる。記憶装置１３９は典型的にハードディスクドライブ１４０やフレキシブルディスクドライブ１４１を含んでいる。図には示されていないが磁気テープドライブもまた使用される可能性がある。ＣＤ−ＲＯＭドライブ１４２は不揮発性のデータソースとして提供される。コンピュータモジュール１０１はマイクロソフトウィンドウズ（登録商標）（マイクロソフトは登録商標です）のようなオペレーションシステムや、典型的にはオペレーションシステムに従う形で、あるいは関連のある技術で知られているもので形成されたコンピュータシステムの常套的なオペレーションモードによる方法によって、相互接続バス１３４を介して通信を行うコンピュータモジュール１０１のコンポーネント１３５から１４３を利用する。
【００１５】
図に記述した配置コンピュータの例ではＩＢＭ互換ＰＣやＳＵＮ社のＳｐａｒｃ Sｔａｔｉｏｎ（Ｓｐａｒｃは登録商標です）、あるいはそれらを含んだコンピュータシステムが考えられる。
【００１６】
フォーム作成アプリケーションプログラム１２１は典型的にハードディスクドライブ１４０に常駐し、プロセッサ１３５により実行、読み込み、コントロールされる。プログラム１２１の媒介記憶装置とネットワーク１０２０からフェッチされるデータはハードディスクドライブ１４０に呼応して半導体メモリ１３６を使用する。いくつかのインスタンスではアプリケーションプログラム１２１がＣＤ−ＲＯＭやフレキシブルディスク上でエンコードされ、対応するドライブ１４２や１４１を通じて読み込まれユーザに提供される。あるいはもう一つの方法としてアプリケーションプログラム１２１はネットワーク接続１０７からユーザによって読み込まれるかもしれない。さらにソフトウェアは磁気テープまたはＲＯＭまたは集積回路、光磁気ディスクまたは無線またはコンピュータモジュール１０１とその他のデバイス間の赤外線通信、ＰＣＭＣＩＡカードのようなコンピュータ可読カード、そしてＥメール通信やＷＥＢサイト上の記録情報を持つインターネットやイントラネットを含む、他の適当な大きさのコンピュータ可読媒体からコンピュータモジュール１０１内にロードされる可能性もある。前述は単に関連するコンピュータ可読メディアの模範である。他のコンピュータ可読媒体も使用される可能性はある。
【００１７】
またフォーム作成と名づけられたアプリケーション１２１はフォーム作成や印刷を行うよう指示し、２つのソフトウェアコンポーネントを含んでいる。これらのうち１つめのコンポーネントはライブラリ１０５であり、これはオーバレイ印刷処理等の処理を行うソフトウェアコンポーネントである。２つめのコンポーネントであるユーザインターフェース１０３はユーザにフォームや設定ファイルを作成させるメカニズムを提供する。ユーザインターフェース１０３とライブラリ１０５はコミュニケーションチャネル１２３を介して通信する。ドキュメント生成のためのデータソースは一般的にデータベースアプリケーションを動かしている他のコンピュータによって構成されたデータベースサーバー１１７上にある典型的なデータベース１１９である。ホストコンピュータ１０１はネットワーク接続１０７の手段によってデータベースサーバー１１７と通信する。フォーム作成アプリケーション１２１はホストコンピュータ１０１か一般的に他のコンピュータで構成されるファイルサーバー１１５に保存されるフォームまたは設定ファイルを生成する。これらのドキュメントはホストコンピュータ１０１のローカルファイルシステムに保存されるか、ファイルサーバー１１５に保存されるか、あるいはプリンタ１１３に直接印刷される。プリントサーバー１０９は直接ネットワークにつながっていないプリンタにネットワーク機能を提供するコンピュータである。プリントサーバー１０９とプリンタ１１３は典型的な通信チャネル１１１を介して接続される。
【００１８】
図７はエンジンサーバー２２７の追加を除き、ライブラリ１０５の分離バージョン２２５を含む図１・図２の類似の図である。エンジンサーバー２２７は典型的なコンピュータである。ファイルサーバー１１５に保存されたフォームは印刷や他の目的がある際、ライブラリ２２５によってドキュメントを生成するためにデータベース１１９に保存されたデータとオーバレイ印刷することができる。そのようなオペレーションはユーザインターフェース１０３を介して要求されるか、ライブラリ２２５に対して指示をすることにより、可能である。
【実施例１】
【００１９】
本実施例では、複合フォーム設定ファイルに対して、各部品フォームごとに、部品フォームが追加される条件を設定できるようにすることについて述べる。
【００２０】
図１６はフォーム作成アプリケーション１２１で、複合フォーム設定ファイルに条件を設定する例である。
【００２１】
まずユーザがフォーム作成アプリケーション１２１より複合フォーム設定ファイル作成時に、ユーザインターフェース１０３より、条件を設定するという指定を行う。指定方法は、例えばユーザが各部品フォームをマウスでクリックして、メニューを表示し、メニュー内の「条件の設定」を選ぶことが考えられる。
【００２２】
ユーザより条件の設定が指定されると、ユーザインターフェース１０３が条件設定ダイアログ７Ａ０２、または７Ａ０３を表示する。ユーザは条件設定ダイアログ７Ａ０２、または７Ａ０３より、部品フォームが追加される条件を設定することができる。図１６の例では、部品フォームＢの場合、“追加”というフィールド名のフィールドに対して、フィールドデータよりセットされる値が“Ｂ”である場合に部品フォームＢが追加されるように設定がされている。条件式の詳細な説明は、図９にて説明する。また、条件設定ダイアログ７Ａ０２、または７Ａ０３では、オフセット値の設定も可能である。これは、部品フォームが追加される場合に、部品フォームの追加位置を設定するものである。例えば、フォームの左上を原点として、フォーム描画時に縦方向、横方向にずらして描画することが可能となる。なお、この例では部品フォームＡについては、とくに条件を設定していない。条件設定のない部品フォームに関しては、オーバレイ印刷時に必ず追加される。ユーザが設定を完了したあとは、ファイルサーバー１１５等に複合フォーム設定ファイルを保存する。
【００２３】
図１７は条件設定のされた複合フォーム設定ファイルを用いて、オーバレイ印刷する場合の例である。
【００２４】
図１７では、フィールドデータ７Ｂ０１と７Ｂ０１の例で説明する。フィールドデータ７Ｂ０１は“追加”フィールドに“Ｂ”という値をセットし、フィールドデータ７Ｂ０２は“Ｃ”をセットするようなデータである。フィールドデータ７Ｂ０１と、複合フォーム設定ファイル７Ａ０１を用いて、オーバレイ印刷を行うとする。この場合、部品フォームＢについては、あらかじめ設定されている条件に一致するため、追加される。一方、部品フォームＣについては、条件に一致しないため、追加されない。よってオーバレイ印刷した結果は、出力結果７Ｂ０３のように、部品フォームＡと部品フォームＢが重ね合わさったものとなる。フィールドデータ７Ｂ０２を用いた場合も同様の動作となり、この場合出力結果７Ｂ０４のように、部品フォームＡと部品フォームＣが重ね合わさって出力される。
【００２５】
また、図１７では述べていないが、部品フォームが追加される際のオフセット値の設定を、フィールドデータ側から指定することも可能である。
【００２６】
図８は、複数ページ設定のある複合フォーム設定ファイルに対して、条件設定を行う例である。図の例では、3ページ分の設定がされている。1ページ目は部品フォーム１、部品フォーム２、部品フォーム３で構成されている。2ページ目は部品フォーム４、部品フォーム５で構成されている。3ページ目は部品フォーム６、部品フォーム７、部品フォーム８で構成されている。
【００２７】
図８の例では部品フォーム２、部品フォーム３、部品フォーム６、部品フォーム７に対して条件設定がされている。このようにマルチページの設定がある複合フォーム設定ファイルに対しても、ユーザは任意に条件を設定したい部品フォームに対してのみ、設定を行うことができる。
【００２８】
また、図８の部品フォーム８に対しては、デフォルトの設定がされている。これは、オーバレイ印刷時に、部品フォーム６と部品フォーム７のいずれも条件に一致しなかった場合にのみ、部品フォーム８が追加されるようにするための設定である。つまりデフォルト設定のされた部品フォームは、ページを構成する各部品フォームにおいて、他の部品フォームが全て条件不一致により追加されなかった場合に、追加される。
【００２９】
図９は条件書式ダイアログ上で設定する条件の詳細である。
【００３０】
条件式の左辺には、任意のフィールド名を記載する。条件については、右辺と左辺が等しいことを示す“＝”等の、一般的な比較の式が記載できる。左辺には、オーバレイ印刷時に、フィールドデータより与えられるデータを記述する。また、データがない場合を示す“ＮＵＬＬ”や、任意のデータであることを示す“＊”等の記述も可能である。
【００３１】
また、複数の条件式を設定することも可能である。この場合の設定例としては、例えば各条件式を‘、’（カンマ）等で区切って記入することが考えられる。
【００３２】
次に本実施形態の詳細な動作の説明を行う。
【００３３】
図１０は本実施例の処理の流れをフローチャートで示したものである。
【００３４】
まずステップＳ１００１において、ユーザの指定により、ファイルサーバー１１５等にある複合フォーム設定ファイルと、データベース１１７にあるフィールドデータを用いてライブラリ２２５がオーバレイ印刷処理を開始する。
【００３５】
ステップ１００２において、ライブラリ２２５が、複合フォーム設定ファイルを解析して、条件設定のされている部品フォームがあるかどうかを判定する。
【００３６】
ステップ１００２において、条件設定のされた部品フォームがあると判定された場合、ステップ１００３において、ライブラリ２２５が条件式の解析を行う。
【００３７】
ステップＳ１００４において、ライブラリ２２５が、条件設定のない部品フォームに対して、部品フォームの重ね合わせ処理を行う。各部品フォームについて、フィールドが設定されている場合には、マージした１つのフィールドリストを内部で作成しておく。
【００３８】
次にステップＳ１００５において、ライブラリ２２５が、フィールドデータの1番目のデータ解析を行い、該当するフィールドにデータをセットする。
【００３９】
ステップＳ１００６において、ライブラリ２２５が、ステップＳ１００５で解析したデータが、ステップ１００３で解析した条件に一致するかどうかを判定する。
【００４０】
ステップＳ１００６で条件に一致すると判定された場合は、ステップＳ１００８において、ライブラリ２２５が部品フォームを追加する処理を行う。
【００４１】
次にステップＳ１００９において、ライブラリ２２５が、解析したデータを該当するフィールドにセットする。
【００４２】
次にステップＳ１０１０において、ライブラリ２２５が、フィールドデータの解析において、データが終了したかどうかを判定する。
【００４３】
ステップＳ１０１０でデータが終了していないと判定された場合は、ライブラリ２２５が、次のデータの解析に進む。
【００４４】
ステップＳ１０１０でデータが終了したと判定された場合は、Ｓ１０１２において描画処理を行う。
【実施例２】
【００４５】
実施例１では、複合フォーム設定ファイルにおいて、各部品フォームに条件を設定する例を述べた。本実施例ではフィールドデータで動的に部品フォームを追加する際に、条件を設定する例を述べる。
【００４６】
図１１は、フィールドデータで動的に部品を追加する際に、条件を設定する例である。
【００４７】
フィールドデータ１１０４をみると、動的に部品フォームを追加する記述のあとに、
・ [追加="B"]、[追加="C"]
のように、条件の設定が記述されている。フィールドデータ１１０５も同様である。
【００４８】
図６のフィールドデータ６０４、フィールドデータ６０５の例では、追加する部品フォームを、ユーザがフィールドデータの内容をもとに選択する必要があった。
【００４９】
しかし、図１１のフィールドデータ１１０４、フィールドデータ１１０５では、部品フォームを追加する個所は同一となっている。。ユーザは部品フォームを追加する際に条件を設定することで、フィールドデータのデータによらずに、部品フォーム追加の記述を統一して記述することができる。
【００５０】
図１２は実施例２のフローチャートである。
【００５１】
ステップ１２０１については、ステップ１００１と同等である。
【００５２】
次にステップ１２０２において、ライブラリ２２５が、フィールドデータを解析して条件つきの動的部品フォーム追加の記述があるかどうかを判定する。
【００５３】
ステップ１２０２で条件つきの動的部品フォーム追加の記述があると判定された場合、ステップ１２０３において、ライブラリ２２５が条件式を解析して保存しておく。
【００５４】
ステップＳ１２０４については、１００４と同等である。
【００５５】
以降の処理については、ステップＳ１００５〜Ｓ１０１２と同等である。
【実施例３】
【００５６】
実施例２では、フィールドデータで動的に部品フォームを追加する際に、条件を設定する例を述べた。本実施例では、ライブラリ２２５が提供する関数から、条件付きの部品フォームを追加する例を述べる。
【００５７】
図１３はライブラリが提供する関数から、条件付きの部品フォームを追加する例である。
【００５８】
まず、ライブラリ２２５を用いて、ユーザがオーバレイ印刷を行う場合に、ユーザは、ライブラリが提供しているライブラリ関数を用いて運用することができる。図１３のライブラリ関数呼び出し１３０１に例を記載する。この例では、ライブラリが提供している関数を、ユーザがどのように呼び出すかについて記載している。図中の関数の例では、各関数は以下の意味をもっている。
【００５９】
・ FMInitOverlay関数：オーバレイ印刷に必要な初期化処理
・ FMDeclareFormFile関数：フォームや複合フォーム設定ファイルを指定する
・ FMDeclareDataFile関数：フィールドデータを指定する
・ FMOverlayPrint関数：指定されたフォームとデータを用いてオーバレイ印刷する
・ FMFinisyOverlay関数：終了処理
・ FMImportFCXFile関数：オーバレイ印刷時に追加する部品フォームを指定する
ここで、FMImportFCXFile関数で、追加する部品フォームを引数として指定する際に、引数として条件式も指定している。この条件を満たした部品フォームのみが、オーバレイ印刷時に追加される。
【００６０】
図１４は実施例３のフローチャートである。
【００６１】
ステップ１４０１については、ステップ１００１と同等である。
【００６２】
次にステップ１４０２において、ライブラリ２２５が、ライブラリ関数から条件つきの動的部品フォーム追加の指定がされたかどうかを判定する。
【００６３】
ステップ１４０２で条件つきの動的部品フォーム追加の関数指定があると判定された場合、ステップ１４０３において、ライブラリ２２５が条件式を解析して保存しておく。
【００６４】
ステップＳ１４０４については、１００４と同等である。
【００６５】
以降の処理については、ステップＳ１００５〜Ｓ１０１２と同等である。
【図面の簡単な説明】
【００６６】
【図１】帳票等のデータを印刷するシステム１００
【図２】汎用コンピュータモジュール図
【図３】オーバレイ印刷の一例を説明する図
【図４】１つのページを複数のフォームファイルで構成する設定の一例
【図５】フィールドデータ側で、追加する部品フォームを指定する一例
【図６】図６は部品フォームを利用した運用の一例
【図７】ライブラリ１０５の分離バージョン２２５を含む図１・図２の類似図
【図８】複数ページ設定のある複合フォーム設定ファイルに対して、条件設定を行う一例
【図９】条件書式ダイアログ上で設定する条件の詳細
【図１０】実施例１の処理の流れを表すフローチャート
【図１１】フィールドデータで動的に部品を追加する際に、条件を設定する例
【図１２】実施例２の処理の流れを表すフローチャート
【図１３】ライブラリが提供する関数から、条件付きの部品フォームを追加する例
【図１４】実施例３の処理の流れを表すフローチャート
【図１５】設定ファイルよって、使用するフォームの設定をあらかじめしておく例
【図１６】複合フォーム設定ファイルに条件を設定する一例
【図１７】条件設定のされた複合フォーム設定ファイルを用いて、オーバレイ印刷する一例
【図１】
2007199758.tif 000003
【図２】
2007199758.tif 000004
【図３】
2007199758.tif 000005
【図４】
2007199758.tif 000006
【図５】
2007199758.tif 000007
【図６】
2007199758.tif 000008
【図７】
2007199758.tif 000009
【図８】
2007199758.tif 000010
【図９】
2007199758.tif 000011
【図１０】
2007199758.tif 000012
【図１１】
2007199758.tif 000013
【図１２】
2007199758.tif 000014
【図１３】
2007199758.tif 000015
【図１４】
2007199758.tif 000016
【図１５】
2007199758.tif 000017
【図１６】
2007199758.tif 000018
【図１７】
2007199758.tif 000019