説明

情報処理装置およびデータ出力制御方法およびプログラムおよび記憶媒体

【課題】文字サイズや行間等の見栄えを変更せず、また、利用環境に応じて適切なブレイク処理を行って、データの視認性向上または無駄な印刷出力を行うことなく仕分けの利便性も保ちつつ、ユーザの所望のページ数に収めたり、余分な余白領域をなくし、ユーザが望む出力結果を取得できるようにすること。
【解決手段】複数のデータ項目からなるデータにおいて、予め定められたデータ項目におけるデータの変化に応じて区切り処理を実行して生成される出力ページの制約条件(余白領域制限、ページ数制限等)を設定しておき、生成された出力ページが設定された出力ページの制約条件にあてはまる場合、フォーム作成アプリケーションプログラム121は、前記データの変化を判定するデータ項目を変更し、該変更された前記データの変化を判定するデータ項目におけるデータの変化に応じて区切り処理を適用した出力ページを生成する構成を特徴とする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、帳票データ等の出力の際に改ページを制御可能な情報処理装置およびデータ出力制御方法に関する。
【背景技術】
【0002】
従来、帳票等を出力する際に、出力フォームのレイアウトを示すフォームファイル(テンプレート)の所定の個所(フィールド)に対し、指定されたデータを流し込んで出力フォームを得られるようにしていた。そして、指定されたデータにおいて特定の項目のデータ変化を認識することに応じて、ブレイク処理(例えば、改ページまたは改行処理を指し、区切り処理ともいう)が行われている。このブレイク処理により、データの視認性が向上する。
【0003】
しかし、このブレイク処理は、予め定められた特定の項目のデータが変化する度にブレイク処理が行われるため、ユーザが流し込むデータの内容を認識していない場合、ユーザの意図しない出力結果となる恐れがあった。
【0004】
こういったユーザの意図に反した出力を防止する技術として、帳票とは異なる技術分野であるが特許文献1が開示されている。
【0005】
特許文献1では、指定されたページ数の文書を作成するために、予めパラメータの自動調整の可否や優先順位、調整範囲を設定しておく。そして、文書データのページ数がユーザが指定したページ数よりも多いと判定された場合、設定した情報に基づいてパラメータ値を減少する処理を実行して文書データのページ数をユーザが指定したページ数に収めることが記述されている。
【特許文献1】特開平10−105548号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
しかし、上述した上記特許文献1に記載の技術では、出力結果のページ数についてはユーザの所望とする結果を得ることができる。しかし、文字サイズや行間間隔の幅を変更してしまうため、見栄えに影響する部分が大きく、結果的にユーザが意図していない印刷物が生成されてしまうという問題点があった。
【0007】
従来のブレイク処理では、予め設定された所定のデータ項目においてデータが変化することに応じて、設定された所定のブレイク処理が実行される。
【0008】
よって、従来のブレイク処理では、予め設定された固定的なブレイク処理を実行するため、ユーザの意図しない出力結果となる恐れがある。
【0009】
例えば、テスト印刷等のページ数の節約が望まれる環境下で、ブレイク処理により改ページが実行されると、出力結果のページ数が膨大な量となる恐れがある。また、配布用の資料を作る場面等においては、ページ数が膨大な量となっても、改ページブレイク処理を行うことで、視認性を高めた印刷結果が望まれる。
【0010】
このようにユーザの利用環境によって、ユーザが望む出力結果は異なるが、従来の固定的なブレイク処理では、利用環境に応じたブレイク処理を実行することはできなかった。
【0011】
本発明は、上記の問題点を解決するためになされたものである。本発明の目的は、利用環境に応じて適切なブレイク処理を行うことで、データの視認性向上または無駄な印刷出力を行うことなくユーザが望む出力結果を取得できるようにする仕組を提供することである。
【課題を解決するための手段】
【0012】
本発明は、複数のデータ項目からなるデータにおいて、予め定められたデータ項目におけるデータの変化に応じて区切り処理を実行して出力ページを生成する情報処理装置において、前記生成される出力ページの制約条件を設定する設定手段と、前記生成された出力ページが前記設定手段により設定された出力ページの制約条件にあてはまる場合、前記データの変化を判定するデータ項目を変更する制御手段と、前記制御手段によって変更された前記データの変化を判定するデータ項目におけるデータの変化に応じて区切り処理を適用した出力ページを生成する生成手段を有することを特徴とする。
【0013】
また、本発明は、複数のデータ項目からなるデータにおいて、予め定められたデータ項目におけるデータの変化に応じて区切り処理を実行して出力ページを生成する情報処理装置において、前記生成される出力ページの制約条件を設定する設定手段と、前記予め定められたデータ項目におけるデータの変化を判定するデータ判定手段と、前記データ判定手段によって、予め定められたデータ項目においてデータの変化が生じたと判定された場合、前記区切り処理を実行する区切り処理実行手段と、前記区切り処理実行手段による区切り処理を実行して生成された出力ページが前記設定手段により設定された出力ページの制約条件にあてはまる場合、前記区切り処理の処理内容を変更する制御手段と、前記制御手段によって変更された前記区切り処理の処理内容に基づいて出力ページを生成する生成手段
を有することを特徴とする。
【発明の効果】
【0014】
本発明は、利用環境に応じて適切なブレイク処理を行うことで、データの視認性向上または無駄な印刷出力を行うことなくユーザが望む出力結果を出力することが可能となる。
【発明を実施するための最良の形態】
【0015】
〔第1実施形態〕
図1は、本発明の一実施形態を示す帳票印刷処理システムに適用可能な情報処理装置のハードウェアの構成の一例を示すブロック図である。
【0016】
図1において、101は情報処理装置としてのホストコンピュータである。
【0017】
図1に示すように、ホストコンピュータ101は、CPU10による中央処理装置と、ROM11/RAM12による主記憶装置、FD(フレキシブルディスク)ドライブ13やHD(ハードディスク)ドライブ15等による外部記憶装置を備える。また、ホストコンピュータ101は、キーボード16およびマウス18等のポインティングデバイスによる入力装置、CRTディスプレイ17等による表示装置を備える。さらに、ホストコンピュータ101は、プリンタやプロッタ等の印刷装置とネットワークを介して通信可能なネットワークインタフェースカード(NIC;Network Interface Card)19を備える。なお、このNIC19の代わりに、USB,セントロニクスインタフェース,SCSI等の他のインタフェースを備え、印刷装置を接続する構成であってもよい。また、ワードプロセッサ専用装置等のように、印刷装置を備える構成であってもよい。
【0018】
そして、ホストコンピュータ101は、上記各デバイスとそれらを結ぶシステムバス20とからその主要部が構成されるコンピュータシステムであり、このコンピュータシステムが図示しないネットワークバスによって複数相互に接続されているものである。
【0019】
ホストコンピュータ101は、基本I/Oプログラム、OS(オペレーションシステム),およびプログラムをCPU10が実行することにより動作する。基本I/OプログラムはROM11に書き込まれており、OSはHD15に書き込まれている。
【0020】
そして、ホストコンピュータ101の電源がONされたときに、基本I/Oプログラム中のIPL(イニシャル・プログラム・ローディング)機能により、HD15からOSがRAM12に読み込まれ、OSの動作が開始される。
【0021】
本実施形態の場合は、本実施形態の制御プログラムおよび関連データは、FD14内に記録されており、その記録されている内容の構成を図2に示す。
【0022】
図2は、本発明に係る情報処理装置で読み取り可能な各種データ処理プログラムおよび関連データを格納する記憶媒体(記録媒体)のメモリマップを説明する図である。
【0023】
図2において、31はボリューム情報、32はディレクトリ情報である。33は本実施形態の制御プログラムの実行ファイル、34は制御プログラム33の関連データファイルである。なお、制御プログラム33は、後述する制御手順を示すフローチャートに基づいてプログラムコード化されたものである。
【0024】
図2に示すように、FD14に記録された制御プログラム33及び関連データ34は、図1に示したようにFDドライブ13を介して本コンピュータシステムにロードすることができる。
【0025】
このFD14をFDドライブ13にセットすると、OSおよび基本I/Oプログラムの制御の下に本制御プログラムおよび関連データがFD14から読み出され、RAM12にロードされて動作可能となる。この様子を図3に示す。
【0026】
図3は、図2に示した制御プログラム33がRAM12にロードされ実行可能となった状態のメモリマップを説明する図である。
【0027】
図3において、41は基本I/Oプログラム、42はOSである。43は、図2に示した制御プログラム33に対応する。44は、図2に示した制御プログラム関連データファイル34に対応する。45はワークエリアである。
【0028】
図3に示すように、本実施形態では、FD14から制御プログラム33及び関連データ34を直接RAM12にロードして実行させる例を示した。しかし、この他に、FD14からプログラム及び関連データを一旦、HD15に格納(インストール)しておき、本プログラムを動作させる際に、HD15からRAM12にロードするようにしてもよい。
【0029】
また、制御プログラム33を記録する媒体は、FD14以外にCD−ROM、ICメモリカード等であってもよい。さらに、本プログラムをROM11に記録しておき、これをメモリマップの一部をなすように構成し、直接CPU10で実行することも可能である。
【0030】
図4は、帳票等のデータを印刷するシステムの一例を示すブロック図である。
【0031】
図4において、100は帳票印刷処理システムである。ホストコンピュータ101において、121はフォーム作成アプリケーションプログラム(FORM EDITING APPLICATION)であり、図3に示した制御プログラム33に対応する。このフォーム作成アプリケーションプログラム121は、典型的にFDドライブ13やHDドライブ15に常駐し、CPU10により実行、読み込み、コントロールされる。
【0032】
フォーム作成アプリケーションプログラム121は、2つのソフトウェアコンポーネントを含んでいる。これらのうち1つめのコンポーネントは、ライブラリ(LIBRARY)コンポーネント105(以下、ライブラリ)である。このライブラリ105は、オーバーレイ印刷処理等の処理を行うソフトウェアコンポーネントである。なお、オーバーレイ印刷処理とは、フォームデータの所定の領域に、所定のコンテンツデータをレイアウトして印刷出力する処理を指す。なお、本実施形態のオーバーレイ印刷処理は、指定された項目においてデータが変化した場合、改ページ処理が実行される。
【0033】
2つめのコンポーネントはユーザインタフェース(USER INTERFASE)コンポーネント(以下、UIコンポーネント)103である。このUIコンポーネント103は、ユーザにフォームや設定ファイルを作成させるメカニズムを提供する。なお、このUIコンポーネント103とライブラリ105は、コミュニケーションチャネル123を介して通信する。即ち、フォーム作成アプリケーション121に含まれるUIコンポーネント103が、本実施形態に記載される設定部分に関する制御を行う。なお、ユーザにより設定された値は、RAM12等に保持される。
【0034】
そして、ライブラリ105は、上記RAM12に保持された設定情報を参照して、該設定情報に基づくレイアウト処理(フォームデータに対してコンテンツデータを流し込む処理や後述する動的ブレイク処理)を実行する。
【0035】
ホストコンピュータ101は、ネットワーク107を介してデータベースサーバ117内のデータベース119、ファイルサーバ115、プリントサーバ109にアクセスすることが可能である。そして、ホストコンピュータ101は、プリントサーバ109を介してプリンタ113を用いた印刷処理を実行可能である。なお、111はプリントサーバ109とプリンタ113のインタフェースである。
【0036】
以下、フォームデータに対してコンテンツデータを流し込む処理について説明する。
【0037】
図5は、フォームデータに対してコンテンツデータを流し込む処理を説明する図である。
【0038】
図5において、501はフォームデータである。フォームデータ501には項目として「部」、「課」、「名前」がある。502はフォームデータ501に流し込むコンテンツデータである。本実施形態において、フォームデータに対してコンテンツデータを流し込む処理とは、コンテンツデータ502を、503に示すようにフォームデータ501に流し込む処理である。
【0039】
次に、本実施形態の動的ブレイク処理について説明する。
【0040】
まず、動的ブレイク処理を説明する前に、本実施形態のブレイクについて説明する。本実施形態においてブレイクとは、表のある項目のデータ(例えば、列データ等)においてデータが変化することを示す。例えば、「場所」という項目で“東京“というデータが続いている列データにおいて、”大阪”というデータがきた時にブレイクが発生したという。このようにデータの変化に応じて実行される処理をブレイク処理という。なお、本願では、ブレイク処理について区切り処理と記述する場合があるが、同じ意味を指す。また、ブレイク処理(区切り処理)とは、例えば改ページ処理、改行処理を指す。
【0041】
上記帳票503において、ブレイクキー(ブレイク判定を行う項目)が「部」,「課」である場合、504,505でブレイクが発生する。実際、504では、「課」のデータが“1”から“2”に変化している。また、505では、「部」のデータが“A”から“B”に変化し、「課」のデータも“2”から“3”に変化している。
【0042】
このブレイク箇所504や505で、改ページを行うことにより、データ区切りのよい印刷物を生成することが可能となる。
【0043】
また、動的ブレイクとは、予め設定された動的ブレイク条件に従って、ブレイク箇所のブレイクを有効にするか否かを動的に変更することを指す。また、動的ブレイク条件とは、動的ブレイクを実行するか否かの設定を示す。ここで設定可能な条件は、大きく分けて余白領域指定及びページ数指定がある。
【0044】
以下、図6〜図33を参照して、動的ブレイク条件の設定について説明する。
【0045】
図6は、本実施形態における動的ブレイクキー選択UIの一例を示す図である。このUIは、図1に示したCPU10により実行される図4に示したUIコンポーネント103の制御によりディスプレイ17に表示され、キーボード16又はマウス18により入力指示可能に制御される。また、このUIによる設定は、RAM12等に保持される。
【0046】
さらに、このUIは、キーボード16又はマウス18から、フォーム(例えば図5の501)が選択され、所定の操作がなされると、UIコンポーネント103の制御によりディスプレイ17に表示される。
【0047】
図6に示すように、動的ブレイクキー選択UIでは、ブレイクキーの中で動的ブレイクキーにしたいキー(項目)を選択追加するためのものである。即ち、ブレイク箇所を判定するデータ項目を優先順位を付けて複数設定するためのものである。なお、この動的ブレイクキーの選択は、フォームデータ毎に可能である。
【0048】
図6において、1701はブレイクキー表示欄であり、対応する(選択された)帳票のブレイクキーが表示される。なお、ブレイクキーは、予め選択されたフォームデータの項目名をフォーム作成アプリケーション121が抽出して表示した不図示のUIから選択設定されRAM12に保持されている。
【0049】
1702は追加ボタンであり、このボタンが指示されると、ブレイクキー表示欄1701で選択されたブレイクキーが動的ブレイクキーとして選択され、動的ブレイクキー表示欄1704に表示される。なお、動的ブレイクキーは複数選択可能である。
【0050】
1705は動的ブレイクキー順序変更ボタンであり、動的ブレイクキーが複数選択されている場合に、このボタンが指示されると、動的ブレイクキー表示欄1704の動的ブレイクキーの優先順序が変更される。なお、本願では、上にある項目から優先順位が上とする。
【0051】
1703は削除ボタンで、このボタンが指示されると、動的ブレイクキー表示欄1704で選択された動的ブレイクキーが削除され、ブレイクキー表示欄1701に表示される。
【0052】
1706はOKボタンである。このOKボタン1706が指示されると、UIコンポーネント103の制御により、このUIによる設定値がRAM12等に保存され、図7に示すUIが表示される。なお、このUIによる設定は、優先順位の順序構造を保った状態でRAM12等に保持される。
【0053】
図7は、本実施形態における動的ブレイク動作条件設定UI(ユーザインタフェース)の一例を示す図である。なお、本願のUIは、図1に示したCPU10により実行される図4に示したUIコンポーネント103の制御によりディスプレイ17に表示され、キーボード16又はマウス18により入力指示可能に制御される。また、本願では、UIによる設定は、RAM12等に保持される。
【0054】
図7に示すように、この動的ブレイク動作条件は、オーバーレイ処理により生成される出力ページ(出力結果)の制約や条件を示し、フォーム毎に設定可能である。また、動的ブレイク動作条件には、“余白領域指定“設定1001、“ページ数制限“設定1002、“しない“設定1003の選択肢がある。
【0055】
“余白領域指定”設定1001の“割合指定”1004は、ブレイクが発生した時点での余白領域を計算し、余白領域が1005の指定された値に当てはまる場合に、動的ブレイクを実行する設定である。例えば、図7の項目1005には、「50%以下」または「50%以上」という値を設定することができる。また、“行数指定”1006は、1ページに1007の指定数行以上の空白行がある場合に、動的ブレイクが実行される設定である。“余白領域指定”設定1001が選択された状態で、詳細ボタン1010が指示されると、UIコンポーネント103の制御により、図14に示すUIが表示される。
【0056】
“ページ数制限”設定1002は、項目1008の設定値に一致するように動的ブレイクを実行させるための設定である。項目1008に設定可能な値の例としては、「2ページ以上」または「3ページ以下」などが挙げられる。ページ数制限”設定1002が選択された状態で、詳細ボタン1011が指示されると、UIコンポーネント103の制御により、図11に示すUIが表示される。
【0057】
“しない”設定1003は、動的ブレイクを実行しない設定である。
【0058】
1009はOKボタンである。“余白領域指定”設定1001又はページ数制限”設定1002が選択された状態で、OKボタン1009が指示されると、UIコンポーネント103の制御により、このUIによる設定値がRAM12等に保存され、図8に示すUIが表示される。
【0059】
図8は、本実施形態における動的ブレイク設定UIの一例を示す図である。
【0060】
この動的ブレイク設定UIは、動的ブレイク設定として、ブレイクを解除するデータの切れ目を指定するための条件を設定するためのものである。
【0061】
図8に示すように、動的ブレイク設定として指定できる項目としては次の3つの項目がある。
【0062】
まず、“選択したブレイクキー設定をすべて解除”設定1101は、図6により選択されRAM12内に保持されるブレイクキーのうち、指定されたブレイクキー(以下、指定ブレイクキー)として選択されたものに関してはブレイクを行わない設定である。例えば、図5に示した帳票503のブレイクキー「課」が指定ブレイクキーとして選択されると、ブレイク箇所504ではブレイクが行われなくなる。即ち、ブレイクを解除するブレイク箇所を判定するデータ項目をブレイクキーとして設定する。なお、指定ブレイクキーの選択は、選択ボタン1104を指示することにより表示される図示しないUIにより行うものとする。このUIは、例えば、図6により選択されRAM12内に保持されるブレイクキーを表示して、該ブレイクキーからユーザに指定ブレイクキーを選択させるものである。なお、このUIにより選択された指定ブレイクキーもRAM12内に保持される。
【0063】
また、“先頭ブレイクキー優先”設定1102は、末尾の項目からブレイクの解除が行なわれる設定である。この処理は、例えばブレイク処理を実行することにより、指定されたページ数に収まらなくなった場合に有効な処理である。
【0064】
最後に、“末尾ブレイクキー優先”設定1103は、先頭の項目からブレイクの解除が行なわれる設定である。この処理は、例えば、ブレイク処理を実行してもページ数が少ないため、もっとページ数を増やしたいときに有効な処理である。
【0065】
1105は詳細設定ボタンで、この詳細設定ボタン1105が指示されると、UIコンポーネント103の制御により、このUIによる設定値がRAM12等に保存され、図9に示すUIが表示される。
【0066】
図9は、本実施形態における動的ブレイク実行時処理UIの一例を示す図である。フォーム作成アプリケーションは、図9のUIにて入力された区切り処理を解除した箇所に、空行を挿入する処理、区切り処理を解除した箇所の属性を変更する処理、なにも挿入しない処理、のいずれかを設定する。
【0067】
そして、フォーム作成アプリケーション121は、データの変化を判定するデータ項目を変更することにより区切り処理を解除した箇所に対して図9にて設定された処理に基づき出力ページを生成する。
【0068】
図9に示すように、動的ブレイク実行時処理の設定として大きく分けて3つある。
【0069】
まず、“固定空行挿入”設定1201は、動的ブレイクが実行された場合、そのブレイクで改ページを行わず、1204で指定された空行列を表と表の間(即ち、動的ブレイク箇所(改ページが解除された箇所))に挿入する設定である。
【0070】
また、“罫線変更”設定1202は、動的ブレイクが実行された場合、表と表を合体させる際に接合箇所(即ち、動的ブレイク箇所)の罫線属性を1205で指定された属性に変更する設定である。
【0071】
最後に、“なし”設定1203は、動的ブレイクが実行された場合、特に処理を行わずに表と表を合体させる(動的ブレイク箇所になにも挿入しない)設定である。
【0072】
1206はOKボタンで、このOKボタン1206が指示されると、UIコンポーネント103の制御により、このUIによる設定値がRAM12等に保存され、図10に示すUIが表示される。
【0073】
図10は、本実施形態における動的ブレイクキー詳細設定UIの一例を示す図である。
【0074】
図10に示すように、動的ブレイクキー詳細設UIでは、以下の3つに関して設定を行う。
【0075】
まず、“動的ブレイク回数”設定1301は、ページ制御を行う回数を指定する設定であり、指定なし/指定ありのいずれかを選択設定可能である。なお、「指定あり」の場合、1304に回数を指定する。
【0076】
また、“動的ブレイク実行対象領域”設定1302は、動的ブレイクが発生したと判断するデータ領域を指定する設定であり、前行と比較して変化があれば実行/1305で指定される前行数中に変化があれば実行のいずれかを選択設定可能である。
【0077】
最後に、“動的ブレイクキーを挿入するタイミング”設定1303は、動的ブレイクキー指定された全体の文字列の比較か一部の比較の設定であり、全体を比較して変化があれば挿入/一部を比較して変化があれば挿入のいずれかを選択設定可能である。なお、「一部を比較して変化があれば挿入」が選択された場合、1306に動的ブレイクキー指定された文字列を比較する先頭からの文字数を指定する。
【0078】
1307はOKボタンで、このOKボタン1307が指示されると、UIコンポーネント103の制御により、このUIによる設定値がRAM12等に保存され、動的ブレイクキー条件の設定が全て終了する。
【0079】
図11は、本実施形態におけるページ数設定UIの一例を示す図である。
【0080】
このページ数設定UIでは、図7に示した動的ブレイク動作条件UIで、“ページ数制限”設定1002が指定された場合の設定が可能である。
【0081】
図11において、1401は“デフォルトページ数指定”であり、図7に示した動的ブレイク動作条件UIで、“ページ数制限”設定1002が指定され、且つ、1008のページ数が指定されなかった場合に、このページ数がデフォルト値として使用される。即ち、フォーム作成アプリケーションプログラム121は、“ページ数制限”設定1002が指定され、且つ、1008のページ数が指定されなかった場合には、デフォルトページ数指定1401に指定されたデフォルト値に基づいて制御を行う。
【0082】
1402は“オーバーフロー時処理指定”であり、図7の動的ブレイク動作条件UIで“ページ数制限”設定1002が指定された状態で動的ブレイクを実行したが、どうしても指定ページ数に収まらない場合の動作を「出力」/「エラー」のいずれかに規定する。「出力」はオーバーフロー時でもそのまま出力する設定であり、「エラー」はオーバーフロー時には出力は行わずエラーとする設定である。
【0083】
1405はOKボタンで、このOKボタン1405が指示されると、UIコンポーネント103の制御により、このUIによる設定値がRAM12等に保存され、図7のUIに表示が戻る。
【0084】
図12は、本実施形態の出力設定UIの一例を示す図である。
【0085】
図12に示すように、オーバーフロー時の出力設定の選択肢としては3つある。
【0086】
まず、“警告ダイアログ表示”設定1501は、オーバーフロー時に警告設定を行う設定である。また、“ログ出力表示”設定1502は、オーバーフロー時に警告設定を行う設定である。最後に、“なにもしない”設定1503は、オーバーフロー時もなにもしない設定である。
【0087】
1504はOKボタンで、このOKボタン1504が指示されると、UIコンポーネント103の制御により、このUIによる設定値がRAM12等に保存され、図11のUIに表示が戻る。
【0088】
図13は、本実施形態におけるエラー設定UIの一例を示す図である。図1に示したCPU10により実行される図4に示したUIコンポーネント103の制御によりディスプレイ17に表示され、キーボード16又はマウス18により入力指示可能となる。
【0089】
図13に示すように、オーバーフロー時のエラー設定の選択肢としては3つある。
【0090】
まず、“エラーダイアログ表示”設定1501は、オーバーフロー時にエラーダイアログを表示する設定である。また、“最小ページ数表示”設定1502は、オーバーフロー時に最小ページ数(全てのページを収めることが可能なページ数)を表示する設定である。最後に、“なにもしない”設定1503は、オーバーフロー時になにもエラー処理を行わない設定である。
【0091】
1604はOKボタンで、このOKボタン1604が指示されると、UIコンポーネント103の制御により、このUIによる設定値がRAM12等に保存され、図11のUIに表示が戻る。つまり、フォーム作成アプリケーションは、例えばページ数制限設定の際、ページ数制限に基づいてデータの変化を判定するデータ項目を変更しても、生成される出力ページのページ数がページ数制限を超えてしまう場合の処理を設定されるために図13を表示する。なお、図13にて設定可能な処理は、そのまま出力する処理、又は、エラーとする処理がある。そして、フォーム作成アプリケーションは、後述するS42の出力ページ数判定により、データの変化を判定するデータ項目を変更しても出力ページのページ数がページ数制限を超えると判定された場合、図13で設定された情報に基づき出力ページを生成する。
【0092】
図14は、本実施形態における余白領域設定UIの一例を示す図である。
【0093】
この余白領域設定UIでは、図7に示した動的ブレイク動作条件UIで、“余白領域指定”1001が指定され動的ブレイクが実行された場合にブレイク解除を実行する。そして、ブレイクキーを変更した場合、変更されたブレイクキーの項目において、データの変化前までのデータを所定の領域内に収めることができないと判定された場合の処理を設定するためのUIである。設定可能な処理は、所定の出力領域内にそのまま出力する「そのまま出力」1801処理、又は、所定の出力領域を含む出力可能な領域まで出力する「印字領域最大まで出力を行う」1803処理である。さらに、動的ブレイクを実行せず、通常のブレイク処理を行う「ブレイクさせる」1802も選択できる。
【0094】
フォーム作成アプリケーション121は、データの変化を判定するデータ項目を変更後のデータ項目におけるデータの変化に基づいて、該データの変化前までのデータを所定の領域内に収めることができないか判定する。ここで、所定の領域内に収めることができないと判定された場合、図14にて設定された内容に基づいて出力する。例えば、図14のUIにて、出力可能な領域まで出力する処理が設定された場合、複数項目からなるデータを出力可能な領域まで配置した出力ページを生成する。
【0095】
図14において、1801は“そのまま出力”設定であり、ブレイク解除時に、結果データが複数ページにまたがる場合にそのまま出力する設定である。
【0096】
1804はOKボタンで、このOKボタン1804が指示されると、UIコンポーネント103の制御により、このUIによる設定値がRAM12等に保存され、図7のUIに表示が戻る。なお、この図14に示した余白設定に応じて後述する余白領域処理が実行される。
【0097】
以下、図15〜図26を参照して、本実施形態における動的ブレイク設定について説明する。
【0098】
まず、図15〜図20を参照して、図8に示した動的ブレイク設定で“選択したブレイクキーのみブレイクを全て解除”設定1101が選択された場合のブレイクキー解除動作を具体的に説明する。
【0099】
図15〜図20は、図8に示した動的ブレイク設定で“選択したブレイクキーのみブレイクを全て解除”設定1101が選択された場合のブレイクキー解除動作を具体的に説明するための図である。なお、詳細な説明は後述する。
【0100】
図15において、2801は、本実施形態におけるフォームデータの一例である。なお、本願では図15のような可変表をフォームデータとして想定している。可変表とは、入力されるレコード数に応じて、表のデータが増加するものである。また。本願に記載のレコードとは、各項目のデータの組み合わせである。例えば、図5の502の例では、「A、1、ああ」の組み合わせで構成される1行が1レコードとなる。
【0101】
図16において、2901は、図15に示したフォームデータ2801にオーバーレイすべきコンテンツデータの一例である。
【0102】
なお、オーバーレイとは、フォームデータの所定の領域に、所定のコンテンツデータをレイアウトする処理を指す。また、本実施形態のオーバーレイ処理は、図6に示したUIで指定された項目においてデータが変化した場合、改ページ処理が実行される。
【0103】
図17において、3001〜3004は、図15に示したフォームデータ2801に図16に示したコンテンツデータ2901を配置したオーバーレイ処理結果を示す。
【0104】
ここで、図8に示した動作ブレイク設定として“選択したブレイクキーのみブレイクをすべて解除“設定1101が選択された状態で動的ブレイク処理が実行されると以下、図18〜図20に示すようになる。
【0105】
そして、「課」をブレイクキーから削除(解除)してオーバーレイ処理を実行すると、図17に示した用紙の半分近く生じていた余白領域がなくなり、コスト削減を実現することができる。
【0106】
なお、図20の3303,3304は、動的ブレイクが実行され、表と表とが合体された接合箇所を示す。図20に示す例は、図9に示した動的ブレイク実行処理UIで“なし”設定1203が設定されている場合に対応する。よって、表と表とが合体された接合箇所3303,3304に特に何の処理も施されていない。
【0107】
次に、図21〜図23を参照して、図8に示した動的ブレイク設定で“先頭ブレイクキー優先”設定1102が選択された場合のブレイクキー解除動作を具体的に説明する。
【0108】
図21〜図23は、図8に示した動的ブレイク設定で“先頭ブレイクキー優先”設定1102が選択された場合のブレイクキー解除動作を具体的に説明する図である。なお、詳細は後述する。
【0109】
なお、図23の3603,3604は、動的ブレイクが実行され、表と表とが合体された接合箇所を示す。図23の例は、図9に示した動的ブレイク実行処理UIで“罫線変更”設定1202が設定されている場合に対応する。よって、表と表とが合体された接合箇所3603,3604の罫線変更(ここでは、太い罫線に変更)され、他の罫線と差別化されている。
【0110】
次に、図24〜図26を参照して、図8に示した動的ブレイク設定で“末尾ブレイクキー優先”設定1103が選択された場合のブレイクキー解除動作を具体的に説明する。なお、詳細な説明は後述する。
【0111】
なお、図26の3904は、動的ブレイクが実行され、表と表とが合体された接合箇所を示す。図21の例は、図13に示した動的ブレイク実行処理UIで“固定空行挿入”設定1201が設定されている場合に対応する。よって、表と表とが合体された接合箇所3904に空行が挿入されている。
【0112】
以下、図27〜図33を参照して、本実施形態における余白領域処理について説明する。
【0113】
図27〜図33は、本実施形態における余白領域処理について具体的に説明する図である。
【0114】
図27に示すようなデータにおいて、「部」「課」がブレイクキーとして指定されていた場合、2つのブレイク箇所2101,2102がある。このブレイク箇所2101,2102にて改ページを行うと、図28に示すように3つのページ2201,2202,2203に分割される。
【0115】
ここで、1ページ目2201に、図7に示した余白領域指定で指定された割合以上の余白があり、図8に示した動的ブレイク設定で“先頭ブレイク優先“が選択されている場合、上述した通り、末尾から順次ブレイクキーが選択され、ブレイク処理が解除される。つまり、指定ブレイクキーである「部」および「課」において、末尾にある「課」の項目にて発生するブレイク処理は無視される。
【0116】
これにより、図29の2301に示すように、ブレイク箇所が1つになり、図28において2ページ目に配置されていたデータが1ページ目に配置されるようになる。
【0117】
この際に、2ページ目に配置されていたデータを1ページ目に生じた余白領域に収めることができるのかを判定する処理を行う。なお、余白領域よりも新たに配置すべきデータの方が大きいため、ページから溢れるる場合を図30に示す。
【0118】
そして、余白領域に収めることができない場合(ページ溢れが発生する場合)、図31に示すようなUIが表示される。なお、このUIは図1に示したCPU10が図4に示したフォーム作成アプリケーションプログラム121を実行することによりディスプレイ17に表示され、キーボード16又はマウス18により入力指示可能に制御される。
【0119】
図31に示すUIにおいて、選択された動的ブレイク処理を続行するか、動的ブレイクを変更するかを、“続行”ボタン2401,“変更”ボタン2402により選択することができる。
【0120】
ここで、図31のUIにて“続行”ボタン2401が選択された場合、図14に示した余白領域設定UIで設定済のページ溢れに対する対処法が実行される。また、図31のUIにて“変更”ボタン2402が選択された場合、図8に示した動的ブレイク設定UIが表示され、再度、どの動的ブレイク処理を実行するかを選択することが可能となる。
【0121】
図31のUIにて“続行”ボタン2401が選択され、図14に示した余白領域設定UIにて“そのまま出力”設定1801がなされていた場合は、図32に示すようになる。即ち、図32に示すように、ページに設定されている余白領域13201までデータを配置して、残りのデータは次のページへと配置される。なお、図32において生じている余白領域が図7にて設定した値に一致するのであれば、3ページ目に配置されるべきデータを2ページ目3202に配置することになる。しかし、図32の場合、新たに2ページ目3202に配置されるデータはブレイクキーの項目が「A」から「B」に変化している。このような場合は、ユーザに問い合わせることで次の処理を実行するようにしてもよい。なお、図32では図28の3ページ目(2203)は省略してある。
【0122】
また、図31のUIにて“続行”ボタン2401が選択され、図14に示した余白領域設定UIにて“ブレイクさせる”設定1802がなされていた場合は、動的ブレイク処理を無効化したブレイク処理を実行する。よって、図28に示したようになる。
【0123】
また、図31のUIにて“続行”ボタン2401が選択され、図14に示した余白領域設定UIにて“印字領域最大まで出力を行う”設定1803がなされていた場合は、図33に示すようになる。即ち、図33に示すように、ページに設定されている余白領域を無視し、印字可能領域3301までデータを配置して、残りのページは次のページへと配置される。なお、図33では図28の3ページ目(2203)は省略してある。
【0124】
以下、図34〜図39のフローチャートを参照して、本実施形態における各種制御処理について説明する。
【0125】
図34は、本発明における第1の制御処理手順の一例を示すフローチャートであり、余白領域条件設定時の全体の処理に対応する。なお、本願のフローチャートの処理は、図1に示したホストコンピュータ101のCPU10が図4に示したフォーム作成アプリケーションプログラム121を実行することにより実現される。また、図34中、S41〜S46は各ステップを示す。さらに、本フローチャートの実行前に、図7〜図14に示した各種UIによる設定は終了しており、各設定値はRAM12等に保持されている。なお、本願の情報処理装置は、複数のデータ項目からなるデータにおいて、予め定められたデータ項目におけるデータの変化に応じて区切り処理を実行して出力ページを生成することが可能である。
【0126】
フォームとコンテンツが指定され、出力処理(プリンタ113への印刷出力処理やディスプレイ17への表示出力処理等)の開始が指示されると、本フローチャートの処理が開始される。
【0127】
まず、ステップS41において、CPU10により実行されるフォーム作成アプリケーション121は、動的ブレイク条件として「余白領域指定」が選択されているかチェックする。詳細には、動的ブレイク条件の設定は、予め図7に示したUIにより設定されRAM12等に保持されているので、フォーム作成アプリケーション121が、RAM12を参照することにより、確認可能である。つまり、フォーム作成アプリケーション121は、生成される出力ページの制約条件を設定する。
【0128】
ステップS41で、動的ブレイク条件として「余白領域指定」が選択されていない場合、フォーム作成アプリケーション121は、そのまま処理を終了させる。
【0129】
一方、ステップS41で、動的ブレイク条件として「余白領域指定」が選択されている場合、フォーム作成アプリケーション121は、ステップS42に処理を進める。そして、フォーム作成アプリケーション121は、オーバーレイ処理の結果、生成された出力ページが図7のUIにて設定された値(出力ページの制約条件)にあてはまるか判定する。オーバーレイ処理については、ユーザがどのフォームデータに対してどのコンテンツデータをレイアウトするかを設定しており、この設定情報がRAM12に記憶されている。よって、フォーム作成アプリケーション121は、RAM12に記憶されている内容に従って、指定されたフォームデータに対して、処理対象となるコンテンツデータを読み出してオーバーレイ処理を実行する。さらに、フォーム作成アプリケーション121は、該オーバーレイ処理結果に基づく出力データを生成してRAM12上に格納する。S42の判定処理の一例としては、出力ページの各ページにおいて、データが配置されていない余白サイズを判定する処理である。そして、この判定処理により、フォーム作成アプリケーション121は、判定された余白サイズが図のUIにて設定された出力ページの余白領域制限を超える場合、データの変化を判定するデータ項目を変更するため、S43への処理へと進む。または、S42の判定処理の一例としては、出力ページのページ数を判定する処理である。そして、この判定処理により、フォーム作成アプリケーション121は、判定された出力ページのページ数がページ数制限を超える場合、データの変化を判定するデータ項目を変更するため、S43へと処理を進める。なお、判定処理の基準となる例えば、制約条件としての余白領域制限や出力ページのページ数制限は、図7のUIにて設定可能である。
【0130】
なお、オーバーレイとは、フォームデータの所定の領域に、所定のコンテンツデータをレイアウトする処理を指す。そして、動的ブレイク処理が設定されていない場合、フォーム作成アプリケーション121は、指定された項目においてデータが変化した場合、改ページ処理を実行する。
【0131】
例えば、図27では、項目「部」が指定項目であるとする。図27の「部」の縦方向の列では、7および8行目間においてデータが変化している。よって、7行目までのデータが1ページ目に配置され、8行目以降のデータは2ページ目に配置される。
【0132】
そして、上述したようにオーバーレイ処理を実行した結果、フォーム作成アプリケーション121は、各ページにおいて生じた余白量を計算する。計算方法の一例としては、フォーム作成アプリケーション121はフォーム1行分の高さを認識している。そして、改ページ処理が発生するまでに流し込むべきデータ行数が決まると、「データ行数×フォーム1行分の高さ」を計算することによって、オーバーレイ処理済みのフォームサイズが認識できる。この認識したオーバーレイ処理済みのフォームサイズを用紙サイズから減算することにより余白サイズが決定される。そして、決定された余白サイズと動的ブレイク処理を実行するために設定された余白サイズの閾値(RAM12に保持される図7のUI設定値に基づく)を比較することで、ステップS42の処理が可能となる。
【0133】
ステップS42の判定処理で、フォーム作成アプリケーション121が、生成された出力ページが図7のUIにて設定された値(出力ページの制約条件)にあてはまる判定された場合、処理を終了させる。なお、この場合、フォーム作成アプリケーション121は、RAM12上に保持された出力データをプリンタ113やディスプレイ17等に出力するように制御する。
【0134】
一方、ステップS42の判定処理で、フォーム作成アプリケーション121が、生成された出力ページが図7のUIにて設定された値にあてはまらない場合、ステップS43に処理を進め、選択されている動的ブレイク方法に従って処理を分岐させる。なお、動的ブレイク方法には、図8に示したように、ブレイク設定解除、先頭ブレイク優先、末尾ブレイク優先が挙げられる。つまり、フォーム作成アプリケーション121は、データの変化を判定するデータ項目を変更する方法を図7のUIを介して入力された値を設定する。そして、後述するS43移行の処理において、フォーム作成アプリケーション121は、設定されたデータの変化を判定するデータ項目を変更する方法に基づいて、データの変化を判定するデータ項目を変更する。
【0135】
フォーム作成アプリケーション121は、図8に示した動的ブレイク設定で“選択したブレイクキーのみブレイクをすべて解除”が設定されていると判断した場合には、ステップS44のブレイク解除時動的ブレイク処理(図36)を実行するように制御する。そして、ステップS44のブレイク解除時動的ブレイク処理が終了後、本フローチャートの処理を終了させる。つまり、データの変化を判定するデータ項目を変更する方法は、前記区切り処理を解除するデータ項目を指定し、該区切り処理を解除するように指定されたデータ項目におけるデータの変化に応じた区切り処理を解除する方法が挙げられる。フォーム作成アプリケーション121は、“選択したブレイクキーのみブレイクをすべて解除”が設定された場合、ブレイク処理を解除するように指定されたデータ項目におけるデータの変化に応じた区切り処理を解除する。
【0136】
また、フォーム作成アプリケーション121は、図8に示した動的ブレイク設定で“先頭ブレイクキー優先”が設定されていると判断した場合には、ステップS45の先頭ブレイク優先時動的ブレイク処理(図37)を実行するように制御する。そして、ステップS45の先頭ブレイク優先時動的ブレイク処理が終了後、本フローチャートの処理を終了させる。
【0137】
また、フォーム作成アプリケーション121は、図8に示した動的ブレイク設定で“末尾ブレイクキー優先”が設定されていると判断した場合には、ステップS46の末尾ブレイク優先時動的ブレイク処理(図38)を実行するように制御する。そして、ステップS46の末尾ブレイク優先時動的ブレイク処理が終了後、本フローチャートの処理を終了させる。なお、この場合、フォーム作成アプリケーション121は、RAM12上に保持された出力データをプリンタ113やディスプレイ17等に出力するように制御する。
【0138】
つまり、データの変化を判定するデータ項目変更する方法は、データの変化を判定するデータ項目の優先順位を指定し、該優先順位に基づく順序で該データ項目におけるデータの変化に応じた区切り処理を解除する方法も挙げられる。なお、ここに記述した優先順位とは、図6のUIにて設定した順位でもあり、先頭ブレイク優先が設定された場合は、先頭項目ほど優先順位が高くなる。一方、末尾ブレイク優先が設定された場合は、末尾項目ほど優先順位が高くなる。そしれ、フォーム作成アプリケーション121は、優先順位に基づく順序で該データ項目におけるデータの変化に応じた区切り処理を解除する。
【0139】
つまり、フォーム作成アプリケーション121は、S42にて生成された出力ページが図7の設定UIにより設定された出力ページの制約条件にあてはまらない場合、S44からS46の処理を用いてデータの変化を判定するデータ項目を変更する。
【0140】
図35は、本発明における第1の制御処理手順の一例を示すフローチャートであり、ページ数指定条件設定時の全体の処理に対応する。また、図35中、S51〜S56は各ステップを示す。さらに、本フローチャートの実行前に、図7〜図14に示した各種UIによる設定は終了しており、各設定値はRAM12等に保持されている。
【0141】
まず、ステップS51において、CPU10により実行されるフォーム作成アプリケーション121は、動的ブレイク条件として「ページ数制限」が選択されているかチェックする。詳細には、動的ブレイク条件の設定は、予め図7に示したUIにより設定されRAM12等に保持されているので、フォーム作成アプリケーション121が、RAM12を参照することにより、確認可能である。
【0142】
ステップS51で、動的ブレイク条件として「ページ数制限」が選択されていないと判断した場合には、フォーム作成アプリケーション121は、そのまま処理を終了する。
【0143】
一方、ステップS51で、動的ブレイク条件として「ページ数制限」が選択されている場合、フォーム作成アプリケーション121は、ステップS52に処理を進める。そして、フォーム作成アプリケーション121は、オーバーレイ処理の結果、生成された出力ページが図7のUIにて設定された値(出力ページの制約条件)にあてはまるか判定する。オーバーレイ処理については、上述したため、省略する。そして、フォーム作成アプリケーション121は、該出力データのページ数を計算して、RAM12の制限ページ数と比較することにより、S52の処理が可能となる。
【0144】
ステップS52で、オーバーレイ処理後のページ数が図7の設定UIにて設定された値に当てはまる場合、処理を終了させる。なお、この場合、フォーム作成アプリケーション121は、RAM12上に保持された出力データをプリンタ113やディスプレイ17等に出力するように制御する。
【0145】
一方、ステップS52で、フォーム作成アプリケーション121が、オーバーレイ処理後のページ数が図7の設定UIにて設定した値に当てはまらないと判断された場合には、ステップS53に処理を進める。
【0146】
ステップS53において、フォーム作成アプリケーション121は、選択されている動的ブレイク方法に従って処理を分岐させる。なお、動的ブレイク方法には、図8に示したように、ブレイク設定解除、先頭ブレイク優先、末尾ブレイク優先が挙げられる。なお、S53からS56の処理は、図34のS43からS46の処理と同様であるため詳細な説明は省略する。
【0147】
そして、ステップS57において、フォーム作成アプリケーション121は、動的ブレイク処理の結果、図7にて指定された値に当てはまるかチェックする。なお、ステップS57の処理は、ステップS52の処理と同様である。
【0148】
ステップS57で、フォーム作成アプリケーション121が、動的ブレイク処理後のページ数が図7の設定UIにて設定された値に当てはまると判断した場合には、そのまま処理を終了する。
【0149】
一方、ステップS57で、フォーム作成アプリケーション121が、動的ブレイク処理後のページ数が図7の設定UIにて設定された値に当てはまらないと判断した場合、データオーバーフロー時処理を行う。詳細には、フォーム作成アプリケーション121は、図11のUIで設定したオーバーフロー時処理指定が“出力”となっていた場合には、図12に示した出力設定に従って処理を行う。例えば、出力設定の“警告ダイアログ表示”が有効に設定されていた場合には、フォーム作成アプリケーション121は、図示しない警告ダイアログをディスプレイ17に表示制御する。また、出力設定の“ログ出力”が有効に設定されていた場合には、フォーム作成アプリケーション121は、ログをHDドライブ15に出力制御する。また、出力設定の“なにもしない”が有効に設定されていた場合には、フォーム作成アプリケーション121は、特に処理は行わない。
【0150】
一方、図11に示したオーバーフロー時処理指定が“エラー”となっていた場合には、図13に示したエラー設定に従って処理を行う。例えば、エラー設定の“エラーダイアログ表示”が有効に設定されていた場合には、フォーム作成アプリケーション121は、図示しないエラーダイアログをディスプレイ17に表示制御する。また、エラー設定の“最小ページ数表示”が有効に設定されていた場合には、フォーム作成アプリケーション121は、最小ページ数(オーバーフロー時のページ数)を表示する図示しないダイアログをディスプレイ17に表示制御する。また、エラー設定の“なにもしない”が有効に設定されていた場合には、フォーム作成アプリケーション121は、特に処理は行わない。
【0151】
なお、上記オーバーフロー時処理指定が“出力”の場合、本フローチャートの処理終了後、フォーム作成アプリケーション121は、RAM12上に保持された出力データをプリンタ113やディスプレイ17等に出力するように制御する。一方、上記オーバーフロー時処理指定が“エラー”の場合、フォーム作成アプリケーション121は、RAM12上に保持された出力データのプリンタ113やディスプレイ17等への出力は行わない。
【0152】
図35に示したように、オーバーレイの処理結果が、図7にて指定された値に当てはまらない場合(S52−No)、動的ブレイク処理を実行して、改ページすべき項目を動的に変更すること出力結果を変更することが可能となる。また、動的ブレイク処理を実行してもユーザが所望とする出力結果を得られない場合(S57−No)は、データオーバーフロー処理を実行することで対応する。このように2段階の判定処理を用いることで、可能な限りユーザが指定したページ数に収まるようにコンテンツデータを配置するため、リソースを浪費する可能性を低減することができる。
【0153】
図36は、本発明における第3の制御処理手順の一例を示すフローチャートであり、図34のステップS44に示した動的ブレイク動作条件が余白領域指定時のブレイク解除時動的ブレイク処理に対応する。また、図36中、S61〜S6bは各ステップを示す。
【0154】
まず、ステップS61において、フォーム作成アプリケーション121は、設定されている指定ブレイクキーを解析する。指定ブレイクキーは、予め図8に示したUIの選択ボタン1104を指示することにより表示されるUIで選択設定されRAM12に保持されている。よって、フォーム作成アプリケーション121は、RAM12を参照することで指定ブレイクキーを解析することができる。
【0155】
次に、ステップS62において、フォーム作成アプリケーション121は、指定されたブレイクキーがRAM12に記憶されているか否かを判定する。ステップS62で、フォーム作成アプリケーション121は、ブレイクキーが存在しないと判定した場合、本フローチャートの処理を終了させる。
【0156】
一方、ステップS62で、ブレイクキーが存在すると判定した場合、ステップS63において、フォーム作成アプリケーション121は、指定されているブレイクキーを全てRAM12内にあるブレイク解除するブレイクキーテーブルに登録する。
【0157】
次に、ステップS64において、フォーム作成アプリケーション121は、ブレイク解除するブレイクキーテーブルにブレイクキーが登録されている(存在する)か否かを判定する。
【0158】
そして、ステップS64で、フォーム作成アプリケーション121は、ブレイク解除するブレイクキーテーブルにブレイクキーが登録されていないと判断した場合には、そのまま本フローチャートの処理を終了させる。
【0159】
一方、ステップS64で、フォーム作成アプリケーション121は、ブレイク解除するブレイクキーテーブルにブレイクキーが登録されている場合には、ステップS65においてブレイクキーテーブルからブレイクを解除するブレイクキーを1つ選択する。詳細には、フォーム作成アプリケーション121が、ブレイク解除するブレイクキーテーブルに登録されているブレイクキーをディスプレイ17に表示して、ユーザによりブレイクキーを選択させる。そして、フォーム作成アプリケーション121が、該ユーザにより選択されたブレイクキーを認識することでステップS65の処理が実行される。
【0160】
次に、ステップS66において、フォーム作成アプリケーション121は、ステップS65で選択されたブレイクキーにおける改ページブレイクを全て解除する。つまり、フォーム作成アプリケーション121は、図34のS42でRAM12内に保持されている出力データを編集し、ステップS65で選択されたブレイクキーに属する項目データで発生するブレイク箇所に挿入された改ページを全て解除(削除)する。即ち、出力するデータにおいて、改ページする箇所を変更する。これにより、ステップS65で選択されたブレイクキーの項目におけるデータにブレイクが発生する(データが変更される箇所があった)としても、ブレイク発生に伴う改ページ処理が行われなくなる。
【0161】
次にステップS67において、フォーム作成アプリケーション121は、動的ブレイク実行時処理が指定されているか否かを判断する。なお、動的ブレイク実行時処理の指定は、図9に示したUIにより行われ、RAM12内に格納されているので、フォーム作成アプリケーション121がRAM12を参照することにより、S67の処理が可能となる。
【0162】
そして、ステップS67で、フォーム作成アプリケーション121は、動的ブレイク実行時処理が指定されていないと判断した場合には、そのままステップS69に処理を進める。
【0163】
一方、ステップS67で、フォーム作成アプリケーション121は、動的ブレイク実行時処理が指定されていると判断した場合には、ステップS68に処理を進め、該動的ブレイク実行時処理の設定に従って、動的ブレイク実行時処理を実行する。詳細には、動的プレイク実行時処理に“固定空行挿入”が指定されている場合、フォーム作成アプリケーション121は、RAM12内の出力データからステップS66でページブレイクを解除した箇所に指定行数の空行を挿入するように編集制御する。なお、その結果の一例が、図26である。また、動的プレイク実行時処理に“罫線変更”が指定されている場合、フォーム作成アプリケーション121は、RAM12内の出力データからステップS66でページブレイクを解除した箇所の罫線を指定された罫線に変更するように編集制御する。なお、その結果の一例が、図23である。また、動的プレイク実行時処理に“なし”が指定されている場合、フォーム作成アプリケーション121は、特に処理は行わない(その結果の一例が、図20である)。
【0164】
そして、ステップS69において、フォーム作成アプリケーション121は、ステップS65にて選択されたブレイクキーをブレイク解除テーブルから削除する。
【0165】
次に、ステップS6aにおいて、フォーム作成アプリケーション121は、ステップS66の改ページブレイクの解除結果、ステップS68の動的ブレイク実行時処理結果に基づいて、RAM12内の出力データの全ページを再編集処理する。この再編集処理では、上記S66,S68の各処理を実行したことにより生じる不具合を修正する。例えば、上記S66,S68の各処理により、全体のページ数情報等と差分が生まれてしまう場合、それらの情報をRAM12上で更新する。この処理により、ステップS65で選択されたブレイクキーに属するデータにおいて、ブレイクが発生するとしても、ブレイク発生に伴う改ページ処理が実行されない出力データがRAM12上に保持されることになる。
【0166】
次に、ステップS6bにおいて、フォーム作成アプリケーション121は、ステップS6aの再編集結果の各出力ぺージの余白領域を計算し、図7のUIにて設定された値にあてはまるか否かを判定する。
【0167】
そして、ステップS6bで、フォーム作成アプリケーション121は、ステップS6aの再編集結果の出力ぺージが、図7のUIにて設定された値にあてはまらないと判定された場合、ステップS64に処理を戻す。そしてステップS64〜S6bの処理を繰り返す。
【0168】
一方、ステップS6bで、フォーム作成アプリケーション121は、ステップS6aの再編集結果の出力ページが、図7のUIにて設定された値にあてはまると判断した場合には、そのまま本フローチャートの処理を終了させる。
【0169】
なお、図35のステップS54に示した動的ブレイク動作条件がページ数制限時のブレイク解除時動的ブレイク処理は、上記図36に示したフローチャートのステップS6bを、以下のように変更したものとなる。例えば、フォーム作成アプリケーション121が、ステップS6aの再編集結果のページ数を計算し、図7のUIにて設定された値にあてはまるか否かを判定する。そして、フォーム作成アプリケーション121が、ステップS6aの再編集結果が図7のUIにて設定された値にあてはまらないと判断した場合には、ステップS64に処理を戻す。そしてステップS64〜S6bの処理を図7のUIにて設定された値にあてはまるまで繰り返す。一方、フォーム作成アプリケーション121は、ステップS6aの再編集結果が動的ブレイク動作条件での指定ページ数を超えないと判断した場合には、そのままフローチャートの処理を終了させる。以上の変更により、図36のフローチャートは、図35のステップS54に示した動的ブレイク動作条件がページ数制限時のブレイク解除時動的ブレイク処理に適用可能である。
【0170】
上述した図15〜図20を用いてブレイク解除時動的ブレイク処理の具体例を示す。
【0171】
図15のフォームデータ2801には、項目として「センター」、「部」、「課」、「氏名」があり、ここで、図6に示した動的ブレイクキー選択UIによりブレイクキーとして「部」2802,「課」2803が選択されたものとする。
【0172】
図16のコンテンツデータ2901を参照すると、指定されたブレイクキー2802,2803に該当する項目において、2902,2903,2904の位置でブレイク(データの変更)が発生しているため、改ページ処理が実行される。よって、フォームデータ2801にコンテンツデータ2901をオーバーレイ処理した結果は、図17に示すとおりになる。
【0173】
図17を参照すると、オーバーレイの処理結果、3001〜3004の4ページ分のデータが生成されている。しかしながら、各ページには用紙に対して半分近い余白が発生しているためコストを浪費する恐れがある。
【0174】
ここで、図36に示したブレイク解除時動的ブレイク処理を実行する。そして、図36のステップS65において、図15に示した「課」の項目についてのブレイクキー2803を解除するブレイクキーとして選択する。そして、ステップS66において、該選択されたブレイクキーの改ページブレイクが全て解除されると、その結果、図19のように、コンテンツデータ3201では、ブレイク処理が発生する箇所は3202に示す1箇所となる。よって、ステップS6aで再編集された結果は、図20に示すように、3301,3302の2ページ分のデータとなる。この結果、図17に示した用紙の半分近く生じていた余白領域がなくなり、コスト削減を実現することができる。
【0175】
図37は、本発明における第4の制御処理手順の一例を示すフローチャートであり、図34のステップS45に示した動的ブレイク動作条件が余白領域指定時の先頭ブレイク優先時動的ブレイク処理に対応する。なお、図37中、S71〜S7cは各ステップを示す。
【0176】
ステップS71において、フォーム作成アプリケーション121は、ブレイクキーを先頭から順番を保持して、動的ブレイクキーテーブルに保持する。なお、先頭とはフォームデータのデータ項目において、所定の設定条件に従い先頭項目を特定する。例えば、図15のようなフォームデータを対象とする場合、左の項目から先頭とすることが指定されていると、先頭項目は「センター」であり、「部」、「課」、「氏名」と続く。
【0177】
次に、ステップS72において、フォーム作成アプリケーション121は、動的ブレイクテーブルにブレイクキーが存在するか否か判断する。
【0178】
そして、ステップS72で、フォーム作成アプリケーション121は、動的ブレイクテーブルにブレイクキーが存在しない場合には、そのまま本フローチャートの処理を終了させる。
【0179】
一方、ステップS72で、フォーム作成アプリケーション121は、動的ブレイクテーブルにブレイクキーが存在する場合、ステップS73において、動的ブレイクテーブルにおいて末尾ブレイクキーとして記憶されているブレイクキーを選択する。つまり、図15の例では「氏名」が末尾ブレイクキーに相当する。
【0180】
ステップS75において、フォーム作成アプリケーション121は、選択されたフォームデータに配置すべきコンテンツデータを読み出し、ステップS73で選択されたブレイクキーの項目に流し込むべきデータを解析し、ブレイク箇所が存在するか判断する。
【0181】
そして、ステップS75で、フォーム作成アプリケーション121は、ブレイク箇所が存在しないと判断した場合には、ステップS74において、ステップS73で選択したブレイクキーをテーブルから削除し、ステップS72に処理を戻す。
【0182】
一方、ステップS75で、フォーム作成アプリケーション121は、ブレイク箇所が存在すると判断した場合には、ステップS76において、ステップS75で確認されたいずれかの1つのブレイク箇所に対する余白領域処理を実行する。この余白領域処理では、該ブレイク箇所のブレイク解除を実行することによりページ溢れが発生する場合の処理が行われ、該ブレイク箇所のブレイク解除を実行するか否かが決定される。なお、余白領域処理については図39を用いて後述する。
【0183】
次に、ステップS77において、フォーム作成アプリケーション121は、ステップS76の余白領域処理結果に基づいて、ブレイク解除を実行するか否かを判断する。
【0184】
そして、ステップS77で、フォーム作成アプリケーション121は、ブレイク解除を実行しないと判断した場合には、ステップS7cへ処理を進める。
【0185】
一方、ステップS77で、フォーム作成アプリケーション121は、ブレイク解除を実行すると判断した場合には、ステップS78へ処理を進める。
【0186】
次に、ステップS78において、フォーム作成アプリケーション121は、ステップS73で選択されたブレイクキーにおける改ページブレイクを1つ解除する。つまり、フォーム作成アプリケーション121は、RAM12内の出力データを編集し、ステップS76で余白領域処理を実行したブレイク箇所に挿入されている改ページを1つ解除(削除)する。即ち、出力するデータを改ページする箇所を変更する。
【0187】
次にステップS79において、フォーム作成アプリケーション121は、動的ブレイク実行時処理が指定されているか否かを判断する。なお、動的ブレイク実行時処理の指定は、図9に示したUIにより行われ、RAM12内に格納されているので、フォーム作成アプリケーション121がRAM12を参照することにより、S79の処理が可能となる。
【0188】
そして、ステップS79で、フォーム作成アプリケーション121は、動的ブレイク実行時処理が指定されていないと判断した場合には、そのままステップS7bに処理を進める。
【0189】
一方、ステップS79で、フォーム作成アプリケーション121は、動的ブレイク実行時処理が指定されていると判断した場合には、ステップS7aに処理を進め、該動的ブレイク実行時処理の設定に従って、動的ブレイク実行時処理を実行する。なお、S7aの詳細は、図36のS68にて説明したため、省略する。
【0190】
次に、ステップS7bにおいて、フォーム作成アプリケーション121は、ステップS76,S78,S7aの処理の結果に基づいて、RAM12内の出力データの全ページを再編集処理する。この再編集処理では、上記ステップS76,S78,S7aの各処理を実行したことにより生じる不具合を修正する。例えば、上記ステップS76,S78,S7aの各処理により、全体のページ数情報等と差分が生まれてしまう場合、それらの情報をRAM12上で更新する。
【0191】
次に、ステップS7cにおいて、フォーム作成アプリケーション121は、ステップS7bの再編集結果の各出力ぺージの余白領域を計算し、図7のUIにて設定された値にあてはまるか否かを判定する(末尾(最終ページ)を除く)。
【0192】
そして、ステップS7cで、フォーム作成アプリケーション121は、ステップS7bの再編集結果の出力ぺージが、図7のUIにて設定された値にあてはまらないと判断した場合には、次の項目をブレイクキーとする。図15の例では、「氏名」が最初の対象となっていたため、次は「課」がブレイクキーとなる。ステップS75に処理を戻す。そして、ステップS75〜S7cの処理を図7のUIにて設定された値にあてはまるまで繰り返す。なお、ステップS75のブレイク箇所存在の判定処理では、ステップS77で一度、ブレイク解除しないと判定されたブレイク箇所については含めないものとする。
【0193】
一方、ステップS7cで、フォーム作成アプリケーション121は、ステップS7bの再編集結果の出力ぺージが、図7のUIにて設定された値にあてはまると判断した場合には、そのまま本フローチャートの処理を終了させる。
【0194】
以上示した図37の処理を実行することで、ユーザが所望とする項目におけるブレイク処理は有効としながら、改ページ処理により発生する余白領域の無駄を省くことが可能となり、効率的な処理を実行できる。また、動的ブレイク処理により図30のようなページ溢れが発生しても、ユーザにページ溢れを通知することができ、ユーザはページ溢れを防ぎたい場合、異なる動的ブレイク処理に変更することが可能となる。また、先頭項目を優先とするのみで、項目を1つ1つ設定することなく動的ブレイク処理を行うことができるため、例えば項目数が膨大なフォームデータを対象とする場合に便利である。
【0195】
なお、図35のステップS55に示した動的ブレイク動作条件がページ数制限時の先頭ブレイク優先時動的ブレイク処理は、上記図37に示したフローチャートのステップS76,S77を削除し、ステップS7cを、以下のように変更したものとなる。例えば、フォーム作成アプリケーション121が、ステップS7bの再編集結果のページ数を計算し、図7のUIにて設定された値にあてはまるか否かを判定する。そして、フォーム作成アプリケーション121が、ステップS7bの再編集結果が図7のUIにて設定された値にあてはまらないと判断した場合には、ステップS75に処理を戻す。そしてステップS75〜S7cの処理を繰り返す。一方、フォーム作成アプリケーション121は、ステップS7bの再編集結果が図7のUIにて設定された値にあてはまると判断した場合には、そのまま本フローチャートの処理を終了させる。以上の変更により、図37のフローチャートは、図35のステップS55に示した動的ブレイク動作条件がページ数制限時の先頭ブレイク優先時動的ブレイク処理に適用可能である。
【0196】
これにより、ユーザが所望とする項目におけるブレイク処理は有効としながら、指定されたページ数制限に収めることが可能となり、効率的な処理を実行できる。
【0197】
なお、図37では、ステップS78において、ステップS73で選択したブレイクキーの改ページブレイクを1つ解除する構成について説明した。しかし、ステップS78において、ステップS73で選択したブレイクキーの改ページブレイクを全て解除するように構成してもよい。
【0198】
以下、上記図37に示した先頭ブレイク優先時動的ブレイク処理を図21〜図23を用いて説明する。
【0199】
図21に示すように、図6に示した動的ブレイクキー選択UIにより、フォームデータ3401のブレイクキーとして「部」3402および「課」3403が選択され、「部」3402,「課」3403の順に優先順位が設定されているものとする。“先頭ブレイク優先”設定の場合、末尾のブレイクキーから削除(解除)されるため、「課」3403が削除されることとなる。
【0200】
よって、「課」の項目で発生するブレイク処理は無視されるので、図22に示すように、コンテンツデータ3501においてブレイクする箇所は3502の1箇所となる。その結果、動的ブレイク処理を実行しない場合には、上述した図17のように4ページ分のデータが生成されていたが、“先頭ブレイク優先”設定の動的ブレイク処理を実行することで、図23の3601,3601のように、2ページに収めることが可能となる。この結果、効率的な印刷処理を実行することが可能となる。
【0201】
図38は、本発明における第5の制御処理手順の一例を示すフローチャートであり、図34のステップS46に示した動的ブレイク動作条件が余白領域指定時の末尾ブレイク優先時動的ブレイク処理に対応する。なお、図38中、S81〜S8cは各ステップを示す。
【0202】
ステップS81において、フォーム作成アプリケーション121は、ブレイクキーを末尾から順番を保持して、動的ブレイクキーテーブルに保持する。なお、末尾とはフォームデータのデータ項目において、所定の設定条件に従い先頭項目を特定する。例えば、図15のようなフォームデータを対象とする場合、左の項目から先頭とすることが指定されていると、先頭項目は「氏名」であり、「課」、「部」、「センター」と続く。
【0203】
次に、ステップS82において、フォーム作成アプリケーション121は、動的ブレイクテーブルにブレイクキーが存在するか否か判断する。
【0204】
そして、ステップS82で、フォーム作成アプリケーション121は、動的ブレイクテーブルにブレイクキーが存在しない場合には、そのまま本フローチャートの処理を終了させる。
【0205】
一方、ステップS82で、フォーム作成アプリケーション121は、動的ブレイクテーブルにブレイクキーが存在する場合、ステップS83において、動的ブレイクテーブルにおいて先頭ブレイクキーとして記憶されているブレイクキーを選択する。なお、図15の 例では、「センター」が該当する。
【0206】
ステップS85において、フォーム作成アプリケーション121は、選択されたフォームデータに配置すべきコンテンツデータを読み出し、ステップS83で選択されたブレイクキーの項目に流し込むべきデータを解析し、ブレイク箇所が存在するか判断する。
【0207】
そして、ステップS85で、フォーム作成アプリケーション121は、ブレイク箇所が存在しないと判断した場合には、ステップS84において、ステップS83で選択したブレイクキーをテーブルから削除し、ステップS82に処理を戻す。
【0208】
一方、ステップS85で、フォーム作成アプリケーション121は、ブレイク箇所が存在すると判断した場合には、ステップS86において、ステップS85で確認されたいずれかの1つのブレイク箇所に対する余白領域処理を実行する。なお、詳細な説明は図37のS76と同等であるため省略する。
【0209】
次に、ステップS87において、フォーム作成アプリケーション121は、ステップS86の余白領域処理結果に基づいて、ブレイク解除を実行するか否かを判断する。
【0210】
そして、ステップS87で、フォーム作成アプリケーション121は、ブレイク解除を実行しないと判断した場合には、ステップS8cへ処理を進める。
【0211】
一方、ステップS87で、フォーム作成アプリケーション121は、ブレイク解除を実行すると判断した場合には、ステップS78へ処理を進める。
【0212】
次に、ステップS88において、フォーム作成アプリケーション121は、ステップS83で選択されたブレイクキーにおける改ページブレイクを1つ解除する。つまり、フォーム作成アプリケーション121は、RAM12内の出力データを編集し、ステップS86で余白領域処理したブレイク箇所に挿入されている改ページを1つ解除(削除)する。即ち、出力するデータを改ページする箇所を変更する。
【0213】
次にステップS89において、フォーム作成アプリケーション121は、動的ブレイク実行時処理が指定されているか否かを判断する。なお、動的ブレイク実行時処理の指定は、図9に示したUIにより行われ、RAM12内に格納されているので、フォーム作成アプリケーション121がRAM12を参照することにより、S89の処理が可能となる。
【0214】
そして、ステップS89で、フォーム作成アプリケーション121は、動的ブレイク実行時処理が指定されていないと判断した場合には、そのままステップS7bに処理を進める。
【0215】
一方、ステップS89で、フォーム作成アプリケーション121は、動的ブレイク実行時処理が指定されていると判断した場合には、ステップS8aに処理を進め、該動的ブレイク実行時処理の設定に従って、動的ブレイク実行時処理を実行する。なお、詳細な説明は、図36のS68にて説明したため、省略する。
【0216】
次に、ステップS8bにおいて、フォーム作成アプリケーション121は、ステップS86,S88,S8aの処理の結果に基づいて、RAM12内の出力データの全ページを再編集処理する。S8bの処理は、S7bの処理とほぼ同様である。
【0217】
次に、ステップS8cにおいて、フォーム作成アプリケーション121は、ステップS7bの再編集結果の各出力ぺージの余白領域を計算し、図7のUIにて設定された値にあてはまるか否かを判定する。
【0218】
そして、ステップS8cで、フォーム作成アプリケーション121は、ステップS8bの再編集結果の出力ぺージが、図7のUIにて設定された値にあてはまらないと判断した場合には、次の項目をブレイクキーと設定してステップS85に処理を戻す。図15の例では、最初に先頭項目の「センター」をブレイクキーとしたため、次の項目である「部」をブレイクキーとする。そして、ステップS85〜S8cの処理を図7のUIにて設定された値にあてはまるまで繰り返す。なお、ステップS85のブレイク箇所存在の判定処理では、ステップS87で一度、ブレイク解除しないと判定されたブレイク箇所については含めないものとする。
【0219】
一方、ステップS8cで、フォーム作成アプリケーション121は、ステップS8bの再編集結果の出力ぺージが、図7のUIにて設定された値にあてはまると判断された場合には、そのまま本フローチャートの処理を終了させる。
【0220】
以上示した図38の処理を実行することで、ユーザが所望とする項目におけるブレイク処理は有効としながら、ユーザが所望とする出力結果を得ることが可能となる。
【0221】
なお、図35のステップS56に示した動的ブレイク動作条件がページ数制限時の末尾ブレイク優先時動的ブレイク処理は、上記図38に示したフローチャートのステップS86,S87を削除し、ステップS8cを、以下のように変更したものとなる。例えば、フォーム作成アプリケーション121が、ステップS8bの再編集結果のページ数を計算し、図7のUIにて設定された値にあてはまるか否かを判定する。そして、フォーム作成アプリケーション121が、ステップS8bの再編集結果が図7のUIにて設定された値にあてはまらないと判断した場合には、ステップS85に処理を戻す。そしてステップS75〜S7cの処理を図7のUIにて設定された値にあてはまるまで繰り返す。一方、フォーム作成アプリケーション121は、ステップS8bの再編集結果が図7のUIにて設定された値にあてはまると判断した場合には、そのまま本フローチャートの処理を終了させる。以上の変更により、図38のフローチャートは、図35のステップS56に示した動的ブレイク動作条件がページ数制限時の末尾ブレイク優先時動的ブレイク処理に適用可能である。
【0222】
これにより、ユーザが所望とする項目におけるブレイク処理は有効としながら、指定されたページ数制限に収めることが可能となり、効率的な処理を実行できる。
【0223】
なお、図38では、ステップS88において、ステップS83で選択したブレイクキーの改ページブレイクを1つ解除する構成について説明した。しかし、ステップS88において、ステップS83で選択したブレイクキーの改ページブレイクを全て解除するように構成してもよい。
【0224】
以下、上記図38に示した末尾ブレイク優先時動的ブレイク処理を図24〜図26を用いてより具体的に説明する。
【0225】
図24に示すように、図6に示した動的ブレイクキー選択UIにより、フォームデータ3701のブレイクキーとして「部」3702および「課」3703が選択され、「部」3702,「課」3703の順に優先順位が設定されているものとする。“末尾ブレイク優先”設定の場合、先頭のブレイクキーから削除(解除)されるため、「部」3702が削除されることとなる。
【0226】
よって、「部」の項目で発生するブレイク処理は無視されるので、図25に示すように、コンテンツデータ3501においてブレイクする箇所は3802,3803の2箇所となる。その結果、動的ブレイク処理を実行しない場合には、上述した図17のように4ページ分のデータが生成されていた。しかし、“先頭ブレイク優先”設定の動的ブレイク処理を実行することで、図26の3901,3901,3903のように、3ページに収めることが可能となる。この結果、効率的な印刷処理を実行することが可能となる。
【0227】
よって、フォーム作成アプリケーションは、S44以降のいずれかの処理を実行することにより変更されたデータの変化を判定するデータ項目におけるデータの変化に応じて区切り処理を適用した出力ページを生成することが可能となる。
【0228】
なお、図37および図38では、フォームデータの構成から先頭項目と末尾項目を決定していたがこれに限ることはなく、例えば、図6のように優先する項目をユーザが指定することもできる。これにより、各項目の優先順位を設定した状態で、先頭項目優先を選択された場合、優先順位の低い項目からブレイクキーが解除される。また、末尾項目優先を選択した場合、優先順位の高い項目からブレイクキーが解除される。
【0229】
図39は、本発明における第6の制御処理手順の一例を示すフローチャートであり、図37のステップS76,図38のステップS86に示した余白領域処理に対応する。なお、図39中、S91〜S95は各ステップを示す。
【0230】
ステップS91において、フォーム作成アプリケーション121は、指定されたブレイク箇所において発生するブレイクを無効化することにより、コンテンツデータを挿入したフォームデータを各ページ内に収めることができるか否かを判定する。以下、このステップS91の処理を具体的に説明する。つまり、フォーム作成アプリケーションは、複数のデータ項目からなるデータにおいて、データの変化を判定するデータ項目を変更する。その結果、フォーム作成アプリケーション121は、変更後のデータ項目におけるデータの変化に基づいて、該データの変化前までのデータを所定の領域内に収めることができるかを判定する。なお、S91にてデータの変化前までのデータを所定の領域内に収めることができないと判定された場合の出力処理内容は、図14にて設定可能である。そして、フォーム作成アプリケーションは、S91によりブレイクキーの変更後のデータ項目のデータ変化に応じて、データ変化前までのデータを所定の領域内に収められないと判定した場合、図14にて設定された出力処理内容に基づいて出力ページを生成する。なお、ブレイクキーの変更とは、データの変化を判定するデータ項目を変更する処理に当たる。
【0231】
フォーム作成アプリケーション121は、動的ブレイク処理を行う前のデータ(この時点でRAM12内の保持されている出力データ)を解析する。そして、フォーム作成アプリケーション121は、図37のS73又は図38のS83で選択されたブレイクキーのブレイク箇所において、改ページブレイクで生成されたページの前ページに生じた余白領域をRAM12内に記憶する。続いて、フォーム作成アプリケーション121は、次にブレイクが発生するまでのデータを上記改ページブレイクで生成されたページの前ページの余白領域に収めることができるか否かにより、ページ溢れが発生するか否かを判定する。例えば、図30では、動的ブレイク処理を行う前において、「部」と「課」の項目がブレイクキーとして指定されていたとする。その場合、「課」の項目においてデータが「1」から「2」に変わる箇所でブレイクが発生し、改ページ処理される。つまり、「A部1課ああ」と「A部1課いい」が1ページ目に配置され、それ以降のデータは2ページ以降に配置される。ここで、フォーム作成アプリケーション121は、「A部1課ああ」と「A部1課いい」を配置するために必要となる領域を算出する。算出方法の一例としては、1行当たりのサイズを予め設定しておき、何行のデータを配置するかにより必要となる領域を算出する。例えば、図30の場合、1行の高さ3cm×横9cmと設定した場合、2行分のデータを配置するため6×9cm分の領域が必要となる。この算出結果と用紙サイズを用いることで余白領域が算出される。
【0232】
さらに、次のブレイクが発生するまで5行分のデータがあることから、この5行分のデータを配置するために必要となる領域は15×9となる。よって、算出された余白領域と、次のブレイクが発生するまでのデータを配置するために必要となる領域を比較する。その結果により、フォーム作成アプリケーション121は、次にブレイクが発生するまでのデータを上記ページの余白領域に収めることができるか判定できる。フォーム作成アプリケーション121は、上記処理を実行して、ステップS91の判定処理を行う。
【0233】
そして、ステップS91で、フォーム作成アプリケーション121は、ページ溢れが発生しないと判断した場合には、図示しないステップにおいて、ブレイク解除を実行する旨の情報をRAM12上に設定し、処理を終了させる。よって、この場合、図37のステップS77,図38のステップS88では、ブレイク解除を実行すると判定される。
【0234】
一方、ステップS91で、フォーム作成アプリケーション121は、ページ溢れが発生すると判定した場合には、図示しないステップにおいて、図31に示したUIをディスプレイ17に表示制御する。これにより、ページ溢れが発生することをユーザに通知し、現在選択されている動的ブレイク処理を続行するか、異なる動的ブレイク処理に変更するか等を選択させることができる。
【0235】
図31のUIで、現在選択されている動的ブレイク処理の“変更”ボタン2402が選択された場合、フォーム作成アプリケーション121は、図示しないステップにおいて、図8に示した動的ブレイク設定UIをディスプレイ17に表示制御する。そして、動的ブレイク設定が行われると、図示しないステップにおいて、該動的ブレイク設定をRAM12内に格納し、図34のステップS42から再度処理を開始させる。
【0236】
一方、図31のUIで、現在選択されている動的ブレイク処理の“続行”ボタン2401が選択された場合、ステップS92に処理を進める。
【0237】
ステップS92において、フォーム作成アプリケーション121は、予め図14のUIで設定されRAM12内の余白領域設定を参照して解析し、処理を分岐させる。
【0238】
ステップS92で、ページ溢れが発生した場合の処理として“そのまま出力”が設定されていると判断した場合、ステップS93において、そのまま出力させるための処理を行う(即ち、ブレイク解除を実行する旨の情報をRAM12上に設定する)。そして、処理を終了させる。よって、この場合、図37のステップS77,図38のステップS88では、ブレイク解除を実行すると判定される。結果として、図32に示すように、ページに設定されている余白領域13201までデータを配置され、残りのデータは次のページへと配置されて出力されることになる。
【0239】
また、ステップS92で、ページ溢れが発生した場合の処理として“ブレイクさせる”が設定されていると判断した場合、ステップS94において、フォーム作成アプリケーション121は、ブレイクさせるための処理を行う。即ち、ブレイク解除を実行しない旨の情報をRAM12上に設定する。そして、処理を終了させる。よって、この場合、図37のステップS77,図38のステップS88では、ブレイク解除を実行しないと判定される。結果として、図28に示すように各ブレイク箇所で改ページされて出力されることになる。この場合の出力結果は、図28のようなレイアウト結果となる。
【0240】
また、ステップS92で、ページ溢れが発生した場合の処理として“印字領域最大まで出力させる”が設定されていると判断した場合、ステップS95において、フォーム作成アプリケーション121は、印字領域最大まで出力させる処理を行う。詳細には、図33に示すように、ページに設定されている余白領域を無視し印字可能領域最大までデータを配置するようにRAM12内の出力データを編集し、さらに、ブレイク解除を実行する旨の情報をRAM12上に設定する。そして、処理を終了させる。よって、この場合、図37のステップS77,図38のステップS88では、ブレイク解除を実行すると判定される。また、結果として、図32に示すように、ページに設定されている余白領域は無視され、印字可能領域3301最大までデータを配置され、残りのデータは次のページへと配置され出力されることになる。
【0241】
以上のように、ページ溢れが発生する場合の処理を選択しておくことで、選択された動的ブレイク処理を実行するとページ溢れが発生する場合でも、ユーザが所望とする対処方法で処理することが可能となる。
【0242】
以上の処理を用いることで、ユーザが所望とする項目のブレイクキーにて発生するブレイク処理の有効性を保持しながら、図7のUIにてユーザが設定した内容に基づきユーザが所望とする出力結果を得ることが可能となる。
【0243】
なお、図36に示したブレイク解除時動的ブレイク処理においても、図39に示した余白領域処理を実行するように構成してもよい。即ち、図36のステップS65とステップS66の間に、該ステップS65で選択されたブレイクキーに対応する全てのブレイク箇所に対する余白領域処理を実行するように制御する。さらに、この余白領域処理結果に基づいて、ブレイク解除を実行するか否かを判断し、ブレイク解除すると判断した場合、ステップS66に処理を進め、一方、ブレイク解除しないと判断した場合、ステップS6bに処理を進めるように制御する。以上のように構成してもよい。
【0244】
次に図41と図42を用いて印刷目的に応じて動的ブレイク処理を実行する処理について説明する。
【0245】
図41は、印刷目的を選択するためのUI図であり、「試し印刷」または「本番印刷」のいずれかを選択することが可能である。
【0246】
次に図42を用いて図41の印刷目的が設定された場合のフローチャートについて説明する。
【0247】
フォーム作成アプリケーション121は、図41の設定UIにて設定された内容を解析して、試し印刷が設定されたか否かを判定する(S101)。
【0248】
フォーム作成アプリケーション121は、S101により試し印刷が設定されていると判定した場合、動的ブレイク処理が設定されているか否かを判定する(S102)。詳細には、動的ブレイク処理を設定する場合、図8の設定UIにて設定した内容がRAMに保存されているため、フォーム作成アプリケーション121が、RAMを参照することにより判定可能である。
【0249】
S102においてブレイク処理が設定されていると判定された場合、S41へ進む。一方、S102において、ブレイク処理が設定されていないと判定された場合、フォーム作成アプリケーション121は、図7から図14を必要に応じて表示して動的ブレイク処理に必要となる項目の設定値を認識する(S103)。その後、図34のS41へと処理が引き継がれる。なお、図42では、S103において動的ブレイク処理を設定してブレイク項目を変更する処理について説明したがこれに限ることはない。例えば、ブレイク処理内容が改ページブレイクであれば、改行ブレイク処理に変更して、ページ数を節約するように処理しても構わない。なお、詳細な説明は図45にて行う。
【0250】
図42の処理を実行することで、例えば試し印刷などページ数の節約が望まれる環境下では、可能な限りページ数を設定する必要がある。そのため、レイアウト編集アプリケーション121は、試し印刷と判定され、動的ブレイク処理の実行が設定されていない場合、図7から図14のUIを必要に応じて表示する。そして、設定された値を用いて動的ブレイク処理を実行することで、ユーザの環境や目的を反映した出力を行うことが可能となる。
【0251】
一方、図42のS101において、試し印刷でないと判定された場合、つまり、本番印刷の場合、図43のフローチャートが実行される。
【0252】
フォーム作成アプリケーション121は、動的ブレイク処理が設定されているか否かを判定する(S110)。ここで、動的ブレイク処理が設定されていない場合、通常のブレイク処理が実行されるので、そのまま出力される。一方、S110により動的ブレイク処理が設定されていると判定された場合、フォーム作成アプリケーション121は、動的ブレイク処理設定を解除する(S111)。
【0253】
フォーム作成アプリケーション121は、S112において生成された出力ページを出力する。
【0254】
図43の処理を実行することで、例えば本番印刷などデータの高い視認性が求められている環境下では、ユーザが予め指定した項目においてデータの変化が生じることに応じたブレイク処理を行うことで、視認性の高い出力結果を得ることが可能となる。
【0255】
このように、図41から図43の処理を実行することで、ユーザの環境や目的を反映した出力を行うことが可能となる。なお、図41では、試し印刷と本番印刷を例にあげたがそれ以外の項目であっても構わない。
【0256】
つまり、フォーム作成アプリケーション121は、図41から図43の処理を用いて、生成された出力ページの出力設定情報を判定する。具体的には、本番印刷か試し印刷かを判定する。そして、本番印刷であると判定された場合、データの変化を判定するデータ項目の変更処理を実行しない。または、ブレイク処理の内容を変更しない。つまり、フォーム作成アプリケーション121は、予め設定された所定のブレイクキー項目および所定のブレイク処理内容にて出力ページを生成する。一方、試し印刷であると判定された場合、フォーム作成アプリケーション121は、データの変化を判定するデータ項目の変更処理を実行する。または、ブレイク処理の処理内容を変更する。
【0257】
また、図44に示すUIにより出力結果の配布先に応じて動的ブレイク処理を実行しても構わない。図44のUIには配布先として、「部長」「課長」が表示されている。これは、ユーザが任意に登録しても、別の方法で登録しても構わない。
【0258】
ここで、部長が選択された場合、部単位でブレイク処理を行うことにより、利便性の高い出力結果を得ることができると想定できる。よって、選択されているブレイクキーが「部」および「課」の場合、自動的に部単位で動的ブレイク処理が実行されるように「先頭ブレイクキー優先」が選択される。一方、課長が選択された場合は、課単位で動的ブレイク処理が実行されるように「末尾ブレイクキー優先」が選択される。
【0259】
本願第1実施例のように、オーバーレイ処理により生成された出力結果が図7のUIにて設定された条件に当てはまらない場合、ブレイク処理の判定項目(データの変化を判定するデータ項目)を変更する。この処理により、ユーザが指定したブレイク処理内容(例えば改ページブレイク)を変更することなく、ユーザが図7のUIにて設定した条件に一致した出力結果を得ることが可能となる。
【0260】
〔第2実施形態〕
第1実施形態では、所定の条件(余白領域制限やページ数制限)に一致した場合、ブレイク処理の判定項目を変更してユーザが所望とする出力結果を得ていた。第2実施例では、ブレイク処理の内容を変更することにより、ユーザの所望とする出力結果を得ることを目的とする。なお、第2実施例では、第1実施例と異なる点に着目して記載する。そのため、第2実施例に記載されていない内容は、第1実施例に記載されている内容を用いて処理を進めても良い。
【0261】
フォーム作成アプリケーション121は、予め図7から図14の設定UIを介して必要な項目に入力された値を設定しているものとする。そして、フォーム作成アプリケーション121は、予め定められたデータ項目におけるデータの変化を判定し、予め定められたデータ項目においてデータの変化が生じたと判定された場合、区切り処理を実行する。なお、この処理は、本願において共通の処理である。
【0262】
図45は、第2実施例におけるフォーム作成アプリケーション121の処理内容を示したものである。
【0263】
フォーム作成アプリケーション121は、上述したオーバーレイ処理を実行する(S121)。
【0264】
フォーム作成アプリケーション121は、オーバーレイにより生成された出力ページが図7の設定UIにて設定された値にあてはまるか否かを判定する(S122)。
【0265】
S122により、図7のUIにて設定した値に当てはまらないと判定された場合、レイアウト編集アプリケーション121は、図47のようなUIを表示する。ここで、ブレイク処理内容変更が選択された場合、詳細画面である図48を表示し、ユーザに設定された内容に従ってブレイク処理内容を変更する(S123)。図47および図48について説明する。図47には、ブレイク処理を変更するか否かを設定するためのUIであり、ここで変更することを指定すると、図48のUIが表示され、例えば「改ページ→改行」と表示されている。これは、現在のブレイク処理が改ページブレイクであるため、このような表示になる。もし、現在のブレイク処理が改行ブレイクであれば、「改行→改ページ」と表示されても良い。また、「改ページ→改行」および「改行→改ページ」を表示して選択させるようにしても良い。つまり、S122からS123の処理は、区切り処理を実行して生成された出力ページが図7のUIにて設定された出力ページの制約条件にあてはまらない場合、区切り処理の処理内容を変更することである。そして、フォーム作成アプリケーション121は、変更された区切り処理の処理内容に基づいて出力ページを生成する。なお、区切り処理内容とはブレイク処理内容と同義である。
【0266】
以上、図45の処理を実行することによりブレイク処理内容が必要に応じて変更される。そのため、オーバーレイ処理の結果、ユーザが所望とする出力結果を得ることができなくとも、ユーザが予め設定したデータ項目のブレイク処理を反映しつつ、データの高い視認性を保ち、無駄な印刷出力を行うことなくユーザが所望とする出力結果を得られる。
【0267】
図46に、第2実施例を用いた場合の出力結果を示す。なお。フォームデータは、図15のデータ、流し込むべきデータは図16を用いた場合を想定している。
【0268】
まず、指定されたブレイクキーである「部」および「課」の項目において、ブレイク処理を実行すると図17に示すように4ページの出力結果となる。また、ユーザは図7のUIを用いて、「ページ数制限」として2ページ以内に収めることが指定されているとする。また、図9は改行ブレイク時に使用することができ、図46では、空行挿入が指定されているとする。以上を踏まえて、第2実施例を適用することにより、出力結果は図46のように変更される。
【0269】
なお、図49は、ブレイク処理の処理内容を設定する画面である。オーバーレイ処理を実行するために、フォームデータや該フォームデータに流し込むデータを選択する際に、同様に設定するものである。図49では、改ページブレイクまたは改行ブレイクを設定することが可能となっている。
【0270】
なお、第2実施例においても出力ページの各ページにおいて、前記データが配置されていない余白サイズを判定することができる。そして、フォーム作成アプリケーション121は、各ページの余白サイズが図7のUIにて設定された出力ページの余白領域制限を超える場合、前記区切り処理の処理内容を変更する。同様に、フォーム作成アプリケーションは、出力ページのページ数を判定し、出力ページのページ数が図7のUIにて設定されたページ数制限を超える場合、区切り処理の処理内容を変更する。
【0271】
また、フォーム作成アプリケーション121は、S123にて区切り処理の処理内容を改ページ処理から改行処理に変更することができる。そして、フォーム作成アプリケーション121は、予め定められたデータ項目におけるデータの変化に応じてよって変更された改行処理を適用して出力ページを生成する。なお、改行処理を実行する場合は、図9を介して設定された改行処理を実行する箇所に、空行を挿入する処理、区切り処理を解除した箇所の属性を変更する処理、なにも挿入しない処理、のいずれかに基づき出力ページを生成する。また、フォーム作成アプリケーションは、ページ数制限設定の際、該ページ数制限に基づいて前記区切り処理の処理内容を変更しても、生成される出力ページのページ数がページ数制限を超えてしまう場合のページ数制限処理を図14を介して設定できる。その設定内容は、そのまま出力する処理、エラーとする処理が挙げられる。そして、フォーム作成アプリケーション121は、区切り処理の処理内容を変更しても出力ページのページ数が前記ページ数制限を超えてしまうと判定された場合、図14にて設定された情報に基づいて、出力ページを生成する。
【0272】
また、ブレイクが発生した時に、小計/集計が出力可能に構成し、さらに、該小計/集計の出力を動的に変更し、表示/非表示を切り替え可能に構成してもよい。以下、その実施形態について説明する。
【0273】
図40は、本実施形態における小計/集計設定UIの一例を示す図である。図1に示したCPU10により実行される図4に示したUIコンポーネント103の制御によりディスプレイ17に表示され、キーボード16又はマウス18により入力指示可能に制御される。また、このUIによる設定は、RAM12等に保持される。
【0274】
この小計/集計設定UIでは、ブレイク発生時に小計/集計を表示する/表示しないの設定、及び、小計/集計のみの表示を行う設定を行うことができる。
【0275】
図40において、1901は“小計/集計を表示する”設定であり、ブレイク時に、結果データの小計/集計を表示する設定である。1902は“小計/集計を表示しない”設定であり、ブレイク時に、結果データの小計/集計を表示しない設定である。
【0276】
1903は“小計/集計のみ表示”設定であり、ブレイク時に、結果データの小計/集計のみを表示する設定である。
【0277】
1904はOKボタンで、このOKボタン1904が指示されると、UIコンポーネント103の制御により、このUIによる設定値がRAM12等に保存される。
【0278】
そして、フォーム作成アプリケーション121は、上記各フローチャートに示したオーバーレイ処理の実行時に、上記図40のUIで設定されRAM12に保持される小計/集計設定に基づく処理を実行する。
【0279】
即ち、フォーム作成アプリケーション121は、図40のUIの設定が“表示する”であった場合、ブレイク発生時に該ブレイク箇所における帳票データの小計/集計を算出する。そして、フォーム作成アプリケーション121は、該算出された小計/集計を該当するブレイク箇所に出力(印刷や表示)するように、出力データをRAM12内で編集制御する。一方、フォーム作成アプリケーション121は、図40のUIの設定が“表示しない”であった場合、ブレイク発生時に該ブレイク箇所における帳票データの小計/集計を出力(印刷や表示)しないように制御する。
【0280】
また、フォーム作成アプリケーション121は、図40のUIの設定が“小計/集計のみ表示”であった場合、前記算出された小計/集計のみを出力(印刷や表示)するように、出力データをRAM12内で編集制御する。
【0281】
つまり、フォーム作成アプリケーション121は、データの変化を判定するデータ項目におけるデータの変化に基づいて、集計処理する集計処理手段を有し、集計処理手段による集計結果を含んだ出力ページを生成する。
【0282】
以上の処理により、ブレイクを解除するだけでなく、小計/集計の出力を動的に制御することで、更なる用紙スペースの削減を行うことができる。
【0283】
なお、フォーム作成アプリケーションによって生成される出力ページは、枠情報にデータを流し込んで生成される表形式の出力ページを含む。
【0284】
なお、図1に示したホストコンピュータ101は、パーソナルコンピュータであってもサーバコンピュータ等であってもよい。
【0285】
なお、上述した各種データの構成及びその内容はこれに限定されるものではなく、用途や目的に応じて、様々な構成や内容で構成されることは言うまでもない。
【0286】
以上、一実施形態について示したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【0287】
以上、説明したように、フォーム作成アプリケーション121は、ブレイク処理により生成されたページの余白量が閾値以上か判定し、閾値以上であれば動的ブレイク(ブレイクキーの変更)を行って、動的に改ページ箇所を変更制御する。これにより、余分な余白領域をなくし必要なデータだけが記載された印刷物を生成することができる。
【0288】
また、フォーム作成アプリケーション121は、ブレイク処理により生成されたページのページ数が閾値以上か判定し、閾値以上であれば動的ブレイク(ブレイクキーの変更)を行って、動的に改ページ箇所を変更制御する。これにより、文字サイズや行間などの見栄えを変更せずユーザが指定する指定数ページに収めることができる。
【0289】
このように、条件・制約を外部から与えることで、その条件・制約の元で動的にブレイク設定を変更し、ユーザの望む印刷結果を出力することができる。
【0290】
なお、上記各実施形態では、オーバーレイ処理を実行して出力データをRAM12上に生成しておき、該出力データを設定される動的ブレイク動作条件に基づいて編集して、ブレイク箇所や出力領域を変更等する構成を示した。これにより、データを改ページする箇所や出力領域を動的に変更することが可能となった。しかし、以下のように構成してもよい。まず、動的ブレイク動作条件とフォームデータやコンテンツデータに基づいて、実行すべきブレイク変更の箇所や出力領域変更等を決定して、その情報をRAM12内に保持させる。そして、実行すべきブレイク変更の箇所や出力領域変更等の情報に基づいて、オーバーレイ処理を実行して、改ページする箇所は出力領域を動的に変更するように構成してもよい。
【0291】
以下、上述の図2に示したメモリマップを参照して、本発明に係る帳票印刷処理システムに適用可能な情報処理装置で読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップの構成について説明する。
【0292】
なお、特に図示しないが、記憶媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報,作成者等も記憶され、かつ、プログラム読み出し側のOS等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。
【0293】
さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、各種プログラムをコンピュータにインストールするためのプログラムや、インストールするプログラムが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。
【0294】
本実施形態における図34,図35,図36,図37,図38,図39,図42,図43,図45に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。そして、その場合、CD-ROMやフラッシュメモリやFD等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
【0295】
以上のように、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。
【0296】
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0297】
従って、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。
【0298】
プログラムを供給するための記憶媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD-ROM、CD-R、CD-RW、磁気テープ、不揮発性のメモリカード、ROM、DVDなどを用いることができる。
【0299】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【0300】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のプログラムそのものをハードディスク等の記憶媒体にダウンロードすることによっても供給できる。また、該ホームページから圧縮され自動インストール機能を含むファイルをハードディスク等の記憶媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバやFTPサーバ等も本発明の請求項に含まれるものである。
【0301】
また、本発明のプログラムを暗号化してCD-ROM等の記憶媒体に格納してユーザに配布する。さらに、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。さらに、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【0302】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、以下のような構成も含まれることは言うまでもない。例えば、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0303】
さらに、記憶媒体から読み出されたプログラムコードを、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込む。そして、該メモリに書き込まれたプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【0304】
また、本発明は、複数の機器から構成されるシステムに適用しても、1つの機器からなる装置に適用してもよい。また、本発明は、システムあるいは装置にプログラムを供給することによって達成される場合にも適応できることは言うまでもない。この場合、本発明を達成するためのソフトウェアによって表されるプログラムを格納した記憶媒体を該システムあるいは装置に読み出すことによって、そのシステムあるいは装置が、本発明の効果を享受することが可能となる。
【0305】
本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形(各実施形態の有機的な組み合わせを含む)が可能であり、それらを本発明の範囲から排除するものではない。
【0306】
本発明の様々な例と実施形態を示して説明したが、当業者であれば、本発明の趣旨と範囲は、本明細書内の特定の説明に限定されるのではない。
【0307】
なお、上述した各実施形態およびその変形例を組み合わせた構成も全て本発明に含まれるものである。
【0308】
以上より、文字サイズや行間等の見栄えを変更せず、また、データ仕分けの利便性も保ちつつ、ユーザの所望のページ数に収めたり、余分な余白領域をなくし、ユーザが望む出力結果を取得できるようにすることができる。
【図面の簡単な説明】
【0309】
【図1】、本発明の一実施形態を示す帳票印刷処理システムに適用可能な情報処理装置のハードウェアの構成の一例を示すブロック図である。
【図2】本発明に係る情報処理装置で読み取り可能な各種データ処理プログラムおよび関連データを格納する記憶媒体(記録媒体)のメモリマップを説明する図である。
【図3】図2に示した制御プログラムがRAMにロードされ実行可能となった状態のメモリマップを説明する図である。
【図4】帳票等のデータを印刷するシステムの一例を示すブロック図である。
【図5】フォームデータに対してコンテンツデータを流し込む処理を説明する図である。
【図6】本実施形態における動的ブレイクキー選択UIの一例を示す図である。
【図7】本実施形態における動的ブレイク動作条件設定UI(ユーザインタフェース)の一例を示す図である。
【図8】本実施形態における動的ブレイク設定UIの一例を示す図である。
【図9】本実施形態における動的ブレイク実行時処理UIの一例を示す図である。
【図10】本実施形態における動的ブレイクキー詳細設定UIの一例を示す図である。
【図11】本実施形態におけるページ数設定UIの一例を示す図である。
【図12】本実施形態の出力設定UIの一例を示す図である。
【図13】本実施形態におけるエラー設定UIの一例を示す図である。
【図14】本実施形態における余白領域設定UIの一例を示す図である。
【図15】図8に示した動的ブレイク設定で“選択したブレイクキーのみブレイクを全て解除”設定が選択された場合のブレイクキー解除動作を具体的に説明する図である。
【図16】図8に示した動的ブレイク設定で“選択したブレイクキーのみブレイクを全て解除”設定が選択された場合のブレイクキー解除動作を具体的に説明する図である。
【図17】図8に示した動的ブレイク設定で“選択したブレイクキーのみブレイクを全て解除”設定が選択された場合のブレイクキー解除動作を具体的に説明する図である。
【図18】図8に示した動的ブレイク設定で“選択したブレイクキーのみブレイクを全て解除”設定が選択された場合のブレイクキー解除動作を具体的に説明する図である。
【図19】図8に示した動的ブレイク設定で“選択したブレイクキーのみブレイクを全て解除”設定が選択された場合のブレイクキー解除動作を具体的に説明する図である。
【図20】図8に示した動的ブレイク設定で“選択したブレイクキーのみブレイクを全て解除”設定が選択された場合のブレイクキー解除動作を具体的に説明する図である。
【図21】図8に示した動的ブレイク設定で“先頭ブレイクキー優先”設定が選択された場合のブレイクキー解除動作を具体的に説明する図である。
【図22】図8に示した動的ブレイク設定で“先頭ブレイクキー優先”設定が選択された場合のブレイクキー解除動作を具体的に説明する図である。
【図23】図8に示した動的ブレイク設定で“先頭ブレイクキー優先”設定が選択された場合のブレイクキー解除動作を具体的に説明する図である。
【図24】図8に示した動的ブレイク設定で“末尾ブレイクキー優先”設定が選択された場合のブレイクキー解除動作を具体的に説明する図である。
【図25】図8に示した動的ブレイク設定で“末尾ブレイクキー優先”設定が選択された場合のブレイクキー解除動作を具体的に説明する図である。
【図26】図8に示した動的ブレイク設定で“末尾ブレイクキー優先”設定が選択された場合のブレイクキー解除動作を具体的に説明する図である。
【図27】本実施形態における余白領域処理について具体的に説明する図である。
【図28】本実施形態における余白領域処理について具体的に説明する図である。
【図29】本実施形態における余白領域処理について具体的に説明する図である。
【図30】本実施形態における余白領域処理について具体的に説明する図である。
【図31】本実施形態における余白領域処理について具体的に説明する図である。
【図32】本実施形態における余白領域処理について具体的に説明する図である。
【図33】本実施形態における余白領域処理について具体的に説明する図である。
【図34】本発明における第1の制御処理手順の一例を示すフローチャートである。
【図35】本発明における第2の制御処理手順の一例を示すフローチャートである。
【図36】本発明における第3の制御処理手順の一例を示すフローチャートである。
【図37】本発明における第4の制御処理手順の一例を示すフローチャートである。
【図38】本発明における第5の制御処理手順の一例を示すフローチャートである。
【図39】本発明における第6の制御処理手順の一例を示すフローチャートである。
【図40】本実施形態における小計/集計設定UIの一例を示す図である。
【図41】本発明における出力目的を設定するためのUIの一例を示す図である。
【図42】本発明の試し印刷が選択された場合の処理を示すフローチャートである。
【図43】本発明の本番印刷が選択された場合の処理を示すフローチャートである。
【図44】本発明の出力先を指定するためのUIの一例を示す図である。
【図45】本発明のブレイク処理内容を変更するフローチャートである。
【図46】本発明のブレイク処理内容を変更した場合の出力結果の一例を示す図である。
【図47】本発明のブレイク処理内容を変更設定UIの一例を示す図である。
【図48】本発明のブレイク処理内容の変更内容設定UIの一例を示す図である。
【図49】本発明のブレイク処理内容を設定するUIの一例を示す図である。
【符号の説明】
【0310】
10 CPU
11 ROM
12 RAM
13 FDドライブ
14 FD
15 HDドライブ
16 キーボード
17 ディスプレイ
18 マウス
19 NIC(Network Interface Card)
20 システムバス
103 ユーザインタフェース(USER INTERFASE)
105 ライブラリ(LIBRARY)
121 フォーム作成アプリケーションプログラム(FORM EDITING APPLICATION)

【特許請求の範囲】
【請求項1】
複数のデータ項目からなるデータにおいて、予め定められたデータ項目におけるデータの変化に応じて区切り処理を実行して出力ページを生成する情報処理装置において、
前記生成される出力ページの制約条件を設定する設定手段と、
前記生成された出力ページが前記設定手段により設定された出力ページの制約条件にあてはまらない場合、前記データの変化を判定するデータ項目を変更する制御手段と、
前記制御手段によって変更された前記データの変化を判定するデータ項目におけるデータの変化に応じて区切り処理を適用した出力ページを生成する生成手段と、
を有することを特徴とする情報処理装置。
【請求項2】
前記出力ページの各ページにおいて、前記データが配置されていない余白サイズを判定する余白サイズ判定手段を有し、
前記設定手段は、制約条件として前記生成される出力ページの余白領域制限を設定可能であり、
前記制御手段は、前記余白判定手段によって判定された余白サイズが前記設定手段によって設定された前記出力ページの余白領域制限を超える場合、前記データの変化を判定するデータ項目を変更することを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記出力ページのページ数を判定する出力ページ数判定手段と、
前記設定手段は、制約条件として前記生成される出力ページのページ数制限を設定可能なものであり、
前記制御手段は、前記出力ページ数判定手段によって判定された出力ページのページ数が前記ページ数制限を超える場合、前記データの変化を判定するデータ項目を変更することを特徴とする請求項1に記載の情報処理装置。
【請求項4】
前記データの変化を判定するデータ項目を変更する方法を設定する変更方法設定手段を有し、
前記制御手段は、前記変更方法設定手段によって設定された前記データの変化を判定するデータ項目を変更する方法に基づいて、前記データの変化を判定するデータ項目を変更することを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
【請求項5】
前記データの変化を判定するデータ項目を変更する方法は、前記区切り処理を解除するデータ項目を指定し、該区切り処理を解除するように指定されたデータ項目におけるデータの変化に応じた区切り処理を解除する第1の方法を含み、
前記制御手段は、前記第1の方法が設定された場合には、前記区切り処理を解除するように指定されたデータ項目におけるデータの変化に応じた区切り処理を解除することを特徴とする請求項4に記載の情報処理装置。
【請求項6】
前記データの変化を判定するデータ項目変更する方法は、前記データの変化を判定するデータ項目の優先順位を指定し、該優先順位に基づく順序で該データ項目におけるデータの変化に応じた区切り処理を解除する第2の方法を含み、
前記制御手段は、前記第2の方法が設定された場合には、前記優先順位に基づく順序で該データ項目におけるデータの変化に応じた区切り処理を解除することを特徴とする請求項4または5に記載の情報処理装置。
【請求項7】
前記複数のデータ項目からなるデータにおいて、前記データの変化を判定するデータ項目を変更することにより、変更後のデータ項目におけるデータの変化に基づいて、該データの変化前までのデータを決められた領域内に収めることができるか否かを判定するデータ溢れ判定手段と、
前記データの変化を判定するデータ項目を変更後のデータ項目におけるデータの変化に基づいて、該データの変化前までのデータを決められた領域内に収めることができないと判定された場合の出力処理内容を設定する出力内容設定手段を有し、
前記データ溢れ判定手段により前記データの変化を判定するデータ項目を変更後のデータ項目におけるデータの変化に応じて、該データの変化前までのデータを決められた領域内に収めることができないと判定された場合、前記生成手段は、前記出力内容設定手段によって設定された出力処理内容に基づいて出力ページを生成することを特徴とする請求項1乃至6のいずれか1項に記載の情報処理装置。
【請求項8】
前記出力内容設定手段は、前記データの変化前までのデータを決められた領域内に収めることができないと判定された場合の処理として、決められた出力領域内にそのまま出力する処理、又は、前記決められた出力領域を含む出力可能な領域まで出力する処理を設定可能なものであり、
前記データ溢れ判定手段により前記データの変化を判定するデータ項目を変更後のデータ項目におけるデータの変化に基づいて、該データの変化前までのデータを決められた領域内に収めることができないと判定され、前記出力内容設定手段により前記出力可能な領域まで出力する処理が設定された場合、前記生成手段は、前記複数項目からなるデータを前記出力可能な領域まで配置した出力ページを生成することを特徴とする請求項7に記載の情報処理装置。
【請求項9】
前記データの変化を判定するデータ項目を変更することにより前記区切り処理を解除した箇所に、空行を挿入する処理、区切り処理を解除した箇所の属性を変更する処理、なにも挿入しない処理、のいずれかを設定可能な区切り処理箇所設定手段を有し、
前記生成手段は、前記データの変化を判定するデータ項目を変更することにより区切り処理を解除した箇所に対して前記区切り処理箇所設定手段によって設定された処理内容に基づき出力ページを生成することを特徴とする請求項1乃至8のいずれか1項に記載の情報処理装置。
【請求項10】
前記ページ数制限設定の際、該ページ数制限に基づいて前記データの変化を判定するデータ項目を変更しても、生成される出力ページのページ数が前記ページ数制限を超えてしまう場合のページ数制限処理として、そのまま出力する処理、又は、エラーとする処理を設定可能な出力設定手段を有し、
前記生成手段は、前記出力ページ数判定手段によって、前記データの変化を判定するデータ項目を変更しても出力ページのページ数が前記ページ数制限を超えてしまうと判定された場合、前記出力設定手段によって設定された情報に基づいて、出力ページを生成することを特徴とする請求項3に記載の情報処理装置。
【請求項11】
前記生成手段によって生成された出力ページの出力設定情報を判定する出力設定情報判定手段を有し、
前記制御手段は、前記出力設定情報判定手段によって判定された出力設定情報が第1出力設定情報であると判定された場合、前記データの変化を判定するデータ項目の変更処理を実行せず、前記出力設定情報判定手段によって判定された出力設定情報が第1出力設定情報であると判定された場合、前記データの変化を判定するデータ項目の変更処理を実行することを特徴とする請求項1乃至10のいずれか1項に記載の情報処理装置。
【請求項12】
複数のデータ項目からなるデータにおいて、予め定められたデータ項目におけるデータの変化に応じて区切り処理を実行して出力ページを生成する情報処理装置において、
前記生成される出力ページの制約条件を設定する設定手段と、
前記予め定められたデータ項目におけるデータの変化を判定するデータ判定手段と、
前記データ判定手段によって、予め定められたデータ項目においてデータの変化が生じたと判定された場合、前記区切り処理を実行する区切り処理実行手段と、
前記区切り処理実行手段による区切り処理を実行して生成された出力ページが前記設定手段により設定された出力ページの制約条件にあてはまらない場合、前記区切り処理の処理内容を変更する制御手段と、
前記制御手段によって変更された前記区切り処理の処理内容に基づいて出力ページを生成する生成手段と、
を有することを特徴とする情報処理装置。
【請求項13】
前記出力ページの各ページにおいて、前記データが配置されていない余白サイズを判定する余白サイズ判定手段を有し、
前記設定手段は、制約条件として前記生成される出力ページの余白領域制限を設定可能であり、
前記制御手段は、前記余白判定手段によって判定された余白サイズが前記設定手段によって設定された前記出力ページの余白領域制限を超える場合、前記区切り処理の処理内容を変更することを特徴とする請求項12に記載の情報処理装置。
【請求項14】
前記出力ページのページ数を判定する出力ページ数判定手段と、
前記設定手段は、制約条件として前記生成される出力ページのページ数制限を設定可能なものであり、
前記制御手段は、前記出力ページ数判定手段によって判定された出力ページのページ数が前記ページ数制限を超える場合、前記区切り処理の処理内容を変更することを特徴とする請求項12に記載の情報処理装置。
【請求項15】
前記区切り処理の処理内容を改ページ処理から改行処理に変更する変更方法設定手段を有し、
前記生成手段は、前記予め定められたデータ項目におけるデータの変化に応じて前記変更方法設定手段によって変更された改行処理を適用して出力ページを生成することを特徴とする請求項12乃至14のいずれか1項に記載の情報処理装置。
【請求項16】
前記改行処理を実行する箇所に、空行を挿入する処理、区切り処理を解除した箇所の属性を変更する処理、なにも挿入しない処理、のいずれかを設定可能な区切り処理箇所設定手段を有し、
前記生成手段は、前記区切り処理箇所設定手段によって設定された処理内容に基づき出力ページを生成することを特徴とする請求項15に記載の情報処理装置。
【請求項17】
前記ページ数制限設定の際、該ページ数制限に基づいて前記区切り処理の処理内容を変更しても、生成される出力ページのページ数が前記ページ数制限を超えてしまう場合のページ数制限処理として、そのまま出力する処理、又は、エラーとする処理を設定可能な出力設定手段を有し、
前記生成手段は、前記出力ページ数判定手段によって、前記区切り処理の処理内容を変更しても出力ページのページ数が前記ページ数制限を超えてしまうと判定された場合、前記出力設定手段によって設定された情報に基づいて、出力ページを生成することを特徴とする請求項14に記載の情報処理装置。
【請求項18】
前記生成手段によって生成された出力ページの出力設定情報を判定する出力設定情報判定手段を有し、
前記制御手段は、前記出力設定情報判定手段によって判定された出力設定情報が第1出力設定情報であると判定された場合、前記区切り処理の処理内容を変更せず、前記出力設定情報判定手段によって判定された出力設定情報が第1出力設定情報であると判定された場合、前記区切り処理の処理内容を変更することを特徴とする請求項12乃至17のいずれか1項に記載の情報処理装置。
【請求項19】
前記生成される出力ページは、枠情報にデータを流し込んで生成される表形式の出力ページを含むことを特徴とする請求項1乃至18のいずれか1項に記載の情報処理装置。
【請求項20】
前記前記データの変化を判定するデータ項目におけるデータの変化に基づいて、集計処理する集計処理手段を有し、
前記生成手段は、前記集計処理手段による集計結果を含んだ出力ページを生成することを特徴とする請求項1乃至11のいずれか1項に記載の情報処理装置。
【請求項21】
前記変更された区切り処理内容に基づく区切り処理に応じて集計処理する集計処理手段を有し、
前記生成手段は、前記集計処理手段による集計結果を含んだ出力ページを生成することを特徴とする請求項12乃至18のいずれか1項に記載の情報処理装置。
【請求項22】
複数のデータ項目からなるデータにおいて、予め定められたデータ項目におけるデータの変化に応じて区切り処理を実行して出力ページを生成する情報処理装置におけるデータ出力制御方法において、
前記生成される出力ページの制約条件を設定する設定ステップと、
前記生成された出力ページが前記設定手段により設定された出力ページの制約条件にあてはまらない場合、前記データの変化を判定するデータ項目を変更する変更ステップと、
該変更された前記データの変化を判定するデータ項目におけるデータの変化に応じて区切り処理を適用した出力ページを生成する生成ステップと、
を有することを特徴とするデータ出力制御方法。
【請求項23】
複数のデータ項目からなるデータにおいて、予め定められたデータ項目におけるデータの変化に応じて区切り処理を実行して出力ページを生成する情報処理装置におけるデータ出力制御方法において、
前記生成される出力ページの制約条件を設定する設定ステップと、
前記予め定められたデータ項目におけるデータの変化を判定するデータ判定ステップと、
該予め定められたデータ項目においてデータの変化が生じたと判定された場合、前記区切り処理を実行する区切り処理実行ステップと、
該区切り処理を実行して生成された出力ページが前記設定手段により設定された出力ページの制約条件にあてはまらない場合、前記区切り処理の処理内容を変更する変更ステップと、
該変更された前記区切り処理の処理内容に基づいて出力ページを生成する生成手段と、
を有することを特徴とするデータ出力制御方法。
【請求項24】
請求項22又は23に記載されたデータ出力制御方法をコンピュータに実行させるためのプログラム。
【請求項25】
請求項22又は23に記載されたデータ出力制御方法をコンピュータに実行させるためのプログラムを格納したことを特徴とするコンピュータ読取可能な記憶媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate

【図32】
image rotate

【図33】
image rotate

【図34】
image rotate

【図35】
image rotate

【図36】
image rotate

【図37】
image rotate

【図38】
image rotate

【図39】
image rotate

【図40】
image rotate

【図41】
image rotate

【図42】
image rotate

【図43】
image rotate

【図44】
image rotate

【図45】
image rotate

【図46】
image rotate

【図47】
image rotate

【図48】
image rotate

【図49】
image rotate


【公開番号】特開2007−164685(P2007−164685A)
【公開日】平成19年6月28日(2007.6.28)
【国際特許分類】
【出願番号】特願2005−363306(P2005−363306)
【出願日】平成17年12月16日(2005.12.16)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】