(57)【特許請求の範囲】
【請求項１】
印刷装置で印刷すべき印刷ジョブを生成する情報処理装置であって、
埋め込みデータが埋め込まれる複数のフィールドを有するフォームデータからなるフォームファイルを生成するフォーム生成手段と
前記フォーム生成手段により生成される複数種のフォームファイルを１つの関連した複合フォームとして、１つのページに使用される複数種のフォームファイルが定義され、複数ページのページ構造を定義している複合フォーム情報を生成する複合フォーム生成手段と、
前記複合フォーム情報で定義されているページ構造に従って、前記複合フォーム情報で定義されている複数種のフォームファイルを順次受け取り、受け取った複数種のフォームデータと、該フォームデータが有する複数のフィールドに埋め込まれる埋め込みデータとから１つの印刷ジョブを生成するジョブ生成手段とを有し、
前記複合フォーム生成手段は、該複合フォーム情報で定義されるページ構造を表示領域に表示し、任意のページが指定されている状態で追加指示を受けると、当該指定されたページに新たなフォームファイルの追加を行って前記複合フォーム情報を生成することを特徴とする情報処理装置。
【請求項２】
前記複合フォーム情報は、定義されているフォームファイル内のフォームデータの属性を示すフォーム属性を、複合フォーム情報で定義されているページ構造のページ数分有していることを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記複合フォーム情報内のフォーム属性が両面帳票の属性を有している場合に、前記ジョブ生成手段は、両面帳票の属性を有するページについて印刷装置の動作モードを両面印刷に指定し、両面帳票の属性を有するページの終了に応じて、両面印刷の動作モードに変更する前の動作モードに戻すことを特徴とする請求項２記載の情報処理装置。
【請求項４】
前記複合フォーム情報は、少なくともフォームファイルを特定するためのフォームファイル名と該フォームファイルのパス名、および特定されるフォームファイルの繰り返し回数を定義することで、前記複数種のフォームファイルと複数ページのページ構造とを定義することを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記ジョブ生成手段は、前記フォームデータが有する複数のフィールドに埋め込みデータを埋め込むオーバーレイ処理を行って印刷ジョブを生成することを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
印刷装置で印刷すべき印刷ジョブを生成する情報処理装置における情報処理方法であって、
埋め込みデータが埋め込まれる複数のフィールドを有するフォームデータからなるフォームファイルを生成するフォーム生成工程と
前記フォーム生成工程により生成される複数種のフォームファイルを１つの関連した複合フォームとして、１つのページに使用される複数種のフォームファイルが定義され、複数ページのページ構造を定義している複合フォーム情報を生成する複合フォーム生成工程と、
前記複合フォーム情報で定義されているページ構造に従って、前記複合フォーム情報で定義されている複数種のフォームファイルを順次受け取り、受け取った複数種のフォームデータと、該フォームデータが有する複数のフィールドに埋め込まれる埋め込みデータとから１つの印刷ジョブを生成するジョブ生成工程とを含み、
前記複合フォーム生成工程は、該複合フォーム情報で定義されるページ構造を表示領域に表示し、任意のページが指定されている状態で追加指示を受けると、当該指定されたページに新たなフォームファイルの追加を行って前記複合フォーム情報を生成することを特徴とする情報処理方法。
【請求項７】
前記複合フォーム情報は、定義されているフォームファイル内のフォームデータの属性を示すフォーム属性を、複合フォーム情報で定義されているページ構造のページ数分有していることを特徴とする請求項６記載の情報処理方法。
【請求項８】
前記複合フォーム情報内のフォーム属性が両面帳票の属性を有している場合に、前記ジョブ生成工程は、両面帳票の属性を有するページについて印刷装置の動作モードを両面印刷に指定し、両面帳票の属性を有するページの終了に応じて、両面印刷の動作モードに変更する前の動作モードに戻すことを特徴とする請求項７記載の情報処理方法。
【請求項９】
前記複合フォーム情報は、少なくともフォームファイルを特定するためのフォームファイル名と該フォームファイルのパス名、および特定されるフォームファイルの繰り返し回数を定義することで、前記複数種のフォームファイルと複数ページのページ構造とを定義することを特徴とする請求項６乃至８のいずれか１項に記載の情報処理方法。
【請求項１０】
前記ジョブ生成工程は、前記フォームデータが有する複数のフィールドに埋め込みデータを埋め込むオーバーレイ処理を行って印刷ジョブを生成することを特徴とする請求項６乃至９のいずれか１項に記載の情報処理方法。
【請求項１１】
印刷装置で印刷すべき印刷ジョブを生成する情報処理装置における印刷制御プログラムが格納された記憶媒体であって、
埋め込みデータが埋め込まれる複数のフィールドを有するフォームデータからなるフォームファイルを生成するフォーム生成工程と
前記フォーム生成工程により生成される複数種のフォームファイルを１つの関連した複合フォームとして、１つのページに使用される複数種のフォームファイルが定義され、複数ページのページ構造を定義している複合フォーム情報を生成する複合フォーム生成工程と、
前記複合フォーム情報で定義されているページ構造に従って、前記複合フォーム情報で定義されている複数種のフォームファイルを順次受け取り、受け取った複数種のフォームデータと、該フォームデータが有する複数のフィールドに埋め込まれる埋め込みデータとから１つの印刷ジョブを生成するジョブ生成工程とを情報処理装置に実行させ、
前記複合フォーム生成工程は、該複合フォーム情報で定義されるページ構造を表示領域に表示し、任意のページが指定されている状態で追加指示を受けると、当該指定されたページに新たなフォームファイルの追加を行って前記複合フォーム情報を生成することを特徴とするコンピュータ読み取り可能な印刷制御プログラムが格納された記憶媒体。
【請求項１２】
前記複合フォーム情報は、定義されているフォームファイル内のフォームデータの属性を示すフォーム属性を、複合フォーム情報で定義されているページ構造のページ数分有していることを特徴とする請求項１１記載の記憶媒体。
【請求項１３】
前記複合フォーム情報内のフォーム属性が両面帳票の属性を有している場合に、前記ジョブ生成工程は、両面帳票の属性を有するページについて印刷装置の動作モードを両面印刷に指定し、両面帳票の属性を有するページの終了に応じて、両面印刷の動作モードに変更する前の動作モードに戻すことを特徴とする請求項１２記載の記憶媒体。
【請求項１４】
前記複合フォーム情報は、少なくともフォームファイルを特定するためのフォームファイル名と該フォームファイルのパス名、および特定されるフォームファイルの繰り返し回数を定義することで、前記複数種のフォームファイルと複数ページのページ構造とを定義することを特徴とする請求項１１乃至１３のいずれか１項に記載の記憶媒体。
【請求項１５】
前記ジョブ生成工程は、前記フォームデータが有する複数のフィールドに埋め込みデータを埋め込むオーバーレイ処理を行って印刷ジョブを生成することを特徴とする請求項１１乃至１４のいずれか１項に記載の記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ネットワークに接続されたプリンタを共有する環境において、複数種の単票フォームを、1つの関連する連続フォームとして意味を持たせた複合フォームファイルを作成し、該複合フォームファイルから印刷される順番に帳票フォームを連続して取得することができる順次解析処理を使い、ほかの印刷物が混ざり合うことなく、1つの印刷ジョブで複数種のフォームを連続してオーバーレイ印刷できることを特徴とする情報処理装置及び方法及びプログラム記憶媒体に関するものである。
【０００２】
【従来の技術】
従来、ネットワークに接続されたプリンタを共有する環境において、一人の印刷指示者が複数種の印刷物を個別の印刷ジョブで連続して印刷する場合、ネットワークに接続できる他の複数の印刷指示者からの同時印刷要求により印刷物が混在することは避けられなかった。これに加えて、従来のフォーム出力装置に於いては、埋め込みデータと帳票ファイルの組み合わせとしたオーバーレイ印刷を１つの印刷ジョブとして印刷する単票印刷の機能だけであり、他の印刷指示者からの印刷物の割り込みを許さず、１つの印刷ジョブ内で、プレプリント用紙を含む複数種の帳票を混在させて印刷することはできなかった。
【０００３】
また、すでにあるフォームデータに合わせた埋め込みデータを生成する場合に、表管理アプリケーションなどのような、表（フォーム）を表示させた状態で埋め込みデータを入力及び生成することができなかった。
【０００４】
【発明が解決しようとする課題】
上記従来例では、予め印刷する前に使用される帳票フォームをプリンタにオーバーレイ登録し、該オーバーレイ登録帳票に対して、埋め込みデータを１つずつ別印刷ジョブでオーバーレイ印刷するだけであった。これでは、単票単位の印刷であり、ネットワークで共有されたプリンタを使って印刷した場合には、他の印刷支持者からの印刷物が混在することになり、印刷支持者の意図したような連続印刷が実現できない。また、プレプリント用紙を使った帳票印刷の場合には、カセットにセットされた用紙を使うため、何がセットされているか確認しながら印刷することになり、連続して種類の違う帳票を出力することが困難であった。
【０００５】
上記問題点を解決するために、本発明の第一の目的は、１つの印刷ジョブ内で上記オーバーレイ印刷の処理を連続して実行することを目的とする。
【０００６】
更に本発明の第二の目的は、予めプレプリントが設定された用紙カセットを随時変更することで、複数種の帳票フォームの連続印刷を提供することを目的とする。
【０００７】
更に本発明の第三の目的は、フォームデータを表示させた状態で埋め込みデータを入力し、入力された埋め込みデータだけをファイルとして生成すること、また複合フォームに対して行うことを目的とする。
【０００８】
【課題を解決するための手段】
上記問題点を解決するために、本発明は、印刷装置で印刷すべき印刷ジョブを生成する情報処理装置であって、埋め込みデータが埋め込まれる複数のフィールドを有するフォームデータからなるフォームファイルを生成するフォーム生成手段と、前記フォーム生成手段により生成される複数種のフォームファイルを１つの関連した複合フォームとして、１つのページに使用される複数種のフォームファイルが定義され、複数ページのページ構造を定義している複合フォーム情報を生成する複合フォーム生成手段と、前記複合フォーム情報で定義されているページ構造に従って、前記複合フォーム情報で定義されている複数種のフォームファイルを順次受け取り、受け取った複数種のフォームデータと、該フォームデータが有する複数のフィールドに埋め込まれる埋め込みデータとから１つの印刷ジョブを生成するジョブ生成手段とを有し、前記複合フォーム生成手段は、該複合フォーム情報で定義されるページ構造を表示領域に表示し、任意のページが指定されている状態で追加指示を受けると、当該指定されたページに新たなフォームファイルの追加を行って前記複合フォーム情報を生成することを特徴とする。
また、前記複合フォーム情報は、定義されているフォームファイル内のフォームデータの属性を示すフォーム属性を、複合フォーム情報で定義されているページ構造のページ数分有していることを特徴とする。
また、前記複合フォーム情報内のフォーム属性が両面帳票の属性を有している場合に、前記ジョブ生成手段は、両面帳票の属性を有するページについて印刷装置の動作モードを両面印刷に指定し、両面帳票の属性を有するページの終了に応じて、両面印刷の動作モードに変更する前の動作モードに戻すことを特徴とする。
また、前記複合フォーム情報は、少なくともフォームファイルを特定するためのフォームファイル名と該フォームファイルのパス名、および特定されるフォームファイルの繰り返し回数を定義することで、前記複数種のフォームファイルと複数ページのページ構造とを定義することを特徴とする。
また、前記ジョブ生成手段は、前記フォームデータが有する複数のフィールドに埋め込みデータを埋め込むオーバーレイ処理を行って印刷ジョブを生成することを特徴とする。
【００２３】
また、同様の方法、さらにプログラムが格納された記憶媒体で課題を解決する。
【００２４】
【発明の実施の形態】
〔第一実施例〕
図１は、プリンタと通信可能な情報処理装置のシステム構成を示すブロック図である。
【００２５】
図１中１００１は本装置全体の制御を司るＣＰＵであり、本実施例の情報処理装置における制御手段である。
【００２６】
１００２は一時記憶手段であるＲＡＭであり、ＣＰＵ１００１の主メモリとして、及び実行プログラム（図５及び図６のフローチャートで後述する制御プログラム）のワークエリアや一時待避領域として機能する。さらに、後述する帳票オブジェクトを一時的に記憶する。
【００２７】
１００３はＣＰＵ１００１の動作処理手順を記憶しているＲＯＭである。ＲＯＭ１００３には、機器制御を司るシステムプログラムや図５及び図６の処理フローで表わされるプログラムを記録したプログラムＲＯＭと、システムを稼動するために必要な情報等が記憶されたデータＲＯＭがある。格納されているプログラムの内容については、図２で後述する。
【００２８】
１００４はネットワークインターフェイス（Ｎｅｔ−Ｉ／Ｆ）であり、ネットワークを介してプリンタとのデータ送信制御や、プリントサーバとのデータ送信を行なうためのデータ制御や診断を行なう。
【００２９】
１００５はビデオＲＡＭ（ＶＲＡＭ）で、システムの稼動状態を示す表示手段であるＣＲＴ１００６の画面に表示される画像を展開し、その表示の制御を行う。
【００３０】
１００７はキーボードやポインティングデバイスなどの外部入力装置からの入力信号を制御するためのキーボードコントローラ（ＫＢＣ）（ポインティングデバイスコントローラ：ＰＤＣ）ある。１００８は操作を受け付けるための外部入力装置であり、一般にはキーボードやポインティングデバイス（マウスなど）を示している。
【００３１】
１００９は記憶手段であるハードディスクドライブ（ＨＤＤ）を示し、複合フォームや埋め込みデータのデータ保存用に用いられる。また、各種データのデータベースと、データベースを管理するアプリケーションとを格納している。このデータベースアプリケーションは、複合フォームに合わせて、データベース内のデータを出力する。
【００３２】
１０１０は外部記憶装置であるフロッピーディスクなどのリムーバルディスクドライブ（ＦＤＤ）を示し、アプリケーションプログラムの媒体からの読み出しなどに用いられる。図５及び図６の処理フローで表されるプログラムをフロッピーディスク１０１０に記憶して、ハードディスクに格納しておいても本システムは実現可能である。
【００３３】
１０００は上述した各ユニット間を接続するためのＩ／Ｏバス（アドレスバス、データバスおよび制御バス）である。
【００３４】
次に、本発明のデータの流れをを図面を参照しながら説明する。
【００３５】
図２は、本発明のデータの流れを示すブロック図である。図１で説明した構成には、同じ符号がふられている。
【００３６】
１００３は、図１で説明したＲＯＭ（プログラムＲＯＭ）である。ＲＯＭ１００３には、制御プログラムとして以下のモジュールを構成として格納している。２０１は、フォームファイル２０７を生成するためのフォーム生成モジュールである。２０２は、埋め込みデータファール２０８を生成するための埋め込みデータ生成モジュールである。２０３は、複数のフォームファイル２０７と埋め込みデータファイル２０８とから複合フォームファイル２０９を生成する複合ファイル生成モジュールである。２０４は、複合フォームファイルを展開するメモリ展開モジュールである。２０５は、展開された複合フォームファイルを順次解析する順次解析処理モジュールである。２０３は、複合フォームファイルを解析することにより得られた指示通りにオーバーレイ印刷をプリンタにおいて処理させるためのオーバーレイモジュールである。メモリ展開モジュール２０４と順次解析モジュール２０５とオーバーレイモジュール２０６を合わせてランタイムライブラリモジュールもしくはオーバーレイ指定モジュールとも言う。
【００３７】
１００２は、上記のモジュールがロードされるメモリとして機能するＲＡＭであり、帳票オブジェクトが格納される。帳票オブジェクトとは、帳票データ（フォームデータ）と埋め込みデータ（フィールドデータ）のことである。またＲＡＭ１００２は、前述したように本発明が利用する作業領域でもある。
【００３８】
１００９は、データベース、埋め込みデータファイル、フォームファイル、あるいは複合フォームファイルが格納されるハードディスクである。２０７は、フォームファイルであり、前述したフォーム生成モジュール２０１により生成される帳票データ（フォームデータ）からなるファイルである。２０８は、埋め込みデータファイルであり、前述した埋め込みデータ生成モジュール２０３により生成される埋め込みデータ（フィールドデータ、後付けデータとも言う）からなるファイルである。２０９は、複合フォームファイルであり、前述した複合ファイル生成モジュール２０３により生成される複数のフォームファイルから定義付けられる複合フォームファイルで、複数種の帳票フォームを１つの関連した連続なフォームとして管理されるフォーム情報と、フォーム毎の出力先用紙カセットなどの出力情報とを併せ持つ情報ファイルと定義される。２１０は、データベースであり、後述するように埋め込みデータ生成モジュール２０２によりアクセスされ、埋め込みデータファイル２０８が生成される。
【００３９】
ＲＯＭ１００３に格納されたそれぞれのプログラムモジュールにより生成されたオーバーレイデータ（帳票データと埋め込みデータとからなる）は、ＯＳへ渡される。ＯＳは、アプリケーションから出力されたデータ関数（ＧＤＩ関数）を出力デバイスで認識できる共通のデータ関数（ＤＤＩ関数）に対応させて、該アプリケーションにより指定されたプリンタドライバ２１１にデータ関数を出力する。ここの部分を処理する関数対応手段は、ＯＳの機能の一部であり、Ｗｉｎｄｏｗｓ（登録商標）でいうＧＤＩに相当する部分である。この機能は公知であるので、詳細な制御は省略する。
【００４０】
プリンタドライバ２１１は、ＯＳの関数対応手段から入力されたデータ関数（ＤＤＩ関数）を印刷出力するプリンタで解析し、印刷処理可能なページ記述言語（ＰＤＬ）で印刷データを生成する。生成された印刷データは、印刷装置であるプリンタに出力送信される。プリンタでは、印刷データで指示されたように、ビットマップデータを生成し、印刷出力する。本実施例では、プリンタはオーバーレイ可能であり、フォーム用印刷データと埋め込み用印刷データとを受信し、オーバーレイ（重ね合せ）処理を実行して、印刷する。なお、プリンタがオーバーレイ機能を有していない場合は、プリンタドライバ２１１でオーバーレイ処理を実行することにより、すべてのページの印刷データを生成してプリンタに送信すればよい。
【００４１】
図３は、ＣＰＵ１００１がフォーム生成モジュール２０１をＲＡＭ１００２に展開することにより実行した場合に、ＣＲＴ１００６に表示される画面のユーザインタフェースを示している。
【００４２】
ユーザは、キーボードやポインティングデバイスなどの外部入力装置１００８から指示することによりウィンドウ３０１上にフォーム（帳票）３０２を生成する。このユーザインタフェースでは、ユーザが作成中の帳票のプレビューを見ながら作成できるようになっている。３０３は、フォームデータに埋め込みデータが埋め込まれるフィールドである。３０４は、図形作成アイコンであり、ここをクリックすることにより、マウスなどのポインティングデバイスにより直線、長方形、円、文字の挿入などができるようになっている。本実施例において、生成されたフォームファイルを「御見積書.fcp」とする。
【００４３】
このようなＤＴＰ（デスクトップパブリッシング）機能を有したアプリケーションの制御は公知であるので、詳細な制御フローは省略するが、このアプリケーションのデータは、後に後付けデータ（フィールドデータ）が挿入されるフィールド３０３が定義付けられている。このフォームデータ内のフィールドには、このアプリケーションで付加された属性情報を有している。属性情報とは、フィールド内に挿入される後付けデータのフォントの種類、サイズ、色情報、下線、太字、斜体、位置情報（右寄せ、中央寄せ、左寄せ、上詰め、下詰め）などの詳細な情報のことである。この属性情報に基づいて、後述するオーバーレイ処理が行われる。
【００４４】
図４は、ＣＰＵ１００１が複合ファイル生成モジュール２０３をＲＡＭ１００２に展開することにより実行した場合に、ＣＲＴ１００６に表示される画面のユーザインタフェースを示している。
【００４５】
ユーザは、キーボードやポインティングデバイスなどの外部入力装置１００８から指示することによりウィンドウ３０１上にフォーム（帳票）３０２を表示し、「編集」を選択することにより得られるプルダウンメニューから「追加」（図示省略）を選択することにより、異なるフォームを複合フォームに追加することができる。このユーザインタフェースでは、ユーザが作成中の帳票のプレビューを見ながら作成できるようになっている。
【００４６】
画面左のウィンドウ４０１では、生成される複合ファイルの構造が示されている。ウィンドウ４０１では、現在の複合フォームファイルは、「見積もり１」「見積もり２」「見積もり３」の３ページからなるページデータ４０２で構成されている。ここで、「見積もり１」は、「見積書１.fcp」という１つのフォームファイル４０３から構成され、「見積書２」は、「見積書１.fcp」と「見積書２.fcp」の２つのフォームファイルから構成され、「見積書３」は、「見積書２.fcp」という１つのフォームファイルから構成されている。「見積書２」のように２つ以上のフォームファイルを重ねて合成して１つのフォームファイルとするには、図示しているように、ページに「〆」のチェックをポインティングデバイスにより入れている状態で、「追加」を選択することにより合成される。このようにして生成された複合フォームの設定に基づいて、後述する複合フォームファイルが生成される。本実施例において、生成された複合フォームファイルを「御見積書.fcx」とする。
【００４７】
図５は、複合フォームファイル２０９の定義フォーマットである。
【００４８】
フォーマットは〔〕で示されるキーワードとそれに続く文字列、数値で区切られており、文字列は可変長の長さを持つ。〔Ｔｉｔｌｅ〕は、複合フォームの名称を記述するキーワードであり、印刷のジョブ名となる。本実施例では、図４で生成された「御見積書.fcx」である。
【００４９】
〔Ｃｏｍｍｅｎｔ〕は、複合フォームの特徴を現す説明文を記述するキーワードである。図４で「御見積書.fcx」を生成保存する際に、コメントとしてユーザが必要に応じて書き込める。
【００５０】
〔ＬｏｏｐＣｏｕｎｔ〕は、次の〔ＬｏｏｐＣｏｕｎｔ〕キーワードが現れるまで繰り返される帳票フォームの回数を示すキーワードである。この数値が、１のときには続く帳票フォームが１回だけ印刷されることを意味し、１以上のときには、続く連続した帳票フォームが指定された回数繰り返されることを示し、０の場合には、埋め込みデータが続く限り繰り返される任意回数の繰り返しを示す。本実施例では、「御見積書１.fcp」と「御見積書２.fcp」が２回づつ使用されるが、同じ形式では続けて使用されないので、１となる。つまり、「御見積書１.fcp」が１、「御見積書１.fcp」＋「御見積書２.fcp」が１、「御見積書２.fcp」が１となる。
【００５１】
〔ＦｏｒｍＮａｍｅ〕は、帳票フォームの名称を示すキーワードである。本実施例では、上述したように、順に、「御見積書１.fcp」、「御見積書１.fcp」＋「御見積書２.fcp」、「御見積書２.fcp」となる。
【００５２】
〔ＦｏｒｍＦｉｌｅ〕は、帳票フォームが格納されている位置を現すパス名を示す。帳票ファイルは、ローカルマシンに格納されている必要はなく、ネットワークに接続されたファイルサーバ上にあってもよい。
【００５３】
〔ＦｏｒｍＡｔｔｒｉｂｕｔｅ〕は、複合フォーム内での帳票フォームの属性を現し、NORMALは、その帳票が単票であることを示す。CARBONCOPY_STARTは、複写帳票の開始となる帳票（通常、この帳票の各入力フィールドに記入された入力値が埋め込みデータとなる）であることを示し、CARBONCOPYは、複写帳票の開始と終了の間に入る帳票を示し、CARBONCOPY_ENDは、複写帳票の最後に印刷される帳票を示す。DOUBLEFACE_UPは、両面帳票の表面に印刷される帳票を示し、DOUBLEFACE_DOWNは、両面帳票の裏面に印刷される帳票を示す。
【００５４】
〔ＰａｐｅｒＣａｓｓｅｔｔｅ〕は、出力される用紙がセットされているプリンタカセットを現すものであり、プレプリント用（すでに帳票フォームが印刷されている用紙）に対して、オーバレイ印刷する場合には必要になる。
【００５５】
上述した〔ＬｏｏｐＣｏｕｎｔ〕から〔ＰａｐｅｒＣａｓｓｅｔｔｅ〕までが複数ページ分だけ続いて、複合フォームファイルは構成されている。
【００５６】
図６は、ＣＰＵ１００１が埋め込みデータ生成モジュール２０２（フィールドデータ生成アプリケーション）をＲＡＭ１００２に展開することにより実行した場合に、ＣＲＴ１００６に表示される画面のユーザインタフェースを示している。
【００５７】
ユーザは、後付けデータを挿入すべきフォーム（帳票）３０２が表示されたウィンドウ３０１上に、キーボードやポインティングデバイスなどの外部入力装置１００８から文字を入力することに、後付けデータ（フィールドデータ）６０１を生成する。このユーザインタフェースでは、ユーザが帳票のプレビューを見ながら挿入すべきフィールドデータを作成できるようになっている。本実施例において、生成された埋め込みデータファイルを「御見積書.txt」とする。
【００５８】
ここで、埋め込みデータファイルの一例である「御見積書.txt」の内容を表１に示す。
【００５９】
【表１】
0003796360.tif 000002
【００６０】
表１のような埋め込みデータが生成される。ここで、１つのフィールドにつき文字や数値が対応されており、改行やセミコロンによって対応フィールドが薦められる。また、フィールドをジャンプする場合には、<VAR>という指定語を入れ、続く数値がフィールド番号を示している。図３で示されたフィールド３０３はすべてで２６個であり、表１では最後のフィールドに合計金額である「141600」が挿入されるよう指示されている。
【００６１】
このような埋め込みデータファイルを生成する処理を、図６のユーザインタフェースを参照しながら図１１のフローチャートに基づいて説明する。
【００６２】
まず、ユーザがフィールドデータ生成アプリケーションを立ち上げ、「ファイル」の「開く」（図示省略）を選択して、埋め込みデータを生成すべき対象となるフォームファイルを開くことにより本埋め込みデータ生成処理が実行される。
【００６３】
ユーザによりフォームファイルが指定されると、ステップＳ１１０１において、まずＣＰＵ１００１は、指定されたフォームファイルを取得し、フォームファイルに基づいてウィンドウ３０１にフォームデータ３０２を表示する。
【００６４】
続いてステップＳ１１０２において、キーボードやマウスなどのポインティングデバイスによって、フィールドに対して埋め込みデータの入力処理をユーザに実行させる。この入力処理は公知であるので、詳細な制御の説明は省略する。
【００６５】
ユーザによるフィールドデータ（埋め込みデータ）の入力が終わり、ステップＳ１１０３において、ＣＰＵ１００１は、「ファイル」の「保存」（図示省略）がユーザにより選択されたかを判断する。保存指定されてない判断した場合は、ステップ１１０２に処理を戻し、入力処理を続ける。保存指定されたと判断した場合は、ステップＳ１１０４に処理を進め、ＣＰＵ１００１は、現在ウィンドウ３０１に表示選択されているフォームデータが複合フォームであるか、１つのフォームデータであるかを判断する。複合フォームであると判断された場合は、ステップＳ１１０６に処理を進め、ＣＰＵ１００１は、フォームの数を示す値「Ｐ」に複合フォームのページ数を示すフォームデータ数を入力する。複合フォームでないと判断された場合は、ステップＳ１１０５に処理を進め、ＣＰＵ１００１は、「Ｐ」に単一のフォームデータであることを示す「１」を入力する。
【００６６】
次にステップＳ１１０７において、ＣＰＵ１００１は、フィールドデータファイルの生成処理における初期化のために、変数「ｉ」と変数「ｊ」に「１」を設定する。そして、現在のフォームデータの処理を行う。
【００６７】
次にステップＳ１１０８において、ＣＰＵ１００１は、総フィールド数を示す「Ｎ」に現在のフォームデータの総フィールド数を入力する。
【００６８】
次にステップＳ１１０９において、ＣＰＵ１００１は、フィールドｉにフィールドデータ（埋め込みデータ）が存在するかを判断する。データが存在しないと判断された場合は、ステップＳ１１１３に処理を進める。
【００６９】
フィールドｉにデータが存在すると判断された場合は、ステップＳ１１１０において、ＣＰＵ１００１は、フィールドｉ−１にフィールドデータ（埋め込みデータ）が存在するかを判断する。データが存在すると判断された場合は、ステップＳ１１１１に処理を進め、データが存在しないと判断された場合は、ステップＳ１１１２に処理を進める。
【００７０】
ステップＳ１１１１において、ＣＰＵ１００１は、現在のフィールドのフィールドデータを埋め込みデータファイルに書込み、更に「，」を書き込む。
【００７１】
ステップＳ１１１２において、ＣＰＵ１００１は、埋め込みデータファイルに「；<VARｉ>＝」（変数ｉは、現在の数値）を書込み、更に現在のフィールドのフィールドデータを書き込む。
【００７２】
ステップＳ１１１３において、ＣＰＵ１００１は、変数「ｉ」が総フィールド数Ｎよりも小さいかを判断する。ｉがＮよりも小さいと判断さあれた場合はステップＳ１１１４において、ＣＰＵ１００１は、変数「ｉ」をインクリメントし、ステップＳ１１０９に処理を戻して、次のフィールドの埋め込みデータの書き込み処理を行う。ｉがＮと同じと判断された場合は、ステップＳ１１１５に処理を進める。
【００７３】
ステップＳ１１１５において、ＣＰＵ１００１は、変数「ｊ」がフォームデータ数「Ｐ」よりも小さいかを判断する。ｊが‘よりも小さいと判断された場合は、ステップＳ１１１６において、ＣＰＵ１００１は、変数「ｊ」をインクリメントし、ステップＳ１１０７に処理を戻して、次のフォームデータのフィールドに対する埋め込みデータの書き込み処理を行う。ｊがＰと同じと判断された場合は、埋め込みデータファイルを保存してファイルを閉じ、処理を終了する。
【００７４】
このように制御することにより、表１で説明した埋め込みデータファイルが生成される。図１１の制御フローによると、複合フォームに対する埋め込みデータファイルもユーザの手間を与えずに生成することが可能となる。
【００７５】
図７は、ＣＰＵ１００１がオーバーレイ指定モジュール（前述したように、メモリ展開モジュール２０４、順次解析モジュール２０５、オーバーレイモジュール２０６から構成されている）をＲＡＭ１００２に展開することにより実行した場合に、ＣＲＴ１００６に表示される画面のユーザインタフェースを示している。
【００７６】
ユーザは、キーボードやポインティングデバイスなどの外部入力装置１００８から「ファイル」指示することにより開かれるプルダウンメニューから「開く」（図示省略）を実行し、複合フォームファイル２０９もしくは、フォームファイル２０７を選択することにより、ウィンドウ３０１上にフォーム（帳票）を表示し、再度「開く」を実行し、埋め込みデータファイル２０８を選択することにより得られるプルダウンメニューから「追加」（図示省略）を選択することにより、ウィンドウ３０１上に表示されているフォームに重ね合せて埋め込みデータがフォームデータ内のフィールドに設定されている属性情報に基づいて変換され、表示される。
【００７７】
このユーザインタフェースでは、ユーザが作成中の帳票のプレビューを見ながら印刷指示できるようになっている。
【００７８】
４０１は、選択された複合フォームファイルもしくはフォームファイルと、埋め込みデータとを重ね合せた際の印刷プレビューである。４０２は、複数ページのフォームファイルもしくは複合フォームファイルが選択された場合に現在表示されている印刷プレビューのページを示す値であり、「／」の左が現在のページ数で、右が全ページ数を示している。
【００７９】
図８は、メモリ展開で利用する線形リスト構造を持つＣＦｏｒｍＬｉｓｔクラスのメンバを示す。
【００８０】
本発明の順次解析処理は、複合フォームファイルを読み込む際に、複合フォームファイルに定義された１つの帳票単位でＣＦｏｒｍＬｉｓｔオブジェクトを作成する。
【００８１】
m_nLoopCountメンバ変数は、ＵＩＮＴ型の変数であり、繰り返し回数を格納する。
【００８２】
m_strFormNameメンバ変数は、ＣＳｔｒｉｎｇ型（文字列を扱うクラスでありMicrosoftFundationClass(登録商標)で定義されている）の変数であり、帳票フォームの名称を格納する。
【００８３】
m_strFormPathメンバ変数は、ＣＳｔｒｉｎｇ型の変数であり、帳票フォームファイルが格納されているファイルのパス名を格納する。
【００８４】
m_nAttributeメンバ変数は、ＵＩＮＴ型の変数であり、帳票の属性を格納する。
【００８５】
m_nCassetteメンバ変数は、ＵＩＮＴ型の変数であり、出力される用紙カセットを格納する。
【００８６】
m_nextPositionメンバ変数は、POSITION型（オブジェクトのアドレスを扱うクラスでありMicrosoftFundationClass(登録商標)で定義されている）の変数であり、両面帳票の表面となる帳票のＣＦｏｒｍＬｉｓｔオブジェクトのアドレス、または複写帳票の開始帳票のＣＦｏｒｍＬｉｓｔオブジェクトを格納する。通常属性の帳票の場合には、再ロードされるオブジェクトがないことを示すＮＵＬＬ値が格納される。
【００８７】
図９は、情報処理装置におけるＲＡＭ１００２に展開される複合フォームファイル２０９の読み込み処理のフローチャートであり、この処理で前記ＣＦｏｒｍＬｉｓｔクラスオブジェクトがＲＡＭ１００２に展開される。この処理は、図７のオーバーレイ指定アプリケーション上で、ユーザにより「印刷」指定された際に実行される。
【００８８】
ステップＳ９０１において、ＣＰＵ１００１は、図７で前述したようにオーバーレイ指定アプリケーション上でユーザにより指定された複合フォームファイル２０９をオープンする。ステップＳ９０２において、〔Title〕を読み込む。ステップＳ９０３において、ＣＰＵ１００１は、〔Comment〕を読み込み、ＯＳを介してプリンタドライバ２１１に渡す印刷ジョブの詳細情報に加える。
【００８９】
ステップＳ９０４において、ＣＰＵ１００１は、〔LoopCount〕を読み込み、〔LoopCount〕分の繰り返しを達成したかを判断する。例えば、繰り返しが「２」と定義されている場合は、後述するループを２回繰り返すことになる。Ｓ９０４において繰り返しを達成したと判断された場合は、定義の終了と判断し、ステップＳ９１７において、複合フォームファイルをクローズし、順次解析処理の前処理を完了する。該ステップＳ９０４において、繰り返しを達成し終えてないと判断された場合は、ステップＳ９０５において、ＣＰＵ１００１は、ＣＦｏｒｍＬｉｓｔクラスのオブジェクトを作成する。
【００９０】
ステップＳ９０６において、ＣＰＵ１００１は、読み込んだ繰り返し回数を図８のm_nLoopCountメンバ変数に値を格納する。ステップＳ９０７において、ＣＰＵ１００１は、〔FormName〕を読み込み、図８のm_strFormNameメンバ変数に格納する。
【００９１】
ステップＳ９０８において、ＣＰＵ１００１は、〔FormFime〕を読み込み、図８のm_strFormPathメンバ変数に格納する。ステップＳ９０９において、ＣＰＵ１００１は、〔FormAttribute〕を読み込み、図８のm_nAttributeメンバ変数に格納する。ステップＳ９１０において、ＣＰＵ１００１は、〔PaperCassette〕を読み込み、図８のm_nCassetteメンバ変数に格納する。
【００９２】
ステップＳ９１１において、通常属性の帳票を示すため、ＣＰＵ１００１は、オブジェクトの再帰読み出しのアドレス指定を示すm_nextPositionメンバ変数をＮＵＬＬでリセットする。ステップＳ９１２において、ＣＰＵ１００１は、m_nAttributeメンバ変数がDOUBLEFACE_UPかどうかを判断する。判断の結果、DOUBLEFACE_UPの場合には、ステップＳ９１３において、ＣＰＵ１００１は、表面となる帳票のＣＦｏｒｍＬｉｓｔクラスのオブジェクトアドレスを一時グローバル変数に格納する。このアドレスは、DOUBLEFACE_DOWN属性の帳票のＣＦｏｒｍＬｉｓｔ::m_nextPositionメンバ変数に格納されることになる。
【００９３】
ステップＳ９１２において判断の結果、m_nAttributeメンバ変数がDOUBLEFACE_DOWNの場合には、ステップＳ９１４において、ＣＰＵ１００１は、グローバル変数に保持していた両面帳票の表面帳票のＣＦｏｒｍＬｉｓｔオブジェクトのアドレスをm_nextPositionメンバ変数に格納する。これにより、両面帳票の対応づけが完了したことになる。
【００９４】
ステップＳ９１２において判断の結果、m_nAttributeメンバ変数がCARBONCOPY_STARTの場合には、ステップＳ９１５において、ＣＰＵ１００１は、複写帳票の開始となる帳票のＣＦｏｒｍＬｉｓｔクラスのオブジェクトアドレスを一時グローバル変数に格納する。このアドレスは、CARBONCOPY_END属性の帳票のＣＦｏｒｍＬｉｓｔ::m_nextPositionメンバ変数に格納されることになる。ステップＳ９１２において判断の結果、m_nAttributeメンバ変数がCARBONCOPY_ENDの場合には、ステップＳ９１６において、ＣＰＵ１００１は、グローバル変数に保持していた複写帳票の開始となる帳票のＣＦｏｒｍＬｉｓｔオブジェクトのアドレスをm_nextPositionメンバ変数に格納する。これにより、複写帳票の対応づけが完了したことになる。
【００９５】
ステップＳ９１２において判断の結果、上記以外の属性の場合には、ステップＳ９０４に進み、次の帳票の定義を読み出す。以上の処理の結果、本発明の順次解析処理で利用されるＣＦｏｒｍＬｉｓｔオブジェクトの線形リスト構造体オブジェクト（図８）が作成されることになる。
【００９６】
図１０は、順次解析処理のフローチャートであり、メモリ展開処理で作成されたＣＦｏｒｍＬｉｓｔクラスオブジェクトのオブジェクトリストをもとに、定義された帳票順に従って、本発明のオーバーレイ印刷処理を繰り返し実行することになる。
【００９７】
ステップＳ１００１において、ＣＰＵ１００１は、読み込んだタイトル名称を印刷ジョブの名称としてＳｔａｒｔＤｏｃ（）関数を呼び出す。これにより、印刷の開始が宣言され、次にＥｎｄＤｏｃ（）関数が呼び出される間にオーバーレイ印刷されたものは、すべて１つの印刷ジョブとして扱われるようになる。
【００９８】
ステップＳ１００２において、ＣＰＵ１００１は、前記前処理で作成したＣＦｏｒｍＬｉｓｔクラスオブジェクトリストからＣＦｏｒｍＬｉｓｔオブジェクトを取得する。ステップＳ１００３において、ＣＰＵ１００１は、ＣＦｏｒｍＬｉｓｔオブジェクトリストが終了したかを判断する。判断の結果、これ以降ＣＦｏｒｍＬｉｓｔオブジェクトがないなら、ステップＳ１００４において、ＣＰＵ１００１は、ＣＦｏｒｍＬｉｓｔオブジェクトリストを開放し、ＥｎｄＤｏｃ（）関数を使って、印刷の完了を宣言する。これにより、１ジョブの連続印刷を終了する。ステップＳ１００３の判断において、これ以降もＣＦｏｒｍＬｉｓｔオブジェクトが存在するなら、ステップＳ１００５において、ＣＰＵ１００１は、CFormList::m_nAttributeメンバ変数に設定されている帳票の属性を判断する。
【００９９】
判断の結果、CFormList::m_nAttributeメンバ変数がDOUBLEFACE_DOWMの属性を持っているならば、ステップＳ１００６において、ＣＰＵ１００１は、プリンタの動作モードを両面印刷に指定する。両面印刷が終了したとき、元の動作モードに戻せるように現在の動作モードを保持しておく。
【０１００】
次に、ステップＳ１００７において、ＣＰＵ１００１は、CFormList::m_nextPositionメンバ変数に格納されている表面のＣＦｏｒｍＬｉｓｔオブジェクトアドレスから表面の帳票のＣＦｏｒｍＬｉｓｔオブジェクトを取得する。次に、ステップＳ１００８において、ＣＰＵ１００１は、表面に対応した埋め込みデータを取得する。
【０１０１】
ステップＳ１００９において、ＣＰＵ１００１は、CFormList::m_nCassetteメンバ変数に格納されている出力用紙カセットをもとに、プリンタドライバの給紙カセットを設定する。出力用紙カセットが自動の場合は、現在のプリンタ設定のままとする。次に、ステップＳ１０１０において、ＣＰＵ１００１は、１つの印刷ページとして、表面の帳票と埋め込みデータの組み合わせで、オーバーレイ印刷を実行する。次に、ステップＳ１０１１において、ＣＰＵ１００１は、裏面に対応した埋め込みデータを取得する。ステップＳ１０１２において、ＣＰＵ１００１は、CFormList::m_nCassetteメンバ変数に格納されている出力用紙カセットをもとに、プリンタドライバの給紙カセットを設定する。出力用紙カセットが自動の場合は、現在のプリンタ設定のままとする。
【０１０２】
次に、ステップＳ１０１３において、ＣＰＵ１００１は、１つの印刷ページとして、裏面の帳票と埋め込みデータの組み合わせで、オーバーレイ印刷を実行する。この後、ステップＳ１０１４において、ＣＰＵ１００１は、ステップＳ１００６で保持したプリンタの動作モードにリセットする。この結果、両面指定の帳票が印刷されることになる。
【０１０３】
次に、ステップＳ１０２４において、ＣＰＵ１００１は、CFormList::m_nLoopCountの繰り返し回数を判断する。判断の結果、繰り返し指定されていない場合、ステップＳ１００２に戻って、ＣＰＵ１００１は、次のCFormListオブジェクトを取得する。このようにして、複合フォームファイルに定義された複数の帳票ファイルを順次印刷することで、単純な連続印刷が実現可能となる。
【０１０４】
ステップＳ１０２０の判断の結果、繰り返し指定されている場合には、ステップＳ１０２５において、ＣＰＵ１００１は、CFormList::m_nLoopCountの値を１つデクリメントさせる。
【０１０５】
ステップＳ１０２６において、ＣＰＵ１００１は、繰り返し回数が終了したがどうかを判断する。判断の結果、終了していなかったなら、ステップＳ１０２７において、ＣＰＵ１００１は、CFormList::m_nextPositionメンバ変数に格納されている再帰CFormListオブジェクトのアドレスを、CFormListオブジェクトの順次取得で次にアクセスされるアドレスとしてセットする。この結果、再帰指定されたオブジェクトが再度読み出されることになる。両面帳票の場合には、再帰オブジェクトは表面のCFormListオブジェクトとなり、繰り返し両面帳票が印刷されることになる。
【０１０６】
ステップＳ１０２６の判断の結果、繰り返しが終了したならば、次の印刷ができるように、新しいＣＦｏｒｍＬｉｓｔオブジェクトを取得するようにステップＳ１００２に戻る。
【０１０７】
ステップＳ１００３の判断の結果、CFormList::m_nAttributeがNORMALならば、ステップＳ１０１５において、ＣＰＵ１００１は、オーバーレイ印刷される埋め込みデータを取得する。
【０１０８】
ステップＳ１０１６において、ＣＰＵ１００１は、CFormList::m_nCassetteメンバ変数に格納されている出力用紙カセットをもとに、プリンタドライバの給紙カセットを設定する。出力用紙カセットが自動の場合は、現在のプリンタ設定のままとする。
【０１０９】
ステップＳ１０１７において、ＣＰＵ１００１は、１つの印刷ページとして、埋め込みデータと帳票を組み合わせてオーバーレイ印刷する。
【０１１０】
次に、ステップＳ１０２４において、ＣＰＵ１００１は、CFormList::m_nLoopCountの繰り返し回数を判断する。判断の結果、繰り返し指定されていない場合、ステップＳ１００２に戻って、ＣＰＵ１００１は、次のCFormListオブジェクトを取得する。このようにして、複合フォームファイルに定義された複数の帳票ファイルを順次印刷することで、単純な連続印刷が実現可能となる。
【０１１１】
ステップＳ１０２４の判断の結果、繰り返し指定されている場合には、ステップＳ１０２５において、ＣＰＵ１００１は、CFormList::m_nLoopCountの値を１つデクリメントさせる。ステップＳ１０２６において、ＣＰＵ１００１は、繰り返し回数が終了したがどうかを判断する。
【０１１２】
判断の結果、終了していなかったなら、ステップＳ１０２７において、ＣＰＵ１００１は、CFormList::m_nextPositionメンバ変数に格納されている再帰CFormListオブジェクトのアドレスを、CFormListオブジェクトの順次取得で次にアクセスされるアドレスとしてセットする。この結果、再帰指定されたオブジェクトが再度読み出されることになる。
【０１１３】
通常帳票の場合には、再帰オブジェクトは、現在のCFormListオブジェクトとなり、繰り返し同じ帳票が印刷されることになる。
【０１１４】
ステップＳ１０２６の判断の結果、繰り返しが終了したならば、次の印刷ができるように、新しいＣＦｏｒｍＬｉｓｔオブジェクトを取得するようにステップＳ１００２に戻る。
【０１１５】
ステップＳ１００３の判断の結果、CFormList::m_nAttributeが複写属性（CARBONCOPY_START｜CARBONCOPY｜CARBONCOPY_END）を持つならば、ステップＳ１０１８において、ＣＰＵ１００１は、それがCARBONCOPY_STARTかどうかを判断する。判断の結果、複写の開始属性ならば、ステップＳ１０１９において、ＣＰＵ１００１は、オーバーレイ印刷される埋め込みデータを取得する。
【０１１６】
次に、ステップＳ１０２０において、ＣＰＵ１００１は、複写帳票の終了まで、同じ埋め込みデータが使用されることから、この埋め込みデータを一時保存しておく。
【０１１７】
ステップＳ１０２１において、ＣＰＵ１００１は、CFormList::m_nCassetteメンバ変数に格納されている出力用紙カセットをもとに、プリンタドライバの給紙カセットを設定する。出力用紙カセットが自動の場合は、現在のプリンタ設定のままとする。
【０１１８】
次に、ステップＳ１０２２において、ＣＰＵ１００１は、１つの印刷ページとして、帳票と埋め込みデータをあわせてオーバーレイ印刷を実行する。ここで、複写となる開始帳票が印刷されたことになる。ステップＳ１０１８の判断の結果、複写の開始でなかったなら、複写の開始で保存された埋め込みデータをそのまま使って、１つの印刷ページとして、ステップＳ１０２２のオーバーレイ印刷を実行する。つまり、複写帳票の途中の帳票、あるいは複写の終了の帳票の場合は、複写開始時に保存した埋め込みデータを再利用することで、同じ埋め込みデータが印刷されることになり、複写帳票が実現されることになる。
【０１１９】
次に、ステップＳ１０２３において、ＣＰＵ１００１は、もう一度、CFormList::m_nAttributeの属性を判断をする。判断の結果、CFormList::m_nAttributeがCARBONCOPY_ENDでないならば、ステップＳ１００２に戻って、ＣＰＵ１００１は、次のCFormListオブジェクトを取得する。この場合、次に取得されるCFormListオブジェクトは、複写帳票の１つであり、複写の終了帳票が印刷されるまで、連続して同じ埋め込みデータがオーバーレイ印刷される。判断の結果、CFormList::m_nAttributeがCARBONCOPY_ENDならば、ステップＳ１０２４において、ＣＰＵ１００１は、CFormList::m_nLoopCountの繰り返し回数を判断する。判断の結果、繰り返し指定されていない場合、ステップＳ１００２に戻って、ＣＰＵ１００１は、次のCFormListオブジェクトを取得する。このようにして、複合フォームファイルに定義された複数の帳票ファイルを順次印刷することで、単純な連続印刷が実現可能となる。
【０１２０】
ステップＳ１０２０の判断の結果、繰り返し指定されている場合には、ステップＳ１０２５において、ＣＰＵ１００１は、CFormList::m_nLoopCountの値を１つデクリメントさせる。ステップＳ１０２６において、繰り返し回数が終了したがどうかを判断する。判断の結果、終了していなかったなら、ステップＳ１０２７において、ＣＰＵ１００１は、CFormList::m_nextPositionメンバ変数に格納されている再帰CFormListオブジェクトのアドレスを、CFormListオブジェクトの順次取得で次にアクセスされるアドレスとしてセットする。この結果、再帰指定されたオブジェクトが再度読み出されることになる。複写帳票の場合には、再帰オブジェクトは複写開始のCFormListオブジェクトとなり、繰り返し複写帳票が印刷されることになる。
【０１２１】
ステップＳ１０２６の判断の結果、繰り返しが終了したならば、次の印刷ができるように、新しいＣＦｏｒｍＬｉｓｔオブジェクトを取得するようにステップＳ１００２に戻る。
【０１２２】
以上の順次解析処理の結果、１つの印刷ジョブの中で、複合フォームファイルに定義された順番で、各種の帳票が連続して印刷可能になる。
【０１２３】
上述したステップＳ１０１０、ステップＳ１０１７、ステップＳ１０２２におけるオーバーレイ印刷処理は、帳票と埋め込みデータをあわせてオーバーレイ印刷を実行するが、このときに、埋め込みデータは、帳票（フォームデータ）のフィールドの属性情報に合わせて変換される。つまり、埋め込みデータは、テキストデータなどのデータの羅列であり、それぞれのデータ毎に属性の違いがない。しかしフィールドそれぞれには属性情報があるので、ＣＰＵ１００１は、埋め込みデータに対応するフィールドの位置、フォントサイズ、修飾情報、などの前述した属性情報に合わせて、埋め込みデータをフィールド毎に変換する。このように変換された埋め込みデータと、帳票データ（フォームデータ）とがオーバーレイモジュールからＯＳを介してプリンタドライバに出力されるのである。
【０１２４】
よって、プリンタドライバでは、すでに変換されたデータをそのままＰＤＬで表現された印刷データに変換するだけでよいので、従来のプリンタドライバを使用して上述したような複数のフォームを合成して作成したオーバーレイデータを１つのジョブとして印刷処理できる。
【０１２５】
〔第二実施例〕
本実施例では、ＬＡＮ上に接続されたマシン（情報処理装置）での利用に関してであるが、インターネットに接続された遠隔地のファイルサーバから帳票ファイルをダウンロードし、クライアントマシンで連続印刷する場合には、本発明の順次解析処理を使って、連続フォーム印刷に必要な全ての帳票ファイル名の列挙処理をシステムに依存しない関数ライブラリで提供すれば、帳票フォームがＬＡＮに接続された拠点ごとのファイルサーバに格納されていなくとも、ＷＡＮ上のどれか１つのファイルサーバに格納されているだけで、１ジョブの連続フォーム印刷機能を実現できる。これは、ファイルの一元管理につながると共に資源の有効利用につながる。
【０１２６】
以上説明したように、本第一及び第二実施例によれば、複数のフォームが連続した一連のフォームを、ほかの印刷物が混ざり合うことなく、１つの印刷物の固まりとして印刷することができる。
【０１２７】
また、１つの印刷ジョブ内で上記オーバーレイ印刷の処理を連続して実行することができる。
【０１２８】
また、予めプレプリントが設定された用紙カセットを随時変更することで、複数種の帳票フォームの連続印刷を提供することができる。
【０１２９】
また、フォームデータを表示させた状態で埋め込みデータを入力し、入力された埋め込みデータだけをファイルとして生成すること、また複合フォームに対して行うことができる。
【０１３０】
以上説明したように本実施の形態によれば、１つの印刷ジョブ内で上記オーバーレイ印刷の処理を連続して実行することができる。
【０１３１】
また、予めプレプリントが設定された用紙カセットを随時変更することで、複数種の帳票フォームの連続印刷を提供することができる。
【０１３２】
また、フォームデータを表示させた状態で埋め込みデータを入力し、入力された埋め込みデータだけをファイルとして生成すること、また複合フォームに対して行うことができる。
【発明の効果】
以上説明したように本発明によれば、
埋め込みデータが埋め込まれる複数のフィールドを有する複数種のフォームデータを１つの１つのページに使用されることを定義し、複数ページのページ構造を定義している複合フォーム情報を生成し、この複合フォーム情報で定義されているページ構造に従って、複数種のフォームファイルを順次受け取り、受け取った複数種のフォームデータと、該フォームデータが有する複数のフィールドに埋め込まれる埋め込みデータとから１つの印刷ジョブを生成することにより、１つのページに複数種のフォームデータを使用した複数ページの印刷ジョブを容易に作成することができ、更に、複合フォーム情報で定義されるページ構造を情報処理装置の表示領域に表示し、任意のページが指定されている状態で追加指示を受けると、当該指定されたページに新たなフォームファイルの追加を行って前記複合フォーム情報を生成するので、ユーザにとって容易に、複雑な複合フォームを作成することができる。
【図面の簡単な説明】
【図１】本発明の実施形態を示すブロック図である。
【図２】本発明のモジュール構成を示すブロック図である。
【図３】フォームファイルを生成するアプリケーションソフトウェアのユーザインタフェースを示す図である。
【図４】複合フォームを設定するアプリケーションソフトウェアのユーザインタフェースを示す図である。
【図５】本発明の複合フォームファイルのファイルフォーマットを示す図である。
【図６】埋め込みデータファイルを生成するアプリケーションソフトウェアのユーザインタフェースを示す図である。
【図７】オーバーレイをするフォームと埋め込みデータを設定するアプリケーションソフトウェアのユーザインタフェースを示す図である。
【図８】本発明の順次解析処理で使われるリスト構造を持つクラスＣＦｏｒｍＬｉｓｔのメンバ変数を示す図である。
【図９】本発明の帳票オブジェクトのメモリ展開処理の流れ示すフローチャートである。
【図１０】本発明の順次解析処理の流れ示すフローチャートである。
【図１１】本発明の埋め込みデータ生成処理の流れを示すフローチャートである。
【図１】
0003796360.tif 000003
【図２】
0003796360.tif 000004
【図３】
0003796360.tif 000005
【図４】
0003796360.tif 000006
【図５】
0003796360.tif 000007
【図６】
0003796360.tif 000008
【図７】
0003796360.tif 000009
【図８】
0003796360.tif 000010
【図９】
0003796360.tif 000011
【図１０】
0003796360.tif 000012
【図１１】
0003796360.tif 000013