(57)【特許請求の範囲】
【請求項１】
アプリケーションからの印刷の指示に基づいて、プリンタに対する印刷処理を制御する情報処理装置であって、
前記プリンタのプリンタドライバによってバナー印刷用のバナーページを生成するための設定項目を含む印刷設定を行う設定手段と、
前記設定項目の設定が行われた場合に、前記印刷設定に従って、前記プリンタドライバがバナーページを生成することを示す情報を印刷設定情報に記述する第１の記述手段と、
前記印刷設定情報にバナーページの位置を示す情報が含まれているか否かを判断する判断手段と、
前記判断手段が前記印刷設定情報にバナーページの位置を示す情報が含まれていないと判断してかつ前記印刷設定情報に前記プリンタドライバがバナーページを生成することを示す情報が含まれる場合に、バナーページを生成して、生成した前記バナーページの位置を示す情報を前記印刷設定情報に追加記述する第２の記述手段と、
前記判断手段が前記印刷設定情報にバナーページの位置を示す情報が含まれていると判断した場合に前記第２の記述手段が生成しうるバナーページが前記プリンタにより印刷されない印刷データを生成する生成手段とを備え、
前記印刷設定情報はアプリケーションが識別可能な情報である
ことを特徴とする情報処理装置。
【請求項２】
アプリケーションからの印刷の指示に基づいて、プリンタに対する印刷処理を制御する情報処理装置の制御方法であって、
前記プリンタのプリンタドライバによってバナー印刷用のバナーページを生成するための設定項目を含む印刷設定を行う設定工程と、
前記設定項目の設定が行われた場合に、前記印刷設定に従って、前記プリンタドライバがバナーページを生成することを示す情報を印刷設定情報に記述する第１の記述工程と、
前記印刷設定情報にバナーページの位置を示す情報が含まれているか否かを判断する判断工程と、
前記判断工程が前記印刷設定情報にバナーページの位置を示す情報が含まれていないと判断してかつ前記印刷設定情報に前記プリンタドライバがバナーページを生成することを示す情報が含まれる場合に、バナーページを生成して、生成した前記バナーページの位置を示す情報を前記印刷設定情報に追加記述する第２の記述工程と、
前記判断工程が前記印刷設定情報にバナーページの位置を示す情報が含まれていると判断した場合に前記第２の記述工程が生成しうるバナーページが前記プリンタにより印刷されない印刷データを生成する生成工程とを備え、
前記印刷設定情報はアプリケーションが識別可能な情報である
ことを特徴とする情報処理装置の制御方法。
【請求項３】
アプリケーションからの印刷の指示に基づいて、プリンタに対する印刷処理の制御をコンピュータに実行させるためのプリンタドライバのプログラムであって、
前記プリンタのプリンタドライバによってバナー印刷用のバナーページを生成するための設定項目を含む印刷設定を行う設定工程と、
前記設定項目の設定が行われた場合に、前記印刷設定に従って、前記プリンタドライバがバナーページを生成することを示す情報を印刷設定情報に記述する第１の記述工程と、
前記印刷設定情報にバナーページの位置を示す情報が含まれているか否かを判断する判断工程と、
前記判断工程が前記印刷設定情報にバナーページの位置を示す情報が含まれていないと判断してかつ前記印刷設定情報に前記プリンタドライバがバナーページを生成することを示す情報が含まれる場合に、バナーページを生成して、生成した前記バナーページの位置を示す情報を前記印刷設定情報に追加記述する第２の記述工程と、
前記判断工程が前記印刷設定情報にバナーページの位置を示す情報が含まれていると判断した場合に前記第２の記述工程が生成しうるバナーページが前記プリンタにより印刷されない印刷データを生成する生成工程とをコンピュータに実行させ、
前記印刷設定情報はアプリケーションが識別可能な情報である
ことを特徴とするプログラム。
【請求項４】
前記設定項目は、
前記印刷データを印刷するために生成された印刷ジョブに対するバナーページを生成するか否かを設定するための第１の設定項目と、
前記印刷ジョブに含まれる複数のドキュメントそれぞれに対するバナーページを生成するか否かを設定するための第２の設定項目と、
前記第１の設定項目による設定を行う場合には、前記印刷ジョブで印刷するドキュメントのＸＰＳのコアプロパティの属性情報を指定する指定方法を設定するための第３の設定項目と
を含む
ことを特徴とする請求項３に記載のプログラム。
【請求項５】
前記生成工程は、前記第２の設定項目が設定されている場合は、前記複数のドキュメントに対するバナーページを生成する
ことを特徴とする請求項４に記載のプログラム。
【請求項６】
前記第２の記述工程は、前記第１の設定項目及び前記第２の設定項目が設定された場合は前記印刷ジョブに対するバナーページ及び前記ドキュメントの印刷データに対するバナーページの両方を生成する
ことを特徴とする請求項４に記載のプログラム。
【請求項７】
前記第２の記述工程は、前記ドキュメントの印刷データに対するバナーページにサムネイルの情報を記述する
ことを特徴とする請求項４に記載のプログラム。
【請求項８】
前記プリンタドライバが、前記第１の記述工程、前記判断工程、及び前記第２の記述工程を実行する
ことを特徴とする請求項３乃至７のいずれか１項に記載のプログラム。
【請求項９】
前記設定項目は、
前記印刷データを印刷するために生成された印刷ジョブに対するバナーページを生成するか否かを設定するための第１の設定項目と、
前記印刷ジョブに含まれる複数のドキュメントそれぞれに対するバナーページを生成するか否かを設定するための第２の設定項目と、
前記第１の設定項目による設定を行う場合には、前記印刷ジョブで印刷するドキュメントのＸＰＳのコアプロパティの属性情報を指定する指定方法を設定するための第３の設定項目と
を含む
ことを特徴とする請求項１に記載の情報処理装置。
【請求項１０】
前記生成手段は、前記第２の設定項目が設定されている場合は、前記複数のドキュメントに対するバナーページを生成する
ことを特徴とする請求項９に記載の情報処理装置。
【請求項１１】
前記第２の記述手段は、前記第１の設定項目及び前記第２の設定項目が設定された場合は前記印刷ジョブに対するバナーページ及び前記ドキュメントの印刷データに対するバナーページの両方を生成する
ことを特徴とする請求項９に記載の情報処理装置。
【請求項１２】
前記第２の記述手段は、前記ドキュメントの印刷データに対するバナーページにサムネイルの情報を記述する
ことを特徴とする請求項９に記載の情報処理装置。
【請求項１３】
前記プリンタドライバが、前記第１の記述手段、前記判断手段、及び前記第２の記述手段を実行する
ことを特徴とする請求項１、９乃至１２のいずれか１項に記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションからの印刷の指示に基づいて、プリンタに対する印刷処理を制御する情報処理装置及びその制御方法、プログラムに関するものである。
【背景技術】
【０００２】
コンピュータ上で作成した文書や図等のファイルをアプリケーションから印刷する際には、プリンタドライバを使って描画データをプリンタ言語に変換しプリンタに送信する構成が一般的である。用紙の種類や両面、カラー、給紙段等の印刷設定は、アプリケーションもしくはプリンタドライバが提供するユーザインタフェースを介してユーザから設定され、その印刷設定はコマンドとしてプリンタに送信される。
【０００３】
ここで、アプリケーションが既に行った処理結果を、印刷設定を通じてプリンタドライバやプリンタに伝える場合も存在する。これには、例えば、アプリケーションで製本印刷の面付けレイアウト処理を行って、プリンタで中とじ処理を実行する場合がある。中とじ処理を実行するためには、製本印刷の面付けレイアウト処理もプリンタドライバもしくはプリンタで実行することが通常である。
【０００４】
従って、プリンタドライバもしくはプリンタでは製本印刷の面付けレイアウト処理を実行しないと、中とじ処理が指定できないようにする禁則処理が存在することが多い。その結果、アプリケーションで製本印刷の面付けレイアウト処理を実行すると、アプリケーションとプリンタで２重に面付けレイアウト処理が実行されてしまうか、中とじ処理が実行されないことがある。このような場合は、アプリケーションで既に製本印刷の面付けレイアウト処理が完了していることを印刷設定中に記述しておき、プリンタドライバやプリンタはその印刷設定に基づき、中とじ処理だけを実行するというのが通例である。
【０００５】
また、アプリケーションがＮ−Ｕｐ印刷（１ページの中に複数のページを縮小して印刷する）を指示する場合に、実際に何ページ分の文書が１枚の用紙上に割り付けられているかをプリンタドライバやプリンタがカウントしたい場合等もある。この場合にも、アプリケーションが何ページ分の文書を１枚の用紙上に割り付けているかを印刷設定中に記述しておくやり方が一般的である。
【０００６】
印刷設定のデータは、従来から存在するバイナリ形式のフォーマットであるＤＥＶＭＯＤＥ構造体と、マークアップ言語のＸＭＬ形式のフォーマットであるジョブチケットやＰｒｉｎｔＴｉｃｋｅｔ等の形式の２種類が存在する。後者のほうが、より自由に拡張や記述が変更できるため、ＰｒｉｎｔＴｉｃｋｅｔでは印刷設定もさることながら、よりアプリケーションが実行した処理結果を記述しやすくなっている。
【０００７】
このようなＰｒｉｎｔＴｉｃｋｅｔの特徴を生かし、アプリケーションが生成するバナー（アプリケーションバナー）が一般的に定義されるようになっている。このバナー（Ｂａｎｎｅｒ）とは、印刷データの区切りとして使用するものであり、ＯＳやプリンタドライバ、プリンタが印刷ジョブの先頭に１枚付加して印刷するものである。バナーには、主に印刷ジョブを生成したユーザ名や時間等が記載されており、複数のユーザが共有で使うプリンタ等で、それぞれの印刷ジョブが混ざらないための区切りページ（バナーページ）として使う。
【０００８】
従って、バナーページは、印刷ジョブの他のページのデータとひとまとまりにしてフィニッシングやレイアウトの機能を有効にしてはならない。例えば、バナーページを含んでステイプルをしてしまうと、実際の印刷ジョブのデータにだけステイプルしたいにもかかわらず、余計なバナーページの表紙がついてしまうことになる。また、バナーページを含んで製本印刷の面付けレイアウト処理を実行すると、ユーザが意図したページ順ではなく、１ページずつずれてしまう。あくまで、バナーページは、印刷ジョブの区切りとして使用するので、ジョブとジョブの間に挟み込むだけのものにしなければならない。このような従来のバナーページの形態については、例えば、特許文献１に記載されている。
【０００９】
ＯＳやプリンタドライバ、プリンタがバナーページを生成する場合、バナーページに使用できるデータは、ユーザ名やジョブ名等の比較的少量の情報しか使用できない。実際に、印刷ジョブを生成しているアプリケーションのほうがずっと多くの情報を持っているので、アプリケーションがバナーページを生成すれば、もっと多くの情報を使用したバナーページを生成することができる。
【００１０】
しかしながら、前述したように、バナーページに対しては、フィニッシングやレイアウトは無効にしたいので、印刷設定の中に指定したページがバナーページであることを宣言できれば、プリンタドライバやプリンタがバナーページを認識することができる。この場合、アプリケーションによるバナーページの生成、つまり、アプリケーションバナーの生成を実現できる。これをＰｒｉｎｔＴｉｃｋｅｔでは、ＪｏｂＰｒｉｍａｒｙＢａｎｎｅｒＳｈｅｅｔとしてＭｉｃｒｏｓｏｆｔ社がＷｉｎｄｏｗｓ（登録商標）で定義している（非特許文献１を参照）。
【００１１】
このＪｏｂＰｒｉｍａｒｙＢａｎｎｅｒＳｈｅｅｔは、Ｓｔａｎｄａｒｄ（プリンタでバナーをつける）、Ｃｕｓｔｏｍ（アプリケーションで指定したページをバナーとする）、Ｎｏｎｅ（バナーをつけない）の３つから選択できる。Ｃｕｓｔｏｍを指定する場合は、どのページがバナーページであるかを明示的にＰｒｉｎｔＴｉｃｋｅｔに記述する必要がある。このようにアプリケーションが生成したページをバナーページとしてみなすことができるように、ＰｒｉｎｔＴｉｃｋｅｔに記述することができるので、アプリケーションバナーが実現できる。
【特許文献１】特開２００２−３２８７８６
【非特許文献１】ＰｒｉｎｔＳｃｈｅｍａ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ、http://www.microsoft.com/whdc/xps/printschema.mspx００３年
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかしながら、上述した従来技術では、アプリケーションやプリンタがバナーページを生成するバナー機能はあっても、プリンタドライバが生成するバナー機能は存在していない。ＰｒｉｎｔＴｉｃｋｅｔでは、自由に機能を拡張することができるので、プリンタドライバのバナー機能を独自に追加することもできるが、独自拡張した場合、他のアプリケーションやプリンタドライバ・プリンタが認識できない機能となってしまう。
【００１３】
ここで、Ｍｉｃｒｏｓｏｆｔは、Ｗｉｎｄｏｗｓ  Ｖｉｓｔａにおいて、新しいプリンタドライバのアーキテクチャであるＸＰＳＤｒｖ印刷システムを導入している。このＸＰＳＤｒｖ印刷システムでは、印刷ジョブのスプールフォーマットに文書ファイルフォーマットとしても用いられるＸＰＳファイルを使用する。このＸＰＳファイルは、文書としても流通するファイルフォーマットである。そのため、プリンタドライバで独自にバナーをつけてしまうと、他のアプリケーションやプリンタドライバがＸＰＳファイルを開くときに、バナーとして認識されずに、一緒にフィニッシングやレイアウトされてしまうという問題がある。
【００１４】
本発明は上記の課題を解決するためになされたものであり、印刷処理の処理過程で設定したバナー設定を正常に機能させることができる情報処理装置及びその制御方法、プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１５】
上記の目的を達成するための本発明による情報処理装置は以下の構成を備える。即ち、
アプリケーションからの印刷の指示に基づいて、プリンタに対する印刷処理を制御する情報処理装置であって、
前記プリンタのプリンタドライバによってバナー印刷用のバナーページを生成するための設定項目を含む印刷設定を行う設定手段と、
前記設定項目の設定が行われた場合に、前記印刷設定に従って、前記プリンタドライバがバナーページを生成することを示す情報を印刷設定情報に記述する第１の記述手段と、
前記印刷設定情報にバナーページの位置を示す情報が含まれているか否かを判断する判断手段と、
前記判断手段が前記印刷設定情報にバナーページの位置を示す情報が含まれていないと判断してかつ前記印刷設定情報に前記プリンタドライバがバナーページを生成することを示す情報が含まれる場合に、バナーページを生成して、生成した前記バナーページの位置を示す情報を前記印刷設定情報に追加記述する第２の記述手段と、
前記判断手段が前記印刷設定情報にバナーページの位置を示す情報が含まれていると判断した場合に前記第２の記述手段が生成しうるバナーページが前記プリンタにより印刷されない印刷データを生成する生成手段とを備え、
前記印刷設定情報はアプリケーションが識別可能な情報である。
【００２２】
上記の目的を達成するための本発明による情報処理装置の制御方法は以下の構成を備える。即ち、
アプリケーションからの印刷の指示に基づいて、プリンタに対する印刷処理を制御する情報処理装置の制御方法であって、
前記プリンタのプリンタドライバによってバナー印刷用のバナーシートを生成するための設定項目を含む印刷設定を行う設定工程と、
前記プリンタドライバが、前記設定項目による設定がなされている場合に、その設定に従って、バナーシートを生成することを示す情報を含む印刷設定情報を生成する印刷設定情報生成工程と、
前記プリンタドライバが、前記印刷設定情報生成工程で生成した印刷設定情報に基づいて、バナーシートを生成するためのバナーデータを生成する生成工程と、
前記プリンタドライバが、前記生成工程で生成したバナーデータを、前記アプリケーションによって印刷が指示された印刷データに対するバナーデータとして使用するための情報を前記印刷設定情報に追加記述する記述工程と
を備える。
【００２３】
上記の目的を達成するための本発明によるプログラムは以下の構成を備える。即ち、
アプリケーションからの印刷の指示に基づいて、プリンタに対する印刷処理の制御をコンピュータに実行させるためのプリンタドライバのプログラムであって、
前記プリンタのプリンタドライバによってバナー印刷用のバナーシートを生成するための設定項目を含む印刷設定を行う設定工程と、
前記プリンタドライバが、前記設定項目による設定がなされている場合に、その設定に従って、バナーシートを生成することを示す情報を含む印刷設定情報を生成する印刷設定情報生成工程と、
前記プリンタドライバが、前記印刷設定情報生成工程で生成した印刷設定情報に基づいて、バナーシートを生成するためのバナーデータを生成する生成工程と、
前記プリンタドライバが、前記生成工程で生成したバナーデータを、前記アプリケーションによって印刷が指示された印刷データに対するバナーデータとして使用するための情報を前記印刷設定情報に追加記述する記述工程と
をコンピュータに実行させる。
【発明の効果】
【００２４】
本発明によれば、印刷処理の処理過程で設定したバナー設定を正常に機能させることができる情報処理装置及びその制御方法、プログラムを提供できる。
【発明を実施するための最良の形態】
【００２５】
以下、本発明の実施の形態について図面を用いて詳細に説明する。
【００２６】
図１は本発明の一実施形態を示す印刷処理システムのブロック構成図である。
【００２７】
尚、特に断らない限り、本発明の機能が実行されるのであれば、単体の機器、複数の機器からなるシステムであっても、ＬＡＮ、ＷＡＮ等のネットワークを介して接続されているシステムであっても、本発明を適用できることは言うまでもない。
【００２８】
図１では、一般的なコンピュータ（情報処理装置）を用いた印刷処理システムのブロック構成図を示している。ＣＰＵ１０１は、ＲＯＭ１０２、ＲＡＭ１０３あるいは外部記憶装置１０５に記憶されたプログラムに従って装置全体の制御を行う。ＲＡＭ１０３は、ＣＰＵ１０１が各種処理を行う際のワークエリアとしても使用される。
【００２９】
外部記憶装置１０５は、アプリケーションソフト１０５１、印刷関連プログラム１０５２、プリンタドライバ１０５３、オペレーティングシステム（ＯＳ）１０５４等の各種プログラムを記憶している。キーボード１０８やポインティングデバイス１０９等の入力装置は、入力Ｉ／Ｆ１０４を通じて、ユーザがコンピュータに対して各種指示を与えるためのデバイスである。出力Ｉ／Ｆ１０６は、データを外部に出力するためのインタフェースであり、モニタ１１０やプリンタ１１１に対してデータを出力する。プリンタ１１１は、ローカルＩ／Ｏのみならず、ネットワークを通して接続されていてもよい。また、システムバス１０７は、共通データバスで、各種構成要素との間でのデータ送受信を実現する。
【００３０】
次に、Ｗｉｎｄｏｗｓ  Ｖｉｓｔａで実現されるＸＰＳＤｒｖ印刷システムの構成について、図２を用いて説明する。
【００３１】
図２は本発明の実施形態のＸＰＳＤｒｖ印刷システムのブロック構成を示す図である。
【００３２】
ユーザは、キーボード１０８やポインティングデバイス１０９等の入力装置を使用して、出力装置であるモニタ１１０に表示されるＧＵＩ（グラフィックユーザインタフェース）を介して印刷処理を実行する。このＧＵＩは、例えば、Ｗｉｎ３２アプリケーションプログラム２０１（以下、Ｗｉｎ３２アプリ）、もしくはＷｉｎｄｏｗｓ  Ｐｒｅｓｅｎｔａｔｉｏｎ  Ｆｏｕｎｄａｔｉｏｎアプリケーションプログラム２０２（以下、ＷＰＦアプリ）で実現される。この印刷処理は、プリンタの選択、印刷設定の作成、描画データの変換と３つの処理を順番に行うことで実行する。
【００３３】
まずは、プリンタを選択する。つまり、印刷を実行するプリンタに対応したプリンタドライバを選択する。このプリンタドライバは、従来から存在するプリンタドライバでバージョン３プリンタドライバ２００１（以下、プリンタドライバ）と呼ばれる。ここで、プリンタドライバ２００１は、従来から存在するといっても同じインタフェースを持ち互換性があるだけでなく、ＰｒｉｎｔＴｉｃｋｅｔ（プリントチケット）２０３に対応するなどＸＰＳＤｒｖ印刷システム用に拡張されている。
【００３４】
次に、印刷設定を作成する。印刷設定は、プリンタドライバ２００１のコンフィギュレーションモジュール２０４が機種依存ファイル２０５を利用して印刷設定データを作成し、Ｗｉｎ３２アプリ２０１に返却する。Ｗｉｎ３２アプリ２０１では、印刷設定データとしてバイナリのＤＥＶＭＯＤＥ構造体２１５を用い、ＷＰＦアプリ２０２ではＰｒｉｎｔＴｉｃｋｅｔ２０３を用いる。
【００３５】
このＤＥＶＭＯＤＥ構造体２１５もしくはＰｒｉｎｔＴｉｃｋｅｔ２０３が印刷設定を保持している。この印刷設定は、アプリケーションが直接書き換えるだけでなく、コンフィギュレーションモジュール２０４が持つプリンタドライバ２００１のユーザインタフェースを表示し、ユーザがユーザインタフェースを操作することで書き換えることもできる。印刷設定とは、具体的に、出力する用紙サイズを「Ａ４」にする、両面印刷を行う、カラーとモノクロを切り替える、給紙段を指定する等の設定を示すものとする。ＰｒｉｎｔＴｉｃｋｅｔ２０３は、マークアップ言語のＸＭＬ形式で記述されているので、アプリケーションが直接書き換えることは容易であるが、従来からあるプリンタドライバのユーザインタフェースを使って設定変更しても構わない。
【００３６】
最後に描画データの変換を行う。印刷設定が確定したら、ユーザは、アプリケーションから印刷処理を実行する。
【００３７】
Ｗｉｎ３２アプリ２０１から印刷処理を実行する場合は、バージョン３プリンタドライバの形態を取るＧＤＩｔｏＸＰＳ変換モジュール２０６に描画データが送られ、ＸＰＳスプールファイル２０７が作成される。この場合、ＧＤＩｔｏＸＰＳ変換モジュール２０６は、コンフィギュレーションモジュール２０４を呼び出し、印刷設定をＤＥＶＭＯＤＥ構造体２１５からＰｒｉｎｔＴｉｃｋｅｔ２０３に変換する。
【００３８】
ＷＰＦアプリ２０２から印刷処理を実行する場合は、ＸＰＳファイルをＷＰＦアプリ２０２自身が生成する方法と、オペレーティングシステムがＷＰＦアプリ２０２に命令に応じてＸＰＳファイルを生成する方法の２通りの方法がある。ここで、どちらの方法も、ＸＰＳスプールファイル２０７を生成する。このように、ＸＰＳＤｒｖ印刷システムは、印刷時に必ずＸＰＳスプールファイル２０７を生成することが特徴となっている。
【００３９】
ＸＰＳスプールファイル２０７が生成されたら、プリントフィルタパイプラインプロセス２００２に処理が渡される。プリントフィルタパイプラインプロセス２００２は、複数のフィルタを通すことで印刷が行われる仕組みで、フィルタコンフィギュレーションファイル２０８でフィルタの数や順番を制御する。
【００４０】
プリントフィルタパイプラインプロセス２００２で動作するフィルタパイプラインマネージャ２００３は、フィルタコンフィギュレーションファイル２０８に従って、複数のフィルタによる処理実行する。本実施形態では、バナーフィルタ２０９、レイアウトフィルタ２１０、レンダラフィルタ２１１の順に処理を行う。処理は、ＸＰＳスプールファイル２０７をフィルタに受け渡すことで行われ、フィルタがそれぞれＸＰＳスプールファイル２０７を加工し次のフィルタに渡していくことで処理が進む。
【００４１】
最後には、プリンタが理解できるデータ言語であるプリンタ制御言語（以下、ＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ））として出力される。もちろんプリンタ１１１がＸＰＳスプールファイル２０７を直接読み込めるのであれば、そのままでもよい。
【００４２】
バナーフィルタ２０９では、プリンタドライバ２００１におけるバナーの生成処理（バナー印刷用のバナー生成処理）を実行する。レイアウトフィルタ２１０では倍率の変更や製本の面付けレイアウトやスタンプ等のレイアウトに関する処理を実行する。
【００４３】
尚、バナーフィルタ２０９及びレイアウトフィルタ２１０は、ＸＰＳスプールファイル２０７に含まれる印刷設定であるＰｒｉｎｔＴｉｃｋｅｔ２０３に従って動作する。そのため、例えば、バナーの設定がＰｒｉｎｔＴｉｃｋｅｔ２０３に存在しない場合は、バナーフィルタ２０９は何も動作せずスルーして、次のフィルタにＸＰＳスプールファイル２０７をそのまま渡す。
【００４４】
最後のレンダラフィルタ２１１では、ＸＰＳスプールファイル２０７をレンダリングしてＰＤＬデータに変換する。ＰＤＬデータは、印刷処理のスケジュール管理を行うプリントマネージャ２１２で管理され、キュー（待ち行列）に印刷ジョブが次々と登録される。プリンタ１１１が印刷できる状態になったら、キューに登録した順にＰＤＬデータをＩ／Ｏモニタ２１３を通して送信する。このようにして、アプリケーションからの印刷データをプリンタ言語に変換することが、プリンタドライバ２００１の主な役目であり、実際の印刷処理が行われる。
【００４５】
次に、ＸＰＳスプールファイル２０７の詳細構成について、図３を用いて説明する。
【００４６】
図３は本発明の実施形態のＸＰＳスプールファイルの構造を示す図である。
【００４７】
ＸＰＳスプールファイル２０７は、３層構造からなる。具外的には、第１層にＦｉｘｅｄ  Ｄｏｃｕｍｅｎｔ  Ｓｅｑｕｅｎｓｅ３０１（以下、ジョブ）が、第２層にＦｉｘｅｄ  Ｄｏｃｕｍｅｎｔ３０２（以下、ドキュメント）が、第３層にＦｉｘｅｄ  Ｐａｇｅ３０３（以下、ページ）が存在する。そして、ＸＰＳスプールファイル２０７は、この３層からなるＸＭＬファイルの集合で構成される。それぞれの階層は、レベル（ジョブレベル、ドキュメントレベル、ページレベル）とも呼ばれる。
【００４８】
実際の描画データとなる文書（ドキュメント）の各ページは、ページレベルに置かれ、１つのドキュメントレベルの中に複数ページが含まれる。また、１つのＸＰＳスプールファイル２０７の中に複数のドキュメントを持つことができるため、ジョブが複数のドキュメントを管理している。これらはすべてＸＭＬ言語で記述されているが、リソースデータのようなバイナリデータはイメージ３０４、フォント３０５等の形式で、そのままＸＰＳスプールファイル２０７の中に含まれている。
【００４９】
印刷設定であるＰｒｉｎｔＴｉｃｋｅｔ３０６は、ジョブレベル、ドキュメントレベル、ページレベルのすべてのレベルで持つことができ、ページ毎に印刷設定を切り替えることが可能になっている。また、ＰｒｉｎｔＴｉｃｋｅｔ３０６の中にある印刷設定の機能１つ１つにも、どのレベルに対して適用するのかが示されており、機能名称の接頭辞（Ｐｒｅｆｉｘ）で定義されている。例えば、「Ｊｏｂ」が機能の接頭辞としてつけば、ジョブレベルの機能設定ということになる。
【００５０】
ＰｒｉｎｔＴｉｃｋｅｔ３０６は、プリンタやプリンタドライバの機能をＦｅａｔｕｒｅというタグで、機能の選択肢をＯｐｔｉｏｎというタグで表している。ＳｃｏｒｅｄＰｒｏｐｅｒｔｙやＰｒｏｐｅｒｔｙは、Ｏｐｔｉｏｎに付随する属性情報であり、ＰａｒａｍｅｔｅｒＩｎｉｔは機能の値を表している。
【００５１】
サムネイル３０７は、最初のページのスナップショット画像ファイルになっており、ページをレンダリングしなくてもこの画像を使用することでページを見ることができるので、複数のＸＰＳスプールファイル２０７の一覧表示等に利用される。コアプロパティ３０８は、文書の属性（プロパティ）情報であり、文書名、リビジョン、編集者等の情報を含んでいる。Ｄｏｃｕｍｅｎｔ  Ｓｔｒｕｃｔｕｒｅ３０９は、ドキュメントレベルに付属する情報で、ドキュメントの章の区切りを記述している。
【００５２】
以上これらのデータが圧縮され１つのファイルとなっているのが、ＸＰＳスプールファイル２０７である。尚、文書フォーマットのＸＰＳファイルもＸＰＳスプールファイル２０７とまったく同一の構造である。
【００５３】
次に、プリンタドライバのバナーページ生成方法について説明する。
【００５４】
まずは、ＰｒｉｎｔＴｉｃｋｅｔ２０３にバナーの設定を行う。この設定は、例えば、プリンタドライバ２００１のコンフィギュレーションモジュール２０４によって実現されるユーザインタフェースによって行う。
【００５５】
このユーザインタフェースの一例について、図４を用いて説明する。
【００５６】
図４は本発明の実施形態のコンフィギュレーションモジュールによって実現されるユーザインタフェースの一例を示す図である。
【００５７】
このユーザインタフェース（バナー設定ダイアログ）は、アプリケーションからの操作に基づいて、プリンタドライバのコンフィギュレーションモジュール２０４が表示する。このバナー設定ダイアログでは、ジョブに対してバナーページを設定するためのチェックボックス４０１（第１の設定項目）、ドキュメントに対してバナーページの設定するためのチェックボックス４０２（第２の設定項目）を有している。図４では、ジョブだけにバナーページを設定する場合の例を示している。
【００５８】
また、ジョブに対してバナーページを設定する場合には、オプションとして、コアプロパティの情報を付加するためのチェックボックス４０３（第３の設定項目）が構成されている。また、コアプロパティの情報を付加する場合には、付加するプロパティの情報を「すべて」にするか「ユーザ指定」にするかを示す指定方法を選択するためのラジオボタン４０４が構成されている。「ユーザ指定」を選択した場合には、付加することが可能なプロパティの情報の一覧を表示する領域４０５から、所望のプロパティの情報を選択することが可能である。
【００５９】
図４では、チェックボックス４０３によって、コアプロパティの情報もバナーシート上に印刷する設定がなされていて、かつコアプロパティの情報は、ユーザ指定として、「ｌａｓｔＭｏｄｉｆｉｅｄＢｙ」と「ｒｅｖｅｓｉｏｎ」の２つが選択されている。
【００６０】
設定が完了すると、ＯＫボタン４０６を押下することで、その設定が確定し、バナーページ設定情報を含む印刷設定情報（ＰｒｉｎｔＴｉｃｋｅｔ）としてメモリ（例えば、ＲＡＭ１０３）に記憶される。つまり、このＯＫボタン４０６は、印刷設定情報生成部として機能する。一方、キャンセルボタン４０７を押下すると、設定状態がキャンセルされる。
【００６１】
以上の設定に従って作成されるＰｒｉｎｔＴｉｃｋｅｔの記述例について、図５を用いて説明する。
【００６２】
図５は本発明の実施形態のＰｒｉｎｔＴｉｃｋｅｔの記述例を示す図である。
【００６３】
ここでは、機能として「ＪｏｂＰｒｉｍａｒｙＢａｎｎｅｒＳｈｅｅｔ」が指定され、その方法として「Ｃｕｓｔｏｍ」が選択されている。「Ｃｕｓｔｏｍ」は、本来アプリケーションがバナーを生成して付加した際に指定するものであるが、ここではあえてドライババナーの設定として使用する。そのため、本来アプリケーションが生成したバナーページを指定する記述「ＪｏｂＰｒｉｍａｒｙＢａｎｎｅｒＳｈｅｅｔＳｏｕｒｃｅ」を空欄にしている。
【００６４】
具体的には、５０１の行を＜ｐｓｆ：Ｖａｌｕｅ  ｘｓｉ：ｔｙｐｅ＝”ｘｓ：ｓｔｒｉｎｇ”＞＜／ｐｓｆ：Ｖａｌｕｅ＞と空欄にしている。尚、アプリケーションでバナーを付加した場合は、例えば、＜ｐｓｆ：Ｖａｌｕｅ  ｘｓｉ：ｔｙｐｅ＝”ｘｓ：ｓｔｒｉｎｇ”＞／Ｄｏｃｕｍｅｎｔｓ／１／Ｐａｇｅｓ／０．ｂａｎｎｅｒ＜／ｐｓｆ：Ｖａｌｕｅ＞と記述される。
【００６５】
また、コアプロパティの指定も「ＪｏｂＰｒｉｍａｒｙＢａｎｎｅｒＳｈｅｅｔＣｏｒｅＰｒｏｐｅｒｔｉｅｓ」という機能で、並列にＰｒｉｎｔＴｉｃｋｅｔに記述される。こちらはバナーシートに印刷する際に使われる文字である「ＰｒｉｎｔｉｎｇＮａｍｅ」も付随してＰｒｉｎｔＴｉｃｋｅｔに記述する。これは、バナーシートが多言語にローカライズされることを見越したもので、日本語のプリンタドライバであれば日本語が、英語のプリンタドライバであれば英語が入る。
【００６６】
アプリケーションは、前述のように作成したＰｒｉｎｔＴｉｃｋｅｔを元にして印刷処理を実行することで、ＸＰＳスプールファイル２０７が作成される。そして、プリントフィルタパイプラインプロセス２００２のバナーフィルタ２０９に処理が渡される。ここで、バナーフィルタ２０９は、ＸＰＳスプールファイル２０７をファイルそのままのデータで受け取るストリームモードと、ＸＰＳスプールファイル２０７にアクセスしやすいようにＩ／Ｆが整備されているリーチモードがある。ここで、本実施形態におけるバナーフィルタ２０９は、直接ＸＰＳスプールファイル２０７にアクセスするためストリームモードで作成されているとする。
【００６７】
次に、バナーフィルタ２０９のバナー処理動作について、図６を用いて説明する。
【００６８】
図６は本発明の実施形態のバナー処理動作を示すフローチャートである。
【００６９】
バナーフィルタ２０９に、ＸＰＳスプールファイル２０７が渡されると処理を開始する（ステップＳ１１０１）。バナーフィルタ２０９は、ＸＰＳスプールファイル２０７に含まれるＰｒｉｎｔＴｉｃｋｅｔ２０３を参照し、バナーの設定があるかどうか、またバナーの設定が「Ｎｏｎｅ」でないかどうかを判定する（ステップＳ１１０２）。ここでは、ジョブレベルのバナーかドキュメントレベルのバナーかは問わない。
【００７０】
バナーの設定がある場合（ステップＳ１１０２でＹＥＳ）、バナー処理として、バナーフィルタ２０９は、バナーの設定がアプリケーションであるか否かを判定する（ステップＳ１１０３）。ここでの判定は、バナーの種類が「Ｓｔａｎｄａｒｄ」か「Ｃｕｓｔｏｍ」かのどちらであるかに基づいて行う。特に、「Ｓｔａｎｄａｒｄ」である場合は、プリンタによってバナーを付加するプリンタバナーと判定する。また、「Ｃｕｓｔｏｍ」である場合は、アプリケーションによってバナーを付加するアプリケーションバナー、あるいはプリンタドライバによってバナーを付加するドライババナーと判定する。
【００７１】
「Ｓｔａｎｄａｒｄ」である場合（ステップＳ１１０３でＮＯ）、バナーフィルタ２０９は、プリンタバナーと判定し、バナーフィルタ２０９では、処理を特に行わずスキップし、後段のフィルタに渡す（ステップＳ１１０８）。
【００７２】
一方、「Ｃｕｓｔｏｍ」である場合（ステップＳ１１０３でＹＥＳ）、バナーフィルタ２０９は、アプリケーションバナーあるいはドライババナーと判定し、次にバナーページが指定されているかどうかを判定する（ステップＳ１１０４）。ここでの判定は、バナーページにページレベルにあるファイル名が指定されている場合をアプリケーションバナーと判定する。
【００７３】
バナーページが指定されている場合（ステップＳ１１０４でＹＥＳ）、バナーフィルタ２０９は、アプリケーションバナーと判定し、バナーフィルタ２０９では、処理を特に行わずスキップし、後段のフィルタに渡す（ステップＳ１１０９）。
【００７４】
一方、バナーページが指定されていない場合（ステップＳ１１０４でＮＯ）、バナーフィルタ２０９は、ドライババナーと判定し、ドライババナーの生成処理を実行してバナーページを生成する（ステップＳ１１０５）。バナーページの生成処理の詳細については、後述する。
【００７５】
バナーフィルタ２０９は、バナーページを生成したら、生成したバナーページの位置とファイル名をＰｒｉｎｔＴｉｃｋｅｔのバナーページ指定（ＪｏｂＰｒｉｍａｒｙＢａｎｎｅｒＳｈｅｅｔＳｏｕｒｃｅ）に追加記述する（ステップＳ１１０６）。図５のＰｒｉｎｔＴｉｃｋｅｔに対して、このバナーページ指定の記述後の状態が、図７のＰｒｉｎｔＴｉｃｋｅｔになる。これでバナーフィルタ２０９の処理は終了し、後段のフィルタに渡す（ステップＳ１１０７）。
【００７６】
次に、ステップＳ１１０５のバナーページの生成処理の詳細について、図８を用いて説明する。
【００７７】
図８は本発明の実施形態のバナーページの生成処理の詳細を示すフローチャートである。
【００７８】
バナーフィルタ２０９は、バナーの生成処理を開始する（ステップＳ１２０１）。バナーフィルタ２０９は、ＰｒｉｎｔＴｉｃｋｅｔ２０３においてジョブバナーシートが指定されているか、ドキュメントバナーシートが指定されているかを判定する（ステップＳ１２０２）。ここでの判定は、ＰｒｉｎｔＴｉｃｋｅｔ２０３中に「ＪｏｂＰｒｉｍａｒｙＢａｎｎｅｒＳｈｅｅｔ」がある場合はジョブバナーシート指定と判定し、「ＤｏｃｕｍｅｎｔＢａｎｎｅｒＳｈｅｅｔ」がある場合はドキュメントバナーシート指定と判定する。
【００７９】
ジョブバナーシートが指定されている場合（ステップＳ１２０２でＹＥＳ）、バナーフィルタ２０９は、まずは、ジョブバナーシートに記述するためのＪＯＢＩＮＦＯ情報をオペレーティングシステムから取得する（ステップＳ１２０３）。ＪＯＢＩＮＦＯ情報は、印刷ジョブ１つ１つにつけられるもので、ジョブＩＤ、ジョブ名（ドキュメント名）、マシン名、ユーザ名等を含んでいる。
【００８０】
次に、バナーフィルタ２０９は、ＰｒｉｎｔＴｉｃｋｅｔ２０３にＸＰＳスプールファイル２０７に含まれる文書情報のコアプロパティをバナーに記述する指定があるかどうかを判定する（ステップＳ１２０４）。図５のＰｒｉｎｔＴｉｃｋｅｔでは、「ＪｏｂＰｒｉｍａｒｙＢａｎｎｅｒＳｈｅｅｔＣｏｒｅＰｒｏｐｅｒｔｉｅｓ」が指定されているので、コアプロパティの情報をバナーに記述するようになっている。
【００８１】
バナーに記述する指定がない場合（ステップＳ１２０４でＮＯ）、ステップＳ１２０６に進む。一方、バナーに記述する指定がある場合（ステップＳ１２０４でＹＥＳ）、バナーフィルタ２０９は、コアプロパティの情報をＸＰＳスプールファイル２０７から取得する（ステップＳ１２０５）。コアプロパティは、例えば、図９のＸＭＬデータで、編集者や作成者、リビジョン等の文書情報を含んでいる。コアプロパティの文書情報の中で、ＰｒｉｎｔＴｉｃｋｅｔで指定されたデータを取得する。
【００８２】
次に、バナーフィルタ２０９は、ＰｒｉｎｔＴｉｃｋｅｔ２０３にサムネイルをバナーに印刷する指定があるかどうかを判定する（ステップＳ１２０６）。印刷する指定がない場合（ステップＳ１２０６でＮＯ）、ステップＳ１２０８に進む。一方、印刷する指定がある場合（ステップＳ１２０６でＹＥＳ）、バナーフィルタ２０９は、ＸＰＳスプールファイル２０７からサムネイルを取得する（ステップＳ１２０７）。
【００８３】
尚、コアプロパティもサムネイルも常に存在するデータとは限らないので、ＸＰＳスプールファイル２０７に存在しない場合は、たとえ指定があっても、バナーページ上には何も印刷しない。
【００８４】
各種情報を取得したところで、バナーフィルタ２０９は、バナーページであるＦｉｘｅｄＰａｇｅを生成する（ステップＳ１２０８）。生成したＦｉｘｅｄＰａｇｅの記述例は、図１０になる。コアプロパティのデータは、ＰｒｉｎｔＴｉｃｋｅｔ２０３に記述されているＰｒｉｎｔｉｎｇＮａｍｅと組み合わせて文字を生成する。
【００８５】
次に、バナーフィルタ２０９は、生成したバナーページ（バナーデータ）を、ＸＰＳスプールファイル２０７に挿入する（ステップＳ１２０９）。ジョブバナーである場合は、複数あるドキュメントのうち先頭のドキュメントの先頭ページの前に挿入する。一方、ドキュメントバナーである場合は、指定されたドキュメントの先頭ページの前に挿入する。但し、同時にジョブバナーが存在する場合は、ジョブバナーの次のページとして挿入する。バナーページを挿入した場合のＦｉｘｅｄＤｏｃｕｍｅｎｔの記述例は、図１１になる。
【００８６】
次に、バナーフィルタ２０９は、ＰｒｉｎｔＴｉｃｋｅｔ内に別のバナーの指定があるかどうかを判定する（ステップＳ１２１０）。ある場合（ステップＳ１２１０でＹＥＳ）、ステップＳ１２１０に戻る。一方、ない場合（ステップＳ１２１０でＮＯ）、バナー生成処理を終了する。
【００８７】
一方、ジョブバナーシートが指定されていない場合（ステップＳ１２０２でＮＯ）、バナーフィルタ２０９は、ドキュメントバナーシートが指定されているかを判定する（ステップＳ１２１１）。ドキュメントバナーシートが指定されていない場合（ステップＳ１２１１でＮＯ）、ステップＳ１２１０に進む。
【００８８】
一方、ドキュメントバナーが指定されている場合（ステップＳ１２１１でＹＥＳ）、バナーフィルタ２０９は、ＸＰＳスプールファイル２０７にＤｏｃｕｍｅｎｔＳｔｒｕｃｔｕｒｅが存在するかどうかを判定する（ステップＳ１２１２）。
【００８９】
ここで、ＤｏｃｕｍｅｎｔＳｔｒｕｃｔｕｒｅは、例えば、図１２に示す構造のデータであり、文書（ドキュメント）の中に含まれる「章」のデータだけ抜き出したものである。ＤｏｃｕｍｅｎｔＳｔｒｕｃｔｕｒｅもサムネイルやコアプロパティと同様に、ＸＰＳスプールファイル２０７中に存在するとは限らないので、存在したときにデータを取得する。
【００９０】
ＤｏｃｕｍｅｎｔＳｔｒｕｃｔｕｒｅが存在しない場合（ステップＳ１２１２でＮＯ）、ステップＳ１２１０に進む。一方、ＤｏｃｕｍｅｎｔＳｔｒｕｃｔｕｒｅが存在する場合（ステップＳ１２１２でＹＥＳ）、バナーフィルタ２０９は、ＤｏｃｕｍｅｎｔＳｔｒｕｃｔｕｒｅの情報を取得する（ステップＳ１２１３）。そして、バナーフィルタ２０９は、取得したＤｏｃｕｍｅｎｔＳｔｒｕｃｔｕｒｅの情報が示す「章」のデータをドキュメントバナーページに記述する。
【００９１】
但し、あまりにも記述が多くなりすぎる場合は、ＯｕｔｌｉｎｅＬｅｖｅｌのある数値以下のものしか記載しないようにする。ドキュメントバナーには、ＪＯＢＩＮＦＯやコアプロパティ、サムネイルの情報を記述しない。これらの情報はジョブ全体に対して１つのデータであるため、複数のドキュメントが存在すると、すべてのドキュメントバナーに記述される情報が同じものになってしまい、区切りページとしての意味をなさなくなるからである。但し、ジョブバナーが指定されておらず、ＸＰＳスプールファイル２０７内にドキュメントが１つしかない場合は、ドキュメントバナーにもＪＯＢＩＮＦＯやコアプロパティ、サムネイルの情報を記述する。
【００９２】
バナーフィルタ２０９の処理が終了すると、次は、レイアウトフィルタ２１０に処理が渡される。レイアウトフィルタ２１０はバナーシートがある場合は、まず先にバナーシートだけ次のフィルタに向かって送信し、残りのページでレイアウト処理を行う。
【００９３】
レンダラフィルタ２１１は、ＰＤＬコマンドデータに変換する際に、バナーページはコマンドでバインダという区切りを入れて、単独でバナーページであることをプリンタに理解させるコマンドを作成し、プリンタに送信する。
【００９４】
ここで、複数のドキュメントを持つＸＰＳスプールファイルにおいて、ジョブバナーとドキュメントバナーの２つを同時に設定した場合の一例を、図１３に示す。
【００９５】
以上のようにして、プリンタドライバでバナーシートを生成する。このように生成したバナーシートは、ＸＰＳファイル上ではアプリケーションが生成したバナーシートとまったく同等にみえるため、他のプリンタやプリンタドライバにそのＸＰＳファイルを持っていても、バナーを正しく判定することができる。
【００９６】
尚、本実施形態においては、バナーシートのページ指定を空欄にすることで、ドライババナーであることを示しているが、これに限定されない。例えば、「ｎｓ００００：ＤｒｉｖｅｒＢａｎｎｅｒ」という特定の文字列をあらかじめ定義しておき、この特定の文字列がＰｒｉｎｔＴｉｃｋｅｔのバナーシートのページ指定に記述されていれば、ドライババナーであるということを示してもよい。つまり、ドライババナーであることを示す情報がＰｒｉｎｔＴｉｃｋｅｔから得られる構成であればどのような記述であっても良い。
【００９７】
以上説明したように、本実施形態によれば、文書ファイルフォーマットの形態を崩すことがなく、プリンタドライバによるバナー生成を実現することができる。これにより、バナーを含むＸＰＳファイルを他のアプリケーションやプリンタに持っていっても、バナーであることが認識され、正しくバナーを出力することができる。
【００９８】
また、ＸＰＳドライバにおいても、従来のドライバと同様にドライバのバナーページを実現するとともに、ＸＰＳファイルとして出力してもバナーを付加したＸＰＳドキュメントとして、アプリケーションや他のドライバでも認識することができる。
【００９９】
また、従来、バナーページに記載される情報は、ユーザ名と時間とジョブ名程度だったものが、ドキュメントの作成者やリビジョンといったジョブの情報ではなく元のドキュメントの情報も載せることができ、より印刷物の判別に役立たせることができる。
【０１００】
また、ドキュメント毎にバナーをつけることによって、マルチドキュメントのＸＰＳファイルでドキュメントごとの印刷物の判別をすることができる。また、ジョブのバナーにいくつドキュメントが含まれているかの記載も可能となるので、一回の印刷でどれだけのドキュメントが含まれていたのかを認識することができる。また、バナーフィルタという形態になっているので、フィルタを取り除けばバナーの設定を無視するドライバを作成することを容易にすることができる。
【０１０１】
以上、実施形態例を詳述したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能である。具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
【０１０２】
尚、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム（実施形態では図に示すフローチャートに対応したプログラム）を、システムあるいは装置に直接あるいは遠隔から供給する。そして、そのシステムあるいは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
【０１０３】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【０１０４】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であっても良い。
【０１０５】
プログラムを供給するための記録媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスクがある。また、更に、記録媒体としては、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などがある。
【０１０６】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、その接続先のホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【０１０７】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【０１０８】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。また、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
【０１０９】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現される。
【図面の簡単な説明】
【０１１０】
【図１】本発明の一実施形態を示す印刷処理システムのブロック構成図である。
【図２】本発明の実施形態のＸＰＳＤｒｖ印刷システムのブロック構成を示す図である。
【図３】本発明の実施形態のＸＰＳスプールファイルの構造を示す図である。
【図４】本発明の実施形態のコンフィギュレーションモジュールによって実現されるユーザインタフェースの一例を示す図である。
【図５】本発明の実施形態のＰｒｉｎｔＴｉｃｋｅｔの記述例を示す図である。
【図６】本発明の実施形態のバナー処理動作を示すフローチャートである。
【図７】本発明の実施形態のＰｒｉｎｔＴｉｃｋｅｔの記述例を示す図である。
【図８】本発明の実施形態のバナーページの生成処理の詳細を示すフローチャートである。
【図９】本発明の実施形態のコアプロパティの記述例を示す図である。
【図１０】本発明の実施形態のＦｉｘｅｄＰａｇｅの記述例を示す図である。
【図１１】本発明の実施形態のＦｉｘｅｄＰａｇｅの記述例を示す図である。
【図１２】本発明の実施形態のＤｏｃｕｍｅｎｔＳｔｒｕｃｔｕｒｅの記述例を示す図である。
【図１３】本発明の実施形態の複数のドキュメントを有するＸＰＳスプールファイルにおいて、ジョブバナーとドキュメントバナーの２つを同時に設定した場合の一例を示す図である。
【符号の説明】
【０１１１】
１０１  ＣＰＵ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  入力Ｉ／Ｆ
１０５  外部記憶装置
１０５１  アプリケーション
１０５２  印刷関連プログラム
１０５３  プリンタドライバ
１０５４  ＯＳ
１０６  出力Ｉ／Ｆ
１０７  システムバス
１０８  キーボード
１０９  ポインティングデバイス
１１０  モニタ
１１１  プリンタ
２０１  Ｗｉｎ３２アプリケーション
２０２  Ｗｉｎｄｏｗｓ  Ｐｒｅｓｅｎｔａｔｉｏｎ  Ｆｏｕｎｄａｔｉｏｎアプリケーション
２０３  ＰｒｉｎｔＴｉｃｋｅｔ（プリントチケット）
２０４  コンフィギュレーションモジュール
２０５  機種依存ファイル
２０６  ＧＤＩｔｏＸＰＳ変換モジュール
２０７  ＸＰＳスプールファイル
２０８  フィルタコンフィギュレーションファイル
２０９  バナーフィルタ
２１０  レイアウトフィルタ
２１１  レンダラフィルタ
２１２  プリントマネージャ（スプーラ）
２１３  Ｉ／Ｏモニタ（ポートモニタ）
２１４  プリンタ
２１５  ＤＥＶＭＯＤＥ
３０１  Ｆｉｘｅｄ  Ｄｏｃｕｍｅｎｔ  Ｓｅｑｕｅｎｃｅ
３０２  Ｆｉｘｅｄ  Ｄｏｃｕｍｅｎｔ
３０３  Ｆｉｘｅｄ  Ｐａｇｅ
３０４  イメージ
３０５  フォント
３０６  ＰｒｉｎｔＴｉｃｋｅｔ
３０７  サムネイル
３０８  コアプロパティ
【図１】
0005070101.tif 000002
【図２】
0005070101.tif 000003
【図３】
0005070101.tif 000004
【図４】
0005070101.tif 000005
【図５】
0005070101.tif 000006
【図６】
0005070101.tif 000007
【図７】
0005070101.tif 000008
【図８】
0005070101.tif 000009
【図９】
0005070101.tif 000010
【図１０】
0005070101.tif 000011
【図１１】
0005070101.tif 000012
【図１２】
0005070101.tif 000013
【図１３】
0005070101.tif 000014