(57)【特許請求の範囲】
【請求項１】
後付けデータと、前記後付けデータが配置されるフォームとを用いた描画処理によりページのデータが得られるたびに前記ページのデータをＯＳの描画モジュールに出力する機能を有する情報処理装置であって、
複数の用紙を重ねて２つ折りすることで本を生成する製本印刷と、複数のフォームを含むフォーム設定ファイルから選択された１つのフォームに前記本の最終ページに使用されることを示す識別情報を設定する設定手段と、
前記フォーム設定ファイルから１つ目の第１フォームを取得した場合に、前記第１フォームに前記識別情報が設定されているか否かを判定し、前記第１フォームに前記識別情報が設定されていないと判定された場合、後付けデータと、前記第１フォームとを用いた描画処理により得られる第１ページのデータをＯＳの描画モジュールに出力し、総ページ数に１ページを加算する出力手段と、
前記第１ページのデータが前記描画モジュールに出力された後に前記フォーム設定ファイルから２つ目の第２フォームを取得し、かつ、前記第２フォームに前記識別情報が設定されていると判定した場合、前記総ページ数に１ページを加算し、後付けデータと、前記第２フォームとを用いた描画処理により得られる第２ページのデータをＯＳの描画モジュールに出力する前に１ページが加算された前記総ページ数と、挿入ページの数との和が４の倍数となるように挿入ページの数を導出する導出手段と、
を有し、
前記出力手段は、前記導出された数の挿入ページを前記描画モジュールに出力した後に前記第２ページのデータを前記描画モジュールに出力することを特徴とする情報処理装置。
【請求項２】
前記フォーム設定ファイルに含まれる複数のフォームを表示する表示手段を更に有し、
前記設定手段は、前記表示された複数のフォームから選択された１つのフォームに前記識別情報を設定することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記設定手段は、前記本を生成するために分冊製本を設定することを特徴とする請求項１に記載の情報処理装置。
【請求項４】
後付けデータと、前記後付けデータが配置されるフォームとを用いた描画処理によりページのデータが得られるたびに前記ページのデータをＯＳの描画モジュールに出力する機能を有する情報処理装置が実行する情報処理方法であって、
複数の用紙を重ねて２つ折りすることで本を生成する製本印刷と、複数のフォームを含むフォーム設定ファイルから選択された１つのフォームに前記本の最終ページに使用されることを示す識別情報を設定する設定ステップと、
前記フォーム設定ファイルから１つ目の第１フォームを取得した場合に、前記第１フォームに前記識別情報が設定されているか否かを判定し、前記第１フォームに前記識別情報が設定されていないと判定された場合、後付けデータと、前記第１フォームとを用いた描画処理により得られる第１ページのデータをＯＳの描画モジュールに出力し、総ページ数に１ページを加算する出力ステップと、
前記第１ページのデータが前記描画モジュールに出力された後に前記フォーム設定ファイルから２つ目の第２フォームを取得し、かつ、前記第２フォームに前記識別情報が設定されていると判定した場合、前記総ページ数に１ページを加算し、後付けデータと、前記第２フォームとを用いた描画処理により得られる第２ページのデータをＯＳの描画モジュールに出力する前に１ページが加算された前記総ページ数と、挿入ページの数との和が４の倍数となるように挿入ページの数を導出する導出ステップと、
を含み、
前記出力ステップでは、前記導出された数の挿入ページを前記描画モジュールに出力した後に前記第２ページのデータを前記描画モジュールに出力することを特徴とする情報処理方法。
【請求項５】
前記フォーム設定ファイルに含まれる複数のフォームを表示する表示ステップを更に含み、
前記設定ステップでは、前記表示された複数のフォームから選択された１つのフォームに前記識別情報を設定することを特徴とする請求項４に記載の情報処理方法。
【請求項６】
前記設定ステップでは、前記本を生成するために分冊製本を設定することを特徴とする請求項４に記載の情報処理方法。
【請求項７】
後付けデータと、前記後付けデータが配置されるフォームとを用いた描画処理によりページのデータが得られるたびに前記ページのデータをＯＳの描画モジュールに出力する機能を有するコンピュータに、
複数の用紙を重ねて２つ折りすることで本を生成する製本印刷と、複数のフォームを含むフォーム設定ファイルから選択された１つのフォームに前記本の最終ページに使用されることを示す識別情報を設定する設定ステップと、
前記フォーム設定ファイルから１つ目の第１フォームを取得した場合に、前記第１フォームに前記識別情報が設定されているか否かを判定し、前記第１フォームに前記識別情報が設定されていないと判定された場合、後付けデータと、前記第１フォームとを用いた描画処理により得られる第１ページのデータをＯＳの描画モジュールに出力し、総ページ数に１ページを加算する出力ステップと、
前記第１ページのデータが前記描画モジュールに出力された後に前記フォーム設定ファイルから２つ目の第２フォームを取得し、かつ、前記第２フォームに前記識別情報が設定されていると判定した場合、前記総ページ数に１ページを加算し、後付けデータと、前記第２フォームとを用いた描画処理により得られる第２ページのデータをＯＳの描画モジュールに出力する前に１ページが加算された前記総ページ数と、挿入ページの数との和が４の倍数となるように挿入ページの数を導出する導出ステップと、
を実行させ、
前記出力ステップでは、前記導出された数の挿入ページを前記描画モジュールに出力した後に前記第２ページのデータを前記描画モジュールに出力させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置及び情報処理方法に関する。
【背景技術】
【０００２】
近年、プリンタが発達し、オフィス環境でも手軽に製本印刷が可能になった。これに伴い、例えば保険帳票等の帳票を生成する際にも、製本印刷したいというユーザが増えている。このとき、製本印刷時に「特定の最終ページを必ず製本の最後（裏表紙）に出したい」というユーザの要望がある。なお、本願の製本印刷は複数の用紙を重ねて２つ折りすることで本を生成することを想定している。
【０００３】
これを実現するため、印刷ジョブの途中で白紙ページを挿入することによりページ数を調整し、最終ページを裏表紙に配置するという技術がある。図１２は、製本印刷において、最終ページを裏表紙に配置するために白紙を挿入する一例を示す図である。なお、図１２は製本印刷した印刷物を横から見た図であり、印刷ジョブの総ページ数が５ページの場合である。
【０００４】
７０３、７０４は、１枚の用紙を表している。通常の製本印刷のケース７０１では、最終ページである５ページ目の後に、３ページ分の白紙が追加されている。これに対して裏表紙（最終ページ）を設定するケース７０２では、５ページ目の前に３ページ分の白紙を挿入している。これにより結果として、５ページ目が製本の裏表紙の位置に印刷される。
【０００５】
７０２で示されるような製本を実現するための従来の技術として、まず紙の原稿を全てスキャンして、その総ページ数を基に必要な白紙ページ数を算出する。そして、算出されたページ数の白紙ページを挿入することで最後のページを裏表紙に配置して製本印刷する技術が開示されている（特許文献１参照）。
【０００６】
また同様に、例えばＰＤＦのように、予め総ページ数が分かっているファイルに対して、印刷時に白紙を挿入するアプリケーションも存在する。
【０００７】
【特許文献１】特開平１１−２２４０２７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかし、上記従来の技術が、帳票の固定部分（フォーム）と後付けデータとでオーバレイ印刷を行うようなアプリケーションに適用された場合には以下の様な問題がある。
【０００９】
まずオーバレイ印刷を行うアプリケーションについて、図１３で説明する。図１３は、フォームと後付けデータとを用いてオーバレイ印刷する一例を示す図である。まずユーザは、複合フォーム設定ファイル３０１と後付けデータ３０２とを、オーバレイ印刷のライブラリに指定する。図１４は、複合フォーム設定ファイルの内容の一例を示す図である。複合フォーム設定ファイルには、ジョブ属性５０１と、フォーム属性５０２、５０３が記述されている。ジョブ属性５０１には、ジョブ全体の印刷属性等の設定が記述されている。図１４の例では、ジョブ属性として製本印刷の指定がされている。フォーム属性５０２、５０３には、各フォームの参照情報、設定された印刷属性が記述されている。例えばフォーム属性５０２では、「フォーム１．ｆｃｐ」というファイル名のフォームを使用することが記述されている。そしてフォーム属性５０２の各種設定の組み合わせを「フォームＡ」という名前で定義されている。同様にフォーム属性５０３では「フォームＢ」と定義されている。
【００１０】
次にフォームについて説明する。図１５は、フォームの一例を示す図である。フォームは、データによらず固定的に印刷される固定部分４０１と、後付けデータが流しこまれるフィールド４０２（領域）とで構成される。
次に後付けデータファイルについて説明する。図１６は、後付けデータファイルの一例を示す図である。後付けデータファイルは、フォーム指定６０１、６０３と、フィールド４０２に流し込む後付けデータ６０２、６０４とで構成される。
【００１１】
オーバレイ印刷アプリケーションは、後付けデータファイル６００と、複合フォーム設定ファイルと、を読み込み、フォームの指定を解析する。図１６の例では「フォームＡ」が指定されている。続いて、オーバレイ印刷アプリケーションは、図１４の複合フォーム設定ファイルを解析して「フォームＡ」で使用するフォームが「フォーム１．ｆｃｐ」であることを知る。そして、オーバレイ印刷アプリケーションは、「フォーム１．ｆｃｐ」のフィールドに対して、データ６０２で指定された後付けデータ"あああ"を流し込む。以上の処理を、オーバレイ印刷アプリケーションが、全ての後付けデータに対して実行することで、図１３に示すような印刷結果３０６〜３０８が得られる。この一連の処理を、オーバレイ印刷と呼ぶ。
【００１２】
上記で述べたように、オーバレイ印刷アプリケーションの場合、後付けデータを解析しながら印刷ジョブを生成していく。そのため印刷ジョブの総ページ数は後付けデータに依存し、可変的である。つまりオーバレイ印刷アプリケーション内の印刷処理の途中では総ページ数が不定であり、全ての後付けデータを解析するまで分からない。しかし総ページ数がわからなければ、上述した従来技術を用いたとしても最終ページを裏表紙に配置するために挿入すべき白紙ページ数を算出することができない。つまり、後付けデータを解析しながら印刷ジョブを生成するオーバレイ印刷アプリケーションでは、最終ページを裏表紙に配置することができず、ユーザが希望する印刷結果を出力することができない。
【００１３】
以上と同様の内容を図１７で示している。図１７は、従来技術の問題点を説明するための図である。なお、図１７では総ページ数が３ページの場合を例に説明している。オーバレイ印刷アプリケーションは、全ての後付けデータを解析した後、白紙を１ページ挿入する必要があると算出できるが、既に各ページは描画処理を終了しているため、白紙を挿入することができない。つまり、オーバレイアプリケーションは、１ページ目のデータについて後付けデータとフォームとを用いたマージ処理が終了すると、当該１ページ目のデータを印刷すべくＯＳのＧＤＩモジュールに描画データを発行する。２、３ページ目も順次発行される。そのため、３ページ目の描画データをＧＤＩモジュールへ発行した後、オーバレイアプリケーションが、当該３ページ目が最終ページであると認識できても、２ページ目と３ページ目との間に白紙ページを挿入することができない。よって、３ページ目を本の裏表紙（最終ページ）に配置することができず、ユーザが所望とする印刷物を得ることができない。
【００１４】
なお、オーバレイ印刷アプリケーションが、全ての後付データを一旦解析することで総ページ数を事前に算出した後、印刷ジョブを生成する処理を実行することで、最終ページが裏表紙に印刷されるように白紙を挿入することができる。しかしこの方法では処理時間が増加してしまうという問題点が生じるおそれがあった。
【００１５】
本発明はこのような問題点に鑑みなされたもので、効率的な処理を行いながらユーザが所望とする印刷結果を出力することを目的とする。
【課題を解決するための手段】
【００１６】
そこで、本発明の情報処理装置は、後付けデータと、前記後付けデータが配置されるフォームとを用いた描画処理によりページのデータが得られるたびに前記ページのデータをＯＳの描画モジュールに出力する機能を有する情報処理装置であって、複数の用紙を重ねて２つ折りすることで本を生成する製本印刷と、複数のフォームを含むフォーム設定ファイルから選択された１つのフォームに前記本の最終ページに使用されることを示す識別情報を設定する設定手段と、前記フォーム設定ファイルから１つ目の第１フォームを取得した場合に、前記第１フォームに前記識別情報が設定されているか否かを判定し、前記第１フォームに前記識別情報が設定されていないと判定された場合、後付けデータと、前記第１フォームとを用いた描画処理により得られる第１ページのデータをＯＳの描画モジュールに出力し、総ページ数に１ページを加算する出力手段と、前記第１ページのデータが前記描画モジュールに出力された後に前記フォーム設定ファイルから２つ目の第２フォームを取得し、かつ、前記第２フォームに前記識別情報が設定されていると判定した場合、前記総ページ数に１ページを加算し、後付けデータと、前記第２フォームとを用いた描画処理により得られる第２ページのデータをＯＳの描画モジュールに出力する前に１ページが加算された前記総ページ数と、挿入ページの数との和が４の倍数となるように挿入ページの数を導出する導出手段と、を有し、前記出力手段は、前記導出された数の挿入ページを前記描画モジュールに出力した後に前記第２ページのデータを前記描画モジュールに出力することを特徴とする。
【００１９】
また、本発明は、情報処理方法及びプログラムとしてもよい。
【発明の効果】
【００２０】
本発明によれば、ジョブ生成中に効率的に裏表紙を設定することができる。
【発明を実施するための最良の形態】
【００２１】
以下、本発明の実施形態について図面に基づいて説明する。
【００２２】
図１Ａは、帳票等のデータを印刷するシステム１００の一例を示す図である。図１Ａに示される機能等は、図１Ｂに示すコンピュータ（情報処理装置）１０１で実現される。レイアウト編集、設定ファイル編集や印刷のステップは、コンピュータモジュール（コンピュータ）１０１にて実行されるソフトウェアの指示によって実行される。ソフトウェア（プログラム）は、例えば以下に記述されるようなＨＤＤ１４０等の記憶媒体等に格納される。ソフトウェアは記憶媒体からメモリユニット１３６等にロードされ、ＣＰＵ１３５によって実行される。
【００２３】
コンピュータ１０１は、キーボード１３２やマウス１３３のようなポインティングデバイス等の入力装置をつなぎ、ディスプレイ装置１４４や状況に応じてはローカルプリンタ１４５を含む出力装置を連結する。入力／出力インターフェース（Ｉ／Ｏインターフェース）１３８は、コンピュータ１０１をネットワーク接続１０７に接続して、システム１００の他のコンピュータ装置等に繋げることができる。そのネットワーク接続１０７の典型はローカルエリアネットワーク（ＬＡＮ）、或いはワイドエリアネットワーク（ＷＡＮ）である。
【００２４】
コンピュータ１０１は、典型的に少なくとも１つのＣＰＵ１３５や、ＲＡＭ、ＲＯＭから構成されるメモリユニット１３６、ビデオインタフェース１３７、Ｉ／Ｏインターフェース１３８を含んでいる。また、コンピュータ１０１は、キーボード１３２やマウス１３３のためのＩ／Ｏインターフェース１４３も含んでいる。記憶装置（ストレージデバイス）１３９は、典型的にハードディスクドライブ（ＨＤＤ）１４０やフロッピー（登録商標）ディスクドライブ（ＦＤＤ）１４１を含んでいる。
【００２５】
なお、図１Ｂには示されていないが磁気テープドライブも、コンピュータ１０１の構成として含めてもよい。ＣＤ−ＲＯＭドライブ１４２は、ＣＤ−ＲＯＭに記録されているデータ等をＣＤ−ＲＯＭから読み取る。
【００２６】
上述したようにＣＰＵ１３５が、ソフトウェア（又はプログラム）を実行することによって、後述する本実施形態に係る機能、又は処理が実現される。
フォーム作成アプリケーション１２１は、典型的にはＨＤＤ１４０に記録され、ＣＰＵ１３５によりメモリユニット１３６等に読み込まれ、実行される。
【００２７】
また、フォーム作成アプリケーション１２１は、フォームの作成や印刷の指示を行い、２つのソフトウェアコンポーネントを含んでいる。これらのうち１つめのコンポーネントはライブラリ１０５である。ライブラリ１０５は、オーバレイ印刷処理等の処理を行うソフトウェアコンポーネントである。２つめのコンポーネントはユーザインターフェース１０３である。ユーザインターフェース１０３は、ユーザにフォームや設定ファイル等を作成、編集させる機能を提供する。ユーザインターフェース１０３とライブラリ１０５とはコミュニケーションチャネル１２３を介して通信する。なお、オーバレイとは後付けデータと、当該後付けデータを入力するための領域を備えたフォームとをマージして描画データを生成する処理を指す。
【００２８】
ドキュメント生成のためのデータソースは、一般的にデータベースアプリケーションを動かしている他のコンピュータによって構成されたデータベースサーバー１１７上にある典型的なデータベース１１９に格納されている。コンピュータ１０１は、ネットワーク接続１０７の機能によってデータベースサーバー１１７と通信する。フォーム作成アプリケーション１２１は、コンピュータ１０１か、他のコンピュータで構成されるファイルサーバー１１５に保存されるフォーム、又は設定ファイルを生成する。これらのドキュメントは、コンピュータ１０１のローカルファイルシステムに保存されるか、ファイルサーバー１１５に保存されるか、或いはプリンタ１１３に直接印刷される。プリントサーバー１０９は、直接ネットワークに繋がっていないプリンタにネットワーク機能を提供するコンピュータである。プリントサーバー１０９とプリンタ１１３とは典型的な通信チャネル１１１を介して接続される。
【００２９】
図２は、エンジンサーバー２２７を除き、ライブラリ１０５の分離バージョンのライブラリ２２５を含む図１Ａ、図１Ｂの類似の図である。エンジンサーバー２２７は、典型的なコンピュータである。ファイルサーバー１１５に保存されたフォームは、印刷や他の目的がある際、ライブラリ２２５によってドキュメントを生成するためにデータベース１１９に保存されたデータと共にオーバレイ印刷される。このようなオペレーションはユーザインターフェース１０３を介して要求されるか、インターフェース２２８からユーザがライブラリ２２５に対して指示をすることにより実現される。
【００３０】
＜実施形態１＞
本実施形態では、複合フォーム設定ファイルのフォーム属性に、裏表紙であることを示すフラグ（識別情報）を設定する例を説明する。
ここで、複合フォーム設定ファイル、フォーム、後付けデータファイルについて図１４から図１６を用いて説明する。
図１４は、複合フォーム設定ファイルの内容の一例を示す図である。複合フォーム設定ファイルには、ジョブ属性５０１と、フォーム属性５０２、５０３が記述されている。ジョブ属性５０１には、ジョブ全体の印刷属性等の設定が記述されている。図１４の例では、ジョブ属性として製本印刷の指定がされている。フォーム属性５０２、５０３には、フォーム情報として各フォームの参照情報、設定された印刷属性が記述されている。
次にフォームについて説明する。図１５は、フォームの一例を示す図である。フォームは、データによらず固定的に印刷される固定部分４０１と、後付けデータが流しこまれるフィールド４０２（領域）とで構成される。
次に後付けデータファイルについて説明する。図１６は、後付けデータファイルの一例を示す図である。後付けデータファイルは、フォーム指定６０１、６０３と、フィールド４０２に流し込む後付けデータ６０２、６０４とで構成される。
続いて、複合フォーム設定ファイルにフラグ（識別情報）を設定する方法を述べる。図３は、フォーム作成アプリケーション１２１（フォーム作成アプリケーション１２１のエディタ機能）で複合フォーム設定ファイルを編集する一例を示す図である。図３では、複合フォーム設定ファイルをフォーム作成アプリケーション１２１で開いた例を図示している。フォーム作成アプリケーション１２１の左側の領域１００２では、複合フォーム設定ファイルの内容が、ページ単位にツリー形式で表示されている。右側の領域１００３では、現在選択されているフォームが表示されている。図３の例ではユーザがフォームＣを選択している状態を示している。つまり複合フォーム設定ファイルに記述されたフォームＣの格納先に保存されているフォームが表示される。ユーザは裏表紙にしたいフォームをマウス等で選択する。図３の例では、ユーザが、フォームＣのプロパティを開くことを指示した結果、フォームＣのプロパティダイアログ１００４がディスプレイ装置１４４等に表示される。ここでユーザは、当該フォームを裏表紙に印刷することを示すチェックをＯＮにする（フラグ設定）。また、本フォーム作成アプリケーション１２１は、ユーザの指示により製本印刷を実行するための設定を受け付けることができる。なお、製本とは、例えば図１２のように複数の用紙を重ねて２つ折りする処理を指す。また、その他にも分冊製本等もあるが、既に公知の技術であるため詳細な説明は省略する。
【００３１】
図４は、図３に示す操作によってフォーム作成アプリケーション１２１が作成する複合フォーム設定ファイルの一例を示す図である。フォームＣの印刷属性として、当該フォームＣが「裏表紙」（最終ページ）に配置されることを示すフラグが設定されている。また、図４の設定ファイルイは製本印刷用に生成されたため、ジョブ属性として「製本」と記述されている。ジョブ属性には、ジョブ全体の印刷属性等の設定が記述されている。
次に、図４、図６を用いて、図５のフローチャートの処理を説明する。図５は、実施形態１における印刷ジョブの生成に係る処理の一例を示すフローチャートである。図６は、印刷ジョブ生成処理のより具体的な例を示す図である。
【００３２】
ステップＳ１１００において、フォーム作成アプリケーション１２１のライブラリ２２５は、ユーザから指定された複合フォーム設定ファイルを解析して、複合フォーム設定ファイルに記述されていた情報を保持する。
【００３３】
ステップＳ１１０１において、ライブラリ２２５は、ステップＳ１１００で保持した設定ファイルの内、フォーム属性を一つ取得し、データが終了か否かを判定する。ライブラリ２２５は、フォーム属性を取得できた場合、データは終了していないと判定し、ステップＳ１１０２に進み、フォーム属性を取得できなかった場合、データは終了したと判定し、図５に示す処理を終了する。複合フォーム設定ファイルが図４の場合、まず、ライブラリ２２５は、フォーム属性であるフォームＡを一つ取得する。取得できるので、ライブラリ２２５は、ステップＳ１１０２に進む。
【００３４】
ステップＳ１１０２において、ライブラリ２２５は、フォームＡの印刷属性等を解析する。
ステップＳ１１０３において、ライブラリ２２５は、解析の結果に基づいて、フォームＡの印刷属性に、「裏表紙」（最終ページ）であることを示すフラグが設定されているか否かを判定する。ライブラリ２２５は、「裏表紙」（最終ページ）であることを示すフラグが設定されていると判定すると、ステップＳ１１０５に進む。一方、ライブラリ２２５は、「裏表紙」（最終ページ）であることを示すフラグが設定されていないと判定すると、ステップＳ１１０４に進む。図４の例では、フォームＡの印刷属性に、「裏表紙」（最終ページ）であることを示すフラグは設定されていないため、ライブラリ２２５は、ステップＳ１１０４に進む。
【００３５】
ステップＳ１１０４において、ライブラリ２２５は、フォームと後付けデータとを用いて描画処理を実行する。図４の例では、フォームＡのＦＯＲＭ（フォーム１．ｆｃｐ）と、印刷属性と、フォームＡに係る指定（図６のＦＯＲＭ＝フォームＡ）の後付けデータ（"あああ"）と、を用いて、１ページ目の描画を行う（図６の８０１０）。この際、ライブラリ２２５は、ページ数を１ページ分加算する。
続いて、ステップＳ１１０１において、ライブラリ２２５は、ステップＳ１１００で保持した設定ファイルの内、次のフォーム属性を一つ取得し、データが終了か否かを判定する。複合フォーム設定ファイルが図４の場合、ライブラリ２２５は、フォーム属性であるフォームＢを一つ取得する。取得できるので、ライブラリ２２５は、ステップＳ１１０２に進む。
【００３６】
続いて、ライブラリ２２５は、フォームＢについてもＳ１１０２からＳ１１０４の処理を実行する。
【００３７】
ステップＳ１１０４において、ライブラリ２２５は、フォームＢのＦＯＲＭ（フォーム２．ｆｃｐ）と、印刷属性、フォームＢに係る指定（図６のＦＯＲＭ＝フォームＢ）のデータ（"いい、うう"）と、を用いて、２ページ目の描画を行う（図６の８０２０）。この際、ライブラリ２２５は、ページ数を１ページ分加算する。
続いて、ステップＳ１１０１において、ライブラリ２２５は、ステップＳ１１００で保持した設定ファイルの内、次のフォーム属性を一つ取得し、データが終了か否かを判定する。複合フォーム設定ファイルが図４の場合、ライブラリ２２５は、フォーム属性であるフォームＣを一つ取得する。取得できるので、ライブラリ２２５は、ステップＳ１１０２に進む。
【００３８】
ステップＳ１１０２において、ライブラリ２２５は、フォームＣの印刷属性等を解析する。
ステップＳ１１０３において、ライブラリ２２５は、解析の結果に基づいて、フォームＣの印刷属性に、「裏表紙」（最終ページ）であることを示すフラグが設定されているか否かを判定する。図４の例では、フォームＣの印刷属性に、「裏表紙」（最終ページ）であることを示すフラグが設定されているため、ライブラリ２２５は、ステップＳ１１０５に進む。
【００３９】
ステップＳ１１０５において、ライブラリ２２５は、印刷ジョブに係る製本の総ページ数を算出する（総ページ数算出）。図４の複合フォーム設定ファイル、図６の後付けデータファイルの場合、ライブラリ２２５は、総ページ数を３ページと算出する（図６の８０３０）。つまり、生成済みの２ページ分の描画データに、最終ページを示すフラグが設定されたフォームを用いた１ページを加算することで総ページ数（３ページ）を算出する。なお、図６に示されるように、後付けデータとフォームとは、関連付けて設定されている。なお、後付けデータファイルとは、使用するフォームと後付けデータとの組み合わせを含むデータを指す。また、図４の後付けデータファイルは、複数ページ分の後付けデータを含んでいるが、それに限られる必要はない。
【００４０】
ステップＳ１１０６において、ライブラリ２２５は、フォームＣを裏表紙（最終ページ）に配置するために挿入する白紙ページの数（Ｎ）を算出する（挿入ページ数算出）。より具体的には、ライブラリ２２５は、（４×用紙枚数）÷総ページ数によって得られる余りを白紙ページの数（Ｎ）とする。なお、用紙枚数は、総ページ数÷４によって得られる。ここで、余りが発生した場合、切り上げた値を用紙枚数として取り扱う。例えば、総ページ数が５である場合、用紙枚数は「２」となる。また、例えば１枚の印刷用紙に８ページ分の印刷データが印刷される場合、上記式の「４」は「８」に変えて計算する。
図４の複合フォーム設定ファイル、図６の後付けデータの場合、ライブラリ２２５は、（４×１）÷３によって得られる余り「１」を白紙ページの数として算出する（図６の８０３０）。よって、フォームＣを裏表紙（最終ページ）に配置するために、ライブラリ２２５は、１ページ分の白紙ページを挿入する。
【００４１】
ステップＳ１１０７において、ライブラリ２２５は、Ｎページ分の白紙ページを描画する処理を実行する（図６の８０３０）。
ステップＳ１１０８においてライブラリ２２５は、フォームＣのＦＯＲＭ（フォーム３．ｆｃｐ）と、印刷属性、フォームＣに係る指定（図６のＦＯＲＭ＝フォームＣ）のデータ（"えええ"）と、を用いて、裏表紙（最終ページ）の描画を行う（図６の８０４０）。
【００４２】
以上の処理により、複合フォーム設定ファイルにフラグを持たせることで、ライブラリ２２５はシーケンシャルな処理で、ユーザが所望とするページを製本の裏表紙に配置するために必要な白紙ページを挿入することができる。よって、処理効率を低下させることなく、ユーザが所望とする印刷物を出力することができる。
【００４３】
＜実施形態２＞
実施形態１では複合フォーム設定ファイル内に裏表紙であることを示すフラグを持たせる一例を説明した。実施形態２では、後付けデータ内にフラグを持たせる一例を説明する。
【００４４】
図７は、後付けデータ内にフラグを持たせる一例を示す図である。図７の後付けデータファイルの例では後付けデータ"いいい"の後に"｛￥ＢｏｏｋＥｎｄ｝"というフラグ（記述）１３０１が記載されている。"｛￥ＢｏｏｋＥｎｄ｝"というフラグ１３０１は、予めライブラリ２２５が定義している文字列であり、裏表紙の意味を表す。なお、フラグを意味する文字列自体は予め定義さえされていれば、どんな文字列でもよい。
【００４５】
ライブラリ２２５は、後付けデータ解析時に、フラグ１３０１を読み取ると、その後付けデータが配置されるページが裏表紙になるとみなして、実施形態１に示したような処理を行う。
より具体的には、ライブラリ２２５が、図７の後付けデータのフォームＡをフォームとして使用する区分について最終ページであることを示す「ＢｏｏｋＥｎｄ」フラグが設定されているか否かを判定する。その結果、設定されていないので総ページ数として１ページ分を加算する。
続いて、ライブラリ２２５が、図７の後付けデータのフォームＢをフォームとして使用する区分について最終ページであることを示す「ＢｏｏｋＥｎｄ」フラグが設定されているか否かを判定する。その結果、「ＢｏｏｋＥｎｄ」フラグが設定されているので現段階での総ページ数に、本後付けデータを用いる１ページを加算する。その結果、得られた総ページ数（２ページ）と、上述した式（（４×用紙枚数）÷総ページ数）によって得られる余り）を計算する。その結果、（４×１）÷２が計算され、余り「２」が算出される。よって、ライブラリ２２５は、図７の後付けデータ用に２ページ分の白紙を挿入することで"いいい"を裏表紙（最終ページ）に印刷することができる。
【００４６】
＜実施形態３＞
実施形態１、２では、裏表紙であることを示すフラグを複合フォーム設定ファイル、又は後付けデータ内に持たせる例を説明した。これに対して実施形態３では、フラグを持たせない例を説明する。
【００４７】
図８は、実施形態３の処理を説明するための図である。ライブラリ２２５は、後付けデータから現在処理しているページ分のデータを解析する際に、次のページのフォーム指定があるかどうかまでを解析する。そして、ライブラリ２２５は、次のフォーム指定が無い場合に、そのページを裏表紙とみなして上述したような処理を実行する。
より具体的には、ライブラリ２２５が、図８の後付けデータファイル８００１のフォームＡをフォームとして使用する区分について解析する際、次ページ用にフォーム指定があるか否かを判定する。図８では、次ページ用にフォームＢをフォームとして使用することが指定されているため、フォーム作成アプリケーションは、フォームＡをフォームとして使用する区分について描画する。
続いて、ライブラリ２２５は、図８の後付けデータファイル８００１のフォームＢをフォームとして使用する区分について解析する際、次ページ用にフォーム指定があるか否かを判定する。図８では、次ページ用にフォームＣをフォームとして使用することが指定されているため、フォーム作成アプリケーションは、フォームＢをフォームとして使用する区分について描画する。
図８の後付けデータファイル８００１のフォームＣをフォームとして使用する区分について解析する際、次ページ用にフォーム指定があるか否かを判定する。図８では、次ページ用にフォーム指定がないため、ライブラリ２２５は、現在解析しているフォームＣが最終ページであると認識して、総ページ数を算出する。つまり、フォームＣを用いる後付けデータにより１ページ分の描画データが生成されるので、フォーム作成アプリケーションは、総ページ数として３ページを算出できる。ここで、現段階での総ページ数と、上述した式（４×用紙枚数）÷総ページ数によって得られる余りを計算する。
【００４８】
これにより、ライブラリ２２５は、後付けデータ内のフォーム指定部分のみを２回解析するだけで、処理時間を大きく増やすことなく白紙を挿入することができる。つまり、図８の後付けデータファイル８００１を全て解析することなく、フォーム指定部分の有無についてのみ解析すればよいので、従来技術よりも効率的に、かつ、ユーザに対するフラグの設定の負荷を軽減することができる。
実施形態３の効果は、フラグを設定することなく自動的に裏表紙を設定するため、ユーザの作業を削減することができる。本実施形態は、例えば印刷ジョブによらず、最後のページを必ず裏表紙にしたいような場合に有効である。
【００４９】
＜実施形態４＞
実施例１〜２では、最終ページを示すフラグが設定されたフォームによって生成されるページが、１ページであることを前提として説明してきた。また、実施例３でも、次ページ用にフォーム指定がないと判定された場合、現在の処理対象の後付けデータによって生成されるページが、１ページであることを前提として説明してきた。しかしながら、ユーザによっては、複数ページをまとめて最終ページ、最終ページ−１、最終ページ−２等に配置することを希望する可能性がある。
よって、本実施形態では、複数ページを最終ページ、最終ページ−１、最終ページ−２等にまとめて配置したい場合について説明する。例えば、ある製品の仕様内容をパンフレットの後半にまとめて配置したい場合等に本実施例を用いると有効である。図９は、後半部にまとめて配置したい複数のページを単一のフォームにて出力する一例を示す図である。図９の例では後半部にまとめて配置したいページが３ページ分ある。
一方、図１０は、後半部に配置したい複数のページを、複数のフォームにて出力する一例を示す図である。
【００５０】
図１１は、実施形態４における印刷ジョブの生成に係る処理の一例を示すフローチャートである。
ステップＳ１６００からステップＳ１６０４までの処理は、ステップＳ１１００からステップＳ１１０４までの処理と同様である。
【００５１】
ステップＳ１６０５において、ライブラリ２２５は、最終ページに配置することを示すフラグが設定されたフォームに配置される１ページ分の後付けデータを後付けデータファイル９００１から読み込みページ数をカウントする（計数する）。図９の後付けデータの場合、ライブラリ２２５は、最終ページに配置することを示すフラグが設定されたフォーム（図４のフォームＣ）に対応する１ページ分の後付けデータ"ええ"を読み込む。
【００５２】
ステップＳ１６０６において、ライブラリ２２５は、データが終了したか否かを判定する。ライブラリ２２５は、データが終了したと判定すると、ステップＳ１６０７に進み、データが終了していないと判定すると、ステップＳ１６０５に進む。
【００５３】
図９の後付けデータファイル９００１の例では、データが終了していないため、ライブラリ２２５は、ステップＳ１６０５に進み、後付けデータ"おお"を読み込む。続いて、ステップＳ１６０６において、ライブラリ２２５は、再び、データが終了したか否かを判定する。図９の後付けデータファイル９００１の例では、データが終了していないため、ライブラリ２２５は、ステップＳ１６０５に進み、後付けデータ"かか"を読み込む。続いて、ステップＳ１６０６において、ライブラリ２２５は、再び、データが終了したか否かを判定する。図９の後付けデータの例では、データが終了したため、ライブラリ２２５は、ステップＳ１６０７に進む。
【００５４】
ステップＳ１６０７において、ライブラリ２２５は、Ｓ１６０４において描画されたデータと、ステップＳ１６０５において読み込んだデータとを用いて、総ページ数を計算する。図４の複合フォーム設定ファイル９０１と、図９の後付けデータファイル９００１とを用いる場合、ライブラリ２２５は、総ページ数を５と算出する。
ステップＳ１６０８において、ライブラリ２２５は、Ｓ１６０７に用いて算出された総ページ数と上述した式とを用いて、フォームＣを使用するページをまとめて後半部に配置するために挿入する白紙ページの数（Ｎ）を算出する。なお、上述した式とは、（（４×用紙枚数）÷総ページ数によって得られる余り）である。図４の複合フォーム設定ファイル９０１と、図９の後付けデータファイル９００１が使用される場合、ライブラリ２２５は、白紙ページの数を３と算出する。
【００５５】
ステップＳ１６０９において、ライブラリ２２５は、Ｎページ分の白紙ページを描画する処理を実行する。なお、白紙ページを描画する処理とは、実際にＮページ分の白紙ページを描画しても良いし、Ｎページ分の改ページコマンドを挿入するのみでも良い。
ステップＳ１６１０において、ライブラリ２２５は、フォームＣのＦＯＲＭ（フォーム３．ｆｃｐ）と、印刷属性、フォームＣのフォームに配置される１ページ分の後付けデータ（"ええ"）と、を用いて、描画を行う。ライブラリ２２５は、データが終了したか否かを判定する。ライブラリ２２５は、データが終了したと判定すると、図１１に示す処理を終了し、データが終了していないと判定すると、ステップＳ１６１０に進む。
【００５６】
図９の後付けデータの例では、データが終了していないため、ライブラリ２２５は、後付けデータ"おお"と"かか"にも上述したＳ１６１０の処理を実行する。続いて、ステップＳ１６１１において、ライブラリ２２５は、データが終了したか否かを判定する。図９の後付けデータの例では、データが終了したため、ライブラリ２２５は、図１１に示す処理を終了する。
一方、図１０の後付けデータファイル１０００１と図４の複合フォーム設定ファイル９０１に最終ページを示すフラグが設定されたフォームＤが追加された設定ファイルとを用いた場合について説明する。
図４の複合フォーム設定ファイル９０１においてフォームＡとフォームＢには最終ページに配置することを示すフラグが設定されていない。よって、ライブラリ２２５は、フォームＡと当該フォームＡに配置される後付けデータ"あああ"とを用いた描画処理と、フォームＢと当該フォームＢに配置される後付けデータ"いい"、"うう"、"ええ"とを用いた描画処理を実行する。
続いて、フォームＣには最終ページに配置することを示すフラグが設定されているので、ライブラリ２２５は、フォームＣに配置される１ページ分の後付けデータ"おおお"を読み込む。さらに、ライブラリ２２５は、フォームＤにも最終ページに配置することを示すフラグが設定されているので、ライブラリ２２５は、フォームＤに配置される１ページ分の後付けデータ"かかか"を読み込む。
その結果、ライブラリ２２５は、図１０の後付けデータファイル１００１と上述した複合フォーム設定ファイルとを用いることで、総ページ数として６ページを算出できる。
そして、ライブラリ２２５は、算出された総ページ数と上述した式（（４×用紙枚数）÷総ページ数によって得られる余り）とを用いて、２ページ分の白紙が必要と算出できる。
その後、フォーム作成アプリケーションは、後付けデータ"おおお"と"かかか"について描画処理を行う。
つまり、図１０の後付けデータファイル１００１において、１０００２の部分だけページ数算出時と、描画時とにおいて２度読みすれば良く従来技術と比較して効率良く印刷することができる。
【００５７】
以上の処理により、全ページを２度読みするのではなく、必要な箇所（図９の９００２、図１０の１００２）だけ２度読みすれば良く、従来技術と比較して効率良くユーザが所望とする印刷物を出力することができる。
【００５８】
＜その他の実施形態＞
また、本発明の目的は、以下のようにすることによって達成される。即ち、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（又は記録媒体）を、システム或いは装置に供給する。そして、そのシステム或いは装置の中央演算処理手段（ＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行する。この場合、記憶媒体から読み出されたプログラムコード自体が上述した実施形態の機能を実現することになり、そのプログラムコードを記録した記憶媒体は本発明を構成することになる。
【００５９】
また、システム或いは装置の前記中央演算処理手段が読み出したプログラムコードを実行することにより、そのプログラムコードの指示に基づき、システム或いは装置上で稼働しているオペレーティングシステム（ＯＳ）等が実際の処理の一部又は全部を行う。その処理によって上述した実施形態の機能が実現される場合も含まれる。
【００６０】
更に、記憶媒体から読み出されたプログラムコードが、前記システム或いは装置に挿入された機能拡張カードや、接続された機能拡張ユニットに備わるメモリに書込まれたとする。その後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部又は全部を行い、その処理によって上述した実施形態の機能が実現される場合も含まれる。
【００６１】
本発明を前記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【００６２】
以上、上述した実施形態によれば、ジョブ生成中に効率的に裏表紙を設定することができる。
【００６３】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図面の簡単な説明】
【００６４】
【図１Ａ】帳票等のデータを印刷するシステム１００の一例を示す図である。
【図１Ｂ】コンピュータの構成の一例を示す図である。
【図２】エンジンサーバー２２７を除き、ライブラリ１０５の分離バージョン２２５を含む図１Ａ、図１Ｂの類似の図である。
【図３】フォーム作成アプリケーション１２１で複合フォーム設定ファイルを編集する一例を示す図である。
【図４】図３に示したような操作によってフォーム作成アプリケーション１２１によって作成された複合フォーム設定ファイルの一例を示す図である。
【図５】実施形態１における印刷ジョブの生成に係る処理の一例を示すフローチャートである。
【図６】印刷ジョブ生成処理のより具体的な例を示す図である。
【図７】後付けデータ内にフラグを持たせる一例を示す図である。
【図８】実施形態３の処理を説明するための図である。
【図９】裏表紙となるページが、単一のフォームで複数ページになる一例を示す図である。
【図１０】裏表紙となるページが、複数のフォームで複数ページになる一例を示す図である。
【図１１】実施形態４における印刷ジョブの生成に係る処理の一例を示すフローチャートである。
【図１２】製本印刷した印刷物を横から見た図である。
【図１３】フォームと後付けデータとを用いてオーバレイ印刷する一例を示す図である。
【図１４】複合フォーム設定ファイルの内容の一例を示す図である。
【図１５】フォームの一例を示す図である。
【図１６】後付けデータの一例を示す図である。
【図１７】従来技術の問題点を説明するための図である。
【符号の説明】
【００６５】
１０１  コンピュータ
１０３  ユーザインターフェース
１０５  ライブラリ
１２１  フォーム作成アプリケーション
【図１Ａ】
0005264148.tif 000002
【図１Ｂ】
0005264148.tif 000003
【図２】
0005264148.tif 000004
【図３】
0005264148.tif 000005
【図４】
0005264148.tif 000006
【図５】
0005264148.tif 000007
【図６】
0005264148.tif 000008
【図７】
0005264148.tif 000009
【図８】
0005264148.tif 000010
【図９】
0005264148.tif 000011
【図１０】
0005264148.tif 000012
【図１１】
0005264148.tif 000013
【図１２】
0005264148.tif 000014
【図１３】
0005264148.tif 000015
【図１４】
0005264148.tif 000016
【図１５】
0005264148.tif 000017
【図１６】
0005264148.tif 000018
【図１７】
0005264148.tif 000019