JP2006209430A - Virtual printer driver and virtual printer driver program - Google Patents

Virtual printer driver and virtual printer driver program Download PDF

Info

Publication number
JP2006209430A
JP2006209430A JP2005020052A JP2005020052A JP2006209430A JP 2006209430 A JP2006209430 A JP 2006209430A JP 2005020052 A JP2005020052 A JP 2005020052A JP 2005020052 A JP2005020052 A JP 2005020052A JP 2006209430 A JP2006209430 A JP 2006209430A
Authority
JP
Japan
Prior art keywords
printer driver
virtual printer
application
request
function
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2005020052A
Other languages
Japanese (ja)
Other versions
JP4457902B2 (en
Inventor
Yoshimasa Sugawara
義雅 菅原
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.)
Konica Minolta Business Technologies Inc
Original Assignee
Konica Minolta Business Technologies 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 Konica Minolta Business Technologies Inc filed Critical Konica Minolta Business Technologies Inc
Priority to JP2005020052A priority Critical patent/JP4457902B2/en
Publication of JP2006209430A publication Critical patent/JP2006209430A/en
Application granted granted Critical
Publication of JP4457902B2 publication Critical patent/JP4457902B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a virtual printer driver program which extends functions of a printer driver with a decreased development cost. <P>SOLUTION: When receiving a page start request from an application 401, the page start function 451a of a virtual printer driver 451 transfers the request to a page start function 453a which is the same function as that of a real printer driver 453 (Figure (1)). After receiving a signal of completion from the page start function 453a of the real printer driver 453, the page start function 451a outputs the request to the bitmap output function 453d of the real printer driver 453 so as to insert a bitmap in the head of a page (Figure (2)). After the output is completed, the page start function 451a returns the completion of processing to the application 401 (Figure (3)). <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

この発明は仮想プリンタドライバ、および仮想プリンタドライバプログラムに関し、特にアプリケーションからの印刷要求を印刷機器が解釈できる言語に変換するプリンタドライバ(以下、「実プリンタドライバ」という。)と、アプリケーションとの間の中継プログラムとして働く仮想プリンタドライバ、および仮想プリンタドライバプログラムに関する。   The present invention relates to a virtual printer driver and a virtual printer driver program, and in particular, between a printer driver that converts a print request from an application into a language that can be interpreted by a printing device (hereinafter referred to as “real printer driver”) and the application. The present invention relates to a virtual printer driver that works as a relay program and a virtual printer driver program.

従来より、PC(パーソナルコンピュータ)などのコンピュータと、MFP(Multi Function Peripherals)などの画像形成装置(印刷機器)とをネットワークで接続した印刷システムが知られている。コンピュータにインストールされたアプリケーションから印刷要求が出されると、プリンタドライバは、それを画像形成装置が解釈できる言語に変換し、画像形成装置に送信する。これにより、画像形成装置でプリントが行なわれる。   2. Description of the Related Art Conventionally, a printing system in which a computer such as a PC (personal computer) and an image forming apparatus (printing device) such as an MFP (Multi Function Peripherals) are connected via a network is known. When a print request is issued from an application installed in the computer, the printer driver converts it into a language that can be interpreted by the image forming apparatus, and transmits it to the image forming apparatus. As a result, printing is performed by the image forming apparatus.

図15は、アプリケーションとプリンタドライバとの関係を示す図である。   FIG. 15 is a diagram illustrating a relationship between an application and a printer driver.

プリンタドライバ453は、ページ開始関数453aと、文字出力関数453bと、図形描画関数453cと、ビットマップ出力描画関数453dと、ページ終了関数453eとを備えている。   The printer driver 453 includes a page start function 453a, a character output function 453b, a graphic drawing function 453c, a bitmap output drawing function 453d, and a page end function 453e.

アプリケーション401が通常の印刷処理を行なう際には、(1)に示されるように、アプリケーションの各要求に対応するプリンタドライバ453の関数453a〜453eを利用することにより、印刷処理が行なわれる。   When the application 401 performs normal print processing, as shown in (1), the print processing is performed by using the functions 453a to 453e of the printer driver 453 corresponding to each request of the application.

プリンタドライバ453は、アプリケーション401からの要求を、印刷機器1の解釈できる言語(PDL:page description language(ページ記述言語))に変換し、印刷機器1に出力する(図中の(2))。   The printer driver 453 converts the request from the application 401 into a language (PDL: page description language) that can be interpreted by the printing device 1 and outputs the request to the printing device 1 ((2) in the figure).

ページ開始要求、オブジェクト描画要求(文字出力要求、図形描画要求、ビットマップ出力要求など)、およびページ終了要求の一連のシーケンスを繰り返すことにより、印刷が行なわれる。   Printing is performed by repeating a series of page start requests, object drawing requests (character output requests, graphic drawing requests, bitmap output requests, etc.) and page end requests.

なお、プリントの技術に関して、以下の特許文献1には、アプリケーションプログラムの能力に左右されることなく、あらゆる出力デバイスから高品位の印刷を行なうために、中間データに操作を加える印刷データ統合処理システムが開示されている。   Regarding printing technology, the following Patent Document 1 discloses a print data integrated processing system that performs operations on intermediate data in order to perform high-quality printing from any output device, regardless of the capability of an application program. Is disclosed.

また特許文献2は、印刷結果のレイアウトを変更するために中間データに操作を加える印刷データレイアウト編集システムを開示している。   Further, Patent Document 2 discloses a print data layout editing system that performs an operation on intermediate data in order to change the layout of a print result.

特許文献3は、合成を行なうために中間データを作成する印刷システムを開示している。
特開2002−219828号公報 特開2002−222184号公報 特開平11−184657号公報
Patent Document 3 discloses a printing system that creates intermediate data for synthesis.
JP 2002-219828 A JP 2002-222184 A JP-A-11-184657

プリンタドライバに印刷データを加工する機能などの追加機能を備えさせる場合、例えばプリンタドライバに、印刷データ内に含まれるページへの地紋挿入機能や、ページの挿入機能を実装するためには、プリンタドライバ本体にそのような機能を実装する必要があった。   When the printer driver is provided with an additional function such as a function for processing print data, for example, in order to implement a copy-forgery-inhibited pattern insertion function for a page included in the print data or a page insertion function in the printer driver, the printer driver It was necessary to implement such a function in the main body.

これにより、プリンタドライバ本体の開発担当者の作業の工数が多くなり、また、プリンタドライバ本体に変更を加えるため、市場へリリースするまでに評価工数が必要であるという問題があった。   As a result, the number of man-hours for the person in charge of developing the printer driver main body is increased, and there is a problem that an evaluation man-hour is required before releasing to the market in order to change the printer driver main body.

また、プリンタドライバにはPCL、PostScript、GDIなど複数のタイプがあるため、全てのタイプのプリンタドライバに同一の機能を実装するのは困難であった。   Further, since there are a plurality of types of printer drivers such as PCL, PostScript, and GDI, it is difficult to implement the same function in all types of printer drivers.

この発明は上記問題点を解決するためになされたものであり、少ない開発コストでプリンタドライバの機能を拡張することができる仮想プリンタドライバプログラムを提供することを目的としている。   The present invention has been made to solve the above-described problems, and an object of the present invention is to provide a virtual printer driver program that can expand the functions of a printer driver with a small development cost.

上記目的を達成するためこの発明のある局面に従うと、仮想プリンタドライバは、アプリケーションからの印刷要求を印刷機器が解釈できる言語に変換するプリンタドライバと、アプリケーションとの間の中継プログラムとして働くよう動作する。   In order to achieve the above object, according to one aspect of the present invention, a virtual printer driver operates to act as a relay program between a printer driver that converts a print request from an application into a language that can be interpreted by a printing device, and the application. .

この発明の他の局面に従うと、仮想プリンタドライバプログラムは、アプリケーションからの印刷要求を印刷機器が解釈できる言語に変換するプリンタドライバ(実プリンタドライバ)と、アプリケーションとの間でデータの中継が行なわれるようにコンピュータを動作させる仮想プリンタドライバプログラムであって、アプリケーション、または他の仮想プリンタドライバからの要求を受付ける受付ステップと、受付けられた要求に基づいて、実プリンタドライバ、または他の仮想プリンタドライバに要求を出力する出力ステップとをコンピュータに実行させる。   According to another aspect of the present invention, the virtual printer driver program relays data between a printer driver (actual printer driver) that converts a print request from the application into a language that can be interpreted by the printing device, and the application. A virtual printer driver program for operating a computer in the same manner as described above, wherein a reception step of receiving a request from an application or another virtual printer driver and a real printer driver or another virtual printer driver based on the received request Causing the computer to execute an output step of outputting the request.

好ましくは出力ステップは、アプリケーション、または他の仮想プリンタドライバからの要求の少なくとも一部をそのまま実プリンタドライバ、または他の仮想プリンタドライバに転送する。   Preferably, the output step transfers at least a part of the request from the application or another virtual printer driver to the real printer driver or another virtual printer driver as it is.

好ましくは仮想プリンタドライバプログラムは、特定の機能を実現する際に、実プリンタドライバの機能を利用することを特徴とする。   Preferably, the virtual printer driver program uses a function of the actual printer driver when realizing a specific function.

好ましくは仮想プリンタドライバプログラムは、他の仮想プリンタドライバプログラムと多段に組合されることで、複数の機能を組合わせた印刷を可能とする。   Preferably, the virtual printer driver program is combined with other virtual printer driver programs in multiple stages, thereby enabling printing combining a plurality of functions.

好ましくは仮想プリンタドライバプログラムは、他の仮想プリンタドライバプログラムと並列に組合されることで、複数アプリケーションからの印刷要求に基づいて、実プリンタドライバへ要求を出力することが可能である。   Preferably, the virtual printer driver program is combined with other virtual printer driver programs in parallel, so that a request can be output to the actual printer driver based on a print request from a plurality of applications.

好ましくは仮想プリンタドライバプログラムは、外部プログラムと連携して動作することを特徴とする。   Preferably, the virtual printer driver program operates in cooperation with an external program.

好ましくは仮想プリンタドライバプログラムは、外部サーバの仮想プリンタドライバと組合せることが可能である。   Preferably, the virtual printer driver program can be combined with a virtual printer driver of an external server.

この発明の他の局面に従うと、コンピュータ読取可能な記録媒体は、上記いずれかに記載の仮想プリンタドライバプログラムを記録する。   According to another aspect of the present invention, a computer-readable recording medium records the virtual printer driver program described above.

この発明に従うと、仮想プリンタドライバは、実プリンタドライバとアプリケーションとの間の中継プログラムとして働くため、少ない開発コストでプリンタドライバの機能を拡張することができる。   According to the present invention, the virtual printer driver functions as a relay program between the actual printer driver and the application, so that the function of the printer driver can be expanded with a small development cost.

[第1の実施の形態]
図1は、本発明の第1の実施の形態における画像形成システムの構成を示す図である。
[First Embodiment]
FIG. 1 is a diagram showing a configuration of an image forming system according to the first embodiment of the present invention.

図を参照して、画像形成システムは、画像形成装置の一種であるMFP(Multi Function Peripheral)1と、複数のPC2a〜2cとから構成される。各機器は、それぞれネットワークに接続される。   Referring to the figure, the image forming system includes an MFP (Multi Function Peripheral) 1 which is a kind of image forming apparatus, and a plurality of PCs 2a to 2c. Each device is connected to a network.

このような構成により、MPF1は、ネットワーク上で複数のユーザから共有される。   With such a configuration, the MPF 1 is shared by a plurality of users on the network.

図2は、図1のPC2a〜2cの1つの構成を示すブロック図である。   FIG. 2 is a block diagram showing one configuration of the PCs 2a to 2c in FIG.

図を参照してPCは、装置全体の制御を行なうCPU301と、操作画面等を表示するディスプレイ部303と、MFP1に送信するデータなどを記憶する記憶部305と、キーボードやマウスなどを含む操作部307と、ネットワークとの間でデータの送受信を行なうネットワークI/F部309とから構成される。   Referring to the figure, a PC includes a CPU 301 that controls the entire apparatus, a display unit 303 that displays an operation screen, a storage unit 305 that stores data to be transmitted to MFP 1, an operation unit including a keyboard, a mouse, and the like. 307 and a network I / F unit 309 that transmits and receives data to and from the network.

図3は、図1のMFP1の構成を示すブロック図である。   FIG. 3 is a block diagram showing a configuration of MFP 1 in FIG.

図を参照してMFP1は、原稿の読取を行なうスキャン部201と、装置全体の制御を行なう制御部203と、データを作成するデータ作成部205と、ネットワークを介したデータの送受信を行なうデータ送受信部207およびネットワークI/F部211と、プリントエンジンなどを備え用紙に画像を記録する印刷出力部213と、データを記憶する記憶部215と、ユーザからの操作を受付ける操作パネル部209とを備えている。   Referring to the figure, MFP 1 scan unit 201 that reads a document, control unit 203 that controls the entire apparatus, data creation unit 205 that creates data, and data transmission / reception that sends and receives data via a network. Unit 207 and network I / F unit 211, a print output unit 213 that includes a print engine and the like and records an image on a sheet, a storage unit 215 that stores data, and an operation panel unit 209 that receives an operation from a user. ing.

図4は、本発明の第1の実施の形態において用いられる仮想プリンタドライバの構成および機能を説明するための図である。   FIG. 4 is a diagram for explaining the configuration and functions of the virtual printer driver used in the first embodiment of the present invention.

ここでは、仮想プリンタドライバに対比させて、図15に示した、アプリケーションからの印刷要求を印刷機器が解釈できる言語に変換するプリンタドライバを実プリンタドライバ453と称している。   Here, in contrast to the virtual printer driver, the printer driver shown in FIG. 15 that converts a print request from an application into a language that can be interpreted by the printing device is referred to as an actual printer driver 453.

実プリンタドライバ453は、図15のプリンタドライバと同様の機能を有し、ページ開始関数453aと、文字出力関数453bと、図形描画関数453cと、ビットマップ出力描画関数453dと、ページ終了関数453eとを備えている。   The actual printer driver 453 has the same function as that of the printer driver of FIG. 15, and includes a page start function 453a, a character output function 453b, a graphic drawing function 453c, a bitmap output drawing function 453d, and a page end function 453e. It has.

仮想プリンタドライバ451も、ページ開始関数451aと、文字出力関数451bと、図形描画関数451cと、ビットマップ出力描画関数451dと、ページ終了関数451eとを備えている。仮想プリンタドライバ451は、アプリケーション401と実プリンタドライバ453との間に位置し、両者の間でデータの授受を中継する。すなわち、仮想プリンタドライバ451は、アプリケーション401の要求を実プリンタドライバ453へ中継する。   The virtual printer driver 451 also includes a page start function 451a, a character output function 451b, a graphic drawing function 451c, a bitmap output drawing function 451d, and a page end function 451e. The virtual printer driver 451 is located between the application 401 and the actual printer driver 453, and relays data exchange between them. That is, the virtual printer driver 451 relays the request for the application 401 to the actual printer driver 453.

仮想プリンタドライバ451、実プリンタドライバ453、およびアプリケーション401は、それぞれPCの記憶部305に記憶され、CPU301により読出されることによりコンピュータを動作させるプログラムである。   The virtual printer driver 451, the actual printer driver 453, and the application 401 are programs that are stored in the storage unit 305 of the PC and are read by the CPU 301 to operate the computer.

ここでは、仮想プリンタドライバ451は、アプリケーションの要求(図中(1))をそのまま実プリンタドライバ453の同一関数に転送する(図中(2))。実プリンタドライバ453の戻りは、そのままアプリケーション401に転送される。   Here, the virtual printer driver 451 transfers the application request ((1) in the figure) as it is to the same function of the actual printer driver 453 ((2) in the figure). The return of the actual printer driver 453 is transferred to the application 401 as it is.

仮想プリンタドライバ451をアプリケーション401と実プリンタドライバ453との間に挿入した図4の状態で、アプリケーション401、実プリンタドライバ453、および印刷機器1の動作は、図15での動作と全く同じである。   In the state of FIG. 4 in which the virtual printer driver 451 is inserted between the application 401 and the actual printer driver 453, the operations of the application 401, the actual printer driver 453, and the printing device 1 are exactly the same as the operations in FIG. .

言い換えれば、アプリケーション401が利用するプリンタドライバが、実プリンタドライバ453から仮想プリンタドライバ451に代わる以外、本実施の形態ではシステムに影響を与えない。すなわち、図4のシステムにおいても、図15と同一の印刷結果が得られる。   In other words, the present embodiment does not affect the system except that the printer driver used by the application 401 is changed from the actual printer driver 453 to the virtual printer driver 451. That is, also in the system of FIG. 4, the same printing result as in FIG. 15 is obtained.

すなわち、実プリンタドライバ453は、アプリケーション401からの要求を、仮想プリンタドライバ451を介して取得し、それを印刷機器1の解釈できる言語(PDL:page description language(ページ記述言語))に変換し、印刷機器1に出力する。   That is, the real printer driver 453 acquires a request from the application 401 via the virtual printer driver 451, converts it into a language (PDL: page description language) that can be interpreted by the printing device 1, Output to the printing device 1.

ページ開始要求、オブジェクト描画要求(文字出力要求、図形描画要求、ビットマップ出力要求など)、およびページ終了要求の一連のシーケンスを繰り返すことにより、印刷が行なわれる。   Printing is performed by repeating a series of page start requests, object drawing requests (character output requests, graphic drawing requests, bitmap output requests, etc.) and page end requests.

ここに、仮想プリンタドライバ451に追加機能を実装する場合を説明する。   Here, a case where an additional function is implemented in the virtual printer driver 451 will be described.

図5は、追加機能を実装した仮想プリンタドライバ451が挿入された場合のシステムの動作を示す図である。   FIG. 5 is a diagram illustrating the operation of the system when the virtual printer driver 451 in which the additional function is installed is inserted.

この例では、仮想プリンタドライバ451は、印刷するページの先頭にビットマップ(たとえば地紋)を挿入する機能を有している。   In this example, the virtual printer driver 451 has a function of inserting a bitmap (for example, a background pattern) at the top of a page to be printed.

まず、アプリケーション401からのページ開始要求を取得すると、仮想プリンタドライバ451のページ開始関数451aは、実プリンタドライバ453の同一関数であるページ開始関数453aに要求を伝える(図中(1))。   First, when a page start request from the application 401 is acquired, the page start function 451a of the virtual printer driver 451 transmits the request to the page start function 453a that is the same function of the actual printer driver 453 ((1) in the figure).

実プリンタドライバ453のページ開始関数453aからの完了の信号を待って、仮想プリンタドライバ451のページ開始関数451aは、追加機能を実行する。   Waiting for a completion signal from the page start function 453a of the actual printer driver 453, the page start function 451a of the virtual printer driver 451 executes an additional function.

この例ではページ先頭にビットマップを挿入するために、仮想プリンタドライバ451のページ開始関数451aは、実プリンタドライバ453のビットマップ出力関数453dに要求を出力する(図中(2))。その完了を待ってページ開始関数451aは、アプリケーション401へ、処理の完了を返す(図中(3))。   In this example, in order to insert a bitmap at the top of the page, the page start function 451a of the virtual printer driver 451 outputs a request to the bitmap output function 453d of the actual printer driver 453 ((2) in the figure). Waiting for the completion, the page start function 451a returns the completion of processing to the application 401 ((3) in the figure).

このような処理により、アプリケーションや、実プリンタドライバに変更を加えずに、追加機能の実現が可能である。   By such processing, additional functions can be realized without changing the application and the actual printer driver.

[第2の実施の形態]
図6は、第2の実施の形態における、追加機能を実装した仮想プリンタドライバが2つ挿入された場合のシステムの動作を示す図である。
[Second Embodiment]
FIG. 6 is a diagram illustrating the operation of the system when two virtual printer drivers with additional functions are inserted in the second embodiment.

図6に示されるように、この実施の形態では仮想プリンタドライバを多段に重ねている。   As shown in FIG. 6, in this embodiment, virtual printer drivers are stacked in multiple stages.

ここでは第1の実施の形態と同様の、ページ開始時にビットマップを出力する追加機能Aを持つ仮想プリンタドライバA451と、図形描画時に文字を印刷する追加機能Bを持つ仮想プリンタドライバB452とを重ねた構成を例に挙げる。   Here, similar to the first embodiment, a virtual printer driver A451 having an additional function A for outputting a bitmap at the start of a page and a virtual printer driver B452 having an additional function B for printing characters at the time of drawing a figure are overlapped. The following is an example.

仮想プリンタドライバA451は、実プリンタドライバ453へではなく、仮想プリンタドライバB452の同一関数に要求を転送する。   The virtual printer driver A451 transfers the request to the same function of the virtual printer driver B452, not to the actual printer driver 453.

仮想プリンタドライバB452は、実プリンタドライバ453の同一関数に要求を転送する。   The virtual printer driver B 452 transfers the request to the same function as the actual printer driver 453.

仮想プリンタドライバA451の追加機能Aは、ビットマップ出力を仮想プリンタドライバB452のビットマップ出力関数452dに要求することで実行される。仮想プリンタドライバB452は、実プリンタドライバ453の同一関数に要求を転送することで、ビットマップの描画を行なう。   The additional function A of the virtual printer driver A451 is executed by requesting the bitmap output function 452d of the virtual printer driver B452 to output the bitmap. The virtual printer driver B 452 renders a bitmap by transferring a request to the same function of the actual printer driver 453.

追加機能Bは、実プリンタドライバ453の文字出力関数453bに、文字出力の要求を出力することにより実行される。文字出力関数453bからの完了の返答を待って、図形描画関数452cが完了した旨を図形描画関数451cに返すことは、追加機能Aの動作と同様である。このような動作により、ページに文字を挿入する機能などが追加される。   The additional function B is executed by outputting a character output request to the character output function 453b of the actual printer driver 453. Returning the completion of the graphic drawing function 452c to the graphic drawing function 451c after waiting for a completion response from the character output function 453b is the same as the operation of the additional function A. With such an operation, a function for inserting characters into the page is added.

以上のように2つの仮想プリンタドライバを重ねることにより、複数の機能を同時に実現することができる。また、図6に示されるように、多段に重ねられた仮想プリンタドライバはその順序を入れ替えても動作するという特徴を有している。   As described above, by superimposing two virtual printer drivers, a plurality of functions can be realized simultaneously. Further, as shown in FIG. 6, the virtual printer drivers stacked in multiple stages have a feature that they operate even if the order is changed.

[第3の実施の形態]
図7は、第3の実施の形態における、外部プログラムと連携を行なう仮想プリンタドライバが挿入された場合のシステムの動作を示す図である。
[Third Embodiment]
FIG. 7 is a diagram illustrating the operation of the system when a virtual printer driver that cooperates with an external program is inserted in the third embodiment.

ここでは、仮想プリンタドライバの追加機能が外部プログラムと連携する例として、外部プログラム461に登録されたビットマップを、外部プログラム461に登録されたページに印刷する例を示す。   Here, as an example in which the additional function of the virtual printer driver cooperates with an external program, an example in which a bitmap registered in the external program 461 is printed on a page registered in the external program 461 is shown.

仮想プリンタドライバ451のページ開始関数451aは、実プリンタドライバ453の同一関数に要求を転送した後、外部プログラム461に問合わせを行なうことで、機能を実行するページ番号を取得する。   The page start function 451a of the virtual printer driver 451 acquires the page number for executing the function by transferring the request to the same function of the actual printer driver 453 and then making an inquiry to the external program 461.

取得されたページ番号が現在処理しているページ番号と合致すれば、追加機能が実行される。すなわち、外部プログラム461からビットマップが取得され、追加機能であるビットマップの描画が行なわれる(図中(1))。   If the acquired page number matches the currently processed page number, the additional function is executed. That is, a bitmap is acquired from the external program 461, and a bitmap that is an additional function is drawn ((1) in the figure).

また、機能を実行するページ番号と現在処理しているページ番号との合致の判定は、外部プログラム461が行なうようにしてもよい。すなわち、ページ開始関数451aは、外部プログラム461に対してページ番号を引数として追加機能を実行するか否か問い合わせをする。外部プログラム461は、登録されたページであれば印刷すべきビットマップを仮想プリンタドライバ451に返し、仮想プリンタドライバ451は追加機能を実行する。登録されたページでなければ、外部プログラムは、処理しない旨を返答する。   Further, the external program 461 may determine whether the page number for executing the function matches the page number currently being processed. That is, the page start function 451a inquires of the external program 461 whether or not to execute an additional function using the page number as an argument. If it is a registered page, the external program 461 returns a bitmap to be printed to the virtual printer driver 451, and the virtual printer driver 451 executes an additional function. If it is not a registered page, the external program responds that it will not process.

本実施の形態では、例えば文書の3ページ目など特定のページにコピー禁止を示すウォーターマークなどを挿入することができる。また、外部プログラムにデータを記憶させてそれを呼出したり、外部プログラムで判断を行なうなどの処理を実行することができるため、仮想プリンタドライバの汎用性が高まる。   In the present embodiment, for example, a watermark indicating copy prohibition can be inserted into a specific page such as the third page of a document. In addition, since it is possible to execute processing such as storing data in an external program and calling it or making a determination in the external program, the versatility of the virtual printer driver is enhanced.

外部プログラムの機能としては、ビットマップのプリントの他、プリント履歴のログを取りサーバに蓄積させる処理、条件に基づいた複雑な地紋を作成する処理などを行なうこととしてもよい。   As a function of the external program, in addition to bitmap printing, a process of collecting a print history log and storing it in a server, a process of creating a complex tint block based on conditions, and the like may be performed.

[第4の実施の形態]
図8は、第4の実施の形態における、仮想プリンタドライバが並列に組合されて挿入された場合のシステムの動作を示す図である。
[Fourth Embodiment]
FIG. 8 is a diagram illustrating the operation of the system when virtual printer drivers are combined and inserted in parallel according to the fourth embodiment.

ここでは、並列に組合された仮想プリンタドライバA471およびB472によって、アプリケーションA411およびB412から出力される2つのドキュメントを印刷することとしている。   Here, two documents output from the applications A411 and B412 are printed by the virtual printer drivers A471 and B472 combined in parallel.

また印刷においては、外部プログラム463に登録された合成シーケンスどおりにドキュメントが合成される。   In printing, documents are synthesized according to a synthesis sequence registered in the external program 463.

アプリケーションA411およびB412は、それぞれ仮想プリンタドライバA471およびB472を使って文書の印刷を行う。仮想プリンタドライバA471およびB472は並列に動作し、同一の実プリンタドライバ453に要求を転送する。このとき、仮想プリンタドライバA471およびB472は、外部プログラム463に各ページの印刷を行うか否かを問合わせながら動作する。   Applications A411 and B412 print documents using virtual printer drivers A471 and B472, respectively. The virtual printer drivers A471 and B472 operate in parallel and transfer the request to the same actual printer driver 453. At this time, the virtual printer drivers A471 and B472 operate while asking the external program 463 whether or not to print each page.

まず、仮想プリンタドライバA471は、外部プログラム463に、アプリケーションA411が出力する文書のPage1(P1)の印刷可否を問合わせる。外部プログラム463は、登録された合成シーケンスの先頭がアプリケーションA411のP1からP5であることを確認し、印刷可である旨を返す。   First, the virtual printer driver A471 inquires of the external program 463 whether or not the page 1 (P1) of the document output from the application A411 can be printed. The external program 463 confirms that the top of the registered composition sequence is P1 to P5 of the application A411, and returns that printing is possible.

この手順で、仮想プリンタドライバA471は、アプリケーションA411の文書のP1からP5の印刷を行なう。   In this procedure, the virtual printer driver A471 prints the documents A1 to P5 of the application A411.

仮想プリンタドライバA471は、外部プログラム463に、アプリケーションA411が出力する文書のPage6(P6)の印刷可否を問合わせる。外部プログラム463は、登録された合成シーケンスにおいて、アプリケーションA411の文書のP6の印刷の前に、アプリケーションB412の文書のP2を印刷する必要があることを確認し、印刷を許可しない旨を返す。これにより、アプリケーションA411の文書のP6の印刷は停止される。   The virtual printer driver A471 inquires of the external program 463 whether or not the page 6 (P6) of the document output from the application A411 can be printed. In the registered composition sequence, the external program 463 confirms that it is necessary to print P2 of the document of the application B412 before printing P6 of the document of the application A411, and returns that the printing is not permitted. As a result, printing of the document P6 of the application A411 is stopped.

この間、外部プログラム463は、仮想プリンタドライバB472の問合わせに対し、合成シーケンスにおいて、アプリケーションB412の文書の印刷は、P2から行なう必要があることを確認する。これにより、アプリケーションB412の文書のP1の印刷可否の問合わせに対しては、破棄すべき旨を返す。   Meanwhile, the external program 463 confirms that printing of the document of the application B 412 needs to be performed from P2 in the composition sequence in response to the inquiry from the virtual printer driver B472. As a result, in response to an inquiry as to whether or not P1 of the document of the application B 412 can be printed, a message indicating that it should be discarded is returned.

このとき、仮想プリンタドライバB472は、P1のアプリケーションB412からの要求を、実プリンタドライバ453に転送せず、ダミーの完了報告のみをアプリケーションB412へ返す。   At this time, the virtual printer driver B472 does not transfer the request from the application B412 of P1 to the actual printer driver 453, and returns only a dummy completion report to the application B412.

次に仮想プリンタドライバB472は、外部プログラム463へP2の実行可否の問合わせをする。   Next, the virtual printer driver B472 inquires of the external program 463 whether or not P2 can be executed.

アプリケーションA411の文書のP5までの印刷が完了するまで、否である旨の返答が行なわれるため、それまで仮想プリンタドライバB472は印刷を停止する。   Until the printing of the application A411 document up to P5 is completed, a reply to the effect is made, so the virtual printer driver B472 stops printing until then.

仮想プリンタドライバA411によるP5の印刷完了後、仮想プリンタドライバB472によるP2の印刷可否の問合わせに対する返答が可になる。そのため、ここで仮想プリンタドライバB472は、実プリンタドライバ453へP2のデータの転送を開始する。仮想プリンタドライバB472の残りページは、合成シーケンスに登録されていないので外部プログラム463から破棄する旨が返り、P1と同様に破棄される。   After the printing of P5 by the virtual printer driver A411 is completed, a reply to the inquiry about whether or not P2 can be printed by the virtual printer driver B472 becomes possible. Therefore, here, the virtual printer driver B 472 starts transferring the data of P 2 to the actual printer driver 453. Since the remaining pages of the virtual printer driver B 472 are not registered in the composition sequence, the external program 463 returns that they are discarded, and is discarded in the same manner as P1.

仮想プリンタドライバB472のP2の処理完了時点で、仮想プリンタドライバA471による外部プログラム463へのP6の印刷可否の問合わせの回答が可になる。そのためここで、P6のアプリケーションA411からの要求を実プリンタドライバ453に転送する。その後、P7からP10までの問合わせが可として返ってくるので、アプリケーションA411からの要求の転送を実行し、P11以降のページは、外部プログラム463の指示により破棄することとなる。   When the process of P2 of the virtual printer driver B472 is completed, the virtual printer driver A471 can answer the inquiry about whether or not P6 can be printed to the external program 463. Therefore, the request from the application A411 of P6 is transferred to the actual printer driver 453 here. Thereafter, since the inquiry from P7 to P10 is returned as possible, the transfer of the request from the application A411 is executed, and the pages after P11 are discarded according to the instruction of the external program 463.

以上のような処理により、各アプリケーションの内容を変えなくても、プリンタドライバとして所望の仮想プリンタドライバを選択するだけで、指定された合成シーケンスに従った文書の印刷が実行される。   Through the processing described above, even if the contents of each application are not changed, printing of a document according to the designated composition sequence is executed only by selecting a desired virtual printer driver as a printer driver.

図9は、外部プログラム463が記録するグローバル変数を示す図である。   FIG. 9 is a diagram showing global variables recorded by the external program 463.

図を参照して、グローバル変数として、現在の印刷文書のページ番号と、アプリケーションAの印刷の開始フラグ(初期状態ではFALSE)と、アプリケーションBの印刷の開始フラグ(初期状態ではFALSE)と、合成シーケンスが記録される。   Referring to the figure, as the global variables, the page number of the current print document, the printing start flag of application A (FALSE in the initial state), the printing start flag of application B (FALSE in the initial state), and composition A sequence is recorded.

合成シーケンスとしては、印刷文書(最終的に出力される文書)のページ番号に合わせて、印刷指示(どのアプリケーションのどのページを印刷するか)が記録されている。   As the composition sequence, a print instruction (which page of which application is printed) is recorded in accordance with the page number of the print document (document to be finally output).

図10は、仮想プリンタドライバの呼出しに対して外部プログラムが行なう初期化処理を示すフローチャートである。   FIG. 10 is a flowchart showing initialization processing performed by an external program in response to a virtual printer driver call.

図を参照して、ステップS101で、グローバル変数内の現在の印刷文書ページ番号に「1」を代入する。ステップS103で、呼出しを行なった仮想プリンタドライバに対応するアプリケーションの開始フラグを「TRUE」とする。   Referring to the figure, in step S101, “1” is substituted for the current print document page number in the global variable. In step S103, the application start flag corresponding to the calling virtual printer driver is set to “TRUE”.

ステップS105で、他のアプリケーションの開始フラグ(複数ある場合には全てのアプリケーションの開始フラグ)が「TRUE」となっているかを判定し、YESであれば初期化処理を終了する。   In step S105, it is determined whether the start flags of other applications (or the start flags of all applications when there are a plurality of applications) are “TRUE”. If YES, the initialization process is terminated.

また、ステップS105でNOであれば、ステップS107でSleep処理を行なう。これは、他の仮想プリンタドライバがそれに対応する開始フラグをTRUEにし、全ての開始フラグがTRUEとなるまでWait(待機)する処理である。   If NO in step S105, a sleep process is performed in step S107. This is a process in which another virtual printer driver sets the corresponding start flag to TRUE and waits (waits) until all the start flags are set to TRUE.

なお、外部プログラムは、複数の仮想プリンタドライバのそれぞれからの呼出しに対して、別スタック上で動作することによって、全ての呼出しに対して独立に動作する。ただし、グローバル変数は複数からの問合わせに対して共用となる。   Note that the external program operates independently on all calls by operating on a separate stack in response to calls from each of the plurality of virtual printer drivers. However, global variables are shared for multiple queries.

図11は、仮想プリンタドライバの問合せに対して外部プログラムが行なう処理を示すフローチャートである。   FIG. 11 is a flowchart showing processing performed by an external program in response to an inquiry from the virtual printer driver.

図を参照して問合せにおいては、文書のページ番号とアプリケーション名とが引数とされる。また、ローカル変数に完了コードが定義される。   In the inquiry with reference to the figure, the document page number and application name are used as arguments. A completion code is defined in the local variable.

ステップS201で、合成シーケンスに、引数の文書のページ番号とアプリケーション名との組合せが登録されているかが判定される。YESであれば、ステップS203で、グローバル変数(図9)内の、現在の印刷文書ページ番号を読出し、そのページ番号に対応する合成シーケンス内の印刷指示を取得する。   In step S201, it is determined whether a combination of the page number of the argument document and the application name is registered in the synthesis sequence. If YES, in step S203, the current print document page number in the global variable (FIG. 9) is read, and a print instruction in the composition sequence corresponding to the page number is acquired.

ステップS205で、取得した印刷指示に含まれる文書のページ番号とアプリケーション名の組合せが、引数の文書のページ番号とアプリケーション名の組合せに合致するかが判定される。YESであれば、ステップS207で、グローバル変数内の現在の印刷文書ページ番号を1増加させ、ステップS209で完了コードを「印刷可」として仮想プリンタドライバに返し、処理を終了する。   In step S205, it is determined whether the combination of the document page number and application name included in the acquired print instruction matches the combination of the argument document page number and application name. If YES, in step S207, the current print document page number in the global variable is incremented by 1, and the completion code is returned to the virtual printer driver as “printable” in step S209, and the process is terminated.

ステップS201でNOであれば、ステップS213で完了コードを「ページ破棄」として仮想プリンタドライバに返し、処理を終了する。   If “NO” in the step S201, the completion code is returned to the virtual printer driver as “page discard” in a step S213, and the process is ended.

ステップS205でNOであれば、ステップS211でSleep処理を行ない、ステップS203に戻る。ここに、Sleep処理とは、他のアプリケーションが、「現在の印刷文書ページ番号」の値を増加させ、そのページ番号が合成シーケンス内の対応するアプリケーションを指すまでWaitする処理である。   If “NO” in the step S205, a sleep process is performed in a step S211, and the process returns to the step S203. Here, the sleep process is a process in which another application increments the value of “current print document page number” and waits until the page number indicates the corresponding application in the composition sequence.

図12は、仮想プリンタドライバの呼出しに対して外部プログラムが行なう終了処理を示すフローチャートである。   FIG. 12 is a flowchart showing a termination process performed by an external program in response to a virtual printer driver call.

図を参照して、ステップS301で、呼出しを行なった仮想プリンタドライバに対応するアプリケーションの開始フラグを「FALSE」とする。   Referring to the figure, in step S301, the application start flag corresponding to the called virtual printer driver is set to “FALSE”.

このようにして、本実施の形態では、外部プログラムに記録された合成シーケンスに応じてプリント内容を制御することができる。また、アプリケーションは、プリンタドライバに通常の処理通りの情報を送ればよいため、特にアプリケーションに改変を加える必要はない。   In this way, in the present embodiment, the print contents can be controlled in accordance with the synthesis sequence recorded in the external program. In addition, since the application only needs to send information as normal processing to the printer driver, it is not particularly necessary to modify the application.

[第5の実施の形態]
図13は、本発明の第5実施の形態における画像形成システムの構成を示す図である。
[Fifth Embodiment]
FIG. 13 is a diagram showing a configuration of an image forming system according to the fifth embodiment of the present invention.

図を参照して、本システムは、PC2aおよびMFP1を含むクライアントシステム5と、外部サーバ3a,3bとを備えている。クライアントシステム5と、外部サーバ3a,3bとは、ここではインターネットIなどの通信回線を通じて接続されているものとする。   Referring to the figure, this system includes client system 5 including PC 2a and MFP 1 and external servers 3a and 3b. Here, it is assumed that the client system 5 and the external servers 3a and 3b are connected through a communication line such as the Internet I.

外部サーバ3a,3bは、仮想プリンタドライバを備えており、クライアントシステム5内に含まれるPC2aで生じたプリントジョブを、PC2aに含まれる仮想プリンタドライバを介して受信し、処理を行ない、それを仮想プリンタドライバを介して、PC2aに返信する。   The external servers 3a and 3b are provided with a virtual printer driver, receive a print job generated by the PC 2a included in the client system 5 via the virtual printer driver included in the PC 2a, perform processing, and execute it as a virtual printer driver. A reply is sent to the PC 2a via the printer driver.

ここで、外部サーバ3a,3bで行なわれる処理としては、画像の加工、電子透かしの挿入、タイムスタンプの付与などが考えられる。また、外部サーバ3a,3bで処理が行なわれる場合に、ジョブを送信したクライアントやPCを特定し、それに併せて課金を行なうようにしてもよい。   Here, as processing performed in the external servers 3a and 3b, processing of an image, insertion of a digital watermark, provision of a time stamp, and the like can be considered. In addition, when processing is performed by the external servers 3a and 3b, the client or PC that transmitted the job may be specified and billed accordingly.

図14は、第5の実施の形態における、外部サーバの仮想プリンタドライバを利用するシステムの動作を示す図である。   FIG. 14 is a diagram illustrating an operation of a system using a virtual printer driver of an external server according to the fifth embodiment.

クライアントシステム5に含まれるPC2aには、アプリケーション401と、外部中継用仮想プリンタドライバ(SOAP(Simple Object Access Protocol) OUT)481と、外部中継用仮想プリンタドライバ(SOAP IN)483と、実プリンタドライバ485とがプログラムとして記録されている。   The PC 2 a included in the client system 5 includes an application 401, an external relay virtual printer driver (SOAP (Simple Object Access Protocol) OUT) 481, an external relay virtual printer driver (SOAP IN) 483, and an actual printer driver 485. Are recorded as a program.

また、外部サーバ3aには、外部中継用仮想プリンタドライバ(SOAP IN)487と、仮想プリンタドライバ489と、外部中継用仮想プリンタドライバ(SOAP OUT)491とがプログラムとして記録されている。   The external server 3a stores an external relay virtual printer driver (SOAP IN) 487, a virtual printer driver 489, and an external relay virtual printer driver (SOAP OUT) 491 as programs.

外部中継用仮想プリンタドライバ(SOAP OUT)481,491は、関数への要求をSOAP形式のデータに変換し送信し、SOAP形式の関数の完了を関数の戻り値に変換する。   The external relay virtual printer driver (SOAP OUT) 481, 491 converts the request for the function into data in the SOAP format and transmits it, and converts the completion of the function in the SOAP format into a return value of the function.

外部中継用仮想プリンタドライバ(SOAP IN)483,487は、SOAP形式の要求を関数への要求に変換し、関数の完了をSOAP形式の戻り値に変換する
図14に示される関数の配置例では、外部サーバ3a上の仮想プリンタドライバ489は、関数Aに要求を受けたときに、外部中継用仮想プリンタドライバ(SOAP OUT)491の関数Bに要求を出力することにより、特定の処理を実現する追加機能を持つ。
The external relay virtual printer driver (SOAP IN) 483, 487 converts a request in the SOAP format into a request for a function, and converts the completion of the function into a return value in the SOAP format. In the example of function arrangement shown in FIG. When the virtual printer driver 489 on the external server 3a receives a request from the function A, the virtual printer driver 489 outputs a request to the function B of the external relay virtual printer driver (SOAP OUT) 491, thereby realizing specific processing. Has additional functions.

図14のように、外部中継用仮想プリンタドライバ(SOAP OUT)481,491から外部中継用仮想プリンタドライバ(SOAP IN)487,483への要求の転送がSOAPにより行なわれる。   As shown in FIG. 14, a request is transferred from the external relay virtual printer driver (SOAP OUT) 481, 491 to the external relay virtual printer driver (SOAP IN) 487, 483 by SOAP.

外部中継用仮想プリンタドライバ(SOAP IN)487,483は、SOAP形式の要求を関数への要求へ変換し、外部中継用仮想プリンタドライバ(SOAP OUT)481,491に、SOAPにより戻り値を転送する。   The external relay virtual printer driver (SOAP IN) 487 and 483 converts the request in the SOAP format into a request for a function, and transfers the return value to the external relay virtual printer driver (SOAP OUT) 481 and 491 by SOAP. .

外部中継用仮想プリンタドライバ(SOAP OUT)481,491は、SOAPによる戻り値を、関数の戻りに変換する。   The external relay virtual printer drivers (SOAP OUT) 481 and 491 convert the return value by SOAP into a function return.

このような、外部中継用仮想プリンタドライバによる動作を、クライアントと外部サーバとの双方で行なう。   Such an operation by the external relay virtual printer driver is performed by both the client and the external server.

またここでは、外部サーバ3aの仮想プリンタドライバ489は、第1の実施の形態における仮想プリンタドライバ451と同様の動作を行なう。このような構成により、クライアントは外部サーバの仮想プリンタドライバに実装されている追加機能を利用することができる。   Here, the virtual printer driver 489 of the external server 3a performs the same operation as the virtual printer driver 451 in the first embodiment. With such a configuration, the client can use additional functions implemented in the virtual printer driver of the external server.

[実施の形態における効果]
以上のように本発明の実施の形態によると、プリンタドライバとアプリケーションソフトウェアの中継プログラムとしての仮想プリンタドライバを提供することができ、また、その仮想プリンタドライバに追加機能を実装することができる。
[Effects of the embodiment]
As described above, according to the embodiment of the present invention, a virtual printer driver as a relay program between a printer driver and application software can be provided, and an additional function can be implemented in the virtual printer driver.

これにより従来の印刷システムのように、追加機能をユーザに提供する際に、実プリンタドライバに追加機能を実装することが不要となり、開発担当者に負担をかける問題が解消される。   This eliminates the need to mount the additional function in the actual printer driver when providing the additional function to the user as in the conventional printing system, and solves the problem of burdening the development staff.

すなわち、実施の形態によると、実プリンタドライバとアプリケーションの中継プログラムとしての仮想プリンタドライバを、実プリンタドライバとアプリケーションの間に挿入することにより、実プリンタドライバに変更を施さなくても、仮想プリンタドライバに追加機能を実装することで追加機能を実現することが可能となる。これにより、ユーザに容易に追加機能を提供できるという効果がある。   That is, according to the embodiment, the virtual printer driver as a relay program between the real printer driver and the application is inserted between the real printer driver and the application, so that the virtual printer driver can be changed without changing the real printer driver. It is possible to implement additional functions by implementing additional functions in Thereby, there is an effect that an additional function can be easily provided to the user.

さらに、仮想プリンタドライバは、多段または並列に使用することができるため、複合機能を容易にユーザに提供することができる。   Furthermore, since the virtual printer driver can be used in multiple stages or in parallel, a composite function can be easily provided to the user.

なお、上述の実施の形態におけるフローチャートやブロック図での処理を実行するプログラムを提供することもできるし、そのプログラムをCD−ROM、フレキシブルディスク、ハードディスク、ROM、RAM、メモリカードなどの記録媒体に記録してユーザに提供することにしてもよい。また、プログラムはインターネットなどの通信回線を介して、装置にダウンロードするようにしてもよい。   A program for executing the processes in the flowcharts and block diagrams in the above-described embodiments can be provided, and the program can be stored in a recording medium such as a CD-ROM, a flexible disk, a hard disk, a ROM, a RAM, or a memory card. It may be recorded and provided to the user. The program may be downloaded to the apparatus via a communication line such as the Internet.

なお、上述の実施の形態においてはMFPに接続される機器の例として、PCを挙げたが、その他機器としては、モバイル端末、携帯電話などを用いることができる。さらに、画像形成装置として、印刷機能を備えたものであれば、プリンタ、コピー機、ファクシミリ、およびそれらの複合機などを用いることができる。   In the above-described embodiment, a PC is used as an example of a device connected to the MFP. However, a mobile terminal, a mobile phone, or the like can be used as the other device. Furthermore, as the image forming apparatus, a printer, a copier, a facsimile, a complex machine thereof, or the like can be used as long as it has a printing function.

なお、上記実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。   In addition, it should be thought that the said embodiment is an illustration and restrictive at no points. The scope of the present invention is defined by the terms of the claims, rather than the description above, and is intended to include any modifications within the scope and meaning equivalent to the terms of the claims.

本発明の実施の形態の1つにおける画像形成システムの構成を示す図である。1 is a diagram showing a configuration of an image forming system in one embodiment of the present invention. 図1のPC2a〜2cの1つの構成を示すブロック図である。It is a block diagram which shows one structure of PC2a-2c of FIG. 図1のMFP1の構成を示すブロック図である。FIG. 2 is a block diagram showing a configuration of MFP 1 in FIG. 1. 本発明の第1の実施の形態における仮想プリンタドライバの構成および機能を説明するための図である。FIG. 3 is a diagram for describing a configuration and a function of a virtual printer driver according to the first embodiment of the present invention. 追加機能を実装した仮想プリンタドライバ451が挿入された場合のシステムの動作を示す図である。It is a figure which shows operation | movement of a system when the virtual printer driver 451 which mounted the additional function is inserted. 第2の実施の形態における、追加機能を実装した仮想プリンタドライバが2つ挿入された場合のシステムの動作を示す図である。FIG. 20 is a diagram illustrating an operation of the system when two virtual printer drivers with additional functions are inserted in the second embodiment. 第3の実施の形態における、外部プログラムと連携を行なう仮想プリンタドライバが挿入された場合のシステムの動作を示す図である。FIG. 20 is a diagram illustrating an operation of a system when a virtual printer driver that cooperates with an external program is inserted in a third embodiment. 第4の実施の形態における、仮想プリンタドライバが並列に組合されて挿入された場合のシステムの動作を示す図である。FIG. 20 is a diagram illustrating an operation of a system when virtual printer drivers are combined and inserted in parallel according to the fourth embodiment. 外部プログラム463が記録するグローバル変数を示す図である。It is a figure which shows the global variable which the external program 463 records. 仮想プリンタドライバの呼出しに対して外部プログラムが行なう初期化処理を示すフローチャートである。6 is a flowchart illustrating an initialization process performed by an external program in response to a virtual printer driver call. 仮想プリンタドライバの問合せに対して外部プログラムが行なう処理を示すフローチャートである。6 is a flowchart illustrating processing performed by an external program in response to a virtual printer driver inquiry. 仮想プリンタドライバの呼出しに対して外部プログラムが行なう終了処理を示すフローチャートである。6 is a flowchart illustrating an end process performed by an external program in response to a virtual printer driver call. 本発明の第5実施の形態における画像形成システムの構成を示す図である。It is a figure which shows the structure of the image forming system in 5th Embodiment of this invention. 第5の実施の形態における、外部サーバの仮想プリンタドライバを利用するシステムの動作を示す図である。FIG. 20 is a diagram illustrating an operation of a system that uses a virtual printer driver of an external server according to a fifth embodiment. アプリケーションとプリンタドライバとの関係を示す図である。It is a figure which shows the relationship between an application and a printer driver.

符号の説明Explanation of symbols

1 MFP、2a〜2c PC、201 スキャン部、203 制御部、205 データ作成部、207 データ送受信部、209 操作パネル部、211 ネットワークI/F部、213 印刷出力部、215 記憶部、301 CPU、303 ディスプレイ部、305 記憶部、307 操作部、309 ネットワークI/F部、451,452,471,472,481,483,487,489,491 仮想プリンタドライバ、401,411,412 アプリケーション、453,485 実プリンタドライバ、461,463 外部プログラム。   DESCRIPTION OF SYMBOLS 1 MFP, 2a-2c PC, 201 Scan part, 203 Control part, 205 Data preparation part, 207 Data transmission / reception part, 209 Operation panel part, 211 Network I / F part, 213 Print output part, 215 Storage part, 301 CPU, 303 Display unit, 305 Storage unit, 307 Operation unit, 309 Network I / F unit, 451, 452, 471, 472, 481, 483, 487, 489, 491 Virtual printer driver, 401, 411, 412 Application, 453, 485 Real printer driver, 461, 463 External program.

Claims (9)

アプリケーションからの印刷要求を印刷機器が解釈できる言語に変換するプリンタドライバと、前記アプリケーションとの間の中継プログラムとして働く、仮想プリンタドライバ。   A virtual printer driver that functions as a relay program between a printer driver that converts a print request from an application into a language that can be interpreted by a printing device, and the application. アプリケーションからの印刷要求を印刷機器が解釈できる言語に変換するプリンタドライバ(以下、「実プリンタドライバ」という。)と、前記アプリケーションとの間でデータの中継が行なわれるようにコンピュータを動作させる、仮想プリンタドライバプログラムであって、
前記アプリケーション、または他の仮想プリンタドライバからの要求を受付ける受付ステップと、
前記受付けられた要求に基づいて、前記実プリンタドライバ、または他の仮想プリンタドライバに要求を出力する出力ステップとをコンピュータに実行させる、仮想プリンタドライバプログラム。
A virtual machine that operates a computer so that data is relayed between a printer driver (hereinafter referred to as “actual printer driver”) that converts a print request from an application into a language that can be interpreted by a printing device. A printer driver program,
A receiving step for receiving a request from the application or another virtual printer driver;
A virtual printer driver program that causes a computer to execute an output step of outputting a request to the real printer driver or another virtual printer driver based on the received request.
前記出力ステップは、前記アプリケーション、または他の仮想プリンタドライバからの要求の少なくとも一部をそのまま前記実プリンタドライバ、または他の仮想プリンタドライバに転送する、請求項2に記載の仮想プリンタドライバプログラム。   The virtual printer driver program according to claim 2, wherein the output step transfers at least part of the request from the application or another virtual printer driver as it is to the real printer driver or another virtual printer driver. 特定の機能を実現する際に、前記実プリンタドライバの機能を利用することを特徴とする、請求項2または3に記載の仮想プリンタドライバプログラム。   The virtual printer driver program according to claim 2 or 3, wherein the function of the real printer driver is used when realizing a specific function. 他の仮想プリンタドライバプログラムと多段に組合されることで、複数の機能を組合わせた印刷を可能とする、請求項2〜4のいずれかに記載の仮想プリンタドライバプログラム。   The virtual printer driver program according to any one of claims 2 to 4, wherein printing combined with a plurality of functions is possible by being combined with other virtual printer driver programs in multiple stages. 他の仮想プリンタドライバプログラムと並列に組合されることで、複数アプリケーションからの印刷要求に基づいて、前記実プリンタドライバへ要求を出力することが可能な、請求項2〜5のいずれかに記載の仮想プリンタドライバプログラム。   6. The request according to claim 2, wherein a request can be output to the actual printer driver based on a print request from a plurality of applications by being combined in parallel with another virtual printer driver program. Virtual printer driver program. 外部プログラムと連携して動作することを特徴とする、請求項2〜6のいずれかに記載の仮想プリンタドライバプログラム。   The virtual printer driver program according to claim 2, wherein the virtual printer driver program operates in cooperation with an external program. 外部サーバの仮想プリンタドライバと組合せることが可能である、請求項2〜7のいずれかに記載の仮想プリンタドライバプログラム。   The virtual printer driver program according to claim 2, which can be combined with a virtual printer driver of an external server. 請求項2〜7のいずれかに記載の仮想プリンタドライバプログラムを記録した、コンピュータ読取可能な記録媒体。   A computer-readable recording medium on which the virtual printer driver program according to claim 2 is recorded.
JP2005020052A 2005-01-27 2005-01-27 Virtual printer driver and virtual printer driver program Expired - Fee Related JP4457902B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005020052A JP4457902B2 (en) 2005-01-27 2005-01-27 Virtual printer driver and virtual printer driver program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005020052A JP4457902B2 (en) 2005-01-27 2005-01-27 Virtual printer driver and virtual printer driver program

Publications (2)

Publication Number Publication Date
JP2006209430A true JP2006209430A (en) 2006-08-10
JP4457902B2 JP4457902B2 (en) 2010-04-28

Family

ID=36966231

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005020052A Expired - Fee Related JP4457902B2 (en) 2005-01-27 2005-01-27 Virtual printer driver and virtual printer driver program

Country Status (1)

Country Link
JP (1) JP4457902B2 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007293772A (en) * 2006-04-27 2007-11-08 Kyocera Mita Corp Printer control system and printer driver
JP2010277293A (en) * 2009-05-28 2010-12-09 Seiko Epson Corp Control method for controller, and controller
JP2011002881A (en) * 2009-06-16 2011-01-06 Ricoh Co Ltd Data processing apparatus, program, and recording medium
WO2011138859A1 (en) * 2010-05-06 2011-11-10 Canon Kabushiki Kaisha Print control apparatus, print control method, and storage medium
JP2012248171A (en) * 2011-05-31 2012-12-13 Canon Inc Information processor, print control method and computer program
JP2013186612A (en) * 2012-03-07 2013-09-19 Ricoh Co Ltd Information processing device, program and recording medium
JP2013239204A (en) * 2013-08-07 2013-11-28 Ricoh Co Ltd Data processing apparatus, program, and recording medium

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007293772A (en) * 2006-04-27 2007-11-08 Kyocera Mita Corp Printer control system and printer driver
JP2010277293A (en) * 2009-05-28 2010-12-09 Seiko Epson Corp Control method for controller, and controller
JP2011002881A (en) * 2009-06-16 2011-01-06 Ricoh Co Ltd Data processing apparatus, program, and recording medium
US8654379B2 (en) 2009-06-16 2014-02-18 Ricoh Company, Ltd. Data processing apparatus and recording medium
WO2011138859A1 (en) * 2010-05-06 2011-11-10 Canon Kabushiki Kaisha Print control apparatus, print control method, and storage medium
JP2011237860A (en) * 2010-05-06 2011-11-24 Canon Inc Print controller, print control method and program
US8488174B2 (en) 2010-05-06 2013-07-16 Canon Kabushiki Kaisha Print control apparatus, print control method, and storage medium for configuring output device based on acquired information
JP2012248171A (en) * 2011-05-31 2012-12-13 Canon Inc Information processor, print control method and computer program
US9069497B2 (en) 2011-05-31 2015-06-30 Canon Kabushiki Kaisha Information processing apparatus having relay virtual printer and functional relay virtual printer
JP2013186612A (en) * 2012-03-07 2013-09-19 Ricoh Co Ltd Information processing device, program and recording medium
JP2013239204A (en) * 2013-08-07 2013-11-28 Ricoh Co Ltd Data processing apparatus, program, and recording medium

Also Published As

Publication number Publication date
JP4457902B2 (en) 2010-04-28

Similar Documents

Publication Publication Date Title
US8547561B2 (en) Information processing apparatus, printing processing method, and program therefor
JP3747175B2 (en) Printing control apparatus and method
US7190468B2 (en) Background document rendering system and method
JP4457902B2 (en) Virtual printer driver and virtual printer driver program
JP4144392B2 (en) Image processing apparatus, image forming system, image forming method, and program
JP4110945B2 (en) Image processing apparatus, image forming apparatus, and program
JP2004070871A (en) Network printer and data sharing printing system
JP2008010993A (en) Electronic apparatus, application executing system, and program
EP1835713A1 (en) Image forming system, image forming apparatus, and image forming method
JP2005038011A (en) Network system and its control method
JP2001270167A (en) Printer and network print system
JP3740289B2 (en) Image input device, information processing apparatus, image input method and information processing method, and computer-readable storage medium
JP2002248829A (en) Image processor and storage medium with image processing program recorded therein
JP2000330734A (en) Network printing method and network printing system using the method
JP2006228128A (en) Information processing device, communication equipment controller, and program
JP5104446B2 (en) Print control apparatus, program, and system
JP3962562B2 (en) Data processing apparatus, data processing method, and program
JP2012098956A (en) Information processor, image forming system, and program
JP2007164647A (en) Electronic device, operation part event processing method, program, and recording medium
JP2000151756A (en) Network system and data transferring method
JP4496798B2 (en) Print control program, print control method, and print control apparatus
JP5527063B2 (en) Print program, print data output device, and print system
JP2004021925A (en) Image processor
JP2001138595A (en) Printing system and printer
JP2006092101A (en) Image input/output device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071017

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091117

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091214

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100201

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130219

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140219

Year of fee payment: 4

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees