説明

印刷データ生成装置、印刷データ生成方法、及びコンピュータプログラム

【課題】印刷フォームに定義されたフィールドの配置を柔軟に変更することができるようにする。
【解決手段】帳票用テンプレートに定義されたフィールドに対して動的領域を指定可能とすると共に、その動的領域内のフィールドの配置変更方式と、配置変更方式の実行条件とをダイアログ401を用いて設定可能した。これにより、設定された実行条件を満たすフィールドの位置を、設定された配置変更方式に従って変更することができる。例えば、偶数ページの帳票用テンプレート301に対して指定されている第1の動的領域306内の第1及び第2のフィールド302、303を「左右反転する」ことができる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、印刷データ生成装置、印刷データ生成方法、及びコンピュータプログラムに関し、特に、データが差し込まれる複数のフィールド領域が定義されている印刷フォームに基づいて印刷データを生成するために用いて好適なものである。
【背景技術】
【0002】
近年、帳票用テンプレート等の印刷フォームにデータを差し込んで印刷出力する技術が提案されている。帳票用テンプレートには、データを差し込む領域を表す1つ又は複数のフィールドの位置及び大きさがページ毎に定義されている。このような帳票用テンプレートは、資産として扱われるため、用途に応じて様々なものを用意することが一般的である。このため、帳票用テンプレートのレイアウトが改版等で変更されること等により、帳票用テンプレートの数は累積的に多くなる。従って、帳票用テンプレートの管理や使用等が複雑になると共に、帳票用テンプレートを管理するためのコストが高くなる。
【0003】
このような状況において、管理コストを削減するためには、管理する帳票用テンプレートの数を減らす必要がある。そこで、帳票用テンプレートに定義されているフィールドの大きさを可変とし、フィールドの大きさを、そのフィールドに差し込むデータ量に応じて自動的に縮小又は拡大する技術が提案されている(例えば、特許文献1を参照)。この他、隣り合うフィールドの大きさを計算し、計算した結果に応じてフィールドの位置を変更する技術等も提案されている。
また、偶数ページと奇数ページの帳票ページを予め用意しておき、出力すべきページが偶数ページであるか奇数ページであるかを判定することにより、自動的に適する帳票ページを選択する技術が提案されている(例えば、特許文献2を参照)。
【0004】
【特許文献1】特開2005−216174号公報
【特許文献2】特開平8−80643号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1の技術では、フィールドに差し込むデータ量に応じてフィールドの大きさを変更する技術では、フィールドの大きさは、そのフィールドに差し込むデータ量に依存する。このため、フィールドに差し込むデータ量によってしか、帳票用テンプレートに定義されたフィールドを変更することができないという問題点がある。例えば、帳票用テンプレートに定義された一部のフィールドの配置を入れ替えたり、位置をスライドしたりすることができない。
【0006】
また、特許文献2の技術では、偶数ページと奇数ページとで異なる帳票ページを利用することはできるが、偶数ページと奇数ページとで別々の帳票データを管理しなければならず、結果として管理コストを減らすことができない。また、単に偶数ページと奇数ページとで異なる帳票データを用いることができるだけであり、これ以外の変更を行うことができない。例えば、帳票用テンプレートに定義された一部のフィールドの配置を入れ替えられない。
【0007】
以上のように従来の技術では、帳票用テンプレート等の印刷フォームに定義されたフィールドの配置を柔軟に変更することが困難であるという問題点があった。
本発明は、このような問題点に鑑みてなされたものであり、印刷フォームに定義されたフィールドの配置を柔軟に変更することができるようにすることを目的とする。
【課題を解決するための手段】
【0008】
本発明の印刷データ生成装置は、データが差し込まれる複数のフィールド領域が定義されている印刷フォームに基づいて印刷データを生成し、印刷装置に出力する印刷データ生成装置であって、前記複数のフィールド領域のうち、少なくとも1つのフィールド領域の配置の変更に関する条件の設定を受け付ける配置変更条件受付手段と、前記配置変更条件受付手段により受け付けられた条件に従って、前記印刷フォームに定義されているフィールド領域の配置を変更する配置変更手段と、前記配置変更手段によりフィールド領域の配置が変更された印刷フォームに基づいて印刷データを生成する印刷データ生成手段とを有することを特徴とする。
【0009】
本発明の印刷データ生成方法は、データが差し込まれる複数のフィールド領域が定義されている印刷フォームに基づいて印刷データを生成し、印刷装置に出力する印刷データ生成方法であって、前記複数のフィールド領域のうち、少なくとも1つのフィールド領域の配置の変更に関する条件の設定を受け付ける配置変更条件受付ステップと、前記配置変更条件受付ステップにより受け付けられた条件に従って、前記印刷フォームに定義されているフィールド領域の配置を変更する配置変更ステップと、前記配置変更ステップによりフィールド領域の配置が変更された印刷フォームに基づいて印刷データを生成する印刷データ生成ステップとを有することを特徴とする。
【0010】
本発明のコンピュータプログラムは、データが差し込まれる複数のフィールド領域が定義されている印刷フォームに基づいて印刷データを生成し、印刷装置に出力することをコンピュータに実行させるためのコンピュータプログラムであって、前記複数のフィールド領域のうち、少なくとも1つのフィールド領域の配置の変更に関する条件の設定を受け付ける配置変更条件受付ステップと、前記配置変更条件受付ステップにより受け付けられた条件に従って、前記印刷フォームに定義されているフィールド領域の配置を変更する配置変更ステップと、前記配置変更ステップによりフィールド領域の配置が変更された印刷フォームに基づいて印刷データを生成する印刷データ生成ステップとをコンピュータに実行させることを特徴とする。
【発明の効果】
【0011】
本発明によれば、印刷フォームに定義されたフィールド領域の配置を柔軟に変更することができる。そして、フィールド領域の数と内容とが同じで、配置が異なる複数の印刷フォームを1つの印刷フォームとして管理することができる。
【発明を実施するための最良の形態】
【0012】
(第1の実施形態)
以下、図面を参照しながら、本発明の第1の実施形態について説明する。
図1は、本実施形態の印刷システムの構成の一例を示した図である。図1に示す印刷システムでは、帳票の作成と出力とを行うクライアント用パーソナルコンピュータが、帳票の管理を行うサーバーに対して、指示や操作等を行うようにしている。
【0013】
図1において、クライアント用パーソナルコンピュータ111〜113と、サーバー用パーソナルコンピュータ121と、プリンタ115とが、ローカルエリアネットワーク(LAN)101に接続されている。尚、以下の説明では、クライアント用パーソナルコンピュータをクライアントPCと称し、サーバー用パーソナルコンピュータをサーバーPCと称する。
【0014】
本実施形態のサーバーPC121は帳票管理サーバーとしての機能を有している。具体的に説明すると本実施形態のサーバーPC121は、例えば、クライアントPC111〜113にインストールされたWebブラウザに対するユーザの入力操作に基づく指示を受ける。サーバーPC121は、その指示に基づいて、例えば、印刷フォームの一例である帳票テンプレートや、帳票テンプレートに差し込まれるデータの一覧画像を表示するためのWebドキュメントを、クライアントPCに送信する。その後、サーバーPC121は、クライアントPCに送信したWebドキュメント(Webブラウザ)に対するユーザの入力操作に基づく指示がなされると、その指示に応じて、帳票テンプレートや、帳票テンプレートに差し込まれるデータを検索する。そして、サーバーPC121は、検索した帳票テンプレートや、帳票テンプレートに差し込まれるデータを、クライアントPCに送信する。
【0015】
クライアントPC111〜113には、帳票の作成と出力とを行うためのプログラムがインストールされている。このプログラムの1つであるWebブラウザは、サーバーPC121からWebドキュメントを取得して表示装置に表示する。このWebドキュメントは、例えば、サーバーPC121で検索された帳票テンプレートや、帳票テンプレートに差し込まれるデータ等の一覧画像等、帳票の作成や出力を行うために必要な画像を表示するためのものである。クライアントPC111〜113は、サーバーPC121から取得したWebドキュメント(Webブラウザ)に対するユーザの入力操作に基づいて、帳票を作成して出力するための処理を実行する。具体的に説明すると、クライアントPCは、例えば、帳票テンプレートや、帳票テンプレートに差し込まれるデータ等の一覧画像の取得要求を、Webドキュメント(Webブラウザ)に対するユーザの入力操作に基づいて、サーバーPC121に対して行う。その後クライアントPCは、帳票テンプレートと、帳票テンプレートに差し込まれるデータとを、サーバーPC121から取得する。そして、クライアントPCは、帳票用テンプレートに定義されたフィールドにデータを差し込んで帳票印刷用データを生成してプリンタ115に送信する。
プリンタ115は、クライアントPC111〜113から送信された帳票印刷用データを印刷する。
【0016】
尚、図1では、クライアントPC111〜113が3台、サーバーPC121及びプリンタ115がそれぞれ1台の場合を例に挙げて示しているが、クライアントPC111〜113、サーバーPC121、及びプリンタ115の数はこれに限定されない。また、クライアントPC111〜113、サーバーPC121、及びプリンタ115がLAN101に接続されるようにした場合を例に挙げて示したが、クライアントPC111〜113、サーバーPC121、及びプリンタ115の接続形態はこれに限定されない。例えば、クライアントPC111〜113とサーバーPC121とがインターネットを介して相互に接続され、クライアントPC111〜113とプリンタ115とがUSBケーブルを会して相互に接続されるようにしてもよい。
【0017】
図2は、サーバーPC121及びクライアントPC111〜113のハードウェアの概略構成の一例を示した図である。
図2おいて、ビデオRAM(VRAM)201は、CRT表示装置(CRT)202の画面に表示される文字やイメージを展開して記憶する。ビットムーブユニット(BMU)203は、メモリ間、あるいはメモリと各デバイスとの間のデータ転送をコントロールする。キーボード(KeyBoard)204は、入力に関する各種キーを備えたユーザインターフェースである。
【0018】
ポインティングデバイス(PD)205は、画面上でアイコン等を指し示すため等に用いられるユーザインターフェースである。CPU206は、ハードディスク等に記憶された制御プログラムに基づいて装置の各部を制御する。この制御プログラムには、後述する処理を実現するためのプログラムも含まれている。RAM209は、前述した制御プログラムをCPU206が実行するときにワークエリアや、エラー処理時にデータを一時的に退避するための一時退避エリア等として用いられる。ハードディスクドライブ(HDD)210は、アプリケーションプログラム、データ、データベース、及びライブラリ等の各種のデータの保存用に用いられるハードディスクへのデータの読み書きを制御する。フレキシブルディスクドライブ(FDD)211は、アプリケーションプログラム、データ、データベース、及びライブラリ等の各種のデータの保存用に用いられるフレキシブルディスクへのデータの読み書きを制御する。
【0019】
ネットワークインターフェイス(NET−I/F)212は、外部装置との間でLAN101等を経由してデータの転送を行うために、データの制御や診断をネットワーク上で行う。I/Oバス207は、前述した各ユニット間を接続するためのバスであり、アドレスバス、データバス、及び制御バス等からなる。
【0020】
以上の構成において、装置に電源が投入されると、CPU206は、ROM208のブートプログラムに従って装置を初期化する。そして、CPU206は、例えばHDD210からOS(オペレーティングシステム)のロードを行った後、各種アプリケーションプログラム等を動作させることになる。
【0021】
尚、本実施形態のサーバーPC121及びクライアントPC111〜113は、パーソナルコンピュータであり、汎用の情報処理装置により構成されているので、プログラムはハードディスク等に記憶されているものとした。しかしながら、プログラムを記憶する記憶媒体はハードディスクに限定されない。例えばROM208にプログラム記憶させるようにしてもよく、プログラムを記憶する記憶媒体によって本発明が限定されるものではない。
【0022】
図3は、サーバーPC121及びクライアントPC111〜113の機能的な構成の一例を示した図である。尚、クライアントPC111〜113の構成は同じであるので、ここでは、クライアントPC111について説明し、その他のクライアントPC112、113の説明を省略する。
【0023】
図3において、クライアントPC111は、帳票作成部111aと、データ入出力部111bと、帳票出力部111cとを有している。
帳票作成部111aは、帳票印刷用データを作成するためのものであり、Webブラウザ等、帳票印刷用データを作成するための各種のプログラムを備えている。前述したように、Webブラウザは、サーバーPC121から取得したWebドキュメント等のデータを表示装置に表示する機能を備えたアプリケーションプログラムである。
【0024】
データ入出力部111bは、サーバーPC121等の外部装置とデータのやり取りを行うためのものである。帳票出力部111cは、帳票作成部111aで作成された帳票印刷用データをプリンタ115に出力するためのものである。
【0025】
サーバーPC121は、通信制御部121aと、帳票テンプレート格納部121bと、データ格納部121cと、配信データ作成部121dとを有している。
通信制御部121aは、HTML等で記述されたWebドキュメント等のデータを、クライアントPC111〜113からの要求に応じてクライアントPCに送信する。
テンプレート格納部121bは、帳票用テンプレート(のデータ)を格納するためのものである。テンプレート格納部121bに格納されている帳票用テンプレートには、1つ又は複数のフィールドが定義されている。
【0026】
データ格納部121cは、帳票用テンプレートのフィールドに差し込まれる各種のデータを格納するためのものである。データ格納部121cには、予め登録されたデータの他、Webブラウザを用いてクライアントPC111〜113で作成されたデータ等も格納される。
配信データ作成部121dは、Webブラウザに対する入力に基づくデータを、通信制御部121aを介してクライアントPC111〜113から入力する。そして、入力したデータに対応するWebドキュメントを作成して通信制御部121aに出力する。
【0027】
図4は、帳票用テンプレート内における動的領域の選択例を示した図である。
図4において、帳票用テンプレート301には、第1〜第4のフィールド(4つのフィールド)が定義されている。第1のフィールド302は、図を属性とした識別子「IMAGE_DATA」のフィールドである。
第2のフィールド303は、文字を属性とした識別子「TITLE_DATA」のフィールドである。第3のフィールド304は、文字を属性とした識別子「BODY」のフィールドであり、第4のフィールド305は、文字を属性とした識別子「REF」のフィールドである。
【0028】
クライアントPC111〜113のユーザがポインティングデバイス(PD)205等を用いることにより、帳票用テンプレート301に対して第1の動的領域306を指定する。そうすると、図4の右上に示すように、第1の指定領域306に含まれる第1及び第2のフィールド302、303が配置の変更対象となるフィールドとして選択される。
【0029】
また同様に、クライアントPC111〜113のユーザが第2の動的領域307を指定すると、図4の右下に示すように、第1及び第3のフィールド302、304が配置の変更対象となるフィールドとして選択される。尚、図4では、4つのフィールド302〜305の一部が選択された場合を例に挙げて示したが、4つのフィールド302〜305の全部が選択されるようにしてもよい。
【0030】
図5は、図4に示したようにして選択された動的領域306、307に含まれるフィールド対する配置変更方式と動作条件とを設定するためのダイアログの一例を示した図である。
図5において、ダイアログ401は、図4に示したようにして動的領域306、307が選択された後に、クライアントPC111〜113のCRT表示装置(CRT)202に表示される。尚、図5では、図4に示した第1の動的領域306が選択された場合を例に挙げて示している。
【0031】
ダイアログ401内のコントロール402は、設定対象となる動的領域に対する名前を設定するためのコントロールであり、ユーザは、このコントロール402を用いて領域名を設定する。図5では、第1の動的領域306に対する名前として「領域1」が設定されている。
コントロール404は、設定対象となる動的領域に含まれる各フィールドの配置変更方式を指定するためのコントロールである。図5では、第1の動的領域306に含まれる第1及び第2のフィールド302、303の配置変更方式として、「左右反転」が指定されている。ここで「左右反転」とは、対象となる各フィールドの位置を動的領域内において左右反転させる配置変更方式である。
尚、配置変更方式は、「左右反転」の他に、「上下反転」、「スライド」、「ローテーション」等、様々な図形的な位置変更が挙げられる。すなわち、対象となる各フィールドの位置を変更する方法であれば、配置変更方式の内容は特に限定されない。また、このとき、対象となる各フィールドの配置を動的領域内において変更するのが好ましい。
【0032】
コントロール403は、設定対象となる動的領域に対してコントロール404を用いて指定された配置変更方式が動作する条件を設定するためのコントロールである。図5では、「偶数ページ時」という設定がなされている。ここで「偶数ページ時」とは、偶数ページに配置されたフィールドに対して、コントロール404を用いて指定された配置変更方式を適用することをいう。具体的に説明すると、偶数ページに配置された第1及び第2のフィールド302、303を「左右反転」する。
尚、配置変更方式が動作する条件は、例えば、ページ構成により定まる条件や、ユーザにより出力時に設定される任意の条件や、出力する帳票の内容により定まる条件等、種々の条件が挙げられる。すなわち、配置変更方式が動作する条件は特に限定されない。
【0033】
コントロール405は、設定対象となる動的領域に含まれるフィールドを示すコントロールである。図5では、第1の動的領域306に含まれる第1のフィールド302(識別子「IMAGE_DATA」のフィールド)及び第2のフィールド303(識別子「TITLE_DATA」のフィールド)がそれぞれ選択された状態を示している。
ボタン406は、ダイアログ401の設定内容を適用して閉じる処理を行うためのものであり、ボタン407は、ダイアログ401の設定内容を破棄して閉じる処理を行うためのものである。
【0034】
図6は、帳票印刷用データの出力例を示した図である。尚、図6では、図4に示した第1の動的領域306が選択され、図5に示したダイアログ401の内容が設定された場合を例に挙げて示している。すなわち、図6では、出力するページが偶数ページの場合に、第1の動的領域306に含まれる第1及び第2のフィールド302、303を「左右反転」する場合を例に挙げて示している。
【0035】
図6において、出力データ群502は、サーバーPC121のデータ格納部121cに格納されているデータである。出力データ503は、各フィールドに差し込まれるテキストデータとファイルの名前とを指定するためのデータであり、その1行目には、対象となるフィールドの識別子が指定されている。また、出力データ503の2〜4行目には、各フィールドに差し込まれるテキストデータとファイルの名前とが指定されている。
画像ファイル504、505、506は、出力データ503により指定される画像ファイルである。
【0036】
出力データ503の2行目を例に挙げて説明すると、フィールド識別子「IMAGE_DATA」に対して、ファイル名が「A.jpg」の画像ファイル504が指定されている。次に、フィールド識別子「TITLE_DATA」に対して、テキストデータ「PRODUCT_A」が指定されている。同様にフィールド識別子「BODY」に対して、テキストデータ「this is A」が指定され、フィールド識別子「REF」に対して、テキストデータ「http://AAA」がそれぞれ指定されている。
尚、出力データ503は、例えばXML(eXtensible Markup Language)のような記述でも独自のデータ記述方法でもよく、出力データ503の記述方法は特に限定されない。
【0037】
帳票印刷用データ507は、帳票用テンプレート301に設定された第1の動的領域306に対して、出力データ群502を適用したものである。
帳票印刷用データ507の「1ページ目」は、奇数ページである。前述したように、図6では、出力するページが偶数ページの場合に、第1の動的領域306に含まれる第1及び第2のフィールド302、303を「左右反転」する。従って、「1ページ目」では、第1の動的領域306に含まれる第1及び第2のフィールド302、303を「左右反転」しない。すなわち、「1ページ目」では、元のフィールド位置で出力データ群502が第1及び第2のフィールド302、303に差し込まれて出力される。
【0038】
一方、帳票印刷用データ507の「2ページ目」は偶数ページであるため、第1の動的領域306に対する配置変更方式が適用され、第1及び第2のフィールド302、303が第1の動的領域306内において左右反転することとなる。この結果、ファイル名が「B.jpg」の画像ファイル505が差し込まれる第1のフィールド302は、帳票用テンプレート301の右側に位置する動作となる。一方、フィールド識別子「TITLE_DATA」に対するテキストデータ「PRODUCT_A」が差し込まれる第2のフィールド303は、帳票用テンプレート301の左側に位置する動作となる。
また、帳票印刷用データ507の「3ページ目」は奇数ページであるため、「1ページ目」と同様に元のフィールド位置での出力となっている。
【0039】
次に、図7のフローチャートを参照しながら、動的領域を指定する際のクライアントPC111〜113の動作の一例を説明する。図7に示す処理は、クライアントPC111〜113にインストールされているアプリケーションプログラムにより、図4に示すような帳票用テンプレートの画像が、CRT表示装置(CRT)202に表示された後に実行される。
【0040】
まずステップS601では、クライアントPCは、ユーザによるポインティングデバイス(PD)205等の操作に基づいて、動的領域が指定されたか否かを判定する。この判定の結果、動的領域が指定されていない場合には処理を終了する。一方、動的領域が指定された場合には、ステップS602に進む。
【0041】
ステップS602では、クライアントPCは、ステップS601で指定されたと判定された動的領域が有効であるか否かを判定する。具体的に説明すると、例えば、帳票用テンプレート301よりも外側の領域が指定された場合や、既に選択済みのフィールドが重複して選択された場合には、指定された動的領域が有効でないと判定し、処理を終了する。一方、指定された動的領域が有効である場合には、ステップS603に進む。
【0042】
ステップS603では、クライアントPCは、ステップS601で指定されたと判定された動的領域内にフィールドが存在する否かを判定する。この判定の結果、指定された動的領域内にフィールドが1つも存在しない場合には無効な領域指定となるため処理を終了する。一方、指定された動的領域内にフィールドが1つ以上存在する場合には、ステップS604に進む。
【0043】
ステップS604では、クライアントPCは、ステップS601で指定されたと判定された動的領域に属する全てのフィールドを取得してリストアップする。そしてステップS605では、クライアントPCは、ステップS604で取得した全てのフィールドを記録媒体(例えばハードディスク)に登録して処理を終了する。
【0044】
以上の図7に示すフローチャートの動作により、帳票用テンプレート301内に動的領域が指定されると、その動的領域内に属する全てのフィールドが自動的にリストアップされる。
以上のようにして動的領域が指定され、その動的領域に属する全てのフィールドを登録した後に、クライアントPCは、アプリケーションプログラムに従って、図5に示したダイアログ401を表示する。そして、クライアントPCは、そのダイアログ401に対して設定された動的領域の名前、配置変更方式、動作条件、及び動的領域を記録媒体(例えばハードディスク)に登録する。
【0045】
次に、図8のフローチャートを参照しながら、帳票印刷用データを出力する際のクライアントPC111〜113の動作の一例を説明する。図8に示す処理は、図5に示したようなダイアログ401による設定が行われた後に実行される。
まずステップS701では、クライアントPCは、ユーザによるポインティングデバイス(PD)205等の操作に基づいて、出力の際に使用する帳票用テンプレートが指定されるまで待機する。具体的に説明すると、例えば、クライアントPCは、Webブラウザを用いてサーバーPCに問い合わせを行うことにより、帳票用テンプレートの一覧を示すWebドキュメントを取得して表示する。そして、クライアントPCは、表示した帳票用テンプレートの一覧の中から、ユーザが所望する帳票用テンプレートが指定されるまで待機する。尚、このステップS701で指定された帳票用テンプレートを用いて帳票の出力処理が行われる。
【0046】
次にステップS702では、クライアントPCは、ユーザによるポインティングデバイス(PD)205等の操作に基づいて、出力データが指定されるまで待機する。具体的に説明すると、例えば、クライアントPCは、Webブラウザを用いてサーバーPCに問い合わせを行うことにより、出力データ(例えば出力データ503や画像ファイル504〜506)の一覧を示すWebドキュメントを取得して表示する。そして、クライアントPCは、表示した出力データの一覧の中から、ユーザが所望する出力データが指定されるまで待機する。
【0047】
尚、ステップS701、702において、帳票用テンプレート、並びに画像ファイルや出力データの収集方法は、前述したものに特に限定されるものではなく、一般的な検索方法を用いたり、予め用意されたデータを用いたりする等、様々な方法が考えられる。
【0048】
次にステップS703では、クライアントPCは、ステップS702で指定された出力データの全データ数Nと、ステップS701で指定された帳票用テンプレートに対して指定されている動的領域数Mとを取得する。
次にステップS704では、クライアントPCは、出力データの全てを処理対象とするためのデータループ変数Iを「1」に設定する(初期化する)。尚、データループ変数Iの用法は特に限定されるものではなく、一般的な方法でよい。
【0049】
次にステップS705では、クライアントPCは、出力データの全データ数Nが、データループ変数I以上であるか否かを判定する。この判定の結果、出力データの全データ数Nが、データループ変数I以上でなく、全ての出力データに対して処理を行った場合には、後述するステップS714に進む。一方、出力データの全データ数Nが、データループ変数I以上であり、まだ未処理の出力データがある場合は、ステップS706に進む。
【0050】
ステップS706では、クライアントPCは、帳票用テンプレート内の各動的領域に関するチェックを行うための動的ループ変数Jを「1」に設定する(初期化する)。尚、動的ループ変数Jの設定方法は、特に限定されるものではなく、一般的な方法でよい。
次にステップS707では、クライアントPCは、ステップS701で指定された帳票用テンプレートに対して指定されている動的領域数Mが、動的ループ変数J以上であるか否かを判定する。この判定の結果、帳票用テンプレートに対して指定されている動的領域数Mが、動的ループ変数J以上でなく、帳票用テンプレートに対して指定されている全ての動的領域に対して処理を行った場合には、後述するステップS712に進む。一方、帳票用テンプレートに対して指定されている動的領域数Mが、動的ループ変数J以上であり、まだ未処理の動的領域がある場合には、ステップS708に進む。
【0051】
ステップS708では、クライアントPCは、J番目の動的領域が、ダイアログ401で設定された条件を満たすか否かを判定する。この判定の結果、J番目の動的領域が、ダイアログ401で設定された条件を満たさない場合には、後述するステップS711に進む。一方、J番目の動的領域が、ダイアログ401で設定された条件を満たす場合には、ステップS709に進む。
ステップS709では、クライアントPCは、ダイアログ401で設定された条件を満たすと判定された動的領域に対して設定されている配置変更方式を取得する。
【0052】
次にステップS710では、クライアントPCは、ステップS709で取得した配置変更方式に基づいて、対象となる動的領域に含まれるフィールドの配置を、該当する出力データの出力用フォームとして変更する。尚、このステップS710の処理では、フィールドの配置を一時的に変更するだけであり、元のフィールドの配置には影響がないようにする。
【0053】
ステップS711では、クライアントPCは、次の動的領域を処理対象とするために、動的領域用ループ変数Jに「1」を加算してステップS707に戻る。ステップS706〜S711がI番目の出力データに対するフィールドの位置を変更する処理となる。
ステップS707において、帳票用テンプレートに定義されている動的領域数Mが、動的ループ変数J以上でなく、帳票用テンプレートに定義されている全ての動的領域に対して処理を行った場合には、ステップS712に進む。
【0054】
ステップS712では、クライアントPCは、ステップS706〜S711の処理でフィールドの位置が確定した帳票用テンプレートのフィールドに対して、I番目の出力データ(例えばテキストデータや画像データ)を差し込む。ここまでのステップS706〜S712処理によって1つの出力データに対するフィールドの位置の変更と、帳票の出力とが行われる。
次にステップS713では、クライアントPCは、処理対象とする出力データを次のデータとするために、データループ変数Iに「1」を加算して、ステップS705に進む。
【0055】
ステップS705において、出力データの全データ数Nが、データループ変数I以上でなく、全ての出力データに対して処理を行った場合には、ステップS714に進む。ステップS714では、クライアントPCは、出力データ別に作成した帳票を最終的な全出力データとして加工して帳票印刷用データを生成し、生成した帳票印刷用データをプリンタ115に出力する。尚、出力データ別に作成した帳票を最終的な全出力データとする処理としては、例えば、出力データ別に作成した帳票を単に結合する処理等が考えられる。ただし、出力データ別に作成した帳票を最終的な全出力データとする処理は他の処理でもよく、特に限定されるものではない。
【0056】
以上の図8に示すフローチャートの動作により、帳票用テンプレートに設定された動的領域内のフィールドの位置を、ダイアログ401を用いて設定された条件に応じて、出力時に変更することが可能になる。
【0057】
以上のように本実施形態では、帳票用テンプレートに定義されたフィールドに対して動的領域を指定可能とすると共に、その動的領域内のフィールドの配置変更方式と、配置変更方式の実行条件とをダイアログ401を用いて設定可能した。これにより、設定された実行条件を満たすフィールドの配置を、設定された配置変更方式に従って変更することができる。例えば、偶数ページの帳票用テンプレート301に対して指定されている第1の動的領域306内の第1及び第2のフィールド302、303を「左右反転する」ことができる。従って、帳票用テンプレートに定義されたフィールドの配置を柔軟に変更することができ、フィールドの数と内容とが同じで、レイアウト(配置)が異なる複数の帳票用テンプレートを1つのテンプレートとして管理することができる。また、従って、帳票用テンプレート301の領域を指定するだけで、変更するフィールド領域を指定することが可能となるので、フィールドの配置を変更するための操作を容易にすることができる。
【0058】
尚、本実施形態では、Webブラウザを用いて、クライアントPC111〜113とサーバーPC121とが通信する場合を例に挙げて説明したが、クライアントPC111〜113とサーバーPC121との通信手法はこれに限定されるものではない。クライアントPC111〜113が、Webブラウザを用いずに、サーバーPC121に対して直接指示を行う形態であってもよい。
また、本実施形態では、帳票用テンプレートに出力データを差し込む処理をクライアントPC111〜113で行う場合を例に挙げて説明したが、この処理をサーバーPC121で行うようにしてもよい。
【0059】
(第2の実施形態)
次に、本発明の第2の実施形態について説明する。前述した第1の実施形態では、動的領域を単独で指定するようにした。これに対し、本実施形態では、既に指定された1つ又は複数の動的領域を含む動的領域が更に指定されるようにしている。そして、既に指定された1つ又は複数の動的領域のデータと、その動的領域を含む動的領域のデータとを、階層構造にして管理するようにしている。このように前述した第1の実施形態と本実施形態とは、配置の変更を行うフィールドに対するソフトウェアの処理が異なるだけである。従って、本実施形態の説明において、前述した第1の実施形態と同一の部分については、図1〜図8に付した符号と同一の符号を付す等して詳細な説明を省略する。
【0060】
本実施形態の説明の前に、本実施形態が解決する問題点について説明する。
図9は、動的領域を単独で指定した場合に変更可能なフィールドの配置の一例を示した図である。尚、図9では、指定された動的領域に含まれるフィールドを「左右反転」する場合を例に挙げて示している。
図9において、帳票用テンプレート801に含まれる第1〜第4のフィールド802〜805は、それぞれ識別子が<1>、<2>、<3>、<4>のフィールドである。また、第1〜第3のフィールド802〜804は、帳票用テンプレート801の上の段で横方向に3分割されて配置(レイアウト)されている。一方、第4のフィールド805は、帳票用テンプレート801の下の段に配置(レイアウト)されている。
【0061】
ここでは、第1〜第3のフィールド802〜804が存在している領域(帳票用テンプレート801の上の段の領域)に対して、前述した第1の実施形態のように単独で動的領域を指定した場合を例に挙げて説明する。この場合、第1〜第3の動的領域806〜808を指定することが可能である。これら第1〜第3の動的領域806〜808に含まれるフィールドを左右反転すると第1の動的領域806では、紙面に向かって左から第2のフィールド803、第1のフィールド802、第3のフィールド804の順番で各フィールド802〜804が配置される。同様に第2の動的領域807では、紙面に向かって左から第1のフィールド802、第3のフィールド804、第2のフィールド803の順番で各フィールド802〜804が配置される。更に第3の動的領域808では、紙面に向かって左から第3のフィールド804、第2のフィールド803、第1のフィールド802の順番で各フィールド802〜804が配置される。
【0062】
しかしながら、このようにして動的領域を単独で指定すると、例えば、紙面に向かって左から第2のフィールド803、第3のフィールド804、第1のフィールド802の順番で各フィールド802〜804を配置することができない。この他、第3のフィールド804、第1のフィールド802、第2のフィールド803の順番等で各フィールド802〜804を配置することもできない。このように動的領域を単独で指定する方法では、フィールドの変更に制約が生じてしまう。
そこで本実施形態では、以下のようにして動的領域を単独で指定した場合よりもフィールドの変更を自由に行えるようにしている。
【0063】
図10は、帳票用テンプレート内における動的領域の選択例を示した図である。尚、図10でも、指定された動的領域に含まれるフィールドを「左右反転」する場合を例に挙げて示している。
図10(a)において、動的領域901は、図9に示した第2の動的領域807と同様であり、第2及び第3のフィールド803、804を含む動的領域である。動的領域902は、動的領域901と第1のフィールド802とを含む動的領域である。
【0064】
ここで、例えば動的領域901は、図5に示したダイアログ401のコントロール403により設定される条件を満たさず、且つ動的領域902は、コントロール403により設定される条件を満たしているとする。そうすると、図10(a)に示す第1〜第3のフィールド802〜804は、図10(b)に示すような配置となる。
【0065】
具体的に、以下に説明する処理がなされた結果、図10(b)に示す配置となる。
まず、動的領域901から処理がなされる。動的領域901は、ダイアログ401のコントロール403により設定される条件を満たさないとしているので、動的領域901に含まれる第2及び第3のフィールド803、804の位置は維持される。
次に、動的領域902の処理がなされる。動的領域902は、ダイアログ401のコントロール403により設定される条件を満たすとしている。従って、フィールドの配置を変更するための処理がなされた動的領域901と、第1のフィールド802とが左右反転される。この結果、図10(b)に示すように、第1のフィールド802が紙面に向かって右側に位置し、動的領域901(第2及び第3のフィールド803、804)が紙面に向かって左側に位置する。
【0066】
図11は、図10に示すようにして選択された動的領域のデータを管理する方法を概念的に示す図である。本実施形態では、クライアントPC111〜113が、動的領域901、902と第1〜第3のフィールド802〜804とを、図11に示すような階層構造のデータとして管理するようにしている。すなわち、クライアントPC111〜113は、動的領域902を最上位の階層に保有し、第1のフィールド802及び動的領域901を中位の階層に保有し、更に動的領域901に含まれる第2及び第3のフィールド803、804を最下位の階層に保有する。このように、図11では、動的領域902を親階層とし動的領域901を子階層としている。
また、本実施形態では、クライアントPC111〜113は、アプリケーションプログラムに従って、図11に示した内容をCRT表示装置(CRT)202に表示するようにすることができる。これによりユーザは、動的領域を意図する通りに指定することができているか否かを容易に理解することができる。
【0067】
尚、図5に示した第1の実施形態におけるダイアログ401では、コントロール405においてフィールドのみが選択の対象であったが、本実施形態では、このコントロール405においてフィールドと動的領域とが選択の対象となる。ダイアログ401におけるこの他の構成は図5に示したものと同じであるので説明を省略する。
【0068】
次に、図12のフローチャートを参照しながら、動的領域を指定する際のクライアントPC111〜113の動作の一例を説明する。図12に示す処理は、クライアントPC111〜113にインストールされているアプリケーションプログラムにより、図9の最上部に示すような帳票用テンプレートの画像が、CRT表示装置(CRT)202に表示された後に実行される。
【0069】
まずステップS1201では、クライアントPCは、ユーザによるポインティングデバイス(PD)205等の操作に基づいて、動的領域が指定されたか否かを判定する。この判定の結果、動的領域が指定されていない場合には後述するステップS1207に進む。一方、動的領域が指定された場合には、ステップS1202に進む。
【0070】
ステップS1202では、クライアントPCは、ステップS1201で指定されたと判定された動的領域が有効であるか否かを判定する。この判定の結果、指定された動的領域が有効でない場合には後述するステップS1207に進む。一方、指定された動的領域が有効である場合には、ステップS1203に進む。
【0071】
ステップS1203では、クライアントPCは、ステップS1201で指定されたと判定された動的領域内に動的領域が存在する否かを判定する。この判定の結果、指定された動的領域内に動的領域が1つ以上存在しない場合にはステップS1204を省略してステップS1205に進む。一方、指定された動的領域内にフィールドが1つ以上存在する場合には、ステップS1204に進む。ここで、図10(a)に示した例では、動的領域902の中に動的領域901が存在しているのでステップS1204に進むことになる。
【0072】
ステップS1204では、クライアントPCは、ステップS1201で指定されたと判定された動的領域に含まれる全ての動的領域を取得してリストアップする。
次にステップS1205では、クライアントPCは、ステップS1201で指定されたと判定された動的領域内にフィールドが存在する否かを判定する。この判定の結果、指定された動的領域内にフィールドが1つも存在しない場合には後述するステップS1207に進む。一方、指定された動的領域内にフィールドが1つ以上存在する場合には、ステップS1206に進む。
【0073】
ステップS1206では、クライアントPCは、ステップS1201で指定されたと判定された動的領域に属する全てのフィールドを取得してリストアップする。
次にステップS1207では、クライアントPCは、ユーザによる動的領域の選択操作が終了したか否かを判定する。例えば、クライアントPCは、動的領域の選択操作を終了するためのボタンをCRT表示装置(CRT)202に表示し、表示したボタンが操作されるとユーザによる動的領域の選択操作が終了したと判定することができるが、判定方法はこの方法に限定されない。この判定の結果、ユーザによる動的領域の選択操作が終了していない場合には、ユーザによる動的領域の選択操作が終了するまでステップS1201〜S1207を繰り返し行う。そして、ユーザによる動的領域の選択操作が終了すると、ステップS1208に進む。
ステップS1208では、クライアントPCは、ステップS1204、S1206で取得した動的領域とフィールドとを、図11に示したような階層構造にして記録媒体(例えばハードディスク)に登録し、処理を終了する。尚、ステップS1201で指定された動的領域にフィール及び動的領域が1つも含まれていない場合には、このステップS1208の処理を行わずに処理を終了する。
【0074】
帳票印刷用データを出力する際のクライアントPC111〜113の動作は、図8に示したフローチャートのステップS710における処理が異なるだけである。すなわち、図7のステップS710では、対象となる動的領域に含まれる各フィールの配置を変更するようにしたが、本実施形態では、動的領域に含まれる各フィールドだけでなく、その動的領域に含まれる動的領域の配置も変更する。尚、この処理は、図12のステップS1208で登録した内容に基づいて実行される。
また前述したように、動的領域に含まれる動的領域が、ダイアログ401のコントロール403により設定される条件を満たさない場合には、変更の対象となる動的領域自体の配置のみを変更する。そして、変更の対象となる動的領域内のフィールドは、その動的領域内における相対的位置を維持したままとする。
【0075】
以上のように本実施形態では、既に指定された動的領域901を含む領域を動的領域902として新たに指定可能にした。そして、指定された複数の動的領域901、902と、それら複数の動的領域901、902に含まれるフィールド802〜804とを階層構造にして管理するようにした。更に、新たに指定された動的領域902に含まれる動的領域901と、フィールド802〜804とに対して配置変更方式を設定できるようにした。従って、第1の実施形態で説明した効果に加え、単一の動的領域の設定では実施できない態様で、フィールドの配置を変更することができる。これにより、フィールドの配置をよりきめ細かく変更することができる。
【0076】
尚、本実施形態でも第1の実施形態と同様に、配置変更方式が「左右反転」の場合を例に挙げて説明したが、配置変更方式は、「左右反転」の他に、「上下反転」、「スライド」、「ローテーション」等、様々な図形的な位置変更が挙げられる。すなわち、対象となる各フィールドの位置を動的領域内において変更する方法であれば、配置変更方式の内容は特に限定されない。
【0077】
また、本実施形態では、クライアントPC111〜113が、動的領域901、902と第1〜第3のフィールド802〜804とを、図11に示すような階層構造のデータとして管理するようにしたが、サーバーPC121が管理するようにしてもよい。このようにした場合には、クライアントPC111〜113のWebブラウザ等を用いて、クライアントPC111〜113とサーバーPC121とが、指定された動的領域に関するデータとフィールドに関する情報とを通信するようにするようにすればよい。
【0078】
(第3の実施形態)
次に、本発明の第3の実施形態について説明する。前述した第1及び第2の実施形態では、帳票用テンプレートの一部又は全部の領域に対して動的領域を指定するようにした。これに対し、本実施形態では、帳票用テンプレートに定義されている複数のフィールドをグループ化するようにしている。このように前述した第1及び第2の実施形態と本実施形態とは、フィールドの位置を変更するためのソフトウェアの処理の一部が異なるだけである。従って、本実施形態の説明において、前述した第1及び第2の実施形態と同一の部分については、図1〜図12に付した符号と同一の符号を付す等して詳細な説明を省略する。
【0079】
図13は、帳票用テンプレートに定義されている複数のフィールドをグループ化した様子の一例と、グループ化した複数のフィールドの位置を変更する様子の一例とを示した図である。
図13(a)において、帳票用テンプレート1101には、第1〜第5のフィールド1102〜1106の5つのフィールドが定義されている。第1〜第5のフィールド1102〜1106は、それぞれ識別子が<1>、<2>、<3>、<4>、<5>のフィールドである。
【0080】
尚、図13(a)に示した各フィールド1102〜1106の高さは、第5のフィールド1106だけが他の第1〜第4のフィールド1102〜1105の倍であるとする。また、第1〜第5のフィールド1102〜1106の横幅は同じであるとする。
クライアントPC111〜113にインストールされているアプリケーションプログラムにより、この図13(a)に示すような帳票用テンプレート1101の画像が、CRT表示装置(CRT)202に表示された後、ユーザは所望のフィールドを選択する。図13に示す例では、ユーザによるポインティングデバイス(PD)205等の操作に基づいて、内部がグレーで表示されている第1〜第4のフィールド1102〜1105が選択されている。その後、ユーザによるポインティングデバイス(PD)205等の操作に基づいて、選択されたフィールドをグループ化する指示がなされると、クライアントPC111〜113は、選択されたフィールドをグループ化する。そして、クライアントPC111〜113は、グループ化したフィールド(グループ1107)に関する情報を記憶媒体(例えばRAM209)に記憶する。尚、フィールドの選択方法とグループ化の指示方法は特に限定されるものではない。
【0081】
その後、クライアントPC111〜113は、アプリケーションプログラムに従って、図14に示すようなダイアログ1201を表示する。ユーザは、ポインティングデバイス(PD)205等を操作して、ダイアログ1201に必要な情報を入力し、グループ化したフィールドの配置変更方式と動作条件とを設定する。図14では、図13(a)に示したようにして選択されたグループ1107に含まれるフィールドに対する配置変更方式と動作条件とを設定するためのダイアログの一例を示している。
【0082】
図14において、コントロール1202は、設定対象となるグループに対する名前を設定するためのコントロールであり、ユーザは、このコントロール1202を用いてグループ名を設定する。図14では、グループ1107に対する名前として「グループ1」が設定されている。
コントロール1204は、設定対象となるグループに含まれる各フィールドの配置変更方式を指定するコントロールである。図14では、グループ1107に含まれる第1〜第4のフィールド1102〜1105の配置変更方式として、「フィールドローテーション」が指定されている。「フィールドローテーション」とは、グループに含まれるフィールドの位置を所定の方向にローテーションさせる配置変更方式である。
尚、配置変更方式は、「フィールドローテーション」の他に、「スライド」、「上下反転」、「左右反転」等、様々な図形的な位置変更が挙げられる。すなわち、対象となる各フィールドの位置を変更する方法であれば、配置変更方式の内容は特に限定されない。また、このとき、対象となる各フィールドの位置をグループ化した領域内において変更するのが好ましい。
【0083】
コントロール1203は、設定対象となるグループに対してコントロール1204を用いて指定された配置変更方式が動作する条件を設定するためのコントロールである。図14では、「常に」という設定がなされている。従って、例えば全てのページについて、コントロール1204を用いて指定された配置変更方式が適用されることになる。
尚、配置変更方式が動作する条件は、第1及び第2の実施形態と同様に、例えば、ページ構成により定まる条件や、ユーザにより出力時に設定される任意の条件や、出力する帳票の内容により定まる条件等、種々の条件が挙げられる。
【0084】
コントロール1205は、設定対象となるグループに含まれるフィールドの示すコントロールである。このコントロール1205に示されるフィールドは、ボタン1206の操作により追加することができ、ボタン1207の操作により削除することができる。図14では、図13(a)に示したグループ1107に含まれる第1〜第4のフィールド1102〜1105がそれぞれ選択された状態を示している。
ボタン1208は、ダイアログ1201の設定内容を適用して閉じる処理を行うためのものであり、ボタン1209は、ダイアログ1201の設定内容を破棄して閉じる処理を行うためのものである。
【0085】
以上のように図14に示したダイアログ1201のような設定がなされると、図13(b)に示すように、第1〜第4のフィールド1102〜1105の位置は、ページが変更(データが出力)されるたびに、例えば時計回りに次のフィールドの位置に移る。例えば、第1のフィールド1102は、第2のフィールド1103の位置に移り、第2のフィールド1103は、第3のフィールド1104の位置に移る。更に、第3のフィールド1102は、第4のフィールド1103の位置に移り、第4のフィールド1103は、第1のフィールド1104の位置に移る。
【0086】
このようにグループを指定することにより、前述した第1及び第2の実施形態で説明した動的領域でフィールドを指定する方法に比べて、個々のフィールドを任意に指定することが可能となる。
【0087】
図15は、図14に示したダイアログ1201で設定された条件で、図13(a)に示したグループ1107に含まれる第1〜第5のフィールド1102〜1106の位置を変更した様子の一例を示した図である。
図15に示す例では、ローテーションされるフィールドの数が4つであるため、基本レイアウトを含めて4つのレイアウト(配置)が存在する。
【0088】
図15において、フィールドレイアウト1301は、該当ページ数を「4」で割った余りが「1」の場合のフィールドレイアウトである。具体的にフィールドレイアウト1301は、図13(a)に示した帳票の基本レイアウトに対して、第1〜第4のフィールド1102〜1105が時計周りに1つずつ移動したレイアウトになる。
フィールドレイアウト1302は、該当ページ数を「4」で割った余りが「2」の場合のフィールドレイアウトである。具体的にフィールドレイアウト1301は、図13(a)に示した帳票の基本レイアウトに対して、第1〜第4のフィールド1102〜1105が時計周りに2つずつ移動したレイアウトになる。
【0089】
同様にフィールドレイアウト1303は、該当ページ数を「4」で割った余りが「3」の場合のフィールドレイアウトである。具体的にフィールドレイアウト1303は、図13(a)に示した帳票の基本レイアウトに対して、第1〜第4のフィールド1102〜1105が時計周りに3つずつ移動したレイアウトになる。
そして、フィールドレイアウト1304は、該当ページ数を「4」で割った余りが「0」の場合のフィールドレイアウトであり、図13(a)に示した帳票の基本レイアウトに戻る。
【0090】
尚、帳票印刷用データを出力する際のクライアントPC111〜113の動作は、図8において、動的領域をグループに置き換えることにより実現することが可能であるので、詳細な説明を省略する。
【0091】
以上のように本実施形態では、帳票用テンプレートに定義された複数のフィールドをグループ化できるようにすると共に、そのグループ内のフィールドの配置変更方式と、配置変更方式の実行条件とをダイアログ1201を用いて設定できるようにした。これにより、帳票用テンプレートの領域に限定されずに、変更するフィールドを選択することが可能となる。従って、第1の実施形態で説明した効果に加え、より柔軟且つ容易にフィールドの配置を変更することができる。
【0092】
尚、第2の実施形態と同様に、既にグループ化された複数のフィールドを含む複数のフィールドを更にグループ化し、複数のグループと、それら複数のグループ内のフィールド802〜804とを階層構造にして管理することもできる。このように複数のグループを階層構造にして管理することで、第2の実施形態のように、フィールドの位置をよりきめ細かく変更することができる。
【0093】
(第4の実施形態)
次に、本発明の第4の実施形態について説明する。前述した第1〜第3の実施形態では、ダイアログ401、1201を用いて、配置変更方式と配置変更方式の実行条件とを、複数のフィールドに対して一括して設定するようにした。これに対し、本実施形態では、配置変更方式と配置変更方式の実行条件とを、フィールド単位で設定するようにしている。このように前述した第1及び第2の実施形態と本実施形態とは、位置の変更を行うフィールドに対するソフトウェアの処理が異なるだけである。従って、本実施形態の説明において、前述した第1〜第3の実施形態と同一の部分については、図1〜図15に付した符号と同一の符号を付す等して詳細な説明を省略する。
【0094】
図16は、帳票用テンプレートに定義されているフィールドに対する配置変更方式と動作条件とを、フィールド毎に設定するためのダイアログの一例を示した図である。
図16において、ダイアログ1401内のコントロール1402は、設定対象となるフィールドに対する名前の設定コントロールであり、ユーザは、このコントロール1402を用いてフィールド名を設定したり変更したりすることができる。図16では、図17に示す第1のフィールド1502に対する名前として「フィールド1」が設定されている。
コントロール1404は、設定対象となるフィールドの配置変更方式を指定するコントロールである。図16では、第1のフィールド1502に対する配置変更方式として、「スライド」が指定されている。
尚、配置変更方式は、「スライド」の他に、「上下反転」、「左右反転」、「ローテーション」等、様々な図形的な位置変更が挙げられる。すなわち、対象となる各フィールドの位置を変更する方法であれば、配置変更方式の内容は特に限定されない。
【0095】
コントロール1403は、設定対象となるフィールドに対してコントロール1404を用いて指定された配置変更方式が動作する条件を設定するためのコントロールである。図16では、第1の実施形態(図5のダイアログ401)と同様に「偶数ページ時」という指定がなされている。従って、偶数ページに配置されたフィールドに対して、コントロール1403を用いて指定された配置変更方式を適用することをいう。
尚、第1〜第3の実施形態と同様に、配置変更方式が動作する条件は、例えば、ページ構成により定まる条件や、ユーザにより出力時に設定される任意の条件や、出力する帳票の内容により定まる条件等、種々の条件が挙げられる。
【0096】
コントロール1405〜1408は、コントロール1404により配置変更方式がスライドに設定された場合に表示されるコントロールであり、フィールドの移動量を設定するためのものである。具体的にコントロール1405〜1408は、それぞれフィールドの上、下、左、右方向の移動量を設定するためのものである。
図16では、上方向、下方向、及び左方向の移動量は全て0に設定されており、右方向の移動量が100に設定されている。従って、偶数ページに配置された第1のフィールド1502が、右方向に100mmスライドすることになる。尚、これらコントロール1405〜1408は、配置変更方式として「スライド」が選択された場合には、第1〜第3の実施形態においても表示され得るものである。
ボタン1409は、ダイアログ1401の設定内容を適用して閉じる処理を行うためのものであり、ボタン1410は、ダイアログ1401の設定内容を破棄して閉じる処理を行うためのものである。
【0097】
図17は、図16に示したダイアログ1401で設定された条件で、フィールドの位置を変更した様子の一例を示した図である。
図17において、帳票用テンプレート1501には、第1〜第5のフィールド1502〜1506の5つのフィールドが定義されている。これら5つのフィールドのうち、第1のフィールド1502が、図16に示したダイアログ1401で設定されたフィールドである。従って、偶数ページに配置された第1のフィールド1502が、右方向に100mmスライドする。具体的には、図17の破線で示す領域1507に第1のフィールド1502はスライドする。この他の第2〜第5のフィールド1503〜1506は、それぞれ配置変更方式が適用されない(配置が変更されない)フィールドである。
【0098】
奇数ページが出力されるときには、図17の左下に示すフィールドレイアウト1508のように、第1のフィールド1502は元の基本位置のままとなる。一方、偶数ページが出力されるときには、図17の右下に示すフィールドレイアウト1509のように、第1のフィールド1502は右方向に100mmスライドした位置となる。そして、奇数ページでは、フィールドレイアウト1508に従った帳票が出力され、偶数ページでは、フィールドレイアウト1509に従った帳票が出力される。
【0099】
次に、図18のフローチャートを参照しながら、帳票印刷用データを出力する際のクライアントPC111〜113の動作の一例を説明する。図18に示す処理は、図16に示したようなダイアログ1401による設定が行われた後に実行される。
【0100】
ステップS1601〜S1605は、第1の実施形態における図7のステップS701〜S705と同様である。すなわち、ステップS1601、S1602においてクライアントPCは、出力の際に使用する帳票用テンプレートと、出力データとが指定されるまで待機する。そして、ステップS1603においてクライアントPCは、ステップS1602で指定された出力データの全データ数Nと、ステップS1601で指定された帳票用テンプレートに定義されているフィールドFとを取得する。
【0101】
そして、ステップS1604においてクライアントPCは、出力データの全てを処理対象とするためのデータループ変数Iを「1」に設定する(初期化する)。そして、ステップS1605においてクライアントPCは、出力データの全データ数Nが、データループ変数I以上であるか否かを判定する。この判定の結果、出力データの全データ数Nが、データループ変数I以上でなく、全ての出力データに対して処理を行った場合には、後述するステップS1614に進む。一方、出力データの全データ数Nが、データループ変数I以上であり、まだ未処理の出力データがある場合は、ステップS1606に進む。
【0102】
ステップS1606では、クライアントPCは、帳票用テンプレート内の全てのフィールドに関するチェックを行うためのフィールドループ変数Kを「1」に設定する(初期化する)。尚、フィールドループ変数Kの設定方法は、特に限定されるものではなく、一般的な方法でよい。
次にステップS1607では、クライアントPCは、ステップS1601で指定された帳票用テンプレートに対して定義されているフィールド数Fが、フィールドループ変数K以上であるか否かを判定する。この判定の結果、帳票用テンプレートに定義されているフィールド数Fが、フィールドループ変数K以上でなく、帳票用テンプレートに定義されている全てのフィールドに対して処理を行った場合には、後述するステップS1612に進む。一方、帳票用テンプレートに定義されているフィールド数Fが、フィールドループ変数K以上であり、まだ未処理のフィールドがある場合には、ステップS1608に進む。
【0103】
ステップS1608では、クライアントPCは、例えばダイアログ1401を用いて設定された内容に基づいて、K番目のフィールドの属性として、配置を変更する属性(動的属性)が設定されているか否かを判定する。この判定の結果、K番目のフィールドの属性として、配置を変更する属性(動的属性)が設定されていなければ、K番目のフィールドは、配置を変更するフィールドではないので、後述するステップS1611に進む。一方、K番目のフィールドの属性として、配置を変更する属性(動的属性)が設定されていれば、K番目のフィールドは、配置を変更するフィールドであるので、ステップS1609に進む。
【0104】
ステップS1609では、クライアントPCは、K番目のフィールドが、ダイアログ1401で設定された配置変更方式の実行条件を満たすか否かを判定する。この判定の結果、K番目のフィールドが、ダイアログ1401で設定された配置変更方式の実行条件を満たさない場合には、後述するステップS1611に進む。一方、K番目のフィールドが、ダイアログ1401で設定された配置変更方式の実行条件を満たす場合には、ステップS1610に進む。
【0105】
ステップS1610では、クライアントPCは、配置変更方式に設定されている内容に従って、I番目の出力データ用に、フィールドの配置を変更してステップS1611に進む。
ステップS1611では、クライアントPCは、次のフィールドを処理対象とするために、フィールドループ変数Kに「1」を加算してステップS1607に戻る。
【0106】
ステップS1607において、帳票用テンプレートに定義されているフィールド数Fが、フィールドループ変数K以上でなく、帳票用テンプレートに定義されている全てのフィールドに対して処理を行った場合には、ステップS1612に進む。ステップS1612では、クライアントPCは、ステップS1606〜S1611の処理でフィールドの位置が確定した帳票テンプレートのフィールドに対して、I番目の出力データを差し込む。
次にステップS1613では、クライアントPCは、処理対象とする出力データを次のデータとするために、データループ変数Iに「1」を加算して、ステップS1605に進む。
ステップS1605において、出力データの全データ数Nが、データループ変数I以上でなく、全ての出力データに対して処理を行った場合には、ステップS1614に進む。ステップS1614では、クライアントPCは、出力データ別に作成した帳票を最終的な全出力データとして加工して帳票印刷用データを生成し、生成した帳票印刷用データをプリンタ115に出力する。尚、出力データ別に作成した帳票を最終的な全出力データとする処理としては、例えば、出力データ別に作成した帳票を単に結合する処理等が考えられる。ただし、出力データ別に作成した帳票を最終的な全出力データとする処理は他の処理でもよく、特に限定されるものではない。
【0107】
以上のように本実施形態では、フィールドの配置変更方式と、配置変更方式の実行条件とをフィールド単位で設定できるようにした。これにより、第1の実施形態で説明した効果に加え、フィールドの配置を変更する際の制約をより一層低減させることができ、より柔軟にフィールドの配置を変更することができる。
【0108】
(本発明の他の実施形態)
前述した実施形態の機能を実現するべく各種のデバイスを動作させるように、該各種デバイスと接続された装置あるいはシステム内のコンピュータに対し、前記実施形態の機能を実現するためのソフトウェアのプログラムコードを供給してもよい。そのシステムあるいは装置のコンピュータ(CPUあるいはMPU)に格納されたプログラムに従って前記各種デバイスを動作させることによって実施したものも、本発明の範疇に含まれる。
【0109】
また、この場合、前記ソフトウェアのプログラムコード自体が前述した実施形態の機能を実現することになる。また、そのプログラムコード自体、及びそのプログラムコードをコンピュータに供給するための手段、例えば、かかるプログラムコードを格納した記録媒体は本発明を構成する。かかるプログラムコードを記憶する記録媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。
【0110】
また、コンピュータが供給されたプログラムコードを実行することにより、前述の実施形態の機能が実現されるだけでない。そのプログラムコードがコンピュータにおいて稼働しているオペレーティングシステムあるいは他のアプリケーションソフト等と共同して前述の実施形態の機能が実現される場合にもかかるプログラムコードは本発明の実施形態に含まれることは言うまでもない。
【0111】
さらに、供給されたプログラムコードがコンピュータの機能拡張ボードに備わるメモリに格納された後、そのプログラムコードの指示に基づいてその機能拡張ボードに備わるCPUが実際の処理の一部または全部を行う。その処理によって前述した実施形態の機能が実現される場合にも本発明に含まれることは言うまでもない。
また、供給されたプログラムコードがコンピュータに接続された機能拡張ユニットに備わるメモリに格納された後、そのプログラムコードの指示に基づいて機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行う。その処理によって前述した実施形態の機能が実現される場合にも本発明に含まれることは言うまでもない。
【0112】
なお、前述した各実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
【0113】
以上説明したように、本実施形態によれば、複数のフィールド領域のうち、少なくとも1つのフィールド領域の配置の変更に関する条件の設定を受け付け、受け付けられた条件に従って、フィールド領域の配置を変更するようにした。従って、印刷フォームに定義されたフィールド領域の配置を柔軟に変更することができる。そして、フィールド領域の数と内容とが同じで、配置が異なる複数の印刷フォームを1つの印刷フォームとして管理することができる。
【0114】
また、本実施形態の他の特徴によれば、複数のフィールド領域のうち、少なくとも2つのフィールド領域を含む動的領域の設定を受け付け、受け付けた動的領域に含まれるフィールド領域の配置の変更に関する条件の設定を受け付ける。そして、受け付けた条件に従って、フィールド領域の配置を変更する。従って、印刷フォームの領域を指定することにより、変更するフィールド領域を選択することが可能となる。これにより、フィールドの配置をより容易に変更することができる。
【0115】
また、本実施形態の他の特徴によれば、複数のフィールド領域のうち、少なくとも2つのフィールド領域の指定を受け付け、受け付けた少なくとも2つのフィールド領域をグループ化する。そして、グループ化したフィールド領域の配置の変更に関する条件の設定を受け付け、受け付けた条件に従って、フィールド領域の配置を変更する。従って、印刷フォームの領域に限定されずに、変更するフィールド領域を選択することが可能となる。これにより、フィールドの配置をより柔軟且つ容易に変更することができる。
【0116】
また、本実施形態の他の特徴によれば、既に受け付けられた動的領域(既にグループ化されたフィールド領域)と、その動的領域に含まれないフィールド領域(既にグループ化されたフィールド領域とは異なるフィールド領域)を含む動的領域の設定を受け付ける。そして、既に受け付けられた動的領域(既にグループ化されたグループ)の配置の変更に関する条件も受け付け、受け付けた条件に従って、フィールド領域の配置を変更する。従って、単一の動的領域(グループ)の設定では実施できない態様で、フィールド領域の配置を変更することができる。これにより、フィールド領域の配置をよりきめ細かく変更することができる。
【0117】
また、本実施形態のその他の特徴によれば、複数のフィールド領域のうち、1つのフィールド領域の指定を受け付け、更に受け付けたフィールド領域の配置の変更に関する条件の設定を受け付ける。そして、受け付けられた条件に従って、フィールド領域の配置を変更する。従って、フィールド領域単位で配置を変更することが可能になり、フィールド領域の配置を変更する際の制約をより一層低減させることができ、フィールド領域の配置をより柔軟に変更することができる。
【図面の簡単な説明】
【0118】
【図1】本発明の第1の実施形態を示し、印刷システムの構成の一例を示した図である。
【図2】本発明の第1の実施形態を示し、サーバーPC及びクライアントPCのハードウェアの概略構成の一例を示した図である。
【図3】本発明の第1の実施形態を示し、サーバーPC及びクライアントPCの機能的な構成の一例を示した図である。
【図4】本発明の第1の実施形態を示し、帳票用テンプレート内における動的領域の選択例を示した図である。
【図5】本発明の第1の実施形態を示し、動的領域に含まれるフィールド対する配置変更方式と動作条件とを設定するためのダイアログの一例を示した図である。
【図6】本発明の第1の実施形態を示し、帳票印刷用データの出力例を示した図である。
【図7】本発明の第1の実施形態を示し、動的領域を指定する際のクライアントPCの動作の一例を説明するフローチャートである。
【図8】本発明の第1の実施形態を示し、帳票印刷用データを出力する際のクライアントPCの動作の一例を説明するフローチャートである。
【図9】本発明の第2の実施形態を示し、動的領域を単独で指定した場合に変更可能なフィールドの位置の一例を示した図である。
【図10】本発明の第2の実施形態を示し、帳票用テンプレート内における動的領域の選択例を示した図である。
【図11】本発明の第2の実施形態を示し、動的領域のデータを管理する方法を概念的に示す図である。
【図12】本発明の第2の実施形態を示し、動的領域を指定する際のクライアントPCの動作の一例を説明するフローチャートである。
【図13】本発明の第3の実施形態を示し、帳票用テンプレートに定義されている複数のフィールドをグループ化した様子の一例と、グループ化した複数のフィールドの位置を変更する様子の一例とを示した図である。
【図14】本発明の第3の実施形態を示し、グループに含まれるフィールドに対する配置変更方式と動作条件とを設定するためのダイアログの一例を示した図である。
【図15】本発明の第3の実施形態を示し、グループに含まれる第1〜第5のフィールドの位置を変更した様子の一例を示した図である。
【図16】本発明の第4の実施形態を示し、帳票用テンプレートに定義されているフィールドに対する配置変更方式と動作条件とを、フィールド毎に設定するためのダイアログの一例を示した図である。
【図17】本発明の第4の実施形態を示し、フィールドの位置を変更した様子の一例を示した図である。
【図18】本発明の第4の実施形態を示し、帳票印刷用データを出力する際のクライアントPCの動作の一例を説明するフローチャートである。
【符号の説明】
【0119】
101 LAN
111〜113 クライアントPC
115 プリンタ
121 サーバーPC
301、801、1101、1501 帳票用テンプレート
302、303、802〜805、1102〜1106、1502〜1505 フィールド
306、901、902 動的領域
401、1201、1401 ダイアログ

【特許請求の範囲】
【請求項1】
データが差し込まれる複数のフィールド領域が定義されている印刷フォームに基づいて印刷データを生成し、印刷装置に出力する印刷データ生成装置であって、
前記複数のフィールド領域のうち、少なくとも1つのフィールド領域の配置の変更に関する条件の設定を受け付ける配置変更条件受付手段と、
前記配置変更条件受付手段により受け付けられた条件に従って、前記印刷フォームに定義されているフィールド領域の配置を変更する配置変更手段と、
前記配置変更手段によりフィールド領域の配置が変更された印刷フォームに基づいて印刷データを生成する印刷データ生成手段とを有することを特徴とする印刷データ生成装置。
【請求項2】
前記複数のフィールド領域のうち、少なくとも2つのフィールド領域を含む動的領域の設定を受け付ける動的領域受付手段を有し、
前記配置変更条件受付手段は、前記動的領域受付手段により受け付けられた動的領域に含まれるフィールド領域の配置の変更に関する条件の設定を受け付けることを特徴とする請求項1に記載の印刷データ生成装置。
【請求項3】
前記動的領域受付手段により既に受け付けられた少なくとも1つの動的領域と、その動的領域に含まれない少なくとも1つのフィールド領域とを含む動的領域の設定を受け付ける第2の動的領域受付手段と、
前記第2の動的領域受付手段により受け付けられた動的領域のデータと、前記動的領域受付手段により既に受け付けられた動的領域のデータとを階層構造にして管理する動的領域管理手段とを有し、
前記配置変更条件受付手段は、前記動的領域受付手段により既に受け付けられた動的領域の配置の変更に関する条件も受け付けることを特徴とする請求項2に記載の印刷データ生成装置。
【請求項4】
前記複数のフィールド領域のうち、少なくとも2つのフィールド領域の指定を受け付けるフィールド領域受付手段と、
前記フィールド領域受付手段により受け付けられた少なくとも2つのフィールド領域をグループ化するグループ化手段とを有し、
前記配置変更条件受付手段は、前記グループ化手段によりグループ化されたフィールド領域の配置の変更に関する条件の設定を受け付けることを特徴とする請求項1に記載の印刷データ生成装置。
【請求項5】
前記グループ化手段により既にグループ化された少なくとも2つのフィールド領域と、それら少なくとも2つのフィールド領域とは異なる少なくとも1つのフィールド領域との指定を受け付ける第2のフィールド領域受付手段と、
前記第2のフィールド領域受付手段により受け付けられたフィールド領域をグループ化する第2のグループ化手段と、
前記第2のグループ化手段によりグループ化されたフィールド領域のデータと、前記グループ化手段によりグループ化されたフィールド領域のデータとを階層構造にして管理するグループ管理手段とを有し、
前記配置変更条件受付手段は、前記グループ化手段により既にグループ化されたグループの配置の変更に関する条件も受け付けることを特徴とする請求項4に記載の印刷データ生成装置。
【請求項6】
前記複数のフィールド領域のうち、1つのフィールド領域の指定を受け付けるフィールド領域受付手段を有し、
前記配置変更条件受付手段は、前記フィールド領域受付手段により受け付けられたフィールド領域の配置の変更に関する条件の設定を受け付けることを特徴とする請求項1に記載の印刷データ生成装置。
【請求項7】
前記印刷データ生成手段は、前記配置変更手段によりフィールド領域の配置が変更された印刷フォームに定義されているフィールド領域にデータを差し込み、そのフィールド領域にデータが差し込まれた印刷フォームに基づいて印刷データを生成することを特徴とする請求項1〜6の何れか1項に記載の印刷データ生成装置。
【請求項8】
前記印刷フォームに定義されているフィールド領域が、前記配置変更条件受付手段により受け付けられた条件を満たすか否かを判定する条件判定手段とを有し、
前記配置変更手段は、前記条件判定手段により、前記配置変更条件受付手段により受け付けられた条件を満たすと判定されたフィールド領域の配置を変更することを特徴とする請求項1〜7の何れか1項に記載の印刷データ生成装置。
【請求項9】
前記配置変更条件受付手段は、前記フィールド領域の配置の変更条件と、その変更内容の実行条件とを受け付けることを特徴とする請求項1〜8の何れか1項に記載の印刷データ生成装置。
【請求項10】
データが差し込まれる複数のフィールド領域が定義されている印刷フォームに基づいて印刷データを生成し、印刷装置に出力する印刷データ生成方法であって、
前記複数のフィールド領域のうち、少なくとも1つのフィールド領域の配置の変更に関する条件の設定を受け付ける配置変更条件受付ステップと、
前記配置変更条件受付ステップにより受け付けられた条件に従って、前記印刷フォームに定義されているフィールド領域の配置を変更する配置変更ステップと、
前記配置変更ステップによりフィールド領域の配置が変更された印刷フォームに基づいて印刷データを生成する印刷データ生成ステップとを有することを特徴とする印刷データ生成方法。
【請求項11】
前記複数のフィールド領域のうち、少なくとも2つのフィールド領域を含む動的領域の設定を受け付ける動的領域受付ステップを有し、
前記配置変更条件受付ステップは、前記動的領域受付ステップにより受け付けられた動的領域に含まれるフィールド領域の配置の変更に関する条件の設定を受け付けることを特徴とする請求項10に記載の印刷データ生成方法。
【請求項12】
前記動的領域受付ステップにより既に受け付けられた少なくとも1つの動的領域と、その動的領域に含まれない少なくとも1つのフィールド領域とを含む動的領域の設定を受け付ける第2の動的領域受付ステップと、
前記第2の動的領域受付ステップにより受け付けられた動的領域のデータと、前記動的領域受付ステップにより既に受け付けられた動的領域のデータとを階層構造にして管理する動的領域管理ステップとを有し、
前記配置変更条件受付ステップは、前記動的領域受付ステップにより既に受け付けられた動的領域の配置の変更に関する条件も受け付けることを特徴とすることを特徴とする請求項11に記載の印刷データ生成方法。
【請求項13】
前記複数のフィールド領域のうち、少なくとも2つのフィールド領域の指定を受け付けるフィールド領域受付ステップと、
前記フィールド領域受付ステップにより受け付けられた少なくとも2つのフィールド領域をグループ化するグループ化ステップとを有し、
前記配置変更条件受付ステップは、前記グループ化ステップによりグループ化されたフィールド領域の配置の変更に関する条件の設定を受け付けることを特徴とする請求項10に記載の印刷データ生成方法。
【請求項14】
前記グループ化ステップにより既にグループ化された少なくとも2つのフィールド領域と、それら少なくとも2つのフィールド領域とは異なる少なくとも1つのフィールド領域との指定を受け付ける第2のフィールド領域受付ステップと、
前記第2のフィールド領域受付ステップにより受け付けられたフィールド領域をグループ化する第2のグループ化ステップと、
前記第2のグループ化ステップによりグループ化されたフィールド領域のデータと、前記グループ化ステップによりグループ化されたフィールド領域のデータとを階層構造にして管理するグループ管理ステップとを有し、
前記配置変更条件受付ステップは、前記グループ化ステップにより既にグループ化されたグループの配置の変更に関する条件も受け付けることを特徴とする請求項13に記載の印刷データ生成方法。
【請求項15】
前記複数のフィールド領域のうち、1つのフィールド領域の指定を受け付けるフィールド領域受付ステップを有し、
前記配置変更条件受付ステップは、前記フィールド領域受付ステップにより受け付けられたフィールド領域の配置の変更に関する条件の設定を受け付けることを特徴とする請求項10に記載の印刷データ生成方法。
【請求項16】
前記印刷データ生成ステップは、前記配置変更ステップによりフィールド領域の配置が変更された印刷フォームに定義されているフィールド領域にデータを差し込み、そのフィールド領域にデータが差し込まれた印刷フォームに基づいて印刷データを生成することを特徴とする請求項10〜15の何れか1項に記載の印刷データ生成方法。
【請求項17】
前記印刷フォームに定義されているフィールド領域が、前記配置変更条件受付ステップにより受け付けられた条件を満たすか否かを判定する条件判定ステップとを有し、
前記配置変更ステップは、前記条件判定ステップにより、前記配置変更条件受付ステップにより受け付けられた条件を満たすと判定されたフィールド領域の配置を変更することを特徴とする請求項10〜16の何れか1項に記載の印刷データ生成方法。
【請求項18】
前記配置変更条件受付ステップは、前記フィールド領域の配置の変更条件と、その変更内容の実行条件とを受け付けることを特徴とする請求項10〜17の何れか1項に記載の印刷データ生成方法。
【請求項19】
データが差し込まれる複数のフィールド領域が定義されている印刷フォームに基づいて印刷データを生成し、印刷装置に出力することをコンピュータに実行させるためのコンピュータプログラムであって、
前記複数のフィールド領域のうち、少なくとも1つのフィールド領域の配置の変更に関する条件の設定を受け付ける配置変更条件受付ステップと、
前記配置変更条件受付ステップにより受け付けられた条件に従って、前記印刷フォームに定義されているフィールド領域の配置を変更する配置変更ステップと、
前記配置変更ステップによりフィールド領域の配置が変更された印刷フォームに基づいて印刷データを生成する印刷データ生成ステップとをコンピュータに実行させることを特徴とするコンピュータプログラム。

【図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


【公開番号】特開2008−3957(P2008−3957A)
【公開日】平成20年1月10日(2008.1.10)
【国際特許分類】
【出願番号】特願2006−174459(P2006−174459)
【出願日】平成18年6月23日(2006.6.23)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】