JP4590341B2 - Data processing apparatus, setting processing method, information processing apparatus, and control program - Google Patents

Data processing apparatus, setting processing method, information processing apparatus, and control program Download PDF

Info

Publication number
JP4590341B2
JP4590341B2 JP2005324687A JP2005324687A JP4590341B2 JP 4590341 B2 JP4590341 B2 JP 4590341B2 JP 2005324687 A JP2005324687 A JP 2005324687A JP 2005324687 A JP2005324687 A JP 2005324687A JP 4590341 B2 JP4590341 B2 JP 4590341B2
Authority
JP
Japan
Prior art keywords
setting
rule
program
processing
conflict
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
JP2005324687A
Other languages
Japanese (ja)
Other versions
JP2006164253A (en
JP2006164253A5 (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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2005324687A priority Critical patent/JP4590341B2/en
Publication of JP2006164253A publication Critical patent/JP2006164253A/en
Publication of JP2006164253A5 publication Critical patent/JP2006164253A5/ja
Application granted granted Critical
Publication of JP4590341B2 publication Critical patent/JP4590341B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、印刷処理関連プログラムにより実現可能な複数の機能に更に拡張機能を付与可能なデータ処理装置および設定処理方法および情報処理装置および制御プログラムに関するものである。 The present invention relates to a data processing device, a setting processing method, an information processing device, and a control program capable of further adding an extended function to a plurality of functions that can be realized by a print processing related program.

従来、プリンタ等のデバイスを製造するハードウェアベンダからのプリンタドライバのインストールセットのリリース形態としては、以下の例がある。   Conventionally, as a release form of an installation set of a printer driver from a hardware vendor that manufactures a device such as a printer, there are the following examples.

例えばデバイスの出荷時に同梱される場合や、各ベンダのサイトを公開して、ユーザが自由にダウンロードして使用する場合などがある。   For example, there are cases where a device is bundled at the time of shipment, or a case where a user freely downloads and uses a site of each vendor.

このような経路でリリースされたプリンタドライバは、様々な環境において使用されているが、使用環境が多様化する中で、ある特定機能をプリンタドライバで実現したいという要望が多くなってきている。とくに大企業などのエンタープライズ環境においては、その傾向が強くなっている。   The printer driver released through such a route is used in various environments. However, as the use environment is diversified, there is an increasing demand for realizing a specific function with the printer driver. This tendency is particularly strong in enterprise environments such as large corporations.

このような背景において、昨今プラグイン形式でこの特定機能の追加を実現するプリンタドライバが出現している。   Against this background, printer drivers that realize the addition of this specific function in a plug-in format have recently appeared.

このプラグイン形式のプリンタドライバの機能拡張とは、プリンタベンダから配布されているプリンタドライバのインストールセットとは別に、差分モジュール、つまりプラグインを提供して機能追加を実現する方法である。   This plug-in format printer driver function expansion is a method of realizing a function addition by providing a difference module, that is, a plug-in, separately from a printer driver installation set distributed from a printer vendor.

例えば、ユーザが設定した印刷機能に応じて、出力機器を制御するプリンタドライバに組み込むモジュール群(プラグイン)を決定する。これにより、冗長性を減少させ、メモリ不足を軽減して、印刷処理の簡潔化や印刷速度の向上を実現するデータ処理装置に関する技術が開示されている(例えば、特許文献1参照)。   For example, a module group (plug-in) to be incorporated in the printer driver that controls the output device is determined according to the printing function set by the user. As a result, a technique relating to a data processing device that reduces redundancy, reduces memory shortage, and realizes simplification of printing processing and improvement of printing speed is disclosed (for example, see Patent Document 1).

このプラグイン形式での機能拡張システムにおいては、上記の例の他、セキュリティ関連の機能をはじめ、様々な機能のプラグインが開発されているが、これらの異なる複数の機能を同一のドライバに追加するというケースがある。このような環境において、ユーザが追加された複数の機能を使用するために、追加先のプリンタドライバのユーザインタフェース(UI)上に、追加機能独自のUIシートを追加することでユーザに追加機能の設定を可能にさせる場合がある。   In the function expansion system in this plug-in format, in addition to the above example, plug-ins of various functions including security-related functions have been developed, but these different functions are added to the same driver. There is a case of doing. In such an environment, in order to use a plurality of functions added by the user, an additional function unique UI sheet is added to the user interface (UI) of the printer driver to which the user is added, so that the additional function can be provided to the user. May allow setting.

このとき、ユーザがこの追加機能の設定を変更する場合や、元のプリンタドライバで設定可能な設定を変更する場合に、互いの設定間で不整合が生じる場合が考えられる。   At this time, when the user changes the setting of the additional function, or when the setting that can be set by the original printer driver is changed, there may be a case where inconsistency occurs between the settings.

また、追加機能の設定変更をUIで実現しない場合においても、追加機能を実現することによって、他の設定値との不整合を生じることが考えられる。   Even when the setting change of the additional function is not realized by the UI, it is considered that inconsistency with other setting values is caused by realizing the additional function.

このような場合に、追加機能が追加される前であれば、プリンタドライバは、印刷設定シートにより設定変更環境(UI)をユーザに提供する際に、設定間に不整合が生じないよう制御していた。具体的には、ユーザの設定変更に応じて設定可能な項目のみを設定可能として、設定不可能な項目(不整合が生じる項目)に対しては設定できないようにしていた。   In such a case, if an additional function is not added, the printer driver controls the setting change environment (UI) to be provided to the user by the print setting sheet so that no mismatch occurs between the settings. It was. Specifically, only items that can be set can be set according to a user's setting change, and items that cannot be set (items that cause inconsistencies) cannot be set.

また、上記のようにプリンタドライバにおける印刷設定において、設定間の不整合を生じないようにする処理をコンフリクト処理という(下記特許文献1、2参照)。
特開2002−108580号公報 特開2001−75758号公報
In addition, as described above, the process for preventing inconsistency between settings in the print setting in the printer driver is referred to as conflict processing (see Patent Documents 1 and 2 below).
JP 2002-108580 A JP 2001-75758 A

しかしながら、プリンタドライバにプラグイン形式で新たな機能を複数追加したデータ処理環境下においては、各機能独自設定に伴う不整合状態を十分に判別することができず、各機能独自の設定が不整合状態になってしまう等の課題があった。   However, in a data processing environment in which multiple new functions are added to the printer driver in the form of plug-ins, the inconsistency state associated with each function's unique settings cannot be determined sufficiently, and the settings unique to each function are inconsistent. There was a problem such as becoming a state.

本発明は、上記の課題を解決するためになされたもので、本発明の目的は、印刷処理関連プログラム及び拡張プログラムの設定値の間でコンフリクトが発生しているかどうか判別して、適切なコンフリクト処理を実行できる仕組みを提供することである。   The present invention has been made to solve the above-described problems, and an object of the present invention is to determine whether or not a conflict has occurred between the setting values of the print processing related program and the extended program, and to determine an appropriate conflict. It is to provide a mechanism that can execute processing.

上記目的を達成する本発明のデータ処理装置は以下に示す構成を備える。   The data processing apparatus of the present invention that achieves the above object has the following configuration.

印刷処理関連プログラムにより実現可能な機能に更に複数の拡張機能を付与可能なデータ処理装置であって、2つ以上の設定値の間で成立する依存関係に応じて定めた第1のコンフリクト処理ルール格納する第1のルール格納手段と、前記印刷処理関連プログラムの機能と、前記複数の拡張機能に入力される設定値の間で成立する依存関係に応じて定めた第2のコンフリクト処理ルール格納する第2のルール格納手段と、前記第1のルール格納手段及び前記第2のルール格納手段から、前記第1のコンフリクト処理ルール及び前記第2のコンフリクト処理ルールを読み込み、読み込んだ前記第1のコンフリクト処理ルール及び前記第2のコンフリクト処理ルールを基にして、前記複数の機能と前記複数の拡張機能とのいずれか2つの設定間に不整合が生じないよう設定値の調整処理を行う設定調整手段とを具備することを特徴とする。 A data processing apparatus capable of further adding a plurality of extended functions to a function that can be realized by a print processing related program, and a first conflict processing rule defined according to a dependency relationship established between two or more set values a first rule storage means for storing a function of the print processing related program, the second conflict processing rule determined in accordance with the dependency relationship established between the set value input to said plurality of extensions The first conflict processing rule and the second conflict processing rule are read from the second rule storage means to be stored, the first rule storage means and the second rule storage means, and the read first rule is read. Two settings of the plurality of functions and the plurality of extended functions based on the conflict processing rule and the second conflict processing rule Characterized by comprising a setting adjustment means for adjusting processing settings so that inconsistency does not occur.

上記目的を達成する本発明の設定処理方法は以下に示す構成を備える。   The setting processing method of the present invention that achieves the above object has the following configuration.

2つ以上の設定値の間で成立する依存関係に応じて定めた第1のコンフリクト処理ルール格納する第1のルール格納手段と、印刷処理関連プログラムの機能と、前記複数の拡張機能に入力される設定値の間で成立する依存関係に応じて定めた第2のコンフリクト処理ルール格納する第2のルール格納手段とを備え、前記印刷処理関連プログラムにより実現可能な機能に更に複数の拡張機能を付与可能なデータ処理装置における印刷設定調整方法であって、前記第1のルール格納手段及び前記第2のルール格納手段から、前記第1のコンフリクト処理ルール及び前記第2のコンフリクト処理ルールを読み込み、読み込んだ前記第1のコンフリクト処理ルール及び前記第2のコンフリクト処理ルールを基にして、前記複数の機能と前記複数の拡張機能とのいずれか2つの設定間に不整合が生じないよう設定値の調整処理を行う設定調整ステップを具備することを特徴とする。 First rule storage means for storing a first conflict processing rule determined according to a dependency relationship established between two or more set values, a function of a print processing related program, and an input to the plurality of extended functions And a second rule storage means for storing a second conflict processing rule determined according to the dependency established between the set values to be set, and a plurality of extensions to functions that can be realized by the print processing related program A print setting adjustment method in a data processing apparatus capable of providing a function, wherein the first conflict processing rule and the second conflict processing rule are obtained from the first rule storage unit and the second rule storage unit. Based on the read first read conflict processing rule and the second conflict processing rule, the plurality of functions and the plurality of Characterized by including a setting adjustment step of adjusting process of any two such inconsistency does not occur between setting the set value of the tension function.

本発明によれば、印刷処理関連プログラム(プリンタドライバ)にプラグイン形式で新たな機能を複数追加したデータ処理環境下においても、追加される各機能独自設定に伴う不整合状態を判別することができる。   According to the present invention, even in a data processing environment in which a plurality of new functions are added in a plug-in format to a print processing related program (printer driver), it is possible to determine the inconsistency state associated with each added function unique setting. it can.

また、自動的、かつ的確なコンフリクト処理を実現して、各機能独自の設定が不整合状態であっても、正常な印刷を実行可能な印刷設定環境に自動調整して、追加される複数の機能に対する印刷設定を正常に行える。   In addition, automatic and accurate conflict processing is realized, and even if the settings unique to each function are in an inconsistent state, it is automatically adjusted to a print setting environment that can execute normal printing, and multiple added The print setting for the function can be performed normally.

従って、追加される各機能独自設定に伴う不整合を解消して、意図する印刷結果を正常に得られる印刷設定環境を自在に構築できる。   Therefore, it is possible to freely construct a print setting environment in which inconsistencies associated with the added function-specific settings are eliminated and an intended print result can be normally obtained.

次に本発明を実施するための最良の形態について図面を参照して説明する。   Next, the best mode for carrying out the present invention will be described with reference to the drawings.

<システム構成の説明>
以下添付図面を参照して本発明の好適な実施形態について詳細に説明する。
<Description of system configuration>
Preferred embodiments of the present invention will be described below in detail with reference to the accompanying drawings.

図1は、本発明の第1実施形態を示すデータ処理装置を適用可能な印刷処理システムの構成を説明するブロック図である。   FIG. 1 is a block diagram illustrating the configuration of a print processing system to which the data processing apparatus according to the first embodiment of the present invention can be applied.

なお、特に断らない限り、本発明の機能が実行されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても本発明を適用できることは言うまでもない。また、LAN,WAN等のネットワークを介して接続が為され処理が行われるシステムであっても本発明を適用できることは言うまでもない。   It should be noted that the present invention can be applied to a single device or a system composed of a plurality of devices as long as the functions of the present invention are executed unless otherwise specified. Further, it goes without saying that the present invention can be applied to a system in which processing is performed through connection via a network such as a LAN or WAN.

図1において、3000はホストコンピュータで、システムバス4に接続される各デバイスをCPU1が総括的に制御する。CPU1は、ROM3のプログラム用ROMあるいは外部メモリ11に記憶された文書処理プログラム等に基づいて図形、イメージ、文字、表(表計算等を含む)等が混在した文書処理を実行する。   In FIG. 1, 3000 is a host computer, and the CPU 1 comprehensively controls each device connected to the system bus 4. The CPU 1 executes document processing in which graphics, images, characters, tables (including spreadsheets), etc. are mixed based on a document processing program stored in the program ROM of the ROM 3 or the external memory 11.

また、このROM3のプログラム用ROMあるいは外部メモリ11には、CPU1の制御プログラムであるオペレーティングシステムプログラム(以下OS)等を記憶する。また、ROM3のフォント用ROMあるいは外部メモリ11には上記文書処理の際に使用するフォントデータ等を記憶する。さらに、ROM3のデータ用ROMあるいは外部メモリ11には上記文書処理等を行う際に使用する各種データを記憶する。   Further, an operating system program (hereinafter referred to as OS) which is a control program of the CPU 1 is stored in the program ROM of the ROM 3 or the external memory 11. The font ROM of the ROM 3 or the external memory 11 stores font data used for the document processing. Further, the data ROM of the ROM 3 or the external memory 11 stores various data used when performing the document processing or the like.

2はRAMで、CPU1の主メモリ、ワークエリア等として機能する。5はキーボードコントローラ(KBC)で、キーボード(KB)9や不図示のポインティングデバイスからのキー入力を制御する。6はCRTコントローラ(CRTC)で、CRTディスプレイ(CRT)10の表示を制御する。   Reference numeral 2 denotes a RAM which functions as a main memory, work area, and the like for the CPU 1. A keyboard controller (KBC) 5 controls key input from a keyboard (KB) 9 or a pointing device (not shown). Reference numeral 6 denotes a CRT controller (CRTC) which controls display on a CRT display (CRT) 10.

7はディスクコントローラ(DKC)で、外部メモリ11とのアクセスを制御する。外部メモリ11には、ブートプログラム、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、プリンタ制御コマンド生成プログラム(以下プリンタドライバ)等を記憶する。外部メモリ11は、ハードディスク(HD)、フレキシブルディスク(FD)等で構成される。   A disk controller (DKC) 7 controls access to the external memory 11. The external memory 11 stores a boot program, various applications, font data, user files, editing files, a printer control command generation program (hereinafter referred to as a printer driver), and the like. The external memory 11 includes a hard disk (HD), a flexible disk (FD), and the like.

8はプリンタコントローラ(PRTC)で、所定の双方向性インタフェース21を介してプリンタ1500に接続されて、プリンタ1500との通信制御処理を実行する。なお、CPU1は、例えばRAM2上に設定された表示情報RAMへのアウトラインフォントの展開(ラスタライズ)処理を実行し、CRT10上でのWYSIWYGを可能としている。   A printer controller (PRTC) 8 is connected to the printer 1500 via a predetermined bidirectional interface 21 and executes communication control processing with the printer 1500. Note that the CPU 1 executes, for example, an outline font development (rasterization) process on the display information RAM set on the RAM 2 to enable WYSIWYG on the CRT 10.

また、CPU1は、CRT10上の不図示のマウスカーソル等で指示されたコマンドに基づいて登録された種々のウインドウを開き、種々のデータ処理を実行する。ユーザは印刷を実行する際、印刷の設定に関するウインドウを開き、プリンタの設定や、印刷モードの選択を含むプリンタドライバに対する印刷処理方法の設定を行える。   The CPU 1 opens various windows registered based on commands instructed by a mouse cursor (not shown) on the CRT 10 and executes various data processing. When executing printing, the user opens a window relating to print settings, and can set the print processing method for the printer driver, including printer settings and print mode selection.

プリンタ1500において、12はプリンタCPUで、ROM13のプログラム用ROMに記憶された制御プログラムに基づいてシステムバス15に接続される印刷部(プリンタエンジン)17に出力情報としての画像信号を出力する。   In the printer 1500, reference numeral 12 denotes a printer CPU that outputs an image signal as output information to a printing unit (printer engine) 17 connected to the system bus 15 based on a control program stored in a program ROM of the ROM 13.

また、プリンタCPU12は、外部メモリ14に記憶された制御プログラム等に基づいてシステムバス15に接続される印刷部(プリンタエンジン)17に出力情報としての画像信号を出力する。   The printer CPU 12 outputs an image signal as output information to a printing unit (printer engine) 17 connected to the system bus 15 based on a control program stored in the external memory 14.

また、このROM13のプログラムROMには、CPU12の制御プログラム等を記憶する。ROM13のフォント用ROMには上記出力情報を生成する際に使用するフォントデータ等を記憶する。また、ROM13のデータ用ROMにはハードディスク等の外部メモリ14がないプリンタの場合には、ホストコンピュータ上で利用される情報等を記憶している。   Further, the control program of the CPU 12 and the like are stored in the program ROM of the ROM 13. The font ROM of the ROM 13 stores font data used for generating the output information. In the case of a printer that does not have an external memory 14 such as a hard disk, the data ROM of the ROM 13 stores information used on the host computer.

CPU12は入力部18を介してホストコンピュータとの通信処理が可能となっており、プリンタ内の情報等をホストコンピュータ3000に通知可能に構成されている。   The CPU 12 can communicate with the host computer via the input unit 18 and is configured to notify the host computer 3000 of information in the printer.

19は前記CPU12の主メモリ、ワークエリア等として機能するRAMで、図示しない増設ポートに接続されるオプションRAMによりメモリ容量を拡張することができるように構成されている。   Reference numeral 19 denotes a RAM that functions as the main memory, work area, and the like of the CPU 12, and is configured such that the memory capacity can be expanded by an optional RAM connected to an expansion port (not shown).

なお、RAM19は、出力情報展開領域、環境データ格納領域、NVRAM等に用いられる。前述したハードディスク(HD)、ICカード等の外部メモリ14は、ディスクコントローラ(DKC)20によりアクセスを制御される。外部メモリ14は、オプションとして接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。また、1501は前述した操作パネルで、操作のためのスイッチおよびLED表示器等が配されている。   The RAM 19 is used as an output information expansion area, environment data storage area, NVRAM, and the like. Access to the external memory 14 such as the hard disk (HD) and the IC card is controlled by a disk controller (DKC) 20. The external memory 14 is connected as an option and stores font data, an emulation program, form data, and the like. Reference numeral 1501 denotes the above-described operation panel on which switches for operation, an LED display, and the like are arranged.

また、前述した外部メモリは1個に限らず、少なくとも1個以上備え、内蔵フォントに加えてオプションフォントカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを複数接続できるように構成されていてもよい。さらに、図示しないNVRAMを有し、操作パネル1501からのプリンタモード設定情報を記憶するようにしてもよい。   Further, the number of external memories is not limited to one, and at least one external memory is provided so that an optional font card and a plurality of external memories storing programs for interpreting printer control languages with different language systems can be connected in addition to built-in fonts. It may be configured. Furthermore, an NVRAM (not shown) may be provided to store printer mode setting information from the operation panel 1501.

さらに、本実施形態では、OSとして、マクロソフト社のWINDOWS(登録商標)に適用する例について説明するが、当該OS以外のOSであっても、本発明を適用できる。   Furthermore, in the present embodiment, an example in which the OS is applied to WINDOWS (registered trademark) of Macrosoft Co., Ltd. will be described as an OS, but the present invention can be applied to an OS other than the OS.

図2は、図1に示したRAM2のメモリマップの一例を示す図である。本例は、所定のアプリケーションおよび印刷処理関連プログラムを起動して、ホストコンピュータ3000上のRAM2にロードされた状態のRAM2のメモリマップを示している。   FIG. 2 is a diagram showing an example of a memory map of the RAM 2 shown in FIG. This example shows a memory map of the RAM 2 in a state where a predetermined application and a print processing related program are activated and loaded into the RAM 2 on the host computer 3000.

図2において、RAM2には、図示の如く、BIOS206、OS205をはじめ、アプリケーショ201、印刷処理関連プログラム204、および関連データ203がロードされており、さらに空きメモリ領域(空きメモリ)202も確保されている。   In FIG. 2, a RAM 206 is loaded with a BIOS 206, an OS 205, an application 201, a print processing related program 204, and related data 203 as shown in the figure, and a free memory area (free memory) 202 is also secured. Yes.

これにより、アプリケーション201および印刷処理関連プログラム204は実行可能状態にある。   Thereby, the application 201 and the print processing related program 204 are in an executable state.

図3は、図1に示したホストコンピュータ3000のプリンタドライバの拡張システムの一例を示すブロック図である。本例は、プリンタドライバ307にプラグインモジュールを追加した場合のUIに関する構成を示している。以下、本実施形態におけるプリンタドライバ307の拡張システムについて説明する。   FIG. 3 is a block diagram showing an example of a printer driver expansion system of the host computer 3000 shown in FIG. This example shows a UI-related configuration when a plug-in module is added to the printer driver 307. Hereinafter, an extended system of the printer driver 307 in this embodiment will be described.

図3において、プラグインモジュールは、UIドライバ1103の拡張機能を有するUIプラグイン1104と、グラフィックスドライバ1105の拡張機能を有するグラフィックスプラグイン1106から構成されている。以下、それぞれのプラグインモジュールについて説明する。   In FIG. 3, the plug-in module includes a UI plug-in 1104 having an extended function of the UI driver 1103 and a graphics plug-in 1106 having an extended function of the graphics driver 1105. Hereinafter, each plug-in module will be described.

UIプラグイン1104は、プリンタドライバ307が利用者に提供する印刷設定シート(UI)に新たなシートを加える場合に用いる。また、UIドライバ1103で処理しているインストール時の処理などのUIドライバ1103に実装されている様々なイベント処理をカスタマイズする場合に用いる。   The UI plug-in 1104 is used when a new sheet is added to a print setting sheet (UI) provided to the user by the printer driver 307. Further, it is used to customize various event processes implemented in the UI driver 1103 such as an installation process performed by the UI driver 1103.

UIドライバ1103は、システムに対してエクスポートしているDDI(Device Driver Interface)がコールされた際に、UIプラグイン1104が公開しているインタフェースを取得する。UIドライバ1103が取得したUIプラグイン1104のインタフェースを用いて、UIプラグイン1104と通信することで、UIドライバ1103に実装されたカスタマイズ処理が実行される。   The UI driver 1103 acquires an interface disclosed by the UI plug-in 1104 when a DDI (Device Driver Interface) exported to the system is called. Using the interface of the UI plug-in 1104 acquired by the UI driver 1103, the customization process implemented in the UI driver 1103 is executed by communicating with the UI plug-in 1104.

一方、グラフィックスプラグイン1106は、GDI(Graphics Device Interface)1102とグラフィックスドライバ1105とのインタフェースであるDDIの処理を横取りする場合に用いる。または特定のタイミングで処理を追加する場合や、印刷データのスプール処理を横取りする場合に用いる。   On the other hand, the graphics plug-in 1106 is used to intercept DDI processing that is an interface between a GDI (Graphics Device Interface) 1102 and the graphics driver 1105. Alternatively, it is used when processing is added at a specific timing or when print data spool processing is intercepted.

グラフィックスドライバ1105がエクスポートしているDDIは、ジョブを生成するためにGDI1102から適宜コールされる。そして、その初期化のタイミングで、グラフィックスドライバ1105は、グラフィックスプラグイン1106が公開しているインタフェースを取得し、RAM2に保持する。   The DDI exported by the graphics driver 1105 is appropriately called from the GDI 1102 to generate a job. Then, at the initialization timing, the graphics driver 1105 acquires the interface published by the graphics plug-in 1106 and stores it in the RAM 2.

ここで取得したインタフェースを用いて、DDIがコールされるタイミングにそのDDIに対応したグラフィックスプラグイン1106の処理を呼び出す。   Using the acquired interface, the processing of the graphics plug-in 1106 corresponding to the DDI is called at the timing when the DDI is called.

呼び出されたグラフィックスプラグイン1106は、プラグイン内に実装された処理を実行し、処理を再びグラフィックスドライバ1105に返す。   The called graphics plug-in 1106 executes the processing implemented in the plug-in, and returns the processing to the graphics driver 1105 again.

ここで、グラフィックスプラグイン1106が処理を横取りしている場合、DDIはそこで処理を終了し、追加処理を実装している場合には、そのまま後続する処理を続ける。   Here, if the graphics plug-in 1106 has intercepted the processing, the DDI ends the processing, and if the additional processing is implemented, the subsequent processing is continued as it is.

グラフィックスプラグイン1106がグラフィックスドライバ1105の印刷データのスプール処理を横取りする場合は、グラフィックスドライバ1105内の印刷データをスプールする直前にグラフィックスプラグイン1106のインタフェースをコールする。そして、コールされたグラフィックスプラグイン1106は、スプールされるデータを取得し、特定の処理を実行する。その後、再度グラフィックスドライバ1105のスプール処理関数をコールすることで、グラフィックスドライバ1105に特定の処理を施したデータを渡す。   When the graphics plug-in 1106 intercepts the print data spool processing of the graphics driver 1105, the interface of the graphics plug-in 1106 is called immediately before the print data in the graphics driver 1105 is spooled. Then, the called graphics plug-in 1106 acquires spooled data and executes specific processing. Thereafter, by calling the spool processing function of the graphics driver 1105 again, the graphics driver 1105 is provided with data subjected to specific processing.

そして、データを受け取ったグラフィックスドライバ1105は、実際にシステムスプーラ1107にスプールする処理を実行する。このようにプラグインモジュールに拡張機能を実装することで、プリンタドライバ307の拡張システムを実現している。   Then, the graphics driver 1105 that has received the data executes a process of actually spooling to the system spooler 1107. As described above, the extended function of the printer driver 307 is realized by mounting the extended function in the plug-in module.

次に、印刷処理関連プログラム(プリンタドライバ)がホストコンピュータ3000上のRAM2にロードされ実行可能となった状態のメモリマップについて説明する。   Next, a memory map in a state where a print processing related program (printer driver) is loaded into the RAM 2 on the host computer 3000 and becomes executable will be described.

図2は、印刷処理関連プログラム(プリンタドライバ)がホストコンピュータ3000上のRAM2にロードされ実行可能となった状態のメモリマップ例を示す図である。   FIG. 2 is a diagram showing an example of a memory map in a state where a print processing related program (printer driver) is loaded into the RAM 2 on the host computer 3000 and can be executed.

図2に示すように、RAM2には、アプリケーション201、空きメモリ202、関連データ203、印刷処理関連プログラム(以下、プリンタドライバとする)204、OS205及びBIOS206から構成されるメモリマップが形成される。   As shown in FIG. 2, a memory map including an application 201, an empty memory 202, related data 203, a print processing related program (hereinafter referred to as a printer driver) 204, an OS 205, and a BIOS 206 is formed in the RAM 2.

図4は、図1に示したホストコンピュータ3000の各種のモジュールのプリント処理例を示す概念ブロック図である。本例は、プリンタドライバ307に複数の追加機能である第1のプラグインモジュールセット310および第2のプラグインモジュールセット313がインストールされている状態の各モジュール間の構成を示す例である。   FIG. 4 is a conceptual block diagram showing an example of print processing of various modules of the host computer 3000 shown in FIG. In this example, a configuration between modules in a state where a first plug-in module set 310 and a second plug-in module set 313, which are a plurality of additional functions, are installed in the printer driver 307 is an example.

図4に示すように第1のプラグインモジュールセット310には第1のプラグインモジュール309と、第1のプラグインモジュール309独自のコンフリクト処理ルール308が同梱されている。   As shown in FIG. 4, the first plug-in module set 310 includes a first plug-in module 309 and a conflict processing rule 308 unique to the first plug-in module 309.

同様に、第2のプラグインモジュールセット313においても第2のプラグインモジュール312と、第2のプラグインモジュール312独自のコンフリクト処理ルール311が同梱されている。   Similarly, the second plug-in module set 313 also includes a second plug-in module 312 and a conflict processing rule 311 unique to the second plug-in module 312.

また、プラグイン前のプリンタドライバ307は、コンフリクト処理ルール301、推論エンジン302、コンフリクトマネージャ303、状態変数リスト304、内部構造体305及びドライバ管理部306から構成されていた。   In addition, the printer driver 307 before plug-in includes a conflict processing rule 301, an inference engine 302, a conflict manager 303, a state variable list 304, an internal structure 305, and a driver management unit 306.

また、本実施形態のプリンタドライバ307は、第1のプラグインモジュール309および第2のプラグインモジュール312を組み込むことにより、それぞれ新たにスタンプ機能と製本印刷機能とを有する場合を示した。しかし、プラグインモジュールにより追加される機能はこれに限定されるものではない。   In addition, the printer driver 307 of this embodiment has been described as having a stamp function and a bookbinding printing function by incorporating the first plug-in module 309 and the second plug-in module 312 respectively. However, the function added by the plug-in module is not limited to this.

第一のプラグインとして、ドキュメント管理プラグインが考えられる。地紋プラグインによって地紋印刷が新たにプリンタドライバに入力可能となり、ドキュメント管理プラグインにより、サーバ装置(図示省略)へのドキュメントが登録される(ストアモード)。   As a first plug-in, a document management plug-in can be considered. The copy-forgery-inhibited pattern print can be newly input to the printer driver by the copy-forgery-inhibited pattern plug-in, and the document is registered in the server device (not shown) by the document management plug-in (store mode).

一般に複写機には、原稿の微小なドットを読み取る入力解像度や微小なドットを再現する出力解像度に依存した再現能力の限界が存在する。   In general, a copying machine has a limit of reproducibility depending on an input resolution for reading minute dots on an original and an output resolution for reproducing minute dots.

地紋画像の背景部のドットが、複写機で再現できるドットの限界より小さく形成され、潜像部のドット塊が限界より大きく形成されている場合、複写により地紋画像の大きなドット塊による画像は再現される。そして、小さなドットによる画像は再現されず、潜像が顕在化される。   When the background dots of the copy-forgery-inhibited pattern image are formed smaller than the limit of dots that can be reproduced by the copying machine and the dot block of the latent image is formed to be larger than the limit, the image of the large copy-forgery-inhibited pattern image is reproduced by copying. Is done. And the image by a small dot is not reproduced, but a latent image becomes obvious.

また、複写によって分散した小さなドットが完全に消えなくとも、集中したドット塊と比較して複写後の濃度がより低い場合でも、潜像は相対的により顕著に認識できる。このように画像が浮かび上がる画像は顕像と呼ばれる。禁複写のような顕像を埋め込むことにより、複写牽制のための印刷として機能する。   Even if the small dots dispersed by copying do not disappear completely, the latent image can be recognized more remarkably even when the density after copying is lower than that of the concentrated dot cluster. An image in which the image appears in this way is called a visible image. By embedding a visible image such as prohibited copying, it functions as printing for checking copying.

地紋印刷が設定されている場合に、文書管理モジュールにおいて外部コンピュータに対する印刷データの登録を行うストア印刷の設定を許すと、セキュリティが低下する恐れがある。   When copy-forgery-inhibited pattern printing is set, if the document management module allows setting of store printing for registering print data to an external computer, there is a risk that security may be lowered.

よって、第1のプラグインモジュール309および第2のプラグインモジュール312において、地紋印刷が設定されている場合に、ストア印刷を禁止するようなルールを記憶させることが考えられる。   Therefore, it is conceivable that the first plug-in module 309 and the second plug-in module 312 store a rule that prohibits store printing when copy-forgery-inhibited pattern printing is set.

第1のプラグインモジュール309および/又は第2のプラグインモジュール312からこのコンフリクトルールをコンフリクトマネージャ303が取得する(307−15)。この取得したルールに基づき、コンフリクトマネージャ303は、地紋印刷が設定されている場合に、ストア印刷を禁止するように制御する(307−27)。   The conflict manager 303 acquires the conflict rule from the first plug-in module 309 and / or the second plug-in module 312 (307-15). Based on the acquired rule, the conflict manager 303 performs control to prohibit store printing when copy-forgery-inhibited pattern printing is set (307-27).

301はコンフリクト処理ルールであり、プラグインする前のプリンタドライバ307における各設定間の不整合を防ぐためのルールが定義されている。尚、コンフリクト処理ルールの具体例については後述する。   Reference numeral 301 denotes a conflict processing rule that defines a rule for preventing inconsistencies between settings in the printer driver 307 before plug-in. A specific example of the conflict processing rule will be described later.

303はコンフリクトマネージャであり、状態変数リスト304及び内部構造体305内のデータが一致するよう管理する。   A conflict manager 303 manages the data in the state variable list 304 and the internal structure 305 so as to match.

ここで、状態変数リスト304とは、プリンタドライバ307で設定可能な設定項目(例えば、グループ、ステイプル、ソート)に対応する状態変数(例えば、Group、Staple、Collate)とその値(設定項目のオン/オフ)のリストである。   Here, the state variable list 304 is a state variable (for example, Group, Staple, or Collate) corresponding to a setting item (for example, group, staple, sort) that can be set by the printer driver 307 and its value (setting item ON). / Off) list.

また、内部構造体305内のデータとはプリンタドライバ307で設定可能な設定項目(例えばグループ、ステイプル、ソート)に対応する変数であるメンバ(例えばcGroup、cStaple、cCollate)とその値(オン=1、オフ=0)である。   The data in the internal structure 305 is a member (for example, cGroup, cStapple, cCollate) that is a variable corresponding to a setting item (for example, group, staple, sort) that can be set by the printer driver 307 and its value (ON = 1). , OFF = 0).

302は推論エンジンであり、コンフリクト処理ルール301及び第1のプラグインのコンフリクト処理ルール308、第2のプラグインのコンフリクト処理ルール311をコンフリクトマネージャ303を介して読み込む。そして、コンフリクトチェック(ルールに応じた設定であるかの検査)を行い、その結果をコンフリクトマネージャ303へ返信する。   An inference engine 302 reads the conflict processing rule 301, the first plug-in conflict processing rule 308, and the second plug-in conflict processing rule 311 via the conflict manager 303. Then, a conflict check (inspection for setting according to the rule) is performed, and the result is returned to the conflict manager 303.

306はドライバ管理部であり、アプリケーション201からの印刷設定要求などに応じて、初期化処理や印刷設定を行うためのUIの表示制御や、プリンタドライバ307内の動作制御を行う。   A driver management unit 306 performs UI display control for performing initialization processing and print settings and operation control in the printer driver 307 in response to a print setting request from the application 201.

また、ドライバ管理部306は、コンフリクトマネージャ303に各設定間の不整合が生じないようコンフリクト処理を依頼する。   In addition, the driver management unit 306 requests the conflict manager 303 to perform conflict processing so that inconsistencies between settings do not occur.

また、ドライバ管理部306は第1のプラグインモジュール309および第2のプラグインモジュール312とのデータの授受も行う。   The driver management unit 306 also exchanges data with the first plug-in module 309 and the second plug-in module 312.

ここで、図4に示したコンフリクトマネージャ303及び推論エンジン302が、状態変数リスト304、内部構造体305及びコンフリクト処理ルール301を利用してどのようなコンフリクト処理を行うかを簡単な具体例を示して説明する。   Here, a simple specific example of what conflict processing is performed by the conflict manager 303 and the inference engine 302 illustrated in FIG. 4 using the state variable list 304, the internal structure 305, and the conflict processing rule 301 is shown. I will explain.

図5は、図4に示したコンフリクトマネージャ303及び推論エンジン302におけるコンフリクト処理例を示す図である。 Figure 5 is a diagram showing an example of the conflict processing in the conflict manager 303 and the inference engine 302 shown in FIG.

なお、図5においては、コンフリクトマネージャ303が、変数リスト304及び内部構造体305を利用して、推論エンジン302がコンフリクト処理ルール301を利用していることを示す例である。このため、コンフリクトマネージャ303の枠内に状態変数リスト304及び内部構造体305を記載して、推論エンジン302の枠内にコンフリクト処理ルール301を記載している。   FIG. 5 shows an example in which the conflict manager 303 uses the variable list 304 and the internal structure 305 and the inference engine 302 uses the conflict processing rule 301. Therefore, the state variable list 304 and the internal structure 305 are described in the conflict manager 303, and the conflict processing rule 301 is described in the inference engine 302.

図5に示す具体例では、プリンタ機能名A,B,C…の設定に応じたコンフリクト処理の例を示している。   The specific example shown in FIG. 5 shows an example of conflict processing in accordance with the settings of printer function names A, B, C.

図5に示すように、内部構造体305には、プリンタ機能名A、B、C…に対応するメンバint cA、cB、cC…とその値「0」、「1」、「0」…が格納されている。   As shown in FIG. 5, the internal structure 305 has members int cA, cB, cC... Corresponding to printer function names A, B, C... And their values “0”, “1”, “0”. Stored.

コンフリクトマネージャ303は、この内部構造体305のメンバとその値を参照することで、状態変数A=OFF、状態変数B=ON、状態変数C=OFF、…という状態変数リスト304を生成する。   The conflict manager 303 refers to the members of the internal structure 305 and their values to generate a state variable list 304 of state variable A = OFF, state variable B = ON, state variable C = OFF,.

推論エンジン302は、この状態変数リスト304を参照するので、推論エンジン302内における、プリンタ機能名A、B、C…の状態値の初期値は、「OFF」、「ON」、「OFF」となる。   Since the inference engine 302 refers to the state variable list 304, the initial values of the state values of the printer function names A, B, C... In the inference engine 302 are “OFF”, “ON”, and “OFF”. Become.

また、コンフリクト処理ルール301には、
A(ON)<−B(ON)、C(OFF)というルールが定義されていたとする。
The conflict processing rule 301 includes
Assume that the rules A (ON) <-B (ON), C (OFF) are defined.

これは、機能Bがオンかつ機能Cがオフの場合は機能Aをオンにするというルールを定義するものである。   This defines a rule that the function A is turned on when the function B is on and the function C is off.

推論エンジン302は、コンフリクト処理ルール301を、コンフリクトマネージャ303を介して読み込む。   The inference engine 302 reads the conflict processing rule 301 via the conflict manager 303.

ここで、推論エンジン302でコンフリクトチェックの推論が行われたとする。初期値がプリンタ機能名B=ON、プリンタ機能名C=OFFであるので、コンフリクト処理ルール301で定義されたルールA(ON)<−B(ON)、C(OFF)が成立する。   Here, it is assumed that the inference engine 302 infers the conflict check. Since the initial values are the printer function name B = ON and the printer function name C = OFF, the rules A (ON) <− B (ON) and C (OFF) defined in the conflict processing rule 301 are established.

これにより、推論エンジン302は、左辺のプリンタ機能名Aの状態変数値をONに変更する。すなわち、推論エンジン302は、状態変数リスト304の状態変数A=ONに更新する。   As a result, the inference engine 302 changes the state variable value of the printer function name A on the left side to ON. That is, the inference engine 302 updates the state variable list 304 to state variable A = ON.

推論エンジン302において、コンフリクトチェックの推論が終了した後、コンフリクトマネージャ303は変更された状態変数Aの値をプリンタドライバ307の内部構造体305の対応するメンバint cAに反映させる。   In the inference engine 302, after the conflict check inference is completed, the conflict manager 303 reflects the changed value of the state variable A in the corresponding member int cA of the internal structure 305 of the printer driver 307.

つまりint cAの値は上記ルールが成立した事によって「0」から「1」に変更される。   That is, the value of int cA is changed from “0” to “1” when the above rule is satisfied.

以上に示すような処理により、コンフリクトマネージャ303及び推論エンジン302は、設定間に不整合が生じないように、状態変数リスト304を更新する。そして、それを、ドライバ管理部306がUIに利用する内部構造体305内の設定情報(メンバcA、cB、…)に反映している。   Through the processing as described above, the conflict manager 303 and the inference engine 302 update the state variable list 304 so that no inconsistency occurs between the settings. This is reflected in the setting information (members cA, cB,...) In the internal structure 305 used by the driver management unit 306 for the UI.

なお、上述したコンフリクト処理ルール301で定義したルールは、簡単な具体例を示すためのものであり、本実施形態のコンフリクト処理ルール301は、例えば以下に示すようなルール例(1)〜(3)を定義している。   Note that the rules defined in the above-described conflict processing rule 301 are for showing a simple specific example, and the conflict processing rule 301 of the present embodiment includes, for example, rule examples (1) to (3) shown below. ) Is defined.

Collate(OFF)<−Group(ON) …(1)
Collate(OFF)<−Staple(ON) …(2)
Collate(ON)<−Group(OFF) …(3)
また、第1のプラグインのコンフリクト処理ルール308は、例えば以下に示すようなルール例(4)を定義している。
Collate (OFF) <-Group (ON) (1)
Collate (OFF) <-Staple (ON) (2)
Collate (ON) <-Group (OFF) (3)
Further, the conflict processing rule 308 of the first plug-in defines a rule example (4) as shown below, for example.

Poster(OFF)<−Stamp(ON) …(4)
さらに、第2のプラグインのコンフリクト処理ルール311は、例えば以下に示すようなルール例(5)を定義している。
Poster (OFF) <-Stamp (ON) (4)
Furthermore, the conflict processing rule 311 of the second plug-in defines a rule example (5) as shown below, for example.

Group(OFF)<−Booklet(ON) …(5)
ここで、Collateは、ソート機能を示し、Groupは、グループ機能を示し、Stapleは、ステイプル機能を示し、Stampは、スタンプ印刷機能を示し、Bookletは、製本印刷機能を示す。
Group (OFF) <-Booklet (ON) (5)
Here, Collate indicates a sort function, Group indicates a group function, Staple indicates a staple function, Stamp indicates a stamp print function, and Booklet indicates a bookbinding print function.

次に、本実施形態のホストコンピュータ3000におけるプリンタドライバ307のUIに関する処理について説明する。   Next, processing related to the UI of the printer driver 307 in the host computer 3000 of this embodiment will be described.

OS205管理の下で動作するアプリケーション201よりプリンタドライバ307の備える初期化処理が呼び出されると、OS205の管理の下、RAM2にプリンタドライバ307がロードされる。   When an initialization process provided in the printer driver 307 is called from the application 201 operating under the management of the OS 205, the printer driver 307 is loaded into the RAM 2 under the management of the OS 205.

プリンタドライバ307がRAM2にロードされると、ドライバ管理部306に備えられたプリンタドライバ307の初期化処理部が呼び出され、初期化処理が行われる。   When the printer driver 307 is loaded into the RAM 2, the initialization processing unit of the printer driver 307 provided in the driver management unit 306 is called to perform initialization processing.

図6〜図8は、本発明に係るデータ処理装置における第1のデータ処理手順の一例を示すフローチャートであり、図4に示したアプリケーション201からプリンタドライバ307のUIを開く際の初期化処理する手順に対応する。なお、(201−1)〜(201−5)はアプリケーション201が実行するステップに対応する。また、(307−1)〜(307−28)は図4に示すドライバ管理部306が実行するステップに対応する。さらに、(310−1)〜(310−10)は第1プラグインモジュールセット310が実行するステップに対応する。また、(313−1)〜(313−10)は第2のプラグインモジュールセット313が実行するステップに対応する。   FIGS. 6 to 8 are flowcharts showing an example of a first data processing procedure in the data processing apparatus according to the present invention, and performs an initialization process when opening the UI of the printer driver 307 from the application 201 shown in FIG. Corresponds to the procedure. Note that (201-1) to (201-5) correspond to steps executed by the application 201. Also, (307-1) to (307-28) correspond to the steps executed by the driver management unit 306 shown in FIG. Further, (310-1) to (310-10) correspond to the steps executed by the first plug-in module set 310. Further, (313-1) to (313-10) correspond to the steps executed by the second plug-in module set 313.

尚、図6に示す第1のプラグインモジュール309は、図4に示したように、プリンタドライバ307にプラグインにより組み込まれたものである。   The first plug-in module 309 shown in FIG. 6 is incorporated in the printer driver 307 by plug-in as shown in FIG.

まず、アプリケーション201はプリンタドライバ307の内部構造体を格納するためのメモリ領域のサイズをプリンタドライバ307に問い合わせる(201−1)。   First, the application 201 inquires of the printer driver 307 about the size of the memory area for storing the internal structure of the printer driver 307 (201-1).

プリンタドライバ307は、ステップ(201−1)による問い合わせを受けると(307−1)、第1のプラグインモジュール309に対して、第1のプラグインモジュール309が必要な内部構造体のデータ領域のサイズを問い合わせる(307−2)。   When the printer driver 307 receives the inquiry in step (201-1) (307-1), the printer driver 307 sends the data area of the internal structure that requires the first plug-in module 309 to the first plug-in module 309. The size is inquired (307-2).

第1のプラグインモジュール309がデータ領域のサイズの問い合わせを受けると(310−1)、必要な内部構造体の領域サイズを計算し(310−2)、計算された領域のサイズをプリンタドライバ307に返す(310−3)。   When the first plug-in module 309 receives an inquiry about the size of the data area (310-1), the area size of the necessary internal structure is calculated (310-2), and the calculated area size is set to the printer driver 307. (310-3).

その後、プリンタドライバ307が第1のプラグインモジュール309より計算された領域のサイズを受けると(307−3)、第1のプラグインモジュール309に必要な内部構造体のサイズを取得する(307−4)。   Thereafter, when the printer driver 307 receives the size of the area calculated by the first plug-in module 309 (307-3), the size of the internal structure necessary for the first plug-in module 309 is acquired (307- 4).

本実施形態においては、2つのプラグインモジュール(第1のプラグインモジュール309、第2のプラグインモジュール312)がインストールされている状態を想定している。このため、次にプリンタドライバ307は、第2のプラグインモジュール312に対して、第2のプラグインモジュール312が必要な内部構造体305のデータ領域のサイズを問い合わせる(307−5)。   In the present embodiment, it is assumed that two plug-in modules (first plug-in module 309 and second plug-in module 312) are installed. Therefore, next, the printer driver 307 inquires of the second plug-in module 312 about the size of the data area of the internal structure 305 required by the second plug-in module 312 (307-5).

第2のプラグインモジュール312は、データ領域のサイズを問い合わせを受けると(313−1)、必要な内部構造体305の領域サイズを計算し(313−2)、計算された領域のサイズをプリンタドライバ307に返す(313−3)。   Upon receiving an inquiry about the size of the data area (313-1), the second plug-in module 312 calculates the area size of the necessary internal structure 305 (313-2), and calculates the calculated area size to the printer. It returns to the driver 307 (313-3).

プリンタドライバ307は、第2のプラグインモジュール312に必要な内部構造体のサイズを受けると(307−6)、第2のプラグインモジュール312に必要な内部構造体のサイズを取得する(307−7)。その後、プリンタドライバ307に必要な内部構造体のサイズに、ステップ(307−4)、(307−6)で取得した2つのプラグインモジュールのサイズの合計を加えたデータサイズをアプリケーション201に返す(ステップ307−8)。   Upon receiving the size of the internal structure required for the second plug-in module 312 (307-6), the printer driver 307 acquires the size of the internal structure required for the second plug-in module 312 (307- 7). After that, the data size obtained by adding the size of the internal structure necessary for the printer driver 307 to the sum of the sizes of the two plug-in modules acquired in steps (307-4) and (307-6) is returned to the application 201 ( Step 307-8).

アプリケーション201は、プリンタドライバ307から返された値を受け取り(201−2)、プリンタドライバ307から返された値を取得し(201−3)、該取得したサイズ分のメモリ領域を空きメモリ202上に確保する(201−4)。   The application 201 receives the value returned from the printer driver 307 (201-2), acquires the value returned from the printer driver 307 (201-3), and allocates a memory area for the acquired size in the free memory 202. (201-4).

次に、ステップ(201−4)で確保したメモリ領域をプリンタドライバ307に渡して、プリンタドライバ307のUIを開くようにプリンタドライバ307に指示を出し(201−5)、処理を終了する。   Next, the memory area secured in step (201-4) is transferred to the printer driver 307, an instruction is given to the printer driver 307 to open the UI of the printer driver 307 (201-5), and the process is terminated.

この時の内部構造体305は例えば、図9に示すようなメモリマップ構成になっている。   The internal structure 305 at this time has a memory map configuration as shown in FIG. 9, for example.

図9は、図4に示したプリンタドライバ307が必要とする内部構造体305のメモリマップ構成例を示す図である。   FIG. 9 is a diagram showing a memory map configuration example of the internal structure 305 required by the printer driver 307 shown in FIG.

図9に示すように、内部構造体305は、パブリック領域601を備える。また、プリンタドライバ307に必要なデータ領域サイズに応じたドライバプライベート領域602を備える。さらに、第1のプラグインモジュール309と第2のプラグインモジュール312の独自データ領域サイズに応じたプラグインプライベート領域603とから構成されている。   As shown in FIG. 9, the internal structure 305 includes a public area 601. In addition, a driver private area 602 corresponding to the data area size required for the printer driver 307 is provided. Further, the first plug-in module 309 and the plug-in private area 603 corresponding to the unique data area size of the second plug-in module 312 are configured.

次に、プリンタドライバ307のUIを開く指示を受けると(307−9)、受け取った指示に基づき、プリンタドライバ307のインタフェース(Documennt Property)が呼び出される(307−10)。   Next, when an instruction to open the UI of the printer driver 307 is received (307-9), an interface (Document Property) of the printer driver 307 is called based on the received instruction (307-10).

そして、プリンタドライバ307は、第1のプラグインモジュールセット310に対して第1のプラグインモジュール309に同梱されている第1のコンフリクト処理ルール308の格納場所の問い合わせを行う(307−11)。   Then, the printer driver 307 inquires of the first plug-in module set 310 about the storage location of the first conflict processing rule 308 included in the first plug-in module 309 (307-11). .

そして、第1のプラグインモジュール309が同梱されている第1のコンフリクト処理ルール308の格納場所の問い合わせを受ける(310−4)。そして、第1のプラグインモジュール309の設定値に関連する第1のコンフリクト処理ルール308が記述されているファイルの格納場所をプリンタドライバ307に返す(310−5)。   Then, an inquiry about the storage location of the first conflict processing rule 308 in which the first plug-in module 309 is bundled is received (310-4). Then, the storage location of the file in which the first conflict processing rule 308 related to the setting value of the first plug-in module 309 is described is returned to the printer driver 307 (310-5).

次に、該第1のプラグインモジュール309から格納場所を受ける(307−12)。次に、プリンタドライバ307は、第2のプラグインモジュール312に同梱されている第2のコンフリクト処理ルール311の格納場所の問い合わせを行う(307−13)。   Next, the storage location is received from the first plug-in module 309 (307-12). Next, the printer driver 307 inquires about the storage location of the second conflict processing rule 311 included in the second plug-in module 312 (307-13).

そして、第2のプラグインモジュール312が同梱されている第2のコンフリクト処理ルール311の格納場所の問い合わせを受ける(313−4)。そして、第2のプラグインモジュール312は、第2のプラグインモジュール312の設定値に関連する第2のコンフリクト処理ルール311が記述されているファイルの格納場所をプリンタドライバ307に返す(313−5)。   Then, an inquiry about the storage location of the second conflict processing rule 311 in which the second plug-in module 312 is bundled is received (313-4). Then, the second plug-in module 312 returns the storage location of the file in which the second conflict processing rule 311 related to the setting value of the second plug-in module 312 is described to the printer driver 307 (313-5). ).

そして、プリンタドライバ307が第2のコンフリクト処理ルール311が記述されているファイルの格納場所を受ける(307−14)。そして、推論エンジン302は、第1のPM309と同梱されているコンフリクト処理ルール308と、第2のPM312と同梱されているコンフリクト処理ルール311とを、コンフリクトマネージャ303を介して、RAM2中に読み込む。そして、その後、コンフリクト処理ルール301を読み込む(307−15)。   The printer driver 307 receives the storage location of the file in which the second conflict processing rule 311 is described (307-14). Then, the inference engine 302 stores the conflict processing rule 308 bundled with the first PM 309 and the conflict processing rule 311 bundled with the second PM 312 in the RAM 2 via the conflict manager 303. Read. Then, the conflict processing rule 301 is read (307-15).

なお、図4で説明したように、コンフリクト処理ルール301、308、311に定義されている全てのプリンタ機能名については、状態変数リスト304として、図5に示すように各プリンタ機能名に対応した状態変数とその値を持っている。   As described with reference to FIG. 4, all printer function names defined in the conflict processing rules 301, 308, and 311 correspond to the printer function names as shown in FIG. 5 as the state variable list 304. Has a state variable and its value.

図4でも示したように、状態変数リスト304の状態変数の値はプリンタドライバ307で使用される内部構造体305の対応するメンバの値と連動している。状態変数リスト304における全ての状態変数の初期値はその内部構造体305のメンバの値が初期値となる。   As shown in FIG. 4, the value of the state variable in the state variable list 304 is linked with the value of the corresponding member of the internal structure 305 used in the printer driver 307. The initial values of all the state variables in the state variable list 304 are the initial values of the members of the internal structure 305.

そして、プリンタドライバ307は、コンフリクトマネージャ303を介して第1のプラグインの状態変数の初期化処理を行う(307−16)。   Then, the printer driver 307 initializes the state variable of the first plug-in via the conflict manager 303 (307-16).

まず、プリンタドライバ307は、第1のプラグインモジュール309の状態変数の初期化を指示すると、該指示を受ける(310−6)。そして、第1のプラグインモジュール309は、第1のプラグインモジュール独自の状態変数を初期化する(310−7)。その後、第1のプラグインモジュール309が初期化された状態変数をプリンタドライバ307に返す。   First, when the printer driver 307 instructs initialization of the state variable of the first plug-in module 309, the printer driver 307 receives the instruction (310-6). Then, the first plug-in module 309 initializes a state variable unique to the first plug-in module (310-7). Thereafter, the state variable in which the first plug-in module 309 is initialized is returned to the printer driver 307.

そして、第1のプラグインモジュール309より初期化された状態変数を受け取ると(307−17)、プリンタドライバ307はコンフリクトマネージャ303を介して状態変数リスト304に追加する。   When the initialized state variable is received from the first plug-in module 309 (307-17), the printer driver 307 adds it to the state variable list 304 via the conflict manager 303.

同様に、プリンタドライバ307は、第2のプラグインモジュール312の状態変数の初期化を指示すると(307−18)、該指示を受ける(313−6)。その後、第2のプラグインモジュール312は、第2のプラグインモジュール独自の状態変数を初期化した後、初期化された状態変数をプリンタドライバ307に返す(313−7)。   Similarly, when the printer driver 307 instructs initialization of the state variable of the second plug-in module 312 (307-18), the printer driver 307 receives the instruction (313-6). Thereafter, the second plug-in module 312 initializes a state variable unique to the second plug-in module, and then returns the initialized state variable to the printer driver 307 (313-7).

そして、プリンタドライバ307が第2のプラグインモジュール312より初期化された状態変数を受け取ると(307−19)、プリンタドライバ307はコンフリクトマネージャ303を介して状態変数リスト304に追加する。   When the printer driver 307 receives the initialized state variable from the second plug-in module 312 (307-19), the printer driver 307 adds it to the state variable list 304 via the conflict manager 303.

その後、プリンタドライバ307は、自身の状態変数を初期化する(307−20)。次に、プリンタドライバ307は、図10の(a),(b)に示すような第1のプラグインモジュール309独自のUIである設定シートを表示するために、第1のプラグイン独自設定シートの情報を問い合わせる(307−21)。   Thereafter, the printer driver 307 initializes its own state variable (307-20). Next, the printer driver 307 displays the first plug-in unique setting sheet in order to display a setting sheet that is a unique UI of the first plug-in module 309 as shown in FIGS. (307-21).

第1のプラグインモジュール309が第1のプラグイン独自設定シートの情報を問い合わせを受ける(310−8)。その後、第1のプラグインモジュール309は、独自設定シートを生成して(310−9)、生成した独自設定シートの情報をプリンタドライバ307に返し(310−10)、処理を終了する。   The first plug-in module 309 receives an inquiry about information of the first plug-in unique setting sheet (310-8). Thereafter, the first plug-in module 309 generates a unique setting sheet (310-9), returns information of the generated unique setting sheet to the printer driver 307 (310-10), and ends the processing.

そして、第1のプラグインモジュール309より生成された独自設定シートの情報を受け取ると(307−22)、プリンタドライバ307は、第1のプラグインモジュール309独自の設定シート情報を取得する(307−23)。   When the information of the unique setting sheet generated from the first plug-in module 309 is received (307-22), the printer driver 307 acquires the setting sheet information unique to the first plug-in module 309 (307- 23).

同様に、図11の(a),(b)に示すような第2のプラグインモジュール312独自のUIである設定シートを表示するために、第2のプラグイン独自設定シートの情報を問い合わせる(307−24)。   Similarly, in order to display a setting sheet, which is a UI unique to the second plug-in module 312 as shown in FIGS. 11A and 11B, information on the second plug-in unique setting sheet is inquired ( 307-24).

第2のプラグインモジュール312が第2のプラグイン独自設定シートの情報を問い合わせを受ける(313−8)。その後、第2のプラグインモジュール312は、独自設定シートを生成して(313−9)、生成した独自設定シートの情報をプリンタドライバ307に返し(313−10)、処理を終了する。   The second plug-in module 312 receives an inquiry for information on the second plug-in unique setting sheet (313-8). Thereafter, the second plug-in module 312 generates a unique setting sheet (313-9), returns information of the generated unique setting sheet to the printer driver 307 (313-10), and ends the processing.

そして、第2のプラグインモジュール312より生成された独自設定シートの情報を受け取ると(307−25)、プリンタドライバ307は、第2のプラグインモジュール312独自の設定シート情報を取得する(307−26)。   When the information on the unique setting sheet generated from the second plug-in module 312 is received (307-25), the printer driver 307 acquires the setting sheet information unique to the second plug-in module 312 (307-). 26).

次に、プリンタドライバ307において、推論エンジン302によるコンフリクトチェック及び状態変数リスト304の更新を行う。また、コンフリクトマネージャ303による内部構造体305の更新などのコンフリクト処理が行われ、設定間に不整合があれば訂正される(307−27)。   Next, in the printer driver 307, the inference engine 302 performs a conflict check and updates the state variable list 304. Also, conflict processing such as updating of the internal structure 305 by the conflict manager 303 is performed, and if there is a mismatch between settings, it is corrected (307-27).

次に、図10の(a)に示すような印刷設定UIを表示して(307−28)、処理を終了する。具体的には、プリンタドライバ307の設定シートとともに、ステップ(307−23),(307−26)で取得した第1のプラグインモジュール309と第2のプラグインモジュール312の設定シートを加えて印刷設定UIを表示する。   Next, a print setting UI as shown in FIG. 10A is displayed (307-28), and the process is terminated. Specifically, the setting sheet of the first plug-in module 309 and the second plug-in module 312 acquired in steps (307-23) and (307-26) is added together with the setting sheet of the printer driver 307 for printing. Display the settings UI.

これにより、プリンタドライバ307に複数のプラグインモジュールを追加してシステム状態を変更した場合、プラグイン独自の印刷設定をプリンタドライバ本体の設定との間で不整合が起こることなく自動的に設定する。したがって、プラグインとして追加機能を付加するシステムを構築する場合に、システム変更前とシステム変更後による設定値の調整負担が大幅に軽減され、ユーザの利便性が向上する。   As a result, when a plurality of plug-in modules are added to the printer driver 307 and the system state is changed, the print settings unique to the plug-in are automatically set without any inconsistency with the printer driver settings. . Therefore, when a system that adds an additional function as a plug-in is constructed, the burden of adjusting the setting values before and after the system change is greatly reduced, and the convenience for the user is improved.

なお、本実施形態では、OS205が、例えばWINDOWS(登録商標)の場合には、後述する内部構造体として、DEVMODE構造体が生成されるものとする。そして、上記図6〜図8または後述する図12,図13に示すフローチャートは、アプリケーション201がDEVMODE構造体を生成するタイミングで実行されるものとする。   In the present embodiment, when the OS 205 is, for example, WINDOWS (registered trademark), a DEVMODE structure is assumed to be generated as an internal structure described later. The flowcharts shown in FIGS. 6 to 8 or FIGS. 12 and 13 to be described later are executed at the timing when the application 201 generates the DEVMODE structure.

さらに、UI画面に対する設定変更の履歴をNVRAM等に記憶しておくことにより、プラグインのインストール等でUI制御が変更された旨を、オペレータやサービスマンが確認できるように構成してもよい。   Furthermore, by storing a history of setting changes for the UI screen in NVRAM or the like, it may be configured so that an operator or a service person can confirm that the UI control has been changed by installing a plug-in or the like.

図10,図11は、本発明に係るデータ処理装置における印刷設定シート例を示す図であり、図6等の処理によりプラグイン後のプリンタドライバ307が利用者に提供するUIである印刷設定シート例を示す。   10 and 11 are diagrams showing examples of print setting sheets in the data processing apparatus according to the present invention. The print setting sheet which is a UI provided to the user by the printer driver 307 after plug-in by the processing of FIG. An example is shown.

図10の(a)に示すように、本来のプリンタドライバ307の設定シート(ページ設定、仕上げ)に「プラグイン1の設定」という第1のプラグインモジュール309の設定シート80が加わっている。また、図11の(B)に示すように「プラグイン2の設定」という第2のプラグインモジュール312の設定シート90が加わっている。   As shown in FIG. 10A, the setting sheet 80 of the first plug-in module 309 called “setting of plug-in 1” is added to the original setting sheet (page setting and finishing) of the printer driver 307. Further, as shown in FIG. 11B, a setting sheet 90 of the second plug-in module 312 called “setting of plug-in 2” is added.

また、設定シート80,90は、利用者がスタンプ機能のオン/オフ、オン製本印刷機能のオン/オフを設定するためのチェックボックス(CB)81,91を有する。   The setting sheets 80 and 90 include check boxes (CB) 81 and 91 for the user to set the stamp function on / off and the on-bookbinding printing function on / off.

なお、図10の(a)の設定シート80においては、チェックボックス81がチェックされていないので、スタンプ印刷機能はオフされている状態(状態変数が初期値の状態)である。また、図11の(a)の設定シート90においては、チェックボックス91がチェックされていないので、製本印刷機能はオフされている状態(状態変数が初期値の状態)である。   In the setting sheet 80 shown in FIG. 10A, the check box 81 is not checked, so that the stamp printing function is off (the state variable is in the initial value state). Further, in the setting sheet 90 of FIG. 11A, the check box 91 is not checked, so that the bookbinding printing function is turned off (the state variable is in an initial value state).

ここで、図10の(a)の設定シート80において、利用者がチェックボックス81を図10の(b)に示すようにチェックすることで、スタンプ印刷機能をオンしたこととなる。また、図11の(a)の設定シート90において、利用者がチェックボックス91を図11の(b)に示すようにチェックすることで、製本印刷機能をオンしたこととなる。   Here, in the setting sheet 80 in FIG. 10A, the user checks the check box 81 as shown in FIG. 10B, thereby turning on the stamp printing function. In addition, in the setting sheet 90 in FIG. 11A, the user checks the check box 91 as shown in FIG. 11B, thereby turning on the bookbinding printing function.

次に、図10の(b)に示すように、第1のプラグインの機能であるスタンプ印刷機能をオンした後、図11の(b)に示すように、第2のプラグインの機能である製本印刷機能をオンした場合のコンフリクト処理について説明する。   Next, as shown in FIG. 10B, after the stamp printing function which is the function of the first plug-in is turned on, the function of the second plug-in is used as shown in FIG. A conflict process when a bookbinding printing function is turned on will be described.

図12は、本発明に係るデータ処理装置における第2のデータ処理手順の一例を示すフローチャートである。本例は、図10(b),図11(b)に示すような第1、2のプラグインの機能であるスタンプ印刷機能、製本印刷機能をオンに変更した場合のコンフリクト処理手順に対応する。   FIG. 12 is a flowchart showing an example of a second data processing procedure in the data processing apparatus according to the present invention. This example corresponds to the conflict processing procedure when the stamp printing function and the bookbinding printing function which are the functions of the first and second plug-ins as shown in FIGS. 10B and 11B are turned on. .

なお、(3070−1)〜(3070−12)は図4に示すドライバ管理部306が実行するステップに対応する。   Note that (3070-1) to (3070-12) correspond to the steps executed by the driver management unit 306 shown in FIG.

また、(3100−1)〜(3100−3)は第1プラグインモジュール(PM)310が実行するステップに対応する。   Also, (3100-1) to (3100-3) correspond to the steps executed by the first plug-in module (PM) 310.

さらに、(3130−1)〜(3130−3)は第2のプラグインモジュール(PM)313が実行するステップに対応する。   Further, (3130-1) to (3130-3) correspond to the steps executed by the second plug-in module (PM) 313.

まず、ユーザが、図1に示したCRT10上に表示される、例えば図10の(a)から図10の(b)のUI画面状態に示すように、CB81をチェックする操作に応じた、内部構造体305や状態変数リスト304の更新を行う(3070−1)。   First, as shown in the UI screen state of FIG. 10 (a) to FIG. 10 (b) displayed on the CRT 10 shown in FIG. The structure 305 and the state variable list 304 are updated (3070-1).

次に、当該UI操作を受けて、図7に示したステップ(307−15)で読み込んだ第1のPM309のコンフリクト処理ルール308を適用する。また、図7に示したステップ(307−15)で読み込んだ第2のPM312のコンフリクト処理ルール311を適用する(3070−2)。   Next, in response to the UI operation, the conflict processing rule 308 of the first PM 309 read in step (307-15) shown in FIG. 7 is applied. Further, the conflict processing rule 311 of the second PM 312 read in step (307-15) shown in FIG. 7 is applied (3070-2).

続いて、プリンタドライバ307本体が保持するコンフリクト処理ルール301を適用する処理を行う(3070−3)。これらのコンフリクト処理に応じて、状態変数リスト304の状態変数が更新される(3070−4)。ここで、ユーザが、図11の(a)に示すUI画面状態から図11の(b)に示すように、UI画面のチェックボックス91をチェックする操作に応じた処理についても同様に処理される。   Subsequently, processing for applying the conflict processing rule 301 held by the printer driver 307 main body is performed (3070-3). In response to these conflict processes, the state variables in the state variable list 304 are updated (3070-4). Here, the process corresponding to the operation in which the user checks the check box 91 on the UI screen as shown in FIG. 11B from the UI screen state shown in FIG. 11A is similarly processed. .

尚、本実施形態においては、ステップ(3070−2),(3070−3)の処理ルールの適用は、図7に示したステップ(307−15)において読み込まれた順番に応じて適用している。   In this embodiment, the processing rules in steps (3070-2) and (3070-3) are applied according to the order read in step (307-15) shown in FIG. .

また、複数の処理ルールの適用順番に応じて、処理ルールの優先順位も定まり、本実施形態では、コンフリクト処理ルール308の方がコンフリクト処理ルール301よりも優先されている。また、コンフリクト処理ルール311の方がコンフリクト処理ルール308よりも優先されている。   In addition, the priority order of the processing rules is determined according to the application order of the plurality of processing rules, and in this embodiment, the conflict processing rule 308 has priority over the conflict processing rule 301. In addition, the conflict processing rule 311 has priority over the conflict processing rule 308.

コンフリクト処理ルール301を優先したい場合には、コンフリクト処理ルール308または、コンフリクト処理ルール311を先に適用する処理を行う。   If the conflict processing rule 301 is to be prioritized, the conflict processing rule 308 or the conflict processing rule 311 is applied first.

この読み込み順序については、ここでは特に説明していないが、情報ファイル等にコンフリクト処理ルールの優先順位を記述しておいて、その情報に従ってコンフリクト処理ルールを読み込んでも良い。   Although this reading order is not particularly described here, the priority order of the conflict processing rules may be described in an information file or the like, and the conflict processing rules may be read according to the information.

ここで、具体例を示しながらコンフリクト処理について説明する。   Here, the conflict processing will be described with a specific example.

例えば、図4に示す内部構造体305において、プリンタ機能に対応するメンバとしてcCollate、cGroup、cPoster、cStaple、cStamp、cBookletが有るとする。   For example, in the internal structure 305 shown in FIG. 4, it is assumed that cCollate, cGroup, cPoster, cStaple, cStamp, cBooklet are members corresponding to the printer function.

そして、この各メンバのコンフリクト処理ルール適用前の値は、ステップ(3070−1)の直前において以下の通りとする。   The values before applying the conflict processing rule for each member are as follows immediately before step (3070-1).

cCollate=0
cGroup =1
cPoster =1
cStaple =0
cStamp =0
cBooklet=0
これにより、状態変数リスト304においては、上記各メンバに対応する状態変数Collate、Group、Poster Staple、Bookletと状態値は以下のとおりとなる。
cCollate = 0
cGroup = 1
cPoster = 1
cStaple = 0
cStamp = 0
cBooklet = 0
As a result, in the state variable list 304, the state variables Collate, Group, Poster Staple, Booklet and state values corresponding to the above members are as follows.

Collate=OFF
Group =ON
Poster =ON
Staple =OFF
Stamp =OFF
Booklet=OFF
この時、プリンタドライバ307が提供するUIである仕上げの設定シート100の状態は、図14の(a)に示すように、ポスタ機能のチェックボタン104は選択されている。また、ソート機能のラジオボタン101は非選択、グループ機能のラジオボタン102は選択されている状態である。
Collate = OFF
Group = ON
Poster = ON
Staple = OFF
Stamp = OFF
Booklet = OFF
At this time, as for the state of the finishing setting sheet 100 which is a UI provided by the printer driver 307, the check button 104 of the poster function is selected as shown in FIG. The sort function radio button 101 is not selected, and the group function radio button 102 is selected.

尚、Stampは、図10の(b)となるような利用者の操作がまだ行われていない(ステップ(3070−1)の前である)ので、OFFのままである。   Note that the Stamp remains OFF because the user's operation as shown in FIG. 10B has not yet been performed (before step (3070-1)).

このような状態の時に、ステップ(3070−1)に応じて、プリンタドライバ307は、アプリケーション201からのスタンプ印刷機能の設定をオンへ変更する変更要求を受信する。   In such a state, the printer driver 307 receives a change request for changing the setting of the stamp printing function from the application 201 to ON in accordance with step (3070-1).

これにより、内部構造体305のメンバcStampは下記に示すように、「0」から「1」に更新される。   As a result, the member cStamp of the internal structure 305 is updated from “0” to “1” as shown below.

cCollate=0
cGroup =1
cPoster =1
cStaple =0
cStamp =0
cBooklet=0
次に、ドライバ管理部306はコンフリクトマネージャ303を呼び出し、状態変数リストにあるStampの状態変数をオフからオンに更新する。これにより、状態変数リスト304は、以下の通りとなる。
cCollate = 0
cGroup = 1
cPoster = 1
cStaple = 0
cStamp = 0
cBooklet = 0
Next, the driver management unit 306 calls the conflict manager 303 and updates the status variable of Stamp in the status variable list from off to on. As a result, the state variable list 304 is as follows.

Collate=OFF
Group =ON
Poster =ON
Staple =OFF
Stamp =ON
Booklet=OFF
続いて、ステップ(3070−2)において、推論エンジン302がコールされて、コンフリクト処理ルールの適用が始まる。
Collate = OFF
Group = ON
Poster = ON
Staple = OFF
Stamp = ON
Booklet = OFF
Subsequently, in step (3070-2), the inference engine 302 is called to start application of the conflict processing rule.

まず、推論エンジン302内の各プリンタ機能名が状態変数リスト304の各状態変数の持つ値で初期化される。   First, each printer function name in the inference engine 302 is initialized with the value of each state variable in the state variable list 304.

続いて、ステップ(307−15)先に読み込まれたコンフリクト処理ルール308のルール例(1)が適用されて、状態変数Posterの状態値がONからOFFへと変化する。   Subsequently, the rule example (1) of the conflict processing rule 308 read in step (307-15) is applied, and the state value of the state variable Poster changes from ON to OFF.

尚、ルール例(1)とは、上述したとおり、Poster(OFF)<−Stamp(ON)で定義されるルールである。   The rule example (1) is a rule defined by Poster (OFF) <-Stamp (ON) as described above.

これにより、状態変数リスト304の状態値も、
Collate=OFF
Group =ON
Poster =OFF
Staple =OFF
Stamp =ON
Booklet=OFF
に更新される。
As a result, the state value of the state variable list 304 is also
Collate = OFF
Group = ON
Poster = OFF
Staple = OFF
Stamp = ON
Booklet = OFF
Updated to

コンフリクト処理ルール301,308,311内において、他に、適用されるルールが存在しないので、以上で推論エンジン302でのコンフリクト処理ルールの適用が終了する。   Since there are no other rules to be applied in the conflict processing rules 301 308 311, the application of the conflict processing rules in the inference engine 302 is completed.

以上に示すように、ステップ(3070−1)〜(3070−3)の処理により、UI上で行われた設定の変更に応じて、コンフリクト処理が行われる。   As described above, the conflict processing is performed according to the setting change performed on the UI by the processing of steps (3070-1) to (3070-3).

ここで、図12のフローチャートに戻ると、ステップ(3070−4)でコンフリクト処理ルール301,308,311に応じて状態変数リスト304を更新する。その後に、コンフリクトマネージャ303は、更新した状態変数リスト304に応じて内部構造体305を更新する(3070−5)。   Returning to the flowchart of FIG. 12, the state variable list 304 is updated according to the conflict processing rules 301, 308, and 311 in step (3070-4). After that, the conflict manager 303 updates the internal structure 305 according to the updated state variable list 304 (3070-5).

具体的には、メンバの値が以下のようになる。   Specifically, the member values are as follows.

cCollate=0
cGroup =1
cPoster =0
cStaple =0
cStamp =1
cBooklet=0
次に、プリンタドライバ307は、ステップ(3070−4)の処理において第1のプラグインモジュール309の状態変数が更新されているかどうかを判定する(3070−6)。
cCollate = 0
cGroup = 1
cPoster = 0
cStaple = 0
cStamp = 1
cBooklet = 0
Next, the printer driver 307 determines whether or not the state variable of the first plug-in module 309 has been updated in the process of step (3070-4) (3070-6).

ここで、状態変数が更新されているとプリンタドライバ307が判定した場合(ステップ3070−6のYES)には、プリンタドライバ307は、第1のプラグインモジュール309を呼び出す(ステップ3070−7)。   If the printer driver 307 determines that the state variable has been updated (YES in step 3070-6), the printer driver 307 calls the first plug-in module 309 (step 3070-7).

一方、第1のプラグインモジュール309がプリンタドライバ307よりコールされると(3130−1)、プラグインモジュール309の独自設定シート内のコントロールを制御する(3130−2)。そして、プラグインモジュール309の独自設定シート内のコントロールを更新して(3130−3)、処理をプリンタドライバ307に戻す。   On the other hand, when the first plug-in module 309 is called from the printer driver 307 (3130-1), the control in the original setting sheet of the plug-in module 309 is controlled (3130-2). Then, the control in the original setting sheet of the plug-in module 309 is updated (3130-3), and the processing is returned to the printer driver 307.

一方、ステップ(3070−6)で第1のプラグインモジュール309の状態変数が更新されていないと判断した場合(ステップ3070−6のNO)、プリンタドライバ307は、第2のプラグインの状態変数が更新されたかを判定する(3070−9)。   On the other hand, if it is determined in step (3070-6) that the state variable of the first plug-in module 309 has not been updated (NO in step 3070-6), the printer driver 307 determines the state variable of the second plug-in. Is updated (3070-9).

同様に、プリンタドライバ307は、第1のプラグインモジュール309より返信される更新終了を確認したら(ステップ3070−8)、プリンタドライバ307は、第2のプラグインの状態変数が更新されたかを判定する(3070−9)。   Similarly, when the printer driver 307 confirms the end of the update returned from the first plug-in module 309 (step 3070-8), the printer driver 307 determines whether the state variable of the second plug-in has been updated. (3070-9).

しかし、この場合、第2のプラグインの状態変数は更新されていないので、次のステップ(3070−11)に進む。そして、ステップ(3070−4)で更新された状態変数に応じてプリンタドライバ307本体の設定シート内のコントロールを制御して(3070−12)、本処理を終了する。   However, in this case, since the state variable of the second plug-in has not been updated, the process proceeds to the next step (3070-11). Then, the control in the setting sheet of the printer driver 307 main body is controlled according to the state variable updated in the step (3070-4) (3070-12), and this process is terminated.

一方、ステップ(3070−9)で、第2のプラグインの状態変数が更新されていると判定した場合については、第2のプラグインモジュール312を呼び出す(3070−10)。なお、第2のプラグインモジュール312を呼び出された後のステップについては、後述する。   On the other hand, if it is determined in step (3070-9) that the state variable of the second plug-in has been updated, the second plug-in module 312 is called (3070-10). The steps after the second plug-in module 312 is called will be described later.

このようにステップ(3070−1)〜(3070−11),(3130−1)〜(3130−3)に示した設定変更に応じたコンフリクト処理を行う。これにより、コンフリクト処理ルールの適用前の仕上げ設定シート100は、図14の(a)に示すUI画面状態であったが、コンフリクト処理ルールの適用後、図14の(b)に示すUI画面状態に変化する。   In this way, the conflict process corresponding to the setting change shown in steps (3070-1) to (3070-11) and (3130-1) to (3130-3) is performed. Thereby, the finishing setting sheet 100 before the application of the conflict processing rule is in the UI screen state shown in FIG. 14A, but after the application of the conflict processing rule, the UI screen state shown in FIG. To change.

すなわち、もともと"仕上げ"設定シート100でポスタ(内部構造体のメンバ名は"Poster")機能のチェックボタン104が選択されていたのが、コンフリクト処理ルールの適用により、チェックボタン104が選択されていない状態に変化している。   That is, the check button 104 of the poster function (the member name of the internal structure is “Poster”) was originally selected in the “finishing” setting sheet 100, but the check button 104 was selected by the application of the conflict processing rule. Has changed to no state.

次に、第2のプラグイン機能である製本機能のシートをUI画面上でONにした際の処理を説明する。   Next, a process when the bookbinding function sheet which is the second plug-in function is turned on on the UI screen will be described.

この時点でプリンタドライバ307が提供するUIである仕上げの設定シート100の状態は、図11の(b)に示すように、ソート機能のラジオボタン101は非選択であり、グループ機能のラジオボタン102は選択されている状態である。   At this time, as shown in FIG. 11B, the state of the finishing setting sheet 100 that is a UI provided by the printer driver 307 is that the sort function radio button 101 is not selected and the group function radio button 102 is selected. Is the selected state.

尚、Bookletは、図8の(b)となるような利用者の操作がまだ行われていない(ステップ3070−1の前である)ので、OFFのままである。   Note that the booklet remains OFF because the user's operation as shown in FIG. 8B has not yet been performed (before step 3070-1).

このような状態の時に、ステップ(3070−1)に応じて、プリンタドライバ307は、アプリケーション201からの製本印刷機能の設定をオンへ変更する変更要求を受信する。これにより、内部構造体305のメンバcBookletは下記に示すように、「0」から「1」に更新される。   In such a state, the printer driver 307 receives a change request for changing the setting of the bookbinding printing function from the application 201 to ON in accordance with step (3070-1). As a result, the member cBooklet of the internal structure 305 is updated from “0” to “1” as shown below.

cCollate=0
cGroup =1
cPoster =0
cStaple =0
cStamp =1
cBooklet=1
次に、ドライバ管理部306はコンフリクトマネージャ303を呼び出し、状態変数リストにあるBookletの状態変数をオフからオンに更新する。これにより、状態変数リスト304は、以下のとおりとなる。
cCollate = 0
cGroup = 1
cPoster = 0
cStaple = 0
cStamp = 1
cBooklet = 1
Next, the driver management unit 306 calls the conflict manager 303 and updates the state variable of the Booklet in the state variable list from off to on. As a result, the state variable list 304 becomes as follows.

Collate=OFF
Group =ON
Poster =OFF
Staple =OFF
Stamp =ON
Booklet=ON
続いて、ステップ(3070−2)において、推論エンジン302がコールされて、コンフリクト処理ルールの適用が始まる。
Collate = OFF
Group = ON
Poster = OFF
Staple = OFF
Stamp = ON
Booklet = ON
Subsequently, in step (3070-2), the inference engine 302 is called to start application of the conflict processing rule.

図7に示したステップ(307−15)で先に読み込まれたコンフリクト処理ルール311のルール例(2)が適用されて、状態変数Groupの状態値がONからOFFへと変化する。   The rule example (2) of the conflict processing rule 311 previously read in step (307-15) shown in FIG. 7 is applied, and the state value of the state variable Group changes from ON to OFF.

尚、ルール例(2)とは、上述したとおり、Group(OFF)<−Booklet(ON)で定義されるルールである。   The rule example (2) is a rule defined by Group (OFF) <-Booklet (ON) as described above.

これにより、状態変数リスト304の状態値も、
Collate=OFF
Group =OFF
Poster =OFF
Staple =OFF
Stamp =ON
Booklet=ON
に更新される。
As a result, the state value of the state variable list 304 is also
Collate = OFF
Group = OFF
Poster = OFF
Staple = OFF
Stamp = ON
Booklet = ON
Updated to

次に、ステップ(3070−1)において、コンフリクト処理ルール301のルール例(5)が適用され、状態変数Collateの状態値がOFFからONへと変化する。   Next, in step (3070-1), rule example (5) of conflict processing rule 301 is applied, and the state value of state variable Collate changes from OFF to ON.

尚、ルール例(5)とは、上述したとおり、Collate(ON)<−Group(OFF)で定義されるルールである。コンフリクト処理ルール301、308、311内において、他に、適用されるルールが存在しないので、以上で推論エンジン302でのコンフリクト処理ルールの適用が終了する。   The rule example (5) is a rule defined by Collate (ON) <-Group (OFF) as described above. Since there is no other rule to be applied in the conflict processing rules 301, 308, and 311, the application of the conflict processing rule in the inference engine 302 is thus completed.

これにより、状態変数リスト304の状態値も、
Collate=ON
Group =OFF
Poster =OFF
Staple =OFF
Stamp =ON
Booklet=ON
に更新される(3070−4)。
As a result, the state value of the state variable list 304 is also
Collate = ON
Group = OFF
Poster = OFF
Staple = OFF
Stamp = ON
Booklet = ON
(3070-4).

以上に示すように、ステップ(3070−1)〜(3070−4)の処理により、UI画面上で行われた設定の変更に応じて、コンフリクト処理が行われる。   As described above, the conflict processing is performed according to the setting change performed on the UI screen by the processing of steps (3070-1) to (3070-4).

図12に示すフローチャートに戻ると、ステップ(3070−4)でコンフリクト処理ルール301,308,311に応じて状態変数リスト304を更新する。その後に、コンフリクトマネージャ303は、更新した状態変数リスト304に応じて内部構造体305を更新する(3070−5)。具体的には、メンバの値が以下のようになる。   Returning to the flowchart shown in FIG. 12, in step (3070-4), the state variable list 304 is updated according to the conflict processing rules 301, 308, and 311. After that, the conflict manager 303 updates the internal structure 305 according to the updated state variable list 304 (3070-5). Specifically, the member values are as follows.

cCollate=1
cGroup =0
cPoster =0
cStaple =0
cStamp =1
cBooklet=1
次に、プリンタドライバ307は、第1のプラグインモジュール309の状態変数が更新されているかどうかを判定する(3070−6)。この場合、第1のプラグインモジュール309の状態変数は更新されていないので、次のステップ(3070−9)に進む。
cCollate = 1
cGroup = 0
cPoster = 0
cStaple = 0
cStamp = 1
cBooklet = 1
Next, the printer driver 307 determines whether the state variable of the first plug-in module 309 has been updated (3070-6). In this case, since the state variable of the first plug-in module 309 is not updated, the process proceeds to the next step (3070-9).

プリンタドライバ307は、ステップ(3070−9)において第2のプラグインモジュール312の状態変数が更新されているかどうかを判定する。   In step (3070-9), the printer driver 307 determines whether the state variable of the second plug-in module 312 has been updated.

ここで、状態変数が更新されているとプリンタドライバ307が判定した場合((3070−9)でYES)には、プリンタドライバ307は、第2のプラグインモジュール312を呼び出す(3070−10)。   If the printer driver 307 determines that the state variable has been updated (YES in (3070-9)), the printer driver 307 calls the second plug-in module 312 (3070-10).

一方、第2のプラグインモジュール312は、プリンタドライバ307によりコールする(3130−)。そして、状態変数の変化に応じて第2のプラグインモジュール312の独自設定シート内のコントロールを制御する(3130−2)。そして、第2のプラグインモジュール312の独自設定シート内のコントロールを更新して(3130−)、処理をプリンタドライバ307に戻して、処理を終了する。 On the other hand, a second plug-in module 312 calls the printer driver 307 (3130- 1). Then, the control in the unique setting sheet of the second plug-in module 312 is controlled according to the change of the state variable (3130-2). Then, to update the control of its own configuration sheet of the second plug-in module 312 (3130- 3), returns the process to the printer driver 307, the process ends.

これにより、プリンタドライバ307は、以下ステップ(3070−11)に示す処理を行う。   As a result, the printer driver 307 performs processing shown in the following step (3070-11).

なお、ステップ(3070−9)で第2のプラグインモジュール312の状態変数が更新されていない場合(ステップ3070−9)のNOの場合)の処理は前の第1のプラグインモジュール309の説明と同様である。   Note that the processing in the case where the state variable of the second plug-in module 312 has not been updated in step (3070-9) (in the case of NO in step 3070-9) is the description of the previous first plug-in module 309. It is the same.

プリンタドライバ307は、ステップ(3070−11)にて、ステップ(3130−3)で更新された第2のプラグインに対応する状態変数を受け取る。そして、該受け取った第2のプラグインに対応する状態変数に応じてプリンタドライバ307本体の設定シート内のコントロールを制御して(3070−12)、本処理を終了する。 The printer driver 307, in step (3070-11), receiving a state variable corresponding to the second plug updated in step (3 130 -3). Then, the control in the setting sheet of the printer driver 307 main body is controlled according to the state variable corresponding to the received second plug-in (3070-12), and this processing is terminated.

なお、プリンタドライバ307は、ステップ(3070−12)において、リンタドライバ307本体の設定シート内で制御しているコントロールを更新して、コンフリクト処理及びUIの処理を終了する。 The printer driver 307, in step (3070-12), updates the controls that are controlled by the printer driver 307 main unit in the configuration sheet, and ends the process of the conflict processing and UI.

以上、ステップ(3070−1)〜(3070−12)に示した設定変更に応じたコンフリクト処理を行う。これにより、コンフリクト処理ルールの適用前の仕上げ設定シート100は、図14の(b)に示すUI画面状態であったが、コンフリクト処理ルールの適用後、図14の(c)に示すUI画面状態に変化する。   As described above, the conflict processing corresponding to the setting change shown in steps (3070-1) to (3070-12) is performed. As a result, the finishing setting sheet 100 before the application of the conflict processing rule is in the UI screen state shown in FIG. 14B, but after the conflict processing rule is applied, the UI screen state shown in FIG. 14C. To change.

すなわち、もともと"仕上げ"設定シート100でグループ(内部構造体のメンバ名は"Group")機能のラジオボタン102が選択されていた。しかし、コンフリクト処理ルールの適用により、ソート(内部構造体305のメンバ名は"Collate")機能のラジオボタン101が選択されてオンの状態に変化している。   That is, the radio button 102 of the group function (the internal structure member name is “Group”) is originally selected on the “finishing” setting sheet 100. However, due to the application of the conflict processing rule, the radio button 101 for the sort function (the member name of the internal structure 305 is “Collate”) is selected and changed to the on state.

以上のような処理は、アプリケーション201によってドライバ管理部306に備えられた終了処理が呼び出されるまで、繰り返し実行される。   The processing as described above is repeatedly executed until the end processing provided in the driver management unit 306 is called by the application 201.

アプリケーション201よりプリンタドライバ307の終了処理が呼び出されると、空きメモリ202に生成したコンフリクト処理ルール301,308,311の情報等を消去すると共に、その他の終了処理を行う。   When the termination process of the printer driver 307 is called from the application 201, the information of the conflict processing rules 301, 308, and 311 generated in the free memory 202 is deleted and other termination processes are performed.

これにより処理は全て終了し、本実施形態におけるプリンタドライバ307の処理も終了し、RAM2からはOS205の機能により消去される。   As a result, the processing is completed, the processing of the printer driver 307 in this embodiment is also completed, and the processing is deleted from the RAM 2 by the function of the OS 205.

以上に説明したように、本実施形態におけるホストコンピュータ3000は、プリンタドライバ307に複数のPM309,312が組み込まれていても、プラグイン後のプリンタドライバ307における設定間の不整合が生じることを防ぐことができる。つまり、第1のPM309のコンフリクト処理ルール308と、第2のPMのコンフリクト処理ルール311を参照することで、プラグイン後のプリンタドライバ307における設定間の不整合が生じることを防ぐことができる。   As described above, the host computer 3000 according to the present embodiment prevents inconsistencies between settings in the printer driver 307 after plug-in even if the printer driver 307 includes a plurality of PMs 309 and 312. be able to. That is, by referring to the conflict processing rule 308 of the first PM 309 and the conflict processing rule 311 of the second PM, it is possible to prevent inconsistency between settings in the printer driver 307 after plug-in.

すなわち、本実施形態におけるホストコンピュータ3000は、プリンタドライバにプラグイン形式で新たな機能を複数追加した環境下においても的確なコンフリクト処理を行うことが可能である。   In other words, the host computer 3000 in the present embodiment can perform accurate conflict processing even in an environment in which a plurality of new functions are added to the printer driver in a plug-in format.

また、このプラグインモジュールをアンインストールする際においては、プラグインモジュールとともに、該プラグインモジュールに対応したコンフリクト処理ルールファイルも削除される。   When the plug-in module is uninstalled, the conflict processing rule file corresponding to the plug-in module is deleted together with the plug-in module.

また、プラグインモジュールをインストールする際に、ホストコンピュータ3000で動作するOS上のレジストリ等に登録された該プラグインモジュールに関連した情報はすべて削除される。   Further, when installing the plug-in module, all information related to the plug-in module registered in the registry or the like on the OS running on the host computer 3000 is deleted.

また、本実施形態においては、2つのプラグインモジュールをインストールしたケースを説明したが、2つ以上のプラグインモジュールをインストールした場合においても適用されることは、言うまでもない。   In the present embodiment, the case where two plug-in modules are installed has been described. Needless to say, the present invention can be applied to the case where two or more plug-in modules are installed.

尚、本実施形態においては、プリンタドライバ307を記録する媒体を外部メモリ11としているが、外部メモリ11としては、FD(フレキシブルディスク)、HDドライブ、CD−ROMやICメモリカード等を利用可能である。   In this embodiment, the medium for recording the printer driver 307 is the external memory 11. As the external memory 11, an FD (flexible disk), HD drive, CD-ROM, IC memory card, or the like can be used. is there.

更に、本プリンタドライバ307単独、もしくはOS205その他のホストコンピュータ3000上で動作するプログラムと共にROM3に記録しておき、これをメモリマップの一部となすように構成し、直接CPU1で実行することも可能である。   Further, the printer driver 307 alone or the OS 205 and other programs running on the host computer 3000 can be recorded in the ROM 3 so as to be part of the memory map and directly executed by the CPU 1. It is.

さらに、上述した実施形態では、ホストコンピュータ3000における種々の機能を実現する為のプログラムをメモリ(RAM)に読み込んでCPUが実行することによりその機能を実現させるものであった。   Furthermore, in the above-described embodiment, the function is realized by reading a program for realizing various functions in the host computer 3000 into a memory (RAM) and executing it by the CPU.

しかし、この限りではなく、各処理の全部または一部の機能を専用のハードウェアにより実現してもよい。   However, the present invention is not limited to this, and all or some of the functions of each process may be realized by dedicated hardware.

また、上述したメモリは、光磁気ディスク装置、フラッシュメモリ等の不揮発性のメモリや、CD−ROM等の読み出しのみが可能な記録媒体より構成されてもよい。また、RAM以外の揮発性のメモリ、あるいはこれらの組み合わせによるコンピュータ読み取り、書き込み可能な記録媒体より構成されてもよい。   The above-described memory may be constituted by a non-volatile memory such as a magneto-optical disk device or a flash memory, or a recording medium such as a CD-ROM that can only be read. Further, the recording medium may be a computer-readable / writable recording medium using a volatile memory other than the RAM or a combination thereof.

以下、図15に示すメモリマップを参照して本発明に係るデータ処理装置で読み取り可能なデータ処理プログラムの構成について説明する。   The configuration of the data processing program that can be read by the data processing apparatus according to the present invention will be described below with reference to the memory map shown in FIG.

図15は、本発明に係るデータ処理装置で読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。   FIG. 15 is a diagram for explaining a memory map of a storage medium storing various data processing programs readable by the data processing apparatus according to the present invention.

なお、特に図示しないが、記憶媒体に記憶されるプログラム群を管理する情報、例えばバージョン情報,作成者等も記憶され、かつ、プログラム読み出し側のOS等に依存する情報、例えばプログラムを識別表示するアイコン等も記憶される場合もある。   Although not specifically shown, information for managing a program group stored in the storage medium, for example, version information, creator, etc. is also stored, and information depending on the OS on the program reading side, for example, a program is identified and displayed. Icons may also be stored.

さらに、各種プログラムに従属するデータも上記ディレクトリに管理されている。また、各種プログラムをコンピュータにインストールするためのプログラムや、インストールするプログラムが圧縮されている場合に、解凍するプログラム等も記憶される場合もある。   Further, data depending on various programs is also managed in the directory. In addition, a program for installing various programs in the computer, and a program for decompressing when the program to be installed is compressed may be stored.

本実施形態における図6〜図8,図12,図13に示す機能が外部からインストールされるプログラムによって、ホストコンピュータにより遂行されていてもよい。   The functions shown in FIGS. 6 to 8, 12, and 13 in this embodiment may be performed by a host computer by a program installed from the outside.

そして、その場合、CD−ROMやフラッシュメモリやFD等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。   In this case, the present invention is applied even when an information group including a program is supplied to the output device from a storage medium such as a CD-ROM, a flash memory, or an FD, or from an external storage medium via a network. Is.

以上のように、前述した実施形態の機能を実現するソフトウエアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給する。そして、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読出し実行することによっても、本発明の目的が達成されることは言うまでもない。   As described above, the storage medium storing the software program code for realizing the functions of the above-described embodiments is supplied to the system or apparatus. It goes without saying that the object of the present invention can also be achieved by the computer (or CPU or MPU) of the system or apparatus reading and executing the program code stored in the storage medium.

この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。   In this case, the program code itself read from the storage medium realizes the novel function of the present invention, and the storage medium storing the program code constitutes the present invention.

従って、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。   Therefore, as long as it has the function of the program, the form of the program such as an object code, a program executed by an interpreter, or script data supplied to the OS is not limited.

プログラムを供給するための記憶媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVDなどを用いることができる。   As a storage medium for supplying the program, for example, a flexible disk, hard disk, optical disk, magneto-optical disk, MO, CD-ROM, CD-R, CD-RW, magnetic tape, nonvolatile memory card, ROM, DVD, etc. Can be used.

この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。   In this case, the program code itself read from the storage medium realizes the functions of the above-described embodiment, and the storage medium storing the program code constitutes the present invention.

その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、該ホームページから本発明のコンピュータプログラムそのもの、もしくは、圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。   As another program supply method, a browser on a client computer is used to connect to an Internet home page. Then, the computer program itself of the present invention or a compressed file including an automatic installation function can be downloaded from the homepage by downloading it to a recording medium such as a hard disk.

また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。   It can also be realized by dividing the program code constituting the program of the present invention into a plurality of files and downloading each file from a different homepage.

つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバやftpサーバ等も本発明の請求項に含まれるものである。   That is, a WWW server, an ftp server, and the like that allow a plurality of users to download a program file for realizing the functional processing of the present invention on a computer are also included in the claims of the present invention.

また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。   In addition, the program of the present invention is encrypted, stored in a storage medium such as a CD-ROM, distributed to users, and key information for decryption is downloaded from a homepage via the Internet to users who have cleared predetermined conditions. Let It is also possible to execute the encrypted program by using the key information and install the program on a computer.

また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでない。例えば、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行わせる。そして、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。   In addition, the functions of the above-described embodiments are not only realized by executing the program code read by the computer. For example, based on an instruction of the program code, an OS (operating system) operating on the computer performs part or all of the actual processing. Needless to say, the process includes the case where the functions of the above-described embodiments are realized.

さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込ませる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行う。そして、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。   Further, the program code read from the storage medium is written in a memory provided in a function expansion board inserted into the computer or a function expansion unit connected to the computer. Thereafter, based on the instruction of the program code, the CPU or the like provided in the function expansion board or function expansion unit performs part or all of the actual processing. Needless to say, the process includes the case where the functions of the above-described embodiments are realized.

本発明は上記実施形態に限定されるものではなく、本発明の趣旨に基づき種々の変形(各実施形態の有機的な組合せを含む)が可能であり、それらを本発明の範囲から排除するものではない。   The present invention is not limited to the above embodiments, and various modifications (including organic combinations of the embodiments) are possible based on the spirit of the present invention, and these are excluded from the scope of the present invention. is not.

また、ホストコンピュータ3000において各種処理を行う機能を実現する為のプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませる。そして、そのプログラムを実行することにより各処理を行っても良い。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。   In addition, a program for realizing a function of performing various processes in the host computer 3000 is recorded on a computer-readable recording medium, and the program recorded on the recording medium is read into a computer system. Then, each process may be performed by executing the program. The “computer system” here includes an OS and hardware such as peripheral devices.

また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。   The “computer-readable recording medium” refers to a storage device such as a flexible medium, a magneto-optical disk, a portable medium such as a ROM and a CD-ROM, and a hard disk incorporated in a computer system.

さらに「コンピュータ読み取り可能な記録媒体」とは、揮発メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。   Further, the “computer-readable recording medium” includes a medium that holds a program for a certain period of time, such as a volatile memory (RAM).

具体的には、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発メモリ(RAM)である。   Specifically, it is a volatile memory (RAM) inside a computer system that becomes a server or client when a program is transmitted via a network such as the Internet or a communication line such as a telephone line.

また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。   The program may be transmitted from a computer system storing the program in a storage device or the like to another computer system via a transmission medium or by a transmission wave in the transmission medium.

ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。   Here, the “transmission medium” for transmitting the program refers to a medium having a function of transmitting information, such as a network (communication network) such as the Internet or a communication line (communication line) such as a telephone line.

また、上記プログラムは、前述した機能の一部を実現する為のものであっても良い。   The program may be for realizing a part of the functions described above.

さらに、前述した機能をコンピュータシステムに既に記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。   Furthermore, what can implement | achieve the function mentioned above in combination with the program already recorded on the computer system, and what is called a difference file (difference program) may be sufficient.

また、上記のプログラムを記録したコンピュータ読み取り可能な記録媒体等のプログラムプロダクトも本発明の実施形態として適用することができる。上記のプログラム、記録媒体、伝送媒体およびプログラムプロダクトは、本発明の範疇に含まれる。   A program product such as a computer-readable recording medium in which the above program is recorded can also be applied as an embodiment of the present invention. The above program, recording medium, transmission medium, and program product are included in the scope of the present invention.

以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計変更等も含まれる。   The embodiment of the present invention has been described in detail with reference to the drawings. However, the specific configuration is not limited to this embodiment, and includes design changes and the like without departing from the gist of the present invention.

本発明の様々な例と実施形態を示して説明したが、当業者であれば、本発明の趣旨と範囲は、本明細書内の特定の説明に限定されるのではなく、以下の実施態様も含まれることはいうまでもない。   Although various examples and embodiments of the present invention have been shown and described, those skilled in the art will recognize that the spirit and scope of the present invention are not limited to the specific descriptions in the present specification, but the following embodiments. Needless to say, is also included.

例えば印刷処理関連プログラムにより実現可能な機能に更に複数の拡張機能を付与可能なデータ処理装置であって、
2つ以上の設定値の間で成立する依存関係に応じて定めた第1のコンフリクト処理ルール(図4に示すコンフリクト処理ルール308)として格納する第1のルール格納手段(例えば図1に示す外部メモリ11)と、
前記印刷処理関連プログラムの機能と、前記複数の拡張機能に入力される設定値の間で成立する依存関係に応じて定めた第2のコンフリクト処理ルール(図4に示すコンフリクト処理ルール311)として格納する第2のルール格納手段(例えば図1に示す外部メモリ11)と、
前記第1のルール格納手段及び前記第2のルール格納手段から、前記第1のコンフリクト処理ルール及び前記第2のコンフリクト処理ルールを読み込み、読み込んだ前記第1のコンフリクト処理ルール及び前記第2のコンフリクト処理ルールを基にして、前記複数の機能と前記複数の拡張機能とのいずれか2つの設定間に不整合が生じないよう設定値の調整処理を行う設定調整手段(図3に示すプリンタドライバ307のコンフリクトマネージャ303)とを具備することを特徴とするデータ処理装置。
For example, a data processing apparatus capable of adding a plurality of extended functions to functions that can be realized by a print processing related program,
First rule storage means (for example, the external unit shown in FIG. 1) that stores as a first conflict processing rule (conflict processing rule 308 shown in FIG. 4) determined according to the dependency relationship established between two or more set values. Memory 11),
Stored as a second conflict processing rule (conflict processing rule 311 shown in FIG. 4) determined in accordance with the dependency established between the function of the print processing related program and the set values input to the plurality of extended functions. Second rule storage means (for example, the external memory 11 shown in FIG. 1);
The first conflict processing rule and the second conflict processing rule are read from the first rule storage means and the second rule storage means, and the read first conflict processing rule and second conflict are read. Based on the processing rule, a setting adjustment unit (printer driver 307 shown in FIG. 3) that performs a setting value adjustment process so that no mismatch occurs between any two settings of the plurality of functions and the plurality of extended functions. And a conflict manager 303).

これにより、印刷処理関連プログラム(プリンタドライバ)にプラグイン形式で新たな機能を複数追加したデータ処理環境下においても、各機能独自設定に伴う不整合状態を判別できる。そして、自動的、かつ的確なコンフリクト処理を実現して、各機能独自の設定が不整合状態であっても、正常な印刷を実行可能な印刷設定環境に自動調整できる。そして、追加される複数の機能に対する印刷設定を正常に行い、意図する印刷結果を正常に得られる印刷設定環境を自在に構築できる。   Thereby, even in a data processing environment in which a plurality of new functions are added in a plug-in format to the print processing related program (printer driver), it is possible to determine the inconsistency state associated with each function-specific setting. Then, automatic and accurate conflict processing can be realized, and even if the settings unique to each function are in an inconsistent state, it is possible to automatically adjust to a print setting environment capable of executing normal printing. Then, it is possible to freely construct a print setting environment in which print settings for a plurality of added functions can be normally performed and intended print results can be normally obtained.

また、前記複数の拡張機能が付与されている場合に、前記第2のコンフリクト処理ルールが第2のルール格納手段に格納されているか否かを確認する確認手段(図3に示すプリンタドライバ307のコンフリクトマネージャ303)を設けても良い。   In addition, when the plurality of extended functions are added, confirmation means for confirming whether or not the second conflict processing rule is stored in the second rule storage means (of the printer driver 307 shown in FIG. 3). A conflict manager 303) may be provided.

これにより、追加される拡張機能に対するプラグインモジュールに対応した第2のコンフリクト処理ルールを確実に読み込むことができる。   Accordingly, it is possible to reliably read the second conflict processing rule corresponding to the plug-in module for the added extended function.

さらに、前記設定調整手段は、前記第1のコンフリクト処理ルール及び前記第2のコンフリクト処理ルールを優先度の高い順に適用して、前記複数の機能と前記複数の拡張機能とのいずれか2つの設定間に不整合が生じないよう設定の調整処理をしてもよい。   Further, the setting adjustment unit applies the first conflict processing rule and the second conflict processing rule in descending order of priority, and sets any two of the plurality of functions and the plurality of extended functions. Setting adjustment processing may be performed so that no inconsistency occurs.

これにより、プリンタドライバの設定機能と追加される各拡張機能間での不整合な設定を自動的に調整できる。   Accordingly, inconsistent settings between the setting function of the printer driver and each extended function to be added can be automatically adjusted.

また、種々の情報を表示する表示手段(図1に示すCRT10)と、
利用者が視覚的に前記複数の機能及び前記複数の拡張機能の設定状態を確認可能な設定状態画面を前記表示手段に表示する画面表示手段(図3に示すプリンタドライバ307)とを更に具備し、
前記画面表示手段が前記表示手段に表示する前記設定状態画面は、前記設定調整手段により設定の調整処理後の設定状態を示すものであってもよい。
Further, display means for displaying various information (CRT 10 shown in FIG. 1),
Screen display means (printer driver 307 shown in FIG. 3) for displaying on the display means a setting status screen on which the user can visually confirm the setting status of the plurality of functions and the plurality of extended functions; ,
The setting state screen displayed on the display unit by the screen display unit may indicate a setting state after a setting adjustment process by the setting adjustment unit.

これにより、複数の拡張機能とプリンタドライバとの設定とが調整された設定状態をユーザに変更された設定状態を確認させることができる。   This allows the user to confirm the changed setting state after the setting state in which the settings of the plurality of extended functions and the printer driver are adjusted.

さらに、前記画面表示手段が前記表示手段に表示する前記設定状態画面において、
前記複数の機能及び前記複数の追加機能の各設定は、利用者の操作により変更可能であり、利用者が一つまたは複数の機能または前記複数の追加機能の設定を変更した場合に、前記設定調整手段は、読み込んだ前記第1のコンフリクト処理ルール及び前記第2のコンフリクト処理ルールを基にして、変更後の複数の機能と複数の拡張機能とのいずれか2つの設定間に不整合が生じないよう設定の調整処理を行うこととしてもよい。
Furthermore, in the setting status screen displayed on the display means by the screen display means,
Each setting of the plurality of functions and the plurality of additional functions can be changed by a user's operation, and when the user changes the setting of one or a plurality of functions or the plurality of additional functions, the setting The adjustment means causes inconsistency between any two settings of the plurality of changed functions and the plurality of extended functions based on the read first conflict processing rule and the second conflict processing rule. It is also possible to perform setting adjustment processing so as not to occur.

これにより、ユーザの設定に対して、プリンタドライバの設定と各機能設定との整合性を勘案して設定状態を調整して、ユーザから不整合となるような設定がなされても、不整合を回避する設定状態を表示することができる。   As a result, even if the setting is adjusted by the user to adjust the setting state in consideration of the consistency between the printer driver setting and each function setting, the inconsistency is set. The setting state to be avoided can be displayed.

本発明の第1実施形態を示すデータ処理装置を適用可能な印刷処理システムの構成を説明するブロック図である。1 is a block diagram illustrating a configuration of a print processing system to which a data processing apparatus according to a first embodiment of the present invention can be applied. 図1に示したRAMのメモリマップの一例を示す図である。It is a figure which shows an example of the memory map of RAM shown in FIG. 図1に示したホストコンピュータのプリンタドライバの拡張システムの一例を示すブロック図である。FIG. 2 is a block diagram illustrating an example of an expansion system for a printer driver of the host computer illustrated in FIG. 1. 図1に示したホストコンピュータの各種のモジュールのプリント処理例を示す概念ブロック図である。FIG. 2 is a conceptual block diagram illustrating a print processing example of various modules of the host computer illustrated in FIG. 1. 図4に示したコンフリクトマネージャ及び推論エンジンにおけるコンフリクト処理体例を示す図である。FIG. 5 is a diagram showing an example of a conflict processing body in the conflict manager and inference engine shown in FIG. 4. 本発明に係るデータ処理装置における第1のデータ処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the 1st data processing procedure in the data processor which concerns on this invention. 本発明に係るデータ処理装置における第1のデータ処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the 1st data processing procedure in the data processor which concerns on this invention. 本発明に係るデータ処理装置における第1のデータ処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the 1st data processing procedure in the data processor which concerns on this invention. 図4に示したプリンタドライバが必要とする内部構造体のメモリマップ構成例を示す図である。FIG. 5 is a diagram showing a memory map configuration example of an internal structure required by the printer driver shown in FIG. 4. 本発明に係るデータ処理装置における印刷設定シート例を示す図である。It is a figure which shows the example of a print setting sheet in the data processor which concerns on this invention. 本発明に係るデータ処理装置における印刷設定シート例を示す図である。It is a figure which shows the example of a print setting sheet in the data processor which concerns on this invention. 本発明に係るデータ処理装置における第2のデータ処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the 2nd data processing procedure in the data processor which concerns on this invention. 本発明に係るデータ処理装置における第2のデータ処理手順の一例を示すフローチャートである。It is a flowchart which shows an example of the 2nd data processing procedure in the data processor which concerns on this invention. 本発明に係るデータ処理装置における印刷設定シート例を示す図である。It is a figure which shows the example of a print setting sheet in the data processor which concerns on this invention. 本発明に係るデータ処理装置で読み取り可能な各種データ処理プログラムを格納する記憶媒体のメモリマップを説明する図である。It is a figure explaining the memory map of the storage medium which stores the various data processing program which can be read with the data processor which concerns on this invention.

符号の説明Explanation of symbols

801 アプリケーション
901 コンフリクト処理ルール記述ファイル
902 推論エンジン
903 コフリクトマネージャ
906 ドライバ管理部
908 コンフリクト処理ルールファイル
909 プラグインモジュール
801 Application 901 Conflict processing rule description file 902 Inference engine 903 Conflict manager 906 Driver management unit 908 Conflict processing rule file 909 Plug-in module

Claims (15)

印刷処理関連プログラムを機能拡張できる複数の拡張機能プログラムを搭載したータ処理装置であって、
印刷処理に用いられる複数の設定値の間で成立する依存関係を定義した第1のコンフリクト処理ルール格納する第1のルール格納手段と、
前記印刷処理関連プログラムの機能と、前記複数の拡張機能プログラムに入力される設定値の間で成立する依存関係を定義した第2のコンフリクト処理ルール格納する第2のルール格納手段と、
前記第1のルール格納手段及び前記第2のルール格納手段から、前記第1のコンフリクト処理ルール及び前記第2のコンフリクト処理ルールを読み込み、読み込んだ前記第1のコンフリクト処理ルール及び前記第2のコンフリクト処理ルールを基にして、前記複数の設定間に不整合が生じないよう設定値の調整処理を行う設定調整手段と、
を具備することを特徴とするデータ処理装置。
A data processing apparatus having a plurality of extensions programs the print processing related program may enhancements,
First rule storage means for storing a first conflict processing rule that defines a dependency relationship established between a plurality of setting values used for print processing;
A second rule storage means for storing a second conflict processing rule defining a dependency relationship established between the function of the print processing related program and the set values input to the plurality of extended function programs;
The first conflict processing rule and the second conflict processing rule are read from the first rule storage means and the second rule storage means, and the read first conflict processing rule and second conflict are read. A setting adjustment means for performing a setting value adjustment process based on a processing rule so as to prevent inconsistency between the plurality of settings;
A data processing apparatus comprising:
前記第2のコンフリクト処理ルールが第2のルール格納手段に格納されているか否かを確認する確認手段を更に具備することを特徴とする請求項1記載のデータ処理装置。   2. The data processing apparatus according to claim 1, further comprising confirmation means for confirming whether or not the second conflict processing rule is stored in the second rule storage means. 前記設定調整手段は、前記第1のコンフリクト処理ルール及び前記第2のコンフリクト処理ルールを優先度の高い順に適用して、前記複数の設定間に不整合が生じないよう設定の調整処理を行うことを特徴とする請求項1記載のデータ処理装置。   The setting adjustment unit applies the first conflict processing rule and the second conflict processing rule in descending order of priority, and performs setting adjustment processing so that no mismatch occurs between the plurality of settings. The data processing apparatus according to claim 1. 利用者が視覚的に前記複数の機能及び前記複数の拡張機能プログラムの設定状態を確認可能な設定状態画面を表示する画面表示手段と、
を更に具備し、
前記画面表示手段が表示する前記設定状態画面は、前記設定調整手段により設定の調整処理後の設定状態を示すものであることを特徴とする請求項1に記載のデータ処理装置。
Screen display means for displaying a setting status screen that allows a user to visually confirm the setting status of the plurality of functions and the plurality of extended function programs;
Further comprising
The data processing apparatus according to claim 1, wherein the setting status screen displayed by the screen display unit indicates a setting state after a setting adjustment process by the setting adjustment unit.
前記画面表示手段が表示する前記設定状態画面において、前記複数の機能及び前記複数の拡張機能の各設定は、利用者の操作により変更可能であり、利用者が一つまたは複数の機能または前記複数の拡張機能の設定を変更した場合に、前記設定調整手段は、読み込んだ前記第1のコンフリクト処理ルール及び前記第2のコンフリクト処理ルールを基にして、変更後の複数の機能と複数の拡張機能プログラムとのいずれか2つの設定間に不整合が生じないよう設定の調整処理を行うことを特徴とする請求項4記載のデータ処理装置。 In the setting status screen displayed by the screen display means, each setting of the plurality of functions and the plurality of extended functions can be changed by a user operation, and the user can change one or a plurality of functions or the plurality of functions. When the setting of the extended function is changed, the setting adjustment unit is configured to change the plurality of changed functions and the plurality of extended functions based on the read first conflict processing rule and the second conflict processing rule. 5. The data processing apparatus according to claim 4, wherein setting adjustment processing is performed so as to prevent inconsistency between any two settings with a program. 前記複数の拡張機能プログラムは、ドキュメント管理プログラムと地紋印刷プログラムであって、前記地紋印刷プログラム及びドキュメント管理プログラムから第1のコンフリクトルール及び第2のコンフリクトルールを取得し、地紋印刷プログラムにおいて地紋印刷が設定されている場合には、ドキュメント管理プログラムにおけるドキュメント格納処理を禁止する制御を行う制御手段をさらに備えることを特徴とする請求項に記載のデータ処理装置。 The plurality of extended function programs are a document management program and a tint block printing program, obtain a first conflict rule and a second conflict rule from the tint block printing program and the document management program, and the tint block printing is performed in the tint block printing program. 6. The data processing apparatus according to claim 5 , further comprising control means for performing control to prohibit document storage processing in the document management program when set. 印刷処理関連プログラムを機能拡張できる複数の拡張機能プログラムを搭載したデータ処理装置における設定処理方法であって、
印刷処理に用いられる複数の設定値の間で成立する依存関係を定義した第1のコンフリクト処理ルール格納する第1のルール格納工程と、
前記印刷処理関連プログラムの機能と、前記複数の拡張機能プログラムに入力される設定値の間で成立する依存関係を定義した第2のコンフリクト処理ルール格納する第2のルール格納工程と、
前記第1のルール格納工程及び前記第2のルール格納工程において格納された前記第1のコンフリクト処理ルール及び前記第2のコンフリクト処理ルールを読み込み、読み込んだ前記第1のコンフリクト処理ルール及び前記第2のコンフリクト処理ルールを基にして、前記複数の設定間に不整合が生じないよう設定値の調整処理を行う設定調整工程と、
を具備することを特徴とする設定処理方法。
A setting processing method in a data processing apparatus equipped with a plurality of extended function programs capable of extending the functions of a print processing related program,
A first rule storing step for storing a first conflict processing rule that defines a dependency relationship established between a plurality of setting values used in the printing process;
A second rule storing step for storing a second conflict processing rule defining a dependency relationship established between the function of the print processing related program and the set values input to the plurality of extended function programs;
The first conflict processing rule and the second conflict processing rule stored in the first rule storing step and the second rule storing step are read, and the read first conflict processing rule and the second conflict processing rule are read. A setting adjustment process for adjusting a setting value so as to prevent inconsistency between the plurality of settings based on the conflict processing rule of
A setting processing method characterized by comprising:
前記第2のコンフリクト処理ルールが第2のルール格納工程が格納したかを確認する確認工程を更に具備することを特徴とする請求項記載の設定処理方法。 8. The setting processing method according to claim 7 , further comprising a confirmation step of confirming whether or not the second conflict processing rule is stored by the second rule storage step. 前記設定調整工程は、前記第1のコンフリクト処理ルール及び前記第2のコンフリクト処理ルールを優先度の高い順に適用して、前記複数の設定間に不整合が生じないよう設定の調整処理を行うことを特徴とする請求項記載の設定処理方法。 The setting adjustment step applies the first conflict processing rule and the second conflict processing rule in descending order of priority, and performs setting adjustment processing so that no mismatch occurs between the plurality of settings. The setting processing method according to claim 7 . 利用者が視覚的に前記複数の機能及び前記複数の拡張機能プログラムの設定状態を確認可能な設定状態画面を表示する画面表示工程と、
を更に具備し、
前記画面表示工程が表示する前記設定状態画面は、前記設定調整工程により設定の調整処理後の設定状態を示すものであることを特徴とする請求項に記載の設定処理方法。
A screen display step for displaying a setting state screen that allows a user to visually confirm the setting states of the plurality of functions and the plurality of extended function programs;
Further comprising
The setting processing method according to claim 7 , wherein the setting state screen displayed by the screen display step shows a setting state after the setting adjustment processing by the setting adjustment step.
前記画面表示工程が表示する前記設定状態画面において、前記複数の機能及び前記複数の拡張機能の各設定は、利用者の操作により変更可能であり、利用者が一つまたは複数の機能または前記複数の拡張機能の設定を変更した場合に、前記設定調整工程は、読み込んだ前記第1のコンフリクト処理ルール及び前記第2のコンフリクト処理ルールを基にして、変更後の複数の機能と複数の拡張機能プログラムとのいずれか2つの設定間に不整合が生じないよう設定の調整処理を行うことを特徴とする請求項10記載の設定処理方法。 In the setting state screen displayed by the screen display step, each setting of the plurality of functions and the plurality of extended functions can be changed by a user operation, and the user can change one or a plurality of functions or the plurality of functions. When the setting of the extended function is changed, the setting adjustment step performs a plurality of changed functions and a plurality of extended functions based on the read first conflict processing rule and the second conflict processing rule. 11. The setting processing method according to claim 10 , wherein setting adjustment processing is performed so that no inconsistency occurs between any two settings with a program. 前記複数の拡張機能プログラムは、ドキュメント管理プログラムと地紋印刷プログラムであって、前記地紋印刷プログラム及びドキュメント管理プログラムから第1のコンフリクト処理ルール及び第2のコンフリクト処理ルールを取得し、地紋印刷プログラムにおいて地紋印刷が設定されている場合には、ドキュメント管理プログラムにおけるドキュメント格納処理を禁止する制御を行う制御工程をさらに備えることを特徴とする請求項11に記載の設定処理方法。 Wherein the plurality of extended function programs, a document management program and the copy-forgery-inhibited pattern printing program acquires the tint block printing program and document management first conflict processing rule from the program and a second conflict processing rule, the background pattern in the tint block printing program 12. The setting processing method according to claim 11 , further comprising a control step of performing control for prohibiting document storage processing in the document management program when printing is set. 印刷処理関連プログラムの機能を拡張する第一の拡張機能プログラム及び印刷処理関連プログラムの機能を拡張する第二の拡張機能プログラムにおいて用いられる複数の印刷処理に用いられる設定値の不整合を回避するためのルールを示すコンフリクト処理ルールをそれぞれ取得する取得手段と、
前記取得手段が取得したコンフリクト処理ルールを用いて、前記第一の拡張機能プログラム及び第二の拡張機能プログラムで用いられる印刷設定の設定値の間の不整合があるかを判定する判定手段と、
を備えることを特徴とする情報処理装置。
In order to avoid inconsistencies in setting values used for a plurality of print processes used in the first extended function program for extending the functions of the print processing related program and the second extended function program for extending the functions of the print processing related program Acquisition means for acquiring conflict processing rules indicating the rules of
Using conflict processing rule obtained by the obtaining unit, a determination unit configured to determine there is a mismatch between the print setting set values to be used in the first extended function program and a second extension program of
An information processing apparatus comprising:
印刷処理関連プログラムの機能を拡張する第一の拡張機能プログラム及び印刷処理関連プログラムの機能を拡張する第二の拡張機能プログラムにおいて用いられる複数の印刷処理に用いられる設定値の不整合を回避するためのルールを示すコンフリクト処理ルールをそれぞれ取得する取得工程と、
前記取得工程が取得したコンフリクト処理ルールを用いて、前記第一の拡張機能プログラム及び第二の拡張機能プログラムで用いられる印刷設定の設定値の間の不整合があるかを判定する判定工程と、
を備えることを特徴とする設定処理方法。
In order to avoid inconsistencies in setting values used for a plurality of print processes used in the first extended function program for extending the functions of the print processing related program and the second extended function program for extending the functions of the print processing related program An acquisition step of acquiring conflict processing rules indicating the rules of
A determination step of determining whether there is a mismatch between setting values of print settings used in the first extended function program and the second extended function program, using the conflict processing rule acquired in the acquisition step;
A setting processing method characterized by comprising:
印刷処理関連プログラムの機能を拡張する第一の拡張機能プログラム及び印刷処理関連プログラムの機能を拡張する第二の拡張機能プログラムにおいて用いられる複数の印刷処理に用いられる設定値の不整合を回避するためのルールを示すコンフリクト処理ルールをそれぞれ取得する取得工程と、
前記取得工程が取得したコンフリクト処理ルールを用いて、前記第一の拡張機能プログラム及び第二の拡張機能プログラムで用いられる印刷設定の設定値の間の不整合があるかを判定する判定工程と、
を備えることを特徴とする設定処理方法をコンピュータに実行させる制御プログラム。
In order to avoid inconsistencies in setting values used for a plurality of print processes used in the first extended function program for extending the functions of the print processing related program and the second extended function program for extending the functions of the print processing related program An acquisition step of acquiring conflict processing rules indicating the rules of
A determination step of determining whether there is a mismatch between setting values of print settings used in the first extended function program and the second extended function program, using the conflict processing rule acquired in the acquisition step;
A control program for causing a computer to execute a setting processing method.
JP2005324687A 2004-11-15 2005-11-09 Data processing apparatus, setting processing method, information processing apparatus, and control program Active JP4590341B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005324687A JP4590341B2 (en) 2004-11-15 2005-11-09 Data processing apparatus, setting processing method, information processing apparatus, and control program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004330474 2004-11-15
JP2005324687A JP4590341B2 (en) 2004-11-15 2005-11-09 Data processing apparatus, setting processing method, information processing apparatus, and control program

Publications (3)

Publication Number Publication Date
JP2006164253A JP2006164253A (en) 2006-06-22
JP2006164253A5 JP2006164253A5 (en) 2008-12-18
JP4590341B2 true JP4590341B2 (en) 2010-12-01

Family

ID=36666142

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005324687A Active JP4590341B2 (en) 2004-11-15 2005-11-09 Data processing apparatus, setting processing method, information processing apparatus, and control program

Country Status (1)

Country Link
JP (1) JP4590341B2 (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4956259B2 (en) * 2007-04-04 2012-06-20 キヤノン株式会社 Information processing apparatus, control method therefor, and computer program
JP5089464B2 (en) * 2008-04-02 2012-12-05 キヤノン株式会社 Management device, management method, and program
JP5094627B2 (en) * 2008-08-08 2012-12-12 キヤノン株式会社 Information processing apparatus, method, and control program
JP2010182116A (en) * 2009-02-05 2010-08-19 Ricoh Co Ltd Server device and driver package generation program
JP5343643B2 (en) * 2009-03-17 2013-11-13 株式会社リコー Printer driver, storage medium, and information processing apparatus
JP5413132B2 (en) * 2009-11-04 2014-02-12 富士ゼロックス株式会社 Information processing program, information processing apparatus, and information processing system
JP5891794B2 (en) * 2011-02-09 2016-03-23 株式会社リコー Information processing apparatus and program
JP5569639B2 (en) * 2013-08-15 2014-08-13 株式会社リコー Information processing apparatus, printing control program, and printing system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002108580A (en) * 2000-09-26 2002-04-12 Canon Inc Information processing apparatus and printing system and module deciding method
JP2002196905A (en) * 2000-12-22 2002-07-12 Canon Inc Information processing unit and method, image forming device, and storage medium
JP2004213111A (en) * 2002-12-26 2004-07-29 Canon Inc Computer program
JP2004310754A (en) * 2003-03-27 2004-11-04 Canon Inc Information processing device and method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002108580A (en) * 2000-09-26 2002-04-12 Canon Inc Information processing apparatus and printing system and module deciding method
JP2002196905A (en) * 2000-12-22 2002-07-12 Canon Inc Information processing unit and method, image forming device, and storage medium
JP2004213111A (en) * 2002-12-26 2004-07-29 Canon Inc Computer program
JP2004310754A (en) * 2003-03-27 2004-11-04 Canon Inc Information processing device and method

Also Published As

Publication number Publication date
JP2006164253A (en) 2006-06-22

Similar Documents

Publication Publication Date Title
US7903272B2 (en) Data processing apparatus, print setting adjusting method, recording medium storing computer-readable program therein, and program
JP4863450B2 (en) Information processing apparatus for customizing device driver program and device driver program customization method
US7852497B2 (en) Method of controlling printing control apparatus
JP4590341B2 (en) Data processing apparatus, setting processing method, information processing apparatus, and control program
US7808666B2 (en) Data processing device, print setting processing method, storage device for storing computer-readable program and program
US8804172B2 (en) Non-transitory computer readable recording medium stored with printer driver updating program and printer driver updating method
US8125657B2 (en) Printing apparatus and method and non-transitory computer-readable storage medium for managing printing format information
KR101101101B1 (en) Information processing apparatus and information processing method
US8259315B2 (en) Information processing apparatus, print setting method, and storage medium for changing default setting information
US7817294B2 (en) Data processing apparatus, print setting processing method, storing medium storing computer-readable program therein, and program
JP4481800B2 (en) Information processing apparatus, information processing method, and program
US20090201551A1 (en) Printing apparatus, document management apparatus, method for controlling the same, and storage medium storing program
JP2006195831A (en) Printer driver, information processor therewith, print controller, and method for creating print data
JP6936634B2 (en) Information processing device and information storage method
US11733936B2 (en) Information processing apparatus, control method, and storage medium for setting a print setting value
JP2008191946A (en) Information processor and its control method, computer program, image forming system
JP2005173701A (en) Information processor, information processing method, and program therefor
JP2012043381A (en) Printer driver update program and method of updating printer driver
JP2007207003A (en) Information processor, driver setting method, storage medium and program
JP7013976B2 (en) Information processing equipment, information processing methods, programs, and image formation systems
JP7393477B2 (en) Information processing device, its control method, and computer program
JP2019128856A (en) Printer driver customization tool
JP2006244278A (en) Data processing unit, print control method, and storage medium storing computer readable program, and program
JP2000155657A (en) Data processor, driver processing method for the data processor and storage medium stored with computer readable program
JP2012043382A (en) Printer driver update program and method of updating printer driver

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20080108

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080219

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081105

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081105

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100827

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100913

R150 Certificate of patent or registration of utility model

Ref document number: 4590341

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130917

Year of fee payment: 3