(57)【特許請求の範囲】
【請求項１】
アプリケーションからオペレーティングシステムの描画インタフェースを介して描画コマンドを受け付け、当該描画コマンドに基づいてプリンタを制御するための印刷コマンドを生成して出力する処理をプリンタホストに実行させるためのプログラムであって、
前記アプリケーションから前記オペレーティングシステムの描画インタフェースを介さずに印刷コマンドを受け付ける処理と、
前記受け付けた印刷コマンドを、前記描画コマンドに基づいて生成された印刷コマンドのあらかじめ定めた位置に組み込んで出力する処理とを
プリンタホストに実行させるためのプログラム。
【請求項２】
請求項１に記載のプログラムであって、
前記描画コマンドの受け付け処理と、前記印刷コマンドの受け付け処理とは別個に行なわれることを特徴とするプログラム。
【請求項３】
アプリケーションからオペレーティングシステムの描画インタフェースを介さずにラスタデータを受け付け、当該ラスタデータに基づいてプリンタを制御するための印刷コマンドを生成して出力する処理をプリンタホストに実行させるためのプログラムであって、
前記アプリケーションから前記オペレーティングシステムの描画インタフェースを介さずに印刷コマンドを受け付ける処理と、
受け付けた印刷コマンドを、前記ラスタデータに基づいて生成された印刷コマンドのあらかじめ定めた位置に組み込んで出力する処理とを
プリンタホストに実行させるためのプログラム。
【請求項４】
請求項１、２および３のいずれか一項に記載のプログラムであって、
前記受け付ける印刷コマンドは、当該プログラムでは解釈できないコマンドを含むことを特徴とするプログラム。
【請求項５】
請求項１〜４のいずれか一項に記載のプログラムを記録した記録媒体。
【請求項６】
プリンタを制御する印刷コマンドを出力するプリンタホストであって、
アプリケーションからオペレーティングシステムの描画インタフェースを介さずに描画コマンドを受け付け、当該描画コマンドに基づいてラスタデータを生成するラスタライズ手段と、
ラスタデータにハーフトーン処理を施し、その結果に基づいて印刷コマンドを生成する印刷コマンド生成手段とを備え、
前記印刷コマンド生成手段は、前記アプリケーションから前記オペレーティングシステムの描画インタフェースを介さずに印刷コマンドを受け付け、受け付けた印刷コマンドを、前記ラスタデータに基づいて生成された印刷コマンドのあらかじめ定めた位置に組み込んで出力する処理を行なうことを特徴とするプリンタホスト。
【請求項７】
印刷命令を受け付けて、印刷命令に係る描画コマンドを生成するアプリケーション実行手段と、オペレーティングシステムを介して入力した前記描画コマンドに基づいてプリンタを制御する印刷コマンドを生成するドライバ手段と、前記印刷コマンドに基づいて印刷を実行する印刷手段とを備えるプリントシステムであって、
前記アプリケーション実行手段は、前記印刷手段で実行可能な印刷処理に関する印刷コマンドを前記ドライバ手段に出力し、
前記ドライバ手段は、この印刷コマンドを前記印刷手段に出力し、
前記印刷手段は、前記描画コマンドに基づいて生成された印刷コマンドおよび前記アプリケーション実行手段により出力された印刷コマンドに基づいて印刷を実行することを特徴とするプリントシステム。
【請求項８】
印刷命令を受け付けて、印刷命令に係るラスタデータを生成するアプリケーション実行手段と、オペレーティングシステムを介さずに入力した前記ラスタデータに基づいてプリンタを制御する印刷コマンドを生成するドライバ手段と、前記印刷コマンドに基づいて印刷を実行する印刷手段とを備えるプリントシステムであって、
前記アプリケーション実行手段は、前記印刷手段で実行可能な印刷処理に関する印刷コマンドを前記ドライバ手段に出力し、
前記ドライバ手段は、この印刷コマンドを前記印刷手段に出力し、
前記印刷手段は、前記ラスタデータに基づいて生成された印刷コマンドおよび前記アプリケーション実行手段により出力された印刷コマンドに基づいて印刷を実行することを特徴とするプリントシステム。
【請求項９】
請求項７または８に記載のプリントシステムであって、
前記ドライバ手段は、アプリケーション実行手段が出力した印刷コマンドを、前記ラスタデータに基づいて生成された印刷コマンドのあらかじめ定めた位置に組み込んで前記印刷手段に出力することを特徴とするプリントシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、プリントシステムに係り、特に、プリンタを制御するコマンドをアプリケーションに追加した場合にも、対応するインタフェースの開発が不要なプリンタドライバに関する。
【０００２】
【従来の技術】
プリンタと、プリンタホストとから構成されるプリントシステムにおいて、プリンタホスト上で実行中のアプリケーションから印刷を指示すると、アプリケーションは、印刷指示に係る描画コマンドをプリンタを制御するプログラムであるプリンタドライバに送る。そして、プリンタドライバは、受け付けた描画コマンドに基づいて、プリンタを制御するための印刷コマンドを生成してプリンタに送り、印刷が実行される。
【０００３】
描画コマンドは、プリンタホストのオペレーティングシステムの仕様により定められており、印刷コマンドは、プリンタの仕様により定められている。このため、プリンタドライバはあらかじめ定められたコマンド群からなる命令を受け付け、これを解釈して、あらかじめ定められた形式のコマンドに変換する処理を行なう。したがって、プリンタドライバ開発時に想定されたコマンド以外のコマンドは処理することができない。
【０００４】
【発明が解決しようとする課題】
ところで、新たなアプリケーションを開発して、汎用的なプリンタを特定目的のプリントシステムに流用する場合がある。このような場合には、プリンタに特定の機能を追加して、アプリケーションからの指示により実行させたいという要求が生じることが多い。例えば、汎用的なプリンタを組み込んでオンデマンドプリントシステムを構築する際に、プリンタに特殊な用紙カット機能、用紙折込機能等を追加させたい場合等である。
【０００５】
しかし、新たな機能をプリンタに追加して、この機能を実行させるための追加コマンドをアプリケーションとプリンタとに組み込んだとしても、プリンタドライバに、この追加コマンドを受け付けるインタフェースを実装しなければアプリケーションからプリンタに追加コマンドを送ることはできない。すなわち、プリンタの新たな機能に対応するためには、アプリケーションおよびプリンタのみならず、プリンタドライバも新たに作成しなければならない。ところが、特殊目的のプリントシステムごとに、また、機能追加ごとにプリンタドライバを作成するのは、例えば、コスト、開発期間等の面から望ましくない。
【０００６】
本発明の目的は、プリンタを制御するコマンドをアプリケーションに追加した場合にも、対応するインタフェースの開発が不要なプリンタドライバおよびこのようなプリンタドライバを用いたプリントシステムを提供することにある。
【０００７】
【課題を解決するための手段】
上記課題を解決するため、本発明によれば、
描画コマンドを受け付け、当該描画コマンドに基づいてプリンタを制御するための印刷コマンドを生成して出力する処理をプリンタホストに実行させるためのプログラムであって、
印刷コマンドを受け付ける処理と、
受け付けた印刷コマンドを、前記描画コマンドに基づいて生成された印刷コマンドのあらかじめ定めた位置に組み込んで出力する処理とを
プリンタホストに実行させるためのプリンタドライバプログラムが提供される。
【０００８】
このプログラムは、追加コマンドを受け付けるインタフェースを備え、このコマンドを解釈することなく、プリンタに出力することができるため、追加機能のたびに作成する必要がなくなる。
【０００９】
また、上記課題を解決するため、本発明によれば、
印刷命令を受け付けて、印刷命令に係る描画コマンドを生成するアプリケーション実行手段と、前記描画コマンドに基づいてプリンタを制御する印刷コマンドを生成するドライバ手段と、前記印刷コマンドに基づいて印刷を実行する印刷手段とを備えるプリントシステムであって、
前記アプリケーション実行手段は、前記印刷手段で実行可能な印刷処理に関する印刷コマンドを前記ドライバ手段に出力し、
前記ドライバ手段は、この印刷コマンドを前記印刷手段に出力し、
前記印刷手段は、前記描画コマンドに基づいて生成された印刷コマンドおよび前記アプリケーション実行手段により出力された印刷コマンドに基づいて印刷を実行することを特徴とするプリントシステムが提供される。
【００１０】
このプリントシステムのドライバ手段は、アプリケーション実行手段と印刷手段とで取り決められた新たなコマンドを、解釈することなく受け付けて、出力することができるため、新たなコマンドに対応して、ドライバ手段を更新する必要がなくなる。
【００１１】
【発明の実施の形態】
本発明の実施形態について図面を参照して詳細に説明する。
【００１２】
図１に、本発明が適用されるプリントシステムの構成を示す。図１に示すように、本印刷システムは、アプリケーションによる各種処理、プリンタドライバによる印刷処理等を実現するためのプリンタホスト１０と、このプリンタホスト１０に接続されるプリンタ３０とを備えて構成される。ただし、プリンタシステムの構成はこれに限られない。
【００１３】
プリンタホスト１０は、各種プログラムを実行するＣＰＵ（Central Processing Unit）１１、データおよびプログラムを一時的に記憶するＲＡＭ（Random Access Memory）１２、各種データ、各種プログラム等があらかじめ不揮発的に記憶されているＲＯＭ（Read Only Memory）１３および、接続されたプリンタ３０とのデータの送受信をつかさどるプリンタインタフェース１４を具備している。また、プリンタホスト１０には、内蔵または外付けの補助記憶装置２４、カラーディスプレイ等の表示装置２１、マウス、キーボード等の入力装置２２およびＣＤ−ＲＯＭ等の記録媒体からデータを読み取るメディア読取装置２３が接続される。
【００１４】
プリンタ３０は、例えば、カラー印刷が可能なインクジェット式プリンタである。プリンタ３０は、プリンタホスト１０から送られる印刷データに基づいて印刷を行なう。
【００１５】
次に、本発明の第１の実施形態におけるプリンタホスト１０上に構築される機能構成について図２のブロック図を参照して説明する。
【００１６】
本図に示すように、プリンタホスト１０上に、アプリケーション１１０と、プリンタホスト１０を制御する基本ソフトウェアであるオペレーティングシステム（ＯＳ）が提供する描画インタフェース１２０と、プリンタドライバ１３０とが構築される。これらの機能は、ＲＡＭ１２に格納されたそれぞれの処理を行なうためのプログラムを、ＣＰＵ１１が実行することにより実現される。
【００１７】
まず、それぞれのブロックの基本的な機能について説明する。
【００１８】
アプリケーション１１０は、例えば、グラフィック処理、ワードプロセッサ等の所定の処理を行なうために開発されたプログラムである。アプリケーション１１０は、印刷命令受付処理部１１１を備えており、印刷命令受付処理部１１１は、ユーザから印刷命令を受け付けると、印刷命令に係る描画コマンドをオペレーティングシステムの描画インタフェース１２０を介してプリンタドライバ１３０に送信する。ここで、描画コマンドは、あらかじ描画インタフェース１２０の仕様で定められた図形の描画命令、文字列の描画命令等から構成される。
【００１９】
オペレーティングシステムの描画インタフェース１２０は、アプリケーション１１０とプリンタドライバ１３０との間で行なわれるプリンタ情報、フォント情報等のやり取りの仲介を行なうとともに、アプリケーション１１０から受け付けた描画コマンドを、プリンタドライバ１３０への印刷要求に変換してプリンタドライバ１３０に送る機能を有する。
【００２０】
プリンタドライバ１３０は、プリンタ３０を制御するためのプログラムであり、アプリケーション１１０が作成した描画コマンドに基づいて、プリンタ３０が解釈可能な印刷コマンドを生成する。本図に示すように、プリンタドライバ１３０は、ＯＳ用ＩＦ（インタフェース）１３１と、ラスタライズ処理部１３２と、ハーフトーン処理・印刷コマンド生成部１３３とを備えている。
【００２１】
ＯＳ用ＩＦ１３１は、オペレーティングシステムの描画インタフェース１２０と描画コマンド、プリンタ情報等をやり取りするためのインタフェースである。
【００２２】
ラスタライズ処理部１３２は、描画コマンドを解釈して、ＲＧＢ（Ｒ：赤、Ｇ：緑、Ｂ：青）の３色、それぞれについてのドットの集合体であるラスタデータに変換する。そしてＲＧＢラスタデータを、ハーフトーンおよびコマンド生成用のパラメータとともにハーフトーン処理・印刷コマンド生成部１３３に送る。なお、ハーフトーンおよびコマンド生成用のパラメータは、オペレーティングシステム描画インタフェース１２０からハーフトーン処理・印刷コマンド生成部１３３に送るようにしてもよい。
【００２３】
ハーフトーン処理・印刷コマンド生成部１３３は、ＲＧＢを、例えば、ＣＭＹＫ（Ｃ：シアン、Ｍ：マゼンタ、Ｙ：イエロー、Ｋ：ブラック）の４色に変換し、中間調を表現するための操作を行なうハーフトーン処理と、ハーフトーン処理後のデータに基づいて、プリンタ３０が解釈して印刷可能な印刷コマンドを生成する印刷コマンド生成処理とを行なう。
【００２４】
次に、本発明の特徴的な部分について説明する。
【００２５】
本発明において、プリンタ３０には、アプリケーション１１０の要求に応じて、新たな機能が追加されている。新たな機能は任意であるが、例えば、特殊な用紙カット機能、印刷用紙の折込機能等のプリンタメカシーケンス機能とすることができる。そして、プリンタ３０にこれらの追加機能を実行させるためのコマンドが新たに定義されていて、アプリケーション１１０とプリンタ３０とに組み込まれている。
【００２６】
コマンドが追加されるのは、プリンタドライバ１３０の開発後の場合も考えられ、また、コマンドの追加に対応してプリンタドライバ１３０のＯＳ用ＩＦ１３１を書き換えることはコスト、開発期間等の面から望ましくない。このため、本実施形態においては、ハーフトーン処理・印刷コマンド生成部１３３に、アプリケーション１１０から追加コマンドを受け付けるためのコマンドインタフェース１３４を設ける。そして、ハーフトーン処理・印刷コマンド生成部１３３は、コマンドインタフェース１３４が受け付けた追加コマンドを解釈することなく、所定の方法、例えば、印刷コマンドの所定の位置に組み込んで、プリンタ３０に出力する。
【００２７】
すなわち、アプリケーション１１０の印刷命令受付処理部１１１は、印刷指示をユーザから受け付け、プリンタ３０の新たな機能を使用するコマンドの送信が必要であると判断すると、従来の描画コマンドをオペレーティングシステムの描画インタフェース１２０に送るとともに、新たな機能に係るコマンドを、所定のタイミング、例えば、描画コマンドの送信の前、あるいは後等にコマンドインタフェース１３４に送信する。もちろんこのタイミングは、コマンドインタフェース１３４の仕様としてあらかじめ定めておくことができる。また、アプリケーション１１０の印刷命令受付処理部１１１がコマンドインタフェース１３４に新たな機能に係るコマンドを送信する方法についてもコマンドインタフェース１３４の仕様としてあらかじめ定めておくことができる。
【００２８】
また、コマンドインタフェース１３４が受け付けた追加コマンドをハーフトーン処理・印刷コマンド生成部１３３がプリンタ３０に送信する方法についても任意であり、コマンドインタフェース１３４の仕様としてあらかじめ定めておくことができる。
【００２９】
プリンタ３０は、コマンドインタフェース１３４の仕様に基づいて、追加コマンドを認識することができ、このコマンドに基づいて新たな機能を実行することができる。
【００３０】
また、本発明は、追加コマンドのみならず、例えば、従来の印刷コマンドのパラメータを上書きして、新たな値に置き換えるような用途にも適用することができる。
【００３１】
次に、本発明の第２の実施形態について図３のブロック図を参照して説明する。本実施形態において、プリンタホスト１０上には、第１の実施形態のアプリケーション１１０に代えてアプリケーション１４０が構築されている。その他については第１の実施形態と同様である。
【００３２】
アプリケーション１４０は、内部にラスタライズ処理部１４１を備えており、プリンタドライバのラスタライズ処理部１３２を使用しないで、ＲＧＢラスタデータを生成する。これは、例えば、アプリケーション１４０が、精密なグラフィックを作成するためのソフトウェア等で、プリンタドライバ１３０で提供される汎用的なラスタライズ処理部１３２では、ユーザの要求を満たすＲＧＢラスタデータの作成が困難な場合等に用いる方式である。
【００３３】
本発明は、このようなアプリケーション１４０についても適用することができる。このときの処理の概要について説明する。なお、プリンタドライバ１３０の構成は第１の実施形態と変えることなく本処理に対応することができる。
【００３４】
アプリケーション１１０の印刷命令受付処理部１１１が、印刷指示をユーザから受け付け、プリンタ３０の新たな機能を使用するコマンドの送信が必要であると判断すると、ラスタライズ処理部１４１は、アプリケーション１４０で生成される描画コマンドに基づいてＲＧＢラスタデータを生成する。そして、このＲＧＢラスタデータをオペレーティングシステムの描画インタフェース１２０等を介さずに、プリンタドライバ１３０のハーフトーン処理・印刷コマンド生成部１３３に、ハーフトーンおよびコマンド生成用のパラメータとともに送る。このときのデータフォーマットおよびデータの渡し方は、第１の実施形態において、プリンタドライバ１３０のラスタライズ処理部１３２からハーフトーン処理・印刷コマンド生成部１３３にＲＧＢラスタデータを送った方法と同様にする。すなわち、ハーフトーン処理・印刷コマンド生成部１３３のＲＧＢラスタデータ受け付け仕様に基づいて、アプリケーション１４０のラスタライズ処理部１４１を開発しておくようにする。
【００３５】
一方、印刷命令受付処理部１１１は、第１の実施形態同様に、新たな機能に係るコマンドを、所定のタイミング、例えば、ＲＧＢラスタデータの送信の前、あるいは後等にコマンドインタフェース１３４に送信する。その後の、ハーフトーン処理・印刷コマンド生成部１３３の処理は第１の実施形態と同様である。
【００３６】
【発明の効果】
上述のように、本発明によれば、プリンタを制御するコマンドをアプリケーションに追加した場合にも、対応するインタフェースの開発が不要なプリンタドライバおよびこのようなプリンタドライバを用いたプリントシステムが提供される。
【図面の簡単な説明】
【図１】は、本発明のプリントシステムの構成を説明するためのブロック図である。
【図２】は、本発明の第１の実施形態の機能構成を説明するためのブロック図である。
【図３】は、本発明の第２の実施形態の機能構成を説明するためのブロック図である。
【符号の説明】
１０…プリンタホスト
１１…ＣＰＵ
１２…ＲＡＭ
１３…ＲＯＭ
１４…プリンタインタフェース
２１…表示装置
２２…入力装置
２３…メディア読取装置
２４…補助記憶装置
３０…プリンタ
１１０…アプリケーション
１１１…印刷命令受付処理部
１２０…オペレーティングシステム描画インタフェース
１３０…プリンタドライバ
１３１…ＯＳ用ＩＦ
１３２…ラスタライズ処理部
１３３…ハーフトーン処理・印刷コマンド生成部
１３４…コマンドインタフェース
１４０…アプリケーション
１４１…ラスタライズ処理部
【図１】
0004268769.tif 000002
【図２】
0004268769.tif 000003
【図３】
0004268769.tif 000004