JP5159974B2 - Information processing apparatus, method, and control program - Google Patents

Information processing apparatus, method, and control program Download PDF

Info

Publication number
JP5159974B2
JP5159974B2 JP2012153707A JP2012153707A JP5159974B2 JP 5159974 B2 JP5159974 B2 JP 5159974B2 JP 2012153707 A JP2012153707 A JP 2012153707A JP 2012153707 A JP2012153707 A JP 2012153707A JP 5159974 B2 JP5159974 B2 JP 5159974B2
Authority
JP
Japan
Prior art keywords
printer
function
data
instruction
value
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.)
Expired - Fee Related
Application number
JP2012153707A
Other languages
Japanese (ja)
Other versions
JP2012208950A (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 JP2012153707A priority Critical patent/JP5159974B2/en
Publication of JP2012208950A publication Critical patent/JP2012208950A/en
Application granted granted Critical
Publication of JP5159974B2 publication Critical patent/JP5159974B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、プリンタドライバを含む印刷制御プログラムに関するものである。   The present invention relates to a print control program including a printer driver.

情報処理装置の一例であるコンピュータ上で作成された文書や図といったファイルをアプリケーションから印刷する際には、プリンタドライバを使って描画データをプリンタ言語に変換しプリンタに送信することが行われる。用紙の種類や両面、カラー、給紙段といった設定は、アプリケーションもしくはプリンタドライバが提供するユーザインタフェースの印刷設定で、ユーザが設定したデータをプリンタコマンドとしてプリンタに送信する。   When printing a file such as a document or a diagram created on a computer, which is an example of an information processing apparatus, from an application, drawing data is converted into a printer language using a printer driver and transmitted to the printer. Settings such as paper type, duplex, color, and paper feed stage are user interface print settings provided by an application or printer driver, and data set by the user is transmitted to the printer as a printer command.

プリンタドライバが持つ機能は年々増加する一方である。また、数百個の機能を持つプリンタドライバも少なくない。また、プリンタドライバの印刷設定を行うユーザインタフェースは、ユーザインタフェースからボタンを押して、さらに開くダイアログウィンドウが複数存在する。よって、これらのウィンドウのどこで所望の設定ができるのか迷うユーザも多い。そこでプリンタドライバは、ユーザのために機能の禁則処理(コンフリクト処理)を持っている。機能の禁則処理とは、ある機能を選択したときに、他の機能が使えなくなったり、他の設定値が変更されることを指す。たとえば多くのプリンタドライバでは、「はがき」と「ステイプル」を同時に設定することはできない。このとき、「はがき」を選択すると、プリンタドライバのユーザインタフェース上の「ステイプル」項目はグレーアウトしたり(特許文献1)する。また、設定することが出来ない項目の表示が隠れて選択することができなくなったり、その項目が選択できないという意味のアイコンを表示したりする(特許文献2)。また、設定することが出来ない項目についての警告としてメッセージが表示されたり(特許文献3)する。   The functions of printer drivers are increasing year by year. Many printer drivers have hundreds of functions. In addition, the user interface for performing print settings of the printer driver has a plurality of dialog windows that are opened by pressing a button from the user interface. Thus, many users are wondering where they can make the desired settings. Therefore, the printer driver has a function prohibition process (conflict process) for the user. Function prohibition processing means that when a certain function is selected, other functions cannot be used or other setting values are changed. For example, many printer drivers cannot set “postcard” and “staple” at the same time. At this time, if “postcard” is selected, the “staple” item on the user interface of the printer driver is grayed out (Patent Document 1). In addition, the display of an item that cannot be set is hidden and cannot be selected, or an icon indicating that the item cannot be selected is displayed (Patent Document 2). In addition, a message is displayed as a warning about an item that cannot be set (Patent Document 3).

また、プリンタドライバの禁則処理はユーザインタフェース上の表示だけではない。アプリケーションソフトウェアによっても印刷設定は変更することができる。しかし、アプリケーションからの禁則状態にある設定がそのままプリンタドライバに渡される場合がある。この場合、プリンタドライバがその設定をプリンタコマンドに変換してしまうと、プリンタでエラーになってしまう。そこでプリンタドライバは、印刷する際にも機能の禁則処理を行い、印刷設定を変更して印刷可能な値にしている。   In addition, the prohibition process of the printer driver is not only the display on the user interface. The print settings can also be changed by application software. However, settings that are in a prohibited state from the application may be passed to the printer driver as they are. In this case, if the printer driver converts the setting into a printer command, an error occurs in the printer. Therefore, the printer driver performs a function prohibition process even when printing, and changes the print setting to a printable value.

一方で、セキュリティ意識の高まりやコストの削減などから、印刷設定の特定機能を固定したいという要求がある。たとえば、カラー機のプリンタでモノクロ印刷固定にすれば、印刷にかかるトナーやインクのコストを削減できる。また、1つのページに2ページ分を縮小して印刷する2Up印刷や、両面印刷を固定にすると、用紙が節約できる。   On the other hand, there is a demand for fixing a specific function for print settings because of increased security awareness and cost reduction. For example, if monochrome printing is fixed on a color printer, the cost of toner and ink for printing can be reduced. In addition, paper can be saved by fixing 2Up printing for printing two pages at a reduced size or double-sided printing.

しかし、値を固定する機能は、禁則処理とは相容れないことが多い。たとえば、両面印刷を固定にすると、両面できない用紙を選択したときにどのように禁則すればいいかという問題が発生する。従来では、プリンタドライバ自体をカスタマイズしてしまい、まったく別の専用ドライバを作成するといった方法が一般的であった。しかし、それではユーザの要望ごとにプリンタドライバを作成しなければならない。このため、外部のプラグインから新しい禁則処理ルールを追加することが考えられた(特許文献4)。さらに、可能な限り固定の設定を行ってみて禁則処理によって設定を変更できるときは印刷設定を変更する(特許文献5)などの方法があった。現在持っている禁則処理ルールと逆の禁則処理ルールを自動補完する技術が存在する。   However, the function of fixing the value is often incompatible with prohibition processing. For example, if double-sided printing is fixed, there arises a problem of how to prohibit when selecting paper that cannot be double-sided. Conventionally, a method of customizing the printer driver itself and creating a completely different dedicated driver has been common. However, a printer driver must be created for each user's request. For this reason, it has been considered to add a new prohibition processing rule from an external plug-in (Patent Document 4). Furthermore, there is a method of changing the print setting when the setting can be changed by prohibition processing after performing a fixed setting as much as possible (Patent Document 5). There is a technology that automatically complements the prohibition processing rule opposite to the current prohibition processing rule.

また、開発者は、ある機能名に対して、ONとなるすべてのルールを記述し、上記したとおり、OFFとなるルールを省略することができる。OFFとなるルールは推論エンジン302により自動生成される。逆に、開発者は、ある機能名に対して、OFFとなるすべてのルールを記述し、上記したとおり、ONとなるルールを省略することができる。ONとなるルールは推論エンジン302により自動生成される。開発者は、ある機能名に対して、ONとなるルール、OFFとなるルールのすべてを記述することもできる。この場合ルールは自動生成されない。左辺に機能名(ON)、機能名(OFF)の形式で記述された項に対して、右辺に項目を記述する場合には、左辺と同一のON/OFF形式にする。この場合にルールが自動生成される(特許文献6)。   Further, the developer can describe all the rules that are turned ON for a certain function name, and can omit the rules that are turned OFF as described above. Rules that are turned off are automatically generated by the inference engine 302. Conversely, the developer can describe all the rules that are turned OFF for a certain function name, and can omit the rules that are turned ON as described above. Rules that are turned ON are automatically generated by the inference engine 302. The developer can also describe all the rules that are turned ON and OFF for a certain function name. In this case, rules are not automatically generated. When an item is written on the right side of an item described in the format of function name (ON) and function name (OFF) on the left side, the same ON / OFF format as that on the left side is used. In this case, a rule is automatically generated (Patent Document 6).

特開2003−99170JP 2003-99170 A 特開2000−227847JP 2000-227847 A 特開2000−225754JP 2000-225754 A 特開2005−190467JP 2005-190467 A 特開2007−272779JP2007-272779 特開2002−169669JP2002-169669

しかしながら、従来の方法では、完全に値を固定化することが困難であった。すなわち、外部のプラグインから禁則処理ルールを差し込む場合は、外部のプラグインがプリンタドライバの禁則処理ルール(コンフリクトルールともいう。)を予めすべて知っていなければならない。さらに、プリンタドライバ本体の機能が拡張し、禁則処理も拡張された場合は、外部のプラグインも新たに変更した禁則処理ルールを差し込まなければならなかった。また、禁則処理によって変更されることを許容する場合は、固定にしている値によっては確実に固定にできるとは限らなかった。逆のルールを自動補完する場合、特許文献6の方法では、設定値がON/OFFのもののみ自動補完するだけである。たとえば、両面をONにするという禁則処理ルールがある場合、両面をOFFにするという禁則処理ルールを自動補完するものである。設定値を固定にした際に禁則処理ルールに不都合がないようにするには、自動補完するルールを固定値に変更するというルールを補完すればよい。しかし、それ以前に評価された禁則処理ルールで値が変更されてしまっては、開発者またはユーザの意図した固定にならない可能性がある。また、設定値が2つ以上あるもの、たとえば用紙サイズのようなものには適用できない。他に、「お気に入り」のようなユーザが保存したプリセットされた複数の設定値を適用する際に、固定にした設定値と共に、固定にした設定値ではない違う値が「お気に入り」に含まれていると、値が変更されてしまい確実に固定にすることができなかった。   However, with the conventional method, it has been difficult to completely fix the value. That is, when inserting a prohibition processing rule from an external plug-in, the external plug-in must know all the prohibition processing rules (also referred to as conflict rules) of the printer driver in advance. Furthermore, when the functions of the printer driver main body are expanded and the prohibition process is expanded, the external plug-in must insert a newly changed prohibition process rule. In addition, when the change is allowed by the prohibition process, it is not always possible to fix the value depending on the fixed value. In the case of automatically complementing the reverse rule, the method of Patent Document 6 automatically complements only the setting value of ON / OFF. For example, when there is a prohibition processing rule that turns both sides on, the prohibition processing rule that turns both sides off is automatically complemented. In order to avoid any inconvenience in the forbidden processing rule when the set value is fixed, it is sufficient to complement the rule of changing the automatically complemented rule to a fixed value. However, if the value is changed by a prohibition processing rule evaluated before that, it may not be fixed as intended by the developer or user. Further, it cannot be applied to a case where there are two or more set values, for example, a paper size. In addition, when applying multiple preset values saved by the user, such as “Favorite”, different values that are not fixed setting values are included in “Favorites” along with the fixed setting values. The value was changed and could not be fixed reliably.

本願は上記課題の少なくとも一つを鑑みてなされたものである。   The present application has been made in view of at least one of the above problems.

データをプリンタに保存する機能を常に有効とするか否かの指示を受け付ける受付画面を表示する第1表示手段と、前記受付画面を介して前記データをプリンタに保存する機能を常に有効とする指示を受け付ける指示手段と、前記データをプリンタに保存する機能を常に有効とする指示を受け付けた場合、前記データをプリンタに保存する機能について有効から無効への変更を受け付けない印刷設定画面を表示する第2表示手段とを有し、前記データをプリンタに保存する機能を常に有効とする指示を受け付けた場合、前記データをプリンタに保存する機能が常に有効とされていることを示す情報が前記印刷設定画面に表示されることを特徴とする。   First display means for displaying an acceptance screen for accepting an instruction as to whether or not the function for saving data in the printer is always valid, and an instruction for always validating the function for saving the data in the printer via the acceptance screen And a print setting screen that does not accept a change from valid to invalid for the function to save the data in the printer when receiving an instruction to always enable the function to save the data in the printer. Information indicating that the function for storing the data in the printer is always enabled when an instruction to always enable the function for storing the data in the printer is received. It is displayed on the screen.

本発明によれば、設定値を固定化しつつ、プリンタの禁則処理にしたがって印刷を行うことが可能であることから、管理者が確実に印刷設定を管理することが可能になるという効果がある。   According to the present invention, it is possible to perform printing in accordance with the prohibition process of the printer while fixing the setting value, so that there is an effect that the administrator can surely manage the print setting.

本発明の一実施形態としての、コンピュータシステムのハードウェアとソフトウェアのブロック構成図である。1 is a block configuration diagram of hardware and software of a computer system as one embodiment of the present invention. FIG. 本発明の一実施形態としての、XPSDrv印刷システムのブロック構成図である。1 is a block configuration diagram of an XPSDrv printing system as an embodiment of the present invention. FIG. 本発明の一実施形態としての、実施例1におけるコンフィギュレーションモジュールのブロック構成図である。It is a block block diagram of the configuration module in Example 1 as one Embodiment of this invention. 本発明の一実施形態としての、実施例1における機種依存ファイルに含まれるXMLファイルのフォーマットの一部である。It is a part of format of the XML file contained in the model dependence file in Example 1 as one embodiment of this invention. 本発明の一実施形態としての、実施例1における禁則エンジンの禁則処理を行うロジックのフローチャートである。It is a flowchart of the logic which performs the prohibition process of the prohibition engine in Example 1 as one Embodiment of this invention. 本発明の一実施形態としての、実施例1におけるロック機能を指定するユーザインタフェース画面の一部である。It is a part of user interface screen which designates the lock function in Example 1 as one embodiment of the present invention. 本発明の一実施形態としての、実施例1におけるロック機能が指定された印刷設定画面である。FIG. 5 is a print setting screen in which a lock function in Example 1 is designated as an embodiment of the present invention. FIG. 本発明の一実施形態としての、実施例1における機種依存ファイルに含まれるXMLファイルにおいて、ロック機能を有効にした一部のXMLである。In the XML file included in the model-dependent file in Example 1 as an embodiment of the present invention, a part of XML in which the lock function is enabled. 本発明の一実施形態としての、実施例2におけるコンフィギュレーションモジュールのブロック構成図である。It is a block block diagram of the configuration module in Example 2 as one Embodiment of this invention. 本発明の一実施形態としての、実施例2における機種依存ファイルであるGPDファイルの一部である。It is a part of GPD file which is a model dependence file in Example 2 as one embodiment of the present invention. 本発明の一実施形態としての、実施例2におけるコンフィギュレーションモジュールの禁則処理のフローチャートである。It is a flowchart of the prohibition process of the configuration module in Example 2 as one embodiment of the present invention. 本発明の一実施形態としての、実施例2における機種依存ファイルでロック機能を有効にした一部のGPDである。FIG. 14 shows some GPDs in which the lock function is enabled in the model-dependent file in Example 2 as an embodiment of the present invention. 本発明の一実施形態としての、印刷設定のバイナリDEVMODE構造体である。3 is a binary DEVMODE structure of print settings according to an embodiment of the present invention. 本発明の一実施形態としての、印刷設定のPrintTicketのXMLである。FIG. 4 is an XML of a print ticket for a print setting according to an exemplary embodiment of the present invention. 本発明の一実施形態としての、XPSスプールファイルのブロック図である。It is a block diagram of an XPS spool file as one embodiment of the present invention.

(実施例)
以下、本発明を実施するための最良の形態について図面を用いて説明する。
(Example)
The best mode for carrying out the present invention will be described below with reference to the drawings.

図1は本発明の一実施形態を示す印刷処理システムのブロック構成図である。なお、特に断らない限り、本発明の機能が実行されるのであれば、単体の機能であっても、複数の機器からなるシステムであっても、LAN、WAN等のネットワークを介して接続がなされ処理が行われるシステムであっても、本発明を適用できることは言うまでもない。   FIG. 1 is a block diagram of a print processing system showing an embodiment of the present invention. Unless otherwise specified, as long as the functions of the present invention are executed, a single function or a system composed of a plurality of devices can be connected via a network such as a LAN or WAN. Needless to say, the present invention can be applied to a system in which processing is performed.

図1において、コンピュータを用いたシステムのブロック構成図を示す。CPU101はROM102あるいはRAM103あるいは外部記憶装置105に格納されたプログラムに従って装置全体の制御を行う。RAM103はCPU101が各種処理を行う際のワークエリアとしても使用される。記憶装置105はオペレーティングシステム(OS)1054やアプリケーションソフト1051等を記録する。キーボードやマウスなどの入力機器は、入力I/F104を通じて、ユーザがコンピュータに対して各種指示を与えるためのデバイスである。出力I/F106は、データを外部に出力するためのインタフェースであり、モニタ110やプリンタ111に対してデータを出力する。プリンタ111とは直接接続されるローカルI/Oのみならず、LANやWANといったネットワークを通して接続されていてもよい。また、107は共通データバスで、それぞれのデータのやりとりを行う。図2、図3、図9のモジュールは図1の記憶装置105にプリンタドライバ1053として記憶されており、CPU101がRAM103に展開して実行する。   FIG. 1 shows a block diagram of a system using a computer. The CPU 101 controls the entire apparatus according to a program stored in the ROM 102, the RAM 103, or the external storage device 105. The RAM 103 is also used as a work area when the CPU 101 performs various processes. The storage device 105 records an operating system (OS) 1054, application software 1051, and the like. Input devices such as a keyboard and a mouse are devices for the user to give various instructions to the computer through the input I / F 104. The output I / F 106 is an interface for outputting data to the outside, and outputs data to the monitor 110 and the printer 111. The printer 111 may be connected not only through a local I / O directly connected but also through a network such as a LAN or a WAN. Reference numeral 107 denotes a common data bus for exchanging data. 2, 3, and 9 are stored as the printer driver 1053 in the storage device 105 in FIG. 1, and the CPU 101 develops them in the RAM 103 and executes them.

図2では、XPSDrv印刷システムのブロック構成図を示す。XPSDrvとはXPS(XML Paper Specification)と呼ばれる文書ファイルフォーマットをスプールデータとして使用し、印刷を行うプリンタドライバのことを指す。ユーザはキーボードやマウスなどといった入力装置104を使用して、出力装置105のモニタに映し出されたWin32アプリケーションプログラム201(以下、Win32アプリと略す)、もしくはWindows(登録商標) Presentation Foundationアプリケーションプログラム202(以下、WPFアプリと略す)から印刷処理を実行する。印刷処理はプリンタの選択、印刷設定の作成、描画データの変換と3つの処理を順番に行うことで実行する。図2の201乃至213,215は図1の外部記憶装置105に記憶される。   FIG. 2 shows a block diagram of the XPSDrv printing system. XPSDrv refers to a printer driver that performs printing using a document file format called XPS (XML Paper Specification) as spool data. The user uses the input device 104 such as a keyboard and a mouse to display a Win32 application program 201 (hereinafter abbreviated as “Win32 application”) or a Windows (registered trademark) Presentation Foundation application program 202 (hereinafter referred to as “Win32 application”) displayed on the monitor of the output device 105. , Abbreviated as WPF application). The printing process is executed by sequentially performing three processes: printer selection, print setting creation, drawing data conversion, and so on. 201 to 213 and 215 in FIG. 2 are stored in the external storage device 105 in FIG.

まずは、印刷したいプリンタ214の選択をする、これは、印刷を実行するプリンタに対応したプリンタドライバを選択することと同義である。次に印刷設定を作成する。印刷設定はアプリケーションが印刷設定用のメモリを確保し、アプリケーションかプリンタドライバのコンフィギュレーションモジュール204が、機種依存ファイル205を利用して設定データを埋めるという形で行われる。Win32アプリ201では印刷設定データとしてバイナリのDEVMODE構造体215を用い、WPFアプリ202ではマークアップ言語のXMLで記載されたPrintTicket203を用いる。DEVMODE構造体215は図13の構造を持っており、オペレーティングシステムが定義するPublic領域とプリンタドライバが独自で定義するPrivate領域を持つバイナリの構造体である。また、PrintTicket203は、図14にあるようなXML形式で記述された印刷設定情報である。このDEVMODE構造体215もしくはPrintTicket203が印刷設定を保持しており、アプリケーションが直接書き換えることで印刷設定を変更する。プリンタ214に依存した専用の設定は、コンフィギュレーションモジュール204が持つプリンタドライバのユーザインタフェースを表示し、ユーザがユーザインタフェースを操作することで行う。プリンタドライバは、ユーザインタフェースの設定に従い、DEVMODE構造体215もしくはPrintTicket203のプリンタ214に依存した設定を変更する。印刷設定とは具体的に、出力する用紙サイズを「A4」にする、両面印刷を行う、カラーとモノクロを切り替える、給紙段を指定するなどといった設定のことを指す。PrintTicket203は印刷設定がXML形式で記述されているので、WPFアプリ202がすべての設定値を直接変更して書き換えることは容易だが、従来のようにプリンタドライバのユーザインタフェースを使って設定変更してもかまわない。   First, the printer 214 to be printed is selected, which is the same as selecting a printer driver corresponding to the printer that executes printing. Next, print settings are created. The print setting is performed in such a manner that the application secures a memory for print setting, and the configuration module 204 of the application or the printer driver fills the setting data using the model-dependent file 205. The Win32 application 201 uses a binary DEVMODE structure 215 as print setting data, and the WPF application 202 uses a PrintTicket 203 described in markup language XML. The DEVMODE structure 215 has the structure shown in FIG. 13, and is a binary structure having a public area defined by the operating system and a private area defined by the printer driver. PrintTicket 203 is print setting information described in the XML format as shown in FIG. The DEVMODE structure 215 or the PrintTicket 203 holds the print setting, and the print setting is changed by directly rewriting the application. The dedicated setting depending on the printer 214 is performed by displaying the user interface of the printer driver included in the configuration module 204 and operating the user interface. The printer driver changes the setting depending on the printer 214 of the DEVMODE structure 215 or the PrintTicket 203 according to the setting of the user interface. Specifically, the print setting refers to settings such as setting the output paper size to “A4”, performing double-sided printing, switching between color and monochrome, and specifying a paper feed stage. Since PrintTicket 203 describes the print settings in XML format, it is easy for the WPF application 202 to directly change and rewrite all the setting values. However, even if the settings are changed using the user interface of the printer driver as before, It doesn't matter.

最後に描画データの変換を行う。印刷設定が確定したら、ユーザはアプリケーションから印刷処理を実行する。Win32アプリ201から印刷する場合は、バージョン3プリンタドライバの形態を取るGDItoXPS変換モジュール206に描画データが送られ、XPSスプールファイル207が作成される。バージョン3プリンタドライバとは、Microsoft(登録商標)のWindows(登録商標)2000以降に対応したプリンタドライバのことを指す。このときGDItoXPS変換モジュール206はコンフィギュレーションモジュール204を呼び出し、印刷設定をDEVMODE構造体215からPrintTicket203に変換する。WPFアプリ202から印刷する場合は、XPSファイルをWPFアプリ自身が生成するのと、オペレーティングシステムがWPFアプリからの命令に応じてXPSファイルを生成するのと2通りの方法があるが、どちらもXPSスプールファイル207を生成する。このようにXPSDrv印刷システムは、印刷時に必ずXPSスプールファイル207を生成するのが特徴である。   Finally, drawing data is converted. When the print setting is confirmed, the user executes print processing from the application. When printing from the Win32 application 201, drawing data is sent to the GDI to XPS conversion module 206 in the form of a version 3 printer driver, and an XPS spool file 207 is created. The version 3 printer driver refers to a printer driver compatible with Windows (registered trademark) 2000 or later of Microsoft (registered trademark). At this time, the GDI to XPS conversion module 206 calls the configuration module 204 to convert the print setting from the DEVMODE structure 215 to the PrintTicket 203. When printing from the WPF application 202, there are two methods: an XPS file is generated by the WPF application itself, and an XPS file is generated by the operating system in response to a command from the WPF application. A spool file 207 is generated. As described above, the XPSDrv printing system is characterized in that the XPS spool file 207 is always generated at the time of printing.

XPSスプールファイル207が生成されたら、プリントフィルタパイプラインプロセスに処理が渡される。プリントフィルタパイプラインプロセスは複数のフィルタを通すことで印刷が行われる仕組みで、フィルタコンフィギュレーションファイル208でフィルタの数や順番を制御する。プリントフィルタパイプラインプロセスで動作するフィルタパイプラインマネージャはフィルタコンフィギュレーションファイル208に従って、この実施例では設定フィルタ209、レイアウトフィルタ210、レンダラフィルタ211の順に処理を行う。処理はXPSスプールファイル207をフィルタに受け渡すことで行われ、フィルタがそれぞれXPSスプールファイル207を加工し次のフィルタに渡していくことで処理が進む。最後にはプリンタが理解できるデータ言語であるプリンタ制御言語(以下、PDL(Page Description Language)と略す)となって出力される。もちろんプリンタ214がXPSスプールファイル207を直接読み込めるのであれば、そのままでもよい。設定フィルタ209ではPrintTicketを読み込んで印刷に必要なデータをPrintTicketに書き込む処理を、レイアウトフィルタ210では倍率の変更や製本の面付けレイアウトやスタンプなどレイアウトに関する処理を行う。レイアウトフィルタ210では、XPSスプールファイル207に含まれる印刷設定PrintTicket203に従って動作するため、たとえば面付けの設定がPrintTicket203に存在しないときは、レイアウトフィルタ210は何も動作せずスルーして、次のフィルタにXPSスプールファイル207をそのまま渡す。最後のレンダラフィルタ211では、XPSスプールファイル207をレンダリングしてPDLに変換する。PDLデータは印刷処理のスケジュール管理を行うプリントマネージャ212で管理され、キュー(待ち行列)に印刷ジョブが次々と登録される。プリンタ214が印刷できる状態になったら、キューに登録した順にPDLデータをI/Oモニタ213を通して送信する。このようにして、アプリケーションからの印刷データをプリンタ言語に変換することがプリンタドライバの主な役目であり、実際の印刷処理が行われる。   When the XPS spool file 207 is generated, processing is passed to the print filter pipeline process. The print filter pipeline process is a mechanism in which printing is performed by passing a plurality of filters, and the number and order of the filters are controlled by the filter configuration file 208. In this embodiment, the filter pipeline manager that operates in the print filter pipeline process performs processing in the order of the setting filter 209, the layout filter 210, and the renderer filter 211 in accordance with the filter configuration file 208. The processing is performed by passing the XPS spool file 207 to the filter, and the processing proceeds when the filter processes the XPS spool file 207 and passes it to the next filter. Finally, the data is output as a printer control language (hereinafter referred to as PDL (Page Description Language)) which is a data language understood by the printer. Of course, if the printer 214 can directly read the XPS spool file 207, it may be left as it is. The setting filter 209 reads the PrintTicket and writes data necessary for printing into the PrintTicket, and the layout filter 210 performs layout-related processing such as magnification change, bookbinding layout and stamp. Since the layout filter 210 operates in accordance with the print setting PrintTicket 203 included in the XPS spool file 207, for example, when the imposition setting does not exist in the PrintTicket 203, the layout filter 210 does not operate and passes through to the next filter. The XPS spool file 207 is passed as it is. The last renderer filter 211 renders the XPS spool file 207 and converts it into PDL. The PDL data is managed by a print manager 212 that manages a print processing schedule, and print jobs are successively registered in a queue (queue). When the printer 214 is ready for printing, the PDL data is transmitted through the I / O monitor 213 in the order registered in the queue. Thus, converting the print data from the application into the printer language is the main role of the printer driver, and actual print processing is performed.

図3は本実施例におけるプリンタドライバのコンフィギュレーションモジュール204のブロック図である。コンフィギュレーションモジュール301はそれぞれのプリンタの機種に依存した情報を持つ機種依存ファイル307を読み込んで動作する。このようにすることで、コンフィギュレーションモジュール301はすべてのプリンタで共通のモジュールであっても、それぞれの機種に特化した動作を行うことができる。機種依存ファイル307は実際の機種データが記述されたXMLデータファイル308を持っており、コンフィギュレーションモジュール301はXMLデータファイル308を、コンフリクトエンジン304のデータファイルパーサー305で解釈して読み込む。   FIG. 3 is a block diagram of the configuration module 204 of the printer driver in this embodiment. The configuration module 301 operates by reading a model-dependent file 307 having information dependent on the model of each printer. By doing in this way, even if the configuration module 301 is a module common to all the printers, it is possible to perform an operation specialized for each model. The model-dependent file 307 has an XML data file 308 in which actual model data is described, and the configuration module 301 interprets and reads the XML data file 308 by the data file parser 305 of the conflict engine 304.

XMLデータファイル308はプリンタの機種データを含む巨大なデータファイルとなるので、機種依存ファイル307はXMLデータファイル308をZIP圧縮することで、ファイルサイズを小さくしている。また、データファイルパーサー305は、XMLデータファイル308をいったん読み込むと、バイナリデータファイル309を作成する。バイナリデータファイル309を作成したあとは、XMLデータファイル308に変更がなければ、XMLデータファイル308の代わりにバイナリデータファイル309を使って動作する。これにより、機種依存ファイル307からXMLデータファイル308を展開する作業と、XMLデータファイル308を解析する作業が軽減され、パフォーマンスが上がる。XMLデータファイル308に変更があれば、再度XMLを読み込み、バイナリデータファイル309を作成する。   Since the XML data file 308 is a huge data file including printer model data, the model-dependent file 307 reduces the file size by compressing the XML data file 308 using ZIP compression. The data file parser 305 creates a binary data file 309 once the XML data file 308 is read. After the binary data file 309 is created, if there is no change in the XML data file 308, the operation is performed using the binary data file 309 instead of the XML data file 308. As a result, the work of expanding the XML data file 308 from the model-dependent file 307 and the work of analyzing the XML data file 308 are reduced, and the performance is improved. If there is a change in the XML data file 308, the XML is read again to create a binary data file 309.

コンフリクトエンジン304のデータファイルパーサー305は、XMLデータファイル308もしくはバイナリデータファイル309を読み込んで、状態変数(StatusVariablesとも呼ばれる。以下、SVと略す)310のオブジェクトインスタンスを作成する。SV310とは、プリンタのそれぞれの機能ごとにオブジェクトとして扱うもので、印刷設定情報の状態を表すものである。SV310は、名前、値もしくは値リスト、値に付随するプロパティ、現在値、デフォルト値、ステータス、リーズン、そしてロックフラグを持ったメモリ上に展開されるオブジェクトである。   The data file parser 305 of the conflict engine 304 reads the XML data file 308 or the binary data file 309 and creates an object instance of a state variable (also referred to as Status Variables, hereinafter abbreviated as SV) 310. The SV 310 is handled as an object for each function of the printer, and represents the state of print setting information. The SV 310 is an object developed on a memory having a name, a value or a value list, a property associated with the value, a current value, a default value, a status, a reason, and a lock flag.

たとえば、「プリンタで使用できる用紙サイズ」という機能に関するSV310を図3の例で見てみる。用紙サイズのSV310は「MediaSize」という名前を持ち、値リストとして、「A4」「Letter」「B5」「PostCard」などプリンタで使用できる用紙サイズが列挙されている。図3では現在値を黒い丸で、デフォルト値を白い丸で表しているので、デフォルトは「A4」だが、現在は「Letter」が選択されている状態を表している。また、SV310はステータスを持ち、その値が現在の設定値で利用可能かどうかを示すことができる。SV310自体にも値リストのそれぞれの値にもステータスを持ち、図3では「B5」が現在の設定では利用できない用紙ということで、「B5」の値に対して利用不可のステータスを持つ取り消し線が引かれている。用紙サイズが選択できないような状況では、「MediaSize」自体に利用不可のステータスを付けることもできる。同様に、印刷の向きとして「Orientation」、カラーとして「OutputColor」、給紙段として「InputBin」が例として挙げられている。もちろん、これ以外の機能がいくつあってもかまわない。さらに、SV310は値リストの代わりに値として、数値や文字列を持つこともできる。値リストであっても、現在値を複数持つことができるマルチセレクションという形のSV310も作成することができる。マルチセレクションのSV310は、同時に複数の値を選択していることになるので、プリンタの記憶装置に印刷ジョブを保存するボックス保存機能などで、一度の印刷で複数のボックスに同時に格納するような印刷設定を作ることができる。   For example, the SV 310 relating to the function “paper size that can be used by the printer” is illustrated in the example of FIG. The paper size SV 310 has the name “MediaSize”, and the value list lists paper sizes that can be used by the printer, such as “A4”, “Letter”, “B5”, and “PostCard”. In FIG. 3, since the current value is represented by a black circle and the default value is represented by a white circle, the default is “A4”, but currently “Letter” is selected. In addition, the SV 310 has a status and can indicate whether or not the value is available at the current set value. The SV 310 itself has a status for each value in the value list, and in FIG. 3, “B5” is a sheet that cannot be used with the current settings, and therefore a strikethrough with an unusable status for the value of “B5”. Is drawn. In a situation where the paper size cannot be selected, “MediaSize” itself can be given an unusable status. Similarly, “Orientation” as the printing direction, “OutputColor” as the color, and “InputBin” as the paper feed stage are given as examples. Of course, there can be any number of other functions. Furthermore, the SV 310 can have a numerical value or a character string as a value instead of a value list. Even for a value list, an SV 310 in the form of multi-selection that can have a plurality of current values can also be created. Since the multi-selection SV 310 selects a plurality of values at the same time, a box storage function that stores a print job in a printer storage device or the like, and printing that stores data in a plurality of boxes at the same time with a single printing. You can make settings.

禁則エンジン306はSV310を使用して禁則処理を行う。禁則とは、印刷設定の競合を禁止するためのルールである。例えば、両面 ON、OHP ONであれば、両立しえないので、片方をOFFになるように修正する、というようなルールの定義である。後に詳述する。禁則エンジン306はXMLデータファイル308もしくはバイナリデータファイル309に記載された禁則処理ルールを元に、SV310の値を変更する。禁則処理ルールは、1つ1つのSV310ごとに記載されており、他のSV310の値との関係を記載する。たとえば、部単位ソートを行うSV「Collate」の禁則処理ルールを考えてみる。部単位ソートは製本印刷を行うときは必ず使用しなければならない。このロジックをSV「Collate」の禁則処理ルールとして記載すると、「製本のSV「Booklet」がONなら、自分自身をONにする」という形で記載することになる。また、禁則処理ルールにはリーズンをセットすることができる。リーズンとは禁則処理ルールによって値が変更されたりしたときに、どの禁則処理ルールによって値が変更されたのかを区別するためのSV310につけるマークである。さらに、禁則処理ルールでは、記載した条件の結果として、値を変更するだけでなく、ステータスを変更したり、値リストから特定の値を削除したり追加することも可能である。   The prohibition engine 306 performs prohibition processing using the SV 310. The prohibition is a rule for prohibiting a conflict in print settings. For example, if both sides are ON and OHP is ON, it is impossible to achieve both, so the rule definition is to correct one to be OFF. This will be described in detail later. The forbidden engine 306 changes the value of the SV 310 based on the forbidden processing rule described in the XML data file 308 or the binary data file 309. The prohibition process rule is described for each SV 310 and describes the relationship with the values of other SVs 310. For example, consider the prohibition processing rule of SV “Collate” that performs a sort by group. The copy sort must be used when performing bookbinding printing. If this logic is described as a prohibition processing rule of SV “Collate”, it will be described in the form of “turn on itself if SV“ Booklet ”of bookbinding is ON”. In addition, a reason can be set in the prohibition process rule. The reason is a mark attached to the SV 310 for distinguishing which prohibition processing rule has changed the value when the value is changed by the prohibition processing rule. Furthermore, in the prohibition process rule, as a result of the described condition, not only the value can be changed, but also the status can be changed, and a specific value can be deleted or added from the value list.

コンフィギュレーションモジュール301は印刷設定を、DEVMODE311やPrintTicket312という形で、アプリケーションプログラムインタフェース(以下、APIと略す)を通じてアプリケーションソフトウェアと入出力することができる。コンフィギュレーションモジュール301は、DEVMODE311やPrintTicket312を、SV310の現在の値をすべて集めて全体の印刷設定として作成し、アプリケーションソフトウェアに出力する。また、入力としてDEVMODE311やPrintTicket312を受け取った場合は、その値をSV310にセットし、コンフリクトエンジン304を使用して禁則処理を行う。   The configuration module 301 can input and output print settings in the form of DEVMODE 311 and PrintTicket 312 with application software through an application program interface (hereinafter abbreviated as API). The configuration module 301 collects all the current values of the SV 310 and creates the DEVMODE 311 and the PrintTicket 312 as overall print settings, and outputs them to the application software. When DEVMODE 311 or PrintTicket 312 is received as an input, the value is set in SV 310 and the conflict engine 304 is used to perform prohibition processing.

コンフィギュレーションモジュール301はユーザに印刷設定をさせるために、ユーザインタフェース303も持っている。ユーザインタフェース303上には、SV310の現在の値を表示しており、ユーザによって値が変更されたら、その値をSV310にセットし、コンフリクトエンジン304を使用して禁則処理を行う。禁則処理を行った結果、SV310が新しい値に変更され、またユーザインタフェース303上にSV310の現在値を表示する。ユーザインタフェース303は、SV310のステータスに応じてコントロールの表示を変更する。SV310のステータスには、利用可(available)、利用不可(notavailable)、サポート不可(notsupported)、権限不可(notpermission)の4つが存在し、それぞれコントロールの表示が異なる。利用可のときは通常の表示を行うが、利用不可や権限不可のときはコントロールや選択肢をグレーアウトして選択できないようにする。サポート不可のときはコントロールを隠してユーザに見せないようにする。標準に戻すボタンを押すと、SV310をデフォルト値に変更して禁則処理を行い、ユーザインタフェース上にSV310の状態を表示する。このように、コンフィギュレーションモジュール301は、入力や出力がどんな形態であっても、すべてSV310に変換して処理を行うことで、機能や禁則処理の一括管理を行っている。   The configuration module 301 also has a user interface 303 for allowing the user to make print settings. On the user interface 303, the current value of the SV 310 is displayed. When the value is changed by the user, the value is set in the SV 310, and the conflict engine 304 is used to perform the prohibition process. As a result of the prohibition process, the SV 310 is changed to a new value, and the current value of the SV 310 is displayed on the user interface 303. The user interface 303 changes the control display according to the status of the SV 310. There are four SV310 statuses: available, not available, not supported, and not permitted, and the display of the controls is different. When it is available, the normal display is performed, but when it is unavailable or not authorized, the controls and options are grayed out so that they cannot be selected. When support is not possible, hide the control so that it is not visible to the user. When the button for returning to the standard is pressed, the SV 310 is changed to the default value, the prohibition process is performed, and the state of the SV 310 is displayed on the user interface. As described above, the configuration module 301 performs batch management of functions and prohibition processes by converting all the inputs and outputs into the SV 310 and performing the process.

SV310の特別な機能として、値や値リストを固定化するロック機能を持っている。SV310のロックフラグがONになると、SV310は外部から値を変更したり、禁則処理ルールによって変更することができなくなる。ロック機能をONにするには、XMLデータファイル308かバイナリデータファイル309にあらかじめ記載しておくか(図8)、API302やユーザインタフェース303から指定する。図6はロック機能をON・OFFするためのユーザインタフェース303上の表示である。ロック機能は管理者権限を持つユーザのみに指定することを許可しており、図6では両面をロックしたときの表示を表す。図7はロック機能をONにしたときのユーザインタフェース303上の表示を表す。図7では両面をロックしているので、両面が常にONとなりユーザが操作できないようにコントロールをグレーアウトしている。また、ロックしていることを表すために、コントロールの横にロック専用の鍵のマークを表示する。ロックしているコントロール、もしくはロック専用の鍵のマークをポインティングデバイスで指し示すと、ツールチップを表示し固定化していることを表示する。   As a special function of the SV 310, it has a lock function for fixing values and value lists. When the lock flag of the SV 310 is turned ON, the SV 310 cannot change the value from the outside or change according to the prohibition process rule. In order to turn on the lock function, it is described in advance in the XML data file 308 or the binary data file 309 (FIG. 8), or designated from the API 302 or the user interface 303. FIG. 6 shows a display on the user interface 303 for turning on / off the lock function. The lock function allows only a user with administrator authority to specify, and FIG. 6 shows a display when both sides are locked. FIG. 7 shows a display on the user interface 303 when the lock function is turned on. In FIG. 7, since both sides are locked, the controls are grayed out so that both sides are always ON and the user cannot operate. In addition, a lock-only key mark is displayed next to the control to indicate that it is locked. When a locked control or a lock-only key mark is pointed with a pointing device, a tooltip is displayed to indicate that it is locked.

図4はXMLデータファイル308の一部を示している。XMLデータファイル308には、プリンタの機能に応じて、SV310の情報と、禁則処理ルールを記載してあるが、図4はそのうち「Collate」のSV310について記載した箇所である。StatusVariableという要素でSV310を定義する。ここにはnameという属性でSV310の名前を、typeという属性でSV310の型を定義している。図4ではnameには「Collate」を、typeには「selection」を記載している。「selection」型というのは、値リストを使用するSV310であることを示している。次にSV310の定義としてPropertyTable要素と、ConflictRules要素を記載する。PropertyTable要素にはSV310のパラメータを、ConflictRule要素には禁則処理ルールを記載する。PropertyTable要素にはValueInfoTable要素とReasonInfoTable要素の2つがあり、それぞれ値とリーズンを定義する。ValueInfoTable要素にはValueSet要素に値リストのそれぞれの値を記載する。ValueSet要素の1つ1つの値には、Property要素として値に付加するデータを追記することもできる。たとえば、用紙サイズ「A4」に関して幅や高さなどの情報を付加したいときにProperty要素を使用する。DefaultValue要素には値リストのうちデフォルト値となるものを記載する。図4では「Collated」と「Uncollated」という2つの値と、「Collated」がデフォルト値であることが記載されている。また、ReasonInfoTable要素にはReasonSet要素として、リーズンを3つ記載している。ConflictRules要素にはConflict要素で1つの禁則処理ルールを記載する。禁則処理ルールにはそれぞれ優先度が存在し、それをpriorityという属性で記載する。優先度の値が小さいものから禁則処理ルールを評価していくので、小さいほうの優先度が高い。このようにSV310ごとに優先度が設定されているのは、同時入力時の禁則処理を行うために存在する。印刷設定として入力される値がすでに禁則状態にあり、どちらかの値を変更しなければならないときに、優先度が高い機能の値を優先して設定することで、ユーザが望むような印刷設定を行うことができる。優先度が存在しない場合は、禁則処理ルールを評価する順番によっては、先に評価したほうの機能が優先されるので、いつも一定の結果になるとは限らなくなってしまう。Conflict要素にはValue要素とCondition要素があり、Value要素には、禁則した結果として変わる値を記載する。また、Conflict要素には禁則した結果として変わるステータスをstatus属性で記載できる。Condition要素には、禁則する対象のSV310の名前と値を記載する。name属性には対象のSV310の名前を、Value要素には対象のSV310の値を記載する。Condition要素を並列に記載する場合は、論理積(AND)の意味となる。他に算術演算のような機能もあり、result属性がfalseの場合は否定(NOT)に、Block要素は括弧に、AnyOneCondition要素は論理和(OR)になる。図4では3つの禁則処理ルールがある。製本のSV310である「Booklet」の値が「None」以外だったら、「Collated」にしてSV310自体のステータスを利用不可「NotAvailable」にする。表紙「CoverFront」と裏表紙「CoverBack」が「NoCover」以外つまり指定されているときは、「Collated」にしてSV310自体のステータスを利用不可「NotAvailable」にする。ステイプル「Staple」が中とじ「SaddleStitch」のときは「Collated」にしてSV310自体のステータスを利用不可「NotAvailable」にするという3つの禁則処理ルールである。   FIG. 4 shows a part of the XML data file 308. In the XML data file 308, information on the SV 310 and prohibition processing rules are described in accordance with the function of the printer, and FIG. 4 shows the location of the SV 310 of “Collate”. The SV 310 is defined by an element “Status Variable”. Here, the name of the SV 310 is defined by the attribute “name”, and the type of the SV 310 is defined by the attribute “type”. In FIG. 4, “Collate” is described in the name, and “selection” is described in the type. The “selection” type indicates that the SV 310 uses a value list. Next, a PropertyTable element and a ConflictRules element are described as the definition of SV310. SV310 parameters are described in the PropertyTable element, and forbidden processing rules are described in the ConflictRule element. The PropertyTable element has two values, a ValueInfoTable element and a ReasonInfoTable element, which define a value and a reason, respectively. Each value of the value list is described in the ValueSet element in the ValueInfoTable element. Data added to a value as a Property element can be additionally written to each value of the ValueSet element. For example, the Property element is used when it is desired to add information such as width and height regarding the paper size “A4”. In the DefaultValue element, a default value in the value list is described. In FIG. 4, two values “Collated” and “Uncollated” and “Collated” are default values are described. In addition, the ReasonInfoTable element describes three Reasons as ReasonSet elements. In the ConflictRules element, one prohibition processing rule is described in the Conflict element. Each forbidden processing rule has a priority, which is described with an attribute called priority. Since the prohibition processing rule is evaluated from the smallest priority value, the smaller priority is higher. The priority is set for each SV 310 as described above in order to perform prohibition processing at the time of simultaneous input. When a value entered as a print setting is already in a prohibited state and one of the values must be changed, the print setting as desired by the user can be set by giving priority to the function value with a higher priority. It can be performed. If there is no priority, depending on the order in which the forbidden processing rules are evaluated, the function that has been evaluated first is given priority, so the result is not always constant. The Conflict element has a Value element and a Condition element, and the Value element describes a value that changes as a result of prohibition. Also, in the Conflict element, a status that changes as a result of the prohibition can be described with a status attribute. In the Condition element, the name and value of the prohibited SV 310 are described. In the name attribute, the name of the target SV 310 is described, and in the Value element, the value of the target SV 310 is described. When Condition elements are described in parallel, it means logical product (AND). In addition, there is a function such as arithmetic operation. When the result attribute is false, the result is negative (NOT), the Block element is in parentheses, and the AnyOneCondition element is logical sum (OR). In FIG. 4, there are three prohibition processing rules. If the value of “Booklet”, which is the SV 310 of the bookbinding, is other than “None”, the status of the SV 310 itself is set to “NotAvailable”, which is “Collated”. If the cover “CoverFront” and the back cover “CoverBack” are other than “NoCover”, that is, they are designated as “Collated”, the status of the SV 310 itself is set to “NotAvailable”. When the staple “Staple” is the saddle stitch “SaddleStitch”, there are three prohibition processing rules that “Collated” and the status of the SV 310 itself cannot be used “NotAvailable”.

図5は、プリンタドライバに対してユーザが設定を指示したときに開始する。S501は、その都度確認することになっているが、予め処理をして、ユーザが印刷設定を変更したら、S502以降からの処理をするようにしてもよい。   FIG. 5 starts when the user instructs setting to the printer driver. S501 is to be confirmed each time, but if processing is performed in advance and the user changes the print setting, the processing from S502 onward may be performed.

次に、コンフリクトエンジン304の禁則エンジン306による禁則処理のロジックを、図5のフローチャートに沿って追っていく。まずは、API302やユーザインタフェース303からSV310のロック機能の情報をもらう。ロック情報を元に禁則エンジン306は、対象となるSV310の値をロックする値に変更し、ロックフラグを立てる(ステップ501)。また、デフォルト値をロックする値に変更する。   Next, the logic of the prohibition process by the prohibition engine 306 of the conflict engine 304 is followed along the flowchart of FIG. First, information on the lock function of the SV 310 is obtained from the API 302 or the user interface 303. Based on the lock information, the prohibition engine 306 changes the value of the target SV 310 to a value to be locked, and sets a lock flag (step 501). Also, the default value is changed to a lock value.

ステップ502では、次にAPI302やユーザインタフェース303が、DEVMODE構造体やPrintTicketなどの印刷設定や、ユーザインタフェースからのコントロールの入力から、ユーザが指定した印刷設定情報を受け取る(ステップ502)。API302やユーザインタフェース303は受け取った印刷設定情報を元に、変更するSV310の値のリストを作成する。これはSV310の名前と値のペアと、印刷設定情報との組み合わせが記載されたテーブルを持っていて、そのテーブルに沿ってリストを作成する。テーブルはXMLファイルに記載されており、機種依存ファイル307に含まれている。禁則エンジン306は値のリストを元に、対応するSV310の現在値をそれぞれ印刷設定の値に変更する(ステップ503)。禁則エンジン306はここで値が変更されたSV310のリストを作成する(ステップ504)。すでに印刷設定の値でリストを作成しているが、ここでは値が変更できたSV310のリストを作成している。また、禁則処理ルールを処理する過程においては、実際に値を変更したSV310と禁則処理ルールの結果値が変更されたSV310の両方を含んだリストを作成する。ステップ504で作成したリストに含まれるSV310の禁則処理ルールをすべて取り出し、優先度順に並べる(ステップ505)。ここで、SV310の中でロックされているものがあれば、ロックされたSV310の禁則処理ルールをまず優先度順に並べ、他の禁則処理ルールはその後ろに優先度順に並べる。優先度順に並べた禁則処理ルールがまだ存在していれば(ステップ506)、禁則処理ルールを1つ取り出し(ステップ508)、禁則処理ルールの評価を行う。禁則処理ルールに記載されたSV310の値やプロパティを参照し、禁則処理ルールにおけるCondition要素に合致してルールが成立するかどうかを判定する。禁則処理ルールが成立するのであれば、SV310の値を変更する必要があるかどうかを判定する(ステップ509)。値を変更しなければならないときは、ロック情報によってロックフラグが立っているかどうかを判定する(ステップ510)。ロックされているときは、禁則処理ルールにおけるCondition要素に含まれるSV310の値に対して、ステータスを利用不可に変更する(ステップ511)。つまり、通常は禁則処理ルールに記載された対象のSV310の値によって自分の値を変更するのに対して、ロックのときは対象のSV310のステータスを変えるように動作する。ロックされていないときは通常の禁則処理として、禁則処理ルールに従って値を変更しようとする。このとき、変更しようとしている対象のSV310の値が、禁則処理によってすでに1度値が変更されたことがないかどうかのフラグを判定する(ステップ512)。禁則処理は値が変更されたことを起点とし、禁則処理ルールを評価していくが、値が何度も変更されてしまうと、禁則処理ルールによっては評価がループしてしまい終わらなくなることがある。そこで、禁則処理ルールによってSV310の値が変更されるのは1回までとして制限することで、無現ループすることを防いでいる。値が1回も変更されていないことが確かめられたら、SV310の値を変更し、SV310の値を禁則処理ルールによって変更したというフラグを立てる(ステップ513)。そして、次の禁則処理ルールを評価する。禁則処理ルールがすべてなくなったら、禁則処理によって値が変更されたSV310があるかどうかを判定する(ステップ507)。値がひとつも変更されていなければ、すべての禁則処理ルールを評価した結果、値が安定した状態にあると判断し終了する。変更されていれば、値が変更されたSV310の禁則処理ルールをすべて取り出し、優先度順に並べて再度評価を行う。このときもロックしているSV310は優先度を高くする。   In step 502, the API 302 and the user interface 303 next receive print setting information designated by the user from print settings such as a DEVMODE structure and a PrintTicket, and control inputs from the user interface (step 502). The API 302 and the user interface 303 create a list of SV 310 values to be changed based on the received print setting information. This has a table in which combinations of SV310 name / value pairs and print setting information are described, and a list is created along the table. The table is described in the XML file and is included in the model-dependent file 307. The forbidden engine 306 changes the current value of the corresponding SV 310 to the print setting value based on the list of values (step 503). The forbidden engine 306 creates a list of SVs 310 whose values have been changed (step 504). A list has already been created with the print setting values, but here a list of SVs 310 whose values have been changed is created. Further, in the process of processing the prohibition process rule, a list including both the SV 310 whose value is actually changed and the SV 310 whose result value of the prohibition process rule is changed is created. All the prohibition processing rules of SV 310 included in the list created in step 504 are extracted and arranged in order of priority (step 505). Here, if any of the SVs 310 is locked, the prohibited processing rules of the locked SV 310 are first arranged in order of priority, and the other prohibited processing rules are arranged in order of priority after that. If there are still prohibition processing rules arranged in order of priority (step 506), one prohibition processing rule is extracted (step 508), and the prohibition processing rule is evaluated. With reference to the value or property of the SV 310 described in the prohibition process rule, it is determined whether the rule is satisfied in conformity with the Condition element in the prohibition process rule. If the prohibition process rule is established, it is determined whether or not the value of the SV 310 needs to be changed (step 509). When the value must be changed, it is determined whether or not the lock flag is set based on the lock information (step 510). When locked, the status is changed to unusable for the value of the SV 310 included in the Condition element in the forbidden processing rule (step 511). In other words, the value of the target SV 310 is normally changed according to the value of the target SV 310 described in the prohibition process rule, whereas the status of the target SV 310 is changed when locked. When it is not locked, it tries to change the value according to the prohibition process rule as a normal prohibition process. At this time, the flag of whether or not the value of the target SV 310 to be changed has been changed once by the prohibition process is determined (step 512). Forbidden processing starts with the value being changed and evaluates the forbidden processing rule, but if the value is changed many times, depending on the forbidden processing rule, the evaluation may loop and may not end. . Thus, the value of the SV 310 is changed by the prohibition process rule only once, thereby preventing an infinite loop. If it is confirmed that the value has never been changed, the value of the SV 310 is changed, and a flag is set that the value of the SV 310 has been changed by the prohibition process rule (step 513). Then, the next prohibition processing rule is evaluated. When all of the prohibition process rules are eliminated, it is determined whether there is an SV 310 whose value has been changed by the prohibition process (step 507). If no value has been changed, as a result of evaluating all the prohibition processing rules, it is determined that the value is in a stable state, and the process ends. If it has been changed, all the prohibited processing rules of the SV 310 whose values have been changed are taken out, arranged in order of priority, and evaluated again. At this time, the SV 310 that is locked increases the priority.

このように、コンフィギュレーションモジュール301はコンフリクトエンジン304とSV310の持つロック機能を利用して、機能を完全に固定化することができ、禁則処理においても矛盾がないように動作する。   As described above, the configuration module 301 can completely fix the function by using the lock function of the conflict engine 304 and the SV 310, and operates so as not to contradict the prohibition process.

(実施例2)
実施例1とは別のコンフィギュレーションモジュールの実施方法として、図9のブロック図にあるシステムを挙げる。実施例1との違いは禁則処理ルールで、実施例1の禁則処理ルールでは対象の値を元に自分の変更になる値を記載していたが、実施例2の禁則処理ルールでは、同時に設定することが不可能な組み合わせを記載するというのが異なる。したがって、コンフリクトエンジンが禁則処理を行うロジックも異なるが、優先度の並び変えによって同等のロック機能を実現する。
(Example 2)
A system shown in the block diagram of FIG. 9 is given as an implementation method of the configuration module different from that of the first embodiment. The difference from the first embodiment is a forbidden processing rule. In the forbidden processing rule of the first embodiment, the value to be changed based on the target value is described, but in the forbidden processing rule of the second embodiment, it is set simultaneously. It is different to describe combinations that are impossible to do. Therefore, although the logic that the conflict engine performs forbidden processing is different, an equivalent lock function is realized by rearranging the priorities.

図9において、コンフィギュレーションモジュール903は、プリンタが異なっても同じモジュールを使える共通のモジュールである。プリンタごとに依存するデータはGPD(Generic Description Language)と呼ばれるテキストファイルに記載しており、GPDファイルをコンフィギュレーションモジュール903のGPDパーサー904が解釈して動作することで、プリンタ固有の動作を実現している。図9では、プリンタAに対応したGPD901を読み込めばプリンタAの動作を、プリンタBに対応したGPD902を読み込めばプリンタBの動作を行う。プリンタドライバを使用するたびにGPDファイルをGPDパーサー904が読み込むのは非効率なので、GPDファイルを読み込んだらバイナリファイルを作成し保存しておく。その後、GPDファイルの記載に変更がなければ、バイナリファイルを使って動作することで、高速化を実現している。   In FIG. 9, a configuration module 903 is a common module that can use the same module even if the printers are different. The data depending on each printer is described in a text file called GPD (Generic Description Language), and the GPD parser 904 of the configuration module 903 interprets and operates the GPD file to realize the operation specific to the printer. ing. In FIG. 9, the operation of the printer A is performed when the GPD 901 corresponding to the printer A is read, and the operation of the printer B is performed when the GPD 902 corresponding to the printer B is read. Since it is inefficient for the GPD parser 904 to read the GPD file every time the printer driver is used, when the GPD file is read, a binary file is created and saved. After that, if there is no change in the description of the GPD file, speeding up is realized by operating using the binary file.

図9では、プリンタAに対応したGPD901を読み込んだときは、バイナリデータ906を、プリンタBに対応したGPD902を読み込んだときは、バイナリデータ907を作成している。GPDに記載されたデータを元に、コンフィギュレーションモジュール903は機能ごとのオブジェクトインスタンスを作成し、禁則処理を行う。アプリケーション910からの印刷設定データはCOMPSTUI.DLL909を経由してコンフィギュレーションモジュール903に渡される。また、ユーザインタフェースでの印刷設定はCOMMONUI905上からコンフィギュレーションモジュール903に渡される。コンフィギュレーションモジュール903は印刷設定を機能ごとのオブジェクトインスタンスに反映させ、禁則処理を行ってまた、アプリケーション910やユーザインタフェース上に印刷設定を返している。コンフィギュレーションモジュール903はまたユーザインタフェースプラグイン908を使って、新たな機能を自由に追加することができる。   In FIG. 9, binary data 906 is created when GPD 901 corresponding to printer A is read, and binary data 907 is created when GPD 902 corresponding to printer B is read. Based on the data described in the GPD, the configuration module 903 creates an object instance for each function and performs a prohibition process. The print setting data from the application 910 is COMPSTUI. It is passed to the configuration module 903 via the DLL 909. Also, print settings on the user interface are transferred from the COMMONUI 905 to the configuration module 903. The configuration module 903 reflects the print setting in the object instance for each function, performs prohibition processing, and returns the print setting on the application 910 or the user interface. The configuration module 903 can also use the user interface plug-in 908 to freely add new functions.

図10はGPDの記載の一部である。*Featureは機能の名前を記述する。図10ではプリンタの給紙段でInputBinという名称をつけたFeatureとして定義している。*Optionは機能に対する値である。図10ではAUTO、INPUTTRAY_MANUAL、INPUTTRAY_CASSETTE1、INPUTTRAY_CASSETTE2の4つのOptionが存在し、どれか1つをInputBinの現在値として選択することになる。*DefaultOptionではOptionのうちどれがデフォルト化を記述する。ここではAUTO、つまり給紙段の「自動」がデフォルトであるという記載になる。   FIG. 10 is a part of the description of GPD. * Feature describes the name of the function. In FIG. 10, it is defined as a Feature with the name InputBin in the paper feed stage of the printer. * Option is a value for the function. In FIG. 10, there are four options of AUTO, INPUTTRAY_MANUAL, INPUTTRAY_CASSETTE 1 and INPUTTRAY_CASSETTE 2, and one of them is selected as the current value of InputBin. * In DefaultOption, which of the options describes the default. Here, AUTO, that is, “automatic” of the paper feed stage is the default.

禁則処理ルールとしては、*Constraintsと*InvalidConbinationの2つがある。*Constraintsは自分のOptionと他のFeatureのOptionと同時に組み合わさってはならない禁則を記載する。*InvalidConbinationはGPDファイルのルート(行の先頭)に記載し、FeatureのOption同士の禁則を記載する。*InvalidConbinationでは2つ以上のOptionの禁則が記載することができるのが、*Constraintsとの違いである。また、*ConflictPriorityでは、Featureの優先度を記載している。数値が小さいほど優先度が高く、先に禁則処理を評価する。このGPDを読み込んで、コンフィギュレーションモジュール903はFeatureオブジェクトを作成し、禁則処理を行う。   There are two prohibition processing rules: * Constraints and * Invalid Combination. * Constrains describes a prohibition that must not be combined with your own Option and another Feature Option. * Invalid Combination is described in the root of the GPD file (at the beginning of the line), and the prohibition between the Option of Feature is described. * In Invalid Combination, two or more Option prohibitions can be described, which is a difference from * Constraints. Also, * ConflictPriority describes the priority of Feature. The smaller the numerical value, the higher the priority, and the prohibition process is evaluated first. By reading this GPD, the configuration module 903 creates a Feature object and performs a prohibition process.

また、FeatureにはOptionを固定化するためにロックしているかどうかのフラグを持ち、ロックしている場合はOptionが変更されないようにしている。ロックはGPDのFeatureにあらかじめ記載しておくことも可能である(図12)。   The Feature has a flag indicating whether the Option is locked in order to fix the Option, and the Option is not changed when the Option is locked. The lock can be described in advance in the GPD Feature (FIG. 12).

コンフィギュレーションモジュール903が行う禁則処理のロジックを、図11のフローチャートに従って追っていく。Featureのロック情報をアプリケーション910やCommonUIのユーザインタフェース905が持っていたときは、指定されたFeatureのOptionに変更し、ロックフラグを立てる(ステップ1101)。   The prohibition processing logic performed by the configuration module 903 is followed according to the flowchart of FIG. When the feature lock information is held by the application 910 or the user interface 905 of the CommonUI, the feature is changed to the specified Feature Option and a lock flag is set (step 1101).

また、DefaultOptionをロックするOptionに変更する。次にアプリケーション910やCommonUIのユーザインタフェース905からユーザが指定した印刷設定情報を受け取る(ステップ1102)。この時点ではまだFeatureにOptionをセットしない。すべてのFeatureをリストとして列挙し、ConflictPriority順にリストを並べる(ステップ1103)。   Also, the DefaultOption is changed to an Option that locks the DefaultOption. Next, print setting information designated by the user is received from the application 910 or the user interface 905 of the CommonUI (step 1102). At this time, Option is not set in Feature yet. All the features are listed as a list, and the list is arranged in the order of ConflictPriority (step 1103).

ここで、ロックされているFeatureがあれば、ロックされているFeatureをConflictPriority順に並べ、その後ろに通常のFeatureをConflictPriority順に並べる。リストにFeatureが残っていれば(ステップ1104)、リストからFeatureを取り出す(ステップ1105)。指定された印刷設定の値に対応するFeatureのOption、つまり設定しようとしているOptionが、ConstraintsもしくはInvalidConbinationの対象となっているかどうかを、すべてのConstraintsもしくはInvalidConbinationを見て判定する(ステップ1106)。   Here, if there is a locked Feature, the locked Feature is arranged in the order of Conflict Priority, and then the normal Feature is arranged in the order of Conflict Priority. If a feature remains in the list (step 1104), a feature is extracted from the list (step 1105). Whether all the Option of the Feature corresponding to the designated print setting value, that is, the Option to be set, is the target of the Constraints or Invalid Combination is determined by looking at all the Constraints or Invalid Combination (Step 1106).

対象となっていれば、禁則状態にあるということで、印刷設定をFeatureの現在の値としてOptionに設定することはできないので、次のFeatureに進む。禁則状態でなければ、次に現在のFeatureのOptionがロック状態になるかどうかを確認する(ステップ1107)。   If it is a target, the print setting cannot be set to Option as the current value of Feature because it is in a prohibited state, and the process proceeds to the next Feature. If it is not in the forbidden state, it is next checked whether or not the current Feature Option is locked (step 1107).

現在のOptionがロック状態であれば、やはり印刷設定をOptionとして設定することができないので、次のFeatureに進む。変更するOptionが禁則状態ではなく、かつ現在のOptionがロック状態でなければ、Featureに印刷設定の値としてOptionをセットする(ステップ1108)。そして、すべてのFeatureに対して処理が終わったら、終了となる。   If the current Option is locked, the print setting cannot be set as Option as well, and the process proceeds to the next Feature. If the Option to be changed is not in the prohibited state and the current Option is not in the locked state, Option is set as the print setting value in Feature (step 1108). Then, when the processing is completed for all the features, the process ends.

このように、Featureをロックすることで、機能を固定化することができる。機能を固定化したり、禁則処理を行うにあたっては実施例2のほうが簡易であり実装しやすい。しかし、実施例2の禁則処理では、値を変更することで他の値を変更するという処理ができないため、ユーザは印刷設定が禁則状態にあるときはいったん禁則状態を解除するように設定を変更し、再度、値を設定するということをしなければならなくなる。   Thus, the function can be fixed by locking the Feature. The second embodiment is simpler and easier to implement when fixing functions or performing prohibition processing. However, in the prohibition process of the second embodiment, it is not possible to change another value by changing the value. Therefore, when the print setting is in the prohibition state, the user changes the setting to cancel the prohibition state once. Then, again, the value must be set.

他に、固定化指示可能な印刷設定として、パスワードによる親展印刷の設定の固定、ユーザ名・日時印刷固定なども想定できる。これらの印刷設定を固定化した場合、セキュアプリント固定にすると、保存(メールボックス)や追い越し印刷がOFFになる。ユーザ名や、日時の印刷の固定にすると、ポスターがOFFになるという処理が走る。プリンタのメモリとは、プリンタメモリである。ユーザインタフェース画面とは、ユーザインタフェースの画面である。   In addition, as a print setting that can be instructed to be fixed, it is possible to fix a confidential print setting using a password, a user name / date / time print fixed, and the like. When these print settings are fixed, if secure print is fixed, storage (mailbox) and overtaking printing are turned off. If the user name or date / time printing is fixed, the poster is turned off. The printer memory is a printer memory. The user interface screen is a user interface screen.

本実施形態の技術原理をまとめておく。   The technical principle of this embodiment will be summarized.

印刷装置の一例であるプリンタ214に対して送信して印刷させるデータを生成するプリンタドライバにおける印刷設定を処理するコンピュータを開示した。そして、外部記憶装置に、印刷設定の禁則を定義した禁則ルールを記憶する。そして、プリンタドライバのユーザインタフェースやXMLファイルを用いて、印刷設定の固定化を指示する。さらに、コンフィギュレーションモジュールは、固定化を指示された印刷設定に関わる禁則ルールの優先度を従前の優先度よりも上げる。これは、ルール優先度設定の一例である。   A computer that processes print settings in a printer driver that generates data to be transmitted to a printer 214, which is an example of a printing apparatus, is disclosed. Then, the prohibition rule defining the prohibition of print setting is stored in the external storage device. Then, the print driver is instructed to be fixed using the user interface of the printer driver or the XML file. Further, the configuration module raises the priority of the prohibition rule related to the print setting instructed to be fixed higher than the previous priority. This is an example of rule priority setting.

外部記憶装置に、印刷設定の値をオブジェクトとして格納する。   The print setting value is stored as an object in the external storage device.

コンフィギュレーションモジュールは、禁則処理ルールを元にしてオブジェクトの値を変更し、優先度順に禁則処理ルールを評価する。そして、固定化を指示された印刷設定は、ユーザインタフェースからの入力または禁則処理ルールの実行により変更されないようにする。さらに、値を固定化指示したオブジェクトに対して値を変更するような禁則処理ルールを処理するときは、コンフィギュレーションモジュールは、変更する原因となったオブジェクトの値をプリンタドライバのユーザインタフェースから選択できない状態にすることができる。   The configuration module changes the value of the object based on the prohibition processing rule, and evaluates the prohibition processing rule in order of priority. The print setting instructed to be fixed is not changed by input from the user interface or execution of the prohibition process rule. Furthermore, when processing a prohibition processing rule that changes a value for an object for which a value is instructed to be fixed, the configuration module cannot select the value of the object that caused the change from the user interface of the printer driver. Can be in a state.

プリンタドライバのユーザインタフェースは、固定化を指示された印刷設定をモニタ110に識別可能に表示する処理を制御する。例えば、図7のごとくである。   The user interface of the printer driver controls processing for displaying the print setting instructed to be fixed on the monitor 110 in an identifiable manner. For example, as shown in FIG.

禁則処理の優先順位はメーカが勝手に決めている。しかし、本実施形態を用いて、禁則処理を自由に変更できるのは便利である。両面固定、2Up固定、モノクロ固定、保存(メールボックス)固定などをユーザインタフェースやXMLファイルで指示できるようにすると好適である。メールボックスとは、プリンタや複合機のメモリ上に、PCから印刷データ等を送信して格納させるためのボックスである。設定によっては、印刷出力を禁止し、必ずメールボックスに保存させることもできる。   The priority of the prohibition processing is decided arbitrarily by the manufacturer. However, it is convenient that the prohibition process can be freely changed using this embodiment. It is preferable that the user interface or the XML file can be instructed to fix both sides, 2Up, monochrome and save (mailbox). A mail box is a box for transmitting print data and the like from a PC and storing them on the memory of a printer or multifunction peripheral. Depending on the setting, print output can be prohibited and always saved in a mailbox.

また、他の人からもらった文書の印刷設定が「はがき」になっていたときに、「はがき」であることを意識せずに印刷してしまったときなどは印刷できないよりも「A4」「両面」で出てくれるのは便利である。また、保存(メールボックス)固定にすると、指定した用紙サイズが「ユーザ定義用紙(長尺)」→「A4」に修正される。これまでの処理であれば、長尺用紙で印刷になってしまっていたので、常に保存にさせることで紙資源の無駄を防げる。つまり、この環境では長尺用紙は使えないということになる。また、他の実施形態として、メールボックスへの保存設定に違反する設定があれば、メールボックスへの印刷データの保管はせずに、印刷中止して、管理者に対して通知しても良いと思われる。ここでは、メールボックスの設定は、印刷に関わる設定としておく。   In addition, when the print setting of a document received from another person is “postcard”, when printing is performed without being aware of “postcard”, “A4”, “ It is convenient to come out on both sides. Further, when the storage (mailbox) is fixed, the designated paper size is corrected from “user-defined paper (long)” to “A4”. In the case of the processing so far, printing has been performed on a long sheet of paper, so it is possible to prevent waste of paper resources by always storing it. In other words, long paper cannot be used in this environment. As another embodiment, if there is a setting that violates the setting for saving in the mailbox, printing may be canceled and the administrator notified without storing the print data in the mailbox. I think that the. Here, the mailbox setting is set to be related to printing.

また、2Up固定にすると、製本がOFFに修正される設計も想定できる。製本ができるときは製本で、2Upは諦め、製本がプリンタの仕様上でないときは2Upに固定する、準固定モードも想定できる。   Moreover, when 2Up is fixed, a design in which bookbinding is corrected to OFF can be assumed. A semi-fixed mode can be assumed in which bookbinding is performed when bookbinding is possible, 2Up is given up, and bookbinding is fixed at 2Up when the bookbinding is not on the printer specifications.

(他の実施形態)
本実施形態における図5、図11に示す処理が、外部からインストールされるプログラムによって、コンピュータにより遂行される。そして、その場合、CD−ROMやフラッシュメモリやFD等の記憶媒体により、あるいはネットワークを介して外部の記憶媒体から、プログラムを含む情報群をホストコンピュータに供給される場合でも本発明は適用されるものである。
(Other embodiments)
The processing shown in FIGS. 5 and 11 in this embodiment is performed by a computer by a program installed from the outside. In this case, the present invention is applied even when an information group including a program is supplied to a host computer 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 system or apparatus can be obtained by supplying the storage medium storing the program code of the software that implements the functions of the above-described embodiments to the system or apparatus, or downloading the storage medium from an external server (not shown). It goes without saying that the object of the present invention can also be achieved by the computer (or CPU or MPU) reading and executing the program code stored in the storage medium.

この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。プログラムコードを供給するための記憶媒体としては、たとえば、フロッピィーディスク、ハードディスク、光ディスク、光磁気ディスク、DVD、CD−ROM、磁気テープ、不揮発性のメモリカード、ROM、EEPROM等を用いることができる。   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. As a storage medium for supplying the program code, for example, a floppy disk, hard disk, optical disk, magneto-optical disk, DVD, CD-ROM, magnetic tape, nonvolatile memory card, ROM, EEPROM, or the like can be used.

また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。   Further, by executing the program code read by the computer, not only the functions of the above-described embodiments are realized, but also an OS (operating system) or the like running on the computer based on the instruction of the program code. It goes without saying that a case where the function of the above-described embodiment is realized by performing part or all of the actual processing and the processing is included. Further, after the program code read from the storage medium is written to a memory provided in a function expansion board inserted into the computer or a function expansion unit connected to the computer, the function expansion is performed based on the instruction of the program code. It goes without saying that the case where the CPU or the like provided in the board or the function expansion unit performs part or all of the actual processing and the functions of the above-described embodiments are realized by the processing.

Claims (19)

データをプリンタに保存する機能を常に有効とするか否かの指示を受け付ける受付画面を表示する第1表示手段と、
前記受付画面を介して前記データをプリンタに保存する機能を常に有効とする指示を受け付ける指示手段と、
前記データをプリンタに保存する機能を常に有効とする指示を受け付けた場合、前記データをプリンタに保存する機能について有効から無効への変更を受け付けない印刷設定画面を表示する第2表示手段とを有し、
前記データをプリンタに保存する機能を常に有効とする指示を受け付けた場合、前記データをプリンタに保存する機能が常に有効とされていることを示す情報が前記印刷設定画面に表示されることを特徴とする情報処理装置。
First display means for displaying an acceptance screen for accepting an instruction as to whether or not to always enable the function of saving data in the printer;
An instruction means for receiving an instruction to always enable the function of saving the data in a printer via the reception screen;
And a second display means for displaying a print setting screen that does not accept a change from valid to invalid for the function of saving the data in the printer when an instruction to always validate the function of saving the data in the printer is received. And
When an instruction to always enable the function of storing the data in the printer is received, information indicating that the function of storing the data in the printer is always enabled is displayed on the print setting screen. Information processing apparatus.
前記プリンタは、複合機であることを特徴とする特徴とする請求項1に記載の情報処理装置。 The information processing apparatus according to claim 1, wherein the printer is a multifunction peripheral . 前記印刷設定画面は、リンタドライバにより提供されるユーザインタフェースであることを特徴とする請求項1または2に記載の情報処理装置。 The print setting screen, the information processing apparatus according to claim 1 or 2, characterized in that a user interface provided by the printer driver. 前記指示手段は、所定の権限を持ったユーザから前記データをプリンタに保存する機能を常に有効とする指示を受け付けることを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。 The information processing apparatus according to any one of claims 1 to 3, wherein the instruction unit receives an instruction to always enable a function of saving the data in a printer from a user having a predetermined authority. . 前記情報が、データをプリンタに保存する機能を指定する項目の横に表示されることを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。 The information processing apparatus according to any one of claims 1 to 4, characterized in that the display the previous SL data next to the item to specify the function to be stored in the printer. 前記受付画面は、さらに他の機能を常に有効とするか否かの指示を受け付けることを特徴とする請求項1乃至5のいずれか1項に記載の情報処理装置。 The information processing apparatus according to claim 1 , wherein the reception screen receives an instruction as to whether or not to enable another function at all times . 前記データをプリンタに保存する機能を指定する項目はグレーアウトして表示されることを特徴とする請求項1乃至6のいずれか1項に記載の情報処理装置。 The information processing apparatus according to claim 1, wherein an item for designating a function for storing the data in a printer is displayed in gray. 前記報は、ークであることを特徴とする請求項1乃至7のいずれか1項に記載の情報処理装置。 The information is an information processing apparatus according to any one of claims 1 to 7, characterized in that a mark. 前記マークがポインティングデバイスにより指示された場合、固定化していることを表示することを特徴とする請求項に記載の情報処理装置。 If the mark is designated by the pointing device, the information processing apparatus according to claim 8, wherein you to view that they are immobilized. データをプリンタに保存する機能を常に有効とするか否かの指示を受け付ける受付画面を表示する第1表示工程と、
前記受付画面を介して前記データをプリンタに保存する機能を常に有効とする指示を受け付ける指示工程と、
前記データをプリンタに保存する機能を常に有効とする指示を受け付けた場合、前記データをプリンタに保存する機能について有効から無効への変更を受け付けない印刷設定画面を表示する第2表示工程とを有し、
前記データをプリンタに保存する機能を常に有効とする指示を受け付けた場合、前記データをプリンタに保存する機能が常に有効とされていることを示す情報が前記印刷設定画面に表示されることを特徴とする制御方法。
A first display step for displaying an acceptance screen for accepting an instruction as to whether or not to always enable the function of saving data in the printer;
An instruction step of receiving an instruction to always enable a function of storing the data in a printer via the reception screen;
A second display step of displaying a print setting screen that does not accept a change from valid to invalid for the function of saving the data in the printer when an instruction to always validate the function of saving the data in the printer is received; And
When an instruction to always enable the function of storing the data in the printer is received, information indicating that the function of storing the data in the printer is always enabled is displayed on the print setting screen. Control method.
コンピュータを、
データをプリンタに保存する機能を常に有効とするか否かの指示を受け付ける受付画面を表示する第1表示手段と、
前記受付画面を介して前記データをプリンタに保存する機能を常に有効とする指示を受け付ける指示手段と、
前記データをプリンタに保存する機能を常に有効とする指示を受け付けた場合、前記データをプリンタに保存する機能について有効から無効への変更を受け付けない印刷設定画面を表示する第2表示手段として機能させ、
前記データをプリンタに保存する機能を常に有効とする指示を受け付けた場合、前記データをプリンタに保存する機能が常に有効とされていることを示す情報が前記印刷設定画面に表示されることを特徴とする制御プログラム。
Computer
First display means for displaying an acceptance screen for accepting an instruction as to whether or not to always enable the function of saving data in the printer;
An instruction means for receiving an instruction to always enable the function of saving the data in a printer via the reception screen;
When an instruction to always enable the function to save the data in the printer is received, the function to save the data in the printer functions as a second display unit that displays a print setting screen that does not accept a change from valid to invalid. ,
When an instruction to always enable the function of storing the data in the printer is received, information indicating that the function of storing the data in the printer is always enabled is displayed on the print setting screen. Control program.
前記プリンタは、複合機であることを特徴とする請求項11に記載の制御プログラム。 The control program according to claim 11, wherein the printer is a multifunction peripheral . 前記印刷設定画面は、リンタドライバにより提供されるユーザインタフェースであることを特徴とする請求項11または12に記載の制御プログラム。 The print setting screen, the control program according to claim 11 or 12, characterized in that a user interface provided by the printer driver. 前記指示手段は、所定の権限を持ったユーザから前記データをプリンタに保存する機能を常に有効とする指示を受け付けることを特徴とする請求項11乃至13のいずれか1項に記載の制御プログラム。 The control program according to any one of claims 11 to 13, wherein the instruction unit receives an instruction to always enable a function of saving the data in a printer from a user having a predetermined authority. 前記報が、データをプリンタに保存する機能を指定する項目の横に表示されることを特徴とする請求項11乃至14のいずれか1項に記載の制御プログラム。 The information is, the control program according to any one of claims 11 to 14, characterized in that display the previous SL data next to the item to specify the function to be stored in the printer. 前記受付画面は、さらに他の機能を常に有効とするか否かの指示を受け付けることを特徴とする請求項11乃至15のいずれか1項に記載の制御プログラム。 The control program according to any one of claims 11 to 15, wherein the reception screen receives an instruction as to whether or not another function is always enabled . 前記データをプリンタに保存する機能を指定する項目はグレーアウトして表示されることを特徴とする請求項11乃至16のいずれか1項に記載の制御プログラム。 The control program according to any one of claims 11 to 16, wherein an item for designating a function of storing the data in a printer is displayed in gray out. 前記報は、ークであることを特徴とする請求項11乃至17のいずれか1項に記載の制御プログラム。 The information is, the control program according to any one of claims 11 to 17, characterized in that a mark. 前記マークがポインティングデバイスにより指示された場合、固定化していることを表示することを特徴とする請求項18に記載の制御プログラム。 If the mark is designated by the pointing device, the control program according to claim 18, characterized in you to view that they are immobilized.
JP2012153707A 2012-07-09 2012-07-09 Information processing apparatus, method, and control program Expired - Fee Related JP5159974B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012153707A JP5159974B2 (en) 2012-07-09 2012-07-09 Information processing apparatus, method, and control program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012153707A JP5159974B2 (en) 2012-07-09 2012-07-09 Information processing apparatus, method, and control program

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2008205617A Division JP5094627B2 (en) 2008-08-08 2008-08-08 Information processing apparatus, method, and control program

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2012268297A Division JP5642143B2 (en) 2012-12-07 2012-12-07 Information processing apparatus, method, and control program

Publications (2)

Publication Number Publication Date
JP2012208950A JP2012208950A (en) 2012-10-25
JP5159974B2 true JP5159974B2 (en) 2013-03-13

Family

ID=47188556

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012153707A Expired - Fee Related JP5159974B2 (en) 2012-07-09 2012-07-09 Information processing apparatus, method, and control program

Country Status (1)

Country Link
JP (1) JP5159974B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018085027A (en) * 2016-11-25 2018-05-31 コニカミノルタ株式会社 Updating method of driver for operating respective functions of image forming apparatus, and program

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4366027B2 (en) * 2001-04-27 2009-11-18 キヤノン株式会社 User interface control apparatus and method
JP2006024068A (en) * 2004-07-09 2006-01-26 Keyence Corp Method for setting image processor
JP4688202B2 (en) * 2004-12-08 2011-05-25 キヤノンファインテック株式会社 Conflict guide display method and program
JP4362782B2 (en) * 2005-06-30 2009-11-11 ブラザー工業株式会社 Image printing apparatus and error information output program for image printing apparatus
JP2008059299A (en) * 2006-08-31 2008-03-13 Brother Ind Ltd Image forming system, image formation control method and program
JP2010026656A (en) * 2008-07-16 2010-02-04 Ricoh Co Ltd Print control apparatus, setting screen control method, and setting screen control program

Also Published As

Publication number Publication date
JP2012208950A (en) 2012-10-25

Similar Documents

Publication Publication Date Title
JP5094627B2 (en) Information processing apparatus, method, and control program
KR100708361B1 (en) Information processing apparatus and method
US8125657B2 (en) Printing apparatus and method and non-transitory computer-readable storage medium for managing printing format information
KR101064065B1 (en) Information processing apparatus, control method, and storage medium
US20140293312A1 (en) Information processing apparatus, print control program and print system
JP4951392B2 (en) Information processing apparatus, program, and recording medium
EP3040847A1 (en) Information processing apparatus, control method, and recording medium
JP6578851B2 (en) Information processing apparatus and program
JP6225822B2 (en) Output system, terminal device, program, and output method
US9373061B2 (en) Non-transitory computer-readable storage medium, computing device, and display method of user interface of printer driver
JP2014109854A (en) Information processor, control method and program
US20090116063A1 (en) Printing control apparatus, method and medium
JP4174381B2 (en) Information processing apparatus, distributed printing control method, and distributed printing control program
JP5642143B2 (en) Information processing apparatus, method, and control program
US20070146760A1 (en) Print System and Programs for Use in Print System
JP5159974B2 (en) Information processing apparatus, method, and control program
US20090254987A1 (en) Information processing apparatus, computer-readable recording medium, output control method and system
JP2006228128A (en) Information processing device, communication equipment controller, and program
US11614906B2 (en) Information processing apparatus, control method of information processing apparatus, and program
JP5726344B2 (en) Information processing apparatus, control method, and program
JP7393477B2 (en) Information processing device, its control method, and computer program
JP6418304B2 (en) Output system, terminal device, program, and output method
JP2019144814A (en) Information processing device, and control method and program for information processing device
JP2020201829A (en) Information processor, information processing method, and program
JP2007079743A (en) Information processor and its control method and program

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120718

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20120718

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20120724

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120821

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121019

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121211

R151 Written notification of patent or utility model registration

Ref document number: 5159974

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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

Free format text: PAYMENT UNTIL: 20151221

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees