(57)【特許請求の範囲】
【請求項１】
宛先に対して印刷を行う方法において、
プリントマネージャがイベントを基礎とした印刷動作によって印刷すべき印刷データを受け取るためにクライエントアプリケーションを登録し、
前記プリントマネージャが前記クライエントアプリケーションの少なくとも１つの属性を定義する属性リストを登録し、
前記プリントマネージャが一つ又はそれ以上の印刷サービスに対する要求を前記クライエントアプリケーションから受取り、
前記プリントマネージャが特定の印刷サービスを実施する印刷サービスコンポーネントを活性化させ、
印刷セッションを初期化させるために、前記プリントマネージャは前記クライエントアプリケーションから印刷初期化メッセージを受け取り、
前記プリントマネージャが前記クライエントアプリケーションに対して前記特定の印刷サービスを供給するための印刷イベントを発生し、前記印刷イベントは前記特定の印刷サービスに従って前記クライエントアプリケーションから情報を要求し、
前記クライエントアプリケーションが前記印刷イベントをサポートしている場合には、前記プリントマネージャが、前記クライエントアプリケーションから前記印刷イベントに対する応答を受取り、少なくとも１つの応答からの印刷データを宛先に接続されているプリントドライバへ転送し、且つ前記イベントを基礎とした印刷動作を終了させるために前記クライエントアプリケーションへ印刷終了イベントを送り、一方前記クライエントアプリケーションが前記印刷イベントをサポートしていない場合には、前記クライエントアプリケーションは前記印刷イベントを無視するか又は所定の値を前記プリントマネージャへ供給する、
ことを特徴とする方法。
【請求項２】
請求項１において、前記宛先がプリンタであることを特徴とする方法。
【請求項３】
請求項１において、前記プリントマネージャが特定の印刷サービスのユーザ選択を受取ることを特徴とする方法。
【請求項４】
請求項１において、前記プリントマネージャが前記特定の印刷サービスに従って少なくとも１つの印刷パラメータを発生し、前記印刷パラメータは前記特定の印刷サービスを提供するために前記印刷データと共に使用されることを特徴とする方法。
【請求項５】
請求項１において、印刷サービスコンポーネントを活性化させる場合に、前記プリントマネージャが印刷サービスコンポーネントオブジェクトのインスタンスを作成することを特徴とする方法。
【請求項６】
請求項１において、前記プリントマネージャが前記特定の印刷サービスに従って前記受取った印刷データを修正することを特徴とする方法。
【請求項７】
請求項１において、前記印刷イベントが前記印刷イベントに応答して使用するために前記クライエントアプリケーションに対する最適化情報を有していることを特徴とする方法。
【請求項８】
請求項１において、前記属性リストが前記プリントマネージャによって供給される特定の印刷サービスを表す属性を包含しており、且つ前記特定の印刷サービスがタイル印刷であることを特徴とする方法。
【請求項９】
請求項１において、前記属性リストが前記プリントマネージャによって供給される特定の印刷サービスを表す属性を包含しており、且つ前記特定の印刷サービスが色分解であることを特徴とする方法。
【請求項１０】
請求項１において、前記属性リストが前記プリントマネージャによって供給される特定の印刷サービスを表す属性を包含しており、且つ前記特定の印刷サービスがマスター頁であることを特徴とする方法。
【請求項１１】
宛先に対して印刷を行うために使用するプリントマネージャを実現するコンピュータプログラムを記録したコンピュータが読取可能な記録媒体において、前記コンピュータプログラムは、コンピュータをして、
プリントマネージャがイベントを基礎とした印刷動作によって印刷すべき印刷データを受け取るためにクライエントアプリケーションを登録する手順、
前記プリントマネージャが前記クライエントアプリケーションの少なくとも１つの属性を定義する属性リストを登録する手順、
前記プリントマネージャが一つ又はそれ以上の印刷サービスに対する要求を前記クライエントアプリケーションから受取る手順、
前記プリントマネージャが特定の印刷サービスを実施する印刷サービスコンポーネントを活性化させる手順、
印刷セッションを初期化させるために、前記プリントマネージャが前記クライエントアプリケーションから印刷初期化メッセージを受け取る手順、
前記プリントマネージャが前記クライエントアプリケーションへ特定の印刷サービスを提供するための印刷イベントを発生させる手順であって、前記印刷イベントは前記特定の印刷サービスに従って前記クライエントアプリケーションからの情報を要求する手順、
前記クライエントアプリケーションが前記印刷イベントをサポートしている場合には、前記プリントマネージャが、前記クライエントアプリケーションからの前記印刷イベントに対する応答を受取り、少なくとも１つの応答からの印刷データを宛先に接続されているプリントドライバへ転送し、且つ前記イベントを基礎とした印刷動作を終了させるために前記クライエントアプリケーションへ印刷終了イベントを送り、一方前記クライエントアプリケーションが前記印刷イベントをサポートしていない場合には、前記印刷クライエントアプリケーションは前記印刷イベントを無視するか又は所定の値を前記プリントマネージャへ供給する手順、
を実行させることを特徴とする記録媒体。
【請求項１２】
請求項１１において、前記プリントマネージャが前記クライエントアプリケーションを実行するプロセスとは独立したプロセスとして実行し、且つ前記プリントマネージャがプロセス間通信ファシリティを介して印刷イベントを送ることを特徴とする記録媒体。
【請求項１３】
請求項１１において、前記プリントマネージャがプリンタ内のプロセサ上でのプロセスとして実行を行うことを特徴とする記録媒体。
【請求項１４】
請求項１１において、前記プリントマネージャがオペレーティングシステム内に画定されていることを特徴とする記録媒体。
【請求項１５】
請求項１１において、前記プリントマネージャがオペレーティングシステムとは独立的であることを特徴とする記録媒体。
【請求項１６】
請求項１１において、前記プリントマネージャが前記クライエントアプリケーションとは別のソフトウエアコンポーネント内に画定されていることを特徴とする記録媒体。
【請求項１７】
印刷用のコンピュータによって実現されるシステムにおいて、
プリントマネージャがイベントを基礎とした印刷動作によって印刷すべき印刷データを受け取るためにクライエントアプリケーションを登録する手段、
前記プリントマネージャが前記クライエントアプリケーションの少なくとも１つの属性を定義する属性リストを登録する手段、
前記プリントマネージャが一つ又はそれ以上の印刷サービスに対する要求を前記クライエントアプリケーションから受取る手段、
前記プリントマネージャが特定の印刷サービスを実施する印刷サービスコンポーネントを活性化させる手段、
印刷セッションを初期化させるために、前記プリントマネージャが前記クライエントアプリケーションから印刷初期化メッセージを受け取る手段、
前記プリントマネージャが前記クライエントアプリケーションへ特定の印刷サービスを提供するための印刷イベントを発生させる手段であって、前記印刷イベントは前記特定の印刷サービスに従って前記クライエントアプリケーションからの情報を要求する手段、
前記クライエントアプリケーションが前記印刷イベントをサポートしている場合には、前記プリントマネージャが、前記クライエントアプリケーションからの前記印刷イベントに対する応答を受取り、少なくも１つの応答からの印刷データを宛先に接続されているプリントドライバへ転送し、且つ前記イベントを基礎とした印刷動作を終了させるために前記クライエントアプリケーションへ印刷終了イベントを送り、一方前記クライエントアプリケーションが前記印刷イベントをサポートしていない場合には、前記印刷クライエントアプリケーションは前記印刷イベントを無視するか又は所定の値を前記プリントマネージャへ供給する手段、
を有していることを特徴とするシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンピュータ印刷システムに関するものである。
【０００２】
【従来の技術】
従来のコンピュータに基づいた印刷システムはオペレーティングシステムが提供する印刷サービス、即ち「プリントマネージャ」を使用している。プリントマネージャはオペレーティングシステムが提供するアプリケーションプログラミングインターフェース（ＡＰＩ）及び１つ又はそれ以上のプリントドライバの集まりとして実現される印刷システムの抽象化したものである。プリントマネージャは、より高いレベルのグラフィク命令をターゲットのプリンタで使用するための制御コマンド言語へ変換する。従来の印刷システムにおいては、ユーザがアプリケーションからの文書を印刷しようとする場合に、そのアプリケーションはオペレーティングシステムへ特定のシリアルコマンドを送り、ユーザが定義したパラメータに従ってその文書内の各頁の内容を順次印刷する。
【０００３】
アップルマッキントッシュＯＳ及びマイクロソフトウインドウズ（商標）９５等の従来のオペレーティングシステムによって提供される印刷サービスは、アプリケーションプログラムが印刷プロセスのシーケンス及び動作を制御することを必要とする。そのアプリケーションは、文書頁を印刷するための全ての要求のタイミング、印刷プロセスの初期化、頁の逐次的な描画、及び各頁の始め及び終りを印刷システムへ通知すること等の機能を制御する。
【０００４】
従来の印刷システムが、例えば、タイル印刷又は色分解等の高度な印刷特徴を実現する場合には、アプリケーションからの頁内容は、典型的に、メモリ又はディスクのいずれかにバッファされ且つ頁内容に関してのマルチパスが必要とされる（即ち、アプリケーションから同一のデータを多数回印刷システムへ供給することが必要とされる）。マルチパスにおいてデータをバッファ処理し且つ供給することは、印刷速度、システムメモリ、ディスク記憶及びアクセス条件の点で高価なものとなる場合がある。
【０００５】
【発明が解決しようとする課題】
本発明は、以上の点に鑑みなされたものであって、上述した如き従来技術の欠点を解消し、クライエントアプリケーションプログラムの印刷制御能力とは独立的な高度な印刷サービスを提供することが可能な印刷システム及び方法を提供することを目的とする。
【０００６】
【課題を解決するための手段】
本発明によれば、コンピュータシステムにおいて選択したデステシネーション即ち宛先に対する印刷を行う技術を実現する方法及び装置が提供される。一般的に、１つの側面においては、該技術は、クライエントアプリケーションに対して特定の印刷サービスを提供するための印刷イベントを発生することを包含しており、その場合に該印刷イベントは該特定の印刷サービスに基づいてクライエントアプリケーションから情報を要求し、且つ該技術は、クライエントアプリケーションから印刷イベントに対する応答を受取ることを包含しており、その場合に少なくとも１つの応答はデスティネーション即ち宛先に対して印刷すべき印刷データを包含している。
【０００７】
別の側面においては、本発明は、クライエントアプリケーションから特定の印刷サービスを要求するための技術を提供している。該技術は、プリントマネージャへ印刷初期化メッセージを送ることによってデスティネーション即ち宛先に対して印刷を行うための印刷セッションを初期化すること、プリントマネージャから印刷イベントを受取ること、及び受取った印刷イベントに応答することを包含している。
【０００８】
別の側面においては、本発明は特定の印刷サービスを提供する技術を提供している。該技術は、クライエントアプリケーションをプリントマネージャで登録すること、１つ又はそれ以上の属性をプリントマネージャで登録し、その場合に少なくとも１つの属性がプリントマネージャによって提供されるべき特定の印刷サービスを表わすものであること、１つ又はそれ以上の印刷セッションパラメータを特定する印刷セッションを初期化すること、印刷セッションパラメータ及び登録されている属性に従って印刷イベントを発生し、その場合に印刷イベントがプリントマネージャによって提供されるべき特定の印刷サービスに従ってクライエントアプリケーションから情報を要求すること、プリントマネージャによって提供されるべき特性の印刷サービスに従って少なくとも１つの印刷パラメータを発生すること、クライエントアプリケーションへ印刷イベントを送ること、クライエントアプリケーションがその印刷イベントをサポートしている場合に、プリントマネージャへ印刷データを供給することによって印刷イベントに応答し、その場合にプリントマネージャが印刷データ及び各印刷パラメータを宛先へ供給すること、印刷セッションが完了したか否かを決定すること、クライエントアプリケーションへ印刷終了イベントを送ること、及び印刷セッションを終了することを包含している。
【０００９】
本発明の利点としては、以下に記載する１つ又はそれ以上のものを包含している。本印刷システムは、クライエントアプリケーションプログラムの印刷制御能力とは独立的な多数の高度の印刷サービスを提供することが可能である。高度な印刷サービスの例としては、例えば色分解又はタイル印刷用に１頁を多数回描画すること、繰返し可能なマスター頁内容を使用すること、又は個別的な顧客をターゲットとした小売商のカタログ等の各コピー上に独特の情報で印刷した出力をカスタム化（即ち、「個人化」）することを包含している。本印刷システムはプリンタの印刷の流れを最適化させる。更に、本印刷システムはクライエントアプリケーションにかかる負担を最小とさせ、共通の高度の特徴をプリントマネージャに集約させている。この集約化はプログラミング効率及びクライエントアプリケーションの動作を改善している。本プリントマネージャは、又、特定のコンピュータシステム及びターゲットプリンタの制限に対して適合させることが可能である。
【００１０】
【発明の実施の形態】
図１はプリントマネージャ１０５を包含するコンピュータシステム１００を示している。プリントマネージャ１０５は、例えば頁記述言語（ＰＤＬ）コマンド等の印刷コマンドをプリントドライバ１１５へ供給する。プリントドライバ１１５はプリンタ１２０に対してプリンタコマンドを供給する。プリントドライバ１１５はプリントマネージャ１０５の出力に対するデスティネーション即ち宛先のうちの１つの例である。別の具体例においては、プリントマネージャは例えば文書フォーマット化コンポーネント（例えば、アドビ（商標）アクロバット（商標））、ファイル、ディスプレイ装置、又はクライエントアプリケーション１２５等のその他のデスティネーション即ち宛先に印刷コマンドを供給する。プリントマネージャ１０５は、又、使用可能なデスティネーション即ち宛先に対する適宜の変換コンポーネントを有している。
【００１１】
クライエントアプリケーション１２５は例えばタイル印刷及び色分解等のプリントマネージャ１０５からの印刷サービスを要求する。印刷サービスの例について以下に説明する。クライエントアプリケーションは印刷コンポーネント１３５を有している。印刷コンポーネント１３５はクライエントアプリケーション１２５内の印刷サービスへアクセスするためのクライエントアプリケーション１２５のセクションの抽象化したものである。印刷コンポーネント１３５は別個のプログラミングコードコンポーネントとして実現するか又はクライエントアプリケーション１２５全体と一体化させることが可能である。クライエントアプリケーション１２５は適宜のプリントマネージャルーチンを介してプリントマネージャ１０５へアクセスすることが可能である。
【００１２】
印刷セッションが開始する前に、クライエントアプリケーション１２５はプリントマネージャ１０５で登録を行う。その登録は多数の態様で行うことが可能である。クライエントアプリケーション１２５は、ユーザの選択及び所望の印刷サービスを表わす入力を受取るために、プリントマネージャが例えばダイアログボックス等のユーザインターフェース１３０を供給することを要求することが可能である。クライエントアプリケーション１２５は直接的にユーザインターフェース１３０を供給することが可能である。該登録は、又、例えばスクリプトを介して自動的に実施することが可能である。
【００１３】
該登録は、送信側のクライエントアプリケーション１２５がイベントを基礎とした印刷に従って動作を行い且つ後にプリントマネージャ１０５から印刷サービスを要求する場合があることをプリントマネージャ１０５に対して表示する。該登録は、クライエントアプリケーション１２５が要求する可能性のある例えばタイル印刷又は色分解等の特定の印刷サービスを包含する「属性」を有することが可能である。該登録は、又、例えばプリントドライバ１１５等のプリントマネージャの出力に対するデスティネーション即ち宛先の選択を包含することも可能である。１つの実現例においては、イベントを基礎にした印刷を使用することのない従来のアプリケーションプログラムが従来の態様で印刷サービスへアクセスすることを可能とすることによって、それらの従来のアプリケーションプログラムとの互換性が維持されている。該登録を使用することは、プリントマネージャ１０５に対して従来のアプリケーションプログラムとクライエントアプリケーション１２５とを区別している。
【００１４】
プリントマネージャ１０５は印刷動作を制御するために属性リスト１２７を使用する。該登録に応答して、プリントマネージャは属性リスト１２７を作成し且つ属性リスト１２７をクライエントアプリケーション１２５と関連付けさせる。プリントマネージャ１０５はクライエントアプリケーション１２５によって登録された属性を属性リスト１２７内に格納する。クライエントアプリケーション１２５はプリントマネージャ１０５へ付加的な登録を送ることによって付加的な属性を登録することが可能であり、それは属性リスト１２７へ付加される。クライエントアプリケーション１２５が以前に登録した属性をディスエーブル即ち動作不能状態とさせるために、クライエントアプリケーション１２５は、属性リスト１２７からどの属性が除去されるべきかを表わす付加的な登録メッセージをプリントマネージャ１０５へ送ることが可能である。プリントマネージャ１０５は以下に説明するように印刷セッションに対して適切なイベントを発生するために属性リスト１２７を使用する。プリントマネージャ１０５は、又、デフォルトによって印刷サービスを提供することが可能であり、又は以下に説明するように、例えば、マスター頁でもって、印刷サービスが適切であるか否かを印刷セッション期間中にクライエントアプリケーション１２５に対して質問することが可能である。
【００１５】
プリントマネージャ１０５は複数のクライエントアプリケーション１２５に対して属性リスト１２７を維持することが可能である。一方、クライエントアプリケーション１２５は、属性リスト１２７内のデータへアクセスするためのプリントマネージャルーチンを使用して属性リスト１２７を維持することが可能である。同様に、複数の属性リスト１２７を同一のクライエントアプリケーション１２５に対して維持することが可能であり、印刷動作を初期化する場合にクライエントアプリケーション１２５がどの属性リスト１２７を使用するかを表わすことを必要とする。
【００１６】
クライエントアプリケーション１２５が印刷の準備がされている場合には、クライエントアプリケーション１２５は印刷初期化メッセージをプリントマネージャ１０５へ送る。印刷初期化メッセージは、例えば印刷すべき頁数又は宛先等の印刷セッションを制御するための印刷セッションパラメータを包含することが可能である。クライエントアプリケーションによって送られた印刷初期化メッセージが例えば印刷すべき頁数等の印刷セッションの必要なパラメータを表わすものでない場合には、プリントマネージャは以下に説明するように印刷イベントレコードを使用して印刷セッションパラメータを要求することが可能である。クライエントアプリケーションは適宜のプリントマネージャルーチンを呼び出すことによってこのような要求に応答することが可能である。
【００１７】
プリント初期化メッセージを送った後に、クライエントアプリケーション１２５はプリントマネージャ１０５から印刷イベントを受取る準備がなされる。クライエントアプリケーション１２５は種々の態様で印刷イベントを受取ることが可能である。クライエントアプリケーション１２５内の実行制御は印刷ループ１４０へパスすることが可能である。印刷ループ１４０内にある間に、クライエントアプリケーション１２５は、プリントマネージャ１０５によって発生される印刷イベントを要求し、待機し、且つ応答する。クライエントアプリケーション１２５は、印刷イベントキュー（待ち行列）から印刷イベントレコードを検索することが可能である。本印刷プロセスは、又、インタラプト駆動型とすることも可能である。
【００１８】
クライエントアプリケーション１２５から印刷初期化メッセージを受取った後に、プリントマネージャ１０５はクライエントアプリケーション１２５に対応する属性リスト１２７を評価する。プリントマネージャ１０５は、又、例えば印刷セッションパラメータ、選択されたか又はデフォルトの宛先、プリントマネージャ１０５又はターゲットプリンタ１３０によって供給されるデフォルトの内容又は頁（例えば、ウォーターマーク）等のプリントマネージャ１０５内に格納されているその他のパラメータも評価する。プリントマネージャ１０５は、又、以下に説明する適宜の印刷サービスコンポーネント１４５へアクセスし、必要とされる印刷ジョブを完了するのに必要な情報を評価する。プリントマネージャ１０５は印刷イベントを表わす印刷イベントレコードを発生し且つこれらの印刷イベントレコードをクライエントアプリケーション１２５へ送る。
【００１９】
プリントマネージャ１０５は１組の印刷イベントをサポートしている。印刷イベントは印刷プロセスを簡単化させるためにプリントマネージャ１０５からクライエントアプリケーション１２５への要求を表わす。このような要求は、印刷すべき頁内容に対する要求、又はサービスがクライエントアプリケーション１２５によってサポートされているか否かの質問を包含している。クライエントアプリケーション１２５は幾つかの印刷イベントを無視することが可能である。従って、クライエントアプリケーション１２５はプリントマネージャ１０５の最小印刷能力又は該アプリケーションに対して所望される多数の特徴を利用するように構成することが可能である。
【００２０】
印刷イベントの例としては、頁イベント描画、頁イベント開始、頁イベントマスター、及びイベント終了等がある。頁イベント描画は、クライエントアプリケーション１２５が頁を描画することを要求する。頁イベント開始は、プリントマネージャ１０５が頁を印刷する準備がされていることをクライエントアプリケーションへ表示し且つクライエントアプリケーション１２５が頁イベント描画を受取る前に何等かの必要な処理を実施することを要求する。例えば、プリントマネージャ１０５が以下に説明するように色分解を提供する場合には、クライエントアプリケーション１２５は各頁に対してどのインクが使用されることを表わす情報をプリントマネージャ１０５へ供給することによって分解の発生を最適化させることが可能である。この最適化は、全印刷セッションに対して特定されているインクの全てを使用するものではない頁に対してのブランク分解を印刷することを回避することを可能とする。マスター頁イベントは、クライエントアプリケーションがプリントマネージャ１０５へマスター頁内容を供給することを要求する。イベント終了は、印刷セッションが完了していることを表わす。
【００２１】
プリントマネージャ１０５及びクライエントアプリケーション１２５は印刷プロセスに関して通信を行うために印刷イベントを表わすための印刷イベントレコードを使用する。印刷イベントレコードは、例えばデータ構造又はオブジェクト等の予め定めたフォーマットで編成されているデータを包含している。印刷イベントレコードは、クライエントアプリケーション１２５が印刷イベントレコードによって表わされる印刷イベントのタイプを決定し且つ印刷イベントレコードに応答するために使用する情報を包含している。印刷イベントレコードは、又、クライエントアプリケーション１２５がクライエントアプリケーション１２５の応答を最適化するために使用することの可能な情報を包含することも可能である。例えば、該最適化情報はクライエントアプリケーション１２５がその応答を制限することが可能な印刷すべき文書の興味のある特定の領域をクライエントアプリケーション１２５に対して表示することが可能である。クライエントアプリケーション１２５は最適化情報を無視することが可能である。１つの実現例においては、クライエントアプリケーション１２５が最適化情報を使用したか否かをクライエントアプリケーション１２５がプリントマネージャ１０５に対して表示する。
【００２２】
プリントマネージャ１０５は印刷イベントに対応する印刷イベントレコードを発生し且つ該印刷イベントレコードをクライエントアプリケーション１２５へ送る。使用可能な印刷サービス、印刷イベント及び印刷イベントレコードのフォーマットは予め定められており、従ってクライエントアプリケーション１２５の印刷コンポーネント１３５は適宜の応答を供給すべく実現されている。プリントマネージャ１０５は印刷イベントを介して印刷プロセスを制御する。
【００２３】
クライエントアプリケーション１２５は印刷すべき文書の論理頁からのデータを供給するか又は幾つかのその他の適宜の動作を行うことによって印刷イベントレコードに応答する。クライエントアプリケーション１２５が印刷イベントのタイプを認識するものではないか又は応答が必要ないことを決定する場合の印刷イベントの場合には、クライエントアプリケーション１２５はヌル応答を与える。このヌル応答は、クライエントアプリケーション１２５が何等アクションをとることがない、即ち動作を行うことがないことを表わすことが可能である。プリントマネージャ１０５は応答しないことをクライエントアプリケーション１２５によるヌル応答として特性付けるべくプログラムすることが可能である。プリントマネージャ１０５及び以下に説明するアクティブ印刷サービスコンポーネント１４５は、全ての要求したデータが供給されたものと仮定して進行することが可能である。要求した印刷データが供給されていない場合には、印刷サービスは作用しない場合がある。クライエントアプリケーション１２５が頁を描画することをプリントマネージャ１０５が要求し且つクライエントアプリケーション１２５がその要求を無視した場合には、プリントマネージャ１０５は、ブランクの頁即ち白紙の頁が要求されたデータであると仮定して進行することが可能である。
【００２４】
印刷特徴の実際の具体例はプリントマネージャ１０５内の印刷サービスコンポーネント１４５内に存在している。この割り当てはクライエントアプリケーション１２５が印刷サービスを実施し且つ処理することの負担を取除いている。更に、プリントマネージャ１０５は、クライエントアプリケーション１２５よりも、コンピュータシステムの特定の特徴及びデスティネーション（宛先）へアクセスするのにより適したものである。例えば、デスティネーション（宛先）がプリンタ１２０である場合には、プリンタは、しばしば、例えばメモリ拡張、メモリ管理、及び色分解（即ち、夫々の色を別々に印刷すること）等の独特の能力を有しており、そのことをクライエントアプリケーションが認識しない場合がある。プリントマネージャ１０５は優先度制御を集中化させ、クライエントアプリケーション１２５に対して一様なるインターフェースを与える。１つの具体例においては、クライエントアプリケーション１２５はプリントマネージャ１０５に対して単一の論理頁を供給することによって全ての認識された印刷イベントレコードに対し応答する。一方、プリントマネージャ１０５は例えばクリッピング経路等の適宜の修正を与える。然しながら、クライエントアプリケーション１２５は、適宜、高度の印刷機能及びシステム又はプリンタに特定の機能を包含する印刷特徴を実現することが自由のままである。
【００２５】
各印刷サービスコンポーネント１４５は、例えばタイル印刷等の１つ又はそれ以上の印刷サービスを実施する。プリントマネージャ１０５は使用すべき対応する印刷サービスコンポーネント１４５に基づいて印刷イベントの形態を特定する。印刷セッションにおいては、１つ又はそれ以上の印刷サービスコンポーネント１４５からなるグループが「アクティブ」である（即ち、プリントマネージャ１０５は印刷セッション期間中にこれらの印刷サービスコンポーネント１４５へアクセスする）。アクティブな印刷サービスコンポーネントはクライエントアプリケーション１２５によって登録されている属性リスト１２７内の属性に従ってプリントマネージャ１０５によって決定される。アクティブな印刷サービスコンポーネントは、又、プリントマネージャ１０５内に格納されている印刷サービスに対するデフォルト又はシステム設定によって表わすことが可能である。１つの具体例においては、印刷サービスコンポーネント１４５はアクティブの間にインスタンスとして例示化されるオブジェクトである。
【００２６】
プリントマネージャ１０５はアクティブな印刷サービスコンポーネント１４５と相互作用を行ってクライエントアプリケーション１２５へ送るべき適宜のイベントからなるシーケンスを発生する。アクティブな印刷サービスコンポーネント１４５は、対応する印刷サービスの性質に従ってクライエントアプリケーション１２５からどのようなアクション又はデータを要求するかを表わす情報をプリントマネージャ１０５へ供給する。更に、アクティブな印刷サービスコンポーネント１４５はクライエントアプリケーション１２５へパスさせるための最適化情報をプリントマネージャ１０５へ供給することが可能である。アクティブな印刷サービスコンポーネント１４５はクライエントアプリケーションの論理頁とデスティネーション（宛先）の物理的用紙との間の座標マッピングを決定するか又は頁に付加すべき境界を画定する寸法を決定すること等によって印刷を制御するための印刷パラメータを設定することが可能である。例えば、以下に説明するように、タイル印刷用の印刷サービスコンポーネント１４５においては、印刷サービスコンポーネント１４５は物理的な頁即ちタイルの集まりの中に適合すべく供給された印刷データの座標をマッピングする。アクティブな印刷サービスコンポーネント１４５はクライエントアプリケーション１２５から印刷データを受取るための必要なデータ構造を用意する。クライエントアプリケーション１２５は印刷イベントレコードに応答して印刷マネージャルーチンを介してこれらのデータ構造へアクセスし且つ修正する。アクティブな印刷サービスコンポーネント１４５は、又は、クライエントアプリケーション１２５によって供給される印刷データへアクセスするか又は修正することが可能である。従って、アクティブな印刷サービスコンポーネント１４５は、情報に対する要求、最適化情報、及び印刷パラメータの適宜の組合わせを介して、所望の印刷サービスを提供するのに必要なデータ及び情報をプリントマネージャ１０５へ供給する。
【００２７】
プリントマネージャ１０５はアクティブな印刷サービスコンポーネント１４５から印刷データ及び印刷パラメータを例えばプリントドライバ１１５等の選択されたデスティネーション即ち宛先へ供給する。プリントドライバ１１５は該データをプリンタコマンドへ変換し且つそれらのコマンドをプリンタ１２０へ送る。１つの具体例においては、プリントマネージャ１０５がアクティブな印刷サービスコンポーネント１４５から印刷データ及びパラメータを受取り且つデスティネーション即ち宛先へ送るべき適宜のＰＤＬコマンドを発生する。
【００２８】
プリントマネージャ１０５が、現在の印刷ジョブが完了したことを決定する場合には、プリントマネージャ１０５は印刷イベントレコードをクライエントアプリケーション１２５へ送り、印刷ジョブを終了させることが可能であることを表わす。１つの具体例においては、クライエントアプリケーション１２５によって供給される印刷セッションパラメータが、いつ印刷セッションが完了するかを表わす。それに応答して、クライエントアプリケーション１２５はプリントマネージャ１０５へ印刷終了メッセージを送り、現在のジョブの終りを確認し且つその印刷セッションを終了させる。プリントマネージャ１０５及びクライエントアプリケーション１２５は、次いで、その印刷セッションからの内部的データ構造の適宜のクリーンアップを実施することが可能である。
【００２９】
要するに、１実施例においては、クライエントアプリケーション１２５が印刷動作を開始した後に、プリントマネージャ１０５がクライエント属性リスト１２７をチェックして、登録されている属性によって表わされるその印刷ジョブの要求された特徴を決定する。これらの要求に基づいて、プリントマネージャ１０５は、その印刷セッションの期間中に対する１つ又はそれ以上の印刷サービスコンポーネント１４５をアクティブな印刷サービスコンポーネント１４５としてインスタンスを生成する。プリントマネージャ１０５はクライエント属性リスト１２７からの情報及び必要に応じて次にスケジュールされている印刷イベントを包含する印刷セッションを介しての進捗についての通信を行う。各印刷サービスコンポーネント１４５は、現在の状態に基づいて、且つ幾つかの場合においては、未決の印刷イベントに基づいて適宜の機能を実施する。例えば、印刷サービスコンポーネント１４５はクライエントに対する最初の印刷イベントを発行する前に、爾後のイベントの前とは異なる機能を実行することが可能であり、又は印刷サービスコンポーネント１４５は各イベントの間で異なる機能を実行することが可能である。プリントマネージャ１０５は印刷サービスコンポーネント１４５の動作を容易なものとさせるために、イベントの間において各印刷サービスコンポーネント１４５の通知をシーケンス動作させる。印刷セッションが終了したこと（即ち、イベント終了がクライエントアプリケーション１２５へ送られるべきこと）をプリントマネージャ１０５が判別する場合には、プリントマネージャは各印刷サービスコンポーネント１４５に対して通知を行い、従って印刷サービスコンポーネント１４５は例えばメモリの解放等の適宜のアクションをとること、即ち動作を行うことが可能である。
【００３０】
図２はイベントを基礎とした印刷動作を与えるプロセス２００を示している。
イベントを基礎とした印刷動作は、クライエントアプリケーションとプリントマネージャとの間のインタラクション即ち相互作用として発生する。クライエントアプリケーションはプリントマネージャで登録することが可能である（ステップ２０５）。プリントマネージャは各登録されているクライエントアプリケーションに対する属性リストを作成し且つ維持し、それはそのクライエントアプリケーションに対して現在登録されている属性を表わす（ステップ２０７）。
【００３１】
印刷セッションを開始させるために、クライエントアプリケーションが印刷初期化メッセージをプリントマネージャへ送る（ステップ２１０）。印刷初期化メッセージを送った後に、クライエントアプリケーションは印刷イベントを要求することが可能である（ステップ２１２）。この要求に応答して、プリントマネージャは、以下に記載するように、その印刷セッションが完了しているか否かをチェックする（ステップ２３７）。その印刷セッションが完了していない場合には、プリントマネージャは印刷イベントを発生し且つその印刷イベントをクライエントアプリケーションへ転送する（ステップ２１５）。
【００３２】
クライエントアプリケーションがプリントマネージャから印刷イベントレコードを受取ると、クライエントアプリケーションはその印刷イベントレコードから印刷イベントタイプを評価する（ステップ２２０）。クライエントアプリケーションはプリントマネージャへ印刷データを送るか又はその印刷イベントのタイプに対して適切な何等かの内部的アクション（動作）をとることによって、認識された印刷イベントに応答することが可能である（ステップ２２５）。応答した後に、クライエントアプリケーションは別の印刷イベントを要求する（ステップ２１２）。プリントマネージャはクライエントアプリケーションから印刷データを受取り且つその印刷データをプリントマネージャ内の適宜のアクティブな印刷サービスコンポーネントへ供給しそのデータに対して適切な印刷サービスを提供する。印刷サービスコンポーネントはその印刷サービスコンポーネント機能に対して適切な印刷パラメータを設定する（ステップ２３０）。一方、印刷サービスコンポーネントは、プリントマネージャがクライエントアプリケーションへ印刷イベントレコードを送る前に、その印刷パラメータを設定することが可能である。印刷サービスコンポーネントは印刷データ及び印刷パラメータをプリントドライバを介してプリンタへ供給する（ステップ２３５）。次いで、プリントマネージャはクライエントアプリケーションから次の印刷イベントに対する要求を受取ることを待機する（ステップ２１２）。クライエントアプリケーションから印刷イベントに対する要求を受取ることは、クライエントアプリケーションが前の印刷イベントに応答してとったアクションが完了したことをプリントマネージャに対して表わすことが可能である。
【００３３】
クライエントアプリケーションは認識されなかった印刷イベント又は応答を必要としない印刷イベントを「無視」することが可能であり、且つヌル（零）応答を供給することが可能である（ステップ２４５）。クライエントアプリケーションは印刷セッションが終了されるまで印刷イベントを継続して要求する（ステップ２１２）。クライエントアプリケーションからヌル応答を受取ると、プリントマネージャはプリントマネージャ内に定義されているデフォルト応答を実行することが可能である（ステップ２５０）。次いで、プリントマネージャはクライエントアプリケーションからの次の印刷イベント要求を受取ることを待機する（ステップ２１２）。
【００３４】
印刷イベントに対する要求を受取った後に、プリントマネージャは印刷セッションが完了しているか否かを評価する（ステップ２３７）。例えば、印刷セッションパラメータに従って最後の頁を印刷すること等によりプリントマネージャが印刷セッションが完了していることを認識すると、プリントマネージャはイベント終了用の印刷イベントレコードを発生する（ステップ２５５）。イベント終了を認識するとクライエントアプリケーションは印刷終了メッセージをプリントマネージャへ送ることによってその印刷セッションを終了させ、印刷セッションの終結を確認する（ステップ２６０）。
【００３５】
別の実施例においては、プリントマネージャはクライエントアプリケーションからの印刷イベント要求を待機するのではなく、その代わりに、レコードが発生されるとクライエントアプリケーションに対して印刷イベントを送る。次いで、クライエントアプリケーションはその印刷イベントレコードをキュー（待ち行列）から検索し且つ上述したように適宜応答を行う。同様に、別の実施例においては、プリントマネージャは次の印刷イベントレコードを送る前にクライエントアプリケーションからの応答を常に待機するものではない。
【００３６】
図３はクライエントアプリケーションから見た場合のイベントをベースとした即ちイベントを基礎とした印刷動作のプロセス３００を示している。初期的には、プリントマネージャで登録することによって印刷サービスを要求することが可能であることをクライエントアプリケーションがプリントマネージャに対して表示する（ステップ３０５）。プリントマネージャで印刷セッションを開始させるために、クライエントアプリケーションが印刷初期化メッセージをプリントマネージャへ送る（ステップ３１０）。印刷初期化メッセージを送った後に、クライエントアプリケーションがクライエントアプリケーションにおける印刷イベントループへ入り且つプリントマネージャから印刷イベントを要求する（ステップ３１５）。クライエントアプリケーションがプリントマネージャから印刷イベントを受取ると（ステップ３２０）、クライエントアプリケーションは印刷イベントのタイプを評価する（ステップ３２５）。印刷イベントタイプに依存して、クライエントアプリケーションは、例えば、プリントマネージャへ印刷データを送ることによって応答する（ステップ３３０）。プリントマネージャから受取った印刷イベントは、クライエントアプリケーションがその応答を最適化するために使用することの可能な最適化情報を包含することが可能である。クライエントアプリケーションはこの最適化情報を無視することが可能である。クライエントアプリケーションは、又、何等かの内部的アクション（動作）をとることにより且つオプションとしてプリントマネージャへ確認を送ることによって印刷イベントに応答することが可能である。印刷イベントに応答した後に、クライエントアプリケーションはプリントマネージャから別の印刷イベントレコードを要求する（ステップ３１５）。
【００３７】
印刷イベントが認識不可能なタイプのものであるか又は何等のアクション即ち動作を必要とすることのないタイプのものである場合には、クライエントアプリケーションはアクションをとること（動作を行うこと）はなく、且つヌル応答を与えることが可能である（ステップ３３５）。このヌル応答は、クライエントアプリケーションが応答することが不可能であるか又はこの時間における印刷イベントに対して応答しないことを決定したことを表わす。認識されなかった印刷イベントを無視することの能力は、プリントマネージャの後方互換性及び拡張性を可能とさせる。古いクライエントアプリケーションが認識することが不可能な新しい印刷イベントをプリントマネージャ内に導入することが可能である。然しながら、このような古いクライエントアプリケーションは、クライエントアプリケーションがその印刷イベントのタイプを取扱うことが不可能であることをプリントマネージャに対して表わすヌル応答を使用してプリントマネージャと共に動作することが可能である。
【００３８】
クライエントアプリケーションがイベント終了を受取ると、クライエントアプリケーションはプリントマネージャに対して印刷終了メッセージを送ることによって応答する（ステップ３４０）。印刷終了メッセージを送った後に、クライエントアプリケーションは印刷イベントループから抜け出し且つクライエントアプリケーションは印刷以外の動作を行う。
【００３９】
クライエントアプリケーションがプリントマネージャからの印刷イベントを要求することのない具体例においては、クライエントアプリケーションは繰り返し印刷イベントを受取り且つ印刷終了イベントレコードを受取るまでこれらのイベントに対して応答する。従って、ステップ３１５，３２０，３３０，３３５は単一のステップに統合することが可能である。
【００４０】
図４はプリントマネージャから見た場合のイベントをベースとした即ちイベントを基礎した印刷動作を与えるプロセス４００を示している。プリントマネージャがクライエントアプリケーションから登録を受取る（ステップ４０５）。プリントマネージャはそのクライエントアプリケーションに対する属性リストを作成し、登録時に供給された属性を格納する（ステップ４１０）。プリントマネージャは継続して属性の登録を受取ることが可能であり（ステップ４０５）、それらはクライエントアプリケーションから印刷初期化メッセージを受取るまで（ステップ４１２）、属性リスト内に格納される（ステップ４１０）。
【００４１】
印刷初期化メッセージを受取った後に、プリントマネージャはクライエントアプリケーションから印刷イベント要求を受取ることを待機する（ステップ４１５）。その要求に応答して、プリントマネージャは、以下に説明するように、印刷セッションが完了しているか否かをチェックする（ステップ４４５）。印刷セッションが完了していない場合には、プリントマネージャはそのクライエントアプリケーションに対する格納されている属性、印刷セッションパラメータ、アクティブな印刷サービスコンポーネントからの適宜の印刷パラメータに従って、印刷イベントレコードを発生する（ステップ４２０）。プリントマネージャは、その印刷イベントレコードを使用して、クライエントアプリケーションにおけるクライエントアプリケーションからの情報を要求する。プリントマネージャは、クライエントアプリケーションによる印刷サービスのサポートを決定するために印刷イベントレコードを使用することが可能である。例えば、以下に説明するように、マスター頁の場合には、クライエントアプリケーションがマスター頁印刷サービスに対する登録を行っていない場合であっても、プリントマネージャはクライエントアプリケーションからマスター頁を要求することが可能である。更に、プリントマネージャは、印刷イベントレコード内に最適化情報を包含させることが可能である。上述したように、クライエントアプリケーションは、プリントマネージャルーチンを介してプリントマネージャへデータを供給することによって応答する（ステップ４２５）。これらのルーチンへアクセスすることによって、クライエントアプリケーションはプリントマネージャ又は適宜の印刷サービスコンポーネントをして何等かのアクションをとらせることが可能である。アクティブな印刷サービスコンポーネントは適宜クライエントアプリケーションによって供給される印刷データをフォーマット化するための印刷パラメータを発生する（ステップ４３０）。印刷サービスコンポーネントはそのデータ及び印刷パラメータを、例えば対応するドライバを介してプリンタ等のデスティネーション（宛先）へ送る（ステップ４４０）。
【００４２】
クライエントアプリケーションがその応答を完了すると、クライエントアプリケーションはプリントマネージャからの別の印刷イベントを要求する。プリントマネージャは、クライエントアプリケーションからの別の印刷イベント要求を受取るまで待機する（ステップ４１５）。
【００４３】
印刷イベント要求を受取った後に、プリントマネージャは印刷セッションが完了したか否かを決定するために印刷セッションの状態を評価する（ステップ４４５）。印刷セッションが完了していない場合には、プリントマネージャはクライエントアプリケーションから情報を要求する別の印刷イベントを発生する（ステップ４２０）。プリントマネージャが、その印刷セッションが完了したことを決定すると、プリントマネージャは終了イベントを発生し且つその印刷イベントレコードをクライエントアプリケーションへ送る（ステップ４５０）。次いで、プリントマネージャは、印刷セッションの終了を確認するクライエントアプリケーションからの終了メッセージを受取るまで待機する（ステップ４５５）。
【００４４】
ヌル応答は、クライエントアプリケーションが応答することが不可能であるか又は応答することを希望しないことのいずれかにより、クライエントアプリケーションが印刷イベントに対して応答することがないことを表わす（ステップ４６０）。プリントマネージャは、上述したように、クライエントアプリケーションが適宜応答したものと仮定して、ヌル応答に対するチェックを行うことなしに進行することが可能である。１実施例においては、プリントマネージャはヌル応答をチェックし且つヌル応答を受取ることに応答してデフォルトアクションをとることが可能である（ステップ４６５）。そのデフォルトアクションは、アクションがないこと、又はプリントマネージャのデフォルトシステム設定に基づくアクションとすることが可能である。その後に、プリントマネージャは別の印刷イベント要求を待機する（ステップ４１５）。
【００４５】
本発明に基づくシステムによって提供される印刷サービスの幾つかの例について以下に説明する。プリントマネージャは、これらのサービスを集中的に実施する。従って、その実施の負荷はアプリケーションプログラムから取除かれており且つプリントマネージャの構成内に配置されている。
【００４６】
印刷サービスコンポーネントによって提供することの可能な印刷サービスの１つの例はタイル印刷である。タイル印刷においては、ターゲット用紙の物理的な寸法よりも大きなグラフィックオブジェクトが複数枚の用紙上にそのオブジェクトの一部（タイル）を印刷することにより印刷される。従って、ユーザは、個々のタイル頁を整合させることによってオブジェクトを再生させる。従って、クライエントアプリケーションにおいては、そのオブジェクトは単一の論理的な頁を占有するに過ぎないかもしれないが、ターゲット用紙がその単一の論理的頁が必要とするよりも物理的寸法が小さい場合には、タイル印刷を使用することによって、グラフィックオブジェクトの一貫性のある物理的表示を発生させるプロセスが提供される。
【００４７】
本発明に基づく印刷システムにおいてタイプ印刷へアクセスする場合には、クライエントアプリケーションがプリントマネージャで登録し、タイル印刷に対する適宜の属性を表示する。プリントマネージャの印刷サービスコンポーネントがクライエントアプリケーションの単一の論理頁を印刷用の複数個のタイルへ変換するための計算を行う。クライエントアプリケーションは論理頁を供給することが必要であるに過ぎず、例えばタイルの数又は配列を決定する等の何等かのタイルに関する計算を行うことは必要ではない。印刷サービスコンポーネントが、例えば供給された論理頁座標を構成されたタイル座標へマッピングするためにＰＤＬ構成体等の適宜の印刷パラメータを発生する。印刷サービスコンポーネントは、又、印刷イベントレコードにおける最適化情報として、クライエントアプリケーションへ供給されるべき例えば論理頁内の矩形等の興味のある領域をプリントマネージャへ知らせることが可能である。上述したように、クライエントアプリケーションはこの最適化情報を無視することが可能である。この最適化情報の決定は印刷サービスコンポーネント内において行われる。クライエントアプリケーションは、単に、印刷イベントレコードを介して受取られた命令に従う。従って、タイル印刷用の印刷サービスの実施及び制御はクライエントアプリケーション内ではなくプリントマネージャ内である。プリントマネージャはクライエントアプリケーションからの印刷データ及びタイル印刷用印刷サービスコンポーネントからの印刷パラメータをドライバを介してプリンタへ供給する。
【００４８】
プリントマネージャによって提供することの可能な別の印刷サービスは色分解である。一般的に、色分解はグラフィックオブジェクト内に示される各色を別々のレイヤで印刷することが関与し、単一のグラフィックオブジェクトに対し印刷を多数回繰返し行うことが必要な場合がある。プリントマネージャは、典型的に、クライエントアプリケーションが各頁を多数回描画することを要求することによって分解を発生させる。プリントマネージャは印刷イベントレコードで供給される最適化情報を介してクライエントアプリケーションに現在の分解を知らせることにより印刷プロセスを快適化させることが可能である。クライエントアプリケーションは、例えばカラーサンプルイメージ等の不相応に大きな頁内容に対して描かれているデータを最小とさせるためにこの最適化情報を使用することが可能である。
【００４９】
プリントマネージャは、又、マスター頁印刷サービスを提供することが可能である。１実施例においては、プリントマネージャは常にマスター頁を要求する。マスター頁は、例えば共通のヘッダ又はウォーターマーク（透かし模様）等の文書における全ての頁へ適用されるべき内容を定義する。従来の印刷システムはマスター頁内容と通常の頁内容との間を区別するものではなく、従って従来のアプリケーションプログラムは文書の全ての頁に対してマスター頁内容を再生している。プリントマネージャの効果的な具体例では、クライエントアプリケーションによって一度だけマスター頁の内容の描画を与え且つその内容をプリントマネージャ内に格納することである。プリントマネージャは、クライエントアプリケーションへ印刷イベントを送ることによってこのことを達成し、マスター頁内容が文書内の各頁の頁内容とは別に描画されることを要求する。プリントマネージャは、例えばポストスクリプト（商標）レベル２及びより新しいデバイス等の繰返し発生する頁内容を表わすメカニズムをサポートする印刷環境における性能を最適化するためにこの別個の情報を使用することが可能である。
【００５０】
本印刷システムの１実施例の動作を記述する疑似コードの一部を以下のＴａｂｌｅ１に示してある。このコードは印刷システム内の要素間の関係及び動作の例示的な流れを示している。「Ｐｒｉｎｔ  ｐｒｅｐａｒａｔｉｏｎ（印刷準備）」セクションは上述した属性の登録に対応している。「Ｐｒｉｎｔｉｎｇ（印刷）」セクションは上述した初期化、印刷イベント及び応答に対応している。「Ｃｌｅａｎｕｐ（クリンナップ）」セクションは上述した印刷終了に対応している。
【００５１】
【表１】
0004659938.tif 000002
【００５２】
【表２】
0004659938.tif 000003
【００５３】
【表３】
0004659938.tif 000004
【００５４】
【表４】
0004659938.tif 000005
【００５５】
【表５】
0004659938.tif 000006
【００５６】
【表６】
0004659938.tif 000007
【００５７】
【表７】
0004659938.tif 000008
【００５８】
【表８】
0004659938.tif 000009
【００５９】
【表９】
0004659938.tif 000010
【００６０】
【表１０】
0004659938.tif 000011
【００６１】
【表１１】
0004659938.tif 000012
【００６２】
【表１２】
0004659938.tif 000013
【００６３】
【表１３】
0004659938.tif 000014
【００６４】
【表１４】
0004659938.tif 000015
【００６５】
【表１５】
0004659938.tif 000016
【００６６】
【表１６】
0004659938.tif 000017
【００６７】
【表１７】
0004659938.tif 000018
【００６８】
【表１８】
0004659938.tif 000019
【００６９】
【表１９】
0004659938.tif 000020
【００７０】
【表２０】
0004659938.tif 000021
【００７１】
【表２１】
0004659938.tif 000022
【００７２】
【表２２】
0004659938.tif 000023
【００７３】
【表２３】
0004659938.tif 000024
【００７４】
【表２４】
0004659938.tif 000025
【００７５】
【表２５】
0004659938.tif 000026
【００７６】
【表２６】
0004659938.tif 000027
【００７７】
【表２７】
0004659938.tif 000028
【００７８】
【表２８】
0004659938.tif 000029
【００７９】
【表２９】
0004659938.tif 000030
【００８０】
【表３０】
0004659938.tif 000031
【００８１】
【表３１】
0004659938.tif 000032
【００８２】
【表３２】
0004659938.tif 000033
【００８３】
【表３３】
0004659938.tif 000034
【００８４】
【表３４】
0004659938.tif 000035
【００８５】
【表３５】
0004659938.tif 000036
【００８６】
【表３６】
0004659938.tif 000037
【００８７】
【表３７】
0004659938.tif 000038
【００８８】
【表３８】
0004659938.tif 000039
【００８９】
【表３９】
0004659938.tif 000040
【００９０】
【表４０】
0004659938.tif 000041
【００９１】
【表４１】
0004659938.tif 000042
【００９２】
【表４２】
0004659938.tif 000043
【００９３】
【表４３】
0004659938.tif 000044
【００９４】
プリントマネージャはホストコンピュータにおいて又はコンピュータシステムのオペレーティングシステムを介してアクセスされるプリンタの一部として実現することが可能である。プリントマネージャは直接的にクライエントアプリケーションと通信をするか又は例えばリモートサーバ等を介在して通信するように構成することが可能である。プリントマネージャはクライエントアプリケーションとオペレーティングシステムとの間に介在され、オペレーティングシステムの上で動作する別の「レイヤー」として実現することが可能である。一方、プリントマネージャは、コンピュータシステムのオペレーティングシステムの１つのコンポーネントとして実現することが可能である。従って、本プリントマネージャは、オペレーティングシステムの一体化された一部として又はそれを介してクライエントアプリケーションがコンピュータシステムの印刷サービスへアクセスする別個のプログラムとして実現することが可能である。更に、プリントマネージャ及びクライエントアプリケーションは、例えばネットワークにわたっての、異なるプロセス上でのプロセスとして実施することが可能である。
【００９５】
本発明は、デジタル電子回路において、又はコンピュータハードウエア、ファームウエア、ソフトウエアにおいて、又はそれらの組合わせで実現することが可能である。本発明装置はプログラム可能なプロセサによって実行するために機械読取可能な格納装置に明確に格納させたコンピュータプログラム製品として実現することが可能であり、且つ本発明の方法ステップは入力データに関して動作を行い且つ出力を発生する本発明の機能を実施するための命令からなるプログラムを実行するプログラム可能なプロセサによって実施することが可能である。本発明はそれからデータ及び命令を受取り且つそれに対してデータ及び命令を送信すべく結合されている少なくとも１個のプログラム可能なプロセサ、データ格納システム、少なくとも１個の入力装置、且つ少なくとも１個の出力装置を有するプログラム可能なシステム上で実行可能な１つ又はそれ以上のコンピュータプログラムの形態で効果的に実現することが可能である。各コンピュータプログラムはハイレベル手順又はオブジェクト指向型プログラミング言語で実現することが可能であり、又は所望により、アッセブリ又は機械言語で実現することも可能であり、且ついずれの場合においても、その言語はコンパイル型又はインタプリタ型の言語とすることが可能である。適宜のプロセサとしては、例えば、汎用及び特別目的マイクロプロセサの両方を包含している。一般的に、プロセサはリードオンリメモリ及び／又はランダムアクセスメモリから命令及びデータを受取る。コンピュータプログラム命令及びデータを明確に格納するのに適した格納装置としては、全ての形態の非揮発性メモリを包含しており、例えば、ＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ装置等の半導体メモリ装置、内部ハードディスク及び着脱自在のディスク等の磁気ディスク、ＭＯディスク、及びＣＤ−ＲＯＭディスク等がある。前述したもののいずれもがＡＳＩＣ（応用特定集積回路）によって補充されるか又はその中に組込むことが可能である。
【００９６】
ユーザとの対話を与えるために、本発明は、例えばユーザに対して情報を表示するためのモニタ又はＬＣＤスクリーン等のディスプレイ装置、及びそれによってユーザがコンピュータシステムへ入力を与えることが可能な例えばマウス又はトラックボール等のポインティング装置及びキーボードを具備するコンピュータシステム上で実現することが可能である。該コンピュータシステムは、それを介してコンピュータプログラムがユーザと対話するグラフィカルユーザインターフェースを与えるようにプログラムすることが可能である。
【００９７】
１実施形態においては、コンピュータシステムは、プロセサと、ランダムアクセスメモリ（ＲＡＭ）と、プログラムメモリ（例えば、フラッシュＲＯＭ等の書込可能なリードオンリメモリ（ＲＯＭ））と、ハードディスク制御器と、ビデオ制御器と、入力／出力（Ｉ／Ｏ）制御器とを有しており、それらはプロセス（ＣＰＵ）バスによって結合されている。本システムは、例えば、ＲＯＭ内において、予めプログラムすることが可能であり、又は、別の供給源（例えば、フロッピィディスク、ＣＤ−ＲＯＭ、又は別のコンピュータ）からのプログラムをローディングすることによってプログラム（及び再プログラム）することが可能である。ハードディスク制御器は、本発明を実現するプログラムを包含する実行可能なコンピュータプログラム及びデータを格納するのに適したハードディスクへ結合されている。ビデオ制御器は、ビデオの場面を格納し且つインポートするため及び最終的な出力を書込むために使用することの可能なビデオレコーダへ結合されている。Ｉ／Ｏ制御器はＩ／ＯバスによってＩ／Ｏインターフェースへ結合されている。Ｉ／Ｏインターフェースは例えばシリアルリンク、ローカルエリアネットワーク、ワイヤレスリンク、パラレルリンクを介して、アナログ又はデジタル形態でデータ（例えば、合成するためにインポートするための静止画、ピクチャ、動画、及びアニメーション）を受取り且つ送信する。更に、ディスプレイとキーボードとがＩ／Ｏバスへ結合されている。一方、Ｉ／Ｏインターフェース、ディスプレイ及びキーボードに対して別の接続（別個のバス）を使用することが可能である。
【００９８】
以上、本発明の具体的実施の態様について詳細に説明したが、本発明は、これら具体例にのみ制限されるべきものではなく、本発明の技術的範囲を逸脱することなしに種々の変形が可能であることは勿論である。例えば、本発明のステップは異なる順番で実施することが可能であり、その場合にも所望の結果を達成することが可能である。例えば、Ｃ＋＋又はＬＩＳＰ等の多様なプログラミング環境に対して本発明技術を適用することが可能である。印刷動作の制御はプリントマネージャによるインタラプト駆動型とすることが可能である。プリントマネージャは、オペレーティングシステムの一部として又はオペレーティングシステムとアプリケーションプログラムとの間の別個のレイヤとして実現することが可能である。プリントドライバはプリントマネージャの一部として設けることが可能である。ユーザインターフェースはオペレーティングシステムの一部として又はクライエントアプリケーション内において実現することが可能である。クライエントアプリケーションはプリントマネージャによって供給されるユーザインターフェースを使用することが可能であり且つそのユーザインターフェースの一部又は全てを抑圧し、クライエントアプリケーション内の別の実施例を提供することが可能である。印刷初期化メッセージはそれに続く印刷セッションにおいて使用すべき属性リストに対する参照を包含することが可能であり、従ってクライエントアプリケーションはどの属性リストを使用するかを選択することが可能である。属性は、属性リストへ付加させるため又は新たな属性リストを作成するために印刷初期化メッセージに包含させることが可能である。クライエントアプリケーションは印刷イベントに対するクライエントアプリケーションの応答の性質をプリントマネージャへ知らせることが可能である。クライエントアプリケーションはプリントマネージャルーチンを使用して直接的に最適化情報へアクセスすることが可能である。プリントマネージャは要求されたデータがクライエントアプリケーションによって供給されたものであるか否かをチェックすることが可能である。幾つかの印刷サービスの場合には、アクティブな印刷サービスコンポーネントが、例えばクライエントアプリケーションがその応答を充分に最適化させた場合のように、クライエントアプリケーションから受取った印刷データが印刷パラメータによって変更されることが必要でない場合を認識することが可能である。
【図面の簡単な説明】
【図１】  本発明に基づくイベントを基礎した印刷システムを示した概略ブロック図。
【図２】  システムの観点から見たイベントをベースとした印刷動作のフローチャート。
【図３】  クライエントアプリケーションから見た場合のイベントを基礎とした印刷動作のフローチャート。
【図４】  プリントマネージャから見た場合のイベントを基礎とした印刷動作のフローチャート。
【符号の説明】
１００  コンピュータシステム
１０５  プリントマネージャ
１１５  プリントドライバ
１２０  プリンタ
１２５  クライエントアプリケーション
１２７  属性リスト
１３０  ユーザインターフェース
１３５  印刷コンポーネント
【図１】
0004659938.tif 000045
【図２】
0004659938.tif 000046
【図３】
0004659938.tif 000047
【図４】
0004659938.tif 000048