(58)【調査した分野】(Int.Cl.,DB名)
前記第1の印刷設定部は、前記取得した第1の機種情報から、スクリプト言語による処理が可能な形式の前記第2の機種情報を生成する、請求項2に記載の情報処理装置。
前記第1の印刷設定部は、前記取得した第1の機種情報から、前記情報処理装置に接続される画像形成装置の制御に不要な情報を削除して、前記第2の機種情報を生成する、請求項2又は3に記載の情報処理装置。
【発明を実施するための形態】
【0012】
以下、本発明の実施形態について、図面を参照しながら詳細に説明する。
【0013】
<システム構成>
まず、本実施形態に係る情報処理システム1のシステム構成について、
図1を用いて説明する。
図1は、一実施形態に係る情報処理システム1の一例のシステム構成を示す図である。
【0014】
図1に示すように、本実施形態に係る情報処理システム1は、1台以上のクライアント装置10と、1台以上の画像形成装置20と、サーバ装置30とを含み、これら装置はLAN(Local Area Network)等のネットワークNを介して互いに通信可能に接続されている。
【0015】
クライアント装置10は、例えばPC(パーソナルコンピュータ)、スマートフォン、タブレット端末等である。クライアント装置10は、例えば、ユーザからの印刷指示を受け付けて、印刷対象データから印刷データを作成した上で、印刷データを画像形成装置20に送信する。又は、クライアント装置10は、例えば、ユーザからの印刷指示を受け付けて、印刷対象データをサーバ装置30に送信する。
【0016】
なお、印刷対象データとは、例えば、画像データや文書データ等の印刷可能な電子データである。また、印刷データとは、例えば、印刷対象データを、画像形成装置20が印刷可能なPDL(Page Description Language)形式に変換した電子データである。
【0017】
画像形成装置20は、例えばプリンタ、印刷機能を備えたMFP(Multifunction Peripheral)等である。画像形成装置20は、クライアント装置10又はサーバ装置30から受信した印刷データを印刷する。
【0018】
サーバ装置30は、例えばPC等である。サーバ装置30は、例えば、クライアント装置10から受信した印刷対象データから印刷データを作成して、作成した印刷データを画像形成装置20に送信する。
【0019】
また、サーバ装置30は、ファイルサーバとして機能しても良い。すなわち、サーバ装置30は、例えば、クライアント装置10から受信した印刷データを記憶しておき、画像形成装置20からの要求に応じて、記憶した印刷データを要求元の画像形成装置20に送信しても良い。
【0020】
なお、以降では、1台以上のクライアント装置10について、各々を区別するときは、「クライアント装置10−1」、「クライアント装置10−2」等と表す。同様に、1台以上の画像形成装置20について、各々を区別するときは、「画像形成装置20−1」、「画像形成装置20−2」等と表す。
【0021】
<ハードウェア構成>
次に、本実施形態に係る情報処理システム1に含まれるクライアント装置10、画像形成装置20、及びサーバ装置30のハードウェア構成について、
図2及び
図3を用いて説明する。
【0022】
≪クライアント装置10及びサーバ装置30≫
図2は、一実施形態に係るクライアント装置10及びサーバ装置30の一例のハードウェア構成を示す図である。なお、クライアント装置10及びサーバ装置30は、同様のハードウェア構成を有しているため、以降では、クライアント装置10のハードウェア構成について説明する。
【0023】
図2に示すように、本実施形態に係るクライアント装置10は、入力装置101と、表示装置102と、外部I/F103と、RAM(Random Access Memory)104とを有する。また、クライアント装置10は、ROM(Read Only Memory)105と、CPU(Central Processing Unit)106と、通信I/F107と、HDD(Hard Disk Drive)108とを有する。これらのハードウェアは、バスBで互いに接続されている。
【0024】
入力装置101は、キーボードやマウス、タッチパネル等を含み、ユーザが各操作信号を入力するのに用いられる。表示装置102は、ディスプレイ等を含み、クライアント装置10による処理結果を表示する。なお、入力装置101及び表示装置102の少なくとも一方は、必要なときにクライアント装置10に接続して利用する形態であっても良い。
【0025】
通信I/F107は、クライアント装置10をネットワークNに接続するインタフェースである。クライアント装置10は、通信I/F107を介して通信を行うことができる。
【0026】
HDD108は、プログラムやデータを格納している不揮発性の記憶装置である。HDD108に格納されるプログラムやデータには、クライアント装置10全体を制御する基本ソフトウェアであるOS(Operating System)、OS上において各種機能を提供するアプリケーションソフトウェア等がある。
【0027】
なお、クライアント装置10は、HDD108に代え、記憶媒体としてフラッシュメモリを用いるドライブ装置(例えばソリッドステートドライブ:SSD)を有して良い。また、HDD108は、格納しているプログラムやデータを所定のファイルシステムやDBにより管理している。
【0028】
外部I/F103は、外部装置とのインタフェースである。外部装置には、記録媒体103a等がある。クライアント装置10は、外部I/F103を介して記録媒体103aの読み取りや書き込みを行うことができる。記録媒体103aには、フレキシブルディスク、CD、DVD、SDメモリカード、USBメモリ等がある。
【0029】
ROM105は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリである。ROM105には、OS設定、ネットワーク設定等のプログラムやデータ、及びクライアント装置10の起動時に実行されるBIOS(Basic Input/Output System)が格納されている。RAM104は、プログラムやデータを一時保持する揮発性の半導体メモリである。
【0030】
CPU106は、ROM105やHDD108等の記憶装置からプログラムやデータをRAM104上に読み出し、当該プログラムやデータに基づく処理を実行することで、クライアント装置10全体の制御やその他の機能を実現する演算装置である。
【0031】
本実施形態に係るクライアント装置10及びサーバ装置30は、
図2に示すハードウェア構成を有することにより、後述するような各種処理を実現できる。
【0032】
≪画像形成装置20≫
図3は、一実施形態に係る画像形成装置20の一例のハードウェア構成を示す図である。
【0033】
図3に示すように、本実施形態に係る画像形成装置20は、コントローラ201と、操作パネル202と、外部I/F203と、通信I/F204と、プロッタ205を有する。また、コントローラ201は、CPU211と、RAM221と、ROM231と、NVRAM241と、HDD251とを有する。
【0034】
ROM231は、各種プログラムやデータを格納している不揮発性の半導体メモリである。RAM221は、プログラムやデータを一時保持する揮発性の半導体メモリである。NVRAM241は、例えば設定情報等を格納している。また、HDD251は、各種プログラムやデータを格納している不揮発性の記憶装置である。
【0035】
CPU211は、ROM231やNVRAM241、HDD251等からプログラムやデータ、設定情報等をRAM221上に読み出し、当該プログラムやデータに基づく処理を実行することで、画像形成装置20全体の制御やその他の機能を実現する演算装置である。
【0036】
操作パネル202は、ユーザからの入力を受け付ける入力部と、表示を行う表示部とを有する。外部I/F203は、外部装置とのインタフェースである。外部装置には、記録媒体203a等がある。画像形成装置20は、外部I/F203を介して記録媒体203aの読み取りや書き込みを行うことができる。なお、記録媒体203aには、例えば、ICカード、フレキシブルディスク、CD、DVD、SDメモリカード、USBメモリ等がある。
【0037】
通信I/F204は、画像形成装置20をネットワークNに接続するインタフェースである。画像形成装置20は、通信I/F204を介して通信を行うことができる。プロッタ205は、印刷データを印刷する印刷装置である。
【0038】
本実施形態に係る画像形成装置20は、
図3に示すハードウェア構成を有することにより、後述するような各種処理を実現できる。
【0039】
<クライアント装置10のソフトウェア構成>
次に、本実施形態に係るクライアント装置10のソフトウェア構成について、
図4を用いて説明する。
図4は、クライアント装置10の一例のソフトウェア構成を示す図である。
【0040】
図4に示すように、本実施形態に係るクライアント装置10は、アプリケーション301と、OS302と、プリンタドライバ303と、ストアデバイスアプリ304とを有する。
【0041】
アプリケーション301は、例えば文書作成ソフト、画像閲覧・編集ソフト、ブラウザ等、ユーザの印刷指示に応じて、OS302に印刷の指示(要求)を行うことができるアプリケーションソフトである。アプリケーション301には、ストアアプリ311と、デスクトップアプリ321とが含まれる。
【0042】
ストアアプリ311は、例えば、Windows(登録商標)8/WindowsRT及びそれ以降のバージョンのWindowsOSにアプリケーションを提供する「Windowsストア」から、入手可能なアプリケーションである。ストアアプリ311では、「ストアアプリ UI」が用いられる。なお、Windows8及びWindows8.1では、OS302によって提供される「Modern UI」又は「Metro UI」とも称されるUIからストアアプリ311が呼び出される。
【0043】
一方、デスクトップアプリ321は、例えば、Windows7以前のバージョンのWindowsOSにおいても使用可能なアプリケーションである。
【0044】
OS302は、Windows8/WindowsRT及びそれ以降のバージョンのWindowsOSである。
【0045】
プリンタドライバ303は、例えば、Version4プリンタドライバ(以降では、「V4プリンタドライバ」と表す。)である。V4プリンタドライバとは、Windows8/WindowsRTから採用されたアーキテクチャに基づくプリンタドライバである。以降では、プリンタドライバ303を「V4プリンタドライバ303」とも表す。
【0046】
なお、Windows8以降のWindowsOSでは、Windows2000からWindows7で使用されていたVersion3プリンタドライバ(以降では、「V3プリンタドライバ」と表す。)に加えて、V4プリンタドライバも使用可能である。
【0047】
プリンタドライバ303は、拡張設定部313と、設定制御部323と、描画部333とを含む。
【0048】
拡張設定部313は、プリンタ拡張とも称され、デスクトップアプリ321から印刷を行う場合に、ベンダ独自の印刷設定画面を表示する。
【0049】
設定制御部323は、禁則スクリプトとも称され、例えば、印刷設定の組み合わせが正当であるか否かを検証する。拡張設定部313は、例えば、設定制御部323により正当でないと検証された印刷設定の組み合わせを非表示にすること等ができる。
【0050】
また、設定制御部323は、アプリケーション301やOS302等からの要求に応じて、プリンタドライバ303が設定可能な機能の情報を示すPrintCapabilityを返信する。更に、設定制御部323は、アプリケーション301やOS302等からの要求に応じて、プリンタドライバ303に設定されている各種機能の設定値をDevmodePropertyBagから取得し、取得した設定値を示すPrintTicketを返信する。また、設定制御部323は、PrintTicketで示された設定値をDevmodePropertyBagに保存する。
【0051】
なお、OS302に返信されたPrintCapabilityやPrintTicketは、例えば、拡張設定部313が表示する印刷設定画面における各機能の現在値の表示、選択肢の表示等に利用される。
【0052】
描画部333は、アプリケーション301において印刷指示が行われた印刷対象データから印刷データを作成する。
【0053】
ストアデバイスアプリ304は、ストアアプリ311から印刷を行う場合に、ベンダ独自の印刷設定画面を表示する。なお、ストアデバイスアプリ304は、ストアアプリ311と同様に、「Windowsストア」から入手可能なアプリケーションである。
【0054】
デスクトップアプリ321から印刷を行う場合、プリンタドライバ303は、拡張設定部313により表示された印刷設定画面で設定された設定内容に基づいて、印刷データを作成することができる。一方で、ストアアプリ311から印刷を行う場合、プリンタドライバ303は、ストアデバイスアプリ304により表示された印刷設定画面で設定された設定内容に基づいて、印刷データを作成することができる。
【0055】
拡張設定部313及びストアデバイスアプリ304は、ベンダ独自の印刷設定画面を表示するUI部305を構成する。
【0056】
<V4プリンタドライバ303及びストアデバイスアプリ304がアクセス可能な記憶領域>
次に、V4プリンタドライバ303及びストアデバイスアプリ304がアクセス可能な記憶領域について、
図5を用いて説明する。
図5は、V4プリンタドライバ303及びストアデバイスアプリ304がアクセス可能な記憶領域について説明するための図である。
【0057】
図5に示すように、拡張設定部313、設定制御部323、描画部333、及びストアデバイスアプリ304は、PropertyBag400と呼ばれる記憶領域にアクセスすることができる。なお、このような記憶領域へのアクセスは、OS302によって提供されるAPI(Application Programming Interface)を用いて行うことができる。
【0058】
図5に示すように、PropertyBag400には、DriverPropertyBag410と、QueuePropertyBag420と、UserPropertyBag430とが含まれる。
【0059】
DriverPropertyBag410は、V4プリンタドライバ303を作成するときに決定された構成情報等を記憶する記憶領域である。拡張設定部313、設定制御部323、描画部333、及びストアデバイスアプリ304は、DriverPropertyBag410から各種情報の読み出しが可能である。一方で、拡張設定部313、設定制御部323、描画部333、及びストアデバイスアプリ304は、DriverPropertyBag410に対して、情報の書き込みを行うことはできない。
【0060】
QueuePropertyBag420は、論理プリンタ(プリンタアイコン)毎の設定情報等を記憶する記憶領域である。拡張設定部313及びストアデバイスアプリ304は、QueuePropertyBag420に対して、各種情報の読み出し及び書き込みが可能である。また、設定制御部323及び描画部333は、QueuePropertyBag420に対して、各種情報の読み出しが可能である。
【0061】
なお、論理プリンタとは、例えば、OS302のプリンタフォルダ等にプリンタアイコンとして表示される仮想的なプリンタである。例えば、クライアント装置10の利用者は、1つの画像形成装置20に対して、設定情報(例えば、用紙サイズや向き、印刷品質等)が異なる複数の論理プリンタを作成することができる。
【0062】
UserPropertyBag430は、論理プリンタ毎に、ユーザ毎の設定情報等を記憶する記憶領域である。拡張設定部313、設定制御部323、及びストアデバイスアプリ304は、UserPropertyBag430に対して、各種情報の読み出し及び書き込みが可能である。
【0063】
また、拡張設定部313及び描画部333は、更に、独自記憶領域500に対して、各種情報の読み出し及び書き込みが可能である。
【0064】
独自記憶領域500は、例えばレジストリやファイル等を用いて実現され、PropertyBag400とは異なる記憶領域である。独自記憶領域500は、V4プリンタドライバ303を提供するベンダ等によって定義される。
【0065】
ストアデバイスアプリ304は、OS302の課す制約により、PropertyBag400以外の記憶領域に対してアクセスすることはできない。また、設定制御部323は、上述したDevmodePropertyBag及びPropertyBag400以外の記憶領域に対してアクセスすることはできない。すなわち、ストアデバイスアプリ304及び設定制御部323は、独自記憶領域500に対して、各種情報の読み出しや書き込み等を行うことができない。
【0066】
このことは、ストアアプリ311に課されている制約と同様であり、例えば、ストアデバイスアプリ304及び設定制御部323が、OS302が使用するレジストリ等を変更し、OS302の動作に悪影響を与えることを防ぐためである。このような技術は、「サンドボックス」等と称されている。
【0067】
[第1の実施形態]
<機能構成>
図6は、第1の実施形態に係るクライアント装置の機能構成図である。
【0068】
クライアント装置10は、画像形成装置20とネットワークN等を介して接続され、1つ以上の画像形成装置20に対応するプリンタドライバ(機種共通ドライバ)を実行する情報処理装置である。
【0069】
クライアント装置10は、例えば、OS302、プリンタドライバ303、ストアデバイスアプリ(第2の印刷設定部)304、管理ツール(管理プログラム)620等のプログラムを実行する。
【0070】
クライアント装置10は、
図2のCPU106で実行されるV4プリンタドライバであるプリンタドライバ303により、前述したように、拡張設定部313、設定制御部323、及び描画部333等を実現している。
【0071】
また、クライアント装置10は、
図2のCPU106で実行される管理ツール620等により、機種情報管理部621を実現している。
【0072】
更に、クライアント装置10は、
図2CPU106で実行されるOS302により、通信部610を実現している。
【0073】
また、クライアント装置10は、DriverPropertyBag410、QueuePropertyBag420等の記憶領域を有する。
【0074】
DriverPropertyBag(以下、第1の記憶領域と呼ぶ)410には、プリンタドライバ303で利用可能な1つ以上の画像形成装置20に対応する第1の機種情報631が記憶されている。なお、第1の記憶領域410に記憶された情報は、プリンタドライバ303がクライアント装置10にインストールされた後、追加及び変更を行うことができない。
【0075】
好ましくは、第1の記憶領域410には、プリンタドライバ303で利用可能な1つ以上の画像形成装置20に対応するマッピングデータ632が記憶されている。
【0076】
第1の機種情報631は、予めプリンタドライバ303に登録されている1つ以上の画像形成装置20の機種に関する情報である。第1の機種情報631には、例えば、機種共通情報、機種個別情報、言語情報等が含まれる。
【0077】
共通情報、及び機種個別情報は、設定項目や、同時に設定できない設定項目に関する禁則情報、印刷設定画面の表示、印刷設定情報を生成するための情報等が含まれる。なお、機種共通情報は、画像形成装置20の機種に依存しない情報であり、機種個別情報は、画像形成装置20の機種に依存する情報である。
【0078】
共通情報、及び機種個別情報は、例えば、機種毎に備える機能、装着可能なオプション、機能間や機能とオプション間の関係等が定義されている設定ファイルに含まれる。この設定ファイルは、例えば、XML(Extensible Markup Language)やJSON(JavaScript Object Notation)等のフォーマットで定義されている。言語情報も同様である。また、印刷設定画面を表示するためのアイコンは、例えば、BMP(ビットマップ)やPNG(Portable Network Graphics)等のフォーマットで定義されている。なお、マッピングデータ632については後述する。
【0079】
QueuePropertyBag(以下、第2の記憶領域と呼ぶ)420には、管理ツール620を用いて、プリンタドライバ303で利用可能な画像形成装置20に対応する第1の機種情報(追加)641を、記憶することができる。
【0080】
好ましくは、第2の記憶領域420には、管理ツール620を用いて、プリンタドライバ303で利用可能な画像形成装置20に対応するマッピングデータ(追加)642を、記憶することができる。
【0081】
前述したように、第1の記憶領域410に記憶された情報は、プリンタドライバ303がクライアント装置10にインストールされた後、追加及び変更を行うことはできない。従って、第1の機種情報(追加)641、マッピングデータ(追加)642等の情報は、第2の記憶領域420等に記憶する必要がある。
【0082】
第1の機種情報(追加)641は、予めプリンタドライバ303に登録されている1つ以上の画像形成装置20とは異なる、別の画像形成装置20の機種に関する情報である。なお、第1の機種情報(追加)641に含まれる情報は、第1の機種情報631に含まれる情報と同様である。また、以下の説明の中で、第1の機種情報631、及び第1の機種情報(追加)641のうち、任意の第1の機種情報を示す場合、「第1の機種情報」を用いる。
【0083】
また、マッピングデータ(追加)642は、予めプリンタドライバ303に登録されている1つ以上の画像形成装置20とは異なる、別の画像形成装置20のマッピングデータである。なお、以下の説明の中で、マッピングデータ632、及びマッピングデータ(追加)642のうち、任意のマッピングデータを示す場合「マッピングデータ」を用いる。
【0084】
本実施形態に係るプリンタドライバ303は、予めプリンタドライバ303に登録されている1つ以上の第1の機種情報631に対応する画像形成装置20に加えて、第1の機種情報(追加)641に対応する画像形成装置20の印刷を制御することができる。
【0085】
上記の機能を実現するため、本実施形態に係るプリンタドライバ303の拡張設定部313は、例えば、
図7に示すような機能構成を有している。
【0086】
図7は、第1の実施形態に係る拡張設定部の機能構成図である。拡張設定部(第1の印刷設定部)313は、画面表示部701、印刷設定部702、機器情報取得部703、機種情報取得部704、生成部705、及び記憶制御部706等を有する。
【0087】
画面表示部701は、デスクトップアプリ321用の印刷設定画面である第1の印刷設定画面を、
図2の表示装置102等に表示する。
【0088】
印刷設定部702は、例えば、画面表示部701が表示する第1の印刷設定画面で設定された情報に基づいて、印刷設定情報(PrintTicket)を生成する。また、印刷設定部702は、印刷能力情報(PrintCapability)と、クライアント装置10に接続されている画像形成装置20の機種の能力に応じた印刷設定を行うことができる。
【0089】
なお、印刷設定情報は、印刷に関して設定された各設定項目における現在の印刷設定値を示す情報である。設定項目は、例えば、用紙サイズや印刷方向等の項目であり、印刷設定値は、用紙サイズに対してA4(又はA3)、印刷方向に対して縦方向(又は横方向)等の情報である。
【0090】
また、印刷能力情報は、各設定項目における設定可能な一覧を示し、選択肢の表示等に利用される、使用可能な機能を示す情報である。例えば、印刷能力情報は、画像形成装置20がA4サイズ、及びB5サイズで印刷可能である場合、A4サイズか、B5サイズかという選択肢の情報である。
【0091】
機器情報取得部703は、通信部610を利用して、クライアント装置10に接続されている画像形成装置20と通信を行い、画像形成装置20の機種を識別するための機種名(又は機種識別情報)や、オプション情報等の情報を取得する。なお、機器情報取得部703が取得した機種名、オプション情報等の情報は、第2の記憶領域420の機種名643、及びオプション情報644等に記憶される。
【0092】
また、第2の記憶領域420の機種名643、及びオプション情報644は、拡張設定部313、又はストアデバイスアプリ304で選択された画像形成装置20の機種名や、設定された画像形成装置20のオプション情報等によって更新される。
【0093】
なお、機種名643は、画像形成装置20の機種を特定できる情報であれば良く、機種名以外の情報(例えば、機種識別情報等)であっても良い。
【0094】
また、オプション情報644は、機器の設定状態(又は拡張状態)を示す情報である。例えば、オプション情報644には、排紙トレイの増設状態や、両面印刷機能を実現するユニット、折り機能を実現するユニット、ステープルの機能を実現するユニットの装着状態等を示す情報が含まれる。
【0095】
なお、機種名643、オプション情報644等は、画像形成装置20の機種を特定する情報を含む接続先情報の一例である。
【0096】
機種情報取得部704は、第2の記憶領域420の機種名643に記憶された情報を用いて、第1の記憶領域410、又は第2の記憶領域420に記憶された第1の機種情報の中から、クライアント装置10に接続される画像形成装置20の第1の機種情報を取得する。
【0097】
生成部705は、機種情報取得部704が取得した第1の機種情報を用いて、クライアント装置10に接続される画像形成装置20に対応する、ストアデバイスアプリ304で利用可能な第2の機種情報を生成する。
【0098】
記憶制御部706は、生成部705が生成した第2の機種情報645を、第2の記憶領域に記憶する。
【0099】
第2の機種情報は、第1の機種情報と同様に、画像形成装置20に対応する機種に関する情報であり、ストアデバイスアプリ304、及び設定制御部(禁則スクリプト)323による処理が可能な形式で生成される。例えば、第2の機種情報は、スクリプト言語による処理が可能な形式で生成される。
【0100】
好ましくは、第2の機種情報は、第1の機種情報から、クライアント装置10の制御に不要な情報を削除して、第1の機種情報より小さいデータ容量で生成される。
【0101】
前述したように、第1の機種情報631には、機種毎に備える機能、装着可能なオプション、機能間や機能とオプション間の関係等が定義されている設定ファイルや、印刷設定画面を表示するための言語情報、アイコン等が含まれている。
【0102】
このうち、設定ファイルは、設定制御部(禁則スクリプト)323により頻繁に利用されるが、設定制御部323は、設定ファイルをキャッシュすることができず、かつ高速な処理が要求される。そのため、生成部705は、第1の機種情報に含まれる設定ファイルを用いて、より情報量の少ない第2の機種情報645用の設定ファイルを生成することが望ましい。
【0103】
図8は、第1の実施形態に係る機種情報のイメージを示す図である。
図8(a)は、第1の機種情報に含まれる設定ファイル(能力情報)810の例を示しており、
図8(b)は、第2の機種情報645に含まれる設定ファイル820の例を示している。
【0104】
第1の機種情報に含まれる設定ファイル810には、例えば、画像形成装置20の機種が有する機能の情報811、画像形成装置20のオプションの情報812、及び画像形成装置20の静的な情報813等が含まれる。
【0105】
例えば、生成部705は、設定ファイル810における機能の情報811のうち、画像形成装置20がオプションを有していないため利用できない機能に関する情報を削除して、より情報量の少ない設定ファイル820の機能の情報821を生成する。ここで、オプションには、例えば、前述した、増設された排紙トレイや、装着された両面印刷機能を実現するユニット、折り機能を実現するユニット、ステープルの機能を実現するユニット等が含まれる。
【0106】
また、生成部705は、設定ファイル810の機能の情報811に含まれるオプションによる禁則条件等の情報を簡易化し、より情報量の少ない設定ファイル820の機能の情報821を生成する。例えば、設定ファイル810において、オプション1の場合A動作を実行し、オプション2の場合B動作を実行すると記述されているものとする。この場合、生成部705は、オプション情報644等により、画像形成装置20がオプション1を有していることが判ると、オプション2の記述が不要と判断し、設定ファイル820の機能の情報821から、オプション2に関する記述を削除する。
【0107】
更に、設定ファイル810における機能のオプションの情報812は、設定時のみ必要な情報であり、設定制御部323の処理には不要である。例えば、オプションの情報812は、画像形成装置20のデバイス自体の設定を行うプロパティ画面の表示には必要な情報である。一方、オプションの情報812は、デバイスの現在の状態が確定した後の設定制御部323の処理、及びストアデバイスアプリ304が印刷設定画面を生成し、表示する際等には不要である。
【0108】
従って、生成部705は、例えば、設定ファイル810における機能のオプションの情報812を削除して、より情報量の少ない設定ファイル820を生成することができる。
【0109】
更にまた、生成部705は、設定ファイル810の静的な情報813に含まれる情報のうち、設定制御部323の処理に不要な情報を削除することができる。
図8の例では、生成部705は、設定ファイル810の静的な情報813のうち、表示言語に関する情報のみを残して、より情報量の少ない設定ファイル820の静的な情報822を生成している。
【0110】
ここで、
図6に戻り、クライアント装置10の機能構成の説明を続ける。
【0111】
設定制御部(禁則スクリプト)323は、前述したように、アプリケーション301やOS302等からの要求に応じて、プリンタドライバ303が設定可能な機能の情報を示すPrintCapabilityを返信する。また、設定制御部323は、アプリケーション301やOS302等からの要求に応じて、プリンタドライバ303に設定されている各種機能の設定値を示すPrintTicketを返信する。
【0112】
描画部333は、前述したように、アプリケーション301において印刷指示が行われた印刷対象データから印刷データを作成する。
【0113】
ストアデバイスアプリ304は、前述したように、ストアアプリ311から印刷を行う場合に、ベンダ独自の印刷設定画面を表示する。
【0114】
上記の構成により、クライアント装置10は、クライアント装置10に接続される画像形成装置20が他の機種に変更された場合でも、同じプリンタドライバ303を用いて、変更された画像形成装置20で印刷を実行することができる。
【0115】
また、クライアント装置10は、クライアント装置10に接続される画像形成装置20が、プリンタドライバ303が対応している画像形成装置20に含まれていない場合、管理ツール620を用いて、第1の機種情報(追加)641を追加することができる。
【0116】
図9は、第1の実施形態に係る管理ツールの表示画面の例を示す図である。管理ツール620の機種情報管理部621は、例えば、
図9に示すような表示画面900を、
図2の表示装置(表示部)102等に表示させることができる。
【0117】
例えば、
図9に示すような表示画面900において、利用者がプルダウンメニュー901により、プリンタドライバ303を選択すると、機種情報管理部621は、対応する画像形成装置20の情報902を、表示画面900に選択可能に表示する。
【0118】
また、利用者は、クライアント装置10に画像形成装置20の第1の機種情報(追加)641を追加する場合、追加する画像形成装置20に対応するチェックボックス903を選択し、「追加」ボタン904及び「適用」ボタン906を選択する。
【0119】
これにより、機種情報管理部621は、選択された画像形成装置20に対応する第1の機種情報(追加)641を、クライアント装置10の第2の記憶領域420に記憶する。
【0120】
また、好ましくは、機種情報管理部621は、選択された画像形成装置20に対応するマッピングデータ(追加)642を第2の記憶領域420に記憶する。
【0121】
(マッピングテーブルについて)
拡張設定部313は、第2の記憶領域420に、マッピングテーブル646を格納することもできる。マッピングテーブル646は、機能を示す文字列であって、設定制御部323等のプリンタドライバ303の内部処理で使用される文字列と、印刷設定情報や印刷能力情報で用いられる文字列との対応関係を示す情報(テーブル)である。
【0122】
マッピングテーブル646は、機種名に応じて、第1の記憶領域410に記憶されたマッピングデータ632、又は第2の記憶領域420に記憶されたマッピングデータ(追加)642から取得して、利用される。このようなマッピングデータによって、機種毎の機能を、どの印刷設定情報や印刷能力情報に入れ込み、格納するかを決定することができる。
【0123】
この決定する処理の例としては、プリンタドライバ303の内部で扱われている機能の選択肢を、どの印刷設定情報、印刷能力情報に割当てるかを機種毎に変更する処理を挙げることができる。この処理により、例えば、機種Aではトレイ1、トレイ2、大容量トレイとして内部で扱い、機種Bではトレイ1、トレイ2、トレイ3として内部で扱っているものを、印刷能力情報では、どちらもトレイ1、トレイ2、トレイ3と記載することができるようになる。
【0124】
なお、マッピングテーブル646も、第2の機種情報645と同様に、ストアデバイスアプリ304や、設定制御部323が処理し易いデータ形式(例えば、テキスト形式、シリアライズしたバイナリ形式等)であることが望ましい。
【0125】
(設定制御部について)
設定制御部323は、前述した処理以外にも、例えば、課金処理や認証処理等に使用される個人情報等のセキュリティ情報を、画像形成装置20に出力される印刷設定情報に格納する場合に、暗号化処理を行う。また、設定制御部323は、機種名に応じて第2の記憶領域420に記憶されたマッピングテーブル646を用いて、処理を行うことができる。
【0126】
一方で、設定制御部323は、スクリプトがそのままOS302に配置されるだけであるため、外部から処理が見える状態にある。このため、暗号化する場合でも、どのように暗号をしているのかを外部から解読することができ、暗号化のセキュリティ性が低くなるという問題がある。また、機能の中には、外部に漏洩してはならない個人情報(ユーザ名、パスワード等)を利用するものがある。そこで、以下のような方法によって、セキュリティ性を高めることが望ましい。
【0127】
まず、拡張設定部313が、機種が特定された段階で、マッピングテーブル646と共に、暗号化情報を第2の記憶領域420に保存する。このとき、暗号化情報は、拡張設定部313によって、バイナリ化など外部から解読し難い形式に変換される。暗号化情報は、WEP(Wired Equivalent Privacy)、TKIP(Temporal Integrity Protocol)、AES(Advanced Encryption Standard)等の暗号化方式と、暗号化に用いられる情報とを含む。暗号化情報は、第2の機種情報645に記載し、保存される。
【0128】
設定制御部323は、第2の機種情報645に含まれる暗号化情報を用いて、個人情報を暗号化して、暗号化された個人情報を該当する箇所に入れ込み、暗号化された個人情報を含む印刷設定情報を生成する。例えば、このように、暗号化情報を、拡張設定部313のような外部からの解読が難しいモジュールが保持することで、セキュリティ性を向上させることができる。
【0129】
暗号化方式、及び暗号化に用いられる情報は、機種によって対応可能な方式が異なる。そのため、接続される画像形成装置20が決定した段階で、拡張設定部313が、決定された画像形成装置20に合った暗号化ロジックをマッピングテーブル646に格納することができる。また、暗号化方式、及び暗号化に用いられる情報は、拡張設定部313ではなく、第2の記憶領域420に機種毎に格納して、選択している機種によって、利用する暗号化方式、及び暗号化に用いられる情報を取得して、適用することもできる。
【0130】
なお、上述の説明では、拡張設定部313が暗号化情報を保持する場合の例を示したが、外部からの解読が難しい形式とした暗号化情報を、第1の機種情報631に記憶するものであっても良い。この場合、拡張設定部313は、第1の機種情報から暗号化情報を取得し、取得した暗号化情報を含む第2の機種情報645を生成すれば良い。従って、セキュリティ性を向上するためには、暗号化情報に含まれる暗号化方式と引数とを、第1の記憶領域410と、第2の記憶領域420とに分けて保存することが望ましい。
【0131】
なお、設定制御部323は、全ての機種の処理を記載せず、接続先の機種に応じて第1の記憶領域410から、禁則処理の内容を取得する構成とすることができる。このような構成とすることで、プリンタドライバ303に対応可能な機種を追加する場合でも、モジュールを変更することなく、機種情報の追加のみでアップデートが可能とする。
【0132】
<処理の流れ>
続いて、本実施形態に係る情報処理方法の処理の流れについて説明する。
【0133】
(拡張設定部の処理)
図10は、第1の実施形態に係る拡張設定部の処理の例を示すフローチャートである。拡張設定部313は、例えば、後述するインストーラによって拡張設定部313が呼び出されたときや、ファイルの印刷を行うために印刷設定を行う画像設定画面が呼び出されたとき等に、
図10に示す処理を実行する。また、
図10に示す処理は、例えば、画像形成装置20のデバイス設定を行うプロパティ画面を表示するために、拡張設定部313が呼び出されたとき等に実行される。なお、
図10に示す処理は、拡張設定部313が呼び出されたときに必ず実行する必要はなく、ユーザからUIを介して機種指定をされたときや、双方向通信によって機種の変更を検知したとき等に、ステップS1002以降の処理を行えば良い。
【0134】
ステップS1001において、拡張設定部313の機器情報取得部703は、クライアント装置10に接続される画像形成装置20の機種名(又は機種ID)等の情報を取得する。例えば、機器情報取得部703は、通信部610を用いて画像形成装置20と双方向通信を行い、画像形成装置20から機種名等の情報を取得する。或いは、機器情報取得部703は、ユーザの操作によって指定された画像形成装置20の機種名を取得するもの等であっても良い。なお、取得した機種名等の情報を、例えば、第2の記憶領域420の機種名643に記憶される。
【0135】
好ましくは、このとき、機器情報取得部703は、クライアント装置10に接続される画像形成装置20のオプション情報を取得し、取得したオプション情報を、例えば、第2の記憶領域420のオプション情報644に記憶する。
【0136】
ステップS1002において、拡張設定部313の機種情報取得部704は、第1の記憶領域(DriverPropertyBag)410に、機器情報取得部703が取得した機種名等に該当する画像形成装置20の第1の機種情報があるかを判断する。
【0137】
第1の記憶領域410に、該当する画像形成装置20の第1の機種情報がある場合、機種情報取得部704は、処理をステップS1003に移行させる。一方、第1の記憶領域410に、該当する画像形成装置20の第1の機種情報がない場合、機種情報取得部704は、処理をステップS1004に移行させる。
【0138】
ステップS1003に移行すると、機種情報取得部704は、第1の記憶領域410から、取得した機種名等に該当する画像形成装置20(クライアント装置10に接続される画像形成装置20)の第1の機種情報を取得する。
【0139】
一方、ステップS1004に移行すると、機種情報取得部704は、第2の記憶領域(QueuePropertyBag)420から、取得した機種名等に該当する画像形成装置20の第1の機種情報を取得する。
【0140】
なお、
図10のステップS1002〜S1004に示すように、機種情報取得部704が、第1の記憶領域410から優先的に第1の機種情報を取得する処理は一例である。
【0141】
例えば、機種情報取得部704は、ステップS1002において、第2の記憶領域420に、取得した機種名等に該当する画像形成装置20の第1の機種情報があるかを判断し、第2の記憶領域420から優先的に第1の機種情報を取得するものであっても良い。これにより、例えば、第1の記憶領域410に記憶された第1の機種情報631に既に登録されている画像形成装置20であっても、第1の機種情報(追加)641を第2の記憶領域420に記憶させることにより、第1の機種情報を更新することができるようになる。
【0142】
ステップS1005において、拡張設定部313の生成部705は、機種情報取得部704が取得した第1の機種情報を用いて、取得した機種名等に該当する画像形成装置20(クライアント装置10に接続される画像形成装置20)の第2の機種情報645を生成する。
【0143】
ステップS1006において、拡張設定部313の記憶制御部706は、生成された第2の機種情報645を、第2の記憶領域420に記憶する。
【0144】
ステップS1007において、拡張設定部313の機種情報取得部704は、ステップS1002〜S1004で第1の機種情報を取得した記憶領域から、取得した機種名等に該当する画像形成装置20のマッピングデータを取得する。
【0145】
ステップS1008において、拡張設定部313の記憶制御部706は、取得されたマッピングデータを、第2の記憶領域420のマッピングテーブル646に適用(記憶)する。
【0146】
上記の処理により、クライアント装置10は、接続された画像形成装置20が、プリンタドライバ303が対応している画像形成装置20に含まれていない場合でも、第1の機種情報(追加)641用いて第2の機種情報を生成することができるようになる。
【0147】
(印刷設定情報の出力処理)
図11Aは、印刷設定情報を出力する処理の例を示すフローチャートである。
【0148】
例えば、アプリケーション301の印刷設定から詳細設定(Windowsのメモ帳であれば「詳細設定」、オフィスアプリであれば「プリンタのプロパティ」等)がユーザに選択されることによって、プリンタドライバ303の印刷設定画面が呼び出される。このとき、アプリケーション301の印刷設定画面で印刷設定を行うために印刷設定情報(PrintTicket)と、印刷能力情報(PrintCapability)が必要となる。このとき、アプリケーション301からOS302を介して、設定制御部323に対して
図11A、
図11Bに示す処理の要求が行われる。
【0149】
ステップS1111において、プリンタドライバ303の設定制御部323は、デスクトップアプリ321から、印刷設定情報を受付する。
【0150】
ステップS1112において、設定制御部323は、第2の記憶領域420に記憶されている第2の機種情報645を取得する。
【0151】
ステップS1113において、設定制御部323は、取得した第2の機種情報645に基づいて、機種共通情報の妥当性を評価する。機種共通情報の妥当性の評価は、各画像形成装置20に共通する、機種に依存しない印刷設定情報の設定値が妥当な値かどうかを確認することで行う。機種共通情報の例として、例えば、集約設定等が挙げられる。
【0152】
ステップS1114において、設定制御部323は、取得した第2の機種情報645に基づいて、機種個別情報の設定値の妥当性を評価する。機種個別情報の妥当性の評価は、プリントスキーム(設定項目)毎に、オプション情報や、フィニッシング機能等が、選択されている画像形成装置20の能力を超えないことを確認することで行われる。
【0153】
ステップS1115において、設定制御部323は、妥当性の評価を終えた印刷設定情報をデスクトップアプリ321に返却し、処理を終了する。
【0154】
(印刷能力情報の出力処理)
図11Bは、印刷能力情報を出力する処理の例を示すフローチャートである。この処理は、前述したように、アプリケーション301が印刷設定画面を表示させるとき等に、アプリケーション301からOS302を介して、設定制御部323に対して処理の要求される印刷能力情報を出力する処理の例を示している。
【0155】
ステップS1121において、設定制御部323は、デスクトップアプリ321から、印刷能力情報の構築命令を受付する。
【0156】
ステップS1122において、設定制御部323は、第2の記憶領域420に記憶されている第2の機種情報645を取得する。
【0157】
ステップS1123において、設定制御部323は、印刷能力情報や言語情報を構築する。印刷能力情報の構築では、プリントスキーム毎に設定値の選択肢を構築する。また、言語情報は、OS302や、デスクトップアプリ321のロケール(国や地域の設定)に基づいて、各設定値の言語情報を構築する。設定値の言語情報としては、例えば、「ステープル、右上」等の情報である。
【0158】
ステップS1124において、設定制御部323は、第2の記憶領域420に記憶されているオプション情報644に基づいて、ステップS1123で構築した印刷能力情報を補正する。能力情報の補正は、設定値の選択肢の追加や削除等である。
【0159】
ステップS1125において、設定制御部323は、補正した印刷能力情報を、デスクトップアプリ321に返却して、処理を終了する。
【0160】
図11A、Bに示す処理により、設定制御部323は、第2の記憶領域420に記憶された第2の機種情報645に基づいて、クライアント装置10に接続される画像形成装置20に応じた機種共通情報や機種個別情報を構築することができる。
【0161】
(ストアデバイスアプリによる表示処理)
図11Cは、ストアデバイスアプリによる表示処理の例を示すフローチャートである。この処理は、ストアデバイスアプリ304が、印刷設定画面を表示する処理の例を示している。
【0162】
ステップS1131において、ストアデバイスアプリ304は、設定制御部323から、印刷設定情報を受付する。
【0163】
ステップS1132において、ストアデバイスアプリ304は、第2の記憶領域420に記憶されている第2の機種情報645を取得する。なお、第2の機種情報645には、クライアント装置10に接続される画像形成装置20を識別する情報(例えば、機種名、機種識別情報等)が含まれる。第2の機種情報645は、クライアント装置10に接続される画像形成装置20を識別する情報を含む接続先情報の一例である。
【0164】
ステップS1133において、ストアデバイスアプリ304は、クライアント装置10に接続する画像形成装置20に対応する印刷能力情報を構築し、印刷設定情報の妥当性を評価する。
【0165】
ステップS1134において、ストアデバイスアプリ304は、クライアント装置10に接続する画像形成装置20の印刷能力情報に対して、印刷情報を反映した印刷設定画面を構築して表示し、処理を終了する。
【0166】
上記の処理により、ストアデバイスアプリ304は、クライアント装置10に接続されている画像形成装置20に応じた印刷設定画面(第2の印刷設定画面)を表示することができるようになる。
【0167】
なお、本実施形態において、第2の機種情報の生成は必須ではない。ただし、ストアデバイスアプリ304は、クライアント装置10に接続される画像形成装置20との双方向の通信ができないので、少なくとも機種名643の情報は、拡張設定部313が取得し、第2の記憶領域420に記憶する必要がある。
【0168】
第2の機種情報を生成しない場合、ストアデバイスアプリ304は、
図11CのステップS1132において、第2の記憶領域420に記憶された機種名643を取得し、取得した機種名643に対応する第1の機種情報を特定する。また、ストアデバイスアプリ304は、特定した第1の機種情報と共に、オプション情報644、印刷能力情報を用いて、クライアント装置10に接続されている画像形成装置20に応じた印刷設定画面(第2の印刷設定画面)を表示する。なお、機種名643の情報は、クライアント装置10に接続される画像形成装置20を識別する情報を含む接続先情報の別の一例である。
【0169】
(拡張設定部による表示処理)
図11Dは、拡張設定部による表示処理の例を示すフローチャートである。この処理は、拡張設定部313が、印刷設定画面を表示する処理の例を示している。
【0170】
ステップS1141において、拡張設定部313は、設定制御部323から、印刷設定情報を受付する。
【0171】
ステップS1142において、拡張設定部313は、第2の記憶領域420に記憶されている機種名643を取得する。
【0172】
ステップS1143において、拡張設定部313は、取得した機種名643に対応する第1の機種情報を特定する。
【0173】
ステップS1144において、拡張設定部313は、クライアント装置10に接続する画像形成装置20に対応する印刷能力情報を構築し、印刷設定情報の妥当性を評価する。
【0174】
ステップS1145において、拡張設定部313は、特定した第1の機種情報、オプション情報644、及び印刷能力情報等を用いて、印刷設定を反映した印刷設定画面を構築して表示し、処理を終了する。
【0175】
上記の処理により、拡張設定部313は、クライアント装置10に接続されている画像形成装置20に応じた印刷設定画面(第1の印刷設定画面)を表示することができるようになる。
【0176】
なお、
図11Dに示す処理において、第2の記憶領域420に第2の機種情報645が生成され、記憶されている場合には、
図11(c)に示す処理と同様に、第2の機種情報645を用いてUIを生成するものであっても良い。
【0177】
ここで、
図11Cに示す処理が実行されるか、
図11Dに示す処理が実行されるかは、呼び出し元のアプリケーションに301が、ストアアプリ311であるか、デスクトップアプリ321であるかによって決定される。
【0178】
以上、本実施形態によれば、プリンタドライバ303の拡張設定部313は、クライアント装置10に接続される画像形成装置20を識別する情報を含む接続先情報を、第2の記憶領域420に記憶する。また、プリンタドライバ303のストアデバイスアプリ304は、第2の記憶領域420に記憶された接続先情報を用いて、クライアント装置10に接続される画像形成装置20に対応する印刷設定画面を表示する。
【0179】
従って、本実施形態によれば、複数の画像形成装置20で利用可能な機種共通のプリンタドライバ(V4プリンタドライバ)303に、対応機種を容易に追加することができるようになる。
【0180】
[第2の実施形態]
第1の実施形態では、管理ツール620が機種情報管理部621を有している場合の例について説明したが、第2の実施形態では、プリンタドライバ303のインストーラが機種情報管理部621を有している場合の例について説明する。
【0181】
<機能構成>
図12は、第2の実施形態に係るクライアント装置の機能構成図である。
図12に示す第2の実施形態に係るクライアント装置10は、
図6に示す第1の実施形態に係るクライアント装置10の管理ツール620に代えて、インストーラ1210を有している。
【0182】
インストーラ1210は、クライアント装置10にV4プリンタドライバであるプリンタドライバ303をインストールして、クライアント装置10でプリンタドライバ303を利用できるようにするインストールプログラムである。
【0183】
クライアント装置10は、
図2のCPU106で実行されるインストーラ1210により、インストール部1211、及び機種情報管理部621を実現している。
【0184】
好ましくは、クライアント装置10は、
図2のCPU106で実行されるインストーラ1210により、カスタマイズ情報管理部1212を実現している。
【0185】
インストール部1211は、クライアント装置10にプリンタドライバ303をインストールする、一般的なV4プリンタドライバのインストール処理を実行する。
【0186】
機種情報管理部621は、インストーラ1210が実行する一連の処理の中で、第1の機種情報(追加)641を第2の記憶領域420に記憶させる。
【0187】
好ましくは、機種情報管理部621は、インストーラ1210が実行する一連の処理の中でマッピングデータ(追加)842も第2の記憶領域420に記憶させる。
【0188】
これにより、例えば、OSのベンダ等により既に認証を取得済のV4プリンタドライバであるプリンタドライバ303自体に改変を加えることなく、第1の機種情報(追加)641を用いて、新たな対応機種を追加することができるようになる。
【0189】
好ましくは、本実施形態に係るインストーラ1210は、カスタマイズ情報管理部1212により、利用者(又は管理者)が、プリンタドライバ303の設定情報の既定値をカスタマイズ(変更)することができる。
【0190】
なお、設定情報の既定値のカスタマイズとは、プリンタドライバ303がクライアント装置10にインストールされたときの設定情報の既定値を、情報処理システム1の利用者等が変更することを示す。例えば、プリンタドライバ303がインストール済のクライアント装置10を利用する際に、印刷の設定情報を変更する操作等は、カスタマイズには含まれない。
【0191】
設定情報の既定値のカスタマイズには、例えば、既定のカラー設定を「カラー」から「白黒」に変更する既定値の変更、カラー設定の選択肢を「白黒」のみに限定する印刷設定の限定や、固定化等が含まれる。
【0192】
カスタマイズ情報管理部1212は、例えば、インストーラ1210が実行する一連の処理の中で、管理者等によって予め設定されたカスタマイズ情報1213を第2の機種情報645に反映させて、プリンタドライバ303の設定情報の既定値に設定する。
【0193】
好ましくは、カスタマイズ情報管理部1212は、利用者等によるカスタマイズの設定を受付し、受付した設定を反映したカスタマイズ情報1213を第2の記憶領域420に記憶する。
【0194】
なお、クライアント装置10の上記以外の機能構成は、
図6に示す第1の実施形態に係るクライアント装置10の機能構成と同様である。
【0195】
<処理の流れ>
(インストール処理)
図13は、第2の実施形態に係るインストール処理の例を示すフローチャートである。この処理は、例えば、クライアント装置10でインストーラ1210を実行したときに実行されるインストール処理の一例を示している。
【0196】
ステップS1301において、インストーラ1210のインストール部1211は、一般的なV4プリンタドライバのインストール処理を行い、クライアント装置10にプリンタドライバ303をインストールする。
【0197】
ステップS1302において、インストーラ1210のインストール部1211は、インストールしたプリンタドライバ303に対応するプリンタアイコン(論理プリンタ)を生成する。
【0198】
一般的なV4プリンタドライバでは、ステップS1301、S1302の処理のみでインストール処理が完了し、利用者は、クライアント装置10でプリンタドライバ303、及び画像形成装置20を利用することができるようになる。
【0199】
なお、一般的なV4プリンタドライバのインストール処理は、公知の技術なので、ここでは詳細な説明は省略する。
【0200】
なお、V4プリンタドライバでは、ベンダが用意したインストーラを用いずに、OS302の機能等を用いてインストール処理を行う場合、インストール処理の間にプリンタドライバのモジュールの呼び出しが発生せず、カスタマイズや機種情報の追加ができない。そのため、ベンダが用意したインストーラを使用し、そのインストーラが意図的にプリンタドライバのモジュールの呼び出し等を行う必要がある。
【0201】
ステップS1303において、インストーラ1210の機種情報管理部621は、第1の機種情報(追加)641、マッピングデータ(追加)642等を配置する場所を示す配置情報を読込する。第1の機種情報(追加)641、マッピングデータ(追加)等を記憶する第2の記憶領域(QueuePropertyBag)420は、具体的には、WindowsOSのレジストリ等によって実現される。配置情報には、第1の機種情報(追加)641、マッピングデータ(追加)等を記憶する場所を示す情報(例えば、レジストリのエントリ、キー等)が記憶されている。
【0202】
ステップS1304において、インストーラ1210の機種情報管理部621は、予め組み込まれている第1の機種情報(追加)641、マッピングデータ(追加)642等を、第2の記憶領域420の配置情報が示す場所に記憶する。なお、ここでは、第1の機種情報(追加)641、マッピングデータ(追加)642等の情報は、例えば、インストーラ1210が作成(パッケージング)される際等に、予め組み込まれているものとする。
【0203】
ステップS1305において、インストーラ1210の機種情報管理部621は、拡張設定部313に、第2の機種情報の生成を要求する。
【0204】
ステップS1306において、拡張設定部313は、例えば、
図10に示すような、拡張設定部の処理を実行する。これにより、クライアント装置10に接続される画像形成装置20に対応する第2の機種情報645が生成され、第2の記憶領域420に記憶される。
【0205】
また、インストーラ1210がカスタマイズ情報管理部1212を有している場合、カスタマイズ情報管理部1212は、ステップS1307以降の処理を実行する。
【0206】
ステップS1307において、インストーラ1210のカスタマイズ情報管理部1212は、予め設定されたカスタマイズ情報を読込する。カスタマイズ情報は、機能毎に設定された初期値(デフォルト値)を変更する場合変更後の値や、設定可能な選択肢を増減する場合の増減後の値、すなわち変更値等の情報である。例えば、カスタマイズ情報は、カラー印刷、及びモノクロ印刷が可能な画像形成装置20で、モノクロ印刷のみを使用させるために、モノクロ印刷のみとするための情報等が含まれる。なお、カスタマイズ情報は、例えば、画像形成装置20を管理する管理者等によって、カスタマイズ内容(設定情報の変更内容)が予め設定されているものとする。
【0207】
ステップS1308において、インストーラ1210のカスタマイズ情報管理部1212は、OS302にデフォルト設定の変更要求を行う。
【0208】
ステップS1309において、OS302は、設定制御部323に、カスタマイズ情報の設定チェックを、要求する。
【0209】
設定制御部323は、変更値が妥当でない場合、変更値が妥当でない旨の通知をOS302に返す。インストーラ1210のカスタマイズ情報管理部1212は、OS302を介して、変更値が妥当でない旨の通知を受付すると、例えば、カスタマイズ処理を終了させる。
【0210】
カスタマイズ情報の変更値が妥当である場合、設定制御部323は、変更値が妥当である旨の通知をOS302に返す。この場合、インストーラ1210のカスタマイズ情報管理部1212は、ステップS1310以降の処理を実行する。
【0211】
ステップS1310において、インストーラ1210のカスタマイズ情報管理部1212は、第2の記憶領域420に記憶された第2の機種情報645に、カスタマイズ情報による設定値の変更を反映させる。
【0212】
ステップS1311において、インストーラ1210のカスタマイズ情報管理部1212は、カスタマイズされた第2の機種情報645、及びカスタマイズ情報1213等を、第2の記憶領域(QueuePropetyBag)420に記憶する。
【0213】
なお、ステップS1311で記憶された情報は、ステップS1306の処理を行ったプリンタドライバ303から利用できる必要がある。そのため、ステップS1311において、カスタマイズ情報管理部1212は、情報を記憶する際に、OS302に対してどのプリンタドライバ303に関する情報であるかを指定する。
【0214】
上記の処理により、クライアント装置10は、プリンタドライバ303のインストーラ1210による一連の処理の中で、プリンタドライバ303の対応機種の追加、及びプリンタドライバ303のデフォルト設定のカスタマイズを行うことができるようになる。
【0215】
[第3の実施形態]
第1、2の実施形態に示した機種共通のV4プリンタドライバであるプリンタドライバ303は、1つのプリンタドライバ303で、クライアント装置10に接続される複数の機種の画像形成装置20による印刷を制御することができる。
【0216】
しかし、利用者(画像形成装置20の管理者や、画像形成装置20が設置されたテナント等を含む)によっては、機種共通のプリンタドライバではなく、機種固定のプリンタドライバを利用したいという要望もある。
【0217】
そこで、第3の実施形態では、例えば、1つの認証済の機種共通のV4プリンタドライバであるプリンタドライバ303を、機種固定のプリンタドライバ303として機能させる場合の例について説明する。
【0218】
<情報処理システムのイメージ>
図14は、第3の実施形態に係る情報処理システムのイメージを示す図である。クライアント装置10にプリンタドライバ303をインストールするためのプリンタドライバパッケージの配布形態には、大きく分けて2つの形態がある。
【0219】
第1の形態は、OS302を供給するベンダのウェブサイト等に、プリンタドライバ303のインストールに必要なプログラム、データ等をパッケージ化した、プリンタドライバパッケージを登録する方法である。この場合、プリンタドライバパッケージには、例えば、第2の実施形態で説明したインストーラ1210を含めることはできない。クライアント装置10へのプリンタドライバ303のインストールは、例えば、OS302の機能を利用して実行される。
【0220】
第2の形態は、第2の実施形態で説明したインストーラ1210を含むプリンタドライバパッケージを、例えば、画像形成装置20を提供するベンダのウェブサイト等に登録する方法である。この場合、プリンタドライバパッケージには、例えば、第2の実施形態で説明したインストーラ1210を含めることができる。クライアント装置10の利用者は、例えば、プリンタドライバパッケージに含まれるインストーラ1210を実行することにより、プリンタドライバ303をクライアント装置10にインストールすることができる。
【0221】
図14は、第2の形態により、クライアント装置10に、インストーラ1210を含むプリンタドライバパッケージを提供する場合における情報処理システム1のイメージを示している。
【0222】
サーバ装置30は、例えば、画像形成装置20のベンダ等が提供する情報処理装置であり、例えば、プリンタドライバパッケージをクライアント装置10に提供するためのウェブサーバ等であるドライバ提供部1411を有している。
【0223】
また、サーバ装置30は、記憶部1412に、インストーラ1210、最小構成のプリンタドライバパッケージ1413、複数の機種の機種情報1414a〜1414c等を予め記憶している。
【0224】
ドライバ提供部1411は、例えば、プリンタドライバパッケージを提供するためのウェブページを、クライアント装置10に提供し、クライアント装置10の利用者等に指定された機種に対応するプリンタドライバパッケージを提供する。
【0225】
例えば、ドライバ提供部1411が、クライアント装置10から機種Bのプリンタドライバパッケージの取得要求を受付するものとする。この場合、ドライバ提供部1411は、記憶部1412から、インストーラ1210、最小構成のプリンタドライバパッケージ1413、及び受付した機種Bの機種情報1414bを取得し、機種Bのプリンタドライバパッケージ1423を作成する。
【0226】
クライアント装置10は、例えば、サーバ装置30からプリンタドライバパッケージを取得するためのドライバ取得部1421(例えば、ウェブブラウザ等)を有する。クライアント装置10の利用者は、ドライバ取得部1421を用いて、ドライバ提供部1411が提供するウェブサーバから、例えば、機種Bのプリンタドライバのダウンロード操作を行う。これにより、クライアント装置10は、サーバ装置30のドライバ提供部1411から、機種Bのプリンタドライバパッケージ1423をダウンロードし、記憶部1422に記憶することができる。
【0227】
この機種Bのプリンタドライバパッケージ1423には、例えば、インストーラ1210、最構成小のプリンタドライバパッケージ1413、及び機種Bの機種情報1414b等が含まれる。
【0228】
インストーラ1210は、第2の実施形態で説明したように、クライアント装置10にプリンタドライバ303をインストールするためのインストールプログラムである。
【0229】
最小構成のプリンタドライバパッケージ1413は、例えば、
図15に示すように、ドライバ処理部1501、ドライバデータ部1502、inf情報1503、及びCAT情報1504等を含む。最小構成のプリンタドライバパッケージ1413は、Microsoft(登録商標)社の認定テストに合格し、認証を受けているドライバパッケージである。本実施形態では、
図15に示すような最小構成のプリンタドライバパッケージ1413のみで認証を受けており、複数の機種の機種情報1414a〜1414cを含むプリンタドライバパッケージ、例えば、機種Bのプリンタドライバパッケージ1423は認証を受けていない。
【0230】
ドライバ処理部1501は、ドライバの実行ファイル群(exeファイル、dllファイル等)である。
【0231】
ドライバデータ部1502は、ドライバの処理で利用される設定ファイル群であり、例えば、機種共通情報等が含まれる。ドライバデータ部1502に含まれる情報は、例えば、
図6の第1の記憶領域(DriverPropertyBad)410に含まれる第1の機種情報631、マッピングデータ632等の情報である。ここで、ドライバデータ部1502に含まれる第1の機種情報631、及びマッピングデータ632の数は運用によって異なる。
【0232】
例えば、ドライバデータ部1502には、後から、第1の機種情報(追加)641、マッピングデータ(追加)642等が追加されることを前提として、第1の機種情報631、マッピングデータ632等の情報が含まれていないものであっても良い。
【0233】
また、ドライバデータ部1502には、多くのドライバが有している共通の機能の情報を記載した1つの第1の機種情報631、及びマッピングデータ632等が含まれているものであっても良い。
【0234】
更に、ドライバデータ部1502には、例えば、良く使われる複数の機種の第1の機種情報631、及びマッピングデータ632等が含まれているものであっても良い。
【0235】
inf情報1503は、ドライバの構成情報ファイルであり、例えば、最小構成のプリンタドライバパッケージ1413に含まれる全てのファイルの情報が列挙されている。
【0236】
CAT情報1504は、認証ファイルである。CAT情報1504は、例えば、最小構成のプリンタドライバパッケージ1413に含まれるファイル群のハッシュ値を持ち、このセットで認証テストをパスしたことを証明するものである。従って、最小構成のプリンタドライバパッケージ1413に含まれるファイルの一部でも変更を行うと、変更後の構成で改めて認証テストを受け直す必要がある。
【0237】
なお、証明ファイルを取得していないドライバパッケージ、又は証明ファイルは取得しているがパッケージ内容が変更されているドライバパッケージをインストールする際に、OS302により、証明ファイルが有効でないことを示す警告画面が表示される。
【0238】
上記の構成において、例えば、
図13のステップS1301に示すようなプリンタドライバのインストール処理により、プリンタドライバ303の各部のクライアント装置10内への配置と、第1の記憶領域410に記憶される情報が確定する。また、OS302が「インストール処理」として認識しているのはこの部分のみであって、この処理に使用されるのは最小構成のプリンタドライバパッケージ1413のみとなる。
【0239】
従って、例えば、後述する
図19のインストール処理において、インストーラ1210は、「インストール処理」の後に、機種Bの機種情報1414b等を追加しているだけとなり、改竄されたプリンタドライバパッケージがインストールされようとしているとOS302に認識されることはない。従って、
図19に示す本実施形態に係るインストール処理では、OS302により、前述した、証明ファイルが有効でないことを示す警告画面が表示されることはない。
【0240】
このように、本発明の各実施形態によれば、この最小構成のプリンタドライバパッケージ1413に変更を加えることなく、機種共通のV4プリンタドライバであるプリンタドライバ303に、対応機種の固定、追加、削除等を行うことができる。
【0241】
<機能構成>
図16は、第3の実施形態に係るクライアント装置の機能構成図である。
図16に示す第3の実施形態に係るクライアント装置10は、
図12に示す第2の実施形態に係るクライアント装置10の機能構成に加えて、ドライバ取得部1421を有している。
【0242】
また、第2の記憶領域420には、クライアント装置10の利用者の操作等によって、有効又は無効を設定可能な情報である機種固定情報1601が記憶されている。
【0243】
ドライバ取得部1421は、例えば、
図2のCPU106で実行されるプログラムにより実現され、サーバ装置30から、プリンタドライバ303をインストールするためのプリンタドライバパッケージを取得して、記憶部1422等に記憶する。
【0244】
機種固定情報1601は、例えば、
図17に示すような、機種共通のV4プリンタドライバであるプリンタドライバ303の設定画面1700等に表示された、「機種を固定する」チェックボックス1701を選択することにより、有効に設定される。また、機種固定情報1601は、設定画面1700等に表示された、「機種を固定する」チェックボックス1701の選択を解除することにより、無効に設定される。
【0245】
なお、機種固定情報1601は、例えば、インストーラ1210等によって、有効又は無効が設定されるものであっても良い。
【0246】
本実施形態に係る機種共通のV4プリンタドライバであるプリンタドライバ303は、機種固定情報1601を有効に設定することにより、機種専用のプリンタドライバとして動作する。また、プリンタドライバ303は、機種固定情報1601を無効に設定することにより、機種共通のプリンタドライバとして動作する。
【0247】
なお、上記の構成以外の機能構成は、
図12に示す第2の実施形態に係るクライアント装置10と同様である。
【0248】
<処理の流れ>
(インストーラの取得処理)
図18は、第3の実施形態に係るインストーラの取得処理の例を示すシーケンス図である。この処理は、
図14において、クライアント装置10が、サーバ装置30から、(一例として、)機種Bのプリンタドライバパッケージ1423を取得する処理の例を示している。
【0249】
ステップS1801において、クライアント装置10の利用者は、クライアント装置10のドライバ取得部1421(例えば、ウェブブラウザ等)を用いて、機種Bのインストーラのダウンロード操作を行う。
【0250】
ステップS1802において、クライアント装置10のドライバ取得部1421は、利用者の操作に応じて、サーバ装置30のドライバ提供部1411に、ダウンロード要求を送信する。このダウンロード要求には、利用者によって選択された機種Bを示す情報が含まれる。
【0251】
ステップS1803〜S1805において、サーバ装置30のドライバ提供部1411は、例えば、
図14の記憶部1412から、インストーラ1210、最小構成のプリンタドライバパッケージ1413、及び機種Bの機種情報1414bを取得する。
【0252】
ステップS1806において、サーバ装置30のドライバ提供部1411は、例えば、
図14に示すような機種Bのプリンタドライバパッケージ1423を作成する。
【0253】
ステップS1807において、クライアント装置10のドライバ取得部1421は、作成された機種Bのプリンタドライバパッケージ1423を、サーバ装置30のドライバ提供部1411からダウンロードする。
【0254】
ステップS1808において、クライアント装置10のドライバ取得部1421は、ダウンロードした、機種Bのプリンタドライバパッケージ1423を、
図14に示すように記憶部1422に記憶する。
【0255】
この状態で、利用者は、インストーラ1210を実行させることにより、例えば、
図19に示すような、インストール処理1が実行される。
【0256】
なお、
図18に示すインストーラの取得処理は一例である。例えば、サーバ装置30の記憶部1412には、機種毎のプリンタドライバパッケージが予め記憶されているもの等であっても良い。
【0257】
(インストール処理1)
図19は、第3の実施形態に係るインストール処理の一例を示す図である。この処理は、例えば、
図14に示すクライアント装置10において、利用者がインストーラ1210を実行したときに実行されるインストール処理の一例を示している。
【0258】
ステップS1901において、利用者(又は管理者)は、カスタマイズ情報(機能制限、デフォルト値変更等)の設定操作を行う。例えば、インストーラ1210のカスタマイズ情報管理部1212は、
図2の表示装置102に、カスタマイズ情報の設定画面を表示させて、利用者によるカスタマイズ情報の設定操作を受付する。
【0259】
このとき、利用者は、機種固定情報1601の有効又は無効の設定を行うことができる。なお、
図18のステップS1801において、特定の機種のプリンタドライバパッケージがダウンロードされた場合には、自動的に機種固定情報を有効に設定しても良い。また、カスタマイズを行わない場合は、ステップS1901の処理は省略することができる。
【0260】
ステップS1902において、利用者は、インストールの開始操作を行う。
【0261】
ステップS1903において、インストーラ1210のインストール部1211は、一般的なV4プリンタドライバのインストール処理を行い、クライアント装置10にプリンタドライバ303をインストールする。
【0262】
ステップS1904において、インストーラ1210のインストール部1211は、インストールしたプリンタドライバ303に対応するプリンタアイコン(論理プリンタ)を生成する。
【0263】
好ましくは、ステップS1901で、機種固定情報1601が有効に設定されている場合、インストール部1211は、プリンタアイコンの名前(論理プリンタ名)を、例えば、機種Bに対応する名前に変更する。
【0264】
ステップS1905において、インストーラ1210の機種情報管理部621は、機種Bの機種情報1414bに含まれる、第1の機種情報(追加)641、マッピングデータ(追加)642等を、第2の記憶領域420に記憶する。
【0265】
ステップS1906において、インストーラ1210のカスタマイズ情報管理部1212は、例えば、ステップS1901で設定されたカスタマイズ情報を読込する。
【0266】
ステップS1907において、インストーラ1210のカスタマイズ情報管理部1212は、カスタマイズ情報をプリンタドライバ303に適用する。
【0267】
ステップS1908において、インストーラ1210のカスタマイズ情報管理部1212は、拡張設定部313に、第2の機種情報の生成を要求する。
【0268】
ステップS1909において、拡張設定部313は、例えば、
図10に示すような、拡張設定部の処理を実行する。これにより、機種Bに対応する第2の機種情報645が生成され、第2の記憶領域420に記憶される。
【0269】
ステップS1910において、インストーラ1210のカスタマイズ情報管理部1212は、例えば、予め用意されたAPIを利用して、OS302にデフォルト設定の変更を要求する。
【0270】
ステップS1911において、OS302は、設定制御部323に設定チェックを要求する。これにより、設定制御部323から、印刷設定情報(PrintTicket)、印刷能力情報(PrintCapability)が返却され、プリンタドライバ303のデフォルト値が確定する。
【0271】
ステップS1912において、インストーラ1210のカスタマイズ情報管理部1212は、例えば、ステップS1901で、機種固定情報1601が有効に設定されている場合、第2の記憶領域420の機種固定情報1601を有効に設定する。
【0272】
これにより、プリンタドライバ303は、機種Bの専用のプリンタドライバとして動作するようになる。
【0273】
なお、
図18、19に示す処理は、第3の実施形態に係るプリンタドライバ303のインストール処理の一例である。
【0274】
(インストール処理2)
図20は、第3の実施形態に係るインストール処理の別の一例を示すシーケンス図(1)である。この処理は、例えば、
図14において、ドライバ提供部1411が提供するプリンタドライバパッケージ(例えば、機種Bのプリンタドライバパッケージ1423)に、機種情報が含まれていない場合の処理の一例を示している。
【0275】
ステップS2001において、クライアント装置10の利用者は、クライアント装置10のドライバ取得部1421(例えば、ウェブブラウザ等)を用いて、インストーラのダウンロード操作を行う。
【0276】
ステップS2002において、クライアント装置10のドライバ取得部1421は、利用者の操作に応じて、サーバ装置30のドライバ提供部1411に、ダウンロード要求を送信する。
【0277】
ステップS2003、S2004において、サーバ装置30のドライバ提供部1411は、例えば、
図14の記憶部1412から、インストーラ1210、及び最小構成のプリンタドライバパッケージ1413を取得する。
【0278】
ステップS2005において、サーバ装置30のドライバ提供部1411は、インストーラ1210、及び最小構成のプリンタドライバパッケージ1413を含むプリンタドライバパッケージを作成する。
【0279】
ステップS2006において、クライアント装置10のドライバ取得部1421は、作成されたプリンタドライバパッケージを、サーバ装置30のドライバ提供部1411からダウンロードする。
【0280】
ステップS2007において、クライアント装置10の利用者は、ダウンロードされたプリンタドライバパッケージの実行操作を行う。例えば、利用者は、インストーラ1210を実行させる。
【0281】
ステップS2008において、インストーラ1210のインストール部1211は、クライアント装置10に接続される画像形成装置20から、機種名等の情報を取得する。
【0282】
ステップS2008において、インストーラ1210のインストール部1211は、取得した機種名等に対応する機種情報の取得を、サーバ装置30のドライバ提供部1411に要求する。
【0283】
ステップS2009において、サーバ装置30のドライバ提供部1411は、
図14の記憶部1412に記憶された複数の機種の機種情報1414a〜1414cから、指定された機種名等に対応する機種情報を取得する。また、ドライバ提供部1411は、取得した機種情報を、要求元のインストーラ1210に送信する。
【0284】
ステップS2011において、インストーラ1210は、取得した機種情報を用いて、例えば、
図19のステップS1903以降の処理を実行する。
【0285】
(インストール処理3)
図21は、第3の実施形態に係るインストール処理の別の一例を示すシーケンス図(2)である。この処理は、例えば、
図14において、ドライバ提供部1411が提供するプリンタドライバパッケージ(例えば、機種Bのプリンタドライバパッケージ1423)に、機種情報が含まれていない場合の処理の別の一例を示している。
【0286】
図20に示すインストール処理では、ステップS2009、S2010において、インストーラ1210は、サーバ装置30のドライバ提供部1411から、画像形成装置20に対応する機種情報を取得していた。
【0287】
一方、
図21に示すインストール処理では、ステップS2101において、インストーラ1210は、画像形成装置20から、機種情報を取得する。このように、インストーラ1210は、クライアント装置10に接続される画像形成装置20の機種情報を、画像形成装置20から取得するものであっても良い。
【0288】
なお、
図21において、ステップS2101以外の処理は、
図21に示すインストール処理と同様である。
【0289】
このように、本実施形態によれば、複数の画像形成装置20で利用可能な機種共通のV4プリンタドライバであるプリンタドライバ303を用いて、機種固定のプリンタドライバを実現することができるようになる。
【0290】
なお、機種固定のプリンタドライバとして設定されたプリンタドライバ303は、
図17に示すプリンタドライバ303の設定画面1700の「機種を固定する」チェックボックス1701の選択を解除することにより、機種共通のプリンタドライバとして機能する。
【0291】
以上、本発明の各実施形態によれば、複数の画像形成装置20で利用可能な機種共通のV4プリンタドライバであるプリンタドライバ303に、新たな対応機種の情報を容易に追加することができるようになる。
【0292】
また、本発明の各実施形態では、認証を取得済のV4プリンタドライバであるプリンタドライバ303に改変を行うことなく、プリンタドライバ303に新たな対応機種の情報を追加(又は削除)することができる。従って、対応機種を追加(又は削除)した場合でも、改めてプリンタドライバ303の認証を行う必要がなくなる。
【0293】
更に、上記に仕組みを利用することにより、機種共通のV4プリンタドライバであるプリンタドライバ303を、機種固定のプリンタドライバとして利用することができるようになる。
【0294】
[第4の実施形態]
第1〜3の実施形態では、第2の記憶領域(QueuePropertyBag)420に第2の機種情報645を記憶する場合の例について説明を行ったが、第2の記憶領域420に第2の機種情報645を記憶する処理は好適な一例であり、必須ではない。第4の実施形態では、拡張設定部313が、第2の機種情報645を第2の記憶領域420に記憶しない場合の処理の例について説明する。
【0295】
<機能構成図>
図22は、第4の実施形態に係るクライアント装置の機能構成図である。
図22に示すように、本実施形態に係る第2の記憶領域420には、
図6に示す第1の実施形態に係る第2の記憶領域420に記憶されていた第2の機種情報645が記憶されていない。
【0296】
また、本実施形態では、第1の実施形態で第1の記憶領域(DriverPropertyBag)410に記憶される第1の機種情報631を、「機種情報2202」と呼ぶものとする。また、第1の実施形態で、第2の記憶領域に記憶される第1の機種情報(追加)641を、「機種情報(追加)2202」と呼ぶものとする。
【0297】
本実施形態では、拡張設定部313は、第2の機種情報645の生成し、第2の記憶領域420に格納する処理を行わない。また、設定制御部323、及びストアデバイスアプリ304は、第2の記憶領域420に格納された機種名643を取得し、機種名643によって特定される機種の機種情報を、機種情報2201、又は機種情報(追加)2202から取得する。これにより、設定制御部323、及びストアデバイスアプリ304は、第1〜3の実施形態と同様の処理を実行することができる。
【0298】
なお、上記以外のクライアント装置10の機能構成は、
図6に示す第1の実施形態に係るクライアント装置10の構成と同様なので、ここでは詳細な説明は省略する。
【0299】
また、
図22において、管理ツール630に含まれる機種情報管理部621は、
図2に示す第2の実施形態に係るクライアント装置10と同様に、インストーラ1210に含まれているものであっても良い。
【0300】
<処理の流れ>
続いて、第4の実施形態に係る情報処理方法の処理の流れについて説明する。
【0301】
(拡張設定部の処理)
図23は、第4の実施形態に係る拡張設定部の処理の例を示すフローチャートである。拡張設定部313は、例えば、インストーラによって拡張設定部313が呼び出されたときや、ファイルの印刷を行うために印刷設定を行う画像設定画面が呼び出されたとき等に、
図23に示す処理を実行する。また、
図23に示す処理は、例えば、画像形成装置20のデバイス設定を行うプロパティ画面を表示するために、拡張設定部313が呼び出されたとき等に実行される。なお、
図23に示す処理は、拡張設定部313が呼び出されたときに必ず実行する必要はなく、ユーザからUIを介して機種指定をされたときや、双方向通信によって機種の変更を検知したとき等に実行すれば良い。
【0302】
ステップS2301において、拡張設定部313の機器情報取得部703は、クライアント装置10に接続される画像形成装置20の機種名(又は機種ID)等の情報を取得する。なお、この処理は、
図10のステップS1001の処理と同様なので、ここでは詳細な説明を省略する。また、機器情報取得部703は、取得した機種名等の情報を、第2の記憶領域420の機種名643に記憶する。
【0303】
好ましくは、このとき、機器情報取得部703は、クライアント装置10に接続される画像形成装置20のオプション情報を取得し、取得したオプション情報を、例えば、第2の記憶領域420のオプション情報644に記憶する。
【0304】
ステップS2302において、拡張設定部313の機種情報取得部704は、第1の記憶領域410に、機器情報取得部703が取得した機種名等に該当する画像形成装置20の機種情報があるかを判断する。
【0305】
第1の記憶領域410に、該当する画像形成装置20の機種情報がある場合、機種情報取得部704は、処理をステップS2303に移行させる。一方、第1の記憶領域410に、該当する画像形成装置20の機種情報がない場合、機種情報取得部704は、処理をステップS2304に移行させる。
【0306】
ステップS2303に移行すると、機種情報取得部704は、第1の記憶領域410の機種情報2201から、取得した機種名等に該当する画像形成装置20(クライアント装置10に接続される画像形成装置20)の機種情報を取得する。
【0307】
一方、ステップS2304に移行すると、機種情報取得部704は、第2の記憶領域420の機種情報(追加)2202から、取得した機種名等に該当する画像形成装置20の機種情報を取得する。
【0308】
なお、
図23のステップS2302〜S2304に示すように、機種情報取得部704が、第1の記憶領域410から優先的に機種情報を取得する処理は一例である。
【0309】
例えば、機種情報取得部704は、ステップS2302において、第2の記憶領域420に、取得した機種名等に該当する画像形成装置20の機種情報があるかを判断し、第2の記憶領域420から優先的に機種情報を取得するものであっても良い。これにより、例えば、第1の記憶領域410に記憶された機種情報2201に既に登録されている画像形成装置20であっても、機種情報(追加)2202を第2の記憶領域420に記憶させることにより、機種情報を更新することができるようになる。
【0310】
ステップS2305において、拡張設定部313の機種情報取得部704は、ステップS2302〜S2304で機種情報を取得した記憶領域から、取得した機種名等に該当する画像形成装置20のマッピングデータを取得する。
【0311】
ステップS2306において、拡張設定部313の記憶制御部706は、取得したマッピングデータを、第2の記憶領域420のマッピングテーブル646に適用(記憶)する。
【0312】
上記の処理により、クライアント装置10は、接続された画像形成装置20の機種情報が、機種情報2201に含まれていない場合であっても、第2の記憶領域に記憶した機種情報(追加)2202を用いて、処理を実行することができるようになる。
【0313】
なお、
図23のステップS2305、S2306に示す処理は好適な一例であり、必須ではない。例えば、ステップS2305、S2306に示す処理を行わない場合、設定制御部323、及びストアデバイスアプリ304等は、マッピングデータを使用する際に機種名643を参照し、機種名643に対応するマッピングデータをその都度取得すれば良い。
【0314】
(印刷設定情報の出力処理)
図24Aは、第4の実施形態に係る印刷設定情報を出力する処理の例を示すフローチャートである。この処理は、例えば、
図11Aに示す第1の実施形態に係る印刷設定情報を出力する処理に対応している。
【0315】
ステップS2411において、プリンタドライバ303の設定制御部323は、デスクトップアプリ321等から、印刷設定情報を受付する。
【0316】
ステップS2412において、設定制御部323は、第2の記憶領域420に記憶した機種名643を取得し、機種情報2201、及び機種情報(追加)2202の中から、取得した機種名643に対応する機種情報を特定する。
【0317】
ステップS2413において、設定制御部323は、特定した機種情報を取得する。
【0318】
ステップS2414において、設定制御部323は、取得した機種情報に基づいて、機種共通情報の設定値の妥当性を評価する。機種共通情報の妥当性の評価は、各画像形成装置20に共通する、機種に依存しない印刷設定情報の設定値が妥当な値かどうかを確認することで行う。機種共通情報の例として、例えば、集約設定等が挙げられる。
【0319】
好ましくは、設定制御部323は、確認結果が妥当でない場合、印刷設定情報の矛盾を解決する禁則処理(例えば、妥当でない設定項目や設定値等を変更する、削除する等)を実行し、機種共通の印刷設定情報の設定項目や設定値等の矛盾を解消させる。
【0320】
ステップS2415において、設定制御部323は、取得した機種情報に基づいて、機種個別情報の設定値の妥当性を評価する。機種個別情報の妥当性の評価は、プリントスキーム(設定項目)毎に、オプション情報や、フィニッシング機能等が、選択されている画像形成装置20の能力を超えないことを確認することで行われる。
【0321】
好ましくは、設定制御部323は、確認結果が妥当でない場合、印刷設定情報の矛盾を解決する禁則処理(例えば、妥当でない設定項目や設定値等を変更する、削除する等)を実行し、機種に依存する印刷設定情報の設定項目や設定値等の矛盾を解消させる。
【0322】
ステップS2416において、設定制御部323は、妥当性の評価を終えた印刷設定情報をデスクトップアプリ321に返却し、処理を終了する。
【0323】
(印刷能力情報の出力処理)
図24Bは、印刷能力情報を出力する処理の例を示すフローチャートである。この処理は、例えば、
図11Bに示す第1の実施形態に係る印刷能力情報を出力する処理に対応している。
【0324】
ステップS2421において、設定制御部323は、デスクトップアプリ321等から、印刷能力情報の構築命令を受付する。
【0325】
ステップS2422において、設定制御部323は、第2の記憶領域420に記憶した機種名643を取得し、機種情報2201、及び機種情報(追加)2202の中から、取得した機種名643に対応する機種情報を特定する。
【0326】
ステップS2423において、設定制御部323は、特定した機種情報を取得する。
【0327】
ステップS2424において、設定制御部323は、印刷能力情報や言語情報を構築する。印刷能力情報の構築では、プリントスキーム毎に設定値の選択肢を構築する。また、言語情報は、OS302や、デスクトップアプリ321のロケール(国や地域の設定)に基づいて、各設定値の言語情報を構築する。設定値の言語情報としては、例えば、「ステープル、右上」等の情報である。
【0328】
ステップS2425において、設定制御部323は、第2の記憶領域420に記憶されているオプション情報644に基づいて、ステップS2424で構築した印刷能力情報を補正する。能力情報の補正は、設定値の選択肢の追加や削除等である。
【0329】
ステップS2426において、設定制御部323は、補正した印刷能力情報を、デスクトップアプリ321に返却して、処理を終了する。
【0330】
図24A、24Bに示す処理により、設定制御部323は、第2の記憶領域420に記憶された機種名643に基づいて、クライアント装置10に接続される画像形成装置20に応じた機種共通情報、機種個別情報、印刷能力情報等を構築することができる。
【0331】
(ストアデバイスアプリによる表示処理)
図24Cは、ストアデバイスアプリによる表示処理の例を示すフローチャートである。この処理は、例えば、
図11Cに示す第1の実施形態に係るストアデバイスアプリによる表示処理に対応している。
【0332】
ステップS2431において、ストアデバイスアプリ304は、設定制御部323から、印刷設定情報を受付する。
【0333】
ステップS2432において、ストアデバイスアプリ304は、第2の記憶領域420に記憶した機種名643を取得し、機種情報2201、及び機種情報(追加)2202の中から、取得した機種名643に対応する機種情報を特定する。
【0334】
ステップS2433において、ストアデバイスアプリ304は、特定した機種情報を取得する。
【0335】
ステップS2434において、ストアデバイスアプリ304は、クライアント装置10に接続する画像形成装置20に対応する印刷能力情報を、設定制御部323を用いて作成し、印刷設定情報の妥当性を評価する。
【0336】
ステップS2435において、ストアデバイスアプリ304は、クライアント装置10に接続する画像形成装置20の印刷能力情報に対して、印刷設定情報を反映した印刷設定画面を構築して表示し、処理を終了する。
【0337】
上記の処理により、ストアデバイスアプリ304は、クライアント装置10に接続されている画像形成装置20に応じた印刷設定画面(第2の印刷設定画面)を表示することができる。
【0338】
以上、本実施形態によれば、設定制御部323、及びストアデバイスアプリ304は、第2の記憶領域に第2の機種情報645が記憶されていない場合でも、機種名643に基づいて画像形成装置20の機種情報を取得し、所定の処理を実行することができる。