(57)【特許請求の範囲】
【請求項１】
コンピュータによりバリアブル印刷を行わせるためのコンピュータプログラムであって、コンピュータに、
マスタデータに定義された可変フィールドの型が一定の型である場合には当該可変フィールドに対応する項目の値を判定させ、その値に応じて当該バリアブル印刷についての出力手順を制御させ、
前記マスタデータはページの集合として構成され、前記可変フィールドの一定の型として削除フラグフィールドが含まれ、
該削除フラグフィールドの型の可変フィールドを含むマスタデータのページについては、対応する項目の値が削除を示す値である場合、当該ページを出力しないよう、コンピュータに出力手順を制御させることを特徴とするコンピュータプログラム。
【請求項２】
コンピュータによりバリアブル印刷を行わせるためのコンピュータプログラムであって、コンピュータに、
マスタデータに定義された可変フィールドの型が一定の型である場合には当該可変フィールドに対応する項目の値を判定させ、その値に応じて当該バリアブル印刷についての出力手順を制御させ、
前記マスタデータはページの集合として構成され、前記可変フィールドの一定の型として給紙段フィールドが含まれ、
該給紙段フィールドの型の可変フィールドを含むマスタデータのページについては、対応する項目の値により示される、印刷手段の給紙段より用紙を供給するよう、コンピュータに出力手順を制御させることを特徴とするコンピュータプログラム。
【請求項３】
コンピュータに、前記可変フィールドの型が前記一定の型以外の型である場合には、その可変フィールドには、対応する項目を挿入させることを特徴とする請求項１または請求項２に記載のコンピュータプログラム。
【請求項４】
バリアブル印刷を行うための印刷制御装置であって、
マスタデータに定義された可変フィールドの型が一定の型である場合には当該可変フィールドに対応する項目の値を判定し、その値に応じて当該バリアブル印刷についての出力手順を制御し、
前記マスタデータはページの集合として構成され、前記可変フィールドの一定の型として削除フラグフィールドが含まれ、
該削除フラグフィールドの型の可変フィールドを含むマスタデータのページについては、対応する項目の値が削除を示す値である場合、当該ページを出力しないよう出力手順を制御することを特徴とする印刷制御装置。
【請求項５】
バリアブル印刷を行うための印刷制御装置であって、
マスタデータに定義された可変フィールドの型が一定の型である場合には当該可変フィールドに対応する項目の値を判定し、その値に応じて当該バリアブル印刷についての出力手順を制御し、
前記マスタデータはページの集合として構成され、前記可変フィールドの一定の型として給紙段フィールドが含まれ、
該給紙段フィールドの型の可変フィールドを含むマスタデータのページについては、対応する項目の値により示される、印刷手段の給紙段より用紙を供給するよう出力手順を制御することを特徴とする印刷制御装置。
【請求項６】
バリアブル印刷を行うための、判定手段と制御手段とを備えた印刷制御装置における印刷制御方法であって、
判定手段がマスタデータに定義された可変フィールドの型が一定の型である場合には当該可変フィールドに対応する項目の値を判定し、制御手段がその値に応じて当該バリアブル印刷についての出力手順を制御し、
前記マスタデータはページの集合として構成され、前記可変フィールドの一定の型として削除フラグフィールドが含まれ、
該削除フラグフィールドの型の可変フィールドを含むマスタデータのページについては、対応する項目の値が削除を示す値である場合、当該ページを出力しないよう出力手順を制御することを特徴とする印刷制御方法。
【請求項７】
バリアブル印刷を行うための、判定手段と制御手段とを備えた印刷制御装置における印刷制御方法であって、
判定手段がマスタデータに定義された可変フィールドの型が一定の型である場合には当該可変フィールドに対応する項目の値を判定し、制御手段がその値に応じて当該バリアブル印刷についての出力手順を制御し、
前記マスタデータはページの集合として構成され、前記可変フィールドの一定の型として給紙段フィールドが含まれ、
該給紙段フィールドの型の可変フィールドを含むマスタデータのページについては、対応する項目の値により示される、印刷手段の給紙段より用紙を供給するよう出力手順を制御することを特徴とする印刷制御方法。
【請求項８】
コンピュータによりバリアブル印刷を行わせるためのコンピュータプログラムであって、コンピュータに、
マスタデータに定義された可変フィールドの型が一定の型である場合には当該可変フィールドに対応する項目の値を判定させ、その値に応じて当該バリアブル印刷についての出力手順を制御させ、
前記マスタデータはページの集合として構成され、前記可変フィールドの一定の型として排紙トレイフィールドが含まれ、
該排紙トレイフィールドの型の可変フィールドを含むマスタデータのページについては、対応する項目の値により示される、印刷手段の排紙トレイへ排紙するよう、コンピュータに出力手順を制御させることを特徴とするコンピュータプログラム。
【請求項９】
コンピュータによりバリアブル印刷を行わせるためのコンピュータプログラムであって、コンピュータに、
マスタデータに定義された可変フィールドの型が一定の型である場合には当該可変フィールドに対応する項目の値を判定させ、その値に応じて当該バリアブル印刷についての出力手順を制御させ、
前記マスタデータはページの集合として構成され、前記可変フィールドの一定の型としてＮｉｎ１フラグフィールドが含まれ、
該Ｎｉｎ１フラグフィールドの型の可変フィールドを含むマスタデータの第１のページについては、対応する項目の値がＮｉｎ１開始を示す値である場合、当該第１のページの後続の前記Ｎｉｎ１フラグフィールドの型の可変フィールドを含むマスタデータの第２のページにおいて対応する項目の値がＮｉｎ１終了を示す値であった際に、第１のページから第２のページまでを１枚の用紙にまとめて印刷するよう、コンピュータに出力手順を制御させることを特徴とするコンピュータプログラム。
【請求項１０】
バリアブル印刷を行うための印刷制御装置であって、
マスタデータに定義された可変フィールドの型が一定の型である場合には当該可変フィールドに対応する項目の値を判定させ、その値に応じて当該バリアブル印刷についての出力手順を制御させ、
前記マスタデータはページの集合として構成され、前記可変フィールドの一定の型として排紙トレイフィールドが含まれ、
該排紙トレイフィールドの型の可変フィールドを含むマスタデータのページについては、対応する項目の値により示される、印刷手段の排紙トレイへ排紙するよう、コンピュータに出力手順を制御させることを特徴とする印刷制御装置。
【請求項１１】
バリアブル印刷を行うための印刷制御装置であって、
マスタデータに定義された可変フィールドの型が一定の型である場合には当該可変フィールドに対応する項目の値を判定させ、その値に応じて当該バリアブル印刷についての出力手順を制御させ、
前記マスタデータはページの集合として構成され、前記可変フィールドの一定の型としてＮｉｎ１フラグフィールドが含まれ、
該Ｎｉｎ１フラグフィールドの型の可変フィールドを含むマスタデータの第１のページについては、対応する項目の値がＮｉｎ１開始を示す値である場合、当該第１のページの後続の前記Ｎｉｎ１フラグフィールドの型の可変フィールドを含むマスタデータの第２のページにおいて対応する項目の値がＮｉｎ１終了を示す値であった際に、第１のページから第２のページまでを１枚の用紙にまとめて印刷するよう、コンピュータに出力手順を制御させることを特徴とする印刷制御装置。
【請求項１２】
バリアブル印刷を行うための、判定手段と制御手段とを備えた印刷制御装置における印刷制御方法であって、
判定手段がマスタデータに定義された可変フィールドの型が一定の型である場合には当該可変フィールドに対応する項目の値を判定し、制御手段がその値に応じて当該バリアブル印刷についての出力手順を制御し、
前記マスタデータはページの集合として構成され、前記可変フィールドの一定の型として排紙トレイフィールドが含まれ、
該排紙トレイフィールドの型の可変フィールドを含むマスタデータのページについては、対応する項目の値により示される、印刷手段の排紙トレイへ排紙するよう、コンピュータに出力手順を制御させることを特徴とする印刷制御方法。
【請求項１３】
バリアブル印刷を行うための、判定手段と制御手段とを備えた印刷制御装置における印刷制御方法であって、
判定手段がマスタデータに定義された可変フィールドの型が一定の型である場合には当該可変フィールドに対応する項目の値を判定し、制御手段がその値に応じて当該バリアブル印刷についての出力手順を制御し、
前記マスタデータはページの集合として構成され、前記可変フィールドの一定の型としてＮｉｎ１フラグフィールドが含まれ、
該Ｎｉｎ１フラグフィールドの型の可変フィールドを含むマスタデータの第１のページについては、対応する項目の値がＮｉｎ１開始を示す値である場合、当該第１のページの後続の前記Ｎｉｎ１フラグフィールドの型の可変フィールドを含むマスタデータの第２のページにおいて対応する項目の値がＮｉｎ１終了を示す値であった際に、第１のページから第２のページまでを１枚の用紙にまとめて印刷するよう、コンピュータに出力手順を制御させることを特徴とする印刷制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えば文書データ等を出力するための印刷制御装置及びそれをコンピュータにより実現するためのコンピュータプログラム及び印刷制御方法に関し、特に、定義された可変フィールドに別途定義された値を挿入して出力可能なバリアブル印刷機能を実現する印刷制御装置及びそれをコンピュータにより実現するためのコンピュータプログラム及び印刷制御方法に関するものである。
【０００２】
【従来の技術】
ドキュメントを印刷する方法として、バリアブル印刷という手法が知られている。このバリアブル印刷はいわゆる差込印刷のことであり、１つのマスタードキュメントに対して挿し込むべきテキスト或いはイメージデータ等を別途定義しておき、印刷時にそれらのデータをマスタードキュメントに挿入して印刷を行うものである。一つのマスタードキュメントに対して、挿し込むべきデータを順次変更することで異なった印刷結果を得ることが可能である。代表的な具体例としては、ダイレクトメールの宛名書き印刷があげられる。これはマスタードキュメントに氏名や住所を挿し込む領域（フィールド）を定義し、挿し込むべきデータとして、住所録のファイルを指定すると、住所録から順次レコードを読み込み、各レコードに定義された氏名及び住所を、マスタードキュメントの指定されたフィールドにテキストデータを挿し込んで印刷を行うものである。印刷結果として、1つのマスタドキュメントで、人数分の印刷ドキュメントが得られる。
【０００３】
【発明が解決しようとする課題】
しかしながら、バリアブル印刷において、各レコード情報に基づいて差込データを変更することはあっても、単にデータを可変に定義できるというにとどまり、出力の制御、例えば、印刷を抑制するページの指定や、特定のページ或いは全てのページの給紙段の切り替え等の制御を、各レコード毎に行うことは方法は実現されていなかった。このため、レコードによっては不要なページを全レコードについて一律に印刷させて、印刷後に不要なページを抜き取ったり、あるいは、特定のレコードの特定のページについて、用紙を切り替えて後刻印刷し直すといった必要が発生し、生産性の低下や資源の浪費をもたらすことになっていた。
【０００４】
本発明は上記従来例に鑑みて成されたもので、バリアブル印刷において、単に可変フィールドの値を対応する項目により置換するのみならず、出力の制御も可変フィールドに対応する項目により指定させることで、出力の制御も可能とした印刷制御装置及びそれを実現するためのコンピュータプログラム及び印刷制御方法を提供することを目的とする。
【０００５】
さらに、出力の制御として、ページの不出力や印刷段の指定を行うことで、可変フィールドの指定によりそれらの制御を事前に定義できる印刷制御装置及びそれを実現するためのコンピュータプログラム及び印刷制御方法を提供することを目的とする。
【０００６】
【課題を解決するための手段】
本発明は、上記従来例に着目してなされたもので、次の異様な構成を有する。
【０００７】
コンピュータによりバリアブル印刷を行わせるためのコンピュータプログラムであって、コンピュータに、
マスタデータに定義された可変フィールドの型が一定の型である場合には当該可変フィールドに対応する項目の値を判定させ、その値に応じて当該バリアブル印刷についての出力手順を制御させ、
前記マスタデータはページの集合として構成され、前記可変フィールドの一定の型として削除フラグフィールドが含まれ、
該削除フラグフィールドの型の可変フィールドを含むマスタデータのページについては、対応する項目の値が削除を示す値である場合、当該ページを出力しないよう、コンピュータに出力手順を制御させる。
【００１２】
この構成により、可変フィールドとして削除フラグを定義しておけば、それが定義されたページの不出力を、レコード毎に対応する項目値によって指定できる。
【００１３】
あるいは、コンピュータによりバリアブル印刷を行わせるためのコンピュータプログラムであって、コンピュータに、
マスタデータに定義された可変フィールドの型が一定の型である場合には当該可変フィールドに対応する項目の値を判定させ、その値に応じて当該バリアブル印刷についての出力手順を制御させ、
前記マスタデータはページの集合として構成され、前記可変フィールドの一定の型として給紙段フィールドが含まれ、該給紙段フィールドの型の可変フィールドを含むマスタデータのページについては、対応する項目の値により示される、印刷手段の給紙段より用紙を供給するよう、コンピュータにより出力手順を制御させる。
【００１４】
この構成により、可変フィールドとして給紙段を定義しておけば、それが定義されたページの出力段を、レコード毎に対応する項目値によってページ単位で指定できる。
【００１５】
あるいは、コンピュータによりバリアブル印刷を行わせるためのコンピュータプログラムであって、コンピュータに、
マスタデータに定義された可変フィールドの型が一定の型である場合には当該可変フィールドに対応する項目の値を判定させ、その値に応じて当該バリアブル印刷についての出力手順を制御させ、
前記マスタデータはページの集合として構成され、前記可変フィールドの一定の型として排紙トレイフィールドが含まれ、
該排紙トレイフィールドの型の可変フィールドを含むマスタデータのページについては、対応する項目の値により示される、印刷手段の排紙トレイへ排紙するよう、コンピュータに出力手順を制御させる。
【００１６】
あるいは、コンピュータによりバリアブル印刷を行わせるためのコンピュータプログラムであって、コンピュータに、
マスタデータに定義された可変フィールドの型が一定の型である場合には当該可変フィールドに対応する項目の値を判定させ、その値に応じて当該バリアブル印刷についての出力手順を制御させ、
前記マスタデータはページの集合として構成され、前記可変フィールドの一定の型としてＮｉｎ１フラグフィールドが含まれ、
該Ｎｉｎ１フラグフィールドの型の可変フィールドを含むマスタデータの第１のページについては、対応する項目の値がＮｉｎ１開始を示す値である場合、当該第１のページの後続の前記Ｎｉｎ１フラグフィールドの型の可変フィールドを含むマスタデータの第２のページにおいて対応する項目の値がＮｉｎ１終了を示す値であった際に、第１のページから第２のページまでを１枚の用紙にまとめて印刷するよう、コンピュータに出力手順を制御させる。
【００２０】
【発明の実施の形態】
[第一実施形態]
以下、本発明を適用するのに好適である実施例について説明を行う。
【００２１】
＜印刷処理システムの構成＞
図１は本発明の実施形態である画像入出力装置を有する印刷処理システムの構成を示すブロック図である。同図において、リーダ部１は原稿の画像を読み取り、原稿画像に応じた画像データを画像入出力制御部３へ出力する。プリンタ部２は画像入出力制御部３からの画像データに応じた画像を記録紙上に記録する。画像入出力制御部３はリーダ部１およびプリンタ部２に接続されており、ファクシミリ部４、ストレージ部５、コンピュータインターフェイス部７、ＲＩＰ(Raster Image Processor)部８、操作部９、コア部１０などからなる。
【００２２】
ファクシミリ部４は電話回線を介して受信した圧縮画像データを伸長して、伸長された画像データをコア部１０へ転送し、又、コア部１０から転送された画像データを圧縮して、圧縮された圧縮画像データを電話回線を介して送信する。送受信する画像データは、ストレージ部５に接続されたハードディスク６中に一時的に保存することができる。
【００２３】
ストレージ部５にはハードディスク６が接続されており、ストレージ部５はコア部１０から転送された画像データを圧縮し、その画像データを検索するための画像データＩＤ番号とともにハードディスク６に記憶させる。又、ストレージ部５はコア部１０を介して転送されたコードデータに基づいてハードディスク６に記憶されている圧縮画像データを検索し、検索された圧縮画像データを読み出して伸長し、伸長された画像データをコア部１０へ転送する。
【００２４】
コンピュータインターフェイス部７は、パーソナルコンピュータ又はワークステーション（ＰＣ／ＷＳ）１１とコア部１０の間のインターフェイスであり、ＰＣ／ＷＳ１１と一対一のローカルインターフェースで接続しても、ネットワークで接続しても良い。また、コア部で管理している印刷ジョブ情報をＰＣ／ＷＳ１１に送信するなど、ＰＣ／ＷＳ１１と双方向通信することも可能である。
【００２５】
また、リーダー部１、プリンタ部２で装着されている給紙段や排紙装置（フィニッシャ）等の種類、また、それぞれの給紙段に設定されている用紙情報、トナーの残量等の機器情報は、リーダー部１、プリンタ部２からコア部に送られ、このコンピュータインターフェース部７を通し、PC/WSに送信することが可能である。この場合、PC/WS１１より、機器情報を取得すべく問い合わせがネットワーク等を介してコンピュータインターフェイス部に届くと、コンピュータインタフェイス部では、コア部に情報を問い合わせ、その情報をコア部より引き出し、再びネットワーク等を介してＰＣ／ＷＳ１１に送信することになる。ここではＰＣ／ＷＳ１１から機器に情報を問い合わせ、その情報を取得することをダイナミックコンフィグと呼ぶ。
【００２６】
ＲＩＰ部８はＰＣ／ＷＳ１１から転送された画像を表すコードデータ(PDL)をプリンタ部２で記録できる画像データに展開するものである。
【００２７】
操作部９はタッチパネルディスプレイとハードキーを備え、ユーザーインターフェースにより、本画像入出力装置への動作指示や動作設定等を行うものである。
【００２８】
コア部１０については後述するが、コア部１０はリーダ部１、プリンタ部２、ファクシミリ部４、ストレージ部５、コンピュータインターフェイス部７、RIP部８、操作部９のそれぞれの間のデータの流れを制御するものである。
【００２９】
図２はリーダ部１及びプリンタ部２の断面図である。リーダ部１の原稿給送装置１０１は原稿を先頭順に１枚ずつプラテンガラス１０２上へ給送し、原稿の読み取り動作終了後、プラテンガラス１０２上の原稿を排出するものである。原稿がプラテンガラス１０２上に搬送されると、ランプ１０３を点灯し、そしてスキャナユニット１０４の移動を開始させて、原稿を露光走査する。この時の原稿からの反射光は、ミラー１０５、１０６、１０７、及びレンズ１０８によってＣＣＤイメージセンサ（以下ＣＣＤという）１０９へ導かれる。このように、走査された原稿の画像はＣＣＤ１０９によって読み取られる。ＣＣＤ１０９から出力される画像データは、所定の処理が施された後、画像入出力制御部３のコア部１０へ転送される。
【００３０】
プリンタ部２のレーザドライバ２２１はレーザ発光部２０１を駆動するものであり、画像入出力制御部３のコア部１０から出力された画像データに応じたレーザ光をレーザ発光部２０１に発光させる。このレーザ光は感光ドラム２０２に照射され、感光ドラム２０２にはレーザ光に応じた潜像が形成される。この感光ドラム２０２の潜像の部分には現像器２０３によって現像剤が付着される。そして、レーザ光の照射開始と同期したタイミングで、カセット２０４及びカセット２０５のいずれかから記録紙を給紙して転写部２０６へ搬送し、感光ドラム２０２に付着された現像剤を記録紙に転写する。現像剤の乗った記録紙は定着部２０７に搬送され、定着部２０７の熱と圧力により現像剤は記像紙に定着される。定着部２０７を通過した記録紙は排出ローラ２０８によって排出され、また、両面記録が設定されている場合は、排出ローラ２０８のところまで記録紙を搬送した後、排出ローラ２０８の回転方向を逆転させ、フラッパ２０９によって再給紙搬送路２１０へ導く。再給紙搬送路２１０へ導かれた記録紙は上述したタイミングで転写部２０６へ給紙される。
【００３１】
図３はコア部１０のブロック図である。リーダ部１からの画像データはインターフェース１２２を介して、データ処理部１２１へ転送される。データ処理部１２１は画像の回転処理や変倍処理などの画像処理や画像データの圧縮、伸長を行うものであり、内部にＡ４／レターサイズ相当の画像データ複数ページ分のページメモリを有する。リーダ部１からデータ処理部１２１へ転送された画像データは、ページメモリに一時的に記憶された後、圧縮されてインターフェイス１２０を介してストレージ部５へ転送される。
【００３２】
また、コンピュータインターフェイス部７を介して入力された画像を表すコードデータ（ＰＤＬデータ）は、インターフェース１２０を介してデータ処理部１２１に転送された後ＲＩＰ部８へ転送されて画像データに展開され、この画像データはデータ処理部１２１に転送された後、ページメモリに一時的に記憶された後、圧縮されてストレージ部５へ転送され、データ処理部１２１で定められた画像データＩＤ番号で管理される。
【００３３】
ストレージ部５からの画像データは、データ処理部１２１へ転送された後、伸長されてページメモリに一時的に記憶された後、プリンタ部２やファクシミリ部４、コンピュータインターフェイス部７へ転送される。
【００３４】
また、画像データがストレージ部５で保持されたならば、直ちに画像データ管理部１２５へ通知され、データ処理部１２１で定められた画像データID番号と関連づけて管理する。また、同時にハードディスクに保存された印刷ジョブも印刷ジョブＩＤ番号と関連付けて管理している。
【００３５】
尚、前述したデータ処理部１２１へ各種画像データを入力し、ページメモリに一時的に記憶した後、ストレージ部５へ画像データを転送する前に、プリンタ部２やファクシミリ部４、コンピュータインターフェイス部７へ転送することも内部のセレクタを切り替えることによって可能である。
【００３６】
ＣＰＵ１２３により、メモリ１２４に記憶されている制御プログラム、及び操作部９から転送された制御コマンドに従ってこのような制御を行う。また、メモリ１２４はＣＰＵ１２３の作業領域としても使われる。
【００３７】
このように、コア部１０を中心に、データ処理部１２１、ストレージ部５を介して、原稿画像の読み取り、画像のプリント、画像の送受信、画像の保存、コンピュータからのデータの入出力などの機能を複合させた処理を行うことが可能である。
【００３８】
次に、本実施の形態のＰＣ／ＷＳ１１における印刷データの合成機能等の動作を遂行するまでのステップについてさらに説明する。
【００３９】
＜コンピュータのソフトウエア構成＞
ＰＣ／ＷＳ１１は、基本Ｉ／Ｏプログラム、オペレーティングシステム（ＯＳ）、及び本実施形態に示す印刷処理プログラムをＣＰＵか実行することにより動作する。基本Ｉ／ＯプログラムはＰＣ／ＷＳ１１内のＲＯＭに書き込まれており、オペレーティングシステム（ＯＳ）は、ＰＣ／ＷＳ１１内のハードディスク（ＨＤ）或いはフレキシブルディスク（ＦＤ）等の外部記憶メモリに書き込まれている。
【００４０】
まず、ＰＣ／ＷＳ１１の電源がＯＮされると、基本Ｉ／Ｏプログラム中のイニシャルプログラムローディング（ＩＰＬ）機能により、ＰＣ／ＷＳ１１内のハードディスク（ＨＤ）或いはフレキシブルディスク（ＦＤ）等の外部記憶メモリに記憶されたオペレーティングシステム（ＯＳ）がＰＣ／ＷＳ１１内のＲＡＭに読み込まれ、ＯＳが動作される。
【００４１】
次に、オペーレーターが、ＰＣ／ＷＳ１１内のキーボード及びポインティングデバイスにより、ＰＣ／ＷＳ１１内の表示部の画面に表示されたコマンドメニューのコマンドイメージ等を選択し、アプリケーションの実行を指示すると、ハードディスク（ＨＤ）或いはフレキシブルディスク（ＦＤ）等の外部記憶メモリに記憶されたアプリケーションがＲＡＭに読み込まれ、前記アプリケーションが動作する。
【００４２】
次に、前記アプリケーション起動時と同様な手順で、オペレータにより印刷が指示されると、ハードディスク（ＨＤ）或いはフレキシブルディスク（ＦＤ）等の外部記憶メモリに記憶された印刷データの合成機能等を有する本印刷処理プログラムおよびプリンタ制御コマンド生成プログラム（プリンタドライバ）がＲＡＭに読み込まれ、前記本印刷処理システムが動作する。
【００４３】
本実施形態の場合は、本印刷処理プログラム及び関連データはフレキシブルディスク（ＦＤ）等の記録媒体に記録されて提供されており、その記録されている内容の構成を図５に示す。
【００４４】
ＰＣ／ＷＳ１１内のハードディスクあるいはフレキシブルディスク（ＦＤ）に記憶された印刷処理プログラム及び関連データは、ＰＣ／ＷＳ１１内のディスクコントローラ部を通じてＰＣ／ＷＳ１１にロードすることができる。ハードディスクあるいはフレキシブルディスクから、ディスクコントローラ部によって、ＯＳ及び基本Ｉ／Ｏプログラムの制御のもとに本印刷処理プログラム及び関連データが読み出され、ＰＣ／ＷＳ１１内のＲＡＭにロードされて動作可能となる。
【００４５】
図４は、本印刷処理プログラムがＰＣ／ＷＳ１１内のＲＡＭにロードされ実行可能となった状態のメモリマップを示す。
【００４６】
図６は、プリンタ等の印刷装置が直接接続されているか、あるいはネットワーク経由で接続されているホストコンピュータであるＰＣ／ＷＳ１１における標準的な印刷処理ソフトウエアモジュールの構成図である。なお、図６においてプリンタと表記されているブロックは、図１における画像入出力装置３及びプリンタ２に対応している。
【００４７】
バリアブルプリントアプリケーション２０１、グラフィックエンジン２０２、プリンタドライバ２０３、およびシステムスプーラ２０４、ダイナミックコンフィグ用のモジュール（ＤＣモジュール）は、たとえばＰＣ／ＷＳ１１内の外部メモリに保存されたファイルとして存在し、実行される場合にＯＳやそのモジュールを利用するモジュールによってＰＣ／ＷＳ１１内のＲＡＭにロードされ実行されるプログラムモジュールである。また、バリアブルプリントアプリケーション２０１およびプリンタドライバ２０３、ＤＣモジュール２０５は、不図示のＦＤやＣＤ−ＲＯＭ、あるいはネットワークを経由してＰＣ／ＷＳ１１内の外部ディスクに追加することが可能となっている。バリアブルプリントアプリケーション２０１からプリンタ２に対して印刷を行う際には、グラフィックエンジン２０２を利用して出力（描画）を行う。
【００４８】
バリアブルプリントアプリケーション２０１が、図５等で言うところの印刷処理プログラムに相当する。この印刷処理プログラムは、文書処理プログラム等の印刷処理手順の一部として組み込まれてもよいが、それら通常のアプリケーションプログラムとは別に、アプリケーションプログラムにより印刷が行われた際に、プリンタドライバやデスプーラ等のシステムプログラムにより実行される手順として実現されて良い。
【００４９】
なお、本実施形態ではオペレーティングシステムとしてマイクロソフト社のウインドウズを使用するものとして、ウインドウズＯＳに従った用語や概念で説明をする。しかし発明にかかる印刷処理プログラム自体はＯＳとは独立したものであり、また、他のＯＳにおいてもウインドウズＯＳと類似した概念あるいは代替可能な機能を見出すことは容易である。したがって、本実施形態は特定のＯＳ下で実施された場合について説明するが、他のいかなるＯＳの下においても本実施形態と同様に実施可能である。
【００５０】
グラフィックエンジン２０２は、印刷装置ごとに用意されたプリンタドライバ２０３をロードし、アプリケーション２０１の出力をプリンタドライバ２０３に設定する。そして、バリアブルプリントアプリケーション２０１から受け取るＧＤＩ（Graphic Device Interface）関数からＤＤＩ（Device Driver Interface）関数に変換して、プリンタドライバ２０３へＤＤＩ関数を出力する。プリンタドライバ２０３は、グラフィックエンジン２０２から受け取ったＤＤＩ関数に基づいて、プリンタが認識可能な制御コマンド、例えばＰＤＬ（Page Description Language：ページ記述言語）に変換する。変換されたプリンタ制御コマンドは、ＯＳによってロードされたシステムスプーラ２０４を経てコンピュータインターフェース部７へ印刷データとして出力される仕組みとなっている。
【００５１】
更にバリアブルプリントアプリケーション２０１からプリンタドライバに対して、給紙段や用紙サイズなどの初期値を渡すことが可能である。渡し方は一般的にアプリケーション及びプリンタドライバが理解可能なデータ形式であるＤＥＶＭＯＤＥ構造体を介して行われる。アプリケーションは給紙段や用紙サイズ等の初期値をこのＤＥＶＭＯＤＥ構造体にセットし、グラフィックエンジンを介してプリンタドライバに渡す。プリンタドライバでは更に詳細な設定をすることが可能であり、これらの情報を描画属性情報としてＰＤＬの一部として展開し、システムスプーラ２０４を介しプリンタ送信する。
【００５２】
また、本実施形態におけるバリアブルプリントに必要なデータとして、マスタデータファイル２０５、フィールドデータファイル２０６、外部参照データベース（ＤＢ）２０７がファイルとして存在している。バリアブルプリントアプリケーション２０１は下敷きとなるマスターデータファイル２０５、フィールドの属性が定義されたフィールドデータファイル２０６および各フィールドに挿し込む情報をレコード毎に記述した外部参照データベース２０７を読み込んで、バリアブルプリントを実現する。
【００５３】
＜バリアブル印刷のワークフロー＞
バリアブル印刷について、そのワークフローを図７のフローチャートを用いてもう少し詳しく説明する。
【００５４】
まずステップＳ７０１でユーザーはマスタドキュメント２０５を準備する。マスタドキュメント２０５はバリアブル印刷を行うアプリケーションが読み込み可能なフォーマットであれば、他のアプリケーションで作成したものでよい。他のアプリケーションで作成したものがバリアブル印刷を行うアプリケーションで読めないフォーマットの場合は、読み込み可能なフォーマットに変換して準備しておくことも可能である。
【００５５】
次のワークフローとしてステップＳ７０２で、データベース２０７を準備する。このデータベース２０７はバリアブル印刷アプリケーションが読み込み可能な表形式のフォーマットで作成されており、その形式は、各行（フィールド）の先頭（第１列目）に項目、各行の第２列目以降には、各フィールドの項目に対応するデータが格納されているものとする。なおデータ定義がプログラムにより与えられていれば、項目の定義を示す列を省略することができる。このステップＳ７０２と前述のステップＳ７０１の順序はどちらが先でも、ワークフローとしては問題ない。
【００５６】
次にステップＳ７０３で前述のステップＳ７０１で準備したマスタードキュメント２０５の各ページ（マスターページ）に対してバリアブル印刷に必要なフィールド（バリアブルフィールド）を設定する。フィールドの設定は、まず、バリアブル印刷アプリケーションがステップＳ７０１で準備したマスタードキュメントを読み込み表示し、その表示を下敷きとして、その上に矩形などドローツールのような要領で位置を指定する。フィールドにはテキスト及びイメージの２種類があるので、その属性も同時に設定する。
【００５７】
次にステップＳ７０４で前記ステップＳ７０３で設定したフィールドに、ステップＳ７０２で準備したデータベースの各フィールドを関連付ける設定を行う。このステップはステップＳ７０３で設定した各フィールドに、データベース２０７中のどの行（フィールド）を挿し込むかを指定するものである。バリアブル印刷を行うアプリケーションは、ステップＳ７０２で準備されたデータベースを読み込み、本設定を実現する。データベースを読み込む際、データベースの特性を生かすため、データベースレコードの選択や並び替えも可能である。選択の例としては、住所録などがデータベースとして用意されている場合、データベース中の行（フィールド）の項目として“住所（都道府県名）”などから、“東京都”に該当するレコードを選択するなどが可能である。
【００５８】
次のワークフローとしてステップＳ７０５でステップＳ７０３で設定されたマスタードキュメント上のバリアブルフィールドとステップＳ７０４で設定されたデータベースとの関連付けの整合性を確認する。このチェックはバリアブル印刷を行うアプリケーションが整合性のチェック機能を有し、オペレータはその操作を行うことで実現する。整合性のチェックの項目としては、設定したフィールド中に挿し込み用のデータを挿し込むと領域をはみ出してしまうとか、フィールドに関連付けられた項目が間違っているなどのチェックがある。
【００５９】
このようにステップＳ７０４で定義され、Ｓ７０４で確認されたデータが、フィールド情報ファイル２０６として保存される。その内容については後述する。
【００６０】
前記ステップＳ７０５で整合性に問題なければ印刷を行う。印刷の際は印刷の範囲として、開始レコード番号、終了レコード番号を指定する。例えば開始レコード番号を１から１０というように指定した場合、前記の宛名書きの例で説明すると、データベース中のレコード１から１０の１０人分の宛名を順にマスタードキュメントに挿し込み、１０人分の個人当てのドキュメントが印刷されることになる。
【００６１】
＜バリアブル印刷時の処理手順＞
次に、図８乃至図１３のフローチャート、データ形式図及び出力例を参照して、本実施の形態の印刷処理システムにおけるバリアブルプリント機能の動作手順について説明する。なお、この処理は前記動作ステップにより、ＰＣ／ＷＳ１１において印刷機能を有するアプリケーション等のプログラムが動作している状態で開始される。
【００６２】
本実施の形態では、上述のワークフローに従って、マスターとなるドキュメントファイル（マスターページファイル）を読み込み、その各ページを下敷きとしてバリアブル印刷を行うためのフィールド情報を設定する。さらに、設定したフィールドに挿し込むべきデータとしてあらかじめ定義してあるデータベースを読み込み、データベース中の各フィールドとのリンクを定義する。この際、フィールドのタイプとしてページ削除を意味する"Delete flag"（削除フラグフィールド）をマスターページファイル上に定義し、さらに、このフィールドに挿し込むデータとして、削除フラグを意味する“ＯＮ”，“ＯＦＦ”を設定しておく。そして、ＰＣ／ＷＳ１１で動作する印刷処理プログラムにより、マスタードキュメントのあるページに削除フラグフィールドが定義され、そこに挿し込むデータとして削除フラグ“ＯＮ”が設定されていることが判定されて、該当する場合、そのレコードに対しては、このページを印刷しない様にバリアブルプリント実行する。
【００６３】
（外部参照データベースのレコード形式）
図８は図７のステップＳ７０２で準備したデータベースのイメージを示したものである。データベースの各行の先頭は“氏名”、“住所”、“年齢”など、次の行から続くデータの項目が記述してある。この例では、これら３つのデータ形式はテキスト形式である。表の２列目からはレコード番号１から始まり、各項目に対するデータが記述されている。この表で、“写真”の項目はイメージデータ形式であり、イメージデータそのものが格納されているか、図８の例のようにイメージデータファイルの相対パス名とファイル名称が記述されている。ファイル名が記述されている場合、データベース外に保存してあるイメージファイルより該当するファイルを参照できるようになっている。さらに“ページ削除”の項目は、本実施の形態を実現するために記述した項目であり、マスタードキュメントの指定されたページを削除して印刷するか否かを定義した項目である。この削除フラグの項目に記述されるデータとしては、ＯＮ、ＯＦＦのいずれかである。図８の例ではレコード２の“鈴木”さんは“ページ削除”の項目がＯＮになっているので、マスターページにこのページ削除フィールドが定義されている場合、そのページを印刷しないといった指示が可能となる。また、このデータベース中の項目の記述において“ページ削除”の文字列はユーザが定義した文字列でもかまわない。
【００６４】
（バリアブルフィールドの定義）
次に図９を用いて、バリアブルフィールドの設定について説明する。図９はマスタードキュメントの各ページに前記ステップＳ７０３で設定したバリアブルフィールドを図示した例である。ユーザはバリアブル印刷アプリケーションが提供するエディタプログラムなどを用いて、下敷きとなるマスタードキュメントのページを表示させ、ドローツールなどを用いて、矩形等でバリアブルフィールドの場所を設定する。バリアブルフィールドを設定する際には、そのフィールドのタイプ及び番号も同時に指定する。この図９では、マスタードキュメントが４ページある例を示している。その各ページには後で説明しやすい様に左下にＡ、Ｂ，Ｃ，Ｄなる記号をマスターページ上に記述している。
【００６５】
この図９の例では、ａフィールドはテキストフィールドを示している。そしてこのフィールドを番号１として設定しているものである。図中ｂフィールドはａフィールドとは別のテキストフィールドを示している。このフィールドの番号は番号２である。更に図中ｃフィールドはイメージフィールドを示している。番号は３である。以上のフィールド１から３はマスターページの１ページ目（ページＡ）に設定されている。また、ｄフィールドは、フィールド番号４番として、削除フラグ（delete flag）フィールドを示している。この削除フィールドはテキストやイメージのフィールドとは異なり、それ自身は挿し込まれたデータが印刷されないフィールドである。このフィールドに、図８で説明したデータベース中の“ページ削除”項目のデータ、“ＯＮ”、“ＯＦＦ”が挿し込まれると、そのフラグの値によってこの削除フラグフィールドが設定されたマスターページを印刷しない様に制御できるようなる。図９の例では３ページ目に削除フィールドが設定されているので、このページを印刷したりしなかったり出来るようになる。図８の例では、レコード１については削除フラグはＯＦＦなので、図９のページＣは印刷され、レコード２については削除フラグはＯＮなので、図９のページＣは印刷されない。
【００６６】
（フィールド情報ファイルのレコード形式）
次に図１０を用いて前記ステップＳ７０４におけるデータベースとのリンク設定、すなわちフィールド情報ファイルの形式について説明する。
【００６７】
図１０はフィールド情報のデータフォーマットを図示した表である。このフィールド情報のデータフォーマットは、通常、バリアブル印刷アプリケーションがメモリ中で管理するものであるが、最終的には、読み込み、保存可能なフォーマットでファイル（図６の２０３）に記述されるものである。もちろん、保存したファイルを再読み込みすることは可能である。
【００６８】
図１０の例を説明すると、図９で説明したフィールドの情報が、 “ページ”、“フィールド番号”、“タイプ”、“位置”、“大きさ”の欄に格納されている。“ページ”の欄はバリアブルフィールドを設定したマスタードキュメント上のページ番号を示しており、例えば図９中のｂフィールドすなわちフィールド番号２は、マスタードキュメントの１ページ目で、タイプはテキスト、位置、大きさはそれぞれ表中に示した値であることが判断できる。
【００６９】
また、フィールド番号４は図９で説明した削除フラグのフィールドであり、第３ページすなわちページＣに定義され、フィールド番号は４，タイプは削除フラグを示す"delete flag"、位置大きさは図１０中に示すとおりで、“フィールド名”の欄は、図８で説明したデータベースの項目のうち“ページ削除”の項目を関連付けた例を示している。
【００７０】
外部参照データベースの各項目とのリンクは図１０における“フィールド名”の欄に示されている。オペレータがこのデータベースとのリンクを指定する方法としては、このデータフォーマットの表をＵＩ上に表示し、この“フィールド名”の欄をキーボードから入力させる方法でもよいし、あらかじめデータベースの各項目を抽出し表形式でＵＩ上に表示しておき、マウス等のクリックで選択させる方法などで実現できる。
【００７１】
（バリアブル印刷手順）
次に図１１乃至図１２を用いて、ステップＳ７０６の印刷の方法について説明する。図１１は印刷処理を示したフローチャートである。
【００７２】
まずステップＳ１１０１でマスタードキュメントの総ページ数をＰとする。
【００７３】
次にステップＳ１１０２で印刷すべきデータベースのレコード番号の範囲を指示し、その開始レコード番号をＲｓ、終了レコード番号をＲｅとする。印刷すべきレコード番号の範囲をオペレータに指示させる方法には、ＵＩ上の印刷ダイアログを表示して入力させる方法などがある。
【００７４】
次にステップＳ１１０３に進み、バリアブル印刷アプリケーションは、マスタードキュメントの全ページをグラフィックエンジン２０５へ渡すためのデータに変換し、メモリ上に格納する。ここで格納するデータ形式は、描画命令の集まりであるので、後から容易に描画命令の追加が行える。更に、メモリ内に格納する時は、ページ毎に管理されていて、どのデータがどのページに対応するかは容易に判断できるものである。
【００７５】
次にステップＳ１１０４に進みレコードをカウントするための変数ｉにＲｓをセットする。
【００７６】
次にステップＳ１１０５に進み、図８で説明しあらかじめ用意されたデータベースより、ｉ番目のレコードの情報を取得する。レコードカウンタｉで示されるレコードをカレントレコードと呼ぶ。
【００７７】
次にステップＳ１１０６に進み、図１０で説明したフィールド情報に基づきステップＳ１１０５で読み込んだレコードのデータをマスタドキュメントの各フィールドに挿入出来るように、ステップＳ１１０３の時と同様にグラフィックエンジン２０５へ渡すためのデータに変換し、ステップＳ１１０３で格納したメモリ上の描画データと重ねあわせて、グラフィックエンジン２０２、プリンタドライバ２０３を介して画像入出力装置３に接続されたプリンタ２に出力する。
【００７８】
次にステップＳ１１０７に進み、レコードカウンタｉを１つインクリメントする。
【００７９】
次にステップＳ１１０８に進み、レコードカウンタが終了レコード番号より大きければ終了すべくステップＳ１１０９に進む。レコードカウンタが終了レコード番号より小さければ更に次のレコードを処理すべく、ステップＳ１１０５に進む。
【００８０】
ステップＳ１１０９では、印刷の終了処理としてステップＳ１１０３で格納したメモリを開放して終了する。
【００８１】
次に図１２のフローチャートを用いて図１１におけるステップＳ１１０６すなわち、レコードを挿入してプリンタにデータを送信するステップについて更に詳しく説明する。
【００８２】
まずステップＳ１２０１で処理中のマスタードキュメントのページ番号をカウントするカウンタとしてｊに１をセットする。カウンタｊで示されるページ番号のページをカレントページと呼ぶ。また、実際の出力ページ数をカウントアップするカウンタとしてＰ’に０をセットする。
【００８３】
次にステップＳ１２０２に進み、ｊページ目のフィールド情報を図１０で説明した表より検索してピックアップする。図１０の例で再び説明すると、ｊ＝１の時は１ページ目のフィールド情報として、フィールド番号１，２，３の３つのフィールドが検索されることとなる。
【００８４】
次にステップＳ１２０３に進み、ステップＳ１２０２で検索したフィールド情報のフィールドタイプにページ削除を意味する"Delete flag"が１つでも含まれているか否かを判断する。ここでタイプに"Delete flag"が１つでもある場合はステップＳ１２０４に進み、そのフィールドに挿し込まれるカレントレコードのフラグが“ＯＮ”であるか否かを判断する。ここで、カレントレコードの情報が“ＯＮ”であるならば、そのカレントレコードについては、処理中のページを出力対象から削除すべく、出力処理を行わずにステップＳ１２１０に進む。ステップＳ１２０４でフラグの情報が“ＯＦＦ”であった場合には、通常の処理を行うべくステップＳ１２０５に進む。
【００８５】
ステップＳ１２０３で処理中のカレントページのフィールドタイプに"Delete flag"がなかった場合も同様に通常の処理をすべく、ステップ１２０５に進む。
【００８６】
ステップＳ１２０５では、カレントページである第ｊページについて、各フィールド情報を取得して描画オブジェクトに展開する。ここでの描画オブジェクトは図１１のステップＳ１１０３でマスターページを展開した時と同じタイプのオブジェクトである。
【００８７】
次にステップＳ１２０６に進み、図１１のステップＳ１１０３で展開したマスターページのうち、該当するカレントのページｊの描画オブジェクトを取得する。
【００８８】
次にステップＳ１２０７に進み、ステップＳ１２０５で展開したフィールドの描画オブジェクトとステップＳ１２０６で取得したマスターページの描画オブジェクトに重ねあわせる（オーバーレイする）。
【００８９】
次にステップＳ１２０８に進み、重ねあわせた描画オブジェクトをＧＤＩに変換し、グラフィックエンジン２０２を介してプリンタドライバ２０３に送信する。
【００９０】
次にステップＳ１２０９に進み、出力ページをカウントするＰ’を１つインクリメントする。
【００９１】
次にステップＳ１２１０に進み、処理すべきページを１つ進めるべくカウンタｊを１つインクリメントする。
【００９２】
次にステップＳ１２１１に進み、カレントページカウンタｊがマスタードキュメントの総ページ数Ｐより大きい場合は、処理すべきページがないものとし終了する。ステップＳ１２１１でｊ＞Ｐでない場合は次のページの処理をすべくステップＳ１２０２に進み、処理を繰り返す。
【００９３】
（出力結果）
次に図１３を用いて出力結果について説明する。図１３は本実施の形態の出力結果を示した例である。図中Ａは図８の例で説明したレコード番号１の“田中”さんの例である。また、図１３Ｂは同様にレコード番号２の“鈴木”さんの例である。
【００９４】
図９においてタイプが"delete flag"のフィールドを設定したのは第３ページ目であり、図９ではわかりやすい様そのページには“Ｃ”と記載してあった。本実施形態では、このページを各レコード中の削除フラグの値によって印刷するかしないかを制御するものであり、図１３Ａの“田中”さんの例では、図８より、削除フラグが“ＯＦＦ”であったので、３ページ目のページ“Ｃ”は削除されずに出力されている。一方図１３Ｂの“鈴木”さんの例では、このフィールドに挿し込まれる削除フラグが図８で説明した通り、“ＯＮ”であったため、第３ページ目のページＣの印刷はスキップされ、出力結果から削除されて出力されている。
【００９５】
以上のように、本実施形態では、バリアブルプリント機能により挿入されるフィールドを、単にマスタドキュメントとは別途用意されたオブジェクトの挿入のためのみに使用するのではなく、印刷そのものの制御に使用するプログラムを示している。特に本実施形態では、その制御の内容として、特定のデータタイプが指定されたフィールドを含むページについては、そのフィールドに対応するものと指定された項目の値による出力の制御が示されている。
【００９６】
この結果、バリアブルプリントにおいて、単にその内容をレコード毎に変更しつつ印刷するのではなく、レコード毎に印刷するページと印刷しないページとがあるような場合であっても、レコード中の項目の値によって出力を制御できる。
【００９７】
［第二の実施例］
第二の実施の形態では、マスターとなるドキュメントファイル（マスターページファイル）を読み込み、その各ページを下敷きとしてバリアブル印刷を行うためのフィールド情報を設定する。さらに、設定したフィールドに挿し込むべきデータとしてあらかじめ定義してあるデータベースを読み込み、データベース中の各フィールドとのリンクを定義する。この際、フィールドのタイプとして給紙段指定を意味する"Paper Source Filed"をマスターページ上に定義し、さらに、このフィールドに挿し込むデータとして、給紙段のカセット番号を設定すると、もしマスタードキュメントのあるページに給紙段指定のフィールドが定義され、そこに挿し込むデータとして給紙段のカセット番号が設定されている場合、そのページに対しては給紙段を設定し、他のページとは給紙段を切り替えて印刷する様なバリアブルプリント実行するものである。
【００９８】
この第二の実施の形態では、第一の実施の形態における図８のデータベース中の設定方法、図９におけるバリアブルフィールドの設定方法、図１０におけるフィールド情報のデータフォーマット、及び図１２におけるレコードを挿入しプリンタにデータを送信するステップが異なる。したがって、これらの例についてのみ説明し、後の説明は第一実施形態と同様であることから省略する。
【００９９】
（外部参照データベースのレコード形式）
図１４は図７におけるステップＳ７０２で準備したデータベースのレコードイメージを示したものである。ここで第一の実施の形態である図８と異なるのは、給紙段の項目である。この“給紙段”の項目は、第二の実施の形態を実現するのに記述した項目であり、マスタードキュメントのあるページの給紙段設定を定義した項目である。この給紙段設定の項目に記述されるデータとしては、カセット１、カセット２、手差しなどの給紙段番号或いは名称を指定する。空白の場合は特に給紙段切り替えを設定しないことを意味する。図８の例では“鈴木”さんは“給紙段”の項目が“カセット２”になっているので、マスターページにこのフィールドが定義されていると、そのページの給紙段をカセット２に変更するという指示が可能となる。また、“田中”さんの場合はこの欄が空白になっているので、特に給紙段切り替え設定は行わない。また、このデータベース中の項目の記述において“給紙段”の文字列はユーザが定義した文字列でもかまわない。
【０１００】
次に図１５を用いて、バリアブルフィールドの設定について説明する。図１５はマスタードキュメントの各ページに図７におけるステップＳ７０３で設定したバリアブルフィールドを図示した例である。ここで第一の実施の形態である図９と異なるのは、図９において"delete Flag"タイプのｄフィールド（フィールド４）が、図１５では"Paper Source Field"タイプのｅフィールド（フィールド５）に置換されていることである。
【０１０１】
図１５の例では、ｄフィールドは、フィールド番号４番として、給紙段切り替え(Paper Source)フィールドを示している。このPaper Source fieldはテキストやイメージのフィールドとは異なり、それ自身は挿し込まれたデータが印刷されないフィールドである。このフィールドに、図１４で説明したデータベース中の“給紙段”項目のデータとして給紙段の名称番号が挿し込まれると、その値によってこのPaper Source fieldを設定したマスターページの給紙段指定を切り替えて設定できるようなる。図１５の例では３ページ目にPaper Source fieldが設定されているので、このページの給紙段切り替えが出来るようになる。
【０１０２】
（フィールド情報ファイルのレコード形式）
次に図１６を用いて図７のステップＳ７０４におけるデータベースとのリンク設定について説明する。図１６はフィールド情報のデータフォーマットを図示した表である。ここで第一の実施の形態である図１０と異なるのは、フィールド番号４におけるフィールドのタイプとフィールド名の項目である。
【０１０３】
第二の実施の形態ではフィールド番号４は図１５で説明したpaper Source タイプのフィールドであり、この“フィールド名”の欄は、図１４で説明したデータベースの項目のうち“給紙段”の項目を関連付けた例を示している。
【０１０４】
（バリアブル印刷手順）
次に図１７のフローチャートを用いて第一の実施例で説明した図１１におけるステップＳ１１０６のレコードを挿入しプリンタにデータを送信するステップにおいて、第二の実施の形態の例ついて説明する。
【０１０５】
まずステップＳ１７０１で処理中のマスタードキュメントのページ番号をカウントするカウンタとしてｊに１をセットする。カウンタｊで指示されるページをカレントページと呼ぶ。
【０１０６】
次にステップＳ１７０２に進み、ｊページ目のフィールド情報を図１６で説明した表より検索しピックアップする。図１６の例で再び説明すると、ｊ＝１の時は１ページ目のフィールド情報として、フィールド番号１，２，３の３つのフィールドが検索されることとなる。
【０１０７】
次にステップＳ１７０３に進み、ステップＳ１７０２で検索したフィールド情報のフィールドタイプに給紙段指定を意味する"Paper Source"フィールドがあるか否かを判断する。ここでタイプに" Paper Source"がある場合はステップＳ１７０４に進み、そのフラグに挿し込まれるカレントレコードの情報に給紙段としてのカセット番号があるか否かを判断する。ここで、カレントのレコードの情報に給紙段としてのカセット番号があるならば、そのカレントレコードについては、処理中のページの給紙段設定を切り替えるべくステップＳ１７０５に進む。
【０１０８】
ステップＳ１７０５では、処理中のｊページについて、カセット段情報を指示する。この指示の仕方は第一の実施の形態の図６で説明したアプリケーションからプリンタドライバに印刷情報を渡す手段としてのＤＥＶＭＯＤＥ構造体等に給紙段指定情報を書き込むことで実現する。そしてステップＳ１７０６に進む。
【０１０９】
ステップＳ１７０４で給紙段としてのカセット番号がなかった場合には、通常の処理を行うべくステップＳ１７０６に進む。
また、ステップＳ１７０３で処理中のカレントページのフィールドタイプに"Paper Source"がなかった場合も同様に通常の処理をすべく、ステップ１７０６に進む。
【０１１０】
ステップＳ１７０６では、カレント処理ページのｊページについて、各フィールド情報を取得し描画オブジェクトに展開する。ここでの描画オブジェクトは第一の実施の形態の図１１のステップＳ１１０３でマスターページを展開した時と同じタイプのオブジェクトである。
【０１１１】
次にステップＳ１７０７に進み、図１１のステップＳ１１０３で展開したマスターページのうち、該当するカレントのページｊの描画オブジェクトを取得する。
【０１１２】
次にステップＳ１７０８に進み、ステップＳ１２０５で展開したフィールドの描画オブジェクトとＳ１７０７で取得したマスターページの描画オブジェクトに重ねあわせる（オーバレイする）。
【０１１３】
次にステップＳ１７０９に進み重ねあわせた描画オブジェクトをＧＤＩに変換しプリンタドライバに送信する。
【０１１４】
次にステップＳ１７１０に進み、処理すべきページを１つ進めるべくｊを１つインクリメントする。
【０１１５】
次にステップＳ１７１１に進み、処理すべきページｊがマスタードキュメントの総ページ数Ｐより大きい場合は、処理すべきページがないものとし終了する。前記ステップＳ１７１１でｊ＞Ｐでない場合は次のページの処理をすべくステップＳ１７０２に進み、処理を繰り返す。
【０１１６】
（出力結果）
次に図１８を用いて出力結果について説明する。図１８は第二の実施の形態の出力結果を示した例である。わかりやすい様に、前提として、カセット段を指定しなかった時は自動給紙となり、プリンタはカセット１から給紙するものとする。更に、カセット１には普通紙、カセット２には色付きの用紙がセットされているものとする。
【０１１７】
図中Ａは図１４の例で説明したレコード番号１の“田中”さんの例である。また、図１８Ｂは同様にレコード番号２の“鈴木”さんの例である。
【０１１８】
図１５において“Paper Source Field"を設定したのは第３ページ目であり、図１５ではわかりやすい様そのページには“Ｃ”と記述してあった。本実施の例では、このページの給紙段の切り替えを制御するものであり、図１８Ａの“田中”さんの例では、図１４より、給紙段の欄が空白で、給紙段指定がなかったので、３ページ目“Ｃ”は１，２，４ページ目と同じ給紙段カセット１で出力されているに。一方図１８Ｂの“鈴木”さんの例では、このフィールドに挿し込まれる値が図１４で説明した通り、“カセット２”であったため、第３ページ目のページＣがカセット２にセットされた色付きの用紙から給紙され印刷されている例を示している。
【０１１９】
このようにバリアブルフィールドによる出力の制御は、ページの出力の有無のみならず、給紙カセットの位置まで指定できる。このため、例えば用紙サイズを特定のレコードの特定のページについてだけサイズを変更したり、あるいは図１８に示すカラー用紙やカラー印刷用のコート紙等、用紙の種類を変更するといった制御を行うことが可能となる。
【０１２０】
[第三の実施例]
第三の実施の形態では、マスターとなるドキュメントファイル（マスターページファイル）を読み込み、その各ページを下敷きとしてバリアブル印刷を行うためのフィールド情報を設定する。さらに、設定したフィールドに挿し込むべきデータとしてあらかじめ定義してあるデータベースを読み込み、データベース中の各フィールドとのリンクを定義する。この際、フィールドのタイプとして全ページの給紙段指定を意味する"Paper Source Field all"をマスターページ上に定義し、さらに、このフィールドに挿し込むデータとして、給紙段のカセット番号を設定すると、もしマスタードキュメントの先頭ページに給紙段指定のフィールドが定義され、そこに挿し込むデータとして給紙段のカセット番号が設定されている場合、そのレコードに対応するドキュメントに対しては給紙段を設定し、他のレコードのドキュメントとは給紙段を切り替えて印刷する様なバリアブルプリント実行するものである。
【０１２１】
この第三の実施の形態では第二の実施の形態における図１５及び図１６におけるフィールドのタイプを“Paper Source”から“Paper Source all”に変更し、更に図１５ではフィールドの指定を先頭ページに限定して指定することで実現される。実際の処理フローでは第二の実施の形態の図１７におけるステップＳ１７０３において、先頭ページだけ"Paper Source Field all"があるか否かを判断し、あった場合には同じく図１７のステップＳ１７０５において、全ページの給紙段として指定されたカセットをＤＥＶＭＯＤＥ等に設定する方法で実現可能である。
【０１２２】
図１９は第三の実施の形態の出力結果を示した例である。第二の実施の形態と同様に、わかりやすい様に、前提として、カセット段を指定しなかった時は自動給紙となり、プリンタはカセット１から給紙するものとする。更に、カセット１には普通紙、カセット２には色付きの用紙がセットされているものとする。
【０１２３】
図中Ａは第二の実施の形態の図１４において、項目を“給紙段”に置き換えた第三の実施の形態のレコード番号1の“田中”さんの例である。また、図１９Ｂは同様にレコード番号２の“鈴木”さんの例である。
【０１２４】
第三の実施の形態の例では、全ページの給紙段の切り替えを制御するものであるため、図１９Ａの“田中”さんの例では、カセットを指定しなかった場合に指定されるカセット１より給紙した例を示している。一方図１８Ｂの、“鈴木”さんの例では、カセット２が指定されたため、全ページがカセット２にセットされた色付きの用紙から給紙され印刷されている例を示している。
【０１２５】
このようにして、レコードに対応するドキュメント全体に対して適用されるフィールドを定義しておくことで、ページごとに指定しなくとも、１レコードに１フィールドを定義するだけで、レコード全体に対して効果をもたらすことができる。このため、レコード及びマスタドキュメントにフィールドを定義する手間や、定義されたデータを保存するためのメモリ空間を節約できる。
【０１２６】
[その他の実施例]
以上の例では、画像入力はコンピュータインターフェイス部7を介して得られるPDLデータを例に挙げているが、その他説明した入力方法でも差し支えない。
【０１２７】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記憶した記憶媒体を、システムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成される。
【０１２８】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコード及びそれを記憶した記憶媒体は本発明を構成することになる。
【０１２９】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【０１３０】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【０１３１】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【０１３２】
以上説明したように、本実施形態の印刷処理プログラムによれば、バリアブル印刷において、フィールド情報として、給紙段指定を定義するためのフィールドを設定し、そこに挿し込むべきレコード情報として、給紙段の場所を設定し、印刷の際、給紙段指定フィールドが設定されているページにおいて、そこに挿し込まれるべきレコード情報に給紙段場所の指定があるかを判断し、給紙段場所の指定があった場合に、そのページの給紙段命令を設定する印刷制御手段を提供することによって、例えばダイレクトメールなど、個人宛てに挿し込み情報を変えるだけでなく、個人毎に特定のページの用紙を別の給紙段から給紙し変更する印刷が可能となる。
また、給紙段指定を定義するためのフィールドを、マスタドキュメントの先頭ページに限定しかつ全てのページについての給紙段指定行う給紙段指定フィールドとして設定し、そこに挿し込まれるべきレコード情報に給紙段場所の指定があった場合に、全ページに対する給紙段命令を設定する印刷制御手段を提供することによって、例えばダイレクトメールなど、個人宛てに挿し込み情報を変えるだけでなく、個人毎に用紙を別の給紙段から給紙し変更する印刷が可能となる。
【０１３３】
なお、本実施形態では、給紙段の指定および印刷出力の有無について、バリアブル印刷のフィールドで指定する例を示したが、そのほかの印刷出力の制御を同様の方法で実現することはもちろん可能である。例えば、次のような印刷制御を行うことが考えられる。
（１）両面／片面印刷の指定。この場合、両面フィールドが指定されたページとその次のページが１枚の用紙の表裏に印刷される。
（２）排紙トレイの指定。これは第２実施形態と同様である。
（３）Ｎｉｎ１印刷（アプリケーションで作成されたＮページを１枚の用紙にまとめて出力する機能）の指定。これは第３実施形態のように、１レコード単位で指定させるのが実用上は好ましいであろうが、指定ページごとに可能とすることもできる。その場合には、例えばＮｉｎ１開始フィールドが指定されたページからＮｉｎ１終了フィールドが指定されたページまでを１枚の用紙にまとめる、といった制御が考えられる。
【０１３４】
【発明の効果】
以上説明したように本発明によれば、バリアブル印刷において、単に可変フィールドの値を対応する項目により置換するのみならず、出力の制御も可変フィールドに対応する項目により指定させることで、出力の制御も可能となる。
【０１３５】
特に請求項１及び６乃至８及び１２記載の発明によれば、バリアブル印刷において、出力の制御を、可変フィールドに対応する項目により指定させることで可能ならしめる。
【０１３６】
請求項２記載の発明によれば、前記一定の型以外の型の可変フィールドの型には、従来通り対応する項目を挿入して出力できる。
【０１３７】
請求項３及び９記載の発明によれば、可変フィールドとして削除フラグを定義しておけば、それが定義されたページの不出力を、レコード毎に対応する項目値によって指定できる。
【０１３８】
請求項４及び１０記載の発明によれば、可変フィールドとして給紙段を定義しておけば、それが定義されたページの出力段を、レコード毎に対応する項目値によってページ単位で指定できる。
【０１３９】
請求項５及び１１記載の発明によれば、可変フィールドとして給紙段を定義しておけば、それが定義されたページの出力段を、レコード毎に対応する項目値によってマスタデータ単位で指定できる。
【０１４０】
請求項１３記載の発明によれば、レコード毎に定義された項目値により、一定の型以外の型の可変フィールドの型には、従来通り対応する項目を挿入して出力するとともに、一定の型の可変フィールドを定義しておくことで、可変フィールドに対応する項目により出力の制御を行うことが可能となる。
【図面の簡単な説明】
【図１】本発明の実施形態の画像入出力装置のブロック図である。
【図２】リーダ部及ぴプリンタ部の断面図である。
【図３】コア部のブロック図である。
【図４】ＰＣ／ＷＳ１１におけるメモリマップを示す図である。
【図５】ＰＣ／ＷＳ１１における記憶媒体の構成を示す図である。
【図６】ＰＣ／ＷＳ１１における印刷処理のブロック図である。
【図７】従来の技術における印刷処理を示すフローチャートである。
【図８】実施の形態における印刷処理に必要なDBのレコード情報の例を示す図である。
【図９】実施の形態における印刷処理に必要なフィールドの設定の例を示す図である。
【図１０】実施の形態における印刷処理に必要なフィールド情報の例を示す図である。
【図１１】実施の形態における印刷処理を示すフローチャートである。
【図１２】実施の形態における印刷処理を示すフローチャートである。
【図１３】実施の形態における出力結果の例を示す図である。
【図１４】第二の実施の形態における印刷処理に必要なDBのレコード情報の例を示す図である。
【図１５】第二の実施の形態における印刷処理に必要なフィールドの設定の例を示す図である。
【図１６】第二の実施の形態における印刷処理に必要なフィールド情報の例を示す図である。
【図１７】第二の実施の形態における印刷処理を示すフローチャートである。
【図１８】第二の実施の形態における出力結果の例を示す図である。
【図１９】第三の実施の形態における出力結果の例を示す図である。
【符号の説明】
１…リーダ部、
２…プリンタ部、
３…画像入出力制御部、
４…ファクシミリ部、
５…ストレージ部、
７…コンピュータインターフェイス部、
８…RIP部、
９…操作部、
１０…コア部、
１１…コンピュータ機器。
【図１】
0004047058.tif 000002
【図２】
0004047058.tif 000003
【図３】
0004047058.tif 000004
【図４】
0004047058.tif 000005
【図５】
0004047058.tif 000006
【図６】
0004047058.tif 000007
【図７】
0004047058.tif 000008
【図８】
0004047058.tif 000009
【図９】
0004047058.tif 000010
【図１０】
0004047058.tif 000011
【図１１】
0004047058.tif 000012
【図１２】
0004047058.tif 000013
【図１３】
0004047058.tif 000014
【図１４】
0004047058.tif 000015
【図１５】
0004047058.tif 000016
【図１６】
0004047058.tif 000017
【図１７】
0004047058.tif 000018
【図１８】
0004047058.tif 000019
【図１９】
0004047058.tif 000020