JP6079081B2 - Information processing apparatus, program, and recording medium - Google Patents

Information processing apparatus, program, and recording medium Download PDF

Info

Publication number
JP6079081B2
JP6079081B2 JP2012205096A JP2012205096A JP6079081B2 JP 6079081 B2 JP6079081 B2 JP 6079081B2 JP 2012205096 A JP2012205096 A JP 2012205096A JP 2012205096 A JP2012205096 A JP 2012205096A JP 6079081 B2 JP6079081 B2 JP 6079081B2
Authority
JP
Japan
Prior art keywords
driver
function
module
processing apparatus
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.)
Active
Application number
JP2012205096A
Other languages
Japanese (ja)
Other versions
JP2014059776A (en
Inventor
宏樹 松浦
宏樹 松浦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP2012205096A priority Critical patent/JP6079081B2/en
Publication of JP2014059776A publication Critical patent/JP2014059776A/en
Application granted granted Critical
Publication of JP6079081B2 publication Critical patent/JP6079081B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)

Description

この発明は、ドライバを備える情報処理装置、コンピュータをこのような情報処理装置として機能させるためのプログラム、およびこのようなプログラムを記録した記録媒体に関する。   The present invention relates to an information processing apparatus including a driver, a program for causing a computer to function as such an information processing apparatus, and a recording medium on which such a program is recorded.

情報処理装置で用いるデバイスドライバとして、近年、XPS(XML Paper Specification:登録商標)と呼ばれるタイプのドライバが提案されている。このXPSドライバは、フィルタパイプラインマネージャを用いて入力データを複数のフィルタに順次処理させることにより、種々の機能を実現するものである。
このようなXPSドライバに関しては、例えば特許文献1に記載されている。
In recent years, a type of driver called XPS (XML Paper Specification: registered trademark) has been proposed as a device driver used in an information processing apparatus. This XPS driver implements various functions by causing a plurality of filters to sequentially process input data using a filter pipeline manager.
Such an XPS driver is described in Patent Document 1, for example.

上述のXPSドライバは、その機能が複数のフィルタにより実現されるが、基本的には、そのうち1つのフィルタを取り出しても、該当のフィルタにより提供される機能を利用することができる。
従って、複数のドライバが備えるフィルタを適宜組み合わせて利用できるようにし、その各フィルタに関する設定を受け付けるUI(ユーザインタフェース)を用意して、複数のドライバの機能を同時に利用できるようにした統合ドライバを作成することも考えられる。
The above-described XPS driver is realized by a plurality of filters. Basically, even if one of the filters is taken out, the function provided by the corresponding filter can be used.
Therefore, it is possible to use a combination of filters provided by multiple drivers as appropriate, prepare a UI (user interface) that accepts settings related to each filter, and create an integrated driver that can use the functions of multiple drivers simultaneously. It is also possible to do.

この場合において、この統合ドライバについて、例えばどのフィルタをどの順で利用するかを定義したフィルタ構成情報を用意することになる。しかし、統合ドライバを、フィルタ構成情報を変更する権限がない場所にインストールする場合、インストール後にフィルタ構成情報を変更することができないという問題があった。   In this case, for this integrated driver, for example, filter configuration information that defines which filter is used in which order is prepared. However, when the integrated driver is installed in a place where there is no authority to change the filter configuration information, there is a problem that the filter configuration information cannot be changed after the installation.

例えば、Windows(登録商標)8においてサポートされるVersion4ドライバと呼ばれるプリンタドライバの場合、DriverStoreという特殊な権限のフォルダでドライバが動作するため、通常の管理者権限であってもフィルタ構成情報を変更することができないという問題があった。   For example, in the case of a printer driver called a Version 4 driver supported in Windows (registered trademark) 8, since the driver operates in a folder with special authority called DriverStore, the filter configuration information is changed even with normal administrator authority. There was a problem that I could not.

このため、統合ドライバを一旦インストールしてしまうと、その後、利用する機能の組み合わせを変えることが困難であった。
このような問題は、上述した具体的な環境に限らず、他の環境においても同様に発生し得るものである。
For this reason, once the integrated driver is installed, it is difficult to change the combination of functions to be used thereafter.
Such a problem can occur not only in the specific environment described above but also in other environments.

この発明は、このような背景に鑑みてなされたものであり、ドライバの構成を直接変更できないような環境でも、複数のドライバの機能を組み合わせたドライバを、組み合わせ変更の自由度が高い状態で利用できるようにすることを目的とする。   The present invention has been made in view of such a background, and even in an environment where the configuration of the driver cannot be directly changed, a driver in which the functions of a plurality of drivers are combined is used with a high degree of freedom in changing the combination. The purpose is to be able to.

この発明は上記の目的を達成するため、情報処理装置において、第1のドライバと、上記第1のドライバが利用するモジュールであり、所定の記憶手段に記憶されているモジュール情報が示すモジュールに処理を実行させる機能をそれぞれ備える複数の仲介モジュールと、複数の第2のドライバからその第2のドライバが提供する機能を示す機能情報を取得する機能情報取得手段と、上記機能情報取得手段が取得した機能情報に基づき、上記仲介モジュールに利用させる機能を選択して、上記複数の仲介モジュールの各々について、その利用させる機能を提供するモジュールを示すモジュール情報を、その仲介モジュールと対応付けて上記所定の記憶手段に記憶させるモジュール設定手段とを設け、上記第1のドライバが、予め定められた順番で、上記複数の仲介モジュールのうちの各仲介モジュールを動作させ、その各仲介モジュールが、該仲介モジュールと対応する上記モジュール情報に基づき、そのモジュール情報が示すモジュールに処理を要求するようにしたものである。 In order to achieve the above object, according to the present invention, in the information processing apparatus, the first driver and the module used by the first driver are processed by the module indicated by the module information stored in the predetermined storage unit. A plurality of intermediary modules each having a function to execute the function, a function information acquisition unit that acquires function information indicating a function provided by the second driver from a plurality of second drivers, and the function information acquisition unit Based on the function information, a function to be used by the broker module is selected, and for each of the plurality of broker modules, module information indicating a module that provides the function to be used is associated with the broker module and the predetermined information and a module setting means for storing in the storage means is provided, the first driver, a predetermined order In, to operate the respective mediation modules of the plurality of mediation modules, which each of its mediation module, based on the module information corresponding to said intermediary module, and to request the processing module indicated by the module information It is.

上述の構成によれば、ドライバの構成を直接変更できないような環境でも、複数のドライバの機能を組み合わせたドライバを、組み合わせ変更の自由度が高い状態で利用できるようにすることができる。   According to the above-described configuration, a driver combining a plurality of driver functions can be used with a high degree of freedom in changing the combination even in an environment where the configuration of the driver cannot be directly changed.

この発明の情報処理装置の実施形態であるPCを含む情報処理システムの構成を示す図である。It is a figure which shows the structure of the information processing system containing PC which is embodiment of the information processing apparatus of this invention. 図1に示したPCのハードウェア構成を示す図である。It is a figure which shows the hardware constitutions of PC shown in FIG. そのPCにおけるプリンタドライバの位置づけについて説明するための図である。It is a figure for demonstrating the positioning of the printer driver in the PC. そのPCにおいて印刷の手順に関わる各部の構成を示す図である。It is a figure which shows the structure of each part in connection with the printing procedure in the PC. 統合ドライバの機能構成を示す図である。It is a figure which shows the function structure of an integrated driver. 統合ドライバにおけるN番目の仲介フィルタの機能と対応する処理のフローチャートである。It is a flowchart of the process corresponding to the function of the Nth mediation filter in an integrated driver. 統合ドライバのフィルタ構成ファイルの例を示す図である。It is a figure which shows the example of the filter configuration file of an integrated driver. 図1に示したPCにおける実動作フィルタ構成ファイルの生成に係る機能の構成を示す図である。It is a figure which shows the structure of the function which concerns on the production | generation of the actual operation filter configuration file in PC shown in FIG. 図1に示したPCのCPUが実行する、実動作フィルタ構成ファイルの生成処理のフローチャートである。It is a flowchart of the production | generation process of the actual operation | movement filter structure file which CPU of PC shown in FIG. 1 performs. 図9のステップS28における判定処理について説明するための図である。It is a figure for demonstrating the determination process in step S28 of FIG. 判定処理の例として用いるプリンタドライバの特性を示す図である。It is a figure which shows the characteristic of the printer driver used as an example of a determination process. 図11に示したプリンタドライバに関する判定処理について説明するための図である。FIG. 12 is a diagram for describing determination processing related to the printer driver illustrated in FIG. 11. 図9のステップS25で作成されるドライバ機能リストの例を示す図である。FIG. 10 is a diagram showing an example of a driver function list created in step S25 of FIG. 図9のステップS28終了後のドライバ機能リストの例を示す図である。It is a figure which shows the example of the driver function list after completion | finish of step S28 of FIG. 設定受付画面の例を示す図である。It is a figure which shows the example of a setting reception screen. 第1の変形例における設定受付画面の例を示す図である。It is a figure which shows the example of the setting reception screen in a 1st modification. 第2の変形例における設定受付画面の例を示す図である。It is a figure which shows the example of the setting reception screen in a 2nd modification. その別の状態の例を示す図である。It is a figure which shows the example of the other state. 第3の変形例におけるドライバ選択画面の例を示す図である。It is a figure which shows the example of the driver selection screen in a 3rd modification. 第4の変形例における設定受付画面の例を示す図である。It is a figure which shows the example of the setting reception screen in a 4th modification.

以下、この発明を実施するための形態を図面に基づいて具体的に説明する。
図1は、この発明の情報処理装置の実施形態であるPCを含む情報処理システムの構成を示す図である。
Hereinafter, embodiments for carrying out the present invention will be specifically described with reference to the drawings.
FIG. 1 is a diagram showing a configuration of an information processing system including a PC which is an embodiment of an information processing apparatus of the present invention.

この情報処理システム1は、PC10と画像処理装置20A,20Bとをネットワーク30を介して接続したものである。ネットワーク30は、例えばLAN(ローカルエリアネットワーク)とすることが考えられるが、有線、無線を問わず任意の方式のものを採用可能である。   In this information processing system 1, a PC 10 and image processing apparatuses 20A and 20B are connected via a network 30. The network 30 may be a local area network (LAN), for example, but any system can be employed regardless of wired or wireless.

また、PC10は、この発明の情報処理装置の実施形態である。そして、詳細は後述するが、画像処理装置20A,20Bを制御するためのドライバとして、それぞれフィルタにより実現される1又は複数の機能を備える1又は複数のデバイスドライバ(第2のドライバ)と、その各ドライバの機能を統合して利用可能な統合ドライバ(第1のドライバ)とを備える。また、PC10は、自身が備えるデバイスドライバが提供可能な機能およびユーザからの指示等に応じて、統合ドライバの機能を構築する機能も備える。   The PC 10 is an embodiment of the information processing apparatus of the present invention. As will be described in detail later, as drivers for controlling the image processing apparatuses 20A and 20B, one or a plurality of device drivers (second drivers) each having one or a plurality of functions realized by a filter, And an integrated driver (first driver) that can be used by integrating the functions of the drivers. The PC 10 also has a function that can provide a device driver that the PC 10 has, and a function that constructs a function of the integrated driver in accordance with an instruction from the user.

また、画像処理装置20A,20Bは、それぞれ外部から供給される出力データに従って画像を処理する機能を備える。その処理には、加工、印刷、蓄積、メールやファクシミリによる送信、表示手段による表示、スクリーンへの投影等が考えられる。また、印刷の場合、製本やソート等、印刷後の用紙に対する加工を行えるようにしてもよい。   Each of the image processing apparatuses 20A and 20B has a function of processing an image according to output data supplied from the outside. For the processing, processing, printing, accumulation, transmission by mail or facsimile, display by display means, projection onto a screen, and the like are conceivable. In the case of printing, it may be possible to perform processing on printed paper such as bookbinding and sorting.

以上の処理の指示は、PC10が備える、画像処理装置20A,20Bと対応するデバイスドライバから行うことができる。
また、ここでは、画像処理装置20A,20Bは、印刷機能を備えるプリンタであり、これらと対応するデバイスドライバはプリンタドライバであるとして説明する。また、個体を区別する必要がない場合には、画像処理装置20の符号を用いる。
The above processing instruction can be issued from a device driver provided in the PC 10 and corresponding to the image processing apparatuses 20A and 20B.
In the following description, it is assumed that the image processing apparatuses 20A and 20B are printers having a printing function, and device drivers corresponding to these are printer drivers. When there is no need to distinguish between individuals, the code of the image processing device 20 is used.

次に、図2に、PC10のハードウェア構成を示す。
PC10は、ハードウェアとしては公知のコンピュータを適宜採用できる。例えば、図2に示すように、CPU11、ROM12、RAM13、通信I/F14、HDD(ハードディスクドライブ)15、UI(ユーザインタフェース)部16をシステムバス17により接続した構成とすることができる。
Next, FIG. 2 shows a hardware configuration of the PC 10.
The PC 10 can appropriately employ a known computer as hardware. For example, as shown in FIG. 2, the CPU 11, the ROM 12, the RAM 13, the communication I / F 14, the HDD (hard disk drive) 15, and the UI (user interface) unit 16 may be connected via a system bus 17.

そして、CPU11がRAM13をワークエリアとしてROM12あるいはHDD15に記憶されたプログラムを実行することにより、PC10全体の動作を制御し、後述する統合ドライバの制御をはじめとする種々の機能を実現することができる。
また、HDD15は、統合ドライバが利用するフィルタを規定するフィルタ構成ファイルを記憶する記憶手段として機能する。
通信I/F14は、LAN(ローカルエリアネットワーク)等のネットワークを介して画像処理装置20等の外部装置と通信するためのインタフェースである。
The CPU 11 executes programs stored in the ROM 12 or the HDD 15 using the RAM 13 as a work area, thereby controlling the overall operation of the PC 10 and realizing various functions including control of an integrated driver described later. .
The HDD 15 functions as a storage unit that stores a filter configuration file that defines a filter used by the integrated driver.
The communication I / F 14 is an interface for communicating with an external apparatus such as the image processing apparatus 20 via a network such as a LAN (local area network).

UI部16は、ユーザの操作を受け付けるための操作部や、ユーザに情報を提示するための表示部を含む操作受付手段である。外付けの操作部や表示部を用いてもよいことはもちろんである。
なお、ユーザの操作は、外部装置から操作内容を示すデータを受信することにより受け付けてもよい。また、ユーザへの情報の提示は、画面の表示内容を示すデータや画面に表示させるべきデータを外部装置へ送信することによって行ってもよい。
The UI unit 16 is an operation receiving unit including an operation unit for receiving a user operation and a display unit for presenting information to the user. Of course, an external operation unit or display unit may be used.
The user's operation may be received by receiving data indicating the operation content from the external device. In addition, the presentation of information to the user may be performed by transmitting data indicating the display content of the screen or data to be displayed on the screen to an external device.

次に、図3に、PC10におけるプリンタドライバの位置づけを示す。
このPC10は、Microsoft社のWindows(登録商標)を基本ソフトウェア(OS)に採用していて、他のソフトウェアはこのOS上で動作する。
アプリケーション111は、文書作成、画像作成、画像編集、画像加工、表計算等の、ユーザが文書等のデータの編集に用いる機能を実現するソフトウェアモジュールである。
Next, FIG. 3 shows the position of the printer driver in the PC 10.
This PC 10 employs Microsoft Windows (registered trademark) as basic software (OS), and other software operates on this OS.
The application 111 is a software module that realizes functions used by a user to edit data such as a document, such as document creation, image creation, image editing, image processing, and spreadsheet.

スプーラ112は、OSの印刷機能を管理するソフトウェアモジュールである。そして、画像処理装置20を制御するためのデバイスドライバである各種プリンタドライバ120a〜120cは、このスプーラ112の一部として動作する。統合ドライバ150についても、OS上の扱いは、他のプリンタドライバ120a〜120c(以後、個体を区別する必要がない場合には符号「120」を用いる)と並列である。   The spooler 112 is a software module that manages the printing function of the OS. Various printer drivers 120 a to 120 c that are device drivers for controlling the image processing apparatus 20 operate as a part of the spooler 112. Regarding the integrated driver 150, the handling on the OS is in parallel with other printer drivers 120a to 120c (hereinafter, “120” is used when it is not necessary to distinguish the individual).

ドライバ選択部113は、スプーラ112が備えるプリンタドライバ120及び統合ドライバ150の中から、印刷に使用するドライバを選択する機能を備えるソフトウェアモジュールである。この選択は、自動で行っても、ユーザの操作に従って行ってもよい。プリンタドライバ120が画像処理装置20と対応付けられていれば、印刷に用いる画像処理装置20の選択に従ってドライバの選択を行うこともできる。   The driver selection unit 113 is a software module having a function of selecting a driver to be used for printing from the printer driver 120 and the integrated driver 150 provided in the spooler 112. This selection may be performed automatically or according to a user operation. If the printer driver 120 is associated with the image processing apparatus 20, the driver can be selected according to the selection of the image processing apparatus 20 used for printing.

パラレルI/F131、USB(Universal Serial Bus)I/F132及びネットワークI/F133は、図2に示した通信I/F14の具体例である。このうちパラレルI/F131は、IEEE(Institute
of Electrical and Electronic Engineers)1284の仕様に基づく入出力インタフェースである。USB_I/F132は、USB1.0あるいはUSB2.0の仕様に基づく入出力インタフェースである。ネットワークI/F133は、イーサネット(登録商標)などのネットワーク通信を行うための入出力インタフェースである。
A parallel I / F 131, a USB (Universal Serial Bus) I / F 132, and a network I / F 133 are specific examples of the communication I / F 14 illustrated in FIG. Of these, the parallel I / F 131 is an IEEE (Institute).
of Electrical and Electronic Engineers). The USB_I / F 132 is an input / output interface based on USB1.0 or USB2.0 specifications. The network I / F 133 is an input / output interface for performing network communication such as Ethernet (registered trademark).

以上の各部を備えるPC10において、アプリケーション111で作成した文書等を印刷しようとする場合、概略は以下の手順となる。すなわち、アプリケーション111は、ユーザから印刷の指示を受け取ると、まずスプーラ112のうちドライバ選択部113で選択されたドライバにその文書のデータを渡す。そして、そのドライバが、受け取ったデータを、印刷に用いる画像処理装置20が取り扱い可能な形式に変換して、画像処理装置20と通信可能なI/Fから、画像処理装置20へその変換後のデータを送信する。
これを受け取った画像処理装置20は、その受け取ったデータに基づき印刷を実行する。
When printing a document or the like created by the application 111 on the PC 10 having the above-described units, the outline is as follows. That is, when the application 111 receives a print instruction from the user, the application 111 first passes the document data to the driver selected by the driver selection unit 113 in the spooler 112. Then, the driver converts the received data into a format that can be handled by the image processing apparatus 20 used for printing, and the I / F that can communicate with the image processing apparatus 20 transfers the converted data to the image processing apparatus 20. Send data.
Upon receiving this, the image processing apparatus 20 executes printing based on the received data.

次に、図4に、この印刷の手順に関わる各部の構成を、より詳細に示す。なお、Windowsで利用可能なプリンタドライバには大きく分けてGDI(Graphic
Device Interface)ドライバとXPSドライバがあるが、図4に示すのはXPSドライバを用いる場合の例である。
PC10は、印刷実行時に動作する構成として、図4に示すように、アプリケーション111及びプリンタドライバ120の他、UI制御部141、API(Application Program Interface)142、スプールファイル格納部143を備える。
Next, FIG. 4 shows the configuration of each part related to the printing procedure in more detail. Note that printer drivers that can be used in Windows are roughly divided into GDI (Graphic).
(Device Interface) driver and XPS driver. FIG. 4 shows an example of using the XPS driver.
As shown in FIG. 4, the PC 10 includes a UI control unit 141, an API (Application Program Interface) 142, and a spool file storage unit 143 in addition to the application 111 and the printer driver 120 as a configuration that operates when printing is performed.

このうちUI制御部141は、アプリケーション111からの指示に応じて、印刷に用いるプリンタドライバ120において利用可能な機能に関する設定を受け付けるためのGUI(Graphical User Interface)を制御する機能を備える。GUIの構成に関するデータはプリンタドライバ120が持っているため、これを参照してGUIの制御を行う。このGUIで受け付けた設定の内容は、アプリケーション111に渡して保持させる。   Among these, the UI control unit 141 has a function of controlling a GUI (Graphical User Interface) for receiving settings related to functions available in the printer driver 120 used for printing in response to an instruction from the application 111. Since the printer driver 120 has data related to the GUI configuration, the GUI is controlled with reference to the data. The contents of the settings received through this GUI are passed to the application 111 for holding.

API142は、アプリケーション111からの命令を受けて、印刷すべき文書等のデータを、プリンタドライバ120が処理可能なスプールファイルの形式に変換する機能を備える。このとき、アプリケーション111は、UI制御部141から渡された印刷の設定を示すデータを、印刷すべき文書等のデータと共にAPI142に渡し、API142は、その設定も反映させたスプールファイルを作成する。   The API 142 has a function of receiving data from the application 111 and converting data such as a document to be printed into a spool file format that can be processed by the printer driver 120. At this time, the application 111 passes the data indicating the print setting passed from the UI control unit 141 to the API 142 together with data such as a document to be printed, and the API 142 creates a spool file reflecting the setting.

スプールファイル格納部143は、HDD15等の記憶手段のOSで設定された場所にスプールフォルダを作成してスプールファイルを格納する機能を備える。API142が作成したスプールファイルは、プリンタドライバ120に渡す前にスプールファイル格納部143に格納させて保管しておくことができる。   The spool file storage unit 143 has a function of creating a spool folder in a location set by the OS of the storage unit such as the HDD 15 and storing the spool file. The spool file created by the API 142 can be stored and stored in the spool file storage unit 143 before being passed to the printer driver 120.

プリンタドライバ120は、図3に示したものと同様であるが、より詳細には、フィルタパイプラインマネージャ121、複数のフィルタ122−1〜n、及びフィルタ構成ファイル123を備える。
そして、プリンタドライバ120は、OSが提供するフィルタパイプラインマネージャ121の機能により、API142から渡されたスプールファイルをフィルタ122−1〜nに順次処理させることにより、画像処理装置20が取り扱い可能な形式に変換する。このとき、拡大縮小、集約、すかし挿入など、画像を加工する処理を合わせて行うこともできる。このような動作は、レンダリングと呼ばれる。
The printer driver 120 is the same as that shown in FIG. 3, but more specifically includes a filter pipeline manager 121, a plurality of filters 122-1 to n, and a filter configuration file 123.
The printer driver 120 uses the function of the filter pipeline manager 121 provided by the OS to cause the filters 122-1 to 122 n to sequentially process the spool file passed from the API 142 so that the image processing apparatus 20 can handle the format. Convert to At this time, processing for processing the image such as enlargement / reduction, aggregation, watermark insertion, and the like can be performed together. Such an operation is called rendering.

そして、プリンタドライバ120は、最後のフィルタによる処理後のデータを、適当なI/Fに渡して画像処理装置20へ送信させる。
また、フィルタ構成ファイル123は、フィルタパイプラインマネージャ121がスプールファイルを渡して処理させるフィルタの場所(名称)及び各フィルタに処理を実行させる順番を規定するファイルである。ただし、このフィルタ構成ファイル123を見ても、各フィルタと対応する機能が何であるかはわからない。
Then, the printer driver 120 passes the data processed by the last filter to an appropriate I / F and transmits it to the image processing apparatus 20.
The filter configuration file 123 is a file that defines the location (name) of a filter to be processed by the filter pipeline manager 121 by passing the spool file, and the order in which each filter performs processing. However, even if the filter configuration file 123 is viewed, it is not known what function corresponds to each filter.

なお、プリンタドライバ120が提供可能な機能は、PrintCapabilitiesにリスト化されている。PrintCapabilitiesには、提供可能な各機能及びその機能について設定可能な設定項目及び設定値のリストがキーワードで記載されており、また各設定項目に対する用語情報も含まれる。   The functions that can be provided by the printer driver 120 are listed in PrintCapabilities. In PrintCapabilities, each function that can be provided and a list of setting items and setting values that can be set for the function are described as keywords, and terminology information for each setting item is also included.

また、プリンタドライバ120が提供可能な各機能についての設定内容は、PrintTicketとして記載することができる。このPrintTicket は、XML(Extensible Markup Language)形式で記載されたデータであり、プリンタドライバの現在設定されている印刷設定値の一覧を意味するものである。PrintCapabilitiesの情報から、各設定項目において選択可能な各設定値が選択された際にPrintTicketに記載すべき値を知ることができる。   Further, the setting contents for each function that can be provided by the printer driver 120 can be described as PrintTicket. This PrintTicket is data described in an XML (Extensible Markup Language) format, and means a list of print setting values currently set in the printer driver. From the information of PrintCapabilities, it is possible to know the value to be written in the PrintTicket when each setting value that can be selected in each setting item is selected.

また、PrintTicketはXPSデータにも含まれ、XPSドライバの各フィルタ122−1〜nは、XPSデータに含まれているPrintTicketの情報から現在そのXPSデータに適用されている各設定項目の設定値を知って、それに伴い動作を実行することができる。
ところで、以上説明してきたプリンタドライバ120の構成は、統合ドライバ150についても基本的には同じである。しかし、一部異なる点もあるので、次にこの点について説明する。
The PrintTicket is also included in the XPS data, and each of the filters 122-1 to 12-n of the XPS driver determines the setting value of each setting item currently applied to the XPS data from the information of the PrintTicket included in the XPS data. Know and perform actions accordingly.
By the way, the configuration of the printer driver 120 described above is basically the same for the integrated driver 150. However, there are some differences, so this point will be described next.

図5は、統合ドライバ150の機能構成を示す図である。
統合ドライバ150は、図5に示すように、フィルタパイプラインマネージャ151、複数の仲介フィルタ152−1〜n、およびフィルタ構成ファイル153を備える。
これらは、プリンタドライバ120におけるフィルタパイプラインマネージャ121、フィルタ122−1〜n、およびフィルタ構成ファイル123と同様な機能を備える。
FIG. 5 is a diagram illustrating a functional configuration of the integrated driver 150.
As shown in FIG. 5, the integrated driver 150 includes a filter pipeline manager 151, a plurality of mediation filters 152-1 to 152-1, and a filter configuration file 153.
These have the same functions as the filter pipeline manager 121, the filters 122-1 to 122-n, and the filter configuration file 123 in the printer driver 120.

すなわち、統合ドライバ150は、OSが提供するフィルタパイプラインマネージャ151の機能により、APIから渡されたスプールファイルを仲介フィルタ152−1〜nに順次処理させることにより、画像処理装置20が取り扱い可能な形式に変換する。   That is, the integrated driver 150 can handle the image processing apparatus 20 by causing the intermediary filters 152-1 to 152-n to sequentially process the spool file passed from the API by the function of the filter pipeline manager 151 provided by the OS. Convert to format.

しかしながら、仲介フィルタ152−1〜Nは、実体的な処理を行うフィルタではなく、所定の位置に格納された実動作フィルタ構成ファイル170を参照し、そこに記載されたフィルタに対して、受け取ったデータに係る処理を依頼する。そしてその結果をフィルタパイプラインマネージャ151に返させる。あるいは、処理結果を一旦仲介フィルタ152(個体を区別しない場合にはこの符号を用いる)に返させ、仲介フィルタ152がフィルタパイプラインマネージャ151に返すようにしてもよい。   However, the mediation filters 152-1 to 152 -N are not filters that perform substantial processing, but refer to the actual operation filter configuration file 170 stored at a predetermined position, and are received for the filters described therein. Request processing related to data. Then, the result is returned to the filter pipeline manager 151. Alternatively, the processing result may be temporarily returned to the mediation filter 152 (use this code when the individual is not distinguished), and the mediation filter 152 may return it to the filter pipeline manager 151.

実動作フィルタ構成ファイル170は、統合ドライバ150が提供する機能に係る処理を実体的に行わせるフィルタの場所(名称)及び各フィルタに処理を実行させる順番を規定するファイルである。
そして、1番目の仲介フィルタ152−1は、実動作フィルタ構成ファイル170の1番目に記載された情報が示すフィルタに、受け取ったデータに係る処理を依頼する。2番目の仲介フィルタ152−2は、実動作フィルタ構成ファイル170の2番目に記載された情報が示すフィルタに、受け取ったデータに係る処理を依頼する。同様に、n番目の仲介フィルタ152−nは、実動作フィルタ構成ファイル170のn番目に記載された情報が示すフィルタに、受け取ったデータに係る処理を依頼する。
The actual operation filter configuration file 170 is a file that prescribes the location (name) of a filter that actually performs the process related to the function provided by the integrated driver 150 and the order in which each filter executes the process.
Then, the first mediation filter 152-1 requests the filter indicated by the first information in the actual operation filter configuration file 170 to perform processing related to the received data. The second mediation filter 152-2 requests the filter indicated by the second information in the actual operation filter configuration file 170 to perform processing related to the received data. Similarly, the n-th mediation filter 152-n requests the filter indicated by the n-th information in the actual operation filter configuration file 170 to perform processing related to the received data.

実動作フィルタ構成ファイル170に、仲介フィルタ152と対応するフィルタの記載がない場合、その仲介フィルタ152は、受け取ったデータに対し何も処理をせずにフィルタパイプラインマネージャ151へ返せばよい。   When there is no description of the filter corresponding to the mediation filter 152 in the actual operation filter configuration file 170, the mediation filter 152 may return the received data to the filter pipeline manager 151 without performing any processing.

図6に、N番目の仲介フィルタの機能と対応する処理のフローチャートを示す。
PC10のCPU11は、N番目の仲介フィルタ152−Nがフィルタパイプラインマネージャ151から処理対象のデータ及び処理依頼を受け取ったことを検出した場合、図6のフローチャートに示す処理を開始する。
FIG. 6 shows a flowchart of processing corresponding to the function of the Nth mediation filter.
When the CPU 11 of the PC 10 detects that the Nth mediation filter 152 -N has received the data to be processed and the processing request from the filter pipeline manager 151, the CPU 11 starts the processing shown in the flowchart of FIG. 6.

そしてまず、実動作フィルタ構成ファイル170を参照する(S11)。このファイルへのパスは、予め仲介フィルタ152が把握できるようにしておく。
次に、実動作フィルタ構成ファイル170にN番目のフィルタのフィルタ情報が含まれていたか否か判断する(S12)。
First, the actual operation filter configuration file 170 is referred to (S11). The mediation filter 152 can grasp the path to this file in advance.
Next, it is determined whether the filter information of the Nth filter is included in the actual operation filter configuration file 170 (S12).

含まれていた場合、受け取ったデータをそのフィルタ情報が示すフィルタに渡して処理させ、結果をフィルタパイプラインマネージャ151へ返させて(S13)、処理を終了する。一方、含まれていない場合、受け取ったデータをそのままフィルタパイプラインマネージャ151へ返して(S14)、処理を終了する。   If included, the received data is passed to the filter indicated by the filter information for processing, the result is returned to the filter pipeline manager 151 (S13), and the processing is terminated. On the other hand, if it is not included, the received data is returned as it is to the filter pipeline manager 151 (S14), and the process is terminated.

なお、図5の例では、実動作フィルタ構成ファイル170に“scaling_filter.dll”、“watermark_filter.dll”、および“nup_filter.dll”の3つのフィルタの情報が記載されている。そして、これに対応して、仲介フィルタ152−1〜3が、それぞれ1番目〜3番目参照先フィルタ171〜173に対してデータの処理を依頼するようになっている。4番目以降の仲介フィルタ152は、受け取ったデータに対し何も処理をせずにフィルタパイプラインマネージャ151へ返す。   In the example of FIG. 5, information of three filters “scaling_filter.dll”, “watermark_filter.dll”, and “nup_filter.dll” is described in the actual operation filter configuration file 170. Correspondingly, the mediation filters 152-1 to 152-1 request the first to third reference filters 171 to 173 to process data, respectively. The fourth and subsequent mediation filters 152 return the received data to the filter pipeline manager 151 without performing any processing.

ここで、1番目〜3番目参照先フィルタ171〜173は、統合ドライバ150によって提供されるフィルタである必要はない(ただし統合ドライバ150が提供することも妨げられない)。他のプリンタドライバ120が提供する機能を実現するためのフィルタの情報を、適宜選択して実動作フィルタ構成ファイル170に記載することにより、統合ドライバ150に、それらのフィルタが提供する機能を組み合わせた機能を実現させることができる。   Here, the first to third reference filters 171 to 173 do not need to be filters provided by the integrated driver 150 (however, the integrated driver 150 is not prevented from providing them). Filter information for realizing the functions provided by other printer drivers 120 is appropriately selected and described in the actual operation filter configuration file 170, thereby combining the functions provided by those filters with the integrated driver 150. Functions can be realized.

また、フィルタパイプラインマネージャ151がデータの処理を依頼するフィルタについては、フィルタ構成ファイル153に、図7に示すように、仲介フィルタ152−1〜nの情報がこの順で記載されている。そして、フィルタ構成ファイル153の内容を変更できない場合、仲介フィルタ152の数も機能も変更することはできない。   As for the filter for which the filter pipeline manager 151 requests data processing, the filter configuration file 153 describes information on the mediation filters 152-1 to 152-1 in this order as shown in FIG. If the contents of the filter configuration file 153 cannot be changed, neither the number nor the function of the mediation filter 152 can be changed.

しかし、仲介フィルタ152の機能として、内容を変更可能な場所にある実動作フィルタ構成ファイル170の内容を参照してそれが示すフィルタに対して処理を依頼する、という機能を設けることにより、実質的にこの制約を脱することができる。
フィルタ構成ファイル153の内容自体は変更できなくても、実動作フィルタ構成ファイル170の内容を変更することにより、統合ドライバ150の動作を実質的に変更することができるためである。
However, as a function of the intermediary filter 152, by providing a function of referring to the contents of the actual operation filter configuration file 170 in a place where the contents can be changed and requesting processing to the filter indicated by the contents, This restriction can be removed.
This is because even if the content of the filter configuration file 153 itself cannot be changed, the operation of the integrated driver 150 can be substantially changed by changing the content of the actual operation filter configuration file 170.

この場合において、仲介フィルタ152は、統合ドライバ150が利用するモジュールであり、所定の記憶手段に記憶されているモジュール情報である実動作フィルタ構成ファイル170が示すモジュールに処理を実行させる機能を備える仲介モジュールに該当する。
また、実動作フィルタ構成ファイル170は、上記仲介モジュールに利用させる機能を提供するモジュールを示すモジュール情報に該当する。
In this case, the mediation filter 152 is a module used by the integrated driver 150 and has a function of causing the module indicated by the actual operation filter configuration file 170, which is module information stored in a predetermined storage unit, to execute processing. Applicable to modules.
The actual operation filter configuration file 170 corresponds to module information indicating a module that provides a function to be used by the mediation module.

なお、仲介フィルタ152の数は、少なすぎると統合ドライバ150が十分な数のフィルタを利用できなくなるし、多すぎるとフィルタパイプラインマネージャ151と仲介フィルタ152との間で無用にデータのやりとりが発生することになる。これらを考慮して適切な数を定めればよい。   If the number of mediation filters 152 is too small, the integrated driver 150 cannot use a sufficient number of filters. If the number is too large, unnecessary exchange of data occurs between the filter pipeline manager 151 and the mediation filter 152. Will do. An appropriate number may be determined in consideration of these.

次に、実動作フィルタ構成ファイル170の生成に係る機能及び処理について説明する。
まず、図8に、PC10における実動作フィルタ構成ファイルの生成に係る機能の構成を示す。
Next, functions and processing relating to generation of the actual operation filter configuration file 170 will be described.
First, FIG. 8 shows a configuration of functions related to generation of an actual operation filter configuration file in the PC 10.

PC10は、実動作フィルタ構成ファイルの生成に係る機能として、図8に示すように、ドライバ能力取得部161、ドライバ能力解析部162、ドライバ能力統合部163、ドライバ種類判定部164、統合機能画面表示部165、機能実現箇所判定部166、および実動作フィルタ構成ファイル作成部167を備える。   As shown in FIG. 8, the PC 10 has a driver capability acquisition unit 161, a driver capability analysis unit 162, a driver capability integration unit 163, a driver type determination unit 164, and an integrated function screen display as functions related to generation of the actual operation filter configuration file. Unit 165, function realization location determination unit 166, and actual operation filter configuration file creation unit 167.

これらのうちドライバ能力取得部161は、PC10にインストールされている各プリンタドライバ120のPrintCapabilitiesを利用して各プリンタドライバ120でサポートされている印刷機能、印刷設定やUI用語情報の一覧を取得する機能を備える。
ドライバ能力解析部162は、ドライバ能力取得部161で取得したPrintCapabilitiesの情報を解析し、各プリンタドライバ120がどのような機能及び設定値をサポートしているか、また各機能、設定項目及び設定値に対する用語の情報を取得する。
Among these, the driver capability acquisition unit 161 uses the PrintCapabilities of each printer driver 120 installed in the PC 10 to acquire a list of print functions, print settings, and UI term information supported by each printer driver 120. Is provided.
The driver capability analysis unit 162 analyzes the information of PrintCapabilities acquired by the driver capability acquisition unit 161, and what functions and setting values each printer driver 120 supports, and for each function, setting item, and setting value Get term information.

ドライバ能力統合部163では、ドライバ能力解析部162が解析した各プリンタドライバ120の能力から、共通の機能は1つの機能として扱い、全機能を網羅した処理能力を集計する機能を備える。共通の機能か否かはPrintCapabilitiesに記載された各機能のキーワードが同じか否かで判定を行うことができる。   The driver capability integration unit 163 has a function of handling the common functions as one function based on the capabilities of the printer drivers 120 analyzed by the driver capability analysis unit 162 and totaling the processing capabilities covering all the functions. Whether or not they are common functions can be determined based on whether or not the keywords of the respective functions described in PrintCapabilities are the same.

ドライバ種類判定部164では、ドライバ能力取得部161が能力を取得したプリンタドライバがXPSドライバであるかGDIドライバであるかを判定する。これは、統合ドライバ150から利用可能な機能はXPSドライバによって提供される機能であり、GDIドライバによって提供される機能は利用できないためである。従って、ドライバ能力解析部162及びドライバ能力統合部163は、GDIドライバについては処理対象とする必要はない。   The driver type determination unit 164 determines whether the printer driver from which the driver capability acquisition unit 161 has acquired the capability is an XPS driver or a GDI driver. This is because the functions available from the integrated driver 150 are functions provided by the XPS driver, and the functions provided by the GDI driver cannot be used. Therefore, the driver capability analysis unit 162 and the driver capability integration unit 163 do not need to process the GDI driver.

統合機能画面表示部165は、ドライバ能力統合部163が集計した各機能に係る設定をユーザから受け付け可能なようにユーザインタフェースを生成して表示する機能を備える。また、そのユーザインタフェースにより、統合ドライバ150の動作に必要な設定を受け付ける設定受付手段の機能も備える。   The integrated function screen display unit 165 has a function of generating and displaying a user interface so that settings relating to each function collected by the driver capability integration unit 163 can be received from the user. The user interface also has a function of setting accepting means for accepting settings necessary for the operation of the integrated driver 150.

機能実現箇所判定部166は、各プリンタドライバ120から取得した各機能がプリンタドライバ120側で実現するものであるか画像処理装置20側で実現するものであるかを判定する識別手段の機能を備える。このような判定を行うのは、プリンタドライバ120側で実現されている機能はどの画像処理装置で印刷する場合にも利用可能だが、画像処理装置20側で実現する機能はその画像処理装置で印刷する場合にしか利用できないためである。   The function realization location determination unit 166 has a function of an identification unit that determines whether each function acquired from each printer driver 120 is realized on the printer driver 120 side or on the image processing apparatus 20 side. . Such a determination can be made by using the function realized on the printer driver 120 side in any image processing apparatus, but the function realized on the image processing apparatus 20 side can be printed by the image processing apparatus. This is because it can only be used when doing so.

実動作フィルタ構成ファイル作成部167は、他の各部による処理の結果統合ドライバ150が利用することとなったフィルタの情報を記載した実動作フィルタ構成ファイル170を作成して、所定の場所へ保存するモジュール設定手段の機能を備える。   The actual operation filter configuration file creation unit 167 creates an actual operation filter configuration file 170 that describes information on the filter that the integrated driver 150 has used as a result of processing by other units, and stores it in a predetermined location. It has the function of module setting means.

次に、図9に、PC10のCPU11が実行する、実動作フィルタ構成ファイル170の生成処理のフローチャートを示す。
CPU11は、実動作フィルタ構成ファイル170を生成すべきことを検出すると、図9のフローチャートに示す処理を開始する。このタイミングとしては、実動作フィルタ構成ファイル170の生成指示を検出した場合や、統合ドライバ150が最初にPC10にインストールされた場合などが考えられる。
Next, FIG. 9 shows a flowchart of processing for generating the actual operation filter configuration file 170 executed by the CPU 11 of the PC 10.
When detecting that the actual operation filter configuration file 170 should be generated, the CPU 11 starts the processing shown in the flowchart of FIG. Possible timings include a case where an instruction to generate the actual operation filter configuration file 170 is detected, and a case where the integrated driver 150 is first installed in the PC 10.

この処理において、CPU11はまず、PC10にインストールされているプリンタドライバ120のリストを取得する(S21)。このリストは、OSにより提供されている。
次に、ステップS21で取得したリストに載っているプリンタドライバ120の1つを処理対象とする(S22)。
In this process, the CPU 11 first obtains a list of printer drivers 120 installed in the PC 10 (S21). This list is provided by the OS.
Next, one of the printer drivers 120 on the list acquired in step S21 is set as a processing target (S22).

そして、処理対象のドライバがXPSドライバであるか否か判断する(S23)。この処理は、ドライバ種類判定部164の機能と対応する処理である。
CPU11は、ステップS23でXPSドライバであれば、処理対象のドライバが提供する機能の情報を示すPrintCapabilitiesを取得する(S24)。また、そのPrintCapabilitiesを解析して得られる処理対象のドライバの機能の情報を、PC10にインストールされているプリンタドライバが備える機能のリストであるドライバ機能リストに追加する(S25)。
Then, it is determined whether or not the processing target driver is an XPS driver (S23). This process corresponds to the function of the driver type determination unit 164.
If the CPU 11 is an XPS driver in step S23, the CPU 11 acquires PrintCapabilities indicating information on the function provided by the driver to be processed (S24). Further, information on the function of the processing target driver obtained by analyzing the PrintCapabilities is added to a driver function list which is a list of functions provided in the printer driver installed in the PC 10 (S25).

ステップS24の処理は、ドライバ能力取得部161の機能と対応する処理であり、ステップS25の処理は、ドライバ能力解析部162とドライバ能力統合部163の機能と対応する処理である。なお、ステップS25で作成するドライバ機能リストは、機能を網羅する統合的な機能のリストとして作成する。また、各ドライバ間で同一のPrintCapabilitiesのキーワードがあった場合にはそれは同じ機能であると判定し、異なるキーワードの場合には異なる機能であると判定する。しかし、ドライバ機能リストには、複数のドライバが同じ機能を持っていることを登録してもよい。   The processing in step S24 is processing corresponding to the function of the driver capability acquisition unit 161, and the processing in step S25 is processing corresponding to the functions of the driver capability analysis unit 162 and the driver capability integration unit 163. The driver function list created in step S25 is created as an integrated function list that covers the functions. Further, if there is the same PrintCapabilities keyword between the drivers, it is determined that the functions are the same, and if the keywords are different, it is determined that the functions are different. However, it may be registered in the driver function list that a plurality of drivers have the same function.

以上のステップS25の後、ステップS21で取得したリストにまだ処理対象としていないプリンタドライバ120があるか否か判断し(S26)、あれば、次のドライバを処理対象として(S27)、ステップS23に戻り処理を繰り返す。
また、ステップS23でXPSドライバでない場合、ステップS24及びS25は飛ばしてステップS26に進む。
After the above step S25, it is determined whether there is a printer driver 120 that is not yet processed in the list acquired in step S21 (S26). If there is, the next driver is processed (S27), and the process goes to step S23. Repeat the return process.
If the driver is not an XPS driver in step S23, steps S24 and S25 are skipped and the process proceeds to step S26.

また、ステップS26でNOの場合、CPU11は、ドライバ機能リストに登録した各機能につき、その機能がプリンタドライバ120側で実現されているか、ドライバによる制御対象の画像処理装置20側で実現されているかを判定する(S28)。この処理は、機能実現箇所判定部166の機能と対応する処理である。また、この判定の手法については後に詳述する。   If NO in step S26, for each function registered in the driver function list, whether the function is realized on the printer driver 120 side or on the image processing apparatus 20 side controlled by the driver. Is determined (S28). This process is a process corresponding to the function of the function realization location determination unit 166. The determination method will be described later in detail.

次に、CPU11は、ステップS28でプリンタドライバ120側で実現されていると判定した機能について設定を受け付けるための画面のデータを生成して保存する(S29)。この画面は、各プリンタドライバから取得したPrintCapabilitiesの、該当する機能に関する情報に基づき作成することができる。PrintCapabilitiesには、各機能について受け付けるべき設定項目及びその設定項目に設定可能な設定値の情報が含まれるためである。また、このステップS29の処理は、統合機能画面表示部165の機能と対応する処理である。   Next, the CPU 11 generates and stores screen data for accepting settings for the function determined to be realized on the printer driver 120 side in step S28 (S29). This screen can be created based on the information about the corresponding function of PrintCapabilities acquired from each printer driver. This is because PrintCapabilities includes information on setting items that should be accepted for each function and setting values that can be set in the setting items. Further, the process of step S29 is a process corresponding to the function of the integrated function screen display unit 165.

さらに、CPU11は、ステップS28でプリンタドライバ120側で実現されていると判定した機能を呼び出すための実動作フィルタ構成ファイル170を生成して所定の場所に保存し(S30)、処理を終了する。このステップS30の処理は、実動作フィルタ構成ファイル作成部167の機能と対応する処理である。   Further, the CPU 11 generates an actual operation filter configuration file 170 for calling the function determined to be realized on the printer driver 120 side in step S28, stores it in a predetermined location (S30), and ends the process. The processing in step S30 is processing corresponding to the function of the actual operation filter configuration file creation unit 167.

ステップS30で生成する実動作フィルタ構成ファイル170は、図5に示したように、各プリンタドライバ120が該当機能を提供するために備えているフィルタを指定する情報を、適当な順番で並べたものである。各フィルタの情報は、各プリンタドライバ120のフィルタ構成ファイル123を参照して取得することができる。
また、フィルタの配置順は、処理の順番を気にしなくてよいものについては任意であるが、処理を先に行った方がよいことがわかるものについては、その処理に係るフィルタの情報を先に配置するようにするとよい。
As shown in FIG. 5, the actual operation filter configuration file 170 generated in step S30 is information in which information specifying the filter provided for each printer driver 120 to provide the corresponding function is arranged in an appropriate order. It is. Information about each filter can be obtained by referring to the filter configuration file 123 of each printer driver 120.
In addition, the arrangement order of the filters is arbitrary if the processing order does not need to be considered, but if it is clear that the processing should be performed first, the information on the filter related to the processing should be given first. It is good to arrange in.

また、ステップS29及びS30において、同じ機能が複数のプリンタドライバ120によって提供され、そのいずれもプリンタドライバ120側で実現されるものである場合、そのうち1つについて、設定を受け付けまたフィルタを呼び出せるようにすればよい。
以上の処理により、PC10にインストールされている全てのXPSドライバの機能(ドライバ側で実現されるもの)を利用可能な統合ドライバ150を構成することができる。
In steps S29 and S30, when the same function is provided by a plurality of printer drivers 120 and both are realized on the printer driver 120 side, settings can be accepted and a filter can be called for one of them. do it.
With the above processing, it is possible to configure the integrated driver 150 that can use all the XPS driver functions (implemented on the driver side) installed in the PC 10.

次に、ステップS28における判定処理の一例について説明する。
図10は、その判定処理の手法を説明するための図である。
上述のように、プリンタドライバ120が提供する機能はPrintCapabilitesからわかり、プリンタドライバ120がPC10側で使用するフィルタはフィルタ構成ファイル123からわかる。しかし、フィルタと機能との対応関係は不明である。そこで、ステップS28では、この対応関係を把握することにより、各機能がプリンタドライバ120側で実現されているか、画像処理装置20側で実現されているかを判定する。
Next, an example of the determination process in step S28 will be described.
FIG. 10 is a diagram for explaining the determination processing technique.
As described above, the functions provided by the printer driver 120 are known from PrintCapabilites, and the filters used by the printer driver 120 on the PC 10 side are known from the filter configuration file 123. However, the correspondence between filters and functions is unknown. Therefore, in step S28, it is determined whether each function is realized on the printer driver 120 side or the image processing apparatus 20 side by grasping this correspondence.

ここで、XPSドライバが備えるフィルタは、元々機能の追加及び削除を容易にしやすい仕組みになっている。このため、自分の前後にどのようなフィルタが存在しているとしても正しく機能を実現でき、またXPS形式をサポートする色々な画像処理装置に処理後のデータを送っても正しく動作するように設計することが一般的である。
これは、各フィルタは処理対象のXPSデータに含まれているPrintTicket情報に基づいて処理を実行するが、各フィルタは自分の処理したPrintTicket情報を後続のフィルタまたはプリンタ本体に影響がないように変更することを意味する。
Here, the filter included in the XPS driver originally has a mechanism that makes it easy to add and delete functions. For this reason, it is possible to realize the function correctly regardless of what filters exist before and after it, and to operate correctly even if the processed data is sent to various image processing devices that support the XPS format. It is common to do.
This is because each filter executes processing based on the PrintTicket information included in the XPS data to be processed, but each filter changes its own processed PrintTicket information so that it does not affect subsequent filters or the printer itself It means to do.

すなわち、処理すべきデータに何らかの変更を施す必要のある設定値を示すPrintTicketを付して、その変更処理を担当するフィルタに入力すると、そのフィルタは、入力データをPrintTicketの設定値に従って処理すると共に、PrintTicketの設定値を、もはや処理が必要ないことを示す設定値に変更する。このようにすることにより、ある設定値に従った処理を、後段のフィルタが重複して行ってしまうことを防止する。
例えば、集約の機能について「2 in 1」が設定されていた場合に、2ページを1面に割り付ける処理を行ったフィルタは、もはやそれ以上の集約が不要であることを示す「1
in 1」に変更する等である。
In other words, when a PrintTicket indicating a setting value that needs to be changed is added to the data to be processed, and input to the filter in charge of the changing process, the filter processes the input data according to the setting value of the PrintTicket. The setting value of PrintTicket is changed to a setting value indicating that processing is no longer necessary. By doing so, it is possible to prevent the subsequent filter from performing the process according to a certain set value in duplicate.
For example, when “2 in 1” is set for the aggregation function, a filter that performs processing for allocating two pages to one page indicates that further aggregation is no longer necessary.
in 1 ”and so on.

そこで、図10に示すように、各プリンタドライバ120について、フィルタ構成ファイル123に記載されているフィルタ1つ1つを調査対象として、そのフィルタに、全ての設定項目について何らかの変更を施す必要のある設定値を設定したPrintTicket1を付したサンプルデータを処理させる。そして、処理後のデータに付されているPrintTicket2では、調査対象のフィルタが行った処理と対応する設定項目について、設定値が、もはや処理が必要ないことを示す値に変更されているはずである。   Therefore, as shown in FIG. 10, for each printer driver 120, each filter described in the filter configuration file 123 is to be investigated, and it is necessary to make some changes to all the setting items for the filter. Process the sample data with PrintTicket1 with the set value set. And in PrintTicket2 attached to the processed data, the setting value for the setting item corresponding to the processing performed by the filter to be investigated should be changed to a value indicating that processing is no longer necessary .

従って、その変更された設定項目に係る機能が、調査対象のフィルタが提供する機能であることがわかる。
また、プリンタドライバ120が提供する機能のうち、どのフィルタも提供しない機能は、画像処理装置20側で実現される機能であることがわかる。
Therefore, it can be seen that the function related to the changed setting item is a function provided by the filter to be investigated.
It can also be seen that the functions provided by the printer driver 120 that do not provide any filter are functions realized on the image processing apparatus 20 side.

図11に示す特性のプリンタドライバA及びBを例に挙げて、この判定の例を示す。
プリンタドライバAは、PrintCapabilitiesの情報から、図11に示す3つの機能を提供することがわかり、また、図11に示すフィルタ構成情報を持つとする。
プリンタドライバBは、同様に図11に示す2つの機能を提供することがわかり、また、図11に示すフィルタ構成情報を持つとする。
An example of this determination is shown by taking the printer drivers A and B having the characteristics shown in FIG. 11 as an example.
It is assumed that the printer driver A provides the three functions shown in FIG. 11 from the PrintCapabilities information, and has the filter configuration information shown in FIG.
Similarly, it is assumed that the printer driver B provides the two functions shown in FIG. 11, and has the filter configuration information shown in FIG.

これらのうちプリンタドライバAについて調査を行う場合、プリンタドライバAが提供する3つの機能について、それぞれ何らかの変更を施す必要のある設定値を持ったPrintTicket1を用意する。
例えば、図12に示すように、Watermarkの機能について「有効」、集約の機能について「2 in 1」、ステープルの機能について「左綴じ」を設定したPrintTicket1を用意すればよい。そして、このPrintTicket1を付したサンプルデータを、フィルタ構成情報からわかる2つのフィルタにそれぞれ処理させ、処理結果に含まれるPrintTicket2の内容を分析する。
When examining the printer driver A among these, the PrintTicket 1 having a setting value that needs to be changed for each of the three functions provided by the printer driver A is prepared.
For example, as shown in FIG. 12, PrintTicket 1 in which “valid” is set for the watermark function, “2 in 1” is set for the aggregation function, and “left binding” is set for the staple function may be prepared. Then, the sample data with the PrintTicket1 is processed by two filters known from the filter configuration information, and the contents of PrintTicket2 included in the processing result are analyzed.

そして、watermark_filter.dllによって処理した結果、Watermarkの設定が「有効」から「無効」に変わったとすると、watermark_filter.dllは、Watermarkの機能を提供するフィルタであることがわかる。
また、nup_filter.dllによって処理した結果、集約の設定が「2 in 1」から「1 in 1」に変わったとすると、nup_filter.dllは、集約の機能を提供するフィルタであることがわかる。
If the watermark setting is changed from “valid” to “invalid” as a result of processing by watermark_filter.dll, it is understood that watermark_filter.dll is a filter that provides the watermark function.
Also, if the aggregation setting is changed from “2 in 1” to “1 in 1” as a result of processing by nup_filter.dll, it is understood that nup_filter.dll is a filter that provides an aggregation function.

そして、これら2つの機能はプリンタドライバ120側で提供され、いずれのフィルタによっても提供されないステープルの機能が、画像処理装置20側で提供されることがわかる。従って、ステープルの設定は、いずれのフィルタで処理した場合でも「左綴じ」のままである。   These two functions are provided on the printer driver 120 side, and it can be seen that the staple function not provided by any filter is provided on the image processing apparatus 20 side. Accordingly, the staple setting remains “Left Binding” regardless of which filter is used for processing.

同様に、プリンタドライバBについて調査を行う場合、集約の機能について「2 in 1」、拡大縮小の機能について「200%」を設定したPrintTicket1を用意すればよい。そして、このPrintTicket1を付したサンプルデータを、フィルタ構成情報からわかる1つのフィルタにそれぞれ処理させる。
そして、scaling_filter.dllによって処理した結果、拡大縮小の設定が「200%」から「100%」に変わったとすると、scaling_filter.dllは、拡大縮小の機能を提供するフィルタであることがわかる。
Similarly, when investigating the printer driver B, PrintTicket1 in which “2 in 1” is set for the aggregation function and “200%” is set for the enlargement / reduction function may be prepared. Then, the sample data with the PrintTicket1 is processed by one filter that can be understood from the filter configuration information.
As a result of processing by scaling_filter.dll, if the scaling setting is changed from “200%” to “100%”, it is understood that scaling_filter.dll is a filter that provides a scaling function.

そして、この機能はプリンタドライバ120側で提供され、いずれのフィルタによっても提供されない集約の機能が、画像処理装置20側で提供されることがわかる。従って、集約の設定は、いずれのフィルタで処理した場合でも「2 in 1」のままである。
以上の判定で得られたフィルタと機能の対応関係は、統合ドライバ150の実動作フィルタ構成情報170を生成する際にも利用することができる。
This function is provided on the printer driver 120 side, and it is understood that an aggregation function that is not provided by any filter is provided on the image processing apparatus 20 side. Therefore, the aggregation setting remains “2 in 1” regardless of which filter is used for processing.
The correspondence relationship between the filter and the function obtained by the above determination can also be used when the actual operation filter configuration information 170 of the integrated driver 150 is generated.

また、これと合わせて、ドライバ側で実現される機能に係る処理は画像処理装置側で実現される機能に係る処理よりも先に行うものであることから、拡大縮小機能に係る処理は集約機能に係る処理よりも先に実行すべきものであることもわかる。
従って、プリンタドライバAとプリンタドライバBの機能を統合した統合ドライバ150を構成する場合には、プリンタドライバAの集約機能に係る処理を実行するフィルタより、プリンタドライバBの拡大縮小機能に係る処理を実行するフィルタを先に配置すべきと言える。
In addition, the processing related to the function realized on the driver side is performed prior to the processing related to the function realized on the image processing apparatus side. It can also be seen that the processing should be executed before the processing related to.
Therefore, when configuring the integrated driver 150 that integrates the functions of the printer driver A and the printer driver B, the process related to the enlargement / reduction function of the printer driver B is performed by the filter that executes the process related to the aggregation function of the printer driver A. It can be said that the filter to be executed should be placed first.

次に、図9の処理による実動作フィルタ構成ファイル170の生成の具体例について説明する。ここでは、図11に示す機能を備えるプリンタドライバAとプリンタドライバBがPC10にインストールされている場合を考える。
この場合、図9のステップS25で作成されるドライバ機能リストは、図13に示すようなものになる。すなわち、各ドライバが提供する機能を単に列挙したものである。この段階では、まだそれらの機能がドライバ側で実現されるか画像処理装置側で実現されるか不明であるので、これを記載する実現箇所の項目は、空欄である。
Next, a specific example of generation of the actual operation filter configuration file 170 by the processing of FIG. 9 will be described. Here, consider a case in which the printer driver A and the printer driver B having the functions shown in FIG.
In this case, the driver function list created in step S25 of FIG. 9 is as shown in FIG. That is, the functions provided by each driver are simply listed. At this stage, since it is unclear whether these functions are realized on the driver side or the image processing apparatus side, the item of the realization location describing this is blank.

その後、ステップS28で各機能について実現箇所の判定を行い、図12に示した通りの結果であると、図14に示すように、ドライバ機能リストにおける実現箇所の項目を埋めることができる。
そして、この結果から、統合ドライバ150から利用可能にできる機能は、Watermark、集約(プリンタドライバAが提供するもの)及び拡大縮小であることがわかる。
そこで、ステップS29では、これらの機能に関する設定を受け付けるための画面のデータを生成する。
Thereafter, in step S28, the realization location is determined for each function. If the result is as shown in FIG. 12, the realization location item in the driver function list can be filled as shown in FIG.
From this result, it is understood that the functions that can be used from the integrated driver 150 are Watermark, aggregation (provided by the printer driver A), and enlargement / reduction.
In step S29, screen data for accepting settings related to these functions is generated.

図15に、その画面の例を示す。
図15に示す設定受付画面200は、設定受付部210に、Watermark機能に関する設定を受け付けるための操作部211と、集約機能に関する設定を受け付けるための操作部212と、拡大縮小機能に関する設定を受け付けるための操作部213とを備える。
FIG. 15 shows an example of the screen.
A setting reception screen 200 illustrated in FIG. 15 is used to receive, in the setting reception unit 210, an operation unit 211 for receiving settings regarding the watermark function, an operation unit 212 for receiving settings regarding the aggregation function, and settings regarding the enlargement / reduction function. The operation unit 213 is provided.

これらの機能に関連して、どのような設定項目についてどのような選択肢で選択を受け付ければよいかは、その機能を提供するプリンタドライバ120のフィルタ構成ファイル123を参照すればわかる。なお、1つの機能について設定項目が1つとは限らないし、操作部の形式も、図15のようなラジオボタンには限らない。プルダウンメニューやテキストボックス、チェックボックスなど、任意の形式を利用可能である。
また、設定受付画面200は、設定を確定させるためのOKボタン221と、設定を確定させずに元の画面に戻るためのキャンセルボタン222も備える。
In relation to these functions, it can be determined by referring to the filter configuration file 123 of the printer driver 120 that provides the function which selection item should be accepted for selection. Note that there is not always one setting item for one function, and the format of the operation unit is not limited to the radio button as shown in FIG. Any format, such as a pull-down menu, text box, or check box, can be used.
The setting reception screen 200 also includes an OK button 221 for confirming the setting and a cancel button 222 for returning to the original screen without confirming the setting.

また、図9のステップS30では、上述のWatermark、集約及び拡大縮小の機能を提供するフィルタの情報を記載した、図5に示したような実動作フィルタ構成ファイル170を生成する。
これらのフィルタの情報も、その機能を提供するプリンタドライバが持つPrintCapabilitiesから取得することができる。
Further, in step S30 in FIG. 9, an actual operation filter configuration file 170 as shown in FIG. 5 is generated, which describes information about the filter that provides the above-described watermark, aggregation, and enlargement / reduction functions.
Information about these filters can also be acquired from PrintCapabilities possessed by the printer driver that provides the function.

以上により、Watermark、集約及び拡大縮小の機能を利用可能な統合ドライバ150を構成することができる。
そして、ユーザが統合ドライバ150を用いて印刷を行う場合、図15に示した設定受付画面200が表示され、その画面で必要な設定を行うことができる。また、印刷すべき文書のデータ及びその設定の内容を示すPrintTicketは、図4に示したアプリケーション111からAPI142を介して統合ドライバ150に渡される。
As described above, the integrated driver 150 that can use the watermark, aggregation, and enlargement / reduction functions can be configured.
When the user performs printing using the integrated driver 150, the setting reception screen 200 shown in FIG. 15 is displayed, and necessary settings can be performed on the screen. Further, PrintTicket indicating the data of the document to be printed and the content of the setting is transferred from the application 111 shown in FIG. 4 to the integrated driver 150 via the API 142.

統合ドライバ150においては、図5を用いて説明したように、各仲介フィルタ152−1〜nが、実動作フィルタ構成ファイル170の内容を参照し、そこに登録されているフィルタに対して印刷すべき文書のデータの処理を依頼する。
そして、最終段までの処理が完了すると、処理後のデータを、統合ドライバ150と対応付けられている画像処理装置20に送信して、そのデータに従った印刷を実行させる。
なお、統合ドライバ150と画像処理装置20との対応付けについては、ユーザが任意に行えるようにしてもよいが、以下に説明する変形例の手法を採用してもよい。
In the integrated driver 150, as described with reference to FIG. 5, each mediation filter 152-1 to 152-1 to n refers to the contents of the actual operation filter configuration file 170 and prints the filters registered therein. Request the processing of the data of the document that should be.
When the processing up to the final stage is completed, the processed data is transmitted to the image processing apparatus 20 associated with the integrated driver 150, and printing according to the data is executed.
The association between the integrated driver 150 and the image processing apparatus 20 may be arbitrarily performed by the user, but a modified method described below may be employed.

以下、上述した実施形態のいくつかの変形例について説明する。
まず、第1の変形例として、統合ドライバ150の制御対象とする画像処理装置20、すなわち統合ドライバ150により処理したデータに基づいて印刷を行わせる画像処理装置20を、他のプリンタドライバ120の制御対象の中から選択して設定できるようにすることが考えられる。
Hereinafter, some modified examples of the above-described embodiment will be described.
First, as a first modification, the image processing apparatus 20 to be controlled by the integrated driver 150, that is, the image processing apparatus 20 that performs printing based on the data processed by the integrated driver 150 is controlled by the other printer driver 120. It may be possible to select and set the target.

PC10にプリンタドライバ120をインストールする場合、通常はそのプリンタドライバ120の制御対象とする画像処理装置20を指定してインストールする。そして、PC10のユーザが通常使用する画像処理装置20については、既に対応するプリンタドライバ120がインストールされていると考えられる。   When installing the printer driver 120 on the PC 10, the image processing apparatus 20 to be controlled by the printer driver 120 is normally specified and installed. For the image processing apparatus 20 normally used by the user of the PC 10, it is considered that the corresponding printer driver 120 is already installed.

従って、インストールされているプリンタドライバ120の1つをユーザに選択させ、そのプリンタドライバ120の制御対象となっている画像処理装置20を、統合ドライバ150の制御対象にもするようにすれば、PC10のユーザが通常使用する任意の画像処理装置20を、簡単に制御対象として設定できると考えられる。   Accordingly, if the user selects one of the installed printer drivers 120 and the image processing apparatus 20 to be controlled by the printer driver 120 is also to be controlled by the integrated driver 150, the PC 10 It is considered that any image processing apparatus 20 that is normally used by a user can be easily set as a control target.

図16に、この第1の変形例における設定受付画面の例を示す。
この設定受付画面201が図15の画面と異なる点は、出力先選択部214を設けた点である。この出力先選択部214には、PC10にインストールされているプリンタドライバ120のリストを表示し、そのうち1つをユーザに選択させる。そして、選択されたプリンタドライバ120の制御対象となっている画像処理装置20を、統合ドライバ150の制御対象として設定する。画像処理装置20の指定は、IPアドレスや出力ポート等により行うことができる。
なお、画像処理装置20はXPSドライバで制御可能である必要があるため、出力先選択部214に表示する選択肢も、XPSドライバに限るようにするとよい。
FIG. 16 shows an example of a setting reception screen in the first modification.
The setting reception screen 201 is different from the screen in FIG. 15 in that an output destination selection unit 214 is provided. The output destination selection unit 214 displays a list of printer drivers 120 installed in the PC 10, and allows the user to select one of them. Then, the image processing apparatus 20 that is the control target of the selected printer driver 120 is set as the control target of the integrated driver 150. The designation of the image processing apparatus 20 can be performed by an IP address, an output port, or the like.
Since the image processing apparatus 20 needs to be controllable by the XPS driver, the options displayed on the output destination selection unit 214 may be limited to the XPS driver.

次に、第2の変形例として、設定受付画面において、統合ドライバ150の制御対象として設定した画像処理装置20が画像処理装置側で提供する機能に関する設定も受け付けるようにすることが考えられる。   Next, as a second modification, it is conceivable that settings related to functions provided on the image processing apparatus side by the image processing apparatus 20 set as a control target of the integrated driver 150 on the setting reception screen may be accepted.

制御対象の画像処理装置20が決まれば、図14に示したようなドライバ機能リストから、その画像処理装置20が提供する機能が把握できるし、実施に利用可能でもあるためである。従って、この機能に関する設定を合わせて受け付けることにより、統合ドライバ150からも、画像処理装置20が提供する機能を利用可能となる。
また、出力先選択部214で選択したプリンタドライバ120のPrintCapabilitiesから、その機能に関してどのような設定項目についてどのような選択肢で選択を受け付ければよいかもわかる。
This is because if the image processing apparatus 20 to be controlled is determined, the functions provided by the image processing apparatus 20 can be grasped from the driver function list as shown in FIG. 14 and can be used for implementation. Therefore, by accepting the setting related to this function together, the function provided by the image processing apparatus 20 can be used from the integrated driver 150 as well.
In addition, it can be seen from the PrintCapabilities of the printer driver 120 selected by the output destination selection unit 214 what kind of setting item and selection should be accepted for the function.

図17及び図18に、この第2の変形例における設定受付画面の例を示す。図17に示すのは、出力先選択部214でプリンタドライバAを選択した場合の例、図18に示すのは、プリンタドライバBを選択した場合の例である。
まず、図17に示す設定受付画面202においては、プリンタドライバAが提供する機能のうち画像処理装置20側で提供されるステープル機能に関する設定を受け付ける操作部215を追加している。
FIG. 17 and FIG. 18 show examples of setting reception screens in this second modification. FIG. 17 shows an example when the printer driver A is selected by the output destination selection unit 214, and FIG. 18 shows an example when the printer driver B is selected.
First, in the setting reception screen 202 shown in FIG. 17, an operation unit 215 that receives settings related to the stapling function provided on the image processing apparatus 20 side among the functions provided by the printer driver A is added.

しかし、図18に示す設定受付画面202においては、プリンタドライバBが提供する機能のうち画像処理装置20側で提供される集約機能に関する設定を受け付ける操作部は追加していない。これは、集約機能は、プリンタドライバAがドライバ側で提供しており、既にその設定を受け付ける操作部212が用意されているためである。   However, in the setting reception screen 202 illustrated in FIG. 18, an operation unit that receives settings related to the aggregation function provided on the image processing apparatus 20 side among the functions provided by the printer driver B is not added. This is because the printer driver A provides the aggregation function on the driver side, and the operation unit 212 that accepts the setting has already been prepared.

またこの場合、機能が重複するため、画像処理装置20側で提供される集約機能を利用する必要もない。このような重複は、上述のようにPrintCapabilitiesに記載された各機能のキーワードから判定できる。
そして、図17と図18の比較からわかるように、この変形例においては、統合ドライバ150の構成は変わらなくても、出力先選択部214での選択に応じて、設定受付画面202の構成は変化することになる。
In this case, since the functions overlap, there is no need to use the aggregation function provided on the image processing apparatus 20 side. Such duplication can be determined from the keyword of each function described in PrintCapabilities as described above.
As can be seen from the comparison between FIG. 17 and FIG. 18, in this modified example, even if the configuration of the integrated driver 150 does not change, the configuration of the setting reception screen 202 depends on the selection by the output destination selection unit 214. Will change.

次に、第3の変形例として、図9のステップS28又はS29等で、どのプリンタドライバの機能を統合ドライバ150から利用可能とするかをユーザが選択できるようにすることが考えられる。   Next, as a third modification, it is conceivable that the user can select which printer driver function is available from the integrated driver 150 in step S28 or S29 in FIG.

図19に、この第3の変形例において用いるドライバ選択画面の例を示す。
このドライバ選択画面230は、どのプリンタドライバの機能を統合ドライバ150から利用可能とするかの選択を受け付ける画面である。そして、ドライバ選択部231により、その選択を受け付ける。選択肢は、ドライバ機能リストに載っている全てのドライバとするとよい。あるいは、ドライバ機能リストに載っているドライバのうちドライバ側で提供する機能のある全てのドライバとしてもよい。
FIG. 19 shows an example of a driver selection screen used in the third modification.
The driver selection screen 230 is a screen for accepting selection of which printer driver function is available from the integrated driver 150. The driver selection unit 231 accepts the selection. The options may be all drivers on the driver function list. Or it is good also as all the drivers with the function provided by the driver side among the drivers on the driver function list.

ユーザは、これらの選択肢から、任意の組み合わせでドライバを選択することができる。そして、図9のステップS29及びS30においては、その選択されたドライバが提供する機能についてのみ、ユーザから設定を受け付け、また呼び出せるように、設定受付画面及び実動作フィルタ構成ファイル170の生成を行う。
このドライバ選択画面230を制御する機能は、指定手段の機能に該当する。
The user can select a driver in any combination from these options. Then, in steps S29 and S30 of FIG. 9, the setting reception screen and the actual operation filter configuration file 170 are generated so that only the function provided by the selected driver can be received and called from the user.
The function for controlling the driver selection screen 230 corresponds to the function of the designation means.

なお、OKボタン232は、選択を確定させるためのボタン、キャンセルボタン233は、統合ドライバ150の構成を中止する、すなわち図9の処理を中止するためのボタンである。
利用可能な機能が多すぎると設定が煩雑になり、処理負荷も大きくなることから、このように利用する機能の範囲をユーザが選択できるようにすることが好ましい。また、このようなドライバ単位の選択の他、機能単位の選択ができるようにしてもよい。
The OK button 232 is a button for confirming selection, and the cancel button 233 is a button for canceling the configuration of the integrated driver 150, that is, for canceling the processing of FIG.
If there are too many functions available, the setting becomes complicated and the processing load increases. Therefore, it is preferable that the user can select the range of functions to be used in this way. Further, in addition to such a driver unit selection, a function unit may be selected.

次に、第4の変形例として、図9のステップS29で生成する設定受付画面において、統合ドライバ150の再構成を指示できるようにしてもよい。
図20に、この第4の変形例における設定受付画面の例を示す。
この設定受付画面203が図15の画面と異なる点は、再設定ボタン223を設けた点である。ユーザは、この再設定ボタン223を操作することにより、任意のタイミングで図9の処理の再実行をPC10に指示することができる。
Next, as a fourth modification, it may be possible to instruct reconfiguration of the integrated driver 150 on the setting reception screen generated in step S29 of FIG.
FIG. 20 shows an example of a setting reception screen in the fourth modification.
The setting reception screen 203 is different from the screen in FIG. 15 in that a reset button 223 is provided. By operating the reset button 223, the user can instruct the PC 10 to re-execute the processing in FIG. 9 at an arbitrary timing.

そして、その再実行に係る図9の処理においては、その処理時点でPC10にインストールされているプリンタドライバ120の情報に基づき、統合ドライバ150を再構成する。すなわち、設定受付画面の再構成と、実動作フィルタ構成ファイル170の再生成を行う。
従って、最新のドライバ構成を反映した統合ドライバ150を構成することができる。
In the process of FIG. 9 relating to the re-execution, the integrated driver 150 is reconfigured based on the information of the printer driver 120 installed in the PC 10 at the time of the process. That is, the setting reception screen is reconfigured and the actual operation filter configuration file 170 is regenerated.
Therefore, the integrated driver 150 reflecting the latest driver configuration can be configured.

なお、PC10に新たなプリンタドライバ120がインストールされた場合には、自動的に図9の処理を再実行するか、再実行の確認をユーザに求めるようにするとよい。新たなドライバのインストールにより、統合ドライバ150から利用可能となる機能が増加する可能性があるためである。   When a new printer driver 120 is installed in the PC 10, it is preferable to automatically re-execute the processing of FIG. 9 or ask the user to confirm re-execution. This is because the functions available from the integrated driver 150 may increase due to the installation of a new driver.

以上で実施形態及び第1乃至第4の変形例の説明を終了するが、この発明において、各装置の具体的な構成や、具体的な処理の手順、データ形式等は、上述したものに限られない。
例えば、上述した実施形態では、ドライバとして画像処理装置を制御するプリンタドライバを例に挙げて説明したが、他の装置を制御するドライバについても同様な統合ドライバの構築が可能である。もちろん、各ドライバが実現する機能は、画像処理に関するものでなくてよい。
This is the end of the description of the embodiment and the first to fourth modifications. In the present invention, the specific configuration of each device, the specific processing procedure, the data format, and the like are limited to those described above. I can't.
For example, in the above-described embodiment, the printer driver that controls the image processing apparatus is described as an example of the driver. However, a similar integrated driver can be constructed for drivers that control other apparatuses. Of course, the function realized by each driver may not be related to image processing.

また、各ドライバが、フィルタ以外のモジュールによって機能を提供するようにしてもよい。
OSについても、Windows(登録商標)に限らず、他のOSを用いる情報処理装置についても、この発明は適用可能である。
Each driver may provide a function by a module other than the filter.
The present invention is applicable not only to Windows (registered trademark) but also to information processing apparatuses using other OSs.

また、この発明の情報処理装置の実施形態としての上述したPC10の機能、特に統合ドライバ150及びその構築に関する機能を、上述した実施形態とは異なる装置構成によって実現することも可能である。例えば、PC10の機能を複数の装置が協働して実現してもよい。
例えば、統合ドライバ150が仲介フィルタ152を介して利用するフィルタ等のモジュールについては、統合ドライバ150を構築する情報処理装置の外部の装置が備えるものであってもよい。実動作フィルタ構成ファイル170を記憶する記憶手段も、情報処理装置の外部の装置に設けたものであってもよい。また、統合ドライバ150による制御対象が、情報処理装置の内部のソフトウェア又はハードウェアによるモジュールであってもよい。
Further, the functions of the PC 10 described above as an embodiment of the information processing apparatus of the present invention, particularly the functions related to the integrated driver 150 and its construction, can be realized by a device configuration different from the above-described embodiment. For example, the functions of the PC 10 may be realized by cooperation of a plurality of devices.
For example, a module such as a filter used by the integrated driver 150 via the mediation filter 152 may be provided in a device external to the information processing apparatus that constructs the integrated driver 150. The storage means for storing the actual operation filter configuration file 170 may also be provided in a device external to the information processing device. Further, the control target by the integrated driver 150 may be a module of software or hardware inside the information processing apparatus.

また、この発明によるプログラムの実施形態は、コンピュータに上述したPC10の機能を実現させるためのプログラムである。
このようなプログラムは、はじめからコンピュータに備えるROM等の記憶手段に格納しておいてもよいが、記録媒体であるCD−ROMあるいはフレキシブルディスク,SRAM,EEPROM,メモリカード等の不揮発性記録媒体(メモリ)に記録して提供することもできる。
The embodiment of the program according to the present invention is a program for causing a computer to realize the functions of the PC 10 described above.
Such a program may be stored in a storage means such as a ROM provided in the computer from the beginning, but a non-volatile recording medium (such as a CD-ROM or flexible disk, SRAM, EEPROM, or memory card) that is a recording medium. It can also be recorded and provided in a memory.

さらに、ネットワークに接続され、プログラムを記録した記録媒体を備える外部機器あるいはプログラムを記憶手段に記憶した外部機器からダウンロードして実行させることも可能である。
また、以上説明してきた各実施形態及び変形例の構成は、相互に矛盾しない限り任意に組み合わせて実施可能であることは勿論である。
Furthermore, it is also possible to download and execute an external device that is connected to a network and includes a recording medium that records the program, or an external device that stores the program in the storage unit.
In addition, it is needless to say that the configurations of the embodiments and modifications described above can be arbitrarily combined and implemented as long as they do not contradict each other.

1:情報処理システム、10:PC、11:CPU、12:ROM、13:RAM、14:通信I/F、15:HDD,16:UI部、20A,20B:画像処理装置、30:ネットワーク、111:アプリケーション、112:スプーラ、113:ドライバ選択部、120:プリンタドライバ、121,151:フィルタパイプラインマネージャ、122,171〜173:フィルタ、123,153:フィルタ構成ファイル、131:パラレルI/F、132:USB_I/F、133:ネットワークI/F、141:UI制御部、142:API、143:スプールファイル格納部、150:統合ドライバ、152:仲介フィルタ、161:ドライバ能力取得部、162:ドライバ能力解析部、163:ドライバ能力統合部、164:ドライバ種類判定部、165:統合機能画面表示部、166:機能実現箇所判定部、167:実動作フィルタ構成ファイル作成部、170:実動作フィルタ構成ファイル、200〜203:設定受付画面、210:設定受付部、211〜213,215:操作部、214:出力先選択部、221,232:OKボタン、222,233:キャンセルボタン、223:再設定ボタン、230:ドライバ選択画面、231:ドライバ選択部 1: Information processing system, 10: PC, 11: CPU, 12: ROM, 13: RAM, 14: Communication I / F, 15: HDD, 16: UI unit, 20A, 20B: Image processing device, 30: Network, 111: Application, 112: Spooler, 113: Driver selection unit, 120: Printer driver, 121, 151: Filter pipeline manager, 122, 171-173: Filter, 123, 153: Filter configuration file, 131: Parallel I / F 132: USB_I / F, 133: Network I / F, 141: UI control unit, 142: API, 143: Spool file storage unit, 150: Integrated driver, 152: Mediation filter, 161: Driver capability acquisition unit, 162: Driver capability analysis unit, 163: Driver capability integration unit, 164: Driver type determination unit, 165: integrated function screen display unit, 166: function realization location determination unit, 167: actual operation filter configuration file creation unit, 170: actual operation filter configuration file, 200 to 203: setting reception screen, 210: setting Reception unit, 211 to 213, 215: operation unit, 214: output destination selection unit, 221, 232: OK button, 222, 233: cancel button, 223: reset button, 230: driver selection screen, 231: driver selection unit

特開2011−25539号公報JP 2011-25539 A

Claims (8)

第1のドライバと、
前記第1のドライバが利用するモジュールであり、所定の記憶手段に記憶されているモジュール情報が示すモジュールに処理を実行させる機能をそれぞれ備える複数の仲介モジュールと、
複数の第2のドライバから該第2のドライバが提供する機能を示す機能情報を取得する機能情報取得手段と、
前記機能情報取得手段が取得した機能情報に基づき、前記仲介モジュールに利用させる機能を選択して、前記複数の仲介モジュールの各々について、該利用させる機能を提供するモジュールを示すモジュール情報を、該仲介モジュールと対応付けて前記所定の記憶手段に記憶させるモジュール設定手段とを備え
前記第1のドライバは、予め定められた順番で、前記複数の仲介モジュールのうちの各仲介モジュールを動作させ、該各仲介モジュールは、該仲介モジュールと対応する前記モジュール情報に基づき、該モジュール情報が示すモジュールに処理を要求することを特徴とする情報処理装置。
A first driver;
A plurality of intermediary modules each of which is a module used by the first driver and has a function of causing a module indicated by module information stored in a predetermined storage unit to execute processing;
Function information acquisition means for acquiring function information indicating a function provided by the second driver from a plurality of second drivers;
Based on the function information, wherein the function information acquisition unit acquires, and select the function to be used by the mediation module, for each of the plurality of mediation modules, the module information indicating a module for providing a function of the use, the mediation Module setting means associated with the module and stored in the predetermined storage means ,
The first driver operates each mediation module of the plurality of mediation modules in a predetermined order, and each mediation module is configured to generate the module information based on the module information corresponding to the mediation module. An information processing apparatus that requests the module indicated by
請求項1に記載の情報処理装置であって、
前記各第2のドライバは外部装置を制御するためのデバイスドライバであって、
前記モジュール設定手段は、
前記各第2のドライバが提供する機能のうち前記第2のドライバが備えるモジュールのみで提供可能な機能と、前記外部装置のハードウェアを利用して提供される機能とを識別する識別手段を備え、
前記第2のドライバが備えるモジュールのみで提供可能な機能を、前記仲介モジュールに利用させる機能として選択することを特徴とする情報処理装置。
The information processing apparatus according to claim 1,
Each of the second drivers is a device driver for controlling an external device,
The module setting means includes
An identification means for identifying a function that can be provided only by a module included in the second driver among functions provided by each of the second drivers and a function provided by using hardware of the external device. ,
An information processing apparatus, wherein a function that can be provided only by a module included in the second driver is selected as a function to be used by the mediation module.
請求項1又は2に記載の情報処理装置であって、
前記各第2のドライバは、それぞれ対応付けられた外部装置を制御対象とするデバイスドライバであり、
前記第1のドライバもデバイスドライバであり、
前記第1のドライバの制御対象を、前記複数の第2のドライバから選択された1つの第2のドライバの制御対象である外部装置と定める制御対象設定手段を備えることを特徴とする情報処理装置。
The information processing apparatus according to claim 1 or 2,
Each of the second drivers is a device driver that controls an associated external device.
The first driver is also a device driver,
An information processing apparatus comprising: a control target setting unit that determines a control target of the first driver as an external device that is a control target of one second driver selected from the plurality of second drivers. .
請求項3に記載の情報処理装置であって、
前記モジュール設定手段が前記仲介モジュールに利用させる機能として選択した機能に関する設定を受け付ける設定受付手段を備え、
前記設定受付手段は、前記選択された1つの第2のドライバが提供する機能については、前記モジュール設定手段が前記仲介モジュールに利用させる機能として選択した機能だけでなく、前記外部装置のハードウェアを利用して提供される機能についても設定を受け付けることを特徴とする情報処理装置。
The information processing apparatus according to claim 3,
A setting accepting unit for accepting a setting related to a function selected as a function to be used by the mediation module by the module setting unit;
The setting accepting unit not only provides the function selected by the module setting unit as a function to be used by the mediation module, but also the hardware of the external device as the function provided by the selected second driver. An information processing apparatus that accepts settings for functions provided by use.
請求項1乃至4のいずれか一項に記載の情報処理装置であって、
前記モジュール設定手段がいずれの第2のドライバが提供する機能を前記仲介モジュールに利用させる機能として選択するかを指定する指定手段を備えたことを特徴とする情報処理装置。
An information processing apparatus according to any one of claims 1 to 4,
An information processing apparatus comprising: designation means for designating which module setting means selects a function provided by which second driver as a function to be used by the mediation module.
請求項1乃至5のいずれか一項に記載の情報処理装置であって、
当該情報処理装置に新たにドライバがインストールされた時に、該新たにインストールされたドライバも前記第2のドライバとして扱って、前記機能情報取得手段が前記機能情報の取得を行い、前記モジュール設定手段が前記機能の選択及び前記モジュール情報の記憶を行うことを特徴とする情報処理装置。
An information processing apparatus according to any one of claims 1 to 5,
When a new driver is installed in the information processing apparatus, the newly installed driver is also handled as the second driver, the function information acquisition unit acquires the function information, and the module setting unit An information processing apparatus for selecting the function and storing the module information.
コンピュータを、請求項1乃至6のいずれか一項に記載の情報処理装置として機能させるためのプログラム。   The program for functioning a computer as an information processing apparatus as described in any one of Claims 1 thru | or 6. 請求項7に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。   A computer-readable recording medium on which the program according to claim 7 is recorded.
JP2012205096A 2012-09-18 2012-09-18 Information processing apparatus, program, and recording medium Active JP6079081B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012205096A JP6079081B2 (en) 2012-09-18 2012-09-18 Information processing apparatus, program, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012205096A JP6079081B2 (en) 2012-09-18 2012-09-18 Information processing apparatus, program, and recording medium

Publications (2)

Publication Number Publication Date
JP2014059776A JP2014059776A (en) 2014-04-03
JP6079081B2 true JP6079081B2 (en) 2017-02-15

Family

ID=50616181

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012205096A Active JP6079081B2 (en) 2012-09-18 2012-09-18 Information processing apparatus, program, and recording medium

Country Status (1)

Country Link
JP (1) JP6079081B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6379858B2 (en) * 2014-08-25 2018-08-29 コニカミノルタ株式会社 Printer driver, setting reception method and setting reception device
JP6900705B2 (en) * 2017-02-28 2021-07-07 コニカミノルタ株式会社 Information processing systems, information processing devices, and programs

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006048537A (en) * 2004-08-06 2006-02-16 Canon Inc Printing system and printing processing method
JP2008052361A (en) * 2006-08-22 2008-03-06 Seiko Epson Corp Print data processor and method for performing filtering process on print data
JP4396749B2 (en) * 2007-08-24 2010-01-13 ブラザー工業株式会社 Print control device and printer driver program
JP5326477B2 (en) * 2007-12-14 2013-10-30 株式会社リコー Information processing apparatus, information processing program, recording medium, and information processing method

Also Published As

Publication number Publication date
JP2014059776A (en) 2014-04-03

Similar Documents

Publication Publication Date Title
JP5857611B2 (en) Information processing device, system, program
US20170371682A1 (en) Information processing apparatus, information processing method, and storage medium
US9442678B2 (en) Information processing apparatus, information processing system and non-transitory computer-readable information recording medium
JP3740438B2 (en) Print control method, print control apparatus, program, and computer-readable storage medium
US8488174B2 (en) Print control apparatus, print control method, and storage medium for configuring output device based on acquired information
US9122428B2 (en) Information processing apparatus allowing a user certain print setting operations in an environment where an image processing apparatus is undetermined
US20110058219A1 (en) Printer driver, information processing apparatus, and computer program product
JP6315965B2 (en) Information processing apparatus, program, and control method
JP7186815B2 (en) Information processing device, program and method
JP2012174279A (en) Print system for processing print job through virtual printer, and method and medium
JP5597088B2 (en) Printing system, printing system control method, and program
US20150178020A1 (en) Information processing apparatus, information processing method, and storage medium
JP6039216B2 (en) Information processing apparatus, program, and control method
JP6079081B2 (en) Information processing apparatus, program, and recording medium
US11520536B2 (en) Information processing apparatus, control method and program therefor, and server system capable of communicating with the information processing apparatus
JP5919925B2 (en) Program, information processing apparatus, storage medium
JP2004240589A (en) Printing system, method of controlling it, and information processing apparatus and method
US10338857B2 (en) Information processing apparatus, information processing system, and information processing method
JP5950608B2 (en) Information processing apparatus, method, and program
JP5754277B2 (en) Image formation control program
JP7158895B2 (en) Information processing device, its control method, and program
JP2011054013A (en) Information processing apparatus, program, and computer readable recording medium
JP2018112817A (en) Printer Driver Uninstaller
JP2019008673A (en) Information processing apparatus and driver installing method
JP5907609B2 (en) Information processing apparatus, printing apparatus, printing system, printing control method, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150804

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160623

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160628

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160829

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170102

R151 Written notification of patent or utility model registration

Ref document number: 6079081

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151