JP2007188308A - 印刷システム及び、記憶媒体 - Google Patents
印刷システム及び、記憶媒体 Download PDFInfo
- Publication number
- JP2007188308A JP2007188308A JP2006006184A JP2006006184A JP2007188308A JP 2007188308 A JP2007188308 A JP 2007188308A JP 2006006184 A JP2006006184 A JP 2006006184A JP 2006006184 A JP2006006184 A JP 2006006184A JP 2007188308 A JP2007188308 A JP 2007188308A
- Authority
- JP
- Japan
- Prior art keywords
- printing
- printer
- program
- control
- various
- 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.)
- Withdrawn
Links
Images
Landscapes
- Accessory Devices And Overall Control Thereof (AREA)
- Record Information Processing For Printing (AREA)
Abstract
【課題】 複雑な出力形態に係る各種属性設定がなされているドキュメントの印刷時、印刷速度の向上を図り、プリンタエンジン速度性能を最大限に発揮でき、更に、事前に最終的な出力形態、使用する用紙枚数、用紙メディア等が把握可能な印刷システムを提供する。
【解決手段】 アプリケーションプログラムおよびプリンタドライバプログラム、プリンタの印刷制御プログラム間で、相互に各種情報およびデータの送受信が可能なアプリケーションプログラムインターフェース(API)を用意し、本API関数を使用して、プリンタは印刷ジョブデータを受信する前に、印刷ジョブの各種グラフィックス制御情報および属性設定情報を受け取り、これらの情報に基づいて、事前に印刷制御に係る最適化処理を行なう。この最適化処理に基づいて、受信した印刷ジョブの印刷制御処理を行なって、該当ドキュメントの印刷を行なう。
【選択図】 図1
【解決手段】 アプリケーションプログラムおよびプリンタドライバプログラム、プリンタの印刷制御プログラム間で、相互に各種情報およびデータの送受信が可能なアプリケーションプログラムインターフェース(API)を用意し、本API関数を使用して、プリンタは印刷ジョブデータを受信する前に、印刷ジョブの各種グラフィックス制御情報および属性設定情報を受け取り、これらの情報に基づいて、事前に印刷制御に係る最適化処理を行なう。この最適化処理に基づいて、受信した印刷ジョブの印刷制御処理を行なって、該当ドキュメントの印刷を行なう。
【選択図】 図1
Description
本発明は、アプリケーションプログラム、プリンタドライバおよび印刷装置からなる印刷システムにおいて、アプリケーションプログラムインターフェース(API)による印刷制御方法およびそのシステムに関するものである。
従来のオペレーティングシステム上で実行されるアプリケーションプログラム、プリンタドライバプログラムおよび印刷装置から構成される文書印刷に関して、印刷装置において、ホストコンピュータ側から印刷ジョブデータが送信され、印刷装置内の印刷制御部で印刷データを受信された時点で、印刷・出力のための各種制御処理が行なわれ該当する文書印刷・出力を行なう方法が一般的であった。
又、別の従来例としては、特許文献1をあげることが出来る。
特開2004-001519号公報
又、別の従来例としては、特許文献1をあげることが出来る。
しかしながら上記従来例では、アプリケーションプログラム、プリンタドライバプログラムおよび印刷装置から構成される印刷システムからの印刷を行なう場合、印刷装置において、印刷制御部で印刷データを受信された時点から、印刷・出力のための各種制御処理が行なわれるため、特に複雑な印刷体裁を指示された文書印刷においては、印刷装置から排紙されるまでの時間および速度がかかり、印刷エンジン速度(ppm)性能を最大限に発揮できない問題があった。
本発明は上記従来例に鑑みてなされたもので、複雑な出力体裁を指定する文書印刷において、アプリケーションプログラム、プリンタドライバプログラムおよび印刷装置間で利用可能なアプリケーションプログラムインターフェース(API)を備え、これを使用して文書印刷前に文書全体、文書中の章、グループ単位、あるいは各ページ毎の印刷のための各種グラフィックス制御情報および各種属性設定情報を相互に要求および通知を行ない、事前に印刷装置内の各制御を最適化し、印刷速度性能を向上させることによって、前記課題を解決することを目的としている。
また、通常の文書印刷でも運用できるように、これらの機能を使う/使わない設定も可能とする。
上記課題・目的を達成するために、本発明は以下に示すような構成及び作用からなる。
これらの課題・目的を解決するために、ホストコンピュータシステム上のオペレーティングシステム、アプリケーションプログラム、プリンタドライバプログラムおよび印刷装置から構成される印刷システムにおいて、アプリケーションプログラム、プリンタドライバプログラムおよび印刷装置内のプログラムメモリ上にある各種印刷制御プログラムに、各種情報およびデータの送受信を行なう共通のプログラミング可能なプログラミングインターフェースを備え、アプリケーションプログラム、プリンタドライバおよび印刷装置間で、このプログラムインターフェースを利用し、プログラミングによる各種情報およびデータの送受信を行なう。
このプログラムインターフェースは、アプリケーションプログラム、プリンタドライバプログラムおよび印刷装置内の印刷制御プログラムにおいて、相互に各種情報および各種データの通知手段として、任意にプログラミング可能な関数あるいはデータ形式のアプリケーションプログラムインタフェース(API)を備え、アプリケーションプログラムおよびプリンタドライバプログラムを実行・動作するホストコンピュータのオペレーティングシステム上で認識・実行を可能とし、さらに印刷装置を制御する印刷装置内のプログラムメモリ上にある各種プログラムを実行・動作する印刷装置のコンピュータ制御部のオペレーティングシステム上で認識・実行を可能とする。
前記アプリケーションプログラムインタフェース(API)において、ホストコンピュータ側のアプリケーションプログラムおよびプリンタドライバプログラムでの印刷ジョブ制御処理が開始されるタイミングで、ジョブ制御開始を通知する手段と、印刷ジョブを識別するためのIDを前記ジョブ制御開始通知に付加する目的・機能を有するインターフェースを備える。
またアプリケーションプログラムインタフェース(API)において、文書全体、文書中の章、グループ単位、あるいは各ページ毎の印刷のための各種グラフィックス制御情報および各種属性設定情報を要求する手段と、この要求に応じて、前記情報を通知する手段と、ジョブ識別IDを、この情報要求および通知に付加する目的・機能を有するインターフェースを備える。
さらにアプリケーションプログラムインタフェース(API)は、ホストコンピュータ側のアプリケーションプログラムおよびプリンタドライバプログラムは、該当文書の実際の印刷時に印刷装置に送信する印刷ジョブデータの先頭に、前記付加した同一印刷ジョブIDを通知する目的・機能を有するインターフェースを備える。
アプリケーションプログラムおよびプリンタドライバプログラムは、印刷ジョブ処理開始時に、アプリケーションプログラムインタフェース(API)により、印刷装置に、ホストコンピュータ側で印刷ジョブ処理が開始されたことおよび前記ジョブIDを通知し、印刷装置からアプリケーションプログラムインタフェース(API)により、印刷装置内の印刷制御プログラムが該当印刷文書の各種印刷制御処理を開始する前に、ホストコンピュータ側の文書全体、文書中の章、グループ単位、あるいは各ページ毎の印刷のための前記ジョブIDと一致するジョブの各種グラフィックス制御情報および各種属性設定情報を要求して、アプリケーションプログラムおよびプリンタドライバプログラムが、アプリケーションプログラムインタフェース(API)により、印刷装置側に要求されたジョブIDと一致するジョブの文書全体、文書中の章、グループ単位、あるいは各ページ毎の印刷のための各種グラフィックス制御情報および各種属性設定情報を通知する。
印刷装置内の印刷制御プログラムは、該当印刷文書の印刷ジョブを受信し、各印刷制御処理を開始する前に、前記ホストコンピュータ側から通知される文書全体、文書中の章、グループ単位、あるいは各ページ毎の印刷のための各種グラフィックス制御情報および各種属性設定情報に基づいて、あらかじめページ展開メモリの確保、画像レイアウト、圧縮画像の伸長モジュールおよび画像レンダリングモジュールの呼び出し、画像展開および圧縮画像の伸長のための作業領域の確保などの各種最適化のための制御処理を行なう。
このとき印刷装置内の印刷制御プログラムは、印刷ジョブ識別IDで識別される印刷ジョブ毎に、印刷ジョブの各印刷制御に係る前処理を印刷装置内の記憶装置部に、複数のホストコンピュータから通知される前記各種グラフィックス制御および属性設定情報を識別可能にするため、さらにユニークな識別情報を付加して、保存する。
ホストコンピュータ上のアプリケーションプログラムおよびプリンタドライバプログラムは、アプリケーションプログラムインターフェース(API)により、最終的な印刷を行なうための印刷ジョブデータの先頭において、該当する印刷ジョブ識別IDを前記印刷装置に通知する。
印刷装置内の印刷制御プログラムは、印刷ジョブの各印刷制御に係る前処理後、前記印刷ジョブIDによって識別される該当印刷ジョブデータを受信し、最適化された状態で、各種印刷制御処理を行ない、文書を印刷する構成および作用からなる。
以上説明したように、本発明にしたがえば、プリンタ、プリンタドライバプログラムおよびアプリケーションプログラム間において、相互に各種情報およびデータの送受信可能で、ホストコンピュータ側からドキュメント印刷に係る各種グラフィックス制御および属性設定情報を、実際の印刷ジョブデータを送信する前に、プリンタ側に通知するアプリケーションプログラムインターフェースを用意することによって、プリンタ側で事前に印刷制御の最適化処理が行なうことが可能となり、複雑な体裁、出力形態の属性設定がされているドキュメントの印刷においても、十分な印刷速度を確保でき、印刷エンジン速度(ppm)性能を最大限に発揮することが可能となる。
次に、本発明の詳細を実施例の記述に従って説明する。
以下、添付図面にしたがって本発明の実施形態を詳細に説明する。
(実施の形態1)
[本実施の形態における動作例の概略]
以下にホストコンピュータシステム上にオペレーティング(OS)、ドキュメント作成・印刷アプリケーションプログラム、プリンタドライバプログラムおよびこれに接続する印刷装置(プリンタ)から構成されるシステムにおいて、アプリケーションプログラムからのドキュメント印刷指示に基づき、アプリケーションプログラムインターフェース(API)を使用し、プリンタドライバプログラムからプリンタ内の印刷制御部に印刷ジョブ制御開始を通知、プリンタ内の印刷制御部より、プリンタドライバプログラムにグラフィックス制御情報を要求し、これに応じてプリンタドライバプログラムからプリンタにグラフィックス制御情報を通知する。プリンタはこの情報に基づいて、ドキュメント印刷前に、該当する印刷ジョブに係る各種最適化処理を行なって、実際の印刷ジョブデータを受信して、ドキュメント印刷を行なう例を示す。
[本実施の形態における動作例の概略]
以下にホストコンピュータシステム上にオペレーティング(OS)、ドキュメント作成・印刷アプリケーションプログラム、プリンタドライバプログラムおよびこれに接続する印刷装置(プリンタ)から構成されるシステムにおいて、アプリケーションプログラムからのドキュメント印刷指示に基づき、アプリケーションプログラムインターフェース(API)を使用し、プリンタドライバプログラムからプリンタ内の印刷制御部に印刷ジョブ制御開始を通知、プリンタ内の印刷制御部より、プリンタドライバプログラムにグラフィックス制御情報を要求し、これに応じてプリンタドライバプログラムからプリンタにグラフィックス制御情報を通知する。プリンタはこの情報に基づいて、ドキュメント印刷前に、該当する印刷ジョブに係る各種最適化処理を行なって、実際の印刷ジョブデータを受信して、ドキュメント印刷を行なう例を示す。
[OS、アプリケーション、プリンタドライバおよびプリンタのシステム構成の説明(図1)]
図1は本発明の実施形態の基本構成図で、本実施形態のオペレーティングシステム(OS)、ドキュメント作成・印刷アプリケーションプログラム、プリンタドライバプログラムおよびこれに接続する印刷装置(プリンタ)から構成されるシステムにおいて、各要素間のアプリケーションプログラムインターフェース(API)の流れおよび各種データの流れを表わす図面である。
図1は本発明の実施形態の基本構成図で、本実施形態のオペレーティングシステム(OS)、ドキュメント作成・印刷アプリケーションプログラム、プリンタドライバプログラムおよびこれに接続する印刷装置(プリンタ)から構成されるシステムにおいて、各要素間のアプリケーションプログラムインターフェース(API)の流れおよび各種データの流れを表わす図面である。
100はホストコンピュータシステムで、オペレーティングシステム(OS)101、プリンタドライバプログラム102およびドキュメント作成・印刷アプリケーションプログラム103がこのプログラムメモリ上で動作・実行される。
104は前記ホストコンピュータシステム100に接続されるプリンタ、105は各種制御プログラムの動作環境となるリアルタイム・オペレーティングシステム(OS)、106は、各種印刷制御を行なう印刷制御プログラム、107はプリンタエンジン制御プログラムである。108はプリンタ104から出力されるドキュメント印刷である。
次に本システムの動作・作用について詳細に説明する。
ホストコンピュータ100のプログラムメモリ上で動作するオペレーティングシステム101上で実行されるアプリケーションプログラム103が初期化される時点で、プリンタドライバ102が、オペレーティングシステム101へロードされ、アプリケーションプログラム103からもプリンタドライバ102と各種情報およびデータの送受信が可能となる。
また、この初期化時アプリケーションプログラム103およびプリンタドライバプログラム102において、アプリケーションプログラムインターフェース(API)となるプログラム関数を含むライブラリをロードする。
一方、プリンタ104においては、プリンタ104起動時に、プリンタ104のプログラムメモリ上で動作するリアルタイム・オペレーティングシステム105上で実行される印刷制御プログラム106初期化時に、前記同様にアプリケーションプログラムインターフェース(API)となるプログラム関数を含むライブラリをロードする。
なお、前記アプリケーションプログラムインタフェース(API)およびこれらのプログラム関数群から構成されるライブラリは、ホストコンピュータ100上のオペレーティングシステム101、プリンタドライバプログラム102、アプリケーションプログラム103およびプリンタ104上のオペレーティングシステム105、印刷制御プログラム106において、認識可能なプログラム群で、前記各要素間で相互にデータおよび情報の受け渡しが可能である。
以降、本例では前記アプリケーションプログラムインタフェース(API)・ライブラリをプリンタSDK(Software Development Kit)APIと表記する。
アプリケーションプログラム103は、テキスト、グラフィックス、イメージ描画などのドキュメント印刷指示をオペレーティングシステム101が有するGDI(Graphical Device Interface)で提供される SDK APIを使用して行なう。
アプリケーションプログラム103は、テキスト、グラフィックス、イメージ描画などのドキュメント印刷指示をオペレーティングシステム101が有するGDI(Graphical Device Interface)で提供される SDK APIを使用して行なう。
前記GDIは、DDI(Device Driver Interface)に変換し、プリンタドライバプログラム102にテキスト、グラフィックス、イメージの描画指示を行なう。
このとき、前記GDIは同時にプリンタドライバプログラム102およびプリンタ104が有する各種機能および能力に合わせて、ドキュメントの印刷体裁を決定する各種属性設定指示も行なう。
プリンタドライバプログラム102は、これらの各指示を最初に受けた時点で、プリンタSDK APIを使用して、印刷ジョブの制御が開始されたことを、ジョブを識別するID情報と共に、プリンタ104内の印刷制御プログラム106に通知する。
前記通知を受けたプリンタ104内の印刷制御プログラム106は、印刷ジョブデータを受信し、ドキュメントを印刷する前に、該当印刷ジョブの各種属性設定情報を事前に受け取るために、同じくプリンタSDK APIを使用し、前記該当ジョブを識別するための同一ジョブ識別ID情報と共に、属性設定情報要求を行なう。
プリンタドライバプログラム102は、前記プリンタ104からの属性設定情報要求に基づいて、印刷ジョブ制御開始時に設定される該当ドキュメント印刷ジョブ全般に関連する各種属性設定情報をプリンタSDK APIを使用して、前記同一のジョブ識別ID情報と共に、プリンタ104内の印刷制御プログラム106に通知する。
また、アプリケーションプログラム103およびプリンタドライバプログラム102間で、印刷ジョブ制御処理が進み、各ページ、各章あるいは各グループに関連する各種属性設定情報が決定した時点においても、前記同様、各種属性設定情報をプリンタSDK APIを使用して、前記同一のジョブ識別ID情報と共に、プリンタ104内の印刷制御プログラム106に通知する。
このとき、ホストコンピュータ100およびプリンタ104間は、ネットワーク接続あるいは、セントロニクス、USBインターフェースによるローカル接続などにより、双方向通信を行ない、プリンタSDK APIでのデータおよび情報の送受信を行なう。
ここで、前記各種属性設定情報とは、文書全体、文書中の章、グループ単位、あるいは各ページ毎の印刷のための各種グラフィックス制御情報および各種属性設定情報は、フォント、モノクロ/カラー印刷、解像度、イメージ/ベクタグラフィックスなどのグラフィックス描画方法、画像レンダリング方法、画像圧縮方法などの各種グラフィックス制御に係る情報である。
プリンタ104内の印刷制御プログラム106は、該当印刷文書の印刷ジョブを受信し、各印刷制御処理を開始する前に、前記ホストコンピュータ100上のプリンタドライバプログラム102から通知される文書全体、文書中の章、グループ単位、あるいは各ページ毎の印刷のための各種グラフィックス制御情報および各種属性設定情報に基づいて、あらかじめページ展開メモリの確保、画像レイアウト、圧縮画像の伸長モジュールおよび画像レンダリングモジュールの呼び出し、画像展開および圧縮画像の伸長のための作業領域の確保などの各種最適化のための制御処理を行なう。
このときプリンタ104内の印刷制御プログラム106は、印刷ジョブ識別IDで識別される印刷ジョブ毎に、印刷ジョブの各印刷制御に係る前処理をプリンタ104内のRAM、ハードディスクなどの記憶装置部に、複数のホストコンピュータから通知された場合においても、前記各種グラフィックス制御および属性設定情報を識別可能にするため、さらにプリンタ104内でユニークな識別情報を付加して、保存する。
プリンタドライバプログラム102は、プリンタSDK APIを使用し、最終的な印刷を行なうための印刷ジョブデータと共にジョブの先頭において、該当するドキュメントの印刷ジョブ識別IDをオペレーティングシステム101のスプーラを介してプリンタ104に通知し、さらに印刷ジョブデータをプリンタ104に送信する。
プリンタ104内の印刷制御プログラム106は、印刷ジョブの各印刷制御に係る前処理後、前記印刷ジョブIDによって識別される該当印刷ジョブデータを受信し、最適化された状態で、各種印刷制御処理を行ない、最終的な描画イメージをオペレーティングシステム105を介して、エンジン制御プログラムに送り、該当ドキュメントの印刷出力108を行なう構成からなる。
[ホストコンピュータおよびプリンタにおける各処理の流れを表すブロック図の説明(図2)]
図2は、本発明に係るオペレーティングシステム、アプリケーションプログラム、プリンタドライバプログラムから成るホストコンピュータおよびオペレーティングシステム、印刷制御プログラム、プリンタエンジン制御プログラムから成るプリンタにいて、プリンタSDK APIを使用して、初期化から印刷までの各構成要素の内部および構成要素間の処理の流れをあらわすブロック図である。
図2は、本発明に係るオペレーティングシステム、アプリケーションプログラム、プリンタドライバプログラムから成るホストコンピュータおよびオペレーティングシステム、印刷制御プログラム、プリンタエンジン制御プログラムから成るプリンタにいて、プリンタSDK APIを使用して、初期化から印刷までの各構成要素の内部および構成要素間の処理の流れをあらわすブロック図である。
200は、オペレーティングシステム、アプリケーションプログラムおよびプリンタドライバプログラムから構成されるホストコンピュータ、201は、オペレーティングシステム、印刷制御プログラムおよびプリンタエンジン制御プログラムから構成されるプリンタ、202はプリンタからのドキュメント出力である。
本発明のホストコンピュータ200上のアプリケーションプログラムおよびプリンタドライバプログラム、プリンタ201内の印刷制御プログラム間におけるプリンタSDK APIを利用した各種情報のやり取りおよびデータ送信、ドキュメント印刷までの流れについて、詳細に説明する。
まず、ホストコンピュータ200上のアプリケーションプログラムにおいて、ドキュメント生成、編集、印刷などの各種動作処理に要するメモリ領域の確保、各種属性パラメータの初期化、デバイスコンテキストの作成、フォント/ペン/ブラシなどの描画オブジェクト作成などの初期化処理を行なう。
ホストコンピュータ200上のオペレーティングシステムのGDIにおいても、前記アプリケーションプログラムのドキュメント生成、編集、印刷のための各種初期化処理を受けて、GDIにおける各種動作処理に要するメモリ領域の確保、各種属性パラメータの初期化処理を行なう。
同様にホストコンピュータ200上のプリンタドライバプログラムにおいても、前記アプリケーションプログラムおよびGDIのドキュメント印刷のための各種初期化処理を受けて、プリンタドライバプログラムにおける各種動作処理に要するメモリ領域の確保、各種属性パラメータの初期化処理を行なう。このとき、前記プリンタドライバプログラムにおいて、プリンタSDKライブラリをロードする。
一方、プリンタ201においても、同様にオペレーティングシステム、印刷制御プログラムおよびエンジン制御プログラムの各種動作処理に要するメモリ領域の確保、各種属性パラメータの初期化処理を行なう。このとき、前記印刷制御プログラムにおいても、プリンタSDKライブラリをロードする。
次に、ホストコンピュータ200上のアプリケーションプログラムから、SDKAPIを使用して、GDIに対して、デバイスコンテキストハンドルであるプリンタコンテキストハンドルを生成し、該ハンドルにテキスト、図形、イメージの各オブジェクト描画を開始することによって、印刷指示となる。前記GDIは、前記各オブジェクト描画指示をDDIに変換し、プリンタドライバプログラムにおいて、印刷ジョブの制御が開始される。このとき、プリンタSDK APIを使用して、印刷ジョブ制御が開始されたことをプリンタ201内の印刷制御プログラムに通知する。
プリンタ201内の印刷制御プログラムは、前記印刷ジョブ制御開始通知を受けて、印刷ジョブデータを受信してドキュメント印刷を行なう前に、事前に各種ジョブ制御を開始する。
続いて、前記印刷制御プログラムは、プリンタSDK APIを使用して、ホストコンピュータ200上のプリンタドライバプログラムに対して、該当する印刷ジョブのジョブ制御情報の要求を行なう。
ホストコンピュータ200上のプリンタドライバは、アプリケーションプログラムからの各オブジェクト描画指示に基づいて、ジョブおよびページ制御を開始して、前記プリンタ201からのジョブ制御情報要求に応じて、ジョブ全体およびグループ、章、ページ毎に関連するフォント、モノクロ/カラー印刷、解像度、イメージ/ベクタグラフィックスなどのグラフィックス描画方法、画像レンダリング方法、画像圧縮方法などの各種グラフィックス制御情報および各種属性設定情報を、前記同様にプリンタSDK APIを使用して、プリンタ201側に通知する。
プリンタ201内の印刷制御プログラムは、前記各種グラフィックス制御情報および属性設定情報の通知に基づき、フォント、モノクロ/カラー印刷、解像度、イメージ/ベクタグラフィックスなどのグラフィックス描画方法、画像レンダリング方法、画像圧縮方法などの各種最適化のための制御処理を行なう。
ホストコンピュータ200上のアプリケーションプログラムによるSDK APIをしてのGDIに対するドキュメント印刷に係る各種オブジェクト描画指示およびドキュメントの出力形態に基づく各種印刷属性設定は、前記GDIにおいて、DDIに変換され、プリンタドライバプログラムに対してコールすることによって、プリンタドライバプログラムは、文字テキスト、図形、イメージの各描画処理を行なう。
さらにプリンタドライバプログラムは、前記各オブジェクト描画処理の中で、プリンタ201に係る印刷制御命令(PDLデータ)を生成し、スプーラに送信する。
プリンタ201内の印刷制御プログラムは、前記ホストコンピュータ200からの印刷ジョブデータである印刷制御命令(PDLデータ)を受信すると共に、前記事前に取得したジョブ、グループ、章、あるいはページ毎の各種グラフィックス制御情報および属性設定情報による最適化処理を読み出して、印刷制御処理を行なう。
前記処理結果に基づき、最終的な画像をプリンタ201内のエンジン制御プログラムに送り、画像出力を行なって、ドキュメント印刷202を行なう構成からなる。
[ホストコンピュータおよびプリンタ接続構成図の説明(図3)]
図3は、ホストコンピュータ100およびプリンタ104の接続構成を示す図である。
図3は、ホストコンピュータ100およびプリンタ104の接続構成を示す図である。
ホストコンピュータシステム300とこれに対して、入力を行なうキーボード、マウスなどの入力301、表示出力を行なう表示装置(ディスプレイ)302、ファイルの入出力を行なうディスク303および該当ホストコンピュータシステム300に接続されるプリンタ312からなるシステムにおいて、ホストコンピュータシステム300内のプログラムメモリ(RAM)306上にある、本発明のオペレーティングシステム101,プリンタドライバプログラム102、アプリケーションプログラム103およびプリンタ312内のプログラムメモリROM 315、RAM 316上にある印刷制御プログラム、プリンタSDKライブラリで、一連の印刷制御処理を行ない、プリンタ312からドキュメント出力を行なう構成からなる。
図3において、さらに詳細にホストシステム300の構成を説明する。
304はホストシステムおよび接続される各入出力装置の制御や、入力された指示に従って出力制御などの一連の処理、各種プログラムを実行するCPU、305は、CPU 304を動作させるためのオペレーティングシステムなど種々の基本プログラムを格納するメモリ ROMである。306は、CPU 304が本発明であるプリンタに係る各種印刷属性設定、ドキュメント印刷を実行/動作させる各種処理のための作業領域として用いられるメモリであるRAMである。
307は、ホストコンピュータシステム300に接続され、入力を行なうキーボード、マウスなどの入力装置301のインターフェースを備えるキーボード・コントローラ、308は、ディスプレイ302への表示出力を行なうためのインターフェースを備えるディスプレイ・コントローラ、309は、ディスク303への入出力インターフェースを備えるディスク・コントローラである。
310は、ホストコンピュータシステム300とプリンタ312を接続して、通信を行なうための通信プロトコルを備えたネットワーク回線を介して、入出力を行なうインターフェースである。311は各構成要素を接続するCPUバスである。
プリンタ312の構成を詳細に説明する。
314はプリンタに接続される各種入出力の制御や、入力された指示に従って、印刷制御などの一連の処理、通信制御制御処理などのプログラムを実行するCPU、315は、各入出力の制御、通信制御処理、入力された指示に従って印字制御など一連の処理、制御コマンド解析処理などプリンタを動作させるプログラム、各種データなどが格納されているメモリであるROM、316は、CPU 314が各種プログラムで実行・処理を行なうための作業領域として用いられるメモリであるRAMである。317は、ホストコンピュータシステム300とプリンタ312を接続して、データのやり取りを行なうための通信プロトコルを備えたネットワーク回線を介して、入出力を行なうインターフェースである。318は、ディスク313への入出力インターフェースを備えるディスク・コントローラである。319は、機構的にパターン出力を行なうビデオインターフェースで印刷装置駆動系(エンジン部)321とのデータおよび信号のやり取りを行なう入出力インターフェースを備えるエンジン制御処理部である。320は、各構成要素を接続するCPUバスである。
ホストコンピュータシステム300内のプログラムメモリ RAM 306上にあるSDKライブラリを含むオペレーティングシステム、アプリケーションプログラム、プリンタドライバプログラムおよびプリンタSDKライブラリの各制御処理および動作を詳細に説明する。
まず、アプリケーションプログラムにおける動作について説明する。
ホストコンピュータシステム300内のRAM 306上にあるアプリケーションプログラムは、ドキュメント作成、体裁加工および印刷出力のための各種初期化処理を行なう過程で、オペレーティングシステムを介してプリンタドライバプログラムのロードおよび起動を行なう。
ここで前記アプリケーションプログラムは、SDK APIを使用して、GDIを介して、プリンタデバイスに対して、テキスト/図形/イメージの各オブジェクト描画指示およびドキュメント出力形態を決定する各種属性設定を指定する。
次に、プリンタドライバプログラムにおける動作について説明する。
ホストコンピュータシステム300内のRAM 306上にあるプリンタドライバは、前記アプリケーションプログラムの起動初期化時に、オペレーティングシステム上にロードされ、起動する。
前記アプリケーションプログラムにおけるドキュメント作成、印刷のための各種初期化処理に基づき、SDK APIがコールされることによって、オペレーティングシステムのGDIを介してDDIに変換され、各種DDI関数がコールされることによって、プリンタドライバプログラムでの初期化処理および各種制御処理が開始される。
前記初期化処理において、プリンタSDKライブラリもプリンタドライバプログラム内にロードされる。
以降、ホストコンピュータシステム300およびプリンタ312は、双方向通信プロトコルにて、APIを使用してのデータおよび情報の送受信を相互に行なう。
プリンタドライバプログラム側では、まず前記初期化処理において、プリンタSDK APIを使用して、プリンタ312側に印刷ジョブ制御が開始されたことを通知する。
次にプリンタ312側より、印刷ジョブデータを受ける前に、事前に印刷ジョブ制御情報および各種属性設定情報の要求がプリンタSDK APIによって行なわれる。
プリンタドライバプログラムは、この要求に基づいて、ジョブ全体に関連する制御処理および各グループ単位、章単位、ページ単位に関連する制御処理時に、それぞれこれら制御処理に係る制御情報および各種属性設定情報をプリンタSDK APIを使用して、プリンタ312側に通知する。
続いて、プリンタドライバプログラムは、前記各制御処理の結果に基づいて、ドキュメント出力形態に係る各種属性設定および各オブジェクト描画指示により、印刷制御命令(PDLデータ)を生成し、これらの印刷ジョブデータをオペレーティングシステムのスプーラを介して、プリンタ312に送信する。
プリンタ312における動作について説明する。
プリンタ312内のプログラムメモリROM 315上にある印刷制御プログラムにおける印刷出力制御処理によるドキュメントの出力動作を詳細に説明する。
まず、プリンタ312起動時の初期化処理時に、同じくプログラムメモリROM 315にあるプリンタSDKライブラリをロードする。
ここで、前記プリンタSDKライブラリは、プログラムメモリRAM 316あるいは、ハードディスク313に置いてもよい。
印刷制御プログラムは、プリンタドライバプログラムから通知されたホストコンピュータシステム300側での印刷ジョブ制御開始通知に基づいて、ホストコンピュータシステム300側から、印刷ジョブデータを受信する前に、事前にプリンタSDK APIを使用して、印刷ジョブ制御情報および印刷に係る各種属性設定情報を要求する。
前記要求に基づいて、ホストコンピュータシステム300側から同じくプリンタSDK APIを使用して、通知されるグラフィックス制御情報および印刷に係る各種属性設定情報は、前記各APIに情報として付加されるジョブ識別IDによって識別される。
該当印刷ジョブのグラフィックス制御情報および各種属性設定情報に基づき、印刷前の最適化処理を行ない、処理結果を前記識別されるジョブ毎に、プログラムメモリRAM 316あるいはハードディスク313の記憶装置部に保存する。
ホストコンピュータシステム300内のプログラムメモリRAM 306上にあるプリンタドライバプログラムから送信されるプリンタ312を初期化する制御命令を受信し、ジョブの初期化処理を行なう。
続いて、ホストコンピュータシステムから、プリンタ312に印刷を行なうために送信されてくるプリンタ印刷制御命令の入力を行なう印刷制御命令入力処理、前記入力されたプリンタ印刷制御命令及び各種設定パラメータなどを解析する制御設定パラメータ解析処理、前記印刷制御命令、制御設定パラメータに基づいて、ビットマップを生成し、ビットマップメモリに展開するビットマップ展開処理において一連の処理を施す。
このとき、前記事前に該当印刷ジョブの各種ジョブ制御情報および属性設定情報により、各種最適化された処理をプログラムメモリRAM 316あるいはハードディスク313の記憶装置部から読み込んで、前記一連の処理を行なう。
次にエンジン制御処理部と入出力を行なうビデオインターフェース319を通して、印字出力装置駆動系(エンジン部)321に前記生成されたビットマップ・データを送信して、ドキュメントを出力する322。
ここでホストコンピュータシステム300の通信インターフェース310およびプリンタ312の通信インターフェース317で構築されるTCP/IPなどの通信プロトコルを備えたネットワークに替えて、USB、セントロニクスインタフェース、シリアルインタフェース、SCSIなどの通信プロトコルを備えた各種インターフェースにおいても適用可能である。
[プリンタおよびプリンタ内の各制御部を表わす構成の説明(図4)]
図4は、本発明のプリンタ内の各制御構成を表わす図である。
図4は、本発明のプリンタ内の各制御構成を表わす図である。
プリンタ400において、401はPDLコントローラ部で、ホストコンピュータとの接続手段であるインターフェース(I/F)部402、受信データなどを一時的に保持管理するための受信バッファ410、送信データなどを一時的に保持管理するための送信バッファ411、受信データのデータ種別を一時的に解析するデータ解析部412、受信データを解析した結果、PDLデータであった場合に、PDLの解析を行なうPDL解析部413、描画処理実行部414、印刷制御処理実行部415およびページメモリ416から構成される。
また、プリンタ400のオペレーションパネル420は、プリンタ400の各種状態表示および各種設定を行なうためのものである。出力制御部417は、ページメモリ416の内容をビデオ信号に処理変換する。
プリンタエンジン部418は、出力制御部417から受け取ったビデオ信号を用紙に画像形成および排出する印刷機構部である。
インターフェース(I/F)部402は、ホストコンピュータとの印刷ジョブデータの送受信の他に、本発明のプリンタSDK APIによる各種データおよび情報の送受信を行なう双方向通信手段である。通信プロトコルとして、ネットワーク接続を構築するTCP/IP、SMBプロトコル、セントロニクス、USB、Ir、iLINKなどのローカル接続を構築するIEEE−1248/1394に準拠した通信を可能とする。
インターフェース(I/F)部402を通して受信した各種データおよび情報は、これらのデータおよび情報を一時的に保持する記憶手段である受信バッファ410に逐次蓄積され、必要に応じて所定のバイト数がデータ解析部412によって、読み出され処理される。
データ解析部412では、受信データが印刷制御命令となるPDLデータを含む、各種属性設定情報および文字コード、イメージなどの描画データと、プリンタSDK APIとを判別・分離し、データの処理先を振り分けるデータ振り分け手段として機能する。
データ解析部412が受信したデータが、PDLデータを含む各種属性設定情報と判別した場合には、PDL解析部413を経て、印刷制御処理実行部415に、PDLデータを含む描画データと判別した場合には、PDL解析部413を経て、描画処理実行部414に振り分けられ、各処理を実行する。
プリンタSDK APIと判別された場合には、印刷制御処理実行部415に振り分けられ、以降の処理を実行する。
なお、これらの振り分け処理は、ジョブ単位、グループ単位、章単位あるいはページ単位として処理することが可能である。
PDL解析部413は、データ解析部412から転送されるPCL、LIPSなどのPDLコマンドデータおよびPJLなどの印刷ジョブ制御言語に準じたコマンドデータとして解析される。解析された結果に基づいて、文字/図形/イメージなどの描画に係るコマンドデータは、中間データとして、例えば、ディスプレイリストとして描画処理実行部414に送って処理する。描画処理実行部414では、文字/図形/イメージの各オブジェクトをビットイメージに変換し、ページメモリ416に逐次展開処理を行ない、出力制御部417に画像転送を行なう。
また、描画以外の各種グラフィックス制御および属性を決定するフォント、モノクロ/カラー印刷、解像度、イメージ/ベクタグラフィックスなどのグラフィックス描画方法、画像レンダリング方法、画像圧縮方法などのコマンドデータは、印刷制御処理実行部415に送り、各処理を行なう。
一方、データ解析部412からプリンタSDK APIとして送られた印刷制御処理実行部415においては、コールされるプリンタSDK APIの種類に応じて、各処理を行なう。
印刷制御処理実行部415は、ホストコンピュータからのプリンタSDK APIによる印刷ジョブ制御開始通知を受け、プリンタSDK APIによるグラフィックス制御情報要求する関数をコールし、送信バッファ411およびインターフェース(I/F)部402を介して、ホストコンピュータ側に送信する。さらに前記要求に基づき、事前にホストコンピュータ側からプリンタSDK APIによるグラフィックス制御情報および各種属性設定情報の通知を受ける。後に受信する該当ドキュメントの印刷ジョブデータに備え、事前に前記各種グラフィックス制御および属性を決定する各属性に係る最適化処理を行ない、処理結果を各ジョブ毎に保存する。続いて、印刷ジョブデータを受信するとともに、該当ジョブの最適化処理結果を読み出し、印刷制御処理を実行して、出力制御部417に送る。
以上の各処理を実行し、出力制御部417よりプリンタエンジン部418に画像転送を行なうことによって、目的のドキュメント印刷出力を行なう。
なお、本発明において、PDLコントローラ401内のデータ解析部412、PDL解析部413、描画処理実行部414および印刷制御処理実行部415における各処理実行プログラムを印刷制御プログラム106、プリンタ400内の出力制御部417の処理を実行するプログラムをエンジン制御プログラム107として定義している。
[アプリケーションプログラムインターフェース(API)の関数例の説明(図5〜図6)]
図5および図6は、本発明のアプリケーションプログラムインタフェース(API)関数の一例を示したものである。プリンタSDK APIである印刷ジョブ制御開始を通知するPD_FuncJobStart( ) 関数、グラフィックス制御情報を要求するPP_FuncGetGraphicsInfo( )関数、グラフィックス制御情報を通知するPD_FuncSendGraphicsInfo( )関数および印刷ジョブを識別するためのPD_FuncSendJob( )関数である。
図5および図6は、本発明のアプリケーションプログラムインタフェース(API)関数の一例を示したものである。プリンタSDK APIである印刷ジョブ制御開始を通知するPD_FuncJobStart( ) 関数、グラフィックス制御情報を要求するPP_FuncGetGraphicsInfo( )関数、グラフィックス制御情報を通知するPD_FuncSendGraphicsInfo( )関数および印刷ジョブを識別するためのPD_FuncSendJob( )関数である。
501は、図1のプリンタドライバプログラム102において、アプリケーションプログラム103のドキュメント印刷指示に基づいて、印刷ジョブ制御処理が開始されるタイミングで、プリンタ104に印刷ジョブ制御処理が開始されたことを通知するプリンタSDK APIであるPD_FuncJobStart( )関数である。
例えば、本関数例では、関数パラメータとして、本関数の実行作業領域としてのメモリ領域のアドレスであるhHandle、プリンタSDK APIにおける機能識別を表わすItemID、ジョブを識別するためのジョブ識別IDを指定するlpJobID、バッファアドレス指すpItemを定義して構成している。
例えば、本関数例では、関数パラメータとして、本関数の実行作業領域としてのメモリ領域のアドレスであるhHandle、プリンタSDK APIにおける機能識別を表わすItemID、ジョブを識別するためのジョブ識別IDを指定するlpJobID、バッファアドレス指すpItemを定義して構成している。
前記ジョブ識別IDを指定するlpJobIDパラメータは、印刷ジョブ制御処理開始通知、印刷ジョブ制御情報要求、印刷ジョブ制御情報通知および印刷ジョブデータ送受信の一連の過程において、複数ジョブ印刷時の別印刷ジョブの情報およびデータの混在を防ぐために、1つのジョブに対して1つのIDを指定することによって、動作させる。
本関数をコールされたプリンタ104内の印刷制御プログラム106は、正しく受け付けられたことを本関数のリターン値として、正常値(TRUE)を返すことで完了する。
502は、図1のプリンタ104内の印刷制御プログラム106において、プリンタドライバプログラム102からの印刷ジョブ制御処理開始通知に基づいて、グラフィックス制御情報を要求するプリンタSDK APIであるPP_FuncGetGraphicsInfo( )関数である。
プリンタドライバプログラム102から前記PD_FuncJobStart( )関数501のコールに基づき、プリンタ104内の印刷制御プログラム106は、該当する印刷ジョブの事前最適化制御処理を行なうための記憶装置部の初期化、グラフィックス制御情報および各種属性設定情報の受付などの準備を行ない、PP_FuncGetGraphicsInfo( )関数502をコールする。
例えば、本関数例では、関数パラメータとして、本関数の実行作業領域としてのメモリ領域のアドレスであるhHandle、プリンタSDK APIにおける機能識別を表わすItemID、ジョブを識別するためのジョブ識別IDを指定するlpJobID、バッファアドレス指すpItemを定義して構成している。
本関数をコールされたプリンタドライバプログラム102は、正しく受け付けられたことを本関数のリターン値として、正常値(TRUE)を返すことで完了する。
503は、図1のプリンタドライバプログラム102において、ドキュメント印刷に係る各種グラフィックス制御および属性を決定するグラフィックス制御情報および各種属性設定情報を、プリンタ104内の印刷制御プログラム106に通知するプリンタSDK APIであるPD_FuncSendGraphicsInfo( )関数である。
ここで、各種グラフィックス制御および属性を決定するグラフィックス制御情報および各種属性設定情報とは、ジョブ全体/グループ単位/章単位/ページ単位で設定されるフォント、モノクロ/カラー印刷、解像度、イメージ/ベクタグラフィックスなどのグラフィックス描画方法、画像レンダリング方法、画像圧縮方法などの各種グラフィックス制御および属性設定情報である。
例えば、本関数例では、関数パラメータとして、本関数の実行作業領域としてのメモリ領域のアドレスであるhHandle、プリンタSDK APIにおける機能識別を表わすItemID、ジョブを識別するためのジョブ識別IDを指定するlpJobID、ジョブ全体に関連する各種グラフィックス制御情報および属性設定情報を格納するバッファアドレス指すpGraphicsInfoを定義して構成する。
本関数のパラメータpGraphicsInfoは、プリンタドライバプログラム102で一時確保したメモリバッファのポインタを指すパラメータとしてGRAPHICSINFOで型定義されるプログラム構造体にジョブ全体/グループ単位/章単位/ページ単位で関連する各種グラフィックス制御情報および属性設定情報を代入して、本関数をコールして、前記情報をプリンタ104に送信することで前記印刷制御プログラム106に通知する。
本関数をコールされたプリンタ104内の印刷制御プログラム106は、正しく受け付けられたことを本関数のリターン値として、正常値(TRUE)を返すことで完了する。
601は、図1のプリンタドライバプログラム102において、印刷ジョブデータとして、印刷制御命令であるPDLデータおよび描画データをプリンタ104に送信する直前に、該当ドキュメントの印刷ジョブであることを識別するために、前記グラフィックス制御情報通知までの一連の処理のジョブ識別と同一ジョブデータであることを、プリンタ104内の印刷制御プログラム106に通知するプリンタSDK APIであるPD_FuncSendJob( )関数である。
本関数のコールとともに、印刷ジョブデータをプリンタ104に送信することによって、プリンタ104側では、複数のクライアントあるいはプリントサーバから、本発明の印刷システムにおいて、複数の印刷ジョブを受信しても、内部的にジョブの識別が可能となる。
本関数をコールされたプリンタ104内の印刷制御プログラム106は、正しく受け付けられたことを本関数のリターン値として、正常値(TRUE)を返すことで完了する。
なお、プリンタSDK APIライブラリは、通常、本発明の機能関数のみに限らず、これらの他に種々な機能を有する関数も用意され、関数群を構成するものである。
[プリンタドライバプログラムおよびプリンタ間のAPIコーリングシーケンス例の説明(図7)]
図7は、本発明に係るホストコンピュータ100上のオペレーティングシステム101、プリンタドライバプログラム102およびプリンタ104上のリアルタイムオペレーティングシステム105、印刷制御プログラム106における、各印刷制御処理時のDDIに対応するプリンタSDK APIのコーリングシーケンス図である。
図7は、本発明に係るホストコンピュータ100上のオペレーティングシステム101、プリンタドライバプログラム102およびプリンタ104上のリアルタイムオペレーティングシステム105、印刷制御プログラム106における、各印刷制御処理時のDDIに対応するプリンタSDK APIのコーリングシーケンス図である。
700は、オペレーティングシステム101が備えるスプーラ、通信モジュールおよびオペレーティングシステムが制御する通信モジュールで、ホストコンピュータ100およびプリンタ104間で、情報およびデータの送受信は、これを介して行なわれる。
まず、プリンタドライバ701は、アプリケーションプログラムからプリンタに対するデバイスコンテキストを作成することにより、GDIからプリンタドライバ701を初期化するDDI関数であるDrvEnablePDEV( )関数703がコールされる。プリンタドライバ701は、本関数の処理でメモリ確保・初期化、デフォルトデータの読み込み、各種属性パラメータに初期化を行なう。このとき同時にプリンタドライバ701は、プリンタSDKライブラリをロードする。
次にプリンタドライバ701は、アプリケーションプログラムからのドキュメント印刷指示に基づき、GDIよりプリンタドライバ701に印刷ジョブ開始処理を指示するDDI関数であるDrvStartDoc( )関数704がコールされる。プリンタドライバ701は、本関数の処理で印刷ジョブ制御を開始する。
同時にプリンタドライバ701は、印刷ジョブ制御処理が開始されたことをプリンタSDK APIであるPD_FuncJobStart( )関数705をコールして、プリンタ702に通知する。プリンタ702は、本関数コールに対して、正しく受け付けられたことを本関数のリターン値として、正常値(TRUE)を返す。
プリンタ702は、前記印刷ジョブ制御処理開始通知に基づき、グラフィックス制御情報をプリンタSDK APIであるPP_FuncGetGraphicsInfo( )関数706をコールして、プリンタドライバ701に要求する。プリンタドライバ701は、本関数コールに対して、正しく受け付けられたことを本関数のリターン値として、正常値(TRUE)を返す。
プリンタドライバ701は、前記印刷ジョブ制御情報要求に基づき、印刷ジョブ制御処理開始時に決定するジョブ全体に関連する各種グラフィックス制御および属性を決定するためのグラフィックス制御情報および各種属性設定情報をプリンタSDK APIであるPD_FuncSendGraphicsInfo( )関数707をコールして、プリンタ702に通知する。プリンタ702は、本関数コールに対して、正しく受け付けられたことを本関数のリターン値として、正常値(TRUE)を返す。
前記ジョブ全体に関連する各種グラフィックス制御情報および属性設定情報を受理したプリンタ702は、プリンタドライバ701において、各種グラフィックス制御処理を行なって、印刷ジョブデータとなるPDLデータを生成して、プリンタ702に送信してくるまでに、ジョブ全体に関連する各種最適化処理を行なって、以降の処理に備え、該当ジョブと識別して保存しておく。
続いて、プリンタドライバ701は、生成したジョブ全体に関連する印刷ジョブデータとなるPDLデータの送信を開始する前に、前記プリンタ702に通知した各種グラフィックス制御情報および属性設定情報と、該当する印刷ジョブデータとの対応をとるためのジョブ識別をプリンタSDK APIであるPD_FuncJobSend( )関数708をコールして、プリンタ702に通知する。
709は、プリンタドライバ701で生成したジョブ全体に関連する印刷ジョブデータとなるPDLデータのプリンタ702への送信である。
プリンタ702は、前記ジョブ全体に関連する最適化処理を読み出して、受信した印刷ジョブデータの各制御に適応させて処理を行なう。
710は、アプリケーションプログラムからページ単位の出力指示に基づき、GDIよりプリンタドライバ701にページ出力開始処理を指示するDDI関数であるDrvStartPage( )関数710がコールされる。
プリンタドライバ701は、前記グラフィックス制御情報要求に基づき、ページ出力処理開始時に決定するページ単位あるいは該当ページが含まれるグループ単位、章単位に関連する各種グラフィックス制御および属性を決定するためのグラフィックス制御情報および各種属性設定情報をプリンタSDK APIであるPD_FuncSendGraphicsInfo( )関数711をコールして、プリンタ702に通知する。
プリンタ702は、本関数コールに対して、正しく受け付けられたことを本関数のリターン値として、正常値(TRUE)を返す。
前記ページ単位/グループ単位/章単位に関連する各種グラフィックス制御情報および属性設定情報を受理したプリンタ702は、プリンタドライバ701において、各種制御処理を行なって、印刷ジョブデータとなるPDLデータを生成して、プリンタ702に送信して来るまでに、ページ単位/グループ単位/章単位に関連する各種最適化処理を行なって、以降の処理に備え、該当ジョブと識別して保存しておく。
712は、プリンタドライバ701で生成したページ/グループ/章単位に関連する印刷ジョブデータとなるPDLデータのプリンタ702への送信である。
プリンタ702は、前記ページ単位/グループ単位/章単位に関連する最適化処理を読み出して、受信した印刷ジョブデータの各制御に適応させて処理を行なう。
オペレーティングシステムにおけるドキュメント印刷の動作として、ジョブ中のページ単位/グループ単位/章単位で出力属性が異なる場合は、異なる度にDrvStartPage( )関数710がコールされるため、前記処理を繰り返すことになる。
プリンタドライバ701は、アプリケーションプログラムよりページに対する属性設定および各オブジェクト描画処理が終了することをGDIに指示することによって、GDIよりプリンタドライバ701に、ページ終了処理を指示するDDI関数であるDrvEndPage( )関数713がコールされる。
さらにアプリケーションプログラムにより、すべてのドキュメントページの属性設定および各オブジェクト描画処理を終了し、ドキュメント印刷終了をGDIに指示することによって、GDIよりプリンタドライバ701に、ジョブ終了処理を指示するDDI関数であるDrvEndDoc( )関数713がコールされる。
プリンタドライバ701は、本関数の処理において、各種パラメータのリセットおよび各種メモリ領域の開放を行なうとともに、プリンタ702の印刷ジョブ制御処理を完了させるためのジョブ終了に関するPDLデータ715を生成し、プリンタ715に送信する。
最後に、プリンタドライバ701は、アプリケーションプログラムにおけるすべての印刷処理を完了するために、プリンタに対するデバイスコンテキストの削除を指示するDDI関数であるDrvDisablePDEV( )関数716がコールされ、ドキュメント印刷のセッションを終了する。
[本実施形態のプリンタドライバプログラムにおける印刷ジョブ制御開始通知処理の説明(図8)]
図8に示すフローチャートによって、本実施形態におけるホストコンピュータのプログラムメモリ上にあるプリンタドライバプログラムの各制御処理を詳細に説明する。
図8に示すフローチャートによって、本実施形態におけるホストコンピュータのプログラムメモリ上にあるプリンタドライバプログラムの各制御処理を詳細に説明する。
図8は本実施形態に係るホストコンピュータ100におけるプリンタドライバプログラム102での印刷制御処理開始からプリンタSDK APIを使用して、印刷ジョブ制御処理開始をプリンタ104の印刷制御プログラム106に通知するまでの一連の制御処理を示すフローチャートである。
ステップS801は、アプリケーションプログラムからのドキュメント印刷指示で、GDIに対して、プリンタに対するデバイスコンテキスト作成指示およびドキュメント印刷開始指示によって行なわれる。このときにプリンタドライバプログラムもオペレーティングシステム上でロードされ、起動する。
ステップS802は、GDIからのDDI関数コールにより、各種メモリ領域確保、各種パラメータ初期化などによって、プリンタドライバプログラムの初期化処理を行なう。
また同時にステップS803において、プリンタSDK APIライブラリもロードする。
続いて、ステップS804において、ドキュメント印刷に係る各種印刷制御処理を開始する。
このとき、ステップ805で、プリンタに対してプリンタSDK APIであるPD_FuncJobStart( )関数をコールして、印刷ジョブ制御処理が開始されたことを通知する。
ステップS806は、プリンタ側からのPD_FuncJobStart( )関数に対するリターンで、ステップS807でこのリターン値が正常リターンであるか、ないかを判定する。
正常リターンである場合は、ステップS808で処理を続行するためにプログラムフラグに続行する意味のフラグをセットし、以降の処理に備える。
一方、正常リターンではなかった場合には、ここで処理を中止する(ステップS809)。
[本実施形態のプリンタにおけるグラフィックス制御情報要求処理の説明(図9)]
図9に示すフローチャートによって、本実施形態におけるプリンタのプログラムメモリ上にある印刷制御プログラムの各制御処理を詳細に説明する。
図9に示すフローチャートによって、本実施形態におけるプリンタのプログラムメモリ上にある印刷制御プログラムの各制御処理を詳細に説明する。
図9は本実施形態に係るプリンタ104における印刷制御プログラム106での各制御処理開始からプリンタSDK APIを使用して、グラフィックス制御情報をホストコンピュータ100のプリンタドライバプログラム102に要求するまでの一連の制御処理を示すフローチャートである。
ステップS901は、プリンタの初期化処理で、プリンタ電源投入時あるいはプリンタリセット時に、印刷制御プログラムにおいて、各種制御処理を実行するためのプログラムメモリ領域確保、各種パラメータの初期化を行なう。
また同時にステップS902において、プリンタSDK APIライブラリもロードする。
ステップS903において、ホストコンピュータ側からのプリンタSDK APIであるPD_FuncJobStart( )関数コールに対して、印刷ジョブ制御処理開始通知受理と本関数に対する正常リターンを返す。
続いて、ステップS904で、ホストコンピュータのプリンタドライバプログラムに対してプリンタSDK APIであるPD_FuncGetGraphicsInfo( )関数をコールして、グラフィックス制御情報の要求を行なう。
ステップS905は、前記PD_FuncGetGraphicsInfo( )関数のホストコンピュータ側からのリターンで、ステップS906でこのリターン値が正常リターンであるか、ないかを判定する。
正常リターンである場合は、ステップS908で処理を続行するためにプログラムフラグに続行する意味のフラグをセットし、以降の処理に備える。
さらにホストコンピュータ側からのグラフィックス制御情報要求に基づく、グラフィックス制御情報および各種属性設定情報通知に備えて、ステップS909でこれらの情報を格納する記憶装置上の領域確保および初期化を行なう。
一方、正常リターンではなかった場合には、ここで処理を中止する(ステップS907)。
[本実施形態のプリンタドライバプログラムのグラフィックス制御情報通知処理の説明(図10)]
図10に示すフローチャートによって、本実施形態におけるホストコンピュータのプログラムメモリ上にあるプリンタドライバプログラムの以降の各制御処理を詳細に説明する。
図10に示すフローチャートによって、本実施形態におけるホストコンピュータのプログラムメモリ上にあるプリンタドライバプログラムの以降の各制御処理を詳細に説明する。
図10は本実施形態に係るプリンタドライバプログラム102における、プリンタ104の印刷制御プログラム106からのグラフィックス制御情報要求を受けてから、プリンタSDK APIを使用して、グラフィックス制御情報をプリンタ104の印刷制御プログラム106に通知するまでの一連の制御処理を示すフローチャートである。
ステップS1001は、プリンタ側からのプリンタSDK APIであるPD_FuncGetGraphicsInfo( )関数コールに対して、グラフィックス制御情報要求受理と本関数に対する正常リターンを返す。
次にステップS1002で前記プリンタ側からのグラフィックス制御情報要求に基づいて、ジョブ全体に関連する各種グラフィックス制御および属性を決定するためのグラフィックス制御情報および各種属性設定情報をプリンタSDK APIであるPD_FuncSendJobInfo( )関数をコールして、プリンタに通知する。
ステップS1003で、プリンタ側からのPD_ FuncSendGraphicsInfo ( )関数に対するリターン値が正常リターンであるか、ないかを判定する。
正常リターンではなかった場合には、ここで処理を中止する(ステップS1009)。
一方、正常リターンである場合は、ステップS1004で処理を続行するためにプログラムフラグに続行する意味のフラグをセットし、以降の処理に備える。
続いてステップS1005において、ページ単位あるいは該当ページが含まれるグループ、章単位に関連するページ出力制御処理を開始する。
前記ページ出力処理開始時に決定するページ単位あるいは該当ページが含まれるグループ単位、章単位に関連する各種グラフィックス制御および属性を決定するためのグラフィックス制御情報および各種属性設定情報を前記同様にPD_FuncSendGraphicsInfo( )関数をコールして、プリンタに通知する。
ステップS1007で、プリンタ側からのPD_ FuncSendGraphicsInfo ( )関数に対するリターン値が正常リターンであるか、ないかを判定する。
正常リターンである場合は、ステップS1008で処理を続行するためにプログラムフラグに続行する意味のフラグをセットし、以降の処理に備える。
一方、正常リターンではなかった場合には、ここで処理を中止する(ステップS1009)。
[プリンタドライバプログラムにおける印刷制御処理の説明(図11)]
図11は、本実施形態のホストコンピュータ100のプログラムメモリ上にあるプリンタドライバプログラムにおける印刷制御処理の詳細を示すフローチャートである。
図11は、本実施形態のホストコンピュータ100のプログラムメモリ上にあるプリンタドライバプログラムにおける印刷制御処理の詳細を示すフローチャートである。
プリンタドライバは、ドキュメント作成、編集、印刷アプリケーションプログラムからのプリンタへの印刷指示によって、起動されステップS1101〜S1112を実行する。
まず、ステップS1101は、各種印刷属性設定パラメータおよびアプリケーションから印刷指示されたドキュメントを構成する文字/図形/イメージデータの入力である。
これらの入力はアプリケーションプログラムにおいて、SDK APIを使用してGDIで作成されるプリンタに対して行なわれ、GDIがDDIに変換し、プリンタドライバプログラムにDDI関数がコールされることによって行なわれる。
ステップS1102で、これら入力されたパラメータおよびデータを解析する。
ステップS1103では、前記入力データの解析結果より、用紙サイズ、印刷方向、描画解像度設定、座標系の単位設定など印刷の準備をするため、プリンタに対する各設定パラメータをプリンタ制御命令に変換・生成し、送信してプリンタの初期化処理を行なう。
さらに、ステップS1104およびステップS1106で、前記解析処理されたパラメータ及びデータを、文字データ、図形データ及びイメージデータに分離する。
前記ステップS1104およびステップS1106で分離された文字データ、図形データおよびイメージデータは、それぞれステップS1105、ステップS1107およびステップS1108の文字印字制御処理部(モジュール)、図形描画制御処理部(モジュール)およびイメージ描画制御処理部(モジュール)で処理を施す。
前記ステップS1105、ステップS1107およびステップS1108の文字印字、図形描画およびイメージ描画制御処理に基づき、ステップS1109のドキュメント構成制御処理(モジュール)において、描画出力属性、サイズ計算、描画出力位置などパターンの出力形態を決定し、プリンタの出力ページに配置する。
前記ステップS1109で構成されたドキュメント出力の制御データは、ステップS1110の印刷制御命令生成処理(モジュール)において、プリンタにドキュメントを出力するためにプリンタの印刷制御命令に変換・生成する。
ステップS1111のプリンタへの出力送信処理(モジュール)においては、プリンタ1012に対して、ステップS1110で生成された印刷制御命令を送信し、プリンタからドキュメントを印刷するS1112。
[プリンタにおける印刷制御処理の説明(図12)]
図12は、本実施形態のプリンタ104のプログラムメモリ上にある印刷制御プログラム106における各制御処理の詳細を示すフローチャートである。
図12は、本実施形態のプリンタ104のプログラムメモリ上にある印刷制御プログラム106における各制御処理の詳細を示すフローチャートである。
ステップS1201は、ホストコンピュータ100のプログラムメモリ上にあるプリンタドライバプログラム102より、プリンタSDK API関数およびデータによって、ドキュメント全体の出力形態を決定するジョブ全体に関連するグラフィックス制御情報および各種属性設定情報を受理する。
前記ジョブ全体に関連するグラフィックス制御情報および各種属性設定情報とは、ジョブ全体で設定されるフォント、モノクロ/カラー印刷、解像度、イメージ/ベクタグラフィックスなどのグラフィックス描画方法、画像レンダリング方法、画像圧縮方法などの各種グラフィックス制御情報および属性設定情報である。
ステップS1202において、前記グラフィックス制御情報および各種属性設定情報から、事前にグラフィックス制御に係るページ展開メモリの確保、画像レイアウト、圧縮画像の伸長モジュールおよび画像レンダリングモジュールの呼び出し、画像展開および圧縮画像の伸長のための作業領域の確保など、ジョブ全体に関連する各制御および各種属性設定を行なって以降の処理に備えるべく、最適化処理を行なう。
ステップS1203において、前記ジョブ全体に関連する事前最適化処理の結果を識別されたジョブ単位に、メモリ、ハードディスクなどの記憶装置部に格納して、該当ジョブ印刷が終了するまで保存する。
続いて、ステップS1204において、前記同様にホストコンピュータ100のプログラムメモリ上にあるプリンタドライバプログラム102より、プリンタSDK API関数およびデータによって、各種グラフィックス制御および属性を決定するページ単位/グループ単位/章単位で関連するグラフィックス制御情報および各種属性設定情報を受理する。
前記ページ単位/グループ単位/章単位で関連するグラフィックス制御情報および各種属性設定情報とは、フォント、モノクロ/カラー印刷、解像度、イメージ/ベクタグラフィックスなどのグラフィックス描画方法、画像レンダリング方法、画像圧縮方法などの各種グラフィックス制御および属性設定情報である。
ステップS1205において、前記グラフィックス制御情報および各種属性設定情報から、事前にページ単位/グループ単位/章単位の制御に係る作業領域としてのメモリ、ハードディスクなどの記憶装置上の領域確保、出力に係る各制御処理の優先順位の設定、ページ展開メモリの確保、画像レイアウト、圧縮画像の伸長モジュールおよび画像レンダリングモジュールの呼び出し、画像展開および圧縮画像の伸長のための作業領域の確保などの制御処理を行なって以降の処理に備えるべく、最適化処理を行なう。
ステップS1206において、前記ページ単位/グループ単位/章単位に関連する事前最適化処理の結果を識別されたジョブ単位に、メモリ、ハードディスクなどの記憶装置部に格納して、該当ジョブ印刷が終了するまで保存する。
次にステップS1207で、ホストコンピュータ100のプログラムメモリ上にあるプリンタドライバプログラム102から、PDLデータおよび文字コード、イメージなどの描画データから成る該当ドキュメントの印刷ジョブデータを受信する。
ステップS1208において、前記ステップS1203およびステップS1206で保存されているジョブ/グループ/章/ページにわたる各最適化処理を読み出す。
ステップS1209において、前記ステップS1208の印刷ジョブデータと、前記読み出した各最適化処理をあわせて、各印刷制御処理を行なう。
ステップS1210で、前記印刷制御処理において変換・生成された画像をプリンタエンジン制御部を介して、プリンタエンジンに転送して、ドキュメント出力(ステップS1211)する構成となる。
したがって、本実施形態によれば、ホストコンピュータ上のプリンタドライバプログラムとプリンタ内の印刷制御プログラムにおいて、各オペレーティングシステムで認識可能で、相互に各種情報およびデータの送受信が可能なプリンタSDK APIとなる関数を用意して、ドキュメント印刷に係る各種グラフィックス制御および各種属性設定を事前にプリンタ側に通知し、各種最適化処理を行ない、実際の印刷時の各種印刷制御を可能とすることによって、複雑な出力形態が設定されるドキュメント印刷速度の向上を図る印刷システムの提供することが可能となる。
(実施の形態2)
第2の実施形態は、第1の実施形態において、ホストコンピュータ100上のプリンタドライバプログラム102およびプリンタ104内の印刷制御プログラム106間で、プリンタSDK APIライブラリで提供される関数で行なっていた各種情報およびデータの送受信を、アプリケーションプログラム103において、前記プリンタSDK APIライブラリをロードし、前記関数でプリンタ104内の印刷制御プログラム106間の各種情報およびデータの送受信を行なうことによっても適用できる。
第2の実施形態は、第1の実施形態において、ホストコンピュータ100上のプリンタドライバプログラム102およびプリンタ104内の印刷制御プログラム106間で、プリンタSDK APIライブラリで提供される関数で行なっていた各種情報およびデータの送受信を、アプリケーションプログラム103において、前記プリンタSDK APIライブラリをロードし、前記関数でプリンタ104内の印刷制御プログラム106間の各種情報およびデータの送受信を行なうことによっても適用できる。
本実施形態によれば、アプリケーションプログラムとプリンタ間で、直接、事前の印刷制御情報および各種属性設定情報を通知することが可能となる。また、前記アプリケーションプログラムおよびプリンタの組み合わせにおいて、オペレーティングシステムの印刷方式であるアプリケーションプログラムから、直接プリンタにPDLデータを送信することができるPASSTHROUGH機能においても、ドキュメント印刷に係る印刷速度の向上を図る印刷システムを提供することが可能である。
(実施の形態3)
第3の実施形態は、第1の実施形態において、ホストコンピュータ100およびプリンタ104のプログラムメモリ上に備えていたプリンタSDK APIライブラリを外部ファイル形式で提供し、アプリケーションプログラム、プリンタドライバプログラムおよびプリンタに、任意に必要に応じて本発明の印刷システムの運用を行なうことも可能である。
第3の実施形態は、第1の実施形態において、ホストコンピュータ100およびプリンタ104のプログラムメモリ上に備えていたプリンタSDK APIライブラリを外部ファイル形式で提供し、アプリケーションプログラム、プリンタドライバプログラムおよびプリンタに、任意に必要に応じて本発明の印刷システムの運用を行なうことも可能である。
本実施形態によれば、例えば、セキュアドプリントなどのセキュリティで保護されるドキュメントの印刷に関して、プリンタ内に該当ドキュメントの各種印刷制御情報および属性設定情報を保存できない場合の印刷システム、別の例としては、プリンタ内の記憶装置部にドキュメントデータを蓄積して、後で印刷する場合などの印刷システムにも適用できるように、柔軟なシステム構築、運用を実現することが可能となる。
(実施の形態4)
第4の実施形態は、第3の実施形態において、外部ファイルとして提供するプリンタSDK APIライブラリについて、プリンタに存在しない場合あるいは更新する必要がある場合は、自動的にホストコンピュータ上のプリンタドライバプログラムからダウンロードして、プリンタに適用することによっても、本発明の印刷システムの目的を達成することが可能である。
第4の実施形態は、第3の実施形態において、外部ファイルとして提供するプリンタSDK APIライブラリについて、プリンタに存在しない場合あるいは更新する必要がある場合は、自動的にホストコンピュータ上のプリンタドライバプログラムからダウンロードして、プリンタに適用することによっても、本発明の印刷システムの目的を達成することが可能である。
本実施形態によれば、プリンタSDK APIライブラリで提供される関数の変更、追加に際して、容易にプリンタ内のプリンタSDK APIライブラリの新規登録、更新が可能となり、プログラム保守性の優れた、効率の良い印刷システムを提供することが可能となる。
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUやMPU)が記録媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光磁気ディスク、光ディスク、CD−ROM、CD−R、磁気テープ不揮発性のメモリカード、ROMなどを用いることができる。
また、コンピュータが読み出したプログラムコードを実行することによって、前述した実施形態の機能が実現される他、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOSなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
また、コンピュータが読み出したプログラムコードを実行することによって、前述した実施形態の機能が実現される他、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOSなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体からそのプログラムをパソコン通信など通信ラインを介して要求者にそのプログラムを配信する場合にも適用できることは言うまでもない。
100 ホストコンピュータシステム
101 オペレーティングシステム
102 プリンタドライバプログラム
103 アプリケーションプログラム
104 プリンタ
105 オペレーティングシステム
106 印刷制御プログラム
107 プリンタエンジン制御プログラム
108 印刷出力
101 オペレーティングシステム
102 プリンタドライバプログラム
103 アプリケーションプログラム
104 プリンタ
105 オペレーティングシステム
106 印刷制御プログラム
107 プリンタエンジン制御プログラム
108 印刷出力
Claims (14)
- ホストコンピュータシステム上のオペレーティングシステム、アプリケーションプログラム、プリンタドライバプログラムおよび印刷装置から構成される印刷システムにおいて、
前記ホストコンピュータシステム上のオペレーティングシステム、アプリケーションプログラムおよびプリンタドライバプログラムから、文書印刷に係る印刷ジョブ制御処理開始時に、前記印刷装置にジョブ制御開始を通知する手段と、
前記該当印刷ジョブを識別するためのIDを前記ジョブ制御開始通知に付加する手段を備え、
一方、前記印刷装置内の印刷を制御する各種プログラムにおいて、前記該当文書印刷ジョブの各種制御処理を開始する前に、前記ジョブ識別IDと一致する該当ジョブの文書印刷に係る文書全体、文書中の章、グループ単位、あるいは各ページ毎の印刷のための各種グラフィックス制御情報および各種属性設定情報を該当ジョブ識別IDを付加し、要求通知する手段を備え、
前記印刷装置からの要求に基づき、ホストコンピュータ側のアプリケーションプログラムおよびプリンタドライバプログラムにおいて、前記ジョブ識別IDに一致する該当ジョブの印刷ジョブ制御処理中に決定される文書全体、文書中の章、グループ単位、あるいは各ページ毎の印刷のための前記各種グラフィックス制御情報および各種属性設定情報に該当ジョブ識別IDを付加し、通知する手段を備えたことを特徴とする印刷システム。 - 前記ホストコンピュータシステム上のオペレーティングシステム、アプリケーションプログラム、プリンタドライバプログラムおよび印刷装置間は、各種情報およびデータの送受信を行なう双方向通信手段を備え、
前記双方向通信により、文書印刷に係る各種グラフィックス制御情報および各種属性設定情報を送受信する手段として、前記アプリケーションプログラム、プリンタドライバプログラムおよび印刷装置内のプログラムメモリ上にある各種印刷制御プログラムに、各種情報およびデータの送受信を行なう共通のプログラミング可能なアプリケーションプログラミングインターフェース(API)を備えたことを特徴とする請求項1に記載の印刷システム。 - 前記アプリケーションプログラミングインターフェース(API)は、アプリケーションプログラム、プリンタドライバプログラムおよび印刷装置において、相互に各種情報および各種データの通知手段として、任意にプログラミング可能な個々の機能毎に関数あるいはデータ形式のインターフェースを備え、
前記アプリケーションプログラムおよびプリンタドライバプログラムを実行・動作するホストコンピュータのオペレーティングシステム上で認識・実行を可能とし、
さらに前記印刷装置を制御する印刷装置内のプログラムメモリ上にある各種プログラムを実行・動作する印刷装置のコンピュータ制御部のオペレーティングシステム上で認識・実行を可能としたことを特徴とする請求項1に記載の印刷システム。 - 前記アプリケーションプログラムインタフェース(API)は、前記各アプリケーションプログラム、プリンタドライバプログラムおよび印刷装置内の各種プログラムから読み込み可能とするプログラムライブラリ形式として提供し、
前記ホストコンピュータ上のアプリケーションプログラムおよびプリンタドライバプログラムおよび印刷装置内の各種印刷制御プログラム双方において、スタティックリンクライブラリとして、あらかじめ各プログラムに内蔵される、あるいはダイナミックリンクライブラリとして、プログラムメモリ上に外部ライブラリファイルをロードして使用する手段を備えたことを特徴とする請求項1に記載の印刷システム。 - 前記文書全体、文書中の章、グループ単位、あるいは各ページ毎の印刷のための各種制御情報および各種属性設定情報は、グラフィックス描画方法、画像レンダリング方法、各種グラフィックス制御に係る情報を含むことを特徴とする請求項1に記載の印刷システム。
- ホストコンピュータシステム上のオペレーティングシステム、アプリケーションプログラム、プリンタドライバプログラムおよび印刷装置から構成される印刷システムにおいて、
印刷装置内の印刷制御プログラムは、該当印刷文書の印刷ジョブを受信し、各印刷制御処理を開始する前に、前記ホストコンピュータ側から通知される文書全体、文書中の章、グループ単位、あるいは各ページ毎の印刷のための各種グラフィックス制御情報および各種属性設定情報に基づいて、あらかじめページ展開メモリの確保、画像レイアウト、圧縮画像の伸長モジュールおよび画像レンダリングモジュールの呼び出し、画像展開および圧縮画像の伸長のための作業領域の確保の制御処理を行ない、印刷制御のための最適化処理を行なう手段を備えたことを特徴とする印刷システム。 - 前記印刷装置内の印刷制御プログラムは、前記印刷ジョブ識別IDで識別される印刷ジョブ毎に、前記印刷ジョブの各印刷制御に係る前処理を印刷装置内の記憶装置部に、複数のホストコンピュータから通知される前記各種グラフィックス制御および属性設定情報を識別可能にするため、さらにユニークな識別情報を付加して,保存する手段を備えたことを特徴とする請求項6に記載の印刷システム。
- 前記ホストコンピュータ上のアプリケーションプログラムおよびプリンタドライバプログラムは、アプリケーションプログラムインターフェース(API)により、最終的な印刷を行なうための印刷ジョブデータの先頭において、該当する印刷ジョブ識別IDを前記印刷装置に通知する手段を備えたことを特徴とする請求項6に記載の印刷システム。
- 印刷装置内の印刷制御プログラムは、印刷ジョブの各印刷制御に係る前処理後、前記ホストコンピュータ上のアプリケーションプログラムおよびプリンタドライバプログラムから通知される印刷ジョブIDによって識別された該当印刷ジョブデータを受信し、最適化された状態で、各種印刷制御処理を行ない、文書を印刷する手段を備えたことを特徴とする請求項6に記載の印刷システム。
- 前記アプリケーションプログラムインターフェース(API)を使用して、該当文書印刷に係る一連の印刷処理において、各情報およびデータに同一の印刷ジョブ識別IDを与え、ホストコンピュータおよび印刷装置間の情報、データの送受信を行なう過程において、同一印刷ジョブ内の処理として完結する手段を備えたことを特徴とする請求項1〜請求項9のいずれかに記載の印刷システム。
- 前記一連の処理について、前記アプリケーションプログラム、プリンタドライバプログラムあるいは、印刷装置上での属性設定手段によって、本処理を行なう/行なわない設定を可能とする手段を備えたことを特徴とする請求項1〜請求項10のいずれかに記載の印刷システム。
- 前記アプリケーションプログラムインターフェース(API)から構成されるプログラムライブラリは、ホストコンピュータシステムおよび印刷装置内の印刷制御部が読むことができるプログラムを格納した記憶媒体で供給する手段を備えることを特徴とする請求項1〜請求項11のいずれかに記載の印刷システム。
- 本発明のアプリケーションプログラムおよびプリンタドライバプログラムは、ホストコンピュータシステムが読むことができるプログラムを格納した記憶媒体で供給する手段を備えることを特徴とする請求項1〜請求項12のいずれかに記載の印刷システム。
- 前記記憶媒体は、該当ホストコンピュータシステムおよびプリンタに着脱可能であることを特徴とする請求項13に記載の記憶媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006006184A JP2007188308A (ja) | 2006-01-13 | 2006-01-13 | 印刷システム及び、記憶媒体 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006006184A JP2007188308A (ja) | 2006-01-13 | 2006-01-13 | 印刷システム及び、記憶媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007188308A true JP2007188308A (ja) | 2007-07-26 |
Family
ID=38343437
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006006184A Withdrawn JP2007188308A (ja) | 2006-01-13 | 2006-01-13 | 印刷システム及び、記憶媒体 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007188308A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8654373B2 (en) | 2007-08-30 | 2014-02-18 | Seiko Epson Corporation | Printing system, printer, host computer, printing system control method, and program |
JP2016024327A (ja) * | 2014-07-18 | 2016-02-08 | キヤノン株式会社 | 画像形成装置及び画像形成システム |
-
2006
- 2006-01-13 JP JP2006006184A patent/JP2007188308A/ja not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8654373B2 (en) | 2007-08-30 | 2014-02-18 | Seiko Epson Corporation | Printing system, printer, host computer, printing system control method, and program |
JP2016024327A (ja) * | 2014-07-18 | 2016-02-08 | キヤノン株式会社 | 画像形成装置及び画像形成システム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7609400B2 (en) | Program, recording medium, information processing apparatus, and printing data processing method | |
US20120140269A1 (en) | Information processing device, information processing method, and recording medium | |
JPH0695819A (ja) | 複数のプリンタページ記述言語を翻訳する方法 | |
JP2004126871A (ja) | 印刷制御方法および装置 | |
JP2004102618A (ja) | 印刷制御装置及び方法、コンピュータプログラム、コンピュータ読み取り可能な記憶媒体、プレビュー装置及び方法、プリンタドライバ及びそのプレビュー方法 | |
JP2006350443A (ja) | 印刷システムおよび印刷制御方法およびプログラム | |
JP2010165261A (ja) | 印刷制御装置とその制御方法 | |
US20120140249A1 (en) | Information processing device, information processing method, and computer program product | |
US7643160B2 (en) | Spool file modifying device | |
US6388757B1 (en) | Printing apparatus, printing system, and a method for acquiring character resources of the printing system | |
JP3962606B2 (ja) | 印刷命令生成装置及び方法、印刷装置及びその制御方法、情報処理装置及び印刷システム | |
JP5671930B2 (ja) | 印刷システム | |
JP2005084898A (ja) | 印刷データ加工システム、および該システム用のプログラム | |
JP2007188308A (ja) | 印刷システム及び、記憶媒体 | |
JP2006171861A (ja) | 情報処理装置、印刷方法、記録媒体およびプログラム | |
US8098385B2 (en) | Spool file modifying device | |
JP2004288013A (ja) | 印刷制御方法 | |
JP3542370B2 (ja) | 印刷制御装置及び印刷制御方法 | |
JP2004038527A (ja) | プリンタドライバおよび印刷制御方法およびコンピュータが読み取り可能な記憶媒体およびプログラム | |
JP4100912B2 (ja) | 情報処理装置及びその制御方法、プログラム並びに記憶媒体 | |
JP2003271331A (ja) | 印刷制御方法及び印刷処理システムと情報処理装置 | |
JP2007148652A (ja) | 印刷システム | |
JP3521056B2 (ja) | プリンタドライバ、プリンタドライバを有したコンピュータ及びコンピュータシステム | |
JP2000309148A (ja) | 画像形成装置、画像形成方法ならびに画像形成プログラムを記録した記録媒体 | |
JP2002283668A (ja) | プリンタおよびこのプリンタを用いた印刷方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20090407 |