(57)【要約】      （修正有）【課題】新たにプリンタドライバをインストールしたり、既存のプリンタドライバをバージョンアップしたりする場合に、インストール後の変更された設定までも引き継ぐことができるプリンタドライバを提供する。【解決手段】PrinterSettings.StringCollectionクラスのオブジェクトを参照し、他のプリンタドライバが無ければ（Ｓ３０１：ＮＯ）、デフォルト設定を用いてプリンタドライバを設定する（Ｓ３０６）。有れば（Ｓ３０１：ＹＥＳ）、そのDevMode構造体を取得し（Ｓ３０２）、同一メーカ同一機種のプリンタドライバが無ければ（Ｓ３０３：ＮＯ、Ｓ３０４：ＮＯ）、互換性のある設定情報のみ用いる（Ｓ３０７）。同一メーカで同一機種のプリンタドライバがあれば（Ｓ３０４：ＹＥＳ）、その設定情報すべてを用いる（Ｓ３０５）。【選択図】図３
2010186324.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションプログラムからの印刷要求を受けてプリンタに印刷させる処理をコンピュータに実行させるプリンタドライバであって、
当該コンピュータにインストールされている他のプリンタドライバの設定情報を参照する参照ステップと、
参照した設定情報のうち自プリンタドライバの設定に必要な項目の設定値を用いて、自プリンタドライバの設定を行う設定ステップと、
をコンピュータに実行させることを特徴とするプリンタドライバ。
【請求項２】
前記コンピュータはWindows（登録商標）オペレーティングシステムが搭載されており、
前記参照ステップは、他のプリンタドライバの設定情報としてDevMode構造体の設定値を参照し、
前記設定ステップは、自プリンタドライバのDevMode構造体に値を設定する
ことを特徴とする請求項１に記載のプリンタドライバ。
【請求項３】
前記参照ステップは、他のプリンタドライバのうち、「通常使うプリンタ」に指定されているプリンタに係るプリンタドライバの設定情報を参照する
ことを特徴とする請求項２に記載のプリンタドライバ。
【請求項４】
他のプリンタドライバが複数ある場合に、その何れかをユーザに選択させる選択受付ステップを備え、
前記参照ステップは、選択されたプリンタドライバの設定情報を参照する
ことを特徴とする請求項１に記載のプリンタドライバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンタドライバに関し、特に、インストール時におけるプリンタドライバの設定の手間を軽減する技術に関する。
【背景技術】
【０００２】
従来、パーソナルコンピュータ（PC: personal computer）を用いて作成された文書をプリンタにて印刷出力するためには、ＰＣにプリンタドライバをインストールする必要がある。プリンタドライバをインストールする際には様々な設定情報を入力する必要があり、ＰＣやプリンタの台数が多い場合には特にインストール作業が煩瑣なものになる。
このような問題に対して、例えば、過去にインストールしたプリンタドライバの設定情報をプリンタの種類に関連付けて記録する設定ファイルを作成しておき、次にプリンタドライバをインストールする際に所謂インストーラにて当該設定ファイルを参照して、当該プリンタドライバに係る種類のプリンタの設定情報があれば、それを利用するという技術が提案されている（特許文献１を参照）。
【０００３】
また、オフィス等でＰＣやプリンタをまとめて管理する管理装置からネットワークを介してプリンタドライバ、インストーラ及び設定情報記録する設定ファイルを各ＰＣに配布するという技術も提案されている（特許文献２を参照）。
このようにすれば、人手を介さずインストーラのみにてプリンタドライバの設定まで済ませることができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−３３４４４９号公報
【特許文献２】特開２００６−２７７４４６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、プリンタドライバがインストールされた後であっても、プリンタドライバの設定はＰＣのユーザの必要に応じてしばしば変更される。例えば、印刷費用を節減するためにモノクロ２ｉｎ１で印刷するよう設定されていても、客先資料を作成するためにカラー１ｉｎ１に変更される等である。
このような場合、上記従来技術に係る設定ファイルは設定変更に応じて更新されないので、上記従来技術によって新たなプリンタドライバをインストールしたり、既存のプリンタドライバをバージョンアップしたりすると、プリンタドライバの設定が元に戻ってしまい、ユーザの必要に合わせた設定が失われてしまう。
【０００６】
また、何らかの事情によって設定ファイルが失われると、単なるバージョンアップであっても、プリンタドライバの設定がデフォルト設定に変更されてしまうおそれもある。
本発明は、上述のような問題に鑑みて為されたものであって、新たにプリンタドライバをインストールしたり、既存のプリンタドライバをバージョンアップしたりする場合に、インストール後の変更された設定までも引き継ぐことができるプリンタドライバを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明に係るプリンタドライバは、アプリケーションプログラムからの印刷要求を受けてプリンタに印刷させる処理をコンピュータに実行させるプリンタドライバであって、当該コンピュータにインストールされている他のプリンタドライバの設定情報を参照する参照ステップと、参照した設定情報のうち自プリンタドライバの設定に必要な項目の設定値を用いて、自プリンタドライバの設定を行う設定ステップと、をコンピュータに実行させることを特徴とする。
【発明の効果】
【０００８】
特に、前記コンピュータはWindows（登録商標）オペレーティングシステムが搭載されており、前記参照ステップは、他のプリンタドライバの設定情報としてDevMode構造体の設定値を参照し、前記設定ステップは、自プリンタドライバのDevMode構造体に値を設定すれば、好適である。
このようにすれば、特殊なファイルを別途用意することなく、DevMode構造体を参照することによって、プリンタドライバの設定を引き継ぐことができる。
【０００９】
また、プリンタに印刷を要求する際には、得意とする印刷分野が相異なっている様々なページ記述言語（PDL: Page Description Language）が用いられる。このため、同一のプリンタであってもページ記述言語ごとに異なるプリンタドライバがインストールされる。そのような場合でも、本発明によれば、プリンタドライバを設定するための手間を省くことができる。
【００１０】
また、他のプリンタドライバが複数ある場合には、前記参照ステップは、他のプリンタドライバのうち、「通常使うプリンタ」に指定されているプリンタに係るプリンタドライバの設定情報を参照すれば好適である。
また、プリンタ毎に用途が異なる場合を考慮すれば、他のプリンタドライバが複数ある場合に、その何れかをユーザに選択させる選択受付ステップを備え、前記参照ステップは、選択されたプリンタドライバの設定情報を参照するのが望ましい。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施の形態に係るＯＡシステムの構成を示す図である。
【図２】ＰＣ１００に搭載されたソフトウェアの主要な構成を示す図である。
【図３】プリンタドライバ２１３の設定動作を示すフローチャートである。
【図４】DevMode構造体のデータ構造を示す図である。
【発明を実施するための形態】
【００１２】
以下、本発明に係るプリンタドライバの実施の形態について、ＰＣ図面を参照しながら説明する。
［１］装置構成
先ず、本実施の形態に係るＯＡ（office automation）システムの構成について説明する。
【００１３】
図１に示されるように、ＯＡシステム１は、ＰＣ１００とプリンタ１０１とがネットワーク１０２を介して相互通信可能に接続されてなる。
［２］ソフトウェア構成
次に、ＰＣ１００に搭載されたソフトウェアの主要な構成について説明する。
図２に示されるように、ＰＣ１００にはアプリケーションプログラム２００、印刷システム２１０及び通信制御プログラム２２０がインストールされている。アプリケーションプログラム２００は、例えば、ワードプロセッサのように、ユーザ操作に従って文書データを生成して、印刷システム２１０に当該文書データの印刷を要求する。
【００１４】
印刷システム２１０は、スプーラサービス２１１、プリントプロセッサ２１２、プリンタドライバ２１３及びポートモニタ２１４を備えている。スプーラサービス２１１は、アプリケーションプログラム２００からの印刷要求をプリント処理中に受け付けると、当該印刷要求をハードディスク等（図示省略）に一時的に保存し、当該プリント処理を完了した後で、当該印刷要求を実行させる。
【００１５】
プリントプロセッサ２１２は、プリンタドライバや接続ポート、用紙サイズ/印字方向などの設定を行なったり、現在プリンタにキューイングされている印刷ジョブ一覧を表示したり、印刷ジョブを中断したりする。プリンタドライバ２１３は、ポートモニタ２１４を介してプリンタ１０１と通信し、プリンタ１０１を制御する。
通信制御プログラム２２０は、ポートモニタ２１４とプリンタ１０１との間の通信に必要なＴＣＰ／ＩＰ（transmission control porotocol/internet protocol）等の処理を行う。なお、図２には示されていないが、ＰＣ１００にはMicrosoft Windows（登録商標）（米国Microsoft Corporationの米国及びその他の国における登録商標）オペレーティングシステムが搭載されている。
【００１６】
［３］インストール時の動作
次に、インストール時における、プリンタドライバ２１３の設定動作について説明する。
まず、Microsoft Windows（登録商標）オペレーティングシステムにおいては、DevMode構造体を用いて、印刷設定情報が、アプリケーションプログラム２００とプリンタドライバ２１３との間で受け渡しされる。
【００１７】
Microsoft .NET framework（米国Microsoft Corporationの米国及びその他の国における登録商標）のSystem.Drawing.Printing名前空間のPrintingSettingクラスにはGetHdevmode、SetHdevmodeというメソッドが用意されており、これらのメソッドを用いてDevMode構造体の取得や設定が行われる。
また、PrinterSettingクラスの静的プロパティInstalledPrintersを用いれば、PrinterSettings.StringCollectionクラスのオブジェクトを取得することができる。このオブジェクトにはプリンタ名を表わす１以上の文字列が格納されている。
【００１８】
図３は、プリンタドライバ２１３の設定動作を示すフローチャートである。図３に示されるように、プリンタドライバ２１３は、インストール時に、上述のPrinterSettings.StringCollectionクラスのオブジェクトを取得して、他のプリンタドライバがインストールされているか確認する。
そして、他のプリンタドライバがインストールされていなければ（Ｓ３０１：ＮＯ）、デフォルトの設定値を使用して設定を行った後（Ｓ３０６）、設定処理を終了する。
【００１９】
他のプリンタドライバがインストールされていたら（Ｓ３０１：ＹＥＳ）、既にインストールされているプリンタドライバ（以下、「他のプリンタドライバ」という。）すべてのDevMode構造体を取得することによって、それらの設定情報を取得する（Ｓ３０２）。
次に、他のプリンタドライバの設定情報を参照して、新たにインストールしようとしているプリンタドライバ２１３とメーカを同じくするプリンタドライバがあるか否かを確認する。そして、メーカを同じくするプリンタドライバが無ければ（Ｓ３０３：ＮＯ）、他のプリンタドライバの設定情報のうち、互換性のある設定情報は使用し、互換性のない設定情報についてはデフォルト設定を用いて、新たにインストールするプリンタドライバ２１３の設定を行い（Ｓ３０７）、設定処理を終了する。
【００２０】
メーカは同じでも（Ｓ３０３：ＹＥＳ）、機種の異なるプリンタドライバしかない場合にも（Ｓ３０４：ＮＯ）、当該同一メーカで異機種のプリンタドライバの設定情報のうち、互換性のある設定情報は使用し、他はデフォルト設定を用いて、新たにインストールするプリンタドライバ２１３の設定を行い（Ｓ３０７）、設定処理を終了する。
同一メーカで同一機種のプリンタドライバがある場合には（Ｓ３０４：ＹＥＳ）、その設定情報すべてを用いて、新たにインストールするプリンタドライバ２１３の設定を行い（Ｓ３０５）、処理を終了する。
【００２１】
なお、図４に示されるように、DevMode構造体には、異なるメーカの間で共通に使用されるPublic領域と、メーカ毎に独自に定義されたPrivate領域とがある。Public領域には、プリンタ名を表わす文字列（dmDeviceName）やDevMode構造体のバージョン（dmSpecVersion）、プリンタドライバのバーション（dmDriverVersion）等の情報が格納される。
また、Private領域には、メーカを同じくする機種間で共通の設定項目や、機種間で異なる設定項目が格納される。新たにインストールするプリンタドライバ２１３は他のプリンタドライバのDevMode構造体を上述のGetHdevmodeメソッドを用いて取得し、新たにインストールするプリンタドライバ２１３のDevMode構造体に上述のSetHdevmodeメソッドを用いて設定する。
【００２２】
このようにすれば、ＰＣ１００に既にインストールされているプリンタドライバの設定情報を参照して、新たにインストールするプリンタドライバ２１３の設定を行うので、プリンタドライバ２１３を設定するために要するユーザの手間を軽減することができる。
［４］変形例
以上、本発明を実施の形態に基づいて説明してきたが、本発明が上述の実施の形態に限定されないのは勿論であり、以下のような変形例を実施することができる。
【００２３】
（１）上記実施の形態においては、System.Drawing.Printing名前空間のPrintingSettingクラスに用意されたメソッドGetHdevmode、SetHdevmodeを用いる場合について説明したが、本発明がこれに限定されないのは言うまでもなく、これに代えて次のようにしても良い。
すなわち、Windows（登録商標）95 や Windows（登録商標）NTにはGetPrinter()、SetPrinter()というAPI（Application Programming Interface）が用意されており、これらのAPIを用いて同様の処理を行うことができる。
【００２４】
具体的には、OpenPrinter()を用いて、既にインストールされている他のプリンタのハンドルをオープンした後、GetPrinter()を用いて、当該ハンドルに係る設定情報を格納するために必要なバッファサイズを取得する。そして、再びGetPrinter()を用いて、当該サイズのバッファに設定情報を読み出す。
そして、上記実施の形態と同様に、引き継ぐことができる設定情報とデフォルトの設定値を用いる設定情報を決定した後、SetPrinter()を用いて、新たにインストールするプリンタの設定を行う。このようにすることによっても、新たにインストールされるプリンタドライバの設定を行うことができる。
【００２５】
（２）上記実施の形態においては、Windows（登録商標）オペレーティングシステムが搭載されたＰＣ１００にプリンタドライバをインストールする場合を例に挙げて説明したが、本発明がこれに限定されないのは言うまでもなく、Windows（登録商標）以外のオペレーティングシステムに本発明を適用しても、その効果を得ることができる。
すなわち、オペレーティングシステムの如何に関わらず、アプリケーションプログラムがプリンタドライバの各種設定を参照したり、変更したりするためのAPIが用意されているので、かかるAPIを利用すれば、上述のような処理をプリンタドライバに実行させて、自動的に設定することができる。
【００２６】
（３）上記実施の形態においては、専らメーカと機種とを用いてDevMode構造体（設定情報）を参照すべきプリンタドライバの選択を行う場合について説明したが、本発明がこれに限定されないのは言うまでもなく、これに代えて、或いは、これに加えて他の条件を採用しても良い。
例えば、設定情報を参照する他のプリンタドライバを選択する際して、「通常使うプリンタ」に指定されているプリンタドライバを優先しても良い。「通常使うプリンタ」とは、アプリケーションプログラムから印刷要求を行うに際して、最初に選択するようユーザ指定されているプリンタドライバである。
【００２７】
従って、当該ユーザが使用する頻度が最も高い設定情報が含まれていると推測されるので、当該設定情報に従って、新たにインストールするプリンタドライバ２１３を設定すれば、プリンタドライバの設定に要するユーザの手間を更に省くことができる可能性が高いので有効である。
また、プリンタによって用途が異なる場合が多いので、インストール時に他のプリンタドライバの一覧をユーザに提示して、何れかのプリンタドライバを選択させ、選択されたプリンタドライバの設定情報を参照して、新たにインストールするプリンタドライバを設定しても良い。
【００２８】
上述のように、Windows（登録商標）オペレーティングシステムにおいては、静的プロパティInstalledPrintersを用いて、PrinterSettings.StringCollectionクラスのオブジェクトを取得することにより、他のプリンタドライバの一覧を表示することができる。
このようにすれば、用途を同じくする等、プリンタドライバの設定が似通っている他のプリンタドライバを選択するだけで、新たにインストールするプリンタドライバをより適切に設定することができるので有効である。
【００２９】
このように、他のプリンタドライバの選択の仕方によっては、本発明の効果を更に高めることができる。
（４）上記実施の形態においては特に言及しなかったが、DevMode構造体にはdmDeviceName（デバイス名の文字列）やDmDriverVersion（プリンタドライバのバージョン）等、新たなプリンタドライバの設定を行うに際して、引き継ぐ必要のない項目もある。したがって、新たにプリンタドライバをインストールする際には、Pubilc領域であれPrivate領域であれ設定内容を引き継ぐべき項目と引き継ぐ必要のない項目とを指定する情報（表など）を参照するのが望ましい。
【産業上の利用可能性】
【００３０】
本発明に係るプリンタドライバは、インストール時におけるプリンタドライバの設定の手間を軽減する技術として有用である。
【符号の説明】
【００３１】
１………ＯＡシステム
１００…ＰＣ
１０１…プリンタ
１０２…ネットワーク
２００…アプリケーションプログラム
２１０…印刷システム
２２０…通信制御プログラム
２１１…スプーラサービス
２１２…プリントプロセッサ
２１３…プリンタドライバ
２１４…ポートモニタ
【図１】
2010186324.tif 000003
【図２】
2010186324.tif 000004
【図３】
2010186324.tif 000005
【図４】
2010186324.tif 000006