JP2011242994A - Driver control system, and driver control method - Google Patents

Driver control system, and driver control method Download PDF

Info

Publication number
JP2011242994A
JP2011242994A JP2010114426A JP2010114426A JP2011242994A JP 2011242994 A JP2011242994 A JP 2011242994A JP 2010114426 A JP2010114426 A JP 2010114426A JP 2010114426 A JP2010114426 A JP 2010114426A JP 2011242994 A JP2011242994 A JP 2011242994A
Authority
JP
Japan
Prior art keywords
plug
driver
file
client
information
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
JP2010114426A
Other languages
Japanese (ja)
Other versions
JP5625477B2 (en
Inventor
Naoki Fukazawa
直樹 深澤
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 JP2010114426A priority Critical patent/JP5625477B2/en
Publication of JP2011242994A publication Critical patent/JP2011242994A/en
Application granted granted Critical
Publication of JP5625477B2 publication Critical patent/JP5625477B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

PROBLEM TO BE SOLVED: To reduce an operation load during installing a driver.SOLUTION: In this driver control system, a server PC100 includes: a specifying part 261 for specifying a plug-in archive in which plug-in is archived, and plug-in list information showing the plug-in; and a transmitting part 203 for transmitting to a client PC110 a printer driver 250, the specified plug-in archive and the plug-in list information, and the client PC110 includes: a receiving part 1003 for receiving the printer driver 250, the plug-in archive, and the plug-in list information; an installing part 1004 for installing the printer driver 250; a storing part 1005 for storing the plug-in archive and the plug-in list information; and a control part 1002 for controlling the printer driver 250 which accesses the plug-in archived in the plug-in archive according to the plug-in list information.

Description

本発明は、ドライバを用いて処理を行うドライバ制御システム、及びドライバ制御方法に関する。   The present invention relates to a driver control system that performs processing using a driver, and a driver control method.

従来より、プリンタは、機種によって搭載されている機能が異なっている。そして、ユーザの要求の多様化に伴い、プリンタに対して、必要な機能のみ利用できるようにカスタマイズした上で、販売することへのニーズが向上している。このようなニーズに対応するために、各機能をプラグインとして追加できるプリンタが提案されている。当該プリンタに対して機能が追加する場合、当該プリンタを制御するためのプリンタドライバに対しても、追加された機能を使えるように機能拡張する必要となる。   Conventionally, printers have different functions depending on the model. With the diversification of user demands, needs for selling printers after customizing them so that only necessary functions can be used are increasing. In order to meet such needs, printers capable of adding functions as plug-ins have been proposed. When a function is added to the printer, it is necessary to expand the function so that the added function can be used for a printer driver for controlling the printer.

また、プリンタの機能拡張に伴うプリンタドライバの機能拡張のほか、当該プリンタドライバ単体に対する機能拡張の要求も存在する。   In addition to the printer driver function expansion accompanying the printer function expansion, there is a request for function expansion for the printer driver alone.

このような機能拡張を行うために、プリンタドライバを再コンパイルし、顧客の環境に再インストールすることは、ユーザの利便性が低下する。そこで、再コンパイレーションや再インストールを行わずに、機能拡張を行う技術として、プラグインとしてプリンタドライバに機能を追加する技術が既に知られている。   In order to perform such function expansion, recompiling the printer driver and re-installing it in the customer's environment reduces the convenience for the user. Therefore, a technique for adding a function to a printer driver as a plug-in is already known as a technique for expanding functions without performing recompilation or reinstallation.

ところで、近年、サーバPCがプリンタドライバを管理し、クライアントPCに対してインストールを行う傾向にある。このような環境で、各クライアントPCに対してプラグインで機能拡張する技術として、プリンタドライバの構成ファイル以外のファイルを、プラグインとして追加したり、構成ファイルを書き換えて機能拡張する技術(例えば、特許文献1)が提案されている。これにより、再インストール等を行わずに、プリンタドライバに対して機能拡張が可能となる。   In recent years, server PCs tend to manage printer drivers and install them on client PCs. In such an environment, as a technique for extending the function of each client PC with a plug-in, a technique for adding a function other than the printer driver configuration file as a plug-in or rewriting the configuration file to expand the function (for example, Patent Document 1) has been proposed. This makes it possible to expand the function of the printer driver without performing reinstallation or the like.

しかしながら、プリンタドライバの構成ファイル以外のファイルを、プラグインとして追加する技術では、クライアントPCから、サーバPCが管理するプリンタドライバをインストール(例えばMicrosoft(登録商標)が提案しているポイント・アンド・プリントを用いたインストール)する場合、サーバPC側にプラグインが予め追加されていても、クライアントPC側には当該プラグインはインストールされない。このため、クライアントPCでは、拡張機能を利用できない。   However, in the technique of adding files other than the configuration file of the printer driver as a plug-in, the printer driver managed by the server PC is installed from the client PC (for example, point-and-print proposed by Microsoft (registered trademark)) When the plug-in is added to the server PC side in advance, the plug-in is not installed on the client PC side. For this reason, the extended function cannot be used in the client PC.

また、特許文献1に示されるように、構成ファイルを書き換えて機能拡張を行う技術では、例えば、クライアントPC側のOSがWindows(登録商標)の場合、ドライバの構成が変わっていないことを示すカタログ(cat)ファイルの整合性が崩れてしまうため、OSから安全性が保障されなくなる。特に、OSがWindows(登録商標)Vista(登録商標)の場合、ドライバストアの機能によって、書き換えられた構成ファイルが、書き換えられる前の状態に書き戻されることで、拡張した機能が消えてしまうなどの問題があった。   Further, as shown in Patent Document 1, in the technique of rewriting a configuration file and extending the function, for example, when the OS on the client PC side is Windows (registered trademark), a catalog indicating that the driver configuration has not changed. (cat) Since the integrity of the file is lost, the security is not guaranteed from the OS. In particular, when the OS is Windows (registered trademark) Vista (registered trademark), the expanded function is lost when the rewritten configuration file is written back to the state before being rewritten by the function of the driver store. There was a problem.

本発明は、上記に鑑みてなされたものであって、ドライバをインストールする際に、クライアントPCに対して、プラグインとして追加された拡張機能を継承できるドライバ制御システム、及びドライバ制御方法を提供することを目的とする。   The present invention has been made in view of the above, and provides a driver control system and a driver control method capable of inheriting an extended function added as a plug-in to a client PC when a driver is installed. For the purpose.

上述した課題を解決し、目的を達成するために、本発明にかかるドライバ制御システムは、ドライバをインストールする対象であるクライアントと、当該ドライバを管理するサーバと、で構成されるドライバ制御システムであって、前記サーバは、前記ドライバのプラグインがまとめてアーカイブされた所定のファイルと、前記ファイルに格納されたプラグインが示された一覧情報と、を送信対象として特定する特定手段と、前記ドライバと、前記特定手段により特定された前記ファイル及び前記一覧情報と、を前記クライアントに送信する送信手段と、を備え、前記クライアントは、前記サーバから、前記ドライバと、前記ファイルと、前記一覧情報と、を受信する受信手段と、前記受信手段により受信した前記ドライバをインストールするインストール手段と、前記受信手段により受信した前記ファイルと前記一覧情報とを記憶手段に格納する格納手段と、前記ファイルにアーカイブされている前記プラグインを前記一覧情報に従って呼び出す前記ドライバを、制御する制御手段と、を備えたこと、を特徴とする。   In order to solve the above-described problems and achieve the object, a driver control system according to the present invention is a driver control system including a client to which a driver is to be installed and a server that manages the driver. The server includes a specifying unit that specifies a predetermined file in which the plug-ins of the driver are collectively archived and list information indicating the plug-ins stored in the file as a transmission target, and the driver And transmitting means for transmitting the file and the list information specified by the specifying means to the client, wherein the client receives the driver, the file, and the list information from the server. , Receiving means for installing the driver received by the receiving means Control for controlling the driver that calls the plug-in archived in the file according to the list information, installation means, storage means for storing the file and list information received by the receiving means in a storage means And means.

また、本発明にかかるドライバ制御方法は、ドライバをインストールする対象であるクライアントと、当該ドライバを管理するサーバと、で実行されるドライバ制御方法であって、前記サーバでは、特定手段が、前記ドライバのプラグインがまとめてアーカイブされた所定のファイルと、前記ファイルに格納されたプラグインが示された一覧情報と、を送信対象として特定する特定ステップと、送信手段が、前記ドライバと、前記特定ステップにより特定された前記ファイル及び前記一覧情報と、を前記クライアントに送信する送信ステップと、を含み、前記クライアントでは、受信手段が、前記サーバから、前記ドライバと、前記ファイルと、前記一覧情報と、を受信する受信ステップと、前記受信ステップにより受信した前記ドライバをインストールするインストールステップと、格納手段が、前記受信ステップにより受信した前記ファイルと前記一覧情報とを記憶手段に格納する格納ステップと、制御手段が、前記ファイルにアーカイブされている前記プラグインを前記一覧情報に従って呼び出す前記ドライバを、制御する制御ステップと、を含むこと、を特徴とする。   The driver control method according to the present invention is a driver control method executed by a client to which a driver is to be installed and a server that manages the driver. In the server, the specifying means includes the driver A specifying step for specifying a predetermined file in which the plug-ins of the archive are collectively archived and list information indicating the plug-ins stored in the file as transmission targets; and a transmitting means, the driver, and the specifying Transmitting the file identified by the step and the list information to the client. In the client, the receiving means receives the driver, the file, and the list information from the server. , And receiving the driver received in the receiving step. An installation step for installing, a storage unit for storing the file and the list information received in the reception step in a storage unit, and a control unit for storing the plug-ins archived in the file in the list. And a control step of controlling the driver to be called according to the information.

本発明によれば、ドライバのプラグインをインストールする際の操作負担を軽減するという効果を奏する。   According to the present invention, there is an effect of reducing an operation burden when installing a driver plug-in.

図1は、第1の実施の形態にかかる印刷制御システムの構成を示すブロック図である。FIG. 1 is a block diagram illustrating a configuration of a print control system according to the first embodiment. 図2は、サーバPCの機能ブロックを示した図である。FIG. 2 is a diagram showing functional blocks of the server PC. 図3は、プリンタドライバで用いられる機能情報の例を示した図である。FIG. 3 is a diagram illustrating an example of function information used in the printer driver. 図4は、プリンタドライバで用いられる画面レイアウト情報の例を示した図である。FIG. 4 is a diagram illustrating an example of screen layout information used in the printer driver. 図5は、ポイント・アンド・プリントを行うためにレジストリに格納された設定の例を示した図である。FIG. 5 is a diagram illustrating an example of settings stored in the registry for performing point-and-print. 図6は、プラグイン一覧情報の初期状態を示した図である。FIG. 6 is a diagram showing an initial state of plug-in list information. 図7は、2つのプラグインが追加されたプラグイン一覧情報の例を示した図である。FIG. 7 is a diagram illustrating an example of plug-in list information in which two plug-ins are added. 図8は、2つのプラグインが追加されたプラグインアーカイブの例を示した図である。FIG. 8 is a diagram showing an example of a plug-in archive in which two plug-ins are added. 図9は、本実施の形態にかかるサーバPCにおける、ドライバのインストールの処理の手順を示すシーケンス図である。FIG. 9 is a sequence diagram illustrating a procedure of driver installation processing in the server PC according to the present embodiment. 図10は、本実施の形態にかかるクライアントPCの機能ブロックを示した図である。FIG. 10 is a diagram showing functional blocks of the client PC according to the present embodiment. 図11は、ドライバ設定ディレクトリの画面レイアウト情報のみから生成される印刷設定画面の例を示した図である。FIG. 11 is a diagram showing an example of a print setting screen generated only from the screen layout information of the driver setting directory. 図12は、“borderline”プラグインの機能情報の例を示した図である。FIG. 12 is a diagram illustrating an example of function information of the “borderline” plug-in. 図13は、“borderline”プラグインの画面レイアウト情報の例を示した図である。FIG. 13 is a diagram illustrating an example of screen layout information of the “borderline” plug-in. 図14は、“stamp”プラグインの機能情報の例を示した図である。FIG. 14 is a diagram illustrating an example of function information of the “stamp” plug-in. 図15は、“stamp”プラグインの画面レイアウト情報の例を示した図である。FIG. 15 is a diagram illustrating an example of screen layout information of the “stamp” plug-in. 図16は、印刷制御システムにおけるドライバのインストールの処理の手順を示すフローチャートである。FIG. 16 is a flowchart illustrating the procedure of driver installation processing in the print control system. 図17は、特定部における上述した処理の手順を示すフローチャートである。FIG. 17 is a flowchart illustrating a procedure of the above-described processing in the specifying unit. 図18は、クライアントPCにおける、設定画面の表示処理の手順を示すフローチャートである。FIG. 18 is a flowchart showing the procedure of setting screen display processing in the client PC. 図19は、プラグインが追加されたプリンタドライバについて、表示部1007により表示される設定画面の例を示した図である。FIG. 19 is a diagram illustrating an example of a setting screen displayed by the display unit 1007 for a printer driver to which a plug-in is added. 図20は、クライアントPCにおける、印刷制御処理の手順を示すフローチャートである。FIG. 20 is a flowchart illustrating a procedure of print control processing in the client PC. 図21は、プラグインインストーラパッケージの構成を示した図である。FIG. 21 is a diagram showing the configuration of the plug-in installer package. 図22は、プラグインインストーラパッケージに含まれるプラグイン情報の例を示した図である。FIG. 22 is a diagram illustrating an example of plug-in information included in the plug-in installer package. 図23は、本実施の形態にかかるサーバPCにおける、プラグインインをインストールする際の処理の手順を示すフローチャートである。FIG. 23 is a flowchart illustrating a processing procedure when installing a plug-in in the server PC according to the present embodiment. 図24は、サーバPC及びクライアントPCのハードウェア構成を示した図である。FIG. 24 is a diagram illustrating a hardware configuration of the server PC and the client PC.

以下に添付図面を参照して、この発明にかかるドライバ制御システム、及びドライバ制御方法の一実施の形態を詳細に説明する。   Exemplary embodiments of a driver control system and a driver control method according to the present invention will be explained below in detail with reference to the accompanying drawings.

(第1の実施の形態)
図1は、第1の実施の形態にかかる印刷制御システムの構成を示すブロック図である。図1に示すように、印刷制御システムは、ネットワーク160を介して、サーバPC100と、クライアントPC110と、プリンタ150と、が接続されている。サーバPC100は、クライアントPC110に対してドライバのインストール制御を行うことが可能なPCとする。このインストール制御には、例えば、ポイント・アンド・プリントを用いてもよい。
(First embodiment)
FIG. 1 is a block diagram illustrating a configuration of a print control system according to the first embodiment. As shown in FIG. 1, a server PC 100, a client PC 110, and a printer 150 are connected to the print control system via a network 160. The server PC 100 is a PC that can perform driver installation control on the client PC 110. For this installation control, for example, point and print may be used.

図2は、本実施の形態にかかるサーバPC100の機能ブロックを示した図である。図2に示すようにサーバPC100は、OS201が搭載されており、当該OS201が、サーバPC100に搭載された(図示しない)アプリケーションや、ハードウェアを制御する。   FIG. 2 is a diagram illustrating functional blocks of the server PC 100 according to the present embodiment. As shown in FIG. 2, the server PC 100 is equipped with an OS 201, and the OS 201 controls an application (not shown) and hardware installed in the server PC 100.

OS201は、プリンタドライバ250と、制御部202と、送信部203と、書込部204と、レジストリ210と、DEVMODE211と、ドライバ設定ディレクトリ212と、プラグインディレクトリ213と、を備えている。本実施の形態においては、OS201として、MS-Windows(登録商標)が搭載されている例について説明する。   The OS 201 includes a printer driver 250, a control unit 202, a transmission unit 203, a writing unit 204, a registry 210, a DEVMODE 211, a driver setting directory 212, and a plug-in directory 213. In this embodiment, an example in which MS-Windows (registered trademark) is installed as the OS 201 will be described.

つまり、本実施の形態では、MS-Windows(登録商標)で提供されているポイント・アンド・プリントを用いたドライバのインストールを例に説明する。しかしながら、当該ポイント・アンド・プリントと同等のインストールを実現する機能があれば他のOSであっても良い。   That is, in the present embodiment, driver installation using point-and-print provided by MS-Windows (registered trademark) will be described as an example. However, another OS may be used as long as it has a function that realizes installation equivalent to the point-and-print.

プリンタドライバ250は、描画ドライバ251と、ポイント・アンド・プリント・ライブラリ252と、設定管理部253と、UIドライバ254と、プラグイン管理部255と、を備えている。そして、このプリンタドライバ250は、プリンタ150を制御するためのドライバであり、サーバPC100からクライアントPC110に対して提供可能なドライバとする。   The printer driver 250 includes a drawing driver 251, a point-and-print library 252, a setting management unit 253, a UI driver 254, and a plug-in management unit 255. The printer driver 250 is a driver for controlling the printer 150 and can be provided from the server PC 100 to the client PC 110.

描画ドライバ251は、OS(サーバPC100のOS201や、クライアントPCのOS)からプリンタ150を制御するために必要なプリンタドライバ250の構成モジュールである。そして、描画ドライバ251は、描画処理を行い、描画データを生成する。   The drawing driver 251 is a configuration module of the printer driver 250 necessary for controlling the printer 150 from the OS (the OS 201 of the server PC 100 or the OS of the client PC). Then, the drawing driver 251 performs drawing processing and generates drawing data.

ポイント・アンド・プリント・ライブラリ252は、特定部261を備え、サーバPC100に対して、クライアントPC110からポイント・アンド・プリントが行われた際に、呼び出されるダイナミック・リンク・ライブラリ(モジュール群)とする。本実施の形態にかかるポイント・アンド・プリント・ライブラリ252は、ポイント・アンド・プリント時に呼び出された場合、クライアントPC110又はサーバPC100のどちらかで呼び出されたのかに応じてそれぞれ異なる制御を行う。これにより、クライアントPC110及びサーバPC100の間で、プリンタドライバ250の構成ファイル以外のファイルを送信するため制御が行われる。   The point-and-print library 252 includes a specifying unit 261, and is a dynamic link library (module group) that is called when a point-and-print is performed from the client PC 110 to the server PC 100. . When the point-and-print library 252 according to the present embodiment is called at the time of point-and-print, it performs different control depending on whether it is called by either the client PC 110 or the server PC 100. Thereby, control is performed between the client PC 110 and the server PC 100 to transmit a file other than the configuration file of the printer driver 250.

特定部261は、ポイント・アンド・プリント時に、サーバPC100側から呼び出された場合、クライアントPC110に送信するファイルを特定する。本実施の形態にかかる特定部261は、プリンタドライバ250のプラグインがまとめてアーカイブされた所定のファイル(以下、プラグインアーカイブと称す)と、プラグインアーカイブに格納されたプラグインを認識するためのプラグイン一覧情報と、をクライアントPC110へ送信するファイルとして特定する。   The identification unit 261 identifies a file to be transmitted to the client PC 110 when called from the server PC 100 side during point-and-print. The identifying unit 261 according to the present embodiment recognizes a predetermined file (hereinafter, referred to as a plug-in archive) in which plug-ins of the printer driver 250 are archived together and a plug-in stored in the plug-in archive. Are identified as files to be transmitted to the client PC 110.

また、特定部261は、ポイント・アンド・プリント時に、クライアントPC110側で呼び出された場合、プラグインの格納先となるパスを特定する。   In addition, the identification unit 261 identifies a path as a plug-in storage destination when called on the client PC 110 side during point-and-print.

つまり、ポイント・アンド・プリント・ライブラリ252を、プリンタドライバ250に含ませて、ポイント・アンド・プリント時に、サーバPC100及びクライアントPC110で呼び出されることで、プリンタドライバ250のプラグインのインストールを実現する。このインストールを実現するための制御として、サーバPC100側においては、送信する対象となるファイルを特定している。   That is, the point-and-print library 252 is included in the printer driver 250 and is called by the server PC 100 and the client PC 110 at the time of point-and-printing, thereby realizing installation of a plug-in of the printer driver 250. As a control for realizing this installation, the server PC 100 side specifies a file to be transmitted.

設定管理部253は、プリンタドライバ250の機能や設定を管理するモジュールとする。設定管理部253が管理する設定としては、例えば、現在の設定値、各機能の値域、及び各機能間の禁則とする。これらの機能や設定の書き出しや読み出しは、レジストリ210や、DEVMODE211に対して行う。   The setting management unit 253 is a module that manages the functions and settings of the printer driver 250. The settings managed by the setting management unit 253 are, for example, the current set value, the value range of each function, and the prohibition between the functions. These functions and settings are written out and read out from the registry 210 and the DEVMODE 211.

UIドライバ254は、OS201からプリンタ150を制御するために必要なプリンタドライバの構成モジュールであり、設定画面や、インストール時の初期設定画面などを表示するGUI(Graphic User Interface)として機能する。   The UI driver 254 is a configuration module of a printer driver necessary for controlling the printer 150 from the OS 201, and functions as a GUI (Graphic User Interface) that displays a setting screen, an initial setting screen at the time of installation, and the like.

プラグイン管理部255は、プラグインに関する制御を行うモジュールとする。本実施の携帯にかかるプラグイン管理部255は、プリンタドライバ250本体に対する設定と、プラグインに対する設定と、をマージして、呼び出し側にプラグインの構成を意識させないよう制御する。   The plug-in management unit 255 is a module that performs control related to plug-ins. The plug-in management unit 255 according to the present embodiment merges the settings for the printer driver 250 main body and the settings for the plug-in so that the calling side is not aware of the configuration of the plug-in.

また、プラグイン管理部255は、各印刷命令に従って、インストールされたプラグインに含まれる描画拡張モジュールの該当する処理を呼び出し、プラグイン毎に行われる制御(例えば描画制御)を実現する。   In addition, the plug-in management unit 255 calls a corresponding process of the drawing extension module included in the installed plug-in according to each print command, and realizes control (for example, drawing control) performed for each plug-in.

具体的には、プラグイン管理部255は、プリンタドライバ250による制御を行う際、プラグイン一覧情報に従って、プラグインアーカイブにまとめてアーカイブされている、各プラグインを用いた制御を行う。   Specifically, when performing control by the printer driver 250, the plug-in management unit 255 performs control using each plug-in archived in a plug-in archive in accordance with plug-in list information.

次に、プリンタドライバ250以外の構成について説明する。制御部202は、プリンタドライバ250など、OS201に搭載された様々なドライバの制御を行う。   Next, configurations other than the printer driver 250 will be described. The control unit 202 controls various drivers such as the printer driver 250 installed in the OS 201.

書込部204は、情報の書き込み制御を行う。例えば、書込部204は、プリンタドライバ250に対してプラグインを追加する際、当該プラグインのインストーラからの呼び出しに応じて、プラグインアーカイブにプラグインを追加する書き込みを行うとともに、プラグインアーカイブに追加するプラグインを認識させるプラグイン情報を、プラグイン一覧情報に書き込む。本実施の形態にかかるプラグイン情報は、プラグインの名称と、当該プラグインのバージョン情報と、を含む。   The writing unit 204 performs information writing control. For example, when the writing unit 204 adds a plug-in to the printer driver 250, the writing unit 204 performs writing to add the plug-in to the plug-in archive in response to a call from the installer of the plug-in, and the plug-in archive Plug-in information for recognizing plug-ins to be added to is written in the plug-in list information. The plug-in information according to the present embodiment includes a plug-in name and version information of the plug-in.

送信部203は、クライアントPC110に対して、情報を送信する制御を行う。送信対象としては、プリンタドライバ250等のドライバと、当該ドライバに対して追加されたプラグインがまとめてアーカイブされたプラグインアーカイブと、プラグイン一覧情報などがある。   The transmission unit 203 performs control to transmit information to the client PC 110. The transmission target includes a driver such as the printer driver 250, a plug-in archive in which plug-ins added to the driver are archived, plug-in list information, and the like.

なお、バージョン情報は、プラグインを追加するか否かを基準として用いられる。例えば、新たにプラグインが追加される場合、同一名称のプラグインがすでに追加されているのであれば、バージョン情報を確認し、バージョン情報が新しい場合に限ってインストールを継続する等とする。   The version information is used based on whether or not a plug-in is added. For example, when a new plug-in is added, if a plug-in with the same name has already been added, the version information is confirmed, and the installation is continued only when the version information is new.

ドライバ設定ディレクトリ212は、プリンタドライバ250が処理を行う際に参照する設定情報が格納されたディレクトリとする。ドライバ設定ディレクトリ212は、機能情報と、画面レイアウト情報と、を保持する。   The driver setting directory 212 is a directory in which setting information referred to when the printer driver 250 performs processing is stored. The driver setting directory 212 holds function information and screen layout information.

機能情報は、プリンタドライバ250の各機能の機能名、ユーザ・インターフェイスの種類(選択肢か、文字列か、数値か)、値域、機能間の禁則が記述された情報を示している。本実施の形態においては、機能情報はXML形式で記述されているものとする。   The function information indicates information describing the function name of each function of the printer driver 250, the type of user interface (whether it is an option, a character string, or a numerical value), a value range, and a prohibition between functions. In the present embodiment, it is assumed that the function information is described in the XML format.

図3は、プリンタドライバ250で用いられる機能情報の例を示した図である。図3に示すように、プリンタドライバ250で利用可能な機能毎に、“item”タグが定義されている。   FIG. 3 is a diagram illustrating an example of function information used in the printer driver 250. As shown in FIG. 3, an “item” tag is defined for each function that can be used by the printer driver 250.

つまり機能毎の設定を示す情報が、各“item”タグ内に格納されている。この“item”タグは、“name”と“type”の属性を有している。属性“name”は、各機能設定の名前を示している。属性typeは、入力される設定値の形式を示している。   That is, information indicating the setting for each function is stored in each “item” tag. The “item” tag has “name” and “type” attributes. The attribute “name” indicates the name of each function setting. The attribute type indicates the format of the input setting value.

属性“name”が“layout”のタグは集約設定を保持していることを示している。属性“name”が“booklet”のタグは製本設定を保持していることを示している。属性“name”が“papersize”のタグは印刷用紙設定を保持していることを示している。属性“name”が“copies”のタグは部数設定を保持していることを示している。属性“name”が“userid”のタグは利用者別ID設定を保持していることを示している。   A tag whose attribute “name” is “layout” indicates that the aggregation setting is held. A tag whose attribute “name” is “booklet” indicates that bookbinding settings are held. A tag whose attribute “name” is “papersize” indicates that the print paper setting is held. A tag whose attribute “name” is “copies” indicates that the number of copies setting is retained. A tag whose attribute “name” is “userid” indicates that the ID setting for each user is held.

また、属性“type”として設定される値について説明する。“pickone”は、選択肢形式であることを示している。“string”は、文字列入力形式であることを示している。“number”は、数値入力形式であることを示している。   A value set as the attribute “type” will be described. “Pickone” indicates an option format. “String” indicates a character string input format. “Number” indicates a numeric input format.

また、“item”タグは、図3の集約設定のように、“constraint”タグ301を保持することができる。“constraint”タグ301は、親タグである“item”タグの設定の禁則情報を表している。属性“fixvalue”は、“constraint”タグに禁則条件が合致している場合に強制的に変更するか否かを示す属性とする。   Further, the “item” tag can hold a “constraint” tag 301 as in the aggregation setting of FIG. A “constraint” tag 301 represents prohibition information for setting an “item” tag that is a parent tag. The attribute “fixvalue” is an attribute indicating whether or not to forcibly change when the prohibition condition matches the “constraint” tag.

また、“constraint”タグは、図3の集約設定のように“condition”タグ302を保持することができる。“condition”タグは、親タグである“constraint”タグの禁則条件を保持している。例えば、属性“expression”は、当該禁則条件を示している。具体的には、“layout”は、“booklet”に“on”が設定されている場合に禁則条件に合致し、“off”という設定値に強制的に変更される。   Further, the “constraint” tag can hold the “condition” tag 302 as in the aggregation setting of FIG. The “condition” tag holds the prohibition condition of the “constraint” tag that is the parent tag. For example, the attribute “expression” indicates the prohibition condition. Specifically, “layout” matches the prohibition condition when “on” is set in “booklet”, and is forcibly changed to a setting value of “off”.

“pickone”タグは、親タグである“item”タグの“type”が選択肢形式の場合に、選択肢毎の情報を保持している。“pickone”タグ内の属性“name”は、当該タグの選択肢を表す設定値とする。また、図3に示す例では、記述されていないが、“constraint”タグを有することができる。このように、“pickone”タグ自体、すなわち選択肢自体も、禁則情報を保持することができる。   The “pickone” tag holds information for each option when the “type” of the “item” tag that is the parent tag is an option format. The attribute “name” in the “pickone” tag is a set value that represents an option of the tag. In the example shown in FIG. 3, although not described, it can have a “constraint” tag. Thus, the “pickone” tag itself, that is, the option itself, can also hold prohibition information.

次に、“pickone”タグの属性“name”の各設定値について説明する。タグ“layout”内における、“off”は機能オフ、“2in1”は2in1印刷、“4in1”は4in1印刷、“on”は機能オン、“a3”はA3用紙、“a4”はA4用紙、という選択肢を示している。   Next, each setting value of the attribute “name” of the “pickone” tag will be described. In the tag “layout”, “off” is function off, “2in1” is 2in1 printing, “4in1” is 4in1 printing, “on” is function on, “a3” is A3 paper, “a4” is A4 paper Shows options.

“range”タグは、親タグ“item”タグの“type”が数値形式の場合に、選択可能な範囲が定義されている。この“range”タグ内の属性“min”は設定可能な最小値を、“max”は設定可能な最大値を保持している。   The “range” tag defines a selectable range when the “type” of the parent tag “item” tag is a numeric format. The attribute “min” in the “range” tag holds a settable minimum value, and “max” holds a settable maximum value.

“string”タグは、親タグ“item”タグの“type”が文字列形式の場合に、選択可能な文字列が定義されている。この“string”タグ内の属性“min”は最小文字数を、属性“max”は最大文字数を保持している。また、属性“chartype”は文字の種類を保持している。例えば属性“chartype”が、“alphanumeric”の場合に、数値とアルファベットの文字列が入力可能であることを示している。   The “string” tag defines a selectable character string when the “type” of the parent tag “item” tag is a character string format. The attribute “min” in the “string” tag holds the minimum number of characters, and the attribute “max” holds the maximum number of characters. The attribute “chartype” holds the character type. For example, when the attribute “chartype” is “alphanumeric”, it indicates that a numerical value and an alphabetic character string can be input.

画面レイアウト情報は、プリンタドライバ250に関する設定画面が表示された際、当該設定画面のレイアウト(UIの種類、座標、紐付けられる機能名)を特定するための情報が記述されている。   The screen layout information describes information for specifying the layout (UI type, coordinates, function name to be associated) of the setting screen when the setting screen related to the printer driver 250 is displayed.

図4は、プリンタドライバ250で用いられる画面レイアウト情報の例を示した図である。図4に示す例は、画面レイアウト情報をJSON形式で記述した例とする。   FIG. 4 is a diagram illustrating an example of screen layout information used in the printer driver 250. The example shown in FIG. 4 is an example in which screen layout information is described in the JSON format.

図4のように、画面レイアウト情報では、UIコンポーネント毎にレイアウトを特定するための情報(レイアウトデータと称す)が記述されている。このUIコンポーネント毎のレイアウトデータは、それぞれ属性“type”、属性“name”、属性“axis”を有している。   As shown in FIG. 4, the screen layout information describes information (referred to as layout data) for specifying a layout for each UI component. The layout data for each UI component has an attribute “type”, an attribute “name”, and an attribute “axis”.

属性“type”は、UIコンポーネントの種類を示している。“type”の値において、“ComboBox“が設定されている場合はコンボボックスコンポーネントを、“CheckBox“が設定されている場合はチェックボックスコンポーネントを、“SpinBox“が設定されている場合はスピンボックスコンポーネントを、“EditBox“が設定されている場合はエディットボックスコンポーネントで表示することを示している。   The attribute “type” indicates the type of UI component. When “ComboBox” is set in the “type” value, the combo box component is set. When “CheckBox” is set, the check box component is set. When “SpinBox” is set, the spin box component is set. When “EditBox” is set, it is displayed in the edit box component.

属性“name”は、設定の名前を示している。属性“name“の値として、“layout“が設定されている場合は集約設定、“booklet“が設定されている場合は製本設定、“papersize“が設定されている場合は印刷用紙設定、“copies“が設定されている場合は部数設定、“userid“が設定されている場合は利用者別ID設定であることを示している。   The attribute “name” indicates the name of the setting. If "layout" is set as the value of the attribute "name", aggregation settings are set, if "booklet" is set, bookbinding settings, if "papersize" is set, print paper settings, "copies" When “is set, it indicates that the number of copies is set, and when“ userid ”is set, the ID is set for each user.

属性“axis”は、表示位置の座標を示している。属性“axis”が保持する属性“x”はダイアログボックスの左上原点からの水平方向座標を、属性“y”は垂直方向座標を指定している。   The attribute “axis” indicates the coordinates of the display position. An attribute “x” held by the attribute “axis” designates a horizontal coordinate from the upper left origin of the dialog box, and an attribute “y” designates a vertical coordinate.

例えば、欄401内で設定された集約設定は、コンボボックスコンポーネントで水平位置“25”、垂直位置“30”に表示することが記述されている。   For example, it is described that the aggregation setting set in the column 401 is displayed at the horizontal position “25” and the vertical position “30” by the combo box component.

レジストリ210は、サーバPC100のOS201や、OS201上で動作するアプリケーションの設定が格納されたデータベースとする。本実施の形態にかかるレジストリ210は、ポイント・アンド・プリントを行う際に、ドライバの構成ファイル以外のファイルを送信するために必要な設定を保持している。この必要な設定の例としては、送信対象となるプラグインのファイルが格納されたディレクトリを示すパスや、送信対象となるファイルを特定するファイル名などがある。   The registry 210 is a database that stores the OS 201 of the server PC 100 and the settings of applications that run on the OS 201. The registry 210 according to the present embodiment holds settings necessary for transmitting a file other than the driver configuration file when performing point-and-print. Examples of this necessary setting include a path indicating a directory in which a plug-in file to be transmitted is stored, and a file name for specifying a file to be transmitted.

図5は、ポイント・アンド・プリントを行うためにレジストリ210に格納された設定の例を示した図である。当該設定がなされたことで、ポイント・アンド・プリント時にドライバ構成ファイル以外のファイルを送信させることが可能となる。   FIG. 5 is a diagram illustrating an example of settings stored in the registry 210 for performing point-and-print. With this setting, files other than the driver configuration file can be transmitted at the point-and-print time.

レジストリキーとしては、例えば、「\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Printers\ドライバ名」の下に「CopyFiles\任意の名前」のキーが存在し、その下に図5で示したサブキーが格納されているものとする。本実施の形態では、「\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print\Printers\DriverA\CopyFiles\Plugin」の下に格納されているものとする。次にサブキーの意味について説明する。   As a registry key, for example, the key “CopyFiles \ arbitrary name” exists under “\ HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Print \ Printers \ driver name”, and the subkeys shown in FIG. Assume that it is stored. In this embodiment, it is assumed that it is stored under “\ HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Print \ Printers \ DriverA \ CopyFiles \ Plugin”. Next, the meaning of the subkey will be described.

“Dierectory”は、クライアントPC110に送信するファイルが置いてあるディレクトリを示すパスを保持している。このディレクトリを示すパスは、ポイント・アンド・プリント・ライブラリ252のGenerateCopyFilePathsAPIを呼び出すことで変更できる。本実施の形態にかかる“Dierectory”には、プラグインディレクトリ213を表す“C:\Documents and Settings\All Users\Application Data\DriverA\Plugin”が保持されている。   “Dierectory” holds a path indicating a directory in which a file to be transmitted to the client PC 110 is placed. The path indicating this directory can be changed by calling GenerateCopyFilePathsAPI of the point-and-print library 252. In “Dierectory” according to the present embodiment, “C: \ Documents and Settings \ All Users \ Application Data \ DriverA \ Plugin” representing the plug-in directory 213 is held.

“Files”は、“Directory”で示されたディレクトリ(プラグインディレクトリ213)内に格納されたファイルのうち、送信するファイルの一覧を保持している。本実施の形態にかかる“Files”には、プラグイン一覧情報“plugin_info.json”と、プラグインアーカイブ“plugin_archive.zip”を示すファイル名を保持している。   “Files” holds a list of files to be transmitted among the files stored in the directory (plug-in directory 213) indicated by “Directory”. “Files” according to the present embodiment holds plug-in list information “plugin_info.json” and a file name indicating the plug-in archive “plugin_archive.zip”.

“Module”は、ポイント・アンド・プリントの処理を行う際に、呼び出すライブラリ(ダイナミック・リンク・ライブラリ)を示すファイル名を保持している。本実施の形態にかかる“Module”は、ポイント・アンド・プリント・ライブラリ252を示すファイル名“ppmodule.dll”を保持している。   “Module” holds a file name indicating a library (dynamic link library) to be called when the point-and-print process is performed. “Module” according to the present embodiment holds a file name “ppmodule.dll” indicating the point-and-print library 252.

この呼び出す対象となるライブラリ(ポイント・アンド・プリント・ライブラリ252)は、GenerateCopyFilePaths()と、SpoolerCopyFileEvent()のAPIを実装したダイナミック・リンク・ライブラリとする。   The library to be called (point and print library 252) is a dynamic link library in which APIs of GenerateCopyFilePaths () and SpoolerCopyFileEvent () are implemented.

GenerateCopyFilePathsは、サーバPC100、クライアントPC110のそれぞれで呼び出されるAPIであり、図2の特定部261に相当する。このGenerateCopyFilePaths(特定部261)は、送信元や送信先のディレクトリのパス等を特定する際に呼び出される。   GenerateCopyFilePaths is an API called by each of the server PC 100 and the client PC 110, and corresponds to the specifying unit 261 in FIG. This GenerateCopyFilePaths (specifying unit 261) is called when specifying the path of the source or destination directory.

SpoolerCopyFileEventは、クライアントPC110で動作するAPIであり、ポイント・アンド・プリントの接続開始/終了などのイベントを通知する。なお、具体的な通知制御については省略する。   SpoolerCopyFileEvent is an API that runs on the client PC 110 and notifies events such as point-and-print connection start / end. Specific notification control is omitted.

DEVMODE211は、プリンタドライバ250の設定を保存するために、OS201側によって提供された構造体とする。例えば、DEVMODE211は、プリンタドライバ250に対して行われた現在の設定値などを保持する。   The DEVMODE 211 is a structure provided by the OS 201 in order to save the settings of the printer driver 250. For example, the DEVMODE 211 holds the current setting value set for the printer driver 250 and the like.

プラグインディレクトリ213は、プリンタドライバ250のプラグインを保存するためのディレクトリとする。本実施の形態にかかるプラグインディレクトリ213は、プラグイン一覧情報と、プラグインアーカイブとを、格納する。   The plug-in directory 213 is a directory for storing printer driver 250 plug-ins. The plug-in directory 213 according to the present embodiment stores plug-in list information and plug-in archives.

プリンタドライバ250のインストール直後に、プリンタドライバ250が所定のパスに、プラグインディレクトリ213を生成する。そして、プリンタドライバ250が、初期のプラグイン一覧情報と、初期のプラグインアーカイブと、をプラグインディレクトリ213に生成する(なお、コピー等であっても良い)。   Immediately after installation of the printer driver 250, the printer driver 250 generates a plug-in directory 213 in a predetermined path. Then, the printer driver 250 generates initial plug-in list information and an initial plug-in archive in the plug-in directory 213 (which may be a copy or the like).

その後、プリンタドライバ250に対してプラグインが追加される際、当該ディレクトリのプラグイン一覧情報とプラグインアーカイブとに、プラグインに関する情報が追加されていく。これにより、プリンタドライバ250の機能を拡張できる。   Thereafter, when a plug-in is added to the printer driver 250, information about the plug-in is added to the plug-in list information and the plug-in archive in the directory. Thereby, the function of the printer driver 250 can be expanded.

具体的には、プリンタドライバ250に対してプラグインが追加された場合、当該プラグインを認識させるプラグイン情報をプラグイン一覧情報に対して追加するとともに、当該プラグインが追加されたプラグインアーカイブを生成する。なお、本実施の形態において、プラグインの追加は、プリンタドライバ250自体は関与せず、外部のツールなどによって行われるものとする。   Specifically, when a plug-in is added to the printer driver 250, plug-in information for recognizing the plug-in is added to the plug-in list information, and a plug-in archive in which the plug-in is added is added. Is generated. In this embodiment, it is assumed that the addition of the plug-in is performed by an external tool or the like without involving the printer driver 250 itself.

次に、プラグイン一覧情報の初期状態について説明する。図6は、プラグイン一覧情報の初期状態を示した図である。図6に示すように、プラグイン一覧情報は、初期状態ではなんの情報も格納されていない。つまり、プリンタドライバ250のインストール直後においては、利用可能なプラグインが存在しないことを示している。そして、プラグインが追加される毎に、追加されたプラグインの名称や、当該プラグインに関する情報が書込部204により書き込まれる。また、本実施の形態は、プラグイン一覧情報のフォーマットとして、JSON(Java(登録商標)Script Object Notation)形式を用いた例とするが、他のフォーマットを用いても良い。   Next, the initial state of plug-in list information will be described. FIG. 6 is a diagram showing an initial state of plug-in list information. As shown in FIG. 6, the plug-in list information does not store any information in the initial state. That is, immediately after installation of the printer driver 250, there is no usable plug-in. Each time a plug-in is added, the name of the added plug-in and information related to the plug-in are written by the writing unit 204. In the present embodiment, the JSON (Java (registered trademark) Script Object Notation) format is used as the format of the plug-in list information, but other formats may be used.

また、プラグインアーカイブも初期状態で、何の情報も格納されていないものとする。本実施の形態では、プラグインアーカイブは、各プラグインをまとめてZIP圧縮したアーカイブファイルとする。つまり、プラグインアーカイブは、プラグインが追加されていない初期状態では空のZIPファイルであり、プラグインが追加される毎に今まで追加されたプラグインをまとめたZIPファイルが生成される。   It is also assumed that the plug-in archive is in an initial state and no information is stored. In the present embodiment, the plug-in archive is an archive file in which the plug-ins are collectively ZIP-compressed. In other words, the plug-in archive is an empty ZIP file in the initial state where no plug-in is added, and a ZIP file in which plug-ins that have been added so far are generated each time a plug-in is added.

次に、プラグインが追加されたプラグイン一覧情報と、プラグインアーカイブと、について説明する。なお、当該説明では、borderlineプラグインとstampプラグインとの2つのプラグインが追加された例とする。   Next, plug-in list information to which plug-ins have been added and plug-in archives will be described. In the description, it is assumed that two plug-ins, a borderline plug-in and a stamp plug-in, are added.

図7は、2つのプラグインが追加されたプラグイン一覧情報の例を示した図である。図7に示すように、プラグイン一覧情報は、JSON形式によるテーブルとして機能する。そして、プラグイン一覧情報において、プラグインの名称が、キーとして機能するObjectとする。そして、キーに対応する値は、当該プラグインに対応する参照可能な情報として設定されている。なお、図7に示す例は、参照可能な情報として、プラグインのバージョンが記述された例とする。   FIG. 7 is a diagram illustrating an example of plug-in list information in which two plug-ins are added. As shown in FIG. 7, the plug-in list information functions as a table in the JSON format. In the plug-in list information, the name of the plug-in is an object that functions as a key. The value corresponding to the key is set as the referable information corresponding to the plug-in. The example shown in FIG. 7 is an example in which a plug-in version is described as referenceable information.

図8は、2つのプラグインが追加されたプラグインアーカイブの例を示した図である。図8に示すように、プラグインアーカイブは、プラグイン一覧情報に記述されているプラグインの名称と同一のディレクトリを有する。つまり、プラグインアーカイブには、Borderlineディレクトリ801と、Stampディレクトリ802と、の2つが含まれている。そして、プリンタドライバ250は、プラグイン一覧情報に書き込まれたプラグインの名称に基づいて、プラグインアーカイブ内の、各プラグインのモジュールの格納されたディレクトリを特定する。   FIG. 8 is a diagram showing an example of a plug-in archive in which two plug-ins are added. As shown in FIG. 8, the plug-in archive has the same directory as the name of the plug-in described in the plug-in list information. That is, the plug-in archive includes two items, a Borderline directory 801 and a Stamp directory 802. Then, the printer driver 250 identifies the directory in which the plug-in module is stored in the plug-in archive based on the plug-in name written in the plug-in list information.

図8の、プラグインアーカイブ内の各ディレクトリには、機能情報と、画面レイアウト情報と、描画拡張モジュールと、の3つのモジュールが格納されている。この機能情報、及び画面レイアウト情報は、ドライバ設定ディレクトリ212に格納された、プリンタドライバ250の機能情報、画面レイアウト情報と同様の形式の情報とする。具体的には、プラグインアーカイブ内の各ディレクトリに格納された機能情報には、プラグインで追加される機能が定義されている。また、プラグインアーカイブ内の各ディレクトリに格納された画面レイアウト情報には、プラグインに関する画面レイアウトが記述されている。   Each directory in the plug-in archive in FIG. 8 stores three modules: function information, screen layout information, and a drawing extension module. The function information and screen layout information are information in the same format as the function information and screen layout information of the printer driver 250 stored in the driver setting directory 212. Specifically, the function information stored in each directory in the plug-in archive defines a function added by the plug-in. Further, the screen layout information stored in each directory in the plug-in archive describes the screen layout related to the plug-in.

描画拡張モジュールは、プラグインが提供する機能による描画処理を行うモジュールとする。例えば、borderlineプラグインの描画拡張モジュールは、集約時にページの区切り線を引く機能を提供する。さらに、stampプラグインの描画拡張モジュールは、スタンプ印字を行う機能を提供する。これら各プラグインの描画拡張モジュールは、ジョブの開始/終了、ページの開始/終了、各種描画オブジェクトの描画など、描画ドライバに対応したAPIが実装されている。   The drawing extension module is a module that performs drawing processing by the function provided by the plug-in. For example, the drawing extension module of the borderline plug-in provides a function for drawing a page separator line at the time of aggregation. Further, the drawing extension module of the stamp plug-in provides a function for performing stamp printing. These plug-in drawing extension modules are implemented with APIs corresponding to drawing drivers, such as job start / end, page start / end, and drawing of various drawing objects.

なお、本実施の形態にかかるプラグインの追加は、通常プラグインインストーラなどによって行われる。しかしながら、プラグインの追加は、インストーラを用いるものに制限するものではなく、プラグイン一覧情報に対して、追加するプラグインの情報を書き込み制御しても良い。また、ユーザの操作に従って、プラグインアーカイブにプラグインのファイルを追加してもよい。   Note that the addition of the plug-in according to the present embodiment is normally performed by a plug-in installer or the like. However, the addition of a plug-in is not limited to that using an installer, and information on the plug-in to be added may be written and controlled with respect to the plug-in list information. Further, a plug-in file may be added to the plug-in archive in accordance with a user operation.

なお、本実施の形態では、初期状態でプラグインがインストールされていない例について説明した。しかしながら、プラグインがインストールされてない例に制限するものではなく、最初から、プラグインが記載されたプラグイン一覧情報と、当該プラグイン一覧情報に矛盾が生じないようプラグインがアーカイブされたプラグインアーカイブと、を初期状態として予め作成してもよい。これにより、プリンタドライバ250のインストール直後からプラグインを利用することも可能となる。   In the present embodiment, an example in which no plug-in is installed in the initial state has been described. However, the present invention is not limited to an example in which the plug-in is not installed. From the beginning, the plug-in list information in which the plug-in is described and the plug-in in which the plug-in is archived so that no inconsistency occurs between the plug-in list information. In-archive may be created in advance as an initial state. As a result, the plug-in can be used immediately after the printer driver 250 is installed.

次に、本実施の形態にかかるサーバPC100における、ドライバのインストールの処理について説明する。図9は、本実施の形態にかかるサーバPC100における上述した処理の手順を示すシーケンス図である。図9に示すシーケンスでは、プリンタドライバ250をインストールする例とする。   Next, driver installation processing in the server PC 100 according to the present embodiment will be described. FIG. 9 is a sequence diagram illustrating the above-described processing procedure in the server PC 100 according to the present embodiment. In the sequence shown in FIG. 9, the printer driver 250 is installed as an example.

まず、OS201は、プリンタドライバ250のインストール要求を受け付けた場合に、当該プリンタドライバの構成ファイルをインストールする(ステップS901)。つまり、OS201は、プリンタドライバ250の構成ファイルを、全てのドライバの格納先となるインストールディレクトリにコピーする。このコピーされる構成ファイルとは、図2のプリンタドライバ250に含まれる構成とする。   First, when receiving an installation request for the printer driver 250, the OS 201 installs a configuration file for the printer driver (step S901). That is, the OS 201 copies the configuration file of the printer driver 250 to the installation directory that is the storage destination of all drivers. The copied configuration file is a configuration included in the printer driver 250 of FIG.

その後、OS201は、構成ファイルがインストールされたプリンタドライバ250のUIドライバ254に対して、ドライバインストールのイベントを送出する(ステップS902)。   Thereafter, the OS 201 sends a driver installation event to the UI driver 254 of the printer driver 250 in which the configuration file has been installed (step S902).

UIドライバ254は、プラグイン管理部255に対して、プラグインの初期設定を要求する(ステップS903)。   The UI driver 254 requests the plug-in management unit 255 to perform initial plug-in settings (step S903).

当該要求に従って、プラグイン管理部255は、プラグインディレクトリ213のパスを生成する(ステップS904)。本実施の形態においては、OS201が有するAPI(例えば、Windows(登録商標)API)の、フォルダパスを特定するコマンド(例えば、SHGetSpecialFolderPath)を利用して、所定のフォルダのパス(例えばComonApplicationDataのパス)を取得する。そして、プラグイン管理部255は、取得した所定のフォルダのパスに対して、“ドライバ名\Plugin”を連結したパスを、プラグインディレクトリ213として生成する。生成されたプラグインディレクトリ213は、以降、プラグインの格納等に利用される。   In accordance with the request, the plug-in management unit 255 generates a path for the plug-in directory 213 (step S904). In the present embodiment, a path of a predetermined folder (for example, a path of ComonApplicationData) using a command (for example, SHGetSpecialFolderPath) for specifying a folder path of an API (for example, Windows (registered trademark) API) that the OS 201 has. To get. Then, the plug-in management unit 255 generates, as a plug-in directory 213, a path in which “driver name \ Plugin” is linked to the acquired path of the predetermined folder. The generated plug-in directory 213 is subsequently used for storing plug-ins.

例えば、インストールするドライバ名が“DriverA”の場合、プラグイン管理部255は、プラグインディレクトリ213のパスとして、“C:\Documents and Settings\All Users\Application Data\DriverA\Plugin”を生成する。   For example, when the driver name to be installed is “DriverA”, the plug-in management unit 255 generates “C: \ Documents and Settings \ All Users \ Application Data \ DriverA \ Plugin” as the path of the plug-in directory 213.

次に、プラグイン管理部255が、生成したプラグインディレクトリ213のパスに対して、初期状態のプラグイン一覧情報を生成する(ステップS905)。なお、この初期状態のプラグイン情報は、プリンタドライバ250の構成ファイルとして含まれていたものをコピーしても良い。   Next, the plug-in management unit 255 generates plug-in list information in the initial state for the generated path of the plug-in directory 213 (step S905). Note that the plug-in information in the initial state may be copied as the configuration file of the printer driver 250.

さらに、プラグイン管理部255が、生成したプラグインディレクトリ213のパスに対して、初期状態のプラグインアーカイブを生成する(ステップS906)。この初期状態のプラグインアーカイブは、プリンタドライバ250の構成ファイルとして含まれていたものをコピーしても良い。   Further, the plug-in management unit 255 generates an initial plug-in archive for the generated path of the plug-in directory 213 (step S906). The plug-in archive in the initial state may be copied as a configuration file of the printer driver 250.

なお、通常、初期状態ではプラグインは空であるが、最初からドライバパッケージにプラグインを含めて配布したい場合、図7に示すプラグイン一覧情報や、図8に示すプラグインアーカイブのように最初からプラグインが含まれた構成であっても良い。このような構成であれば、ドライバのインストール直後からプラグインの機能が利用可能となる。   Normally, the plug-in is empty in the initial state, but if you want to distribute the driver package including the plug-in from the beginning, the plug-in list information shown in FIG. 7 or the plug-in archive shown in FIG. The plug-in may be included. With such a configuration, the plug-in function can be used immediately after the driver is installed.

これは、まず第1に、プリンタドライバ250のインストールは、プラグイン一覧情報とプラグインアーカイブとの内部と関係なく行われるものだからである。第2に、プリンタドライバ250のインストール後において、プラグインを動作させるために必要な情報は全て、プラグインディレクトリ内のプラグイン一覧情報と、プラグインアーカイブと、に持たせているためである。このため、最初に、プラグイン一覧情報と、プラグインアーカイブとに含ませていても、問題なく機能する。   This is because, first of all, the installation of the printer driver 250 is performed regardless of the inside of the plug-in list information and the plug-in archive. Secondly, after the printer driver 250 is installed, all information necessary for operating the plug-in is stored in the plug-in list information in the plug-in directory and the plug-in archive. Therefore, even if it is first included in the plug-in list information and the plug-in archive, it functions without any problem.

そして、プラグイン管理部255は、レジストリ210に対して、プラグインを利用するために必要な情報を設定する(ステップS907)。この必要な情報の例としては、クライアントPC110によるポイント・アンド・プリント時に、プリンタドライバ250のプラグインに関するファイルを送信させるための情報であって、図5に示した情報とする。   Then, the plug-in management unit 255 sets information necessary for using the plug-in in the registry 210 (step S907). An example of the necessary information is information for transmitting a file related to the plug-in of the printer driver 250 during the point-and-print by the client PC 110, and is the information shown in FIG.

上述した処理手順によりサーバPC100に対してプリンタドライバ250がインストールされる。次に、サーバPC100からプリンタドライバ250のインストール先となるクライアントPC110について説明する。   The printer driver 250 is installed in the server PC 100 by the above processing procedure. Next, the client PC 110 that is the installation destination of the printer driver 250 from the server PC 100 will be described.

図10は、本実施の形態にかかるクライアントPC110の機能ブロックを示した図である。図10に示すようにクライアントPC110は、OS1001が搭載されており、当該OS1001が、クライアントPC110に搭載された(図示しない)アプリケーションや、ハードウェアを制御する。   FIG. 10 is a diagram showing functional blocks of the client PC 110 according to the present embodiment. As shown in FIG. 10, the client PC 110 has an OS 1001 installed therein, and the OS 1001 controls an application (not shown) and hardware installed in the client PC 110.

OS1001は、プリンタドライバ250と、制御部1002と、受信部1003と、インストール部1004と、格納部1005と、展開部1006と、表示部1007と、レジストリ1010と、DEVMODE1011と、ドライバ設定ディレクトリ1012と、プラグインディレクトリ1013と、を備えている。本実施の形態においては、OS1001として、MS-Windows(登録商標)が搭載されている例について説明する。このように、クライアントPC110に搭載されるOS1001の種類は、サーバPC100と同一のOSであってもよいし、他のOSが搭載されていても良い。   The OS 1001 includes a printer driver 250, a control unit 1002, a reception unit 1003, an installation unit 1004, a storage unit 1005, a development unit 1006, a display unit 1007, a registry 1010, a DEVMODE 1011, and a driver setting directory 1012. And a plug-in directory 1013. In this embodiment, an example in which MS-Windows (registered trademark) is installed as the OS 1001 will be described. As described above, the type of the OS 1001 installed in the client PC 110 may be the same OS as that of the server PC 100, or another OS may be installed.

レジストリ1010は、クライアントPC110のOS1001や、OS1001上で動作するアプリケーションの設定が格納されたデータベースとする。   The registry 1010 is a database that stores the settings of the OS 1001 of the client PC 110 and the applications that run on the OS 1001.

DEVMODE1011は、プリンタドライバ250の設定を保存するために、OS201側によって提供された構造体とする。   The DEVMODE 1011 is a structure provided by the OS 201 in order to save the settings of the printer driver 250.

制御部1002は、OS1001にインストールされたドライバ(例えばプリンタドライバ250を含む)を制御する。制御部1002により制御される各ドライバは、プラグインアーカイブにアーカイブされているプラグインを、プラグイン一覧情報に従って呼び出す。このため、制御部1002による制御に基づいて、インストールされた各プラグインの機能を利用できる。   The control unit 1002 controls drivers (for example, including the printer driver 250) installed in the OS 1001. Each driver controlled by the control unit 1002 calls the plug-in archived in the plug-in archive according to the plug-in list information. Therefore, the functions of each installed plug-in can be used based on the control by the control unit 1002.

受信部1003は、サーバPC100から情報を受信する。受信する情報の例としては、インストールするドライバ、当該プリンタドライバで用いるプラグインアーカイブ、及び当該プリンタドライバで用いるプラグイン一覧情報等とする。   The receiving unit 1003 receives information from the server PC 100. Examples of information received include a driver to be installed, a plug-in archive used by the printer driver, and plug-in list information used by the printer driver.

インストール部1004は、受信部1003が受信したドライバのインストール制御を行う。本実施の形態にかかるインストール部1004は、ポイント・アンド・プリントでプリンタドライバのインストールを行う。   The installation unit 1004 performs installation control of the driver received by the reception unit 1003. The installation unit 1004 according to the present embodiment installs a printer driver by point-and-print.

また、インストール部1004は、ドライバのインストールの際に、当該ドライバで用いる設定情報を、ドライバ設定ディレクトリ1012に格納する。   The installation unit 1004 stores setting information used by the driver in the driver setting directory 1012 when the driver is installed.

ドライバ設定ディレクトリ1012は、プリンタドライバ250が処理を行う際に参照する設定情報が格納されたディレクトリとする。ドライバ設定ディレクトリ1012には機能情報、及び画面レイアウト情報が格納される。当該機能情報、及び画面レイアウト情報は、サーバPC100のドライバ設定ディレクトリ212に格納された機能情報、及び画面レイアウト情報と同様とする。   The driver setting directory 1012 is a directory that stores setting information to be referred to when the printer driver 250 performs processing. The driver setting directory 1012 stores function information and screen layout information. The function information and screen layout information are the same as the function information and screen layout information stored in the driver setting directory 212 of the server PC 100.

プリンタドライバ250は、インストール部1004によりインストールされたドライバとする。このプリンタドライバ250は、サーバPC100からインストールされたため、サーバPC100に搭載されたものと同一構成とする。   The printer driver 250 is a driver installed by the installation unit 1004. Since the printer driver 250 is installed from the server PC 100, the printer driver 250 has the same configuration as that installed in the server PC 100.

表示部1007は、プリンタドライバ250に関する設定画面等を表示する。例えば、表示部1007は、ドライバ設定ディレクトリ212に格納された画面レイアウト情報、及びプラグイン毎の画面レイアウト情報に従って生成された、設定画面を表示する。なお、プラグインが追加されていない場合、表示部1007は、ドライバ設定ディレクトリ212に格納された画面レイアウト情報のみから生成された設定画面を表示する。   A display unit 1007 displays a setting screen related to the printer driver 250 and the like. For example, the display unit 1007 displays a setting screen generated according to the screen layout information stored in the driver setting directory 212 and the screen layout information for each plug-in. When no plug-in is added, the display unit 1007 displays a setting screen generated only from the screen layout information stored in the driver setting directory 212.

図11は、ドライバ設定ディレクトリ1012の画面レイアウト情報のみから生成される印刷設定画面の例を示した図である。図11に示す印刷設定画面の例では、プリンタドライバ250の構成モジュールにおいて使用可能な項目が表示されている。そして、図11で示した印刷設定画面に表示された各項目に対する設定は、機能情報を読み込んだ設定管理部253で管理する。   FIG. 11 is a diagram illustrating an example of a print setting screen generated only from the screen layout information of the driver setting directory 1012. In the example of the print setting screen illustrated in FIG. 11, items usable in the configuration module of the printer driver 250 are displayed. The settings for each item displayed on the print setting screen shown in FIG. 11 are managed by the setting management unit 253 that has read the function information.

図11の「OK」ボタンは印刷設定の変更を保存するボタンであり、「Cancel」ボタンは印刷設定の変更をキャンセルするボタンとする。そして、これら「OK」ボタン、及び「Cancel」ボタンは、画面レイアウト情報に従って表示されるボタンではなく、画面レイアウト情報とは関係なく実装しているボタンとする。   The “OK” button in FIG. 11 is a button for saving the print setting change, and the “Cancel” button is a button for canceling the print setting change. These “OK” button and “Cancel” button are not displayed according to the screen layout information, but are implemented regardless of the screen layout information.

なお、サーバPC100にプリンタドライバ250にプラグインが追加されている場合、サーバPC100からプリンタドライバ250のインストールを行ったクライアントPC110では、図11に示す印刷設定画面を表示せず、プラグインの画面レイアウト情報を含めた印刷設定画面を表示する。   If a plug-in is added to the printer driver 250 in the server PC 100, the client PC 110 that has installed the printer driver 250 from the server PC 100 does not display the print setting screen shown in FIG. Display the print setting screen including information.

プラグインディレクトリ1013は、プリンタドライバ250のプラグインを保存するためのディレクトリとする。プラグインディレクトリ1013に格納されたプラグイン一覧情報及びプラグインアーカイブは、プラグインディレクトリ213に格納されたプラグイン一覧情報及びプラグインアーカイブと同様とする。   The plug-in directory 1013 is a directory for storing printer driver 250 plug-ins. The plug-in list information and plug-in archive stored in the plug-in directory 1013 are the same as the plug-in list information and plug-in archive stored in the plug-in directory 213.

展開部1006は、アーカイブを展開する。本実施の形態にかかる展開部1006は、プラグインディレクトリ1013内の、ZIP形式で圧縮されたプラグインアーカイブから、各プラグインに展開する。   The expansion unit 1006 expands the archive. The expansion unit 1006 according to the present exemplary embodiment expands each plug-in from the plug-in archive compressed in the ZIP format in the plug-in directory 1013.

また、展開部1006は、プラグインアーカイブを展開する際、各プラグインの構成ファイルとして、プラグイン毎に画面レイアウト情報と、機能設定情報と、描画拡張モジュールと、を展開する。   Further, when expanding the plug-in archive, the expansion unit 1006 expands screen layout information, function setting information, and a drawing extension module for each plug-in as a configuration file of each plug-in.

描画拡張モジュールは、当該プラグインの処理に対するAPIを有する実行可能なファイルとする。   The drawing extension module is an executable file having an API for the processing of the plug-in.

プラグイン毎の画面レイアウト情報には、各GUIの種類、機能名及び座標情報の配列構造で記述されている。また、プラグイン毎の機能情報には、当該機能を利用するための設定が含まれている。次に、各プラグインの機能情報、及び画面レイアウト情報を説明する。   The screen layout information for each plug-in is described by an array structure of GUI types, function names, and coordinate information. Further, the function information for each plug-in includes a setting for using the function. Next, function information and screen layout information of each plug-in will be described.

図12は、“borderline”プラグインの機能情報の例を示した図である。“borderline”プラグインは、集約時に区切り線を引く機能なので、図12に示す例では、集約設定が“off”の場合、“borderline”機能が強制的にoffになるよう設定されている。   FIG. 12 is a diagram illustrating an example of function information of the “borderline” plug-in. Since the “borderline” plug-in is a function for drawing a separator line at the time of aggregation, in the example shown in FIG. 12, when the aggregation setting is “off”, the “borderline” function is set to be forcibly turned off.

図13は、“borderline”プラグインの画面レイアウト情報の例を示した図である。図13に示すように、“borderline”に関する設定を行うためにチェックボックスを表示すること、当該チェックボックスをx座標=“170”、y座標=“30”に表示することが定義されている。この設定により、集約設定の右側にチェックボックスによるユーザ・インターフェイス(UI)が表示される。   FIG. 13 is a diagram illustrating an example of screen layout information of the “borderline” plug-in. As shown in FIG. 13, it is defined that a check box is displayed in order to make a setting relating to “borderline”, and that the check box is displayed at x coordinate = “170” and y coordinate = “30”. With this setting, a user interface (UI) by a check box is displayed on the right side of the aggregation setting.

図14は、“stamp”プラグインの機能情報の例を示した図である。“stamp”プラグインは、入力された文字列をスタンプ印字する機能とする。図14に示す例では、フォントサイズの範囲等が設定されている。   FIG. 14 is a diagram illustrating an example of function information of the “stamp” plug-in. The “stamp” plug-in has a function that stamps the input character string. In the example shown in FIG. 14, a font size range and the like are set.

図15は、“stamp”プラグインの画面レイアウト情報の例を示した図である。図13に示すように、“stamp”に関する設定を行うためにエディットボックスを表示すること、当該エディットボックスをx座標=“170”、y座標=“120”に表示することが定義されている。この設定により、画面の右下にエディットボックスによるユーザ・インターフェイス(UI)が表示される。   FIG. 15 is a diagram illustrating an example of screen layout information of the “stamp” plug-in. As shown in FIG. 13, it is defined that an edit box is displayed in order to make a setting relating to “stamp”, and that the edit box is displayed at x-coordinate = “170” and y-coordinate = “120”. By this setting, an edit box user interface (UI) is displayed at the lower right of the screen.

そして、制御部1002で制御されるプリンタドライバ250は、展開部1006により展開されたプラグインを用いて、印刷を制御する。本実施の形態にかかるプリンタドライバ250は、展開されたプラグインの描画拡張モジュールのAPIを呼び出して、プラグインを用いた制御を行う。   The printer driver 250 controlled by the control unit 1002 controls printing using the plug-in developed by the development unit 1006. The printer driver 250 according to the present embodiment calls the API of the developed plug-in drawing extension module and performs control using the plug-in.

特定部261は、クライアントPC110のインストール部1004からポイント・アンド・プリントを行うために呼び出された場合、プラグインアーカイブとプラグイン一覧情報とを格納するパスを特定する。本実施の形態にかかる特定部261は、プラグインディレクトリ1013を格納先のパスとして特定する。   When called from the installation unit 1004 of the client PC 110 for point-and-print, the specifying unit 261 specifies a path for storing the plug-in archive and plug-in list information. The identifying unit 261 according to the present embodiment identifies the plug-in directory 1013 as a storage destination path.

格納部1005は、受信部1003により受信したプラグインアーカイブとプラグイン一覧情報とを、プラグインディレクトリ1013に格納する。格納部1005は、特定部261により特定されたパスに対して、プラグインアーカイブとプラグイン一覧情報とを格納する。   The storage unit 1005 stores the plug-in archive and plug-in list information received by the receiving unit 1003 in the plug-in directory 1013. The storage unit 1005 stores a plug-in archive and plug-in list information for the path specified by the specifying unit 261.

次に、本実施の形態にかかる印刷制御システムにおけるドライバのインストールの処理について説明する。図16は、本実施の形態にかかる印刷制御システムにおける上述した処理の手順を示すフローチャートである。図16に示す例では、サーバPC100から、クライアントPC110に対して、プリンタドライバ250をインストールする際の手順とする。   Next, driver installation processing in the print control system according to the present embodiment will be described. FIG. 16 is a flowchart showing a procedure of the above-described processing in the print control system according to the present embodiment. In the example illustrated in FIG. 16, a procedure for installing the printer driver 250 from the server PC 100 to the client PC 110 is used.

まず、ユーザが、クライアントPC110から、サーバPC100側にインストールされているプリンタを指定してPoint and Printを実行する(ステップS1601)。これにより、クライアントPC110のOS1001に含まれる、インストール部1004が、サーバPC100のOS201に対して、ポイント・アンド・プリントに基づくドライバのインストールを要求する(ステップS1602)。   First, the user designates a printer installed on the server PC 100 side from the client PC 110 and executes Point and Print (step S1601). As a result, the installation unit 1004 included in the OS 1001 of the client PC 110 requests the OS 201 of the server PC 100 to install a driver based on point-and-print (step S1602).

これに伴い、サーバPC100における、OS201の送信部203が、クライアントPC110のOS1001に含まれる受信部1003に対して、プリンタドライバ250本体の構成ファイルを送信する(ステップS1603)。そして、クライアントPC110のインストール部1004が、受信した構成ファイルに基づいて、プリンタドライバ250のインストール制御を行う(ステップS1606)。これにより、クライアントPC110にプリンタドライバ250がインストールされる。また、プリンタドライバ250の構成ファイルの1つであるポイント・アンド・プリント・ライブラリ252も、サーバPC100からクライアントPC110にコピーされる。   Accordingly, the transmission unit 203 of the OS 201 in the server PC 100 transmits the configuration file of the printer driver 250 main body to the reception unit 1003 included in the OS 1001 of the client PC 110 (step S1603). Then, the installation unit 1004 of the client PC 110 performs installation control of the printer driver 250 based on the received configuration file (step S1606). As a result, the printer driver 250 is installed in the client PC 110. Further, the point and print library 252 which is one of the configuration files of the printer driver 250 is also copied from the server PC 100 to the client PC 110.

一方、サーバPC100において、OS201が、ポイント・アンド・プリント・ライブラリ252のGenerateCopyFilePaths()を呼び出す(ステップS1604)。このポイント・アンド・プリント・ライブラリ252は、レジストリ210の“Module”で予め設定されている。つまり、本実施の形態では、レジストリ210を参照することで、特定されたAPIに対してOS201が呼び出しを行っている。また、当該APIを呼び出す際、引数として、ファイル送信元のディレクトリのパス、ファイル送信先のディレクトリのパス、サーバ側で呼び出していることを示すフラグ、を受け渡す。なお、ファイル送信元のディレクトリ名、及びファイル送信先のディレクトリ名は、レジストリ210のDirectoryキーで設定されたディレクトリのパスとする。   On the other hand, in the server PC 100, the OS 201 calls GenerateCopyFilePaths () of the point-and-print library 252 (step S1604). This point-and-print library 252 is preset in “Module” of the registry 210. That is, in this embodiment, the OS 201 calls the specified API by referring to the registry 210. In addition, when calling the API, a file source directory path, a file destination directory path, and a flag indicating that the server is calling are passed as arguments. The directory name of the file transmission source and the directory name of the file transmission destination are the directory paths set by the Directory key of the registry 210.

そして、GenerateCopyFilePaths()がサーバPC100側から呼び出された場合、サーバPC100内の特定部261は、送信するファイルが格納されたディレクトリのパスを特定する(ステップS1605)。つまり、特定部261は、GenerateCopyFilePaths()がサーバPC100側として呼び出された際、GenerateCopyFilePaths()の処理として、プラグイン一覧情報及びプラグインアーカイブが格納されたパスを返す。必要があればこれらのディレクトリのパスを書き換えて返すことで、送信元、送信先のディレクトリを変更する。   When GenerateCopyFilePaths () is called from the server PC 100 side, the specifying unit 261 in the server PC 100 specifies the path of the directory in which the file to be transmitted is stored (step S1605). In other words, when GenerateCopyFilePaths () is called on the server PC 100 side, the specifying unit 261 returns the path in which the plug-in list information and the plug-in archive are stored as the process of GenerateCopyFilePaths (). If necessary, the source and destination directories are changed by rewriting and returning the paths of these directories.

一方、クライアントPC110においても、OS1001が、ポイント・アンド・プリント・ライブラリ252のGenerateCopyFilePaths()を呼び出す(ステップS1607)。なお、当該APIを呼び出す際、引数として、ファイル送信元のディレクトリのパス、ファイル送信先のディレクトリのパス、クライアント側で呼び出していることを示すフラグ、を受け渡す。   On the other hand, also in the client PC 110, the OS 1001 calls GenerateCopyFilePaths () of the point-and-print library 252 (step S1607). When the API is called, a file source directory path, a file destination directory path, and a flag indicating that the client is called are passed as arguments.

そして、GenerateCopyFilePaths()がクライアントPC110側から呼び出された場合、クライアントPC110内の特定部261は、プラグインの格納先となるプラグインディレクトリ1013のパスを特定する(ステップS1608)。なお、特定する手順については後述する。その後、ポイント・アンド・プリント・ライブラリ252が、特定されたプラグインディレクトリ1013のパスを、OS1001に返す(ステップS1609)。   When GenerateCopyFilePaths () is called from the client PC 110 side, the specifying unit 261 in the client PC 110 specifies the path of the plug-in directory 1013 that is a plug-in storage destination (step S1608). The procedure for specifying will be described later. Thereafter, the point-and-print library 252 returns the path of the identified plug-in directory 1013 to the OS 1001 (step S1609).

そして、クライアントPC110のOS1001は、サーバPC100に対して、プラグインの送信要求を行う(ステップS1610)。当該送信要求を受けて、サーバPC100の特定部261は、ステップS1605で特定されたパスが指し示すディレクトリと、レジストリ210のFilesキーに設定されたファイル名と、から、送信するファイル群(プラグインアーカイブ及びプラグイン一覧情報)を特定し、送信部203が、特定されたファイル群を、クライアントPC110の受信部1003に対して送信する(ステップS1611)。   Then, the OS 1001 of the client PC 110 makes a plug-in transmission request to the server PC 100 (step S1610). In response to the transmission request, the specifying unit 261 of the server PC 100 transmits a file group (plug-in archive) from the directory indicated by the path specified in step S1605 and the file name set in the Files key of the registry 210. And the plug-in list information), and the transmission unit 203 transmits the identified file group to the reception unit 1003 of the client PC 110 (step S1611).

その後、格納部1005が、受信したファイル群を、ステップS1609で特定されたプラグインディレクトリ1013のパスに格納する(ステップS1612)。   Thereafter, the storage unit 1005 stores the received file group in the path of the plug-in directory 1013 specified in step S1609 (step S1612).

上述した処理手順により、クライアントPC110に対して、プリンタドライバ250と、当該プリンタドライバ250のプラグインとがインストールされる。   The printer driver 250 and a plug-in for the printer driver 250 are installed in the client PC 110 by the above-described processing procedure.

つまり、本実施の形態においては、レジストリ210で設定したパス及びファイル名が指し示すプラグイン一覧情報とプラグインアーカイブとを、クライアントPC110に送信することで、ドライバのプラグインのインストールを行うこととした。   In other words, in this embodiment, the plug-in list information indicated by the path and file name set in the registry 210 and the plug-in archive are transmitted to the client PC 110 to install the driver plug-in. .

ところで、本実施の形態においては、追加、削除などドライバにインストールされたプラグインが変化しても、当該プラグインアーカイブのファイル名は変化しない。このプラグインアーカイブのファイル名はレジストリ210に予め登録されているため、サーバPC100が、当該レジストリ210を参照して特定されたプラグインアーカイブを、クライアントPC110に送信するだけで、クライアントPC110が利用可能なプラグインが全て送信されたことになる。そして、クライアントPC110側では、プラグインアーカイブとともに送信されたプラグイン一覧情報を参照することで、プラグインアーカイブにまとめられた全てのプラグインを認識できる。   By the way, in this embodiment, even if the plug-in installed in the driver changes such as addition or deletion, the file name of the plug-in archive does not change. Since the file name of the plug-in archive is registered in the registry 210 in advance, the server PC 100 can use the client PC 110 only by transmitting the plug-in archive specified with reference to the registry 210 to the client PC 110. All the plug-ins are sent. On the client PC 110 side, all plug-ins collected in the plug-in archive can be recognized by referring to the plug-in list information transmitted together with the plug-in archive.

つまり、本実施の形態にかかる印刷制御システムにおいては、サーバPC100側ではドライバにどのようなプラグインがインストールされているか認識することなく、レジストリ210を参照して特定されたプラグインアーカイブ及びプラグイン一覧情報を送信するだけで、クライアントPC110に全てのプラグインをインストールできる。このように、サーバPC100が、各プラグインを認識することなく、プラグインのインストール処理を行うことができるので、プラグインのインストールの処理負担を軽減できる。   That is, in the print control system according to the present embodiment, the plug-in archive and plug-in specified by referring to the registry 210 without recognizing what plug-in is installed in the driver on the server PC 100 side. All plug-ins can be installed on the client PC 110 simply by sending the list information. In this way, the server PC 100 can perform the plug-in installation process without recognizing each plug-in, so the processing load of the plug-in installation can be reduced.

次に、図16のステップS1605及びステップS1608で示した特定部261のGenerateCopyFilePaths()に基づく処理について説明する。図17は、本実施の形態にかかる特定部261における上述した処理の手順を示すフローチャートである。   Next, processing based on GenerateCopyFilePaths () of the specifying unit 261 shown in Step S1605 and Step S1608 of FIG. 16 will be described. FIG. 17 is a flowchart illustrating a procedure of the above-described processing in the specifying unit 261 according to the present embodiment.

特定部261が、GenerateCopyFilePaths()で呼び出された場合、引数を参照し、サーバPC側で実行されているか否か判定する(ステップS1701)。サーバPC側で実行されていると判定した場合(ステップS1701:Yes)、特に処理を行わず、引数で指定された送信元のディレクトリのパスなどを、呼び出し元(例えばOS1001)に返して終了する。   When the specifying unit 261 is called by GenerateCopyFilePaths (), it refers to the argument and determines whether or not it is executed on the server PC side (step S1701). If it is determined that it is executed on the server PC side (step S1701: Yes), no processing is performed, and the path of the source directory specified by the argument is returned to the caller (for example, OS 1001) and the process is terminated. .

一方、特定部261が、サーバPC側で実行されていないと判定した場合(ステップS1701:No)、OS201のAPIのSHGetSpecialFolderPathを利用して、ComonApplicationDataのパスを取得する(ステップS1702)。そして、特定部261は、取得したComonApplicationDataのパスに、“ドライバ名\Plugin”を連結し、送信先のディレクトリパスを生成する(ステップS1703)。   On the other hand, if the identifying unit 261 determines that the server PC is not being executed (step S1701: No), the path of the ComonApplicationData is acquired using the SHGetSpecialFolderPath of the API of the OS 201 (step S1702). The specifying unit 261 then concatenates “driver name \ Plugin” to the acquired path of ComonApplicationData to generate a destination directory path (step S1703).

そのあと、特定部261が、生成した送信先のディレクトリパスで、引数として受け取った送信先のディレクトリパスを書き換えた後、書き換えた送信先のディレクトリパスを、OS201に返す(ステップS1704)。   After that, the identifying unit 261 rewrites the destination directory path received as an argument with the generated destination directory path, and then returns the rewritten destination directory path to the OS 201 (step S1704).

これにより、クライアントPC110において、プラグインの送信先のディレクトリのパスが設定される。図17の処理を行うため、クライアントPC110がGenerateCopyFilePaths()を呼び出す際に、引数でクライアント側を示すフラグを設定したのであれば、送信先のディレクトリパスが空のまま呼び出しても良い。   As a result, the path of the plug-in transmission destination directory is set in the client PC 110. When the client PC 110 calls GenerateCopyFilePaths () to perform the processing of FIG. 17, if the flag indicating the client side is set as an argument, the destination directory path may be left empty.

上述した処理手順で、サーバPC100の送信元のディレクトリから、クライアントPC110の送信先のディレクトリに対して、プラグイン一覧情報とプラグインアーカイブとが送信される。   In the processing procedure described above, the plug-in list information and the plug-in archive are transmitted from the transmission source directory of the server PC 100 to the transmission destination directory of the client PC 110.

このとき、プリンタドライバの構成ファイルは、ドライバのインストール後から一切変更されていないので、OS201(例えばWindows(登録商標))の親和性を崩さずに、プラグインで拡張された機能をサーバPC100からクライアントPC110に引き継ぐことができる。   At this time, since the configuration file of the printer driver is not changed at all after the driver is installed, the function extended by the plug-in can be obtained from the server PC 100 without breaking the affinity of the OS 201 (for example, Windows (registered trademark)). The client PC 110 can take over.

次に、本実施の形態にかかるクライアントPC110における、設定画面の表示処理について説明する。図18は、本実施の形態にかかるクライアントPC110における上述した処理の手順を示すフローチャートである。   Next, setting screen display processing in the client PC 110 according to the present embodiment will be described. FIG. 18 is a flowchart showing the above-described processing procedure in the client PC 110 according to this embodiment.

まず、OS1001が、プリンタドライバ250本体のUIドライバ254に対して画面表示を行うよう指示する(ステップS1801)。   First, the OS 1001 instructs the UI driver 254 of the printer driver 250 main body to perform screen display (step S1801).

次に、UIドライバ254が、プラグイン管理部255に対して初期化を要求する(ステップS1802)。そして、プラグイン管理部255は、プラグイン名の一覧を生成する(ステップS1803)。   Next, the UI driver 254 requests initialization from the plug-in management unit 255 (step S1802). Then, the plug-in management unit 255 generates a list of plug-in names (step S1803).

その生成の過程で、プラグイン管理部255は、レジストリ1010を参照してプラグインディレクトリ1013のパスを生成し、その下に格納されているプラグイン一覧情報を読み込む(ステップS1804)。   In the generation process, the plug-in management unit 255 generates a path of the plug-in directory 1013 with reference to the registry 1010, and reads plug-in list information stored thereunder (step S1804).

その後、UIドライバ254が、設定管理部253に対して、初期化を要求する(ステップS1805)。その後、設定管理部253が、プラグイン管理部255に対して機能情報の取得を要求する(ステップS1806)。   Thereafter, the UI driver 254 requests initialization from the setting management unit 253 (step S1805). Thereafter, the setting management unit 253 requests the plug-in management unit 255 to acquire function information (step S1806).

これにより、プラグイン管理部255が、プリンタドライバ250本体の機能情報と、各プラグインの機能情報と、をマージする(ステップS1807)。当該マージの過程で、プラグイン管理部255は、ドライバ設定ディレクトリ1012に格納されている機能情報を読み込む(ステップS1808)。さらに、プラグイン管理部255は、OS1001に対して、プラグインアーカイブの展開を要求する(ステップS1809)。当該要求に従って、OS1001の展開部1006が、プラグインアーカイブを展開する(ステップS1810)。   Accordingly, the plug-in management unit 255 merges the function information of the printer driver 250 main body with the function information of each plug-in (step S1807). In the process of merging, the plug-in management unit 255 reads function information stored in the driver setting directory 1012 (step S1808). Further, the plug-in management unit 255 requests the OS 1001 to expand the plug-in archive (step S1809). In accordance with the request, the expansion unit 1006 of the OS 1001 expands the plug-in archive (step S1810).

そして、プラグイン管理部255は、展開された各プラグインの機能情報を読み込む。図18に示すシーケンスでは、プラグイン管理部255は、borderlineプラグインの機能情報を読み込む(ステップS1811)とともに、stampプラグインの機能情報を読み込む(ステップS1812)。読み込んだ各機能情報は、XML形式で記載されている。このため、読み込んだ各機能情報のXMLノードを、プラグイン管理部255がマージする。そして、プラグイン管理部255がマージしたXMLノードを設定管理部253に受け渡す。そして、設定管理部253は、取得したXMLノードを、(図示しない)メモリ上に保持する。   Then, the plug-in management unit 255 reads the function information of each expanded plug-in. In the sequence shown in FIG. 18, the plug-in management unit 255 reads the function information of the borderline plug-in (step S1811) and also reads the function information of the stamp plug-in (step S1812). Each read function information is described in the XML format. Therefore, the plug-in management unit 255 merges the XML nodes of the read function information. Then, the XML node merged by the plug-in management unit 255 is transferred to the setting management unit 253. Then, the setting management unit 253 holds the acquired XML node on a memory (not shown).

その後、プラグイン管理部255が、DEVMODE1011の読み込みを行う(ステップS1813)。これにより、現在の設定値などを取得できる。   Thereafter, the plug-in management unit 255 reads DEVMODE 1011 (step S1813). Thereby, the current setting value and the like can be acquired.

そして、プラグイン管理部255が、読み込んだ現在の設定値等について、読み込んだ機能情報で設定されている定義(例えば、機能情報で定義されている値域や禁則)を鑑みて妥当か否か判定する(ステップS1814)。   Then, the plug-in management unit 255 determines whether or not the read current setting value or the like is appropriate in view of the definition set in the read function information (for example, a value range or prohibition defined in the function information). (Step S1814).

次に、UIドライバ254が、プラグイン管理部255に対して、画面レイアウト情報の取得を要求する(ステップS1815)。   Next, the UI driver 254 requests the plug-in management unit 255 to acquire screen layout information (step S1815).

これにより、プラグイン管理部255が、プリンタドライバ250本体の画面レイアウト情報と、各プラグインの画面レイアウト情報と、をマージする(ステップS1816)。当該マージの過程で、プラグイン管理部255は、ドライバ設定ディレクトリ1012に格納されている機能情報を読み込む(ステップS1817)。   Thereby, the plug-in management unit 255 merges the screen layout information of the printer driver 250 main body with the screen layout information of each plug-in (step S1816). In the process of merging, the plug-in management unit 255 reads function information stored in the driver setting directory 1012 (step S1817).

そして、プラグイン管理部255は、各プラグインの画面レイアウト情報を読み込む。図18に示すシーケンスでは、プラグイン管理部255は、borderlineプラグインの画面レイアウト情報を読み込む(ステップS1818)とともに、stampプラグインの画面レイアウト情報を読み込む(ステップS1819)。このようにして読み込んだ各画面レイアウト情報のJSONオブジェクトを、プラグイン管理部255がマージする。そして、マージされたJSONオブジェクトは、UIドライバ254に送られる。   Then, the plug-in management unit 255 reads screen layout information of each plug-in. In the sequence shown in FIG. 18, the plug-in management unit 255 reads the screen layout information of the borderline plug-in (step S1818) and also reads the screen layout information of the stamp plug-in (step S1819). The plug-in management unit 255 merges the JSON objects of each screen layout information read in this way. Then, the merged JSON object is sent to the UI driver 254.

その後、UIドライバ254が、JSONオブジェクトを元に設定画面の画面レイアウトを生成する(ステップS1820)。そして、OS1001の表示部1007が、生成された設定画面を表示する。   Thereafter, the UI driver 254 generates a screen layout of the setting screen based on the JSON object (step S1820). Then, the display unit 1007 of the OS 1001 displays the generated setting screen.

さらに、UIドライバ254は、設定管理部253から、設定値を取得する(ステップS1821)。次に、UIドライバ254は、設定画面の画面レイアウトに対して、設定値を反映する(ステップS1822)。これにより、表示部1007が、設定値が反映された設定画面を表示する。   Further, the UI driver 254 acquires a setting value from the setting management unit 253 (step S1821). Next, the UI driver 254 reflects the setting value on the screen layout of the setting screen (step S1822). Thereby, the display unit 1007 displays a setting screen in which the setting value is reflected.

上述した処理手順により、クライアントPC110において、ドライバ本体及びプラグインの情報(機能情報や画面レイアウト情報)がマージされた設定画面を表示することができる。   With the above-described processing procedure, the client PC 110 can display a setting screen in which driver information and plug-in information (function information and screen layout information) are merged.

図19は、上述した処理手順により、表示部1007により表示される設定画面の例を示した図である。図19に示す設定画面では、図11の設定画面の例と比べて、“Borderline”のチェックボックス1901と、“Stamp”のエディットボックス1902と、が追加されている。   FIG. 19 is a diagram illustrating an example of a setting screen displayed by the display unit 1007 according to the processing procedure described above. In the setting screen shown in FIG. 19, a “Borderline” check box 1901 and an “Stamp” edit box 1902 are added as compared to the setting screen example of FIG.

図19に示す画面例では、“Borderline”のチェックボックス1901が利用不可能かつOFF固定で表示されている。また、網線で囲っている“Borderline”も半輝度で表示される。これは、図19の画面例で、“Layout”の項目で“off”が選択されている場合、“Borderline”の機能情報(図12)の「<constraint fixvalue=“off”><condition expression = “layout!=off”/></constraint>」の記述に基づき、禁則を受けるためである。   In the screen example shown in FIG. 19, the “Borderline” check box 1901 is displayed as unavailable and fixed to OFF. In addition, “Borderline” surrounded by a mesh line is also displayed with half luminance. In the screen example of FIG. 19, when “off” is selected in the “Layout” item, “<constraint fixvalue =“ off ”> <condition expression =” in the function information of “Borderline” (FIG. 12). This is because it is prohibited based on the description of “layout! = Off” /> </ constraint> ”.

次に、本実施の形態にかかるクライアントPC110における、印刷制御について説明する。図20は、本実施の形態にかかるクライアントPC110における上述した処理の手順を示すフローチャートである。   Next, print control in the client PC 110 according to the present embodiment will be described. FIG. 20 is a flowchart showing the above-described processing procedure in the client PC 110 according to the present embodiment.

なお、印刷処理では、ジョブの開始/終了、ページの開始/終了、描画オブジェクトなどのイベントごとに該当する描画ドライバのAPIがOS1001から呼ばれるが、図20に示すシーケンスでは、ページの開始の例のみを示した。それ以外のAPIにおいても全く同じシーケンスで処理が行われるものとする。   In the printing process, the API of the rendering driver corresponding to each event such as job start / end, page start / end, and drawing object is called from the OS 1001. However, in the sequence shown in FIG. showed that. It is assumed that processing is performed in exactly the same sequence in other APIs.

まず、OS1001が、プリンタドライバ250本体の描画ドライバ251に対してページ印刷を開始するよう指示する(ステップS2001)。   First, the OS 1001 instructs the drawing driver 251 of the printer driver 250 main body to start page printing (step S2001).

次に、描画ドライバ251が、プラグイン管理部255に対して初期化を要求する(ステップS2002)。そして、プラグイン管理部255は、プラグイン名の一覧を生成する(ステップS2003)。   Next, the drawing driver 251 requests the plug-in management unit 255 to perform initialization (step S2002). Then, the plug-in management unit 255 generates a list of plug-in names (step S2003).

そのプラグイン名の生成の過程で、プラグイン管理部255は、レジストリ1010を参照してプラグインディレクトリ1013のパスを生成し、その下に格納されているプラグイン一覧情報を読み込む(ステップS2004)。   In the process of generating the plug-in name, the plug-in management unit 255 generates a path of the plug-in directory 1013 with reference to the registry 1010, and reads plug-in list information stored under the path (step S2004). .

その後、描画ドライバ251が、設定管理部253に対して、初期化を要求する(ステップS2005)。その後、設定管理部253が、プラグイン管理部255に対して機能情報の取得を要求する(ステップS2006)。   Thereafter, the drawing driver 251 requests the setting management unit 253 to perform initialization (step S2005). Thereafter, the setting management unit 253 requests the plug-in management unit 255 to acquire function information (step S2006).

これにより、プラグイン管理部255が、プリンタドライバ250本体の機能情報と、各プラグインの機能情報と、をマージする(ステップS2007)。当該マージの過程で、プラグイン管理部255は、ドライバ設定ディレクトリ1012に格納されている機能情報を読み込む(ステップS2008)。   As a result, the plug-in management unit 255 merges the function information of the printer driver 250 and the function information of each plug-in (step S2007). During the merge process, the plug-in management unit 255 reads function information stored in the driver setting directory 1012 (step S2008).

そして、プラグイン管理部255は、各プラグインの機能情報を読み込む。図20に示すシーケンスでは、プラグイン管理部255は、borderlineプラグインの機能情報を読み込む(ステップS2009)とともに、stampプラグインの機能情報を読み込む(ステップS2010)。読み込んだ各機能情報は、XML形式で記載されている。このため、読み込んだ各機能情報のXMLノードを、プラグイン管理部255がマージする。そして、プラグイン管理部255がマージしたXMLノードを設定管理部253に受け渡す。そして、設定管理部253は、取得したXMLノードを、(図示しない)メモリ上に保持する。   Then, the plug-in management unit 255 reads function information of each plug-in. In the sequence shown in FIG. 20, the plug-in management unit 255 reads the function information of the borderline plug-in (step S2009) and also reads the function information of the stamp plug-in (step S2010). Each read function information is described in the XML format. Therefore, the plug-in management unit 255 merges the XML nodes of the read function information. Then, the XML node merged by the plug-in management unit 255 is transferred to the setting management unit 253. Then, the setting management unit 253 holds the acquired XML node on a memory (not shown).

その後、プラグイン管理部255が、DEVMODE1011の読み込みを行う(ステップS2011)。これにより、現在の設定値などを取得できる。   Thereafter, the plug-in management unit 255 reads DEVMODE 1011 (step S2011). Thereby, the current setting value and the like can be acquired.

そして、プラグイン管理部255が、読み込んだ現在の設定値等について、読み込んだ機能情報で設定されている定義(例えば、機能情報で定義されている値域や禁則)を鑑みて妥当か否か判定する(ステップS2012)。   Then, the plug-in management unit 255 determines whether or not the read current setting value or the like is appropriate in view of the definition set in the read function information (for example, a value range or prohibition defined in the function information). (Step S2012).

次に、描画ドライバ251が、プラグイン管理部255に対して、機能情報の取得を要求する(ステップS2013)。これにより、描画ドライバ251が、読み込んだ現在の設定値等を取得する。   Next, the drawing driver 251 requests the plug-in management unit 255 to acquire function information (step S2013). As a result, the drawing driver 251 acquires the read current setting value and the like.

その後、描画ドライバ251が、印刷するページの描画処理を行い、描画データを生成する(ステップS2014)。   Thereafter, the drawing driver 251 performs drawing processing for the page to be printed, and generates drawing data (step S2014).

次に、描画ドライバ251が、引数として描画データと、設定値の一覧と、を受け渡した上で、ページに関する処理を、プラグイン管理部255に対して要求する(ステップS2015)。   Next, the drawing driver 251 receives drawing data and a list of setting values as arguments, and requests the plug-in management unit 255 to perform processing relating to the page (step S2015).

プラグイン管理部255は、ステップS2003で生成したプラグイン名の一覧を参照して、各プラグインの描画拡張モジュールを認識する。そして、プラグイン管理部255は、プラグインアーカイブから展開された各プラグインの描画拡張モジュールに対して、ページ開始のAPIを呼び出す。図20で示すシーケンスでは、プラグイン管理部255は、borderlineプラグインの描画拡張モジュールのページ開始のAPIを呼び出す(ステップS2016)。その際に、描画データと、設定値の一覧とを、受け渡す。さらに、プラグイン管理部255は、stampプラグインの描画拡張モジュールのページ開始のAPIを呼び出す(ステップS2017)。その際に、描画データと、設定値の一覧とを、受け渡す。これら描画拡張モジュールのページ開始のAPIが呼び出された際、各プラグインの描画拡張モジュールは、引数として受け渡された設定値の一覧を参照し、描画処理を行う必要がある場合に、描画データに対して、必要な描画を行う。そして、描画などがなされた後、描画ドライバ251に描画データが返される。   The plug-in management unit 255 refers to the list of plug-in names generated in step S2003 and recognizes the drawing extension module of each plug-in. Then, the plug-in management unit 255 calls a page start API to the drawing extension module of each plug-in developed from the plug-in archive. In the sequence shown in FIG. 20, the plug-in management unit 255 calls the page start API of the drawing extension module of the borderline plug-in (step S2016). At that time, drawing data and a list of setting values are transferred. Further, the plug-in management unit 255 calls the page start API of the drawing extension module of the stamp plug-in (step S2017). At that time, drawing data and a list of setting values are transferred. When the API for page start of these drawing extension modules is called, the drawing extension module of each plug-in refers to the list of setting values passed as an argument, and when drawing processing needs to be performed, drawing data The necessary drawing is performed. Then, after drawing is performed, drawing data is returned to the drawing driver 251.

その後、描画ドライバ251が、返された描画データを、OS1001に出力する(ステップS2018)。そして、OS1001が、描画データを、プリンタ150に対して送信する(ステップS2019)。これにより、描画データに基づく印刷がなされる。   Thereafter, the drawing driver 251 outputs the returned drawing data to the OS 1001 (step S2018). Then, the OS 1001 transmits drawing data to the printer 150 (step S2019). Thereby, printing based on drawing data is performed.

以上のように、クライアントPC110では、ドライバ本体とプラグインとを組み合わせた描画処理を実行することが可能となる。   As described above, the client PC 110 can execute a drawing process in which the driver body and the plug-in are combined.

次に、サーバPC100に対してプラグインを追加する際の処理について説明する。図21は、プラグインインストーラパッケージの構成を示した図である。図21に示すようにプラグインインストーラパッケージ2100は、プラグインインストーラ2101と、プラグイン情報2102と、プラグイン“stamp”の構成ファイル2103と、を含むディレクトリとする。なお、当該ディレクトリをアーカイブしたものでも良い。   Next, processing when a plug-in is added to the server PC 100 will be described. FIG. 21 is a diagram showing the configuration of the plug-in installer package. As shown in FIG. 21, the plug-in installer package 2100 is a directory including a plug-in installer 2101, plug-in information 2102, and a configuration file 2103 for the plug-in “stamp”. Note that the directory may be archived.

プラグインインストーラ2101は、プラグインインストーラの実行形式ファイルとする。   The plug-in installer 2101 is a plug-in installer execution format file.

プラグイン“stamp”の構成ファイル2103は、stamp機能を実現するための機能情報、画面レイアウト情報、描画拡張モジュールを含んだ構成とする。   The configuration file 2103 of the plug-in “stamp” includes a function information for realizing the stamp function, screen layout information, and a drawing extension module.

プラグイン情報2102は、プラグイン“stamp”に関する設定が記述された情報である。図22は、プラグインインストーラパッケージ2100に含まれるプラグイン情報の例を示した図である。図22に示すように、当該プラグインの名称が“stamp”であること、及びバージョンが“1.1.010”であることが記載されている。そして、当該プラグイン情報2102は、インストール時に、プラグイン一覧情報に追加される。   The plug-in information 2102 is information describing settings related to the plug-in “stamp”. FIG. 22 is a diagram illustrating an example of plug-in information included in the plug-in installer package 2100. As shown in FIG. 22, it is described that the name of the plug-in is “stamp” and the version is “1.1.010”. The plug-in information 2102 is added to the plug-in list information at the time of installation.

サーバPC100に対してプラグインインをインストールする際の処理について説明する。図23は、本実施の形態にかかるサーバPC100における上述した処理の手順を示すフローチャートである。図23に示すフローチャートでは、プラグインインストーラを実行して、プラグインディレクトリに新たなプラグインを追加する。   Processing when installing a plug-in on the server PC 100 will be described. FIG. 23 is a flowchart showing the above-described processing procedure in the server PC 100 according to the present embodiment. In the flowchart shown in FIG. 23, the plug-in installer is executed to add a new plug-in to the plug-in directory.

まず、プラグインインストーラパッケージ2100に含まれるプラグインインストーラ2101が起動される。起動したプラグインインストーラ2101は、プラグインを追加する対象となるドライバ名を取得する(ステップS2301)。例えば、プラグインインストーラ2101は、OS201からインストール済みのドライバ一覧を取得し、当該一覧の中からいずれのドライバに対してプラグインを追加するかをユーザに問い合せる等が考えられる。そして、ユーザに選択されたドライバに対して、プラグインを追加していくことになる。   First, the plug-in installer 2101 included in the plug-in installer package 2100 is activated. The activated plug-in installer 2101 acquires the name of the driver to which the plug-in is added (step S2301). For example, the plug-in installer 2101 may acquire a list of installed drivers from the OS 201 and inquire the user as to which driver the plug-in is to be added to from the list. Then, plug-ins are added to the driver selected by the user.

そして、プラグインインストーラ2101は、レジストリ210から、取得したドライバ名が指し示すドライバのプラグインディレクトリのパスを取得する(ステップS2302)。このプラグインディレクトリの特定手法は、上述した手法と同様とする。そして、取得したプラグインディレクトリのパスにプラグインがインストールされる。   Then, the plug-in installer 2101 acquires the path of the plug-in directory of the driver indicated by the acquired driver name from the registry 210 (step S2302). The plug-in directory specifying method is the same as the method described above. Then, the plug-in is installed in the acquired plug-in directory path.

次に、プラグインインストーラ2101は、特定したプラグインディレクトリに、既に同じプラグインが追加されているか否かを判定する(ステップS2303)。当該判定では、例えば、プラグインディレクトリ213内のプラグイン一覧情報に、プラグインインストーラパッケージ2100内のプラグイン情報2102のプラグインと同一名称が含まれているか否かに基づいて判定する。   Next, the plug-in installer 2101 determines whether or not the same plug-in has already been added to the specified plug-in directory (step S2303). In this determination, for example, the determination is made based on whether or not the plug-in list information in the plug-in directory 213 includes the same name as the plug-in of the plug-in information 2102 in the plug-in installer package 2100.

そして、プラグインインストーラ2101が、追加されていないと判定した場合(ステップS2303:No)、継続してプラグインの追加処理を行う。図23に示すシーケンス図では、プラグインインストーラ2101は、書込部204を呼び出して、プラグインディレクトリ213のプラグイン一覧情報に対して、プラグインインストーラ2101内のプラグイン情報2102をマージする(ステップS2305)。本実施の形態では、プラグインインストーラ2101に呼び出された書込部204が、プラグイン一覧情報の末尾に、プラグイン情報を追加する書き込みを行う。   If the plug-in installer 2101 determines that the plug-in installer 2101 has not been added (step S2303: No), plug-in addition processing is continuously performed. 23, the plug-in installer 2101 calls the writing unit 204 to merge the plug-in information 2102 in the plug-in installer 2101 with the plug-in list information in the plug-in directory 213 (step S2305). In the present embodiment, the writing unit 204 called by the plug-in installer 2101 performs writing to add plug-in information to the end of the plug-in list information.

その後、プラグインインストーラ2101が、プラグインアーカイブに対して、新しいプラグインの構成ファイル(例えば“stamp”の構成ファイル2103)を追加する(ステップS2306)。例えば、“borderline”プラグインがインストールされた後の状態で、そして、プラグインインストーラ2101が、“stamp”プラグインを追加する場合、プラグインインストーラパッケージ内の“stamp”の構成ファイル2103を、プラグインアーカイブに追加すると、図8に示すようなプラグインアーカイブが生成される。また、プラグイン情報2102が追加されると、図7に示すようなプラグイン一覧情報が生成される。そしてインストールの処理が、終了する。   Thereafter, the plug-in installer 2101 adds a new plug-in configuration file (eg, “stamp” configuration file 2103) to the plug-in archive (step S2306). For example, when the “borderline” plug-in is installed and the plug-in installer 2101 adds the “stamp” plug-in, the “stamp” configuration file 2103 in the plug-in installer package is changed to the plug-in installer 2101. When added to the in-archive, a plug-in archive as shown in FIG. 8 is generated. When plug-in information 2102 is added, plug-in list information as shown in FIG. 7 is generated. Then, the installation process ends.

一方、プラグインインストーラ2101が、同じプラグインが追加されていると判定した場合(ステップS2303:Yes)、まず、プラグインインストーラ2101は、プラグインディレクトリ内にすでに追加されている同一プラグインのバージョン情報と比べて、プラグインインストーラパッケージ2100内のプラグインのバージョン情報が新しいか否かを判定する(ステップS2304)。新しくないと判定した場合(ステップS2304:No)、処理を終了する。   On the other hand, if the plug-in installer 2101 determines that the same plug-in has been added (step S2303: Yes), the plug-in installer 2101 starts with the version of the same plug-in already added in the plug-in directory. It is determined whether the version information of the plug-in in the plug-in installer package 2100 is newer than the information (step S2304). If it is determined that it is not new (step S2304: NO), the process is terminated.

一方、プラグインインストーラ2101が、プラグインインストーラパッケージ2100内のプラグインのバージョン情報が新しいと判定した場合(ステップS2304:Yes)、プラグインインストーラ2101が書込部204を呼び出し、書込部204が、すでにプラグイン一覧情報に記載されているプラグイン情報を、新しいプラグイン情報で上書きする(ステップS2307)。   On the other hand, when the plug-in installer 2101 determines that the version information of the plug-in in the plug-in installer package 2100 is new (step S2304: Yes), the plug-in installer 2101 calls the writing unit 204, and the writing unit 204 The plug-in information already described in the plug-in list information is overwritten with new plug-in information (step S2307).

さらに、プラグインインストーラ2101は、プラグインアーカイブに対して、新しいプラグインの構成ファイルで上書きし、処理を終了する(ステップS2308)。例としては、すでにプラグインアーカイブに格納されている“stamp”プラグインのバージョンが1.0.0.0で、追加しようとしている“stamp”プラグインのバージョンが1.1.0.0の場合、プラグインインストーラ2101は、プラグイン情報の“stamp”のバージョン情報を1.1.0.0で上書きし、“stamp”ディレクトリ内のファイルもすべて新しいファイルで上書きする。   Further, the plug-in installer 2101 overwrites the plug-in archive with a new plug-in configuration file, and ends the processing (step S2308). As an example, if the version of the “stamp” plug-in already stored in the plug-in archive is 1.0.0.0 and the version of the “stamp” plug-in to be added is 1.1.0.0, the plug-in installer 2101 The version information of “stamp” in the plug-in information is overwritten with 1.1.0.0, and all files in the “stamp” directory are overwritten with new files.

上述した処理手順により、サーバPC100にインストールされているドライバについて、プラグインの追加、更新を行うことができる。これにより、サーバPC100にプラグインの追加、更新が行われた場合、それ以降、クライアントPC110が、当該ドライバをインストールする際、追加、更新がなされたプラグインも同時にインストールされる。これにより、ユーザがドライバをインストールする際の負担を軽減できる。   The plug-in can be added or updated for the driver installed in the server PC 100 by the processing procedure described above. As a result, when the plug-in is added to or updated in the server PC 100, when the client PC 110 installs the driver, the added or updated plug-in is also installed at the same time. Thereby, the burden at the time of a user installing a driver can be reduced.

このように、本実施の形態では、ドライバをプラグインで拡張した機能であっても、OSとの親和性を崩さずに、ポイント・アンド・プリントでクライアントPC110側に引き継げる。   As described above, in this embodiment, even if the function is an extension of the driver by plug-in, it can be handed over to the client PC 110 side by point-and-print without breaking the affinity with the OS.

このように、本実施の形態では、ポイント・アンド・プリントで、クライアントPC側に拡張機能を引き継げる、ドライバのプラグインの仕組みを実現することを可能とした。   As described above, in the present embodiment, it is possible to realize a driver plug-in mechanism that can take over the extended function on the client PC side by point-and-print.

さらに、ポイント・アンド・プリントを行うダイナミック・リンク・ライブラリをドライバの構成ファイルに含めることで、クライアントPC及びサーバPCに当該ライブラリがインストールされることになる。これにより、ポイント・アンド・プリントのイベント時に、クライアントPC及びサーバPCのそれぞれから当該ライブラリを呼び出すことで、クライアントPC及びサーバPCのそれぞれがプラグインを送信するために適切な処理を行うことができる。つまり、容易にプラグインのファイルをサーバPCからクライアントPCに送信させることができる。   Further, by including a dynamic link library for performing point and print in the driver configuration file, the library is installed in the client PC and the server PC. Accordingly, by calling the library from each of the client PC and the server PC at the time of the point-and-print event, each of the client PC and the server PC can perform an appropriate process for transmitting the plug-in. . That is, the plug-in file can be easily transmitted from the server PC to the client PC.

(変形例1)
第1の実施の形態では、クライアントPCと、サーバPCと別構成として示した。しかしながら、第1の実施の形態は、説明を容易にするために、クライアントPCと、サーバPCと、別の構成として示したものであり、クライアントPCと、サーバPCと、が同一構成でも良い。
(Modification 1)
In the first embodiment, the client PC and the server PC are shown as separate configurations. However, in the first embodiment, for ease of explanation, the client PC and the server PC are shown as different configurations, and the client PC and the server PC may have the same configuration.

そこで、変形例として、クライアントPCとサーバPCとが同一構成の例について説明する。当該変形例では、クライアントPC及びサーバPCともに、プリンタドライバと、送信部と、書込部と、受信部と、インストール部と、格納部と、展開部と、表示部と、を備えている。なお、各構成が行う処理は、第1の実施の形態と同様として説明を省略する。   Therefore, as a modification, an example in which the client PC and the server PC have the same configuration will be described. In the modified example, both the client PC and the server PC include a printer driver, a transmission unit, a writing unit, a reception unit, an installation unit, a storage unit, a development unit, and a display unit. Note that the processing performed by each component is the same as in the first embodiment, and a description thereof is omitted.

(変形例2)
第1の実施の形態では、ポイント・アンド・プリントでプリンタドライバを、サーバPCからクライアントPCにインストールする例について説明した。しかしながら、プリンタドライバのインストール制限するものではなく、他のオフィス機器等であっても良い。オフィス機器の例としては、例えば、ネットワークスキャナなどであってもよい。変形例2においては、ネットワークスキャナのドライバを管理するサーバPCに対して、クライアントPCが、ドライバのインストールを要求する。これにより、ネットワークスキャナのドライバのインストールと、当該ドライバのプラグインのインストールとが行われる。なお、その際の手順は、第1の実施の形態と同様として説明を省略する。また、オフィス機器以外でもよく、例えばデジタルスチルカメラ等などのPCに接続可能な周辺機器でも良い。
(Modification 2)
In the first embodiment, the example in which the printer driver is installed from the server PC to the client PC by the point-and-print has been described. However, the printer driver installation is not limited, and other office devices may be used. As an example of the office device, for example, a network scanner may be used. In the second modification, the client PC requests the server PC that manages the driver of the network scanner to install the driver. Thereby, the installation of the driver of the network scanner and the installation of the plug-in of the driver are performed. Note that the procedure at that time is the same as that of the first embodiment, and a description thereof will be omitted. Further, it may be other than office equipment, for example, peripheral equipment that can be connected to a PC such as a digital still camera.

図24は、本実施の形態及び変形例のサーバPC及びクライアントPCのハードウェア構成を示した図である。図24に示すように上述した実施の形態及び変形例のサーバPC及びクライアントPCは、CPU2401と、ROM(Read Only Memory)2402やRAM2403と、HDD2406と、通信I/F2404と、ディスプレイ装置などの表示装置2405と、これらを接続するバス2407と、を備えており、通常のコンピュータを利用したハードウェア構成となっている。   FIG. 24 is a diagram illustrating a hardware configuration of the server PC and the client PC according to the present embodiment and the modification. As shown in FIG. 24, the server PC and client PC according to the embodiment and the modification described above are displayed on a CPU 2401, a ROM (Read Only Memory) 2402 and a RAM 2403, an HDD 2406, a communication I / F 2404, a display device, and the like. A device 2405 and a bus 2407 for connecting them are provided, and a hardware configuration using a normal computer is employed.

上述した実施の形態及び変形例のサーバPC又はクライアントPCで実行されるOSやプリンタドライバは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録されて提供される。   The OS and printer driver executed on the server PC or client PC according to the above-described embodiments and modifications are files in an installable or executable format, such as a CD-ROM, a flexible disk (FD), a CD-R, The program is recorded on a computer-readable recording medium such as a DVD (Digital Versatile Disk).

また、上述した実施の形態及び変形例のサーバPC又はクライアントPCで実行されるOSやプリンタドライバを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、本実施形態のOSやプリンタドライバをインターネット等のネットワーク経由で提供または配布するように構成しても良い。   Further, the OS and printer driver executed by the server PC or client PC according to the above-described embodiments and modifications are stored on a computer connected to a network such as the Internet and provided by being downloaded via the network. You may comprise. Further, the OS and printer driver of the present embodiment may be configured to be provided or distributed via a network such as the Internet.

上述した実施の形態及び変形例のサーバPC又はクライアントPCで実行されるOSやプリンタドライバは、それぞれ上述した各部を含むモジュール構成となっており、実際のハードウェアとしてはCPU2401が上記記憶媒体からOSやプリンタドライバを読み出して実行することにより上記各部が主記憶装置上にロードされ、上記各部が主記憶装置上に生成されるようになっている。   The OS and printer driver executed on the server PC or client PC according to the above-described embodiment and modification have a module configuration including the above-described units. As actual hardware, the CPU 2401 executes the OS from the storage medium. By reading and executing the printer driver, the above-described units are loaded onto the main storage device, and the above-described units are generated on the main storage device.

100 サーバPC
110 クライアントPC
150 プリンタ
160 ネットワーク
201、1001 OS
202、1002 制御部
203 送信部
204 書込部
210、1010 レジストリ
211、1011 DEVMODE
212、1012 ドライバ設定ディレクトリ
213、1013 プラグインディレクトリ
250 プリンタドライバ
251 描画ドライバ
252 ポイント・アンド・プリント・ライブラリ
253 設定管理部
254 UIドライバ
255 プラグイン管理部
261 特定部
1003 受信部
1004 インストール部
1005 格納部
1006 展開部
1007 表示部
100 server PC
110 Client PC
150 Printer 160 Network 201, 1001 OS
202, 1002 Control unit 203 Transmission unit 204 Writing unit 210, 1010 Registry 211, 1011 DEVMODE
212, 1012 Driver setting directory 213, 1013 Plug-in directory 250 Printer driver 251 Drawing driver 252 Point-and-print library 253 Setting management unit 254 UI driver 255 Plug-in management unit 261 Identification unit 1003 Reception unit 1004 Installation unit 1005 Storage unit 1006 Deployment unit 1007 Display unit

特開2009−199261号公報JP 2009-199261 A

Claims (15)

ドライバをインストールする対象であるクライアントと、当該ドライバを管理するサーバと、で構成されるドライバ制御システムであって、
前記サーバは、
前記ドライバのプラグインがまとめてアーカイブされた所定のファイルと、前記ファイルに格納されたプラグインが示された一覧情報と、を送信対象として特定する特定手段と、
前記ドライバと、前記特定手段により特定された前記ファイル及び前記一覧情報と、を前記クライアントに送信する送信手段と、を備え、
前記クライアントは、
前記サーバから、前記ドライバと、前記ファイルと、前記一覧情報と、を受信する受信手段と、
前記受信手段により受信した前記ドライバをインストールするインストール手段と、
前記受信手段により受信した前記ファイルと前記一覧情報とを記憶手段に格納する格納手段と、
前記ファイルにアーカイブされている前記プラグインを前記一覧情報に従って呼び出す前記ドライバを、制御する制御手段と、を備えたこと、
を特徴とするドライバ制御システム。
A driver control system comprising a client on which a driver is installed and a server that manages the driver,
The server
A specifying unit for specifying a predetermined file in which the plug-ins of the driver are collectively archived and list information indicating the plug-ins stored in the file as transmission targets;
Transmission means for transmitting the driver and the file and list information specified by the specifying means to the client;
The client
Receiving means for receiving the driver, the file, and the list information from the server;
Installation means for installing the driver received by the receiving means;
Storage means for storing the file and the list information received by the receiving means in a storage means;
Control means for controlling the driver that calls the plug-in archived in the file according to the list information;
A driver control system characterized by
前記クライアントは、
前記インストール手段による前記ドライバのインストールでなされた設定に従って、前記ファイルと前記一覧情報とを格納する格納先のパスを特定するクライアント側特定手段を、さらに備え、
前記格納手段は、前記特定手段により特定された前記パスに対して、前記ファイルを格納すること、
を特徴とする請求項1に記載のドライバ制御システム。
The client
Client-side specifying means for specifying a storage destination path for storing the file and the list information according to the setting made in the installation of the driver by the installation means,
The storage means stores the file for the path specified by the specifying means;
The driver control system according to claim 1.
前記サーバでは、
前記特定手段が、記憶手段に記憶されたファイル名に従って、前記所定のファイルを特定すること、
を特徴とする請求項1又は2に記載のドライバ制御システム。
In the server,
The specifying unit specifies the predetermined file according to a file name stored in a storage unit;
The driver control system according to claim 1, wherein:
前記サーバは、
プラグインのインストーラからの呼び出しに応じて、前記ファイルに対して前記プラグインを追加する書き込みを行うとともに、前記ファイルに追加するプラグインを認識する情報を、前記一覧情報に書き込む書込手段を、
さらに備えることを特徴とする請求項1乃至3のいずれか一つに記載のドライバ制御システム。
The server
In response to a call from a plug-in installer, writing for adding the plug-in to the file, and writing means for writing information for identifying the plug-in to be added to the file to the list information,
The driver control system according to any one of claims 1 to 3, further comprising:
前記サーバでは、
前記書込手段は、前記一覧情報に対して、プラグインを追加するか否かの基準となる、前記プラグインのバージョン情報を書き込むこと、
を特徴とした請求項4に記載のドライバ制御システム。
In the server,
The writing means writes version information of the plug-in, which is a criterion as to whether or not to add a plug-in, to the list information;
The driver control system according to claim 4, wherein:
前記クライアントは、
前記アーカイブから、前記ドライバで利用されるプラグインを展開する展開手段をさらに備え、
前記制御手段で制御されるドライバは、前記展開手段により展開された前記プラグインを用いて制御を行うこと、
を特徴とする請求項1乃至5のいずれか一つに記載のドライバ制御システム。
The client
The archive further comprises expansion means for expanding the plug-in used by the driver from the archive,
The driver controlled by the control unit performs control using the plug-in expanded by the expansion unit,
The driver control system according to claim 1, wherein:
前記展開手段により展開された前記プラグインの構成ファイルは、各プラグインの処理に対応するAPIを有する実行可能ファイルであり、
前記制御手段で制御されるドライバは、前記APIを呼び出すことで、プラグインを用いた制御を行うこと、
を特徴とした請求項6に記載のドライバ制御システム。
The plug-in configuration file expanded by the expansion means is an executable file having an API corresponding to the processing of each plug-in,
The driver controlled by the control means performs control using a plug-in by calling the API.
The driver control system according to claim 6.
前記クライアントでは、
前記展開手段により展開された前記プラグインの構成ファイルには、前記プラグイン毎のレイアウト情報が含まれており、
前記レイアウト情報に従って、前記プラグイン毎の設定を行うための項目を、設定画面上に表示する表示手段を、
を特徴とした請求項6又は7に記載のドライバ制御システム。
In the client,
The plug-in configuration file expanded by the expansion means includes layout information for each plug-in,
In accordance with the layout information, display means for displaying an item for setting for each plug-in on a setting screen,
The driver control system according to claim 6 or 7, wherein
前記プラグイン毎のレイアウト情報は、表示するユーザ・インターフェイスの種類、機能名、及び座標情報を含んでいることを特徴とした、
請求項8に記載のドライバ制御システム。
The layout information for each plug-in includes a type of user interface to be displayed, a function name, and coordinate information.
The driver control system according to claim 8.
ドライバをインストールする対象であるクライアントと、当該ドライバを管理するサーバと、で実行されるドライバ制御方法であって、
前記サーバでは、
特定手段が、前記ドライバのプラグインがまとめてアーカイブされた所定のファイルと、前記ファイルに格納されたプラグインが示された一覧情報と、を送信対象として特定する特定ステップと、
送信手段が、前記ドライバと、前記特定ステップにより特定された前記ファイル及び前記一覧情報と、を前記クライアントに送信する送信ステップと、を含み、
前記クライアントでは、
受信手段が、前記サーバから、前記ドライバと、前記ファイルと、前記一覧情報と、を受信する受信ステップと、
前記受信ステップにより受信した前記ドライバをインストールするインストールステップと、
格納手段が、前記受信ステップにより受信した前記ファイルと前記一覧情報とを記憶手段に格納する格納ステップと、
制御手段が、前記ファイルにアーカイブされている前記プラグインを前記一覧情報に従って呼び出す前記ドライバを、制御する制御ステップと、を含むこと、
を特徴とするドライバ制御方法。
A driver control method executed by a client on which a driver is installed and a server that manages the driver,
In the server,
A specifying step for specifying, as a transmission target, a predetermined file in which the plug-ins of the driver are collectively archived and list information indicating the plug-ins stored in the file;
A transmission means including: the transmission step of transmitting the driver and the file and the list information identified by the identification step to the client;
In the client,
A receiving step for receiving the driver, the file, and the list information from the server;
An installation step of installing the driver received in the reception step;
A storage step of storing in the storage means the file and the list information received by the receiving step;
Control means for controlling the driver that calls the plug-in archived in the file according to the list information,
A driver control method characterized by the above.
前記クライアントでは、
クライアント側特定手段が、前記インストールステップによる前記ドライバのインストールでなされた設定に従って、前記ファイルと前記一覧情報とを格納する格納先のパスを特定するクライアント側特定ステップを、さらに含み、
前記格納ステップは、前記特定ステップにより特定された前記パスに対して、前記ファイルを格納すること、
を特徴とする請求項10に記載のドライバ制御方法。
In the client,
The client side specifying means further includes a client side specifying step of specifying a storage destination path for storing the file and the list information according to the setting made in the installation of the driver by the installation step,
The storing step stores the file with respect to the path specified by the specifying step;
The driver control method according to claim 10.
前記サーバでは、
前記特定ステップが、記憶手段に記憶されたファイル名に従って、前記所定のファイルを特定すること、
を特徴とする請求項10又は11に記載のドライバ制御方法。
In the server,
The specifying step specifies the predetermined file according to a file name stored in a storage means;
12. The driver control method according to claim 10 or 11, wherein:
前記サーバでは、
書込手段が、プラグインのインストーラからの呼び出しに応じて、前記ファイルに対して前記プラグインを追加する書き込みを行うとともに、前記ファイルに追加するプラグインを認識する情報を、前記一覧情報に書き込む書込ステップを、
さらに含むことを特徴とする請求項10乃至12のいずれか一つに記載のドライバ制御方法。
In the server,
The writing means performs writing to add the plug-in to the file in response to a call from a plug-in installer, and writes information for identifying the plug-in to be added to the file to the list information. Write step
The driver control method according to claim 10, further comprising:
前記サーバでは、
前記書込ステップは、前記一覧情報に対して、プラグインを追加するか否かの基準となる、前記プラグインのバージョン情報を書き込むこと、
を特徴とした請求項13に記載のドライバ制御方法。
In the server,
The writing step writes version information of the plug-in, which is a criterion for determining whether or not to add a plug-in to the list information;
The driver control method according to claim 13.
前記クライアントでは、
展開手段が、前記アーカイブから、前記ドライバで利用されるプラグインを展開する展開ステップをさらに含み、
前記制御ステップで制御されるドライバは、前記展開ステップにより展開された前記プラグインを用いて制御を行うこと、
を特徴とする請求項10乃至14のいずれか一つに記載のドライバ制御方法。
In the client,
An expansion means further includes an expansion step of expanding a plug-in used by the driver from the archive,
The driver controlled in the control step performs control using the plug-in expanded in the expansion step;
The driver control method according to any one of claims 10 to 14, wherein:
JP2010114426A 2010-05-18 2010-05-18 Driver control system and driver control method Active JP5625477B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010114426A JP5625477B2 (en) 2010-05-18 2010-05-18 Driver control system and driver control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010114426A JP5625477B2 (en) 2010-05-18 2010-05-18 Driver control system and driver control method

Publications (2)

Publication Number Publication Date
JP2011242994A true JP2011242994A (en) 2011-12-01
JP5625477B2 JP5625477B2 (en) 2014-11-19

Family

ID=45409578

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010114426A Active JP5625477B2 (en) 2010-05-18 2010-05-18 Driver control system and driver control method

Country Status (1)

Country Link
JP (1) JP5625477B2 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014038417A (en) * 2012-08-13 2014-02-27 Ricoh Co Ltd Program, information processor, and information processing system
JP2014085749A (en) * 2012-10-22 2014-05-12 Oki Data Corp Driver installer, image processor, image forming system and image forming apparatus
JP2015060291A (en) * 2013-09-17 2015-03-30 株式会社リコー Program, information processing apparatus, and information processing system
JP2017174253A (en) * 2016-03-25 2017-09-28 京セラドキュメントソリューションズ株式会社 Pull print system
JP2017174258A (en) * 2016-03-25 2017-09-28 京セラドキュメントソリューションズ株式会社 Pull print system
US10073792B2 (en) 2013-09-17 2018-09-11 Ricoh Company Limited Device, system, and method for detecting, identifying, and communicating with a storage medium
US10873676B2 (en) 2017-02-07 2020-12-22 Ricoh Company, Ltd. Information processing apparatus, installation method, and recording medium

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005050062A (en) * 2003-07-31 2005-02-24 Canon Inc Print processing system, method for processing information of system, information processor, method for processing information of processor, client apparatus, and information processing program
JP2005173701A (en) * 2003-12-08 2005-06-30 Canon Inc Information processor, information processing method, and program therefor
JP2005338940A (en) * 2004-05-24 2005-12-08 Canon Inc Installation method, information processor and device driver
JP2006261970A (en) * 2005-03-16 2006-09-28 Ricoh Co Ltd Image forming system, image forming apparatus, management device, and method of matching and managing plugin
JP2006260354A (en) * 2005-03-18 2006-09-28 Ricoh Co Ltd Image formation system, image formation device, terminal device, and method of updating driver of terminal device
JP2008234577A (en) * 2007-03-23 2008-10-02 Canon Inc Client device, server device and information processing method
JP2009199261A (en) * 2008-02-20 2009-09-03 Ricoh Co Ltd Information processing system, information processing method, and program
JP2010282505A (en) * 2009-06-05 2010-12-16 Ricoh Co Ltd Printer driver program, storage medium and information processing apparatus

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005050062A (en) * 2003-07-31 2005-02-24 Canon Inc Print processing system, method for processing information of system, information processor, method for processing information of processor, client apparatus, and information processing program
JP2005173701A (en) * 2003-12-08 2005-06-30 Canon Inc Information processor, information processing method, and program therefor
JP2005338940A (en) * 2004-05-24 2005-12-08 Canon Inc Installation method, information processor and device driver
JP2006261970A (en) * 2005-03-16 2006-09-28 Ricoh Co Ltd Image forming system, image forming apparatus, management device, and method of matching and managing plugin
JP2006260354A (en) * 2005-03-18 2006-09-28 Ricoh Co Ltd Image formation system, image formation device, terminal device, and method of updating driver of terminal device
JP2008234577A (en) * 2007-03-23 2008-10-02 Canon Inc Client device, server device and information processing method
JP2009199261A (en) * 2008-02-20 2009-09-03 Ricoh Co Ltd Information processing system, information processing method, and program
JP2010282505A (en) * 2009-06-05 2010-12-16 Ricoh Co Ltd Printer driver program, storage medium and information processing apparatus

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014038417A (en) * 2012-08-13 2014-02-27 Ricoh Co Ltd Program, information processor, and information processing system
JP2014085749A (en) * 2012-10-22 2014-05-12 Oki Data Corp Driver installer, image processor, image forming system and image forming apparatus
JP2015060291A (en) * 2013-09-17 2015-03-30 株式会社リコー Program, information processing apparatus, and information processing system
US10073792B2 (en) 2013-09-17 2018-09-11 Ricoh Company Limited Device, system, and method for detecting, identifying, and communicating with a storage medium
JP2017174253A (en) * 2016-03-25 2017-09-28 京セラドキュメントソリューションズ株式会社 Pull print system
JP2017174258A (en) * 2016-03-25 2017-09-28 京セラドキュメントソリューションズ株式会社 Pull print system
US10873676B2 (en) 2017-02-07 2020-12-22 Ricoh Company, Ltd. Information processing apparatus, installation method, and recording medium

Also Published As

Publication number Publication date
JP5625477B2 (en) 2014-11-19

Similar Documents

Publication Publication Date Title
JP5625477B2 (en) Driver control system and driver control method
US10152332B2 (en) Information processing apparatus, information processing method, and storage medium
JP5609269B2 (en) Image processing apparatus, display apparatus, screen control system, screen control method, screen control program, and recording medium recording the program
JP3720740B2 (en) Distributed printing system, distributed printing control method, storage medium, and program
US7639378B2 (en) Printing system and document management system
JP6413691B2 (en) Data communication apparatus, data communication method, and data communication program
US20110075177A1 (en) Image forming apparatus and method thereof
US20100011290A1 (en) Print management method, recording medium storing a program, and print management apparatus
EP3376391A1 (en) Information processing apparatus, updating method, and carrier means
US8643893B2 (en) Apparatus, method, system, and computer program product for creating operation definition file, and image forming apparatus
JP2011059806A (en) Printer driver, information processor, and computer readable recording medium with the printer driver recorded thereon
US20210326081A1 (en) Information processing apparatus, control method, and storage medium
US8767253B2 (en) Information processing apparatus and computer program product
JP4946141B2 (en) Configuration change program and information processing apparatus
US9086938B2 (en) Information processing apparatus, control method thereof, and storage medium
JP4590341B2 (en) Data processing apparatus, setting processing method, information processing apparatus, and control program
JP3774684B2 (en) Information processing apparatus, printer setting method of information processing apparatus, program, and recording medium
JP2010287055A (en) Information processing apparatus, data conversion method, and program
JP2019067131A (en) Image forming device and control method thereof
US10310780B2 (en) System and control method for installing printer driver
JP2016173771A (en) Program, information processing apparatus, information processing method, and storage medium
JP2008219087A (en) Function execution apparatus
JP2019008673A (en) Information processing apparatus and driver installing method
JP2015232896A (en) Information processing apparatus, information processing method and program
JP2020071693A (en) Information processing apparatus, control method therefor, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130218

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140107

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140305

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140915

R151 Written notification of patent or utility model registration

Ref document number: 5625477

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151