JP2014178823A - 情報処理装置、プログラム及びシステム - Google Patents

情報処理装置、プログラム及びシステム Download PDF

Info

Publication number
JP2014178823A
JP2014178823A JP2013051697A JP2013051697A JP2014178823A JP 2014178823 A JP2014178823 A JP 2014178823A JP 2013051697 A JP2013051697 A JP 2013051697A JP 2013051697 A JP2013051697 A JP 2013051697A JP 2014178823 A JP2014178823 A JP 2014178823A
Authority
JP
Japan
Prior art keywords
device driver
driver
user interface
processing apparatus
information processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2013051697A
Other languages
English (en)
Other versions
JP6127607B2 (ja
Inventor
Hiroki Matsuura
宏樹 松浦
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.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2013051697A priority Critical patent/JP6127607B2/ja
Publication of JP2014178823A publication Critical patent/JP2014178823A/ja
Application granted granted Critical
Publication of JP6127607B2 publication Critical patent/JP6127607B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

【課題】複数のデバイスドライバに関する設定を、簡単な操作で統一感のあるユーザインタフェースで受け付ける機能を、低コストで実現できるようにすること。
【解決手段】情報処理装置に既に登録されているドライバ1のユーザインタフェース(UI_1)と、ドライバ1とは異なるドライバ2とを関連付けたドライバUI関連付け情報を登録し(c)、ドライバ2に関する設定を受け付ける場合に、ドライバUI関連付け情報によりドライバ2と関連付けられたUI_1を呼び出して、UI_1よりドライバ2に関する設定を受け付けるようにした。
【選択図】図8

Description

本発明は、情報処理装置、プログラム及びシステムに関する。
従来から、複数のプリンタドライバを備えた情報処理装置において、それらのプリンタドライバに関する設定を、共通のユーザインタフェース(UI)により受け付けることができるようにすることが試みられている。印刷に用いるプリンタの機種毎にプリンタドライバが異なり、それに応じてUIが異なると、ユーザが設定操作の方法を覚えたり、また設定を行ったりするために大きな労力を要するためである。
例えば、特許文献1には、複数のドライバソフトを通じて複数の周辺機器に対する統合的な制御を行う単一のユーザインタフェースを設けることが記載されている。
しかしながら、特許文献1に記載の技術は、各ドライバソフトのユーザインタフェースに追加して、統合的な制御を行うユーザインタフェースを設けるものである。従って、ユーザは、ドライバソフトを利用するに際し、ドライバソフト毎のユーザインタフェースを用いるか、統合的な制御を行うユーザインタフェースを用いるかを選択しなければならない。このため、プリンタの選択に応じてドライバソフト毎のUIが表示される場合と比べ、操作感が大きく異なることになる。
また、統合的な制御を行うユーザインタフェースを実装するためには、そのインタフェースを、ドライバとしてのルールに従って設ける必要がある。このため、費用や手間のかかるロゴ取得などが必要になる。
なお、このような問題は、プリンタドライバ以外のデバイスドライバについて共通のUIを設けようとする場合にも、同様に発生するものである。
この発明は、このような背景に基づいてなされたものであり、複数のデバイスドライバに関する設定を、簡単な操作で統一感のあるユーザインタフェースで受け付ける機能を、低コストで実現できるようにすることを目的とする。
上記目的を達成するために、この発明の情報処理装置は、この情報処理装置に既に登録されている第1のデバイスドライバのユーザインタフェースと上記第1のデバイスドライバとは異なる第2のデバイスドライバとを関連付けた関連付け情報を登録するUI登録手段と、
上記第2のデバイスドライバに関する設定を受け付ける場合に、上記関連付け情報により上記第2のデバイスドライバと関連付けられた上記第1のデバイスドライバのユーザインタフェースを呼び出して、上記ユーザインタフェースにより上記第2のデバイスドライバに関する設定を受け付けるUI制御手段とを備えたことを特徴とするものである。
以上のような構成の情報処理装置によれば、複数のデバイスドライバに関する設定を、簡単な操作で統一感のあるユーザインタフェースで受け付ける機能を、低コストで実現することができる。
この発明の情報処理装置の一実施形態の機能構成を示すブロック図である。 図1に示したドライバ選択制御部のより詳細な機能ブロック図を示す。 プリンタドライバに付属のUIを共通で使用するUIへ置換える為の登録時のフローチャートの一例を示すものである。 ドライバ選択画面の表示例を示すものである。 UIの仮想コピーの態様について説明する図である。 ドライバUI関連付け情報の一つの例を示す図である。 ドライバUI登録情報の態様の一例を示す図である。 UIの置き換え処理における各モジュールの関連について説明するための図である。 ドライバUI表示時の処理のフローチャートを示すものである。 図8の別の形態について説明するための図である。 実施形態の効果について説明する図である。 実施形態の第1の変形例について説明するための図である。 実施形態の第2の変形例について説明するための図である。 実施形態の第3の変形例について説明するための図である。 実施形態の第4の変形例について説明するための図である。
以下、この発明を実施するための形態を図面に基づいて具体的に説明する。なお、本実施形態は、複数のデバイスドライバに関する設定を、簡単な操作で統一感のあるユーザインタフェース(以下、「UI」という)で受け付ける機能を備えた情報処理装置に関するものである。以下、デバイスドライバがプリンタドライバである場合を例として説明するが、本発明は他のデバイスドライバにも同様に適用できることは言うまでもない。
図1は、この発明の情報処理装置の一実施形態の機能構成を示すブロック図である。なお、図1には、本実施形態の特徴に係るデバイスドライバ及びそのUIの制御に関連する部分の構成を中心に示す。
図1に示す情報処理装置10は、例えばPC(パーソナルコンピュータ)として構成でき、入力部20、表示部30、記憶部40、ドライバ選択制御部50、プリンタドライバ60、ドライバUI70及び制御部80を備えている。
このうち、入力部20は、ユーザが必要なデータの入力や操作を行うのに使用するものである。入力部20は、例えば、キーボード、タッチパネル、マウスなどのポインティング装置(デバイス)、音声入力装置などで構成される。
また、表示部30は、コンピュータの画面を表示する装置であり、例えば、LCD(液晶ディスプレイ)やCRT(陰極線管)などの表示装置で構成される。そのほかに、LED(発光ダイオード)等によるランプを備えていてもよい。
記憶部40は、OS(オペレーティングシステム)、アプリケーションソフト及び種々のデータを記憶するためのデバイスであり、例えば、HDD(ハードディスクドライブ)やフラッシュメモリなど不揮発性メモリで構成される。
ドライバ選択制御部50は、情報処理装置10が備えるプリンタドライバの登録や起動、プリンタドライバに対するデータの受け渡し等の機能を有する。例えば、アプリケーションからの要求に応じてドライバのUIを起動したり、UIにおいて受け付けた設定内容を保存したりする機能を有する。また、印刷に用いるプリンタの選択に応じて対応するプリンタドライバやUIを選択したり、アプリケーションからの印刷指示に応じて印刷すべき文書のデータを印刷に用いる設定内容と共にプリンタドライバに渡して処理させたりする機能も備える。
また、ドライバ選択制御部50は、印刷に使用したいドライバを選択するという操作を行うだけでただ一つの統一感のあるUIで、複数のプリンタドライバに対して印刷設定を行うことを可能とするための機能も備え、本発明の特徴的な部分である。
これらのドライバ選択制御部50の機能は、ファームウェアを内蔵した専用のハードウェアで実現してもよいし、後述のCPU81に必要なソフトウェアを実行させることにより実現してもよい。
プリンタドライバ60は、用紙に画像を形成する画像形成装置であるプリンタ90を制御するためのソフトウェアである。そして、アプリケーションで作成された描画データを、当該プリンタドライバ60が対応するプリンタに解釈可能又は処理可能な形式(例えば、PDL(Page Description Language))の印刷データへ変換する機能を備えている。図では1つしか示していないが、本実施例では、情報処理装置10は、4種類のプリンタ90を利用可能になっており、それぞれのプリンタに対応したプリンタドライバがインストールされている。すなわち、プリンタドライバ1〜4(60a〜60d)である。
また、UIモジュール70は、ユーザが印刷の設定を行ったり、描画データのプレビューを行わせたりするためのGUI(Graphical User Interface)を提供するソフトウェアモジュールである。なお、図1において、プリンタドライバ1(60a)に対応するUIモジュールを「UI_1」(70a)とし、以下同様に名前を付けた。
さらに、制御部80は、中央演算処理装置(CPU)81、RAM82、ROM83を備えている。CPU81は、OS(Operating System)や所定のプログラムを記憶部40からロードして実行することで種々の機能を発揮すると共に、情報処理装置10が行う処理を統括的に制御する。RAM82は、OSやプログラムを実行する作業領域になり、ROM83はBIOS等、OSを起動するためのプログラムや設定ファイルを記憶している。
なお、図1において、説明の都合上、プリンタドライバ60(60a〜60d)、UIモジュール70(70a〜70d)が記憶部40の外に描かれているが、記憶部40の中に格納されていてもよい。
ところで、米国マイクロソフト社製のOSであるWindows(登録商標)8からVersion4のドライバ(以下、「V4ドライバ」という)という新しいアーキテクチャが登場した。このアーキテクチャでは、V4ドライバのデスクトップモードのUIアプリケーション(UIの実行プログラムを指す)は、プリンタドライバのインストール後でもプリンタドライバへの着脱が可能であるということは既に知られている。
V4ドライバのデスクトップモードのプリンタドライバでは、各メーカーがプリンタドライバに付属して提供するドライバUIを利用したい場合はそのドライバUIを表示でき、付属のドライバUIを用意していない場合には、OSに標準装備されている標準のUIが表示されるという仕組みになっている。
ここで、ドライバUIを用いて設定を受け付けるためには、UIモジュールは、呼び出し元のプリンタドライバ(ドライバID)に応じてOSへの処理を切り替える必要がある。しかし、UIモジュール(UIの機能を実現するソフトウェア)は、そのままでは、呼び出される際にどのプリンタドライバ(呼び出し元のプリンタドライバ)から呼び出されているのかが分からない。そこで、V4ドライバというアーキテクチャでは、プリンタドライバ毎にドライバUIを関連付けることを前提としている。なお、この関連付け作業はドライバのインストール後にも実施可能である。
本発明の実施例では、かかるV4ドライバというアーキテクチャを利用して、プリンタドライバ毎にドライバUIを関連付けることにより、上述の統一感のあるUIに係る機能を実現している。しかし、このアーキテクチャを利用することとは必須ではない。
図2は、図1に示したドライバ選択制御部50のより詳細な機能ブロック図を示す。
図2に示すように、ドライバ選択制御部50は、UI変更ドライバ選択部501、ドライバID探索部502、ドライバUI仮想複製部503、ドライバUI関連付け情報保存部504、ドライバUI登録部505、呼び出し元ドライバ判定部506、ドライバイベントハンドラ登録部507及びドライバUI表示部508を備える。
このうち、UI変更ドライバ選択部501は、UIを共通で使用するUIへ置換えるプリンタドライバを、ユーザに選択させる機能を有する。
例えば、UI変更ドライバ選択部501は、インストールされているプリンタドライバの中から、UIの置換えが可能なプリンタドライバをリストアップして表示し、その中からどのプリンタドライバに関してUIの置換えを行うかをユーザに選択させる画面を提供する。
また、特定のファイルへの置換えを行うプリンタドライバ名を記載するなどの方法により、共通で利用するUIへ置換える対象とするプリンタドライバをユーザに選択させることもできる。
ドライバID探索部502は、プリンタドライバにUIモジュールを関連付ける際に使用するドライバ固有のID(ドライバID)を探索する機能を有する。ドライバID探索部502は例えば、OSにインストールされている各プリンタドライバの構成ファイルからドライバIDを探索することができる。
ドライバUI仮想複製部503は、各ドライバで共用するUIモジュールを仮想的に複製する機能を有する。「仮想的に複製する」とは、UIモジュールを複製する際に、実体は一つなのであるが、Windows上のファイルとしては複数の箇所にあるように見えるように複製することである。例えば、ハードリンクの仕組みを利用すれば、実体は一つであるが、Windows上は複数のファイルがあるように見えるようにすることができる。これにより、複数のファイルを参照可能としても、実体としては一つであるため、記憶容量は一つのファイル分しか使用せず、記憶部40を有効に使用することができる。
なお、記憶部の記憶容量に余裕があれば、仮想コピーではなく実体のコピーでも構わない。
ドライバUI関連付け情報保存部504は、各ドライバIDに対して、利用するUIモジュールがインストールされている場所(たとえばファイルパス)を特定するドライバUI関連付け情報を保存する機能を備える。このドライバUI関連付け情報に基づいて、呼出し元ドライバ判定部506が、UIモジュールがOSから呼び出された際に、どのプリンタドライバから呼び出されているのかを判定することができる。
ドライバUI登録部505は、各プリンタドライバがUIモジュールとして利用するUIモジュールのファイルパスを、OSに対して登録する機能を備える。これにより、ユーザがプリンタドライバを起動すると、それに関連付けられたUIモジュールが呼び出され、表示されるようになる。
以上、UI変更ドライバ選択部501からドライバUI登録部505までが、制御部80と協働することにより、全体としてUI登録手段としての機能が実現される。
また、呼び出し元ドライバ判定部506は、ドライバUI関連付け情報を読み取り、起動中のUIモジュールにつき、そのUIモジュール自身のファイルパスから、そのUIモジュールがどのドライバIDを持つプリンタドライバから呼び出されているのかという判定を行う機能を有する。これにより、UIモジュールがOSから呼び出される際に、どのプリンタドライバ(呼び出し元のプリンタドライバ)から呼び出されているのかが分かるようになる。
ドライバイベントハンドラ登録部507は、呼び出し元ドライバ判定部506で判定されたドライバIDを使用して、UI表示のためのイベントハンドラの登録をOSに対して行う機能を有する。
ドライバUI表示部508は、UIモジュール70に基づき、ドライバのUIを情報処理装置10の表示部30に表示させる機能を有する。ドライバUI関連付け情報保存部504及びドライバUI登録部505が、複数のドライバについて共通のドライバUIを関連付けて登録していれば、ドライバUI表示部508が表示するUIはこれらについて共通のものとなる。これにより、ユーザは、統一感のあるUIを使用して印刷設定等ができるようになる。
以上、呼び出し元ドライバ判定部506からドライバUI表示部508までが、制御部80と協働することにより、全体としてUI制御手段としての機能が実現される。
本発明は、大きくわけると、UIの置き換え登録時の処理と、置き換えられたUIを使用したUI表示時の処理の2つになる。
これらのうち、まずUIの置き換え登録時の処理について説明する。
図3は、プリンタドライバに付属のUIを共通で使用するUIへ置換える為の登録を行う際にCPU81が実行する処理のフローチャートを示す。すなわち、UI登録手段の機能と対応する処理を示したものである。
図3の処理は、CPU81がプリンタドライバプログラムを実行することにより行うものである。CPU81は、UIの置き換えに関する機能の実行指示を検出すると、図3に示す処理を開始する。
そしてまず、CPU81は、UIの置き換えを行うプリンタドライバの選択をユーザから受け付けるための画面を表示部30に表示させる(S1)。これは、UI変更ドライバ選択部501の機能と対応する処理である。
図4は、UIの置き換えを行うプリンタドライバの選択を受け付けるための画面の表示例を示す図である。
図4に示すドライバ選択画面200画面は、ドライバ選択部201、OKボタン202及びキャンセルボタン203を備える。このうちドライバ選択部201には、情報処理装置10に既にインストールされているプリンタドライバを列挙する。図4の例では、プリンタドライバ1〜4がインストールされているが、図3の処理に用いているプリンタドライバは、UIの置き換えの対象にならないため選択肢から除外されている。
そして、ユーザが、ドライバ選択部201においてUIの置き換えを希望するプリンタドライバを示すチェックボックスにチェックマークを入れて、OKボタン202を押すと、CPU81はそれを受け付け、次のステップS2に移行する。図4の例では、ドライバ2が選択されたことを示している。キャンセルボタン203が押された場合、CPU81は図3の処理を終了する。
次に、CPU81は、ステップS1で選択されたプリンタドライバのドライバIDを、OSにインストール済みのドライバパッケージの中にある構成ファイルの中から探索して取得する(S2)。これは、ドライバID探索部502の機能と対応する処理である。
次に、CPU81は、ステップS1で選択されたドライバと関連付けるための、ドライバUIモジュールの仮想コピーを作成する(S3)。この処理は、ドライバUI仮想複製部503の機能と対応するものである。
また、ここでいう仮想コピーとは、Windows上に新たにファイルアイコンが作成され、見た目上はファイルのコピーが作成されたように見えるが、実体としては一つしか存在しないものを指す。作成されたコピーはショートカットのようなもの(Windowsでの機能としてはハードリンク等と呼ばれる)を意味している。実体としてはドライバUIモジュールは1つであるため、ディスク容量も一つのファイル分しか使用しない。
具体的には、例えば、プリンタドライバ1に付属しているUIモジュールである「ui1.exe」の仮想コピーを作り、これをプリンタドライバ2と関連付けるためのUIモジュールとして「ui2i.exe」と名前を付けて所定のフォルダ(ファイルパス)に保存することができる。
図5は、UIの仮想コピーの態様について説明する図である。図5では、プリンタドライバ1及びプリンタドライバ2に対して、それぞれUI_1及びUI_2を関連付けるケースにおける仮想コピー作成の態様を示している。
図5(A)は、UI_1が実体として元々存在していて、UI_2は仮想ファイルであり、実体としてのUI_1を参照している態様を示している。上記の具体例はこの態様によるものである。
図5(B)は別の態様であり、UI_1とUI_2は両方とも仮想ファイルであり、それぞれが同じUI(実体)を参照している場合である。UI(実体)は、もともと存在するUI_1(実体)を利用してもよいし、それとは別のものでもよい。
Windowsでは、シンボリックリンクやハードリンクという機能を利用して、このような実体が一つであるが、それぞれが別の場所にあるという状態を作ることが出来る。
図3の説明に戻ると、CPU81は次に、ステップS2で取得したドライバIDと、そのドライバIDを持つプリンタドライバに利用させるUIモジュールのファイルパス情報を関連付けて、ドライバUI関連付け情報として保存する(S4)。ファイルパスは、そのドライバIDを持つプリンタドライバに関連付けられるUIモジュールが存在する場所を示す位置情報である。また、保存は、ファイルやレジストリなどの形態で任意の場所に行うことができる。また、ここで関連付けるUIモジュールは、ステップS3で生成した仮想コピーである。
このステップS4は、ドライバUI関連付け情報保存部504の機能と対応する処理である。なお、このドライバUI関連付け情報は、UIモジュールのファイルパス情報から対応するドライバIDを特定するための情報としても用いることができる。
図6は、ドライバUI関連付け情報の一つの例を示す図である。
図6において、プリンタドライバ2に利用させるUIモジュール(UI_1の仮想コピー)のファイルパス「c:\driver\ui2i.exe」が、プリンタドライバ2のドライバIDである「Driver ID2」と関連付けられて保存されている。他のプリンタドライバ1,3,4についても同様である。
再度図3の説明に戻ると、CPU81は次に、ステップS2で特定したドライバIDと、ステップS3で作成した仮想コピーのファイルパス情報と、ドライバが利用するUIモジュールを特定する情報とを関連付けて、OSに対してUIの登録処理を行って(S5)、処理を終了する。これは、ドライバUI登録部505の機能と対応する処理である。
この情報をOSに登録することによって、プリンタドライバのUIが呼び出されたときに、OSが、そのプリンタドライバのドライバIDと対応するファイルパス情報が示すUIモジュールを起動するようになる。
以上の処理により、CPU81は、情報処理装置10に既に登録されている第1のデバイスドライバのUIとその第1のデバイスドライバとは異なる第2のデバイスドライバとを関連付けた関連付け情報(ドライバUI関連付け情報)を登録することができる。
図7は、ドライバUI登録情報の態様の一例を示す図である。
図7において、IDがドライバID、UIがUIモジュールのファイルパス情報、AppIDがUIモジュールの識別情報である。
そして、図7の例では、プリンタドライバ2のAppIDは、プリンタドライバ1のAppIDと同じ(ApplicationID1)になっているので、プリンタドライバ2とプリンタドライバ1は(パスは違っても)同じUIモジュールを利用することがわかる。すなわち、プリンタドライバ2が呼び出されると、プリンタドライバ1と同じUIが表示されることになる。
このドライバUI登録情報は、OSに対して決められた形式で登録する。
なお、図3の処理は、プリンタドライバのインストール時に、インストーラの機能として実行することもできる。この場合、ステップS1で選択画面を表示する必要はなく、インストーラによりインストールしたプリンタドライバを、UI置き換えの対象として選択すればよい。逆に、インストールしたプリンタドライバを、他のどのプリンタドライバに付属のUIモジュールと関連付けるかの選択を受け付けるようにするとよい。
次に、図8に、上述したUIの置き換え処理における各モジュールの関連を示す。
ここでは、あらかじめプリンタドライバ1とプリンタドライバ2がインストールされていて、プリンタドライバ1にUI_1が関連付けられている環境を想定する。
この環境において、UIの置き換えを用いて、プリンタドライバ2でもUI_1を利用できるようにするという、ドライバUI共通化を実現する場合における各モジュールの関連を図8に示した。
なお、図8及び次の図9の説明は、CPU81が各モジュールのプログラムを実行することにより実現される機能を、説明の便宜のため、各モジュールが主体となって種々の動作を実行するように説明する。
図8において、インストーラはプリンタドライバのインストールを行う機能を備えるものであり、プリンタドライバ2及び付属のUIモジュールであるUI_2を情報処理装置10にインストールした後、以下の(a)〜(d)の動作を行う。これらの動作は、図8に当該符号を付して示した矢印と対応する。
(a)インストーラは、プリンタドライバ2の構成ファイルからプリンタドライバ2のドライバIDを取得する。
(b)インストーラは、実体はUI_1と同じであるUI_2という仮想ファイルを作成する。
(c)インストーラは、(a)で取得したドライバIDと、(b)で作成した仮想ファイルのパスとを対応付けたドライバUI関連付け情報をファイルやレジストリなどに保存する。すでにドライバUI関連付け情報が保存されている場合、これにプリンタドライバ2に関する情報を追記すればよい。
(d)インストーラは、OSに対して、(a)のドライバIDと(b)で作成した仮想ファイルのパスの情報を登録する。OSは、この登録情報に従って、各プリンタドライバのUIを呼び出す。登録の情報の例は図7に示す通りである。
これらの動作は、図3に示した処理と対応するものである。
そしてOSは、(d)の後では、プリンタドライバ1のUIが開かれたときにはUI_1を呼び出し、プリンタドライバ2のUIが開かれたときにはUI_2を呼び出す(e)。ただし、UI_2はUI_1の仮想ファイルとして作成されているため、UI_2がOSから呼び出された場合でも、実体はUI_1と同じUIモジュールが動作することになる。
また、UI_1は、OSにより呼び出されると、以下の(f)及び(g)の処理を行う(UI_2の呼び出し時も同様である。)。実体として動作するのは一つであるが、UIはOSから呼び出された際に、自分がUI_1と呼び出されたかUI_2として呼び出されたかということを判断することができる。
(f)UI_1は、ドライバUI関連付け情報を読み取り、自分がUI_1又はUI_2のどちらとして呼び出されたかという情報(UIモジュールに係るファイルパスがわかる)に基づいて、これと対応するドライバIDを判別する。
(g)UI_1は、(f)で判別したドライバIDを利用して、OSに対してUI表示のためのイベントハンドラの登録を行う。
このイベントハンドラの登録は、UIモジュールが受け付けた設定内容を、どのドライバに関する設定内容として取り扱うかを登録するものである。すなわち、(g)では、UI_1が受け付けた設定内容を、(f)で判別したドライバIDのプリンタドライバに関する設定内容として取り扱うべき旨を登録する。
これにより、あらかじめプリンタドライバ1とプリンタドライバ2がインストールされていて、プリンタドライバ1にUI_1が関連付けられている環境においても、プリンタドライバ2でもUI_1を利用できるようになる。またこのとき、ユーザは、単にプリンタドライバ2(と対応するプリンタ)を選択して、UIを開くことを指示するだけでよい。
ここで、図9に、図8の(f)及び(g)と対応する、置き換えられたUIを使用したUI表示時の処理について説明する。
CPU81は、OSからUIモジュールの起動が指示されると、UIモジュールのプログラムを実行することにより、図9に示す処理を開始する。この処理において、CPU81はUI制御手段として機能する。
この処理において、CPU81はまず、図3のステップS4で保存されたドライバUI関連付け情報(図6参照)を読み出す(S11)。
次に、CPU81は、実行中のUIモジュール自身のファイルパスを手がかりとして、ステップS11で読み取ったドライバUI関連付け情報のファイルパス情報を参照して、対応するドライバIDを取得する(S12)。これは、呼び出し元ドライバ判定部506の機能と対応する処理である。
例えば、UI関連付け情報が図6に示した内容であってファイルパスが「c:\driver\ui2i.exe」であれば、対応するドライバIDは「Driver ID2」であるとわかる。このドライバIDは、UIモジュールの起動を指示したプリンタドライバのIDである。また、この特定は、1つのドライバIDについて複数のファイルパスが登録されている場合でも可能である。
次に、CPU81は、ステップS12で取得したドライバIDを利用して、OSに対してUI表示のためのイベントハンドラの登録を行う(S13)。これはドライバイベントハンドラ登録部507の機能と対応する処理である。
このイベントハンドラの登録時には、実際に呼び出し元となっているプリンタドライバのドライバIDを利用する必要がある。そして、OSは、図3のステップS5で登録した情報に基づいてドライバIDからファイルパスを特定してUIモジュールを起動する。しかし、ドライバUI関連付け情報には、OSへの登録内容と同じ(正確にはこれを包含する)対応関係が記録されているから、ドライバUI関連付け情報を参照することにより、正しいドライバIDを利用したイベントハンドラの登録が可能である。
次に、CPU81は、実際のUIの画面を表示部30に表示させて(S15)、処理を終了する。このステップS15は、ドライバUI表示部508の機能と対応する処理である。
以上の処理により、CPU81は、デバイスドライバに関する設定を受け付ける場合に、関連付け情報によりそのデバイスドライバと関連付けられたUIを呼び出して、該UIによりそのデバイスドライバに関する設定を受け付けることができる。
なお、図10に、UIの置き換え処理における各モジュールの関連の図8と別の形態を示す。
図8では、インストーラがUIの置き換えに係る処理を行っているが、図10の例では、この置き換えに係る処理をプリンタドライバ1行う。図10の動作においては(a)〜(d)の動作を行う主体がプリンタドライバ1である点が図8の例と異なるのみであるので、詳細な説明は省略する。
次に、以上説明してきた実施形態の効果について説明する。
図11は、以上説明してきた実施形態の効果について説明するための図である。
図11で、(A)はプリンタドライバ1に付属のUI(UI_1)の印刷設定画面であり、(B)はプリンタドライバ2に付属のUIの印刷設定画面である。
両者とも実質的には同じ内容の印刷設定内容であるが、(A)はラジオボタンで選択するのに対し、(B)は□の中にチェックを入れる方法である。(A)の方法に慣れているユーザにとっては(B)の画面には違和感を覚えるおそれがある。また、用語も一部異なるため、慣れないユーザにとっては設定内容が理解しづらい可能性がある。
一方、上述した図3等の処理により、プリンタドライバ2をプリンタドライバ1に付属のUIと関連付けると、(C)に示すように、プリンタドライバ2に関する設定の受付を、プリンタドライバ1に付属のUIにより行うことができる。その結果、ユーザは統一感のある操作感を得ることができる。またこのとき、関連付けの前と比べて、UIを開くための操作が変わることもない。
なお、各プリンタドライバが制御するプリンタがどのような機能に対応しているかは、そのプリンタの機能を示す機能情報であるPrintCapabilities()を参照する等により、把握可能である。そして、プリンタドライバに付属のUIは、制御対象のプリンタが備える機能に係る設定を受け付ける機能を備えていると考えられる。したがって、PrintCapabilities()においてどのような項目についてどのような選択肢があるかを見れば、付属UIにおいて受付可能な設定項目や、その選択肢を把握することができる。
したがって、例えばプリンタドライバ2をプリンタドライバ1に付属のUIに関連づける場合、各ドライバの制御対象に関するPrintCapabilities()を比較するとよい。この比較結果から、UIの置き換えにより過剰となる項目、不足となる項目、プリンタドライバ2に適用するに当たり設定内容の変換が必要となる項目等を把握することができる。
プリンタドライバ1に付属のUIにより受け付けた設定をプリンタドライバ2で利用するに当たっては、この点を考慮した設定結果の変換を行うようにするとよい。
なお、同様な考え方に基づき、プリンタドライバ1に付属のUIを、プリンタドライバ2に関する設定を受け付けるために用いるに際し、UIを加工したり、警告を行ったりすることが考えられる。これらに関する変形例を、図12乃至図15に示す。
図12は、第1の変形例を示す図である。
例えば、置き換え先UIとしてのUI_1が、両面、集約及びステープルの各機能をサポートしているが(A)、置換え元ドライバ(プリンタドライバ2)では、両面及び集約の機能のみをサポートし(B)、ステープル機能はサポートしていない場合を想定する。
そうすると、UI_1をそのままプリンタドライバ2のUIとして共用した場合、プリンタドライバ2がサポートしていないステープル機能に関する設定受付部までが表示されてしまうという不都合が生じる。
そこで、プリンタドライバ2が(OSを介して)UI_1を呼び出す場合、UI_1が設定受付可能な項目のうち、プリンタドライバ2がサポートしていない機能(ここではステープル機能)に関する項目を無効にして表示させないようにするとよい(C)。
このようにすれば、実際には使えない機能に関する設定受付部を表示することがなく、UIの統一感を保ったまま、ユーザに無用な混乱を生じさせないようにすることができる。
なお、UIモジュールにおいて、画面データが構造化言語で記載されていれば、該当項目についての記載を削除することにより、容易に項目の無効化(非表示化)を行うことができる。プリンタドライバをUIモジュールに関連付ける際に、UIモジュールの実体をコピーするとともに、UIモジュールに含まれる画面データにこのような加工を施すとよい。
図13は、第2の変形例を示す図である。
例えば、置き換え先UIとしてのUI_1が、両面、集約及びステープルの各機能をサポートしているが(A)、置換え元ドライバ(プリンタドライバ2)では、両面、集約、ステープル及びウォーターマークの各機能をサポートしている場合(B)を想定する。
そうすると、ウォーターマーク機能は置き換え先UIがサポートしていないため、置換え後のUIではウォーターマーク機能に関する設定を受け付けることができないという不都合が生じる(C)。
そこで、このような場合、プリンタドライバ2にUI_1を関連付けるときに、プリンタドライバ2が対応している機能のうち、置き換え先UIが設定を受け付けることができない機能(ここではウォーターマーク機能)につき、その機能が利用できないことをユーザに通知するようにするとよい。この通知には、(D)に示すようなダイアログを用いることができる。
このようにすれば、UI置き換え前のプリンタドライバが対応していた機能が知らないうちに使えなくなるということを防止し、UIの統一感を保ったまま、ユーザに無用な混乱を生じさせないようにすることができる。
上記ダイアログの表示は、例えば図3に示した処理の間に行うことが考えられる。しかし、プリンタドライバをUIモジュールに関連付ける際に、UIモジュールの実体をコピーするとともに、UIモジュールにダイアログ表示機能を追加し、UIモジュールを起動するたびにダイアログが表示されるようにしてもよい。
図14は、第3の変形例を示す図である。
この第3の変形例は、表示するダイアログが第2の変形例と異なるのみである。
ここでは、図3に示した処理の間に、(D)に示すダイアログにおいて、UIの置き換えを行うか否かの指示を受け付けるようにしている。そして、キャンセル(行わない)の指示があった場合、図3に示す処理を中止し、プリンタドライバ2にUI_1を関連付ける関連付け情報の登録を中止するようにしている。
このようにすれば、プリンタドライバ2の一部の機能が使えなくなることを嫌うユーザが、誤ってUIの切り換えを行ってしまうことを防止できる。
図15は、第4の変形例を示す図である。
この第4の変形例も、機能の想定は第2及び第3の変形例と同じである。
しかし、第4の変形例では、プリンタドライバ2が対応している機能のうち、置き換え先UIが設定を受け付けることができない機能(ここではウォーターマーク機能)につき、その機能に関する設定を受け付けるための項目を、置き換え先UIに追加する。
追加すべき機能が特定されれば、その機能に関するPrintCapabilities()を参照することにより、該機能で受け付けるべき選択肢や適切な操作部の構成(チェックボックスかラジオボタンか等)を把握できる。そして、予めPrintCapabilities()からUIを生成するスタイルシートを用意しておけば、これに従って、追加すべき機能に係るUIを自動生成することができる。
そして、例えば、(C)及び(D)に示すように、UI_1の機能に係る画面を標準画面、追加すべき機能に係る画面を追加画面として、これらをタブで切り替えられるようにすればよい。
プリンタドライバをUIモジュールに関連付ける際に、UIモジュールの実体をコピーするとともに、UIモジュールに含まれる画面データにこのような加工を施すとよい。
この加工を行う場合に、CPU81は追加手段として機能する。
このようにすれば、UIの統一感をある程度維持しつつ、置き換え先のUIが対応していない機能に関する設定も受け付けることができる。
以上で実施形態の説明を終了するが、この発明において、各装置の具体的な構成、処理の内容、データの構成、画面の表示内容等は、実施形態で説明したものに限るものではない。
また、上述した実施形態の情報処理装置と、該情報処理装置が備えるデバイスドライバにより制御されるデバイスとで、情報処理システムを構成すると捉えることができる。さらに、そのデバイスドライバと制御対象のデバイスとでも、これらの相互作用により、統一感のあるUIによるデバイスの制御という有用な効果を発揮し、情報処理システムを構成すると捉えることができる。
また、上述の実施形態におけるデバイスドライバによる制御の対象に特に制約はなく、任意のデバイスでよい。
また、情報処理装置10の機能を、複数の装置に分散して設け、これらの装置に協働してその機能を実現させるようにしてもよい。逆に、情報処理装置10が、デバイスドライバによる制御対象のデバイスを内蔵していてもよい。
さらに、以上説明した各実施形態、動作及び変形例の構成は、相互に矛盾しない限り任意に組み合わせて実施可能であることはもちろんである。
10:情報処理装置、20:入力部、30:表示部、40:記憶部、50:ドライバ選択制御部、60:プリンタドライバ、70:ドライバUI、80:制御部、90:プリンタ、501:UI変更ドライバ選択部、502:ドライバID探索部、503:ドライバUI仮想複製部、504:ドライバUI関連付け情報保存部、505:ドライバUI登録部、506:呼び出し元ドライバ判定部、507:ドライバイベントハンドラ登録部、508:ドライバUI表示部
特開2007−272857号公報

Claims (9)

  1. 情報処理装置であって、
    前記情報処理装置に既に登録されている第1のデバイスドライバのユーザインタフェースと前記第1のデバイスドライバとは異なる第2のデバイスドライバとを関連付けた関連付け情報を登録するUI登録手段と、
    前記第2のデバイスドライバに関する設定を受け付ける場合に、前記関連付け情報により該第2のデバイスドライバと関連付けられた前記第1のデバイスドライバのユーザインタフェースを呼び出して、該ユーザインタフェースにより前記第2のデバイスドライバに関する設定を受け付けるUI制御手段と、
    を備えたことを特徴とする情報処理装置。
  2. 請求項1に記載の情報処理装置であって、
    前記UI登録手段が、前記第1のデバイスドライバのユーザインタフェースの仮想コピーを生成し、前記関連付け情報において、該仮想コピーと前記第2のデバイスドライバとを関連付けることを特徴とする情報処理装置。
  3. 請求項1又は2に記載の情報処理装置であって、
    前記第1のデバイスドライバのユーザインタフェースが呼び出された場合に、
    前記UI制御手段が、前記関連付け情報に基づき、どのデバイスドライバに関する設定を受け付けるために呼び出されたかを特定し、前記受け付けた設定内容を、前記特定されたデバイスドライバに関する設定内容として取り扱うことを特徴とする情報処理装置。
  4. 請求項1乃至3のいずれか一項に記載の情報処理装置であって、
    前記第1のデバイスドライバのユーザインタフェースが設定を受け付ける項目を示す情報と、前記第2のデバイスドライバが対応している機能を示す情報とに基づき、前記第1のデバイスドライバのユーザインタフェースのうち、前記第2のデバイスドライバが対応していない機能に関する項目を無効にする手段を備えることを特徴とする情報処理装置。
  5. 請求項1乃至4のいずれか一項に記載の情報処理装置であって、
    前記第1のデバイスドライバのユーザインタフェースが設定を受け付ける項目を示す情報と、前記第2のデバイスドライバが対応している機能を示す情報とに基づき、前記第2のデバイスドライバが対応している機能のうち、前記第1のデバイスドライバのユーザインタフェースが設定を受け付けることができない機能がある場合に、その機能が利用できない旨をユーザに通知する通知手段を備えることを特徴とする情報処理装置。
  6. 請求項1乃至4のいずれか一項に記載の情報処理装置であって、
    前記第1のデバイスドライバのユーザインタフェースが設定を受け付ける項目を示す情報と、前記第2のデバイスドライバが対応している機能を示す情報とに基づき、前記第2のデバイスドライバが対応している機能のうち、前記第1のデバイスドライバのユーザインタフェースが設定を受け付けることができない機能がある場合に、ユーザから前記関連付け情報の登録を中止するか否かの選択を受け付ける手段を備えることを特徴とする情報処理装置。
  7. 請求項1乃至4のいずれか一項に記載の情報処理装置であって、
    前記第1のデバイスドライバのユーザインタフェースが設定を受け付ける項目を示す情報と、前記第2のデバイスドライバが対応している機能を示す機能情報とに基づき、前記第2のデバイスドライバが対応している機能のうち、前記第1のデバイスドライバのユーザインタフェースが設定を受け付けることができない機能がある場合に、前記機能情報に基づき、その機能に関する設定を受け付けるための項目を、前記ユーザインタフェースに追加する追加手段を備えることを特徴とする情報処理装置。
  8. 情報処理装置にデバイスを制御する第1のデバイスドライバの機能を実現させるためのプログラムであって、
    前記コンピュータを、
    前記情報処理装置に既に登録されている前記第1のデバイスドライバのユーザインタフェースと前記第1のデバイスドライバとは異なる第2のデバイスドライバとを関連付けた関連付け情報を登録するUI登録手段と、
    前記第1のデバイスドライバのユーザインタフェースが起動された場合に、前記関連付け情報に基づき、どのデバイスドライバに関する設定を受け付けるために呼び出されたかを特定し、前記受け付けた設定内容を、前記特定されたデバイスドライバに関する設定内容として取り扱うUI制御手段として機能させるためのプログラム。
  9. コンピュータを、
    既に該コンピュータに登録されている第1のデバイスドライバのユーザインタフェースと、前記第1のデバイスドライバと異なる第2のデバイスドライバとを関連付けた関連付け情報を登録するUI登録手段と、
    前記第2のデバイスドライバに関する設定を受け付ける場合に、前記関連付け情報により該第2のデバイスドライバと関連付けられた前記第1のデバイスドライバのユーザインタフェースを呼び出して該ユーザインタフェースにより前記第2のデバイスドライバに関する設定を受け付けるUI制御手段として機能させるためのプログラムと、
    前記第2のデバイスドライバにより制御されるデバイスと、
    を備えたシステム。
JP2013051697A 2013-03-14 2013-03-14 情報処理装置、プログラム及びシステム Active JP6127607B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013051697A JP6127607B2 (ja) 2013-03-14 2013-03-14 情報処理装置、プログラム及びシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013051697A JP6127607B2 (ja) 2013-03-14 2013-03-14 情報処理装置、プログラム及びシステム

Publications (2)

Publication Number Publication Date
JP2014178823A true JP2014178823A (ja) 2014-09-25
JP6127607B2 JP6127607B2 (ja) 2017-05-17

Family

ID=51698726

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013051697A Active JP6127607B2 (ja) 2013-03-14 2013-03-14 情報処理装置、プログラム及びシステム

Country Status (1)

Country Link
JP (1) JP6127607B2 (ja)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004291629A (ja) * 2003-03-13 2004-10-21 Seiko Epson Corp プリンタ、プリンタシステム及びプリンタ管理方法並びにプリンタ管理用プログラム
JP2006041940A (ja) * 2004-07-27 2006-02-09 Brother Ind Ltd 画像形成装置設定プログラム、画像形成装置設定装置、画像読取装置設定プログラム、および画像読取装置設定装置
JP2009223834A (ja) * 2008-03-18 2009-10-01 Canon Inc 印刷設定処理装置及び印刷設定処理方法
JP2010079621A (ja) * 2008-09-26 2010-04-08 Fuji Xerox Co Ltd 画像形成システム、印刷制御装置、印刷制御方法およびプログラム
JP2011028696A (ja) * 2009-07-29 2011-02-10 Canon Inc データ処理装置、データ処理方法、プログラム
JP2011145760A (ja) * 2010-01-12 2011-07-28 Ricoh Co Ltd 印刷制御プログラム、コンピュータ読み取り可能な記録媒体、インストールプログラム、情報処理装置、印刷装置、及び印刷システム
JP2012008851A (ja) * 2010-06-25 2012-01-12 Canon Inc 情報処理装置、印刷制御方法、及びプログラム
JP2013025414A (ja) * 2011-07-15 2013-02-04 Ricoh Co Ltd 画像形成制御プログラム

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004291629A (ja) * 2003-03-13 2004-10-21 Seiko Epson Corp プリンタ、プリンタシステム及びプリンタ管理方法並びにプリンタ管理用プログラム
JP2006041940A (ja) * 2004-07-27 2006-02-09 Brother Ind Ltd 画像形成装置設定プログラム、画像形成装置設定装置、画像読取装置設定プログラム、および画像読取装置設定装置
JP2009223834A (ja) * 2008-03-18 2009-10-01 Canon Inc 印刷設定処理装置及び印刷設定処理方法
JP2010079621A (ja) * 2008-09-26 2010-04-08 Fuji Xerox Co Ltd 画像形成システム、印刷制御装置、印刷制御方法およびプログラム
JP2011028696A (ja) * 2009-07-29 2011-02-10 Canon Inc データ処理装置、データ処理方法、プログラム
JP2011145760A (ja) * 2010-01-12 2011-07-28 Ricoh Co Ltd 印刷制御プログラム、コンピュータ読み取り可能な記録媒体、インストールプログラム、情報処理装置、印刷装置、及び印刷システム
JP2012008851A (ja) * 2010-06-25 2012-01-12 Canon Inc 情報処理装置、印刷制御方法、及びプログラム
JP2013025414A (ja) * 2011-07-15 2013-02-04 Ricoh Co Ltd 画像形成制御プログラム

Also Published As

Publication number Publication date
JP6127607B2 (ja) 2017-05-17

Similar Documents

Publication Publication Date Title
US10949148B2 (en) Print processing system and control method
JP5924992B2 (ja) 情報処理装置、情報処理方法とプログラム
US8891111B2 (en) Adaptable printer driver
JP2013161127A (ja) 情報処理装置、制御方法、及びプログラム
JP2010061469A (ja) デバイスドライバ、インストーラ、及びドライバプログラム
JP5392201B2 (ja) ユニバーサルドライバ、及びデバイス制御方法
US9606761B2 (en) Information processing apparatus for controlling an output process and method for the same
US9715359B2 (en) Information processing apparatus, method of controlling information processing apparatus, and storage medium
JP2011180681A (ja) インストーラ及びプリンタドライバのインストール方法
JP2019120997A (ja) 情報処理装置、画像形成装置およびプログラム
JP2015184915A (ja) 情報処理装置及びその方法、プログラム
JP2011164713A (ja) 情報処理装置、制御方法、及びプログラム
JP2017033052A (ja) 画像形成装置における制御装置およびプログラム
JP6127607B2 (ja) 情報処理装置、プログラム及びシステム
US8724150B2 (en) Storage medium storing printer driver and information processing apparatus
JP2016177352A (ja) 情報処理装置、情報処理システム、印刷設定の登録方法、及びプログラム
JP2007058539A (ja) プリンタドライバのヘルププログラム
JP2015026213A (ja) 情報処理装置及びその方法、プログラム
JP2012059106A (ja) カスタマイズ装置、印刷システム、カスタマイズ方法およびカスタマイズプログラム
CN106716350B (zh) 用于提供用户界面屏幕的装置和方法
JP2013235314A (ja) カスタマイズプログラム、情報処理装置および記録媒体
JP2015141626A (ja) 印刷指示支援装置、印刷システム及びプログラム
JP2013105460A (ja) 情報処理装置およびその制御方法、並びにプログラム
JP2014134992A (ja) 情報処理装置、情報処理方法、及びプログラム
JP6988081B2 (ja) 画像形成装置、画像形成システム、操作装置およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160212

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161214

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161220

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170220

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170327

R151 Written notification of patent or utility model registration

Ref document number: 6127607

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151