JP2011257975A - Information processing unit, intermediate data processing program, and recording medium - Google Patents
Information processing unit, intermediate data processing program, and recording medium Download PDFInfo
- Publication number
- JP2011257975A JP2011257975A JP2010131675A JP2010131675A JP2011257975A JP 2011257975 A JP2011257975 A JP 2011257975A JP 2010131675 A JP2010131675 A JP 2010131675A JP 2010131675 A JP2010131675 A JP 2010131675A JP 2011257975 A JP2011257975 A JP 2011257975A
- Authority
- JP
- Japan
- Prior art keywords
- processing
- filter
- plug
- extended
- intermediate data
- 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.)
- Pending
Links
Images
Landscapes
- Accessory Devices And Overall Control Thereof (AREA)
Abstract
Description
本発明は、情報処理装置、中間データ加工プログラム、及び記録媒体に関し、特に印刷データに関する中間データを加工する情報処理装置、中間データ加工プログラム、及び記録媒体に関する。 The present invention relates to an information processing device, an intermediate data processing program, and a recording medium, and more particularly to an information processing device, an intermediate data processing program, and a recording medium that process intermediate data related to print data.
プリンタドライバは、印刷設定をプリンタが解釈可能な印刷コマンド(PJL(Printer Job Language)等)に変換する。従来、印刷設定から印刷コマンドへの変換の過程において、中間コマンドによって構成される中間データを生成するプリンタドライバが知られている(例えば、特許文献1)。中間データは、プリンタの機種等に対する依存度が低い。したがって、中間データに対して加工を行うプログラムモジュール(以下、「フィルタ」という。)を作成することにより、プリンタの機種等に対して依存度の低い加工処理を、印刷処理の途中に対して組み込むことができる。 The printer driver converts the print setting into a print command (PJL (Printer Job Language) or the like) that can be interpreted by the printer. 2. Description of the Related Art Conventionally, a printer driver that generates intermediate data composed of intermediate commands in the process of conversion from print settings to print commands is known (for example, Patent Document 1). The intermediate data is less dependent on the printer model and the like. Therefore, by creating a program module (hereinafter referred to as “filter”) that processes intermediate data, a processing process that is less dependent on the printer model or the like is incorporated in the middle of the printing process. be able to.
図1は、フィルタが組み込まれたプリンタドライバの例を示す図である。同図において、プリンタドライバ510は、前処理部511、フィルタ512、及び後処理部513を含む。
FIG. 1 is a diagram illustrating an example of a printer driver in which a filter is incorporated. In the figure, the
前処理部511、例えば、Windows(登録商標)においてDDI(Device Driver Interface)と呼ばれるインタフェースを介して、印刷要求を受け付け、DEVMODE構造体に基づいて中間データを生成する。前処理部511は、生成された中間データをフィルタ512に入力する。
A
フィルタ512は、中間データに対して予め設定された加工処理を実行し、加工処理後の中間データを後処理部513に入力する。例えば、フィルタ512が、通常の業務においてカラー印刷を許可しないことを目的として管理者等によってインストールされたものである場合、フィルタ512は、カラーモードに対する中間コマンドの内容を強制的にモノクロ設定に書き換える。
The
後処理部513は、入力された中間データを印刷データに変換する。当該印刷データは、非図示のプリンタに転送されて印刷される。
The
このように、フィルタは、中間データの段階において、予め実装されている加工処理を実行する。 In this way, the filter executes a pre-implemented processing process at the intermediate data stage.
他方において、印刷コマンドは、プリンタの機能拡張に応じて拡張されうる。この場合、プリンタドライバは、プリンタの拡張機能に対応するために機能拡張される必要がある(例えば、特許文献2)。具体的には、プリンタの拡張機能に対応する設定項目を受け付け可能なように、ユーザインタフェースが拡張される必要がある。また、当該設定項目に対応した印刷コマンドを印刷データに出力可能とされる必要がある。 On the other hand, the print command can be expanded according to the function expansion of the printer. In this case, the function of the printer driver needs to be expanded to cope with the expansion function of the printer (for example, Patent Document 2). Specifically, the user interface needs to be extended so that setting items corresponding to the extended function of the printer can be received. Also, it is necessary to be able to output a print command corresponding to the setting item to the print data.
プリンタドライバが機能拡張された場合、フィルタについても当該機能拡張に対応させたい場合がある。例えば、拡張機能に対応する中間コマンドが中間データに含まれている場合、当該中間データに対して所定の加工を行ったり、所定の文字列が含まれている中間データに対して、拡張機能に対応した中間コマンドを追加したりといったような加工処理をフィルタに組み込みたい場合である。 When the function of the printer driver is expanded, there is a case where it is desired to correspond to the function expansion for the filter. For example, if an intermediate command corresponding to the extended function is included in the intermediate data, the intermediate function is subjected to predetermined processing, or the intermediate function including the predetermined character string is applied to the extended function. This is the case when processing such as adding corresponding intermediate commands is to be incorporated into the filter.
しかしながら、フィルタが予定している中間コマンドは、フィルタの実装内容に応じて固定的に定まる。したがって、従来、拡張機能に対応する中間コマンドにフィルタが対応するためには、フィルタのソースコードを変更し、新たにコンパイルする必要があった。そうすると、ユーザは、古いフィルタをアンインストールし、新しいフィルタをインストールするといった作業を行わなければならなかった。 However, the intermediate command scheduled by the filter is fixedly determined according to the contents of the filter implementation. Therefore, conventionally, in order for the filter to correspond to the intermediate command corresponding to the extended function, it has been necessary to change the source code of the filter and newly compile it. Then the user had to uninstall the old filter and install the new filter.
本発明は、上記の点に鑑みてなされたものであって、プリンタドライバの機能拡張に応じた中間データの加工処理の拡張性を向上させることのできる情報処理装置、中間データ加工プログラム、及び記録媒体の提供を目的とする。 The present invention has been made in view of the above points, and is an information processing apparatus, an intermediate data processing program, and a recording that can improve the expandability of the intermediate data processing according to the function expansion of the printer driver. The purpose is to provide a medium.
そこで上記課題を解決するため、情報処理装置は、印刷設定情報に基づいて生成される中間コマンドを含む中間データに対して第一の加工処理を行う基本加工手段と、
前記基本加工手段が対応していない拡張中間コマンドに関して前記中間データに対して第二の加工処理を行う拡張加工手段とを有する。
Therefore, in order to solve the above-described problem, the information processing apparatus includes basic processing means for performing first processing on intermediate data including intermediate commands generated based on the print setting information;
Expansion processing means for performing a second processing on the intermediate data with respect to an extended intermediate command not supported by the basic processing means.
このような情報処理装置では、プリンタドライバの機能拡張に応じた中間データの加工処理の拡張性を向上させることができる。 In such an information processing apparatus, the extensibility of the intermediate data processing according to the function expansion of the printer driver can be improved.
プリンタドライバの機能拡張に応じた中間データの加工処理の拡張性を向上させることができる。 The expandability of the intermediate data processing according to the expansion of the function of the printer driver can be improved.
以下、図面に基づいて本発明の実施の形態を説明する。図2は、本発明の実施の形態における印刷システムの構成例を示す図である。同図の印刷システム1において、一台以上の情報処理装置10及び一台以上のプリンタ20は、LAN(Local Area Network)等のネットワーク(有線又は無線の別は問わない。)を介して通信可能とされている。
Hereinafter, embodiments of the present invention will be described with reference to the drawings. FIG. 2 is a diagram illustrating a configuration example of the printing system according to the embodiment of the present invention. In the
情報処理装置10は、ユーザによる文書データの印刷指示に応じ、当該文書データに対応する印刷データをプリンタ20に送信するコンピュータである。
The
プリンタ20は、情報処理装置10より転送される印刷データに基づいて印刷ジョブを実行する画像形成装置である。なお、印刷機能の他に、スキャン機能又はコピー機能等を有する複合機がプリンタ20の代わりに用いられてもよい。
The
図3は、本発明の実施の形態における情報処理装置のハードウェア構成例を示す図である。図3の情報処理装置10は、それぞれバスBで相互に接続されているドライブ装置100と、補助記憶装置102と、メモリ装置103と、CPU104と、インタフェース装置105と、表示装置106と、入力装置107とを有する。
FIG. 3 is a diagram illustrating a hardware configuration example of the information processing apparatus according to the embodiment of the present invention. 3 includes a
情報処理装置10での処理を実現するプログラムは、CD−ROM等の記録媒体101によって提供される。プログラムを記録した記録媒体101がドライブ装置100にセットされると、プログラムが記録媒体101からドライブ装置100を介して補助記憶装置102にインストールされる。但し、プログラムのインストールは必ずしも記録媒体101より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置102は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
A program for realizing processing in the
メモリ装置103は、プログラムの起動指示があった場合に、補助記憶装置102からプログラムを読み出して格納する。CPU104は、メモリ装置103に格納されたプログラムに従って情報処理装置10に係る機能を実現する。インタフェース装置105は、ネットワークに接続するためのインタフェースとして用いられる。表示装置106はプログラムによるGUI(Graphical User Interface)等を表示する。入力装置107はキーボード及びマウス等で構成され、様々な操作指示を入力させるために用いられる。
The
図4は、本発明の実施の形態の情報処理装置のソフトウェア構成例を示す図である。同図において、情報処理装置10は、アプリケーション11、GDI12、プリンタドライバ13、フィルタ14、フィルタ設定部15、ドライバプラグイン16、及び一以上のフィルタプラグイン17等を含む。
FIG. 4 is a diagram illustrating a software configuration example of the information processing apparatus according to the embodiment of this invention. In FIG. 1, an
アプリケーション11は、例えば、ユーザによる対話的な操作に応じ、印刷対象とされる文書データを生成するプログラムである。GDI12は、いわゆるGDI(Graphic Device Interface)であり、非図示のOS(例えば、Windows(登録商標))によって提供されるグラフィック関数の集合である。アプリケーション11は、印刷指示の入力に応じ、GDI12を介して、プリンタドライバ13への印刷要求を入力する。例えば、GDI12は、プリンタドライバ13が備えるDDI(Device Driver Interface)と呼ばれるインタフェースを介して、アプリケーション11からの印刷要求をプリンタドライバ13に入力する。
The
プリンタドライバ13は、DDIの呼び出しに応じ、印刷設定情報に応じた印刷データを生成する。すなわち、アプリケーション11による文書データは、GDI12を介してプリンタドライバ13によって印刷データに変換される。印刷データとは、プリンタ20が解釈可能なデータをいい、PJL(Printer Job Language)によって記述された印刷コマンド(ジョブ制御コマンド)や描画データ等を含む。プリンタドライバ13によって生成された印刷データは、例えば、非図示のスプーラ、ポートモニタ等を経て、プリンタ20に送信される。
The
同図において、プリンタドライバ13は、ドライバUI部131、前処理部132、中間コマンド生成部133、後処理部134、及び印刷コマンド生成部135等を含む。
In the figure, the
ドライバUI部131は、アプリケーション11からの要求に応じ、印刷設定ダイアログを表示させる。印刷設定ダイアログは、印刷設定情報を設定させるための画面である。印刷設定情報は、印刷属性情報又は印刷条件とも呼ばれる情報であり、印刷態様に関する設定項目及びその設定値の集合によって構成される。OSとしてWindows(登録商標)が採用されている場合、印刷設定ダイアログを介して設定された印刷設定情報は、DEVMODE構造体としてメモリ装置103に記録される。
The
前処理部132は、アプリケーション11からGDI12経由でDEVMODE構造体を受け取り、中間コマンド生成部133によって生成される中間データをフィルタ14へ入力する。
The
中間コマンド生成部133は、前処理部132からDEVMODE構造体を受け取り、予め実装されている変換規則(変換ロジック)に従ってDEVMODE構造体を中間コマンドに変換し、変換後の中間コマンドを含む中間データを生成する。なお、中間コマンドとは、プリンタ20の機種に対して中立的な(非依存の)形式によって、DEVMODE構造体の内容(すなわち、印刷設定情報の内容)を表現するコマンドである。中間データは、1以上の中間コマンドの集合である制御データと、印刷対象の文書データ内容を示す描画データとを含むデータである。
The intermediate
図5は、中間データの例を示す図である。同図において、中間データD1は、制御データD11及び描画データD12を含む。 FIG. 5 is a diagram illustrating an example of intermediate data. In the figure, the intermediate data D1 includes control data D11 and drawing data D12.
制御データD11は、@iPJLによって始まる、1以上の中間コマンドが含まれている。例えば、中間コマンドc1は、2ページを1ページに集約する集約印刷(以下、「2in1印刷」という。)の実行命令を示す。中間コマンドc2は、地紋印刷の実行命令を示す。中間コマンドc3は、印刷データのプリンタ20内への蓄積命令を示す。
The control data D11 includes one or more intermediate commands starting with @iPJL. For example, the intermediate command c1 indicates an execution command for aggregate printing (hereinafter referred to as “2 in 1 printing”) that aggregates two pages into one page. The intermediate command c2 indicates a copy-forgery-inhibited pattern printing execution command. The intermediate command c3 indicates a command for storing print data in the
描画データD12は、描画要素が文字列である場合についての例示である。すなわち、String Data{}の表記において、{}内の記述は、文字列の内容を示す。具体的には、配列形式によって、[0]〜[10]において一文字ずつ文字コード等が記述されている。同図では、「RefreshCopy」という文字列に関する記述が示されている。描画要素としては、図形及び画像等も含まれうる。 The drawing data D12 is an example when the drawing element is a character string. That is, in the notation of String Data {}, the description in {} indicates the contents of the character string. Specifically, a character code or the like is described character by character in [0] to [10] according to the array format. In the drawing, a description relating to a character string “RefreshCopy” is shown. Drawing elements can also include graphics and images.
なお、図5に示される中間データD1の形式は、あくまでも例示である。本実施の形態の有効性は、中間データの形式には依存しない。 Note that the format of the intermediate data D1 shown in FIG. 5 is merely an example. The effectiveness of the present embodiment does not depend on the format of the intermediate data.
図4に戻る。後処理部134は、フィルタ14から中間データを受け取り、印刷データの生成を印刷コマンド生成部135に実行させる。
Returning to FIG. The
印刷コマンド生成部135は、後処理部134から中間データを受け取り、予め実装されている変換規則(変換ロジック)に従って中間データ内の中間コマンドを印刷コマンドに変換し、変換後の印刷コマンドを含む印刷データを生成する。
The print
フィルタ14は、中間データを加工する。すなわち、フィルタ14は、前処理部132より中間データを受け付け、当該中間データに対して加工処理を施す。本実施の形態において、加工処理とはデータ形式の変換を伴わない処理をいう。したがって、フィルタ14によって出力されるデータは、中間データである。フィルタ14より出力される加工後の中間データは、後処理部134に入力される。
The
フィルタ14による加工処理の内容は、フィルタ設定部15を用いて設定される、フィルタ14の処理内容の定義情報(以下、「フィルタ処理定義」という。)に依存する。フィルタ処理定義は、中間データに対する条件(以下、「フィルタ条件」という。)と、フィルタ条件が満たされた場合に中間データに対して実行される加工内容とを含む。当該加工内容には、例えば、中間コマンドの追加、変更、若しくは削除、又は中間データ内の描画データの加工等が含まれうる。
The content of the processing by the
ドライバプラグイン16は、プリンタドライバ13に対するプラグインである。すなわち、ドライバプラグイン16は、プリンタドライバ13の機能拡張を行うプログラムである。具体的には、ドライバプラグイン16は、プリンタ20の機能拡張等に応じて、拡張機能に対応した設定項目や拡張機能に対応する印刷コマンドに関する処理を実行する。なお、本実施の形態において、拡張機能に対応した設定項目を「拡張項目」といい、拡張前の基本機能に対応した設定項目を「基本項目」という。また、拡張機能に対応する印刷コマンドを「拡張印刷コマンド」といい、基本機能に対応する印刷コマンドを「基本印刷コマンド」という。
The driver plug-in 16 is a plug-in for the
ドライバプラグイン16は、ドライバプラグインUI部161、プラグイン前処理部162、及びプラグイン後処理部163等を含む。ドライバプラグインUI部161は拡張項目に対する設定値の入力を受け付けるためのユーザインタフェース(以下、「拡張設定画面」という。)を生成する。ドライバプラグインUI部161は、拡張設定画面を介して入力される、拡張項目に対する設定値をDEVMODE構造体に記録する。なお、ドライバプラグインUI部161は、例えば、ドライバUI部131が表示させる印刷設定ダイアログに配置される所定のボタンが押下された際に、ドライバUI部131によって呼び出される。ドライバプラグインUI部161は、ドライバUI部131からの呼び出しに応じ、拡張設定画面を表示させる。当該所定のボタンは、例えば、ドライバUI部131が、ドライバプラグイン16のインストールの有無を確認し、インストールされている場合に、印刷設定ダイアログに配置される。
The driver plug-in 16 includes a driver plug-in
プラグイン前処理部162は、DEVMODE構造体内において拡張項目に関する設定内容を、中間コマンドに変換する。当該中間コマンドは、拡張機能に対応した中間コマンドである。すなわち、プリンタ20の機能拡張に応じて、中間コマンドについても拡張される。なお、本実施の形態において、拡張機能に対応した中間コマンドを「拡張中間コマンド」といい、基本機能に対応した中間コマンドを「基本中間コマンド」という。
The plug-in
例えば、中間コマンド生成部133は、自らが処理可能な範囲でDEVMODE構造体を中間コマンドに変換した後、当該DEVMODE構造体を指定してプラグイン前処理部162を呼び出す。プラグイン前処理部162は、指定されたDEVMODE構造体内において拡張項目に対応する拡張中間コマンドを生成する。当該拡張中間コマンドは、中間コマンド生成部133によって生成された中間データの最後に付加される。なお「自ら(中間コマンド生成部133)が処理可能な範囲」とは、基本項目の範囲をいう。したがって、当該範囲には、拡張項目は含まれない。中間コマンド生成部133は、機能強化前の基本機能に基づいて実装されており、拡張項目に関する処理については予定していないからである。したがって、中間コマンド生成部133では、既存の状態では、拡張項目に関して拡張中間コマンドへの変換は実行できないのである。
For example, the intermediate
プラグイン後処理部163は、拡張中間コマンドを拡張印刷コマンドに変換する。例えば、印刷コマンド生成部135は、自らが処理可能な範囲(基本中間コマンドの範囲)で中間コマンドを印刷コマンドに変換した後、中間データを指定してプラグイン後処理部163を呼び出す。プラグイン後処理部163は、指定された中間データ内に含まれている拡張中間コマンドを拡張印刷コマンドに変換する。当該拡張印刷コマンドは、印刷コマンド生成部135によって生成された印刷コマンドと共に印刷データに含められる。
The plug-in
なお、複数種類のドライバプラグイン16が情報処理装置10に含まれていてもよい。
Note that a plurality of types of driver plug-
フィルタプラグイン17は、フィルタ14に対するプラグインである。すなわち、フィルタプラグイン17は、フィルタ14の機能拡張を行うプログラムである。具体的には、フィルタプラグイン17は、拡張中間コマンドに関して中間コマンドの加工処理を実行する。拡張中間コマンドに関する中間コマンドの加工処理とは、拡張中間コマンドの内容がフィルタ条件とされている場合や、フィルタ条件が満たされた場合の処理内容として拡張中間コマンドを出力する場合等が挙げられる。
The filter plug-in 17 is a plug-in for the
それぞれ異なる加工処理を行う複数のフィルタプラグイン17が情報処理装置10に含まれていてもよい。同図には、3つのフィルタプラグイン17が含まれている例が示されている。複数のフィルタプラグイン17が情報処理装置10に含まれている場合、各フィルタプラグイン17は、例えば、チェーン構造で論理的に接続される。当該チェーン構造において、フィルタプラグイン17間の呼び出し関係が形成される。
A plurality of filter plug-
フィルタ14及びフィルタプラグイン17について更に詳細に説明する。図6は、フィルタ及びフィルタプラグインの機能構成例を示す図である。
The
同図において、フィルタ14は、フィルタUI部141及びフィルタ処理部142等を含む。また、フィルタプラグイン17は、フィルタプラグインUI部171及びフィルタプラグイン処理部172等を含む。また、同図には、図4では省略されていた、フィルタ処理定義記憶部18及びフィルタプラグイン情報記憶部19についても示されている。
In the figure, the
フィルタUI部141は、フィルタ処理定義を設定させるための画面(以下、「フィルタ設定画面」)を表示させ、フィルタ設定画面に対する設定内容(すなわち、フィルタ処理定義)をフィルタ処理定義記憶部18に記録する。フィルタ処理定義記憶部18は、補助記憶装置102を用いて、フィルタ処理定義を記憶する。
The
フィルタ処理部142は、フィルタ処理定義に基づいて、基本中間コマンドに関して中間データの加工処理を実行する。
Based on the filter processing definition, the
フィルタプラグインUI部171は、フィルタプラグイン17に関するフィルタ処理定義を設定させるための画面を表示させる。フィルタプラグイン処理部172は、拡張中間コマンドに関して中間データの加工処理を実行する。
The filter plug-in
フィルタプラグイン情報記憶部19は、補助記憶装置102を用いて、情報処理装置10にインストールされているフィルタプラグイン17の属性情報を記憶する。
The filter plug-in
続いて、図3及び図4を用いて説明したソフトウェア(プログラム)が情報処理装置10に実行させる印刷処理の概要について、3つの具体例を用いて説明する。
Next, an outline of a printing process that the software (program) described with reference to FIGS. 3 and 4 causes the
図7は、第一の印刷処理の処理手順を説明するための図である。同図では、ドライバプラグイン16として地紋プラグイン16aがインストールされ、フィルタプラグイン17として地紋時集約プラグイン17aがインストールされている状態が示されている。 FIG. 7 is a diagram for explaining the processing procedure of the first print processing. In the figure, a tint block plug-in 16 a is installed as the driver plug-in 16, and a tint block time aggregation plug-in 17 a is installed as the filter plug-in 17.
地紋プラグイン16aは、地紋印刷機能に対応したドライバプラグイン16である。地紋印刷とは、背景に地紋が印刷される印刷形態をいう。地紋時集約プラグイン17aは、地紋印刷が実行される場合に、2in1印刷を強制させるためのフィルタプラグイン17である。 The tint block plug-in 16a is a driver plug-in 16 corresponding to the tint block printing function. Background pattern printing refers to a printing form in which a background pattern is printed on the background. The copy-forgery-inhibited pattern integration plug-in 17a is a filter plug-in 17 for forcing 2-in-1 printing when copy-forgery-inhibited pattern printing is executed.
まず、印刷設定情報の設定時において、ドライバUI部131が表示させている印刷設定ダイアログの所定のボタンが押下されると、地紋プラグイン16aのドライバプラグインUI部161aは、地紋印刷をするか否かを設定させるための地紋印刷設定画面を表示させる。地紋印刷設定画面において、地紋印刷をすることが設定されると、ドライバプラグインUI部161aは、DEVMODE構造体において地紋印刷に対応するメンバ変数「JIMON」に対して「ON」を設定する(S11)。なお、メンバ変数「JIMON」に対する「ON」の設定は、図中において「JIMON:ON」として表記されている。
First, at the time of setting print setting information, if a predetermined button in the print setting dialog displayed by the
その後、印刷設定ダイアログを介して印刷の実行指示が入力されると、プリンタドライバ13の前処理部132には、メンバ変数「JIMON」に対して「ON」が設定されたDEVMODE構造体が入力される(S12)。
Thereafter, when a print execution instruction is input via the print setting dialog, a DEVMODE structure in which “ON” is set for the member variable “JIMON” is input to the
当該DEVMODE構造体は、前処理部132から中間コマンド生成部133を経て、地紋プラグイン16aのプラグイン前処理部162aに入力される。なお、プラグイン前処理部162aにDEVMODE構造体が入力される前に、中間コマンド生成部133によって、基本項目に関する設定内容が中間コマンドに変換され、当該中間コマンドを含む中間データが生成される。
The DEVMODE structure is input from the
続いて、地紋プラグイン16aのプラグイン前処理部162aは、DEVMODE構造体において地紋印刷機能に対する設定内容「JIMON:ON」を中間コマンド(以下、「地紋印刷中間コマンド」という。)に変換する(S13)。本実施の形態おいて、地紋印刷中間コマンドは、「@iPJL SET JIMON=ON」と表記される。なお、地紋印刷中間コマンドは、拡張中間コマンドである。 Subsequently, the plug-in preprocessing unit 162a of the background pattern plug-in 16a converts the setting content “JIMON: ON” for the background pattern printing function in the DEVMODE structure into an intermediate command (hereinafter referred to as “background pattern printing intermediate command”). S13). In this embodiment, the copy-forgery-inhibited pattern printing intermediate command is expressed as “@iPJL SET JIMON = ON”. The tint block printing intermediate command is an extended intermediate command.
その後、地紋印刷中間コマンドを含む中間データは、前処理部132によってフィルタ14に入力される。フィルタ14は、基本印刷中間コマンドに関して、フィルタ処理定義記憶部18に記録されているフィルタ処理定義に基づいて加工処理を行う。続いて、フィルタ14は、地紋時集約プラグイン17aに対して加工後の中間データを入力する。
Thereafter, intermediate data including the copy-forgery-inhibited pattern printing intermediate command is input to the
地紋時集約プラグイン17aのフィルタプラグイン処理部172aは、フィルタ処理定義記憶部18に記録されているフィルタ処理定義の中で、自らに対応するフィルタ処理定義に基づいて、拡張中間コマンドに関して、中間データに対する加工処理を実行する。
The filter plug-in
図8は、第一の印刷処理における地紋時集約プラグインに対するフィルタ処理定義の例を示す図である。同図に示されるフィルタ処理定義において、「フィルタ条件」には、「@iPJL SET JIMON=ON」が設定されている。また、「加工内容」には、「追加:@iPJL SET NUP=2IN1」が設定されている。したがって、当該フィルタ処理定義は、「@iPJL SET JIMON=ONが設定されている場合には、@iPJL SET NUP=2IN1を追加する」という処理内容を示す。これは、「地紋印刷を行う場合は、2in1印刷を行う」ということを意味する。 FIG. 8 is a diagram illustrating an example of the filter processing definition for the ground tint block aggregation plug-in in the first print processing. In the filter processing definition shown in the figure, “@iPJL SET JIMON = ON” is set in the “filter condition”. In addition, “addition: @iPJL SET NUP = 2IN1” is set in “processing contents”. Therefore, the filter processing definition indicates the processing content “if @iPJL SET JIMON = ON is set, add @iPJL SET NUP = 2IN1”. This means that “when performing tint block printing, 2-in-1 printing is performed”.
地紋時集約プラグイン17aのフィルタプラグイン処理部172aは、図8に示されるフィルタ処理定義がフィルタ処理定義記憶部18に含まれており、かつ、当該フィルタ処理定義に設定されているフィルタ条件が満たされる場合、当該フィルタ処理定義における加工内容によって示される加工を中間データに対して行う(S14)。ここでは、中間データには、「@iPJL SET JIMON=ON」の中間コマンドが含まれている。したがって、フィルタプラグイン処理部172aは、中間データの制御データの末尾に、「@iPJL SET NUP=2IN1」を追加する。
The filter plug-in
地紋時集約プラグイン17aのフィルタプラグイン処理部172aによって加工された中間データは、フィルタ14に返却され、後処理部134に入力される。後処理部134は、当該中間データを印刷コマンド生成部135に入力する。
The intermediate data processed by the filter plug-in
印刷コマンド生成部135は、基本中間コマンドに関して、基本印刷コマンドへの変換を実行する(S15)。例えば、集約印刷機能が基本機能である場合、集約印刷機能に対応する中間コマンド「@iPJL SET NUP=2IN1」は、基本中間コマンドである。したがって、印刷コマンド生成部135は、「@iPJL SET NUP=2IN1」を基本印刷コマンド「@PJL SET NUP=2IN1」に変換する。なお、本実施の形態において、中間コマンドと印刷コマンドとは、アットマーク(@)後のキーワード(「iPJL」、「PJL」)が異なるだけであるが、これは、便宜的なものである。
The print
続いて、印刷コマンド生成部135は、中間データを地紋プラグイン16aのプラグイン後処理部163aに入力する。プラグイン後処理部163aは、自らが解釈可能な地紋印刷中間コマンドについて、印刷コマンドへの変換を実行する(S16)。例えば、「@iPJL SET JIMON=ON」が印刷コマンド「@PJL SET JIMON=ON」に変換される。
Subsequently, the print
印刷コマンド生成部135及びプラグイン後処理部163aによって変換された印刷データは、後処理部134を経てプラインタ20に送信される。
The print data converted by the print
このように、図7では、地紋印刷が行われる場合は、ユーザによって集約印刷が設定されていなくても、集約印刷が強制的に実行される。 In this way, in FIG. 7, when the tint block printing is performed, the consolidated printing is forcibly executed even if the consolidated printing is not set by the user.
図9は、第二の印刷処理の処理手順を説明するための図である。図9中、図7と同一部分には同一符号を付し、その説明は省略する。 FIG. 9 is a diagram for explaining the processing procedure of the second print processing. 9, parts that are the same as the parts shown in FIG. 7 are given the same reference numerals, and explanation thereof is omitted.
同図では、フィルタプラグイン17としてマル秘時地紋プラグイン17bがインストールされた状態が示されている。マル秘時地紋プラグイン17bは、文書データに「マル秘」という文字列が含まれている場合に、地紋印刷を強制させるためのフィルタプラグイン17である。 In the figure, a state in which a secret time pattern plug-in 17b is installed as the filter plug-in 17 is shown. The confidential copy-forgery-inhibited pattern plug-in 17b is a filter plug-in 17 for forcing the copy-forgery-inhibited pattern printing when the character string “secret” is included in the document data.
なお、ドライバプラグイン16については、第一の印刷処理と同様に、地紋プラグイン16aがインストールされていることとする。したがって、地紋プラグイン16aに関する説明は適宜省略する。また、図7と重複する処理手順についても適宜省略する。 As for the driver plug-in 16, the ground pattern plug-in 16a is installed as in the first printing process. Therefore, the description regarding the tint block plug-in 16a is omitted as appropriate. In addition, processing steps overlapping those in FIG.
図9では、地紋プラグイン16aのドライバプラグインUI部161aが表示させる地紋印刷設定画面において、地紋印刷は行わないことが設定されたこととする。この場合、ドライバプラグインUI部161aは、DEVMODE構造体において地紋印刷に対応するメンバ変数「JIMON」に対して「OFF」を設定する(S21)。したがって、プリンタドライバ13の前処理部132には、メンバ変数「JIMON」に対して「ON」が設定されたDEVMODE構造体が入力される(S22)。
In FIG. 9, it is assumed that the background pattern printing is set not to be performed on the background pattern printing setting screen displayed by the driver plug-in UI unit 161a of the background pattern plug-in 16a. In this case, the driver plug-in UI unit 161a sets “OFF” to the member variable “JIMON” corresponding to the tint block printing in the DEVMODE structure (S21). Therefore, the DEVMODE structure in which “ON” is set for the member variable “JIMON” is input to the
その後、図7において説明した処理手順と同様の処理手順を経て、DEVMODE構造体が地紋プラグイン16aのプラグイン前処理部162aに入力される。プラグイン前処理部162aは、DEVMODE構造体において地紋機能に対する設定内容「JIMON:OFF」を地紋印刷中間コマンドに変換する(S23)。ここでは、地紋印刷は行わないことを示す「@iPJL SET JIMON=OFF」に変換される。 Thereafter, the DEVMODE structure is input to the plug-in preprocessing unit 162a of the tint block plug-in 16a through a processing procedure similar to the processing procedure described in FIG. The plug-in preprocessing unit 162a converts the setting content “JIMON: OFF” for the tint block function in the DEVMODE structure into a tint block printing intermediate command (S23). Here, it is converted to “@iPJL SET JIMON = OFF” indicating that the background pattern printing is not performed.
その後、図7において説明した処理手順と同様の処理手順を経て、中間データがマル秘時地紋プラグイン17bのフィルタプラグイン処理部172bに入力される。フィルタプラグイン処理部172bは、フィルタ処理定義記憶部18に記録されているフィルタ処理定義の中で、自らに対応するフィルタ処理定義に基づいて、拡張中間コマンドに関して、中間データに対する加工処理を実行する。
Thereafter, the intermediate data is input to the filter plug-in processing unit 172b of the confidential copy-forgery-inhibited pattern plug-in 17b through a processing procedure similar to the processing procedure described in FIG. The filter plug-in processing unit 172b executes processing on the intermediate data for the extended intermediate command based on the filter processing definition corresponding to itself among the filter processing definitions recorded in the filter processing
図10は、第二の印刷処理におけるマル秘時地紋プラグインに対するフィルタ処理定義の例を示す図である。同図に示されるフィルタ処理定義において、「フィルタ条件」には、「描画データに文字列「マル秘」が有る」が設定されている。また、「加工内容」には、「追加:@iPJL SET JIMON=ON」が設定されている。したがって、当該フィルタ処理定義は、「描画データに文字列「マル秘」が有る場合には、@iPJL SET JIMON=ONを追加する」という処理内容を示す。これは、「(中間データの)描画データに文字列「マル秘」が含まれている場合は、地紋印刷を行う」ということを意味する。 FIG. 10 is a diagram illustrating an example of the filter process definition for the confidential copy-forgery-inhibited pattern plug-in in the second print process. In the filter processing definition shown in the drawing, “the character string“ secret ”is included in the drawing data” is set in the “filter condition”. Further, “addition: @iPJL SET JIMON = ON” is set in “processing contents”. Therefore, the filter processing definition indicates the processing content “add @iPJL SET JIMON = ON when there is a character string“ secret ”in the drawing data”. This means that if the character string “confidential” is included in the drawing data (of the intermediate data), copy-forgery-inhibited pattern printing is performed.
マル秘時地紋プラグイン17bのフィルタプラグイン処理部172bは、図10に示されるフィルタ処理定義がフィルタ処理定義記憶部18に含まれており、かつ、当該フィルタ処理定義に設定されているフィルタ条件が満たされる場合、当該フィルタ処理定義における加工内容によって示される加工を中間データに対して行う(S24)。したがって、中間データの描画データに文字列「マル秘」が含まれているとすると、フィルタプラグイン処理部172bは、中間データの制御データの末尾に、「@iPJL SET JIMON=ON」を追加する。なお、中間データに基づいて生成される印刷データにおいて、同じ印刷コマンドが複数含まれている場合、後に記述されている方が有効とされる。したがって、中間データの制御データに、「@iPJL SET JIMON=OFF」が含まれている場合に、当該制御データの末尾に「@iPJL SET JIMON=ON」が追加されると、実質的に前者の中間コマンドは、後者の中間コマンドに変更されたことになる。但し、フィルタプラグイン処理部172bは、中間コマンドの重複を確認し、同一の中間コマンドが存在する場合は、新たな設定値によって、当該中間コマンドの記載を置き換える(変更する)ようにしてもよい。
The filter plug-in processing unit 172b of the confidential copy-forgery-inhibited pattern plug-in 17b includes the filter processing definition shown in FIG. 10 in the filter processing
その後、図7において説明した処理手順と同様の処理手順を経て、中間データは、地紋プラグイン16aのプラグイン後処理部163aに入力される。プラグイン後処理部163aは、自らが解釈可能な地紋印刷中間コマンドについて、印刷コマンドへの変換を実行する(S25)。すなわち、「@iPJL SET JIMON=ON」が印刷コマンド「@PJL SET JIMON=ON」に変換される。
Thereafter, the intermediate data is input to the plug-in
印刷コマンド生成部135及びプラグイン後処理部163aによって変換された印刷データは、後処理部134を経てプラインタ20に送信される。
The print data converted by the print
このように、図9では、文字列「マル秘」が含まれる文書について印刷が行われる場合は、ユーザによって地紋印刷が設定されていなくても、地紋印刷が強制的に実行される。 In this way, in FIG. 9, when printing is performed on a document including the character string “confidential”, the tint block printing is forcibly executed even if the tint block printing is not set by the user.
続いて、図11は、第三の印刷処理の処理手順を説明するための図である。同図では、ドライバプラグイン16としてデータ蓄積プラグイン16cがインストールされ、フィルタプラグイン17として集約時蓄積無効化プラグイン17cがインストールされている状態が示されている。 Next, FIG. 11 is a diagram for explaining the processing procedure of the third printing processing. In the figure, a data storage plug-in 16 c is installed as the driver plug-in 16, and an aggregation-time storage invalidation plug-in 17 c is installed as the filter plug-in 17.
データ蓄積プラグイン16cは、データ蓄積機能に対応したドライバプラグイン16である。データ蓄積機能とは、プリンタ20が、受信した印刷データをプリンタ20の不揮発性の記憶装置に保存する機能をいい、第三の印刷処理において拡張機能に該当する。集約時蓄積無効化プラグイン17cは、2in1印刷が実行される場合に、データ蓄積機能を強制的に無効化させるためのフィルタプラグイン17である。
The data storage plug-in 16c is a driver plug-in 16 corresponding to the data storage function. The data storage function refers to a function in which the
まず、印刷設定情報の設定時において、ドライバUI部131が表示させている印刷設定ダイアログを介して2in1印刷を行うことが設定されると、ドライバUI部131は、DEVMODE構造体において集約数に対応するメンバ変数「NUP」に「2」を設定する(S31)。続いて、印刷設定ダイアログの所定のボタンが押下されると、データ蓄積プラグイン16cのドライバプラグインUI部161cは、データ蓄積するか否かを設定させるための蓄積設定画面を表示させる。蓄積設定画面においてデータ蓄積をすることが設定されると、ドライバプラグインUI部161cは、DEVMODE構造体においてデータ蓄積に対応するメンバ変数「DATASTORE」に対して「ON」を設定する(S32)。
First, at the time of setting the print setting information, if it is set to perform 2-in-1 printing via the print setting dialog displayed by the
その後、印刷設定ダイアログを介して印刷の実行指示が入力されると、プリンタドライバ13の前処理部132には、メンバ変数「NUP」に対して「2」が設定され、かつ、メンバ変数「DATASOTRE」に対して「ON」が設定されたDEVMODE構造体が入力される(S33)。
Thereafter, when a print execution instruction is input via the print setting dialog, “2” is set to the member variable “NUP” in the
当該DEVMODE構造体は、前処理部132によって中間コマンド生成部133に入力される。中間コマンド生成部133は、DEVMODE構造体において基本項目に対応するメンバ変数に関して中間コマンドへの変更を実行する。例えば、2in1印刷の設定内容に関して中間コマンド「@iPJL SET NUP=2IN1」への変換が実行される(S34)。続いて、中間コマンド生成部133は、DEVMODE構造体をデータ蓄積プラグイン16cのプラグイン前処理部162cに入力する。
The DEVMODE structure is input to the intermediate
データ蓄積プラグイン16cのプラグイン前処理部162cは、DEVMODE構造体においてデータ蓄積機能に対する設定内容「DATASTORE:ON」を中間コマンド(以下、「データ蓄積中間コマンド」という。)に変換する(S34)。本実施の形態おいて、データ蓄積中間コマンドは、「@iPJL SET DATASTORE」と表記される。なお、データ蓄積中間コマンドは、拡張中間コマンドである。 The plug-in preprocessing unit 162c of the data storage plug-in 16c converts the setting content “DATASTORE: ON” for the data storage function in the DEVMODE structure into an intermediate command (hereinafter referred to as “data storage intermediate command”) (S34). . In the present embodiment, the data storage intermediate command is represented as “@iPJL SET DATASTORE”. The data accumulation intermediate command is an extended intermediate command.
その後、データ蓄積中間コマンド等を含む中間データは、図7において説明した処理手順と同様の処理手順を経て、集約時蓄積無効化プラグイン17cのフィルタプラグイン処理部172cに入力される。フィルタプラグイン処理部172cは、フィルタ処理定義記憶部18に記録されているフィルタ処理定義の中で、自らに対応するフィルタ処理定義に基づいて、拡張中間コマンドに関して、中間データに対する加工処理を実行する。
Thereafter, the intermediate data including the data accumulation intermediate command and the like is input to the filter plug-in
図12は、第三の印刷処理における集約時蓄積無効化プラグインに対するフィルタ処理定義の例を示す図である。同図に示されるフィルタ処理定義において、「フィルタ条件」には、「@iPJL SET NUP=2IN1」が設定されている。また、「加工内容」には、「削除:@iPJL SET DATASTORE」が設定されている。したがって、当該フィルタ処理定義は、「@iPJL SET NUP=2IN1で設定されている場合には、@iPJL SET DATASTOREを削除する」という処理内容を示す。これは、「2in1印刷を行う場合は、データ蓄積は行わない」ということを意味する。 FIG. 12 is a diagram illustrating an example of the filter process definition for the accumulation invalidation plug-in in the third print process. In the filter processing definition shown in the figure, “@iPJL SET NUP = 2IN1” is set in the “filter condition”. In addition, “Delete: @iPJL SET DATASTORE” is set in “Processing content”. Therefore, the filter processing definition indicates the processing content of “when @iPJL SET NUP = 2IN1 is set, delete @iPJL SET DATASTORE”. This means that “when 2 in 1 printing is performed, data accumulation is not performed”.
集約時蓄積無効化プラグイン17cのフィルタプラグイン処理部172cは、図12に示されるフィルタ14内容がフィルタ処理定義記憶部18に含まれており、かつ、当該フィルタ処理定義に設定されているフィルタ条件が満たされる場合、当該フィルタ処理定義における加工内容によって示される加工を中間データに対して行う(S36)。したがって、データ蓄積中間コマンド「@iPJL SET DATASTORE」が中間データより削除される。ここで、データ蓄積中間コマンドを、変更ではなく削除するのは、データ蓄積中間コマンドは、当該コマンドの有無によってデータ蓄積機能の有効又は無効を示す中間コマンドだからである。本実施の形態において、各フィルタプラグイン17には、拡張中間コマンドだけではなく、中間データの全てが入力される。また、フィルタプラグイン17は、自らが加工後の中間データの全てを出力する。そうすることにより、フィルタプラグイン17による中間コマンドの削除が可能とされている。
The filter plug-in
その後、図7において説明した処理手順と同様の処理手順を経て、中間データは、印刷コマンド生成部135に入力される。印刷コマンド生成部135は、基本中間コマンドである「@iPJL SET NUP=2IN1」を、印刷コマンド「@PJL SET NUP=2IN1」に変換する(S37)。中間データは、データ蓄積プラグイン16cのプラグイン後処理部163cにも入力されるが、図11の例では、拡張中間コマンドは削除されてしまっている。したがって、プラグイン後処理部163cによる変換処理は実行されない。
Thereafter, the intermediate data is input to the print
印刷コマンド生成部135によって変換された印刷データは、後処理部134を経てプラインタ20に送信される。
The print data converted by the print
このように、図11では、2in1印刷が実行される場合は、ユーザによってデータ蓄積機能が設定されていても、データ蓄積機能は強制的に無効化される。 As described above, in FIG. 11, when 2in1 printing is executed, the data storage function is forcibly disabled even if the data storage function is set by the user.
続いて、印刷処理におけるフィルタ14の処理内容について、更に詳細に説明する。図13は、印刷処理におけるフィルタ処理の処理手順を説明するためのフローチャートである。
Next, the processing content of the
ステップS101において、フィルタ14のフィルタ処理部142は、前処理部132より中間データの入力を受け付ける。続いて、フィルタ処理部142は、基本中間コマンドに関するフィルタ処理定義(以下、「基本フィルタ処理定義」という。)をフィルタ処理定義記憶部18より取得する(S102)。基本フィルタ処理定義とは、拡張中間コマンドに関する記述が、フィルタ条件及び加工内容の双方に含まれていないフィルタ処理定義をいう。
In step S <b> 101, the
基本フィルタ処理定義が取得された場合(S103でYes)、フィルタ処理部142は、取得された基本フィルタ処理定義の中で、フィルタ条件が満たされるものの有無を中間データを参照して判定する(S104)。フィルタ条件が満たされる基本フィルタ処理定義が有る場合(S104でYes)、フィルタ処理部142は、当該基本フィルタ処理定義の加工内容によって示される加工処理を中間データに対して実行する(S105)。すなわち、中間データの制御データ内の中間コマンドについて、追加、変更、又は削除が実行される。または、中間データの描画データを加工対象とする加工内容が定義されている場合、描画データに対して加工が実行される。なお、印刷対象の文書データが複数ページである場合、全ページについて加工処理が行われる。すなわち、1ページごとにフィルタ14及び各フィルタプラグイン17による加工処理がループするのではなく、フィルタ14ごと、フィルタプラグイン17ごとに、全ページに対する加工処理が一括して行われる。
When the basic filter process definition is acquired (Yes in S103), the
続いて、フィルタ処理部142は、フィルタプラグイン情報記憶部19を参照して、フィルタプラグイン17の有無を判定する(S106)。
Subsequently, the
図14は、フィルタプラグイン情報記憶部の構成例を示す図である。同図において、フィルタプラグイン情報記憶部19は、情報処理装置10にインストールされているフィルタプラグイン17ごとに、名前、UI部、及び処理部等の項目を記憶する。名前は、フィルタプラグイン17の名前である。UI部は、情報処理装置10をフィルタプラグインUI部171として機能させるためのプログラムファイル(例えば、DLL(Dynamic Link Library))のファイル名である。処理部は、情報処理装置10をフィルタプラグイン処理部172として機能させるためのプログラムファイルのファイル名である。同図では、地紋時集約プラグインについて、UI部及び処理部に対して同じファイル名が登録されている例が示されているが、それぞれが異なっていてもよい。UI部及び処理部が同じプログラムファイルに含まれる場合、フィルタプラグインUI部171とフィルタプラグイン処理部172とは、例えば、同一のプログラムファイル内において異なる関数又はメソッドとして実装される。
FIG. 14 is a diagram illustrating a configuration example of the filter plug-in information storage unit. In the figure, a filter plug-in
フィルタプラグイン情報記憶部19は、明示的にテーブル等として形成されなくてもよい。例えば、インストールされたフィルタプラグイン17のプログラムファイルが所定のフォルダ内に保存される場合、当該フォルダ自体がフィルタプラグイン情報記憶部19として機能する。すなわち、当該フォルダ内のファイル名の一覧は、フィルタプラグイン17の一覧情報となる。なお、フィルタプラグイン情報記憶部19の内容は、フィルタプラグイン17のインストール又はアンインストールによって更新される。
The filter plug-in
フィルタプラグイン17が存在する(インストールされている)場合、すなわち、フィルタプラグイン情報記憶部19に、少なくとも一つのレコードが登録されている場合(S106でYes)、フィルタ処理部142は、先頭のフィルタプラグイン17のフィルタプラグイン処理部172を呼び出す(S107)。すなわち、当該フィルタプラグイン17のフィルタプラグイン処理部172に中間データが入力される。先頭のフィルタプラグイン17とは、フィルタプラグイン17の順序関係において先頭のフィルタプラグイン17をいう。フィルタプラグイン17の順序関係は、任意に定められてよい。例えば、フィルタプラグイン情報記憶部19における記録順であってもよい。
If the filter plug-in 17 exists (is installed), that is, if at least one record is registered in the filter plug-in information storage unit 19 (Yes in S106), the
続いて、中間データの入力先のフィルタプラグイン17によって中間データの加工処理(フィルタプラグイン処理)が実行される(S108)。なお、フィルタプラグイン17がインストールされていない場合(S106でNo)、ステップS107及びS108は実行されない。 Subsequently, intermediate data processing (filter plug-in processing) is executed by the filter plug-in 17 to which the intermediate data is input (S108). If the filter plug-in 17 is not installed (No in S106), steps S107 and S108 are not executed.
ステップS106でNoの場合、又はステップS108に続いて、フィルタ処理部142は、加工後の中間データを出力する(S109)。出力された中間データは、後処理部134に入力される。
In the case of No in step S106 or subsequent to step S108, the
続いて、ステップS108の詳細について説明する。図15は、印刷処理におけるフィルタプラグイン処理の処理手順を説明するためのフローチャートである。なお、同図の処理手順は、各フィルタプラグイン17が共通に実行するものである。但し、ステップS205の具体的な処理内容(加工内容)については、フィルタプラグイン17ごとに異なりうる。
Next, details of step S108 will be described. FIG. 15 is a flowchart for explaining the processing procedure of the filter plug-in process in the printing process. It should be noted that the processing procedure of the figure is executed in common by the filter plug-
ステップS201において、呼び出されたフィルタプラグイン17のフィルタプラグイン処理部172は、中間データの入力を受け付ける。続いて、フィルタプラグイン処理部172は、当該フィルタプラグイン17が対応する拡張中間コマンドに関するフィルタ処理定義(以下、「拡張フィルタ処理定義」という。)をフィルタ処理定義記憶部18より取得する(S202)。拡張フィルタ処理定義とは、拡張中間コマンドに関する記述が、フィルタ条件及び加工内容の少なくともいずれか一方に含まれているフィルタ処理定義をいう。
In step S201, the called filter plug-in
該当する拡張フィルタ処理定義が取得された場合(S203でYes)、フィルタプラグイン処理部172は、取得された拡張フィルタ処理定義の中で、フィルタ条件が満たされるものの有無を中間データを参照して判定する(S204)。フィルタ条件が満たされる拡張フィルタ処理定義が有る場合(S204でYes)、フィルタプラグイン処理部172は、当該拡張フィルタ処理定義の加工内容によって示される加工処理を中間データに対して実行する(S205)。すなわち、中間データの制御データ内の中間コマンドについて、追加、変更、又は削除が実行される。または、中間データの描画データを加工対象とする加工内容が定義されている場合、描画データに対して加工が実行される。なお、印刷対象の文書データが複数ページである場合、全ページについて加工処理が行われる。
When the corresponding extended filter processing definition is acquired (Yes in S203), the filter plug-in
続いて、フィルタプラグイン処理部172は、フィルタプラグイン情報記憶部19を参照して、次のフィルタプラグイン17の有無を判定する(S206)。次のフィルタプラグイン17が存在する(インストールされている)場合(S206でYes)、フィルタプラグイン処理部172は、次のフィルタプラグイン17のフィルタプラグイン処理部172を呼び出す(S207)。すなわち、当該フィルタプラグイン17のフィルタプラグイン処理部172に中間データが入力される。続いて、次のフィルタプラグイン17によって加工処理(図15に示されるフィルタプラグイン処理)が実行される(S208)。その後、次のフィルタプラグイン17より中間データが出力されると、フィルタプラグイン処理部172は、当該中間データを、呼び出し元のフィルタ14又はフィルタプラグイン17に出力する(S209)。なお、次のフィルタプラグイン17が無い場合(S206でNo)、ステップS207及びS208は実行されない。
Subsequently, the filter plug-in
続いて、フィルタ処理定義の設定処理について説明する。図16は、フィルタ処理定義の設定処理の処理手順を説明するためのシーケンス図である。 Next, the filter process definition setting process will be described. FIG. 16 is a sequence diagram for explaining the processing procedure of the filter processing definition setting processing.
ユーザによって、フィルタ設定部15が起動されると、フィルタ設定部15は、フィルタ14のフィルタUI部141を呼び出す(S301)。なお、本実施の形態において、フィルタ設定部15は、EXEファイルのように、一つのプロセスとして起動されるプログラムであり、フィルタ14は、DLLのように、プロセス内で呼び出されるプログラムであるとする。但し、各部の実装形態については、所定のものに限定されない。
When the
続いて、フィルタUI部141は、フィルタ設定画面を表示装置106に表示させる(S302)。
Subsequently, the
図17は、フィルタ設定画面の一例を示す図である。同図において、フィルタ設定画面600は、キーワードシート610、基本シート620、編集シート630、仕上げシート640、その他シート650、及び印刷品質シート660等、複数のシート(画面)を含む。
FIG. 17 is a diagram illustrating an example of the filter setting screen. In the figure, the
基本シート610は、フィルタ処理定義におけるフィルタ条件等を設定させるためのシートであり、タイトル設定領域611、検知文字列設定領域612、プリンタ条件設定領域613,検索範囲設定領域614、及びプラグインボタン615等を含む。
The basic sheet 610 is a sheet for setting filter conditions and the like in the filter processing definition, and includes a title setting area 611, a detection character
タイトル設定領域611は、フィルタ処理定義のタイトルを入力させるための領域である。図8、図10、及び図12等では省略されているが、各フィルタ処理定義には、それぞれタイトルが設定されうる。 The title setting area 611 is an area for inputting the title of the filter processing definition. Although omitted in FIGS. 8, 10, and 12, a title can be set for each filter processing definition.
検知文字列設定領域612は、中間データ内に所定の文字列が含まれていることをフィルタ条件とする場合に、検索対象とする文字列等を設定させるための領域である。例えば、テキストボックス612aは、中間データの描画データ内において検知対象とする文字列を設定させるためのテキストボックスである。テキストボックス612bは、ジョブ名に対して検知対象とする文字列を設定するためのテキストボックスである。
The detected character
プリンタ条件設定領域613は、印刷先のプリンタをフィルタ条件とする場合に、プリンタ名を選択させるための領域である。
A printer
検索範囲設定領域614は、検知文字列設定領域612において設定された文字列の検索範囲(すべてのページ又は特定のページ)を設定させるための領域である。
The search range setting area 614 is an area for setting the search range (all pages or specific pages) of the character string set in the detected character
プラグインボタン615は、フィルタプラグイン17がインストールされている場合に、当該フィルタプラグイン17に関するフィルタ処理定義を設定させるための画面(以下、「フィルタプラグイン設定画面」という。)を表示させるためのボタン(表示部品)である。すなわち、フィルタUI部141は、フィルタプラグイン情報記憶部19を参照して、少なくとも一つのフィルタプラグイン17がインストールされている場合は、プラグインボタン615を操作可能な状態で表示させ、フィルタプラグイン17が一つもインストールされていない場合は、プラグインボタン615を非表示とする。または、フィルタプラグイン17が一つもインストールされていない場合、プラグインボタン615は、グレイアウトされた状態で(すなわち、操作不能な状態で)表示されてもよい。また、フィルタプラグイン17が複数存在する場合、それぞれに対応するプラグインボタン615を表示させてもよいし、メニュー等、複数の選択肢からの選択に適した表示部品おいて、各フィルタプラグイン17を選択肢として表示させるようにしてもよい。
The plug-in button 615 displays a screen (hereinafter referred to as “filter plug-in setting screen”) for setting a filter processing definition related to the filter plug-in 17 when the filter plug-in 17 is installed. Button (display component). That is, the
なお、同図では、基本項目に関するフィルタ条件(例えば、2in1が設定されていることに関するフィルタ条件)を設定する領域は省略されている。 In the figure, an area for setting a filter condition for a basic item (for example, a filter condition for setting 2in1) is omitted.
一方、基本シート620等では、キーワードシート610におけるフィルタ条件に合致した場合の印刷態様が設定される。当該印刷態様の設定は、例えば、印刷設定ダイアログにおいて設定される内容とほぼ同様の内容である。したがって、図8等では、フィルタ処理定義を簡略化して示したが、一つのフィルタ条件に対して、複数の加工内容が設定されうる。
On the other hand, in the
フィルタ設定画面600において、少なくともキーワードシート610に対する設定が行われ、プラグインボタン615が押下されると、フィルタUI部141は、押下されたプラグインボタンに対応するフィルタプラグイン17のフィルタプラグインUI部171を呼び出す(S303)。
When at least setting for the keyword sheet 610 is performed on the
呼び出されたフィルタプラグインUI部171は、当該フィルタプラグイン17のフィルタプラグイン設定画面を表示装置106に表示させる(S304)。
The called filter plug-in
図18は、フィルタプラグイン設定画面の一例を示す図である。同図は、地紋時集約プラグイン17aに対するフィルタプラグイン設定画面700が例示されている。フィルタプラグイン設定画面700は、地紋印刷時に集約を実行するか否かを選択させるためのチェックボタン710を有する。チェックボタン710がチェックされた場合、地紋印刷時に集約を実行するという加工内容が設定されたこととなる。この場合のフィルタ条件は、フィルタ設定画面600の基本シート610において設定されたものとなる。但し、フィルタプラグイン設定画面700において、個別にフィルタ条件が設定可能とされてもよい。特に、拡張機能をフィルタ条件とする場合(すなわち、拡張中間コマンドに対する設定をフィルタ条件とする場合)、フィルタプラグイン設定画面において独自のフィルタ条件を設定可能とするとよい。
FIG. 18 is a diagram illustrating an example of a filter plug-in setting screen. This figure illustrates a filter plug-in
フィルタプラグイン設定画面における設定が終了し(S305)、フィルタ設定画面600において保存が指示されると(「OKボタン」が押下されると)、フィルタUI部141は、フィルタ設定画面600及びフィルタプラグイン設定画面における設定内容をフィルタ処理定義記憶部18に記録する(S306)。一回の操作(図16の処理手順の一回の実行)によって、一つのフィルタ処理定義が生成される。
When the setting on the filter plug-in setting screen is completed (S305) and saving is instructed on the filter setting screen 600 (when the “OK button” is pressed), the
なお、本実施の形態では、フィルタ14に関するフィルタ処理定義と、フィルタプラグイン17に関するフィルタ処理定義とを混在させてフィルタ処理定義記憶部18に記録する例について説明したが、フィルタ14及び各フィルタプラグイン17に対するフィルタ処理定義が区別されて保存されてもよい。区別の仕方は所定の形態に限定されない。それぞれが異なるファイル(テーブル)に記録されてもよいし、一つのファイル(テーブル)内において、フィルタ処理定義ごとに、フィルタ14又は各フィルタプラグイン17の識別情報が付加されてもよい。
In this embodiment, the example in which the filter processing definition related to the
上述したように、本実施の形態によれば、プリンタドライバ13の機能拡張に応じて、フィルタプラグイン17によって中間データの加工処理を拡張させることができる。フィルタプラグイン17は、フィルタ14とは独立してインストール又はアンインストールが可能なプログラムであるため、機能拡張に応じて柔軟に構成を変更することができる。
As described above, according to the present embodiment, the processing of intermediate data can be expanded by the filter plug-in 17 in accordance with the function expansion of the
なお、本実施の形態では、プリンタドライバ13の機能拡張の形態として、ドライバプラグイン16を追加する例を示した。但し、フィルタプラグイン17によって対応可能なプリンタドライバ13の機能拡張の形態は所定のものに限定されない。例えば、プリンタドライバ13のソースコードの変更によってプリンタドライバ13の機能拡張が行われる場合において、フィルタプラグイン17によって当該機能拡張に対する対応が行われてもよい。
In the present embodiment, an example in which the driver plug-in 16 is added is shown as a function expansion form of the
また、ドライバプラグイン16によってプリンタドライバ13の機能拡張が行われる場合、ドライバプラグイン16の一部としてフィルタプラグイン17が実装されてもよい。
When the function of the
図19は、ドライバプラグインの一部としてフィルタプラグインが実装された場合の情報処理装置のソフトウェア構成例を示す図である。同図では、ドライバプラグイン16の中にフィルタプラグイン17が含まれている例が示されている。例えば、ドライバプラグイン16としてのDLLの関数としてフィルタプラグイン17が実装された例である。このような形態によれば、ドライバプラグイン16をインストールすることで、フィルタ14に関しても機能拡張を図ることができる。したがって、インストール作業等の作業負担を軽減することができる。
FIG. 19 is a diagram illustrating a software configuration example of the information processing apparatus when the filter plug-in is mounted as a part of the driver plug-in. In the figure, an example in which a filter plug-in 17 is included in the driver plug-in 16 is shown. For example, the filter plug-in 17 is implemented as a DLL function as the driver plug-in 16. According to such a form, by installing the driver plug-in 16, the function of the
なお、ドライバプラグイン16やフィルタプラグイン17の実装形態は、DLLに限定されない。実装に使用するプラグラム言語や、動作環境(OS(Operating System)等)に応じて、適宜適切な実装形態が選択されればよい。 The mounting form of the driver plug-in 16 and the filter plug-in 17 is not limited to the DLL. An appropriate mounting form may be selected as appropriate in accordance with a program language used for mounting and an operating environment (OS (Operating System) or the like).
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。 As mentioned above, although the Example of this invention was explained in full detail, this invention is not limited to such specific embodiment, In the range of the summary of this invention described in the claim, various deformation | transformation・ Change is possible.
1 印刷システム
10 情報処理装置
11 アプリケーション
12 GDI
13 プリンタドライバ
14 フィルタ
15 フィルタ設定部
16 ドライバプラグイン
16a 地紋プラグイン
16c データ蓄積プラグイン
17 フィルタプラグイン
17a 地紋時集約プラグイン
17b マル秘時地紋プラグイン
17c 集約時蓄積無効化プラグイン
18 フィルタ処理定義記憶部
19 フィルタプラグイン情報記憶部
20 プリンタ
100 ドライブ装置
101 記録媒体
102 補助記憶装置
103 メモリ装置
104 CPU
105 インタフェース装置
106 表示装置
107 入力装置
131 ドライバUI部
132 前処理部
133 中間コマンド生成部
134 後処理部
135 印刷コマンド生成部
141 フィルタUI部
142 フィルタ処理部
161 ドライバプラグインUI部
162 プラグイン前処理部
163 プラグイン後処理部
171 フィルタプラグインUI部
172 フィルタプラグイン処理部
B バス
1
13
105
Claims (11)
前記基本加工手段が対応していない拡張中間コマンドに関して前記中間データに対して第二の加工処理を行う拡張加工手段とを有する情報処理装置。 Basic processing means for performing first processing on intermediate data including intermediate commands generated based on print setting information;
An information processing apparatus comprising: an extended processing unit that performs a second processing on the intermediate data with respect to an extended intermediate command that is not supported by the basic processing unit.
前記拡張加工手段は、前記第二の加工処理の内容を設定させるための第二の設定画面を表示させる拡張表示制御手段を有し、
前記基本表示制御手段は、前記第二の設定画面の表示を前記拡張表示制御手段に実行させるための表示部品を前記第一の設定画面に表示させる請求項1乃至3いずれか一項記載の情報処理装置。 The basic processing means includes basic display control means for displaying a first setting screen for setting the content of the first processing process.
The extended processing means has extended display control means for displaying a second setting screen for setting the content of the second processing.
4. The information according to claim 1, wherein the basic display control unit displays a display component for causing the extended display control unit to display the second setting screen on the first setting screen. 5. Processing equipment.
印刷設定情報に基づいて生成される中間コマンドを含む中間データに対して第一の加工処理を行う基本加工手段として機能させ、
前記基本加工手段は、前記基本加工手段が対応していない拡張中間コマンドに関して前記中間データに対して第二の加工処理を行う拡張加工手段に、前記中間データに含まれている該拡張中間コマンドに関する加工処理を実行させる中間データ加工プログラム。 Computer
Function as basic processing means for performing first processing on intermediate data including intermediate commands generated based on print setting information;
The basic processing means relates to the extended intermediate command included in the intermediate data in the extended processing means for performing a second processing on the intermediate data with respect to the extended intermediate command not supported by the basic processing means. Intermediate data processing program that executes processing.
前記拡張加工手段は、前記第二の加工処理の内容を設定させるための第二の設定画面を表示させる拡張表示制御手段を有し、
前記基本表示制御手段は、前記第二の設定画面の表示を前記拡張表示制御手段に実行させるための表示部品を前記第一の設定画面に表示させる請求項6乃至8いずれか一項記載の中間データ加工プログラム。 The basic processing means includes basic display control means for displaying a first setting screen for setting the content of the first processing process.
The extended processing means has extended display control means for displaying a second setting screen for setting the content of the second processing.
The intermediate according to any one of claims 6 to 8, wherein the basic display control means displays a display component for causing the extended display control means to display the second setting screen on the first setting screen. Data processing program.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010131675A JP2011257975A (en) | 2010-06-09 | 2010-06-09 | Information processing unit, intermediate data processing program, and recording medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010131675A JP2011257975A (en) | 2010-06-09 | 2010-06-09 | Information processing unit, intermediate data processing program, and recording medium |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011257975A true JP2011257975A (en) | 2011-12-22 |
Family
ID=45474090
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010131675A Pending JP2011257975A (en) | 2010-06-09 | 2010-06-09 | Information processing unit, intermediate data processing program, and recording medium |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2011257975A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014172340A (en) * | 2013-03-12 | 2014-09-22 | Fuji Xerox Co Ltd | Printing control device, printer, and program |
JP2014241118A (en) * | 2013-06-12 | 2014-12-25 | 株式会社リコー | Printing controller, printing control method, program, and printing control system |
JP7400495B2 (en) | 2020-01-23 | 2023-12-19 | 株式会社リコー | Information processing device, information processing system, information processing method, and program |
-
2010
- 2010-06-09 JP JP2010131675A patent/JP2011257975A/en active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014172340A (en) * | 2013-03-12 | 2014-09-22 | Fuji Xerox Co Ltd | Printing control device, printer, and program |
JP2014241118A (en) * | 2013-06-12 | 2014-12-25 | 株式会社リコー | Printing controller, printing control method, program, and printing control system |
JP7400495B2 (en) | 2020-01-23 | 2023-12-19 | 株式会社リコー | Information processing device, information processing system, information processing method, and program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4520340B2 (en) | PRINT CONTROL DEVICE, CONTROL METHOD FOR PRINT CONTROL DEVICE, PRINT CONTROL PROGRAM, AND RECORDING MEDIUM | |
JP4912214B2 (en) | Information processing apparatus and object display method | |
US7920280B2 (en) | Multi-usage print setting in an information processing apparatus | |
US8681354B2 (en) | Information processing apparatus for setting a printing attribute to a hot folder | |
US9355046B2 (en) | Information processing apparatus, information processing method, and computer-readable medium | |
JP4780156B2 (en) | Information processing apparatus, information processing method, information processing program, and computer-readable recording medium recording the information processing program | |
US20140204421A1 (en) | Printer driver, storage medium, and information processing apparatus | |
US20200004473A1 (en) | Information apparatus, controlling method for information apparatus, and storage medium | |
US9830544B2 (en) | Image processing apparatus, control method, and storage medium for executing print processing using a password including selecting a personal identification code type that indicates a purpose for using the password | |
US8649030B2 (en) | Controlling an information processing apparatus on which a plurality of printer drivers are installed | |
JP5783731B2 (en) | Image forming apparatus | |
US20110058219A1 (en) | Printer driver, information processing apparatus, and computer program product | |
JP5527992B2 (en) | Print control method, print control apparatus, and computer program | |
JP2010003120A (en) | Print condition setting device, print condition setting method and print condition setting program | |
JP5581793B2 (en) | Information processing apparatus, program, and storage medium | |
JP2012181694A (en) | Information processor, print system, control method and program | |
JP2011257975A (en) | Information processing unit, intermediate data processing program, and recording medium | |
JP2014174679A (en) | Information processing device and its method | |
JP5517487B2 (en) | Image processing apparatus, image processing apparatus control method, and program | |
JP4425808B2 (en) | Print information processing apparatus, print information processing program, and recording medium | |
US9588942B2 (en) | Information processing apparatus and information processing method | |
JP5825060B2 (en) | Device driver and device driver device | |
JP4903064B2 (en) | Print control apparatus, print control method, and print control program | |
JP2012181695A (en) | Information processor, print system, control method and program | |
JP2010165153A (en) | Item setting device, its control method, and control program |