JP2019128856A - プリンタードライバーのカスタマイズツール - Google Patents
プリンタードライバーのカスタマイズツール Download PDFInfo
- Publication number
- JP2019128856A JP2019128856A JP2018011030A JP2018011030A JP2019128856A JP 2019128856 A JP2019128856 A JP 2019128856A JP 2018011030 A JP2018011030 A JP 2018011030A JP 2018011030 A JP2018011030 A JP 2018011030A JP 2019128856 A JP2019128856 A JP 2019128856A
- Authority
- JP
- Japan
- Prior art keywords
- driver
- customization
- printer
- module
- customized
- 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.)
- Pending
Links
Landscapes
- Stored Programmes (AREA)
Abstract
【課題】カスタマイズツールでカスタマイズドライバーセットを作成する場合、INFファイルを直接指定しても、カスタマイズ情報を反映したプリンタードライバーをインストールする方法を提供すること。【解決手段】ドライバーインストーラーを含まないINF版のカスタマイズドライバーセットを作成し、さらにインストールしたプリンタードライバーに対して、カスタマイズ情報を登録するコマンドセットをファイルに出力して、ドライバーセットに追加する。【選択図】図8
Description
本発明は、プリンタードライバーのカスタマイズに関する。
従来から、コンピューター上で作成した文書や図といったファイルをアプリケーションから印刷する際には、プリンタードライバーを使って描画データをページ記述言語に変換しプリンターに送信するのが一般的である。またそのとき、用紙の種類や両面、カラー、給紙方法といった印刷設定は、アプリケーションが持つ印刷設定用のユーザーインターフェースか、プリンタードライバーが提供する印刷設定用のユーザーインターフェース(以降、UIとも呼ぶ)を使って設定を行う。また、印刷に関する多様な要求に対応するため、各種の印刷設定の初期値を変更した個別対応のプリンタードライバーのリリースが必要とされている。
上記要望に対してスピーディーに対応するために、インストール前のプリンタードライバーの設定値を変更可能なカスタマイズツールが存在する。この種のカスタマイズツールでは、例えば、プリンタードライバーの設定値の初期値を工場出荷値とは別の設定値に変更できる。また、カスタマイズツールでは、インストールする際に選択する機種を限定することができ、ユーザーがインストール時に適切な機種を選択させることも可能である。
また、近年のWindows(登録商標)の方針変更に伴い、デジタル署名がないINFファイルでプリンタードライバーをインストールすると必ずエラーになるようになった。ここでいうINFファイルとはプリンタードライバーのインストール用の設定が記載されている設定ファイルのことを指す。つまり、INFファイルの記述を変更した場合、変更したINFファイルに対するデジタル署名の申請が必要になる。
これを回避するために、カスタマイズツールは、カスタマイズしたドライバーセットを作成する際に、INFファイルや、元のドライバーセットの各ファイルを変更しないで、カスタマイズ情報を別のファイルとして保存する。プリンタードライバーのインストーラーは、ドライバーのインストール時に、その別のファイルに保存したカスタマイズ情報を参照して、カスタマイズドライバーのインストールを行う。つまり、通常のドライバーが完了した後、カスタマイズ情報を参照して、インストールが完了したプリンタードライバーに対して、カスタマイズ情報を登録する。こうすることにより、カスタマイズによりデジタル署名とドライバーセットで整合性が崩れることを防止する。そうすることにより、デジタル署名の整合性の崩れたドライバーのインストールをさせないOSを備えた情報処理装置であっても、カスタマイズされたドライバーをインストールさせることができる(特許文献1参照)。
特許文献1では、インストーラーが通常のドライバーのインストール後にカスタマイズ情報を登録することによって、カスタマイズドライバーのインストールを実現していた。ただし、プリンタードライバーのインストール方法として、インストーラーによるインストールとは別に、INFファイルを直接指定してインストールする方法も存在する。この方法はOSがプリンタードライバーをインストールする標準の方法であり、各プリンターベンダーのインストーラーを使用しないので、コマンドラインからのインストールも可能である。そのため、情報処理装置の環境構築を行う際、他のアプリと同時にプリンタードライバーもインストールが行えるため、自動的に環境構築を行う方法として有効な方法と言える。ただし、INFファイルを直接指定してインストールすると、インストーラーでカスタマイズ情報を登録していた処理が行えない。
本発明は、上記の問題を鑑み、INFファイルを直接指定してインストールしたプリンタードライバーに、カスタマイズ情報を反映させる方法を提供することを目的とする。ユーザーは、このINF版ドライバーセットでプリンタードライバーをインストールした後、このコマンドセットを起動することにより、カスタマイズドライバーを構築することが可能となる。
上記の目的を達成するために、本発明に係る情報処理装置は、
プリンターのモデルで構成するドライバーセット1052をカスタマイズするためのカスタマイズツール1053であって、
カスタマイズツール1053は、
INF版のドライバーセット1052を作成するかどうかを選択させる選択手段6103と、
前記選択手段で作成するが選択された場合(S703のはい)、ドライバーインストーラーを含まないINF版のカスタマイズドライバーセットを作成する手段(S705)と、
前記INF版のカスタマイズドライバーセットを作成する場合、さらにカスタマイズ情報を登録するコマンドセットをファイルに出力する手段(S706)と、
を有することを特徴とする。
プリンターのモデルで構成するドライバーセット1052をカスタマイズするためのカスタマイズツール1053であって、
カスタマイズツール1053は、
INF版のドライバーセット1052を作成するかどうかを選択させる選択手段6103と、
前記選択手段で作成するが選択された場合(S703のはい)、ドライバーインストーラーを含まないINF版のカスタマイズドライバーセットを作成する手段(S705)と、
前記INF版のカスタマイズドライバーセットを作成する場合、さらにカスタマイズ情報を登録するコマンドセットをファイルに出力する手段(S706)と、
を有することを特徴とする。
本発明に係る情報処理装置によれば、デジタル署名を崩すことなくINF版のカスタマイズドライバーセットを提供することが可能となる。
以下、本発明を実施するための形態について図面を用いて説明する。
図1(A)に、本発明に係るシステムの概略構成をあらわすブロック図を示す。
このシステムは、クライアントコンピュータ100と、ページ記述言語(以下PDLと表記)形式の印刷データを受信し印刷を行なうことが可能なプリンター200を備える。これらはローカル・エリア・ネットワーク(LAN)に代表されるネットワーク300を介して接続され通信可能である。なおプリンター200は印刷機能のみを備えるシングルファンクションプリンタ(SFP)でも、印刷機能、スキャン機能、複写機能を備えるマルチファンクションプリンター(MFP)でも構わない。
図1(B)は、本発明の実施形態を適用可能なクライアントコンピュータ100のハードウェア構成を示すブロック図である。
CPU101は主記憶装置102のROM1021あるいはRAM1022あるいは補助記憶装置105に格納されたプログラムに従って装置全体の制御を行う。RAM1022はCPU101が各種処理を行う際のワークエリアとしても使用される。補助記憶装置105はアプリケーション(以下アプリと表記)1051や、プリンター用のドライバーセット1052や、ドライバーセット1052のカスタマイズツール1053や、オペレーティングシステム(OS)1054等を記憶する。アプリケーション1051(アプリ)や、ドライバーセット1052や、カスタマイズツール1053は、不図示のCD−ROMやUSBメモリあるいはネットワーク300を経由して補助記憶装置105に追加することが可能である。
キーボード108やマウス・タッチパネルなどに代表されるポインティングデバイス109などの入力機器は、入力I/F103を通じて、ユーザーがコンピューターに対して各種指示を与えるためのデバイスである。出力I/F104は、データを外部に出力するためのインターフェースであり、モニター110などの出力機器に対してデータを出力する。プリンター200とは、通信I/F106を通じて接続されるネットワーク300を通して接続されている。また107は共通データシステムバスで、クライアントコンピュータ100を構成するハードウェアモジュール間でそれぞれのデータのやりとりに使われる。
図2はクライアントコンピュータにおける印刷処理システムのブロック図である。
ドライバー印刷システムはXPS(XML Paper Specification)ファイルフォーマットをスプールデータとして使用し、印刷を行うシステムである。ドライバー印刷システムは、オペレーティングシステム1054上で動作している。プリントマネージャ218、GDItoXPS変換モジュール207、フィルタパイプラインマネージャ212、ポートモニター219はオペレーティングシステム1054に含まれるモジュールである。GDIとはプリンターの印刷イメージの生成を行うグラフィックスコンポーネントであり、GDItoXPS変換モジュール207は、GDIで描画されたデータをXPSデータへ変換する機能を持つ。
フィルタパイプラインマネージャ212は、XPS印刷パスの特徴であるフィルタ印刷処理の管理を行うモジュールである。XPS印刷パスとは、XPSファイル形式のままプリンタードライバー10522に渡され、そのファイルを受信したプリンタードライバー10522がページ記述言語などに置き換えてプリンター200に出力することができる。ポートモニター219は、デバイスにアクセスするプリントマネージャ218とドライバー間で通信を制御することができ、プリンタードライバー10522はポートモニター219を経由して印刷処理を行う。また、プリントマネージャ218はポートモニター219を通して、プリンター200と通信しAutoConfigを行う。
GDItoXPS変換モジュール207、コンフィギュレーションモジュール208、フィルタパイプラインマネージャ212は、プリンタードライバー10522に含まれている。ただし、オペレーティングシステム1054から提供されているプリンタードライバー10522のモジュールという位置づけとする。コンフィギュレーションモジュール208は、プリンタードライバー10522が提供する印刷設定編集モジュール2081を使用して印刷設定情報を編集することができる。さらに、印刷設定編集モジュール2081は、JavaScript(登録商標)と呼ばれるスクリプト言語で記載され、プリンタードライバーが提供するPropertyBag2082、2083を利用して印刷設定情報を編集する。PropertyBagとは、ここでは以下2種類のメモリ領域のことを指す。すなわち、プリンターの機種依存情報として利用するためのDriverPropertyBag2082と呼ばれるデータ群と、プリントキューに紐づいたQueuePropertyBag2083と呼ばれるデータ群が保持された領域のことである。
DriverPropertyBag2082は、ドライバーセット内に存在するプリンターの機種依存データであり、プリンタードライバーインストール後にOS内の特定の領域に読み取り専用としてデータ群が保持される。
QueuePropertyBag2083は、Key−Valueペアのxml定義ファイルをOSに登録することで利用することが可能であり、Valueに関して一定の権限上で編集が可能である。また、印刷設定定義ファイルであるGPDにもQueuePropertyBag2083の定義を記載することができる。本実施例では、通常のインストール処理を行った後に、カスタマイズ情報105232をQueuePropertyBag2083に登録することにより、カスタマイズドライバーを実現する。カスタマイズ情報105232をQueuePropertyBag2083に登録する処理の詳細については、後述するので参照されたい。
プリンタードライバー10522とフィルタパイプラインマネージャ212の各フィルタは、図1の補助記憶装置105にプリンタードライバー10522として格納されている。GDI印刷アプリケーション201とXPS印刷アプリケーション202は、図1(B)の補助記憶装置105にアプリ1051として格納されている。以下、GDI印刷アプリケーションをGDIアプリ、XPS印刷アプリケーションをXPSアプリと略す。ユーザーはキーボード108やタッチパネル/マウスなどに代表されるポインティングデバイス109などといった入力装置を使用して、出力装置のモニター110に映し出されたGDIアプリ201、もしくはXPSアプリ202から印刷処理を実行する。印刷処理はプリンターの選択、印刷設定の作成、描画データの変換と3つの処理を順番に行うことで実行する。
まずは、印刷したいプリンター200の選択を行う。ユーザーから見るとプリンター200の選択は、印刷を実行するプリンター200に対応したプリンタードライバー10522を選択することと同義である。10522の選択には、不図示のプリントキューを利用する。
次に印刷設定を作成する。印刷設定はまず、アプリケーション1051が印刷設定用のメモリ領域をRAM1022に確保する。そして、アプリ1051は、プリンタードライバー10522のコンフィギュレーションモジュール208を呼び出して、印刷設定データを作成して格納する。GDIアプリ201では印刷設定データとしてバイナリのDEVMODE203を用い、XPSアプリ202ではマークアップ言語のXMLで記載されたPrintTicket204を用いる。DEVMODE203は、オペレーティングシステム1054が定義する標準領域とプリンタードライバー10522が独自で定義する拡張領域を持つ。PrintTicket204は、XML形式で記述された印刷設定情報で、標準領域と拡張領域は名前空間によって記載が分かれている。印刷設定データには機種固有の情報も含まれているので、コンフィギュレーションモジュール208は、機種依存ファイル(GPD)209を利用して、印刷設定データを作成する。このDEVMODE203もしくはPrintTicket204が印刷設定を保持しており、アプリケーションが直接、値を書き換えることで印刷設定を変更する。機種依存ファイル(GPD)209は、GPDと呼ばれる印刷設定定義ファイルを指す。
またこの機種依存ファイル(GPD)209である印刷設定定義ファイルには、デバイスの能力やデバイスのオプション構成、プリントキューに紐づくQueuePropertyBag2083の定義を記載することができる。
これらプリンター200に依存した専用の設定は、プリンターエクステンション210が持つユーザーインターフェースで設定する。プリンタードライバー10522は、ユーザーインターフェースの設定に従い、DEVMODE203もしくはPrintTicket204のプリンター200に依存した設定を変更する。PrintTicket204は印刷設定がXML形式で記述されているので、XPSアプリ202がすべての設定値を直接変更して書き換えることは容易だが、プリンターエクステンション210のユーザーインターフェースを使って設定変更してもかまわない。このプリンターエクステンション210は、プリンタードライバー10522の一種ではあるが、プリンタードライバー10522とは別のアプリケーションとしてインストールが行われる。
印刷設定は文書印刷のたびに作成するが、プリンター200のオプション機器や、ユーザーごとの環境設定など設定を保持しておきたいものは、プリンターエクステンション210がオペレーティングシステム1054のレジストリデータベース205に保存する。レジストリデータベース205が使用できないときは、プリンターエクステンション210は、アプリケーションデータ220に設定を保存する。印刷設定のデフォルト値はオペレーティングシステムのプリントマネージャ218が、レジストリデータベース205に保存する。レジストリデータベース205や、アプリケーションデータ220は、補助記憶装置105に保存される。
印刷設定が確定したら、ユーザーはアプリケーションから印刷処理を実行する。GDIアプリ201から印刷する場合は、OSのモジュールであるGDItoXPS変換モジュール207に描画データが送られ、XPSスプールファイル206が作成される。このときGDItoXPS変換モジュール207はコンフィギュレーションモジュール208を呼び出し、印刷設定をDEVMODE203からPrintTicket204に変換する。変換する際には、コンフィギュレーションモジュール208によって、印刷設定編集モジュール2081が使用される。
一方、XPSアプリ202から印刷する場合は、XPSファイルをXPSアプリ自身が生成するのと、オペレーティングシステム1054がXPSアプリからの描画命令に応じてXPSファイルを生成するのと2通りの方法がある。どちらの方法であっても、印刷の途中でXPSスプールファイル206を生成する。
GDIアプリ201又はXPSアプリ202から印刷の指示が行われることでXPSスプールファイル206が生成されたら、プリントフィルタパイプライン211に処理が渡される。プリントフィルタパイプライン211は複数のフィルタを通すことで印刷が行われる仕組みで、フィルタコンフィグレーションファイル216でフィルタの数や順番を制御する。本実施形態では以下の3つのフィルタで構成されている。一つ目はプリンター200と通信する機構を持つ通信フィルタ213。二つ目は製本印刷やスタンプ、ページ集約などのレイアウト処理を行う機構を持つレイアウトフィルタ214。三つ目はXPSスプールファイル206をレンダリングしてPDLに変換する機構を持つレンダラフィルタ215である。PDLとはPageDescriptionLanguage(ページ記述言語)の略称である。PDLデータは印刷処理のスケジュール管理を行うプリントマネージャ218で管理され、キュー(待ち行列)に印刷ジョブが次々と登録される。プリンター200が印刷できる状態になったら、キューに登録した順にポートモニター219を通して送信する。このようにして、アプリケーションからの印刷データをPDLデータに変換することがプリンタードライバーの主な役目であり、プリンターを通して印刷処理が行われる。
図3(A)はドライバーセット1052のモジュールおよびファイルの構成を示す図である。
ドライバーセット1052は、インストーラー10521とプリンタードライバー10522で構成される。さらにプリンタードライバー10522は、インストール用の設定が記載されているINFファイル105221とドライバーUIモジュール105222とグラフィックスモジュール105223および機種依存ファイル105224とで構成される。
インストーラー10521は、INFファイル105221の記載を元に、プリンタードライバー10522をOS1054に設置する実行モジュールである。ユーザーからのプリンタードライバー10522のインストール要求をうけて、OS1054はインストーラー10521を補助記憶装置105からRAM1022にロードしCPU101を用いて実行する。本実施例ではプリンタードライバー10522はSFPやMFPなど複数のモデルに対応しており、INFファイル105221に複数のモデルに関する設置方法の情報が記載されている。プリンタードライバー10522設置の際は、ユーザーによるインストール対象のモデル選択や出力先のプリンター200の指定を受け付けインストールが実行される。
図1(A)の示すように、システム内に、複数台のプリンター200や、複数種類のプリンターのモデルが存在する場合がある。出力先のプリンター毎に、プリンタードライバー10522対応するモデルや印刷設定の初期値および印刷ジョブをそれぞれ管理する必要がある。そのためOS1054は、設置の際にプリンタキューと呼ばれる出力先のプリンター200を表すオブジェクトを生成しOS1054内に保持し、このプリンタキューに紐づけてプリンタードライバー10522の構成モジュールや印刷設定の初期値を管理する。OS1054にプリンタードライバー10522が設置されると、アプリ1051からの印刷設定要求や印刷要求をプリンタードライバー10522のモジュールで処理可能になり、対応するプリンター200で印刷することが可能になる。
アプリ1051からのプリンターへの印刷設定を受けた場合、OS1054は対応するドライバーUIモジュール105222をRAM1022にロードしCPU101で実行する。その実行をうけて印刷設定UI3000をモニター110に表示する。印刷設定UI3000の操作画面の一例を、図4(A)と図4(B)に示す。印刷設定UI3000は、複数のタブで構成されており、出力先の印刷設定とデバイス設定を受け付ける。図4(A)の [基本]タブ3100は印刷設定のためのタブであり、両面印刷やカラー印刷などの印刷設定のためのさまざまUIコントロールが配置されている。UIコントロールへのキーボード108やポインティングデバイス109経由の操作を受け、ドライバーUIモジュール105222は現在の印刷設定を生成する。図4(B)の[デバイスの管理]タブ3200は、排紙オプションや両面ユニットなどのデバイスオプションを管理するタブである。
さまざまなユーザー要望に応えるために、プリンタメーカーは、排紙オプションや両面ユニットなどのプリンター200に装着可能なハードェアをデバイスオプションとして販売する。例えば印刷出力物にステープルを行うハードウェアであるフィニッシャーは高価である。そのため一般的にフィニッシャーをプリンターの標準構成とは別売のデバイスオプションと販売する。ステープルするためには対応をするフィニッシャーをプリンター200に装着する必要がある。また両面印刷機能を滅多に使わないユーザーのために、低価格帯のプリンターでは、標準構成のプリンターには物理的な両面機構を含まず、デバイスオプションとして両面ユニットを装着した際にのみ、両面印刷が可能になるというプリンターも存在する。これらの状況に対応するため、現在の出力先のプリンター200でどのデバイスオプションが装着されているかを管理する必要がある。
プリンター200と通信可能な場合、現在のデバイスオプションの設定は、デバイス情報取得ボタン3202を押下することにより、ネットワーク300経由でプリンター200より取得することが可能である。取得されたデバイス情報を元にドライバーUIモジュール105222は、現在のデバイスオプションの設置情報をデバイスオプション一覧3201に反映する。もしプリンター200と通信できない場合は、デバイスオプション一覧3201の各項目の選択を受け付けることにより、UIコントロール3203が変更され、手動で変更することも可能である。[デバイス]タブ3200でのデバイスオプションの設定をうけて、ドライバーUIモジュール105222は、[基本]タブ3100で使えない印刷設定のUIコントロールを選択できない状態で表示とする。印刷設定UI3000の各タブで各種印刷設定を設定されたのち、最終的に“OK”のボタン3001の押下をうけた場合、ドライバーUIモジュール105222はOS1054に印刷設定とデバイスの設定を出力し、印刷設定要求を終了する。
カスタマイズツール1053は、ドライバーセット1052の設置直後の印刷設定をカスタマイズするツールである。図3(B)にカスタマイズツール1053のモジュールおよびファイルの構成図を示す。カスタマイズツール1053は、ツール10531と、ツール用データ10532と、OS処理のエミュレータである疑似APIモジュール10533で構成される。通常、ドライバーUIモジュール105222は、OS1054に含まれるコンフィギュレーションモジュール208からのみ起動される仕組みになっている。カスタマイズツール1053は、このOS1054の処理をエミュレートする疑似APIを使って、ドライバーUIモジュール105222を起動して、カスタマイズ情報105232を生成する設定画面を表示する。カスタマイズされたドライバーセット1052を用いて、プリンタードライバー10522をOS1054にインストールすると工場出荷時に決められた印刷設定UI3000での初期印刷設定と異なる印刷設定初期値に変更することができる。カスタマイズされたドライバーセット1052の設置後すぐに印刷設定UI3000を開くことにより、カスタマイズされた状態を確認することができる。例えば、両面設定:オンや、カラーモード:モノクロおよびステープル:左上などプリンタードライバー10522の工場出荷時とは異なる初期値をインストール後のプリンタードライバー10522に適用することができる。
図3(A)のドライバーセット1052を元に、カスタマイズツール1053でカスタマイズされたドライバーセット1052のモジュールおよびファイルの構成図を図3(C)に示す。図3(A)と図3(C)の違いは、カスタマイズ設定ファイル10523のみである。カスタマイズ設定ファイル10523は、さらにツール設定情報105231とカスタマイズ情報105232で構成される。ツール設定情報105231とは、カスタマイズの元となったドライバーセット1052のバージョンや、カスタマイズツール1053のバージョンなど、直接カスタマイズには影響しない情報を格納する。カスタマイズ情報105232には、ユーザーが設定した印刷設定初期値情報などを格納する。カスタマイズ後にツール10531は、ドライバーセット1052にカスタマイズ設定ファイル10523を追加する。カスタマイズされたドライバーセット1052を使ってドライバーを設置すると、インストーラー10521は、カスタマイズ設定ファイル10523に従ってプリンタキューにカスタマイズ設定を適用する。この適用により工場出荷時とは異なる初期印刷設定をインストール後のプリンタードライバー10522の初期値として適用する。
図5(A)のフローチャートを用いて、カスタマイズツール1053でのカスタマイズ処理を説明する。この処理は、ユーザーの指示をうけてOS1054がカスタマイズツール1053のツール10531を補助記憶装置105からRAM1022にロードしCPU101に実行を依頼することにより開始される(S400)。なお、本フローチャートの処理の主体は特に断らない限りツール10531である。
まずツール10531は、図6(A)に示す使用許諾書ダイアログ5000をモニター110に表示する(S401)。ポインティングデバイス109を用いたユーザーからの“はい”ボタン5001の押下をうけて処理を進める。次に図6(B)に示すカスタマイズ対象のモデル選択ダイアログ5100を表示する(S402)。
モデル選択ダイアログ5100はカスタマイズの元となるドライバーセット1052のフォルダパス指定と、そのドライバーセット1052が対応するモデルのうちカスタマイズ対象とするモデルを選択するダイアログである。参照ボタン5101の押下をうけると、図6(C)に示すOS標準のフォルダー指定ダイアログ5200が表示される。この表示は、ツール10531がOS1054に依頼することでフォルダー指定ダイアログ5200の表示がモニター110に表示され、ユーザーによるフォルダーの指定を受け付ける。ポインティングデバイス109によるユーザーからの指定を受け付けると、OS1054は、カスタマイズの元となるドライバーセット1052のフォルダパスの情報をツール10531に返却する。ツール10531は、フォルダパスの位置に存在するドライバーセット1052がカスタマイズツール1053で対応しているものかを確認する。ドライバーセット1052の構成やINFファイル105221の記載およびドライバーUIモジュール105222のExport関数の有無をもとに確認処理を行う。上記の確認処理や、またドライバーセット1052の解凍処理、およびバックアップのファイルコピー処理に時間がかかる場合がある。そのため処理中は、図6(D)に示す処理の進行状況を示すプログレスダイアログ5110を、モデル選択ダイアログ5100の手前に表示する。ツール10531がドライバーセット1052をカスタマイズ可能と判断した場合には、図6(E)に示すカスタマイズ対象のモデル選択ダイアログ5100をモニター110に表示する。テキストボックス5102に、指定されたフォルダパスが表示され、またリストボックス5103に、指定されたフォルダパスのドライバーセット1052で対応するモデルの名称が列挙されている。リストボックス5103の各モデル名の前には、チェックボックス5104が存在する。カスタマイズ対象にしたいモデルのチェックボックス5104を一つ以上チェックすると、“次へ“のボタン5105が操作可能になる。その押下をうけてツール10531は、次に処理を進める。チェックボックス5104にチェックを付けたモデルがカスタマイズ対象に指定されたモデル群となる。ツール10531は、図5(A)の詳細カスタマイズ設定処理を実行する(S403)。
この処理の詳細を図5(B)のフローチャートを用いて説明する。
まずツール10531は図7(A)に示す詳細カスタマイズ設定ダイアログ6000を表示する(S411)。詳細カスタマイズ設定ダイアログ6000はカスタマイズ対象に指定されたモデル群を表示するリストビュー6001を持っている。リストビュー6001では、ひとつのモデルが選択状態になっており、ポインティングデバイス109により、選択状態のモデルを変更可能である。またリストビュー6001では、印刷設定、お気に入り、スタンプ、デバイス設定/管理者設定のカスタマイズ情報105232を示す。該当項目でカスタマイズが行われた場合は、“変更あり”という文字が表示される。詳細カスタマイズ設定ダイアログ6000はユーザーからの操作を受け付け(S412)、リストビュー6001で一つのモデルを選択状態で、設定ボタン6002が押下されたかどうかを判断する(S413)。設定ボタン6002が押下されたと判断すると(S413の“はい”)、詳細カスタマイズのために、図4(A)に示した選択状態のモデルの印刷設定UI3000を表示する(S414)。印刷設定UI3000の表示処理は、ドライバーUIモジュール105222を、OS処理のエミュレータである疑似APIモジュール10533を用いて呼び出すことにより実現する。ドライバーUIモジュール105222の呼び出し時には、以前にカスタマイズしたカスタマイズ情報105232を受け渡す。このことにより、印刷設定UI3000の初期表示に、以前カスタマイズしたカスタマイズ情報105232を適用して表示することもできる。印刷設定UI3000への操作への応答および印刷設定の生成処理は、ドライバーUIモジュール105222が行う。印刷設定UI3000はドライバーセット1052に含まれるドライバーUIモジュール105222を用いるので、通常のアプリからの印刷設定の操作と同じ操作感で印刷設定を行え、その結果である印刷設定をカスタマイズ設定として入手することができる。印刷設定UI3000で、“OK”のボタン3001が押下されてUIが閉じられたかどうかを判断する(S415)。OK”のボタン3001が押下されてUIが閉じられた場合(S415の“はい”)、現在選択中のモデルに対して詳細カスタマイズ設定を保存する(S416)。印刷設定UI3000で、“OK”以外のボタンが押下されてUIが閉じられた場合(S415の“いいえ”)、何もしない。上記いずれかの手段で印刷設定UI3000が閉じられた後、詳細カスタマイズ設定ダイアログ6000に戻る。詳細カスタマイズ設定ダイアログ6000で、“次へ“のボタン6003が押下されたかどうかを判断する(S418)。“次へ“のボタン6003が押下された場合(S418の“はい”)、詳細カスタマイズ設定処理S403を終了する(S419)。
カスタマイズツール1053でのカスタマイズ処理の最後ステップとして、ツール10531は、カスタマイズされたドライバーセット1052の出力処理を実行する(S404)。ツール10531は、図7(B)に示すカスタマイズされたドライバーセット1052の作成ダイアログ6100を表示する。カスタマイズされたドライバーセット1052の作成ダイアログ6100は、カスタマイズされたドライバーセット1052の保存先フォルダパスを指定するための参照ボタン6101を持つ。参照ボタン6101の押下を受けると、図7(C)に示すOS標準のフォルダー指定ダイアログ6200が表示される。この表示は、ツール10531がOS1054に依頼することで行われ、OS1054が同ダイアログへのフォルダーの指定操作を受け付ける。ポインティングデバイス109による指定操作を受け付けると、OS1054はフォルダパスの情報をツール10531に返却する。OS1054から戻されたフォルダパスの情報をうけて、ツール10531は、保存先のテキストボックス6102に表示する。カスタマイズされたドライバーセット1052の作成ダイアログ6100は、INF版のドライバーセット1052を作成するかどうかを指定するためのコントロール6103をもつ。このコントロール6103を「ON」にすると、通常のインストーラー版ドライバーセット1052とは別に、INF版のドライバーセット1052を作成するようになる。本実施例では、カスタマイズされたドライバーセット1052の作成ダイアログ6100は、カスタマイズコードを指定するためにUIコントロール6104をもつ。このコントロールで受け付けたカスタムコードは、カスタマイズ設定ファイル10523のツール設定情報105231として、カスタマイズされたドライバーセット1052に保存される。プリンタードライバー10522の設置後は、印刷設定UI3000のバージョン情報ボタン3204を押下した際に表示されるダイアログで確認することができる。カスタマイズされたドライバーセット1052の作成ダイアログ6100の保存ボタン6105の押下をうけて、ツール10531は、図7(D)に示すカスタマイズされたドライバーセット1052の作成中ダイアログ6300をモニター110に表示する。カスタマイズされたドライバーセット1052の作成は、カスタマイズプリンタードライバー10522の元になったドライバーセットを保護するために丸ごとコピーし別のドライバーセット1052を作る必要がある。この処理は比較的時間を要する。そのためカスタマイズされたドライバーセット1052の作成中ダイアログ6300は、プログレスバー6301で処理の進行状況を表示する。最終的には、詳細カスタマイズ設定処理S403で生成したカスタマイズ設定を、カスタマイズ設定ファイル10523として、ドライバーセット1052に追加で保存する。これにより、図3(C)のようなカスタマイズされたドライバーセット1052が完成する。
本実施例において、カスタマイズツール1053は、さらに設定に応じて、図3(D)のようにインストーラーのないカスタマイズされたドライバーセット1052を作成することも可能とする。この場合はカスタマイズ情報105232を登録する専用のカスタマイズ情報登録用コマンドセット10524をドライバーセット1052に追加する。カスタマイズ情報登録用コマンドセット10524とは、カスタマイズ情報105232をインストールされたプリンタードライバー10522に関連付けられているQueuePropertyBag2083に登録する処理群である。通常の使用方法としては、カスタマイズツール1053で作成したINF版のドライバーセット1052をOS標準のプリンターのインストールを行った後、このカスタマイズ情報登録用コマンドセット10524を起動する。そうすることで、カスタマイズ情報登録用コマンドセット10524がインストールされたプリンタードライバー10522に関連付けられているQueuePropertyBag2083にカスタマイズ情報を登録する。登録されたカスタマイズ情報はプリンタードライバー10522のコンフィギュレーションモジュール2081やドライバーUIモジュール105222であるプリンターエクステンション210が参照し、カスタマイズドライバーとして動作する。図9はカスタマイズ情報登録用コマンドセット10524の記載内容の一例を示している。ここではPowerShellコマンドをベースとして、QueuePropertyBag2083への登録処理を行っているが、これに限定するものではない。カスタマイズされたドライバーセット1052の作成が完了した時点で、図7(D)の画面から図7(E)の画面に切り替わる。図7(E)のカスタマイズドライバーセットの作成完了通知ダイアログ6400は、インストーラー版ドライバーセットの保存先6401とINF版ドライバーセットの保存先6402をユーザーに通知する。さらに、INF版ドライバーセットを作成した場合、「通常のインストール完了後、必ずカスタマイズ情報登録用コマンドセット10524も起動して、カスタマイズ情報の登録を行う。」旨のメッセージを記載する。メッセージについては、本注意事項が伝わるのであれば、記載内容、記載方法はこれに限定はしない。
次に、図8のフローチャートを用いて、上記インストーラーのないカスタマイズされたドライバーセット1052を作成する処理の詳細については説明する。このフローチャートの処理の主体は特に断らない限りツール1053である。本処理は図5(A)のフローチャートで説明したS404の「カスタマイズドライバーセットの出力」の処理を詳細に説明するものである。
まず、図5(A)のフローチャートで説明したS403の「詳細カスタマイズ設定処理」が完了した後、参照元のカスタマイズされていないプリンタードライバー10522及びインストーラー10521を出力先にコピーする(S701)。さらにカスタマイズ設定ファイル10523を上記出力先に作成する(S702)。さらに、図7(B)のINF版ドライバーセット作成のコントロール6103がONかどうかをみて、INF版ドライバーセット1052を作成するかどうかを判断する(S703)。INF版ドライバーセット1052を作成しない場合(S703のいいえ)、出力処理完了通知画面6400を表示して(S707)、カスタマイズドライバーセットの出力処理を終了する(S708)。INF版ドライバーセット1052を作成する場合(S703のはい)、参照元のカスタマイズされていないプリンタードライバー10522を出力先にコピーする(S704)。さらにカスタマイズ設定ファイル10523を上記出力先に作成する(S705)。次に上記カスタマイズ情報105232をプリンタキューに紐づけられたQueuePropertyBag2083に登録するための処理を記載した、カスタマイズ情報登録用コマンドセット10524を作成し、上記出力先に保存する。その後、出力処理完了通知画面6400を表示して(S707)、カスタマイズドライバーセットの出力処理を終了する(S708)。
本実施例では、インストーラー版ドライバーセット1052とINF版ドライバーセット1052を同時に別々のメモリ領域に出力していたが、それぞれ出力するようにしてもよい。
本実施例では、インストーラー版ドライバーセット1052とINF版ドライバーセット1052を同時に別々のメモリ領域に出力していたが、それぞれ出力するようにしてもよい。
上記実施例により、デジタル署名を崩すことなくINF版のカスタマイズドライバーセットを提供することが可能となる。ユーザーは提供されたINF版のカスタマイズドライバーセットを使用して、次に示す通りインストールを行う。まず、標準の方法でプリンタードライバーをインストールする。その後、同じフォルダーに作成されているカスタマイズ情報登録用コマンドセット10524を起動する。カスタマイズ情報登録用コマンドセット10524は、同じフォルダー内に作成されているカスタマイズ設定ファイル10523を参照して、プリンタキューに紐づけられたQueuePropertyBag2083にカスタマイズ情報を登録する。ユーザー環境では、環境構築を自動的に行うために、まず、上記のINF版のインストールセットでプリンタードライバーのインストールを行う。さらに、その後コマンドプロンプト等でカスタマイズ情報登録用コマンドセットを実行することにより、カスタマイズドライバーのインストールが行えるようになる。
実施例1は、INF版ドライバーセット1052によるドライバーのインストール後、カスタマイズ情報登録用コマンドセット10524を起動することで、カスタマイズ情報105232を登録し、カスタマイズドライバーを実現した。
ただし、図10(A)に示す通り、ドライバーUIモジュール105222が、プリンタードライバー10522に含まれないドライバーセット1052が存在する。これは、V4ドライバーでは、ドライバーUIモジュール105222は単純な実行ファイルであり、プリンタードライバー10522の一部としなくてもよい仕様となっているためである。これに対応するために、通常ではドライバーインストーラー10521がプリンタードライバー10522のインストール処理を行った後、ドライバーUIモジュールインストーラー10525を起動する。起動されたドライバーUIモジュールインストーラー10525は、インストールされたプリンタードライバー10522に対して、適切なドライバーUIモジュール105222及び機種依存ファイル(UI関連)105251を特定のメモリ領域にコピーする。その後、コピーしたドライバーUIモジュール105222をプリンタードライバー10522に紐づける。ドライバーUIモジュール10521を紐づける具体的な方法に関しては、OS標準の方法として既の情報であり、ここでの説明は省略する。ドライバーインストーラー10525を使用したインストール処理を行った場合は問題ないが、カスタマイズドライバーでINF版ドライバーセット1052を提供した場合、以下のような問題が発生する。すなわち、INF版ドライバーセット1052をOS標準のインストール方法でインストールすると、ドライバーUIモジュール105222がインストールされないためOS標準UIであるツリービュー形式の印刷設定UIが表示されてしまうという問題である。カスタマイズドライバーは、UI仕様のカスタマイズが大半を占めており、ドライバーUIモジュール105222がインストールされてないプリンタードライバーだと、使用できないカスタマイズ機能が多く存在してしまう。
上記のことを鑑み、実施例2では、ドライバーUIモジュールがプリンタードライバーから分離されたINF版ドライバーセット1052のインストール時にも、自動的にドライバーUIモジュール105222をインストールする方法を提供する。
図11のフローチャートを用いて、上記の処理を説明する。処理S1000からS1006は、図8で説明したS700からS706までの処理と同じなので説明は省略する。
カスタマイズ情報登録コマンドセットファイル10524の出力を行った後、参照元のドライバーセット1052が、ドライバーUIモジュール105222分離版がどうかを調べる(S1007)。上記ドライバーUIモジュール105222分離版ではない場合(S1007のいいえ)、出力処理完了通知画面6400を表示して(S1010)、カスタマイズドライバーセットの出力処理を終了する(S1011)。上記ドライバーUIモジュール105222分離版だった場合(S1007のはい)、ドライバーUIモジュールインストーラー10525をINF版パッケージにコピーして追加する(S1008)。さらに、ドライバーUIモジュールをインストール済のドライバーに紐づけを行うようにドライバーUIモジュールインストーラー10525を起動する処理を上記カスタマイズ情報登録コマンドセットファイル10524に追加する(S1009)。図12はドライバーUIモジュールをインストールされたドライバーに紐づけを行う処理のコマンドセットの一例を示している。ドライバーUIモジュールをインストールされたドライバーに紐づけを行う処理は、特定のレジストリに該当するドライバーUIモジュールのパスを登録することで、OSがそのパスに登録されている実行モジュールを起動する。本実施例において、ドライバーUIモジュールをインストールされたドライバーに紐づけを行う処理は、PowerShellコマンドをベースとしているが、これに限定するものではない。その後、出力処理完了通知画面6400を表示して(S1010)、カスタマイズドライバーセットの出力処理を終了する(S1011)。
上記実施例により、ドライバーUIモジュール105222が、プリンタードライバー10522に含まれないドライバーセット1052のカスタマイズ時であっても、ドライバーUIモジュール105222を追加してインストールできるようになる。
100 クライアントコンピュータ、200 プリンター、300 ネットワーク、
1052 ドライバーセット、10521 インストーラー、
10522 プリンタードライバー、1053 カスタマイズツール、
10531 ツール
1052 ドライバーセット、10521 インストーラー、
10522 プリンタードライバー、1053 カスタマイズツール、
10531 ツール
Claims (4)
- プリンターのモデルで構成するドライバーセット1052をカスタマイズするためのカスタマイズツール1053であって、
カスタマイズツール1053は、
INF版のドライバーセット1052を作成するかどうかを選択させる選択手段6103と、
前記選択手段で作成するが選択された場合(S703のはい)、ドライバーインストーラーを含まないINF版のカスタマイズドライバーセットを作成する手段(S705)と、
前記INF版のカスタマイズドライバーセットを作成する場合、さらにカスタマイズ情報を登録するコマンドセットをファイルに出力する手段(S706)と、
を有することを特徴とする情報処理装置。 - 前記カスタマイズツール1053は、INF版のドライバーセットを作成する際に、ドライバーUIモジュールを追加する手段(S1008)と、前記ドライバーUIモジュールのインストール処理を追加した前記コマンドセットをファイルに出力する手段(S1009)と、をさらに有することを特徴とする請求項1に記載の情報処理装置。
- プリンターのモデルで構成するドライバーセット1052をカスタマイズするためのカスタマイズツール1053であって、
カスタマイズツール1053は、
INF版のドライバーセット1052を作成するかどうかを選択させる選択手段6103と、
前記選択手段で作成するが選択された場合(S703のはい)、ドライバーインストーラーを含まないINF版のカスタマイズドライバーセットを作成する手段(S705)と、
前記INF版のカスタマイズドライバーセットを作成する場合、さらにカスタマイズ情報を登録するコマンドセットをファイルに出力する手段(S706)と、
を有することを特徴とするプログラム。 - 前記カスタマイズツール1053は、
INF版のドライバーセットを作成する際に、ドライバーUIモジュールを追加する手段(S1008)と、
前記ドライバーUIモジュールのインストール処理を追加した前記コマンドセットをファイルに出力する手段(S1009)と、
をさらに有することを特徴とする請求項3に記載のプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018011030A JP2019128856A (ja) | 2018-01-26 | 2018-01-26 | プリンタードライバーのカスタマイズツール |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018011030A JP2019128856A (ja) | 2018-01-26 | 2018-01-26 | プリンタードライバーのカスタマイズツール |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019128856A true JP2019128856A (ja) | 2019-08-01 |
Family
ID=67472286
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018011030A Pending JP2019128856A (ja) | 2018-01-26 | 2018-01-26 | プリンタードライバーのカスタマイズツール |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2019128856A (ja) |
-
2018
- 2018-01-26 JP JP2018011030A patent/JP2019128856A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11016782B2 (en) | Information processing apparatus, information processing method, and storage medium | |
JP4863450B2 (ja) | デバイスドライバプログラムをカスタマイズするための情報処理装置及びデバイスドライバプログラムのカスタマイズ方法 | |
US8804172B2 (en) | Non-transitory computer readable recording medium stored with printer driver updating program and printer driver updating method | |
JP5857611B2 (ja) | 情報処理装置、システム、プログラム | |
US9442678B2 (en) | Information processing apparatus, information processing system and non-transitory computer-readable information recording medium | |
US20060158674A1 (en) | Printer driver, information processing device including the same, print control device, and print data generating method | |
US20190050173A1 (en) | Information processing apparatus, control method, and recording medium | |
RU2560793C2 (ru) | Аппарат обработки информации, способ управления и носитель информации | |
US20200004473A1 (en) | Information apparatus, controlling method for information apparatus, and storage medium | |
US8605316B2 (en) | Information processing apparatus and control method thereof, and storage medium | |
JP7278772B2 (ja) | 情報処理装置、制御方法及びアプリケーションプログラム | |
JP5361358B2 (ja) | 情報処理装置およびその制御方法、並びにプログラム | |
JP4590341B2 (ja) | データ処理装置および設定処理方法および情報処理装置および制御プログラム | |
JP3774684B2 (ja) | 情報処理装置および情報処理装置のプリンタ設定方法およびプログラムおよび記録媒体 | |
US8922823B2 (en) | Information processing apparatus and storage medium with the function of adding a cover letter to a print job | |
JP2019128856A (ja) | プリンタードライバーのカスタマイズツール | |
JP2019008673A (ja) | 情報処理装置およびドライバーインストール方法 | |
JP5726344B2 (ja) | 情報処理装置、制御方法、プログラム | |
JP2020030697A (ja) | 情報処理装置、端末装置、設定画面表示システム、設定画面表示方法 | |
JP7393477B2 (ja) | 情報処理装置とその制御方法、およびコンピュータプログラム | |
JP7171227B2 (ja) | 情報処理装置、その制御方法およびアプリケーション | |
US20230333794A1 (en) | Information processing apparatus, control method of information processing apparatus, and non-transitory computer-readable storage medium | |
JP2020071693A (ja) | 情報処理装置、及びその制御方法並びにプログラム | |
JP2019049825A (ja) | ポイントアンドプリント環境におけるドライバーの更新方法、プログラム、及び、情報処理装置 | |
JP2010218081A (ja) | 印刷システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20191125 |