(57)【要約】【課題】バナー印刷の設定と仕上げ処理やレイアウト処理などの設定が併用されたジョブの結合による不具合を回避することができ、状況に応じて処理を適応することで、ユーザに最適な印刷出力を提供すること。【解決手段】バナー印刷を含む複数の印刷ジョブを結合して所定の加工設定を指定する際に、バナー印刷のデータを複数の印刷データと別に処理（１００３）し、複数の印刷データを１つの印刷データに結合（１００２）し、新規に作成したバナー印刷のデータ（１００４）と、結合された印刷データとを出力する。【選択図】      図１０
2004192247.tif 000002
【特許請求の範囲】
【請求項１】
バナー印刷の機能と複数のジョブを結合する機能とを有する印刷システムの印刷制御方法であって、
バナー印刷を含む複数の印刷ジョブを結合して所定の加工設定を指定する際に、バナー印刷のデータを複数の印刷データと別に処理する処理工程と、
前記複数の印刷データを１つの印刷データに結合する結合工程と、
前記処理工程で処理されたバナー印刷のデータと前記結合された印刷データとを出力する出力工程とを有することを特徴とする印刷制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、パーソナルコンピュータなどの情報処理装置とプリンタなどの印刷装置からなる印刷システムにおける印刷制御方法に関するものである。
【０００２】
【従来の技術】
従来、通常の印刷物の先頭に情報（印刷者名、印刷時間、印刷物名称など）を記載した紙を一枚挿入することにより、印刷物の識別を容易にするバナー印刷という機能がある。また、同様な機能として、印刷データを中間コードに変換した後に一時的に保存し、保存した複数の中間データを１つの中間コードに結合する処理を行い、複数のアプリケーションからの印刷に対して一括のレイアウト処理や仕上げ処理を可能にするジョブ結合という機能がある。
【０００３】
【発明が解決しようとする課題】
しかしながら、バナー印刷が設定された複数のジョブを結合し、仕上げ処理やレイアウト処理を指定した場合や、バナー印刷の設定と仕上げ処理やレイアウト処理などの設定が併用された複数のジョブを結合する場合に、結合された１つのジョブを指定された設定に従って印刷出力すると、図９に示すようなバナー印刷が設定された複数のジョブを結合してステイプルする場合や２ページ／枚に出力する場合に、ステイプル出力された途中にバナー印刷があったり、バナー印刷と印字データが１ページにレイアウトされたりというように、ユーザが意図しない印刷結果となる場合があった。
【０００４】
本発明は、上記課題を解決するためになされたものであり、バナー印刷の設定と仕上げ処理やレイアウト処理などの設定が併用されたジョブの結合による不具合を回避することができ、状況に応じて処理を適応することで、ユーザに最適な印刷出力を提供することを目的とする。
【０００５】
また、これらの処理をバナー印刷、レイアウト処理、仕上げ処理の設定状況に応じて、内部的に自動的に行うことにより、ユーザに意識させることなく最適な出力結果を提供することを目的とする。
【０００６】
【課題を解決するための手段】
上記目的を達成するために、本発明は、バナー印刷の機能と複数のジョブを結合する機能とを有する印刷システムの印刷制御方法であって、バナー印刷を含む複数の印刷ジョブを結合して所定の加工設定を指定する際に、バナー印刷のデータを複数の印刷データと別に処理する処理工程と、前記複数の印刷データを１つの印刷データに結合する結合工程と、前記処理工程で処理されたバナー印刷のデータと前記結合された印刷データとを出力する出力工程とを有することを特徴とする。
【０００７】
【発明の実施の形態】
以下、図面を参照しながら本発明に係る実施の形態を詳細に説明する。
【０００８】
まず、本実施形態を説明する前に、本発明を適用可能なプリンタとプリンタに接続されたパーソナルコンピュータ等の情報処理装置とからなるシステム、特に情報処理装置上で、プリンタに送信する印刷データを生成する前に、一旦、最終的にプリンタに送付する印刷データとは異なる形式のデータ形式（いわゆる中間コード）での一時保存を行うスプール手段としてのスプーラと、この中間コード形式で一時保存されたデータから改めて最終的にプリンタに送付する印刷データを生成するデスプール手段としてのデスプーラと、プリンタ制御コマンドを生成する手段としてのプリンタドライバとを備える印刷システムの構成について説明する。
【０００９】
図１は、本実施形態における印刷システムの構成を説明するブロック図である。尚、本発明に係る機能が実行されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、ＬＡＮ，ＷＡＮ等のネットワークを介して接続がなされ処理が行われるシステムであっても本発明を適用できる。
【００１０】
図１に示すように、ホストコンピュータ１００は、ＲＯＭ１０３のプログラム用ＲＯＭ或いは外部メモリ１１１に記憶された文書処理プログラム等に基づいて図形、イメージ、文字、表（表計算等を含む）等が混在した文書処理を実行するＣＰＵ１０１を備え、システムバス１０４を介して接続される各々のデバイスをＣＰＵ１０１が総括的に制御する。また、このＲＯＭ１０３のプログラム用ＲＯＭ或いは外部メモリ１１１には、ＣＰＵ１０１の制御プログラムであるオペレーティングシステム（以下ＯＳ）等が記憶され、ＲＯＭ１０３のフォント用ＲＯＭ或いは外部メモリ１１１には上述の文書処理の際に使用するフォントデータ等が記憶され、ＲＯＭ１０３のデータ用ＲＯＭ或いは外部メモリ１１１には上述の文書処理等を行う際に使用する各種データが記憶される。ＲＡＭ１０２は、ＣＰＵ１０１の主メモリ、ワークエリア等として機能する。
【００１１】
キーボードコントローラ（ＫＢＣ）１０５は、キーボード（ＫＢ）１０９や不図示のポインティングデバイスからのキー入力を制御する。ＣＲＴコントローラ（ＣＲＴＣ）１０６は、ＣＲＴディスプレイ（ＣＲＴ）１１０の表示を制御する。ディスクコントローラ（ＤＫＣ）１０７は、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、プリンタ制御コマンド生成プログラム（以下プリンタドライバ）等を記憶するハードディスク（ＨＤ）、フロッピー（登録商標）ディスク（ＦＤ）等の外部メモリ１１１との間のアクセスを制御する。プリンタコントローラ（ＰＲＴＣ）１０８は、双方向性インターフェース（インターフェース）１１２を介してプリンタ１５０に接続され、プリンタ１５０との通信制御処理を実行する。
【００１２】
尚、ＣＰＵ１０１は、例えばＲＡＭ１０２上に設定された表示情報ＲＡＭへのアウトラインフォントの展開（ラスタライズ）処理を実行し、ＣＲＴ１１０上でのＷＹＳＩＷＹＧを可能としている。また、ＣＰＵ１０１は、ＣＲＴ１１０上の不図示のマウスカーソル等で指示されたコマンドに基づいて登録された種々のウインドウを開き、種々のデータ処理を実行する。ユーザは印刷を実行する際に、印刷の設定に関するウインドウを開き、プリンタの設定や、印刷モードの選択を含むプリンタドライバに対する印刷処理方法の設定を行える。
【００１３】
一方、プリンタ１５０は、ＣＰＵ１５１により制御される。このＣＰＵ１５１は、ＲＯＭ１５３のプログラム用ＲＯＭに記憶された制御プログラム等或いは外部メモリ１６０に記憶された制御プログラム等に基づいてシステムバス１５４を介して接続される印刷部（プリンタエンジン）１５６に出力情報としての画像信号を出力する。また、このＲＯＭ１５３のプログラムＲＯＭには、ＣＰＵ１５１の制御プログラム等が記憶され、ＲＯＭ１５３のフォント用ＲＯＭには、上述の出力情報を生成する際に使用されるフォントデータ等が記憶され、ＲＯＭ１５３のデータ用ＲＯＭには、ハードディスク等の外部メモリ１６０がないプリンタの場合には、ホストコンピュータ上で利用される情報等が記憶されている。
【００１４】
ＣＰＵ１５１は入力部１５５を介してホストコンピュータとの通信処理が可能となっており、プリンタ内の情報等をホストコンピュータ１００に通知できる。ＲＡＭ１５２は、ＣＰＵ１５１の主メモリやワークエリア等として機能するメモリで、図示しない増設ポートに接続されるオプションＲＡＭによりメモリ容量を拡張することができるように構成されている。尚、ＲＡＭ１５２は、出力情報展開領域、環境データ格納領域、ＮＶＲＡＭ等に用いられる。上述したハードディスク（ＨＤ）、ＩＣカード等の外部メモリ１６０は、メモリコントローラ（ＭＣ）１５７によりアクセスを制御される。外部メモリ１６０は、オプションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。また、操作部１５９には、操作のためのスイッチ及びＬＥＤ表示器等が配されている。
【００１５】
尚、上述の外部メモリ１６０は１個に限らず、複数個備えられ、内蔵フォントに加えてオプションカード、言語系の異なるプリンタ制御言語を解釈するためのプログラムを格納した外部メモリを複数接続できるように構成されていても良い。また、図示しないＮＶＲＡＭを有し、操作部１５９からのプリンタモード設定情報を記憶するようにしても良い。
【００１６】
次に、プリンタ等の印刷装置が直接接続されているか、或いはネットワークを介して接続されているホストコンピュータにおいて実行される典型的な印刷処理について説明する。
【００１７】
図２は、ホストコンピュータ１００で実行される典型的な印刷処理を示す図である。図中のアプリケーション２０１、グラフィックエンジン２０２、プリンタドライバ２０３、及びシステムスプーラ２０４は、外部メモリ１１１に保存されたファイルとして存在し、実行される場合に、ＯＳやそのモジュールを利用するモジュールによってＲＡＭ１０２にロードされ実行されるプログラムモジュールである。また、アプリケーション２０１及びプリンタドライバ２０３は、外部メモリ１１１のＦＤや不図示のＣＤ−ＲＯＭ、或いは不図示のネットワークを経由して外部ディスク１１１のＨＤに追加することも可能である。
【００１８】
まず、印刷を行う場合、外部メモリ１１１に保存されているアプリケーション２０１がＲＡＭ１０２にロードされて実行される。このアプリケーション２０１からプリンタ１５０に対して印刷を行う旨、キーボード１０９や不図示のマウスにより指示されると、同様にＲＡＭ１０２にロードされて実行可能となっているグラフィックエンジン２０２を利用して出力（描画）を行う。
【００１９】
ここで、グラフィックエンジン２０２は印刷装置毎に用意されているプリンタドライバ２０３を同様に外部メモリ１１１からＲＡＭ１０２にロードし、アプリケーション２０１の出力をプリンタドライバ２０３に設定する。そして、アプリケーション２０１から受け取るＧＤＩ（Ｇｒａｐｈｉｃ  Ｄｅｖｉｃｅ  Ｉｎｔｅｒｆａｃｅ）関数に基づきＤＤＩ（Ｄｅｖｉｃｅ  Ｄｒｉｖｅｒ  Ｉｎｔｅｒｆａｃｅ）関数に変換し、プリンタドライバ２０３へＤＤＩ関数を出力する。
【００２０】
これにより、プリンタドライバ２０３はグラフィックエンジン２０２から受け取ったＤＤＩ関数に基づき、プリンタ１５０が認識可能な制御コマンド、例えばＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）に変換する。そして、変換されたプリンタ制御コマンドは、ＯＳによってＲＡＭ１０２にロードされたシステムスプーラ２０４に渡され、インタフェース１１２経由でプリンタ１５０へ印刷データとして出力される。
【００２１】
次に、本実施形態における印刷システムについて説明する。本実施形態では、図２に示すプリンタとホストコンピュータからなる印刷システムに加えて、更に図３に示すバナー印刷を行うための構成と、図７に示すアプリケーションからの印刷データを一旦中間コードでスプールする構成とを有するものである。
【００２２】
図３は、プリンタドライバによるバナー印刷を説明するための図である。尚、バナー印刷の設定は、プリンタドライバ２０３によって提供される、図４に示すユーザインターフェース３０１上において、ユーザによって印刷処理の開始前に予め行われる。
【００２３】
図４は、バナー印刷を指定するユーザインターフェース３０１の一例を示す図である。この例では、バナー印刷はチェックボックス４０１の形式で提供される。このチエックボックス４０１をチエックすることにより、ユーザはバナー印刷の指定を行い、またプリンタドライバ２０３は、この設定に基づきバナー印刷の処理を行うものである。また、ユーザがバナー編集ボタン４０２を押下することで、バナー設定のポップアップ画面４０３が表示され、ユーザはバナー上に表示させたい情報を選択することができる。図４に示す例では、印刷者名、印刷日時、原稿ファイル名、ホスト名（コンピュータ名）をそれぞれ選択できる。また、印刷者名はユーザが任意に指定できるものである。これら設定はＲＡＭ１０２上、もしくは外部メモリ１１１上に一時保存され、実際の印刷実行時に、再度プリンタドライバ２０３より呼び出され、印刷処理に反映される。
【００２４】
図３に戻り、アプリケーション２０１より印刷処理が開始されると、プリンタドライバ２０３はユーザインターフェース３０１上でバナー印刷の設定がされたか否かを判断し、設定がされている場合は、バナー印刷用の印字データを内部的に作成する（３０２）。作成されたバナー用の印字データは、アプリケーション２０１からの指定に基づき生成された通常の印字データ３０３と併合され、その他の仕上げ処理やレイアウト指定などの印刷設定を指定するコマンド３０４が付加された後、通常印刷時と同様にシステムスプーラ２０４に出力される。
【００２５】
図５は、システムスプーラ２０４に出力されるデータの一例を示す図である。図５に示すように、本実施形態ではデータの構造を階層化しており、第二階層を二つに分割することで、内部的にバナー印刷用の印字データ５０１と、その他のアプリケーション指定の実際の印字データ５０２とを区別し、また仕上げ処理やレイアウト指定といった印刷設定５０３をそれぞれの第二階層に対して指定することで、バナー印刷を通常の印字データに施されたレイアウトや仕上げといった印刷設定と切り離された一枚の単独の紙へ行うことを可能とするものである。
【００２６】
これ以降は通常の印刷時と同様にプリンタ１５０へ転送され、プリンタ１５０ではこれら印刷コマンドに従い、バナー印刷、及び通常印刷の出力を行う。
【００２７】
図６は、本実施形態におけるバナー設定時の出力結果の一例を示す図である。図６において、６０１はバナー印刷のみを指定した場合の出力結果である。これに対して、６０２はバナー印刷とステイプルの設定、また６０３はバナー印刷とレイアウトの変更（２ページ／枚）を併用した場合の出力結果である。
【００２８】
ここで、上述のバナー印刷のジョブと、レイアウトや仕上げといった印刷設定のジョブとのジョブ結合を実現する方法について説明する。
【００２９】
図７は、グラフィックエンジン２０２からプリンタドライバ２０３へ印刷命令を送る際に、一旦中間コードからなるスプールファイル７０３を生成する構成を示す図である。図７で示すシステムにおいては、スプールファイル７０３の内容に対して加工することができる。これによりアプリケーション２０１からの印刷データに対して、拡大縮小や複数ページを１ページに縮小して印刷する等、アプリケーション２０１の持たない機能を実現することができる。
【００３０】
これらの目的のために、図２に示したシステムに対して、図７に示すシステムでは中間コードでスプールするようシステムが拡張されている。尚、印刷データの加工を行うためには、通常プリンタドライバ２０３が提供するウインドウから設定を行い、プリンタドライバ２０３がその設定内容をＲＡＭ１０２上、或いは外部メモリ１１１上に保管する。
【００３１】
次に、図７に示すシステムの印刷処理について詳細に説明する。図示するように、この拡張された処理方式では、グラフィックエンジン２０２からの印刷命令であるＤＤＩ関数をディスパッチャ７０１が受け取る。ディスパッチャ７０１がグラフィックエンジン２０２から受け取った印刷命令（ＤＤＩ関数）が、アプリケーション２０１からグラフィックエンジン２０２へ発行された印刷命令（ＧＤＩ関数）に基づくものである場合には、ディスパッチャ７０１は外部メモリ１１１に格納されているスプーラ７０２をＲＡＭ１０２にロードし、プリンタドライバ２０３ではなく、スプーラ７０２へ印刷命令（ＤＤＩ関数）を送付する。
【００３２】
スプーラ７０２では受け取った印刷命令を解析し、ページ単位に中間コードに変換してスプールファイル７０３に出力する。このページ単位に格納されている中間コードのスプールファイルをページ描画ファイル（ＰＤＦ：Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｆｉｌｅ）と呼ぶ。また、スプーラ７０２は、プリンタドライバ２０３に対して設定されている印刷データに関する加工設定（製本印刷、Ｎｕｐ、両面、ステイプル、カラー／モノクロ指定等）をプリンタドライバ２０３から取得してジョブ単位のファイルとしてスプールファイル７０３に保存する。この時、ジョブ単位に格納されている設定ファイルをジョブ設定ファイル（簡略してＳＤＦ：Ｓｐｏｏｌ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｆｉｌｅと呼ぶこともある）と呼ぶ。このジョブ設定ファイルについては後述する。
【００３３】
尚、スプールファイル７０３は外部メモリ１１１上にファイルとして生成するが、ＲＡＭ１０２上に生成されても構わない。
【００３４】
更に、スプーラ７０２は外部メモリ１１１に格納されているスプールファイルマネージャ７０４をＲＡＭ１０２にロードし、そのスプールファイルマネージャ７０４に対してスプールファイル７０３の生成状況を通知する。その後、スプールファイルマネージャ７０４は、スプールファイル７０３に保存された印刷データに関する加工設定の内容に従って印刷を行えるか判断する。
【００３５】
ここで、スプールファイルマネージャ７０４がグラフィックエンジン２０２を利用して印刷を行えると判断した場合には、外部メモリ１１１に格納されているデスプーラ７０５をＲＡＭ１０２にロードし、そのデスプーラ７０５に対してスプールファイル７０３に記述された中間コードのページ描画ファイルの印刷処理を行うように指示する。これにより、デスプーラ７０５では、スプールファイル７０３に含まれる中間コードのページ描画ファイルをスプールファイル７０３に含まれる加工設定情報を含むジョブ設定ファイルに従って加工し、ＧＤＩ関数を再生成し、再度グラフィックエンジン２０２経由でＧＤＩ関数を出力する。
【００３６】
一方、ディスパッチャ７０１が、グラフィックエンジン２０２から受け取った印刷命令（ＤＤＩ関数）がデスプーラ７０５からグラフィックエンジン２０２へ発行された印刷命令（ＧＤＩ関数）に基づいたものである場合には、ディスパッチャ７０１はスプーラ７０２ではなく、プリンタドライバ２０３にその印刷命令を送る。これにより、プリンタドライバ２０３ではグラフィックエンジン２０２から取得したＤＤＩ関数に基づいてページ記述言語等からなるプリンタ制御コマンドを生成し、システムスプーラ２０４経由でプリンタ１５０に出力する。
【００３７】
更に、図７では、これまで説明した拡張システムに加え、プレビューア７０６及び設定変更エディタ７０７を配し、プレビュー、印刷設定変更、複数ジョブの結合を可能にした例を示している。
【００３８】
ここで、印刷プレビュー、印刷設定変更、複数ジョブの結合を行うためには、まずユーザが図８に示すプリンタドライバ２０３によるユーザインターフェース３０１において「出力先の指定」を行う手段として機能するプルダウンメニュー８０１により「編集＋プレビュー」を指定する必要がある。
【００３９】
プリンタドライバ２０３のプロパティ（図８に示す３０１）で設定されている内容は設定ファイルとしてＯＳが提供する構造体（Ｗｉｎｄｏｗｓ（登録商標）  ＯＳでは、ＤＥＶＭＯＤＥと呼ばれる）に格納される。その構造体には、例えばスプールファイル７０３に含まれる加工設定中に、スプールファイルマネージャ７０４にストアを行うか否かの設定が含まれており、スプールファイルマネージャ７０４がプリンタドライバ２０３を介して加工設定を読み込み、ストア指定がなされていた場合、上述したようにスプールファイル７０３にページ描画ファイルとジョブ設定ファイルとが生成・格納される。そして、図８に示すように、スプールファイルマネージャのウインドウ画面８０２がポップアップされ、スプールファイル７０３にスプールされたジョブがリスト表示される。
【００４０】
尚、図８に示す画面８０２は、３つのジョブがスプールされている例を示しており、メニューバーもしくは、そのすぐ下のメニューアイコンを押下することにより、ジョブの操作を行うことができる。また、操作の種類としては、ジョブを選択した状態で「印刷」、中間コードのスプールファイルをそのまま残して印刷を行わせる「セーブして印刷」、印刷設定を考慮したジョブの出力プレビューを見るための「プレビュー」、中間コードのスプールファイルを削除する「削除」、中間コードのスプールファイルのコピーを生成する「複製」、複数の中間コードのスプールファイルのジョブを結合して１つのジョブにする「結合」、結合ジョブを元の複数のジョブに分割する「分割」、単体ジョブもしくは結合ジョブの印刷設定（レイアウト設定やフィニッシング設定等）を変更する「ジョブ編集」、あるジョブの印刷順序を最初にする「先頭に移動」、印刷順序を１つ前にする「１つ上に移動」、印刷順序を１つ後にする「１つ下に移動」、印刷順序を最後にする「最後に移動」の以上１１個の操作がある。但し、ここでは、本実施形態と関連する「結合」の操作について説明する。
【００４１】
まず、ジョブの結合処理は、図８に示すように、スプールファイルマネージャのウインドウ画面８０２に表示されている複数のスプールファイルを選択した後、画面８０２のメニューバー、もしくは結合を指定するアイコンボタン８０３を操作することによって開始される。この結合処理が開始された場合、外部メモリ１１１に格納されている設定変更エディタ７０７をＲＡＭ１０２にロードし、設定変更エディタ７０７に対してリスト上の先頭ジョブ、或いはデフォルトの加工設定の表示を行うように指示する。そして図８に示すように、設定変更エディタ画面８０４が表示される。
【００４２】
この設定変更エディタ画面８０４では、それぞれのジョブに対して、結合する前の加工設定で表示することも、結合ジョブとして統一の加工設定に変更、修正して表示することも可能である。その際、プリンタドライバ２０３の設定可能な項目を設定変更エディタ７０７上のユーザインターフェースに表示しても、プリンタドライバ２０３自身のユーザインターフェースを呼び出しても構わない。
【００４３】
ここで、結合されたジョブ及び変更された変更項目は、設定変更エディタ画面８０４上の「結合」ボタン８０５の押下によるユーザの認証要求に従い、変更が認証されると、その制御がスプールファイルマネージャ７０４に移行する。これらの操作により、先に選択された複数ジョブは、スプールファイルマネージャのウインドウ８０６上で１つの結合ジョブ８０７として表示される。
【００４４】
そして、スプールファイルマネージャ画面８０６上に設けられたメニューバー、もしくは印刷を指定するアイコンボタン８０８を操作することによってユーザが印刷要求を行うならば、スプールファイルマネージャ７０４はその印刷要求を発行する。印刷要求が発行されるとデスプーラ７０５はスプールファイルマネージャ７０４にて指定されている結合の設定に基づき、その結合ジョブに含まれるページの中間データを再度グラフィックエンジン２０２へと出力する。これを受けてグラフィックエンジン２０２からディスパッチャ７０１経由でプリンタドライバ２０３に印刷命令が送られ、印刷が実行される。プリンタドライバ２０３に送られた結合された印刷ジョブは、通常の印刷と同様に１つの印刷ジョブとして処理され、印字データに変換された後、システムスプーラ２０４経由でプリンタ１５０に転送される。
【００４５】
これにより、プリンタ１５０では、ジョブ中に指定された印刷設定に従い印刷を行う。このとき、プリンタ１５０に転送されるジョブは、データ構成上ジョブの結合を意識させないものとなっているので、１つのジョブとして一括の仕上げ処理、レイアウト処理などを行うことが可能となる。
【００４６】
以上のバナー印刷、ジョブ結合の二つの機能を持つ印刷システムを前提とする本発明に係る実施形態の一例について以下に説明する。
【００４７】
本発明が適応されるのは、バナー印刷とジョブ結合が併用される場合である。図９は、バナー印刷とジョブ結合が併用された場合の印刷結果の一例を示す図である。バナー印刷を設定された印刷ジョブ９０１に対してジョブ結合動作を行う場合、ユーザによる印刷設定に忠実な印刷出力を得るためには、各印刷ジョブに設定されたバナー印刷の設定を反映させたままの状態で結合を行い、生成される印刷物が９０２に示すように、バナー印刷がそれぞれのアプリケーションからの通常印刷の先頭に付与されるように印刷されることが期待される。
【００４８】
しかしながら、このような結合ジョブに対して、仕上げ指定、レイアウト変更などの処理を行うと、バナー印刷も含めた形での処理が行われてしまい、結果としてユーザにとって不都合な印刷物を提供してしまうことになる。図９において、９０３はステイプルを指定した場合の出力結果であり、９０４は２ページ／枚を指定した場合の出力結果である。この他にも、両面印刷やページ番号を付ける場合などに同様に不具合が予想される。
【００４９】
このような不具合を回避するために、本実施形態では図１０に示す処理形態を取る。上述したように、仕上げ指定やレイアウト変更などの処理とバナー印刷とが指定された複数の印刷ジョブ１００１に対してジョブ結合の処理を行う際に、スプールファイル７０３におけるバナー印刷の設定１００３を破棄する。次に、バナー設定の取り除かれた通常の印刷ジョブを通常のジョブ結合と同様に処理を行い、一つの印刷ジョブ１００２を生成する。そして、その結合ジョブに対して印刷処理を開始するタイミングで、新たなバナー印刷１００４の設定を内部的に生成し、結合された印刷ジョブ１００２に付加する。これにより、ステイプルなどの仕上げ処理１００５の場合や２ページ／枚などのレイアウト変更の処理１００６を行った場合にも、図１０に示すようなユーザにとって望ましい形での出力を得ることができるようになる。
【００５０】
尚、上述の処理は仕上げ処理やレイアウト変更などの設定が併用されるような不具合の予想される場合を対象とするもので、その他の場合に関してはこれらの処理を行わないことにより、今まで通り、ユーザの設定に忠実な印字結果を提供することが可能である。
【００５１】
また、本実施形態では、この回避処理への切り替えを自動的に行うことによりユーザの意識しないところで不具合な印刷を回避することを目的としているが、同処理を行うにあたりユーザインターフェース上に機能を持たせることでユーザに明示的に指定させることも可能である。
【００５２】
次に、バナー印刷の設定と、仕上げ処理やレイアウト変更などの設定とが併用された複数のジョブの結合処理における詳細について説明する。
【００５３】
まず、本実施形態を実現するために、結合処理を行う前の段階としてスプーラ７０２のスプールファイル７０３の作成処理を、バナー印刷の設定を考慮して図１１に示すように設定する。そして、上述したユーザインタフェース３０１及びバナー設定画面４０３上で指定されたバナー印刷の設定を上述した通りプリンタドライバ２０３での印字データの生成時に始めて印字データに変換する。即ち、この処理の時点では、設定としてＲＡＭ１０２もしくは外部メモリ１１１に保存されているのみで印字データとなっていない。この設定に基づきスプーラ７０２は、アプリケーション２０１から作成される通常印字データのスプールを行うと同時に、内部的に中間データ１１０１の作成を行う。これはこの後のジョブ結合処理における操作を容易にするためである。作成された中間データ１１０１は、通常の印字データ同様にスプーラ７０２によってスプールファイル７０３として保存される。尚、この処理は、バナー印刷が指定されている印刷ジョブに対してのみ行われる。
【００５４】
これに対してアプリケーション２０１からの通常印字データに関してはバナー印刷の設定にかかわらず、通常の処理と同様にグラフィックスエンジン２０２により中間データ１１０２に変換され、スプーラ７０２によってスプールファイル７０３として保存される。
【００５５】
次に、設定編集エディタ７０７が実際にジョブの結合を行う際の処理の詳細について説明する。
【００５６】
図１２は、ジョブ結合時の処理を示すフローチャートである。まずステップＳ１２０１において、ジョブを結合する際にバナー印刷の設定をクリアし、その後結合されたジョブに対してバナーを再設定するためのフラグをオフする。次に、ステップＳ１２０２において、結合されたジョブに対して、不具合が予想される仕上げ処理、レイアウト処理などが施されているかを確認する。これらの設定が施されていなければステップＳ１２０６へ進むが、施されている場合はステップＳ１２０３へ進み、バナー印刷が指定されているかを確認する。ここで、バナー印刷の指定がされていなければステップＳ１２０６へ進むが、指定されていればステップＳ１２０４へ進み、上述のフラグをオンにし、続くステップＳ１２０５において、スプールファイル７０３に保存されたバナー設定の中間コードを削除する。
【００５７】
次に、ステップＳ１２０６において、スプールファイル７０３上に保存されている印字データに対してジョブの結合処理を開始する。この場合、バナー印刷の設定の有無は特に意識せず、スプールされているジョブに対して通常通りの結合処理を行う。そして、ステップＳ１２０７において、結合すべきジョブが残っているか否かを判定し、まだ残っていればステップＳ１２０２に戻り、上述の処理を繰り返す。また、指定されたジョブの結合が終了するとステップＳ１２０８へ進み、上述のフラグがオンか判定し、オンでなければステップＳ１２０７へ進み、バナー設定と仕上げやレイアウト変更などの処理の何れかが指定されていないため、不具合が発生しないのでステップＳ１２１１へ進む。
【００５８】
また、上述のステップＳ１２０８において、フラグがオンであればステップＳ１２０９へ進み、内部的に新たにバナー印刷の設定を作成する。次に、ステップＳ１２１０において、作成したバナーと、既に結合された印字データとを１つのジョブとする。尚、バナー印刷の設定は、既に１ページの印刷データに相当する中間データとしてスプールされているので、この処理によりユーザ設定に忠実な位置に自動的に包含される。
【００５９】
尚、ステップＳ１２０９で作成するバナー印刷の記載内容は、本実施形態では、プリンタドライバのデフォルトの設定に従うものとするが、新たにユーザインターフェースなどを設けて再度設定し直させるようにしても良く、また結合前のジョブに対して行われている設定のうち１つを選択して引き継がせるようにしても良い。
【００６０】
次に、ステップＳ１２１１において、結合処理によって作成された結合済みの中間データは、スプールファイルマネージャ７０４におけるユーザの印刷開始の指定に伴い、デスプーラ７０５、グラフィクスエンジン２０２を経由してプリンタドライバ２０３へ送られ、印刷処理にかけられる。
【００６１】
尚、上述した結合処理で仕上げ処理、レイアウト変更などが指定されなかったジョブの場合、即ちバナーの再設定が行われなかった場合は、既に中間データとして印刷データの１ページとしてバナー印刷を包含しているので、このまま通常の印刷処理を行い、印字データの作成、システムスプーラ２０４への出力を行い、プリンタ１５０へ転送、出力される。
【００６２】
図１３は、バナーの再設定が行われなかった場合の印刷ジョブの構造を示す図である。図５に示した通常のバナー印刷時と異なり、バナー印刷の印字データが通常印刷データの１ページとして存在する形となる。
【００６３】
これに対して、上述した結合処理で仕上げ処理やレイアウト変更が指定された場合、即ちバナー印刷が再設定されている場合は、その設定に基づき、プリンタドライバ２０３が通常のバナー印刷の場合と同様に、バナー印刷の印字データを作成する。ここで作成される印字データは結合処理において結合ジョブに対して再度付与された設定に基づくものである。
【００６４】
図１４は、バナーの再設定が行われた場合の印刷ジョブの構造を示す図である。図５に示した通常のバナー印刷時と同様に、バナー印刷が内部的に切り離されており、結合ジョブに対して設定された仕上げ、レイアウトの指定の影響を受けないようになっている。
【００６５】
以上説明した本実施形態によれば、２つの処理形態を状況に応じて使い分けることにより、不具合を回避し、最適な出力をユーザに提供することを可能としている。
【００６６】
尚、本発明は複数の機器（例えば、ホストコンピュータ，インターフェース機器，リーダ，プリンタなど）から構成されるシステムに適用しても、１つの機器からなる装置（例えば、複写機，ファクシミリ装置など）に適用しても良い。
【００６７】
また、本発明の目的は前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（ＣＰＵ若しくはＭＰＵ）が記録媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
【００６８】
この場合、記録媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
【００６９】
このプログラムコードを供給するための記録媒体としては、例えばフロッピー（登録商標）ディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，磁気テープ，不揮発性のメモリカード，ＲＯＭなどを用いることができる。
【００７０】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００７１】
更に、記録媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００７２】
【発明の効果】
以上説明したように、本発明によれば、バナー印刷の設定と仕上げ処理やレイアウト処理などの設定が併用されたジョブの結合による不具合を回避することができ、状況に応じて処理を適応することで、ユーザに最適な印刷出力を提供することが可能となる。
【図面の簡単な説明】
【図１】本実施形態における印刷システムの構成を説明するブロック図である。
【図２】ホストコンピュータ１００で実行される典型的な印刷処理を示す図である。
【図３】プリンタドライバによるバナー印刷を説明するための図である。
【図４】バナー印刷を指定するユーザインターフェース３０１の一例を示す図である。
【図５】システムスプーラ２０４に出力されるデータの一例を示す図である。
【図６】本実施形態におけるバナー設定時の出力結果の一例を示す図である。
【図７】グラフィックエンジン２０２からプリンタドライバ２０３へ印刷命令を送る際に、一旦中間コードからなるスプールファイル７０３を生成する構成を示す図である。
【図８】プリンタドライバ２０３によるユーザインターフェース３０１を示す図である。
【図９】バナー印刷とジョブ結合が併用された場合の印刷結果の一例を示す図である。
【図１０】本実施形態におけるジョブの結合処理を説明するための図である。
【図１１】本実施形態におけるバナーの中間コードと印字データの中間コードとを示す図である。
【図１２】本実施形態におけるジョブ結合時の処理を示すフローチャートである。
【図１３】バナーの再設定が行われなかった場合の印刷ジョブの構造を示す図である。
【図１４】バナーの再設定が行われた場合の印刷ジョブの構造を示す図である。
【符号の説明】
１００  ホストコンピュータ
１０１  ＣＰＵ
１０２  ＲＡＭ
１１１  外部メモリ
１５０  プリンタ
２０１  アプリケーション
２０２  グラフィックエンジン
２０３  プリンタドライバ
２０４  システムスプーラ
３０１  プリンタドライバユーザインタフェース
【図１】
2004192247.tif 000003
【図２】
2004192247.tif 000004
【図３】
2004192247.tif 000005
【図４】
2004192247.tif 000006
【図５】
2004192247.tif 000007
【図６】
2004192247.tif 000008
【図７】
2004192247.tif 000009
【図８】
2004192247.tif 000010
【図９】
2004192247.tif 000011
【図１０】
2004192247.tif 000012
【図１１】
2004192247.tif 000013
【図１２】
2004192247.tif 000014
【図１３】
2004192247.tif 000015
【図１４】
2004192247.tif 000016