(57)【要約】【課題】  複数のプリンタドライバに対して横断的な印刷設定をOSが保持するシステムにおいて、プリセットが設定されている状態で、ユーザが印刷設定を変更した後に、プリンタドライバを切り替えた場合に、印刷設定に関するユーザの意図を反映した印刷設定の引き継ぎを実現することを課題とする。【解決手段】  変更前と変更後のプリンタドライバにおける、共通の印刷設定項目に関して、現在の設定値と変更前のプリンタドライバのデフォルト値を比較する。比較の結果、値が異なる印刷設定項目に関しては、変更前のプリンタドライバの設定値を引き継ぎ、それ以外の印刷設定項目に関しては、変更後のプリンタドライバのデフォルトの設定値で上書きをする。さらに、プリセットが標準以外に設定されている場合、引き継ぎをしなかった印刷設定項目に関して、プリセットの設定値で上書きをする。【選択図】図１３
2013218472.tif 000002
【特許請求の範囲】
【請求項１】
クライアントコンピュータおよびデジタル複写機が通信媒体で接続された印刷システム(図1)において、前記クライアントコンピュータには、前記デジタル複写機で印刷するためのプリンタドライバ(図3)がインストールされており、前記プリンタドライバにより登録されたプリントキューの印刷設定はオペレーティングシステム(602)が保持し、その設定値を前記プリンタドライバ(図3)と授受するシステムにおいて、
前記プリンタドライバ(図3)は、
プリントキューの切り替えに伴い、変更後のプリントキューの印刷設定の設定項目を取得する手段(S1304)と、
変更前のプリントキューの印刷設定と、前記変更後のプリントキューの印刷設定において、共通の印刷設定項目が存在するか判定する手段(S1305)と、
前記共通の設定項目に関して、前記変更前のプリントキューのデフォルトの設定値を取得する手段(S1306)と、
前記変更前のプリントキューのデフォルトの設定値と、現在の設定値が一致するか判定する手段(S1307)と、
前記不一致項目に関して、変更前のプリントキューの印刷設定を引き継ぐ手段(S1308)と、
前記印刷設定項目を変更後のプリントキューのデフォルトの設定値で上書きする手段(S1308およびS1309)と、
現在のプリセットの情報を取得する手段(S1310)と、
前記現在のプリセットが、特定の印刷設定を保持するプリセットであるか否かを判定する手段(S1311)と、
前記現在のプリセットの印刷設定項目を取得する手段(S1312)と、
変更後のプリントキューと、前記現在のプリセットの印刷設定項目において、共通の印刷設定項目が存在するか判定する手段(S1313)と、
前記共通の印刷設定項目に関して、現在の設定値を、
前記変更前のプリントキューのデフォルトの設定値を取得し(S1401)、
前記変更前のプリントキューのデフォルトの設定値と、現在の設定値が一致するか判定し(S1402)、
前記不一致項目に関して、変更前のプリントキューの印刷設定を引き継ぎ、前記印刷設定項目を現在のプリセットの設定値で上書きする(S1403およびS1404)、
という手順により更新する手段(S1314)と、
を備えることを特徴とするプリンタドライバ(図3)の設定値の引き継ぎ方法。
【請求項２】
前記プリンタドライバは、前記変更後のプリントキューのデフォルトの設定値で、前記現在の設定値を上書きするか判定する手段(S1803)を備えることを特徴とする請求項１に記載のプリンタドライバの設定値の引き継ぎ方法。
【請求項３】
前記プリンタドライバは、設定値の引き継ぎにおいて、前記現在のプリセットで、前記現在の設定値を上書きするか判定する手段(S1805)を備えることを特徴とする請求項1に記載のプリンタドライバの設定値の引き継ぎ方法。
【請求項４】
前記プリンタドライバは、設定値の引き継ぎにおいて、請求項1に記載の引き継ぎ手段を用いるか判定する手段(S1802)を備えることを特徴とする請求項1に記載のプリンタドライバの設定値の引き継ぎ方法。
【請求項５】
前記プリンタドライバは、設定値の引き継ぎにおいて、請求項1に記載の引き継ぎ手段を用いた結果、印刷設定に変更があるか判定する手段(S1907)と、変更があった場合に、変更された印刷設定をユーザに通知する手段(S1908)と、を備えることを特徴とする請求項1に記載のプリンタドライバの設定値の引き継ぎ方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンタドライバの設定値の引き継ぎ方法に関する。
【背景技術】
【０００２】
従来、クライアントコンピュータに複数のプリンタドライバがインストールされている環境において、ユーザがプリンタドライバを切り替えた際の印刷設定の扱いに関して、いくつかの方法が提案されている。
【０００３】
複数のプリンタドライバがインストールされているクライアントコンピュータ上でプリンタドライバを切り替えた場合、その印刷設定に関する動作はオペレーティングシステム(OS)の仕様に依存する。そのため、その印刷設定に関する動作にはいくつかの種類が存在する。
【０００４】
あるOSの仕様として、プリンタドライバはそれぞれ独立した存在として動作するものがある。その場合、ユーザがプリンタドライバを切り替えた場合、変更前のプリンタドライバの印刷設定と変更後の印刷設定は独立している。そのため、変更前のプリンタドライバの印刷設定が変更後のそれに引き継がれることはない。このような動作を行うOSにおいて、プリンタドライバ切り替えの際に印刷設定を引き継ぐ方法が特許文献１で提案されている。この発明では、まずプリンタドライバを切り替えた際に、変更前のプリンタドライバと変更後のプリンタドライバとが同種かどうか判定する。そして同種と判断された場合に、変更前のプリンタドライバの印刷設定を変更後のそれにそのまま引き渡すというものである。
【０００５】
別のOSの仕様として、複数のプリンタドライバに対して横断的な印刷設定をOSが保持し、ユーザがプリンタドライバを切り替える際に変更前後のプリンタドライバの印刷設定を引き継がせるというものがある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開2003-131832号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明が解決しようとする課題は、背景技術で説明した、複数のプリンタドライバに対して横断的な印刷設定をOSが保持するシステムに関するものである。
【０００８】
ユーザがあるプリンタドライバで印刷設定を変更した後、出力するプリンタがユーザの所望するものでないために、プリンタドライバを切り替える場面で、当該システムの利点が存在する。複数のプリンタドライバに対して横断的な印刷設定をOSが保持しないシステムの場合、前述の状況において、ユーザは変更後のプリンタドライバにおいて、再度同じ印刷設定を実現するための操作を行う必要がある。これに対し、当該システムでは、あるプリンタドライバで行った印刷設定は、変更後のプリンタドライバに引き継がれるため、改めてユーザが所望する印刷設定を変更するための操作を行う必要がない。
【０００９】
しかし、本システムにおいて、変更前後のプリンタドライバで共通の印刷設定項目に関して、そのプリンタドライバにおけるデフォルトの設定値が異なる場合、この仕組みが問題となるケースがある。たとえば、モノクロ／カラー設定が可能な2つのプリンタドライバA、Bに関して、それぞれのデフォルトの設定値としてAがモノクロ、Bがカラーである場合を考える。この前提において、ユーザがプリンタドライバをAからBに切り替えた際、プリンタドライバBのデフォルトの設定値はカラーであるため、モノクロ／カラー設定はカラーになることが期待される。しかしながら、プリンタドライバAの印刷設定が引き継がれてしまうため、プリンタドライバBに切り替えた後のモノクロ／カラー設定はモノクロのままとなってしまう。このようなケースが、プリンタドライバの使用に際して問題となることがある。
【００１０】
一方で、OSによってはユーザが予めユーザが所望する印刷設定の組み合わせに名称をつけて保存しておくことが可能になっており、これをプリセットと呼称する。プリセットを設定している場合、ユーザはその印刷設定で印刷することが可能となる。そのため、プリセットを利用することで、個別の印刷設定を変更するための操作を行わず、ユーザの所望する印刷設定を実現することが可能となる。しかし、プリセットを設定した後でプリンタドライバを切り替えた場合に、プリセットの設定の一部が無効となってしまうケースが発生する。たとえば、カラー／モノクロ設定について、あるプリセットのモノクロ／カラー設定がカラーであり、プリンタドライバAはモノクロ／カラーが選択可能であり、プリンタドライバBはモノクロ専用である場合を考える。この場合、ユーザがはじめにプリンタドライバAにおいて、そのプリセットを適用した際、モノクロ／カラー設定はカラーであり、これはユーザの意図に沿ったものになっている。この状況で、プリンタドライバをBに変更し、さらにその後でプリンタドライバをAに戻す場合を考える。プリンタドライバをBに変更した際、モノクロ／カラー設定は強制的にモノクロに設定されてしまい、その後でAに戻しても、そのモノクロの設定が引き継がれてしまう。そのため、プリセットはカラーを意図したものであるにもかかわらず、その状態で印刷を行うとモノクロで出力されてしまう、という問題がある。
【００１１】
また、プリセットの利用法として、次のようなものが考えられる。複数の印刷設定の大部分に関しては、プリセットとして保存した印刷設定を利用し、一部の印刷設定に関しては、ユーザが別途所望する印刷設定を実現するための操作を行う、という利用法である。このような目的でプリセットを利用する場合、先の例と同様に、プリンタドライバを切り替えた場合において、ユーザの要望として次のような要望が存在する。第一の要望として、印刷設定の大部分はプリセットとして設定された印刷設定を保持が望まれる。第二の要望として、ユーザが別途変更した印刷設定に関しては、プリンタドライバを切り替えた後に、再度同じ印刷設定を実現するための操作を行わず、設定値が引き継がれることが望まれる。
【００１２】
本発明は、プリンタドライバに対して横断的な印刷設定をOSが保持するシステムにおいて、プリンタドライバのデフォルトの設定値、及びプリセットの設定値に関する上記の問題を、上記のユーザの要望に従った形で解決することを課題とする。
【課題を解決するための手段】
【００１３】
クライアントコンピュータおよびデジタル複写機が通信媒体で接続された印刷システム(図1)において、前記クライアントコンピュータには、前記デジタル複写機で印刷するためのプリンタドライバ(図3)がインストールされており、前記プリンタドライバにより登録されたプリントキューの印刷設定はオペレーティングシステム(602)が保持し、その設定値を前記プリンタドライバ(図3)と授受するシステムにおいて、
前記プリンタドライバ(図3)は、
プリントキューの切り替えに伴い、変更後のプリントキューの印刷設定の設定項目を取得する手段(S1304)と、
変更前のプリントキューの印刷設定と、前記変更後のプリントキューの印刷設定において、共通の印刷設定項目が存在するか判定する手段(S1305)と、
前記共通の設定項目に関して、前記変更前のプリントキューのデフォルトの設定値を取得する手段(S1306)と、
前記変更前のプリントキューのデフォルトの設定値と、現在の設定値が一致するか判定する手段(S1307)と、
前記不一致項目に関して、変更前のプリントキューの印刷設定を引き継ぐ手段(S1308)と、
前記印刷設定項目を変更後のプリントキューのデフォルトの設定値で上書きする手段(S1308およびS1309)と、
現在のプリセットの情報を取得する手段(S1310)と、
前記現在のプリセットが、特定の印刷設定を保持するプリセットであるか否かを判定する手段(S1311)と、
前記現在のプリセットの印刷設定項目を取得する手段(S1312)と、
変更後のプリントキューと、前記現在のプリセットの印刷設定項目において、共通の印刷設定項目が存在するか判定する手段(S1313)と、
前記共通の印刷設定項目に関して、現在の設定値を、
前記変更前のプリントキューのデフォルトの設定値を取得し(S1401)、
前記変更前のプリントキューのデフォルトの設定値と、現在の設定値が一致するか判定し(S1402)、
前記不一致項目に関して、変更前のプリントキューの印刷設定を引き継ぎ、前記印刷設定項目を現在のプリセットの設定値で上書きする(S1403およびS1404)、
という手順により更新する手段(S1314)と、
を備えることを特徴とする前記プリンタドライバ(図3)の設定値の引き継ぎ方法。
【発明の効果】
【００１４】
本発明によれば、プリセットが設定されている状態で、ユーザが印刷設定を変更した後に、プリンタドライバを切り替えた場合にも、印刷設定に関するユーザの意図を反映した印刷設定の引き継ぎが可能となる。
【図面の簡単な説明】
【００１５】
【図１】印刷システムの構成を表す図である。
【図２】コンピュータのブロック図である。
【図３】プリンタドライバのモジュール図である。
【図４】プリントキュー登録ダイアログの図である。
【図５】プリントキュー追加ダイアログの図である。
【図６】プリントキューが登録された状態を示すシステムのブロック図である。
【図７】登録するプリントキューの情報が記述されたファイルの内容を表す図である。
【図８】プリンタ仕様記述ファイルの一例を示した図である。
【図９】登録したプリントキューの印刷ダイアログの図である。
【図１０】プリセットの設定内容を保存するファイルの内容を表す図である。
【図１１】オペレーティングシステムが保持している印刷設定の内容を表す図である。
【図１２】印刷処理を表すフローチャートである。
【図１３】印刷設定の引き継ぎ処理を表すフローチャートである。
【図１４】印刷設定の更新の詳細な処理を表すフローチャートである。
【図１５】引き継ぎ例におけるプリントキューに関する前提条件を示した表である。
【図１６】引き継ぎ例におけるプリセットに関する前提条件を示した表である。
【図１７】実施例２における印刷ダイアログの図である。
【図１８】実施例２における印刷設定の引き継ぎ処理を表すフローチャートである。
【図１９】実施例３における印刷設定の引き継ぎ処理を表すフローチャートである。
【図２０】実施例３における変更通知ダイアログの図である。
【発明を実施するための形態】
【００１６】
[実施例1]
以下、本発明を実施するための最良の形態について図面を用いて説明する。
【００１７】
[システム構成]
図1は本発明が適用される印刷システムの一例である。104はコンピュータネットワークであり、このネットワークに101のクライアントコンピュータと102および103のネットワークプリンタが接続される。クライアントコンピュータ(101)にはオペレーティングシステム(以下、OSと省略)、アプリケーションおよびプリンタドライバがインストールされている。このシステムにより、ユーザはクライアントコンピュータ(101)からユーザデータをプリンタ(102あるいは103)に送信し印刷することができる。
【００１８】
図2はクライアントコンピュータ(101)の内部ブロック図である。図中、201はクライアントコンピュータ(101)を表している。クライアントコンピュータ内部は、203の中央演算装置(CPU)、204の揮発性メモリであるRAM、205の不揮発性メモリであるROM、206のキーボードコントローラ、207のマウスコントローラ、208のビデオコントローラ、209の外部記憶装置コントローラ、210の外部メディア装置コントローラ、211のネットワークI/Fコントローラから構成される。またユーザがクライアントコンピュータを操作するための212のキーボードおよび213のマウスはそれぞれクライアントコンピュータ(201)のキーボードコントローラ(206)およびマウスコントローラ(207)に接続される。214の表示装置はクライアントコンピュータのビデオコントローラ(208)に接続される。また大容量のデータを保存するための不揮発性の外部記憶装置(215)は外部記憶コントローラ(209)に接続され、アプリケーションやデータの読み書きが行われる。また、210は外部メディア装置コントローラで、アプリケーションやドライバソフトウエアなどが外部メディア(CD-ROMやDVD-ROM)などで提供されているとき、ユーザは216の外部メディア読み取り装置にCD-ROMなどのメディアをセットし、プログラムを読み込むことができる。なお、217のネットワークは図1で説明したコンピュータネットワーク(104)であり、それは211のネットワークI/Fコントローラに接続され、他の機器と通信が行われる。
【００１９】
通常、クライアントコンピュータを起動するための初期プログラムやクライアントコンピュータ(201)の各モジュールを制御するための基本的なプログラムはROM(205)に保存されている。またOSやアプリケーション、プリンタドライバは外部記憶装置(215)に保存されている。クライアントコンピュータの電源が投入されると、まずROM(205)に保存されているコンピュータを起動するためのプログラム(ブートローダ)が実行され、そのプログラムが外部記憶装置に保存されているOSをRAM(204)にロードし、その後、制御権をOSに渡す。OSは必要なモジュールやドライバをさらに外部記憶装置(215)からRAM(204)に読み込む。さらにユーザの指示により、必要なアプリケーションを外部記憶装置(215)からRAM(204)に読み込み、実行する。
【００２０】
本実施例で説明する、プリンタドライバおよびプリンタドライバのインストーラはCD-ROMなどの外部メディアで供給されるものとし、外部メディア読み取り装置(216)にCD-ROMなどをセットし、CPU(203)が必要に応じてRAM(204)に読み込んだり、外部記憶装置(215)に保存したりする。
【００２１】
[プリンタドライバインストールおよびプリントキュー登録]
次にプリンタドライバについて説明する。
【００２２】
プリンタドライバは図3に示すようなモジュール群で構成されている。301のプリンタドライバは、302のグラフィックレンダリングモジュール、303のUI制御モジュール、304のプリンタ仕様記述ファイル、305の色処理モジュール、306の入出力制御モジュールから構成される。なお、プリンタドライバの機能によってはこの他のモジュールから構成されることもある。
【００２３】
次に、このような構成のプリンタドライバをクライアントコンピュータ(201)へインストールする手順を説明する。ここで、ユーザはプリンタドライバが格納されたCD-ROMを準備するか、ネットワーク経由でプリンタドライバインストーラを入手しているものとする。まず、ユーザは入手したプリンタドライバインストーラを起動する。この動作をきっかけとして、インストーラはプリンタドライバモジュールを外部記憶装置の所定の場所に格納する。格納場所は印刷システムによって異なるが、一例として、CUPS(Common Unix (登録商標）Printing System)では、
/Library/Printers/
ディレクトリの下にベンダー毎にプリンタドライバモジュールを格納することになっている。さらにベンダー毎のディレクトリの下にさらにプリンタドライバの種類に分けて格納することも可能である。たとえば、ABCというベンダーのPDL1とPDL2という異なるプリンタドライバがあるとき、それぞれ
/Library/Printers/ABC/PDL1/
/Library/Printers/ABC/PDL2/
というディレクトリを作成して、そのディレクトリ下にプリンタドライバを格納することが可能となっている。
【００２４】
これでプリンタドライバのインストールは完了するが、実際にプリンタに出力するには、ユーザはOSの提供するプログラムを使用してプリントキューとしてプリンタを登録する必要がある。
【００２５】
そのために、まずユーザはプリントキュー登録ダイアログを開く。ここにおいて、OSはプリントキュー登録のためのプログラムコードを外部記憶装置(215)からRAM(204)に読みだして実行する。図4はOSが表示するプリントキュー登録ダイアログを示したものである。この401のプリントキュー登録ダイアログには、現在登録されているプリントキューを表示するための402の登録プリントキューリスト、登録プリントキューリスト(402)で選択されているプリントキューの詳細情報を表示する403のプリントキュー詳細表示領域がある。また、404はプリントキューを新たに追加するためのボタン、405は現在登録プリントキューリスト(402)で選択されているプリントキューを削除するためのボタンである。なお、406はこのダイアログを閉じるためのボタンである。
【００２６】
次に、ユーザはプリントキュー登録ダイアログ(401)のプリントキュー追加ボタン(404)をクリックする。このユーザ操作によりOSはプリントキュー追加ダイアログを表示する。ここで表示されたダイアログに対して、ユーザは必要な情報を入力、プリンタの追加を行う。図5はOSが表示するプリントキュー追加ダイアログを示したものである。プリントキュー追加ダイアログ(501)において、502は接続されているプリンタのネットワークアドレス(この例ではIPアドレス)を指定するコントロールである。503はプリントキューを識別するためのプリンタの名前を入力するコントロールである。504はプリンタが設置されている場所を入力するコントロールである。プリンタの名前(503)およびプリンタの場所(504)は、登録プリントキューリスト(402)およびプリントキュー詳細表示領域(403)に表示する際に使用される文字列となる。505はプリントキューを登録する際に使用するプリンタドライバを指定するコントロールである。ここでリストされるプリンタドライバは、先に説明したOSのプリンタドライバ格納ディレクトリ
/Library/Printers/
の下に格納されているプリンタドライバをOSがリストする。図5の例では、IPアドレスが192.168.1.10、プリンタの名前が”PrinterC”、プリンタの場所が”2F”、またプリンタドライバとして”ABC PDL1”を選択している状態である。この状態で506の追加ボタンをクリックすると、OSはプリントキューの追加を行う。なお、追加を行わないでこのダイアログを閉じるときは507のダイアログクローズボタンをクリックする。
【００２７】
続いて、OSはユーザが指定したプリントキューとそのプリンタ仕様記述ファイルをシステムに登録する。この後、このステップについて、詳説する。
【００２８】
図6はすでにプリントキューが登録された状態を示すシステムブロック図である。図6において、グラフィックレンダリングモジュール(603)は前述した手順によりOSの所定のディレクトリ
/Library/Printers/
の下に格納されたプリンタドライバのグラフィックレンダリングモジュール(302)である。同様に、UI制御モジュール(605)は、インストールされたプリンタドライバのUI制御モジュール(303)である。色処理モジュール(604)は、インストールされたプリンタドライバの色処理制御モジュール(305)である。入出力制御モジュール(608)は、インストールされたプリンタドライバの入出力制御モジュール(306)である。また、プリンタ仕様記述ファイル(606)は、インストールされたプリンタドライバのプリンタ仕様記述ファイル(304)である。なお607のバックエンドモジュールはOSが提供するものであり、グラフィックレンダリングモジュール(603)が生成した印刷データをプリンタへ送信するための入出力制御モジュール(608)へ受け渡しするためのモジュールである。また、609の登録プリントキュー情報、610のプリンタ仕様記述ファイルは、プリンタ登録の過程でOSが生成するものであり、以下その詳細を説明する。
【００２９】
プリンタ登録の最後に、OS(602)はプリントキュー追加ダイアログ(501)の情報をあつめ、プリントキューの登録を行う。この登録は以下のように実行される。図7は登録するプリントキューの情報が記述されたファイルであり、マークアップ言語で記述している。701はプリントキューの識別子であり、プリンタ名とプリンタのアドレスをアンダースコアでつなげたものである。702はプリンタ名を記述している。703はプリンタの場所を記述している。704は実際のプリントキューの記述を行っており、この例ではlpdプロトコルにより192.168.1.10のアドレスに送信することとなる。705はこのプリンタが使用するプリンタドライバ名(ここではABC PDL1)を記述している。706はこのプリンタの記述が終了することを示している。OSはプリントキューの追加時にこの記述を作成し、このプリンタの登録情報を外部記憶装置(215)の所定のファイルに追記する。所定のファイルとは、たとえばCUPSシステムでは、
/etc/cups/
のディレクトリに格納されているprinters.confファイルに記述することとなる。これが登録プリントキュー情報(609)となる。なお、複数のプリントキューが登録されている場合、printers.confにはそのプリントキュー分、それぞれの対応するプリンタに対して図7の記述が繰り返されることになる。
【００３０】
またOSはプリンタ仕様記述ファイルをシステムに登録する。図6においてOS(602)はプリンタドライバのUI制御モジュールから、登録するプリントキューのプリンタ仕様記述ファイル(606)を取得し、610のシステムの所定の箇所に登録する。
【００３１】
プリンタ仕様記述ファイル(610)の登録の方法を説明する前に、プリンタ仕様記述ファイルそのものの説明を行う。図8はプリンタ仕様記述ファイルの一例を示したものである。このファイルはプリンタの仕様記述フォーマットに沿って記述される。以下、フォーマットも踏まえながら説明する。801はコメントを記述している。コメントは行頭が“*%“となっている。802はベンダー名を記述している。803はこのプリンタ仕様記述ファイルが対応するプリンタ名を記述している。804はこのプリンタ仕様記述ファイルが対応しているページ記述言語を記述している。805はプリンタドライバのバージョンを記述している。この後、このプリンタの機能仕様が記述されている。機能仕様は、*OpenUIの行から*CloseUIの行までがひとつの機能となっている。*OpenUIの後には“*“を先頭に付加した機能名、機能名の後には“:“で区切り、その機能の選択する際の種類を示す。この種類には、“PickOne“と“Boolean“があり、“PickOne“は選択肢の中からひとつを選択する機能であることを表している。また、“Boolean“はこの機能がOn/Offで制御されることを表している。806では、*PageSizeという機能があり、この機能は選択肢のなかからひとつを選択するものであることを表している。806の次の行にはこの機能のデフォルト値を記述する。この行は“*Default“で始まり、この後につづけて前の行で定義した機能名を付加する。この行では、PageSizeという機能のデフォルト値がA4であることを示している。次の行から810の*CloseUIの行まではこの機能の選択肢を1行に1選択肢記述する。たとえば808では、PageSizeの選択肢のひとつとしてA3があることを表している。なお、これはページサイズを選択する機能を記述しており、ページサイズは選択肢が多いため途中を省略している。この機能の最後の記述は810であり、*CloseUIの後に*OpenUIで記述した機能名を記述する。これでひとつの機能が表現されている。つぎの811から816まではもうひとつの機能の記述である。重複する説明は省略するが、このブロックでは、Duplexという機能があり、どれかひとつの選択肢を選択するものであり、選択肢はNone、Simplex、Duplexから選択することを表している。実際にはこれは両面印刷指定の機能を表現したものであり、Noneは指定しないためプリンタのデフォルト設定に従い、Simplexは片面、Duplexは両面印刷を意味する。
【００３２】
次に、OSがこのプリンタ仕様記述ファイルを登録する方法について説明する。OSはプリンタに対応するこのプリンタ仕様記述ファイル(606)をUI制御モジュール(605)から取得し、システムの所定の場所に格納する。格納場所は外部記憶装置(215)の
/etc/cups/ppd/
のディレクトリ以下であり、格納するファイルはファイル名としてプリンタの名前とその後、アンダースコアに続いてプリンタのアドレスを付加したファイル名、例えば、“PrinterC#192.168.1.10#.ppd“となる。図6において、OS(602)はプリンタ仕様記述ファイルを610のプリンタ仕様記述ファイルに格納していることを示している。以上のステップにより、プリントキューの登録が完了する。
【００３３】
[プリントキューおよびプリセット設定]
続いて、プリントキューおよびプリセットの設定について説明する。
【００３４】
図9は登録したプリントキューの印刷設ダイアログを開いたときのユーザI/Fである。この画面は、アプリケーションのファイルメニューなどに「プリント」というメニューがあり、その「プリント」を選択したときに表示されるダイアログである。印刷ダイアログ(901)において、902から905はシステムが共通で提供するコントロールで、プリントキューの選択、後述するプリセットの選択、基本機能である部数の設定や用紙サイズの指定が可能となっている。プリンタ固有の機能は、それ以外の部分で設定が可能となっている。このプリンタの機能が数多くある場合、すべての機能を一度に表示せずに、906で機能のグループを切り替える方法がある。ここでは「仕上げ」に関連する機能を表示している状態を示したものである。仕上げ関連の機能としては、907の片面/両面指定、908のステイプル指定、909の製本印刷指定がある。他にもさまざまな機能があり、それは他のグループを906のコントロールで指定することにより表示切り替えが可能となっている。このダイアログにおいて、ユーザが出力先のプリンタを切り替えたい場合、プリントキュー選択コントロール(902)により変更を行う。印刷ダイアログ(901)では現在プリントキュー" PrinterA"が選択されているが、このコントロールをクリックし、例えばPrinterBを選択すると、PrinterBのプリントキューが選択された状態となり、結果PrinterBに印刷出力されることになる。
【００３５】
次に、OSが保存するデフォルトのプリントキュー設定およびプリセットに関して説明する。
【００３６】
デフォルトのプリントキュー設定は、以下のディレクトリにdefaultprinter.plistというファイル名で保存されている(ユーザ名がUSER#Aの場合)。
【００３７】
/Users/USER#A/Library/Preferences/
このファイルの中に、ユーザ毎に設定されたデフォルトのプリントキューが記述されている。
【００３８】
図10はプリセットの設定内容を保存するファイルである。プリセットとは、ユーザが頻繁に使用する印刷設定に特定の名称をつけて保存しておくものである。例えば、あるプリントキューのデフォルト設定は、片面、1-up印刷、であるが、ユーザが両面、2-up印刷をよく使用する場合、印刷ダイアログ(901)を開き、両面、2-upに設定した後にプリセットとして名称をつけて保存しておく。ユーザはこの設定を使用したい場合に、プリセット選択コントロール(903)で保存したプリセットを選択するのみでこの設定が再現される。以下にこのプリセットの設定保存に関して説明する。
【００３９】
図10において、1001から1010の間に複数のプリセットの設定内容を記述する。ひとつのプリセットは、1002および1003に記述されているようにPresetSettingsというタグ内に記述する。なお、PresetSettingsのパラメータとして、そのプリセット名を記述することとする。1002および1003で示されるプリセットは、プリセット名が"Standard"、このプリセットの設定内容はNULLであることを記述している。図10のプリセット記述ファイルにはもうひと組のプリセットが記述されており、1004から1009に記述されている"Preset1"という名称のプリセットである。このプリセットの設定内容は1005から1008に記述されている。1005はColorModeがColor、1006はDuplexがSimplex、1007はResolutionが600、1008はLastQueueがNULLであることを示している。なお、各項目の前に"ABC."という識別子が付いている。これは、プリセットをOSが管理しており、ベンダー共通で使用されるため、設定項目をベンダー毎に区別するためにつけていることによる。以上説明したようにこのプリセット記述ファイルにより、プリセットの種類および各プリセットの設定内容が分かる。
【００４０】
また、デフォルトのプリセットを示すファイルは、前述のファイルと同じディレクトリ
/Users/USER#A/Library/Preferences/
以下にdefaultpreset.plistとして保存されているものとする。
【００４１】
次に図11はOSが保持している印刷設定である。この設定はアプリケーションのプロセス毎にRAM(205)上に保存されOSのAPI(Application Programming Interface)経由でプリントキューとやり取りされる。1102および1104のCurrentPrintQueueInfoタグ内には、現在選択されているプリントキューが記述される。1103ではプリントキューとしてPrinterCが記述され、このプリントキューが選択されていることが分かる。1105および1107のCurrentPresetInfoタグ内には、現在選択されているプリセットが記述される。1106ではプリセットとしてStandardが記述され、このプリセットが選択されていることが分かる。また、1108および1113内には現在設定されている印刷設定が記述される。記述方法は図10の各プリセットの印刷設定と同様なため説明は省略する。OSはアプリケーションプロセス毎に、図11の印刷設定を構築する。
【００４２】
[印刷時の手順]
続いて、ユーザが印刷を行う際の流れを説明する。図12は印刷処理を示したフローチャートである。
【００４３】
印刷処理を開始すると、システムは前述のデフォルト選択されているプリントキューを保存するファイルと、デフォルトのプリセットを示すファイルを参照し、デフォルトのプリントキューとデフォルトのプリセットを取得する(S1201)。そして、それらを図11の印刷設定に記述する(S1202)。さらに、システムは図8のプリンタ仕様記述ファイルを参照し、デフォルトのプリントキューのデフォルト値を取得する(S1203)。そして、それらを図11の印刷設定に記述する(S1204)。
【００４４】
ここで、システムはデフォルトのプリセットが「標準」であるか否かを判断する(S1205)。尚、ここでいう「標準」とは、特定のプリセットを指すのではなく、プリセットを何も指定しないことを意味する。
【００４５】
デフォルトのプリセットが標準でない場合、システムは図10のプリセットの設定内容を保存するファイルを参照し、デフォルトのプリセットの値を取得する(S1206)。そして、それらを図11の印刷設定に上書きする(S1207)。
【００４６】
このようにデフォルトの印刷設定が構築された後、システムはこの印刷設定に基づき図9の印刷ダイアログを表示する(S1208)。
【００４７】
印刷ダイアログが表示された後、ユーザは任意の印刷設定に変更し(S1209)、最終的に印刷を実行するか否かを判断する(S1210)。
【００４８】
印刷を実行する場合は、システムは印刷設定に基づき印刷処理を行い(S1211)、前述のデフォルトのプリセットを示すファイルをその時のプリセットで更新する(S1212)。そして、印刷設定を破棄して、印刷ダイアログを終了する(S1213)。
【００４９】
一方、印刷を実行せずキャンセルする場合は、印刷設定を破棄して、印刷ダイアログを終了する(S1213)。
【００５０】
[印刷設定の引き継ぎ方法]
ここでは図12の処理S1209において、ユーザが印刷ダイアログで、プリントキューを変更した際に、印刷設定をどのように引き継ぐかについて説明する。図13は印刷設定の引き継ぎ処理を示したフローチャートである。
【００５１】
まず、プリントキューに関する処理を説明する。
【００５２】
S1301において、ユーザは図9のプリントキュー選択コントロール(902)を用いてプリントキューの変更を指示する。そしてS1302において、プリンタドライバは変更前のプリントキューの情報を図11の印刷設定の当該部分(1112)に記述する。その後、S1303において、システムは変更後のプリントキューのプリンタドライバを起動する。このとき図11の印刷設定のプリントキューに関する部分(1103)を更新する。また、それ以外の印刷設定は、変更前の設定値がそのまま引き継がれる。
【００５３】
S1304において、プリンタドライバは変更後のプリントキューのプリンタ仕様記述ファイル(図8)を参照し、変更後のプリントキューの設定項目を取得する。そしてS1305において、変更前のプリントキューの設定項目と、変更後のプリントキューの設定項目を比較し、共通の設定項目が存在するか判断する。
【００５４】
共通の設定項目が存在すると判断すると(S1305でYes)、S1306において、プリンタドライバは変更前のプリントキューのプリンタ仕様記述ファイル(図8)を参照し、変更前のプリントキューのデフォルト値を取得する。尚、変更前のプリントキューの情報は、印刷設定の当該部分(1112)を参照することで得られる。
【００５５】
そしてS1307において、共通項目に関して、変更前のプリントキューのデフォルト値と現在の設定値を比較する。
【００５６】
この比較の結果、値が一致しない設定項目が存在する場合(S1307でNo)、S1308において、その項目に関してはそのまま設定値を引き継ぎ、それ以外は、変更後のプリントキューのプリンタ仕様記述ファイル(図8)を参照し、変更後のプリントキューのデフォルト値で印刷設定の当該部分を更新する。尚、変更後のプリントキューの情報は、印刷設定の当該部分(1103)を参照することで得られる。
【００５７】
S1305でNo、またはS1307でYesの場合、S1309において、プリンタドライバは変更後のプリントキューのデフォルト値で印刷設定を更新する。
【００５８】
続いて、プリセットに関する処理を説明する。
【００５９】
S1310において、プリンタドライバは印刷設定の当該部分(1106)を参照することで、現在のプリセットを取得する。そしてS1311において、現在のプリセットが標準であるか判断する。
【００６０】
プリセットが標準でないと判断すると(S1311でNo)、S1312において、プリンタドライバは現在のプリセットの印刷設定を、プリセット記述ファイルを参照し取得する。そしてS1313において、変更後のプリントキューの設定項目と、現在のプリセットの設定項目を比較し、共通の設定項目が存在するか判断する。
【００６１】
共通の設定項目が存在する場合(S1313でYes)、S1314において、プリンタドライバは共通の印刷設定項目に関して、S1312で取得した現在のプリセットの設定値を参照して、現在の設定値を更新する。この処理については、図14を用いて後述する。
【００６２】
尚、S1311でYes、またはS1313でNoの場合、プリセットに関する処理は行わない。
【００６３】
最後に、S1315において、プリンタドライバは印刷設定から変更前のプリントキューの情報に該当する部分(1112)をNULLで更新する。
【００６４】
S1314の処理の内容を図14に示す。S1401において、S1306同様に、プリンタドライバは変更前のプリントキューのプリンタ仕様記述ファイル(図8)を参照し、変更前のプリントキューのデフォルト値を取得する。そしてS1402において、変更前のプリントキューのデフォルト値と現在の設定値を比較する。
【００６５】
この比較の結果、値が一致しない場合(S1402でNo)、S1403において、プリンタドライバはその項目に関してはそのまま設定値を引き継ぎ、それ以外は、プリセットの設定値で印刷設定の当該部分を更新する。S1402でYesの場合、S1404において、プリンタドライバはプリセットの設定値で印刷設定を更新する。
【００６６】
[引き継ぎ例]
ここでは、具体的なプリントキューとプリセットの例を用いて、前記引き継ぎ方法を説明する。その際プリントキューとプリセットに関する前提条件を、それぞれ図15、図16に示す。
【００６７】
図15において、プリントキューは1501の"PrinterA"、1502の"PrinterB"、1503の"PrinterC"が登録されていることとする。また、各プリントキューの印刷設定とそのデフォルト値をそれぞれの項目に記す。尚、下線で印をつけている項目はそれがデフォルト値であることを意味する。PrinterAは、ColorModeがMonoかColorか選択可能で、そのデフォルト値はColorである。またDuplexはSimplexかDuplexか選択可能で、そのデフォルト値はSimplexである。Resolutionは600か1200か選択可能で、そのデフォルト値は1200である。LastQueueに関しては、印刷ダイアログ（図9）上に表示されない設定値であり、その初期値はNULLである。以下、PrinterB、PrinterCについても表に記載の通りである。尚、図15に記載する機能はプリンタの機能の一部であり、引き継ぎはこれらの機能に限定されるものではない。
【００６８】
一方、プリセットに関する設定は図16に示すように、"Standard"および"Preset1"が登録されている。1601の"Standard"は、標準的なプリセットであり、全ての印刷設定に対して、設定値がNULLとなっている。また、"Preste1"はColorModeがColor、DuplexがSimplex、Resolutionが600、LastQueueがNULLである。
【００６９】
この前提において、ユーザはアプリケーションのメニューからプリントを選択して印刷ダイアログ(901)を開き、以下の手順で印刷設定を変更する場合を考える。
【００７０】
・デフォルトの設定から、プリントキューを"PrinterB"に変更する。
【００７１】
このときの設定値が引き継がれる様を図13に沿って説明する。
【００７２】
まずS1301において、ユーザはプリントキューのデフォルト設定である"PrinterA"から"PrinterB"への変更を指示する。そしてS1302において、プリンタドライバは変更前のプリントキュー"PrinterA"を図11の印刷設定の当該部分(1112)に記述する。その後、S1303において、システムは変更後のプリントキュー"PrinterB"のプリンタドライバを起動する。このとき図11の印刷設定のプリントキューに関する部分(1103)を"PrinterB"に更新する。また、それ以外の印刷設定は、変更前の設定値がそのまま引き継がれるので、ColorModeがColor、DuplexがSimplex、Resolutionが1200、LastQueueがPrinterAとなる。
【００７３】
S1304において、プリンタドライバは変更前のプリントキュー"PtinterA"のプリンタ仕様記述ファイル(図8)を参照し、変更後のプリントキューの設定項目を取得する。そして、S1305において、変更前のプリントキュー"PrinterA"の設定項目と、変更後のプリントキュー"PrinterB"の設定項目を比較し、共通の設定項目が存在するか判断する。
【００７４】
この場合、共通の設定項目が存在するので、S1305でYesとなり、S1306において、プリンタドライバは変更前のプリントキュー"PrnterA"のプリンタ記述ファイル(図8)を参照し、変更前のプリントキュー"PrinterA"のデフォルト値(1501)を取得する。
【００７５】
そして、S1307において、共通項目に関して、変更前のプリントキュー"PrinterA"のデフォルト値と現在の設定値を比較する。
【００７６】
この場合、値が一致しない設定項目が存在しないので、S1309において、プリンタドライバは変更後のプリントキュー" PrinterB"のデフォルト値(1502)で印刷設定を更新する。
【００７７】
続いて、S1310において、プリンタドライバは印刷設定の当該部分(1106)を参照することで、現在のプリセットを取得する。そしてS1311において、現在のプリセットが標準であるか判断する。この場合、現在のプリセット"Standard"は標準であるので、プリセットに関する処理は行わない。
【００７８】
最後に、S1315において、プリンタドライバは印刷設定から変更前のプリントキュー"PrinterA"の情報に該当する部分(1112)をNULLで更新する。
【００７９】
上記の処理の結果、最終的な印刷設定はColorModeがColor、DuplexがDuplex、Resolutionが600、LastQueueがNULLとなる。このように、プリントキューを変更した場合に、変更後のプリントキューのデフォルトの設定値を反映して値を引き継ぐことが可能となる。
【００８０】
また、同じ前提において、ユーザはアプリケーションのメニューからプリントを選択して印刷ダイアログ(901)を開き、以下の手順で印刷設定を変更する場合を考える。
・デフォルトの設定から、ColorModeをMonoに変更する。
・プリントキューを"PrinterB"に変更する。
【００８１】
このときの設定値が引き継がれる様を図13に沿って説明する。
【００８２】
プリントキューが変更される前の印刷設定はColorModeがMono、DuplexがSimplex、Resolutionが1200、LastQueueがNULLである。この状態で、S1301において、ユーザはプリントキューのデフォルト設定である"PrinterA"から"PrinterB"への変更を指示する。そしてS1302において、プリンタドライバは変更前のプリントキュー"PrinterA"の情報を図11の印刷設定の当該部分(1112)に記述する。その後、S1303において、システムは変更後のプリントキュー"PrinterB"のプリンタドライバを起動する。このとき図11の印刷設定のプリントキューに関する部分(1103)を更新する。また、それ以外の印刷設定は、変更前の設定値がそのまま引き継がれるので、ColorModeがMono、DuplexがSimplex、Resolutionが1200、LastQueueがPrinterAとなる。
【００８３】
S1304において、プリンタドライバは変更後のプリントキュー"PrinterB"のプリンタ仕様記述ファイル(図8)を参照し、変更後のプリントキュー"PrinterB"の設定項目を取得する。そしてS1305において、変更前のプリントキュー"PrinterA"の設定項目と、変更後のプリントキュー"PrinterB"の設定項目を比較し、共通の設定項目が存在するか判断する。
【００８４】
この場合、共通の設定項目が存在するので、S1305でYesとなり、S1306において、プリンタドライバは変更前のプリントキュー"PrnterA"のプリンタ記述ファイル(図8)を参照し、変更前のプリントキュー"PrinterA"のデフォルト値(1501)を取得する。
【００８５】
そして、S1307において、共通項目に関して、変更前のプリントキュー"PrinterA"のデフォルト値と現在の設定値を比較する。
【００８６】
この場合、値が一致しない設定項目ColorModeが存在するので、S1308において、ColorModeの項目に関してはそのまま設定値を引き継ぎ、それ以外は、変更後のプリントキュー"PrinterB"のプリンタ仕様記述ファイル(図8)を参照し、変更後のプリントキュー"PrinterB"のデフォルト値で印刷設定の当該部分を更新する。
【００８７】
続いて、S1310において、プリンタドライバは印刷設定の当該部分(1106)を参照することで、現在のプリセットを取得する。そしてS1311において、現在のプリセットが標準であるか判断する。この場合、現在のプリセット"Standard"は標準であるので、プリセットに関する処理は行わない。
【００８８】
最後に、S1315において、プリンタドライバは印刷設定から変更前のプリントキュー"PrinterA"の情報に該当する部分(1112)をNULLで更新する。
【００８９】
上記の処理の結果、最終的な印刷設定はColorModeがMono、DuplexがDuplex、Resolutionが600、LastQueueがNULLとなる。このように、プリントキューを変更した場合に、ユーザが変更した印刷設定についてはその設定値を引き継ぎ、それ以外は変更後のプリントキューのデフォルトの設定値を反映して値を引き継ぐことが可能となる。
【００９０】
さらに、同じ前提において、ユーザはアプリケーションのメニューからプリントを選択して印刷ダイアログ(901)を開き、以下の手順で印刷設定を変更する場合を考える。
・デフォルトの設定から、プリセットを"Preset1"に変更する。
・プリントキューを"PrinterC"に変更する。
・プリントキューを"PrinterA"に変更する。
【００９１】
このときの設定値が引き継がれる様を図13に沿って説明する。
【００９２】
プリントキューが"PrinterA"に変更される前の印刷設定はColorModeがMono、DuplexがSimplex、Resolutionが600、LastQueueがNULLである。ColorModeがMonoであるのは、プリントキュー"PrinterC"がColorModeとしてMonoのみ選択可能であるプリントキューであり、このような場合には設定値が丸められてしまうためである。
【００９３】
この状態で、S1301において、ユーザはプリントキューを"PrinterC"から"PrinterA"への変更を指示する。この場合、これまでの例と同様に、S1302、S1303、S1304、S1305、S1306、S1307、S1309の処理が順次行われ、その時点での印刷設定はColorModeがColor、DuplexがSimplex、Resolutionが1200、LastQueueがPrinterCとなる。
【００９４】
続いて、S1310において、プリンタドライバは印刷設定の当該部分(1106)を参照することで、現在のプリセットを取得する。そしてS1311において、現在のプリセットが標準であるか判断する。この場合、現在のプリセット"Preset1"は標準でないので、S1312において、プリンタドライバは現在のプリセット"Preset1"の印刷設定を、プリセット記述ファイルを参照し取得する。そしてS1313において、変更後のプリントキュー"PrinterA"の設定項目と、現在のプリセット"Preset1"の設定項目を比較し、共通の設定項目が存在するか判断する。この場合、共通の設定項目が存在するので、S1314において、プリンタドライバは共通の印刷設定項目に関して、現在の設定値を更新する。S1314の具体的な手順としては、以下の通りである。
【００９５】
まず、S1401において、プリンタドライバは変更前のプリントキュー"PrnterC"のプリンタ記述ファイル(図8)を参照し、変更前のプリントキュー"PrinterC"のデフォルト値(1503)を取得する。
【００９６】
そして、S1402において、共通項目に関して、変更前のプリントキュー"PrinterC"のデフォルト値と現在の設定値を比較する。この場合、値が一致しない設定項目が存在しないので、S1404において、プリンタドライバは現在のプリセット"Preset1"の設定値で印刷設定を更新する。
【００９７】
上記の処理の結果、最終的な印刷設定は、ColorModeがColor、DuplexがSimples、Resolutionが600、LastQueueがNULLとなる。このように、プリントキューを変更した際、プリセットが標準以外である場合は、そのプリセットの設定値を反映して値を引き継ぐことが可能となる。
【００９８】
最後に、同じ前提において、ユーザはアプリケーションのメニューからプリントを選択して印刷ダイアログ(901)を開き、以下の手順で印刷設定を変更する場合を考える。
・デフォルトの設定から、プリセットを"Preset1"に変更する。
・印刷設定ColorModeをMonoに変更する。
・プリントキューを"PrinterB"に変更する。
【００９９】
このときの設定値が引き継がれる様を図13に沿って説明する。
【０１００】
プリントキューが"PrinterB"に変更される前の印刷設定はColorModeがMono、DuplexがSimplex、Resolutionが600、LastQueueがNULLである。
【０１０１】
この状態で、S1301において、ユーザはプリントキューを"PrinterA"から"PrinterB"への変更を指示する。この場合、これまでの例と同様に、S1302、S1303、S1304、S1305、S1306、S1307、S1308の処理が順次行われ、その時点での印刷設定はColorModeがMono、DuplexがDuplex、Resolutionが600、LastQueueがPrinterAとなる。
【０１０２】
続いて、S1310において、プリンタドライバは印刷設定の当該部分(1106)を参照することで、現在のプリセットを取得する。そしてS1311において、現在のプリセットが標準であるか判断する。この場合、現在のプリセット"Preset1"は標準でないので、S1312において、プリンタドライバは現在のプリセット"Preset1"の印刷設定を、プリセット記述ファイルを参照し取得する。そしてS1313において、変更後のプリントキュー"PrinterB"の設定項目と、現在のプリセット"Preset1"の設定項目を比較し、共通の設定項目が存在するか判断する。
【０１０３】
この場合、共通の設定項目が存在するので、S1314において、プリンタドライバは共通の印刷設定項目に関して、現在の設定値を更新する。S1314の具体的な手順としては、以下の通りである。
【０１０４】
まず、S1401において、プリンタドライバは変更前のプリントキュー"PrnterA"のプリンタ記述ファイル(図8)を参照し、変更前のプリントキュー"PrinterA"のデフォルト値(1501)を取得する。
【０１０５】
そして、S1402において、共通項目に関して、変更前のプリントキュー"PrinterA"のデフォルト値と現在の設定値を比較する。この場合、値が一致しない設定項目が存在するので、S1403において、プリンタドライバはデフォルト値と現在の設定値が異なる印刷設定項目であるColorMode及びResolutionに関しては、変更前のプリントキュー"PrinterA"の設定値を引き継ぎ、それ以外の設定値については、現在のプリセット"Preset1"の設定値で上書きをする。
【０１０６】
上記の処理の結果、最終的な印刷設定は、ColorModeがMono、DuplexがSimplex、Resolutionが600、LastQueueがNULLとなる。このように、プリントキューを変更した際、プリセットが標準以外である場合は、そのプリセットの設定値を反映して値を引き継ぐことが可能となる。
【０１０７】
[実施例2]
以下に、前記第一の実施例と同手法を用いた第二の実施例について説明する。
【０１０８】
上記実施例の手法を制御する機能のグループが図9の906のコントロールの「その他」にあるとした場合の印刷ダイアログを図17に示す。1701から1706、および1710、1711は図9の901から906、および910、911と同様なので、説明は省略する。ここでは「その他」に関連する機能を表示している状態を示したものである。「その他」関連の機能としては、1707の設定値の引き継ぎの適用のコントロール、1708の設定値の引き継ぎにプリントキューのデフォルト値を適用するかのコントロール、1709のプリセットの設定を優先するかのコントロールがある。尚、1707のコントロールの値は"使用する"と"使用しない"から選択可能であり、後者を選択した場合、1708および1709のコントロールはグレーアウトするなどして選択不可能になるものとする。
【０１０９】
図18は本実施例における印刷設定の引き継ぎ処理を示したフローチャートである。尚、S1804のデフォルト値関連処理は、図13のS1302からS1308並びにS1309までに対応し、S1806のプリセット関連処理は、図13のS1310からS1315までに対応する。
【０１１０】
S1801において、ユーザは図17のプリントキュー選択コントロール(1702)を用いてプリントキューの変更を指示する。そして、S1802において、設定値の引き継ぎの適用の有無(1707)を参照し、本引き継ぎ手法を用いるか判断する。
【０１１１】
本引き継ぎ手法を用いないと判断すると(S1802でNo)、特別な処理は行わず、従来どおりのプリントキューの変更処理を行うのみである。
【０１１２】
本引き継ぎ手法を用いると判断すると(S1802でYes)、S1803において、設定値の引き継ぎにプリントキューのデフォルト値を用いるかの設定(1708)を参照し、デフォルト値を用いるか判断する。
【０１１３】
デフォルト値を用いると判断すると(S1803でYes)、S1804において、デフォルト値関連の処理を行う。また、そうでない場合(S1803でNo)、S1804の処理は行わない。
【０１１４】
そして、S1805において、プリセットの設定を優先するかの設定(1709)を参照し、プリセットを優先するか判断する。
【０１１５】
プリセットを優先すると判断すると(S1805でYes)、S1806において、プリセット関連の処理を行う。また、そうでない場合(S1805でNo)、S1806の処理は行わない。
【０１１６】
[実施例3]
以下に、前記第一の実施例と同手法を用いた第三の実施例について説明する。図19は本実施例における印刷設定の引き継ぎ処理を示したフローチャートである。尚、S1901からS1906までは、図18のS1801からS1806と同様であるので、説明は省略する。
【０１１７】
S1907において、プリントキューの変更前後で印刷設定に変更が生じたかを判断する。
【０１１８】
印刷設定に変更が生じたと判断すると(S1907でYes)、S1908において、プリンタドライバは図20の変更通知ダイアログを表示することで、印刷設定に変更が生じたことをユーザに通知する。
【０１１９】
以上、3つの実施例について説明したが、本発明は、上記実施例に限定されるものではなく、種々の態様を採ることができる。例えば、実施例1では、変更前のプリントキューの情報を印刷設定の隠しパラメータの一つとして表現したが、等価な情報を外部ファイルに設けてもよい。また、実施例2および実施例3においては、印刷設定の変更をユーザに通知する手段としてダイアログを用いたが、等価な情報を図9の906のコントロールの一つとして表示してもよい。
【符号の説明】
【０１２０】
602  オペレーティングシステム
605  UI制御モジュール
1707  設定値の引き継ぎの適用のコントロール
1708  プリントキューのデフォルト値の適用のコントロール
1709  プリセットの設定の優先のコントロール
【図１】
2013218472.tif 000003
【図２】
2013218472.tif 000004
【図３】
2013218472.tif 000005
【図４】
2013218472.tif 000006
【図５】
2013218472.tif 000007
【図６】
2013218472.tif 000008
【図７】
2013218472.tif 000009
【図８】
2013218472.tif 000010
【図９】
2013218472.tif 000011
【図１０】
2013218472.tif 000012
【図１１】
2013218472.tif 000013
【図１２】
2013218472.tif 000014
【図１３】
2013218472.tif 000015
【図１４】
2013218472.tif 000016
【図１５】
2013218472.tif 000017
【図１６】
2013218472.tif 000018
【図１７】
2013218472.tif 000019
【図１８】
2013218472.tif 000020
【図１９】
2013218472.tif 000021
【図２０】
2013218472.tif 000022