(57)【要約】【課題】アプリケーションの改変を行うことなく、プリンタドライバの設定を動的にカスタマイズできるようにする。【解決手段】ツールＡ３１００の適用対象であるアプリケーション３３００を起動すると、アプリケーション３３００が指定したプリンタに対応するプリンタドライバ３５００がロードされる。そして、プリンタドライバ３５００は、ツールＡ３１００が印刷に関与していると判定すると、ツールＡ３１００に紐付けられているカスタムデフォルト（２）３８００を印刷設定データの一部として適用する。【選択図】図４
2010237803.tif 000002
【特許請求の範囲】
【請求項１】
プリンタドライバの印刷処理の実行に際し、当該プリンタドライバの印刷設定の変更に係るプログラムモジュールが当該印刷処理に関与しているか否かを判定する判定ステップと、
前記判定ステップにより、前記プログラムモジュールが前記印刷処理に関与していると判定されると、前記プリンタドライバの印刷設定の一部を、当該プログラムモジュールに応じた印刷設定に切り替える切り替えステップとを有することを特徴する印刷制御方法。
【請求項２】
前記プログラムモジュールと、当該プログラムモジュールにより切り替える印刷設定とをユーザによる操作に基づいて紐付ける紐付け手段を有し、
前記切り替えステップは、前記プリンタドライバの印刷設定の一部を、前記プログラムモジュールに紐付けられた印刷設定に切り替えることを特徴とする請求項１に記載の印刷制御方法。
【請求項３】
前記プログラムモジュールの適用対象をユーザによる操作に基づいて当該プログラムモジュールに対して設定する設定ステップを有し、
前記判定ステップは、前記設定ステップにより設定された適用対象による処理によって前記プリンタドライバが起動すると、前記プログラムモジュールが前記印刷処理に関与していると判定することを特徴とする請求項１又は２に記載の印刷制御方法。
【請求項４】
前記切り替えステップは、前記判定ステップにより、前記プログラムモジュールが前記印刷処理に関与していると判定されると、当該プログラムモジュールの処理に応じた複数の印刷設定のうち、切り替え対象として設定されている印刷設定に、前記プリンタドライバの印刷設定の一部を切り替えることを特徴とする請求項１〜３の何れか１項に記載の印刷制御方法。
【請求項５】
前記プログラムモジュールが切り替えるべき印刷設定が設定されているか否かを判断する判断ステップと、
前記判断ステップにより、前記プログラムモジュールが切り替えるべき印刷設定が設定されていないと判断されると、ユーザによる操作に基づいて、前記プログラムモジュールの処理に応じた印刷設定を作成する作成ステップと、を有し、
前記切り替えステップは、前記判断ステップにより、前記プログラムモジュールが切り替えるべき印刷設定が設定されていないと判断されると、前記プリンタドライバの印刷設定の一部を、前記作成ステップにより作成された印刷設定に切り替えることを特徴とする請求項１〜４の何れか１項に記載の印刷制御方法。
【請求項６】
前記プリンタドライバの印刷設定の一部の切り替えを無効にする無効化ステップを有し、
前記切り替えステップは、前記無効化ステップにより、前記プリンタドライバの印刷設定の一部の切り替えが無効にされていると、当該プリンタドライバの印刷設定の一部を、前記プログラムモジュールの処理に応じた印刷設定とは異なる印刷設定にすることを特徴とする請求項１〜５の何れか１項に記載の印刷制御方法。
【請求項７】
前記プログラムが起動されることにより発行される所定のプロセスＩＤが確認できた場合に、当該プリンタドライバの印刷設定の変更に係るプログラムモジュールが当該印刷処理に関与していると前記判定ステップは判定することを特徴とする請求項１〜６の何れか１項に記載の印刷制御方法。
【請求項８】
前記プログラムを介して所定のアプリケーションが起動され、その所定のアプリケーションからの印刷処理に係わる印刷設定については、当該プログラムモジュールに応じた印刷設定に切り替え、そのアプリケーション以外の印刷処理に係わる印刷設定については、印刷設定の切り替えをしないことを特徴とする請求項１〜７の何れか１項に記載の印刷制御方法。
【請求項９】
プリンタドライバの印刷処理の実行に際し、当該プリンタドライバの印刷設定の変更に係るプログラムモジュールが当該印刷処理に関与しているか否かを判定する判定手段と、
前記判定手段により、前記プログラムモジュールが前記印刷処理に関与していると判定されると、前記プリンタドライバの印刷設定の一部を、当該プログラムモジュールに応じた印刷設定に切り替える切り替え手段とを有することを特徴する印刷制御装置。
【請求項１０】
請求項１〜８の何れか１項に記載の印刷制御方法の各ステップをコンピュータに実行させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷制御方法、印刷制御装置、及びコンピュータプログラムに関し、特に、プリンタドライバの印刷設定をカスタマイズするために用いて好適なものである。
【背景技術】
【０００２】
プリンタのユーザは、印刷管理やコストを課題視している。カラープリンタを導入しても、通常はモノクロ印刷を行うようにし、カラー印刷を行うことを抑制したいという要望が増加傾向にある。
そこで、アプリケーション毎に、プリンタドライバ、その他の出力デバイスドライバの設定を制御できるようにする方法が考えられている。具体的に、アプリケーションとプリンタドライバとを探索し、アプリケーション、プリンタドライバ、及び印刷設定を相互に対応付けて管理することが提案されている（特許文献１を参照）。
また、プリンタドライバのデフォルト設定をカスタマイズするツールを使用する方法も考えられている。具体的に、プリンタドライバに対するデフォルトの工場出荷値をカラーからモノクロ設定へ静的に変更（カスタマイズ）し、そのモノクロ設定を適用することで、通常はモノクロ印刷の環境を提供することが提案されている（特許文献２、３を参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−１６５２９１号公報
【特許文献２】特開２００６−２０９１９５号公報
【特許文献３】特開２００６−３０９７２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
前述したように、通常はモノクロ印刷を行うようにし、特定文書だけをカラー印刷させたい場合がある。例えば、コスト面から通常はモノクロ印刷で印刷する運用を行いたいが、顧客に渡す印刷文書については見栄えを良くするためにカラー印刷したいという場合がある。また、このカラー印刷は、顧客へ渡す文書を作成する業務フローの一部となっていることがある。また、このようなカラー印刷を行うに際し、業務内の印刷における操作数を減らしたいという要求もある。
【０００５】
しかしながら、前述した従来の技術では、以下のような課題がある。
特許文献１に記載の技術では、アプリケーションと印刷設定との対応関係がペアで固定されている。したがって、あるアプリケーションで印刷すると必ずカラー印刷になる。
また、アプリケーションと印刷設定との対応関係を事前に決定するようにしているが、制御条件を事前に仮定することが難しいため、業務フローに柔軟に対応する設定を行うことが困難な場合がある。また、ドキュメント毎に印刷設定を決定したい場合等、アプリケーション毎に印刷設定を決定することが適さない場合がある。
また、特許文献２、３に記載の技術では、プリンタドライバの設定を静的にカスタマイズし、印刷設定の均一化することになるので、印刷設定を局所的に変更することが困難な場合がある。
また、プリンタドライバの設定をカスタマイズせずに、アプリケーション自体を開発することも考えられる。しかしながら、アプリケーションを開発する場合、アプリケーションに印刷制御の設定を追加・変更することが難しいケースもある。例えば、現在稼働しているアプリケーションのメンテナンス先がないためにアプリケーションを改変できなかったり、アプリケーション自体の更新開発には時間とコストを要するためにアプリケーションの改変を行うのは現実的ではなかったりすることがある。
【０００６】
本発明は以上の課題に鑑みてなされたものであり、アプリケーションの改変を行うことなく、プリンタドライバの設定を動的にカスタマイズできるようにすることを目的とする。
【課題を解決するための手段】
【０００７】
本発明の印刷制御方法は、プリンタドライバの印刷処理の実行に際し、当該プリンタドライバの印刷設定の変更に係るプログラムモジュールが当該印刷処理に関与しているか否かを判定する判定ステップと、前記判定ステップにより、前記プログラムモジュールが前記印刷処理に関与していると判定されると、前記プリンタドライバの印刷設定の一部を、当該プログラムモジュールに応じた印刷設定に切り替える切り替えステップとを有することを特徴する。
【発明の効果】
【０００８】
本発明によれば、プリンタドライバの印刷処理の実行に際し、プリンタドライバの印刷設定の変更に係るプログラムモジュールが印刷処理に関与している場合、プリンタドライバの印刷設定の一部を、プログラムモジュールに応じた印刷設定に切り替える。したがって、アプリケーションの改変を行うことなく、プリンタドライバの印刷設定を、プリンタドライバの印刷処理の実行時に動的にカスタマイズすることができる。
【図面の簡単な説明】
【０００９】
【図１】印刷システムの構成の一例を示すブロック図である。
【図２】ホストコンピュータにおける印刷処理のための基本的な構成の一例を示す図である。
【図３】静的にカスタマイズされたプリンタドライバに基づいて印刷を行う方法の一例を概念的に説明する図である。
【図４】一部の印刷設定が動的にカスタマイズされたプリンタドライバに基づいて印刷を行う方法の一例を概念的に説明する図である。
【図５】ツールＡのＵＩの一例を示す図である。
【図６】ツールＡへの入出力処理の概要の一例を説明する図である。
【図７】印刷システムの基本動作の流れの一例を説明する図である。
【図８】ツールＡの印刷への関与を識別する方法の一例を説明する図である。
【図９】ツールＡの基本動作の一例を説明するフローチャートである。
【図１０】プリンタドライバの基本動作の一例を説明するフローチャートである。
【図１１】プリンタドライバのＵＩの一例を示す図である。
【図１２】印刷業務の形態（ユースケース）の一例を示す図である。
【図１３】図１２に示す運用を概念的に示す図である。
【図１４】適用対象をドキュメントとした場合の印刷システムの基本動作の流れの一例を説明する図である。
【図１５】適用対象をショートカットとした場合の印刷システムの基本動作の流れの一例を説明する図である。
【図１６】プリンタドライバの印刷設定を作成する動作の一例を説明する図である。
【図１７】設定作成ダイアログとプリンタドライバのＵＩの一例を示す図である。
【図１８】プリンタドライバの印刷設定を作成する際のツールＡの動作の一例を説明するフローチャートである。
【図１９】入力パラメータに含まれる動作設定がプリンタに依存するか否かを考慮して処理を行う場合のツールＡの動作の一例を説明するフローチャートである。
【図２０】プリンタドライバの印刷設定と動作モードとの関係の一例を示す図である。
【図２１】プリンタドライバの印刷設定を無効化する場合の動作の一例を説明する図である。
【発明を実施するための形態】
【００１０】
以下、図面を参照しながら、本発明の一実施形態を説明する。尚、本実施形態では、コンピュータとプリンタと備えた印刷システムを例に挙げて説明するが、印刷システムの構成はこのようなものに限定されるものではない。すなわち、単体の機器であっても、複数の機器からなるシステムであっても、複数の機器がＬＡＮ、ＷＡＮ等のネットワークを介して接続され、処理が行われるシステムであってもよい。
【００１１】
〔印刷システムの構成〕
図１は、印刷システムの構成の一例を示すブロック図である。図１において、ホストコンピュータ３０００は、ＣＰＵ１を備えている。ＣＰＵ１は、ＲＯＭ３のプログラム用ＲＯＭ或いは外部メモリ１１に記憶された文書処理プログラム等を実行する。ＣＰＵ１は、後述する本実施形態に係わる処理を含む、図形、イメージ、文字、表（表計算等を含む）等が混在した文書の処理及びそれに基づく印刷処理の実行を制御する。このＣＰＵ１がシステムバス４に接続される各デバイスの制御を総括する。また、ＲＯＭ３のプログラム用ＲＯＭ或いは外部メモリ１１には、ＣＰＵ１の制御プログラムであるオペレーティングシステムプログラム（ＯＳ）等が記憶されている。また、ＲＯＭ３のフォント用ＲＯＭ或いは外部メモリ１１には、前記文書の処理の際に使用されるフォントデータ等が記憶されている。更に、ＲＯＭ３のデータ用ＲＯＭ或いは外部メモリ１１には、前記文書の処理等を行う際に使用される各種データが記憶されている。ＲＡＭ２は、ＣＰＵ１の主メモリ、ワークエリア等として機能する。
【００１２】
キーボードコントローラ（ＫＢＣ）５は、キーボード９や不図示のポインティングデバイスからのキー入力を制御する。ＣＲＴコントローラ（ＣＲＴＣ）６は、ＣＲＴディスプレイ（ＣＲＴ）１０による表示を制御する。ディスクコントローラ（ＤＫＣ）７は、ハードディスク（ＨＤ）、フレキシブルディスク（ＦＤ）、及びＩＣカード等の外部メモリ１１とのアクセスを制御する。ＨＤ、ＦＤにはブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、プリンタ制御コマンド生成プログラム（以下、プリンタドライバと称する）等が記憶されている。プリンタコントローラ（ＰＲＴＣ）８は、双方向性インタフェース（インタフェース）２１を介してプリンタ１５００に接続されて、プリンタ１５００との通信制御処理を実行する。
尚、ＣＰＵ１は、ＣＲＴ１０上の不図示のマウスカーソル等で指示されたコマンドに基づいて、予め登録された種々のウィンドウを開き、種々のデータ処理を実行する。ユーザは印刷を実行する際、印刷の設定に関するウィンドウを開き、プリンタの設定や、印刷モードの選択を含むプリンタドライバに対する印刷処理方法の設定（印刷設定）を行うことができる。
【００１３】
プリンタ１５００は、そのＣＰＵ１２によって制御される。ＣＰＵ１２は、ＲＯＭ１３に記憶された制御プログラム等、或いは外部メモリ１４に記憶された制御プログラム等に基づいてシステムバス１５に接続される印刷部（プリンタエンジン）１７に印刷出力情報としての画像信号を出力する。また、ＲＯＭ１３のプログラムＲＯＭには、ＣＰＵ１２の制御プログラム等が記憶される。また、ＲＯＭ１３のフォント用ＲＯＭには、前記印刷出力情報を生成する際に使用されるフォントデータ等が記憶される。また、ハードディスク等の外部メモリ１４がないプリンタの場合、ＲＯＭ１３のデータ用ＲＯＭには、コンピュータ上で利用される情報等が記憶される。
ＣＰＵ１２は、入力部１８を介してホストコンピュータ３０００との通信処理が可能となっている。これにより、プリンタ１５００内の情報等をホストコンピュータ３０００に通知できる。ＲＡＭ１９は、ＣＰＵ１２の主メモリや、ワークエリア等として機能するＲＡＭである。また、図示しない増設ポートに接続されるオプションＲＡＭによりメモリ容量を拡張することができるように構成されている。尚、ＲＡＭ１９は、出力情報展開領域、環境データ格納領域、ＮＶＲＡＭ等に用いられる。
【００１４】
ハードディスク（ＨＤ）、フレキシブルディスク（ＦＤ）、及びＩＣカード等の外部メモリ１４は、メモリコントローラ（ＭＣ）２０によりアクセスが制御される。外部メモリ１４は、オプションとしてプリンタ１５００に接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。
また、プリンタ１５００は図示しないＮＶＲＡＭを有し、操作部１５０１からのプリンタモード設定情報を記憶するようにしてもよい。
印刷部１７は、本実施形態では電子写真方式のエンジンとしている。従って、印刷データはトナーのドットによって最終的に紙などの媒体上に記録される。尚、印刷の方式はこのような電子写真方式に限られない。例えば、インクジェット方式等、ドットを形成して印刷を行う何れの方式を印刷の方式としてもよい。
【００１５】
図２は、図１に示したホストコンピュータ３０００における印刷処理のための基本的な構成の一例を示す図である。アプリケーション３３００、グラフィックエンジン２０２、プリンタドライバ３５００、及びシステムスプーラ２０４は、外部メモリ１１に保存されたファイルとして存在する。そして、これらは、ＯＳやそのモジュールを利用するモジュールによってＲＡＭ２にロードされて実行されるプログラムモジュールである。
また、アプリケーション３３００及びプリンタドライバ３５００は、外部メモリ１１や、不図示のネットワークを経由してＲＡＭ２にロードされる。外部メモリ１１に保存されているアプリケーション３３００はＲＡＭ２にロードされて実行される。このアプリケーション３３００からプリンタ１５００に対して印刷を行う際には、同様にＲＡＭ２にロードされ実行可能となっているグラフィックエンジン２０２を利用して出力（描画）を行う。グラフィックエンジン２０２は、プリンタ１５００等の印刷装置毎に用意されたプリンタドライバ３５００を外部メモリ１１からＲＡＭ２にロードし、アプリケーション３３００の出力をプリンタドライバ３５００に設定する。
【００１６】
ここで、Windows（登録商標）における、印刷パスの一例について説明する。グラフィックエンジン２０２は、アプリケーション３３００から受け取るＧＤＩ（Graphic Device Interface）関数をＤＤＩ（Device Driver Interface）関数に変換して、プリンタドライバ３５００へ出力する。プリンタドライバ３５００は、グラフィックエンジン２０２から受け取ったＤＤＩ関数に基づいて、プリンタが認識可能なプリンタ制御コマンド、例えばＰＤＬ（Page Description Language）に変換する。ＰＤＬに変換されたプリンタ制御コマンドは、ＯＳによってＲＡＭ２にロードされたシステムスプーラ２０４、インタフェース２１を経由してプリンタ１５００へ印刷データとして出力される。Windows Vista（登録商標）の印刷パスの基本構成は、Windows（登録商標）の印刷パスと同じであるが、Windows Vista（登録商標）では、Windows（登録商標）に対し、ＸＰＳ印刷パスが追加された。このＸＰＳパスでは、グラフィックエンジン２０２は、アプリケーション３３００から受け取る共通ドキュメントをプリンタドライバ３５００へ出力する。プリンタドライバ３５００は、グラフィックエンジン２０２から受け取った共通ドキュメントを、プリンタが認識可能なプリンタ制御コマンド、例えばＰＤＬに変換する。ＰＤＬに変換されたプリンタ制御コマンドは、ＯＳによってＲＡＭ２にロードされたシステムスプーラ２０４、インタフェース２１を経由してプリンタ１５００へ印刷データとして出力される。
【００１７】
〔本実施形態の前提となる技術の概要〕
図３は、静的にカスタマイズされたプリンタドライバに基づいて印刷を行う方法の一例を概念的に説明する図である。
アプリケーション３３００は、印刷に際してプリンタを指定する。この際、Windows（登録商標）では、アプリケーション３３００の印刷動作を受けて、グラフィックエンジン２０２がプリンタドライバ３５００をロードする（ステップＳ３１１）。プリンタドライバ３５００のロードに合わせて、印刷設定データも初期化・設定される。プリンタドライバ３５００は、印刷設定データとして、例えばカスタムデフォルト（１）３７００をロードし、グラフィックエンジン２０２の初期化処理を行う（ステップＳ３１２）。この印刷設定データ（DEVMODE）には、ドキュメントの印刷設定として、用紙サイズ、用紙の向き、カラー印刷／モノクロ印刷の選択、給紙方法、部数等が含まれる。カスタムデフォルト（１）３７００３７００は、外部メモリ１１に記憶されたデータファイルである。これらはＯＳやデータを利用するモジュールによってＲＡＭ２にロードされる。
【００１８】
ここで、図３に示した例におけるアプリケーション３３００の通常の動作手順の一例を補足する。
まず、アプリケーション３３００は、グラフィックエンジン２０２に対してカスタムデフォルト（１）３７００による設定を指定してプリンタ１５００をオープンする。
次に、アプリケーション３３００は、印刷設定データのサイズを問い合わせる。アプリケーション３３００は、印刷設定データのサイズのバッファを確保し、そのバッファへ印刷設定データを保持する。前述したように図３に示す例における印刷設定データは、カスタムデフォルト（１）３７００のデータである。
次に、アプリケーション３３００は、印刷設定データを指定してプリンタデバイスコンテキストを取得し、そのプリンタデバイスコンテキストを操作して印刷を実行する。次に、アプリケーション３３００は、プリンタデバイスコンテキストの破棄、印刷設定データの解放、及びプリンタのクローズを順次行う。そして、印刷操作が終わると、アプリケーション３３００は、利用したオブジェクトやメモリを破棄、解放する。
【００１９】
〔本実施形態の技術の概要〕
図４は、一部の印刷設定が動的にカスタマイズされたプリンタドライバに基づいて印刷を行う方法の一例を概念的に説明する図である。
ツールＡ（ランチャ）３１００は、外部メモリ１１に保存されたファイルとして存在する。ツールＡ３１００は、ＯＳやそのモジュールを利用するモジュールによってＲＡＭ２にロードされＣＰＵ１に解釈されて実行されるプログラムモジュールである。また、ツールＡ３１００は、外部メモリ１１や、不図示のネットワークを経由してＲＡＭ２にロードされる。
ショートカット３１５０と、印刷設定データであるカスタムデフォルト（２）３８００〜カスタムデフォルト（ｎ）３８５０は、外部メモリ１１に記憶されたデータファイルである。これらはＯＳやデータを利用するモジュールによってＲＡＭ２にロードされる。
【００２０】
図４に示す処理の概要を説明する。ツールＡ３１００は、印刷設定データと紐付けられている。また、ツールＡ３１００は、アプリケーション３３００を起動する。アプリケーション３３００からの指示に基づいて印刷を実行する際、プリンタドライバ３５００は、その印刷にツールＡ３１００が関与しているか否かを確認する。図４に示す例では、ツールＡ３１００が関与しているとする。そこで、プリンタドライバ３５００は、ツールＡ３１００に紐付けられた印刷設定データ（ここではカスタムデフォルト（２）３８００とする）をロードする。このとき、プリンタドライバ３５００は、図３で印刷設定データとしたカスタムデフォルト（１）３７００をロードしない。
【００２１】
次に、図４に示す処理を順に説明する。ショートカット３１５０を実行すると、ツールＡ３１００が起動する。ツールＡ３１００は、アプリケーション３３００を起動する（ステップＳ４１２）。起動したアプリケーション３３００は、印刷に際してプリンタ１５００を指定する。そうすると、指定したプリンタ１５００に対応するプリンタドライバ３５００がロードされる（ステップＳ４１３）。プリンタドライバ３５００のロードにあわせ、印刷設定データも初期化・設定される。ここで、プリンタドライバ３５００は、ツールＡ３１００の関与を確認する。ツールＡ３１００のプロセスが見つかるとプリンタドライバ３５００は、ツールＡ３１００の関与があると判断する。そして、プリンタドライバ３５００は、印刷設定データとして、カスタムデフォルト（１）３７００ではなく、ツールＡ３１００に紐付けられたカスタムデフォルト（２）３８００をロードする（ステップＳ４１４）。ツールＡ３１００は、複数の印刷設定データの紐付けを管理することができる（紐付けられる印刷設定データを変更することができる）。プリンタドライバ３５００は、使用する印刷設定データとしてツールＡ３１００にカスタムデフォルト（ｎ）３８５０が紐付けられているなら、そのカスタムデフォルト（ｎ）３８５０をロードする（ステップＳ４１５）。
すなわち、ツールＡ３１００を介して所定のアプリケーションが起動された際、その所定のアプリケーションからの印刷処理に係わる印刷設定については、当該プログラムモジュールに応じた印刷設定にプリンタドライバ３５００が切り替えることができる。一方、そのアプリケーション以外の印刷処理に係わる印刷設定については、プリンタドライバ３５００が印刷設定の切り替えをしないこととすることができる。
以上、本実施形態の技術の概要の一例を説明した。
【００２２】
〔ツールＡ（ランチャ）のＵＩ〕
続いて、ツールＡ３１００のＵＩの一例を説明する。ユーザ（例えばプリンタメーカの作業員）は、このＵＩを利用して、ツールＡ３１００の設定項目を入力する。
図５は、ツールＡ３１００のＵＩの一例を示す図である。尚、ショートカット３１５０から図５に示すＵＩを開かずにツールＡ３１００を実行することができる。図５に示すＵＩ５０１は、ツールＡ（ランチャ）３１００を単独起動した場合に表示される。
ＵＩ５０１には、ツールＡ３１００の適用対象（ターゲット）を設定する［適用対象］グループボックス５０２が含まれる。また、ＵＩ５０１には、プリンタドライバ３５００における動作を設定する［動作設定］グループボックス５０８が含まれている。［簡易/拡張］表示切り替えボタン５０７により、拡張表示が選択されると、［動作設定］グループボックス５０８に対する入力を行えるようになっている。一方、［簡易/拡張］表示切り替えボタン５０７により、簡易表示が選択されると、［動作設定］グループボックス５０８に対する入力を行えないようになっている。図５に示す例では、［簡易/拡張］表示切り替えボタン５０７により、拡張表示が選択されている。
【００２３】
［適用対象］グループボックス５０２について説明する。ツールＡ３１００の適用対象は、［ターゲット］エディットボックス５０３或いは［参照．．．］ボタン５０４の操作により指定される。［パラメータ］エディットボックス５０５には、入力パラメータ（引数）が記述される。この［パラメータ］エディットボックス５０５には、［動作設定］グループボックス５０８に入力される設定もコマンド記述することもできる。［簡易/拡張］表示切り替えボタン５０７により、簡易表示が選択されている場合には、このようなコマンド記述を行うことになる。［実行］ボタン５０６が操作されると、［適用対象］グループボックス５０２に対する入力が有効となる。
【００２４】
次に、［動作設定］グループボックス５０８について説明する。［フォルダ］エディットボックス５０９には、作業フォルダが入力される。作業フォルダには、プリンタドライバ３５００の印刷設定データ等が保存される。［適用する設定］リストボックス５１０には、設定データの一覧が表示される。［簡易/拡張］表示切り替えボタン５０７により拡張表示が選択されている状態で［実行］ボタン５０６が操作されると、次のような処理が行われる。すなわち、ツールＡ３１００の実行時に、［動作設定］グループボックス５０８に入力された内容が、［パラメータ］エディットボックス５０５に記述された入力パラメータへ付与される。［設定の作成を許可する］チェックボックス５１１、［作成．．．］ボタン５１２、及び［プリンタを切り替える］チェックボックス５１３については、別途後述する。
以上、ツールＡ３１００のＵＩの一例を説明した。
【００２５】
〔ツールＡ（ランチャ）への入出力処理〕
続いて、ツールＡ３１００がショートカット３１５０より実行されるときのツールＡ３１００への入出力処理の概要の一例を説明する。
図６は、ツールＡ３１００への入出力処理の概要の一例を説明する図である。具体的に図６（ａ）は、ツールＡ３１００のショートカット３１５０とそのプロパティ６０１の一例を示す図である。また、図６（ｂ）は、ツールＡ３１００への入出力処理の流れの一例を概念的に示す図である。
図６（ａ）において、ツールＡ（ランチャ）３１００の実行とその引数がボックス６０２に、作業フォルダがボックス６０３に夫々設定されている。
図６（ｂ）において、ショートカット３１５０の実行により、ボックス６０２、６０３に設定されているパラメータがツールＡ３１００に入力される（ステップＳ６０６）。ツールＡ３１００は、ボックス６０２、６０３に設定されているパラメータを解釈し、解釈した結果に基づいてワークデータ６０７をＲＡＭ２に作成する（ステップＳ６０８）。ツールＡ（ランチャ）３１００は、ワークデータ６０７に基づき、カスタムデフォルト（２）３８００との紐付け、ターゲットの一例であるアプリケーション３３００の実行、プリンタ３５００の制御等に関わる情報を出力する（ステップＳ６０８）。
以上、ツールＡ３１００への入出力処理の一例を説明した。
【００２６】
〔印刷システムの基本動作〕
これまでの説明を踏まえ、本実施形態の印刷システムの基本動作の一例を改めて説明する。
図７は、本実施形態の印刷システムの基本動作の流れの一例を説明する図である。
ユーザ５０００は、ショートカット３１５０をダブルクリックする（ステップＳ７１１）。そうすると、ショートカット３１５０から、ツールＡ３１００の実行にあわせ、適用対象や動作設定（印刷設定）の入力パラメータがツールＡ３１００に渡される（ステップ７１２）。ツールＡ３１００は、入力パラメータに基づいて、使用する印刷設定データとしてカスタムデフォルト（２）３８００を自身に紐付ける（ステップＳ７１３）。そして、ツールＡ３１００は、入力パラメータで指定されたアプリケーション３３００を実行する（ステップＳ７１４）。
【００２７】
アプリケーション３３００が印刷関連の処理を始めると、プリンタドライバ３５００のロードと、印刷設定データの初期化・設定とが始まる（ステップＳ７１５）。ここでプリンタドライバ３５００は、プロセスを識別してツールＡ（ランチャ）３１００の関与を特定する（ステップＳ７１６）。そして、プリンタドライバ３５００は、ツールＡ３１００に紐付けられたカスタムデフォルト（２）３８００を印刷設定データとして適用する。
ステップＳ７１３、Ｓ７１６、Ｓ７１７に＊マークで記載した処理を補足説明する。ステップＳ７１３、Ｓ７１７で参照されるカスタムデフォルト（２）データ３８００は、セキュリティの面から署名で保護されていることが望ましい。ステップＳ７１６における認証は、ツールＡ３１００の偽装対策として行っている。これらの署名及び認証の方法は、セキュリティレベルに応じて適宜選択することができる。これらの署名及び認証自体は公知の方法で実現できるので、以降の説明では＊マークのセキュリティ対策の詳細な説明については省略する。
以上、本実施形態の印刷システムの基本動作の流れの一例を説明した。
【００２８】
〔ツールＡ（ランチャ）の関与の識別方法〕
続いて、プリンタドライバ３５００が、実行する印刷にツールＡ３１００が関与しているか否かを識別する方法の一例について説明する。
図８は、ツールＡ３１００の印刷への関与を識別する方法の一例を説明する図である。具体的に図８（ａ）は、Windows（登録商標） ＯＳにおける代表的なプロセスツリー８０１（プロセス階層）の一例を示す図である。図８（ｂ）は、図８（ａ）のプロセスツリー８０１の、ツールＡ３１００、アプリケーション３３００、プリンタドライバ３５００の部分を示した図である。
ＯＳのマネージャやサービスの管理下でユーザプロセスが生成され、図８（ａ）に示すように、アプリケーション３３００はその下で動作する。ツールＡ３１００と、アプリケーション３３００と、プリンタドライバ３５００とが図８（ｂ）に示すような関係であると仮定する。プリンタドライバ３５００は、プロセスツリーをＲＡＭ２に作成し、プロセスツリー上のツールＡ３１００を特定し、ツールＡ３１００が印刷に関与していると判定する。一方、プリンタドライバ３５００は、作成したプロセスツリーからツールＡ３１００が特定されなければ、ツールＡ３１００は印刷に関与していないと判定する。
【００２９】
このようなプリンタドライバ３５００の処理の一例をWindows（登録商標） APIを使用して箇条書きすると次のようになる。
（１）プリンタドライバ３５００は自身のプロセスＩＤを特定する（GetCurrentProcessId()）。
（２）プリンタドライバ３５００はシステムプロセスの一覧を作成する（EnumProcesses()）。
（３）プリンタドライバ３５００は自身のプロセスＩＤと同じＩＤのプロセスのオープンし（OpenProcess()）、モジュール名称及びベース名称を取得する（EnumProcessModules()、GetModuleBaseName()）。
（４）プリンタドライバ３５００は、自身が認識しているツールＡ３１００のモジュール名称及びベース名称と一致するものが取得されれば、ツールＡ３１００は印刷に関与していると判定する。一方、自身が認識しているツールＡ３１００のモジュール名称及びベース名称と一致するものが取得されなければ、ツールＡ３１００は印刷に関与していないと判定する。
このように本実施形態では、プリンタドライバ３５００は少なくとも次の判定を行う。すなわち、プログラムの一例であるツールＡ３１００が起動されることにより発行される所定のプロセスＩＤが確認できた場合に、プリンタドライバ３５００の印刷設定の変更に係るプログラムモジュールが当該印刷処理に関与していると判定する。
【００３０】
尚、前記一致の判定の際には、ベース名称を優先する。ツールＡ３１００のモジュール名称が、用途別にリネームされていても、ツールの印刷への関与を正確に識別することができるからである。以上、ここでは、プリンタドライバ３５００が、プロセスツリー８０１を用いて、ツールＡ３１００の印刷への関与の有無を識別する場合を例に挙げて説明した。しかしながら、この識別は、プリンタドライバ３５００からでも、ツールＡ３１００からでも開始することができる。更に、ツールＡ３１００の印刷への関与の有無の識別として以下のような方法であってもよい。
（１）コマンドの引数にユニークなキーワードいれ、コマンドの引数に当該キーワードが含まれることを確認することにより、ツールＡ３１００が印刷に関与していると判定する。
（２）プリンタドライバ３５００から特定のメッセージを送出し、この特定のメッセージに対する応答を確認することにより、ツールＡ３１００が印刷に関与していると判定する。
（３）ツールＡ（ランチャ）がサービスを公開し、プリンタドライバ３５００がこのサービスへアクセスした結果に基づいて、ツールＡ３１００が印刷に関与していると判定する。
また、ツールＡ（ランチャ）３１００とプリンタドライバ３５００との間における、印刷に関与しているツールの識別手段は、双方で整合済みのこれら以外の方法とすることができる。また、複数の方法の１つを切り替える（選択する）ことも可能である。
以上、ツールＡ３１００の印刷への関与の識別方法の一例を説明した。
【００３１】
〔ツールＡ（ランチャ）のフローチャート〕
次に、ツールＡ３１００とプリンタドライバ３５００の基本動作の一例を、フローチャートを参照しながら説明する。尚、ここでは、前述したプロセスツリーを用いた方法で印刷に関与しているツールＡ３１００を識別する場合を例に挙げて説明する。
図９のフローチャートを参照しながら、ツールＡ（ランチャ）３１００の基本動作の一例を説明する。
ステップＳ９０１において、ツールＡ３１００は初期化を行う。
次に、ステップＳ９０２において、ツールＡ３１００は、入力パラメータを取得する。
次に、ステップＳ９０３において、ツールＡ３１００は、入力パラメータを解釈し、解釈した結果に基づいてワークデータ６０７を確保する。
【００３２】
次に、ステップＳ９１１において、ツールＡ３１００は、入力パラメータに基づいて指定されたデータファイルを確認する。具体的にツールＡ３１００は、データファイルの有無、署名、書式を確認する。
次に、ステップＳ９１２において、ツールＡ３１００は、入力パラメータに含まれる動作設定の指定（入力パラメータで指定された、プリンタドライバ３５００に適用する印刷設定）が正しいか否かを判定する。このステップＳ９１２の処理では、例えば、プリンタドライバ３５００に適用する印刷設定がツールＡ３１００に紐付けられているか否かを判定する。この判定の結果、動作設定の指定が正しくなければ（例えば、プリンタドライバ３５００に適用する印刷設定がツールＡ３１００に紐付けられていなければ）、ステップ９２０に進む。ステップＳ９２０に進むと、ツールＡ３１００は、エラーメッセージをＣＲＴ１０に表示する。その後、ツールＡ３１００は、ステップＳ９６０において終了処理を行い、ステップＳ９６１においてワークデータ６０７を解放し、図９のフローチャートによる処理を終了する。尚、図９に示す接続ポイントＡ、Ｃに追加できる処理については後述する。
【００３３】
一方、ステップＳ９１２において、動作設定の指定が正しければ、ステップＳ９１３へ進む。ステップＳ９１３に進むと、ツールＡ３１００は、デバイスに関する確認を必要に応じて行う。この確認は、プリンタ１５００がインストールされているか否か等である。そして、ステップＳ９３１に進む。尚、接続ポイントＢ、Ｄに追加できる処理については後述する。
ステップＳ９３１に進むと、ツールＡ３１００は、適用対象を起動する。
次に、ステップＳ９３２において、ツールＡ３１００は、適用対象が起動されたか否かを判定する。この判定の結果、適用対象が起動されなかった場合には、ステップＳ９２０に進む。そして、前述したようにツールＡ３１００は、エラーメッセージのＣＲＴ１０への表示等を行い、図９のフローチャートによる処理を終了する。一方、適用対象が起動できた場合には、ステップＳ９４１へ進む。
【００３４】
ステップＳ９４１に進むと、ツールＡ３１００は、自身のプロセスＩＤを取得する。
次に、ステップＳ９４２において、ツールＡ３１００は、プリンタドライバ３５００との間で認証を行う。
次に、ステップＳ９４３において、ツールＡ３１００は、認証に成功したか否かを判定する。この判定の結果、認証に失敗した場合には、前述したステップＳ９２０に進む。そして、前述したようにツールＡ３１００は、エラーメッセージのＣＲＴ１０への表示等を行い、図９のフローチャートによる処理を終了する。一方、認証に成功した場合にはステップＳ９５１へ進む。
ステップＳ９５１に進むと、ツールＡ３１００は、適用する印刷設定データをプリンタドライバ３５００へ出力（PUSH）する。尚、適用すべき印刷設定データをプリンタドライバ３５００が直接参照できる場合、このステップＳ９５１の処理は不要である。そして、前述したステップＳ９６０に進み、ツールＡ３１００は、終了処理等を行い、図９のフローチャートによる処理を終了する。
【００３５】
〔プリンタドライバのフローチャート〕
図１０のフローチャートを参照しながら、プリンタドライバ３５００の基本動作の一例を説明する。
まず、ステップＳ１０１１において、プリンタドライバ３５００は、自身のプロセスＩＤを取得する。
次に、ステップＳ１０１２において、プリンタドライバ３５００は、プロセスツリー８０１を作成する。
次に、ステップＳ１０１３において、プリンタドライバ３５００は、自身のプロセスＩＤと同じＩＤのプロセスのオープンし、自身が認識しているツールＡ３１００のモジュール名称及びベース名称と同じモジュール名称及びベース名称のものを確認する。
【００３６】
次に、ステップ１０２０において、プリンタドライバ３５００は、ステップＳ１０１３の確認の結果に基づいて、ツールＡ３１００が印刷に関与しているか否かを判定する。この判定の結果、ツールＡ３１００が印刷に関与していない場合にはステップＳ１０３０へ進む。一方、ツールＡ３１００が印刷に関与している場合にはステップＳ１０２１へ進む。
ステップＳ１０２１に進むと、プリンタドライバ３５００は、動的設定更新モードを選択する。
次に、ステップＳ１０３０において、プリンタドライバ３５００は、モードの判定を行う。この判定は、ステップＳ１０２１の結果、図４に示したカスタムデフォルト（１）３７００の有無等に基づいて行うことができる。
この判定の結果、モードが標準（通常）モードである場合にはステップＳ１０３１に進む。標準モードとは、例えば、工場出荷時のデフォルトの設定でプリンタドライバ３５００が動作するモードである。ステップＳ１０３１に進むと、プリンタドライバ３５００は、標準モードで印刷処理を実行する。そして、図１０のフローチャートによる処理を終了する。
【００３７】
また、ステップＳ１０３０の判定の結果、モードが静的設定更新モードである場合にはステップＳ１０３２に進む。静的設定更新モードとは、例えば、カスタムデフォルト（１）３７００に基づく設定でプリンタドライバ３５００が動作するモードである。ステップＳ１０３２に進むと、プリンタドライバ３５００は、静的設定更新モードで印刷処理を実行する。そして、図１０のフローチャートによる処理を終了する。
【００３８】
また、ステップＳ１０３０の判定の結果、モードが動的設定更新モードである場合にはステップＳ１０４１に進む。動的設定更新モードとは、例えば、カスタムデフォルト（２）３７００に基づく設定でプリンタドライバ３５００が動作するモードである。ステップＳ１０４１に進むと、プリンタドライバ３５００は、ツールＡとの間で認証を行う。
【００３９】
次に、ステップＳ１０４２において、プリンタドライバ３５００は、認証に成功したか否かを判定する。この判定の結果、認証に失敗した場合には、前述したステップ１０３０へ戻り、別のモードへ移行する。この場合、例えば、標準モードに移行するものとする（ステップＳ１０３１）。一方、認証に成功した場合には、ステップＳ１０５１へ進む。
ステップＳ１０５１に進むと、プリンタドライバ３５００は、適用する印刷設定データをツールＡ３１００から取得（PULL）する。適用すべき印刷設定データをプリンタドライバ３５００が直接参照できる場合、このステップＳ１０５１の処理（ツールＡ３１００からの設定データのPULL）をしなくてもよい。
次に、ステップＳ１０５２では、プリンタドライバ３５００は、印刷設定データを適用する。そして、図１０のフローチャートによる処理を終了する。
以上、ツールＡ（ランチャ）３１００とプリンタドライバ３５００の基本的な動作の一例を説明した。
【００４０】
〔動作結果（プリンタドライバのＵＩ）〕
続いて、印刷システムが動作したときの結果の一例を説明する。
図１１は、プリンタドライバ３５００のＵＩの一例を示す図である。具体的に図１１（ａ）は、図３に示した状態で表示されるプリンタドライバ３５００のＵＩの一例を示す図である。また、図１１（ｂ）は、図４に示した状態で表示されるプリンタドライバ３５００のＵＩの一例を示す図である。
図１１（ａ）において、プリンタドライバ３５００は、カスタムデフォルト（１）３７００を印刷設定データとして適用する。このカスタムデフォルト（１）３７００のカラー設定はモノクロである。したがって、アプリケーション３３００からプリンタドライバ３５００のＵＩ１１２０を開くと、［カラーモード］は［モノクロ］１１２１と設定される。
【００４１】
一方、図１１（ｂ）において、プリンタドライバ３５００は、ツールＡ３１００に紐付けられたカスタムデフォルト（２）３８００を印刷設定データとして適用する。このカスタムデフォルト（１）３８００のカラー設定はカラーである。したがって、アプリケーション３３００からプリンタドライバ３５００のＵＩ１１４０を開くと、［カラーモード］は［カラー］１１４１と設定される。
以上のように、同じアプリケーション３３００から同じプリンタドライバ３５００のＵＩを開いても、ツールＡ３１００が関与すればカラー印刷、関与しなければモノクロ印刷というようにプリンタドライバ３５００の印刷設定を動的に切り替えることができる。
以上、本実施形態の印刷システムが動作したときの結果の一例を説明した。
【００４２】
続いて、本実施形態の印刷システムにおけるメリットを説明する。
図１２は、印刷業務の形態（ユースケース）の一例を示す図である。具体的に図１２（ａ）は、通常の印刷業務（運用）の一例を示す図である。また、図１２（ｂ）は、通常の印刷業務とは異なる定型業務の一例を示す図である。
図１２（ａ）に示すように、印刷システムにはカラープリンタが導入されているが、通常は、当該カラープリンタでモノクロ印刷を行う運用をしている。
一方、図１２（ｂ）に示す定型業務では、顧客へ渡す３つのドキュメントを１セットにして印刷する。このドキュメント一式中に、印刷内容がカラーに適していて、顧客にもカラーで渡したいドキュメント１２２２がある。このカラーのドキュメント１２２２は、アプリケーション（２）１２２１で作成され印刷される。その他のドキュメント１２１２、１２３２は、モノクロのドキュメントである。ドキュメント１２１２、１２２２、１２３２の順で３つのドキュメントを一式とする定型業務を印刷設定の手間をかけることなく間違いなく実施したい。ここで、アプリケーション（２）１２２１には、カラードキュメントの印刷時にのみ利用されるという限定がないものとする。すなわち、アプリケーション（２）１２２１は、通常の運用時に使用されるアプリケーション、或いはアプリケーション（１）１２１１、アプリケーション（３）１２３１と同一のアプリケーションであってもよい。
【００４３】
図１３は、図１２（ａ）に示す運用と、図１２（ｂ）に示す運用とを概念的に示す図である。
図１２に示した２つの運用（ユースケース）の内容を纏めると次のとおりになる。
（１）内部的な通常の業務はモノクロ印刷にしたい。
（２）対外的な文書の一部はカラー印刷にしたい。
（３）アプリケーションとカラー印刷とを限定して関連づけることはできない。
（４）モノクロ→カラー→モノクロのようにドキュメント毎にプリンタの設定のための切り替え操作を不要にしたい
【００４４】
図１３において、プリンタドライバ３５００の通常の印刷設定１３１０では、全域がモノクロ印刷である。カラープリンタであっても通常の印刷設定１３１０ではモノクロで印刷する。この通常の印刷設定１３１０は、モノクロ印刷することが設定されたカスタムデフォルト（１）３７００を指す。
一方、ツールＡ３１００が関与したときのプリンタドライバ３５００の印刷設定１３２０では、通常の運用と定型業務の運用との２つのユースケースを両立させるようにする。対外的な文書の一部だけカラー印刷にしたく、他の文書はモノクロ印刷とする。ここまで説明した本実施形態の印刷システムを適用すれば、前述した（４）のような操作を行うことなく、特定のケースにてモノクロ印刷からカラー印刷への切り替えが可能となる。ツールＡ３１００が関与したときのプリンタドライバ３５００の印刷設定１３２０は、通常の業務では、モノクロ印刷することが設定されたカスタムデフォルト（１）３７００となる。これに対して、定型業務では、カラー印刷を行う特定の文書に対しては、カラー印刷することが設定されたカスタムデフォルト（２）３８００が印刷設定として適用される。
【００４５】
つまり、本実施形態では、ツールＡ３１００の適用対象であるアプリケーション３３００を起動すると、アプリケーション３３００が指定したプリンタ１５００に対応するプリンタドライバ３５００がロードされる。そして、プリンタドライバ３５００は、ツールＡ３１００が印刷に関与していると判定すると、ツールＡ３１００に紐付けられているカスタムデフォルト（２）３８００を印刷設定データの一部として適用する。このように本実施形態では、オンデマンドにプリンタドライバ３５００の印刷設定を差し替えて、印刷の実行時にプリンタドライバ３５００の設定を局所的にカスタマイズすることを実現するために、ツールＡ３１００と、プリンタドライバ３５００とを提供する。よって、同じアプリケーション３３００を実行しても、ツールＡ３１００が関与しない場合にはモノクロ印刷を行い、ツールＡ３１００が関与した場合にだけユーザの操作を要さずにカラー印刷を行うようにプリンタドライバ３５００の印刷設定を切り替えられる。
【００４６】
以下に、本実施形態の印刷システムのメリットを纏めて示す。
まず、印刷設定を動的にカスタマイズする方法を印刷工程側から提供する。したがって、（１）特定業務について印刷設定を切り替えられる。（２）通常の用途と特定の用途とを両立して運用することができる。（３）ユーザによる操作を低減することができる。（４）動作の一貫性を保つことができる。
具体例として、通常はモノクロ印刷、ユーザに渡す文書はカラー印刷という要件をみたすことができる。また、局所的にかつ動的にプリンタドライバ３５００の印刷設定を制御でき、かつ、当該印刷設定と、広範囲な静的な印刷設定とを併用できる。また、ツールＡ３１００の関与でプリンタドライバ３５００の印刷設定を動的にカスタマイズすることができるので、特定用途の印刷時のユーザの操作数を少なくすることができる。また、プリンタドライバ３５００の印刷設定の静的なカスタマイズの方法との親和性が高く、静的なカスタマイズと動的なカスタマイズの仕様及び動作を統一させることができる。
【００４７】
また、プリンタドライバ３５００の印刷設定を柔軟にカスタマイズ（切り替える）ことができる。例えば、カラー以外の設定も制御もできる。例えば、通常の文書はコストを削減するために両面印刷とし、顧客に提出する特定の文書は片面印刷とすることもできる。また、例えば、カラー／モノクロ印刷の切り替えと、片面／両面印刷の切り替えとの双方を同時に実行することもできる。すなわち、通常の文書はモノクロで両面印刷とし、顧客に提出する特定の文書はカラーで片面印刷とすることもできる。
また、低コスト、かつ短期間でソリューションを提供することができる。具体的にアプリケーションを改変せずに、プリンタドライバ３５００の印刷設定を制御するので短期間でプリンタドライバ３５００の印刷設定の一部だけを動的にカスタマイズすることができる。
【００４８】
〔印刷システムの基本動作の変形例（適用対象の変形例）〕
続いて、本実施形態の印刷システムの動作の流れの変形例を２つ説明する。以上の説明では、アプリケーション３３００を適用対象（ターゲット）としたが、適用対象は、ドキュメント（文書）やショートカット等でもよい。ターゲットを指定する入力パラメータとして、アプリケーションとドキュメントとのペアを設定してよいが、このようにする場合には、当該入力パラメータをペアで設定しないこととなる。尚、ツールＡ３１００は単体で設置されてもよいし、プリンタドライバ３５００のセットに含まれてもよい。
ツールＡ３１００のショートカット３１５０をデスクトップに配置し、ユーザ５０００がそのショートカット３１５０を実行すれば、ツールＡ３１００に紐付けられた設定がプリンタドライバ３５００に適用される。業務システムは、サーバに配置した「適用する設定に紐付けられたショートカット」を作成して実行することでプリンタドライバ３５００の印刷設定を切り替えることもできる。また、業務システムは、ツールＡ３１００へ入力パラメータを直接与えて実行することもできる。
【００４９】
図１４は、適用対象をドキュメントとした場合の印刷システムの基本動作の流れの一例を説明する図である。
ユーザ５０００がショートカット３１５０をダブルクリックすると、ショートカット３１５０からツールＡ３１００へ、適用対象をドキュメント３３５０とした入力パラメータが渡される（ステップＳ１４１１）。ツールＡ３１００は、入力パラメータで指定されたドキュメント３３５０を適用対象として実行する（ステップＳ１４１２）。このドキュメント３３５０に対応付けられたアプリケーション３３００が起動する（ステップＳ１４１３）。その他は、これまでに説明した動作と同様であるので、その詳細な説明を省略する（図７を参照）。
【００５０】
図１５は、適用対象をショートカットとした場合の印刷システムの基本動作の流れの一例を説明する図である。
ユーザ５０００がショートカット３１５０をダブルクリックすると、ショートカット３１５０からツールＡ３１００へ、適用対象をショートカット１５２０とした入力パラメータが渡される（ステップＳ１５１１）。ツールＡ３１００は、入力パラメータで指定されたショートカット１５２０を適用対象として実行する（ステップ１５１２）。このショートカット１５２０は、アプリケーション３３００とドキュメント３３５０のショートカットである。ショートカット１５２０は、外部メモリ１１に記憶されたデータファイルである。ショートカット１５２０は、ＯＳやデータを利用するモジュールによってＲＡＭ２にロードされる。ショートカット１５２０を実行すると、アプリケーション３３００とドキュメント３３５０が起動する（ステップＳ１５１３）。その他は、これまでに説明した動作と同様であるので、その詳細な説明を省略する（図７を参照）。
以上、本実施形態の印刷システムの動作の流れの変形例を２つ説明した。ここまで、本実施形態の印刷システムの基本部分を説明した。
【００５１】
〔プリンタドライバの印刷設定の作成〕
続いて、本実施形態の印刷システムにおいて、プリンタドライバ３５００の印刷設定を作成する動作の一例について説明する。
図１６は、プリンタドライバ３５００の印刷設定を作成する動作の一例を説明する図である。図５に示した［設定の作成を許可する］チェックボックス５１１がＯＮに設定され、［作成．．．］ボタン５１２の操作が可能な状態となることにより、プリンタドライバ３５００の印刷設定を作成することが可能になる。更に、本実施形態の印刷システムでは、［適用対象］グループボックス５０２で指定された設定が存在しなければ、印刷実行時に印刷設定を作成し適用する。
ツールＡ３１００は、印刷設定データに紐付けられる。本実施形態の印刷システムでは、入力パラメータにより指定された印刷設定が、ツールＡ３１００に紐付けられていれば、その印刷設定（図１６に示す例では、カスタムデフォルト（２）３８００）を適用する。一方、入力パラメータにより、適用する印刷設定としてカスタムデフォルト３８７０が指定されたが、そのカスタムデフォルト３８７０がデータとして存在しなかったとする。その際、ツールＡ３１００は、メッセージボックス１６２０を表示してユーザへプリンタドライバ３５００の印刷設定を作成するか否かを確認する。このメッセージボックス１６２０に対して、ユーザが［はい］ボタン１６２１を選択すれば、ツールＡ３１００は、［作成．．．]ボタン５１２を押下したときと同じ設定作成ダイアログを表示する。ユーザはこの設定作成ダイアログを操作して、印刷設定（カスタムデフォルト３８７０）を作成する。カスタムデフォルト３８７０は、外部メモリ１１に記憶されたデータファイルである。作成されたカスタムデフォルト３８７０は印刷設定として適用される（ステップＳ１６１５）。
以上、プリンタドライバの印刷設定の作成方法の一例を説明した。
【００５２】
〔設定作成ダイアログ〕
続いて、印刷設定の作成時に表示されるＵＩの一例を説明する。
図１７は、設定作成ダイアログ（図１７（ａ））とプリンタドライバのＵＩ（図１７（ｂ））の一例を示す図である。プリンタドライバ３５００に適用する印刷設定が存在しなかった場合（図１６に示したメッセージボックス１６２０の［はい］ボタン１６２１を押下した場合）、ユーザは、ツールＡ３１００及びプリンタドライバ３５００のＵＩを操作して印刷設定を作成する。
図１７において、設定作成ダイアログ１７１０は、ツールＡ３１００によって表示される。設定作成ダイアログ１７１０には、設定グループボックス１７２０と情報グループボックス１７３０とが表示される。設定グループボックス１７２０では、作成する設定データ（DEVMODE）のカテゴリ範囲の設定をする。そして、ユーザが［設定．．．]ボタン１７２５を押下すると、プリンタドライバ３５００のＵＩ１７２６が開く。ユーザは、このプリンタドライバのＵＩ１７２６に対して操作を行って設定を作成する。情報グループボックス１７３０では、印刷設定データに付与する各種情報を設定できる。ユーザは、設定作成ダイアログ１７１０の操作が終わったら［保存］ボタン１７４０を押下する。そうすると、作成された印刷設定が外部メモリ１１等に保存される。
以上、印刷設定の作成時に表示されるＵＩの一例を説明した。
【００５３】
〔プリンタドライバの印刷設定を作成する際のツールＡ（ランチャ）のフローチャート〕
図１８のフローチャートを参照しながら、プリンタドライバの印刷設定を作成する際のツールＡ３１００の動作の一例を説明する。このフローチャートは、図９のフローチャートの接続ポイントＡ−Ｂ間に追加されるものである。
ステップＳ１８０１において、ツールＡ３１００は、図５に示したＵＩ５０１の［設定の作成を許可する］チェックボックス５１１がチェックされているか否かを判定する。すなわち、ツールＡ３１００は、プリンタドライバ３５００の印刷設定の作成が許可されているか否かを判定する。この判定の結果、プリンタドライバ３５００の印刷設定の作成が許可されていなければ、接続ポイントＣを通った後、ステップＳ９２０に進む。一方、プリンタドライバ３５００の印刷設定の作成が許可されていれば、ステップＳ１８１０に進む。
【００５４】
ステップＳ１８１１に進むと、ツールＡ３１００は、プリンタドライバ３５００の印刷設定を作成するか否かをユーザへ問い合わせるために、図１６に示したメッセージボックス１６２０を表示する
そして、ステップ１８１２において、ツールＡ３１００は、メッセージボックス１６２０の［はい］ボタン１６２１をユーザが選択したか否かを判定する。この判定の結果、［はい］ボタン１６２１が選択されていない場合には、接続ポイントＣを通った後、ステップＳ９２０に進む。一方、［はい］ボタン１６２１が選択された場合には、ステップＳ１８２０へ進む。
ステップＳ１８２０に進むと、ツールＡ３１００は、図１７（ａ）に示した設定作成ダイアログ１７１０を表示する。
次に、ステップ１８３１において、ツールＡ３１００は、設定作成ダイアログ１７１０及びプリンタドライバのＵＩ１７２６に対するユーザの操作を受け付ける。
次に、ステップ１８３２において、ツールＡ３１００は、設定作成ダイアログ１７１０の［保存］ボタン１７４０がユーザによって押下されたか否かを判定する。この判定の結果、［保存］ボタン１７４０が押下されていない場合には、ステップＳ１８３１に戻る。一方、［保存］ボタン１７４０がユーザによって押下された場合には、ステップＳ１８４１に進む。
ステップＳ１８４１に進むと、ツールＡ３１００は、設定作成ダイアログ１７１０及びプリンタドライバのＵＩ１７２６に対するユーザによる操作の内容に基づいて、プリンタドライバ３５００の印刷設定を保存する。
次に、ステップＳ１８４２において、ツールＡ３１００は、保存した印刷設定をプリンタドライバ３５００の印刷設定として選択する。そして、図９に示した接続ポイントＢを通ってステップＳ９１３に進む。
以上、ツールＡ３１００がプリンタドライバ３５００の印刷設定を作成する処理の一例を説明した。尚、この処理は必ずしも行う必要はない。
【００５５】
〔ツールＡ（ランチャ）によるプリンタの切り替え〕
本実施形態の印刷システムでは、入力パラメータに含まれる動作設定（プリンタドライバ３５００の印刷設定）がプリンタ１５００に依存している場合、印刷設定データの対象機種に合わせてプリンタ１５００を切り替えるようにしている。図１９のフローチャートを参照しながら、入力パラメータに含まれる動作設定がプリンタ１５００に依存するか否かを考慮して処理を行う場合のツールＡ３１００の動作の一例を説明する。このフローチャートは、図９の接続ポイントＤを通った際に行われるものである。
ステップＳ１９１１において、ツールＡ３１００は、入力パラメータに含まれる動作設定がプリンタに依存するか否かを判定する。この判定の結果、入力パラメータに含まれる動作設定がプリンタ１５００に依存しない場合には、図９のステップＳ９３１に進む。一方、入力パラメータに含まれる動作設定がプリンタに依存する場合には、ステップＳ１９２０に進む。
ステップＳ１９２０に進むと、ツールＡ３１００はプリンタ１５００の状態を確認する。
次に、ステップＳ１９２１において、ツールＡ３１００は、入力パラメータに含まれる動作設定が依存するプリンタ１５００と、インストールされているプリンタ１５００とを参照する。
【００５６】
次に、ステップＳ１９２２において、ツールＡ３１００は、入力パラメータに含まれる動作設定が依存するプリンタ１５００が、印刷の実行を行うものとして設定されているプリンタ１５００と一致しているか否かを判定する。この判定の結果、入力パラメータに含まれる動作設定が依存するプリンタ１５００が、印刷の実行を行うものとして設定されているプリンタ１５００と一致している場合には、図９のステップＳ９３１に進む。一方、入力パラメータに含まれる動作設定が依存するプリンタ１５００が、印刷の実行を行うものとして設定されているプリンタ１５００と一致していない場合には、ステップＳ１９３１に進む。
ステップＳ１９３１に進むと、ツールＡ３１００は、入力パラメータに含まれる動作設定が依存するプリンタ１５００がインストールされているか否かを判定する。この判定の結果、入力パラメータに含まれる動作設定が依存するプリンタ１５００がインストールされていない場合には、ステップＳ１９３２へ進む。一方、入力パラメータに含まれる動作設定が依存するプリンタ１５００がインストールされている場合には、ステップＳ１９３４へ進む。
ステップＳ１９３２に進むと、ツールＡ３１００は、インストールすべきプリンタ１５００を特定する情報と、当該プリンタ１５００のインストールを促すための情報とを含むメッセージを表示する。そして、図９のステップＳ９２０に進む。尚、図９のステップＳ９２０に進まずにステップＳ９６０に進んでもよい。
【００５７】
一方、ステップＳ１９３４に進むと、ツールＡ３１００は、図５に示したＵＩ５０１の［プリンタを切り替える］チェックボックス５１３がチェックされているか否かを判定する。すなわち、ツールＡ３１００は、プリンタ１５００の切り替えが許可されているか否かを判定する。この判定の結果、プリンタ１５００の切り替えが許可されていない場合には、ステップＳ１９３５に進む。一方、プリンタ１５００の切り替えが許可されている場合には、ステップＳ１９３６に進む。
ステップＳ１９３５に進むと、ツールＡ３１００は、切り替えるべきプリンタ１５００を特定する情報と、当該プリンタを切り替えることを促すための情報とを含むメッセージを表示する。
一方、ステップＳ１９３６に進むと、ツールＡ３１００は、入力パラメータに含まれる動作設定が依存するプリンタ１５００に、印刷の実行を行うプリンタ１５００を切り替える。そして、図９のステップＳ９３１に進む。
以上、プリンタを切り替える処理の一例を説明した。尚、この処理は必ずしも行う必要はない。
【００５８】
〔本実施形態の印刷システムの補足説明〕
図２０は、プリンタドライバ３５００の印刷設定と動作モードとの関係の一例を示す図である。
図２０において、パッケージ２０２０は、外部メモリ１１に記憶されたプリンタドライバ３５００のインストールパッケージである。ファクトリデフォルト（０）３６００、カスタムデフォルト（１）３７００、及びカスタムデフォルト（２）３８００は、外部メモリ１１に記憶された印刷設定データ（データファイル）である。これらはＯＳやデータを利用するモジュールによってＲＡＭ２にロードされる。
プリンタドライバ３５００は、本来の初期値つまりファクトリデフォルト（０）３６００を印刷設定データとして持っている。ファクトリデフォルト（０）３６００とは、工場出荷値のことである。その後、プリンタドライバ３５００をインストールするとき（パッケージ２０２０を作成するとき）にプリンタドライバ３５００の印刷設定をカスタマイズし、その印刷設定データとしてカスタムデフォルト（１）３７００とすることができる。更にプリンタドライバ３５００の実行時にプリンタドライバ３５００をカスタマイズし、その印刷設定をカスタムデフォルト（２）３８００とすることできる。このプリンタドライバ３５００の実行時のプリンタドライバ３５００のカスタマイズに、ツールＡ３１００が関与して適応されるのが本実施形態の印刷システムの特徴の一つである。
【００５９】
ファクトリデフォルト（０）３６００、カスタムデフォルト（１）３７００、カスタムデフォルト（２）３８００を３層として扱うのが図１０で説明したプリンタドライバ３５００のモードである。標準モード１０３１では、ファクトリデフォルト（０）３６００が印刷設定の起点となる。静的設定更新モード１０３２では、カスタムデフォルト（１）３７００をプリンタドライバ３５００の印刷設定（の一部）として適用する。動的設定更新モード１０３３は、カスタムデフォルト（２）３８００をプリンタドライバ３５００の印刷設定（の一部）として適用する。前述した通り、カスタムデフォルト（２）３８００は、１つであっても複数であってもよい。
【００６０】
このように本実施形態では、プリンタドライバ３５００は、３種のモードで動作する。印刷設定をカスタマイズするという運用面からみると各モードへの遷移は次のように捉えられる。
（１）標準モード１０３１は、初期状態。
（２）静的設定更新モード１０３２は、標準モード１０３１からのカスタマイズ。
（３）動的設定更新モード１０３３は、標準モード１０３１あるいは静的設定更新モード１０３２からのカスタマイズ。
ここで図４や図７を用いて説明した例では、ツールＡ３１００の関与によりカスタムデフォルト（２）３８００が適用される前の印刷設定データはカスタムデフォルト（１）３７００であるとした。しかしながら、カスタムデフォルト（２）３８００が適用される前の印刷設定データは、（３）に示したように、カスタムデフォルト（１）ではなく、ファクトリデフォルト（０）３６００であってもよい。
プリンタドライバ３５００は、時系列にならんだ３つのモード動作に合わせた印刷設定を区別して管理できる。ここで、動作としてはモードで分類したが、印刷設定のデータ形式は全モードで共通形式にしてよい。データ形式を共通にすれば、前述した印刷設定の作成方法を統一して利用できる。
以上、本実施形態の印刷システムにおけるプリンタドライバ３５００の設定と動作モードとの関係について説明した。
【００６１】
〔プリンタドライバ３５００の印刷設定の無効化〕
図２１は、プリンタドライバ３５００の印刷設定を無効化する場合の動作の一例を説明する図である。具体的に図２１（ａ）は、カスタムデフォルト（２）が無効となった場合に、ファクトリデフォルト（０）に印刷設定が移行する様子を示している。また、図２１（ｂ）は、図２１（ａ）に示す運用を概念的に示す図である。
本実施形態では、動的設定更新モード１０３３で使われるカスタムデフォルト（２）３８００に対して無効２１０１を指定できるようにする。プリンタドライバ３５００は、カスタムデフォルト（２）３８００の無効２１０１が指定されたと判定すると、ファクトリデフォルト（０）３６００から印刷設定データを適用する動作を行う（符号２１１０を参照）。カスタムデフォルト（２）３８００の無効２１０１は、カスタムデフォルト（２）３８００の全体或いは個々に対して指定することができる。プリンタドライバ３５００は、動作面では動的設定更新モード１０３３だが、印刷設定面ではファクトリデフォルト（０）３６００を適用している状態となる。
【００６２】
以上のようにしてプリンタドライバ３５００が、カスタムデフォルト（２）３８００の無効２１０１が指定されたか否かを判定することは、例えば、次のタイミングで行うことができる。すなわち、図１０のステップＳ１０３０でモードが動的設定更新モードであると判定されてから、ステップＳ１０５１で印刷設定データを取得するまでの間に行うことができる。そして、カスタムデフォルト（２）３８００の無効２１０１が指定されていない場合、プリンタドライバ３５００は、前述したようにステップＳ１０５１において、カスタムデフォルト（２）３８００を取得する。一方、カスタムデフォルト（２）３８００の無効２１０１が指定されている場合、ステップＳ１０５１において、プリンタドライバ３５００は、ファクトリデフォルト（０）３６００を取得する。
尚、ここでは、カスタムデフォルト（２）３８００が無効となった場合に、ファクトリデフォルト（０）に印刷設定が移行する場合を例に挙げて説明したが、必ずしもこのようにする必要はない。例えば、カスタムデフォルト（１）３７００に印刷設定が移行するようにしてもよい。
【００６３】
この印刷設定の無効化の効果を説明する。図２１（ｂ）の印刷設定２１２０のように静的設定更新モード１０３２でモノクロ印刷を運用している環境に対して、動的設定更新モード１０３３でカスタムデフォルト（２）３８００を無効にする設定を適用する。その結果、印刷設定２１２１のように、局所的にファクトリデフォルト（０）３６００がプリンタドライバ３５００に適用された状態となる。このように、特定のケースにて通常モードへの切り替えをユーザによる操作を行うことなく実現することができる。以上のような無効化の指定により、モノクロ印刷の運用を一部除外するユースケースへ対応することができる。
以上、本実施形態の印刷システムにおける、印刷設定の無効化の動作例を説明した。尚、この処理は必ずしも行う必要はない。
以上の説明を行ってきた印刷設定の適用における管理や制御は、印刷設定を情報として記録し配信する処理に適用できる。印刷設定をツールに埋め込む、設定をログにする、印刷設定を他所へ転送する等、構成の配置や形式を変更してもよい。
【００６４】
（本発明の他の実施形態）
前述した本発明の実施形態における印刷制御装置を構成する各手段、並びに印刷制御方法の各ステップは、コンピュータのＲＡＭやＲＯＭなどに記憶されたプログラムが動作することによって実現できる。このプログラム及び前記プログラムを記録したコンピュータ読み取り可能な記録媒体は本発明に含まれる。
【００６５】
また、本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、一つの機器からなる装置に適用してもよい。
【００６６】
尚、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム（実施形態では図９、図１０、図１８、図１９に示すフローチャートに対応したプログラム）を、システムあるいは装置に供給するものを含む。そして、そのシステムあるいは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。
【００６７】
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体、及びそのプログラムが記憶された記憶媒体も含まれる。
【００６８】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
【００６９】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
【００７０】
尚、前述した各実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【図１】
2010237803.tif 000003
【図２】
2010237803.tif 000004
【図３】
2010237803.tif 000005
【図４】
2010237803.tif 000006
【図５】
2010237803.tif 000007
【図６】
2010237803.tif 000008
【図７】
2010237803.tif 000009
【図８】
2010237803.tif 000010
【図９】
2010237803.tif 000011
【図１０】
2010237803.tif 000012
【図１１】
2010237803.tif 000013
【図１２】
2010237803.tif 000014
【図１３】
2010237803.tif 000015
【図１４】
2010237803.tif 000016
【図１５】
2010237803.tif 000017
【図１６】
2010237803.tif 000018
【図１７】
2010237803.tif 000019
【図１８】
2010237803.tif 000020
【図１９】
2010237803.tif 000021
【図２０】
2010237803.tif 000022
【図２１】
2010237803.tif 000023