[go: up one dir, main page]

JP4702948B2 - デバイスドライバをカスタマイズする情報処理装置、方法、記憶媒体 - Google Patents

デバイスドライバをカスタマイズする情報処理装置、方法、記憶媒体 Download PDF

Info

Publication number
JP4702948B2
JP4702948B2 JP2006068275A JP2006068275A JP4702948B2 JP 4702948 B2 JP4702948 B2 JP 4702948B2 JP 2006068275 A JP2006068275 A JP 2006068275A JP 2006068275 A JP2006068275 A JP 2006068275A JP 4702948 B2 JP4702948 B2 JP 4702948B2
Authority
JP
Japan
Prior art keywords
device driver
setting
information processing
property
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2006068275A
Other languages
English (en)
Other versions
JP2006309725A5 (ja
JP2006309725A (ja
Inventor
光則 飯田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2006068275A priority Critical patent/JP4702948B2/ja
Publication of JP2006309725A publication Critical patent/JP2006309725A/ja
Publication of JP2006309725A5 publication Critical patent/JP2006309725A5/ja
Application granted granted Critical
Publication of JP4702948B2 publication Critical patent/JP4702948B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、デバイスドライバ及びその間連プログラムが搭載された情報処理装置、該装置を制御する方法、制御プログラムを記憶した媒体に関するものである。
従来のカスタマイズシステムでは、カスタマイズされたプリンタドライバのインストールセットを作成するためには、まず、カスタマイズの対象とするプリンタドライバを対象OSにインストールし、その環境においてカスタマイズプリンタドライバのインストールセットを作成するツールを起動する必要があった。
このため、情報処理装置(クライアントPC)のOSが複数種混在しているようなネットワーク環境において、ネットワーク管理者等が各クライアントPC用のカスタマイズドライバを作成しようとした場合、OS環境毎に上記のような手順によりカスタマイズプリンタドライバを作成する必要があった。これは、カスタマイズプリンタドライバの作成者にとっては負担が大きいものであり、作成効率も良くなく、使用態様の多様化に対応しにくいものであった。
また、従来のカスタマイズ技術では、UIのDisable制御(設定変更ができない項目を指定して、その項目に対する入力を受け付けないようにする入力制御)は可能であったが、項目自体を非表示とする制御(以下、これを「Hide制御」という)を行なうことができなかったため、カスタマイズプリンタドライバを利用するユーザからすると、カスタマイズの結果として設定項目がDisable表示されているのか、他の印刷設定との排他的処理(コンフリクト処理)により、その項目がDisable表示されているか、区別がつかず、カスタマイズプリンタドライバのユーザにとっては判断がつかず、カスタマイズの設定に関する操作入力は容易なものでなかった。
上述の先行技術として、例えば、以下の特許文献1及び特許文献2に示されるものがある。
特開平8−278871号公報 特開平11−134148号公報
上述の従来技術では、カスタマイズの設定に関する操作入力はユーザにとってわかりにくいものであるため、作業効率を向上させるべく、操作入力を容易にする技術が求められている。
本発明は、上記課題に鑑みてなされたものであり、プリンタドライバのインストールを行なわずにカスタマイズドライバのインストールセットを作成し、作業効率の向上を可能にする情報処理技術の提供を一つの目的とする。
あるいは、プリンタドライバが、カスタマイズに対応していないOS用のものであっても、ユーザの所望するカスタマイズを反映させたカスタマイズドライバを作成することが可能であるので、カスタマイズに関する作業効率の向上を図ることを可能にする情報処理技術の提供を別の目的とする。
上記のいずれかの目的を達成するべく、本発明に係る情報処理装置は、
印刷設定を含むプロパティを取得する取得手段と、
オペレーティングシステムに対してデバイスドライバを稼動可能に登録することなく、前記取得手段が取得した印刷設定を含むプロパティを、前記デバイスドライバに対して設定する設定手段とを有することを特徴とする。
または、印刷装置を制御するデバイスドライバを、プロパティの設定によりカスタマイズする情報処理装置は、
前記デバイスドライバがカスタマイズに対応しているか判別する判別手段と、
前記判別手段の判別により、前記デバイスドライバがカスタマイズに対応していると判別された場合、前記デバイスドライバのプロパティの設定を行なうための設定画面を表示手段に表示させる設定手段と、
前記設定手段により設定された前記デバイスドライバのプロパティに対応するデータを取得する取得手段と、
前記取得手段により取得されたデータを、前記設定手段により設定された前記デバイスドライバのプロパティに基づくユーザインタフェースを前記表示手段に表示させる表示制御手段と
を備えることを特徴とする。
本発明によれば、プリンタドライバのインストールを行なわずにカスタマイズドライバのインストールセットを作成し、作業効率の向上を可能にする情報処理技術の提供が可能になる。
あるいは、本発明によれば、プリンタドライバが、カスタマイズに対応していないOS用のものであっても、ユーザの所望するカスタマイズを反映させたカスタマイズドライバを作成することが可能であるので、カスタマイズに関する作業効率の向上を図ることを可能にする情報処理技術の提供が可能になる。
[第1実施形態]
以下、添付図面を参照して本発明の好適な実施形態を説明する。なお、本実施形態ではMicrosoft(登録商標)社製PC用OS(Operating System)であるWindows(登録商標)のプリンタドライバをカスタマイズする方法を例として説明する。
図1は、本発明の実施形態に係る印刷処理システムの構成を示すブロック図である。この印刷処理システムは、情報処理装置(以下、「ホストコンピュータ」ともいう)3000と、このホストコンピュータ3000より印刷データを受信して印刷を行なうプリンタ1500を備えている。
ホストコンピュータ3000において、CPU1は、RAM2に記憶されているプログラムに従って、システムバス4に接続される各デバイスを総括的に制御している。このRAM2は、CPU1の主メモリ、ワークエリア等としても機能している。ROM3は、各種プログラム及びデータを格納しており、各種フォントを記憶するフォントROM3a、ブートプログラムやBIOS等を記憶するプログラムROM3b、及び各種データを記憶するデータROM3cに区分けして構成されている。
キーボードコントローラ(KBC)5は、キーボード(KB)9や不図示のポインティングデバイス(マウス)からのキー入力を制御する。CRTコントローラ(CRTC)6は、CRTディスプレイ(CRT)10への表示を制御している。ディスクコントローラ(DKC)7は、ハードディスクなどの外部メモリ11へのアクセスを制御している。プリンタコントローラ(PRTC)8は、双方向性インターフェース21を介してプリンタ1500に接続され、プリンタ1500との間で通信制御処理を行なう。
外部メモリ11は、例えばハードディスク(HD)やMO或はフロッピー(登録商標)ディスク(FD)等であり、図示の如く、オペレーティングシステムプログラム(以下、OS)205をはじめ各種アプリケーション(例えば、図形、イメージ、文字、表等が混在した文書処理を行なう文書処理アプリケーションプログラム)201、印刷処理関連プログラム204を記憶している他に、ユーザファイル、編集ファイル等も記憶している。印刷処理関連プログラム204は、ページ記述言語を用いて記述される印刷データを生成するプログラムであって、同系列の複数のプリンタに対して共通に利用され得る。また、この印刷処理関連プログラム204は、プリンタ制御コマンド生成モジュール(以下、プリンタドライバ)2041、プリンタドライバUI制御モジュール2042をも含んでいる。
外部メモリ11に記憶された、本実施形態に係るカスタマイズツールプログラム(以下、単に、「カスタマイズツール」という。)を含むアプリケーション201は、RAM2にロードされてCPU1により実行される。またCPU1は、例えば、RAM2へのアウトラインフォントの展開(ラスタライズ)処理を実行し、CRT10上でのWYSIWYG(What You See Is What You Get)を可能としている。更に、CPU1は、CRT10上の不図示のマウスカーソル等で指示されたコマンドに基づいて、登録された種々のウインドウを開き、種々のデータ処理を実行する。ユーザは印刷を実行する際、印刷設定画面(プリンタドライバUI制御モジュール2042により制御される)を開き、プリンタの設定や、印刷モードの選択を含むプリンタドライバ2041に対する印刷処理の設定を行なうことができる。
次にプリンタ1500の構成について説明する。CPU12は、プリンタ1500の全体の動作を制御している。RAM19は、CPU12の主メモリ、ワークエリア等として機能するとともに、出力情報展開領域、環境データ格納領域としても用いられる。またこのRAM19は、NVRAM(Non-volatile RAM:不揮発性RAM)領域も備えており、図示しない増設ポートに接続されるオプションRAMによりメモリ容量を拡張することができるように構成されている。ROM13は、各種フォントを記憶するフォントROM13a、CPU12により実行される制御プログラム等を記憶するプログラムROM13b、及び各種データを記憶するデータROM13cを備えている。入力部18は、ホストコンピュータ3000との間でデータの送受信を行なう。印刷部インターフェース(I/F)16は、プリンタエンジンである印刷部17とのインターフェースを制御している。
外部メモリ14は、メモリコントローラ(MC)20によりアクセスが制御されており、オプションとして接続されるハードディスク(HD)、MO、フロッピー(登録商標)ディスク(FD)、ICカード等を含んでおり、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。尚、ハードディスク等の外部メモリ14が接続されていない場合には、ROM13のデータROM13cに、ホストコンピュータ3000で利用される情報等を記憶することになる。尚、この外部メモリ14は1個に限らず複数備えるものであってもよく、例えば、内蔵フォントに加えてオプションフォントカード、言語系の異なるプリンタ制御言語を解釈するプログラム等を格納した外部メモリを複数接続できるように構成されていてもよい。
操作部1501には、ユーザによる操作を受け付ける操作パネルが設けられ、その操作パネルには操作のためのスイッチ及びLED表示器等が配されている(不図示)。また、不図示のNVRAM(Non-volatile RAM:不揮発性RAM)を有し、操作パネルからのプリンタモード設定情報を記憶するようにしてもよい。
CPU12は、ROM13のプログラムROM13bに記憶された制御プログラム等に基づき、印刷部インターフェース16を介して印刷部(プリンタエンジン)17に出力情報としての画像信号を出力する。また、CPU12は入力部18を介してホストコンピュータ3000との通信処理が可能となっており、ホストコンピュータ3000から送信される印刷データを受信すると共に、プリンタ1500内の情報等をホストコンピュータ3000に通知可能に構成されている。
図2は、所定のアプリケーション及び印刷処理関連プログラムを起動して、ホストコンピュータ3000のRAM2にプログラムやデータがロードされた状態でのRAM2のメモリマップを示す図である。
RAM2には、図示の如く、BIOS206、OS205をはじめ、アプリケーション201、印刷処理関連プログラム204、及び関連データ203がロードされている。更に、空きメモリ領域202も確保されている。これにより、アプリケーション201及び印刷処理関連プログラム204が実行可能な状態となる。尚、印刷処理関連プログラム204におけるプリンタドライバUI制御モジュール2042(図1)は、ユーザによる印刷設定指令に応じてCRT10に印刷設定画面を表示し、KB9などを使用したユーザからの設定を可能にする。
図3は、カスタマイズツールのUIを例示する図である。カスタマイズツールは、Windows (登録商標)2000/XP/Server 2003上で動作し、Windows (登録商標)98/ME、Windows (登録商標)NT4.0、Windows (登録商標)2000/XP/Server 2003向けの各プリンタドライバをカスタマイズすることを、例としているが、本発明の趣旨は、必ずしもこれらのOSに限定されるものではなく、プリンタドライバを実際にインストールすることなく、擬似API(この内容は後に詳細に説明する)により、OSに対応するAPIの動作をシミュレートする内容は、個別の関数を動作させる引数の設定を変更、追加等することにより対応することは可能であることはいうまでもない。
図3において、ユーザがメニュー301の"開く"を指定すると、カスタマイズを行なうドライバセットのフォルダを指示するためのダイアログ(不図示)が表示されて、カスタマイズを行なうドライバの格納先を指示することができる。指示されたフォルダは、表示欄302に表示され、指示されたドライバセットの対応OSが表示欄303に表示される。
リストビュー305には、カスタマイズを行なうプリンタドライバの対応機種とカスタマイズを行った情報に対して識別表示「On」が表示されるようになっている。チェックボックス310をチェックすると、ボタン311が有効となり、ボタン311を押下するとカスタマイズ用のプリンタドライバUI(図4)が表示され、印刷設定(ドキュメントプロパティ)の初期値設定、デバイスの設定(プリンタプロパティ)等の初期値設定を行なうことができる。
チェックボックス320をチェックすると、ボタン321が有効となり、ボタン321を押下すると、プリンタドライバUI上のコントロールの表示方法をカスタマイズするためのUI(図5)が表示され、カスタマイズ用のプリンタドライバUI上におけるコントロールの表示方法を設定することができる。
ボタン330を押下することで、カスタマイズドライバの作成先を指定するためのダイアログ(不図示)が表示され、カスタマイズドライバの作成先を指定することができる。
各種設定を行った後、ボタン340を押下すると、設定に従ってカスタマイズされたプリンタドライバが作成される。
図4は、図3のUIにおいて、ボタン311を押下すると表示されるプリンタドライバ(以下、単に「ドライバ」ともいう)の初期設定値カスタマイズ用のプリンタドライバUI(初期設定値カスタマイズUI)である。
カスタマイズツールはCPU1の制御の下、情報処理装置の設定部として機能し、かかる設定部は、例えば、図4に示すUI画面のような文書のプロパティ設定とデバイスのプロパティ設定を行なうための設定画面をCRT上に表示させる。
Windows(登録商標) NT4.0、Windows (登録商標)2000/XP/Server 2003のプリンタドライバでは、文書用の設定を行なうドキュメントプロパティのUIと、デバイスの設定を行なうプリンタプロパティのUIとが同時に1つのUI画面中に表示されることは、通常のインストールによるプリンタドライバの設定に関するUI画面では表示され得ない。しかしながら、本発明の実施形態にかかるカスタマイズ用のプリンタドライバUIは、カスタマイズツールがプリンタドライバのモジュールを利用して表示を行っており、文書用の設定を行なうドキュメントプロパティのUIと、デバイスの設定を行なうプリンタプロパティのUIとを同時に1つのUI画面(図4)として表示するようになっている。図4において、ドキュメントプロパティのUIとして、ページ設定401、仕上げ402、給紙403、印刷品質404の4種類のUIが表示可能であり、そして、プリンタプロパティのUIとしてデバイスの設定405が表示可能である。これらの各UI(401〜405)を介して、ドキュメントプロパティの初期値設定と、プリンタプロパティの初期値設定を行なうことができる。
また、カスタマイズ対象でない設定に関して、図4に示すUIは、例えば、参照番号410のようにグレイアウト表示により、ユーザによる設定の入力を受け付けないように構成されている。
図5は、ドキュメントプロパティ表示コントロール設定UIを例示する図であり、図3でボタン321を押下した際に、ホストコンピュータ3000のCRT10上に表示される。図5に示す画面例では、ページ設定501、仕上げ502、給紙503、印刷品質504、共通505の5種類について、表示制御の設定が可能である。ページ設定501、仕上げ502、給紙503、印刷品質504は、それぞれ、図4のドキュメントプロパティのUIと対応する表示制御の設定を行なうことが可能であり、共通505は、これらの表示制御に共通の表示制御の設定を行なうことが可能である。
506は、コントロール項目「Job Operations」の設定を具体的に示しており、有効表示(通常通りの表示)、無効表示(常にDisable表示)、非表示を指定することができる。同様にその他の各コントロール項目について個別に、有効、無効、非表示の設定をすることでドキュメントプロパティのUIに関する表示をコントロールすることができる。これらの設定を入力すると、カスタマイズツールは、GPDファイルに書き込む。なお、無効表示には、グレーアウト表示などをして、ユーザの操作を不能にするものを含む。
カスタマイズツールはCPU1の制御の下、情報処理装置の表示制御部として機能し、表示制御部は設定された文書のプロパティ(コントロール項目を含む)に基づいて、ユーザインタフェース(UI)における項目の有効表示、無効表示または非表示を制御することができる。GPDファイルは、UPDファイルとほぼ同一のデータ構造を有する。
次に、図6のフローチャートを用いて、カスタマイズツールの基本動作について説明する。尚、基本動作の実行においては、ホストコンピュータ3000におけるCPU1により実行されるカスタマイズツールが動作の主体となるものとする。
まず、ステップS601において、ユーザがカスタマイズツールを起動すると、カスタマイズツールの初期化処理がなされ、ステップS602において、カスタマイズツールは、図3で説明したUI画面をCRT10上に表示する。ステップS603において、ユーザがカスタマイズを行なうプリンタドライバのインストールセットを図3のUI画面から指示すると、ステップS604において、指示されたインストールセットのチェック処理を行なう。カスタマイズツールは、インストールセットのチェック処理において、図7に示すプリンタドライバのインストール情報を記述するファイル(以下、「infファイル」という)の記述内容から(図7の701、710、720)、指示されたインストールセットに対応可能なOSか、指示されたプリンタドライバがカスタマイズツールによるカスタマイズに対応したプリンタドライバであるかを判定する。
ここで、図7は、プリンタドライバのインストール情報を記述するinfファイルの記述内容を例示する図である。このinfファイルには、モジュール記述情報が含まれており(不図示)、このモジュール記述情報に基づいて、カスタマイズツールはプリンタドライバのUI処理を行っているモジュールを特定することができるものとする。図7において、700はWindows(登録商標)98/ME用のinfファイルの一部を示し、710はWindows(登録商標)NT4.0用のinfファイルの一部を示し、そして720はWindows(登録商標)2000/XP/Server2003用のinfファイルの一部を示している。CPU1により実行されるカスタマイズツールは、infファイル700中の「Signature」の設定730が、文字列リソース("$CHICAGO$")であれば、Windows(登録商標)98/ME用のプリンタドライバと判断する。
また、カスタマイズツールは、infファイル(710、720)中の「Signature」の設定(740、750)が、文字列リソース("$Windows(登録商標) NT$")である場合は、Windows(登録商標)NT4.0用または、Windows(登録商標)2000/XP/Server 2003用のドライバのいずれかであると判断し、更に、カスタマイズツールは、絞り込みを行なうために、infファイル(710、720)中にける「DISK1」(760、770)の設定文字列リソース内に「NT」が含まれている場合にはWindows(登録商標) NT4.0用と判断し、含まれていない場合には、Windows (登録商標) 2000/XP/Server 2003用と判断する。
カスタマイズに対応しているプリンタドライバは、そのことを示すための文字列リソースをinfファイル中に含んでいるので、カスタマイズツールは、判別に際して、その文字列リソースがプリンタドライバのinfファイル中に含まれているかを判断することにより、カスタマイズに対応しているか判別することができる。
説明を図6に戻し、ステップS605において、プリンタドライバがカスタマイズに対応していないとカスタマイズツールにより判別される場合は(S605−NO)、処理をステップS610に進めて、エラー処理を行い、再度インストールセットの指示ステップ(S603)に戻る。
一方、ステップS605の判定において、プリンタドライバがカスタマイズに対応しているとカスタマイズツールにより判別される場合には(S605−YES)、処理をステップS606に進め、カスタマイズツールは、CRTC6を制御してCRT10上に図3〜図5で説明したUI画面を表示させてプリンタドライバのカスタマイズの設定を可能にする。図3〜図5で入力される設定がカスタマイズデータとなる。
尚、カスタマイズデータには様々なデータが含まれる。デバイスドライバのユーザインタフェースのコントロールの表示、非表示のための制御データや、図14に示すようなデバイスドライバの設定値が含まれる。
図14は、このデバイスモード(DEVMODE)のデータ構造の一例を示す図である。
ここでは、用紙向き(dmOrientation)、用紙サイズ(dmPaperSize)、用紙幅(dmPaperWidth)、部数(dmCopies)などが格納されている様子が記載されている。その他、このDEVMODEデータ構造体はレジストリに格納される。プリンタドライバ2041は、このレジストリに格納されたDEVMODEデータ構造体を読み書きすることで、デフォルトの印刷設定環境や、後述する「お気に入り」を読み込んでユーザインタフェースにも反映することができる。
ここで「お気に入り」とは、プリンタドライバ2041の複数の印刷設定を一纏まりにしたものである。ユーザは、この一纏まりの設定からなる「お気に入り」をプリンタドライバ2041のユーザインタフェースで指定することで所望の動作環境を得ることができる。例えば、スタンプとステイプルをよく用いるユーザの場合には、これらステイプルとスタンプ設定の組を「お気に入り」として登録することにより、この「お気に入り」を選択するだけで、複数の設定を所望の値に設定して印刷させることができる。このようなデータを、プロパティ情報の一例であるカスタマイズデータとして、カスタマイズツールが保持し、後述するGPDファイルに書き込む。
図3〜図5のUI画面を通じて、プリンタドライバのカスタマイズに関する設定がなされてカスタマイズの指示がなされると(S607)、カスタマイズツールは、UI画面で指示された内容(カスタマイズデータ)に基づいてカスタマイズしたドライバ(以下、「カスタマイズドライバ」ともいう。)の作成処理を行なう。カスタマイズデータは、プリンタドライバが読み出し可能なファイルであるGPDファイルに設定される。プリンタドライバは、インストールされ、稼動状態に設定されると、GPDファイル内の設定値を読み込む。そして、プリンタドライバは、GPDファイル内のカスタマイズされた値をプリンタドライバに反映する。例えば、よく使う印刷設定値(両面、2in1など)のプリセットをプリンタドライバに予め反映しておく。カスタマイズされたドライバをインストールするだけで、よく使う印刷設定値や、ドライバに対して操作前の状態に戻す指示があった場合にドライバに設定される、印刷設定のカスタマイズされたデフォルト値がプリンタドライバに設定された状態となる。
カスタマイズツールはCPU1の制御の下、情報処理装置の生成部として機能し、かかる生成部は設定された文書のプロパティまたはデバイスのプロパティを、プリンタドライバ(デバイスドライバ)の情報ファイルに書き込み、デバイスライバをカスタマイズしたドライバ(カスタマイズドライバ)を生成する。
すなわち、カスタマイズツールは、カスタマイズドライバの作成処理において、カスタマイズ元のインストールセットをカスタマイズドライバ作成先にコピーした後、コピー先のインストールセットに含まれているドライバ情報ファイル(このファイルを「UPDファイル」ともいう)へカスタマイズデータを書き込むことでカスタマイズドライバを作成する。
ここで、図9は、プリンタドライバを構成する1ファイルである、ドライバ情報ファイル(UPDファイル)のデータフォーマットを説明する図である。同図に示すように、UPDファイルはヘッダ901、ID定義902、データ903からなる。ID定義902には、データ903に格納されているデータのIDと、データの格納位置(アドレス)との組が格納されている。そして、その組がIDの数に相当する分のセットで格納されている。本実施形態に係るカスタマイズツールでは、カスタマイズ用に定義されたIDに対応するデータの値を変更している。尚、ID定義902に使用したいカスタマイズデータのIDが定義されていない場合は、そのカスタマイズデータに対応する新たなIDがID定義902に追加される。
UPDファイルは対応するデバイスドライバ(プリンタドライバ)ごと(機種毎)に存在する。よって、機種毎に異なるカスタマイズを行なうことが可能である。例えば、ある機種に対応したカスタマイズ済みのドライバセットを使用して、他の機種のドライバをカスタマイズすることも可能である。また、ID定義902ではカスタマイズ用のIDを使用しているため、新しいバージョンのプリンタドライバに、それ以前にカスタマイズしたプリンタドライバの設定を引き継ぐこともできる。
カスタマイズされたプリンタドライバは、カスタマイズツールにより、カスタマイズデータが書き込まれたUPDファイルを、インストール時又は初回の起動時に読み込み、UPDファイルのID定義902の所定IDに対応付けて格納されたデータ903を読み込むように実装される。例えば、カスタマイズツールにより作成されたUPDファイルには、ID定義902内に「CUSTUMIZED」を示すIDと、そのデータ格納位置として番地Xが格納されているとする。
カスタマイズ対応のプリンタドライバは、インストール完了又は初回起動時において、ID定義902内に「CUSTUMIZED」を示すID情報が記憶されていた場合、その情報に対応する番地を読み出すように予め実装されている。よって、このプリンタドライバは、インストール完了時又は初回起動時には、UPDファイルのID定義902内に「CUSTUMIZED」を示すIDを含むとき、そのID定義から対応するデータの番地Xを読み出す。続いて、そのプリンタドライバは、この番地Xのデータ903から、実際のドライバ設定データであるデバイスモードのデータ構造を更に読み出す。尚、ここで番地Xは絶対アドレスであってもよく、或はヘッダ901にデータ903の先頭アドレスを格納しておき、番地Xにはこのデータ903の先頭番地からのオフセットアドレスをセットしてもよい。
カスタマイズツールはCPU1の制御の下、情報処理装置の表示制御部として機能し、かかる表示制御部は、プリンタドライバの起動時において、図3乃至図5のUIを介して設定されたカスタマイズ情報(たとえばコントロールの表示制御の指定や、印刷設定情報のデフォルト値など)を反映したプリンタドライバのドライバ情報ファイルを参照し、ユーザインタフェースをCRT10に表示させることができる。
本実施形態において、カスタマイズツールは、カスタマイズデータとして、文書用の設定を行なうドキュメントプロパティに関する初期値データ(図4の401〜404により設定されるデータ)と、デバイスの設定を行なうプリンタプロパティに関する初期値データ(図4の405により設定される)、及び、ドキュメントプロパティに関するUI上のコントロールの表示方法に関するデータ(図5のUI画面より設定されたデータ)をUPDファイルに対して書き込みを行なう。カスタマイズされたプリンタドライバは、インストール完了時又は初回起動時に、カスタマイズツールにより作成されたUPDファイルを読み込み、カスタマイズ情報を元に動作する。これにより、カスタマイズされたプリンタドライバの動作環境を容易に構築することができる。
すなわち、印刷装置を制御するデバイスドライバ(プリンタドライバ)を、プロパティ(文書用の設定を行なうドキュメントプロパティに関する初期値データと、デバイスの設定を行なうプリンタプロパティに関する初期値データ)の設定によりカスタマイズする情報処理装置は、好適には、デバイスドライバがカスタマイズに対応しているか判別する判別部と、判別部の判別により、デバイスドライバがカスタマイズに対応していると判別される場合、文書のプロパティ設定とデバイスのプロパティ設定を行なうための設定画面(図3〜図5)をCRT10上に表示させる設定部と、設定されたデバイスドライバのプロパティに対応するデータを取得する取得部と、取得部により取得されたデータを、設定部により設定された文書のプロパティ及びデバイスのプロパティに基づくユーザインタフェースに表示する表示制御部を備える。
または、情報処理装置は、好適には、印刷設定を含むプロパティを取得する取得部と、オペレーティングシステムにデバイスドライバを稼動可能に登録することなく、取得部が取得した印刷設定を含むプロパティを、デバイスドライバが読み出し可能な状態になるように、デバイスドライバに設定する設定部とを有する。情報処理装置において、上述の各部は、CPU1の制御の下、カスタマイズツールを実行することにより、各部の処理が実行される。
説明を図6に戻し、カスタマイズドライバが作成された後(S608)、ユーザから終了指示がなされる(S609)とカスタマイズツールの動作を終了する(S611)。
次に、図8のフローチャートを用いて、CPU1により実行されるカスタマイズツールが、プリンタドライバのカスタマイズ用UIを表示する処理について説明する。尚、本処理の実行においては、ホストコンピュータ3000におけるCPU1により実行されるカスタマイズツールが動作の主体となるものとする。
図3のボタン311が押下されると、カスタマイズツールは、プリンタドライバのUI処理を行っているモジュールをinfファイルに含まれているモジュール記述情報を元に特定し、カスタマイズツールから呼び出しが可能なように、メモリにロードする(S801)。
次に、ステップS802において、プリンタドライバのモジュールがエクスポートしている関数のアドレスを取得し(S802)、カスタマイズツールと、カスタマイズに対応しているプリンタドライバとの間で情報をやりとりするための構造体であるCSPL構造体(不図示)を初期化する(S803)。CSPL構造体には、インストールされていなくてもプリンタドライバのUI制御が可能なように各種の情報が保存される。
その後、ステップS804においてプロパティシート(カスタマイズ用のドライバUI)の表示処理を行なう。このとき、図4で示したように、ドキュメントプロパティとプリンタプロパティを同時にカスタマイズできるように、両方のプロパティページが1つのUI画面に表示されるようにプロパティシートの表示関数を呼び出す。
カスタマイズ用のドライバUIがユーザによって閉じられると、カスタマイズ用のドライバUIにて設定された情報がCSPL構造体に保持されるので、カスタマイズツールは、その情報に対応するプリンタドライバの情報をCSPL構造体(DeviceOption構造体、Devmode構造体を含む)から取得する(S805)。
カスタマイズツールは、CPU1の制御の下、文書のプロパティまたはデバイスのプロパティ(デバイスドライバに設定可能なプロパティ)に対応するプリンタドライバのデータを取得する取得部として機能し、かかる取得部は、プリンタドライバの設定に関するデータを保持し、データの受け渡しが可能なデータ保持部(CSPL構造体)とデータの受け渡しを行なうことにより、プリンタドライバの情報を取得することができる。この際、取得部は、UI画面(図3〜図5)により設定された文書のプロパティまたはデバイスのプロパティに対応するデータを、データ保持部(CSPL構造体)に保持させて、データ保持部(CSPL構造体)からこれらのプロパティに対応するプリンタドライバの情報をカスタマイズ用の設定情報として取得する。このカスタマイズ用の設定情報に基づいて、表示制御部として機能するカスタマイズツールは、設定された文書のプロパティ及びデバイスのプロパティに基づいてカスタマイズされたユーザインタフェースをCRT10に表示させる。
カスタマイズの設定情報として、プリンタプロパティの設定情報は、DeviceOption構造体(不図示)に、ドキュメントプロパティの設定情報は、Devmode構造体(不図示)に格納されており、カスタマイズツールは、これらに格納されている設定情報をカスタマイズの設定情報として取得する。
その後、ステップS806において、先のステップS801において、メモリにロードしたモジュールをアンロードして、カスタマイズ用ドライバUIの表示を終了する(S807)。
この処理フローについては、プリンタドライバの対応OSによって若干処理は異なっている。例えば、Windows(登録商標) NT4.0とWindows(登録商標) 2000/XP/Server 2003は、ドライバUIの表示にCommon Property SheetUIというOSの仕組みを利用しているので、必要な前処理をして、Common Property SheetUI関数の呼び出しを行っている。一方、Windows (登録商標)98/MEでは、必要な前処理をして、Property Sheet関数を呼び出してUIの表示を行っている。ただし、基本的な処理フローについては図8で示したとおりである。
図10Aは、プリンタドライバが実装しているWindows(登録商標) API(ApplicationProgramming Interface:アプリケーション プログラム インターフェース)の呼び出しについて説明する図である。プリンタドライバがインストールされている場合は、プリンタドライバのUI処理1010において、Windows (登録商標)API(図中では、単に「API」と示す)を呼び出し1040(通常の呼び出し時)、カスタマイズに対応したプリンタドライバがインストールされていない場合であって、カスタマイズツールからの呼び出しの場合は、疑似Windows (登録商標)API1060(図中では、単に「擬似API」と示す)を呼び出し(1050)、対応関係にあるWindows (登録商標)APIの処理を疑似Windows (登録商標)APIで擬似的にシミュレートして、その結果をプリンタドライバUI処理1010に返す。
図10Bに示す1030は、Windows (登録商標)APIと対応する疑似(登録商標) API名の関係を示す図であり(図中では、それぞれ「API」、「擬似API名」と示す)、この対応関係は、インストールされているプリンタドライバに予め設定しておくことができるものとする。なお、通常、プリンタドライバのユーザインタフェースを制御するプログラムは、ドライバに対する入力に応じてWindows (登録商標)APIの呼び出しを行なう。本実施形態では、プリンタドライバをインストールしていない状態では、Windows(登録商標) APIを呼び出すことはできないが、擬似APIを呼び出すことは出来るよう構成されている。
疑似Windows(登録商標) APIは、カスタマイズツールからの呼び出しの場合、疑似Windows (登録商標) APIがWindows (登録商標) APIの処理をシミュレートして処理をプリンタドライバUI処理1010に返し、OSにプリンタドライバがインストールされた後に通常のドライバUIとして呼び出された場合には、通常のWindows(登録商標) API1020の呼び出しを行って、処理をプリンタドライバUI処理1010に返す。
図11は、疑似Windows(登録商標) API(図中では、単に「擬似API」と示す)の呼び出しに関する処理の流れを説明するフローチャートである。尚、本処理の実行においては、ホストコンピュータ3000におけるCPU1により実行されるカスタマイズツールが動作の主体となるものとする。
まず、ステップS1110において、カスタマイズツールは、疑似Windows (登録商標)APIの引数に含まれるプリンタハンドル(引数)が、カスタマイズツールからの呼び出し時に受け渡されるCSPL構造体のアドレス情報(以下、単に「アドレス情報」ともいう)であるかを判定する。この判定方法は、CSPL構造体の先頭メンバはCSPL構造体のサイズを示すようになっているので、渡されたプリンタハンドル(引数)をCSPL構造体の先頭アドレスとして扱って参照し、CSPL構造体のサイズと一致している場合には、引数のプリンタハンドルはCSPL構造体のアドレスであると判断する(S1110−YES)。プリンタドライバUIモジュールは、処理結果、たとえばUIを通して入力された印刷設定の各項目の値や、コントロールの表示の指定を、ハンドルで指定された構造体に保存し、処理を終了する。
引数のプリンタハンドルがCSPL構造体のアドレスではない場合(S1110−NO)、通常のプリンタドライバの動作となるので、そのまま、Windows (登録商標)API(図中では、単に「API」と示す)の呼び出しを行って(S1120)、処理を終了する。プリンタドライバUIモジュールは、処理結果、たとえばUIを通して入力された印刷設定の各項目の値や、コントロールの表示の指定を、ハンドルで指定された構造体に保存し、処理を終了する。
ステップS1110の判断において、引数のプリンタハンドルがCSPL構造体のアドレスと一致する場合には(S1110−YES)、処理をステップS1130に進め、カスタマイズツールからの呼び出し、すなわち、プリンタドライバがインストールされていない状態で、Windows (登録商標)APIの呼び出しを行なう。この場合、プリンタドライバをインストールしていない状態では、Windows(登録商標) APIを呼び出すことはできないので、擬似Windows(登録商標) API によりWindows (登録商標)APIと同等の処理を行って(S1130)、その処理結果をプリンタドライバUI処理1010に戻し、処理を終了する。
以上の処理により、カスタマイズツールはCPU1の制御の下、情報処理装置の選択部として機能し、かかる選択部は、データ保持部(CSPL構造体)に保持されているアドレス情報(先頭アドレス)に基づいて、使用する(呼び出すべき)アプリケーションプログラムインタフェース(Windows (登録商標)API、または疑似Windows (登録商標)API)を選択する。
図12は疑似Windows (登録商標)APIの一例として、プリンタドライバからCSPL_GetVersionEx()関数(図10Bの1040を参照)を呼び出す場合の処理の流れを示すフローチャートである。本処理の実行においては、ホストコンピュータ3000におけるCPU1により実行されるカスタマイズツールにより、プリンタドライバUIが呼び出され、さらにCSPL_GetVersionEx()関数が呼び出される。同関数がシミュレートするWindows (登録商標)APIは、Windows (登録商標)GetVersionEx()であり(図10Bの表1030を参照)、このWindows (登録商標)APIはホストコンピュータ上で動作しているOSのバージョンに関する情報をプリンタドライバUI側の処理1010に返す処理を行なう。
まず、ステップS1210において、CSPL_GetVersionEx()関数は、関数の引数であるプリンタハンドルが、呼び出し時に受け渡されるCSPL構造体のアドレスであるかを判定する。この判定方法は、図11のステップS1110で説明した判定方法と同様である。CSPL構造体のアドレスでない場合は(S1210−NO)、処理をステップS1220に進め、通常のプリンタドライバとして動作するWindows(登録商標) APIである、GetVersionEx()関数1040を呼び出して(S1220)、処理を終了する。
一方、ステップS1210の判定において、関数の引数がCSPL構造体のアドレスと一致する場合には(S1210−YES)、処理をステップS1230に進め、CSPL構造体の中に保持されているプリンタドライバに対応するOSの情報を元にGetVersionEx()関数の処理を擬似的に処理(GetVersionEx()関数の処理と同等の処理を実行)する(S1230)。CSPL_GetVersionEx()関数は、ステップS1230においても、GetVersionEx()関数と同じ処理結果をプリンタドライバUIモジュールに返す。これは他の関数についても同様である。
例えば、図3〜図5のUI画面から設定された文書のプロパティまたはデバイスのプロパティに対応して呼び出されるアプリケーションプログラムインタフェース(擬似Windows (登録商標)API)は、設定された文書のプロパティまたはデバイスのプロパティに対するプリンタドライバにおける処理を擬似的に処理する(Windows (登録商標)APIの処理と同等の処理を実行する)。
ステップS1230、またはステップS1220の処理後、図12のフローチャートの処理を終了する。
これにより、例えば、Windows(登録商標)98/MEのドライバモジュールのUI制御に関する処理が、カスタマイズツールからの呼び出しによって行われる場合、実際に動作しているOSは、カスタマイズツールが対応しているWindows (登録商標)2000/XP/Server 2003なのであるが、CSPL構造体には、ドライバモジュールの対応OSとして、Windows(登録商標) 98/MEであるという情報が含まれているので、OSのバージョン情報として「Windows (登録商標)ME」であるという値を返して、Windows (登録商標)98/MEのドライバモジュールのUI制御処理に破綻が生じないようにすることができる。
つまり、カスタマイズの対象はWindows(登録商標)98/MEのプリンタドライバとドライバ情報(例えば、INFファイルやドライバユーザインタフェースモジュール)である。本実施形態ではカスタマイズツールはWindows (登録商標)2000/XP/Server 2003に対応しており、カスタマイズツールが実行される環境はこれらのいずれかのOSにより制御されるものとする。CSPL構造体は、図8のステップS803で初期化されるので、たとえばこのときにCSPL構造体にOSのバージョンを示すデータとして、Windows(登録商標) 98/MEであるという情報が書き込まれる。これにより、CSPL構造体には、ドライバモジュールの対応OSはWindows(登録商標) 98/MEであるという情報(OSのバージョン情報)が含まれている。そこで、CSPL_GetVersionEx()関数は、ステップS1230において、CSPL構造体のOSのバージョン情報にアクセスし、「Windows (登録商標)ME」であるという値をコール元のプリンタドライバUIモジュールに返す。
これは、他の疑似Windows(登録商標) APIについても同様であり、実際にプリンタドライバがインストールされていないので本来、Windows(登録商標)APIの呼び出しにより、ドライバモジュールのUI制御において不都合が発生してしまう場合でも、疑似関数(擬似API)内での処理により、Windows (登録商標)APIの処理をシミュレートすることで、Windows (登録商標)APIの動作を仮想的にUI制御に反映させることが可能になる。
また、明示的に示していないが、Windows(登録商標)98/MEのプリンタドライバは本来、16bit環境で動作するモジュールである。よって、そのUI処理も16bit環境で行われるようになっている。しかしながら、本実施形態の対象としているWindows(登録商標) 98/MEのプリンタドライバは、そのUI処理において、16bit環境でわたってくるUIの処理をサンクアップというOSの機構を利用し、32bit環境にてUIの実処理を行っている。このため、本実施形態のカスタマイズツールからは、UIの実処理を行っている32bit環境で動作するUIの処理関数を呼び出して、Windows(登録商標) 98/MEのUI表示及び制御を行なうことが比較的容易に行なうことが可能である。
つまり、カスタマイズツールは、印刷設定を含むプロパティを取得する。そして、カスタマイズツールは、オペレーティングシステムにデバイスドライバを稼動可能に登録することなく、カスタマイズツールが取得した印刷設定を含むプロパティを、前記デバイスドライバが読み出し可能な状態になるように、デバイスドライバに設定することができる。なお、当該設定時、デバイスドライバは、オペレーティングシステムが管理するファイルシステムのユーザ領域に記憶された状態にある。なお、前述の「稼動可能に登録」とは、例えば、オペレーティングシステムのアドミニストレータの権限を用いて、オペレーティングシステムがドライバを認識できるようにオペレーティングシステムが管理するレジストリ領域に登録してインストールことである。
前述の処理は、アプリケーションプログラムの一例であるカスタマイズツールにより実行されるものである。カスタマイズツールは、さらに、前記デバイスドライバを介した情報の入力に対して、オペレーティングシステムに代理して前記デバイスドライバに応答する。
そして、このカスタマイズツールの擬似的な代理応答があるので、デバイスドライバは、エラー処理に陥ることなく、前記アプリケーションからの応答を、オペレーティングシステムからの応答として認識し、その後のユーザからの入力による設定処理を続行する。
更に、カスタマイズツールは、プリンタドライバに対する擬似APIによって構成される。更に、カスタマイズツールは、複数種類のオペレーティングシステム用(例えば、Windows(登録商標)NT,Windows(登録商標)95など)のデバイスドライバに対して、前記印刷設定を含むプロパティを設定できる。
プロパティは、カスタマイズツールによりUPDファイルに保存される。作成されたUPDファイルは、カスタマイズ対象のプリンタドライバやプリンタドライバUIモジュール、およびinfファイルと共にインストールセットを構成する。作成されたインストールセットは、記録媒体や通信媒体を介してクライアントコンピュータに配布される。インストーラは、infファイルの記述に従ってインストールを実行する。インストーラは、UPDファイルから読み込んだ各設定項目に対応する値を、devmode構造体やdeviceOption構造体の該当する項目の値として複写する。プリンタドライバおよびプリンタドライバUIモジュールは、devmode構造体やdeviceOption構造体に保存された各項目の値を参照して動作する。
なお、カスタマイズツールは、複数のデバイスドライバに対して、一度の指示でカスタマイズツールが取得した印刷設定に係わる情報を設定できる。
以上説明したように、本実施形態における擬似APIとは、デバイスドライバに対して、オペレーティングを真似てカスタマイズツールが振舞うことで、オペレーティングシステムに稼動状態にインストールされている状態にあるとの錯覚をデバイスドライバに起こさせる。もし、擬似的にカスタマイズツールがデバイスドライバに応答しなければ、デバイスドライバはエラー処理に移行してしまう。これにより、デバイスドライバをインストールすることなく、カスタマイズツールによるカスタマイズ処理を続行させることができる。
図13は、カスタマイズに対応したプリンタドライバのプロパティ設定に関するUI制御の処理の流れを説明するフローチャートである。尚、本処理の実行においては、ホストコンピュータ3000におけるCPU1により実行されるカスタマイズツールが動作の主体となるものとする。図13の手順の中で、図11や図12に示す疑似API関数がコールされ、プロパティシートの表示や、パラメータの取得、設定値の入力が実現される。
まず、ステップS1300において、UI制御の指示が入力されると、カスタマイズツールが起動して、ステップS1310において、UIの初期化処理が行なわれる。ステップS1320において、UI表示に関するカスタマイズ情報が、図9に示すドライバ情報ファイルにある場合には(S1320−YES)、処理をステップS1330に進め、その指示にUI上の表示制御(Disable制御、Hide制御)に反映し、ユーザ操作待機状態にする(S1340)。一方、ドライバ情報ファイルがない場合には(S1320−NO)、ステップS1330の処理をスキップし、ユーザ操作待機状態にする(S1340)。
その後、ユーザの操作が行われるまで待機し(S1340)、UIを閉じる操作がなされた場合(S1350―YES)には、UIの処理を終了(S1370)し、他の操作であった場合は(S1350−NO)、ユーザの操作に対応したUI制御を行い(S1360)、処理をステップS1320に戻す。
これにより、図5で指示されたコントロールの表示方法に関するカスタマイズデータは、図9で示したドライバ情報ファイル内に保持されているので、そのカスタマイズデータに従った、UIコントロールの表示が可能である。
本実施形態では、カスタマイズ情報をUPDファイルというドライバ情報ファイルに書き出すようにしているが、プリンタドライバが参照可能であり、かつ、解析可能なファイルであれば、その形態はUPDファイルに限定されるものではない。従って、次期Windows(登録商標)であるLonghornにおいてはプリンタドライバのドライバ情報ファイルとしてGPDファイルが標準的なものとなっているが、このファイル内にカスタマイズ情報を組み込むようにしてもよい。
本実施形態によれば、プリンタドライバのインストールを行なわずに、ユーザの所望するカスタマイズを反映させてカスタマイズドライバのインストールセットを作成し、個別のOSに対応したプリンタドライバのインストールを不要とすることで、作業効率の向上を図ることが可能になる。UIから入力されたプロパティ情報は、CSPL構造体を介して再度プリンタドライバ情報ファイル(UPDファイル)に保存される。なおこのとき、図3のカスタマイズコード350をプリンタドライバ情報ファイルに、あらかじめ定めた識別コードとともに保存する。
プリンタドライバが、カスタマイズに対応していないOS用のものであっても、複数のプリンタドライバをプリンタドライバのカスタマイズ操作の後の、1回のカスタマイズ完了指示をすると、ユーザの所望するカスタマイズを反映させたカスタマイズドライバを作成することが可能になる。
また、プリンタドライバの初期設定値のカスタマイズにおいては、プリンタドライバのUIと同等のUIを用いて作業が可能であるので、カスタマイズにおける初期設定作業を容易に行なうことができる。かかるUIを利用して設定したカスタマイズの内容を反映させて、表示項目の有効表示、無効表示、非表示を制御することで、ユーザの作業効率、操作の利便性の向上を図ることが可能になる。
カスタマイズドライバは、カスタマイズしていないドライバのインストールセットと同様の構成であるので、Microsoft(登録商標)社製、Windows(登録商標)オペレーティングシステム、または、次期OSであるLonghornにおける、いわゆるPoint&Print環境においてもカスタマイズドライバとして動作することが可能であり、カスタマイズドライバの汎用性を向上させることができる。
[他の実施形態]
なお、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体(または記録媒体)を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明した(図6、図8、図11〜図13)のフローチャートに対応するプログラムコードが格納されることになる。
本発明の実施形態に係る印刷処理システムの構成を示すブロック図である。 所定のアプリケーション及び印刷処理関連プログラムを起動して、ホストコンピュータ3000のRAM2にプログラムやデータがロードされた状態でのRAM2のメモリマップを示す図である。 カスタマイズツールのUIを例示する図である。 初期設定値カスタマイズ用のプリンタドライバUIを示す図である。 ドキュメントプロパティ表示コントロール設定UIを例示する図である。 カスタマイズツールにおける基本動作の処理の流れを説明するフローチャートである。 プリンタドライバのインストール情報を記述するinfファイルの記述内容を例示する図である。 プリンタドライバのカスタマイズ用UIを表示する処理の流れを説明するフローチャートである。 プリンタドライバを構成するUPDファイルのデータフォーマットを説明する図である。 プリンタドライバが実装しているアプリケーション プログラム インターフェース(API)の呼び出しについて説明する図である。 APIと対応する疑似 APIの関係を示す図である。 疑似Windows(登録商標) APIの呼び出しに関する処理の流れを説明するフローチャートである。 疑似Windows (登録商標)APIの一例として、CSPL_GetVersionEx( )関数を呼び出す場合の処理の流れを示すフローチャートである。 カスタマイズに対応したプリンタドライバのプロパティ設定に関するUI制御の処理の流れを説明するフローチャートである。 デバイスドライバのカスタマイズデータの一例を示す図である。

Claims (35)

  1. 印刷設定を含むプロパティを取得する取得手段と、
    オペレーティングシステムに対してデバイスドライバを稼動可能に登録することなく、前記取得手段が取得した印刷設定を含むプロパティを、前記デバイスドライバに対して設定する設定手段と、
    を有することを特徴とする情報処理装置。
  2. 前記取得手段と前記設定手段における処理は、アプリケーションプログラムにより実行されるものであり、
    前記アプリケーションプログラムは、更に、前記デバイスドライバを介した情報の入力に対して、オペレーティングシステムに代理して前記デバイスドライバに応答する応答手段を備えることを特徴とする請求項1に記載の情報処理装置。
  3. 前記デバイスドライバは、前記アプリケーションプログラムからの応答を、オペレーティングシステムからの応答として認識し、応答後の処理を続行することを特徴とする請求項2に記載の情報処理装置。
  4. 前記応答手段は、デバイスドライバに対する擬似アプリケーションプログラムインターフェースによって構成されることを特徴とする請求項2に記載の情報処理装置。
  5. 前記設定手段は、複数種類のオペレーティングシステム用のデバイスドライバに対して、前記印刷設定を含むプロパティを設定できることを特徴とする請求項1記載の情報処理装置。
  6. 複数のデバイスドライバに対して、一度の指示で前記取得手段が取得した印刷設定に係わる情報を設定できることを特徴とする請求項1に記載の情報処理装置。
  7. 印刷装置を制御するデバイスドライバを、プロパティの設定によりカスタマイズする情報処理装置であって、
    前記デバイスドライバがカスタマイズに対応しているか判別する判別手段と、
    前記判別手段の判別により、前記デバイスドライバがカスタマイズに対応していると判別された場合、前記デバイスドライバのプロパティの設定を行なうための設定画面を表示手段に表示させる設定手段と、
    前記設定手段により設定された前記デバイスドライバのプロパティに対応するデータを取得する取得手段と、
    前記取得手段により取得されたデータを、前記設定手段により設定された前記デバイスドライバのプロパティに基づくユーザインタフェースを前記表示手段に表示させる表示制御手段と
    を備えることを特徴とする情報処理装置。
  8. 前記表示制御手段は、前記設定手段により設定されたプロパティに基づいて、前記ユーザインタフェースにおける項目の有効表示、無効表示または非表示を制御することを特徴とする請求項7に記載の情報処理装置。
  9. 前記デバイスドライバの設定に関するデータを保持し、前記取得手段と、当該データの受け渡しが可能なデータ保持手段を更に備え、
    前記取得手段は、前記設定手段により設定されたプロパティに対応するデータを、前記データ保持手段に保持させ、当該プロパティに対応する当該デバイスドライバの情報をカスタマイズの設定情報として取得することを特徴とする請求項7に記載の情報処理装置。
  10. 前記データ保持手段に保持されているアドレス情報に基づいて、使用するアプリケーションプログラムインタフェースを選択する選択手段を更に備えることを特徴とする請求項9に記載の情報処理装置。
  11. 前記設定されたデバイスドライバのプロパティに対応して呼び出されるアプリケーションプログラムインタフェースは、当該設定されたデバイスドライバのプロパティに対する前記デバイスドライバにおける処理を擬似的に処理することを特徴とする請求項10に記載の情報処理装置。
  12. 前記設定されたデバイスドライバのプロパティを前記デバイスドライバの情報ファイルに書き込み、前記デバイスライバをカスタマイズしたドライバを生成する生成手段を更に備えることを特徴とする請求項7に記載の情報処理装置。
  13. 前記表示制御手段は、前記デバイスドライバの起動時において、前記デバイスドライバの情報ファイルを参照し、前記ユーザインタフェースを表示させることを特徴とする請求項7に記載の情報処理装置。
  14. 印刷設定を含むプロパティを取得する取得工程と、
    オペレーティングシステムにデバイスドライバを稼動可能に登録することなく、前記取得工程が取得した印刷設定を含むプロパティを、前記デバイスドライバに設定する設定工程と、
    を有することを特徴とする情報処理方法。
  15. 前記取得工程と前記設定工程における処理は、アプリケーションプログラムにより実行されるものであり、
    前記アプリケーションプログラムは、さらに、前記デバイスドライバを介した情報の入力に対して、オペレーティングシステムに代理して前記デバイスドライバに応答する応答工程を有することを特徴とする請求項14に記載の情報処理方法。
  16. 前記デバイスドライバは、前記アプリケーションプログラムからの応答を、オペレーティングシステムからの応答として認識し、その後の処理を続行することを特徴とする請求項15に記載の情報処理方法。
  17. 前記応答工程は、前記デバイスドライバに対する擬似アプリケーションプログラムインターフェースによって実行されることを特徴とする請求項15に記載の情報処理方法。
  18. 前記設定工程は、複数種類のオペレーティングシステム用のデバイスドライバに対して、前記印刷設定を含むプロパティを設定できることを特徴とする請求項14に記載の情報処理方法。
  19. 複数のデバイスドライバに対して、一度の指示で前記取得工程が取得した印刷設定に係わる情報を設定できることを特徴とする請求項14に記載の情報処理方法。
  20. 印刷装置を制御するデバイスドライバを、プロパティの設定によりカスタマイズする情報処理方法であって、
    前記デバイスドライバがカスタマイズに対応しているか判別する判別工程と、
    前記判別工程の判別により、前記デバイスドライバがカスタマイズに対応していると判別された場合、文書のプロパティ設定と前記デバイスドライバのプロパティ設定を行なうための設定画面を表示手段に表示させる設定工程と、
    前記設定工程で設定されたデバイスドライバのプロパティに対応するデータを取得する取得工程と、
    前記取得工程により取得されたデータを、前記設定工程により設定された前記文書のプロパティ設定及び前記デバイスドライバのプロパティ設定に基づくユーザインタフェースを前記表示手段に表示させる表示制御工程と
    有することを特徴とする情報処理方法。
  21. 前記表示制御工程は、前記設定工程により設定された前記文書のプロパティに基づいて、前記ユーザインタフェースにおける項目の有効表示、無効表示または非表示を制御することを特徴とする請求項20に記載の情報処理方法。
  22. 前記デバイスドライバの設定に関するデータをデータ保持手段に保持させ、前記取得工程における処理において、当該データの受け渡しを行なうデータ保持工程を更に有し
    前記取得工程は、前記設定工程により設定されたデバイスドライバのプロパティに対応するデータを、前記データ保持工程の処理により前記データ保持手段に保持させ、当該プロパティに対応する当該デバイスドライバの情報をカスタマイズの設定情報として取得することを特徴とする請求項20に記載の情報処理方法。
  23. 前記データ保持工程の処理により前記データ保持手段に保持されているアドレス情報に基づいて、使用するアプリケーションプログラムインタフェースを選択する選択工程を更に有することを特徴とする請求項22に記載の情報処理方法。
  24. 前記設定されたデバイスドライバのプロパティに対応して呼び出されるアプリケーションプログラムインタフェースは、当該設定されたデバイスドライバのプロパティに対する前記デバイスドライバにおける処理を擬似的に処理することを特徴とする請求項23に記載の情報処理方法。
  25. 前記設定されたデバイスドライバのプロパティを前記デバイスドライバの情報ファイルに書き込み、前記デバイスライバをカスタマイズしたドライバを生成する生成工程を更に有することを特徴とする請求項20に記載の情報処理方法。
  26. 前記表示制御工程は、前記デバイスドライバの起動時において、前記デバイスドライバの情報ファイルを参照し、前記ユーザインタフェースを前記表示手段に表示させることを特徴とする請求項20に記載の情報処理方法。
  27. 情報処理方法をコンピュータに実行させる制御プログラムを記憶したコンピュータ読み取り可能な記憶媒体であって、前記情報処理方法が、
    印刷設定を含むプロパティを取得する取得工程と、
    オペレーティングシステムにデバイスドライバを稼動可能に登録することなく、前記取得工程が取得した印刷設定を含むプロパティを、前記デバイスドライバに設定する設定工程と、
    を有することを特徴とする記憶媒体。
  28. 印刷装置を制御するデバイスドライバを、プロパティの設定によりカスタマイズする情報処理方法をコンピュータに実行させる制御プログラムを記憶したコンピュータ読み取り可能な記憶媒体であって、前記情報処理方法が、
    前記デバイスドライバがカスタマイズに対応しているか判別する判別工程と、
    前記判別工程の判別により、前記デバイスドライバがカスタマイズに対応していると判別された場合、文書のプロパティ設定と前記デバイスドライバのプロパティ設定を行なうための設定画面を表示手段に表示させる設定工程と、
    前記設定されたデバイスドライバのプロパティに対応するデータを取得する取得工程と、
    前記取得工程により取得されたデータを、前記設定工程により設定された前記文書のプロパティ及びデバイスのプロパティに基づくユーザインタフェースを前記表示手段に表示させる表示制御工程と
    有することを特徴とする記憶媒体。
  29. デバイスドライバをカスタマイズする情報処理装置において、
    オペレーティングシステムの機能を模倣する擬似アプリケーションプログラミングインタフェース(API)を用いて、前記デバイスドライバのユーザインタフェースを起動する起動手段と、
    前記起動手段により起動された前記デバイスドライバのユーザインタフェースを介した入力を、前記擬似APIを用いて取得する取得手段と、
    前記取得手段が取得した入力に対応する印刷設定を、前記デバイスドライバに対して設定する設定手段と、
    を備えることを特徴とする情報処理装置。
  30. 前記設定手段は、前記取得手段が取得した入力に対応する印刷設定とが対応付けられた前記デバイスドライバを含むインストールセットとなるように、前記設定手段は、前記印刷設定を設定することを特徴とする請求項29に記載の情報処理装置。
  31. 前記デバイスドライバがインストールされていない状態で、前記設定手段は、前記デバイスドライバに対して前記印刷設定を設定することを特徴とする請求項29に記載の情報処理装置。
  32. デバイスドライバをカスタマイズする情報処理装置における情報処理方法において、
    オペレーティングシステムの機能を模倣する擬似アプリケーションプログラミングインタフェース(API)を用いて、前記デバイスドライバのユーザインタフェースを起動する起動工程と、
    前記起動工程により起動された前記デバイスドライバのユーザインタフェースを介した入力を、前記擬似APIを用いて取得する取得工程と、
    前記取得工程が取得した入力に対応する印刷設定を、前記デバイスドライバに対して設定する設定工程と、
    有することを特徴とする情報処理方法。
  33. 前記設定工程は、前記取得工程が取得した入力に対応する印刷設定とが対応付けられた前記デバイスドライバを含むインストールセットとなるように、前記設定工程は、前記印刷設定を設定することを特徴とする請求項32に記載の情報処理方法。
  34. 前記デバイスドライバがインストールされていない状態で、前記設定工程は、前記デバイスドライバに対して前記印刷設定を設定することを特徴とする請求項32に記載の情報処理方法。
  35. デバイスドライバをカスタマイズする情報処理装置における情報処理方法をコンピュータに実行させる制御プログラムを記憶したコンピュータ読み取り可能な記憶媒体であって、前記情報処理方法が、
    オペレーティングシステムの機能を模倣する擬似アプリケーションプログラミングインタフェース(API)を用いて、前記デバイスドライバのユーザインタフェースを起動する起動工程と、
    前記起動工程により起動された前記デバイスドライバのユーザインタフェースを介した入力を、前記擬似APIを用いて取得する取得工程と、
    前記取得工程が取得した入力に対応する印刷設定を、前記デバイスドライバに対して設定する設定工程と、
    有することを特徴とする記憶媒体。
JP2006068275A 2005-03-29 2006-03-13 デバイスドライバをカスタマイズする情報処理装置、方法、記憶媒体 Active JP4702948B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006068275A JP4702948B2 (ja) 2005-03-29 2006-03-13 デバイスドライバをカスタマイズする情報処理装置、方法、記憶媒体

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2005095694 2005-03-29
JP2005095694 2005-03-29
JP2006068275A JP4702948B2 (ja) 2005-03-29 2006-03-13 デバイスドライバをカスタマイズする情報処理装置、方法、記憶媒体

Publications (3)

Publication Number Publication Date
JP2006309725A JP2006309725A (ja) 2006-11-09
JP2006309725A5 JP2006309725A5 (ja) 2009-04-30
JP4702948B2 true JP4702948B2 (ja) 2011-06-15

Family

ID=37476491

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006068275A Active JP4702948B2 (ja) 2005-03-29 2006-03-13 デバイスドライバをカスタマイズする情報処理装置、方法、記憶媒体

Country Status (1)

Country Link
JP (1) JP4702948B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8390851B2 (en) 2008-06-10 2013-03-05 Seiko Epson Corporation Network system and printer driver
JP5527992B2 (ja) 2009-03-30 2014-06-25 キヤノン株式会社 印刷制御方法、印刷制御装置、及びコンピュータプログラム
JP5393427B2 (ja) * 2009-09-01 2014-01-22 キヤノン株式会社 情報処理装置、情報処理方法及びプログラム
JP5663933B2 (ja) * 2010-04-08 2015-02-04 富士ゼロックス株式会社 カスタムインストーラの作成プログラム、カスタムインストーラの作成装置、カスタムインストーラの作成方法、インストールプログラム及びインストール装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4809968B2 (ja) * 1999-04-09 2011-11-09 キヤノン株式会社 情報処理装置、情報処理方法、及びコンピュータ読み取り可能な記録媒体
JP2001005622A (ja) * 1999-05-26 2001-01-12 Xerox Corp プリントレットシステム及び方法
JP2004252759A (ja) * 2003-02-20 2004-09-09 Ricoh Co Ltd ドライバのインストール方法とインストール制御プログラム
JP4908731B2 (ja) * 2003-07-31 2012-04-04 キヤノン株式会社 情報処理装置、情報処理方法及び情報処理プログラム
JP3996867B2 (ja) * 2003-05-06 2007-10-24 キヤノンマーケティングジャパン株式会社 情報処理装置およびデバイスドライバ追加方法およびプログラムおよび記録媒体

Also Published As

Publication number Publication date
JP2006309725A (ja) 2006-11-09

Similar Documents

Publication Publication Date Title
EP1710699B1 (en) Information processing apparatus capable of customizing device driver, information processing method, and control program
KR100838871B1 (ko) 정보 처리 장치, 정보 처리 방법, 및 기억 매체
JP4812093B2 (ja) 情報処理装置、情報処理装置の制御方法、情報処理方法、プログラムおよび記憶媒体
KR101101101B1 (ko) 정보 처리 장치 및 정보 처리 방법
JP4863450B2 (ja) デバイスドライバプログラムをカスタマイズするための情報処理装置及びデバイスドライバプログラムのカスタマイズ方法
JP4574344B2 (ja) 情報処理装置及び方法
JP5704834B2 (ja) 情報処理装置および制御方法およびプログラム
JP5361358B2 (ja) 情報処理装置およびその制御方法、並びにプログラム
US8688864B2 (en) Information processing apparatus, information processing method, and information processing program
JP2006277345A (ja) デバイスドライバおよびそのカスタマイズ用プログラム、情報処理装置および情報処理方法
JP2024147746A (ja) 情報処理装置及びプログラム
JP4702948B2 (ja) デバイスドライバをカスタマイズする情報処理装置、方法、記憶媒体
JP2009146277A (ja) 情報処理装置及び印刷制御方法、並びにプログラム
JP2009205694A (ja) 情報処理装置および方法とデバイスドライバ
JP2009003712A (ja) 印刷システム及び制御方法
JP2003241915A (ja) 印刷制御プログラム、印刷制御方法、印刷システム及び情報処理装置
JP2008217433A (ja) 情報処理装置、情報処理方法、プログラム、及び記憶媒体
JP2006178623A (ja) 印刷制御装置および印刷制御方法および印刷制御プログラム
JP2005159764A (ja) 記録方法及び装置及びプログラム及び記憶媒体
JP2006228103A (ja) 情報処理装置
JP2006338166A (ja) 情報処理装置及びその制御方法、プログラム
JP2011008469A (ja) 情報処理装置、情報処理方法、プログラム、及び記憶媒体
JP2013120507A (ja) 文書処理方法
JP2009146362A (ja) 情報処理装置、情報処理方法、プログラム、及び記憶媒体

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090313

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090313

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110225

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110304

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110307

R150 Certificate of patent or registration of utility model

Ref document number: 4702948

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S802 Written request for registration of partial abandonment of right

Free format text: JAPANESE INTERMEDIATE CODE: R311802

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350