JP2006309724A - 情報処理装置及び情報処理方法、プログラム、記憶媒体 - Google Patents

情報処理装置及び情報処理方法、プログラム、記憶媒体 Download PDF

Info

Publication number
JP2006309724A
JP2006309724A JP2006068274A JP2006068274A JP2006309724A JP 2006309724 A JP2006309724 A JP 2006309724A JP 2006068274 A JP2006068274 A JP 2006068274A JP 2006068274 A JP2006068274 A JP 2006068274A JP 2006309724 A JP2006309724 A JP 2006309724A
Authority
JP
Japan
Prior art keywords
information
setting
driver
customization
device drivers
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.)
Granted
Application number
JP2006068274A
Other languages
English (en)
Other versions
JP2006309724A5 (ja
JP4812093B2 (ja
Inventor
Megumi Saito
めぐみ 齋藤
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 JP2006068274A priority Critical patent/JP4812093B2/ja
Publication of JP2006309724A publication Critical patent/JP2006309724A/ja
Publication of JP2006309724A5 publication Critical patent/JP2006309724A5/ja
Application granted granted Critical
Publication of JP4812093B2 publication Critical patent/JP4812093B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

【課題】 デバイスドライバのカスタマイズの操作性を向上させること。
【解決手段】 印刷装置を制御するデバイスドライバを、プロパティの設定によりカスタマイズする情報処理装置は、複数のデバイスドライバを特定する特定部と、デバイスドライバのカスタマイズ指示に応じて、デバイスドライバに対するプロパティ情報を、特定部が特定した複数のデバイスドライバに設定する設定部とを備える。
【選択図】 図19

Description

本発明は、デバイスドライバをカスタマイズする情報処理技術に関するものである。
印刷装置を制御する印刷制御プログラム(プリンタドライバ)に関しては、従来から、印刷システムの導入環境に応じて、使用する印刷処理装置を制御するプリンタドライバのカスタマイズを行ないたいという要望があった。特に、近年は、印刷システムの導入先の多様化に伴い、顧客の使用態様も多様化し、プリンタドライバに対するカスタマイズ要望は増加傾向にある。
その要望に対応するため、従来における印刷処理装置のプリンタドライバにおいても、デフォルト設定値の変更や、プリンタドライバのユーザインタフェース(以下、単に「UI」と記す。)において、顧客の使用態様に応じて設定変更ができない項目を指定して、その項目に対する入力を受け付けないようにする入力制御(以下、「Disable処理」という)等が可能なカスタマイズ技術(カスタマイズシステム)を提供していた。
上述の先行技術として、例えば、特許文献1や特許文献2が存在する。
特開平8−278871号公報 特開2003−208276号公報
しながら、従来のカスタマイズシステムでは、カスタマイズされたプリンタドライバのインストールセットを作成するためには、まず、カスタマイズの対象とするプリンタドライバを対象OSにインストールする。そして、その環境においてカスタマイズプリンタドライバのインストールセットを作成するツールを起動する必要があった。
また、1つのドライバセットに入っている複数のプリンタドライバを、同時にカスタマイズしようとしても、カスタマイズを行なうプログラムが、1度に1つ(1機種分)のプリンタドライバしかカスタマイズすることができなかった。従って、複数のプリンタドライバをカスタマイズする場合、まず、1機種のプリンタドライバをカスタマイズし、カスタマイズしたドライバセットに対して、次のプリンタドライバドライバに対して同様のカスタマイズを行なう必要があった。
その理由としては、従来のカスタマイズツールは、ドライバを一旦情報処理装置に対してインストールした状態でしかカスタマイズできなかったからである。別のドライバをカスタマイズするためには、当該別のドライバをインストールして、カスタマイズドライバを再起動してドライバのカスタマイズをすることが必要であった。
複数の種類の印刷装置が存在しているネットワーク環境において、情報インフラ管理者がそれぞれの印刷装置に対応したカスタマイズドライバを作成しようとした場合、印刷装置の種類ごとに同様のカスタマイズ手順を繰り返し行なわなければならない。そのため、情報インフラ管理者にとっては負担が大きいものであり、作成効率もよくないものであった。
本発明は、上述の従来技術を鑑みてなされたものである。カスタマイズの操作性向上を目的とする。
更に、ひとつのカスタマイズの処理の中で、複数のプリンタドライバをカスタマイズすることを可能にする情報処理技術の提供を別の目的とする。
本発明に係る情報処理装置は、
印刷装置を制御するデバイスドライバを、プロパティの設定によりカスタマイズする情報処理装置であって、
複数のデバイスドライバを特定する特定手段と、
前記特定手段が特定した複数のデバイスドライバに対してカスタマイズ操作がなされた後に入力されるカスタマイズ完了指示に応じて、デバイスドライバに対するプロパティ情報を、前記特定手段が特定した複数のデバイスドライバに対して設定する設定手段と
を備えることを特徴とする。
本発明によれば、複数のプリンタドライバをプリンタドライバのカスタマイズ操作の後の、1回のカスタマイズ完了指示により、同時にカスタマイズすることが可能になる。
[第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を記憶している。また、外部メモリ11は、印刷処理関連プログラム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との通信処理が可能である。CPU12はホストコンピュータ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に表示される。
1つのドライバセットのフォルダに、プリンタの機種に対応したプリンタドライバ(図14乃至図16では、「プリンタモデル」と示す)が複数個格納されている場合、カスタマイズドライバ作成時に複数個のプリンタドライバがリスト化される(図19)。カスタマイズツールは、リスト化された各プリンタドライバにカスタマイズ用の情報(カスタマイズデータ)が設定されているか判定し、カスタマイズデータが設定されているプリンタドライバに対応するカスタマイズドライバを作成する。この処理は、図6のステップS608及び図17のフローチャートで詳細に説明する。この処理は、擬似APIを用いることにより、カスタマイズしたいドライバをオペレーティングシステムに対してインストールして認識して動作可能な状態にさせることなく、ドライバを次々にカスタマイズすることができるようになったため、実現可能となる。図19のリスト表示画面1900には、プリンタドライバのリストが表示されている。各ドライバを選択して、白黒反転させ、1901乃至1903のボタンを押すことにより、ドライバをカスタマイズすることができる。1904のボタンを押下することで、リスト表示画面1900にてカスタマイズされた複数のドライバが生成される。これにより、一回のカスタマイズボタン1904の押下によって、カスタマイズされた複数のドライバ群を含むインストールセットとしてカスタマイズツールは提供される。
尚、カスタマイズデータには様々なデータが含まれる。デバイスドライバのユーザインタフェースのコントロールの表示、非表示のための制御データや、図18に示すようなデバイスドライバの設定値が含まれる。
図18は、このデバイスモード(DEVMODE)のデータ構造の一例を示す図である。
ここでは、用紙向き(dmOrientation)、用紙サイズ(dmPaperSize)、用紙幅(dmPaperWidth)、部数(dmCopies)などが格納されている様子が記載されている。その他、このDEVMODEデータ構造体はレジストリに格納される。プリンタドライバ2041は、このレジストリに格納されたDEVMODEデータ構造体を読み書きすることで、デフォルトの印刷設定環境や、後述する「お気に入り」を読み込んでユーザインタフェースにも反映することができる。
ここで「お気に入り」とは、プリンタドライバ2041の複数の印刷設定を一纏まりにしたものである。ユーザは、この一纏まりの設定からなる「お気に入り」をプリンタドライバ2041のユーザインタフェースで指定することで所望の動作環境を得ることができる。例えば、スタンプとステイプルをよく用いるユーザの場合には、これらステイプルとスタンプ設定の組を「お気に入り」として登録することにより、この「お気に入り」を選択するだけで、複数の設定を所望の値に設定して印刷させることができる。このようなデータを、プロパティ情報の一例であるカスタマイズデータとして、カスタマイズツールが保持し、後述するGPDファイルに書き込む。
リストビュー305には、カスタマイズを行なうプリンタドライバの対応機種とカスタマイズを行った情報に対して識別表示「On」が表示されるようになっている。チェックボックス310をチェックすると、ボタン311が有効となる。ボタン311を押下するとカスタマイズ用のプリンタドライバUI(図4)が表示され、印刷設定(ドキュメントプロパティ)の初期値設定、デバイスの設定(プリンタプロパティ)等の初期値設定を行なうことができる。
チェックボックス320をチェックすると、ボタン321が有効となる。ボタン321を押下すると、プリンタドライバUI上のコントロールの表示方法をカスタマイズするためのUI(図5)が表示され、カスタマイズ用のプリンタドライバUI上におけるコントロールの表示方法を設定することができる。
図3のUI画面において、設定ボタン350が押下されると、図4または図5のUI画面から設定したカスタマイズに関する設定がアプリケーション(カスタマイズツール)内に、カスタマイズ情報(カスタマイズデータ)として保持される。カスタマイズツールは、例えば、後に図7で説明するプリンタドライバのインストール情報を記述するファイル(このファイルを「infファイル」という)にカスタマイズ情報を保持する。プリンタドライバが既にカスタマイズされているか、未だカスタマイズされていないかを識別情報により判定することができる。1つのドライバセット内に複数のプリンタドライバが格納されている状態を図14〜図16に示す。カスタマイズツールは、カスタマイズ情報の有無を判定し、カスタマイズ情報の準備ができているプリンタドライバに対して、カスタマイズを行なう(図6のステップS608、図17)。
カスタマイズ情報は、図14に示すように、プリンタモデル名(プリンタの機種に対応したプリンタドライバ)とカスタマイズ情報とが対になった形式で保持されている。なお、カスタマイズ情報は、図15もしくは、図16の形で保持されていてもよい。図15の場合は、カスタマイズを行ったことを識別することが可能な識別情報(「済」または「未」)が、プリンタモデル名(プリンタドライバ)及びカスタマイズ情報と組み合わされて保持されている。
また、図16に示すデータの保持形式では、未カスタマイズのプリンタモデル名に対応するデータには、未カスタマイズであることを示す識別情報(例えば、「0クリア」など)が保持されている。カスタマイズツールが、カスタマイズ情報保持エリアをinfファイル内に確保したときに、カスタマイズされていないプリンタモデルに関しては、設定ボタン350が押下されると、識別情報に代わりカスタマイズ情報が、保持されることになる。カスタマイズツールは、カスタマイズ情報保持エリアにおいて、識別情報が保持されているか、カスタマイズ情報が保持されているかにより、対応するプリンタモデルがカスタマイズされているか判別することができる。
ボタン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表示)、非表示(Hide表示)を指定することができる。同様にその他の各コントロール項目について個別に、有効、無効、非表示の設定をすることでドキュメントプロパティのUIに関する表示をコントロールすることができる。これらの設定を入力すると、カスタマイズツールは、GPDファイルに書き込む。
カスタマイズツールはCPU1の制御の下、情報処理装置の表示制御部として機能する。表示制御部は設定された文書のプロパティ(コントロール項目を含む)に基づいて、ユーザインタフェース(UI)における項目の有効表示、無効表示または非表示を制御することができる。
次に、図6のフローチャートを用いて、カスタマイズツールの基本動作について説明する。尚、基本動作の実行においては、ホストコンピュータ3000におけるCPU1により実行されるカスタマイズツールが動作の主体となるものとする。
まず、ステップS601において、ユーザがカスタマイズツールを起動すると、カスタマイズツールの初期化処理がなされ、ステップS602において、カスタマイズツールは、図3で説明したUI画面をCRT10上に表示する。ステップS603において、ユーザがカスタマイズを行なうプリンタドライバのインストールセットを図3のUI画面から指示すると、ステップS604において、指示されたインストールセットのチェック処理を行なう。
カスタマイズツールは、インストールセットのチェック処理において、図7に示すプリンタドライバのインストール情報を記述するファイル(infファイル)の記述内容から判定を行う。インストール情報を記述するファイルの記述内容(図7の701、710、720)から、指示されたインストールセットに対応可能なOSか、指示されたプリンタドライバがカスタマイズツールによるカスタマイズに対応したプリンタドライバであるか判定する。
印刷装置を制御するデバイスドライバ(プリンタドライバ)を、プロパティ(文書用の設定を行なうドキュメントプロパティに関する初期値データと、デバイスの設定を行なうプリンタプロパティに関する初期値データ)の設定によりカスタマイズする情報処理装置は、複数のデバイスドライバを特定する特定部と、一回のデバイスドライバのカスタマイズの指示に応じて、文書のプロパティまたはデバイスのプロパティに対応するプロパティ情報を、特定部が特定した複数のデバイスドライバに設定する設定部とを備えることが好適である。この場合、情報処理装置において、上述の各部は、CPU1の制御の下、カスタマイズツールを実行することにより、各部の処理が実行される。
ここで、図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用と判断する。「NT」が含まれていない場合には、Windows (登録商標)2000/XP/Server 2003用と判断する。
カスタマイズに対応しているプリンタドライバは、そのことを示すための文字列リソースをinfファイル中に含んでいる。そのため、カスタマイズツールは、判別に際して、その文字列リソースがプリンタドライバのinfファイル中に含まれているかを判断することにより、カスタマイズに対応しているか判別することができる。
説明を図6に戻し、ステップS605において、プリンタドライバがカスタマイズに対応していないとカスタマイズツールにより判別される場合は(S605−NO)、処理をステップS610に進める。そして、エラー処理を行い、再度インストールセットの指示ステップ(S603)に戻る。
一方、ステップS605の判定において、プリンタドライバがカスタマイズに対応しているとカスタマイズツールにより判別される場合には(S605−YES)、処理をステップS606に進める。カスタマイズツールは、CRTC6を制御してCRT10上に図3〜図5で説明したUI画面を表示させてプリンタドライバのカスタマイズの設定を可能にする。
図3〜図5で入力される設定がカスタマイズデータとなる。カスタマイズデータは、プリンタドライバが読み出し可能なファイルであるGPDファイルに設定される。プリンタドライバは、インストールされ、稼動状態に設定されると、GPDファイル内の設定値を読み込む。そして、プリンタドライバは、GPDファイル内のカスタマイズされた値をプリンタドライバに反映する。例えば、よく使う印刷設定値(両面、2in1など)のプリセットをプリンタドライバに予め反映しておく。カスタマイズされたドライバをインストールするだけで、よく使う印刷設定値や、ドライバに対して操作前の状態に戻す指示があった場合にドライバに設定される、印刷設定のカスタマイズされたデフォルト値がプリンタドライバに設定された状態となる。
ステップS607において、カスタマイズドライバの作成指示がなされると、ステップS608において、カスタマイズドライバの作成処理を行なう。ここで、図17は、ステップS608の処理の具体的な処理の内容を説明する図であり、1つのドライバセット内に存在する複数のプリンタドライバに対して、カスタマイズを一括して行なう処理の流れを説明するフローチャートである。
カスタマイズドライバの作成処理において、カスタマイズツールは、まず、カスタマイズ元のインストールセットをカスタマイズドライバ作成先にコピーする。その後(S1701)、カスタマイズツールが、カスタマイズデータを設定するためのデバイスドライバを特定するため、infファイルにリスト化されているプリンタドライバの順番をチェックする。例えば、図14の場合、プリンタモデル3、プリンタモデル7、プリンタモデル1、プリンタモデル2の順番による。そして、カスタマイズデータが設定されているかチェックする(S1702)。カスタマイズデータの設定について、図15及び図16で説明した識別情報の有無により、カスタマイズツールは判別することが可能である。なお、カスタマイズツールは、ユーザなどの外部からの選択指示の入力を受けて、カスタマイズデータを設定するためのデバイスドライバを特定するようにしてもよい。その場合は、プリンタドライバ種類、カスタマイズデータの格納先などを、INFファイルに記載されている情報をユーザに入力させることになる。
カスタマイズデータが対応するプリンタドライバに設定されているときは(S1703−YES)、処理をステップS1704に進める。カスタマイズツールは、コピー先のインストールセットに含まれているドライバ情報ファイル(このファイルを「UPDファイル」ともいう)へカスタマイズデータを書き込むことで(S1704)、カスタマイズドライバを作成する(S1705)。ステップS1706において、リスト化された全てのプリンタドライバについて、チェックが終了していない場合は(S1706―NO)、処理をステップS1703に戻す。そして、次のプリンタドライバに関して、カスタマイズデータが設定されているかをチェックする(S1703)。設定されている場合、カスタマイズツールは、対応するプリンタドライバのUPDファイルにカスタマイズデータの書き込み処理を繰り返し行なう。リスト化された全てのプリンタドライバに対するチェックが終了した場合は(S1706−YES)、図17のフローチャートを終了し、図6のステップS608に処理を戻す。以上の処理により、1つのドライバセット内に存在する複数のプリンタドライバに対して、カスタマイズデータを反映させたカスタマイズドライバがカスタマイズツールにより作成される。
印刷装置を制御するデバイスドライバ(プリンタドライバ)を、プロパティ(文書用の設定を行なうドキュメントプロパティに関する初期値データと、デバイスの設定を行なうプリンタプロパティに関する初期値データ)の設定によりカスタマイズする情報処理装置は、複数のデバイスドライバを特定する特定部と、一回のデバイスドライバのカスタマイズの指示に応じて、文書のプロパティまたはデバイスのプロパティに対応するプロパティ情報を、特定部が特定した複数のデバイスドライバに設定する設定部とを備える。情報処理装置において、上述の各部は、CPU1の制御の下、カスタマイズツールを実行することにより、各部の処理が実行される。
ここで、図9は、プリンタドライバを構成する1ファイルである、ドライバ情報ファイル(UPDファイル)のデータフォーマットを説明する図である。同図に示すように、UPDファイルはヘッダ901、ID定義902、データ903からなる。ID定義902には、データ903に格納されているデータのIDと、データの格納位置(アドレス)との組が格納されている。そして、その組がIDの数に相当する分のセットで格納されている。本実施形態に係るカスタマイズツールでは、カスタマイズ用に定義されたIDに対応するデータの値を変更している。尚、ID定義902に使用したいカスタマイズデータのIDが定義されていない場合は、そのカスタマイズデータに対応する新たなIDがID定義902に追加される。
カスタマイズされたプリンタドライバは、カスタマイズツールにより、カスタマイズデータが書き込まれた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の制御の下、情報処理装置の表示制御部として機能する。係る表示制御部は、プリンタドライバの起動時において、プリンタドライバのドライバ情報ファイル(UPDファイル)を参照する。かかるUPDファイルに設定されているカスタマイズデータに基づいてユーザインタフェースをCRT10に表示させることができる。
本実施形態において、カスタマイズツールは、カスタマイズデータとして、文書用の設定を行なうドキュメントプロパティに関する初期値データ(図4の401〜404により設定されるデータ)と、デバイスの設定を行なうプリンタプロパティに関する初期値データ(図4の405により設定される)、及び、ドキュメントプロパティに関するUI上のコントロールの表示方法に関するデータ(図5のUI画面より設定されたデータ)をUPDファイルに対して書き込みを行なう。カスタマイズされたプリンタドライバは、インストール完了時又は初回起動時に、カスタマイズツールにより作成されたUPDファイルを読み込み、カスタマイズ情報を元に動作する。これにより、カスタマイズされたプリンタドライバの動作環境を容易に構築することができる。
説明を図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構造体)からこれらのプロパティに対応するプリンタドライバの情報をカスタマイズ用の設定情報として取得することができる。
カスタマイズツールは、このデータ保持部の内容を、後述するGPDファイルに対して書き込む。プリンタドライバは、呼び出されたときに、カスタマイズされたGPDファイルがあるかどうかを判定する。カスタマイズされたGPDファイルがあるとプリンタドライバが判定した場合、カスタマイズされたGPDファイルの中のカスタマイズされた印刷設定やUI制御データなどをプリンタドライバが読み出す。そして、プリンタドライバはカスタマイズ設定される。
すなわち、このカスタマイズ用の設定情報に基づいて、表示制御部として機能するカスタマイズツールは、プリンタドライバのUIモジュールを呼び出す。呼び出されたプリンタドライバのUIモジュールは、後述する擬似APIを用いて、図3乃至図5のUIを介して設定されたカスタマイズ情報CRT10に表示させる。例えば、コントロールの表示制御の指定や、印刷設定情報のデフォルト値等を反映したカスタマイズされたユーザインタフェースを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表示及び制御を行なうことが比較的容易に行なうことが可能である。
つまり、カスタマイズツールは、印刷設定を含むプロパティを取得する。そして、カスタマイズツールは、オペレーティングシステムにデバイスドライバを稼動可能に登録する。すなわち、オペレーティングシステムのアドミニストレータの権限を用いて、オペレーティングシステムが管理するレジストリ領域に登録してインストールすることなく、カスタマイズツールが取得した印刷設定を含むプロパティを、デバイスドライバが読み出し可能な状態になるように、デバイスドライバに設定することができる。なお、当該設定時、デバイスドライバは、オペレーティングシステムが管理するファイルシステムのユーザ領域に記憶された状態にある。
プロパティは、カスタマイズツールによりUPDファイルに保存される。作成されたUPDファイルは、カスタマイズ対象のプリンタドライバやプリンタドライバUIモジュール、およびinfファイルと共にインストールセットを構成する。作成されたインストールセットは、記録媒体や通信媒体を介してクライアントコンピュータに配布される。インストーラは、infファイルの記述に従ってインストールを実行する。インストーラは、UPDファイルから読み込んだ各設定項目に対応する値を、devmode構造体やdeviceOption構造体の該当する項目の値として複写する。プリンタドライバおよびプリンタドライバUIモジュールは、devmode構造体やdeviceOption構造体に保存された各項目の値を参照して動作する。
前述の処理は、アプリケーションプログラムの一例であるカスタマイズツールにより実行されるものである。カスタマイズツールは、さらに、デバイスドライバを介した情報の入力に対して、オペレーティングシステムに代理して前記デバイスドライバに応答する。
そして、このカスタマイズツールの擬似的な代理応答があるので、デバイスドライバはエラー処理に陥ることなく、前記アプリケーションからの応答を、オペレーティングシステムからの応答として認識し、その後のユーザからの入力による設定処理を続行する。
更に、カスタマイズツールは、プリンタドライバに対する擬似APIによって構成される。更に、カスタマイズツールは、複数種類のオペレーティングシステム用(例えば、Windows(登録商標)NT,Windows(登録商標)95など)のデバイスドライバに対して、前記印刷設定を含むプロパティを設定できる。
尚、カスタマイズツールは、複数のデバイスドライバに対して、一度の指示でカスタマイズツールが取得した印刷設定に係わる情報を設定できる。
本実施形態における擬似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に戻す。
UIから入力されたプロパティ情報は、CSPL構造体を介して再度プリンタドライバ情報ファイル(UPDファイル)に保存される。このとき、図3のカスタマイズコード350をプリンタドライバ情報ファイルに、あらかじめ定めた識別コードとともに保存する。
これにより、図5で指示されたコントロールの表示方法に関するカスタマイズデータは、図9で示したドライバ情報ファイル内に保持されているので、そのカスタマイズデータに従った、UIコントロールの表示が可能である。
本実施形態では、カスタマイズ情報をUPDファイルというドライバ情報ファイルに書き出すようにしているが、プリンタドライバが参照可能であり、かつ、解析可能なファイルであれば、その形態はUPDファイルに限定されるものではない。従って、次期Windows(登録商標)であるLonghornにおいてはプリンタドライバのドライバ情報ファイルとしてGPDファイルが標準的なものとなっているが、このファイル内にカスタマイズ情報を組み込むようにしてもよい。
本実施形態によれば、複数のプリンタドライバをプリンタドライバのカスタマイズ操作の後の、1回のカスタマイズ完了指示により、同時にカスタマイズすることが可能になる。
プリンタドライバが、カスタマイズに対応していないOS用のものであっても、ユーザの所望するカスタマイズを反映させたカスタマイズドライバを作成することが可能になる。
また、プリンタドライバの初期設定値のカスタマイズにおいては、プリンタドライバのUIと同等のUIを用いて作業が可能であるので、カスタマイズにおける初期設定作業を容易に行なうことができる。かかるUIを利用して設定したカスタマイズの内容を反映させて、表示項目の有効表示、無効表示、非表示を制御することで、ユーザの作業効率、操作の利便性の向上を図ることが可能になる。
カスタマイズドライバは、カスタマイズしていないドライバのインストールセットと同様の構成である。Microsoft(登録商標)社製、Windows(登録商標)オペレーティングシステム、又は次期OSであるLonghornにおける、いわゆるPoint&Print環境においてもカスタマイズドライバとして動作することが可能である。これにより、カスタマイズドライバの汎用性を向上させることができる。
[他の実施形態]
なお、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給することによっても、達成されることは言うまでもない。また、システムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,不揮発性のメモリカード,ROMなどを用いることができる。
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現される。また、プログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部または全部を行い、その処理によって前述した実施形態が実現される場合も含まれることは言うまでもない。
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明した(図6、図8、図11〜図13、図17)のフローチャートに対応するプログラムコードが格納されることになる。
本発明の実施形態に係る印刷処理システムの構成を示すブロック図である。 所定のアプリケーション及び印刷処理関連プログラムを起動して、ホストコンピュータ 3000のRAM2にプログラムやデータがロードされた状態でのRAM2のメモリマップを示す図である。 カスタマイズツールのUIを例示する図である。 初期設定値カスタマイズ用のプリンタドライバUIを示す図である。 ドキュメントプロパティ表示コントロール設定UIを例示する図である。 カスタマイズツールにおける基本動作の処理の流れを説明するフローチャートである。 プリンタドライバのインストール情報を記述するinfファイルの記述内容を例示する図である。 プリンタドライバのカスタマイズ用UIを表示する処理の流れを説明するフローチャートである。 プリンタドライバを構成するUPDファイルのデータフォーマットを説明する図である。 プリンタドライバが実装しているアプリケーション プログラム インターフェース(API)の呼び出しについて説明する図である。 APIと対応する疑似 APIの関係を示す図である。 疑似Windows(登録商標) APIの呼び出しに関する処理の流れを説明するフローチャートである。 疑似Windows (登録商標)APIの一例として、CSPL_GetVersionEx( )関数を呼び出す場合の処理の流れを示すフローチャートである。 カスタマイズに対応したプリンタドライバのプロパティ設定に関するUI制御の処理の流れを説明するフローチャートである。 カスタマイズ情報の保持形式を説明する図である。 カスタマイズ情報の保持形式を説明する図である。 カスタマイズ情報の保持形式を説明する図である。 1つのドライバセット内に存在する複数のプリンタドライバに対して、カスタマイズを一括して行なう処理の流れを説明するフローチャートである。 デバイスドライバのカスタマイズデータの一例を示す図である。 複数ドライバをカスタマイズするツールのUIを例示する図である。

Claims (24)

  1. 印刷装置を制御するデバイスドライバを、プロパティの設定によりカスタマイズする情報処理装置であって、
    複数のデバイスドライバを特定する特定手段と、
    前記特定手段が特定した複数のデバイスドライバに対してカスタマイズ操作がなされた後に入力されるカスタマイズ完了指示に応じて、デバイスドライバに対するプロパティ情報を、前記特定手段が特定した複数のデバイスドライバに対して設定する設定手段と
    を備えることを特徴とする情報処理装置。
  2. 前記設定手段は、前記複数のデバイスドライバに対するプロパティ情報が設定されているか判定し、当該プロパティ情報が設定されている場合に、当該プロパティ情報を前記情報ファイルに書き込むことを特徴とする請求項1に記載の情報処理装置。
  3. 前記設定されたプロパティ情報に対応するデータに基づいて、カスタマイズしたユーザインタフェースを表示手段に表示させる表示制御手段を更に備えることを特徴とする請求項1に記載の情報処理装置。
  4. 前記表示制御手段は、前記設定手段により設定されたプロパティ情報に基づいて、前記ユーザインタフェースにおける項目の有効表示、無効表示または非表示を制御することを特徴とする請求項3に記載の情報処理装置。
  5. 前記表示制御手段は、前記デバイスドライバの起動時において、前記デバイスドライバの情報ファイルを参照して得られるプロパティ情報に基づいて前記ユーザインタフェースを表示させることを特徴とする請求項4に記載の情報処理装置。
  6. 前記複数のデバイスドライバは、複数の機種にそれぞれ対応するものであって、かつ、同じデバイスドライバセットに含まれるものであり、前記複数のデバイスドライバが読み出し可能な設定ファイルに前記設定手段はプロパティ情報を書き込むことを特徴とする請求項1に記載の情報処理装置。
  7. 前記特定手段は、情報処理装置のメモリに記憶されたデータからデバイスドライバのリスト又は機種を読み込んで、前記設定手段がプロパティ情報を設定するためのデバイスドライバを特定することを特徴とする請求項1に記載の情報処理装置。
  8. 前記特定手段は、外部からの選択指示により、前記設定手段がプロパティ情報を設定するためのデバイスドライバを特定することを特徴とする請求項1に記載の情報処理装置。
  9. 印刷装置を制御するデバイスドライバを、プロパティの設定によりカスタマイズする情報処理装置の制御方法であって、
    複数のデバイスドライバを特定する特定工程と、
    前記特定手段が特定した複数のデバイスドライバに対してカスタマイズ操作がなされた後に入力されるカスタマイズ完了指示に応じて、デバイスドライバに対するプロパティ情報を、前記特定工程が特定した複数のデバイスドライバに設定する設定工程と
    を備えることを特徴とする制御方法。
  10. 前記設定工程は、前記複数のデバイスドライバに対するプロパティ情報が設定されているか判定し、当該プロパティ情報が設定されている場合に、当該プロパティ情報を前記情報ファイルに書き込むことを特徴とする請求項9に記載の制御方法。
  11. 前記設定されたプロパティ情報に対応するデータに基づいて、カスタマイズしたユーザインタフェースを表示手段に表示させる表示制御工程を更に備えることを特徴とする請求項9に記載の制御方法。
  12. 前記表示制御工程は、前記設定工程により設定されたプロパティ情報に基づいて、前記ユーザインタフェースにおける項目の有効表示、無効表示または非表示を制御することを特徴とする請求項11に記載の制御方法。
  13. 前記表示制御工程は、前記デバイスドライバの起動時において、前記デバイスドライバの情報ファイルを参照して得られるプロパティ情報に基づいて前記ユーザインタフェースを表示させることを特徴とする請求項12に記載の制御方法。
  14. 前記複数のデバイスドライバは、複数の機種にそれぞれ対応するものであって、かつ、同じデバイスドライバセットに含まれるものであり、前記複数のデバイスドライバが読み出し可能な設定ファイルに前記設定工程はプロパティ情報を書き込むことを特徴とする請求項9に記載の制御方法。
  15. 前記特定工程は、情報処理装置のメモリに記憶されたデータからデバイスドライバのリスト又は機種を読み込んで、前記設定工程がプロパティ情報を設定するためのデバイスドライバを特定することを特徴とする請求項9記載の制御方法。
  16. 前記特定工程は、外部からの選択指示により、前記設定工程がプロパティ情報を設定するためのデバイスドライバを特定することを特徴とする請求項9に記載の制御方法。
  17. 印刷装置を制御するデバイスドライバを、プロパティの設定によりカスタマイズする情報処理装置の制御方法をコンピュータに実行させる制御プログラムを格納したコンピュータ読み取り可能な記憶媒体であって、
    複数のデバイスドライバを特定する特定工程と、
    前記特定手段が特定した複数のデバイスドライバに対してカスタマイズ操作がなされた後に入力されるカスタマイズ完了指示に応じて、デバイスドライバに対するプロパティ情報を、前記特定工程が特定した複数のデバイスドライバに設定する設定工程と
    を備えることを特徴とする記憶媒体。
  18. 複数のデバイスドライバをインストールするためのドライバ情報を含むインストールセットを生成する情報処理装置であって、
    カスタマイズすべき複数のデバイスドライバを特定する特定手段と、
    前記特定手段が特定した複数のデバイスドライバに対する印刷設定をカスタマイズすることによりプロパティ情報を設定する設定手段と、
    前記設定手段により設定されたプロパティ情報を有する複数のデバイスドライバを含むインストールセットを形成する形成手段と
    を備えることを特徴とする情報処理装置。
  19. カスタマイズプログラムに予め読み込ませたドライバ情報を用いて前記特定手段は複数のデバイスドライバを特定することを特徴とする請求項18に記載の情報処理装置。
  20. 前記ドライバ情報は、前記設定手段により設定されたプロパティ情報を有する複数のデバイスドライバをインストールする際に用いられる情報であることを特徴とする請求項18に記載の情報処理装置。
  21. 複数のデバイスドライバをインストールするためのドライバ情報を含むインストールセットを生成する情報処理方法であって、
    カスタマイズすべき複数のデバイスドライバを特定する特定工程と、
    前記特定工程が特定した複数のデバイスドライバに対する印刷設定をカスタマイズすることによりプロパティ情報を設定する設定工程と、
    前記設定工程により設定されたプロパティ情報を有する複数のデバイスドライバを含むインストールセットを形成する形成工程と
    を備えることを特徴とする情報処理方法。
  22. カスタマイズプログラムに予め読み込ませたドライバ情報を用いて前記特定工程は複数のデバイスドライバを特定することを特徴とする請求項21に記載の情報処理方法。
  23. 前記ドライバ情報は、前記設定工程により設定されたプロパティ情報を有する複数のデバイスドライバをインストールする際に用いられる情報であることを特徴とする請求項21に記載の情報処理方法。
  24. 複数のデバイスドライバをインストールするためのドライバ情報を含むインストールセットを生成する情報処理方法をコンピュータに実行させる制御プログラムであって、
    カスタマイズすべき複数のデバイスドライバを特定する特定工程と、
    前記特定工程が特定した複数のデバイスドライバに対する印刷設定をカスタマイズすることによりプロパティ情報を設定する設定工程と、
    前記設定工程により設定されたプロパティ情報を有する複数のデバイスドライバを含むインストールセットを形成する形成工程と
    を備えること特徴とする制御プログラム。
JP2006068274A 2005-03-29 2006-03-13 情報処理装置、情報処理装置の制御方法、情報処理方法、プログラムおよび記憶媒体 Active JP4812093B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006068274A JP4812093B2 (ja) 2005-03-29 2006-03-13 情報処理装置、情報処理装置の制御方法、情報処理方法、プログラムおよび記憶媒体

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2005095697 2005-03-29
JP2005095697 2005-03-29
JP2006068274A JP4812093B2 (ja) 2005-03-29 2006-03-13 情報処理装置、情報処理装置の制御方法、情報処理方法、プログラムおよび記憶媒体

Publications (3)

Publication Number Publication Date
JP2006309724A true JP2006309724A (ja) 2006-11-09
JP2006309724A5 JP2006309724A5 (ja) 2009-04-30
JP4812093B2 JP4812093B2 (ja) 2011-11-09

Family

ID=37476490

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006068274A Active JP4812093B2 (ja) 2005-03-29 2006-03-13 情報処理装置、情報処理装置の制御方法、情報処理方法、プログラムおよび記憶媒体

Country Status (1)

Country Link
JP (1) JP4812093B2 (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007233663A (ja) * 2006-02-28 2007-09-13 Brother Ind Ltd インストーラを作成するためのプログラム,該プログラムを記憶する記憶媒体,インストーラの作成方法,情報処理装置
JP2010026656A (ja) * 2008-07-16 2010-02-04 Ricoh Co Ltd 印刷制御装置、設定画面制御方法、及び設定画面制御プログラム
JP2010191596A (ja) * 2009-02-17 2010-09-02 Ricoh Co Ltd 動作定義ファイル生成装置、システム、画像形成装置、動作定義ファイル生成方法およびプログラム
JP2011096100A (ja) * 2009-10-30 2011-05-12 Fuji Xerox Co Ltd 設定変更装置及びプログラム
JP2012164245A (ja) * 2011-02-09 2012-08-30 Canon Inc 情報処理装置、情報処理装置の制御方法及びコンピュータプログラム
JP2013037391A (ja) * 2011-08-03 2013-02-21 Canon Inc 情報処理装置、制御方法、プログラム
JP2013229047A (ja) * 2008-10-21 2013-11-07 Canon Inc 情報処理装置、情報処理方法及びプログラム
US9052855B2 (en) 2012-08-31 2015-06-09 Canon Kabushiki Kaisha System, control method therefor, control method for information processing apparatus, and non-transitory computer-readable medium in which client and server customize a printer driver in cooperation with each other
JP2015135658A (ja) * 2013-12-16 2015-07-27 キヤノン株式会社 情報処理装置、情報処理方法、及びコンピュータプログラム
US9342290B2 (en) 2012-08-08 2016-05-17 Canon Kabushiki Kaisha Information processing apparatus, installation method, and program

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003202987A (ja) * 2002-01-07 2003-07-18 Fujitsu Ltd ネットワーク・デバイスのドライバ用のインストーラ
JP2004152090A (ja) * 2002-10-31 2004-05-27 Ricoh Co Ltd 印刷システムおよびプログラムを記録したパソコン読取可能な記録媒体
JP2004213132A (ja) * 2002-12-27 2004-07-29 Ricoh Co Ltd 印刷システム、プリンタドライバ導入方法、プリンタドライバ配信用コンピュータプログラム、記録媒体及びプリンタドライバ配信サーバ
JP2004252759A (ja) * 2003-02-20 2004-09-09 Ricoh Co Ltd ドライバのインストール方法とインストール制御プログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003202987A (ja) * 2002-01-07 2003-07-18 Fujitsu Ltd ネットワーク・デバイスのドライバ用のインストーラ
JP2004152090A (ja) * 2002-10-31 2004-05-27 Ricoh Co Ltd 印刷システムおよびプログラムを記録したパソコン読取可能な記録媒体
JP2004213132A (ja) * 2002-12-27 2004-07-29 Ricoh Co Ltd 印刷システム、プリンタドライバ導入方法、プリンタドライバ配信用コンピュータプログラム、記録媒体及びプリンタドライバ配信サーバ
JP2004252759A (ja) * 2003-02-20 2004-09-09 Ricoh Co Ltd ドライバのインストール方法とインストール制御プログラム

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007233663A (ja) * 2006-02-28 2007-09-13 Brother Ind Ltd インストーラを作成するためのプログラム,該プログラムを記憶する記憶媒体,インストーラの作成方法,情報処理装置
JP2010026656A (ja) * 2008-07-16 2010-02-04 Ricoh Co Ltd 印刷制御装置、設定画面制御方法、及び設定画面制御プログラム
JP2013229047A (ja) * 2008-10-21 2013-11-07 Canon Inc 情報処理装置、情報処理方法及びプログラム
JP2010191596A (ja) * 2009-02-17 2010-09-02 Ricoh Co Ltd 動作定義ファイル生成装置、システム、画像形成装置、動作定義ファイル生成方法およびプログラム
JP2011096100A (ja) * 2009-10-30 2011-05-12 Fuji Xerox Co Ltd 設定変更装置及びプログラム
JP2012164245A (ja) * 2011-02-09 2012-08-30 Canon Inc 情報処理装置、情報処理装置の制御方法及びコンピュータプログラム
JP2013037391A (ja) * 2011-08-03 2013-02-21 Canon Inc 情報処理装置、制御方法、プログラム
US9342290B2 (en) 2012-08-08 2016-05-17 Canon Kabushiki Kaisha Information processing apparatus, installation method, and program
US9052855B2 (en) 2012-08-31 2015-06-09 Canon Kabushiki Kaisha System, control method therefor, control method for information processing apparatus, and non-transitory computer-readable medium in which client and server customize a printer driver in cooperation with each other
JP2015135658A (ja) * 2013-12-16 2015-07-27 キヤノン株式会社 情報処理装置、情報処理方法、及びコンピュータプログラム

Also Published As

Publication number Publication date
JP4812093B2 (ja) 2011-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) 情報処理装置、情報処理装置の制御方法、情報処理方法、プログラムおよび記憶媒体
JP4863450B2 (ja) デバイスドライバプログラムをカスタマイズするための情報処理装置及びデバイスドライバプログラムのカスタマイズ方法
JP4599206B2 (ja) 情報処理装置及び情報処理装置の制御方法、プログラム、記憶媒体
JP4574344B2 (ja) 情報処理装置及び方法
JP2006277345A (ja) デバイスドライバおよびそのカスタマイズ用プログラム、情報処理装置および情報処理方法
JP5704834B2 (ja) 情報処理装置および制御方法およびプログラム
JP5527992B2 (ja) 印刷制御方法、印刷制御装置、及びコンピュータプログラム
JP5361358B2 (ja) 情報処理装置およびその制御方法、並びにプログラム
JP4702948B2 (ja) デバイスドライバをカスタマイズする情報処理装置、方法、記憶媒体
JP2009205694A (ja) 情報処理装置および方法とデバイスドライバ
JP5727067B2 (ja) 印刷装置へランタイムプログラミングコードを導入するためのシステム及び方法
JP2008217433A (ja) 情報処理装置、情報処理方法、プログラム、及び記憶媒体
JP2006228103A (ja) 情報処理装置
JP2006338166A (ja) 情報処理装置及びその制御方法、プログラム
JP2011008469A (ja) 情報処理装置、情報処理方法、プログラム、及び記憶媒体
JP2013120507A (ja) 文書処理方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

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: 20110210

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110328

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110526

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: 20110819

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110822

R151 Written notification of patent or utility model registration

Ref document number: 4812093

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140902

Year of fee payment: 3