JP4863450B2 - デバイスドライバプログラムをカスタマイズするための情報処理装置及びデバイスドライバプログラムのカスタマイズ方法 - Google Patents

デバイスドライバプログラムをカスタマイズするための情報処理装置及びデバイスドライバプログラムのカスタマイズ方法 Download PDF

Info

Publication number
JP4863450B2
JP4863450B2 JP2006074412A JP2006074412A JP4863450B2 JP 4863450 B2 JP4863450 B2 JP 4863450B2 JP 2006074412 A JP2006074412 A JP 2006074412A JP 2006074412 A JP2006074412 A JP 2006074412A JP 4863450 B2 JP4863450 B2 JP 4863450B2
Authority
JP
Japan
Prior art keywords
driver
customized
customization
identification information
setting
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
JP2006074412A
Other languages
English (en)
Other versions
JP2006309726A (ja
JP2006309726A5 (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 JP2006074412A priority Critical patent/JP4863450B2/ja
Priority to US11/386,853 priority patent/US8656416B2/en
Publication of JP2006309726A publication Critical patent/JP2006309726A/ja
Publication of JP2006309726A5 publication Critical patent/JP2006309726A5/ja
Application granted granted Critical
Publication of JP4863450B2 publication Critical patent/JP4863450B2/ja
Priority to US14/099,991 priority patent/US20140111824A1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1296Printer job scheduling or printer resource handling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1204Improving or facilitating administration, e.g. print management resulting in reduced user or operator actions, e.g. presetting, automatic actions, using hardware token storing data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1237Print job management
    • G06F3/1253Configuration of print job parameters, e.g. using UI at the client
    • G06F3/1254Automatic configuration, e.g. by driver
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1284Local printer device
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00912Arrangements for controlling a still picture apparatus or components thereof not otherwise provided for
    • H04N1/00938Software related arrangements, e.g. loading applications

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)
  • User Interface Of Digital Computer (AREA)

Description

本発明は、プリンタドライバ等のデバイスドライバをカスタマイズする情報処理技術に関するものである。
従来、印刷システムの導入環境に応じて、使用するプリンタを制御するプリンタドライバプログラム(以下、プリンタドライバという)のカスタマイズを行ないたいという要望があった。特に、近年は、顧客によるプリンタの使用態様も多様化し、プリンタドライバに対するカスタマイズ要望は増加傾向にある。
その要望に対応するため、従来のプリンタドライバについても、プリンタドライバのベンダは、利用者に対してカスタマイズシステムを提供していた。カスタマイズシステムによりカスタマイズ可能な項目として、たとえば利用者による印刷設定の変更の制限がある。すなわち、通常であればプリンタドライバのユーザインタフェース(以下、単に「UI」と記す。)から、印刷設定の値を利用者が変更できる。プリンタドライバのカスタマイズにより、印刷設定値を変更ができないように、指定した項目の変更を制限できる。本実施形態では、この印刷設定の変更の制限を入力制御という。入力制御の対象とする印刷設定項目は、プリンタドライバのカスタマイズの際に指定できる。
上述のカスタマイズ技術を開示する文献として、例えば、以下の特許文献1及び特許文献2及び特許文献3に示されるものがある。
特開平8−278871号公報 特開2002−297341号公報 特開2003−150341号公報(段落0011〜0014)
しかしながら、従来のカスタマイズシステムでカスタマイズされたプリンタドライバには、それがカスタマイズされたプリンタドライバであるこことを識別するための固有のコード(カスタムドライバコード)が付与される。しかしこのカスタムドライバコードは他のプログラムモジュール等から参照することができない。そのため、コンピュータがカスタマイズドライバを使用しているかどうかを外部から判断できないという課題があった。
例えば、接続されたコンピュータは、カスタマイズされたプリンタドライバの使用を義務づけられたネットワークシステムがあるとする。しかし、カスタマイズされたプリンタドライバが使用されていたとしても、システム管理者がそのことを知るのは困難である。すなわち、システムの管理が困難である。また、ドライバのバージョンアップのために、既にインストールされているドライバに、インストーラを用いて新たなバージョンのドライバを上書きインストールすることがある。その際にも、インストーラは、インストールされているドライバがカスタマイズドライバであることを知ることができない。そのため、新たなドライバにカスタマイズされた項目に特有の情報(カスタマイズ情報という)を引き継ぐことができないという課題があった。
また以下のような問題もあった。特許文献3には、ドライバのインストール時に、利用者にドライバの意機能の制限を選択させ、選択された制限の範囲内で対話的に機能設定を行うドライバのインストーラが提案されている。
特許文献2には、カスタマイズ操作の簡便化する方法が提案されている。すなわち、ユーザがプリンタドライバの各機能で使用する各種パラメータの値をパラメータファイルとしてサーバ上に登録しておく。インストーラのインストール処理部によるプリンタドライバのインストール処理が終了すると、パラメータ要求部がサーバに対してパラメータ値を要求する。パラメータ受信部がサーバからパラメータ値を受信して、プリンタドライバのパラメータ変更部にこれを渡し、パラメータ値を変更させる。
しかしながら、特許文献3のインストーラでは、個々のコンピュータについて印刷設定(動作設定ともいう)情報を、その構成や環境に適した値に変更しなくてはならない。このため、コンピュータの大量導入やシステム管理者等による一元管理になじまない。すなわち、特許文献3の方法では、システム管理者(ITマネージャ)の判断で、各利用者のPCにインストールされるプリンタドライバの印刷機能の制限を行うことができないという問題がある。
また、特許文献2記載の方法では、事前に複雑なパラメータファイルを準備しないとドライバをインストールできないという問題がある。また、サーバとクライアントとがネットワーク通信が行える環境でなくてはならず、システム環境が制限されてしまうという問題もある。
本発明は、上記の従来技術に鑑みてなされたものであり、外部のプログラムからレジストリを参照することで、インストールされているプリンタドライバがカスタマイズ済みのプリンタドライバであるか否かを判定することを可能にする情報処理技術の提供を目的とする。
あるいは、インストーラでプリンタドライバをアップデートする場合にも、こインストーラがアップデートされるドライバがカスタマイズしたドライバかどうか判定し、正確にカスタマイズ情報を引き継ぐことを可能にする情報処理技術の提供を目的とする。
また、複数のコンピュータにインストールするデバイスドライバ、とくにプリンタドライバを、その環境や使用するデバイスの構成に応じて簡単にカスタマイズすることを目的とする。
また、動作設定のうち、特に印刷画像にオーバレイされるスタンプに関する詳細な設定の変更を制限することを目的とする。たとえばスタンプ画像のオーバレイを有効にするか無効にするかの設定や、スタンプリスト(「丸秘」、「Confidential」、「ドラフト」、「コピー」等の文字列や画像のリスト)の設定など、スタンプについてのデフォルトの設定の変更を制限することを目的とする。
また、デバイスドライバの動作設定情報には、その動作設定情報の値をまとめて登録したいわゆる「お気に入り」(プロファイルとも呼ぶ。)が用意されている場合がある。お気に入りは動作設定情報を構成するパラメータのファイルとして用意され、適用するお気に入りファイルを指定することで、動作設定情報に含まれる各パラメータの値がまとめて置換される。お気に入りは動作設定情報のデフォルトにも含まれていることがある。
しかし、デフォルトとして用意されたお気に入りは1セットに限られているという問題がある。また、デフォルトの動作設定を、お気に入りとして登録されている動作設定に置換することで、デフォルト設定によりデバイスの機能の一部が制限されている場合でもその制限が変更されてしまうことが生じ得る。すなわき機能制限の目的を果たせない場合があった。
そこで本発明は、デバイスドライバの動作設定情報の集合、いわゆる「お気に入り」や「プロファイル」を容易にカスタマイズでき、使用可能な機能の制限の厳格な適用を実現することも目的とする。
上記目的を達成するべく、本発明にかかる情報処理技術は、以下の構成を備えることを特徴とする。
すなわち、本発明に係る情報処理装置は、画像形成装置を制御するデバイスドライバをカスタマイズする情報処理装置であって、カスタマイズ前の前記デバイスドライバを特定する識別情報とは別の、カスタマイズされているカスタマイズドライバのカスタマイズ内容を特定するための識別情報を、任意の数値を入力可能な様態で設定するための設定画面を表示する表示制御手段と、前記カスタマイズドライバに対して、前記設定画面を介して設定された前記識別情報を発行する発行手段と、前記カスタマイズドライバをインストールした環境において、前記カスタマイズドライバのバージョン情報として表示可能なように、前記発行手段が発行した識別情報を、前記カスタマイズドライバと関連付けて記憶する記憶手段とを備える。
あるいは他の側面によれば、本発明は、カスタマイズされているカスタマイズドライバを取得するドライバ取得手段と、カスタマイズドライバをインストール指示するインストール指示手段と、カスタマイズ前の前記デバイスドライバを特定する識別情報とは別の、前記インストール指示手段がインストール指示するカスタマイズドライバのカスタマイズ内容を特定するための任意の数値を含む識別情報を取得する識別情報取得手段と、前記デバイスドライバを特定する前記識別情報と、前記識別情報取得手段により取得された前記カスタマイズドライバのカスタマイズ内容を特定するための前記識別情報とを用いて、前記インストール指示手段がインストールした結果を表示するとともに、前記識別情報取得手段により取得された前記カスタマイズドライバのカスタマイズ内容を特定するための前記識別情報を前記カスタマイズドライバのバージョン情報として表示する表示手段とを備える。
本発明によれば、外部のアプリケーションツールからレジストリを参照れば、カスタマイズ済みのプリンタドライバかを判定することが可能になる。
あるいは、インストーラでドライバをアップデートする場合にも、この情報からカスタマイズしたドライバかどうか判定し、正確にカスタマイズ情報を引き継ぐことが可能になる。
また本発明によれば、複数のコンピュータにインストールするデバイスドライバ、とくにプリンタドライバを、その環境や使用するデバイスの構成に応じて迅速に、また容易にカスタマイズすることが可能となる。
さらに、印刷画像にオーバレイされるスタンプに関するデフォルトの設定の編集等を、利用者の要求に応じて行える。
さらに、デバイスドライバの動作設定情報のプロファイルを容易にカスタマイズでき、また、プロファイルを通した機能制限の抜け穴を防止できる。
[第1実施形態]
以下、添付図面を参照して本発明の好適な実施形態を説明する。なお、本実施形態ではMicrosoft(登録商標)社製PC用OS(Operating System)であるWindows(登録商標)のプリンタドライバをカスタマイズする方法を例として説明する。
図1は、本発明の実施形態に係る印刷処理システムの構成を示すブロック図である。この印刷処理システムは、情報処理装置(以下、「ホストコンピュータ」ともいう)3000と、このホストコンピュータ3000より印刷データを受信して印刷を行なうプリンタ1500を備えている。なお、ホストコンピュータ3000,3002は、サーバ3001により提供されるサービスを受ける。そこでホストコンピュータ3000,3002をクライアントコンピュータ(またはクライアント)と呼ぶこともある。
ホストコンピュータ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)等である。外部メモリ11には、図示の如く、オペレーティングシステムプログラム(以下、OS)205をはじめ各種アプリケーション(例えば、図形、イメージ、文字、表等が混在した文書処理を行う文書処理アプリケーションプログラム)201、印刷処理関連プログラム204を記憶している他に、ユーザファイル、編集ファイル等も記憶されている。刷処理関連プログラム204は、ページ記述言語を用いて記述される印刷データを生成するプログラムであって、同系列の複数のプリンタに対して共通に利用され得る。また、この印刷処理関連プログラム204は、プリンタ制御コマンド生成モジュール(以下、プリンタドライバ)2041、プリンタドライバUI制御モジュール2042をも含んでいる。さらに、プリンタドライバをインストールするためのプログラムファイルやデータファイルを含むインストールセットもハードディスク11に保存される。本実施形態でいうプリンタドライバのインストールセットとは、コンピュータにプリンタドライバをインストールするための情報である。プリンタドライバのインストールセットは、OSが提供するインストールプログラムを用いてプリンタドライバをインストールするためのインストール定義ファイル(infファイルと呼ばれる)と、プリンタドライバ情報ファイル(UPDファイルともいう)と、プリンタドライバ等のプログラムファイルから構成されていてもよいし、あるいは、実行形式(exeファイル)ファイルを含むインストーラから構成されていてもよい。インストールセットからインストール定義ファイルを除いたファイルの集合を、ドライバセットと呼ぶ。後述のコントロール設定UIを介して指定された印刷設定のデフォルト値(初期値)やコントロールの表示設定情報は、プリンタドライバ情報ファイル(UPDファイル)2043に保存される。さらに、プリンタドライバの駆動制御のためのパラメータ、たとえば両面印刷の別や用紙サイズ等の印刷設定を定めた印刷設定情報も外部メモリ11に保存され、プリンタドライバにより参照される。なお、印刷設定やコントロールの表示設定など、ドライバUIやカスタマイズツールから設定可能な情報をプリンタ設定情報あるいはプリンタプロパティ(あるいは単にプロパティ)とよぶ。特に本実施形態のカスタマイズツールでカスタマイズされたプリンタ設定情報をカスタマイズ情報と呼ぶ。
外部メモリ11に記憶された、本実施形態に係るカスタマイズツールプログラム(以下、単にカスタマイズツール)201aを含むアプリケーション201は、RAM2にロードされてCPU1により実行される。またCPU1は、例えばRAM2へのアウトラインフォントの展開(ラスタライズ)処理を実行し、CRT10上でのWYSIWYG(What You See Is What You Get)を可能としている。更に、CPU1は、CRT10上の不図示のマウスカーソル等で指示されたコマンドに基づいて、登録された種々のウインドウを開き、種々のデータ処理を実行する。ユーザは印刷を実行する際、印刷設定画面(プリンタドライバUI制御モジュール2042により制御される)を開き、プリンタの設定や、印刷モードの選択を含むプリンタドライバ2041に対する印刷処理の設定を行うことができる。なお、カスタマイズツールは、かならずしもカスタマイズの対処となるプリンタドライバがインストールされるコンピュータにおいて実行される必要はない。コンピュータ3000以外のコンピュータにおいてカスタマイズツールを実行し、プリンタドライバをカスタマイズしてインストールセットを生成し、それをコンピュータ3000にインストールすることもできる。なお、本実施形態では、プリンタドライバが提供するUI(図4等に示す)における設定を印刷設定と呼び、設定可能な項目を印刷設定項目と呼ぶ。そのため、印刷設定項目といっても必ずしも印刷に直接関連する項目とは限らない。
次にプリンタ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によりアクセスが制御されている。外部メモリ14には、オプションとして接続されるハードディスク(HD)、光磁気ディスク(MO)、フロッピー(登録商標)ディスク(FD)、ICカード等が含まれており、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。尚、ハードディスク等の外部メモリ14が接続されていない場合には、ROM13のデータROM13cに、ホストコンピュータ3000で利用される情報等を記憶することになる。尚、この外部メモリ14は1個に限らず複数備えるものであってもよい。例えば、内蔵フォントに加えてオプションフォントカード、言語系の異なるプリンタ制御言語を解釈するプログラム等を格納した外部メモリを複数接続できるように構成されていてもよい。ホストコンピュータ3002(クライアントPCともいう。)、サーバコンピュータ(サーバPCともいう)3001もホストコンピュータと同様のハード構成を有する。ホストコンピュータはN台接ネットワークへ続されていても良い(図示省略)。
操作部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がロードされている。ドライバをカスタマイズするためのプログラム(以下、カスタマイズツールという)もRAM2にロードされる。更に、空きメモリ領域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に限定されるものではない。これら以外のOSについても、プリンタドライバを実際にインストールすることなく、擬似API(この内容は後に詳細に説明する)により、OSに対応するAPIの動作をシミュレートすることが可能である。そして疑似APIを用いることで、個別の関数を動作させる引数の設定を変更、追加等することは可能である。
図3において、ユーザがメニュー301の"開く"を指定すると、カスタマイズされるドライバセットのフォルダを指示するためのダイアログ(不図示)が表示される。そのダイアログを通して、カスタマイズされるドライバの格納先を指示することができる。指示されたフォルダは、表示欄302に表示され、指示されたドライバセットの対応OSが表示欄303に表示される。なお、ドライバセットは、ドライバのインストール情報を記述したinfファイルとともにインストールセットとして保存されている。そのため、ドライバセットの指定は、インストールセットの指定と同様の意味を持つ。
リストビュー305には、カスタマイズされるプリンタドライバの対応機種名が表示される。また、カスタマイズされた設定に対して、識別表示「On」が表示される。チェックボックス310をチェックすると、ボタン311が有効となる。ボタン311を押下するとカスタマイズ用のプリンタドライバUI(図4)が表示される。そのUI上で、印刷設定(ドキュメントプロパティ)の初期値設定、デバイスの設定(プリンタプロパティ)等の初期値設定を行なうことができる。なお、ドキュメントプロパティおよびデバイスプロパティをあわせてプロパティと呼ぶ場合がある。また、プロパティを印刷設定あるいは印刷設定情報と呼ぶ場合がある。
チェックボックス320をチェックすると、ボタン321が有効となる。ボタン321を押下すると、プリンタドライバUI上のコントロールの表示方法をカスタマイズするためのUI(図5)が表示される。そのUIを通して、カスタマイズ用のプリンタドライバUI上におけるコントロールの表示方法を設定することができる。
ボタン330を押下することで、カスタマイズドライバの作成先を指定するためのダイアログ(不図示)が表示され、カスタマイズドライバの作成先を指定することができる。
スピンボックス350を操作、もしくは値を入力すると、ここで入力された値がカスタマイズドライバを一意に特定するための特定情報(以下、「カスタマイズコード」という。)が、ドライバ情報ファイルに保持される。なお特定情報を識別情報ともいう。
各種設定を行った後、ボタン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が表示可能である。これらの各UI401〜405を介して、システム管理者等によって、ドキュメントプロパティの初期値設定と、プリンタプロパティの初期値設定を行なうことができる。
また、図4に示すUIにおいては、カスタマイズ対象でない設定に関しては、ユーザによる設定の入力を受け付けないように構成されている。カスタマイズ対象でない設定項目は、例えば、図4のボタン410のようにグレイアウト表示により、カスタマイズ対象でない項目であることを利用者が認識できるように表示される。
図5は、ドキュメントプロパティUIに表示される各種コントロールを、操作可能とするか、それとも操作不可とするかを指定するためのUI(以下コントロール設定UIという)を例示する図である。なおコントロールとは、UIに表示されるプッシュボタン、エディットボックス、ラジオボタン、チェックボックス、スクロールバー等の操作用のオブジェクトである。コントロール設定UIは、図3でボタン321を押下した際に、ホストコンピュータ3000のCRT10上に表示される。図5に示す画面例では、ドキュメントプロパティで設定可能なページ設定、仕上げ、給紙、印刷品質、共通の5種類のカテゴリにおける印刷設定項目のコントロールについて、その表示状態を利用者が指定できる。本実施形態では、コントロールの表示状態の指定をコントロール設定と呼ぶ。図5においては、ドキュメントプロパティUIに含まれる各カテゴリにそれぞれ対応するプロパティシートが、コントロール設定UIに表示される。プロパティシートには、ページ設定シート501、仕上げシート502、給紙シート503、印刷品質シート504が含まれる。そしてシート501−504上で指定されたコントロール設定に応じて、ドキュメントプロパティUIのシート401−シート404上に各設定項目のコントロールが表示される。たとえば、操作不可と指定されたコントロールはグレイ表示され、ユーザによる操作はできない。このため、該当する印刷設定項目の値は、デフォルト値のまま変更できない。このように、コントロールの表示制御を通して、印刷設定項目の値の変更の可否が制御される。共通シート505では、ページ設定シート401、仕上げシート402、給紙シート403、印刷品質シート404に共通する表示制御の設定を行なうことが可能である。
表示欄506には、印刷設定項目「Job Operations」のコントロールの設定が具体的に示されている。本実施形態では、コントロールの設定として、有効表示(通常通りの表示)、無効表示(Disabled)、非表示(Hidden)のいずれかを指定することができる。同様にその他の印刷設定項目コントロールについても、有効、無効、非表示の設定を個別にすることで、ドキュメントプロパティUIの表示をコントロールすることができる。これらの設定を利用者が入力すると、カスタマイズツールは、入力に対応する情報をUPDファイルに書き込む。なお、あるコントロールについて、「無効」および「非表示」が指定された場合には、そのコントロールは操作できない。そのため、そのコントロールを用いた印刷設定の変更はできない。逆に、あるコントロールについて「有効」が指定された場合には、そのコントロールを用いた印刷設定の変更が可能となる。
カスタマイズツールはCPU1の制御の下、情報処理装置の表示制御部として機能し、表示制御部は設定された文書のプロパティ(コントロール項目を含む)に基づいて、ユーザインタフェース(UI)における項目の有効表示、無効表示または非表示を制御することができる。
<カスタマイズツールの動作>
次に、図6のフローチャートを用いて、カスタマイズツール201aの基本動作について説明する。尚、基本動作の実行においては、ホストコンピュータ3000におけるCPU1が動作の主体となってカスタマイズツールが実行される。ただし、以下の説明においては、カスタマイズツール201aを処理の実行主体とした記述もあるが、実際にはCPU1により処理は実行されている。
まず、ステップS601において、ユーザによりカスタマイズツールが起動されると、カスタマイズツールの初期化処理がなされる。ステップS602において、カスタマイズツールは、図3で説明したUI画面をCRT10上に表示する。ステップS603において、ユーザにより、カスタマイズされるプリンタドライバのインストールセットの指示が図3のUI画面から入力されると、ステップS604において、指示されたインストールセットのチェック処理を行なう。カスタマイズツールは、インストールセットのチェック処理において、指定されたドライバセットに対応する、プリンタドライバのインストール情報を記述するファイル(INFファイル)を開く。カスタマイズツールは、開いたinfファイルの記述内容(例えばsignature701、710、720の値)から、指示されたインストールセットに対応可能なOSか、指示されたプリンタドライバがカスタマイズツールによるカスタマイズに対応したプリンタドライバであるかを判定する。
ここで、図7は、プリンタドライバのインストール情報を記述するinfファイルの記述内容を例示する図である。図7A−図7Cにinfファイルの一部の例を示す。図7の符号700はWindows(登録商標)98/Meのためのinfファイルの例である。図7の符号710はWindows(登録商標)NT4.0のためのinfファイルの例である。図7の符号720はWindows(登録商標)2000/XP/Server2003のためのinfファイルの例である。このinfファイルには、モジュール記述情報が含まれており(不図示)、このモジュール記述情報に基づいて、カスタマイズツールはプリンタドライバのUI処理を行っているモジュールを特定することができる。CPU1により実行されるカスタマイズツールは、各infファイル700,710,720中の「Signature」730,740,750の設定を参照する。signatureが、文字列リソース"$CHICAGO$"であれば、Windows(登録商標)98/ME用のプリンタドライバと判断する。
また、カスタマイズツールは、参照しているinfファイル中の「Signature」の設定が、文字列リソース"$Windows(登録商標)NT$"である場合は、Windows(登録商標)NT4.0用ドライバセットまたは、Windows(登録商標)2000/XP/Server 2003用のドライバセットのいずれかであると判断する。更に、カスタマイズツールは、signatureからWindows(登録商標)NT4.0用またはWindows(登録商標)200/X/Server用と判定されたドライバセットについては、さらに絞り込みを行なうために、infファイル(710、720)中の「DISK1」760、770を参照する。DISK1の設定文字列リソース内に「NT」が含まれている場合にはWindows(登録商標) NT4.0用と判断し、含まれていない場合には、Windows (登録商標) 2000/XP/Server 2003用と判断する。
また、カスタマイズに対応しているプリンタドライバのinfファイルには、そのことを示すための特定の文字列リソースが含まれている。そこでカスタマイズツールは、その特定の文字列リソースがプリンタドライバのinfファイル中に含まれているか否かを判断することにより、対応するプリンタドライバがカスタマイズに対応しているか判別することができる。
説明を図6に戻す。ステップS605において、プリンタドライバがカスタマイズに対応していないとカスタマイズツールにより判別される場合は(S605−NO)、処理をステップS610に進めて、エラー処理を行い、再度インストールセットの指示ステップ(S603)に戻る。エラー処理では、たとえば指定されたドライバセットがカスタマイズに非対応であることをユーザに通知するためのメッセージを表示する。
一方、ステップS605の判定において、プリンタドライバがカスタマイズに対応しているとカスタマイズツールにより判別される場合には(S605−YES)、処理をステップS606に進める。ステップS606において、カスタマイズツールは、CRTC6を制御してCRT10上に図3〜図5で説明したUI画面を表示させてプリンタドライバのカスタマイズの設定を可能にする。図3〜図5のUIは、カスタマイズツールが、プリンタドライバのUIモジュールを用いて表示させる。図3〜図5のUIを介して入力される設定がカスタマイズデータとなる。カスタマイズデータは、プリンタドライバが読み出し可能なファイルであるUPDファイルに保存される。プリンタドライバは、インストールされると、UPDファイル内の設定値を読み込む。そして、プリンタドライバは、UPDファイル内のカスタマイズされた設定値を、プリンタドライバの印刷設定項目に反映する。例えば、よく使う印刷設定値(両面、2in1など)のプリセットをプリンタドライバに予め反映しておく。また、印刷設定項目のコントロールは、図5のUIにおける指定に従って表示される。カスタマイズされたドライバをインストールするだけで、よく使う印刷設定値や、カスタマイズされたデフォルト値がプリンタドライバに設定された状態となる。また各印刷設定項目の値だけでなく、各印刷設定項目を操作するためのコントロールもカスタマイズされる。
図3〜図5のUI画面を通じて、プリンタドライバのカスタマイズに関する設定がなされてカスタマイズの指示がなされると(S607)、カスタマイズツールは、UI画面で指示された内容(カスタマイズデータ)に基づいてカスタマイズしたドライバセットの作成処理を行なう。なお、カスタマイズされたドライバセットをカスタマイズドライバともいう。カスタマイズドライバといってもドライバのプログラムコードが変更されるのではなく、印刷設定項目のデフォルト値や、デフォルト値の変更の可否がカスタマイズされる。ステップS608においては、カスタマイズされたプリンタドライバの設定情報(印刷設定のデフォルト値やコントロールの表示指定等)が、UPDファイルに保存される。そして、そのUPDファイルとプリンタドライバプログラム、プリンタドライバのUI制御プログラムなどを含むインストールセットが作成される。
カスタマイズツールはCPU1により実行され、カスタマイズドライバ生成部として機能する。カスタマイズドライバ生成部は、設定された文書のプロパティまたはデバイスのプロパティを、プリンタドライバ(デバイスドライバ)のプリンタドライバ情報ファイル(UPDファイル)に書き込み、カスタマイズドライバを生成する。
すなわち、カスタマイズツールは、カスタマイズドライバの作成処理において、まずカスタマイズ元のインストールセットを、カスタマイズドライバを保存する場所(作成先)にコピーする。その後、作成先にコピーしたインストールセットに含まれているプリンタドライバ情報ファイル(UPDファイル)へ、カスタマイズデータを書き込むことでカスタマイズドライバを作成する。なおカスタマイズデータとは、カスタマイズツールが提供する図3〜図5のUIを通して利用者に入力された設定値である。
ここで、図9は、ドライバセットを構成する1ファイルである、プリンタドライバ情報ファイル(UPDファイル)2043のデータフォーマットを説明する図である。図9に示すように、UPDファイルは、ヘッダ901、ID定義902、データ903からなる。ID定義902には、データ903に格納されているデータのIDと、データの格納位置(アドレス)との組が格納されている。そして、その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が格納されているとする。
カスタマイズ対応のプリンタドライバは、インストール完了又は初回起動時において、開いたUPDファイルのID定義902内に「CUSTUMIZED」を示すID情報が記憶されていた場合、その情報に対応する番地Xを読み出す。続いて、そのプリンタドライバは、この番地Xに格納されたデータ903から、実際のドライバ設定データであるデバイスモードのデータ構造を更に読み出す。尚、ここで番地Xは絶対アドレスであってもよく、或はヘッダ901にデータ903の先頭アドレスを格納しておき、番地Xにはこのデータ903の先頭番地からのオフセットアドレスをセットしてもよい。
カスタマイズツールはCPU1により実行されて、カスタマイズ用UIを表示するための表示制御部として機能する。かかる表示制御部は、カスタマイズツールの起動時において、プリンタドライバの情報ファイルを参照し、ユーザインタフェースをCRT10に表示させることができる。
本実施形態において、カスタマイズツールは、カスタマイズデータとして、(i)文書用の設定を行なうドキュメントプロパティに関するデフォルト値データ(図4の401〜404により設定されるデータ)と、(ii)デバイスの設定を行なうプリンタプロパティに関するデフォルト値データ(図4の405により設定される)、及び、(iii)ドキュメントプロパティに関するUI上のコントロールの表示方法に関するデータ(図5のUI画面より設定されたデータ)とをUPDファイルに対して書き込む。カスタマイズされたプリンタドライバは、インストール完了時又は初回起動時に、カスタマイズツールにより作成されたUPDファイルを読み込み、カスタマイズ情報を元に動作する。これにより、カスタマイズされたプリンタドライバの動作環境を容易に構築することができる。
説明を図6に戻し、カスタマイズドライバが作成された後(S608)、ユーザから終了指示がなされると(S609)、カスタマイズツールの動作を終了する(S611)。
次に、図8のフローチャートを用いて、CPU1により実行されるカスタマイズツールが、プリンタドライバのカスタマイズ用UIを表示する処理について説明する。尚、本処理の実行においては、ホストコンピュータ3000におけるCPU1により実行されるカスタマイズツールが動作の主体となる。また図8の処理は、図6のステップS606において実行される処理である。
図3のボタン311が押下されると、カスタマイズツールは、プリンタドライバのUI処理を行っているモジュールをinfファイルに含まれているモジュール記述情報を元に特定する。そして、特定したUIモジュールを、カスタマイズツールから呼び出しが可能なように、メモリにロードする(S801)。たとえば図1のプリンタドライバUI制御モジュール2042がメモリにロードされる。
次に、ステップS802において、プリンタドライバのエクスポート関数のアドレスを取得する(S802)。なおエクスポート関数とは、モジュールの外部からそのモジュールが提供する機能を呼び出すための呼び出し口である。たとえばプリンタドライバのUI制御モジュールには、プロパティシートを表示する機能を外部から呼び出すためのエクスポート関数が定義されている。次に、カスタマイズツールと、カスタマイズに対応しているプリンタドライバとの間で情報をやりとりするための構造体であるCSPL構造体(不図示)を初期化する(S803)。CSPL構造体は、プリンタドライバの印刷設定情報(コントロールの表示指定を含む)や、フィニッシャ等のオプションデバイスに関するオプション設定情報を保存するための構造体である。CSPL構造体は、プリタドライバのUI制御モジュールを介して入力された印刷設定値等を、カスタマイズツールが読み出すためのデータである。したがってCSPL構造体はカスタマイズツールからデータの読出しが可能に構成されている。CSPL構造体は、プリンタドライバの設定情報を保存するためのDeviceOption構造体およびDevmode構造体に保存される情報を保存できる。したがってCSPL構造体は、たとえばDeviceOption構造体とDevmode構造体とをつなぎ合わせたデータ構造を定義することで実現される。CSPL構造体には、そのプリンタドライバのUIのコントロール設定やデフォルト値など各種の情報が保存される。CSPL構造体は、対応するプリンタドライバがインストールされていなくても、カスタマイズツールによって入力された情報を保存できる。
その後、ステップS804においてプロパティシート(カスタマイズ用のドライバUI)の表示処理を行なう。なお、ステップS804における処理の概略は、図13にも示した。このとき、図4で示したように、ドキュメントプロパティとプリンタプロパティを同時にカスタマイズできるように、両方のプロパティページが1つのUI画面に表示されるようにプロパティシートの表示関数を呼び出す。関数は、ステップS802で取得したアドレスを入り口として呼び出すことができる。呼び出される関数は、予め定めておきinfファイルに記述しておいても良いし、たとえば一定の規則で名称等を関数に付与することで、名称からプロパティシートの表示関数を判別できるようにしておいても良い。なお、図4の各項目毎のプロパティシートはプリンタドライバのUI制御モジュールで表示可能であるが、図5のUIはプリンタドライバでは表示されない場合もある。その場合には、図5のUIは、カスタマイズツールにそれを表示するための機能を用意しておく。ただし本実施形態では、図5のUIの各シートもプリンタドライバのUI制御モジュールにより表示される。そこで、カスタマイズツールはそのための関数を呼び出せば表示が実現される。
カスタマイズ用のドライバUIがユーザによって閉じられると、カスタマイズ用のドライバUIにて設定された情報はCSPL構造体に保持される。カスタマイズツールは、入力されたプリンタドライバの情報をCSPL構造体(DeviceOption構造体、Devmode構造体を含む)から取得する(S805)。なお、図4〜図5のUIを介してカスタマイズツールにより保存されたデフォルト値やコントロールの表示指定等、カスタマイズに関する情報をカスタマイズ情報という。カスタマイズツールが取得したカスタマイズ情報は、図6のステップS608でUPDファイルに保存される。
カスタマイズツールは、CPU1の制御の下、文書のプロパティまたはデバイスのプロパティに対応するプリンタドライバのデータ(すなわちカスタマイズ情報)を取得する取得部として機能する。かかる取得部は、プリンタドライバの設定に関するデータを保持するデータ保持部(CSPL構造体)とデータの受け渡しを行なうことにより、プリンタドライバの情報(すなわちカスタマイズ情報)を取得することができる。この際、取得部は、UI画面(図3〜図5)により設定された文書のプロパティまたはデバイスのプロパティに対応するデータを、データ保持部(CSPL構造体)に保持させる。データ保持部(CSPL構造体)からこれらのプロパティに対応するプリンタドライバの情報をカスタマイズ用の設定情報として取得する。カスタマイズツールは、このデータ保持部の内容を、後述するGPDファイルに対して書き込む。プリンタドライバは、呼び出されたときに、カスタマイズされたGPDファイルがあるかどうかを判定する。カスタマイズされたGPDファイルがあるとプリンタドライバが判定した場合、カスタマイズされたGPDファイルの中のカスタマイズされた印刷設定やUI制御データなどをプリンタドライバが読み出す。そして、プリンタドライバはカスタマイズ設定される。このカスタマイズ用の設定情報(すなわちカスタマイズ情報)に基づいて、表示制御部として機能するプリンタドライバは、図3乃至図5のUIを介して設定されたカスタマイズ情報(たとえばコントロールの表示制御の指定や、印刷設定情報のデフォルト値など)に基づいて、カスタマイズされたユーザインタフェースを後述する擬似APIを用いてCRT10に表示する。
その後、ステップS806において、先のステップS801において、メモリにロードしたモジュールをアンロードして、カスタマイズ用ドライバUIの表示を終了する(S807)。
この処理フローについては、プリンタドライバの対応OSによって若干処理は異なっている。例えば、Windows(登録商標) NT4.0とWindows(登録商標) 2000/XP/Server 2003は、ドライバUIの表示にCommon Property SheetUIというOSの仕組みを利用している。そこで図8のステップS804では、必要な前処理をして、Common Property SheetUI関数の呼び出しを行っている。一方、Windows (登録商標)98/MEについては、図8のステップS804では、必要な前処理をして、Property Sheet関数を呼び出してUIの表示を行っている。ただし、基本的な処理フローについては図8で示したとおりである。
図10Aは、プリンタドライバが実装しているWindows(登録商標) API(Application Programming Interface:アプリケーションプログラムインターフェース)の呼び出しについて説明する図である。図8のステップS804でプリンタドライバのUIモジュールが実行され、プリンタドライバUI処理1010が遂行される。本実施形態のプリンタドライバのUIモジュールは、プリンタドライバUI処理1010において、Windows (登録商標)APIの代わりに疑似Windows (登録商標)APIを呼び出す。疑似Windows (登録商標)APIは、プリンタドライバがインストールされている場合(通常の呼び出し時)は、Windows (登録商標)API(図中では、単に「API」と示す)を呼び出す(1040)。一方、カスタマイズに対応したプリンタドライバがインストールされていない場合でも、カスタマイズツールからプリンタドライバUIモジュールが呼び出される。プリンタドライバUIモジュールは、この場合にも疑似Windows (登録商標)APIを呼び出す。この場合は、疑似Windows (登録商標)API1060(図中では、単に「擬似API」と示す)は、対応関係にあるWindows (登録商標)APIの処理をシミュレートして、その結果をプリンタドライバUI処理1010に返す。
図10Bに示すテーブル1030は、Windows (登録商標)APIと対応する疑似(登録商標) API名の関係を示すテーブルの一例である。なお図10B中では、それぞれWindows (登録商標)APIを「API」、Windows (登録商標)APIと対応する疑似(登録商標) APIを「擬似API名」と示す。この対応関係および疑似APIは、予め作成しておき、プリンタドライバセットの構成ファイルとして保存しておくことができる。なお、疑似APIはカスタマイズツールの一部を構成しており、カスタマイズツールがコンピュータにインストールされると、それとともに疑似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)。判定の基準となるCSPL構造体のサイズは、例えば図10Bのテーブルと共に予め与えられて保存されている。ステップS1110では、この値を、引数として与えられたアドレスが示すデータと比較し、一致すればプリンタハンドルがCSPL構造体のアドレスと一致すると判定できる。
引数のプリンタハンドルがCSPL構造体のアドレスではない場合(S1110−NO)、通常のプリンタドライバの動作となるので、そのまま、Windows (登録商標)API(図中では、単に「API」と示す)の呼び出しを行って(S1120)、処理を終了する。
ステップS1110の判断において、引数のプリンタハンドルがCSPL構造体のアドレスと一致する場合には(S1110−YES)、処理をステップS1130に進める。
通常、プリンタドライバのユーザインタフェースを制御するプログラムは、ドライバに対する入力に応じてWindows (登録商標)APIの呼び出しを行なう。本実施形態では、プリンタドライバをインストールしていない状態では、Windows(登録商標) APIを呼び出すことはできないが、擬似APIを呼び出すことは出来るよう構成されている。
ステップS1130では、、擬似Windows(登録商標) API を呼び出す。呼び出された疑似WindowsAPI(擬似API)はWindows (登録商標)APIと同等の処理を行って、その処理結果をプリンタドライバUI処理1010に戻し、処理を終了する。プリンタドライバUIモジュールは、処理結果、たとえばUIを通して入力された印刷設定の各項目の値や、コントロールの表示の指定を、ハンドルで指定された構造体に保存し、処理を終了する。
以上の処理により、カスタマイズツールはCPU1の制御の下、情報処理装置の選択部として機能する。かかる選択部は、データ保持部(CSPL構造体)に保持されているアドレス情報(先頭アドレス)に基づいて、使用する(呼び出すべき)アプリケーションプログラムインタフェース(Windows (登録商標)API、または疑似Windows (登録商標)API)を選択する。
図12は疑似Windows (登録商標)APIの一例として、プリンタドライバUIからCSPL_GetVersionEx()関数(図10Bの欄1040を参照)を呼び出す場合の、CSPL_GetVersionEx()関数による処理の流れを示すフローチャートである。本処理の実行においては、ホストコンピュータ3000におけるCPU1により実行されるカスタマイズツールにより、プリンタドライバUIが呼び出され、さらにCSPL_GetVersionEx()関数が呼び出される。CSPL_GetVersionEx()関数がシミュレートするWindows (登録商標)APIは、Windows (登録商標)GetVersionEx()関数である(図10Bの表1030を参照)。このWindows (登録商標)APIは、ホストコンピュータ上で動作しているOSのバージョンに関する情報をプリンタドライバUI側の処理1010に返す処理を行なう。
まず、ステップS1210において、CSPL_GetVersionEx()関数は、関数の引数であるプリンタハンドルが、呼び出し時に受け渡されるCSPL構造体のアドレスであるかを判定する。この判定方法は、図11のステップS1110で説明した判定方法と同様である。引数がCSPL構造体のアドレスでない場合は(S1210−NO)、処理をステップS1220に進める。ステップS1220では、通常のプリンタドライバとして動作するWindows(登録商標) APIである、GetVersionEx()関数1040を呼び出して(S1220)、処理を終了する。
一方、ステップS1210の判定において、関数の引数がCSPL構造体のアドレスと一致する場合には(S1210−YES)、処理をステップS1230に進める。ステップS1230では、CSPL構造体の中に保持されているプリンタドライバに対応するOSの情報を元にGetVersionEx()関数の処理を擬似的に処理(GetVersionEx()関数の処理と同等の処理を実行)する(S1230)。
例えば、図3〜図5のUI画面から選択された文書のプロパティまたはデバイスのプロパティに対応して呼び出される擬似Windows (登録商標)APIは、対応するWindows (登録商標)APIの処理をシミュレートする。すなわち、CSPL_GetVersionEx()関数は、ステップS1230においても、GetVersionEx()関数と同じ処理結果をプリンタドライバUIモジュールに返す。これは他の関数についても同様である。ステップS1230、またはステップS1220の処理後、図12のフローチャートの処理を終了する。
例えば、Windows(登録商標)98/MEのプリンタドライバUI制御モジュールが、カスタマイズツールからの呼び出しによって実行される場合を説明する。すなわち、カスタマイズの対象はWindows(登録商標)98/MEのプリンタドライバである。本実施形態ではカスタマイズツールは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 (登録商標)98/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モジュールは、32ビットコードで記述され、32ビットのデータを処理できるように作成されている。このため、本実施形態のカスタマイズツールからは、Windows(登録商標)98/MEのプリンタドライバUIモジュールの処理関数を呼び出して、Windows(登録商標) 98/MEのUI表示及び制御を比較的容易に行なうことが可能である。
こうしてカスタマイズツールは、印刷設定を含むプロパティを取得(すなわち利用者により設定された情報を保存)する。そして、カスタマイズツールは、オペレーティングシステムにデバイスドライバを稼動可能に登録することなく取得した印刷設定を含むプロパティを、前記デバイスドライバが読み出し可能な状態で保存することができる。オペレーティングシステムへのデバイスドライバの稼動可能な登録とは、すなわち、オペレーティングシステムのアドミニストレータの権限を用いて、オペレーティングシステムが管理するレジストリ領域にデバイスドライバを登録してインストールことである。プロパティには、印刷設定のほか、コントロールの表示指定も含まれる。なお、当該設定時、デバイスドライバは、オペレーティングシステムが管理するファイルシステムのユーザ領域に記憶された状態にある。プロパティは、カスタマイズツールによりUPDファイルに保存される。作成されたUPDファイルは、カスタマイズ対象のプリンタドライバやプリンタドライバUIモジュール、およびinfファイルと共にインストールセットを構成する。作成されたインストールセットは、記録媒体や通信媒体を介してクライアントコンピュータに配布される。インストーラは、infファイルの記述に従ってインストールを実行する。インストーラは、UPDファイルから読み込んだ各設定項目に対応する値を、devmode構造体やdeviceOption構造体の該当する項目の値として複写する。プリンタドライバおよびプリンタドライバUIモジュールは、devmode構造体やdeviceOption構造体に保存された各項目の値を参照して動作する。
前述の処理は、アプリケーションプログラムの一例であるカスタマイズツールにより実行されるものである。カスタマイズツールは、さらに、前記デバイスドライバを介した情報の入力に対して、オペレーティングシステムに代理して前記デバイスドライバに応答する。
そして、このカスタマイズツールの擬似的な代理応答があるので、デバイスドライバは、エラー処理に陥ることなく、前記アプリケーションからの応答を、オペレーティングシステムからの応答として認識し、その後のユーザからの入力による設定処理を続行する。
更に、カスタマイズツールは、プリンタドライバに対する擬似APIを含む。更に、カスタマイズツールは、複数種類のオペレーティングシステム用(例えば、Windows(登録商標)NT,Windows(登録商標)95など)のデバイスドライバに対して、前記印刷設定を含むプロパティを設定できる。
なお、カスタマイズツールは、複数のデバイスドライバに対して、一度の指示でカスタマイズツールが取得した印刷設定に係わる情報を設定できる。
以上説明したように、本実施形態における擬似APIは、オペレーティングのAPIをシミュレートすることで、オペレーティングシステムにインストールされている場合と同様に、デバイスドライバを実行するためのプログラムである。もし、擬似的にカスタマイズツール(疑似API)がデバイスドライバに応答しなければ、デバイスドライバはエラー処理に移行してしまう。これにより、デバイスドライバをインストールすることなく、カスタマイズツールによるカスタマイズ処理を続行させることができる。
図13は、カスタマイズに対応したプリンタドライバのプロパティ設定に関するUI制御の処理の流れを説明するフローチャートである。図13の手順の中で、図11や図12に示す疑似API関数がコールされ、プロパティシートの表示や、パラメータの取得、設定値の入力が実現される。尚、本処理の実行においては、ホストコンピュータ3000におけるCPU1により実行されるカスタマイズツールが動作の主体となるものとする。
まず、ステップS1300において、UI制御の指示が入力されると、カスタマイズツールが起動して、ステップS1310において、UIの初期化処理が行なわれる。ステップS1320において、図9で示すプリンタドライバ情報ファイルがあるか判定する。ある場合には(S1320−YES)、処理をステップS1330に進め、プリンタドライバ情報ファイルに保存されたカスタマイズ情報に従ってUI上のコントロールを表示する。本例では、コントロールの表示は、有効、無効、非表示の3通りに制御可能である。UI表示後、ユーザ操作待機状態にする(S1340)。一方、プリンタドライバ情報ファイルがない場合には(S1320−NO)、ステップS1330の処理をスキップし、ユーザ操作待機状態にする(S1340)。なお、プリンタドライバ情報ファイルがあっても、なんらデータが含まれていなければ、カスタマイズ情報はないため、ステップS1320からステップS1340に分岐する。
その後、ユーザの操作が行われるまで待機し(S1340)、UIを閉じる操作がなされた場合(S1350―YES)には、UIの処理を終了(S1370)し、他の操作であった場合は(S1350−NO)、ユーザの操作に対応したUI制御を行い(S1360)、処理をステップS1320に戻す。入力されたプロパティ情報は、CSPL構造体を介して再度プリンタドライバ情報ファイル(UPDファイル)に保存される。なおこのとき、図3のカスタマイズコード350をプリンタドライバ情報ファイルに、あらかじめ定めた識別コードとともに保存する。
図5で指示されたコントロールの表示方法に関するカスタマイズデータは、図9で示したプリンタドライバ情報ファイル内に保持されているので、そのカスタマイズデータに従った、UIコントロールの表示が可能である。
なお、カスタマイズツールはカスタマイズ情報にしたがわず、全ての設定項目のコントロールについて有効としてもよい。その場合にはプリンタドライバ情報ファイルに含まれたカスタマイズ情報のうち、コントロールの表示指定についてはすべて「有効」とみなしてUIを表示する。
本実施形態では、カスタマイズ情報をUPDファイルというドライバ情報ファイルに書き出すようにしているが、プリンタドライバが参照可能であり、かつ、解析可能なファイルであれば、その形態はUPDファイルに限定されるものではない。従って、次期Windows(登録商標)であるLonghornにおいてはプリンタドライバの情報ファイルとしてGPDファイルが標準的なものとなっているが、このファイル内にカスタマイズ情報を組み込むようにしてもよい。
印刷装置を制御するデバイスドライバ(プリンタドライバ)を、プロパティ(文書用の設定を行なうドキュメントプロパティに関する初期値データと、デバイスの設定を行なうプリンタプロパティに関する初期値データ)の設定によりカスタマイズする情報処理装置は、(1)文書のプロパティ設定とデバイスのプロパティ設定によりカスタマイズしたデバイスドライバを特定するための特定情報(カスタマイズコード)を設定する特定情報設定部と、(2)デバイスドライバをインストールする際に、デバイスドライバに対応する特定情報(カスタマイズコード)が特定情報設定部により設定されているか判定する判定部と、(3)判定部の判定により、デバイスドライバに対応する特定情報(カスタマイズコード)が設定されていると判定された場合、特定情報(カスタマイズコード)をレジストリに登録する登録部とを備える。情報処理装置において、上述の各部は、CPU1の制御の下、カスタマイズツールを実行することにより、各部の処理が実行される。
図14は、上述のカスタマイズツールによりカスタマイズされたドライバセットをコンピュータにインストールする処理を具体的に示す図である。図14は、カスタマイズドライバのインストール時において、プリンタドライバ情報ファイル中にカスタマイズコードが保存されている場合の処理を説明するフローチャートである。カスタマイズドライバのインストールが実行されると、CPU1により実行されるカスタマイズツールは、ステップS1410において、インストール先のドライバセットに含まれるプリンタドライバ情報ファイルを読み込む。そして、ステップS1420において、カスタマイズツールは、読み込んだプリンタドライバ情報ファイル中に、インストールするカスタマイズドライバに対応するデータとして、図3のUI画面におけるスピンボックス350から入力されたカスタマイズコードが保存されているか判定する。カスタマイズコードが保存されている場合(S1420−YES)、処理をステップS1430に進める。カスタマイズツールは、プリンタ情報ファイルから読み取ったOS上の特定のレジストリにカスタマイズコードを保存(登録)して処理を終了する。一方、ステップS1420の判定において、カスタマイズ情報ファイルにカスタマイズコードが設定されていない場合(S1420−NO)は、ステップS1430の処理をスキップして処理を終了する。
カスタマイズツールはCPU1の制御の下、情報処理装置の判定部として機能し、かかる判定部は、デバイスドライバをインストールする際、レジストリに登録されている特定情報(カスタマイズコード)により、既にインストールされているデバイスドライバがカスタマイズされているか判定することができる。また、カスタマイズツールはCPU1の制御の下、情報処理装置のプロパティ設定部として機能し、かかるプロパティ設定部は、判定部によりデバイスドライバ(プリンタドライバ)がカスタマイズされていると判定される場合、情報ファイルに書き込まれている文書のプロパティ設定またはデバイスのプロパティ設定を、インストールするデバイスドライバの情報ファイルに書き込むことができる。これにより、カスタマイズ情報を正確に引き継ぐことが可能になる。
図15は、レジストリエディタの表示画面を例示的に示す図である。カスタマイズツールが、カスタマイズドライバのカスタマイズコードを、OS上のドライバの設定に関する特定のレジストリに登録すると、「Customize Code」の名前(1501)で、カスタマイズコード「20041224」という数値(1502)が組み合わされて表示される。ここで、カスタマイズドライバを特定するためのカスタマイズコードは、欄1502に示す数値に限定されるものではなく、スピンボックス350からの入力により、任意にカスタマイズコードを設定することができるものとする。
本実施形態によれば、デバイスドライバ(プリンタドライバ)の設定に関する特定のレジストリへカスタマイズコードを登録することにより、外部のアプリケーションツールからカスタマイズコードを参照することができる。外部のアプリケーションツールがレジストリのカスタマイズコードを参照すれば、インストールされているプリンタドライバがカスタマイズ済みのプリンタドライバかを判断することが可能になる。なおカスタマイズされていないプリンタドライバがインストールされた場合には、カスタマイズコードの欄はレジストリに登録されない。したがって、カスタマイズコードの有無でカスタマイズされているか否かが判定でき、カスタマイズコードの内容でバージョンを特定できる。
また、インストーラでプリンタドライバをアップデートする場合にも、このカスタママイズコードからカスタマイズしたプリンタドライバかどうか判定する。そして、ドライバ情報ファイル(UPDファイル)に含まれているカスタマイズ情報を新たにインストールする別のプリンタドライバのUPDファイルに書き込むことで、ユーザが設定したカスタマイズ情報を正確に引き継ぐことが可能になる。
システム管理者は、レジストリの登録内容に基づいて、ユーザが使用しているプリンタドライバがカスタマイズされたものか判定することが可能になる。
また、本実施形態によれば、プリンタドライバのインストールを行なわずに、ユーザの所望するカスタマイズを反映させてカスタマイズドライバのインストールセットを作成し、個別のOSに対応したプリンタドライバのインストールを不要とすることで、作業効率の向上を図ることが可能になる。
プリンタドライバが、カスタマイズに対応していないOS用のものであっても、ユーザの所望するカスタマイズを反映させたカスタマイズドライバを作成することが可能になる。
また、プリンタドライバの初期設定値のカスタマイズにおいては、プリンタドライバのUIと同等のUIを用いて作業が可能であるので、カスタマイズにおける初期設定作業を容易に行なうことができる。かかるUIを利用して設定したカスタマイズの内容を反映させて、表示項目の有効表示、無効表示、非表示を制御することで、ユーザの作業効率、操作の利便性の向上を図ることが可能になる。
カスタマイズドライバは、カスタマイズしていないドライバのインストールセットと同様の構成であるので、Microsoft(登録商標)社製、Windows(登録商標)オペレーティングシステム、または、次期OSであるLonghornにおける、いわゆるPoint&Print環境においてもカスタマイズドライバとして動作することが可能であり、カスタマイズドライバの汎用性を向上させることができる。
図16は、カスタマイズコードのレジストリとカスタマイズツールのメモリ上に格納された状態を表すブロック図である。ホストコンピュータ3000の外部メモリ11に記憶されており、RAM2に展開され、カスタマイズツールが制御するCPU1に参照される。
カスタマイズコードは、OSが管理する特定のレジストリ格納領域に保管されている。レジストリはツリー構造で格納されており、カスタマイズコードを参照する際には、ツリーの最上位のサブツリーからサブキーをたどっていくことで参照することができる。
カスタマイズツールは、ユーザからの入力を受け付けるUI制御、ドライバとカスタマイズの情報をやりとりするドライバアクセス部、アプリケーション情報を更新するINF変更部、デバイスの依存情報を更新するUPD変更部からなっている。
次に、カスタマイズコードを有するドライバのプッシュインストール処理について説明する。図17の前処理として、サーバPCを操作する管理者(ユーザ)は、後述する図18乃至図19のユーザインタフェースを用いて、インストールタスクの内容を定義する。
ユーザは、図18を用いてインストール対象となるクライアントPCを選択する。そして、図19を用いて、インストール対象となるドライバ(カスタマイズコード含む)を選択する。これらの一連の処理で指定又は選択された情報に基づいてドライバインストールタスクをサーバで生成する。以上が前処理である。前処理の詳細については、後に詳述する。
図17は、ネットワークに接続されたサーバクライアント環境で、サーバからプッシュインストーラにプリンタドライバをインストールするタスクをスケジューリングした後に実際に実行される一例を示す。このフローチャートは、前処理が終わった後、図20のregisterボタンを管理者がマウスなどを押下するのに応答して開始される。
サーバPCで生成されたドライバインストールタスクは図20で設定されたスケジューリングに従い、あらかじめサーバからクライアントにインストールされたエージェントに対して、タスクの問合せを要求するように指示を出す(1701)。当該要求指示を出されたクライアントのエージェントはサーバに対して、タスクを要求する(1702)。タスクを要求されたサーバは図18の1802で選択したクライアントのエージェントに対してタスクを転送してキューイングを行なう(1703)。タスクを受け取ったそれぞれのクライアントのエージェントは、キューイングされたタスクを実行して(1704)、その結果をそれぞれサーバに通知する(1705)。サーバPCは、インストール結果がクライアントから通知されてくるのに応答して、後述する図21のような画面を表示する。図21の画面を操作すると、同じく後述する図22の画面に切り替えることが出来る。なお、本実施形態におけるエージェントは、制御プログラムである。RAM2に展開され、CPU1により1702,1704,1705の処理を実行させる。サーバ側ではインストールプログラムがCPU1により実行され、1701,1703の処理を行なう。
図18乃至図22は、ドライバインストールタスクを生成するためのサーバ側のUIの一例を示した概念図である。
図18は、クライアントデータベースの一例を示す図である。図18には、このサーバにネットワーク接続されているクライアントPCがリストアップされている。1801には、ネットワーク上のグループが表示されている。グループは、複数のチームを含む場合がある。また、それぞれのチームは、複数のクライアントを含む場合がr。図18の例では、area11,area12,area13がネットワーク上に存在していることがわかる。
そして、area11は、team A, team B, team Cを含む事が図18の1801に示されている。そして、area 11のteamAに属するクライアントとして、ClientPC01乃至ClientPCnまでが列挙されている1802。クライアントデータベースを検索することにより、1801及び1802が表示される。1802には、各クライアントに搭載されているオペレーティングシステムの種類(本実施形態では、W2K,W9xの2種類)が表示されている。
クライアントPCをサーバPCからネットワークを介して探索することにより、1801のクライアントデータベースは収集してもよい。1804のキャンセルボタンを押すと、プログラムが終了する。
図19は、図18のNext1803ボタンを押すと表示される図である。図19は、サーバPC側に記憶されている、ドライバのリストを示す。プリンタドライバ名1905、デバイス名1906、ドライバのPDL(ページ印刷言語)の種類1907、ドライバが対応するオペレーティングシステムの種類1908が示されている。さらに、UIに表示される対応言語1909、その他1910(例えば、ファックスドライバであることを示す情報が格納できる)の情報も表示される。さらに、前述の実施形態で説明した各ドライバに対応するカスタマイズコード1903も表示される。カスタマイズコードは、番号や記号が用いられる。未カスタマイズのドライバの場合にはNONEと表示される。1904には、選択状態とするかどうかを選択可能なチェックボックスが表示されている。黒塗りの四角は選択状態を示す。(a)乃至(b)の記号はシンボルマークであり、ドライバを特定するための通し記号として用いられる。
図20は、図19でOKボタン1902を押すと開くウィンドウである。2001では、インストールタスクをクライアントPCへ送信して実行させる時期を指定できる。チェックボックスにより、即時送信・実行もできるし、送信時の指定も出来る。図20では、タスクスケジューラでは、このドライバインストールタスクを実行するスケジュールを入力することが可能で、ここでは2005年の3月1日の午後11時にインストールタスクがスケジューリングされている。
さらに、単にタスクの内容を登録するだけで処理時間を未定(ユーザの指示があったとき)とすることもできる。即時実行若しくは時刻指定のインストール処理を選択した状態で、登録ボタンを押すと、指定した時刻にタスクの登録処理がはじまる。すなわち、図18及び図19で指定された内容がドライバインストールタスクとしてまとめられる。そして、当該ドライバインストールタスクは図20で指定された時期にクライアントPCのエージェントに対してサーバPCから送信される。
図21は、クライアント装置からインストール結果を通知する図である。図18の1802選択された2101乃至2105は、各クライアントのインストール状況に対応する。
これらのUIで指定されたドライバインストールタスクでは、ドライバデータベースに登録されたドライバの対応OS1908をみて、そのOSを搭載したクライアントPCに対して、タスクスケジューラで指定した日時にドライバのインストールを実行することが可能である。
例えば、Win2Kのドライバを搭載されたクライアントPC01乃至03である。これらのクライアントには、Win2Kに対応したドライバ(a)(b)(d)(e)が全てインストールされる。Win95についても同様に考えることが出来る。
そして、サーバに通知されたタスクの実行結果は、図22のようにサーバ上のUIでリスト表示されて、ステータスを確認することが可能である。
クライアントPC01は、ステータスとしてOKを返却している。インストールしたドライバとして、通し記号として(a),(b),(d),(e)が表示されている。図19の通し記号1904に対応する。これらの通し記号に対応するドライバのインストールが完了したことを示している。クライアントPC02では、NGとして表示されている。これは、何らかのエラーが発生して、ドライバのインストールが失敗したことを示す。画面は、クライアントPC04では、(a)(b)(d)(e)、クライアントPC04では、(a)(c)(d)、クライアントPCnでは(a)(d)(d)がそれぞれインストールが成功したことを示している。
図22は、クライアントPC04のインストール状況を示す図である。図21のエントリ2104に対応する行をマウス等で、ダブルクリックすると開く。他のクライアントのインストール結果を知りたければ、他の行2101、2102、2103、2105などをダブルクリックすることで同様の表示が可能である。
図22には、クライアントPC04のインストール結果として表示がある。画面は(a)(c)(d)に対応するドライバがインストールされたことを示す。それぞれのドライバのドライバ名、カスタマイズコードも表示される。カスタマイズされていないドライバにはNONEが表示されている。これにより、複数のドライバをインストールした際であっても、クライアントからの通知により、サーバ側の管理者は、カスタマイズされたドライバとカスタマイズされていないドライバを識別可能に表示できる。
* 本実施形態では、プリンタを制御するデバイスドライバをカスタマイズするクライアントPCを開示した。
* また、カスタマイズされているカスタマイズドライバを特定するための特定情報の一例であるカスタマイズコードを発行するカスタマイズツールが開示された。さらに、クライアントPCは、カスタマイズツールが発行したカスタマイズコードを、カスタマイズドライバと関連付けて記憶する外部メモリを有する。
さらに、外部メモリに記憶されているカスタマイズドライバをインストールする際、当該カスタマイズドライバに対応する特定情報が設定されているかをカスタマイズツールは判定する。
カスタマイズツールの判定処理により、カスタマイズコードが設定されていると判定された場合、当該特定情報をオペレーティングシステムが管理する記憶領域の一例である、レジストリに登録する。
さらに、デバイスドライバに対して特定の設定値をカスタマイズツールは設定する。
さらに、カスタマイズツールが設定した設定値を前記デバイスドライバの情報ファイルに書き込む。そして、デバイスライバからカスタマイズドライバをカスタマイズツールは生成する。
さらに、カスタマイズドライバをインストールする際、カスタマイズツールは、カスタマイズコードを用いて、既にインストールされているデバイスドライバがカスタマイズされているかを判定する。
そして、カスタマイズツールは、デバイスドライバがカスタマイズされていると判定した場合、次の処理をする。すなわち、情報ファイルに書き込まれている前記設定値を、インストールするデバイスドライバの情報ファイルに対してカスタマイズツールが書き込む。
前記カスタマイズされた設定とは、複数の印刷設定値に対応する複合印刷設定の一例であるお気に入り設定、及び、プリンタドライバのユーザインタフェースを変更する設定であるUPDファイルに書き込まれる設定を含む。さらに、カスタマイズされた設定とは、プリンタドライバを操作する際にプリンタドライバのユーザインタフェースを介して設定する設定値を含む。
さらに、サーバPCに搭載されているインストールプログラムが、カスタマイズされているカスタマイズドライバを取得する。インストールプログラムが、さらにカスタマイズドライバをインストール指示する。
インストールプログラムがインストール指示するカスタマイズドライバを、インストールプログラムが特定する。
カスタマイズコードを用いて、そのインストールプログラムがインストールした結果を表示する。
インストールプログラムは、複数のデバイスドライバをインストールできる。そして、インストールプログラムは、インストール結果として、カスタマイズされているドライバとカスタマイズされていないドライバをサーバPCのCRTディスプレイ上に、識別可能に表示する。
インストールプログラムは、ネットワークを介してクライアントPCに対して、インストール指示を送信することによりインストール指示を行なう。そして、クライアントPCから送信されてくるインストール結果を示す情報と、インストールプログラムが取得したカスタマイズコードを用いて、CRTには、前記カスタマイズドライバのインストールが成功したか否かを表示する。
インストールプログラムは、サーバPC内に記憶されているカスタマイズコードを取得する。
インストールプログラムは、クライアントPCから返送されてくるカスタマイズコードを取得する。
以上のように、本実施形態によれば、カスタマイズツールを用いて、プリンタ設定情報をカスタマイズすることができる。また、カスタマイズコードをプリンタ設定情報と共にプリンタドライバ情報ファイルに保存することで、ドライバのインストール時やインストール後に、プリンタドライバがカスタマイズされたものであることを、他のプログラムや利用者が知ることができる。また、サーバにより、各クライアントにインストールされているドライバがカスタマイズされたものであることを知ることができる。また、ドライバの更新をする際にも、インストーラがカスタマイズコードを参照することで、上書きされるドライバがカスタマイズされたドライバであることを知ることができる。
[第2実施形態]
<コンピュータおよびプリンタの構成>
以下、添付図面を参照して本実施形態を詳細に説明する。図43は、本発明の一実施の形態に係る印刷処理システムの構成を示すブロック図である。この印刷処理システムは、ホストコンピュータ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に保存される。本実施例でいうプリンタドライバのインストールセットとは、コンピュータにプリンタドライバをインストールするための情報であり、コンピュータ上のOSの機能であるインストールプログラムを用いてプリンタドライバをインストールするためのインストール定義ファイル(infファイルと呼ばれる)とプリンタドライバ情報ファイル(UPD(User-Interface Printer Description)ファイル)2043と、プリンタドライバ等のプログラムファイルから構成されていてもよいし、また、実行形式(exeファイル)ファイルを含むインストーラから構成されていてもよい。UPDファイルは、プリンタドライバの設定定義情報である。また、プリンタドライバの駆動制御のためのパラメータ、たとえば両面印刷の別や用紙サイズ等の印刷設定を定めた印刷設定情報も外部メモリ11に保存され、プリンタドライバにより参照される。
外部メモリ11に記憶された、本実施の形態に係るカスタマイズツールプログラム(以下、単にカスタマイズツール)を含むアプリケーション201は、RAM2にロードされてCPU1により実行される。またCPU1は、例えばRAM2へのアウトラインフォントの展開(ラスタライズ)処理を実行し、CRT10上でのWYSIWYG(What You See Is What You Get)を可能としている。更に、CPU1は、CRT10上の不図示のマウスカーソル等で指示されたコマンドに基づいて、登録された種々のウインドウを開き、種々のデータ処理を実行する。ユーザは印刷を実行する際、印刷設定画面(プリンタドライバUI制御モジュール2042により制御される)を開き、プリンタの設定や、印刷モードの選択を含むプリンタドライバ2041に対する印刷処理の設定を行うことができる。なお、カスタマイズツールは、かならずしもカスタマイズの対処となるプリンタドライバがインストールされるコンピュータにおいて実行される必要はない。コンピュータ3000以外のコンピュータにおいてカスタマイズツールを実行し、プリンタドライバをカスタマイズしてインストールセットを生成し、それをコンピュータ3000にインストールすることもできる。
次にプリンタ1500の構成について説明する。CPU12は、プリンタ1500の全体の動作を制御している。RAM19は、CPU12の主メモリ、ワークエリア等として機能するとともに、出力情報展開領域、環境データ格納領域としても用いられる。またこのRAM19は、NVRAM(不揮発RAM)領域も備えており、図示しない増設ポートに接続されるオプションRAMによりメモリ容量を拡張することができるように構成されている。ROM13は、各種フォントを記憶するフォントROM13a、CPU12により実行される制御プログラム等を記憶するプログラムROM13b、及び各種データを記憶するデータROM13cを備えている。入力部18は、ホストコンピュータ3000との間でデータの送受信を行う。印刷部インターフェース16は、プリンタエンジンである印刷部17とのインターフェースを制御している。
外部メモリ14は、メモリコントローラ(MC)20によりアクセスが制御されており、オプションとして接続されるハードディスク(HD)、MO、フレキシブルディスク(FD)、ICカード等を含んでおり、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。尚、ハードディスク等の外部メモリ14が接続されていない場合には、ROM13のデータROM13cに、ホストコンピュータ3000で利用される情報等を記憶することになる。尚、この外部メモリ14は1個に限らず複数備えるものであってもよく、例えば、内蔵フォントに加えてオプションフォントカード、言語系の異なるプリンタ制御言語を解釈するプログラム等を格納した外部メモリを複数接続できるように構成されていてもよい。
操作部1501には、ユーザによる操作を受け付ける操作パネルが設けられ、その操作パネルには操作のためのスイッチ及びLED表示器等が配されている(不図示)。また、不図示のNVRAMを有し、操作パネルからのプリンタモード設定情報を記憶するようにしてもよい。
CPU12は、ROM13のプログラムROM13bに記憶された制御プログラム等に基づき、印刷部インターフェース16を介して印刷部(プリンタエンジン)17に出力情報としての画像信号を出力する。またCPU12は入力部18を介してホストコンピュータ3000との通信処理が可能となっており、ホストコンピュータ3000から送信される印刷データを受信すると共に、プリンタ1500内の情報等をホストコンピュータ3000に通知可能に構成されている。
<メモリマップ>
図2は、所定のアプリケーション(本発明のカスタマイズツールを含む)及び印刷処理関連プログラムを起動して、ホストコンピュータ3000のRAM2にプログラムやデータがロードされた状態でのRAM2のメモリマップを示す図である。これは第1実施形態と同様であるので説明を省略する。
<UPDファイルの構成>
図29は、設定定義情報であるプリンタドライバ情報ファイル(UPDファイル)2043を含むドライバセット800(インストールセット)のデータフォーマットを説明する図である。図29において、ドライバセット構成ファイル800の構成要素は、更新されたUPDファイル2043と、更新されたINFファイル804と、その他のドライバファイル(DLLファイル,HLPファイル,TXTファイル等)805である。
UPDファイル2043は、ヘッダ801、ID定義部802、データ部803を含む。ID定義802には、UPDデータ803に格納されているUPDデータのIDとUPDデータの格納位置(アドレス)との組データが格納されている。したがって、ID定義部802には、IDの数に相当する組データが格納されている。UPDファイル2043はプリンタドライバ毎、すなわちプリンタの機種毎に存在する。ドライバセット800(インストールセット)は、複数機種のプリンタドライバを保持しており、その数に応じたUPDファイル2043が保持されているため、1つのインストールセットにより機種毎に異なるカスタマイズを行って、プリンタドライバをコンピュータにインストールすることが可能である。
カスタマイズツールによりカスタマイズされたUPDファイル2043には、ID定義802内にカスタマイズされたデフォルト値であることを示す所定のID(たとえば「CUSTUMIZED」)と、そのデータ格納位置の番地Xが格納されている。カスタマイズされていないUPDファイルについては、カスタマイズされたことを示すIDがID定義部902に含まれていない。そのため、ID定義部802を参照することで、カスタマイズされているか否かを判定することができる。このカスタマイズされたことを示すIDが第1実施形態のカスタマイズコードに相当する。
またID定義802ではカスタマイズ用のIDを使用しているため、新しいバージョンのプリンタドライバに、それ以前にカスタマイズしたプリンタドライバの設定を引き継ぐこともできる。
UPDファイル2043はヘッダ801、ID定義802、UPDデータ803からなる。ID定義802には、UPDデータ803に格納されているデータのIDとUPDデータの格納位置(アドレス)との組が格納されている。そして、その組がIDの数に相当する分のセットで格納されている。本実施の形態に係るカスタマイズツールでは、カスタマイズ用に定義されたIDに対応するデータの値を変更している。尚、ID定義802に使用したいカスタマイズデータのIDが定義されていない場合は、そのカスタマイズデータに対応する新たなIDがID定義802に追加される。UPDファイルはデバイスドライバごとに存在する。よって、次のような場合もカスタマイズが可能である。即ち、ある機種に対応したカスタマイズ済みのドライバセットを使用して更に他の機種もカスタマイズすることが可能である。例えば、ある機種でカスタマイズ済みのドライバセットの設定内容を用いて、別の機種の機器をもカスタマイズできる。また、ID定義802ではカスタマイズ用のIDを使用しているため、新しいバージョンのプリンタドライバに、それ以前にカスタマイズしたプリンタドライバの設定を引き継ぐこともできる。尚、カスタマイズ対応のプリンタドライバは、カスタマイズツールによりカスタマイズされる。プリンタドライバは、インストール時又は初回の起動時にUPDファイル2043を読み込み、UPDファイル2043のID定義802の所定IDに対応付けて格納されたUPDデータ803を読み込むように実装される。例えば、カスタマイズツールにより作成されたUPDファイル2043には、ID定義802内に「CUSTUMIZED」を示すIDと、そのデータ格納位置として番地Xが格納されているとする。カスタマイズ対応のプリンタドライバは、インストール完了又は初回起動時には、ID定義802内に「CUSTUMIZED」を示すID情報が記憶されている場合、その情報に対応する番地を読み出すように予め実装されている。よって、このプリンタドライバは、インストール完了時又は初回起動時には、UPDファイル2043のID定義802内に「CUSTUMIZED」を示すIDを含むとき、そのID定義から対応するデータの番地Xを読み出す。続いて、そのプリンタドライバは、この番地Xのデータ803から、実際のドライバ設定データであるデバイスモードのデータ構造を更に読み出す。尚、ここで番地Xは絶対アドレスであっても良く、或はヘッダ801にデータ803の先頭アドレスを格納しておき、番地Xにはこのデータ803の先頭番地からのオフセットアドレスをセットしても良い。このようにしてUPDファイルを用意することにより、カスタマイズされたプリンタドライバは、インストール完了時又は初回起動時に、自動的にカスタマイズツールにより作成されたUPDファイルを読み込み、プリンタドライバのデフォルトの設定値をデバイスモードとして自動的にプリセットする。これにより、カスタマイズされたプリンタドライバの動作環境を容易に構築することができる。
更に、更新されたUPDデータ803は、元のドライバのUPDデータ8031と、カスタマイズされたデータ8032を含む。UPDデータ803(従来のUPDデータ8031)は、プリンタドライバのUI上でデフォルト設定値として表示される印刷設定データ(DEVMODE)、印刷設定データのプロファイル(お気に入り設定)を示すプロファイルデータ、及びスタンプデータを含んでいる。同様に、カスタマイズしたデータ8032には、デフォルト設定にカスタマイズした印刷設定データ(DEVMODE)8032aと、カスタマイズしたプロファイル(お気に入り)データ8032bと、本実施形態で説明するカスタマイズしたスタンプデータ8032cが含まれる。カスタマイズしたプロファイルデータは、プリンタドライバにおいて設定可能な項目について、カスタマイズ操作によって設定された値が与えられた、印刷設定パラメータのセットである。プロファイルデータには、セット毎に名称が与えられており、複数存在する場合もある。スタンプデータは、それらプロファイルデータのいずれかあるいは全てにおいて使用される。カスタマイズしたDEVMODEデータ8032aは、プリンタドライバがインストールされたコンピュータにおいて、そのプリンタドライバにより用いられる印刷設定である。カスタマイズしたDEVMODEデータ8032aは、そのままの形式でプリンタの印刷設定情報として利用可能である。
図39は、このデバイスモード(デフォルト設定値)としての印刷設定データ(DEVMODE)8032aのデータ構造の一例を示す図である。図39においては、用紙向き(dmOrientation)、用紙サイズ(dmPaperSize)、用紙幅(dmPaperWidth)、部数(dmCopies)などが格納されている様子が記載されている。その他、このDEVMODEデータ構造体はレジストリに格納される。プリンタドライバ2041は、このレジストリに格納されたDEVMODEデータ構造体を読み書きすることで、デフォルトの印刷設定環境や、後述する「お気に入り」を読み込んでユーザインタフェースにも反映することができる。
本実施の形態では、カスタマイズした印刷設定データは、デバイスモード:DEVMODの形式でUPDファイルに保存される。デバイスモードとは、普及しているOSで定義されている印刷設定データを格納するためのデータ構造の呼称である。このデバイスモードのデータ構造の形式で、各種印刷設定は、HD11のOSが管理するレジストリ領域や、同じくHD11に記憶されるUPDファイルのデータ領域903(図9)に格納される。
プリンタドライバ2041は、動作時にレジストリ領域を読み出して設定された値に応じた印刷設定を実現する。プリンタドライバ2041は、このデバイスモードを読み出して、それに従う印刷設定を行ったPDLデータを生成し、プリンタに転送して印刷を行わせる。これによりプリンタは、プリンタドライバから転送されるPDL形式の印刷設定に従って印刷処理を行う。
<カスタマイズの概略>
次に本実施の形態に係るカスタマイズツール(アプリケーション201)によるUPDファイル(設定定義情報)の変更処理について説明する。カスタマイズツールは、まず、カスタマイズの元となる、カスタマイズ対応のドライバセットを読み込む。この元となるデバイスドライバのUI関連のデータファイル(UPDファイル)を修正し、カスタマイズされたUPDファイルを含んだドライバセットを作成する。そして、このUPDファイルを変更したドライバセットを、カスタマイズ済みドライバセットとして出力する。このドライバセットは、インストーラを含まないように、Add Printerによるインストールに対応した「.INF形式」のものである。Add Printerとは、ウインドウズ(登録商標)オペレーティングシステムにおいて提供されているプリンタの追加のための手順である。ただし、インストーラを含むドライバセットとしてパッケージ化してもよい。
図42は、ドライバセットのカスタマイズを説明する図で、ここでは、本実施の形態に係るカスタマイズツール2200がドライバセットを作成するときに必要となるドライバセットと、作成されるドライバセットとを説明している。図42において、上半分(カスタマイズツール2200より上の部分)が新しくカスタマイズしたドライバセットを作成する状態遷移を示している。カスタマイズツール2200は、元となるカスタマイズ可能なドライバセット2201をベースに、そのドライバセット内のUPDファイルを書き換えてカスタマイズ済みドライバセット2202を作成する。
下半分は、アップデート時の状態遷移を示している。アップデートとは、新しいバージョンのドライバに、以前カスタマイズしたドライバの設定を引き継がせる処理である。カスタマイズツール2200は、更新された、元となるカスタマイズ可能なドライバセット2203と、既に更新された(カスタマイズ済み)の古いバージョンのドライバセット2204を使用して、既にカスタマイズされた古いバージョンのドライバセット2204のカスタマイズデータを、カスタマイズ可能な更新されたドライバセット2203に入れ込むことで、更新済みのカスタマイズされたドライバセット2205を作成する。また新しくカスタマイズされたドライバセット2202を作成するとき、及び新しいバージョンのドライバに、以前カスタマイズしたドライバの設定を引き継ぐ時も、このカスタマイズツール2200が必要となる。
<カスタマイズ操作>
図24は、本実施の形態に係るホストコンピュータ3000におけるプリンタドライバスタンプのデフォルト設定値をカスタマイズできるカスタマイズツール2200の起動後の操作画面を示す図である。
ボタン301をクリックすると、コモンダイアログが開かれ、カスタマイズ対象のドライバセット(インストールセット)を格納するフォルダを指定できる。続いて、本ツールは、301で指定されたドライバセットのUPDファイルを解析し、ドライバセットの対応OSや対応ドライバ(前述したように、プリンタの機種毎にUPDファイルが保持されている)を分析し、分析が完了したら対応ドライバの一覧がリストビュー302に表示される。ユーザがリストビュー302から任意のドライバ名を選択しカスタマイズを行う。チェックボックス303をONにすると、ボタン304がイネーブル(操作可能)状態となる。更にボタンをクリックすると前記選択されたドライバのプロパティダイアログが表示され、プリンタドライバの様々なコントロール(UI部品)のデフォルト値を指定することができる。チェックボックス303をOFFにすると、ボタン304がディスエーブル(操作不能)状態となり、前記選択されたドライバのプロパティダイアログ画面を開くことができない。同様な操作で、チェックボックス305とボタン308を使って、プリンタドライバの「お気に入り」設定をカスタマイズすることができ、チェックボックス306とボタン309を使って、プリンタドライバの「スタンプ」設定をカスタマイズできる。例えば、チェックボックス306をONにすると、ボタン309がイネーブル(操作可能)状態となる。更にボタン309をクリックすると、図25に示すスタンプのプロパティダイアログが表示され、スタンプの詳細設定のデフォルト値を編集することができる。チェックボックス306をOFFにすると、ボタン309がディスエーブル(操作不能)状態となり、スタンプのプロパティダイアログ画面を開くことができない。図25に示されるスタンプのプロパティダイアログで新規追加または編集されたスタンプ情報は、カスタマイズされたUPDデータ8032中のカスタマイズされたスタンプデータ8032bに作成され保存される。
また、本実施形態のカスタマイズツールはドライバダイアログ画面上の各コントロール(UI部品)の表示/非表示属性をカスタマイズする機能も提供する。チェックボックス307をONにし、ボタン310をクリックすると、図26に示すコントロールの設定画面が表示される。図26のこの画面にてドライバダイアログ画面上の各コントロール表示/非表示や有効/無効属性のデフォルト値、たとえばスタンプのプロパティボタン309の表示/非表示のデフォルト値を指定することができる。
また、ボタン312をクリックすると、前記操作で設定したドライバUIとお気に入りとスタンプとコントロール表示/非表示の設定内容をカスタマイズドライバ作成時に反映する。すなわちカスタマイズされたデフォルトの設定情報がUPDファイルに保存される。ボタン312を押下しないと、前記設定は反映されずに廃棄される。ボタン311を押下すると、前記設定内容は反映されずに廃棄される。
なお、カスタマイズしたプリンタを保存する場合、参照ボタン313をクリックし、フォルダ指定コモンダイアログで保存の場所を指定する必要がある。更に作成ボタン314をクリックして、カスタマイズしたドライバセットが図23の外部メモリ11に保存される。カスタマイズドライバセットを作成する際、カスタマイズの内容をどのようにドライバ構成ファイル(UPDファイル)に保存するかを後ほど図28説明する部分で詳細に述べる。
続いて、図25に示すスタンプ詳細画面のカスタマイズ方法を詳しく説明する。リストボックス401のデフォルト内容(カスタマイズ前)はプリンタドライバの工場出荷時の設定されたスタンプ一覧であり、あるスタンプをデフォルトから削除する場合、まず前記一覧から削除したいスタンプを選択し、次に削除ボタン403をクリックする。本実施形態において、スタンプは必ず1つ以上、存在しなければならない。そのため、スタンプ一覧内のスタンプが1つになった時点で、削除ボタンはグレイアウト(選択不可能な状態とした表示)し、スタンプは削除できなくなる。
新しいスタンプを追加する場合、新規追加ボタン402をクリックする。また、新規追加されたスタンプの詳細を細かく指定することが可能である。テキストボックス404でスタンプ名称を指定できる。テキストボックス405でスタンプの表示文字(テキスト)を指定できる。コンボボックス406でスタンプの表示用フォントを指定できる。コンボボックス407でスタンプの表示用フォントのスタイル(標準/太字/斜体/太字+斜体)のどちらかを指定できる。スピンコントロール408でスタンプの表示用フォントサイズを指定できる。コンボボックス409でスタンプの表示色を一覧から選べる。
チェックボックス410をONにすると、スタンプ文字を囲む枠を指定可能、ラジオボタン411で丸囲みを指定でき、ラジオボタン412で四角囲みを指定できる。また、スタンプ文字と元ページの印刷内容の関係を印刷方法で指定可能、ラジオボタン413で透かし印刷を指定でき、ラジオボタン414で重ね印刷を指定できる。スタンプの印刷位置を指定するには2つの方法が用意された。水平スライドバー417と垂直スライドバー416で415プレビュー表示を見ながら、位置を調整しても良いし、また、テキストボックス418と419で相対座標を直接入力することで設定可能である。なお、ボタン420をクリックすると、スタンプがページの中心へ移動される。次に、スタンプ文字の描画方向は、デフォルトでは水平方向(印刷ページの左→ 右へ)である。ラジオボタン421を選択すると描画方向がページ左下から右上への対角線方向になり、ラジオボタン422を選択すると描画方向がページ左上から右下への対角線方向になる。またラジオボタン423を選択すると描画方向の角度を自由に設定可能になり、テキストボックス424で直接角度の数値を入力しても、スライドバー425で調整しても可能である。チェックボックス426がOFFの状態であれば、スタンプが各印刷ページに印刷されるが、ONの状態にすると、スタンプが先頭ページだけに印刷される。また、本実施形態に明示的なスタンプ順番変更コントロールを設けていないが、他の実施形態でスタンプ順番を変更できるコントロールを提供するのも一般的である。
続いて、図26に示すコントロール設定画面のカスタマイズ方法を説明する。該当画面は複数のタブシートから構成され、設定できるコントロール/表示属性(表示/非表示、有効/無効、等)を、プリンタドライバにより提供される印刷設定用UI(以下、ドライバUIと呼び、図31に例示する。)のシートをベースにカテゴライズしている。タブシートを選択して設定したいコントロール/表示属性をコントロール一覧ツリービュー502に表示させる。タブシート501は現在選択されている状態で、ツリービューに表示されているアイテムはドライバUIの「ページ設定」シート上のコントロールである。コントロール506の「スタンプ」はフォーカスを持ち、現在選択されたアイテムを表す。なおフォーカスを持つコントロール506の表示属性を「有効」に設定すると、ドライバUIのスタンプチェックボックスが有効になり、カスタマイズしたドライバUI上でのスタンプの詳細設定が可能になる。逆に、コントロール506を「無効」にすると、スタンプチェックボックスがグレイアウト状態になり、カスタマイズしたドライバUI上でのスタンプの詳細設定ができなくなる。
また、コントロール510「スタンプ編集」の表示属性を「表示」に指定すると、カスタマイズしたドライバUI上でスタンプ編集ボタンが常に表示される。コントロール510「スタンプ編集」の表示属性を「非表示」に指定した場合、スタンプ編集ボタンが表示されず、ユーザが見えなくなる。ボタン503をクリックした場合、ドライバUIの該当タブシート上のすべてのコントロールが有効になる。ボタン504をクリックした場合、ドライバUIの該当タブシート上のすべてのコントロールが無効になり、すなわち、ユーザが設定できなくなる。ボタン505をクリックした場合、ドライバUIの該当タブシート上のすべてのコントロールが表示されなくなる。
OKボタン507をクリックした場合、ユーザが設定した内容がカスタマイズユーティリティの記憶装置に一時保存され、本コントロール設定ダイアログが閉じられる。キャンセルボタン508をクリックした場合、設定内容が保存されずに、ダイアログが閉じられる。また、ヘルプボタン509をクリックした場合、本コントロールに関するヘルプ情報が表示される。
<カスタマイズ処理フロー>
図27は、本実施の形態に係るカスタマイズツールの動作を示すフローチャートである。まずステップ601で、利用者の操作に応じてカスタマイズ設定処理を行う。その中には、図24のカスタマイズツールのUIを介するデフォルト値の編集操作を含む。さらに、デフォルトの編集操作には、図25のようなスタンプカスタマイズ画面の表示およびスタンプのカスタマイズ処理が含まれる。ドライバカスタマイズ用プログラムは、元になる動作設定情報が指定された場合にはUPDファイル2043から指定された動作設定情報ファイル(動作設定データ)を読み、その値をUI上に表示する。ユーザは、この画面上でスタンプの削除・追加したり、スタンプの詳細設定の設定値を変更するための操作を行う。ドライバカスタマイズ用プログラムは、元となる動作設定情報ファイルに含まれる各設定項目のパラメータの値を、操作に応じて変更して一時保存する。
そしてステップ602で図24の生成ボタン314が指示されると、プリンタドライバ2041のUI関連のデータを含む設定定義情報であるUPDファイルを変更する。そしてステップ704で、313参照ボタンで指定した場所にカスタマイズプリンタドライバが作成される。
図28は図27のステップS601の詳細を示すフロー図である。まず、スタンプ設定であるか否かが判定される(S701)。ここでは、図24のUIにおいて、ボタン309が押されたならYESと判定される。スタンプ設定であると判定された場合、図25のスタンプ詳細UIを表示する(S702)。そしてスタンプ詳細UI上における利用者による操作に応じて、印刷設定情報に含まれる各項目の値を変更する(S703)。変更可能な項目には、たとえばスタンプの文字や書体、色、サイズなどのスタンプの内容や、スタンプの傾きや位置といったスタンプの位置が含まれる。またスタンプの追加、削除等も可能である。このUI上でOKボタン427が押されると、ステップS703において設定されたパラメータが保存される(S704)。
一方、スタンプ設定でバイト判定された場合には、ステップS705においてコントロールの編集か判定される。コントロールの編集であると判定されれば、図26に示すコントロール設定UI画面を表示する(S706)。そして、そのUI画面における操作に応じて、コントロールのパラメータを設定する(S707)。設定されるコントロールのパラメータには、たとえはスタンプの有効無効の別を示すスタンプ有効コントロールや、プリンタドライバUIにおいてスタンプ編集ボタンを表示するか否か、すなわちスタンプ編集を許可するか否かを示すスタンプ編集コントロールが含まれる。この後OKボタン507が押されたならステップS704に分岐する。
<カスタマイズ可能なパラメータ>
図28の手順においてカスタマイズ可能なパラメータには以下の項目が含まれる。
(1)スタンプの表示文字(テキスト)、
(2)スタンプの表示用フォント、
(3)スタンプの表示用フォントのスタイル(標準/太字/斜体/太字+斜体)、
(4)スタンプの表示用フォントサイズ、
(5)スタンプの表示色、
(6)スタンプ文字を囲む枠を指定(丸囲みまたは四角囲み)、
(7)スタンプ文字とそれを重畳する元ページの印刷内容の関係(スタンプの透かし印刷または重ね印刷)、
(8)スタンプの印刷位置、
(9)スタンプ文字の描画方向(傾き)、
(10)スタンプが印刷されるページ(各印刷ページまたは先頭ページ)、
(11)スタンプの表示属性(プリンタドライバUIにおけるスタンプ設定について「有効」または「無効」)、
(12)スタンプ編集の表示属性を(プリンタドライバUIにおけるスタンプ編集ボタンについて「表示」または「非表示」)。
<ドライバUI>
図30は、本実施の形態に係るプリンタドライバプログラム2041の起動時におけるUI画面へのデフォルト値の表示処理を説明するフローチャートである。まずステップS901で、デフォルト値の取得要求があるとステップS902に進む。デフォルト値の取得要求は、たとえば、プリンタドライバのインストール時、あるいはインストール後初めて起動された場合に、プリンタドライバ自身により発せられる。ステップS902では、ユーザが指定した(カスタマイズした)デフォルト値が記憶されているか確認する。カスタマイズしたデフォルト値の有無は、定義部を参照してカスタマイズされたIDがあるか否かにより判定可能である。カスタマイズしたデフォルト値が記憶されている場合はステップS903に進み、カスタマイズしたデフォルト値をUPDファイルから読み込んで、ステップS904で初期的な印刷設定情報として保存し、図31に示すドライバUI画面に表示する。プリンタドライバのベンダにより標準的に用意される印刷設定情報のプロファイルには「標準設定」という名称が与えられる。図31はプロファイル「標準設定」が適用された例を示す。一方、ステップS403で、ユーザがカスタマイズしたデフォルト値が記憶されていなかった場合はステップS405に進み、予め与えられているデフォルト値をUPDファイルから読み、ステップS404でそれを印刷設定情報として保存するとともにドライバUIに表示する。
図31はドライバUI画面の一例である。このドライバUI画面を介して利用者は、原稿サイズボックスを操作して原稿サイズを、出力用紙サイズボックス1004を操作して用紙サイズを、部数ボックス1005を操作して部数を、方向ラジオボタン1006を操作して用紙方向を、レイアウトボックス1007を操作してレイアウトを、スタンプチェックボックス1001およびスタンプ編集ボタン1002を操作してスタンプの設定変更を行うことが出来る。もちろん、コントロールの設定においてイネーブルと設定されている項目に限られる。
たとえば、図26のコントロール506の「スタンプ」の表示属性を「有効」に設定しておくと、図31プリンタドライバ画面のスタンプチェックボックス1001が有効になる。これにより、カスタマイズしたドライバUI上でのスタンプの詳細設定が可能になる。逆に、コントロール506を「無効」にすると、スタンプチェックボックス1001がグレイアウト状態になり、カスタマイズしたドライバUI上でのスタンプの詳細設定ができなくなる。また、コントロール510「スタンプ編集」の表示属性を「表示」に指定しておくと、カスタマイズしたドライバUI上でボタン1002が常に表示されるが、コントロール510「スタンプ編集」の表示属性を「非表示」に指定しておいた場合、ボタン1002が表示されず、ユーザには見ることができず、したがって編集もできない。図26のボタン503をクリックしておくと、ドライバUIの該当タブシート上のすべてのコントロールが有効になる。ボタン504をクリックしておくと、ドライバUIの該当タブシート上のすべてのコントロールが無効になり、すなわち、ユーザが設定できなくなる。ボタン505をクリックしておくと、ドライバUIの該当タブシート上のすべてのコントロールが表示されなくなる。
以上のようにして、スタンプの設定について、デフォルト値をカスタマイズすることが可能となる。これにより、たとえばITマネージャーがデバイスドライバの印字オプションをカスタマイズすることにより、ユーザ所望の印字オプションデフォルト設定されたドライバを簡単に大量配布することで、ユーザ印刷設定負荷を軽減し、印刷設定効率をアップする効果が得られる。
なお、本実施形態ではプリンタドライバについて説明したが、プリンタ以外のデバイス、たとえばスキャナやスキャナとプリンタとが一体となったディジタル複合機などについて、本発明を適用することも可能である。デバイスドライバ一般に適用した場合、プリンタドライバの印刷設定は、デバイスドライバ一般の動作設定と換言できる。
[第3実施形態]
以下、添付図面を参照して本発明の好適な実施の形態を詳しく説明する。本実施形態では、印刷設定の「お気に入り」すなわちプロファイルについてカスタマイズできるカスタマイズツールについて説明する。なお、第1実施形態と共通の部分については説明を省略する。直本実施形態の構成については図23、図2とも第2実施形態と共通である。本実施形態においては、インストールされるドライバセットのUPDファイルに印刷設定のプロファイルを複数用意しておくことが出来る。そのうちのひとつ(一定のアドレスに保存されたプロファイル)がデフォルト値としてドライバのインストール時にレジストリに登録される。その他は、印刷設定情報の一部としてドライバのインストール時にコンピュータにロードされ保存される。そして選択し得るプロファイルの選択肢として、プリンタドライバから選択することが可能である(ただし設定に応じて)。
図31は、本実施の形態に係るホストコンピュータ3000におけるドライバUIすなわち印刷設定画面の表示例を示す図である。図31は、印刷設定画面における「ページ設定」の画面を示し、301で示すように「標準設定」の場合で示している。この標準設定では、原稿サイズ302は「A4」、出力用紙サイズ303は「原稿サイズと同じ」、部数304は「1部」、印刷の向き305は「縦」、そしてページレイアウト306は「1ページ/枚」となっている。初めて表示されるときや、「標準に戻す」ボタン307が指示されると、各種項目のデフォルト値が表示される。このとき、印刷処理関連プログラム204(図2)はデフォルト値を読み込んで図31で示す画面上に表示する。このデフォルト値が本実施形態では「標準設定」と名付けられたお気に入りプロファイルにまとめられ、一定のアドレスに保存されている。
図33は、本実施の形態に係る印刷処理関連プログラム204における、例えば図31のようなプリンタドライバの起動時におけるUI画面へのお気に入りの表示処理を説明するフローチャートである。尚、ここでは、ホストコンピュータ3000の基本システムのルールに従った場所にお気に入りの項目が記憶されており、後述するようにしてユーザが指定したお気に入りの項目は、これとは異なる場所に記憶されている。
まずステップS1211で、「お気に入り」の取得要求があるとステップS1212に進む。ここで「お気に入り」とは、プリンタドライバ2041の複数の印刷設定を一纏まりにしたものである。ユーザは、この一纏まりの設定からなる「お気に入り」をプリンタドライバ2041のユーザインタフェースで指定することで所望の動作環境を得ることができる。例えば、スタンプとステイプルをよく用いるユーザの場合には、これらステイプルとスタンプ設定の組を「お気に入り」として登録することにより、この「お気に入り」を選択するだけで、複数の設定を所望の値に設定して印刷させることができる。以下、本実施形態ではこのお気に入りのプロファイルデータをお気に入りデータと呼ぶ。ステップS1212でユーザが指定したお気に入りデータが記憶されているか確認する。ユーザが指定したお気に入りデータが記憶されている場合はステップS1213に進み、ユーザが指定したお気に入りデータを取得してステップS1214で表示する。一方、ステップS1213で、ユーザが指定したお気に入りデータが記憶されていなかった場合はステップS1215に進み、予め指定されているお気に入りデータを取得し、ステップS1214で表示する。尚、本実施の形態では、ユーザが指定したお気に入りデータは、プリンタドライバのUI関連のデータファイル(UPDファイル)に記憶されている。初期的に導入されるデフォルトのお気に入りデータにはたとえば「標準設定」という名称が付され、その名称でお気に入りデータはUPDファイルのデータ部に保存されている。そのため、ステップS1212では、たとえばUDPファイルの定義部におけるIDを参照してカスタマイズされたデータを示すIDを検索する。そして、該当するIDがあれば、カスタマイズされたデフォルトのお気に入りデータが存在していると判定できる。
図34は、外部メモリ11に記憶されているアプリケーション201に含まれる、本実施の形態に係るカスタマイズツールのUIの一例を示す図である。図34では、プリンタドライバのUI上でコントロールが使用できるかどうかを指定するUI1307が含まれている。ここで使用不可に指定したコントロールのリストをカスタマイズデータとして、プリンタドライバのUI関連のUPDファイルに格納することができる。ユーザが「選択されたコントロールを有効化」チェックボックス1311を選択することで、コントロール選択ボタン1307を選択可能に表示される。ボタン1307がクリックされると、図37のUI画面が表示される。図37において、複数のチェックボックスのうち、チェックされているのが使用可能コントロールであることを示している。同じく、チェックボックスが未チェックであるのが使用不可コントロールを示す。ユーザは、図37のUIにおいて使用可能にしたいコントロールのチェックボックスをチェックし、使用不可能にしたいコントロールのチェックボックスを未チェックにすることで、作成ボタン1309の指示を行ったときにその設定を反映できる。図37についての詳細は後述する。
このカスタマイズツールの特徴の一つは、カスタマイズするプリンタドライバ2041をインストールする必要がなく、デフォルト値の設定が容易であることである。具体的には、例えば、印刷設定(「Apply Driver settings)のチェックボックス1314がチェックされていて、印刷設定のプロパティボタン1305が指示(クリック)されると、図35に示したようにプリンタドライバのUIが表示される。
図35では、印刷設定のデフォルトが表示されており、ここでは用紙サイズが「A4」、出力サイズは「原稿サイズと同じ」、コピー部数は「1」、そして1ページに1画像がレイアウトされている。このカスタマイズツールは、ホストコンピュータのOS205(図23)がプリンタドライバ2041を読み出す仕組みを利用して実現されている。このため、プリンタドライバ2041のコンフリクトも再現されており、カスタマイズされたプリンタドライバ2041のデフォルトの値を確実に知ることができる。プリンタドライバ2041のコンフリクトとは、印刷設定と、プリンタ構成とが一致しない状態をいう。たとえば、プリンタに両面印刷機能がないにも関わらず両面印刷設定がされている状態は、コンフリクトが生じた状態である。印刷設定情報のデフォルト値は、プリンタドライバがインストールされる環境とは無関係に与えられている。そのために、そしてデフォルト値を現実のコンピュータにそのまま適用すると、コンフリクトが生じる場合もある。
図34において、1301は印刷に使用するプリンタの名称、1302は基本ドライバへのパス、1303はカスタマイズされたドライバを記憶するフォルダのパスを示している。入力ボックス1304は、カスタマイズされた内容を特定するカスタムコードの入力欄で、ここには任意の値を入力できる。この値は、プリンタドライバのバージョン情報を表示する部分(図41参照)や、設定の一覧を表示する部分に表示することで、インストールされたプリンタドライバがカスタマイズされたものであるか判別することができる。コントロール選択ボタン1307は、選択されたコントロールをイネーブルにするようにチェックされている場合に、コントロールを選択するためのボタンである。
プリンタドライバのUI関連のUPDファイルが変更されてカスタマイズされたUPDファイルが作成されるのは、作成ボタン1309が指示(クリック)されたときである。この作成ボタン1309が指示されると、変更されるUPDファイル以外でカスタマイズ済みドライバセットが格納される場所にコピーされ、UPDファイルは変更処理を行った後に格納される。これは第1実施形態で説明したとおりである。
次に図34の表示画面を使用してプリンタドライバを更新(Update)する場合を説明する。この更新処理は、本実施の形態において、カスタマイズ済のプリンタドライバを更新するもので、「Make Style」の「Update」のラジオボタンがチェックされている場合に実行される。入力領域1302にカスタマイズを行ったドライバセットのフォルダパスを入力し、入力領域1308に、その更新の元となるドライバセットのフォルダパスを入力して作成ボタン1309を指示する。これにより、変更されるUPDファイル以外でカスタマイズ済みドライバセットが入力領域1303で指定された場所にコピーされ、UPDファイルは変更処理を行った後に、そのドライバの対応するアドレスに格納される。例えば、PDLXのバージョン6.30に対応したカスタマイズ済みのドライバをPDLX6.40に更新すると、PDLX6.30で行ったカスタマイズが引き継がれたPDLX6.40ドライバが作成される。
図37は、図34のカスタマイズツールで、チェックボックス1311がチェックされて、コントロールが選択可能であり、コントロール選択ボタン1307が指示された場合に表示されるUIを示す図である。この表示制御は、カスタマイズツールにより実行される。図37において、コントロールを制限するためのWatermark(スタンプ)のチェックボックス1600が未チェックに設定されている。この状態でOKボタン1601を指示すると、この表示は図37から図34へ戻り、カスタマイズツールは、そのときのカスタマイズされた状態を記憶する。そして作成ボタン1309が指示されると、カスタマイズツールは、WatermarkのUIをユーザにより操作不能にする指示を示す値を書き込んだUPDファイルを生成する。
図38は、こうしてカスタマイズを行ったプリンタドライバ2041のUIの一例を示す図である。前述のようにしてカスタマイズされたプリンタドライバは、カスタマイズツールが生成したUPDファイルをインストール時又は起動時に読み込み、図38に示すようなUIを表示する。図37の例では、Watermark(スタンプ)のチェックボックス800が未チェックに設定されていたため、図38のスタンプのコントロール部900がグレーアウトで表示され、スタンプに対するユーザの操作を制限して禁止している。このように、ユーザが図37に示すようなUIのチェックボックスを指示するだけで、ユーザが設定できないコントロールを、予めプリンタドライバ2041にプリセットとして組み込むことができ、これによりカスタマイズができる。
図36は図34において、お気に入り設定の適用のチェックボックス1313をチェックして、1314のボタンを押下した際に表示される、お気に入りデータの追加、削除、編集を行なうためのUIの一例を示す図である。ここではお気に入り一覧1501に表示された中から編集対象のお気に入りデータを選択して、削除ボタン1504を押下することで、選択したお気に入りデータを削除することができる。また、お気に入り一覧に表示されたお気に入りデータを選択して、編集ボタン1503を押下することで、既存のお気に入りデータに含まれるパラメータ値、すなわちお気に入りデータにより特定される印刷設定を変更することができる。さらに新規追加ボタン1502を押すことで新たにお気に入り一覧に項目を追加することができる。またお気に入りの選択許可チェックボックス1505を選択すれば、プリンタドライバUI(図38参照)において、所望のお気に入りデータの選択が許可される。選択されたお気に入りデータは印刷設定情報として印刷設定情報が格納されるデータ領域にロードされる。設定の編集許可チェックボックス1506が選択されれば、プリンタドライバUI(図38参照)において、適用したお気に入りデータの各項目(ただしコントロールがイネーブルにされている項目)について、設定値を変更することが出来る。
図43は、図36において、新規追加、または編集ボタンを押下した際に表示されるお気に入りデータを設定するためのUIの一例を示す図である。ここでは名称にお気に入りデータの名称を入力して、さらにページ設定、仕上げ、給紙や印刷品質のタグからそれぞれの印刷設定を入力して、OKボタン2301を押下することで、お気に入りデータの印刷設定を作成することができる。
尚、本実施の形態では、カスタマイズした印刷設定データ(デバイスモード:DEVMODE)を使用した「お気に入り」が作成される。デバイスモードとは、普及しているOSで定義されている印刷設定データを格納するためのデータ構造の呼称である。このデバイスモードのデータ構造の形式で、各種印刷設定は、HD11のOSが管理するレジストリ領域や、同じくHD11に記憶されるUPDファイルのデータ領域903(図9)に格納される。UPDファイルは、図9に示す構成を持つ。なおUPDファイルに格納する際には、構造を再現できる形式でプリンタ設定情報を保存すればよい。
プリンタドライバ2041は、動作時にレジストリ領域を読み出して設定された値に応じた印刷設定を実現する。プリンタドライバ2041は、このデバイスモードを読み出して、それに従う印刷設定を行ったPDLデータを生成し、プリンタに転送して印刷を行わせる。これによりプリンタは、プリンタドライバから転送されるPDL形式の印刷設定に従って印刷処理を行う。
本実施の形態におけるカスタマイズツールを用いると、メーカープリセットとして提供されている「標準設定」に相当するお気に入りデータが作成される。例えば、カスタマイズツールを使用して、ステイプル及びスタンプの印刷設定が入力されると、その印刷設定をデバイスモード(DEVMODE)構造体として、UPDファイルのデータ903の所定のアドレスに書き込む。ここで、カスタマイズされたプリンタドライバは、予め所定のアドレスを読み出すように実装されているので、所定のアドレスを読み出すと、読み出されたデバイスモード(DEVMODE)形式の印刷設定データの値がデフォルト設定としてプリンタドライバに設定される。すなわちレジストリの印刷設定情報の領域に複製される。更に、このデバイスモード(DEVMODE)の値を設定値とした「お気に入り」を組み込まれる。このように実装されたドライバは、カスタマイズ対応ドライバと呼ぶことがある。尚、この標準設定に相当する「お気に入り」の名称は、カスタマイズツールにおいて、図34の「プロファイル名」のエディットボックス1312に入力された名称を使用する。
カスタマイズツールで追加、削除される「お気に入り」は、「お気に入り」コンボボックスに反映され、順番の並び替えを不可能にすることもできる。カスタマイズで編集される「お気に入り」のデータは、通常のデバイスドライバが持つ「お気に入り」とは異なり、レジストリ(格納領域)には保存されないため、ドライバUIからは編集できない(編集できないことを表す赤丸が表示される)。従って、カスタマイズで編集される「お気に入り」は、「お気に入り」の追加・編集ダイアログには表示されないようにすることができる。更に、カスタマイズで編集される「お気に入り」は、カスタマイズされたことを示すマーク、例えば図38の1701で示すように、指のアイコンが表示される。カスタマイズで追加される「お気に入り」は、ユーザがドライバUIを操作して印刷設定データを変更した後、カスタマイズされた印刷設定に戻したいときに利用する。
図39は、このデバイスモード(DEVMODE)のデータ構造の一例を示す図である。ここでは、用紙向き(dmOrientation)、用紙サイズ(dmPaperSize)、用紙幅(dmPaperWidth)、部数(dmCopies)などが格納されている様子が記載されている。その他、このDEVMODEデータ構造体はレジストリに格納される。プリンタドライバ2041は、このレジストリに格納されたDEVMODEデータ構造体を読み書きすることで、デフォルトの印刷設定環境や、後述する「お気に入り」を読み込んでユーザインタフェースにも反映することができる。
尚、このデバイスモードに格納可能な印刷設定の例としては、図39の例以外に以下の項目がある。原稿サイズ、出力用紙サイズ、ページレイアウト(1枚の物理用紙に何ページの論理ページを画像形成するか)、スタンプ、ページ枠、枠なし、日付を印刷するかしないか、ユーザ名を印刷するかしないか、ページ番号を印刷するかしないか、オーバレイ印刷をするかしないか等をページ設定の印刷設定として定義できる。更に、両面印刷、とじ方向(長辺とじ、短辺とじ)、綴じ代、排紙先、排紙先を部単位で変更するか、TrueTypeフォントをプリンタフォントとして置き換えるか否か、トナー節約モードで印刷するか否か、TypeWing機能を使うか否か、イメージ加速処理をするか否か、PDFファイルを常にイメージモードで印刷するか否かを等を設定できる。更に、これらは全てデバイスモードとして格納され、本実施の形態に係るカスタマイズ対応のプリンタドライバやカスタマイズツールにより「お気に入り」として取り扱うことができる。
図40は、本実施の形態に係るカスタマイズツールの動作を示すフローチャートである。まずステップS1901で、カスタマイズを行いたい設定値になるように設定値を変更する。これは例えば前述した図34の表示画面を表示し、その画面において、カスタムコード1304が設定されて、プリンタ設定のプロパティ1305やお気に入りの設定のプロパティ1314や等が、ユーザの所望の値に設定されることに相当している。そしてステップS1902で生成ボタン1309が指示されると、プリンタドライバ2041のUI関連のデータファイルであるUPDファイルを変更する。そしてステップS1904で、そのドライバセットを元のプリンタドライバにコピーする。
図9は、UPDファイルのデータフォーマットを説明する図である。図9に示すように、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の先頭番地からのオフセットアドレスをセットしても良い。
このようにしてUPDファイルを用意することにより、カスタマイズされたプリンタドライバは、インストール完了時又は初回起動時に、自動的にカスタマイズツールにより作成されたUPDファイルを読み込み、プリンタドライバのデフォルトの設定値をデバイスモードとして自動的にプリセットする。これにより、カスタマイズされたプリンタドライバの動作環境を容易に構築することができる。
図42は、ドライバセットのカスタマイズを説明する図で、第1実施形態と同様である。
図41は、プリンタドライバのバージョン表示の一例を示す図で、ここではカスタマイズコード(「0001」)がバージョン情報ダイアログのバージョン部分に付加された例を示している。カスタマイズドライバは、カスタマイズツールで入力したカスタムコードの値1304を、ドライバUIの「バージョン情報」タブに表示されているドライバのバージョンの後ろに追加して表示する。
次に本実施の形態に係るカスタマイズツールによるUPDファイルの変更処理について説明する。カスタマイズツールは、次の手順でカスタマイズ済みドライバセットを作成する。まず、カスタマイズの基となる、カスタマイズ対応のドライバセットを読み込む。この基となるデバイスドライバのUI関連のデータファイル(UPDファイル)を修正し、カスタマイズされたUPDファイルを含んだドライバセットを作成する。そして、このUPDファイルを変更したドライバセットを、カスタマイズ済みドライバセットとして出力する。このドライバセットは、インストーラを含まないように、Add Printerによるインストールに対応した「.inf形式」のものである。但し、インストーラを含むドライバセットとしてパッケージ化してもよい。
<カスタマイズ処理フロー>
図44に、カスタマイズツールによりお気に入りデータを編集する際の処理手順を示す。これは図40のステップS1902以下を詳しく説明したものに相当する。
まずカスタマイズツールが起動されると図34のUI画面を表示する(S2401)。次にオペレータによる操作入力を許し、入力を待つ(S2402)。入力されたなら内容を判定する(S2403)。作成ボタンであれば、カスタマイズされたUPDファイルに、カスタマイズされたデータを保存する(S2404)。たとえば、お気に入りデータがカスタマイズされた場合には、カスタマイズされたお気に入りデータがUPDファイルに保存される。この場合、UPDファイルのIDとしてカスタマイズされたことを示すIDが記録される。
また入力が「お気に入りの編集」であれば、UPDファイルからお気に入りデータのリストを読み込み(S2405)、図36のようなお気に入りリスト画面を表示する(S2406)。ここでまた操作待ちをし(S2407)、入力を判定する(S2408)。入力が削除であれば選択されているお気に入りデータを削除する(S2409)。ただしこの段階ではUPDファイルへの適用をせずに、削除されるお気に入りデータの名称を削除対象であることを示す情報を保存する。「編集」または「追加」であれば、操作に応じて対象ファイルの編集を行う(S2410)。チェックボックス1505、1506の操作であれば、対応するフラグを操作に応じてセットあるいはリセットする(S2411)。「OK」ボタンであれば、ステップS2401に戻る。
図45は図44のステップS2410を示す。ステップS2501ではまず図43に示すUIを表示する。各シートには、たとえば編集であれば、選択されたお気に入りデータに従って、その設定が表示される。ステップS2502では、操作に応じて各項目の値を変更する。設定変更操作や、変更処理自体は、通常プリンタドライバUIで設定変更する処理と同様である。そして変更された結果は、選択されたお気に入りデータに上書き保存される。ただしそのお気に入りデータの名称も図36の画面において変更可能である。また追加であれば、たとえは図43の画面では、デフォルトの印刷設定が適用されている。そして、デフォルト設定値を元に編集が行われ、新規に与えられた名称のお気に入りデータとして保存される。
UPDファイルにお気に入りデータとして保存される内容には以下の例がある。
(1)お気に入り選択許可フラグ(プリンタドライバにおいてこのフラグを参照し、お気に入りの選択を許可するまたは禁止する設定)。
(2)設定の編集許可フラグ(プリンタドライバにおいてこのフラグを参照し、適用されているお気に入りデータの設定値の変更を許可するまたは禁止する)。
(3)作成された数のお気に入りデータ(個々のお気に入りデータに、印刷設定が含まれる)。このうちの一つが、プリンタドライバインストール時のデフォルトの印刷設定となる。
以上のようにして、本実施形態のデバイスドライバのカスタマイズ用プログラムにより、お気に入りデータ(プロファイルデータ)の編集を簡易化することができる。また、デフォルトの印刷設定情報以外の選択肢を用意しておくことが出来る。
[他の実施形態]
本発明の目的は前述したように、本実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体をシステム或は装置に提供し、そのシステム或は装置のコンピュータ(又はCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM,CD−R、磁気テープ、不揮発性のメモリカード、ROMなどを用いることができる。
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)などが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれている。
更に、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書きこまれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含む。
本発明の実施形態に係る印刷処理システムの構成を示すブロック図である。 所定のアプリケーション及び印刷処理関連プログラムを起動して、ホストコンピュータ3000のRAM2にプログラムやデータがロードされた状態でのRAM2のメモリマップを示す図である。 カスタマイズツールのUIを例示する図である。 初期設定値カスタマイズ用のプリンタドライバUIを示す図である。 ドキュメントプロパティ表示コントロール設定UIを例示する図である。 カスタマイズツールにおける基本動作の処理の流れを説明するフローチャートである。 プリンタドライバのインストール情報を記述するinfファイルの記述内容を例示する図である。 プリンタドライバのカスタマイズ用UIを表示する処理の流れを説明するフローチャートである。 プリンタドライバを構成するUPDファイルのデータフォーマットを説明する図である。 プリンタドライバが実装しているアプリケーション プログラム インターフェース(API)の呼び出しについて説明する図である。 APIと対応する疑似 APIの関係を示す図である。 疑似Windows(登録商標) APIの呼び出しに関する処理の流れを説明するフローチャートである。 疑似Windows (登録商標)APIの一例として、CSPL_GetVersionEx( )関数を呼び出す場合の処理の流れを示すフローチャートである。 カスタマイズに対応したプリンタドライバのプロパティ設定に関するUI制御の処理の流れを説明するフローチャートである。 カスタマイズドライバのインストール時において、カスタマイズコードが設定された場合の処理を説明するフローチャートである。 カスタマイズコードが特定のレジストリに登録された状態のレジストリエディタの表示画面を例示する図である。 カスタマイズコードのレジストリとカスタマイズツールのクライアントPC上のRAMに展開された状態を表す概念図である。 サーバクライアント環境でプッシュインストールのタスクを実行する際のサーバ、クライアントの処理を示したフローチャートである。 ドライバインストールタスクを生成するためのサーバ側のUIの一例を示した概念図である。 ドライバインストールタスクを生成するためのサーバ側のUIの一例を示した概念図である。 ドライバインストールタスクのスケジューリングを設定するためのサーバ側のUIの一例を示した図である。 インストールタスクの実行結果を示す図である。 インストールタスクの実行結果の詳細を示す図である。 本発明に適用したシステム構成の一例を示す図である。 プリンタドライバカスタマイズツールUIを実施する一例を示す図である。 スタンプの詳細をカスタマイズできるUI実装の一例を示す図である。 プリンタドライバUI上のコントロールの表示属性(表示/非表示、有効/無効)をカスタマイズできる実装画面の一例を示す図である。 スタンプをカスタマイズする処理のフローチャートである。 スタンプをカスタマイズする処理のフローチャートである。 カスタマイズドライバセットおよびUDPファイル内保存されるカスタマイズデータの構成を示す図である。 本実施の形態に係るプリンタドライバプログラムの起動時におけるUI画面へのデフォルト値の表示処理のフローチャートである。 カスタマイズされたドライバUIの例を示す図である。 カスタマイズされたドライバUIの表示手順の一部を示す図である。 本実施の形態に係る印刷処理関連プログラムにおけるお気に入りの表示処理を説明するフローチャートである。 本実施の形態に係るカスタマイズツールのUIの一例を示す図である。 プリンタドライバのUIの一例を示す図である。 お気に入りの追加編集用のプリンタドライバUIの一例を示す図である。 図34のカスタマイズツールにより表示されるUIの一例を示す図である。 本実施の形態に係るカスタマイズを行ったプリンタドライバのUIの一例を示す図である。 本実施の形態に係るデバイスモード(DEVMODE)データ構造の一例を示す図である。 本実施の形態に係るカスタマイズツールの動作を示すフローチャートである。 本実施の形態に係るプリンタドライバのバージョン表示の一例を示す図である。 本実施の形態に係るドライバセットのカスタマイズを説明する図である。 お気に入りとして登録する項目の値を設定するためのプリンタドライバUIの一例を示す図である。 本実施の形態に係るカスタマイズツールの動作を示すフローチャートである。 本実施の形態に係るカスタマイズツールの動作を示すフローチャートである。

Claims (21)

  1. 画像形成装置を制御するデバイスドライバをカスタマイズする情報処理装置であって、
    カスタマイズ前の前記デバイスドライバを特定する識別情報とは別の、カスタマイズされているカスタマイズドライバのカスタマイズ内容を特定するための識別情報を、任意の数値を入力可能な様態で設定するための設定画面を表示する表示制御手段と、
    前記カスタマイズドライバに対して、前記設定画面を介して設定された前記識別情報を発行する発行手段と、
    前記カスタマイズドライバをインストールした環境において、前記カスタマイズドライバのバージョン情報として表示可能なように、前記発行手段が発行した識別情報を、前記カスタマイズドライバと関連付けて記憶する記憶手段と
    を備えることを特徴とする情報処理装置。
  2. 前記カスタマイズドライバと関連付けられた前記識別情報が前記記憶手段により記憶されているか判定する判定手段と、
    前記判定手段の判定により、前記識別情報が記憶されていると判定された場合、当該カスタマイズドライバをインストールする際、当該カスタマイズドライバに関連付けられた前記識別情報をオペレーティングシステムが管理する記憶領域に登録する登録手段と
    を更に備えることを特徴とする請求項1に記載の情報処理装置。
  3. デバイスドライバに対して特定の設定値を設定する設定手段と、
    設定された前記設定値を前記デバイスドライバの情報ファイルに書き込んで、カスタマイズドライバを生成する生成手段と
    を更に備えることを特徴とする請求項2に記載の情報処理装置。
  4. カスタマイズドライバをインストールする際、前記判定手段は、前記識別情報を用いて、既にインストールされているデバイスドライバがカスタマイズされているかを判定し、
    前記生成手段は、前記判定手段により前記既にインストールされているデバイスドライバがカスタマイズされていると判定される場合、当該デバイスドライバの前記情報ファイルに書き込まれている前記設定値を、インストールする前記カスタマイズドライバの情報ファイルに書き込むことを特徴とする請求項3に記載の情報処理装置。
  5. 前記設定手段により設定される前記設定値とは、複数の印刷設定値に対応する複合印刷設定、及び、プリンタドライバのユーザインタフェースを変更する設定、及び、プリンタドライバを操作する際にプリンタドライバのユーザインタフェースを介して設定する設定値の少なくともひとつを含むことを特徴とする請求項3に記載の情報処理装置。
  6. カスタマイズされているカスタマイズドライバを取得するドライバ取得手段と、
    カスタマイズドライバをインストール指示するインストール指示手段と、
    カスタマイズ前の前記デバイスドライバを特定する識別情報とは別の、前記インストール指示手段がインストール指示するカスタマイズドライバのカスタマイズ内容を特定するための任意の数値を含む識別情報を取得する識別情報取得手段と、
    前記デバイスドライバを特定する前記識別情報と、前記識別情報取得手段により取得された前記カスタマイズドライバのカスタマイズ内容を特定するための前記識別情報とを用いて、前記インストール指示手段がインストールした結果を表示するとともに、前記識別情報取得手段により取得された前記カスタマイズドライバのカスタマイズ内容を特定するための前記識別情報を前記カスタマイズドライバのバージョン情報として表示する表示手段と
    を備えることを特徴とする情報処理装置。
  7. 前記インストール指示手段は、複数のデバイスドライバをインストール指示するものであり、
    前記表示手段は、インストール結果として、カスタマイズされているドライバとカスタマイズされていないドライバとを識別可能に表示することを特徴とする請求項6に記載の情報処理装置。
  8. 前記インストール指示手段は、ネットワークを介して外部情報処理装置に対して、インストール指示を送信することによりインストール指示を行なうものであり、
    前記外部情報処理装置から送信されてくるインストール結果を示す情報と、前記識別情報取得手段が取得した識別情報とを用いて、前記表示手段は前記カスタマイズドライバのインストールが成功したか否かを識別可能に表示することを特徴とする請求項6に記載の情報処理装置。
  9. 前記識別情報取得手段は、前記情報処理装置内に記憶されている識別情報を取得することを特徴とする請求項6に記載の情報処理装置。
  10. 前記識別情報取得手段は、外部情報処理装置から返送されてくる識別情報を取得することを特徴とする請求項6に記載の情報処理装置。
  11. コンピュータ可読記録媒体に記録された、画像形成装置を制御するデバイスドライバをカスタマイズするためのプログラムであって、
    カスタマイズ前の前記デバイスドライバを特定する識別情報とは別の、カスタマイズされているカスタマイズドライバのカスタマイズ内容を特定するための識別情報を、任意の数値を入力可能な様態で設定するための設定画面を表示する表示制御処理手順と、
    前記カスタマイズドライバに対して、前記設定画面を介して設定された前記識別情報を発行する発行処理手順と、
    前記カスタマイズドライバをインストールした環境において、前記カスタマイズドライバのバージョン情報として表示可能なように、前記発行処理手順で発行した識別情報を、前記カスタマイズドライバと関連付けて記憶手段により記憶する記憶処理手順と
    をコンピュータに実行させるためのプログラム。
  12. 当該カスタマイズドライバと関連付けられた前記識別情報が前記記憶手段により記憶されているか判定する判定処理手順と、
    前記判定処理手順の判定により、前記識別情報が記憶されていると判定された場合、当該カスタマイズドライバをインストールする際、当該カスタマイズドライバに関連付けられた前記識別情報をオペレーティングシステムが管理する記憶領域に登録する登録処理手順と
    をコンピュータに更に実行させるための請求項11に記載のプログラム。
  13. デバイスドライバに対して特定の設定値を設定する設定処理手順と、
    設定された前記設定値を前記デバイスドライバの情報ファイルに書き込んで、カスタマイズドライバを生成する生成処理手順と
    をコンピュータに更に実行させるための請求項12に記載のプログラム。
  14. カスタマイズドライバをインストールする際、前記判定処理手順では、前記識別情報を用いて、既にインストールされているデバイスドライバがカスタマイズされているかを判定し、
    前記生成処理手順では、前記判定処理手順により前記既にインストールされているデバイスドライバがカスタマイズされていると判定される場合、当該デバイスドライバの前記情報ファイルに書き込まれている前記設定値を、インストールする前記カスタマイズドライバの情報ファイルに書き込むことを特徴とする請求項13に記載のプログラム。
  15. 前記設定処理手順により設定される前記設定値とは、複数の印刷設定値に対応する複合印刷設定、及び、プリンタドライバのユーザインタフェースを変更する設定、及び、プリンタドライバを操作する際にプリンタドライバのユーザインタフェースを介して設定する設定値の少なくともひとつを含むことを特徴とする請求項13に記載のプログラム。
  16. カスタマイズされているカスタマイズドライバを取得するドライバ取得処理手順と、
    カスタマイズドライバをインストール指示するインストール指示処理手順と、
    カスタマイズ前の前記デバイスドライバを特定する識別情報とは別の、前記インストール指示手段がインストール指示するカスタマイズドライバのカスタマイズ内容を特定するための任意の数値を含む識別情報を取得する識別情報取得処理手順と、
    前記デバイスドライバを特定する前記識別情報と、前記識別情報取得処理手順により取得された前記カスタマイズドライバのカスタマイズ内容を特定するための前記識別情報とを用いて、前記インストール指示手段がインストールした結果を表示するとともに、前記識別情報取得処理手順により取得された前記カスタマイズドライバのカスタマイズ内容を特定するための前記識別情報を前記カスタマイズドライバのバージョン情報として表示する表示処理手順と
    をコンピュータに実行させるためのプログラム。
  17. 前記インストール指示処理手順は、複数のデバイスドライバをインストール指示するものであり、
    前記表示処理手順は、インストール結果として、カスタマイズされているドライバとカスタマイズされていないドライバとを識別可能に表示することを特徴とする請求項16に記載のプログラム。
  18. 前記インストール指示処理手順は、ネットワークを介して外部情報処理装置に対して、インストール指示を送信することによりインストール指示を行なうものであり、
    前記外部情報処理装置から送信されてくるインストール結果を示す情報と、前記識別情報取得処理手順で取得した識別情報とを用いて、前記表示処理手順では前記カスタマイズドライバのインストールが成功したか否かを識別可能に表示することを特徴とする請求項16に記載のプログラム。
  19. 前記識別情報取得処理手順は、前記情報処理装置内に記憶されている識別情報を取得することを特徴とする請求項16に記載のプログラム。
  20. 前記識別情報取得処理手順は、外部情報処理装置から返送されてくる識別情報を取得することを特徴とする請求項16に記載のプログラム。
  21. 画像形成装置を制御するデバイスドライバをカスタマイズするカスタマイズ方法であって、
    カスタマイズ前の前記デバイスドライバを特定する識別情報とは別の、カスタマイズされているカスタマイズドライバのカスタマイズ内容を特定するための識別情報を、任意の数値を入力可能な様態で設定するための設定画面を表示する表示ステップと、
    前記カスタマイズドライバに対して、前記設定画面を介して設定された前記識別情報を発行する発行処理ステップと、
    前記カスタマイズドライバをインストールした環境において、前記カスタマイズドライバのバージョン情報として表示可能なように、前記発行処理ステップで発行した識別情報を、前記カスタマイズドライバと関連付けて記憶手段により記憶する記憶ステップと
    を有することを特徴とするカスタマイズ方法。
JP2006074412A 2005-03-29 2006-03-17 デバイスドライバプログラムをカスタマイズするための情報処理装置及びデバイスドライバプログラムのカスタマイズ方法 Active JP4863450B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2006074412A JP4863450B2 (ja) 2005-03-29 2006-03-17 デバイスドライバプログラムをカスタマイズするための情報処理装置及びデバイスドライバプログラムのカスタマイズ方法
US11/386,853 US8656416B2 (en) 2005-03-29 2006-03-23 Information processing apparatus for customizing printer driver program, and method of customizing printer driver program
US14/099,991 US20140111824A1 (en) 2005-03-29 2013-12-08 Information processing apparatus for customizing printer driver program, and method of customizing printer driver program

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2005095692 2005-03-29
JP2005095692 2005-03-29
JP2005095695 2005-03-29
JP2005095695 2005-03-29
JP2006074412A JP4863450B2 (ja) 2005-03-29 2006-03-17 デバイスドライバプログラムをカスタマイズするための情報処理装置及びデバイスドライバプログラムのカスタマイズ方法

Publications (3)

Publication Number Publication Date
JP2006309726A JP2006309726A (ja) 2006-11-09
JP2006309726A5 JP2006309726A5 (ja) 2009-04-30
JP4863450B2 true JP4863450B2 (ja) 2012-01-25

Family

ID=37070011

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006074412A Active JP4863450B2 (ja) 2005-03-29 2006-03-17 デバイスドライバプログラムをカスタマイズするための情報処理装置及びデバイスドライバプログラムのカスタマイズ方法

Country Status (2)

Country Link
US (2) US8656416B2 (ja)
JP (1) JP4863450B2 (ja)

Families Citing this family (84)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7408658B2 (en) * 2001-12-04 2008-08-05 Hewlett-Packard Development Company, L.P. Generation and usage of workflows for processing data on a printing device
US7256901B2 (en) * 2002-10-10 2007-08-14 Sharp Laboratories Of America, Inc. Printer driver customization using incremental custom print processor
JP4344921B2 (ja) * 2003-08-11 2009-10-14 セイコーエプソン株式会社 Ui制御装置、ui制御方法、ui制御プログラム、印刷制御装置、印刷制御方法および印刷制御プログラム
JP4095639B2 (ja) * 2004-12-22 2008-06-04 キヤノン株式会社 画像処理装置及び画像処理装置の制御方法
JP2007233664A (ja) * 2006-02-28 2007-09-13 Brother Ind Ltd インストーラを作成するためのプログラム,該プログラムを記憶する記憶媒体,インストーラの作成方法,情報処理装置
US20070296992A1 (en) * 2006-06-27 2007-12-27 Kabushiki Kaisha Toshiba Printing System, Printing Method and Storage Medium
US20080030756A1 (en) * 2006-07-27 2008-02-07 Carney Dennis M Print job eligibility based on named snapshots of printer settings
US20090091791A1 (en) * 2006-09-28 2009-04-09 Andrew Rodney Ferlitsch Methods and systems for third-party administrative control of remote imaging jobs and imaging devices
US20080250430A1 (en) * 2007-02-07 2008-10-09 Xerox Corporation Method and corresponding apparatus for creation of print drivers in a network
JP2008203929A (ja) * 2007-02-16 2008-09-04 Canon Inc サーバ装置、クライアント装置、ドライバ処理方法、記憶媒体、プログラム
JP4311458B2 (ja) * 2007-02-27 2009-08-12 ブラザー工業株式会社 コントロール配置情報設定装置及びコンピュータプログラム
US7890523B2 (en) * 2007-06-28 2011-02-15 Microsoft Corporation Search-based filtering for property grids
US8159701B2 (en) * 2007-07-17 2012-04-17 Xerox Corporation Printer driver, apparatus and methods for conrolling a printer from a devmode data structure
US8159702B2 (en) * 2007-07-17 2012-04-17 Xerox Corporation Printer driver, apparatus and methods for controlling a printer from a devmode data structure
JP4725559B2 (ja) * 2007-08-03 2011-07-13 ブラザー工業株式会社 情報処理装置、及びインストール用プログラム
US20090051960A1 (en) * 2007-08-23 2009-02-26 Maglanque Jose Elwin System and method for creating a customizable device driver for interfacing with a document processing device
US8589866B2 (en) * 2007-08-29 2013-11-19 Ricoh Company, Ltd. Automatically generating capability-based computer peripheral device drivers
KR101197148B1 (ko) * 2007-10-10 2012-11-08 삼성전자주식회사 화상형성방법 및 화상형성장치
JP4974909B2 (ja) * 2008-01-10 2012-07-11 キヤノン株式会社 情報処理装置、印刷設定方法、記憶媒体、プログラム
US20090190150A1 (en) * 2008-01-24 2009-07-30 Selvaraj Senthil K On-Demand Print Driver
JP5021531B2 (ja) 2008-03-14 2012-09-12 株式会社リコー 画面表示システム、情報処理装置、画面表示方法、画面表示プログラム及び記録媒体
KR20090113013A (ko) * 2008-04-25 2009-10-29 삼성전자주식회사 인쇄 제어 방법 및 인쇄 제어 단말장치
JP5038235B2 (ja) * 2008-06-06 2012-10-03 株式会社リコー 情報処理装置、画像形成装置及びプログラム
JP5063504B2 (ja) * 2008-06-20 2012-10-31 キヤノン株式会社 情報処理装置、情報処理方法、制御プログラム
JP4753321B2 (ja) * 2008-10-06 2011-08-24 キヤノンマーケティングジャパン株式会社 情報処理装置及びインストーラセット作成方法、プログラム、記憶媒体、並びに印刷システム
JP4674631B2 (ja) * 2008-11-04 2011-04-20 コニカミノルタビジネステクノロジーズ株式会社 登録された項目を予め定められた処理に提供するためのプログラムおよび方法
JP4853796B2 (ja) * 2008-12-02 2012-01-11 コニカミノルタビジネステクノロジーズ株式会社 設定制御方法及び設定制御プログラム
US20100225958A1 (en) * 2009-03-06 2010-09-09 Selvaraj Senthil K Approach For Printing To Web Services-Enabled Printing Devices
US8526020B2 (en) * 2009-03-06 2013-09-03 Ricoh Company, Ltd. Paper size support for a print system
US8520225B2 (en) * 2009-03-06 2013-08-27 Ricoh Company, Ltd. Print driver localization support from printing device to support multiple user profiles
US8773687B2 (en) * 2009-03-06 2014-07-08 Ricoh Company, Ltd. Driverless architecture for printing systems
JP5369794B2 (ja) * 2009-03-17 2013-12-18 株式会社リコー 情報処理装置、情報処理方法およびプログラム
JP5527992B2 (ja) * 2009-03-30 2014-06-25 キヤノン株式会社 印刷制御方法、印刷制御装置、及びコンピュータプログラム
JP5317817B2 (ja) * 2009-05-01 2013-10-16 キヤノン株式会社 情報処理装置、プリンタドライのバインストール方法、及び、プログラム
JP5481925B2 (ja) * 2009-05-18 2014-04-23 株式会社リコー ネットワークシステムおよび方法
JP5460139B2 (ja) * 2009-06-24 2014-04-02 キヤノン株式会社 データ処理装置及び方法、並びにプログラム
JP5473458B2 (ja) * 2009-07-29 2014-04-16 キヤノン株式会社 データ処理装置、データ処理方法、プログラム
JP2011060237A (ja) * 2009-09-14 2011-03-24 Ricoh Co Ltd プログラム導入支援装置、プログラム導入支援システム、表示制御方法、表示制御プログラム、及びそのプログラムを記録した記録媒体
JP2011096100A (ja) * 2009-10-30 2011-05-12 Fuji Xerox Co Ltd 設定変更装置及びプログラム
US9158552B2 (en) * 2009-11-17 2015-10-13 Netapp, Inc. Adaptive device driver method and system
JP2011170768A (ja) * 2010-02-22 2011-09-01 Fuji Xerox Co Ltd 情報処理システム、情報処理装置、導入処理装置及びプログラム
JP5663933B2 (ja) * 2010-04-08 2015-02-04 富士ゼロックス株式会社 カスタムインストーラの作成プログラム、カスタムインストーラの作成装置、カスタムインストーラの作成方法、インストールプログラム及びインストール装置
JP5719203B2 (ja) 2010-10-06 2015-05-13 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、及びプログラム
JP5759196B2 (ja) * 2011-02-09 2015-08-05 キヤノン株式会社 情報処理装置、情報処理装置の制御方法及びコンピュータプログラム
JP2013008156A (ja) * 2011-06-23 2013-01-10 Canon Inc 情報処理装置、情報処理方法、及びプログラム
JP5882638B2 (ja) * 2011-08-30 2016-03-09 キヤノン株式会社 情報処理装置及びその制御方法、プログラム
JP5799698B2 (ja) 2011-09-14 2015-10-28 株式会社リコー 情報処理装置及びプログラム
JP5369161B2 (ja) * 2011-10-11 2013-12-18 シャープ株式会社 画像形成システム、画像形成方法、及びプリンタドライバ
JP5424134B2 (ja) * 2011-10-14 2014-02-26 コニカミノルタ株式会社 情報処理装置、プリンタドライバ及び印刷設定方法並びにデータ構造体
US9323543B2 (en) 2013-01-04 2016-04-26 Microsoft Technology Licensing, Llc Capability based device driver framework
US9811319B2 (en) * 2013-01-04 2017-11-07 Microsoft Technology Licensing, Llc Software interface for a hardware device
US9383946B2 (en) 2013-04-15 2016-07-05 Xerox Corporation Providing reduced and non-print options using print
KR20150019511A (ko) * 2013-08-14 2015-02-25 삼성전자주식회사 인쇄 제어방법, 인쇄 제어 단말장치 및 컴퓨터 판독가능 기록매체
JP2014132471A (ja) * 2014-02-05 2014-07-17 Ricoh Co Ltd 情報処理装置、プログラム導入支援システム、表示制御方法、表示制御プログラム、及びそのプログラムを記録した記録媒体
US9665314B2 (en) 2014-04-03 2017-05-30 Canon Kabushiki Kaisha Methods and systems for managing a print-setting user interface
JP6185887B2 (ja) * 2014-06-26 2017-08-23 株式会社沖データ 情報処理装置及び情報処理方法
JP6456062B2 (ja) * 2014-07-10 2019-01-23 キヤノン株式会社 印刷装置、印刷装置の制御方法、およびプログラム
JP6435744B2 (ja) * 2014-09-24 2018-12-12 富士ゼロックス株式会社 画像形成装置及びプログラム
JP6314893B2 (ja) * 2015-03-31 2018-04-25 コニカミノルタ株式会社 画像処理システム、画像処理装置、配信サーバー、管理サーバー、および、プログラム
US9727288B2 (en) * 2015-11-12 2017-08-08 Xerox Corporation Methods and systems for automatically printing files
JP6613927B2 (ja) * 2016-01-29 2019-12-04 株式会社リコー 情報処理装置、情報処理システム、情報処理方法および情報処理プログラム
US10104263B2 (en) * 2016-02-16 2018-10-16 Ricoh Company, Ltd. System, apparatus and method for document processing including document stamping according to specified stamper settings
JP6700881B2 (ja) * 2016-03-17 2020-05-27 キヤノン株式会社 画像処理装置、および画像処理装置の制御方法、プログラム
JP2017174085A (ja) * 2016-03-23 2017-09-28 カシオ計算機株式会社 タスク管理装置及びプログラム
US11030207B1 (en) 2016-04-12 2021-06-08 Tableau Software, Inc. Updating displayed data visualizations according to identified conversation centers in natural language commands
US10515121B1 (en) * 2016-04-12 2019-12-24 Tableau Software, Inc. Systems and methods of using natural language processing for visual analysis of a data set
US9854105B1 (en) 2016-06-23 2017-12-26 Xerox Corporation Method and apparatus for instant scanning and processing of a document
US10104247B2 (en) 2016-07-28 2018-10-16 Xerox Corporation Method and apparatus for automatically tracking print history of documents stored on removable storage device
US9740447B1 (en) 2016-07-28 2017-08-22 Xerox Corporation Method and apparatus for automatically printing documents from portable memory device
JP6907483B2 (ja) * 2016-08-29 2021-07-21 富士フイルムビジネスイノベーション株式会社 情報処理装置、画像形成装置及びプログラム
JP2018049520A (ja) * 2016-09-23 2018-03-29 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、及びプログラム
US10375033B2 (en) 2017-01-17 2019-08-06 Xerox Corporation Method and apparatus for instant processing of a document workflow
US10116826B1 (en) 2017-04-26 2018-10-30 Xerox Corporation Method and apparatus for automatically resuming a print job from portable memory device
US10523845B2 (en) 2017-06-15 2019-12-31 Xerox Corporation Method and apparatus for instant secure scanning of a document using biometric information
US10511743B2 (en) 2017-06-15 2019-12-17 Xerox Corporation Method and apparatus for instant secure scanning of a document
US10223051B2 (en) 2017-07-19 2019-03-05 Xerox Corporation Method and apparatus for automatically processing job interruptions caused by a portable memory device with priority handling capabilities
US10223050B2 (en) 2017-07-19 2019-03-05 Xerox Corporation Method and apparatus for automatically processing job interruptions caused by a portable memory device in a print system
US11556324B2 (en) * 2017-11-10 2023-01-17 Canon Kabushiki Kaisha Management apparatus and management method
US10761795B2 (en) * 2018-06-29 2020-09-01 PrinterLogic, Inc. Printer driver profiles
KR20200077845A (ko) * 2018-12-21 2020-07-01 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. 맞춤화 환경설정 정보에 따른 맞춤형 화면 제공
EP3686730B1 (en) * 2019-01-23 2024-05-01 Canon Kabushiki Kaisha Information processing apparatus, control method thereof, and storage medium
JP7234688B2 (ja) * 2019-02-27 2023-03-08 ブラザー工業株式会社 プログラム、アプリケーション、情報処理装置
JP2023042726A (ja) * 2021-09-15 2023-03-28 富士フイルムビジネスイノベーション株式会社 情報処理装置及びプログラム
JP2023070955A (ja) * 2021-11-10 2023-05-22 東芝テック株式会社 画像形成装置及び画像形成プログラム

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5845090A (en) * 1994-02-14 1998-12-01 Platinium Technology, Inc. System for software distribution in a digital computer network
JPH07302197A (ja) * 1994-04-28 1995-11-14 Casio Comput Co Ltd ユーザープログラム設定方法
JPH08278871A (ja) 1995-04-05 1996-10-22 Canon Inc 情報処理装置及び方法
US6009274A (en) * 1996-12-13 1999-12-28 3Com Corporation Method and apparatus for automatically updating software components on end systems over a network
US6418485B1 (en) * 1997-04-21 2002-07-09 International Business Machines Corporation System and method for managing device driver logical state information in an information handling system
JPH11272471A (ja) * 1998-03-19 1999-10-08 Hitachi Information Systems Ltd ソフトウェア配信システムとそれに用いるプログラムを記録した記録媒体
JP4809968B2 (ja) * 1999-04-09 2011-11-09 キヤノン株式会社 情報処理装置、情報処理方法、及びコンピュータ読み取り可能な記録媒体
US8527872B1 (en) * 2000-01-18 2013-09-03 Autodesk, Inc. Multiple output device association
JP4673470B2 (ja) * 2000-07-04 2011-04-20 大日本印刷株式会社 Icカードの情報読み取り装置及びicカードの状態表示装置
JP2002049485A (ja) * 2000-08-04 2002-02-15 Hitachi Ltd ソフトウェア配布システム
US7743374B2 (en) * 2000-12-21 2010-06-22 Canon Kabushiki Kaisha Network system, information processing apparatus, information processing method, and control program for remote driver installation
JP3636088B2 (ja) 2001-03-30 2005-04-06 セイコーエプソン株式会社 プリンタのホスト管理装置、その動作プログラム、プリンタシステム
US20030030664A1 (en) * 2001-08-13 2003-02-13 Parry Travis J. Customizable control panel software
JP3984895B2 (ja) * 2001-10-03 2007-10-03 キヤノン株式会社 情報処理装置およびサーバ装置およびドライバ更新方法およびコンピュータが読み取り可能な記憶媒体およびプログラム
JP2003150341A (ja) 2001-11-12 2003-05-23 Fuji Xerox Co Ltd インストール処理装置およびインストール方法
JP2003173246A (ja) * 2001-12-05 2003-06-20 Ricoh Co Ltd デバイス情報収集方法、プログラム、サーバ装置及び記憶媒体
US6943905B2 (en) * 2001-12-20 2005-09-13 Sharp Laboratories Of America, Inc. Virtual print driver system and method
US20030145127A1 (en) * 2002-01-03 2003-07-31 Unice W. Kyle Method and computer program product for providing a device driver
JP3871035B2 (ja) * 2002-01-11 2007-01-24 セイコーエプソン株式会社 インストール制御プログラムを記録した媒体、インストール制御装置、インストール制御方法、インストールシステムおよびインストール用データを記録した媒体
JP2003308215A (ja) * 2002-02-14 2003-10-31 Canon Inc 情報処理装置、制御方法、制御プログラム
EP1398694B1 (en) * 2002-07-26 2013-09-11 Canon Kabushiki Kaisha Information processing method
JP3817500B2 (ja) * 2002-07-26 2006-09-06 キヤノン株式会社 情報処理装置、制御方法、制御プログラム
US20040031029A1 (en) * 2002-08-06 2004-02-12 Kyu-Woong Lee Methods and systems for automatically updating software components in a network
US7256901B2 (en) * 2002-10-10 2007-08-14 Sharp Laboratories Of America, Inc. Printer driver customization using incremental custom print processor
JP2004152090A (ja) * 2002-10-31 2004-05-27 Ricoh Co Ltd 印刷システムおよびプログラムを記録したパソコン読取可能な記録媒体
JP2004213132A (ja) * 2002-12-27 2004-07-29 Ricoh Co Ltd 印刷システム、プリンタドライバ導入方法、プリンタドライバ配信用コンピュータプログラム、記録媒体及びプリンタドライバ配信サーバ
JP4908731B2 (ja) * 2003-07-31 2012-04-04 キヤノン株式会社 情報処理装置、情報処理方法及び情報処理プログラム
JP4419519B2 (ja) * 2003-10-31 2010-02-24 セイコーエプソン株式会社 プリンタドライバプログラム
JP4574344B2 (ja) * 2004-01-20 2010-11-04 キヤノン株式会社 情報処理装置及び方法
DE602005019931D1 (de) * 2004-01-23 2010-04-29 Oce Tech Bv Druckertreiber mit automatischer Generation von Musterkonfigurationen
US20050225795A1 (en) * 2004-04-12 2005-10-13 Jayasimha Nuggehalli Automatic customization of printer drivers
US7275118B2 (en) * 2004-05-19 2007-09-25 Sony Ericsson Mobile Communications Ab Input/output (I/O) device driver loading method for data processing system of computer, involves communicating secondary I/O device driver to data processing system using primary I/O device driver

Also Published As

Publication number Publication date
US20060221372A1 (en) 2006-10-05
JP2006309726A (ja) 2006-11-09
US8656416B2 (en) 2014-02-18
US20140111824A1 (en) 2014-04-24

Similar Documents

Publication Publication Date Title
JP4863450B2 (ja) デバイスドライバプログラムをカスタマイズするための情報処理装置及びデバイスドライバプログラムのカスタマイズ方法
KR100853913B1 (ko) 정보 처리 장치 및 정보 처리 방법
US8239883B2 (en) Information processing apparatus and method, program, and storage medium
US7057747B1 (en) Management of printer settings
KR100708361B1 (ko) 정보 처리 장치 및 방법
EP1710699B1 (en) Information processing apparatus capable of customizing device driver, information processing method, and control program
US9128646B2 (en) Information processing apparatus, information processing method, and computer readable recording medium stored with information processing program
JP4812093B2 (ja) 情報処理装置、情報処理装置の制御方法、情報処理方法、プログラムおよび記憶媒体
US10558405B2 (en) Information processing apparatus and driver customizing method
JP4908731B2 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
JP4590341B2 (ja) データ処理装置および設定処理方法および情報処理装置および制御プログラム
JP2023001176A (ja) 情報処理装置及びプログラム
JP3774684B2 (ja) 情報処理装置および情報処理装置のプリンタ設定方法およびプログラムおよび記録媒体
JP2009205694A (ja) 情報処理装置および方法とデバイスドライバ
JP2006309725A (ja) デバイスドライバをカスタマイズする情報処理装置、方法、記憶媒体
JP2019008673A (ja) 情報処理装置およびドライバーインストール方法
JP4560330B2 (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: 20101208

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101213

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110210

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110331

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110704

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111004

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20111012

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

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

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

Free format text: PAYMENT UNTIL: 20141118

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 4863450

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

Year of fee payment: 3