(57)【要約】【課題】作成した帳票を印刷して確認するための確認用とする場合、帳票の可読性を維持しながら、印刷ページを削減して印刷することを可能にする。【解決手段】帳票フォーマット19と帳票データ20とを読み込む印刷情報読み込み部4と、帳票内の項目を入力データに適したサイズに設定を行い、項目間の距離を短縮するレイアウト調整部6と、レイアウト調整部6により印刷ページが削減できたかを判定するページ削減判定部7と、印刷情報を設定する帳票出力処理部8と、印刷情報を画面にプレビューする印刷プレビュー部9を備え、帳票内の空白や未記入の項目についてサイズと項目間の距離を調整し、これにより帳票の可読性を維持しつつ、印刷ページを削減して印刷する。【選択図】図１
2010267020.tif 000002
【特許請求の範囲】
【請求項１】
作成した帳票を印刷して確認するための確認用として出力する帳票出力システムにおいて、
帳票フォーマットと帳票データとを読み込む印刷情報読み込み部と、
帳票内の項目を入力された帳票データに適したサイズに設定すると共に、項目間の縦方向の距離を短縮して印刷ページ数を低減するレイアウト調整部と、
印刷情報を表示画面にプレビューする印刷プレビュー部とを備え、
帳票フォーマットのレイアウトを調整した印刷情報を帳票として出力することを特徴とする帳票出力システム。
【請求項２】
請求項１記載の帳票出力システムにおいて、
前記レイアウト調整部は、帳票を構成する文字について入力データを表示するために、その文字に適したサイズに設定を行い、文字間の距離を短縮するアイテム調整部を有することを特徴とする帳票出力システム。
【請求項３】
請求項１記載の帳票出力システムにおいて、
前記レイアウト調整部は、帳票を構成する罫線について、文字と罫線との間の距離、罫線と罫線との間の距離を短縮する線アイテム調整部を有することを特徴とする帳票出力システム。
【請求項４】
請求項１記載の帳票出力システムにおいて、
前記レイアウト調整部は、未記入の項目を省略することができるか否かを判定し、省略することができる場合に帳票を構成する文字、罫線のサイズを設定することによりグループを省略することができるか否かを判定するグループ省略判定部を有することを特徴とする帳票出力システム。
【請求項５】
請求項１記載の帳票出力システムにおいて、
前記レイアウト調整部は、帳票を構成する文字と罫線の集まりである項目について、項目を前ページに移動できるか否かを判定し、項目間の距離を短縮するグループ調整部を有することを特徴とする帳票出力システム。
【請求項６】
請求項１記載の帳票出力システムにおいて、
前記レイアウト調整部により印刷ページを削減することができたか否かを判定するページ削減判定部を備え、
前記レイアウト調整部は、印刷ページを削減することができなかった場合に、ユーザが画面から指示した未記入の項目の表示方法、印刷処理を設定することを特徴とする帳票出力システム。
【請求項７】
請求項６記載の帳票出力システムにおいて、
前記印刷プレビュー部は、ユーザが設定した印刷処理である印刷情報を、プレビュー画面としてユーザのディスプレイに表示することを特徴とする帳票出力システム。
【請求項８】
作成した帳票を印刷して確認するための確認用として出力する帳票出力方法において、
印刷情報読み込み部と、
レイアウト調整部と、
印刷プレビュー部とを備え、
前記印刷情報読み込み部が、帳票フォーマットと帳票データとを読み込み、
前記レイアウト調整部が、帳票内の項目を入力された帳票データに適したサイズに設定すると共に、項目間の縦方向の距離を短縮して印刷ページ数を低減し、
印刷プレビュー部が、前記レイアウト調整後の印刷情報を表示画面にプレビューすることにより、帳票フォーマットのレイアウトを調整した印刷情報を帳票として出力することを特徴とする帳票出力方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、帳票出力システム及び帳票出力方法に係り、特に、作成した帳票を印刷して確認するための確認用として、印刷ページを削減して帳票を出力することを可能にした帳票出力システム及び帳票出力方法に関する。
【背景技術】
【０００２】
作成した帳票を印刷して確認する際にスペースを有効に活用することを可能にした従来技術として、例えば、特許文献１等に記載された技術が知られている。この従来技術は、改行や空白を省略することにより、他の項目を大きくする等のスペースを有効に利用可能とするというもので、帳票の出力においても、１枚の用紙にＮページ分の情報を印刷するＮアップ印刷や、１枚の用紙の両面に情報を印刷する両面印刷等の技術が知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５‐２１６１７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
前述した従来技術は、確認のための印刷の際に、帳票内の空白や空欄の領域を省略し、他の記入枠を大きくする等によりスペースの有効活用を行うことができる。しかし、この従来技術は、帳票出力において、帳票内の空白や空欄の領域を省略することができるものの、可読性を維持し、省資源として印刷ページを削減して印刷することができていないという問題点を有している。
【０００５】
本発明の目的は、前述したような点に鑑みてなされたもので、作成した帳票を印刷して確認するための確認用とする場合、帳票内の空白や空欄の領域を省略し、帳票の可読性を維持しながら、印刷ページを削減して印刷することができるようにした帳票出力システム及び帳票出力方法を提供することにある。
【課題を解決するための手段】
【０００６】
本発明によれば前記目的は、作成した帳票を印刷して確認するための確認用として出力する帳票出力システムにおいて、帳票フォーマットと帳票データとを読み込む印刷情報読み込み部と、帳票内の項目を入力された帳票データに適したサイズに設定すると共に、項目間の縦方向の距離を短縮して印刷ページ数を低減するレイアウト調整部と、印刷情報を表示画面にプレビューする印刷プレビュー部とを備え、帳票フォーマットのレイアウトを調整した印刷情報を帳票として出力することにより達成される。
【発明の効果】
【０００７】
本発明によれば、確認用に使用する帳票の出力時に、帳票を構成している各アイテムのサイズや入力データに応じて印刷レイアウトを自動調整することができ、これにより、可読性を維持したまま印刷ページを削減して帳票の出力を行うことができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の一実施形態による帳票出力システムの構成を示すブロック図である。
【図２】印刷情報読み込み部の詳細な構成を示す図である。
【図３】グルーピング部の詳細な構成を示す図である。
【図４】レイアウト調整部の詳細な構成を示す図である。
【図５】帳票フォーマットの詳細な構成例を示す図である。
【図６】帳票データの詳細な例を示す図である。
【図７】変更前印刷情報テーブルの詳細な例を示す図である。
【図８】変更後印刷情報テーブルの詳細な例を示す図である。
【図９】グループ関連情報テーブルの詳細な例を示す図である。
【図１０】線グループ情報テーブルの詳細な例を示す図である。
【図１１】領域グループ情報テーブルの詳細な例を示す図である。
【図１２】リンク情報テーブルの詳細な例を示す図である。
【図１３】省略するアイテムまたはグループの表示方法や印刷する帳票の設定を行うためし印刷設定ダイアログの例を示す図である。
【図１４】本発明の実施形態による帳票出力システムでテスト印刷を行う場合の処理動作を説明するフローチャートである。
【図１５】図１４に示すフローのステップ１４０３でのレイアウト調整部の処理動作を説明するフローチャートである。
【図１６】図１５に示すフローのステップ１５０１での文字アイテム調整の処理動作を説明するフローチャートである。
【図１７】図１６に示すフローのステップ１６０３、１６０９での［リンク情報更新］の処理動作を説明するフローチャートである。
【図１８】図１６に示すフローのステップ１６０６での［削減距離算出］の処理動作を説明するフローチャートである。
【図１９】図１６に示す文字アイテム調整の処理における入力イメージとしての帳票の例を示す図である。
【図２０】図１６に示す文字アイテム調整の処理における出力イメージとしての帳票の例を示す図である。
【図２１】図１６に示す文字アイテム調整の処理における出力データとしての変更後印刷情報テーブルの例を示す図である。
【図２２】図１６に示す文字アイテム調整の処理における出力データとしてのリンク情報テーブルの例を示す図である。
【図２３】図１６に示す文字アイテム調整の処理における出力イメージとしての帳票の例を示す図である。
【図２４】図１６に示す文字アイテム調整の処理における出力データとしての変更後印刷情報テーブルの例を示す図である。
【図２５】図１６に示す文字アイテム調整の処理における出力データとしてのリンク情報テーブルの例を示す図である。
【図２６】図１６に示す文字アイテム調整の処理を行った後の出力イメージとしての帳票全体の例を示す図である。
【図２７】図１５に示すフローのステップ１５０３での［グループ省略判定］の処理動作を説明するフローチャートである。
【図２８】図２７に示すフローのステップ２７０６での［領域グループの表示設定］の処理動作を説明するフローチャートである。
【図２９】図２７に示すグループ省略判定の処理における入力イメージとしての帳票の例を示す図である。
【図３０】図２７に示すグループ省略判定の処理における入力データとしての変更後印刷情報テーブルの例を示す図である。
【図３１】図２７に示すグループ省略判定の処理における入力データとしての線グループ情報テーブルの例を示す図である。
【図３２】図２７に示すグループ省略判定の処理における入力データとしての領域グループ情報テーブルの例を示す図である。
【図３３】図２７に示すグループ省略判定の処理における入力データとしてのリンク情報テーブルの例を示す図である。
【図３４】図２７に示すグループ省略判定の処理における出力イメージとしての帳票フォーマット例を示す図である。
【図３５】図２７に示すグループ省略判定の処理における出力データとしての変更後印刷情報テーブルの例を示す図である。
【図３６】図２７に示すグループ省略判定の処理における出力データとしての線グループ情報テーブルの例を示す図である。
【図３７】図２７に示すグループ省略判定の処理における出力データとしての領域グループ情報テーブルの例を示す図である。
【図３８】図２７に示すグループ省略判定の処理における出力データとしてのリンク情報テーブルの例を示す図である。
【図３９】図２７に示すグループ省略判定の処理を行った後の出力イメージとしての帳票全体の例を示す図である。
【図４０】図１５に示すフローのステップ１５０４での［線アイテム調整］の処理動作を説明するフローチャートである。
【図４１】図４０に示す線アイテム調整の処理における入力イメージとしての帳票の例を示す図である。
【図４２】図４０に示す線アイテム調整の処理後の出力イメージとしての帳票フォーマットの例を示す図である。
【図４３】図４０に示す線アイテム調整の処理における出力データとしての変更後印刷情報テーブルの例を示す図である。
【図４４】図４０に示す線アイテム調整の処理における出力データとしての線グループ情報テーブルの例を示す図である。
【図４５】図４０に示す線アイテム調整の処理における出力データとしてのリンク情報テーブルの例を示す図である。
【図４６】図４０に示す線アイテム調整の処理後の出力イメージとしての帳票全体の例を示す図である。
【図４７】図１５に示すフローのステップ１５０５での［グループ調整］の処理動作を説明するフローチャートである。
【図４８】図４７に示すグループ調整の処理における入力データとしての変更後印刷情報テーブルの例を示す図である。
【図４９】図４７に示すグループ調整の処理における入力データとしての線グループ情報テーブルの例を示す図である。
【図５０】図４７に示すグループ調整の処理における入力データとしてのリンク情報テーブルの例を示す図である。
【図５１】図４７に示すグループ調整の処理における出力イメージとしての帳票の例を示す図である。
【図５２】図４７に示すグループ調整の処理における出力データとしての変更後印刷情報テーブルの例を示す図である。
【図５３】図４７に示すグループ調整の処理における出力データとしての線グループ情報テーブルの例を示す図である。
【図５４】図４７に示すグループ調整の処理における出力データとしてのリンク情報テーブルの例を示す図である。
【図５５】ためし印刷設定ダイアログの省略部分の表示設定の未記入の項目を削除するにチェックがない場合の処理を説明するための入力イメージとしての帳票の例を示す図である。
【図５６】ためし印刷設定ダイアログの省略部分の表示設定の未記入の項目を削除するにチェックがない場合に本発明を実施した出力イメージとしての帳票の例を示す図である。
【発明を実施するための形態】
【０００９】
以下、本発明による帳票出力システム及び帳票出力方法の実施形態を図面により詳細に説明する。
【００１０】
図１は本発明の一実施形態による帳票出力システムの構成を示すブロック図である。
【００１１】
本発明の実施形態による帳票出力システムは、帳票出力マシン１と、該帳票出力マシン１に接続されている記憶装置２４、ディスプレイ２１、プリンタ２３とにより構成される。帳票出力マシン１は、ＣＰＵ２とメモリ３とを有し、ディスクインタフェース１６を介してハードディスクドライブ等の記憶装置２４に接続され、また、インタフェース１７を介してディスプレイ２１に接続され、さらに、通信インタフェース１８を介してネットワーク２２に接続されているプリンタ２３に接続されている。
【００１２】
メモリ３には、印刷情報読み込み部４と、グルーピング部５と、レイアウト調整部６と、ページ削減判定部７と、帳票出力処理部８と、印刷プレビュー部９とが格納されている。これらは、プログラムにより構成され、ＣＰＵ２により実行されることにより、本発明の実施形態での帳票の出力処理を行う。また、メモリ３上には、本発明の実施形態での帳票の出力処理に使用する変更前印刷情報テーブル１０と、変更後印刷情報テーブル１１と、グループ関連情報テーブル１２と、線グループ情報テーブル１３と、領域グループ情報テーブル１４と、リンク情報テーブル１５とが保持されている。
【００１３】
印刷情報読み込み部４は、記憶装置２４内に格納されている帳票フォーマット１９と帳票データ２０とを読み込み、読み込んだ帳票フォーマット１９と帳票データ２０とから本発明での処理を行っていない状態の変更前印刷情報テーブル１０と本発明での処理を行った後の状態の変更後印刷情報テーブル１１の初期テーブルとを生成する処理部である。
【００１４】
グルーピング部５は、生成された変更前印刷情報テーブル１０からグループ判定を行い、グループ関連情報テーブル１２と、線グループ情報テーブル１３と、領域グループ情報テーブル１４と、リンク情報テーブル１５とを生成する処理部である。
【００１５】
レイアウト調整部６は、生成された変更前印刷情報テーブル１０と、グループ関連情報テーブル１２と、線グループ情報テーブル１３と、領域グループ情報テーブル１４と、リンク情報テーブル１５との各情報から変更後印刷情報テーブル１１の各アイテムのプロパティを設定する処理部である。
【００１６】
ページ削減判定部７は、生成された変更前印刷情報テーブル１０と、変更後印刷情報テーブル１１との情報からそれぞれの印刷ページ数を算出し、変更前印刷情報テーブル１０の印刷ページ数と変更後印刷情報テーブル１１の印刷ページ数とを比較し、印刷ページ数を削減することができたか否かを判定する処理部である。
【００１７】
帳票出力処理部８は、生成された変更前印刷情報テーブル１０、または、変更後印刷情報テーブル１１の情報を印刷情報として設定する処理部である。
【００１８】
印刷プレビュー部９は、帳票出力処理部８が印刷情報として設定した変更前印刷情報テーブル１０、または、変更後印刷情報テーブル１１の情報をディスプレイ２１に印刷プレビューとして表示し、印刷する処理部である。
【００１９】
図２は印刷情報読み込み部４の詳細な構成を示す図である。印刷情報読み込み部４は、帳票フォーマット読み込み部２０１と、帳票データ読み込み部２０２と、変更前印刷情報テーブル生成部２０３と、変更後印刷情報テーブル生成部２０４とにより構成されている。
【００２０】
前述において、帳票フォーマット読み込み部２０１は、帳票フォーマット１９を記憶装置２４から読み込む処理部であり、帳票データ読み込み部２０２は、帳票データ２０を記憶装置２４から読み込む処理部である。
【００２１】
変更前印刷情報テーブル生成部２０３は、帳票フォーマット読み込む部２０１が読み込んだ帳票フォーマット１９内にある全てのアイテムの位置座標やアイテムの種別等の情報と、帳票データ読み込み部２０２が読み込んだ帳票データ２０内にある全てのデータを格納する変更前印刷情報テーブル１０を生成する処理部である。アイテムとは、文字や罫線、四角形等の帳票内に配置されるものをいう。アイテムについての詳細は、図５に示して後述する。
【００２２】
変更後印刷情報テーブル生成部２０４は、変更前印刷情報テーブル生成部２０３が生成した変更前印刷情報テーブル１０を複製し、変更後印刷情報テーブル１１を生成する処理部である。
【００２３】
図３はグルーピング部５の詳細な構成を示す図である。グルーピング部５は、グループ判定部３０１と、グループ関連情報テーブル生成部３０２と、線グループ情報テーブル生成部３０３と、領域グループ情報テーブル生成部３０４と、リンク情報テーブル生成部３０５とにより構成されている。
【００２４】
前述において、グループ判定部３０１は、印刷情報読み込み部４が生成した変更前印刷情報テーブル１０から罫線をベースに各アイテムを分類する処理部である。分類の種類としては、罫線で囲まれるアイテムの集まりとして線グループ、横向きの罫線によって区切られた領域に含まれるアイテムの集まりとして領域グループがある。
【００２５】
グループ関連情報テーブル生成部３０２は、アイテムが属する線グループの情報を設定したグループ関連情報テーブル１２を生成する処理部である。
【００２６】
線グループ情報テーブル生成部３０３は、帳票内の罫線で囲まれる線グループの情報を設定する線グループ情報テーブル１３を生成する処理部である。
【００２７】
領域グループ情報テーブル生成部３０４は、帳票内の横向きの罫線で区切られる領域グループの情報を設定する領域グループ情報テーブル１４を生成する処理部である。
【００２８】
リンク情報テーブル生成部３０５は、アイテム間、線グループ間の縦方向の繋がりとその距離とを算出して設定するリンク情報テーブル１５を生成する処理部である。
【００２９】
図４はレイアウト調整部６の詳細な構成を示す図である。レイアウト調整部６は、文字アイテム調整部４０１と、グループ省略判定部４０２と、線アイテム調整部４０３と、グループ調整部４０４と、リンク情報更新部４０５と、削減距離算出部４０６とにより構成されている。
【００３０】
レイアウト調整部６は、印刷情報読み込み部４が生成した変更前印刷情報テーブル１０に対して、グルーピング部５が生成したグループ関連情報テーブル１２と、線グループ情報テーブル１３と、領域グループ情報テーブル１４と、リンク情報テーブル１５とを介して、文字アイテム調整部４０１と、グループ省略判定部４０２と、線アイテム調整部４０３と、グループ調整部４０４との処理を行い、変更後印刷情報テーブル１１の各アイテムのプロパティを変更する。そして、リンク情報更新部４０５と、削減距離算出部４０６とは、文字アイテム調整部４０１と、グループ省略判定部４０２と、線アイテム調整部４０３と、グループ調整部４０４とにより利用される処理部である。
【００３１】
図５は帳票フォーマット１９の詳細な構成例を示す図である。図５に示す帳票フォーマット１９の例は、１ページ目５０１と、２ページ目５０２とから構成されている。また、帳票フォーマット１９において、家族構成一覧５０３や吉村美代子５０４、本人５０５、罫線５０６、罫線５０７等の帳票フォーマット１９に配置されている文字や数値、罫線をアイテムと呼ぶ。
【００３２】
図６は帳票データ２０の詳細な例を示す図である。帳票データ２０は、図６に示すように、１行目の項目名称６０１と２行目以降のデータ６０２とから構成される。帳票データ２０内のデータは、それぞれコンマで区切られている。そして、帳票フォーマット１９を作成するとき、帳票フォーマット１９に帳票データ２０内のデータをドラッグ＆ドロップして配置することにより、帳票フォーマット１０内のアイテムと配置された帳票データ２０内のデータとが関連付けられる。
【００３３】
図７は変更前印刷情報テーブル１０の詳細な例を示す図である。変更前印刷情報テーブル１０は、アイテムを識別するＩＤを格納するアイテムＩＤ７０１と、アイテムの種別を格納するアイテム種別７０２と、アイテムの開始Ｘ座標位置を格納するＸ座標７０３と、アイテムの開始Ｙ座標位置と前ページまでの用紙の縦方向のサイズとを加算した値を格納するＹ座標７０４と、アイテムの幅を格納する幅７０５と、アイテムの高さを格納する高さ７０６と、アイテムの種別７０２が文字である場合、アイテムに表示する文字列の文字の幅を格納する文字の幅７０７と、アイテムに表示する文字列の文字の高さを格納する文字の高さ７０８と、文字が固定であるか可変であるかを格納する固定／可変７０９と、帳票フォーマット１９内のアイテムと帳票データ２０内のデータとを関連付けた項目名称を格納する項目名称７１０と、帳票フォーマット１９内のアイテムと帳票データ２０内のデータとを関連付けたデータを格納する文字列７１１とを１つのレコードとして、複数のレコードを格納して構成されている。
【００３４】
図８は変更後印刷情報テーブル１１の詳細な例を示す図である。変更後印刷情報テーブル１０は、アイテムを識別するＩＤを格納するアイテムＩＤ８０１と、アイテムの種別を格納するアイテム種別８０２と、アイテムの開始Ｘ座標位置を格納するＸ座標８０３と、アイテムの開始Ｙ座標位置と前ページまでの用紙の縦方向のサイズとを加算した値を格納するＹ座標８０４と、アイテムの幅を格納する幅８０５と、アイテムの高さを格納する高さ８０６と、アイテムの種別８０２が文字である場合、アイテムに表示する文字列の文字の幅を格納する文字の幅８０７と、アイテムに表示する文字列の文字の高さを格納する文字の高さ８０８と、文字が固定であるか可変であるかを格納する固定／可変８０９と、帳票フォーマット１９内のアイテムと帳票データ２０内のデータとが関連付けた項目名称を格納する項目名称８１０と、帳票フォーマット１９内のアイテムと帳票データ２０内のデータとを関連付りたデータを格納する文字列８１１とを１つのレコードとして、複数のレコードを格納して構成されている。
【００３５】
図９はグループ関連情報テーブル１２の詳細な例を示す図である。グループ関連情報テーブル１２は、アイテムを識別するＩＤを格納するアイテムＩＤ９０１と、アイテムが属する線グループを識別するＩＤを格納する線グループ９０２とを１つのレコードとして、複数のレコードを格納して構成されている。
【００３６】
図１０は線グループ情報テーブル１３の詳細な例を示す図である。線グループ情報テーブル１３は、線グループを識別するＩＤを格納する線グループＩＤ１００１と、線グループの種別を格納する種別１００２と、線グループの開始Ｙ座標を格納するＹ座標１００３と、線グループの高さを格納する高さ１００４と、線グループが印刷されるページの番号を格納するページ番号１００５と、線グループが属する領域グループを識別するＩＤを格納する領域グループ１００６とを１つのレコードとして、複数のレコードを格納して構成されている。線グループの種別１００２は、罫線で囲まれる最大のグループを“１”、罫線で囲まれる最小のグループを“２”と設定している。
【００３７】
線グループの種別１００２のグループ１は、例えば、図５に示す帳票フォーマット１９の例において、第１ページ目の文字列「本人」５０５を含んでいる最も外側の罫線で囲まれた四角の部分である。このため、図５に示す例の１ページ目には、２つの線グループ１が存在することになり、また、図５に示す例の２ページ目には、３つの線グループ１が存在することになる。線グループの種別１００２のグループ２は、例えば、図５に示す帳票フォーマット１９の例において、１ページ目の文字列「本人」５０５を含んでいる線グループ１の文字列「名前」を含む四角の部分、「吉村泰子」を含む四角の部分等である。このため、１ページ目の文字列「本人」５０５を含んでいる線グループ１は、７つの線グループ２を含んでいることになる。
【００３８】
図１１は領域グループ情報テーブル１４の詳細な例を示す図である。領域グループ情報テーブル１４は、領域グループを識別するＩＤを格納する領域グループＩＤ１１０１と、領域グループの開始Ｘ座標位置を格納するＸ座標１１０２と、領域グループの開始Ｙ座標位置を格納するＹ座標１１０３と、領域グループの幅を格納する幅１１０４と、領域グループの高さを格納する高さ１１０５とを１つのレコードとして、複数のレコードを格納して構成されている。
【００３９】
図１２はリンク情報テーブル１５の詳細な例を示す図である。リンク情報テーブル１５は、リンク情報を識別するＩＤを格納するリンクＩＤ１２０１と、リンク情報においてＹ座標が小さい値であるアイテムまたは線グループのＩＤを格納する上位アイテム１２０２と、リンク情報においてＹ座標が大きい値であるアイテムまたは線グループのＩＤを格納する下位アイテム１２０３と、変更前印刷情報テーブル１０から上位アイテム１２０２と下位アイテム１２０３との間の距離を算出した値を格納する変更前距離１２０４と、変更後印刷情報テーブル１０から上位アイテム１２０２と下位アイテム１２０３との間の距離を算出した値を格納する変更後距離１２０５とを１つのレコードとして、複数のレコードを格納して構成されている。
【００４０】
図１３は帳票の確認用として試し印刷を行う場合に、省略するアイテムまたはグループの表示方法や印刷する帳票の設定を行うためし印刷設定ダイアログの例を示す図である。
【００４１】
ためし印刷設定ダイアログウィンドウ１３０１は、タイトルバー１３０２と、各種の情報を設定するエリア１３０３と、各種の設定を有効にして設定ダイアログを閉じる「ＯＫ」ボタン１３０４と、各種の設定を無効にしてダイアログを閉じる「キャンセル」ボタン１３０５から構成する。
【００４２】
ためし印刷設定ダイアログウィンドウ１３０１には、レイアウト調整部６が設定する省略できるアイテムまたはグループの表示方法をユーザに設定させるための省略部分の表示方法１３０６と、レイアウト調整部６の実行によっても印刷ページを削減することができなかった場合に印刷対象のデータを選択させる、ページが削減できなかった場合の設定１３０７とが表示される。
【００４３】
省略部分の表示方法を設定させる省略部分の表示方法１３０６には、未記入の項目について項目名を含めた項目の全てを削除する設定を行うことができるチェックボックス１３０８がある。また、印刷ページを削減することができなかった場合に印刷対象のデータを選択させるためのページが削減できなかった場合の設定１３０７には、レイアウト調整部６の実行前の帳票を印刷する設定ができるチェックボックス１３０９と、レイアウト調整部６の実行後の帳票を印刷する設定ができるチェックボックス１３１０とがある。なお、チェックボックス１３０９と１３１０とは、何れか一方しか選択できない。
【００４４】
図１４は本発明の実施形態による帳票出力システムでテスト印刷を行う場合の処理動作を説明するフローチャートであり、次に、これについて説明する。
【００４５】
（１）処理が開始されると、帳票フォーマット１９と帳票データ２０とを読み込んで、変更前印刷情報テーブル１０と変更後印刷情報テーブル１１とを生成する印刷情報読み込みの処理を行う（ステップ１４０１）。
【００４６】
（２）生成した変更前印刷情報テーブル１０から帳票内の罫線で囲まれるアイテムの集まりを線グループ、帳票内の横向きの罫線によって区切られる領域に含まれるアイテムの集まりを領域グループとして設定し、グループ関連情報テーブル１２、線グループ情報テーブル１３、領域グループ情報テーブル１４、リンク情報テーブル１５を生成するグルーピングの処理を行う（ステップ１４０２）。
【００４７】
（３）生成した変更前印刷情報テーブル１０、グループ関連情報テーブル１２、線グループ情報テーブル１３、領域グループ情報テーブル１４、リンク情報テーブル１５から変更後印刷情報テーブル１１の各アイテムの値を設定するレイアウト調整の処理を行う。この処理は、レイアウト調整部６による処理であり、その詳細は、図１５に示すフローを参照して後述する（ステップ１４０３）。
【００４８】
（４）変更前印刷情報テーブル１０と変更後印刷情報テーブル１１とのそれぞれから印刷ページ数を算出し、変更後印刷情報テーブル１１の印刷ページ数と変更前印刷情報テーブル１０の印刷ページ数とを比較して、印刷ページを削減することができたか否かを判定するページ削減判定の処理を行う。この判定において、変更前印刷情報テーブル１０及び変更後印刷情報テーブル１１の印刷ページ数は、アイテムのＹ座標と高さとを加算した値を用紙の高さで除算し、小数点以下を切り上げた値を求め、求められた値の内、最大の値を印刷ページ数とするとして求めることができる。また、印刷ページを削減することができたか否かの判定は、式（１）に示す以下の条件式が成立する場合に削減できると判定することにより行うことができる。
【００４９】
{y1∈Si,y2∈Ti,i=1,2,3...n | max(ceiling(y1/h))-max(ceiling(y2/h))＞０}
……（１）
前記式（１）において、Siは変更前印刷情報テーブルのｉ番目のアイテム情報、Tiは変更後印刷情報テーブルのｉ番目のアイテム情報、n は帳票内にあるアイテム数、y1はアイテム情報SiのＹ座標、y2はアイテム情報TiのＹ座標、h は変更後印刷情報テーブルの種別が“用紙”であるアイテム情報の高さである（ステップ１４０４）。
【００５０】
（５）ステップ１４０４での判定で、ページ数が削減できたか否か、ためし印刷設定ダイアログのページが削減できない場合の設定において「省略した帳票を印刷する」にチェックがあるか否かを判定する（ステップ１４０５）。
【００５１】
（６）ステップ１４０５の判定で、ステップ１４０４のページ削減判定によりページを削減することができたと判定され、かつ、図１３に示すためし印刷設定ダイアログのページが削減できない場合の設定のおいて省略した帳票を印刷するチェックボックス１３１０が選択されていた場合、変更後印刷情報テーブル１１から印刷データを取得し、印刷処理を行う（ステップ１４０６）。
【００５２】
（７）ステップ１４０５の判定で、ステップ１４０４のページ削減判定によりページを削減することができないと判定され、または、図１３に示すためし印刷設定ダイアログのページが削減できない場合の設定のおいて元の帳票を印刷するチェックボックス１３０９が選択されていた場合、変更前印刷情報テーブル１０から印刷データを取得し、印刷処理を行う（ステップ１４０７）。
【００５３】
（８）ステップ１４０６またはステップ１４０７の処理の終了後、印刷対象となった帳票を画面にプレビュー表示し、印刷対象である帳票を印刷して、ここでの処理を終了する（ステップ１４０８、１４０９）。
【００５４】
図１５は図１４に示すフローのステップ１４０３でのレイアウト調整部６の処理動作を説明するフローチャートであり、次に、これについて説明する。
【００５５】
（１）レイアウト調整の処理が開始されると、帳票内のアイテムに対して文字を表示するために、文字の表示に必要な高さを算出して設定すると共に、文字アイテム間の距離について帳票のレイアウトを維持した値を算出して設定を行う、［文字アイテム調整］の処理を実行する。なお、この［文字アイテム調整］処理の詳細については、図１６に示すフローを参照して後述する（ステップ１５０１）。
【００５６】
（２）図１３に示しているためし印刷設定ダイアログの省略部分の表示設定における「未記入項目を削除する」にチェックがあるか否かを判定し、「未記の項目を削除する」にチェックがあった場合、未記入の項目を削除するため、関連するアイテムの値を設定する、［グループ省略判定］の処理を実行する。なお、この［グループ省略判定］処理の詳細については、図２７に示すフローを参照して後述する（ステップ１５０２、１５０３）。
【００５７】
（３）次に、ステップ１５０２の判定で、「未記の項目を削除する」にチェックがなかった場合、あるいは、ステップ１５０３での［グループ省略判定］処理の終了後、線グループ内の罫線に対して、線グループ内の文字を表示するために必要な高さを算出して設定を行う、［線アイテム調整］の処理を実行する。なお、この［線アイテム調整］処理の詳細については、図４０に示すフローを参照して後述する（ステップ１５０４）。
【００５８】
（４）帳票内の線グループにおいて、線グループ間の距離を縮めることにより、線グループを前のページに移動することができるか否かを判定し、線グループを前のページに移動できるか否かの判定の後、線グループに含まれる全てのアイテムのＹ座標を設定する、［グループ調整］の処理を実行して、ここでの処理を終了する。なお、この［グループ調整］処理の詳細については、図４７に示すフローを参照して後述する（ステップ１５０５）。
【００５９】
図１６は図１５に示すフローのステップ１５０１での文字アイテム調整の処理動作を説明するフローチャートであり、次に、これについて説明する。
【００６０】
ここで説明する文字アイテム調整の処理は、帳票内の文字アイテムについて文字列を表示するために必要なアイテムの高さを算出して設定を行うと共に、文字アイテム間の距離について帳票のレイアウトを維持した値を算出して設定を行う処理であり、アイテムの高さは、以下の式（２）を用いて算出することができる。
【００６１】
{(ｎ,ｗ,ｂ,ｌ)∈Ｘ | ｈ=ceiling(ｎ/floor(ｗ/ｂ))*ｌ}              ……（２）
前記式（２）において、Ｘは対象のアイテム情報、ｈはアイテム情報Ｘの高さ、ｎはアイテム情報Ｘの文字列の文字数、ｗはアイテム情報Ｘの幅、ｂはアイテム情報Ｘの文字の幅、ｌはアイテム情報Ｘの文字の高さである。
【００６２】
（１）文字アイテム調整の処理が開始されると、変更前印刷情報テーブルから「種別」が“文字”のアイテムを１つ取得し、取得した対象アイテムの「幅」、「フォントサイズ」、「フォントスタイル」から「文字列」を表示するために必要な高さを算出して、算出した高さを変更後印刷情報テーブルに設定し、取得した対象アイテムに対して、［リンク情報更新］の処理を実行する（ステップ１６０１〜１６０３）。
【００６３】
（２）その後、変更前印刷情報テーブルの「種別」が“文字”のアイテムの全てについて、ステップ１６０１〜１６０３の処理を終了したか否かを判定し、終了していなかった場合、ステップ１６０１からの処理に戻って処理を続ける（ステップ１６０４）。
【００６４】
（３）ステップ１６０４の判定で、変更前印刷情報テーブルの「種別」が“文字”のアイテムの全てについて、ステップ１６０１〜１６０３の処理を終了していた場合、前述までの処理で、“文字”アイテムの高さが設定された変更後印刷情報テーブルから「種別」が“文字”のアイテムを１つ取得し、取得した対象アイテムについて、［削減距離算出］の処理を実行する。なお、この［削減距離算出］処理の詳細については、図１８に示すフローを参照して後述する（ステップ１６０５、１６０６）。
【００６５】
（４）次に、変更後印刷情報テーブルの対象アイテムの「Ｙ座標」について、ステップ１６０６の処理で算出した“減算距離”を減算した値を設定し、対象アイテムに対して、［リンク情報更新］の処理を実行する。なお、ここでの［リンク情報更新］処理の詳細については、図１７に示すフローを参照して後述する（ステップ１６０７、１６０８）。
【００６６】
（５）その後、変更後印刷情報テーブルの「種別」が“文字”のアイテムの全てについて、ステップ１６０５〜１６０８の処理を終了したか否かを判定し、終了していなかった場合、ステップ１６０５からの処理に戻って処理を続け、終了していた場合、ここでの処理を終了する（ステップ１６０９）。
【００６７】
前述したステップ１６０１〜１６０４の処理で、帳票内の文字アイテムについて文字列を表示するために必要な高さを算出して設定を行う処理を、入力データとして変更前印刷情報テーブル１０、リンク情報テーブル１５、入力イメージとして図１９に示すような帳票の例、出力データとして図２１に示す変更後印刷情報テーブル２１０１、図２２に示すリンク情報テーブル２２０１、出力イメージとして図２０に示すような帳票の例を使用して、具体的に説明する。ステップ１６０１〜１６０４の処理では、図７に示した変更前印刷情報テーブル１０の種別７０２が“文字”であるアイテムに対して、幅７０５と、文字の幅７０７と、文字の高さ７０８から文字列７１１を表示するために必要なアイテムの高さを算出し、図２１に示しているような変更後印刷情報テーブル２１０１の対象アイテムの高さ２１０２に設定している。
【００６８】
いま、変更前印刷情報テーブル１０の種別７０２が“文字”であるアイテムの情報としてレコード７１２を取得したものとし、その場合の処理について説明する。
【００６９】
アイテム情報のレコード７１２を対象アイテムとして取得（ステップ１６０１）した場合、変更前印刷情報テーブル１０のアイテム情報のレコード７１２から幅７０５が“２００”と、文字の幅７０７が“１０”と、文字の高さ７０８が“１０”と、文字列７１１が“北区△△町３丁目１−６”とを取得することができる。文字列７１１から文字数が“１１”として取得できる。対象アイテムが１行に表示できる文字数は、幅７０５である“２００”を文字の幅７０７である“１０”で除算し、小数点以下を切り捨てにした値“２０”となる。文字列７１１を表示するために必要な行数は、文字列７１１の文字数である“１１”を対象アイテムが１行に表示できる文字数である“２０”で除算し、小数点以下を切上げにした値“１”となる。文字列７０７を表示するために必要なアイテムの高さは、文字列７０７を表示するために必要な行数である“１”に文字の高さ７０８である“１０”を乗算した値である“１０”となる。この値を変更前印刷情報テーブル１０のアイテム情報７１２と同じアイテムＩＤ７０１を保持する変更後印刷情報テーブル２１０１（図２１）のアイテム情報２１０３の高さ２１０２に設定する（ステップ１６０２）。
【００７０】
そして、アイテム情報７１２に対して［リンク情報更新］の処理を行い、図２２に示しているリンク情報テーブル２２０１のリンク情報のレコード２２０５、２２０６の変更後距離２２０４を設定する（ステップ１６０３）。
【００７１】
図７に示す変更前印刷情報テーブル１０の種別７０２が“文字”であるアイテムの全てについて、前述の処理をしていない場合（ステップ１６０４）、ステップ１６０１〜１６０３の処理を繰り返す。
【００７２】
帳票内の文字アイテムについて文字列を表示するために必要な高さを算出し、設定を行う処理により、図１９に示すような入力イメージとしての帳票の例におけるアイテムの高さである“３０ｍｍ”１９０１と、リンク情報の距離である“３ｍｍ”１９０２、“３ｍｍ”１９０３とは、図２０に示すような出力イメージとしての帳票の例におけるアイテムの高さである“１０ｍｍ”２００１と、リンク情報の距離である“１３ｍｍ”２００２、“２３ｍｍ”２００３ととして設定される。
【００７３】
図１９に示すような入力イメージとしての帳票内の文字アイテムの全てについて文字列を表示するために必要な高さを算出して設定を行うステップ１６０１〜１６０３の処理を行った結果の帳票全体の出力イメージは図２０に示すようなものとなる。
【００７４】
前述したステップ１６０５〜１６０９の処理で、文字アイテム間の距離について帳票のレイアウトを維持した値を算出して設定を行う処理を、入力データとして図２１に示す変更後印刷情報テーブル２１０１、図２２に示すリンク情報テーブル２２０１、入力イメージとして、図２０に示すような帳票の例、出力データとして、図２４に示すような変更後印刷情報テーブル２４０１、図２５に示すようなリンク情報テーブル２５０１、出力イメージとして、図２３に示すような帳票の例を使用して、具体的に説明する。ステップ１６０５〜１６０９の処理では、変更後印刷情報テーブル２１０１の種別２１０４が“文字”であるアイテムに対して、削減距離を算出し、Ｙ座標２１０５から減算した値を変更後印刷情報テーブル２４０１の対象アイテムのＹ座標２４０４に設定している。
【００７５】
いま、変更後印刷情報テーブル２１０１の種別２１０４が“文字”であるアイテムの情報としてレコード２１０３を取得したものとし、その場合の処理について説明する。
【００７６】
アイテム情報のレコード２１０３を対象アイテムとして取得（ステップ１６０５）した場合、アイテム情報のレコード２１０３に対して［削減距離算出］の処理を行い、削減距離として“１０”を算出する（ステップ１６０６）。
【００７７】
そして、変更後印刷情報テーブル２１０１のアイテム情報のレコード２１０３のＹ座標２１０５の“２５８”から前述で算出した削減距離“１０”を減算した値“２４８”を、入力データとした変更後印刷情報テーブル２１０１のアイテム情報のレコード２１０３と同じアイテムＩＤ２１０６を保持する図２４に示す変更後印刷情報テーブル２４０１のアイテム情報のレコード２４０７のＹ座標２４０４に設定する（ステップ１６０７）。
【００７８】
そして、アイテム情報のレコード２１０３に対して［リンク情報更新］の処理を行い、図２５に示すリンク情報テーブル２５０１のリンク情報のレコード２５０３の変更後距離２５０２を設定する（ステップ１６０８）。
【００７９】
入力とした変更後印刷情報テーブル２１０１内の種別２１０４が“文字”であるアイテムの全てについて、ステップ１６０５〜１６０８の処理をしていない場合（ステップ１６０９）、ステップ１６０５〜１６０８の処理を繰り返す。
【００８０】
前述した文字アイテム間の距離について帳票のレイアウトを維持した値を算出して設定を行う処理により、図２０のリンク情報の距離である“１３ｍｍ”２００２と、“２３ｍｍ”２００３とは、図２３のリンク情報の距離である“３ｍｍ”２３０１と、“３ｍｍ”２３０２として設定される。文字アイテム間の距離について帳票のレイアウトを維持した値を算出して設定を行う処理が終了した後の帳票全体の出力イメージは図２６に示すようなものとなる。
【００８１】
図１７は図１６に示すフローのステップ１６０３、１６０９での［リンク情報更新］の処理動作を説明するフローチャートであり、次に、これについて説明する。
【００８２】
ここで説明するリンク情報更新の処理は、変更後印刷情報テーブルに対して、アイテム間または線グループ間の距離を算出してリンク情報テーブルの変更後距離に設定する処理であり、アイテム間または線グループ間の距離は、以下の式（３）を用いて算出することができる。
【００８３】
{(S,T)∈Ｌi,i=1,2,3...n,(y1,h)∈S,y2∈T | d=t2-(y1+h1)}           ……（３）
前記式（３）において、ｄはアイテム間または線グループ間の距離、Ｌi はリンク情報テーブルについて上位アイテムまたは下位アイテムが対象のアイテム情報、または、線グループ情報のリンク情報、ｎはリンク情報テーブルについて上位アイテムまたは下位アイテムが対象のアイテム情報、または、線グループ情報のリンク情報の数、Ｓはリンク情報Ｌの上位アイテムのアイテム情報または線グループ情報、Ｔはリンク情報Ｌの下位アイテムのアイテム情報または線グループ情報、ｙ１は変更後印刷情報テーブルのアイテム情報または線グループ情報ＳのＹ座標、ｈは変更後印刷情報テーブルのアイテム情報または線グループ情報Ｓの高さ、ｙ２は変更後印刷情報テーブルのアイテム情報または線グループ情報ＴのＹ座標である。
【００８４】
（１）リンク情報更新の処理が開始されると、リンク情報テーブルから「上位アイテム」または「下位アイテム」が対象アイテムまたは対象グループとなっているリンク情報のレコードを取得し、取得したリンク情報のレコードの「上位アイテム」について、変更後印刷情報テーブルまたは線グループ情報テーブルから「Ｙ座標」、「高さ」を取得し、これらを加算した値を上位座標として設定する（ステップ１７０１、１７０２）。
【００８５】
（２）取得したリンク情報のレコードの「下位アイテム」について、変更後印刷情報テーブルまたは線グループ情報テーブルから「Ｙ座標」を取得し、取得した値を下位座標として設定し、下位座標の値から上位座標の値を減算した値をリンク情報テーブルの「変更後距離」に設定する（ステップ１７０３、１７０４）。
【００８６】
（３）リンク情報テーブルの「上位アイテム」または「下位アイテム」が対象アイテムまたは対象グループとなっているリンク情報のレコードの全てについて、ステップ１７０１〜１７０４の処理を行ったか否かを判定し、全てについて処理が終わっていなければ、ステップ１７０１からの処理に戻って処理を続け、全てについて処理が終わっていれば、ここでの処理を終了する（ステップ１７０５）。
【００８７】
前述した図１６に示すフローのステップ１６０３の処理でのリンク情報更新の処理動作を、図２１に示す変更後印刷情報テーブル２１０１のアイテム情報のレコード２１０３を対象アイテムとした場合について、具体的に説明する。
【００８８】
アイテム情報のレコード２１０３を対象アイテムとした場合、図１２に示しているリンク情報テーブル１５の上位アイテム１２０２がアイテム情報のレコード２１０３のアイテムＩＤ２１０６の“IID_040” であるリンク情報のレコード１２０６を取得する（ステップ１７０１）。
【００８９】
次に、リンク情報のレコード１２０６の上位アイテム１２０２の“IID_040” と同一の情報を持つ、図２１に示す変更後印刷情報テーブル２１０１のレコード２１０３のＹ座標２１０５の“２５８”と高さ２１０２の“１０”とを加算した値“２６８”を上位座標とする（ステップ１７０２）。
【００９０】
そして、リンク情報のレコード１２０６の下位アイテム１２０３“IID_041” と同一の情報を持つ、図２１に示す変更後印刷情報テーブル２１０１のレコード２１０３のＹ座標２１０５の“２９１”を下位座標とする（ステップ１７０３）。
【００９１】
リンク情報テーブル１２０１のリンク情報のレコード１２０６と同じリンクＩＤ１２０１を保持する図２２に示すリンク情報テーブル２２０１のリンク情報のレコード２２０６を取得し、リンク情報のレコード２２０６の変更後距離２２０４に下位座標である“２９１”から上位座標である“２６３”を減算した値である“”２３”を設定する（ステップ１７０４）。
【００９２】
リンク情報テーブル１５の上位アイテム１２０２または下位アイテム１２０３に、図２１に示す変更後情報印刷テーブル２１０１のアイテム情報のレコード２１０３と同一のアイテムＩＤ持つリンク情報の全てについて、前述までの処理が終了していた場合、（ステップ１７０５）、ここでの処理を終了し、処理が終了していなかった場合、ステップ１７０１〜１７０４の処理を繰り返す。
【００９３】
リンク情報テーブルの「上位アイテム」または「下位アイテム」が対象アイテムまたは対象グループとなっているリンク情報のレコードの全てについて、ステップ１７０１〜１７０４の処理を行ったか否かを判定し、全てについて処理が終わっていなければ、ステップ１７０１からの処理に戻って処理を続け、全てについて処理が終わっていれば、ここでの処理を終了する（ステップ１７０５）。
【００９４】
図１８は図１６に示すフローのステップ１６０６での［削減距離算出］の処理動作を説明するフローチャートであり、次に、これについて説明する。
【００９５】
削減距離算出の処理は、リンク情報テーブルの下位アイテムが対象のアイテムまたは線グループであるリンク情報の全てにおける変更前距離と変更後距離とについて、それぞれの最小値を取得し、その差分を削減距離として設定する処理であり、削減距離は、以下の式（４）を用いて算出することができる。
【００９６】
{(ｒ１,ｒ２)∈Ｘi,i=1,2,3...ｎ | ｄ=min(ｒ２)-min(ｒ１)}          ……（４）
前記式（４）において、ｄは削減距離、Ｘi はリンク情報テーブルについて下位アイテムが対象のアイテムまたは線グループであるリンク情報、ｎはリンク情報テーブルについて下位アイテムが対象のアイテムまたは線グループであるリンク情報の数、ｒ１はリンク情報テーブルについてリンク情報Ｘi の変更前距離、ｒ２はリンク情報テーブルについてリンク情報Ｘi の変更後距離である。
【００９７】
（１）削除距離算出の処理が開始されると、リンク情報テーブルから「下位アイテム」が対象アイテムまたは対象グループであるリンク情報のレコードを取得し、取得したリンク情報のレコードにおける「変更前距離」を取得すると共に、「変更後距離」を取得する（ステップ１８０１、１８０２）。
【００９８】
（２）取得したリンク情報のレコードにおける「変更前距離」が“変更前最短距離”より小さいか否かを判定し、「変更前距離」が“変更前最短距離”より小さかった場合、取得したリンク情報のレコードにおける「変更前距離」を“変更前最短距離”に設定する（ステップ１８０３、１８０４）。
【００９９】
（３）ステップ１８０３の判定で、「変更前距離」が“変更前最短距離”より小さくなかった場合、あるいは、ステップ１８０４の処理を終了した後、取得したリンク情報のレコードにおける「変更後距離」が“変更後最短距離”より小さいか否かを判定し、「変更後距離」が“変更後最短距離”より小さかった場合、取得したリンク情報のレコードにおける「変更後距離」を“変更後最短距離”に設定する（ステップ１８０５、１８０６）。
【０１００】
（４）ステップ１８０５の判定で、「変更ご距離」が“変更後最短距離”より小さくなかった場合、あるいは、ステップ１８０６の処理を終了した後、リンク情報テーブルの「下位アイテム」が対象アイテムまたは対象グループであるリンク情報のレコードの全てについて、ステップ１８０１〜１８０６の処理を済ませたか否かを判定し、処理が済んでいないレコードが残っていた場合、ステップ１８０１からの処理に戻って処理を繰り返す（ステップ１８０７）。
【０１０１】
（５）ステップ１８０７の判定で、全てのレコードについて処理が済んでいた場合、“変更後最短距離”から“変更前最短距離”を減算した値を“削減距離”と設定して、ここでの処理を終了する（ステップ１８０８）。
【０１０２】
前述した図１６に示すフローのステップ１６０６の処理における削除距離算出の処理動作を、図２１に示す変更後印刷情報テーブル２１０１のアイテム情報のレコード２１０３を対象アイテムとした場合を例とし、入力データとして、変更後印刷情報テーブル２１０１、図２２に示すリンク情報テーブル２２０１を使用するものとして具体的に説明する。
【０１０３】
アイテム情報のレコード２１０３を対象アイテムとした場合、リンク情報テーブル２２０１の下位アイテム２２０２がアイテム情報のレコード２１０３が持つアイテムＩＤの“IID_040” と同一となっているリンク情報のレコード２２０５を取得し、取得したリンク情報のレコード２２０５の変更前距離２２０３である“３”と、変更後距離２２０４である“１３”とを取得する。
【０１０４】
そして、リンク情報テーブル２２０１の下位アイテム２２０２がアイテム情報のレコード２１０３が持つアイテムＩＤの“IID_040” と同一となっているリンク情報のレコードは、レコード２２０５のみであるため、変更前最短距離を“３”、変更後最短距離を“１３”に設定し、変更後最短距離“１３”から変更後最短距離“３”を減算した値である“１０”を削減距離と設定し、処理を終了する。
【０１０５】
図２７は図１５に示すフローのステップ１５０３での［グループ省略判定］の処理動作を説明するフローチャートであり、次に、これについて説明する。
【０１０６】
グループ省略判定の処理は、領域グループについて、その領域グループを省略することができるか否かを判定する処理であり、省略できる場合、［領域グループの表示設定］を行って、領域グループを省略する。
【０１０７】
グループ省略判定では、以下に示す条件式（５）が成立する場合に、対象の領域グループを省略できると判定する。
【０１０８】
{Ｓi∈Ｒ, ∀Ｔj∈Ｓi,ｈ∈Ｔj,i=1,2,3...n,j=1,2,3...m | ｈ=０}     ……（５）
前記式（５）において、Ｒは領域グループ情報テーブルの対象の領域グループ情報、Ｓiは線グループ情報について領域グループが領域グループ情報Ｒであるｉ番目の線グループ情報、ｉは線グループ情報について領域グループが領域グループ情報Ｒである線グループ情報の数、Ｔj は線グループ関連情報テーブルについて線グループが線グループ情報Ｓi であり、可変であるｊ番目のアイテム情報、ｊは線グループ関連情報テーブルについて線グループが線グループ情報Ｓi であり、可変であるアイテム情報の数、ｈは変更後印刷情報テーブルのアイテム情報Ｔj の高さである。
【０１０９】
（１）グループ省略判定の処理が開始されると、領域グループ情報テーブルから領域グループ情報のレコードを１つ取得し、線グループ情報テーブルからその種別が“２”であり、前述で取得した領域グループ情報のレコードが持つ領域グループＩＤと同一の領域グループＩＤを持つ線グループを取得する（ステップ２７０１、２７０２）。
【０１１０】
（２）グループ関連情報テーブルから、線グループが前述で取得した線グループと同一であり、変更後印刷情報テーブルの「固定／可変」が可変となっているアイテムを取得し、取得したアイテムについて、変更後印刷情報テーブルの「高さ」が“０”であるか否か、または、アイテムが未取得であるか否かを判定する（ステップ２７０３、２７０４）。
【０１１１】
（３）ステップ２７０４の判定で、取得したアイテムの変更後印刷情報テーブルの「高さ」が“０”であった場合、または、アイテムが未取得であった場合、取得した線グループについて、変更後印刷情報テーブルの「固定／可変」が“可変”となっているアイテムの全てについて、前述したステップ１７０４の処理によるチェックを終了したか否かを判定し、終了していなかった場合、ステップ２７０３からの処理に戻って処理を続ける（ステップ２７０５）。
【０１１２】
（４）ステップ２７０５の判定で、変更後印刷情報テーブルの「固定／可変」が“可変”となっているアイテムの全てについて、前述したステップ１７０４の処理によるチェックを終了していた場合、対象の領域グループについて、［領域グループ表示設定］の処理を実行する。この［領域グループ表示設定］の処理動作の詳細については、図２８に示すフローを参照して後述する（ステップ２７０６）。
【０１１３】
（５）ステップ２７０４の判定で、取得したアイテムの変更後印刷情報テーブルの「高さ」が“０”でなかった場合、または、アイテムが取得済みであった場合、あるいは、ステップ２７０６の処理の後、領域グループ情報テーブルの領域グループ情報のレコードの全てについて、前述までの処理によるチェックを終了したが否かを判定し、終了していなかった場合、ステップ２７０１からの処理に戻って処理を続け、終了していた場合、ここでの処理を終了する（ステップ２７０７）。
【０１１４】
前述したグループ省略判定の処理を、入力データとして、図３０に示す変更後印刷情報テーブル３００１、図９に示す線グループ関連情報テーブル１２、図３１に示す線グループ情報テーブル３１０１、図３２に示す領域グループ情報テーブル３２０１、図３３に示すリンク情報テーブル３３０１を使用し、入力イメージとして、図２９に示す帳票フォーマットを、出力データとして、図３５に示す変更後印刷情報テーブル３５０１、図３６に示す線グループ情報テーブル３６０１、図３７に示す領域グループ情報テーブル３７０１、図３８に示すリンク情報テーブル３８０１を、出力イメージとして、図３４、図３９に示す帳票フォーマットを使用し、領域グループ情報テーブル３２０１の領域グループ情報のレコード３２０５を取得したものとして、具体的に説明する。
【０１１５】
領域グループ情報テーブル３２０１から領域グループ情報のレコード３２０５を対象グループとして取得した場合（ステップ２７０１）、線グループ情報テーブル３１０１の種別３１０３が“２”であり、領域グループ３１０６の、領域グループ情報のレコード３２０５が持つ領域グループＩＤ３２０２である“AID_007” と同一のＩＤとしての“AID_007” が含まれている線グループ情報のレコード３１０７、３１０８、３１０９を取得する（ステップ２７０３）
取得した線グループ情報の内、線グループ情報のレコード３１０７について説明すると、グループ関連情報テーブル１２からこのテーブルの線グループ９０２が、線グループ情報のレコード３１０７の線グループＩＤ３１０２の“GID_021” と同一のグループ関連情報のレコード９０３を取得する。
【０１１６】
変更後印刷情報テーブル３００１のアイテムＩＤ３００２の中にグループ関連情報９０３のアイテムＩＤ９０１と同一であり、固定／可変３００５が“可変”であるアイテム情報がないため、線グループ情報のレコード３１０７については、省略可能である。
【０１１７】
次に、取得した線グループ情報の内、線グループ情報のレコード３１０８について説明すると、グループ関連情報テーブル１２からこの線グループ９０２が、線グループ情報のレコード３１０８の線グループＩＤ３１０２の“GID_023” と同一のグループ関連情報のレコード９０４を取得する。
【０１１８】
変更後印刷情報テーブル３００１のアイテムＩＤ３００２の中にグループ関連情報９０４のアイテムＩＤ９０１と同一であり、固定／可変３００５が“可変”であるアイテム情報がないため、線グループ情報のレコード３１０８については、省略可能である。
【０１１９】
次に、取得した線グループ情報の内、線グループ情報のレコード３１０９について説明すると、グループ関連情報テーブル１２からこの線グループ９０２が、線グループ情報のレコード３１０９の線グループＩＤ３１０２の“GID_025” と同一のグループ関連情報のレコード９０５を取得する。
【０１２０】
変更後印刷情報テーブル３００１のアイテムＩＤ３００２の中にグループ関連情報９０５のアイテムＩＤ９０１と同一であり、固定／可変３００５が“可変”であるアイテム情報のレコード３００７を取得する。アイテム情報のレコード３００７は全ての高さ３００４が“０”であるため、線グループ情報のレコード３１０９については、省略可能である。
【０１２１】
前述で説明したように、線グループ情報のレコード３１０７、３１０８、３１０９のそれぞれが省略可能であるため、領域グループ情報のレコード３２０５が省略可能となり、領域グループ情報のレコード３２０５について［領域グループの表示設定］を行う（ステップ２７０６）
領域グループテーブル３２０１の領域グループ情報のレコードの全てについてチェックが終了した場合（ステップ２７０８）、処理を終了する。領域グループテーブル３２０１の領域グループ情報のレコードの全てをチェックできていない場合（ステップ２７０８）、ステップ２７０１〜２７０７の処理を繰り返す。
【０１２２】
前述したようなグループ省略判定の処理により、図２９に示す入力イメージとしての帳票における点線の枠２９０１は、点線の枠２９０１内のアイテムの高さが“０”に設定されることにより、図３４に示す出力イメージとしての帳票に示すように点線３４０１状に省略されることになる。そして、グループ省略判定の処理後、帳票全体の出力イメージは、図３９に示すようなものとなる。
【０１２３】
図２８は図２７に示すフローのステップ２７０６での［領域グループの表示設定］の処理動作を説明するフローチャートであり、次に、これについて説明する。
【０１２４】
領域グループの表示設定の処理は、領域グループ内のアイテムのＹ座標と高さとを設定し、アイテムを非表示とするまたは縮小する処理である。
【０１２５】
（１）線グループ情報テーブルの「種別」が“２”であり、「領域グループ」に対象の領域グループが含まれている線グループを取得し、取得した線グループについて、変更後印刷情報テーブルの「種別」が“文字”であるアイテムを取得する（ステップ２８０１、２８０２）。
【０１２６】
（２）取得した線グループについて、「領域グループ」が対象の領域グループのみであるか否かを判定し、「領域グループ」が対象の領域グループのみであった場合、取得したアイテムの全てと線グループとに対して、「高さ」を“０”に設定し、変更後印刷情報テーブルのＹ座標を領域グループ情報のＹ座標に設定する（ステップ２８０３、２８０４）。
【０１２７】
（３）ステップ２８０３の判定で、「領域グループ」が対象の領域グループのみではなかった場合、取得したアイテムの内、「Ｙ座標」が対象の領域グループの「Ｙ座標」と「高さ」との和より大きいアイテムと線グループとに対して、「Ｙ座標」から「高さ」を減算した値を設定する（ステップ２８０５）。
【０１２８】
（４）ステップ２８０４またはステップ２８０５の処理の後、取得した線グループについて、変更後印刷情報テーブルの「種別」が“縦線”であるアイテムを取得し、取得した全てのアイテムとそのアイテムとを含む線グループの「高さ」から対象の領域グループの「高さ」を減算した値を設定する（ステップ２８０６、２８０７）。
【０１２９】
（５）次に、取得した線グループについて、変更後印刷情報テーブルの「種別」が“横線”であるアイテムを取得し、取得した全てのアイテムの「Ｙ座標」を対象の領域グループの「Ｙ座標」の値として設定し、その後、線グループとグルー部内のアイテムの全てに対して、［リンク情報更新］の処理を行う（ステップ２８０８〜２８１０）。
【０１３０】
（６）線グループ情報テーブルの「領域グループ」に対象の領域グループが含まれる線グループの全てに対して前述まで処理によるチェックを終了したが否かを判定し、線グループの全てに対してチェックが終了していなければ、ステップ２８０１からの処理に戻って処理を続け、線グループの全てに対してチェックが終了していた場合、ここでの処理を終了する（ステップ２８１１）。
【０１３１】
前述した領域グループの表示設定の処理を、入力データとして、図３０に示す変更後印刷情報テーブル３００１、図９に示すグループ関連情報テーブル１２、図３１に示す線グループ情報テーブル３１０１、図３２に示す領域グループ情報テーブル３２０１、図３３に示すリンク情報テーブル３３０１を使用し、出力データとして、図３５に示す変更後印刷情報テーブル３５０１、図３６に示す線グループ情報テーブル３６０１、図３７に示す領域グループ情報テーブル３７０１、図３８に示すリンク情報テーブル３８０１を使用し、線グループ情報テーブル３１０１の種別３１０３が“２”であり、領域グループ３１０６に、領域グループ情報のレコード３２０５の領域グループＩＤ３２０２である“AID_007” と同一の“AID_007” が含まれている線グループ情報のレコード３１０９を取得したものとした場合の処理について説明する。
【０１３２】
線グループ情報のレコード３１０９は、領域グループ３１０６に“AID_007” のみを持つため（ステップ２８０３）、ステップ２８０４の処理が行われることになる。そして、グループ関連情報テーブル１２の線グループ９０２が線グループ情報のレコード３１０９の線グループＩＤ３１０２が示している“GID_025” と同一の“GID_025” を持つグループ関連情報のレコード９０５のアイテムＩＤ９０１に対して、変更後印刷情報テーブル３５０１のＹ座標３５０２を領域グループ情報のレコード３２０５のＹ座標３２０３に“４７９”として設定し、高さ３５０３を“０”に設定する（ステップ２８０４）。
【０１３３】
図９に示すグループ関連情報テーブル１２の線グループ９０２が、線グループ情報３１０９の線グループＩＤ３１０２と同じである線グループ情報のアイテムについて、変更後印刷情報テーブル３００１の種別３００３が“縦線”であるアイテム情報のレコード３００６を取得する（ステップ２８０６）。
【０１３４】
取得したアイテム情報のレコード３００６と同じアイテムＩＤ３００２を保持する変更後印刷情報テーブル３５０１のアイテム情報のレコード３５０４の高さ３５０３に領域グループ情報のレコード３２０５の高さ３２０４を減算した値を設定する。
【０１３５】
また、グループ関連情報テーブル１２のアイテムＩＤ９０１が、変更後印刷情報テーブル３００１アイテム情報のレコード３００６と同一であるグループ関連情報のレコード９０８の線グループである“GID_020” について、線グループ情報テーブル３１０１の線グループＩＤ３１０２と同一の線グループ情報のレコード３１１０の高さ３１０５から領域グループ情報のレコード３２０５の高さ３２０４を減算した値を線グループ情報テーブル３６０１の線グループ情報のレコード３６０３の高さ３６０２に設定する（ステップ２８０７）。
【０１３６】
グループ関連情報テーブル１２の線グループ９０２が、線グループ情報のレコード３１０９の線グループＩＤ３２０２と同一である線グループ情報のアイテムについて、変更後印刷情報テーブル３００１の種別３００３が“横線”であるアイテム情報のレコード３００８を取得する（ステップ２８０８）。
【０１３７】
取得したアイテム情報のレコード３００８と同一のアイテムＩＤ３００２を保持する変更後印刷情報テーブル３５０１のアイテム情報のレコード３５０５のＹ座標３５０２を領域グループ情報のレコードの３２０５のＹ座標３２０３に“４７９”として設定する（ステップ２８０９）。
【０１３８】
線グループ内のアイテムの全てに対して［リンク情報更新］の処理を行い（ステップ２８１０）、その後、領域グループ情報テーブル３２０１の領域グループに含まれる線グループ情報の全てについて前述したようなチェックを終了した場合（ステップ２８１１）、処理を終了する。領域グループ情報テーブル３２０１の領域グループに含まれる線グループ情報全てをチェックできていない場合（ステップ２８１１）、ステップ２８０１〜２８１０の処理を繰り返す。
【０１３９】
図４０は図１５に示すフローのステップ１５０４での［線アイテム調整］の処理動作を説明するフローチャートであり、次に、これについて説明する。
【０１４０】
線アイテム調整の処理は、帳票内の横線アイテムについて、Ｙ座標の設定を行い、縦線アイテムについて、高さの設定を行う処理である。
【０１４１】
（１）線アイテム調整の処理が開始されると、変更後印刷情報テーブルから「種別」が“横線”のアイテムを取得し、取得した対象アイテムについて、［削減距離算出］の処理を実行して“削減距離”を求める（ステップ４００１、４００２）。
【０１４２】
（２）変更後印刷情報テーブルから対象アイテムの「Ｙ座標」取得し、その「Ｙ座標」の値から前述で求めた“削減距離”を減算した値を算出して、「Ｙ座標」に設定処理、対象アイテムについて、［リンク情報の更新］の処理を実行する（ステップ４００３、４００４）。
【０１４３】
（３）次に、グループ関連情報テーブルから「線グループ」が対象アイテムの“線グループ”と同一であり、変更後印刷情報テーブルの「種別」が“縦線”のアイテムを取得処理、取得したアイテムの「高さ」から“削減距離”を減算した値を、変更後印刷情報テーブルのアイテム情報と同じアイテムＩＤを保持する変更後印刷情報テーブルのアイテム情報の高さとして設定する（ステップ４００５、４００６）。
【０１４４】
（４）対象の線グループについて、その「高さ」から“削減距離”を減算した値を対象の線グループの「高さ」として設定し、対象アイテムの線グループについて、［リンク情報更新］の処理を実行する（ステップ４００７、４００８）。
【０１４５】
（５）次に、対象アイテムの線グループの全てについて、前述までの処理によるチェックが済んだか否か、かつ、その線グループについて「種別」が“縦線”のアイテムの全てについて、前述までの処理によるチェックが済んだか否かを判定し、済んでいなかった場合、ステップ４００５からの処理に戻って処理を繰り返す（ステップ４００９）。
【０１４６】
（６）ステップ４００９の判定で、対象アイテムの線グループの全てについて、前述までの処理によるチェックが済み、かつ、その線グループについて「種別」が“縦線”のアイテムの全てについて、前述までの処理によるチェックが済んでいた場合、変更後印刷情報テーブルの「種別」が“横線”のアイテムの全てについて、前述までの処理によるチェックが済んだか否かを判定し、済んでいなかった場合、ステップ４００１からの処理に戻って処理を繰り返し、済んでいた場合、ここでの処理を終了する（ステップ４０１０）。
【０１４７】
前述した線アイテム調整の処理を、入力データとして、図２４に示す変更後印刷情報テーブル２４０１、図９に示す線グループ関連情報テーブル１２、図１３に示す線グループ情報テーブル１３、図２５に示すリンク情報テーブル２５０１を使用し、入力イメージとして、図４１に示す帳票のフォーマット例を使用し、出力データとして、図４３に示す変更後印刷情報テーブル４３０１、図４４に示す線グループ情報テーブル４４０１、図４５に示すリンク情報テーブル４５０１を使用し、出力イメージとして、図４２、図４６に示す帳票フォーマットの例を使用し、変更後印刷情報テーブル２４０１の種別２４０３が“横線”であるアイテム情報のレコード２４０８を取得したものとした場合の処理を例に説明する。
【０１４８】
変更後印刷情報テーブル２４０１の種別２４０３が“横線”であるアイテム情報のレコード２４０８を取得した場合（ステップ４００１）、アイテム情報のレコード２４０８について［削減距離算出］の処理を行い、削減距離として“３０”を算出する（ステップ４００２）。
【０１４９】
変更後印刷情報テーブル２４０１のアイテム情報のレコード２４０８のＹ座標２４０４である“３０４”から削減距離である“３０”を減算した値“２７４”を、変更後印刷情報テーブル２４０１のアイテム情報のレコード２４０８と同じアイテムＩＤ２４０２を保持する変更後印刷情報テーブル４３０１のアイテム情報のレコード４３０５のＹ座標４３０２に設定する（ステップ４００３）。
【０１５０】
アイテム情報のレコード２４０８に対して［リンク情報更新］の処理を実行し、リンク情報テーブル４５０１のリンク情報のレコード４５０３の変更後距離４５０２を設定する（ステップ４００４）。
【０１５１】
変更後印刷情報テーブル２４０１からアイテム情報のレコード２４０８のアイテムＩＤ２４０２である“IID_042” を取得する。グループ関連情報テーブル１２において、アイテム情報のレコード２４０８のアイテムＩＤ２４０２の“IID_042” と同一であるグループ関連情報のレコード９０６と同じ線グループ９０２の“GID_016” を保持するグループ関連情報のレコード９０７を取得する。グループ関連情報９０７のアイテムＩＤ９０１について、変更後印刷情報テーブル２４０１の種別２４０３が“縦線“であるアイテム情報２４０６を取得する（ステップ４００５）。
【０１５２】
変更後印刷情報テーブル２４０１のアイテム情報のレコード２４０６の高さ２４０５である“１０４”から削減距離である“３０”を減算した値“７４”を、変更後印刷情報テーブル２４０１のアイテム情報のレコード２４０６と同じアイテムＩＤ２４０２を保持する変更後印刷情報テーブル４３０１のアイテム情報のレコード４３０４の高さ４３０３に設定する（ステップ４００６）。
【０１５３】
グループ関連情報テーブル１２のグループ関連情報のレコード９０６の線グループ９０２に格納されている“GID_016” について、線グループ情報テーブル１３の線グループＩＤ１００１が“GID_016”である線グループ情報のレコード１００７の高さ１００４に格納されている“７５”から削減距離である“３０”を減算した値“４５”を、線グループ情報テーブル１３の線グループ情報のレコード１００７と同じ線グループＩＤを保持する線グループ情報テーブル４４０１の線グループ情報のレコード４４０５の高さ４４０４に設定する（ステップ４００７）。
【０１５４】
線グループ情報テーブル１３の線グループ情報のレコード１００７に対して［リンク情報更新］の処理を行う（ステップ４００８）。その後、グループ関連情報テーブル１２のグループ関連情報のレコード９０６と同じ線グループ９０２の“GID_016” を保持するグループ関連情報の全てをチェックできていない場合（ステップ４００９）、ステップ４００５〜４００８の処理を繰り返す。
【０１５５】
変更後印刷情報テーブル２４０１の種別２４０３が“横線”のアイテム情報の全てをチェックし終わった場合（ステップ４０１０）、処理を終了し、変更後印刷情報テーブル２４０１の種別２４０３が“横線”のアイテム情報の全てをチェックし終わっていない場合（ステップ４０１０）、ステップ４００１〜４００９の処理を繰り返す。
【０１５６】
前述した線アイテム調整の処理により、入力イメージとしての図４１に示す帳票のフォーマットの例の罫線４１０１は、出力イメージとしての図４２に示す帳票のフォーマットの例の罫線４２０１のように、Ｙ座標が削減距離である“３０ｍｍ”減少させられて設定される。図４１の罫線４１０２は、図４２の罫線４２０２のように、高さが削減距離である“３０ｍｍ”減少して設定される。図４１のリンク情報４１０３は、それぞれの距離が削減距離である“３０ｍｍ”減少して設定される。線アイテム調整の処理を行った後の帳票全体の出力イメージは、図４６に示すようなものとなる。
【０１５７】
図４７は図１５に示すフローのステップ１５０５での［グループ調整］の処理動作を説明するフローチャートであり、次に、これについて説明する。
【０１５８】
グループ調整の処理は、帳票内の線グループについて、その線グループを前ページに移動することができるか否かを判定する処理である。そして、前ページに移動できるか否かの判定の後、線グループと線グループに含まれるアイテムの全てとに対してＹ座標を設定する。
【０１５９】
帳票内の線グループについて、その線グループを前ページに移動できるかどうかは、以下の条件式（６）が成立する場合に、移動することができると判定する。
【０１６０】
{(S,T)∈X,(n,y1,h1)∈S,(y2,h2)∈T | (p*n-y1+h1)-(y2+h2-p*n)≧０}  ……（６）
前記式（６）において、Ｘはリンク情報テーブルについて対象の線グループが下位アイテムに設定されているリンク情報、Ｓは線グループ情報テーブルについてリンク情報テーブルのリンク情報Ｘの上位アイテムに設定されている線グループ情報、Ｔは線グループ情報テーブルについてリンク情報テーブルのリンク情報Ｘの下位アイテムに設定されている線グループ情報、ｐは変更後印刷情報テーブルの種別が“用紙”であるアイテム情報の高さ、ｎは線グループ情報テーブルについて線グループ情報Ｓのページ番号、ｙ１は線グループ情報テーブルについて線グループ情報ＳのＹ座標、ｈ１は線グループ情報テーブルについて線グループ情報Ｓの高さ、ｙ２は線グループ情報テーブルについて線グループ情報ＴのＹ座標、ｈ２は線グループ情報テーブルについて線グループ情報Ｔの高さである。
【０１６１】
（１）グループ調整の処理が開始されると、線グループ情報テーブルから「種別」が“１”の線グループを取得し、取得した対象グループについて、［削減距離算出］の処理を実行する（ステップ４７０１、４７０２）。
【０１６２】
（２）次に、リンク情報テーブルから「下位アイテム」が対象グループのリンク情報を取得し、取得したリンク情報の「上位アイテム」、「下位アイテム」において、線グループ情報テーブルの「ページ番号」が異なるか否かを判定する（ステップ４７０３、４７０４）。
【０１６３】
（３）ステップ４７０４の判定で、取得したリンク情報の「上位アイテム」、「下位アイテム」において、線グループ情報テーブルの「ページ番号」が異なっていた場合、“削減距離”と、取得したリンク情報の「変更後距離」と、上位アイテムにおける線グループ情報テーブルの「高さ」、「Ｙ座標」、「ページ番号」とから“削減距離”を再算出し、また、取得した「下位アイテム」の「ページ番号」から“１”を減算した値を歳出する（ステップ４７０５、４７０６）。
【０１６４】
（４）ステップ４７０４の判定で、取得したリンク情報の「上位アイテム」、「下位アイテム」において、線グループ情報テーブルの「ページ番号」が異なっていなかった場合、あるいは、ステップ４７０６の処理の後、グループ関連情報テーブルの「線グループ」が対象グループと同一のアイテムを取得し、取得したアイテムの全てに対して、変更後印刷情報テーブルの「Ｙ座標」から“削減距離”を減算した値を設定する（ステップ４７０７、４７０８）。
【０１６５】
（５）次に、線グループ情報テーブルの対象グループの「Ｙ座標」から“削減距離”を減算した値を設定して、［リンク情報更新］の処理を実行する。そして、線グループ情報テーブルの「種別」が“１”の線グループの全てについて、前述までの処理によるチェックを終了したか否かを判定し、終了していなければ、ステップ４７０１からの処理に戻って処理を繰り返し、終了していれば、ここでの処理を終了する（ステップ４７０９、４７１０）。
【０１６６】
前述したグループ調整の処理を、入力データとして、図４３に示す変更後印刷情報テーブル４３０１、図４４に示す線グループ情報テーブル４４０１、図４５に示すリンク情報テーブル４５０１を使用し、入力イメージとして、図４６に示す帳票の例を使用し、出力データとして、図５２に示す変更後印刷情報テーブル５２０１、図５３に示す線グループ情報テーブル５３０１、図５４に示すリンク情報テーブル５４０１、出力イメージとして、図５１に示す帳票の例を使用し、線グループ情報テーブル４４０１の種別４４０３が“１”である線グループ情報のレコード４４０６を取得したとした場合の処理を例に具体的に説明する。なお、線グループ情報のレコード４４０６を取得した場合の入力データとしては、図４８に示す変更後印刷情報テーブル４８０１、図４９に示す線グループ情報テーブル４９０１、図５０に示すリンク情報テーブル５００１を使用した。
【０１６７】
図４９に示す線グループ情報テーブル４９０１の種別４９０３が“１”である線グループ情報のレコード４９０８を取得し（ステップ４７０１）、線グループ情報のレコード４９０８について［削減距離算出］を行い、削減距離として“３０”を算出する（ステップ４７０２）。
【０１６８】
リンク情報テーブル５００１の下位アイテム５００３が線グループ情報テーブル４９０１の線アイテムＩＤ４９０２に格納されている“GID_020” と同一となっているリンク情報のレコード５００４を取得し（ステップ４７０３）、リンク情報のレコード５００４の上位アイテム５００２に格納されている“GID_011” と同一となっている線グループ情報テーブル４９０１のページ番号４９０６の“１”を取得する。リンク情報のレコード５００４の下位アイテム５００３に格納されている“GID_020” と同一となっている線グループ情報テーブル４９０１のページ番号４９０６の“２”を取得する。この結果、リンク情報のレコード５００４について、上位アイテムと下位アイテムとのページ番号が異なるため（ステップ４７０４）、ステップ４７０５、４７０６の処理を行い、下位アイテムが上位アイテムのページに移動できるか否かを判定する。
【０１６９】
リンク情報のレコード５００４の上位アイテム５００２の線グループ情報のレコード４９０７を取得する。変更後印刷情報テーブル４８０１の種別４８０３が“用紙”であるアイテム情報のレコード４８０６を取得し、アイテム情報のレコード４８０６の高さ４８０５に格納されている“４００”に線グループ情報のレコード４９０７のページ番号４９０６に格納されている“１”を乗算した値“４００”を用紙サイズとする。
【０１７０】
用紙サイズ“４００”から線グループ情報のレコード４９０７のＹ座標４９０４に格納されている“１３０”と高さ４９０５に格納されている“７４”とを減算した値“１９６”を算出し、この値を残りサイズする。線グループ情報のレコード４９０８のＹ座標４９０４に格納されている“４５０”と高さ４９０５に格納されている“２９”を加算した値“４７９”から用紙サイズ“４００”を減算した値“７９”を算出し、必要サイズとする。
【０１７１】
残りサイズから必要サイズを減算した値が“０”以上であれば、削減距離に残りサイズを設定する。残りサイズから必要サイズを減算した値が“０”未満であれば、削減距離に“０”を設定する。
【０１７２】
残りサイズ“１９６”から必要サイズ“７９”を減算した値“１１７”は、“０”以上であるため、削減距離を“１９６”に設定する（ステップ４７０５）。
【０１７３】
リンク情報のレコード５００４の上位アイテム５００２である線グループ情報のレコード４９０７のページ番号４９０６の“１”を、下位アイテム５００３である線グループ情報のレコード４９０８と同じ線グループＩＤを保持する線グループ情報テーブル５３０１の線グループ情報のレコード５３０４のページ番号５３０３に設定する（ステップ４７０６）。
【０１７４】
グループ関連情報テーブル１２の線グループ９０２が線グループ情報のレコード４９０８の線グループＩＤ４９０２と同一となっている線グループ関連情報のレコード９０８を取得する（ステップ４７０７）。
【０１７５】
線グループ関連情報のレコード９０８と同じアイテムＩＤ９０１を保持する変更後印刷情報テーブル４８０１のアイテム情報のレコード４８０７を取得する。アイテム情報のレコード４８０７のＹ座標４８０４に格納されている値から削減距離である“１９６”を減算した値を、変更後印刷情報テーブル４８０１のアイテム情報のレコード４８０７と同じアイテムＩＤ４８０２を保持する変更後印刷情報テーブル５２０１のアイテム情報のレコード５２０３のＹ座標５２０２に設定する（ステップ４７０８）。
【０１７６】
対象の線グループ情報のレコード４９０８のＹ座標４９０４に格納されている“４５０”から削減距離である“１９６”を減算した値“２５４”を、線グループ情報テーブル５３０１の線グループ情報のレコード５３０４のＹ座標５３０２に設定する。線グループ情報のレコード４９０８に対して［リンク情報更新］の処理を行い、リンク情報テーブル５４０１の変更後距離５４０２を設定する（ステップ４７０９）。
【０１７７】
線グループ情報テーブル４４０１の種別４４０３が“１”である線グループ情報の全てについてチェックを終了した場合（ステップ４７１０）、処理を終了する。線グループ情報テーブル４４０１の種別４４０３が“１”である線グループ情報の全てのチェックが済んでいない場合（ステップ４７１０）、ステップ４７０１〜４７０９の処理を繰り返し実行する。
【０１７８】
図５５は図１３に示したためし印刷設定ダイアログの省略部分の表示設定１３０６において、未記入の項目を削除する１３０８にチェックがない場合の入力イメージの帳票の例を示す図、図５６は図１３に示したためし印刷設定ダイアログの省略部分の表示設定１３０６において、未記入の項目を削除する１３０８にチェックがない場合に本発明を実施した出力イメージの帳票の例を示す図である。
【０１７９】
図１３に示したためし印刷設定ダイアログの省略部分の表示設定１３０６において、未記入の項目を削除する１３０８にチェックがない場合に、本発明を実施すると図５５の未記入である項目５５０１は、図５６の項目５６０１のように項目名が表示できる最小のサイズに設定、表示されるようになる。
【０１８０】
前述した本発明の実施形態での各処理は、プログラムにより構成し、本発明が備えるＣＰＵに実行させることができ、また、それらのプログラムは、ＦＤ、ＣＤＲＯＭ、ＤＶＤ等の記録媒体に格納して提供することができ、また、ネットワークを介してディジタル情報により提供することができる。
【符号の説明】
【０１８１】
１  帳票出力マシン
２  ＣＰＵ
３  メモリ
４  印刷情報読み込み部
５  グルーピング部
６  レイアウト調整部
７  ページ削減判定部
８  帳票出力処理部
９  印刷プレビュー部
１０  変更前前印刷情報テーブル
１１  変更後印刷情報テーブル
１２  グループ関連情報テーブル
１３  線グループ情報テーブル
１４  領域グループ情報テーブル
１５  リンク情報テーブル
１６  ディスクインタフェース
１７  インタフェース
１８  通信インタフェース
１９  帳票フォーマット
２０  帳票データ
２１  ディスプレイ
２２  ネットワーク
２３  プリンタ
２４  記憶装置
【図１】
2010267020.tif 000003
【図２】
2010267020.tif 000004
【図３】
2010267020.tif 000005
【図４】
2010267020.tif 000006
【図５】
2010267020.tif 000007
【図６】
2010267020.tif 000008
【図７】
2010267020.tif 000009
【図８】
2010267020.tif 000010
【図９】
2010267020.tif 000011
【図１０】
2010267020.tif 000012
【図１１】
2010267020.tif 000013
【図１２】
2010267020.tif 000014
【図１３】
2010267020.tif 000015
【図１４】
2010267020.tif 000016
【図１５】
2010267020.tif 000017
【図１６】
2010267020.tif 000018
【図１７】
2010267020.tif 000019
【図１８】
2010267020.tif 000020
【図１９】
2010267020.tif 000021
【図２０】
2010267020.tif 000022
【図２１】
2010267020.tif 000023
【図２２】
2010267020.tif 000024
【図２３】
2010267020.tif 000025
【図２４】
2010267020.tif 000026
【図２５】
2010267020.tif 000027
【図２６】
2010267020.tif 000028
【図２７】
2010267020.tif 000029
【図２８】
2010267020.tif 000030
【図２９】
2010267020.tif 000031
【図３０】
2010267020.tif 000032
【図３１】
2010267020.tif 000033
【図３２】
2010267020.tif 000034
【図３３】
2010267020.tif 000035
【図３４】
2010267020.tif 000036
【図３５】
2010267020.tif 000037
【図３６】
2010267020.tif 000038
【図３７】
2010267020.tif 000039
【図３８】
2010267020.tif 000040
【図３９】
2010267020.tif 000041
【図４０】
2010267020.tif 000042
【図４１】
2010267020.tif 000043
【図４２】
2010267020.tif 000044
【図４３】
2010267020.tif 000045
【図４４】
2010267020.tif 000046
【図４５】
2010267020.tif 000047
【図４６】
2010267020.tif 000048
【図４７】
2010267020.tif 000049
【図４８】
2010267020.tif 000050
【図４９】
2010267020.tif 000051
【図５０】
2010267020.tif 000052
【図５１】
2010267020.tif 000053
【図５２】
2010267020.tif 000054
【図５３】
2010267020.tif 000055
【図５４】
2010267020.tif 000056
【図５５】
2010267020.tif 000057
【図５６】
2010267020.tif 000058