(57)【要約】【課題】帳票等の文書生成時間を短縮するとともに、計算対象のデータが複数のページに跨るデータの集計値等を求める計算が必要な場合でも、正しい計算結果を有する適切な文書を生成する。【解決手段】複数の差込データをテンプレートに流し込むことにより帳票を生成する情報処理装置であって、前記複数の差込データのうちの一部の差込データをテンプレートに流し込む処理を他装置に依頼するために、前記一部の差込データを前記他装置に送信する送信手段と、前記他装置に流し込みを依頼するための前記一部の差込データを、前記複数の差込データ内の連続する二つの差込データの項目名データの相違に基づいて決定する決定手段とを有する。【選択図】図４
2009086924.tif 000002
【特許請求の範囲】
【請求項１】
複数の差込データから一部の差込データを切出す切出手段と、
前記切出手段で切出された一部の差込データのテンプレートへの流し込みを他装置に依頼するために、前記切出手段で切出された一部の差込データを他装置に送信する送信手段と、
前記一部の差込データのテンプレートへの流し込みが他装置により行われることで生成されたデータを受信する受信手段と、
前記受信手段で受信したデータと、前記複数の差込データから切出され他装置に送信された前記一部の差込データを除く差込データのテンプレートへの流し込みが該他装置とは異なる装置により行われることで生成されたデータとを集約する集約手段とを有し、
前記切出手段は、
前記複数の差込データ内の連続する二つの差込データの項目名データが互いに異なるか判定し、互いに異なると判定された場合に、既に切出された部分を除く前記二つの差込データのうちの前の差込データまでの差込データを前記一部の差込データとして切出すことを特徴とする情報処理システム。
【請求項２】
複数の差込データをテンプレートに流し込むことにより帳票を生成する情報処理装置であって、
前記複数の差込データのうちの一部の差込データをテンプレートに流し込む処理を他装置に依頼するために、前記一部の差込データを前記他装置に送信する送信手段と、
前記他装置に流し込みを依頼するための前記一部の差込データを、前記複数の差込データ内の連続する二つの差込データの項目名データの相違に基づいて決定する決定手段とを有することを特徴とする情報処理装置。
【請求項３】
複数の差込データをテンプレートへ流し込む処理により帳票を生成する情報処理装置であって、
前記複数の差込データをテンプレートに流し込む処理を複数の装置に分担させるために、前記複数の差込データを複数の群に分割する分割手段を有し、
前記分割手段は、
前記複数の差込データ内の連続する二つの差込データの項目名データが相違するか判定し、
二つの差込データが相違すると判定された場合に、前記二つの差込データの夫々が互いに異なる装置でテンプレートに流し込まれるように分割することを特徴とする情報処理装置。
【請求項４】
全差込データのうち一部の差込データのテンプレートへの流し込みを他装置に依頼するために、全差込データに他装置が担当する範囲の区切りを示す区切りフラグを挿入する区切りフラグ挿入手段と、
前記区切りフラグ挿入手段で区切りフラグが挿入された全差込データと担当箇所を指示する担当箇所情報を他装置に送信する送信手段と、
前記区切りフラグおよび担当箇所情報に基づいて前記差込データのテンプレートへの流し込みが各他装置により行われることで生成されたデータを受信する受信手段と、
前記受信手段で受信したデータと、他装置が担当する範囲の差込データを除く差込データのテンプレートへの流し込みが該他装置とは異なる装置により行われることで生成されたデータとを集約する集約手段とを有し、
前記区切りフラグ挿入手段は、
前記複数の差込データ内の連続する二つの差込データの項目名データが互いに異なるか判定し、互いに異なることと判定された場合に、当該二つの項目名データの間に前記区切りフラグを挿入することを特徴とする情報処理システム。
【請求項５】
複数の差込データをテンプレートに流し込むことにより帳票を生成する情報処理装置における情報処理方法であって、
前記複数の差込データのうちの一部の差込データをテンプレートに流し込む処理を他装置に依頼するために、前記情報処理装置により、前記一部の差込データを前記他装置に送信するステップと、
前記情報処理装置により、前記他装置に流し込みを依頼するための前記一部の差込データを、前記複数の差込データ内の連続する二つの差込データの項目名データの相違に基づいて決定するステップと
を含むことを特徴とする情報処理方法。
【請求項６】
複数の差込データをテンプレートへ流し込む処理により帳票を生成する情報処理装置における情報処理方法であって、
前記複数の差込データをテンプレートに流し込む処理を複数の装置に分担させるために、前記情報処理装置により、前記複数の差込データを複数の群に分割するステップを含み、
該ステップは、
前記情報処理装置により、前記複数の差込データ内の連続する二つの差込データの項目名データが相違するか判定するステップと、
前記情報処理装置により、二つの差込データが相違すると判定された場合、前記二つの差込データの夫々が互いに異なる装置でテンプレートに流し込まれるように分割するステップと
を含むことを特徴とする情報処理方法。
【請求項７】
請求項５または請求項６に記載の方法をコンピュータに実行させるためのプログラム。
【請求項８】
請求項７に記載のプログラムを記憶させたコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷装置で印刷するための文書生成時間を短縮する技術に関する。
【背景技術】
【０００２】
従来より、印刷装置で文書を印刷する際に、所定フォーマットの文書のデータを生成し、その印刷を行う技術が存在する。例えば、帳票の印刷は次のような２段階の手順で行われる。
【０００３】
まず、あらかじめ定義された罫線やロゴなどを含む帳票テンプレート部分に、会社名や金額等の実データ（以降、差込データと称す）を動的に差し込むことで帳票を生成する。これが文書の生成処理である。
【０００４】
次に、生成した帳票を印刷装置で印刷する。これが文書の印刷処理である。文書の生成処理には印刷処理は含まれず、文書の生成処理と印刷処理は互いに別の処理である。
【０００５】
一般的に、帳票等の文書生成処理は高負荷で時間がかかる。主な原因としては、組版処理が高負荷なことがあげられる。組版処理とは、フォントの情報を基にして文字列の１文字１文字の位置を計算し配置する処理のことである。このように、文書生成に時間がかかるため、ユーザが所望の印刷物を得るのに時間がかかるという問題があった。
【０００６】
この問題を解決するために、従来、文書生成時間を短縮する処理としては、文書をページ単位で分割生成する技術が一般的であった（例えば、特許文献１を参照）。文書をページ単位で分割生成する技術では、以下の処理により文書の生成時間を短縮していた。すなわち、差込データをページ単位で分割し、分割した差込データを複数の文書生成サーバもしくは印刷装置等の処理装置へ送信して各処理装置で文書の生成処理を分担する。そして、各処理装置で生成した文書を特定の処理装置へ集結して、この特定の処理装置で文書を結合する、という処理で文書の生成時間を短縮していた。
【０００７】
【特許文献１】特開２００５−２３５１０８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、上述した従来技術では、差込データをページ単位で分割するため、分割する位置によっては所望の文書を生成できないことがあった。例えば、ページ１を処理装置Ａで、ページ２を処理装置Ｂで分担して生成する時、分割部分より後続のページ２で、分割部分より前方のページ１からページ２にかけての金額の集計値を計算し表示する必要がある場合である。この場合、ページ２を生成する処理装置Ｂにページ１の金額データが存在しないため、集計値の計算が行えず正しい文書を生成できない、という問題があった。
【課題を解決するための手段】
【０００９】
上述した課題を解決するために、本発明は、複数の差込データから一部の差込データを切出す切出手段と、前記切出手段で切出された一部の差込データのテンプレートへの流し込みを他装置に依頼するために、前記切出手段で切出された一部の差込データを他装置に送信する送信手段と、前記一部の差込データのテンプレートへの流し込みが他装置により行われることで生成されたデータを受信する受信手段と、前記受信手段で受信したデータと、前記複数の差込データから切出され他装置に送信された前記一部の差込データを除く差込データのテンプレートへの流し込みが該他装置とは異なる装置により行われることで生成されたデータとを集約する集約手段とを有し、前記切出手段は、前記複数の差込データ内の連続する二つの差込データの項目名データが互いに異なるか判定し、互いに異なることと判定された場合に、既に切出された部分を除く前記二つの差込データのうちの前の差込データまでの差込データを前記一部の差込データとして切出すことを特徴とする情報処理システムとして構成される。
【００１０】
また、本発明は、複数の差込データをテンプレートに流し込むことにより帳票を生成する情報処理装置であって、前記複数の差込データのうちの一部の差込データをテンプレートに流し込む処理を他装置に依頼するために、前記一部の差込データを前記他装置に送信する送信手段と、前記他装置に流し込みを依頼するための前記一部の差込データを、前記複数の差込データ内の連続する二つの差込データの項目名データの相違に基づいて決定する決定手段とを有することを特徴とする。
【００１１】
また、本発明は、複数の差込データをテンプレートへ流し込む処理により帳票を生成する情報処理装置であって、前記複数の差込データをテンプレートに流し込む処理を複数の装置に分担させるために、前記複数の差込データを複数の群に分割する分割手段を有し、前記分割手段は、前記複数の差込データ内の連続する二つの差込データの項目名データが相違するか判定し、二つの差込データが相違すると判定された場合に、前記二つの差込データの夫々が互いに異なる装置でテンプレートに流し込まれるように分割することを特徴とする。
【００１２】
また、本発明は、全差込データのうち一部の差込データのテンプレートへの流し込みを他装置に依頼するために、全差込データに他装置が担当する範囲の区切りを示す区切りフラグを挿入する区切りフラグ挿入手段と、前記区切りフラグ挿入手段で区切りフラグが挿入された全差込データと担当箇所を指示する担当箇所情報を他装置に送信する送信手段と、前記区切りフラグおよび担当箇所情報に基づいて前記差込データのテンプレートへの流し込みが各他装置により行われることで生成されたデータを受信する受信手段と、前記受信手段で受信したデータと、他装置が担当する範囲の差込データを除く差込データのテンプレートへの流し込みが該他装置とは異なる装置により行われることで生成されたデータとを集約する集約手段とを有し、前記区切りフラグ挿入手段は、前記複数の差込データ内の連続する二つの差込データの項目名データが互いに異なるか判定し、互いに異なることと判定された場合に、当該二つの項目名データの間に前記区切りフラグを挿入することを特徴とする情報処理システムとして構成される。
【００１３】
また、本発明は、複数の差込データをテンプレートに流し込むことにより帳票を生成する情報処理装置における情報処理方法であって、前記複数の差込データのうちの一部の差込データをテンプレートに流し込む処理を他装置に依頼するために、前記情報処理装置により、前記一部の差込データを前記他装置に送信するステップと、前記情報処理装置により、前記他装置に流し込みを依頼するための前記一部の差込データを、前記複数の差込データ内の連続する二つの差込データの項目名データの相違に基づいて決定するステップとを含むことを特徴とする。
【００１４】
また、本発明は、複数の差込データをテンプレートへ流し込む処理により帳票を生成する情報処理装置における情報処理方法であって、前記複数の差込データをテンプレートに流し込む処理を複数の装置に分担させるために、前記情報処理装置により、前記複数の差込データを複数の群に分割するステップを含み、該ステップは、前記情報処理装置により、前記複数の差込データ内の連続する二つの差込データの項目名データが相違するか判定するステップと、前記情報処理装置により、二つの差込データが相違すると判定された場合、前記二つの差込データの夫々が互いに異なる装置でテンプレートに流し込まれるように分割するステップとを含むことを特徴とする。
【００１５】
また、上記情報処理装置における各情報処理方法における諸ステップは、コンピュータに実行させるためのプログラムとして構成することができる。そして、このプログラムを前記コンピュータに読み込ませることにより当該方法をコンピュータに実行させることができる。また、このプログラムは、このプログラムを記録したコンピュータ読み取り可能な記憶媒体を介して前記コンピュータに読み込ませることができる。  
また、上記発明の機能を有する情報処理装置をその制御手段として備えるプリンタ等の画像形成装置も本発明による一形態として含まれる。
【発明の効果】
【００１６】
本発明によって、帳票等の文書生成時間を短縮することが可能となり、ユーザの利便性を向上させることができる。また、計算対象のデータが複数のページに跨るデータの集計値等を求める計算が必要な場合でも、その計算が可能かどうかを自動的に判断して分割を行うことにより、正しい計算ができず適切な文書が生成されないといったことが無くなる。
【発明を実施するための最良の形態】
【００１７】
［実施形態１］
図１は本発明を実施するためのハードウェアの構成を示したブロック図である。  
プリンタ０〜プリンタｋはネットワークで接続されており互いに通信が可能な情報処理システムを構成している。各プリンタには本体および周辺装置ならびにネットワークにおける通信を制御するための制御部（情報処理装置）が搭載されている。この制御部はＣＰＵおよびメモリ等からなる。本発明を実施するプログラムは、この制御部のメモリに格納されており、制御部のＣＰＵにロードされることで実行される。
【００１８】
図２は、帳票生成処理の一例を示した概念図である。  
帳票テンプレートに、全差込データが流し込まれ、帳票が生成される。帳票テンプレートには、表の罫線やロゴなど予め定められた要素のみが定義されている。表の罫線で囲まれた１つの枠のことをセルという。
【００１９】
全差込データは、全項目名データと全数値データとからなる。全数値データは、金額等数値を表すデータ（数値データ）の集まりである。全項目名データは、「東京支社」など数値データに関わる項目名を表すデータ（項目名データ）の集まりである。帳票テンプレートに、各セルに対応する項目名データや数値データが流し込まれ、帳票が生成される。
【００２０】
図３は、生成された帳票の一例を示した概念図である。  
全体として３ページある帳票であり、２ページ目には集計結果が出力されている。符号３０１は、あるセルに、ある項目名データが流し込まれた結果を示している。符号３０２は、あるセルに、ある数値データが流し込まれた結果を示している。符号３０３は、あるセルに、項目名データとして集計ラベルが流し込まれた結果を示している。符号３０４は、あるセルに、ある種の数値データの合計である合計データが流し込まれた結果を示している。
【００２１】
従来技術では、１ページ目と２ページ目の間で分割を行い、帳票生成を各処理装置で分担した場合には、２ページ目以降の生成を担当する処理装置で合計データの計算ができなかった。これは、２ページ目以降の生成を担当する処理装置に１ページ目のセルに流し込まれる数値データの情報がないためである。
【００２２】
ここで、複数台のプリンタで帳票の生成処理を分担する際の処理、すなわち、プリンタ０が他のプリンタに帳票の生成処理を依頼する際の処理の詳細について説明する。
【００２３】
図４は、同処理の流れを示すフローチャートである。なお、同図においてプリンタｋにおける処理の流れを記載しているが、プリンタｋは複数存在しうるものである。
【００２４】
はじめに、ステップＳ４０１において、プリンタ０はユーザから帳票の印刷指示を受け付ける。
【００２５】
次いで、ステップＳ４０２において、プリンタ０は、区切りフラグ挿入処理を行う。なお、区切りフラグ挿入処理の詳細は、図５を用いて後述する。
【００２６】
次に、ステップＳ４０３において、プリンタ０は、変数ｋに１を代入する。変数ｋは、全差込データをいくつに分割したかを管理するためのカウンタである。
【００２７】
以降は、プリンタ０とプリンタｋとで並列に処理が実行される。プリンタ０では差込データ群切出し処理および印刷処理を行い、プリンタｋでは帳票生成処理を行う。
【００２８】
まず、プリンタ０における差込データ群切出し処理について説明する。
【００２９】
はじめに、ステップＳ４０４において、プリンタ０は、ステップＳ４０２の区切りフラグ挿入処理で挿入した区切りフラグを元に、全差込データからｋ番目の差込データ群を切出す。
【００３０】
次いで、ステップＳ４０５において、プリンタ０は、ステップＳ４０４で切出した差込データ群をプリンタｋに送信する。
【００３１】
次に、ステップＳ４０６において、プリンタ０は、変数ｋの値が区切りフラグ挿入数以下であるかどうかを判定する。区切りフラグ挿入数は、ステップＳ４０２の区切りフラグ挿入処理内で算出される値で、区切りフラグが全差込データ内にいくつ挿入されているかを示す。変数ｋが区切りフラグ挿入数以下と判定された場合には、全差込データ内に切出すべき差込データ群がまだ存在すると判断し、ステップＳ４０７に処理を移す。一方、変数ｋが区切りフラグ挿入数より大きいと判定された場合には、全差込データ内に切出すべき差込データ群が存在しないと判断し、ステップＳ４１１に処理を移す。
【００３２】
上記のようにステップＳ４０６で変数ｋが区切りフラグ挿入数以下と判定された場合には、ステップＳ４０７に移行し、このステップおいて、プリンタ０は、変数ｋに１を加算する。その後、再びステップＳ４０４の処理に戻る。  
以上がプリンタ０における差込データ群切出し処理である。
【００３３】
次に、プリンタｋにおける帳票生成処理について説明する。
【００３４】
まず、ステップＳ４０８において、プリンタｋは、ステップＳ４０５でプリンタ０から送信されたｋ番目の差込データ群を受信する。
【００３５】
次いで、ステップＳ４０９において、プリンタｋは、ステップＳ４０８で受信したｋ番目の差込データ群を帳票テンプレートに流し込み、ｋ番目の帳票を生成する。
【００３６】
次に、ステップＳ４１０において、プリンタｋは、ステップＳ４０９で生成したｋ番目の帳票のデータをプリンタ０に送信する。
【００３７】
以上がプリンタｋにおける帳票生成処理である。なお、図４では、プリンタ０とは異なるプリンタｋで帳票生成処理を行うよう記載しているが、切り出された一部の差込データ群に対しプリンタ０において帳票生成処理を行ってもよい。
【００３８】
次に、プリンタ０における印刷処理について説明する。
【００３９】
前述のステップＳ４０６で変数ｋが区切りフラグ挿入数より大きいと判定された場合には、前述のとおりステップＳ４１１に移行し、このステップにおいて、プリンタ０は、ステップＳ４１０でプリンタｋから送信されたｋ番目の帳票の受信を行う。
【００４０】
次いで、ステップＳ４１２において、プリンタ０は、ステップＳ４１１で受信した帳票が１番目からｋ番目まで全てそろったら、それら１番目からｋ番目までの帳票を集約し１つの帳票にする。
【００４１】
次に、ステップＳ４１３において、プリンタ０は、ステップＳ４１２で集約され１つになった帳票の印刷を行う。  
以上が、プリンタ０における印刷処理である。
【００４２】
以上のようにして、差込データ群切出し処理、帳票生成処理、および印刷処理が行われ、帳票の印刷までが完了する。
【００４３】
ここで、上記ステップＳ４０２の区切りフラグ挿入処理の詳細を、図５を用いて説明する。  
図５は、図４におけるステップＳ４０２の区切りフラグ挿入処理の流れを示したフローチャートである。
【００４４】
はじめに、ステップＳ５０１において、当該帳票テンプレートに設定されている設定内容を抽出する。
【００４５】
次いで、ステップＳ５０２において、プリンタ０は、帳票テンプレートに、ブレイク時改ページ設定がされているかどうかを判定する。ブレイク時改ページ設定とは、ある項目名データが前の項目名データと異なることが検出された場合に、そのある項目名データを前の項目名データと異なるページのセルに流し込むことを規定した設定である。
【００４６】
次に、ステップＳ５０２でブレイク時改ページ設定がされていないと判断された場合、ステップＳ５０３において、プリンタ０は、通常分割ページ数ごとに全差込データ内へ区切りフラグを挿入する。ここで言う通常分割ページ数とは、ブレイク時改ページ設定が無い場合に利用されるデフォルトの分割ページ数設定である。例えば、この値が５ページの場合、５ページごとに全差込データが分割される。通常分割ページ数の設定は、帳票テンプレートごと、もしくは帳票システム全体であらかじめ定義されていても良いし、帳票生成時に動的に与えても良い。このステップＳ５０３で通常分割ページごとに区切りフラグを挿入した場合には、ステップＳ５１０に移行し、区切りフラグ挿入処理は終了する。
【００４７】
一方、ステップＳ５０２でブレイク時改ページ設定がされていると判断された場合、ステップＳ５０４において、プリンタ０は、全差込データのうちの各項目名データを調べ下記のブレイク箇所に区切りフラグを挿入するためのループ処理を開始する。ステップＳ５０４からステップＳ５０９までのループ処理は、全差込データのすべてに対して終了するまで繰り返し実行される。
【００４８】
まず、ステップＳ５０５において、１回目のループでは、全差込データから最初の項目名データを読み取る。このループ処理の２回目以降のループでは、ループ処理が繰り返される毎に、その次の項目名データが読み取られるものとする。
【００４９】
次に、ステップＳ５０６において、プリンタ０は、ステップＳ５０５で読み取った項目名データから、ブレイクが検出されたかどうかを判定する。ここで言うブレイクとは、ある項目名データがそれに連続する前の項目名データと相違すること、である。また、ある項目名データが前の項目名データと異なることが検出された場合、そのある項目名データをブレイク後項目名データと称し、その前の項目名データをブレイク前項目名データと称する。なお、先頭の項目名データには、その前の項目名データが存在しないので、この先頭の項目名データは、ブレイク後項目名データとはならないものとする。また、ステップＳ５０５で今回読み取った項目名データの１つ前に読み取った項目名データは一時記憶され、ブレイク検出に用いられるものとする。
【００５０】
以上のようにして、ブレイクの検出が行われるが、このステップＳ５０６でブレイクが検出されなかった場合、プリンタ０は、ステップＳ５０４に戻り当該ループ処理を引き続き行う。
【００５１】
一方、ステップＳ５０６でブレイクが検出された場合、ステップＳ５０７において、プリンタ０は、全差込データ内の、検出されたブレイク箇所に区切りフラグを挿入する。なお、ブレイク箇所とは、ブレイク前項目名データとブレイク後項目名データの間のことである。
【００５２】
次いで、ステップＳ５０８において、プリンタ０は、区切りフラグ挿入数をカウントする。カウントは、例えば、ステップＳ５０７で区切りフラグを挿入する毎にメモリ上に確保した変数へ１を加算していくことで実現できる。
【００５３】
次に、ステップＳ５０９で、プリンタ０は、ステップＳ５０４に処理を戻し各項目データの解析を引き続き行う。
【００５４】
以上のようにして全差込データに対する区切りフラグ挿入が終了すると、プリンタ０は、ステップＳ５０４からステップＳ５０９までのループを抜け、ステップＳ５１０へ移行する。
【００５５】
そして、ステップＳ５１０で、本区切りフラグ挿入処理は完了する。
【００５６】
ここで、図６に、図５で示した区切りフラグ挿入処理によって区切りフラグが挿入されたあとの全差込データの一例を示す。この例では、特殊な符号「￥ｘ０ｃ」によって区切りフラグが表現されている。
【００５７】
以上のようにして、区切りフラグをブレイク箇所に挿入している。したがって、前述のステップＳ４０４での差込データの切出し箇所は、挿入された区切りフラグによって決定され、ブレイク後項目名データからブレイク前項目名データまでが一塊（群）として切出されることになる。以上のようにブレイク箇所に区切りフラグを挿入することで、課題として前述した合計データの計算ができない等の問題を回避でき、また、分散処理により帳票生成処理を短縮することができる。
【００５８】
［実施形態２］
前述の実施形態１では、全差込データを実際に分割（切出し）して必要な部分のみを各処理装置に送付し文書の生成処理時間を短縮する例を示した。しかし、実施形態１では問題が生じる場合もある。その問題とは、例えば小計（支社ごとの売り上げの合計等）でブレイクが発生し、かつ、最終ページに総合計の計算が必要な場合である。この場合、小計のブレイク箇所に挿入された区切りフラグを基準に切出しが行われると、最終ページの総合計が計算できない。本実施形態２は、上記のような問題を解決できる形態である。
【００５９】
具体的には、前述の実施形態１では全差込データから必要な部分の差込データ群を切出して送信していたが、本実施形態では全差込データをそのまま送信する。この点が本実施形態の特徴である。したがって、前述の実施形態１のステップＳ４０４における切出し処理は、本実施形態では行われない。
【００６０】
本実施形態におけるハードウェア構成は、前述の実施形態１と同じである。以下では、図７を用い、本実施形態における複数台のプリンタで帳票の生成処理を分担する際の処理の流れについて、図４で示した前述の実施形態１における処理と同じ部分についてはその説明を省略し、異なる部分について説明する。
【００６１】
図７は、本実施形態における同処理の流れを示したフローチャートである。
【００６２】
ステップＳ７０１において、プリンタ０は、区切りフラグ挿入済みの全差込データをプリンタｋに送信する。
【００６３】
ステップＳ７０２において、プリンタｋは、ステップＳ７０１で送信された全差込データを受信する。
【００６４】
ステップＳ７０３において、プリンタ０は、変数ｋをプリンタｋに送信する。
【００６５】
ステップＳ７０４において、プリンタｋは、ステップＳ７０３で送信された変数ｋを受信する。なお、全差込データおよび変数ｋの送信／受信の順序は、いずれが先であってもよい。
【００６６】
次いで、ステップＳ７０５において、プリンタｋは、ステップＳ７０２で受信した全差込データとステップＳ７０４で受信した変数ｋの情報を元にｋ番目の帳票を生成する。変数ｋは、プリンタｋが生成を担当するｋ番目の帳票に流し込む差込データがどの部分か（先頭から何番目の部分か）を示している。すなわち、プリンタｋの担当箇所を指示する担当箇所情報である。なお、総合計が含まれるページの帳票作成を担当するプリンタは、受信した全差込データから必要なデータを抽出して総合計を算出する。
【００６７】
以上のように、プリンタ０において実際に全差込データを分割するのではなく、文書生成で利用すべき差込データ群の位置を特定する情報である変数ｋを他の処理装置に送信している。これにより、総合計が最終ページに来る様な複雑な帳票の場合でも適切に帳票を作成することができる。また、分散処理により帳票生成処理時間を短縮できる。
【００６８】
［実施形態３］
前述の実施形態１および実施形態２では、ブレイクが検出された場合には必ず区切りフラグを挿入し、帳票生成を各処理装置で分担していた。しかし、例えば、各処理装置で生成する帳票が少量（例えば１ページ）の場合等には、切出し処理や全差込データの送信処理等にかかる時間の方が大きく、結果として帳票生成処理の完了が遅くなるケースが考えられる。本実施形態３は、この問題を解決する形態である。
【００６９】
本実施形態におけるハードウェア構成は、前述の実施形態１と同じである。以下では、本実施形態における区切りフラグ挿入処理について、図５で示した前述の実施形態１における処理と同じ部分についてはその説明を省略し、異なる部分について説明する。
【００７０】
図８は、本実施形態における、区切りフラグ挿入処理の流れを示すフローチャートである。
【００７１】
ステップＳ８０１において、プリンタ０は、変数ｉにゼロを代入する。変数ｉは、項目名データの数を数えるカウンタである。
【００７２】
次いで、ステップＳ８０２からのループ処理に入ると、ステップＳ８０３において、プリンタ０は、変数ｉに１を加算する。この処理は、項目名データの解析ループが一回りする（つまり、項目データが１つ読み込まれる）ごとに一度行われる。
【００７３】
ステップＳ８０５でブレイクが検出された場合、ステップＳ８０６において、プリンタ０は、変数ｉが「最小ブレイクデータ数」以上かどうかを判定する。ここで言う最小ブレイクデータ数とは、区切りフラグの挿入に必要な、あるブレイク範囲の項目名データ数の最小値のことである。あるブレイク範囲の項目名データ数が最小ブレイクデータ数より少ない場合、ブレイクが発生しても区切りフラグを挿入しない。また、ブレイク範囲とは、あるブレイク箇所から次のブレイク箇所までの範囲のことである。
【００７４】
ステップＳ８０６で変数ｉが最小ブレイクデータ数より少ないと判定された場合、プリンタ０は、ステップＳ８０２に戻り当該ループ処理を引き続き行う。
【００７５】
一方、ステップＳ８０６で変数ｉが最小ブレイクデータ数以上と判定された場合、ステップＳ８０７に移行し、このステップおいて、プリンタ０は、全差込データ内の検出されたブレイク箇所に区切りフラグの挿入を行う。
【００７６】
次いで、ステップＳ８０８において、プリンタ０は、区切りフラグ挿入数をカウントする。カウントは、例えば、ステップＳ８０７で区切りフラグを挿入する毎にメモリ上に確保した変数へ１を加算していくことで実現できる。
【００７７】
次に、ステップＳ８０９において、変数ｉにゼロを代入し初期化する。
【００７８】
そして、ステップＳ８１０で、プリンタ０は、ステップＳ８０２にその処理を戻し当該ループ処理を引き続き行う。その他の処理は前述の実施形態１と同じである。
【００７９】
以上のように、最小ブレイクデータ数という制限を設けることで、少なすぎるページ数での帳票生成の分担が行われ、結果として帳票印刷処理が遅延するのを防ぐことができる。
以上、本発明による実施形態３の詳細について説明した。
【００８０】
[実施形態４]
本実施形態は、多段ブレイクが発生する場合の例である。ここで言う多段ブレイクとは、複数のブレイクが階層的に発生することである。図９はこの多段ブレイクが発生している帳票の一例である。
【００８１】
同図において、９０１は、あるセルに、ある項目名データ１が流し込まれた結果を示している。ここで言う項目名データ１は、「東京」や「大阪」といった支社名である。
【００８２】
９０２は、あるセルに、ある項目名データ２が流し込まれた結果を示している。ここで言う項目名データ２は、例えば「製品Ａ」や「製品Ｂ」といった製品名である。
【００８３】
９０３は、あるセルに、項目名データとして小計ラベルが流し込まれた結果を示している。
【００８４】
９０４は、あるセルに、ある種の数値データの合計である合計データ１が流し込まれた結果を示している。合計データ１は、製品Ａの売り上げの合計である。項目名データ２が「製品Ａ」から「製品Ｂ」に変わった時にブレイクが発生し、９０４に示すように小計ラベルおよび合計データ１が流し込まれている。
【００８５】
９０５は、あるセルに、ある種の数値データの合計である合計データ２が流し込まれた結果を示している。合計データ２は、東京支社の売り上げの合計である。項目名データ１が「東京」から「大阪」に変わった時にブレイクが発生し、９０５に示すように集計ラベルおよび合計データ２が流し込まれている。
【００８６】
このように、帳票を生成する際、複数のブレイクが多段に発生することがある。項目名データ１が切り替わって発生したブレイク（集計のブレイク）のブレイク範囲は、項目名データ２が切り替わって発生したブレイク（小計のブレイク）のブレイク範囲より、範囲が広い。ブレイク同士を比較した際、一方のブレイクよりブレイク範囲が広いことをブレイクレベルが高い（高レベル）と言い、一方のブレイクよりブレイク範囲が狭いことをブレイクレベルが低い（低レベル）と言う。例えば、図９で説明した１段目のブレイク（小計のブレイク）のブレイクレベルを１とし、２段目のブレイク（集計のブレイク）のブレイクレベルを２とする。
【００８７】
本実施形態におけるハードウェア構成は、前述の実施形態１と同じである。以下では、まず、本実施形態における区切りフラグ挿入処理について、図５で示した前述の実施形態１における処理と同じ部分についてはその説明を省略し、異なる部分について説明する。
【００８８】
図１０は、本実施形態における、区切りフラグ挿入処理の流れを示すフローチャートである。
【００８９】
ステップＳ１００１において、プリンタ０は、ブレイクレベルが分割ブレイクレベル設定の値に応じて処理を分岐させる。ここで言う分割ブレイクレベル設定とは、前述の実施形態１で説明したような、実際に全差込データを分割（切出し）して帳票生成を分担する方式を採ると判断するブレイクレベルの設定値である。
【００９０】
ステップＳ１００１でブレイクレベルが分割ブレイクレベル設定値より低レベルと判定された場合には、区切りフラグの挿入は行わず、ステップＳ１００２のループ処理の起点に戻る。例えば、分割ブレイクレベル設定値が２の場合、ブレイクレベルが１以下のブレイクの際には区切りフラグを挿入しない。
【００９１】
一方、ステップＳ１００１でブレイクレベルが分割ブレイクレベル設定値と同じレベルと判定された場合には、ステップＳ１００３に移行し、このステップおいて、プリンタ０は、全差込データ内の、検出されたブレイク箇所に通常の区切りフラグを挿入する。ここで言う通常の区切りフラグとは、全差込データを実際に分割（切出し）して分担する方式（実施形態１）を用いることを示すものであり、例えば「￥ｘ０ｃ」のような符号である。
【００９２】
他方、ステップＳ１００１でブレイクレベルが分割ブレイクレベル設定より高レベルと判定された場合には、ステップＳ１００４に移行する。そして、このステップにおいて、プリンタ０は、全差込データ内の検出されたブレイク箇所に全ページ送信用の区切りフラグを挿入する。全ページ送信用の区切りフラグとは、全差込データを送信して分担を行う方式（実施形態２）を用いることを示すものであり、例えば「￥ｘ０ｂ」のような符号である。  
その他の処理は前述の実施形態１と同じである。
【００９３】
次に、本実施形態における帳票の生成処理を分担する際の処理の流れについて、図１１を用いて説明する。  
図１１は、同処理の流れを示したフローチャートである。
【００９４】
本実施形態は、前述の実施形態１と実施形態２の組み合わせであるので、以下では、前述した実施形態１および実施形態２と同じ部分についてはその説明を省略し、異なる部分について説明する。
【００９５】
同図のステップＳ１１０１において、プリンタ０は、全差込データに挿入されたｋ番目の区切りフラグのタイプを調べる。
【００９６】
ステップＳ１１０１で、区切りフラグのタイプが「通常」と判定された場合には、ステップＳ１１０２以降で、プリンタ０およびプリンタｋ−１は前述の実施形態１で示した方式で帳票生成の分担処理を行う。
【００９７】
その後、ステップＳ１１０４において、プリンタ０は、プリンタｋ−１で生成されたｋ番目の帳票を受信する。
【００９８】
一方、ステップＳ１１０１で、区切りフラグのタイプが「全ページ送信用」と判定された場合には、ステップＳ１１０３以降で、プリンタ０およびプリンタｋ−２は前述の実施形態２で示した方式で帳票生成の分担処理を行う。
【００９９】
そして、ステップＳ１１０５において、プリンタ０は、プリンタｋ−２で生成されたｋ番目の帳票を受信する。  
その他の処理は前述の実施形態１および実施形態２と同じである。
【０１００】
以上のように、ブレイクレベルの設定により最適な分担方式の選択が可能となり、適切な帳票を作成することができるとともに、分散処理により帳票生成処理時間を短縮できる。  
以上、本発明による実施形態４の詳細を説明した。
【０１０１】
なお、本発明の目的は、上述した実施形態で示したフローチャートの手順を実現するプログラムコードを記憶した記憶媒体から、システムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）がそのプログラムコードを読出し実行することによっても達成される。
【０１０２】
この場合、記憶媒体から読み出されたプログラムコード自体が、コンピュータに、上述した実施形態の機能を実現させることになる。そのため、このプログラムコード及びプログラムコードを記憶／記録したコンピュータ読み取り可能な記憶媒体も本発明の一つを構成することになる。
【０１０３】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【０１０４】
また、前述した実施形態の機能は、コンピュータが、読み出したプログラムを実行することによって実現される。また、このプログラムの実行とは、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行う場合も含まれる。
【０１０５】
さらに、前述した実施形態の機能は、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットによっても実現することもできる。この場合、まず、記憶媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行う。こうした機能拡張ボードや機能拡張ユニットによる処理によっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【０１０６】
【図１】本発明を実施するためのハードウェアの構成を示したブロック図である。
【図２】帳票生成処理の一例を示す概念図である。
【図３】生成された帳票の一例を示す概念図である。
【図４】実施形態１における複数台のプリンタで帳票の生成処理を分担する際の処理の流れを示すフローチャートである。
【図５】同実施形態における区切りフラグ挿入処理の流れを示すフローチャートである。
【図６】区切りフラグが挿入された差込データの一例を示す図である。
【図７】実施形態２における複数台のプリンタで帳票の生成処理を分担する際の処理流れを示すフローチャート
【図８】実施形態３における区切りフラグ挿入処理の流れを示すフローチャートである。
【図９】実施形態４における生成帳票の一例を示す図である。
【図１０】実施形態４における区切りフラグ挿入処理の流れを示すフローチャートである。
【図１１】実施形態４における複数台のプリンタで帳票の生成処理を分担する際の処理の流れを示すフローチャートである。
【符号の説明】
【０１０７】
３０１，３０２，３０３，３０４，９０１，９０２，９０３，９０５  セルにある項目名データが流し込まれた結果
９０４  セルに合計データが流し込まれた結果
【図１】
2009086924.tif 000003
【図２】
2009086924.tif 000004
【図３】
2009086924.tif 000005
【図４】
2009086924.tif 000006
【図５】
2009086924.tif 000007
【図６】
2009086924.tif 000008
【図７】
2009086924.tif 000009
【図８】
2009086924.tif 000010
【図９】
2009086924.tif 000011
【図１０】
2009086924.tif 000012
【図１１】
2009086924.tif 000013
【手続補正書】
【提出日】平成21年1月14日(2009.1.14)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数の差込データをテンプレートに流し込むことにより帳票を生成する情報処理装置であって、
前記複数の差込データのうちの一部の差込データをテンプレートに流し込む処理を他装置に依頼するために、前記一部の差込データを前記他装置に送信する送信手段と、
前記他装置に流し込みを依頼するための前記一部の差込データを、前記複数の差込データ内の連続する二つの差込データの項目名データの相違に基づいて決定する決定手段と、
を有することを特徴とする情報処理装置。
【請求項２】
前記一部の差込データのテンプレートへの流し込みが他装置により行われることで生成されたデータを受信する受信手段と、
前記受信手段で受信したデータと、前記複数の差込データから切出され他装置に送信された前記一部の差込データを除く差込データのテンプレートへの流し込みが該他装置とは異なる装置により行われることで生成されたデータとを集約する集約手段とをさらに有し、
前記決定手段は、
前記複数の差込データ内の連続する二つの差込データの項目名データが互いに異なるか判定し、互いに異なると判定された場合に、既に切出された部分を除く前記二つの差込データのうちの前の差込データまでの差込データを前記一部の差込データと決定することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
全差込データのうち一部の差込データのテンプレートへの流し込みを他装置に依頼するために、全差込データに他装置が担当する範囲の区切りを示す区切りフラグを挿入する区切りフラグ挿入手段と、
前記区切りフラグ挿入手段で区切りフラグが挿入された全差込データと担当箇所を指示する担当箇所情報を他装置に送信する送信手段と、前記区切りフラグおよび担当箇所情報に基づいて前記差込データのテンプレートへの流し込みが各他装置により行われることで生成されたデータを受信する受信手段と、
前記受信手段で受信したデータと、他装置が担当する範囲の差込データを除く差込データのテンプレートへの流し込みが該他装置とは異なる装置により行われることで生成されたデータとを集約する集約手段とを有し、
前記区切りフラグ挿入手段は、前記複数の差込データ内の連続する二つの差込データの項目名データが互いに異なるか判定し、互いに異なることと判定された場合に、当該二つの項目名データの間に前記区切りフラグを挿入することを特徴とする情報処理システム。
【請求項４】
複数の差込データをテンプレートに流し込むことにより帳票を生成する情報処理装置における情報処理方法であって、
前記複数の差込データのうちの一部の差込データをテンプレートに流し込む処理を他装置に依頼するため、前記一部の差込データを前記複数の差込データ内の連続する二つの差込データの項目名データの相違に基づいて決定するステップと、
前記決定するステップにおいて決定した前記一部の差込データを前記他装置に送信するステップと、
を含むことを特徴とする情報処理方法。
【請求項５】
請求項４に記載の方法をコンピュータに実行させるためのプログラム。