JPH11110151A - Printer driver, computer having printer driver, and computer system - Google Patents
Printer driver, computer having printer driver, and computer systemInfo
- Publication number
- JPH11110151A JPH11110151A JP9270682A JP27068297A JPH11110151A JP H11110151 A JPH11110151 A JP H11110151A JP 9270682 A JP9270682 A JP 9270682A JP 27068297 A JP27068297 A JP 27068297A JP H11110151 A JPH11110151 A JP H11110151A
- Authority
- JP
- Japan
- Prior art keywords
- printer
- independent
- printer driver
- computer
- renderer
- 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
Links
- 238000006243 chemical reaction Methods 0.000 claims abstract description 9
- 230000001419 dependent effect Effects 0.000 claims description 21
- 238000012545 processing Methods 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 2
- 238000009877 rendering Methods 0.000 abstract 1
- 238000011161 development Methods 0.000 description 15
- 238000000034 method Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Landscapes
- Accessory Devices And Overall Control Thereof (AREA)
- Record Information Processing For Printing (AREA)
Abstract
(57)【要約】
【課題】 複数のOSに対応したプリンタドライバを効
率的に開発できるようにする。
【解決手段】 プリンタドライバ100は、対応する各
OSに依存したコマンド変換部3A、3Bと、OS非依
存のレンダラ9とを有する。各コマンド変換部3A、3
Bは、対応するOSの表示デバイスインタフェース1
A、1Bからの描画コマンドをOS非依存形式の描画コ
マンドに変換する。OS非依存のレンダラ9は、OS非
依存形式の描画コマンドに基づいて、対象プリンタが解
釈できる形式の印刷コマンドを作成する。レンダラ9
は、ページプリンタが解釈できるベクターグラフィック
形式の印刷コマンドも、インクジェットプリンタの様な
シリアルプリンタが解釈できるラスターグラフィック形
式の印刷コマンドも作成できる。
(57) [Summary] [PROBLEMS] To efficiently develop a printer driver corresponding to a plurality of OSs. SOLUTION: A printer driver 100 has a command conversion unit 3A, 3B depending on a corresponding OS, and a renderer 9 independent of an OS. Each command converter 3A, 3
B is the display device interface 1 of the corresponding OS
The drawing commands from A and 1B are converted into drawing commands in an OS-independent format. The OS-independent renderer 9 creates a print command in a format that can be interpreted by the target printer based on the OS-independent rendering command. Renderer 9
Can create both vector graphic print commands that can be interpreted by a page printer and raster graphic print commands that can be interpreted by a serial printer such as an inkjet printer.
Description
【0001】[0001]
【発明の技術分野】本発明は、主としてコンピュータシ
ステムにおけるプリンタドライバに関する。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a printer driver in a computer system.
【0002】[0002]
【従来の技術】コンピュータシステムでは一般に、ホス
トコンピュータにプリンタが接続され、ホストコンピュ
ータには、プリンタを駆動するプリンタドライバとして
ホストコンピュータを機能させるためのプログラムがイ
ンストールされており、このプログラムもプリンタドラ
イバと呼ばれる。2. Description of the Related Art In a computer system, a printer is generally connected to a host computer, and a program for causing the host computer to function as a printer driver for driving the printer is installed in the host computer. be called.
【0003】プリンタドライバは通常、ホストコンピュ
ータのオペレーティングシステム(OS)の一部であ
る。印刷が行われるとき、アプリケーションは印刷対象
の文書データをOS内の表示ドライバインタフェースモ
ジュール(例えば、マイクロソフト社のWindowsのGDI)
に渡し、その表示ドライバインタフェースモジュールは
その文書データを規定のデバイスドライバインタフェー
スに従う描画コマンドに変換してプリンタドライバに渡
す。プリンタドライバは、その描画コマンドを、プリン
タが解釈できる所定形式の印刷コマンドに変換する。[0003] Printer drivers are usually part of the operating system (OS) of the host computer. When printing is performed, the application converts the document data to be printed into a display driver interface module in the OS (for example, GDI of Microsoft Windows).
The display driver interface module converts the document data into a drawing command conforming to a prescribed device driver interface, and transfers the drawing command to the printer driver. The printer driver converts the drawing command into a print command in a predetermined format that can be interpreted by the printer.
【0004】[0004]
【発明が解決しようとする課題】OSの表示デバイスイ
ンタフェースモジュールがもつデバイスドライバインタ
フェースは、OSによって異なるのが通常である。その
ため、プリンタメーカは、同じプリンタ用のプリンタド
ライバとして、サポートする各OS毎に異なるプログラ
ムを用意する必要がある。また、プリンタが解釈できる
データの形式はプリンタ機種によって異なることが多
い。特に、同じメーカの製品であっても、ページプリン
タと、インクジェットプリンタのようなシリアルプリン
タとでは解釈できるデータ形式が違うのが現状である。
したがって、プリンタの種類毎に異なるプリンタドライ
バを設計する必要がある。これらの事情は、プリンタド
ライバの開発を非効率にしている。The device driver interface of the display device interface module of the OS usually differs depending on the OS. Therefore, a printer maker needs to prepare a different program for each supported OS as a printer driver for the same printer. Further, the format of data that can be interpreted by the printer often differs depending on the printer model. In particular, even in the case of products of the same maker, at present, data formats that can be interpreted are different between a page printer and a serial printer such as an ink jet printer.
Therefore, it is necessary to design a different printer driver for each type of printer. These circumstances make printer driver development inefficient.
【0005】従って、本発明の目的は、複数のOSに対
応したプリンタドライバをより効率的に開発できるよう
にすることにある。Accordingly, an object of the present invention is to make it possible to more efficiently develop printer drivers corresponding to a plurality of OSs.
【0006】本発明の別の目的は、異なる種類のプリン
タにプリンタドライバをより効率的に開発できるように
することにある。Another object of the present invention is to enable more efficient development of printer drivers for different types of printers.
【0007】[0007]
【課題を解決するための手段】本発明のプリンタドライ
バは、コンピュータの対応するOSに依存した内容の処
理を行うOS依存部と、前記OSに依存しない内容の処
理を行うOS非依存部とを有する。このプリンタドライ
バの開発では、OS非依存部はOSの種類数に関係なく
1つ開発すればよいので、その分だけ開発効率が高い。A printer driver according to the present invention includes an OS-dependent unit for processing contents dependent on an OS corresponding to a computer and an OS-independent unit for processing contents independent of the OS. Have. In the development of this printer driver, since only one OS-independent part needs to be developed regardless of the number of types of OS, the development efficiency is correspondingly high.
【0008】望ましくは、OS非依存部には、プリンタ
に対する印刷コマンドを作成するモジュールであるレン
ダラが含まれる。レンダラはプリンタドライバの中核で
あるため、その開発工数は多大である。これをOS非依
存とすることにより、ドライバの開発効率は大幅に高ま
る。[0008] Preferably, the OS independent part includes a renderer which is a module for creating a print command for the printer. Since the renderer is the core of the printer driver, the development man-hour is enormous. By making this independent of the OS, the development efficiency of the driver is greatly increased.
【0009】OS依存部には、対応するOSからの描画
コマンドをOS非依存形式のデータに変換するコマンド
変換部を含ませることができる。これにより、以後の処
理モジュールをOS非依存にすることができる。The OS-dependent unit may include a command conversion unit for converting a drawing command from the corresponding OS into OS-independent data. As a result, the subsequent processing modules can be made OS-independent.
【0010】OS非依存部にはまた、レンダラ又は対象
プリンタを制御するジョブ制御エンジンを含ませること
もできる。こうしてドライバ全体に占めるOS非依存部
分の割合を増やすほど、ドライバの開発効率は向上す
る。特に、ジョブ制御エンジンが描画コマンドの内容に
応じてレンダラ又は対象プリンタを制御するような複雑
なものである場合、OS依存形式の描画コマンドをOS
非依存形式に変換して、ジョブ制御エンジンをOS非依
存とすることによる開発効率向上効果は大きい。[0010] The OS independent part may also include a job control engine for controlling the renderer or the target printer. As the ratio of the OS-independent portion in the entire driver increases in this way, the development efficiency of the driver improves. In particular, when the job control engine is a complicated one that controls a renderer or a target printer according to the contents of the drawing command, the OS-dependent drawing command is transmitted to the OS.
The effect of improving the development efficiency by converting the job control engine into the OS independent format by converting the job control engine to the independent format is large.
【0011】ドライバに複数形式の印刷コマンドを生成
する複数のレンダラを持たせることにより、複数種のプ
リンタに対応させたり、あるいは、同じ種類のプリンタ
でも柔軟な使い方が出来るようになる。例えば、好適な
実施形態は、ベクターグラフィックデータ形式の印刷コ
マンドを作成するレンダラと、中間コード形式の印刷コ
マンドを作成するレンダラと、ラスターグラフィックデ
ータ形式の印刷コマンドを作成するレンダラとを有して
いて、ページプリンタとシリアルプリンタの双方に対応
でき、かつ、ページプリンタに対しても柔軟な使い方が
できる。このように複数のレンダラを有しているプリン
タドライバの場合、複数のレンダラの開発は大変である
から、それらをOS非依存にする効果は大きい。By providing a driver with a plurality of renderers for generating a plurality of types of print commands, it becomes possible to support a plurality of types of printers or to use the same type of printer flexibly. For example, the preferred embodiment has a renderer that creates a print command in vector graphic data format, a renderer that creates a print command in intermediate code format, and a renderer that creates a print command in raster graphic data format. It can support both page printers and serial printers, and can be used flexibly for page printers. In the case of a printer driver having a plurality of renderers, development of the plurality of renderers is difficult, and the effect of making them independent of the OS is great.
【0012】本発明は、また、上記のようなプリンタド
ライバを搭載したコンピュータ、およびそのようなプリ
ンタドライバ又はコンピュータとプリンタとを含むコン
ピュータシステムも提供する。The present invention also provides a computer equipped with the above-described printer driver, and a computer system including such a printer driver or a computer and a printer.
【0013】本発明のプリンタドライバは、典型的に
は、その全部がコンピュータプログラムの形でコンピュ
ータに組込まれるが、そのプログラムのコンピュータへ
の提供は、ディスク型ストレージ、半導体メモリ、通信
回線など、種々のタイプの媒体を通じ行うことができ
る。The printer driver of the present invention is typically entirely incorporated in a computer in the form of a computer program. The program is provided to the computer by various means such as a disk storage, a semiconductor memory, and a communication line. Through the following types of media.
【0014】[0014]
【発明の実施の形態】図1は、本発明の一実施形態にか
かるプリンタドライバの構成を示す。FIG. 1 shows the configuration of a printer driver according to an embodiment of the present invention.
【0015】このプリンタドライバ100は、図中OS
#1、OS#2で示す2種類のOS(例えばマイクロソ
フト社のWindows95とWindowsNT)に対応するものであ
る。このプリンタドライバ100は、各OSに依存した
内容の処理を行う部分と、OSに依存しない内容の処理
を行う部分とを有し、以下に説明する通り、プリンタド
ライバ100全体の中で、OS依存部分は僅かな部分に
過ぎず、開発に手間のかかるモジュール群はOS非依存
部分に含まれている。The printer driver 100 is an OS shown in FIG.
It corresponds to two types of OSs (for example, Microsoft Windows95 and WindowsNT) indicated by OS # 2 and OS # 2. The printer driver 100 has a part for processing contents dependent on each OS and a part for processing contents not dependent on the OS. The part is only a small part, and the modules that require a lot of development are included in the OS-independent part.
【0016】OS依存部分は、OS#1の表示デバイス
インタフェースモジュール1A及びOS#2の表示デバ
イスインタフェースモジュール1Bからそれぞれ描画コ
マンドを受ける2つのコマンド変換部3A、3Bであ
る。この2つのコマンド変換部3A、3Bはそれぞれ、
OS#1の表示デバイスインタフェースモジュール1A
及びOS#2の表示デバイスインタフェースモジュール
1Bがそれぞれ出力する固有形式の描画コマンドを、O
S非依存の共通形式の描画コマンドに変換するものであ
る。つまり、コマンド変換部3A、3Bは、OS毎に異
なるデバイスドライバインタフェースをOS非依存の共
通インタフェースに変換するものである。このプリンタ
ドライバ100では、それがインストールされたコンピ
ュータのOSに応じて、2つのコマンド変換部3A、3
Bの内のいずれか一方が選択的に使用される。The OS-dependent portions are two command converters 3A and 3B that receive drawing commands from the display device interface module 1A of OS # 1 and the display device interface module 1B of OS # 2. These two command conversion units 3A and 3B respectively
OS # 1 display device interface module 1A
And the drawing command in the unique format output by the display device interface module 1B of OS # 2, respectively.
This is converted into a drawing command in a common format independent of S. That is, the command conversion units 3A and 3B convert device driver interfaces that differ for each OS into OS-independent common interfaces. In the printer driver 100, two command conversion units 3A, 3A
Either one of B is selectively used.
【0017】上記共通インタフェースの具体的な姿は、
ドライバ100の設計者が自由に決めることができる。
例えば、OS#1又はOS#2のいずれか一方のデバイ
スドライバインタフェースをそのまま共通インタフェー
スとしてもよいし、全く新しい第3のインタフェースを
定義してこれを共通インタフェースとしてもよい。ま
た、その中間的な方法として、OS#1とOS#2のデ
バイスドライバインタフェースを比較し、両者間で共通
している又は類似していて優劣つけがたい部分について
は、一方のOSのそれをそのまま採り出し、また、それ
ぞれのOSがもっている他方より表現能力の優れた部分
又は表現形式がより精細な部分については、その部分を
採り出し、それら採り出した部分を集めて共通インタフ
ェースとして定義してもよい。この3番目の方法は、次
の2点で優れている。第1に、共通インタフェースは元
のOSのデバイスドライバインタフェースの優れた部分
を集めているため、元のOSのデバイスドライバインタ
フェースがそれぞれもっている表現機能を活かすことが
できる、つまり、共通化によって元の描画コマンドがも
っていた固有の表現を無効にしてしまうことがないこと
である。第2に、元のOSのデバイスドライバインタフ
ェースのコマンド形式のうち使えるものはをできるだけ
流用し、大きな改変を加えることは避けているので、コ
マンド変換部3A、3Bがそれほど複雑にはならない点
である。The specific form of the common interface is as follows:
The designer of the driver 100 can decide freely.
For example, either the device driver interface of OS # 1 or OS # 2 may be used as a common interface as it is, or an entirely new third interface may be defined and used as a common interface. Also, as an intermediate method, the device driver interfaces of OS # 1 and OS # 2 are compared, and for a part that is common or similar between the two and is difficult to compare, the one of one OS is compared with that of one OS. Extract the parts as they are, and extract the parts that are more expressive than the other OS or have a finer form of expression than the other, and extract those parts and collect them and define them as a common interface. You may. This third method is superior in the following two points. First, since the common interface is a collection of the superior parts of the device driver interface of the original OS, it is possible to utilize the expression functions of the device driver interface of the original OS. That is, the unique expression held by the drawing command is not invalidated. Secondly, the command conversion units 3A and 3B are not so complicated because usable command formats of the device driver interface of the original OS are used as much as possible and large modifications are avoided. .
【0018】コマンド変換部3A、3Bから出力された
OS非依存形式の描画コマンドは、スプールファイル5
に一旦格納された後、プリンタドライバ100のOS非
依存モジュール群によって処理される。このOS非依存
モジュール群には、ジョブ制御エンジン及び4種類のレ
ンダラ(レンダラA〜D)9A〜9Dが含まれている。The OS-independent drawing commands output from the command conversion units 3A and 3B are stored in the spool file 5
Is temporarily stored in the printer driver 100 and then processed by a group of OS-independent modules of the printer driver 100. The OS-independent module group includes a job control engine and four types of renderers (renderers A to D) 9A to 9D.
【0019】ジョブ制御エンジン7の基本的な役目は、
OS非依存形式描画コマンドを4つのレンダラ9A〜9
Dのいずれに渡すかを選択することである。どのような
情報に基づいてどのような判断基準でレンダラ9A〜9
Dを選択するかについては、幾つかのバリエーションが
あるが、その説明は後回しにして、先にレンダラ9A〜
9Dについて説明する。The basic role of the job control engine 7 is as follows.
The OS independent format drawing command is converted to four renderers 9A to 9
D. Renderers 9A-9 based on what information and what criteria
There are some variations as to whether to select D, but the description will be deferred, and the renderers 9A-
9D will be described.
【0020】一般にプリンタドライバにおけるレンダラ
とは、OSからの描画コマンドを解釈してプリンタに対
する印刷コマンドを生成するモジュールであり、プリン
タドライバの中核をなす。当然、レンダラの開発と検査
には多大な工数を必要とする。本実施形態にかかるプリ
ンタドライバ100は4種類のレンダラ9A〜9Dを備
えるが、それらは全てOS非依存つまりOS間共通であ
る。よって、OSの種類数に関係なく、レンダラ9A〜
9Dはそれぞれ1つだけ開発されれば足りるので、プリ
ンタドライバ100の開発はかなり効率化される。Generally, a renderer in a printer driver is a module that interprets a drawing command from the OS and generates a print command for the printer, and forms a core of the printer driver. Naturally, the development and inspection of renderers require a lot of man-hours. The printer driver 100 according to the present embodiment includes four types of renderers 9A to 9D, all of which are OS-independent, that is, common among OSs. Therefore, regardless of the number of OS types, the renderers 9A to
Since only one 9D needs to be developed, the development of the printer driver 100 is considerably more efficient.
【0021】第1のレンダラ9Aは、OS非依存描画コ
マンドから、対象プリンタがサポートするカラーのベク
タグラフィックデータ形式の印刷コマンド(カラー・ベ
クターコマンド)を生成するものである。第2のレンダ
ラ9Bは、OS非依存描画コマンドから、対象プリンタ
がサポートするカラーの中間コード形式の印刷コマンド
(カラー・中間コマンド)を生成するものである。第3
のレンダラ9Cは、OS非依存描画コマンドから、対象
プリンタがサポートするカラーのラスターグラフィック
データ形式の印刷コマンド(カラー・ラスターコマン
ド)を生成するものである。第4のレンダラ9Dは、O
S非依存描画コマンドから、対象プリンタがサポートす
るモノクロの印刷コマンド(モノクロ・コマンド)を生
成するものである。The first renderer 9A generates a print command (color vector command) in a color vector graphic data format supported by the target printer from an OS-independent drawing command. The second renderer 9B generates a print command (color / intermediate command) in a color intermediate code format supported by the target printer from the OS-independent drawing command. Third
The renderer 9C generates a print command (color / raster command) in a color raster graphic data format supported by the target printer from the OS-independent drawing command. The fourth renderer 9D is O
A monochrome print command (monochrome command) supported by the target printer is generated from the S-independent drawing command.
【0022】一般に、ページプリンタは、比較的に大容
量のメモリと高機能のプロセッサを有しているので、4
種類のレンダラ9A〜9Dのいずれの出力コマンドをも
サポートできるように構成することが容易である。従っ
て、ページプリンタは、このプリンタドライバ100の
対象プリンタのタイプとして、最も典型となり得るもの
である。その場合、レンダラ9A〜9Dを使い分けるこ
とによって、次のような効果を期待することができる。
例えば、対象プリンタの処理能力が十分高い場合、第1
のレンダラ9Aを用いて中間コード化やラスタライジン
グを全てプリンタに任せると、最も高いスループットが
得られる可能性がある。一方、ホストコンピュータの処
理能力がかなり高ければ、第2のレンダラ9Bを用いて
中間コード化をドライバ100が受け持つと、最も高い
スループットが得られる可能性がある。また、対象プリ
ンタが忠実にはラスタライズできない特殊表現(例え
ば、文字、図形、写真などの間の特殊な重ね合わせ計算
など)を指示したベクター描画コマンドに基づいて印刷
を行なう場合、第3のレンダラ9C(これが、その特殊
表現をサポートしていることが前提である)を用いてラ
スタライジングまでをドライバ100側で行うことによ
り、描画コマンドに忠実な印刷が可能になる。Generally, a page printer has a relatively large capacity memory and a high-performance processor.
It is easy to configure so that the output commands of any of the renderers 9A to 9D can be supported. Therefore, the page printer can be the most typical type of the target printer of the printer driver 100. In this case, the following effects can be expected by properly using the renderers 9A to 9D.
For example, if the processing capacity of the target printer is sufficiently high, the first
If the intermediate coding and rasterizing are all left to the printer using the renderer 9A, the highest throughput may be obtained. On the other hand, if the processing capability of the host computer is considerably high, the highest throughput may be obtained if the driver 100 handles the intermediate encoding using the second renderer 9B. If the target printer performs printing based on a vector drawing command instructing a special expression that cannot be faithfully rasterized (for example, a special overlay calculation between characters, figures, photographs, and the like), the third renderer 9C (It is premised that this special expression is supported.) By performing up to rasterizing on the driver 100 side, printing faithful to the drawing command can be performed.
【0023】一般に、インクジェットプリンタのような
シリアルプリンタは、それ程高い能力のプロセッサや大
きいメモリを有しておらず、また、市場における価格競
争などの事情から、ベクタグラフィックデータや中間コ
マンドを解釈できる能力を持たせることには困難があ
る。しかし、このプリンタドライバ100は、シリアル
プリンタでも解釈できるラスターコマンドを生成するレ
ンダラ9Cを持っているので、シリアルプリンタも対象
プリンタに含めるができる。つまり、このプリンタドラ
イバ100は、ページプリンタにもシリアルプリンタに
も使用できるのである。In general, a serial printer such as an ink jet printer does not have a processor with a high capacity and a large memory, and has a capability of interpreting vector graphic data and intermediate commands due to price competition in the market. It is difficult to have However, since the printer driver 100 has the renderer 9C that generates a raster command that can be interpreted by a serial printer, the serial printer can be included in the target printer. That is, the printer driver 100 can be used for both a page printer and a serial printer.
【0024】このプリンタドライバ100は、4種類の
レンダラ9A〜9Bを持つことで上記のような柔軟な使
い方ができるのであるが、4種類のレンダラ9A〜9B
の開発は非常に多くの手間がかかる。従って、4種類の
レンダラ9A〜9BがOS非依存であることは、開発の
効率化に大きく寄与する。The printer driver 100 can be used flexibly as described above by having the four types of renderers 9A to 9B. However, the four types of renderers 9A to 9B can be used.
Development takes a lot of effort. Therefore, the fact that the four types of renderers 9A to 9B are OS-independent greatly contributes to the development efficiency.
【0025】ジョブ制御エンジン7によるレンダラ9A
〜9Bの選択は、上に述べたレンダラ9A〜9Bの特徴
を考慮した方法で行うことができる。例えば、対象プリ
ンタがシリアルプリンタであるときは、レンダラ9Cを
選ぶ。対象プリンタがページプリンタであるときは、レ
ンダラ9A〜9Bのいずれかを選択する。その場合、、
ホストコンピュータの処理能力が或る基準以下であれば
レンダラ9Aを、基準以上であればレンダラ9Bを選ぶ
ことができる。また、厳格に忠実な画像再生をユーザが
望むときは、レンダラ9Cを選ぶことができる。Renderer 9A by the job control engine 7
9B can be selected by a method taking into account the features of the renderers 9A to 9B described above. For example, if the target printer is a serial printer, the renderer 9C is selected. When the target printer is a page printer, one of the renderers 9A to 9B is selected. In that case,,
If the processing capability of the host computer is below a certain standard, the renderer 9A can be selected. When the user desires strictly faithful image reproduction, the renderer 9C can be selected.
【0026】また、対象プリンタが複数種類のレンダラ
(ドライバのレンダラ9A〜9Dと区別するために、以
下、プリンタレンダラと呼ぶ)を内蔵している場合、ど
のプリンタレンダラを使用するかをジョブ制御エンジン
7が制御することもできる。例えば、対象プリンタがペ
ージプリンタであって、カラー・ベクタコマンドを受信
して中間コード化及びラスタライジングを行うことので
きる2種類のプリンタレンダラを有したとする。そし
て、一方のプリンタレンダラは色表現能力は低いが少な
いメモリで高解像画像を描画でき(以下、高解像プリン
タレンダラと呼ぶ)、他方のプリンタレンダラはフルカ
ラーを表現できるがメモリを大量に消費するので高解像
の描画には向かない(以下、高品質プリンタレンダラと
呼ぶ)ものであるとする(実際、そのような性質の異な
る複数種類のプリンタレンダラは知られている)。この
ような場合、ジョブ制御エンジン7は、スプールファイ
ル5からの描画コマンドを解析することにより、印刷対
象文書の各ページに含まれる描画要素を識別して、例え
ば、テキストやグラフィックス(図形、線画)の描画要
素は高解像プリンタレンダラで高解像に描画するよう、
写真のような自然イメージの描画要素は高品質プリンタ
で解像度は多少落としても豊かな色表現で描画するよ
う、描画要素の種類に応じてプリンタレンダラを使い分
ける指示をレンダラ9Aに与えることができる。レンダ
ラ9Aは、描画コマンドからカラー・ベクターコマンド
を作成する際、上記指示も反映させた内容のカラー・ベ
クターコマンドを作成して、プリンタに送ることができ
る。When the target printer has a plurality of types of renderers (hereinafter, referred to as printer renderers to distinguish them from driver renderers 9A to 9D), the job control engine determines which printer renderer to use. 7 can also control. For example, suppose that the target printer is a page printer and has two types of printer renderers that can receive a color / vector command and perform intermediate coding and rasterizing. One of the printer renderers has a low color representation capability but can draw a high-resolution image with a small amount of memory (hereinafter, referred to as a high-resolution printer renderer). The other printer renderer can represent a full color image but consumes a large amount of memory. Therefore, it is not suitable for high-resolution drawing (hereinafter, referred to as a high-quality printer renderer) (in fact, a plurality of types of printer renderers having different properties are known). In such a case, the job control engine 7 analyzes a drawing command from the spool file 5 to identify a drawing element included in each page of the document to be printed, and, for example, to use text or graphics (graphics, ) Draw elements in high resolution with a high resolution printer renderer.
An instruction to use a printer renderer in accordance with the type of drawing element can be given to the renderer 9A so that a drawing element of a natural image such as a photograph is drawn in a rich color expression even if the resolution is slightly lowered with a high quality printer. When creating a color vector command from a drawing command, the renderer 9A can create a color vector command having the above-mentioned instruction and send it to the printer.
【0027】このように描画コマンドを解析する処理を
ジョブ制御エンジン7が行う場合、ジョブ制御エンジン
7の処理内容は複雑で、かつ描画コマンドの形式に依存
したものとならざるを得ない。しかし、本実施形態にか
かるプリンタドライバ100は、ジョブ制御エンジン7
もOS非依存であるために開発効率は高い。When the job control engine 7 performs the process of analyzing the drawing command in this way, the processing content of the job control engine 7 is complicated and depends on the format of the drawing command. However, the printer driver 100 according to the present embodiment
Is also OS-independent, so the development efficiency is high.
【0028】以上、本発明の好適な実施形態を説明した
が、本発明は上記実施形態以外の他の形態でも実施する
ことができる。例えば、3種以上のOSに対応させるこ
ともできる。OS依存部分と非依存部分に含まれるモジ
ュールを上記実施形態とは異ならせることもできる。ド
ライバのレンダラは上記実施形態のように4種類である
必要はなく、より少なくても、より多くてもよい。必ず
しもプリンタドライバの全部がソフトウェアによって実
施される必要はなく、一部が専用ハードウェア回路で実
施することも技術的には可能である。Although the preferred embodiment of the present invention has been described above, the present invention can be carried out in other forms other than the above embodiment. For example, three or more OSs can be supported. The modules included in the OS-dependent part and the non-dependent part can be different from those in the above embodiment. The number of renderers of the driver need not be four as in the above embodiment, but may be smaller or larger. It is not always necessary that all of the printer driver is implemented by software, and it is technically possible to implement a part of the printer driver with a dedicated hardware circuit.
【図1】本発明の一実施形態にかかるプリンタドライバ
を示すブロック図。FIG. 1 is a block diagram showing a printer driver according to an embodiment of the present invention.
100 プリンタドライバ 1A、1B OSの表示ドライバインタフェースモジュ
ール 3A、3B コマンド変換部 5 スプールファイル 7 ジョブ制御エンジン 9 レンダラReference Signs List 100 Printer driver 1A, 1B OS display driver interface module 3A, 3B Command conversion unit 5 Spool file 7 Job control engine 9 Renderer
Claims (13)
内容の処理を行うOS依存部と、前記OSに依存しない
内容の処理を行うOS非依存部とを有するプリンタドラ
イバ。1. A printer driver comprising: an OS-dependent unit for processing contents dependent on an OS corresponding to a computer; and an OS-independent unit for processing contents independent of the OS.
釈できる形式の印刷コマンドを作成するレンダラを含む
請求項1記載のプリンタドライバ。2. The printer driver according to claim 1, wherein the OS-independent portion includes a renderer that creates a print command in a format that can be interpreted by the target printer.
ら描画コマンドを受けて、OS非依存形式のデータに変
換するコマンド変換部を含む請求項1記載のプリンタド
ライバ。3. The printer driver according to claim 1, wherein the OS-dependent unit includes a command conversion unit that receives a drawing command from the corresponding OS and converts the drawing command into OS-independent data.
式のデータを受けて、対象プリンタの解釈できる形式の
印刷コマンドを作成するレンダラを含む請求項3記載の
プリンタドライバ。4. The printer driver according to claim 3, wherein the OS-independent unit includes a renderer that receives the OS-independent format data and creates a print command in a format that can be interpreted by the target printer.
対象プリンタを制御するジョブ制御エンジンを含む請求
項2又は4記載のプリンタドライバ。5. The printer driver according to claim 2, wherein the OS-independent section includes a job control engine that controls the renderer or the target printer.
式のデータに基づいて前記レンダラ又は対象プリンタを
制御するジョブ制御エンジンを含む請求項4記載のプリ
ンタドライバ。6. The printer driver according to claim 4, wherein the OS-independent unit includes a job control engine that controls the renderer or the target printer based on the data in the OS-independent format.
する複数の前記レンダラを有する請求項2又は4記載の
プリンタドライバ。7. The printer driver according to claim 2, further comprising a plurality of renderers for respectively generating a plurality of types of print commands.
コマンドを作成する第1のレンダラと、 中間コード形式の印刷コマンドを作成する第2のレンダ
ラと、 ラスターグラフィックデータ形式の印刷コマンドを作成
する第3のレンダラとの内の少なくとも2つのレンダラ
を有する請求項2又は4記載のプリンタドライバ。8. A first renderer for creating a print command in a vector graphic data format, a second renderer for creating a print command in an intermediate code format, and a third renderer for creating a print command in a raster graphic data format. 5. The printer driver according to claim 2, further comprising at least two renderers.
前記対応するOSからの描画コマンドの形式とが、少な
くとも部分的に一致している請求項3記載のプリンタド
ライバ。9. The data format of the OS-independent format,
4. The printer driver according to claim 3, wherein the format of the drawing command from the corresponding OS at least partially matches.
た内容の処理を行うOS依存部と、前記OSに依存しな
い内容の処理を行うOS非依存部とを有するプリンタド
ライバとして、コンピュータを機能させるためのコンピ
ュータプログラムを担持したコンピュータ読取可能な記
録媒体。10. A printer driver for operating a computer as a printer driver having an OS-dependent unit for processing content dependent on an OS corresponding to the computer and an OS-independent unit for processing content independent of the OS. A computer-readable recording medium carrying a computer program.
た内容の処理を行うOS依存部と、前記OSに依存しな
い内容の処理を行うOS非依存部とを有するプリンタド
ライバが搭載されたコンピュータ。11. A computer equipped with a printer driver having an OS-dependent unit for processing contents dependent on an OS corresponding to the computer and an OS-independent unit for processing contents not dependent on the OS.
た内容の処理を行うOS依存部と、前記OSに依存しな
い内容の処理を行うOS非依存部とを有するプリンタド
ライバと、 前記プリンタドライバから印刷コマンドを受けるプリン
タとを備えたコンピュータシステム。12. A printer driver having an OS-dependent unit for processing contents dependent on a corresponding OS of a computer, an OS-independent unit for processing contents independent of the OS, and a print command from the printer driver. And a computer system comprising the printer.
た内容の処理を行うOS依存部と、前記OSに依存しな
い内容の処理を行うOS非依存部とを有するプリンタド
ライバが搭載されたコンピュータと、 前記コンピュータと通信可能であって、前記プリンタド
ライバから印刷コマンドを受けるプリンタとを備えたコ
ンピュータシステム。13. A computer equipped with a printer driver having an OS-dependent unit for processing contents dependent on an OS corresponding to the computer, and an OS-independent unit for processing contents independent of the OS. A computer system comprising: a printer communicable with a computer and receiving a print command from the printer driver.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP27068297A JP3521056B2 (en) | 1997-10-03 | 1997-10-03 | Printer driver, computer having printer driver, and computer system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP27068297A JP3521056B2 (en) | 1997-10-03 | 1997-10-03 | Printer driver, computer having printer driver, and computer system |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11110151A true JPH11110151A (en) | 1999-04-23 |
JP3521056B2 JP3521056B2 (en) | 2004-04-19 |
Family
ID=17489487
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP27068297A Expired - Lifetime JP3521056B2 (en) | 1997-10-03 | 1997-10-03 | Printer driver, computer having printer driver, and computer system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3521056B2 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1698968A2 (en) | 2005-03-01 | 2006-09-06 | Canon Kabushiki Kaisha | Print control apparatus, control method thereof, and device driver |
JP2007102378A (en) * | 2005-09-30 | 2007-04-19 | Seiko Epson Corp | Driver program |
JP2012155515A (en) * | 2011-01-26 | 2012-08-16 | Renesas Electronics Corp | Source device driver and method for creating execution module |
-
1997
- 1997-10-03 JP JP27068297A patent/JP3521056B2/en not_active Expired - Lifetime
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1698968A2 (en) | 2005-03-01 | 2006-09-06 | Canon Kabushiki Kaisha | Print control apparatus, control method thereof, and device driver |
JP2006239946A (en) * | 2005-03-01 | 2006-09-14 | Canon Inc | Print control apparatus, control method therefor, and device driver |
EP1698968A3 (en) * | 2005-03-01 | 2007-06-06 | Canon Kabushiki Kaisha | Print control apparatus, control method thereof, and device driver |
US7706001B2 (en) | 2005-03-01 | 2010-04-27 | Canon Kabushiki Kaisha | Print control apparatus, control method thereof, and device driver for converting commands from one format to another |
JP2007102378A (en) * | 2005-09-30 | 2007-04-19 | Seiko Epson Corp | Driver program |
JP2012155515A (en) * | 2011-01-26 | 2012-08-16 | Renesas Electronics Corp | Source device driver and method for creating execution module |
Also Published As
Publication number | Publication date |
---|---|
JP3521056B2 (en) | 2004-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3826038B2 (en) | Printing system, printing method therefor, and printing apparatus | |
US6611347B1 (en) | Print control apparatus, print control method, storage medium, and computer readable program performing a form overlay process | |
EP1698968B1 (en) | Print control apparatus, control method thereof, and device driver | |
US20070070403A1 (en) | Information processing apparatus, information processing method, and program | |
JP2002041261A (en) | Information processing device, information processing method, and storage medium which stores computer- readable program | |
JP2004126871A (en) | Method and device for controlling printing | |
EP1033645A2 (en) | Late binding of device settings in a host raster image processor | |
JP3287387B2 (en) | Control system and method for computer printer using split printer driver | |
US6388757B1 (en) | Printing apparatus, printing system, and a method for acquiring character resources of the printing system | |
JPH08286860A (en) | Output control method, its device and its computer program product | |
JP3962606B2 (en) | Printing command generation apparatus and method, printing apparatus and control method thereof, information processing apparatus, and printing system | |
JPH11105349A (en) | PRINT PROCESSING SYSTEM, PRINT PROCESSING METHOD, AND COMPUTER-READABLE RECORDING MEDIUM CONTAINING PRINT PROCESSING CONTROL PROGRAM | |
JP2006155308A (en) | Image forming apparatus | |
JP3521056B2 (en) | Printer driver, computer having printer driver, and computer system | |
US7710602B2 (en) | Systems and methods for context-based adaptive image processing using segmentation | |
JP3542370B2 (en) | Print control device and print control method | |
JP2003280850A (en) | High speed printing apparatus and high speed printing method using the same | |
JP4467715B2 (en) | Image output control apparatus and method | |
JPH11191055A (en) | Printing system, data processing method therefor, and storage medium stored with computer-readable program | |
JPH0744687A (en) | Picture forming device | |
JP2007188308A (en) | Printing system and storage medium | |
JP4325339B2 (en) | Printing system, host computer and printer driver | |
JP3305071B2 (en) | Server device | |
JP2006079475A (en) | Print processing system, program and recording medium | |
JP2002007088A (en) | Print data processing method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040116 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040129 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080213 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090213 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090213 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100213 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110213 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110213 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120213 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130213 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130213 Year of fee payment: 9 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
EXPY | Cancellation because of completion of term |