(57)【要約】【課題】  印刷設定のデフォルト値の更新を防止しつつ、ユーザにとって使い勝手のよいシステムを提供することを目的とする。【解決手段】  ユーザからプリンタドライバ３０３のインタフェースを表示させるための表示指示を受け付け、受け付けた表示指示が前記プリンタドライバの印刷設定に関するデフォルト値を更新するための第１の表示指示であり、デフォルト値の更新が不許可の場合には、デフォルト値の更新をユーザに対して行わせないようにするＣＰＵ１０１とを有する。【選択図】  図１５
2010271772.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションにおける印刷指示に応じて、印刷装置へ送信するための印刷データを作成するプリンタドライバを有する情報処理装置であって、
ユーザから前記プリンタドライバのユーザインタフェースを表示させるための表示指示を受け付ける受付手段と、
前記受付手段によって受け付けた前記表示指示が前記プリンタドライバの印刷設定に関するデフォルト値を更新するための第１の表示指示であるか、前記アプリケーションにおける印刷指示に応じた第２の表示指示であるかを判定する判定手段と、前記判定手段によって、前記表示指示が前記第１の表示指示であると判定され、前記デフォルト値の更新が許可されている場合には、前記デフォルト値を更新するための更新指示を前記ユーザから受け付け可能なユーザインタフェースを表示手段に表示させ、前記判定手段によって、前記表示指示が前記第１の表示指示であると判定され、前記デフォルト値の更新が許可されていない場合には、前記デフォルト値の更新を前記ユーザに対して行わせないようにし、前記判定手段によって、前記表示指示が前記第２の表示指示であると判定された場合には、前記印刷設定の値を前記デフォルト値から変更するための変更指示を前記ユーザから受け付け可能で、前記更新指示を前記ユーザから受け付け不可能なユーザインタフェースを前記表示手段に表示させる制御手段とを有することを特徴とする情報処理装置。
【請求項２】
前記ユーザによる前記デフォルト値の更新を許可するか否かを設定する設定手段をさらに有し、
前記制御手段は、前記判定手段によって、前記受付手段によって受け付けた前記表示指示が前記デフォルト値を更新するためのユーザインタフェースの表示指示であると判定され、かつ前記設定手段により前記デフォルト値の更新を許可すると設定されている場合に、前記デフォルト値を更新するための更新指示を前記ユーザから受け付け可能なユーザインタフェースを表示手段に表示させ、前記判定手段によって、前記受付手段によって受け付けた前記表示指示が前記デフォルト値を更新するためのユーザインタフェースの表示指示であると判定され、かつ前記設定手段により前記デフォルト値の更新を許可しないと設定されている場合に、前記デフォルト値の更新を前記ユーザに対して行わせないようにすることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記制御手段は、前記デフォルト値の更新を前記ユーザに対して行わせないようにするために、前記更新指示を前記ユーザから受け付け不可能なユーザインタフェースを前記表示手段に表示させることを特徴とする請求項１または２いずれかに記載の情報処理装置。
【請求項４】
前記制御手段は、前記判定手段によって前記表示指示が第１の表示指示であると判定され、前記デフォルト値の更新は許可されていない場合であっても前記デフォルト値の表示を許可されている場合には、別の階層を開くためのコントロールに対するユーザからの指示を受け付け可能であり、別の階層を開くためではないコントロールに対するユーザからの指示を受け付け不可能であるユーザインタフェースを前記表示手段に表示させることを特徴とする請求項１乃至３いずれか１項に記載の情報処理装置。
【請求項５】
前記設定手段は、前記デフォルト値の更新を不許可とし、前記デフォルト値の表示を許可する設定を設定可能であることを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記制御手段により表示される前記ユーザインタフェースは複数のページを含み、
前記制御手段は、前記判定手段によって前記表示指示を第１の表示指示であると判定され、前記複数のページのうち任意のページに存在する印刷設定のデフォルト値の更新を許可されており、前記複数のページのうち前記任意のページ以外のページに存在するデフォルト値の更新を許可されていない場合には、前記任意のページに対するユーザからの前記更新指示を受け付け可能であり、前記任意のページ以外のページに対するユーザからの前記更新指示を受け付け不可能であるユーザインタフェースを前記表示手段に表示させることを特徴とする請求項１乃至５いずれか１項に記載の情報処理装置。
【請求項７】
前記設定手段は、前記複数のページのうち任意のページに存在する印刷設定のデフォルト値の更新を許可し、かつ前記複数のページのうち前記任意のページ以外のページに存在するデフォルト値の更新を不許可とする設定を設定可能であることを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記任意のページは、前記制御手段により前記表示手段にユーザインタフェースが表示された際に、前記ユーザインタフェースに含まれる複数のページのうち最初に表示されるページであることを特徴とする請求項６または７いずれかに記載の情報処理装置。
【請求項９】
アプリケーションにおける印刷指示に応じて、印刷装置へ送信するための印刷データを作成するプリンタドライバを有する情報処理装置の制御方法であって、
ユーザから前記プリンタドライバのユーザインタフェースを表示させるための表示指示を受け付ける受付ステップと、
前記受付ステップで受け付けた前記表示指示が前記プリンタドライバの印刷設定に関するデフォルト値を更新するための第１の表示指示であるか、前記アプリケーションにおける印刷指示に応じた第２の表示指示であるかを判定する判定ステップと、
前記判定ステップで、前記表示指示が前記第１の表示指示であると判定され、前記デフォルト値の更新が許可されている場合には、前記デフォルト値を更新するための更新指示を前記ユーザから受け付け可能なユーザインタフェースを表示手段に表示させ、前記判定ステップで、前記表示指示が前記第１の表示指示であると判定され、前記デフォルト値の更新が許可されていない場合には、前記デフォルト値の更新を前記ユーザに対して行わせないようにし、前記判定ステップで、前記表示指示が前記第２の表示指示であると判定された場合には、前記印刷設定の値を前記デフォルト値から変更するための変更指示を前記ユーザから受け付け可能で、前記更新指示を前記ユーザから受け付け不可能なユーザインタフェースを前記表示手段に表示させる制御ステップとを有することを特徴とする制御方法。
【請求項１０】
前記ユーザによる前記デフォルト値の更新を許可するか否かを設定する設定ステップをさらに有し、
前記制御ステップでは、前記判定ステップにおいて、前記受付ステップで受け付けた前記表示指示が前記デフォルト値を更新するためのユーザインタフェースの表示指示であると判定され、かつ前記設定ステップにおいて前記デフォルト値の更新を許可すると設定されている場合に、前記デフォルト値を更新するための更新指示を前記ユーザから受け付け可能なユーザインタフェースを表示手段に表示させ、前記判定ステップにおいて、前記受付ステップで受け付けた前記表示指示が前記デフォルト値を更新するためのユーザインタフェースの表示指示であると判定され、かつ前記設定ステップで前記デフォルト値の更新を許可しないと設定されている場合に、前記デフォルト値の更新を前記ユーザに対して行わせないようにすることを特徴とする請求項９に記載の制御方法。
【請求項１１】
前記制御ステップでは、前記デフォルト値の更新を前記ユーザに対して行わせないようにするために、前記更新指示を前記ユーザから受け付け不可能なユーザインタフェースを前記表示手段に表示させることを特徴とする請求項９または１０いずれかに記載の制御方法。
【請求項１２】
前記制御ステップは、前記判定ステップにおいて前記表示指示が第１の表示指示であると判定され、前記デフォルト値の更新は許可されていない場合であっても前記デフォルト値の表示を許可されている場合には、別の階層を開くためのコントロールに対するユーザからの指示を受け付け可能であり、別の階層を開くためではないコントロールに対するユーザからの指示を受け付け不可能であるユーザインタフェースを前記表示手段に表示させることを特徴とする請求項９乃至１１いずれか１項に記載の制御方法。
【請求項１３】
前記設定ステップでは、前記デフォルト値の更新を不許可とし、前記デフォルト値の表示を許可する設定を設定可能であることを特徴とする請求項１２に記載の制御方法。
【請求項１４】
前記制御ステップにおいて表示される前記ユーザインタフェースは複数のページを含み、
前記制御ステップでは、前記判定ステップにおいて前記表示指示を第１の表示指示であると判定され、前記複数のページのうち任意のページに存在する印刷設定のデフォルト値の更新を許可されており、前記複数のページのうち前記任意のページ以外のページに存在するデフォルト値の更新を許可されていない場合には、前記任意のページに対するユーザからの前記更新指示を受け付け可能であり、前記任意のページ以外のページに対するユーザからの前記更新指示を受け付け不可能であるユーザインタフェースを前記表示手段に表示させることを特徴とする請求項９乃至１３いずれか１項に記載の制御方法。
【請求項１５】
前記設定ステップでは、前記複数のページのうち任意のページに存在する印刷設定のデフォルト値の更新を許可し、かつ前記複数のページのうち前記任意のページ以外のページに存在するデフォルト値の更新を不許可とする設定を設定可能であることを特徴とする請求項１４に記載の制御方法。
【請求項１６】
前記任意のページは、前記制御ステップにおいて前記表示手段にユーザインタフェースが表示された際に、前記ユーザインタフェースに含まれる複数のページのうち最初に表示されるページであることを特徴とする請求項１４または１５に記載の制御方法。
【請求項１７】
請求項９乃至１６のいずれか１項に記載の制御方法の各ステップをコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンタドライバにおける印刷設定のデフォルト値のユーザによる更新を制御する情報処理装置、制御方法、プログラムに関するものである。
【背景技術】
【０００２】
コンピュータ上で作成された文書や図といったデータをプリンタから印刷したいときには、コンピュータにインストールされたプリンタドライバを使って描画するデータをプリンタ言語に変換し、プリンタに送信するのが一般的である。用紙の種類や両面、カラー、用紙を給紙するカセットの選択などの印刷設定は、アプリケーションもしくはプリンタドライバが提供するユーザインタフェースの上でユーザが変更して設定した値を元に、プリンタ言語として送信する。
【０００３】
プリンタドライバをインストールした際に、最初に設定される印刷設定は、プリンタドライバが内部で持っている標準デフォルト値である。標準デフォルト値は、プリンタドライバのユーザインタフェースで「標準に戻す」機能などでも使用する値である。また、Ｍｉｃｒｏｓｏｆｔ社のＷｉｎｄｏｗｓ（登録商標）ＯＳでは、印刷設定はレジストリデータベースに保存される。このとき、ユーザごとの印刷設定だけではなく、標準デフォルト値もレジストリに保存される。レジストリに保存された標準デフォルト値は、管理者が変更できる「標準の設定」から変更することができ、共有プリンタとしてサーバからクライアントにプリンタドライバをダウンロードしたときの初期印刷設定として使用する。
【０００４】
印刷設定は印刷を行うたびに設定しなければならないが、あらかじめユーザが印刷設定のデフォルト値を更新することもできる。Ｗｉｎｄｏｗｓ（登録商標）ではプリンタフォルダからプリンタドライバのユーザインタフェースを開いて設定を行うと、ユーザ設定の印刷設定としてレジストリに保存され、アプリケーションの印刷設定のデフォルト値として使用される。例えば、常に用紙をＢ５にしたいとき、または常にモノクロ印刷を行いたいときなどは、プリンタフォルダからあらかじめ印刷設定を行いデフォルト値の更新を行っておくのが一般的である。
【０００５】
ここで、ＩＴ管理者は、プリンタドライバをプリントサーバーから配信する際に、デフォルトの印刷設定をあらかじめ設定しておきたいという場合がある。例えば、用紙の削減を目的として常に２ＵＰ、両面印刷をユーザに行わせる場合である。このような場合は、前述した「標準の設定」から印刷設定を変更したのち、プリンタドライバを共有にし、各クライアントにダウンロードしてインストールさせる。
【０００６】
しかしながら、ユーザはプリンタフォルダからプリンタドライバのユーザインタフェースを開いて設定を行うことでデフォルト値を更新可能であるため、ＩＴ管理者の意図したプリントをユーザに行わせることができない。このため、管理者がプリンタドライバの印刷設定をユーザが変更できないようにロックし、設定値を変えさせないようにする方法がある。（特許文献１）
このようにすると確実に印刷設定の値を固定化することができるが、ユーザの自由度が必要以上に小さくなってしまう。例えば、会社内で使用する配布文書は、ＮＵｐ、両面でモノクロ印刷し、顧客に渡す書類は片面でカラー印刷をしたい場合に、印刷設定が固定され変更出来ず、２つのプリンタドライバをインストールしなければならなくなってしまう。そこで、ユーザ設定のレジストリに保存されているデフォルト値をユーザが更新しても、一定のタイミングで「標準の設定」の印刷設定をユーザ設定のレジストリに同期して書き換えるという方法が知られている。（特許文献２）
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００４−１９２２１９号公報
【特許文献２】特開２００７−１２２１３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、一定のタイミングで「標準の設定」の印刷設定が同期してしまうと、問題になることがある。例えば、文書を作成する際に最初に印刷設定を行ってから文書を記述し始めて印刷すると、文書を作成している間の意図しないタイミングで印刷設定が変わってしまい、想定した印刷設定での印刷ができなくなってしまう。また、タイミングを指定できたとしても、同期時間が長い、また同期タイミングが少ない場合はいつまでもデフォルト値が更新された状態を許してしまうことになり、ＩＴ管理者の望む印刷設定をユーザに利用させることができない。逆に同期時間が短い、また同期タイミングが多い場合は、常に標準の設定に戻ってしまい、今度はユーザが自由に設定をデフォルト値から変更できなくなってしまう。
【０００９】
上記の課題を鑑み、本発明では印刷設定のデフォルト値の更新を防止しつつ、ユーザにとって使い勝手のよいシステムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するため、本発明の情報処理装置は、アプリケーションにおける印刷指示に応じて、印刷装置へ送信するための印刷データを作成するプリンタドライバを有する情報処理装置であって、ユーザから前記プリンタドライバのユーザインタフェースを表示させるための表示指示を受け付ける受付手段と、前記受付手段によって受け付けた前記表示指示が前記プリンタドライバの印刷設定に関するデフォルト値を更新するための第１の表示指示であるか、前記アプリケーションにおける印刷指示に応じた第２の表示指示であるかを判定する判定手段と、前記判定手段によって、前記表示指示が前記第１の表示指示であると判定され、前記デフォルト値の更新が許可されている場合には、前記デフォルト値を更新するための更新指示を前記ユーザから受け付け可能なユーザインタフェースを表示手段に表示させ、前記判定手段によって、前記表示指示が前記第１の表示指示であると判定され、前記デフォルト値の更新が許可されていない場合には、前記デフォルト値の更新を前記ユーザに対して行わせないようにし、前記判定手段によって、前記表示指示が前記第２の表示指示であると判定された場合には、前記印刷設定の値を前記デフォルト値から変更するための変更指示を前記ユーザから受け付け可能で、前記更新指示を前記ユーザから受け付け不可能なユーザインタフェースを前記表示手段に表示させる制御手段とを有することを特徴とする。
【発明の効果】
【００１１】
本発明によって、印刷設定のデフォルト値の更新を防止しつつ、ユーザにとって使い勝手のよいシステムを提供することが可能となる。
【図面の簡単な説明】
【００１２】
【図１】本発明の一実施形態としての、コンピュータシステムのハードウェアとソフトウェアのブロック図。
【図２】本発明の一実施形態としての、クライアント・サーバー、そしてプリンタが接続されたネットワークの構成図。
【図３】本発明の一実施形態としての、一般的なコンピュータを用いた印刷処理システムのブロック図。
【図４】本発明の一実施形態としての、ＸＰＳＤｒｖ印刷処理システムのブロック図。
【図５】本発明の一実施形態としての、印刷設定のデータ構造を示したブロック図。
【図６】本発明の一実施形態としての、プリンタドライバのコンフィギュレーションモジュールが持つユーザインタフェースを示す図。
【図７】本発明の一実施形態としての、オペレーティングシステムの標準設定を保存するためにプリンタを一元管理するプリンタフォルダを示す図。
【図８】本発明の一実施形態としての、ユーザデフォルトの印刷設定を保存するために、プリンタドライバのコンフィギュレーションモジュールのユーザインタフェースを開くためのボタンを持つユーザインタフェースを示す図。
【図９】本発明の一実施形態としての、標準デフォルトの印刷設定を保存するために、プリンタドライバのコンフィギュレーションモジュールのユーザインタフェースを開くためのボタンを持つユーザインタフェースを示す図。
【図１０】本発明の一実施形態としての、管理者のみが設定できるプリンタドライバのコンフィギュレーションモジュールのユーザインタフェースを示す図。
【図１１】本発明の一実施形態としての、管理者設定を用いてユーザデフォルトの標準設定を固定化するための設定を行うためのフローチャート。
【図１２】本発明の一実施形態としての、オペレーティングシステムのプリンタフォルダから、管理者権限を持ってユーザインタフェースを開くための、メニュー画面を示す図。
【図１３】本発明の一実施形態としての、管理者のみが設定できるプリンタドライバの管理者設定を行うためのコンフィギュレーションモジュールのユーザインタフェースを示す図。
【図１４】本発明の一実施形態としての、管理者設定で「プリンタプロパティの変更を許可する」を「許可する」以外にして、コントロールがグレーアウトした状態のコンフィギュレーションモジュールのユーザインタフェースを示す図。
【図１５】本発明の一実施形態としての、ユーザデフォルトの印刷設定のみを固定化するためのコンフィギュレーションモジュールのフローチャート。
【図１６】本発明の一実施形態としての、アプリケーションがアプリケーションプログラムインタフェースを使って、印刷設定を変更するときのコンフィギュレーションモジュールのフローチャート。
【図１７】本発明の一実施形態としての、ＸＰＳＤｒｖ印刷処理システムの印刷設定であるＸＭＬ形式のプリントチケットの一例を示す図。
【発明を実施するための形態】
【００１３】
以下、本発明を実施するための最良の形態について図面を用いて説明する。
【実施例１】
【００１４】
図１は、本発明の情報処理装置の一実施形態を示す一般的なコンピュータを用いたシステムのブロック図である。なお、本発明に適用する情報処理装置としては、単体の機器であっても、複数の機器からなるシステムであっても、ネットワークを介して接続がなされ処理が行われるシステムであっても構わない。
【００１５】
ＣＰＵ１０１は主記憶装置１０２のＲＯＭ１０２１あるいはＲＡＭ１０２２あるいは補助記憶装置１０５に格納されたプログラムに従って装置全体の制御を行う。ＲＡＭ１０２２はＣＰＵ１０１が各種処理を行う際のワークエリアとしても使用される。補助記憶装置１０５はアプリケーション１０５１、ユーティリティ１０５２、プリンタドライバ１０５３、オペレーティングシステム（ＯＳ）１０５４等を記録する。キーボード１０３１やマウス・タッチパネルなどに代表されるポインティングデバイス１０３２などの入力機器は、入力Ｉ／Ｆ１０３を通じて、ユーザがコンピュータに対して各種指示を与えるためのデバイスである。出力Ｉ／Ｆ１０４は、データを外部に出力するためのインタフェースであり、モニタ１０４１やプリンタ１０４２などの出力機器に対してデータを出力する。プリンタ１０４２とは直接接続されるローカルＩ／Ｏのみならず、通信Ｉ／Ｆ１０６を通じて接続されるネットワーク１０６１を通して接続されていてもよい。また、１０７は共通データシステムバスで、それぞれのデータのやりとりを行う。
【００１６】
図２は本発明の実施の形態におけるネットワーク１０６１の環境を簡略化した図である。印刷を行う文書や画像を作成するクライアントＰＣ２０１／２０２が単体もしくは複数ネットワークに接続されている。また、クライアントＰＣ２０１／２０２のユーザやプリンタを管理するサーバ２０３が接続されていることもある。尚、クライアントＰＣ２０１／２０２、及びサーバ２０３はいずれも、図１のブロック図で示される構成を有している。プリンタ２０４／２０５が単体もしくは複数ネットワークに接続されており、プリンタ２０５のように物理的に接続されていても実際には使用できないオフライン状態であることもある。ネットワークにはＰＡＮ、ＬＡＮ、ＭＡＮ、ＷＡＮなどの小規模から大規模までのネットワークがあり、これらの機器がすべてのネットワークに接続されている。尚、ＰＡＮは、Ｐｅｒｓｏｎａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ、ＬＡＮはＬｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ、ＭＡＮは、Ｍｅｔｒｏｐｏｌｉｔａｎ  Ａｒｅａ  Ｎｅｔｗｏｒｋ、ＷＡＮはＷｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋを指す。本実施形態では、クライアントＰＣ２０１／２０２から印刷指示を行うと、直接もしくはサーバ２０３を介してプリンタ２０４から出力可能な環境であるとする。尚、サーバ２０３を介してプリンタ２０４を使用する場合は、サーバ２０３にプリンタドライバ１０５３をあらかじめインストールして共有化しておく。そして、クライアントＰＣ２０１／２０２にて共有化されたプリンタ２０４を選択し、サーバ２０３からプリンタドライバ１０５３をダウンロードしてインストールすることで使用する。
【００１７】
図３において、例えばクライアントＰＣ２０１／２０２に代表される一般的な情報処理装置を用いた印刷処理システムを示す。オペレーティングシステム（ＯＳ）３１０は、図１の補助記憶装置１０５にＯＳ１０５４として格納されている。グラフィックスエンジン３０２、プリントマネージャ３０４はＯＳ３１０に含まれるモジュールである。プリンタドライバ３０３は、図１の補助記憶装置１０５にプリンタドライバ１０５３として格納されている。アプリケーション３０１は、図１の補助記憶装置１０５にアプリケーション１０５１として格納されている。ユーザはキーボードやマウスなどといった入力装置１０３を使用して、出力装置１０４のモニタに映し出されたアプリケーション３０１を使用して作成した文書３０１１の印刷指示をプリンタ３０８に送信する。印刷指示はプリンタの選択、印刷設定の変更、描画データの変換と３つの処理を順番に行うことで実行される。まずは、プリンタの選択として、印刷を実行するプリンタに対応したプリンタドライバ３０３を選択する。次に印刷設定３０１３の変更を行う。この際、ユーザインタフェースの表示指示が行われ、文書の印刷設定３０１３としてデフォルト値が設定されたユーザインタフェースがモニタ１０４１に表示される。そしてユーザは、アプリケーションもしくはプリンタドライバのユーザインタフェースを使用して、ユーザが望む最終印刷結果になるように印刷設定３０１３をデフォルト値から変更して設定を行う。そして、印刷設定３０１３の変更に応じて、描画データ３０１２の変換が行われる。ここでの設定される項目としては、例えば、出力する用紙サイズ、両面／片面印刷、白黒／カラー印刷といった設定である。印刷設定３０１３はＲＡＭ１０２２上に確保されるが、保存する形式はバイナリのデータ構造体であったり、マークアップ言語のＸＭＬであったりする。この形態はプリンタドライバ３０３、ＯＳ３１０の仕様によって異なる。尚、一旦ユーザインタフェースを閉じ再度開いた場合には、変更された印刷設定は反映されず、デフォルト値が設定された状態で開かれる。
【００１８】
印刷設定３０１３の変更が終わったら、ユーザによって印刷処理が実行され、ＯＳ３１０に印刷処理を通知する。ＯＳ３１０はグラフィックスエンジン３０２を通じて、指定されたプリンタドライバ３０３への描画を行う。印刷設定３０１３でレイアウト処理が指定されている場合は、プリンタドライバ３０３のレンダリングモジュール３０３１に行く前に一時的なスプールファイル３０５を作成し、レイアウトモジュール３０６を起動する。レイアウト処理とは用紙の順番を入れ替えたり、一枚の用紙に複数ページを貼り付けたりする処理を指す。レイアウトモジュール３０６はレイアウトを変更した後、プリンタドライバ３０３への描画を行う。プリンタドライバ３０３は送られてきた描画データ３０１２をレンダリングモジュール３０３１によって、プリンタ３０８が理解できるデータ言語すなわちプリンタ制御言語で記述された印刷データに変換する。このとき印刷設定３０１３も、プリンタ制御言語として変換される。レンダリングモジュール３０３１、コンフィギュレーションモジュール３０３２はともに複数の種類のプリンタ３０８に対して共通のモジュールであることが多く、機種ごとの違いは機種依存データファイル３０３３に記述されている。レンダリングモジュール３０３１、コンフィギュレーションモジュール３０３２は適宜、この機種依存データファイル３０３３を参照する。変換されたデータはスプールファイル３０５として逐次保存される。プリントマネージャ３０４はスプールファイル３０５を取得し、印刷ジョブファイルとして印刷処理のスケジュール管理を行う。プリンタ３０８が印刷できる状態になったら、プリントマネージャ３０４はＩ／Ｏモジュール３０７を介してプリンタ３０８に印刷ジョブデータを送信する。このようにして、アプリケーションにおけるユーザの印刷指示に応じて、印刷データがプリンタ言語に変換されて印刷が行われる。
【００１９】
この印刷処理システムは、サーバ２０３とクライアントＰＣ２０１／２０２とで処理が分かれることもある。サーバ２０３に接続されているクライアントＰＣ２０１／２０２側でプリンタ言語に変換するレンダリング処理を行うときは、プリンタ言語に変換されたスプールファイル３０５をサーバ２０３のプリントマネージャ３０４に送信する。そして、サーバ２０３のＩ／Ｏモジュール３０７を経由してプリンタ３０８に出力する。サーバ２０３に接続されているクライアントＰＣ２０１／２０２でサーバ２０３側でのレンダリング処理を行うときは、クライアントＰＣ２０１／２０２ではグラフィックスエンジン３０２が一時スプールファイル３０５を作成する。そして、作成した一時スプールファイル３０５を、サーバ２０３のプリントマネージャ３０４に送信する。サーバ２０３のプリントマネージャ３０４は、一時スプールファイル３０５を元にグラフィックスエンジン３０２を使ってプリンタドライバ３０３への描画を行う。
【００２０】
文書３０１１の印刷設定３０１３を変更するには、アプリケーションによって印刷設定３０１３を直接書き換えるか、プリンタドライバ３０３のコンフィギュレーションモジュール３０３２が提供するユーザインタフェース（図６）を使用する。印刷設定３０１３は図５にあるようにシステムで定義されているＰｕｂｌｉｃな設定領域と、プリンタドライバが拡張したＰｒｉｖａｔｅな設定領域に分けられている。Ｐｕｂｌｉｃな設定領域には、用紙サイズや給紙段の切り替え、カラー白黒の切り替えなど印刷の基本的な設定がある。Ｐｒｉｖａｔｅな設定領域には、プリンタのオプションに応じた排紙機能や、細かい色調整機能などがある。アプリケーションは各プリンタドライバ３０３が持つ拡張設定を知ることはできないので、直接印刷設定３０１３を変更することができるのは、システムで定義されているＰｕｂｌｉｃな設定領域だけとなってしまう。そのため、アプリケーションを介してプリンタドライバ３０３のコンフィギュレーションモジュール３０３２が提供するユーザインタフェースを表示させて、印刷設定３０１３を変更するのが一般的である。また、コンフィギュレーションモジュール３０３２はユーザインタフェースだけではなく、アプリケーションプログラムインタフェース（ＡＰＩ：Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）も提供している。そのため、ユーザインタフェースを表示せずにＰｒｉｖａｔｅの印刷設定３０１３を外部から変更することも可能である。
【００２１】
また、上記の印刷設定３０１３の変更とは別に、ＯＳ３１０が持つユーザごとの標準設定と、ドライバごとの標準設定、つまり印刷設定のデフォルト値を更新することも可能である。ユーザごとの標準設定、ドライバごとの標準設定は、それぞれ、ユーザデフォルト値、標準デフォルト値と呼ぶ。ユーザデフォルト値は、ユーザがあらかじめ設定しておくもので、アプリケーションを介して表示されるユーザインタフェースにおけるデフォルト値の印刷設定として使用されるものである。標準デフォルト値は、管理者があらかじめ設定しておくものである。そして標準デフォルト値は、初めてログオンしたユーザ用の印刷設定、サーバからプリンタドライバをダウンロードして使用するときの最初の印刷設定として使用される。ユーザデフォルト値、標準デフォルト値は、アプリケーションから設定するのではなく、ＯＳ３１０から呼び出されたプリンタドライバ３０３のコンフィギュレーションモジュール３０３２のユーザインタフェースを使用して設定する。ＯＳ３１０はプリンタをプリンタフォルダという形で一元的に管理しており（図７）、ユーザの指示に従ってプリンタフォルダから指定のプリンタを選択してデフォルト値の更新に用いるユーザインタフェースの表示指示を行う。例えば、プリンタフォルダのプロパティの印刷設定ボタンを押下することで（図８）、コンフィギュレーションモジュール３０３２のユーザインタフェースが表示され、ユーザデフォルト値の更新を行うことができる。また例えば、プリンタフォルダのプロパティの詳細設定の標準の設定ボタンを押下することで（図９）、コンフィギュレーションモジュール３０３２のユーザインタフェースが表示され、標準デフォルト値の更新を行うことができる。
【００２２】
また、プリンタドライバ３０３のコンフィギュレーションモジュール３０３２のユーザインタフェースには、印刷設定を行うユーザインタフェース（図６）だけではなく、管理者のみが設定可能なユーザインタフェース（図１０）も持つ。主にプリンタ３０８のハードウェアオプションの設定や、管理者のみが設定可能な特別なドライバの設定などが可能である。管理者のみが設定可能なユーザインタフェースは、前述したＯＳ３１０のプリンタフォルダから指定する。
【００２３】
図１１のフローチャートに沿って、印刷設定のデフォルト値の更新を許可するか否かを設定する処理について説明する。尚、以下の各ステップにおける処理はＣＰＵ１０１がプリンタドライバ３０３のコンフィギュレーションモジュール３０３２を実行し各構成を制御することにより実現される。
【００２４】
ステップ１１０１では、ＣＰＵ１０１は、ユーザの操作に基づき、プリンタフォルダから管理者のユーザインタフェースを開く指示を受け付ける。この指示を受け付ける前に、ＯＳ３１０においてユーザが管理者権限を持っているかどうかを判定する。そして、管理者権限を持っていないと判定された場合には、管理者のユーザ名及びパスワードの入力を受け付ける。管理者権限を持っていないユーザであっても、この受け付けに対して正しい管理者のユーザ名とパスワードを入力すれば、ステップ１１０２において管理者権限を持っているユーザとみなされる。
【００２５】
ステップ１１０２では、指示を出したユーザが管理者権限を持っているかどうかをＣＰＵ１０１が判定し、管理者権限を持ったユーザが開いたかどうかを調べる。そしてステップ１１０２で管理者権限を持っていると判定された場合にはステップ１１０４に移行し、管理者権限を持っていないと判定された場合にはステップ１１０３に移行する。ここで、管理者権限を判定するにはＯＳ３１０が提供するＡＰＩを使用する。ＣＰＵ１０１は、実行しているコンフィギュレーションモジュール３０３２のプロセスに関連付けられているアクセストークンを、ＯＳ３１０のＡＰＩから取得する。そして、アクセストークンに関するタイプ情報を、ＯＳ３１０のＡＰＩでアクセストークンを指定して取得し、タイプを判定する。この結果、管理者権限でユーザインタフェースを開いたかそうでないか、また、そもそも管理者権限を持ったユーザかどうかを判定できる。このうち、管理者権限で開いたときと、そもそも管理者権限を持ったユーザであった場合は、管理者権限を持っていると判定する。尚、管理者権限を持ってユーザインタフェースを開くには、図１２のようにプリンタフォルダのメニューから「管理者として実行」を選択してプロパティを開く。
【００２６】
ステップ１１０３では、ＣＰＵ１０１が管理者設定のコントロールをグレーアウトして操作できなくした状態で管理者のユーザインタフェースをモニタ１０４１に表示する。この場合には以下のステップにおいて、ユーザによるデフォルト値の変更を許可するか否かを設定することはできない。一方、ステップ１１０４では、ＣＰＵ１０１がユーザの指示を受け付け可能である管理者のユーザインタフェースをモニタ１０４１に表示する。図１３は、管理者のユーザインタフェースにおける管理者設定のダイアログを示す図である。管理者設定には複数の設定項目があるが、本実施例では印刷設定におけるデフォルト値の更新を許可するか否かに関する設定である、「プリンタプロパティの変更を許可する」に着目する。「プリンタプロパティの変更を許可する」の選択肢は「許可する」「許可しない」「表示のみ許可する」「基本ページのみ許可する」の４つが存在する。
【００２７】
ステップ１１０５では、ＣＰＵ１０１がユーザによる指示に従って、「プリンタプロパティの変更を許可する」の選択肢の表示を上述した４種類の選択肢のうちいずれかに設定する。設定の結果、選択肢によってプリンタドライバ３０３がどのように動作するのかは、後述する図１５のフローチャートに従う。ユーザが「プリンタプロパティの変更を許可する」の選択を終了しＯＫボタンを押すと、ステップ１１０６においてＣＰＵ１０１がＯＳ３１０のレジストリデータベースに管理者設定の設定内容を保存する。保存の後、ユーザインタフェースを閉じられることにより処理が終了する。
【００２８】
上記の処理により、デフォルト値の更新を許可するか否かを設定することが可能となる。そして、デフォルト値の更新を許可しないと設定することで、ユーザがアプリケーションにおける印刷指示に応じたインタフェースにおいて印刷設定をデフォルト値から他の値に変更しない限り、ＩＴ管理者の意図したプリントを行わせることが可能となる。
【００２９】
次に、図１５のフローチャートに沿って、前述したデフォルト値の更新を許可するか否かの設定に従って、印刷設定のユーザインタフェースを開く処理に関して説明する。尚、以下の各ステップにおける処理はＣＰＵ１０１がプリンタドライバ３０３のコンフィギュレーションモジュール３０３２を実行し各構成を制御することにより実現される。
【００３０】
ステップ１５０１において、ＣＰＵ１０１は、ユーザの操作に基づきアプリケーションやプリンタフォルダから印刷設定のユーザインタフェースを開くための指示（表示指示）を受信する。ステップ１５０２において、ＣＰＵ１０１は、ステップ１５０１で受信した指示において、ＯＳ３１０のプリンタフォルダから印刷設定のユーザインタフェースが開かれているかどうかを判定する。ＯＳ３１０はコンフィギュレーションモジュール３０３２を呼び出すときに、フラグを渡す。このフラグにはデフォルトの印刷設定をするためのものかどうかの記載があり、プリンタフォルダから開かれているかどうかを判定することができる。ここでプリンタフォルダから開かれていることを判定する理由は、印刷設定のデフォルト値の更新行うためにはプリンタフォルダからユーザインタフェースを開く必要があるからである。上記の判定において、プリンタフォルダから開かれていると判定された場合はステップ１５０３に移項し、プリンタフォルダから開かれていない場合はステップ１５０４に移項する。プリンタフォルダから開かれていない場合とは例えばアプリケーションから開かれている場合である。ここで、プリンタフォルダから印刷設定のデフォルト値を更新するための表示指示を第１の表示指示であり、それ以外の例えばアプリケーションにおける印刷指示に応じた表示指示を第２の表示指示であるとする。
【００３１】
ステップ１５０３において、ＣＰＵ１０１は、図１１の処理において設定した「プリンタプロパティの変更を許可する」の設定をレジストリデータベースから読み込み、「許可する」になっているかどうかを判定する。ここで、「許可する」と設定されている、つまり印刷設定のデフォルト値の更新が許可されていると判定された場合にはステップ１５０４に移項する。一方、「許可する」と設定されていないと判定された場合にはステップ１５０５に移項する。
【００３２】
ステップ１５０４では、ＣＰＵ１０１は、通常の印刷設定のユーザインタフェースを開く。ここで通常の印刷設定のユーザインタフェースとは、特に印刷設定のデフォルト値の更新及び変更に関して制限のされていないインタフェースを指す。例えば、アプリケーションにおける印刷指示に応じてユーザインタフェースが開かれた場合には開かれたインタフェースはユーザから印刷設定の値をデフォルト値から変更するための指示（変更指示）を受け付け可能である。そのため、ユーザはインタフェースにより印刷設定の値をデフォルト値から変更し、変更後の印刷設定の値を用いて印刷を行うことができる。また、この場合のインタフェースでは印刷設定のデフォルト値を更新することはできない。一方、プリンタフォルダから印刷設定のデフォルト値を更新するためのユーザインタフェースが開かれ、デフォルト値の更新が許可されている場合には、開かれたインタフェースがデフォルト値を更新するための指示（更新指示）を受け付け可能である。そのため、ユーザは開かれたインタフェースにより印刷設定のデフォルト値を更新すること可能である。
【００３３】
ステップ１５０５において、ＣＰＵ１０１は、印刷設定のユーザインタフェース上にある、ユーザが操作できるコントロールをすべて列挙してリストとして持つ。そしてステップ１５０６において、ＣＰＵ１０１は、列挙した全てのコントロールについて、グレーアウトつまりユーザが操作できない状況にするか否かの判定をしたかを確認する。全てのコントロールについて判定が行われていないと判定された場合にはステップ１５０７に移項する。一方、全てのコントロールについて判定が行われたと判定された場合にはステップ１５１３に移項する。
【００３４】
ひとつでも確認していないコントロールがあり、ステップ１５０７に移項した場合には、ＣＰＵ１０１は、リストに列挙されている未判定のコントロールを判定対象のコントロールとして１つ取り出す。ステップ１５０８において、ＣＰＵ１０１は「プリンタプロパティの変更を許可する」の設定が「許可しない」であるか否かを判定する。「許可しない」ではないと判定されなかった場合にはステップ１５０９に移項する。一方、「許可しない」であると判定された場合にはステップ１５１２に移項し、判定対象のコントロールをグレーアウトしユーザからの操作、指示を受け付け不可能する。尚、今後コントロールをグレーアウトすると記載した場合には、同時に当該コントロールへのユーザからの操作、指示を受け付け不可能にするものであるとする。また、ユーザの操作、指示を受け付け不可能にするための処理としては、グレーアウトに限らずユーザインターフェースを表示しないなど、他の方法であっても構わない。
【００３５】
ステップ１５０９において、ＣＰＵ１０１は、「プリンタプロパティの変更を許可する」の設定が「表示のみ許可する」であるか否かを判定する。「表示のみ許可する」ではないと判定されなかった場合にはステップ１５１１に移項し、「表示のみ許可する」であると判定された場合にはステップ１５１０に移項する。尚、「表示のみ許可する」の設定とは、印刷設定のデフォルト値の更新を不許可とし、デフォルト値の表示を許可する設定である。
【００３６】
ステップ１５１０において、ＣＰＵ１０１は判定対象のコントロールがダイアログやプロパティシートなど別の階層を開くためのコントロールであるかどうかを判定する。判定の結果、別の階層を開くためのコントロールであると判定された場合にはステップ１５０６に移項する。一方、別の階層を開くためのコントロールではないと判定された場合はステップ１５１２に移項し、判定対象のコントロールをグレーアウトする。尚、別の階層を開くには、ＯＳのＡＰＩを呼び出して、ダイアログやプロパティシートを生成して表示するようにしなければならない。ＯＳ３１０のＡＰＩを呼び出すかどうかを、コンフィギュレーションモジュール３０３２はコントロールと関連付けてリストで管理している。そのため、ＣＰＵ１０１はこのリストを取り出したコントロールをキーにして検索することで、判定対象のコントロールが別の階層を開くためのコントロールかどうかを判定することができる。「表示のみ許可する」が設定されている場合に開かれるユーザインタフェースの例を図１４に示す。図１４では、例えば詳細ボタン、タブといった別の階層を開くためのコントロールに関してはユーザの操作、指示を受け付け可能であり、その他印刷設定のデフォルト値を更新するためのコントロールはグレーアウトされている。図１４のようなユーザインタフェースを表示することで、ユーザは印刷設定のデフォルト値の更新はできないものの、デフォルト値の内容を確認することが可能となる。
【００３７】
ステップ１５１１において、ＣＰＵ１０１は、判定対象のコントロールが基本ページにあるコントロールであるか否かを判定する。このような判定を行うのは、ステップ１５１１に移項するのは、「プリンタプロパティの変更を許可する」の設定が「基本ページのみ許可する」に設定されている場合だからである。ここで基本ページとは、プリンタドライバ３０３が持つ印刷設定の機能のうち、ユーザが使用する頻度が高い設定項目だけを集めたプロパティページである。また、基本ページはインタフェースに複数ページが含まれる場合には、ＣＰＵ１０１の制御によりモニタ１０４１にユーザインタフェースが表示された際に複数ページのうち最初に表示されるページである。例えば、用紙サイズ、部数、両面、カラーなどが基本ページの印刷設定である。インタフェースの基本ページにあるコントロールであると判定された場合にはステップ１５０６に移項する。一方、基本ページにあるコントロールではないと判定された場合はステップ１５１２に移項し、判定対象のコントロールをグレーアウトする。尚、１つのダイアログやプロパティシートに含まれるコントロールは、ＯＳ３１０のＡＰＩを呼び出すことですべて列挙することができる。基本ページを元に列挙したコントロールのリストを作成し、取り出したコントロールをキーにしてリストを検索することで、基本ページに含まれているコントロールかどうかを判定することができる。このように、最初に表示されるページである基本ページのコントロールに対して、ユーザの操作、指示を受け付け可能とすることで、ユーザは少ない操作で印刷設定のデフォルト値を更新することができ、機能の多さに迷うことも少なくなる。また、ユーザが頻繁に使用する機能については自由に印刷設定を更新することができ、他の例えばトラブルシューティングとして使われるような詳細な設定を誤って操作し、色味がおかしくなるなどの印刷結果が不正になることを防ぐことができる。尚、基本ページに限らず、インタフェースに含まれる複数ページのうち任意のページに存在する印刷設定のデフォルト値の更新を許可し、その他のページのデフォルト値の更新を不許可とする設定を行う構成であってもよく。その場合には、管理者が選択した任意のページに対するユーザからの更新指示が受け付け可能であり、任意のページ以外のページに対するユーザからの更新支持が受け付け不可能であるインタフェースを開く。このうような構成により、管理者の望むページのデフォルト値を固定することが可能となる。
【００３８】
全てのコントロールが判定された後、ステップ１５１３において、ＣＰＵ１０１は「プリンタプロパティの変更を許可する」の設定が「基本ページのみ許可する」であり、かつ表示するのが基本ページであるか否かを判定する。判定の結果、設定が「基本ページのみ許可する」であり、かつ表示するのが基本ページである場合にはステップ１５１６へ移項し、そうでない場合はステップ１５１４に移項する。
【００３９】
ステップ１５１４において、ＣＰＵ１０１は、「デフォルト値の変更はできません」とのメッセージを表示する。そしてステップ１５１５において、ＣＰＵ１０１は「プリンタプロパティの変更を許可する」の設定に従って、一部又は全てのコントロールがグレーアウトされた印刷設定のユーザインタフェースを表示する。ステップ１５１６において、ＣＰＵ１０１は、ユーザからの操作、指示を受け付け可能な基本ページのユーザインタフェースを表示する。
【００４０】
アプリケーション３０１は、ＯＳ３１０のＡＰＩを使って、印刷設定のユーザデフォルト値や標準デフォルト値を、プリンタドライバに関係なく変更することができてしまう。しかし、印刷設定のデフォルト値を更新するためには、書き込むための更新した印刷設定の値を作らなければならない。この更新した印刷設定の値をプリンタドライバのＡＰＩを使って作成する処理を、図１６のフローチャート用いて説明する。尚、以下の各ステップにおける処理はＣＰＵ１０１がプリンタドライバ３０３のコンフィギュレーションモジュール３０３２及びアプリケーション３０１を実行し各構成を制御することにより実現される。
【００４１】
ステップ１６０１において、ＣＰＵ１０１は、ＡＰＩを使って印刷設定を変更するためにコンフィギュレーションモジュール３０３２を呼び出す。ステップ１６０２のＣＰＵ１０１による判定で、管理者設定で「プリンタプロパティの変更を許可する」が「許可する」になっていると判定された場合は、ステップ１６０４に移項し通常の処理となる。一方、管理者設定で「プリンタプロパティの変更を許可する」が「許可する」以外に設定されていると判定された場合にはステップ１６０３に移項する。ステップ１６０３において、ＣＰＵによりＡＰＩで印刷設定の値を更新するためにセットしようとしていると判定された場合は、ステップ１６０５に移項し、印刷設定を変更せずにエラー表示を行う。これにより、更新した印刷設定を作成することができないので、結果として印刷設定のデフォルト値は更新することができなくなる。
【００４２】
尚、「基本ページのみ許可する」の機能は「表示のみ許可する」と組み合わせた形で実現されていてもよい。つまり、基本ページと階層を開くボタンは選択することが可能で、それ以外はすべてグレーアウトしているということも可能である。
【００４３】
また、「プリンタプロパティの変更を許可する」の機能として、前述した４つ以外に、ページごとに許可する機能や、各機能単位で許可する機能、印刷時に表示されるパスワード確認だけは許可するなどの機能があってもよい。
【００４４】
また、ユーザインタフェースを使ったデフォルトの印刷設定は変更することができなくなるが、ＡＰＩを使った場合はすべて印刷設定の変更が可能という設定に切り替えられる仕組みを、コンフィギュレーションモジュール３０３２が提供してもよい。ＡＰＩを使って印刷設定を変更して、印刷設定のデフォルト値を更新することは、特殊なアプリケーションしか行われないので、これでも十分デフォルト値を固定することは可能である。
【００４５】
このように本実施形態では、印刷設定のユーザデフォルト値や標準デフォルト値を更新することができなくなり、印刷設定をデフォルト値に固定することができる。例えば、あらかじめ印刷設定のデフォルト値を更新した後、管理者設定で「プリンタプロパティの変更を許可する」を「許可しない」ようにすれば、管理者の好きなデフォルト値で固定することができる。また、完全に値を固定するわけではなく、アプリケーションから印刷設定を行うときは通常のユーザインタフェースになり、印刷設定をデフォルト値から他の値に変更することができる。また、グレーアウトによりデフォルト値が更新できなくなっていることは印刷設定のユーザインタフェース上からもわかるので、ユーザが操作できないからといってとまどうこともない。また、プリンタドライバがネットワークサーバー上にあり、クライアントにユーザインタフェースだけを表示させるような形態でも同じように表示することができる。
【実施例２】
【００４６】
実施例１とは別の印刷処理システムであっても、本発明は適用することができる。図４はＸＰＳＤｒｖ印刷システムのブロック図である。ＸＰＳＤｒｖとはＸＰＳ（ＸＭＬ  Ｐａｐｅｒ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ）と呼ばれる文書ファイルフォーマットをスプールデータとして使用し、印刷を行うプリンタドライバのことを指す。ＸＰＳＤｒｖ印刷処理システム全体はＯＳ上で動作しており、図１の補助記憶装置１０５のＯＳ１０５４に相当する。プリントマネージャ４１４はＯＳに含まれるモジュールである。バージョン３プリンタドライバとフィルタパイプラインの各フィルタは、図１の補助記憶装置１０５にプリンタドライバ１０５３として格納されている。ＧＤＩアプリ４０１とＸＰＳアプリ４０２は、図１の補助記憶装置１０５にアプリケーション１０５１として格納されている。ユーザはキーボード等の入力装置１０３を使用して、出力装置１０４に映し出されたＧＤＩ印刷アプリケーションプログラム４０１（ＧＤＩアプリ）、もしくはＸＰＳ印刷アプリケーションプログラム４０２（ＸＰＳアプリ）から印刷処理を実行する。印刷処理はプリンタの選択、印刷設定の作成、描画データの変換と３つの処理を順番に行うことで実行する。
【００４７】
まずは、印刷したいプリンタ４１６の選択をする、これは、印刷を実行するプリンタ４１６に対応したプリンタドライバを選択することと同義である。次に印刷設定を作成する。印刷設定はアプリケーションが印刷設定用のメモリを確保し、アプリケーションかプリンタドライバのコンフィギュレーションモジュール４０５が、機種依存ファイル４０７を利用して設定データを埋めるという形で行われる。ＧＤＩアプリ４０１では印刷設定データとしてバイナリのＤＥＶＭＯＤＥ構造体４０３を用い、ＸＰＳアプリ４０２ではマークアップ言語のＸＭＬで記載されたプリントチケット４０４を用いる。ＤＥＶＭＯＤＥ構造体４０３もプリントチケット４０４も、図５の構造のように、ＯＳが定義するＰｕｂｌｉｃ領域とプリンタドライバが独自で定義するＰｒｉｖａｔｅ領域を持つ。また、プリントチケット４０４は、図１７にあるようなＸＭＬ形式で記述された印刷設定情報であるので、Ｐｕｂｌｉｃ領域とＰｒｉｖａｔｅ領域は名前空間によって記載が別れている。このＤＥＶＭＯＤＥ構造体４０３もしくはプリントチケット４０４が印刷設定を保持しており、アプリケーションが直接書き換えることで印刷設定を変更する。プリンタ４１６に依存した専用の設定は、コンフィギュレーションモジュール４０５が持つプリンタドライバのユーザインタフェースを表示し、ユーザがユーザインタフェースを操作することで行う。プリンタドライバは、ユーザインタフェースの設定に従い、ＤＥＶＭＯＤＥ構造体４０３もしくはプリントチケット４０４のプリンタ４１６に依存した設定を変更する。印刷設定とは具体的に、出力する用紙サイズを「Ａ４」にする、両面印刷を行う、カラーと白黒を切り替える、給紙段を指定するなどといった設定のことを指す。プリントチケット４０４は印刷設定がＸＭＬ形式で記述されているので、ＸＰＳアプリ４０２がすべての設定値を直接変更して書き換えることは容易だが、従来のようにプリンタドライバのユーザインタフェースを使って設定変更してもかまわない。
【００４８】
最後に描画データの変換を行う。印刷設定が確定したら、ユーザはアプリケーションから印刷処理を実行する。ＧＤＩアプリ４０１から印刷する場合は、バージョン３プリンタドライバの形態を取るＧＤＩｔｏＸＰＳ変換モジュール４０８に描画データが送られ、ＸＰＳスプールファイル４０９が作成される。バージョン３プリンタドライバとは、Ｍｉｃｒｏｓｏｆｔ（登録商標）のＷｉｎｄｏｗｓ２０００（登録商標）以降に対応したプリンタドライバのことを指す。このときＧＤＩｔｏＸＰＳ変換モジュール４０８はコンフィギュレーションモジュール４０５を呼び出し、印刷設定をＤＥＶＭＯＤＥ構造体４０３からプリントチケット４０４に変換する。ＸＰＳアプリ４０２から印刷する場合は、ＸＰＳファイルをＸＰＳアプリ自身が生成するのと、ＯＳがＸＰＳアプリからの描画命令に応じてＸＰＳファイルを生成するのと２通りの方法がある。どちらの方法であっても、印刷の途中でＸＰＳスプールファイル４０９を生成する。このようにＸＰＳＤｒｖ印刷システムは、印刷時に必ずＸＰＳスプールファイル４０９を生成するのが特徴である。
【００４９】
ＸＰＳスプールファイル４０９が生成されたら、プリントフィルタパイプラインプロセスに処理が渡される。プリントフィルタパイプラインプロセスは複数のフィルタを通すことで印刷が行われる仕組みで、フィルタコンフィギュレーションファイル４１０でフィルタの数や順番を制御する。プリントフィルタパイプラインプロセスで動作するフィルタパイプラインマネージャはフィルタコンフィギュレーションファイル４１０に従って、この実施例では設定フィルタ４１１、レイアウトフィルタ４１２、レンダラフィルタ４１３の順に処理を行う。処理はＸＰＳスプールファイル４０９をフィルタに受け渡すことで行われ、フィルタがそれぞれＸＰＳスプールファイル４０９を加工し次のフィルタに渡していくことで処理が進む。最後にはプリンタが理解できるデータ言語であるプリンタ制御言語（以下、ＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）と略す）となって出力される。もちろんプリンタ４１６がＸＰＳスプールファイル４０９を直接読み込んで印刷できるＸＰＳダイレクトプリンタであれば、すべてのフィルタをスルーして印刷してもよい。設定フィルタ４１１ではプリントチケットを読み込んで印刷に必要なデータをプリントチケットに書き込む処理を、レイアウトフィルタ４１２では倍率の変更や製本の面付けレイアウトやスタンプなどレイアウトに関する処理を行う。レイアウトフィルタ４１２では、ＸＰＳスプールファイル４０９に含まれるプリントチケット４０４に従って動作する。そのため、例えば面付けの設定がプリントチケット４０４に存在しないときは、レイアウトフィルタ４１２は何も動作せずスルーして、次のフィルタにＸＰＳスプールファイル４０９をそのまま渡す。最後のレンダラフィルタ４１３では、ＸＰＳスプールファイル４０９をレンダリングしてＰＤＬに変換する。ＰＤＬデータは印刷処理のスケジュール管理を行うプリントマネージャ４１４で管理され、キュー（待ち行列）に印刷ジョブが次々と登録される。プリンタ４１６が印刷できる状態になったら、キューに登録した順にＰＤＬデータをＩ／Ｏモニタ４１５を通して送信する。このようにして、アプリケーションからの印刷データをプリンタ言語に変換することがプリンタドライバの主な役目であり、実際の印刷処理が行われる。
【００５０】
このＸＰＳＤｒｖ印刷処理システムであっても、印刷設定のユーザデフォルト値と、標準デフォルト値は、コンフィギュレーションモジュール４０５のユーザインタフェースを用いて行われる。したがって、実施例１のフロー（図１１、図１５）を使って、デフォルト値を固定することができる。
【００５１】
プリントチケット４０４を使用して印刷設定を変更する場合は、実施例１におけるＡＰＩを使って印刷設定を変更する場合と同じで、プリントチケット４０４による設定変更を許可しないことでデフォルトの変更を防ぐことができる。また、ＡＰＩ同様、コンフィギュレーションモジュール４０５が、プリントチケット４０４からの印刷設定の変更は許可するように切り替えが可能であってもかまわない。
【００５２】
尚、本発明の各工程は、ネットワーク又は各種記憶媒体を介して取得したソフトウェア（プログラム）をパソコン等の処理装置（ＣＰＵ、プロセッサ）にて実行することでも実現できる。
【符号の説明】
【００５３】
１０１  ＣＰＵ
２０１  クライアントＰＣ
２０４  プリンタ
２０５  プリンタ
３０１  アプリケーション
３０３  プリンタドライバ
３１０  ＯＳ
１０４１  モニタ
３０３２  コンフィグレーションモジュール
【図１】
2010271772.tif 000003
【図２】
2010271772.tif 000004
【図３】
2010271772.tif 000005
【図４】
2010271772.tif 000006
【図５】
2010271772.tif 000007
【図６】
2010271772.tif 000008
【図７】
2010271772.tif 000009
【図８】
2010271772.tif 000010
【図９】
2010271772.tif 000011
【図１０】
2010271772.tif 000012
【図１１】
2010271772.tif 000013
【図１２】
2010271772.tif 000014
【図１３】
2010271772.tif 000015
【図１４】
2010271772.tif 000016
【図１５】
2010271772.tif 000017
【図１６】
2010271772.tif 000018
【図１７】
2010271772.tif 000019