JP2004288013A - Print control method - Google Patents
Print control method Download PDFInfo
- Publication number
- JP2004288013A JP2004288013A JP2003081059A JP2003081059A JP2004288013A JP 2004288013 A JP2004288013 A JP 2004288013A JP 2003081059 A JP2003081059 A JP 2003081059A JP 2003081059 A JP2003081059 A JP 2003081059A JP 2004288013 A JP2004288013 A JP 2004288013A
- Authority
- JP
- Japan
- Prior art keywords
- printer driver
- printer
- function
- application program
- 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)
Abstract
Description
【0001】
【発明の属する技術分野】
本発明は、アプリケーションプログラム、プリンタドライバ及び印刷装置からなる印刷システムにおける印刷制御技術に関し、特に、アプリケーションプログラムインタフェース(API)による印刷制御技術に関する。
【0002】
【従来の技術】
従来のオペレーティングシステム上で実行されるドキュメント作成・印刷アプリケーションプログラムからの印刷に関しては、以下に示す方法が一般的であった。
【0003】
すなわち、
(1)Windows(登録商標)(以下、「Windows」とする。)に代表されるオペレーティングシステム環境においては、Software Development Kit(SDK)で共通のアプリケーションプログラムインタフェース(API)が提供され、これを利用して最小限の印刷属性設定及び印刷指示を行う方法、
(2)一般的なプリンタドライバの動作で、利用者にユーザインタフェース(ダイアログ)でオプション装置を指定させ、そのオプション情報に基づき、最終的な印刷データが作成され、印刷装置に送信する方法(例えば、特許文献1参照)、
(3)印刷装置と双方向通信を行い、印刷装置の有するのオプション類等の構成情報を取得するユーティリティアプリケーションプログラムが用意され、機器情報を表示する方法、
である。
【0004】
【特許文献1】
特開平7−44388号公報
【0005】
【発明が解決しようとする課題】
しかしながら、上記従来例では、ドキュメント作成・印刷アプリケーションプログラムからの印刷を行う場合、以下に示すような問題があった。
【0006】
すなわち、
(1)WindowsSDK等のオペレーティングシステムに付属する開発キットでは、印刷装置の一般的な印刷属性設定及び印刷指示だけしかできず、高機能を有する印刷装置に対して、一部の一般的な機能のみ使用して、その他の付加価値が高い機能が使用できない、
(2)印刷装置のオプション機能及び装置を利用する場合には、利用者にユーザインタフェース(ダイアログ)等で、オプション類を明示的に選択・指定させ、そのオプション情報に基づいて、最終的な印刷データを作成する必要がある、
(3)一部のアプリケーションプログラム、プリンタドライバ及び印刷装置で使用されるために用意されるアプリケーションプログラムインタフェース(API)では、機器の構成情報取得のみ行われ、この情報によって印刷に関する機能を実現するための各種印刷属性設定を行うことまでは至っていない、
という問題があった。
【0007】
本発明は、このような事情を考慮してなされたものであり、アプリケーションプログラム、プリンタドライバ及び印刷装置からなる印刷システムにおいて、印刷装置の標準的な印刷機能を使用可能にするだけでなく、高機能を有する印刷装置に対しては、その付加価値の高い機能を好適に使用可能にすることができる印刷制御方法を提供することを目的とする。
【0008】
【課題を解決するための手段】
上記課題を解決するために、本発明は、コンピュータ上で動作するオペレーティングシステム、アプリケーションプログラム及びプリンタドライバを用いて、該コンピュータに接続された印刷装置での印刷処理を制御する印刷制御方法であって、
前記プリンタドライバで前記印刷装置に関する機器構成情報を取得し、
前記印刷装置で動作可能な印刷機能情報を前記機器構成情報に基づいて前記プリンタドライバで生成し、
前記プリンタドライバで生成された前記印刷機能情報を前記オペレーティングシステムを介して前記アプリケーションプログラムに通知し、
前記印刷機能情報に基づいて前記アプリケーションプログラムが印刷ドキュメントを構成して前記プリンタドライバに対して印刷指示を行い、
前記プリンタドライバが前記印刷指示に基づいて前記印刷装置に対する印刷制御命令を生成することを特徴とする。
【0009】
【発明の実施の形態】
以下、図面を参照して、本発明の実施形態について詳細に説明する。
【0010】
<第1の実施形態>
[第1の実施形態における印刷システム及びその動作の概要]
以下では、本実施形態に係る、ホストコンピュータシステム上で動作・実行されるWindowsオペレーティングシステム(OS)、ドキュメント作成・印刷アプリケーションプログラム及びプリンタドライバと、当該ホストコンピュータに接続する印刷装置(プリンタ)から構成される印刷システムについて説明する。すなわち、本実施形態に係る印刷システムにおいては、ドキュメント作成・印刷アプリケーションプログラムからの問い合わせにより、プリンタドライバにはプリンタから機器構成情報を取得する。プリンタドライバは、取得した機器構成情報に基づいて、後述する印刷機能属性情報及び印刷能力属性情報を生成し、アプリケーションプログラムインタフェース(API)を使用して、ドキュメント作成・印刷アプリケーションプログラムに通知する。そして、ドキュメント作成・印刷アプリケーションプログラムは、通知された印刷機能属性情報及び印刷能力属性情報に基づいて、目的の印刷ドキュメント体裁加工を施し、同じくアプリケーションプログラムインタフェース(API)を使用して、プリンタに対し各種印刷属性設定及び印刷指示を行う。
【0011】
[第1の実施形態における印刷システムの構成及び動作の説明]
図1は、本発明の第1の実施形態に係る印刷システムのシステム構成を示すブロック図である。図1に示すように、本実施形態に係る印刷システムは、Windowsオペレーティングシステム(OS)101、ドキュメント作成・印刷アプリケーションプログラム103及びプリンタドライバ102が動作・実行されるホストコンピュータシステム100とこれに接続する印刷装置(プリンタ)104とから構成される。また、図1では、本実施形態に係る印刷システムにおいて、各構成要素間のアプリケーションプログラムインタフェース(API)の流れ及びデータの流れも示している。
【0012】
ホストコンピュータシステム100では、前述のように、Windowsオペレーティングシステム(OS)101、プリンタドライバ102及びドキュメント作成・印刷アプリケーションプログラム103がこのプログラムメモリ上で動作・実行される。また、プリンタ104は、ホストコンピュータシステム100に接続されており、105はこのプリンタ104から出力されるドキュメント印刷出力を示している。
【0013】
次に、本実施形態に係る印刷システムの動作・作用について詳細に説明する。尚、以下では、Windowsオペレーティングシステム(OS)101を「オペレーティングシステム101」と、ドキュメント作成・印刷アプリケーションプログラム103を「アプリケーションプログラム103」と称す。
【0014】
ホストコンピュータシステム100のプログラムメモリ上で動作するオペレーティングシステム101から実行されるアプリケーションプログラム103が初期化される時点で、プリンタドライバ102が、オペレーティングシステム101へロードされ、アプリケーションプログラム103からもプリンタドライバ102との間で各種情報及びデータの送受信が可能となる。また、このアプリケーションプログラム103の初期化時に、アプリケーションプログラムインタフェース(API)となるプログラム関数を含むライブラリ群(プリンタドライバSDK API)も、アプリケーションプログラム103においてロードする。
【0015】
すなわち、本実施形態に係る印刷システムでは、ホストコンピュータシステム100とプリンタ104とが、双方向通信可能なネットワークを介して接続されており、プリンタ104とホストコンピュータシステム100とは、それぞれプリンタ104とプリンタドライバ102との間で各種情報の送受信を行う送受信手段を備えている。
【0016】
アプリケーションプログラム103は、前述した初期化時に、上記プリンタドライバSDK APIを使用して、オペレーティングシステム101を介して、プリンタドライバ102に後述する印刷機能属性情報及び印刷能力属性情報を問い合わせる。
【0017】
プリンタドライバ102は、アプリケーションプログラム103からのプリンタドライバSDK APIによる問い合わせを受けて、プリンタ104との双方向通信により、プリンタMIB(Management Information Base)又はプリンタ104が備える機器情報送受信に係る制御命令を使用して、プリンタ104の機器構成情報の取得を行う。
【0018】
プリンタドライバ102は、プリンタ104から取得した機器構成情報に基づいて、給紙方法、排紙方法、両面印刷機能、N−up印刷機能、ステイプル機能、パンチ機能、トリミング機能、用紙Z折り機能等の各種フィニッシング機能、これらの機能を複合して実現する製本機能、フォントダウンロード機能、フォント置換機能及びフォームオーバレイ機能等のプリンタドライバ102において実行可能な印刷機能属性情報を生成する。また、プリンタドライバ102は、プリンタ104から取得した機器構成情報に基づいて、モノクロ印刷時の階調数、カラー印刷時の色深度、色調、色空間及び設定可能なカラープロファイル、マッチング方法、設定可能解像度、ベクタ/イメージ描画、ディザリング等のグラフィックス描画方法、印刷可能な用紙サイズ及び用紙種、最大設定可能コピー部数、N−up印刷時の印刷設定可能N−up数等のプリンタドライバ104において各種印刷機能実行のための印刷能力属性情報を生成する。
【0019】
さらに、プリンタドライバ102は、アプリケーションプログラム103からコールされたプリンタドライバSDK API関数に対するリターンにより、プリンタドライバ102で生成された上記印刷機能属性情報及び印刷能力属性情報をオペレーティングシステム101を介して、アプリケーションプログラム103に通知する。
【0020】
アプリケーションプログラム103では、プリンタドライバ102より通知された印刷機能属性情報及び印刷能力属性情報に基づいて、ドキュメント作成・体裁加工を行い、プリンタドライバSDK APIを使用してプリンタ104に対する各種印刷属性設定、印刷指示を行う、又は通常のWindowsSDK APIを使用してプリンタ104に対して印刷指示を行う。
【0021】
ここで、プリンタドライバ102が、アプリケーションプログラム103からプリンタドライバSDK APIを使用しての各種印刷属性設定、印刷指示を行う場合は、当該印刷属性設定に基づいて印刷制御命令を生成し、印刷指示に基づく印刷データと組み合わせてプリンタ104に送信し、目的のドキュメントの印刷出力105を行う。
【0022】
一方、プリンタドライバ102が、アプリケーションプログラム103から通常のWindowsSDK APIを使用して印刷指示を行う場合は、オペレーティングシステム101からコールされる印刷属性設定及び印刷指示関数に基づいて印刷制御命令を生成し、印刷指示に基づく印刷データと組み合わせてプリンタ104に送信し、目的のドキュメントの印刷出力105を行う。
【0023】
すなわち、本実施形態に係る印刷システムでは、アプリケーションプログラム103が、印刷ドキュメントを構成する際に、所定のアプリケーションプログラムインタフェースを用いて、プリンタドライバ102に対して印刷機能属性情報及び印刷能力属性情報の取得を問い合わせ、取得した印刷機能属性情報及び印刷能力属性情報に基づいて、印刷ドキュメントを構成することを特徴とする。
【0024】
また、本実施形態に係る印刷システムでは、上記プリンタドライバ102が、アプリケーションプログラム103からの所定のアプリケーションプログラムインタフェースを介した印刷機能属性情報及び印刷能力属性情報の問い合わせに基づいて、印刷機能属性情報及び印刷能力属性情報をアプリケーションプログラムインタフェースを介して、アプリケーションプログラム103に対して通知することを特徴とする。
【0025】
さらに、本実施形態においてアプリケーションプログラム103は、構成した印刷ドキュメントをプリンタ104において印刷させるため、所定のアプリケーションプログラムインタフェースを介してプリンタドライバ102に対して各種印刷属性の設定及び印刷指示を行うことを特徴とする。一方、上記プリンタドライバ102が、アプリケーションプログラム103から所定のアプリケーションプログラムインタフェースを介した各種印刷属性の設定及び印刷指示に基づいて各種印刷のための処理を行って、各種印刷制御命令を生成し、当該各種印刷制御命令とアプリケーションプログラムで構成された印刷ドキュメントとを組み合わせてプリンタ104に送信することを特徴とする。
【0026】
上述したように、本実施形態に係る印刷システムでは、ホストコンピュータシステム100上で動作するオペレーティングシステム101、アプリケーションプログラム103及びプリンタドライバ102を用いて、ホストコンピュータシステム100に接続されたプリンタ104での印刷制御のために、プリンタドライバ102でプリンタ104に関する機器構成情報を取得する。次に、プリンタ104で動作可能な印刷機能情報を取得した機器構成情報に基づいてプリンタドライバ102で生成する。さらに、プリンタドライバ102で生成された印刷機能情報をオペレーティングシステム101を介してアプリケーションプログラム103に通知する。そして、生成された印刷機能情報に基づいてアプリケーションプログラム103が印刷ドキュメントを構成してプリンタドライバ102に対して印刷指示を行い、プリンタドライバ102が印刷指示に基づいてプリンタ104に対する印刷制御命令を生成する。
【0027】
[オペレーティングシステム101、アプリケーションプログラム103及びプリンタドライバ102における各処理のシーケンスの説明]
図2は、本発明の第1の実施形態に係るホストコンピュータシステム100上のオペレーティングシステム101、アプリケーションプログラム103及びプリンタドライバ102におけるプリンタドライバSDK APIを使用した初期化から印刷までの流れを説明するためのシーケンス図である。
【0028】
図2において、200はオペレーティングシステム101が備えるGraphical Device Interface(GDI)である。アプリケーションプログラム103及びプリンタドライバ102間で通常のWindowsSDK API及びプリンタドライバSDK APIによる情報及びデータの送受信は、オペレーティングシステム101のGDI200を介して行われる。
【0029】
まず、アプリケーションプログラム103は、WindowsSDK APIであるCreateDC( )関数203をコールし、プリンタ104に対するデバイスコンテキストを作成する。このとき、アプリケーションプログラム103は、プリンタドライバ102と組み合わせて用意されるアプリケーションプログラムインタフェース(API)関数群を構成するプリンタドライバSDKライブラリをロードする。
【0030】
次に、アプリケーションプログラム103は、初期化処理に移行し、WindowsSDK APIであるStartDoc( )関数204をコールし、指定のプリンタデバイス(例えば、プリンタ104)で印刷ジョブを開始する。一方、プリンタドライバ102は、アプリケーションプログラム13からコールされたStartDoc( )関数203がGDI200で変換されてDevice Driver Interface(DDI)であるDrvStartDoc( )関数205がGDI200よりコールされる。プリンタドライバ102は、この関数内で印刷のための各種初期化処理を行う。
【0031】
アプリケーションプログラム103は、前述した初期化処理と同時に、プリンタSDK APIであるプリンタ104及びプリンタドライバ102における印刷に関する能力情報を取得するFS_GetDevCapabilities()関数206と、プリンタ104及びプリンタドライバ102における印刷に関する機能情報を取得するFS_GetFuncItem( )関数207をコールする。
【0032】
そして、プリンタドライバ102は、前述したFS_GetDevCapabilities( )関数206及びFS_GetFuncItem( )関数207のコールに基づいて、モノクロ印刷時の階調数、カラー印刷時の色深度、色調、色空間及び設定可能なカラープロファイル、マッチング方法、設定可能解像度、ベクタ/イメージ描画、ディザリング等のグラフィックス描画方法、印刷可能な用紙サイズ及び用紙種、最大設定可能コピー部数、N−up印刷時の印刷設定可能N−up数等の前記プリンタドライバ202において各種印刷機能実行のための印刷能力情報及び給紙方法、排紙方法、両面印刷機能、N−up印刷機能、ステイプル機能、パンチ機能、トリミング機能、用紙Z折り機能等の各種フィニッシング機能、さらにこれらの機能を複合して実現する製本機能、フォントダウンロード機能、フォント置換機能、フォームオーバレイ機能等の前記プリンタドライバ202において実行可能な印刷機能情報をGDI200を介して、前記FS_GetCapabilities( ) 関数206及びFS_GetFuncItem( ) 関数207のリターン値として、アプリケーションプログラム103に通知する。
【0033】
アプリケーションプログラム103は、上記FS_GetCapabilities( ) 関数206及びFS_GetFuncItem( )関数207で取得した印刷能力情報及び印刷機能情報に基づき、ドキュメント作成及び体裁加工処理を施し、例えば、前述したようにプリンタドライバSDK APIである両面印刷属性を設定するFS_SetDuplexPrint( )関数208又はステイプル印刷属性を設定するFS_SetStaplePrint( )関数209をコールして、最終的なドキュメント出力形態を指定する。
【0034】
以降同様に、アプリケーションプログラム103は、プリンタドライバSDK
APIを使用して各印刷属性設定を行う。
【0035】
プリンタドライバ102は、プリンタドライバSDK APIによる各種印刷属性設定を受けて、各関数処理において、プリンタ制御命令の生成、或いは解像度、カラー/モノクロ出力、ベクタ/イメージ描画、ディザリング等の画像描画のための初期化設定処理等を行う。
【0036】
続いて、アプリケーションプログラム103は、ドキュメント出力処理に移行するために、WindowsSDK APIであるStartPage( )関数210をコールし、プリンタドライバ102に新しいページの受け取りを開始するように指示し、以降ドキュメントページを構成するWindowsSDK API、プリンタドライバSDK APIの各関数(function)212及び印刷データを書き込み・送信する。
【0037】
プリンタドライバ102は、アプリケーションプログラム103からコールされたStartPage( )関数210がGDI200で変換されて、DDIであるDrvStartPage( )関数211がGDI200よりコールされる。そして、プリンタドライバ102は、この関数内で新しいページ印刷のための各種処理を行う。
【0038】
アプリケーションプログラム103は、ドキュメントページ毎にWindowsSDK APIであるEndPage( )関数213をコールし、1ページの書き込みを終えたことをプリンタドライバ102に伝える。プリンタドライバ102は、アプリケーションプログラム103からコールされたEndPage( )関数213がGDI200で変換されて、DDIであるDrvEndPage( )関数214がGDI200よりコールされる。そして、プリンタドライバ102は、この関数内でページ終了のための各種処理を行う。
【0039】
アプリケーションプログラム103は、すべてのドキュメントページの書き込み・送信が完了した場合、WindowsSDK APIであるEndDoc()関数215をコールし、StartDoc( )関数204で開始された印刷ジョブを終了する。
【0040】
また、プリンタドライバ102は、アプリケーションプログラム103からコールされたEndDoc( )関数215がGDI200で変換されて、DDIであるDrvEndDoc( )関数216がGDI200よりコールされる。そして、プリンタドライバ102は、この関数内でジョブ終了のための各種処理を行う。
【0041】
さらに、アプリケーションプログラム103は、すべての印刷処理を完了し、WindowsSDK APIであるDeleteDC( )関数217をコールして、CreateDC( )関数203で作成されたデバイスコンテキストを削除し、プリンタドライバ102とのセッションを終了する。
【0042】
[印刷機能属性情報及び印刷能力属性情報を取得する関数のコーリングシーケンスの説明]
図3は、本発明の第1の実施形態におけるプリンタドライバSDK APIである、印刷機能属性情報を通知・取得するFS_GetFuncItem( )関数及び印刷能力属性情報を通知・取得するFS_GetDevCapabilities( )関数のコーリングシーケンスを示す図である。
【0043】
図3において、301は、アプリケーションプログラム103において、給紙方法、排紙方法、両面印刷機能、N−up印刷機能、ステイプル機能、パンチ機能、トリミング機能、用紙Z折り機能等の各種フィニッシング機能、さらにこれらの機能を複合して実現する製本機能、フォントダウンロード機能、フォント置換機能、フォームオーバレイ機能等のプリンタドライバ102において実行可能な印刷機能情報を問い合わせ・取得するプリンタドライバSDK APIであるFS_GetFuncItem( )関数のコーリングシーケンスである。
【0044】
アプリケーションプログラム103から本関数がコールされると、プリンタドライバ102は、プリンタ104から機器構成情報であるリソース情報及び印刷機能情報を取得し、これらの情報に基づき、現在有効な印刷機能をアプリケーションプログラム103に通知する。例えば、本関数のコーリングシーケンス例では、関数パラメータの1つであるアプリケーションプログラム103側で確保されたメモリバッファのポインタとして渡されるFUNCITEMプログラム構造体に各種印刷機能情報を代入して、リターンすることでアプリケーションプログラム103に通知する。
【0045】
また、302は、アプリケーションプログラム103において、モノクロ印刷時の階調数、カラー印刷時の色深度、色調、色空間及び設定可能なカラープロファイル、マッチング方法、設定可能解像度、ベクタ/イメージ描画、ディザリング等のグラフィックス描画方法、印刷可能な用紙サイズ及び用紙種、最大設定可能コピー部数、N−up印刷時の印刷設定可能N−up数等のプリンタドライバ102において各種印刷機能実行のための印刷能力情報を問い合わせ・取得するプリンタドライバSDK APIであるFS_GetCapabilities( )関数のコーリングシーケンスである。
【0046】
アプリケーションプログラム103から本関数がコールされると、プリンタドライバ102は、プリンタ104から機器構成情報であるリソース情報及び印刷機能情報を取得し、これらの情報に基づき、現在有効な印刷能力をアプリケーションプログラム103に通知する。例えば、本関数のコーリングシーケンス例では、関数パラメータの1つであるアプリケーションプログラム103側で確保されたメモリバッファのポインタとして渡されるPDEVCAPSプログラム構造体に各種印刷能力情報を代入して、リターンすることでアプリケーションプログラム103に通知する。
【0047】
[32−Bitオペレーティングシステム環境での構成及び動作の説明]
以下では、Windows NT4.0/Windows 2000/Windows XP等の32−Bitオペレーティングシステム環境下におけるオペレーティングシステムのGDI、アプリケーションプログラム、プリンタドライバ及びプリンタドライバSDKライブラリの各構成及び動作例について説明する。
【0048】
図4は、本発明の第1の実施形態におけるアプリケーションプログラム、プリンタドライバ及びプリンタを備える印刷システムにおけるWindows NT4.0/2000の32−BitオペレーティングシステムでのSDKの構成を示す図である。
【0049】
図4において、401は32−Bitアプリケーションプログラム(32−bit User Application)である。また、402はWindows NT4.0/Windows 2000/Windows XP等の32−Bitオペレーティングシステムが備えるGraphical DeviceInterface(GDI)である。さらに、403はプリンタドライバSDKライブラリ(PDSDK.dll)であり、32−Bitオペレーティングシステム環境下で動作・実行できるように32−Bit関数群で構成される。さらにまた、404はプリンタドライバ(Printer Driver)である。
【0050】
通常の印刷属性設定及び印刷指示を行うWindowsSDK APIは、アプリケーションプログラム401から、GDI402を介してDDIに変換されて、プリンタドライバ404の各関数をコールする。
【0051】
一方、アプリケーションプログラム401は、前述した印刷機能属性情報及び印刷能力属性情報に基づいて、より高機能で詳細な印刷属性設定をプリンタドライバSDKライブラリ(PDSDK.dll)403を使用して、直接プリンタドライバ404に対して行う。
【0052】
[16−Bitオペレーティングシステム環境での構成及び動作の説明]
以下では、Windows 95/Windows 98/Windows Me等の16−Bitオペレーティングシステム環境下におけるオペレーティングシステムのGDI、アプリケーションプログラム、プリンタドライバ及びプリンタドライバSDKライブラリの各構成及び動作例について説明する。
【0053】
図5は、本発明の第1の実施形態におけるアプリケーションプログラム、プリンタドライバ及びプリンタを備える印刷システムにおけるWindows 95/98/Meの16−BitオペレーティングシステムでのSDKの構成を示すブロック図である。
【0054】
図5において、501は一般な32−Bitのアプリケーションプログラム(32−bit User Application)である。また、502はWindows 95/Windows 98/Windows Me等の16−Bitオペレーティングシステムが備えるGraphical Device Interface(GDI)である。さらに、503はプリンタドライバSDKライブラリ(PDSDK.dll)であり、32−Bitオペレーティングシステム環境下で動作・実行できるように32−Bit関数群で構成されている。
【0055】
さらにまた、504はプリンタドライバSDKライブラリ(SDK32.dll)であり、上記32−BitプリンタドライバSDKライブラリ(PDSDK.dll)503からコールされる32−Bit関数群及び32−Bitデータタイプを受け取り、16−Bit関数群及び16−Bitデータタイプに変換し、16−BitのGDI502との入出力インタフェースとなる。
【0056】
さらにまた、505はプリンタドライバSDKライブラリ(SDK16.dll)であり、16−Bitオペレーティングシステム環境下で動作・実行できるように16−Bitデータタイプを扱う16−Bit関数群で構成され、16−Bitデータタイプ及び関数群で構成されるプリンタドライバ506との入出力インタフェースとなる。
【0057】
通常の印刷属性設定及び印刷指示を行うWindowsSDK APIは、アプリケーションプログラム501から、GDI502を介してDDIに変換されて、プリンタドライバ506の各関数をコールする。
【0058】
一方、アプリケーションプログラム501は、前述した印刷機能属性情報及び印刷能力属性情報に基づいて、より高機能で詳細な印刷属性設定をプリンタドライバSDKライブラリ(PDSDK.dll)503、SDK32.dll504及びSDK16.dll505を使用して、直接プリンタドライバ506に対して行う。
【0059】
[ホストコンピュータシステム及びプリンタのハードウェア構成図の説明]
図6は、本発明の第1の実施形態に係る印刷システムにおけるホストコンピュータシステム100及びプリンタ104のハードウェア構成を示す図である。図6に示すように、ホストコンピュータシステム100には、ホストコンピュータシステム100に対して入力を行うキーボードやマウス等の入力装置601と、表示出力を行う表示装置(Display)602と、ファイルを格納し入出力が可能なディスク(Disk)603が接続されている。そして、ホストコンピュータシステム100は、当該システム内のプログラムメモリ(RAM)606上にある、本発明のオペレーティングシステム101、プリンタドライバ102、アプリケーションプログラム103及びプリンタSDKライブラリによって一連の印刷制御処理を行い、プリンタ104からドキュメント印刷出力105を行う。
【0060】
さらに、図6を参照して、ホストコンピュータシステム100の構成について詳細に説明する。604は、ホストコンピュータシステム100及びそれに接続される各入出力装置(例えば、上述した入力装置601等)の制御や、入力された指示に従って出力制御等の一連の処理、各種プログラムを実行するCPUである。また、605は、CPU604を動作させるためのオペレーティングシステム等の種々の基本プログラムを格納するメモリ(ROM)である。さらに、606は、CPU604が本実施形態におけるプリンタ104に係る各種印刷属性設定、ドキュメント印刷を実行/動作させる各種処理のための作業領域として用いられるメモリ(RAM)である。
【0061】
一方、607は、ホストコンピュータシステム100に接続され、各種入力を行うキーボードやマウス等の入力装置601のインタフェースを備えるキーボード・コントローラ(Keyboard Controller)、608は、ディスプレイ602への表示出力を行うためのインタフェースを備えるディスプレイ・コントローラ(Display Controller)、609は、ディスク603への入出力インタフェースを備えるディスク・コントローラ(Disk Controller)である。さらに、610は、ホストコンピュータシステム100とプリンタ104を互いに接続して、通信を行うための通信プロトコルを備えたイーサネット(登録商標)等のネットワーク回線を介して、入出力を行うネットワークインタフェース(Network I/F)である。また、611は上述したホストコンピュータシステム100内の各構成要素を接続するためのCPUバスである。
【0062】
次に、プリンタ104の構成について詳細に説明する。図6に示すように、614はプリンタ104に接続される各種入出力の制御や、入力された指示に従って、印刷制御等の一連の処理、通信制御制御処理等のプログラムを実行するCPUである。また、615は、各入出力の制御、通信制御処理、入力された指示に従って印字制御等一連の処理、制御コマンド解析処理等プリンタを動作させるプログラム、各種データ等が格納されているメモリ(ROM)である。さらに、616は、CPU614が各種プログラムで実行・処理を行うための作業領域として用いられるメモリ(RAM)である。
【0063】
一方、617は、ホストコンピュータシステム100とプリンタ104とを互いに接続して、データのやり取りを行うための通信プロトコルを備えたイーサネット(登録商標)等のネットワーク回線を介して、入出力を行うネットワークインタフェースである。また、618は、ディスク613への入出力インタフェースを備えるディスク・コントローラである。さらに、619は、機構的にパターン出力を行うビデオインタフェースであって印刷装置駆動系(エンジン部)621とのデータ及び信号のやり取りを行う入出力インタフェースを備えるエンジン制御処理部である。尚、620は、上述した各構成要素を接続するCPUバスである。
【0064】
次に、ホストコンピュータシステム100内のプログラムメモリであるRAM606上にあるWindowsSDKライブラリを含むオペレーティングシステム101、アプリケーションプログラム103、プリンタドライバ102及びプリンタドライバSDKライブラリの各制御処理及び動作を詳細に説明する。
【0065】
まず、アプリケーションプログラム103における動作について説明する。ホストコンピュータシステム100内のRAM606上にあるアプリケーションプログラム103は、ドキュメント作成、体裁加工及び印刷出力のための各種初期化処理を行う過程で、オペレーティングシステム101を介してプリンタドライバ102のロード及び起動、プリンタドライバSDKライブラリのロードを行う。
【0066】
ここで当該アプリケーションプログラム103は、通常のWindowsSDK APIを使用しての各種初期化処理の他に、プリンタ104及びプリンタドライバ102において、現在使用可能な機能・能力を認識するために、プリンタドライバSDKライブラリに含まれるAPIを使用して、プリンタドライバ102に印刷機能属性情報及び印刷能力属性情報を問い合わせる。そして、アプリケーションプログラム103は、問い合わせに応答してプリンタドライバ102から通知される印刷機能属性情報及び印刷能力属性情報を取得し、これに基づいてドキュメントを目的の出力形態に作成及び体裁加工を行う。さらに、アプリケーションプログラム103は、目的の出力形態を実現するために、プリンタ104に対し、各種印刷属性設定及び印刷指示をドキュメントデータと共に、WindowsSDK API及びプリンタドライバSDK APIを使用して行う。
【0067】
次に、プリンタドライバ102における動作を説明する。ホストコンピュータシステム100内のRAM606上にあるプリンタドライバ102は、前述したアプリケーションプログラム103の起動初期化時に、オペレーティングシステム101上にロードされ、起動する。上記アプリケーションプログラム103におけるドキュメント作成、印刷のための各種初期化処理に基づいて、WindowsSDK APIがコールされることによって、オペレーティングシステム101のGDIを介してDDIに変換され、コールされることによって、プリンタドライバ102での初期化処理が開始される。
【0068】
同時に、アプリケーションプログラム103からプリンタSDK APIによる前述した印刷機能属性情報及び印刷能力属性情報の問い合わせに対し、プリンタドライバ102は、プリンタ104との双方向通信により機器構成情報として、印刷用紙の給紙方法を決定する各種給紙装置、用紙出力方法を決定する各種排紙装置、両面印刷装置、ステイプル装置、パンチャー装置、トリマー装置、用紙Z折り装置等のフィニッシング装置類、メモリ、ハードディスク等の記憶装置、機器に搭載され出力可能な用紙サイズ及び用紙種、搭載されるフォント等の機器が有するリソース情報を取得する。また、プリンタドライバ102は、機器構成情報として、モノクロ/カラー印刷機能、解像度、グラフィックス描画方法、用紙印刷方向、最大コピー部数、N−up印刷機能、ジョブストア機能、フォントダウンロード機能等の機器が有する印刷機能情報も取得する。
【0069】
また、プリンタドライバ102は、プリンタ104の機器構成情報である機器リソース情報及び印刷機能情報に基づき、プリンタ104及びプリンタドライバ102で現在実現可能な印刷機能属性情報及び印刷能力属性情報を生成し、アプリケーションプログラム103から問い合わせを受けたプリンタドライバSDKAPIのリターン値として、アプリケーションプログラム103にそれらを通知する。
【0070】
すなわち、本実施形態に係る印刷システムでは、プリンタドライバ102が、プリンタ104から前述したリソース情報及び印刷機能情報を取得し、そのリソース情報及び印刷機器情報に基づいて、プリンタドライバ102が有する各種印刷機能を実行可能であるか否かを判定し、その判定結果に基づいて、アプリケーションプログラム103に情報通知を行うための印刷機能属性情報を生成することを特徴とする。
【0071】
また、上記印刷システムでは、プリンタドライバ102が、さらに、その判定結果に基づいて、アプリケーションプログラム103に情報通知を行うための印刷能力属性情報を生成することを特徴とする。
【0072】
さらに、アプリケーションプログラム103に通知した印刷機能属性情報及び印刷能力属性情報に基づき、目的のドキュメント印刷を行うための各種印刷属性設定をGDIを介してWindowsSDK API及びプリンタドライバSDK APIでコールされることによって、プリンタドライバ102においてコールされるDDIに基づいて、各種印刷属性設定処理を行う。
【0073】
また、プリンタドライバ102は、上記アプリケーションプログラム103からのドキュメント印刷指示と併せて、ドキュメントデータに基づき、図形/文字及びイメージのパターン・データ、サイズ、描画出力開始位置等の入力処理を行うデータ及び各種設定情報入力処理と、読み込まれた印刷属性設定情報等を解析する入力データ及び情報解析処理と、サイズ、描画出力形態等を指示する各設定パラメータに基づいて、構成されるドキュメントの描画出力形態を決定する描画出力形態制御処理と、決定したドキュメントを印刷するため、プリンタ612のプリンタ制御命令を変換・生成する出力制御命令変換処理と、生成された印字出力制御命令をプリンタに送信する出力制御命令送信制御処理とにおいて一連の処理を施し、プリンタ104から目的のドキュメントを出力させる。
【0074】
次に、プリンタ104における動作について詳細に説明する。プリンタ104内のメモリであるROM615上にある制御プログラムにおける印刷出力制御処理によるドキュメントの出力動作を詳細に説明する。まず、現在サポートしている用紙サイズ、用紙タイプ、ステイプル機能をもつフィニッシャの有無等、印刷を行う際の有効な機能、資源のプリンタ構成情報をネットワークインタフェース617を介して、ホストコンピュータシステム100のRAM606上にあるプリンタドライバに通知する。
【0075】
そして、ホストコンピュータシステム100内のプログラムメモリであるRAM606上にあるプリンタドライバ102から送信されるプリンタ104を初期化する制御命令を受信し、初期化処理を行う。
【0076】
続いて、ホストコンピュータシステム100から、プリンタ104に印刷を行うために送信されてくるプリンタ印刷制御命令の入力を行う印刷制御命令入力処理、入力されたプリンタ印刷制御命令及び各種設定パラメータ等を解析する制御設定パラメータ解析処理、印刷制御命令、制御設定パラメータに基づいて、ビットマップを生成し、ビットマップメモリに展開するビットマップ展開処理において一連の処理を施し、エンジン制御処理部と入出力を行うビデオインタフェース619を通して、印字出力装置駆動系(エンジン部)621に生成されたビットマップ・データを送信して、ドキュメント出力105を出力する。
【0077】
[第1の実施形態のアプリケーションプログラムにおける各制御処理]
次に、図7に示すフローチャートによって、本実施形態におけるホストコンピュータシステム100のプログラムメモリであるRAM606上にあるアプリケーションプログラムの各制御処理を詳細に説明する。
【0078】
図7は、本発明の第1の実施形態に係るホストコンピュータシステム100におけるアプリケーションプログラム103における処理の一例を説明するためのフローチャートである。すなわち、プリンタドライバSDKライブラリを使用して、印刷機能属性情報及び印刷能力属性情報を取得して、目的のドキュメント作成、体裁加工及び印刷指示を行う一連の制御処理について以下に説明する。
【0079】
まず、アプリケーションプログラム103の起動時に初期化処理が行われる(ステップS701)。このとき、プリンタドライバ102もオペレーティングシステム101上でロードされ、起動する。また、同時に、プリンタドライバSDKライブラリをロードする(ステップS702)。次いで、プリンタドライバ102に対してプリンタドライバSDK APIを使用して、印刷機能属性情報及び印刷能力属性情報の問い合わせを行い、プリンタドライバ102から取得する(ステップS703)。
【0080】
そして、アプリケーションプログラム103は、プリンタドライバ102から取得した印刷機能属性情報及び印刷能力属性情報に基づき、WindowsSDK APIを使用して一般的な印刷属性設定を行い、プリンタ104及びプリンタドライバ102が有する、より高機能な印刷属性設定をプリンタドライバSDK APIを使用して行う(ステップS704)。次に、アプリケーションプログラム103は、取得した印刷機能属性情報及び印刷能力属性情報に基づき、目的のドキュメントの作成、体裁加工等の編集を行う(ステップS705)。さらに、アプリケーションプログラム103は、ドキュメントを構成する文字・図形描画処理を行う(ステップS706)。
【0081】
次いで、アプリケーションプログラム103は、WindowsSDK APIを使用してドキュメント印刷指示とともに、描画処理を行った文字・図形データをプリンタ104に送る(ステップS707)。そして、すべてのドキュメントデータを送信後、印刷終了処理に移行する(ステップS708)とともに、プリンタドライバSDKライブラリをアンロードする(ステップS709)。
【0082】
[第1の実施形態のプリンタドライバ102における各制御処理]
ここでは、図8及び図9に示すフローチャートを用いて、本実施形態のプリンタドライバ102における各制御処理を詳細に説明する。
【0083】
図8は、本発明の第1の実施形態のプリンタドライバ102におけるプリンタ104からの機器構成情報取得及びアプリケーションプログラム103への印刷機能属性情報及び印刷能力属性情報通知を行う制御処理を説明するためのフローチャートである。
【0084】
まず、プリンタドライバ102は、プリンタ104から各種機器構成情報を取得するために、ホストコンピュータシステム101とプリンタ104間で双方向通信を行い、プリンタMIB又は機器構成情報の送受信を行う制御コマンドを発行するモジュールライブラリのロード、取得する情報の種類の列挙処理等の初期化を行う(ステップS801)。次に、プリンタドライバ102は、プリンタ104にプリンタMIB又は機器構成情報の送受信を行う制御コマンドを発行して、機器構成情報を問い合わせる(ステップS802)。ステップS802における問い合わせの結果、ステップS803の判断分岐処理に進む。
【0085】
その結果、機器構成情報取得に成功した場合(Yes)、プリンタドライバ102は、取得した機器構成情報からプリンタ104が備えるオプション類等のリソース情報と、有効な機能情報に分離し、リソース情報解析(ステップS804)及び機能情報解析(ステップS805)を行う。一方、ホストコンピュータシステム100及びプリンタ104間の通信で、オフライン又は通信状態劣化等通信不可能の理由で機器構成情報取得に失敗した場合(No)、プリンタドライバ102は、デフォルト設定値及びユーザインタフェース上で設定される値を採用して、これらの値からリソース情報及び機能情報を解析する(ステップS806)。
【0086】
ステップS805又はステップS806の解析処理後、上記リソース情報及び機能情報解析結果より、プリンタドライバ102は、印刷機能属性情報及び印刷能力属性情報を作成する(ステップS807)。さらに、プリンタドライバ102は、作成した印刷機能属性情報及び印刷能力属性情報をアプリケーションプログラム103からコールされた関数のパラメータであるメモリバッファのポインタへコピーして、リターンすることによりアプリケーションプログラム103に通知する(ステップS808)。
【0087】
図9は、本発明の第1の実施形態に係る印刷システムにおけるホストコンピュータシステム100のプログラムメモリであるRAM606上のプリンタドライバ102における印刷制御処理の詳細を説明するためのフローチャートである。
プリンタドライバ102は、外部から、例えば文字、図形、イメージ作成、編集、印刷アプリケーションプログラム等のドキュメント入力プログラムからのプリンタへの印刷指示によって起動され、ステップS901〜S912を実行する。
【0088】
まず、プリンタドライバ102には、各種印刷属性設定パラメータ及びアプリケーションから印刷指示されたドキュメントを構成する文字/図形/イメージデータが入力される(ステップS901)。これらの入力は、WindowsSDK API及びプリンタドライバSDK APIを使用して行われる。次に、プリンタドライバ102は、これらの入力されたパラメータ及びデータを解析する(ステップS902)。
【0089】
そして、入力データの解析結果より、用紙サイズ、印刷方向、描画解像度設定、座標系の単位設定等印刷の準備をするため、プリンタドライバ102は、プリンタ104に対する各設定パラメータをプリンタ制御命令に変換・生成し、送信してプリンタ104の初期化処理を行う(ステップS903)。さらに、プリンタドライバ102は、ステップS904及びステップS906において、解析処理されたパラメータ及びデータを、文字データ、図形データ又はイメージデータに分離する。
【0090】
ステップS904及びステップS906で分離された文字データ、図形データ又はイメージデータは、プリンタドライバ102において、それぞれステップS905、ステップS907及びステップS908の文字印字制御処理部(モジュール)、図形描画制御処理部(モジュール)及びイメージ描画制御処理部(モジュール)で処理が施される。
【0091】
ステップS905、ステップS907及びステップS908における文字印字、図形描画及びイメージ描画制御処理に基づき、ステップS909のドキュメント構成制御処理(モジュール)において、プリンタドライバ102は、描画出力属性、サイズ計算、描画出力位置等パターンの出力形態を決定し、プリンタ104の出力ページに配置する。
【0092】
ステップS909で構成されたドキュメント出力の制御データは、ステップS910の印刷制御命令生成処理(モジュール)において、プリンタ104にドキュメントを出力するためにプリンタの印刷制御命令に変換・生成する。そして、ステップS911のプリンタへの出力送信処理(モジュール)において、プリンタドライバ102は、プリンタ104に対してステップS910で生成された印刷制御命令を送信し、プリンタ104からドキュメント印刷出力を行う(ステップS912)。
【0093】
以上説明したように、本実施形態によれば、Windowsオペレーティングシステム環境下において、アプリケーションプログラムで標準的に使用されるWindowsSDKライブラリとともに、本発明のプリンタドライバSDKライブラリを使用することによって、標準的な印刷機能の他に、オプション装置類を搭載して実現可能なプリンタデバイス機能及びプリンタデバイス機器構成情報に基づくプリンタドライバ機能を使用可能とし、より付加価値の高い印刷機能を提供することが可能である。
【0094】
また、アプリケーションプログラム及びプリンタドライバにおいて、プリンタSDKを使用して、内部的に各種印刷属性設定処理が進行され、常に現在のプリンタデバイスの状況に適応した機能を自動的に利用可能とすることができるため、利用者にとって操作性に優れ、効率的で簡便かつ運用性の高い印刷システムを提供することが可能である。
【0095】
<第2の実施形態>
第2の実施形態では、上述した第1の実施形態のプリンタドライバ102で行っているプリンタ104との双方向通信によるプリンタ機器構成情報取得処理を、Language Monitorが代わって行い、プリンタドライバ104とLanguage Monitorとの間でこれらの機器構成情報のやりとりを行う手段をさらに備える印刷システムを提供する。
【0096】
本実施形態によれば、前述した第1の実施形態から各PDL(Page Description Language)プリンタドライバに依存せずに機器構成情報を取得することができる、各PDL共通の汎用的な機器構成情報取得手段を備えることにより、さらに簡便かつ低コストな印刷システムの構築、運用が可能となる。
【0097】
<第3の実施形態>
第3の本実施形態では、上述した第1の実施形態のオペーレーティングシステム101に代わって、他のオペレーティングシステムを適用した印刷システムを提供する。
【0098】
本実施形態によれば、例えば、GUI(Graphical User Interface)を持たないUNIX(登録商標)系オペレーティングシステム等を用いて、前述したプリンタドライバ101が備えるような各種印刷属性設定を行うユーザインタフェースが実現不可能であっても、本発明のプリンタドライバSDKを用意することによって、同様に高機能な印刷設定を行い、印刷を行うことができる印刷システムを実現することが可能である。
【0099】
<第4の実施形態>
第4の本実施形態では、図6に示すホストコンピュータシステム100とプリンタ104間を接続するイーサネット(登録商標)・インタフェースに代えて、セントロニクス準拠の入出力パラレル・インタフェース、RS−232C準拠、RS−424準拠の入出力シリアル・インタフェース或いはSCSIインタフェースを使って、図6に示すホストコンピュータシステム100のプログラムメモリRAM606上にあるプリンタドライバ102及びプリンタ104とデータのやりとりを行うものである。
【0100】
<その他の実施形態>
尚、本発明は、前述したそれぞれの実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体(記録媒体)を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(又はCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。
【0101】
この場合、記憶媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光磁気ディスク、光ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。
【0102】
また、コンピュータが読み出したプログラムコードを実行することによって、前述した実施形態の機能が実現される他、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS等が実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【0103】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【0104】
尚、本発明は、前述したそれぞれの実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体からそのプログラムをパソコン通信等の通信ラインを介して要求者にそのプログラムを配信する場合にも適用できることは言うまでもない。
【0105】
【発明の効果】
以上説明したように、本発明によれば、アプリケーションプログラム、プリンタドライバ及び印刷装置からなる印刷システムにおいて、印刷装置の標準的な印刷機能を使用可能にするだけでなく、高機能を有する印刷装置に対しては、その付加価値の高い機能を好適に使用可能にすることができる。
【図面の簡単な説明】
【図1】本発明の第1の実施形態に係る印刷システムのシステム構成を示すブロック図である。
【図2】本発明の第1の実施形態に係るホストコンピュータシステム100上のオペレーティングシステム101、アプリケーションプログラム103及びプリンタドライバ102におけるプリンタドライバSDK APIを使用した初期化から印刷までの流れを説明するためのシーケンス図である。
【図3】本発明の第1の実施形態におけるプリンタドライバSDK APIである、印刷機能属性情報を通知・取得するFS_GetFuncItem( )関数及び印刷能力属性情報を通知・取得するFS_GetDevCapabilities( )関数のコーリングシーケンスを示す図である。
【図4】本発明の第1の実施形態におけるアプリケーションプログラム、プリンタドライバ及びプリンタを備える印刷システムにおけるWindows NT4.0/2000の32−BitオペレーティングシステムでのSDKの構成を示す図である。
【図5】本発明の第1の実施形態におけるアプリケーションプログラム、プリンタドライバ及びプリンタを備える印刷システムにおけるWindows 95/98/Meの16−BitオペレーティングシステムでのSDKの構成を示すブロック図である。
【図6】本発明の第1の実施形態に係る印刷システムにおけるホストコンピュータシステム100及びプリンタ104のハードウェア構成を示す図である
【図7】本発明の第1の実施形態に係るホストコンピュータシステム100におけるアプリケーションプログラム103における処理の一例を説明するためのフローチャートである。
【図8】本発明の第1の実施形態のプリンタドライバ102におけるプリンタ104からの機器構成情報取得及びアプリケーションプログラム103への印刷機能属性情報及び印刷能力属性情報通知を行う制御処理を説明するためのフローチャートである。
【図9】本発明の第1の実施形態に係る印刷システムにおけるホストコンピュータシステム100のプログラムメモリであるRAM606上のプリンタドライバ102における印刷制御処理の詳細を説明するためのフローチャートである。
【符号の説明】
100 ホストコンピュータシステム
101 オペレーティングシステム
102 プリンタドライバ
103 アプリケーションプログラム
104 プリンタ
105 印刷出力[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a print control technique in a printing system including an application program, a printer driver, and a printing apparatus, and more particularly, to a print control technique using an application program interface (API).
[0002]
[Prior art]
Regarding printing from a document creation / printing application program executed on a conventional operating system, the following method has been generally used.
[0003]
That is,
(1) In an operating system environment represented by Windows (registered trademark) (hereinafter referred to as "Windows"), a common application program interface (API) is provided and used by a software development kit (SDK). To set the minimum print attributes and print instructions,
(2) A general printer driver operation allows a user to specify an optional device on a user interface (dialog), and based on the option information, final print data is created and transmitted to the printing device (for example, , Patent Document 1),
(3) a method for performing bidirectional communication with the printing apparatus, obtaining a utility application program for acquiring configuration information such as options included in the printing apparatus, and displaying device information;
It is.
[0004]
[Patent Document 1]
JP-A-7-44388
[0005]
[Problems to be solved by the invention]
However, in the above-described conventional example, when printing from a document creation / print application program, there are the following problems.
[0006]
That is,
(1) With a development kit attached to an operating system such as Windows SDK, only general printing attribute setting and printing instructions of a printing apparatus can be performed. Use and other value-added features are not available,
(2) When using the optional functions and devices of the printing apparatus, the user is required to select and specify options with a user interface (dialog) or the like, and to perform final printing based on the option information. Need to create data,
(3) In an application program interface (API) prepared for use in some application programs, printer drivers, and printing devices, only device configuration information is obtained, and a function related to printing is realized by this information. Has not been set up for various print attributes.
There was a problem.
[0007]
The present invention has been made in view of such circumstances, and in a printing system including an application program, a printer driver, and a printing apparatus, it is possible to use not only a standard printing function of the printing apparatus but also a high printing function. It is an object of the present invention to provide a print control method capable of suitably enabling a high value-added function to a printing apparatus having functions.
[0008]
[Means for Solving the Problems]
In order to solve the above problems, the present invention is a printing control method for controlling a printing process in a printing device connected to a computer using an operating system, an application program, and a printer driver operating on the computer. ,
Acquiring device configuration information on the printing device with the printer driver,
Print function information operable in the printing apparatus is generated by the printer driver based on the device configuration information,
Notifying the application program of the printing function information generated by the printer driver via the operating system,
The application program configures a print document based on the print function information and issues a print instruction to the printer driver,
The printer driver may generate a print control command for the printing apparatus based on the print command.
[0009]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
[0010]
<First embodiment>
[Overview of Printing System and Its Operation in First Embodiment]
In the following, a Windows operating system (OS) operated and executed on a host computer system, a document creation / print application program and a printer driver, and a printing device (printer) connected to the host computer according to the present embodiment will be described. The printing system performed will be described. That is, in the printing system according to the present embodiment, the printer driver acquires device configuration information from the printer in response to an inquiry from the document creation / printing application program. The printer driver generates print function attribute information and print capability attribute information described below based on the acquired device configuration information, and notifies the document creation / print application program using an application program interface (API). Then, the document creation / printing application program performs the desired print document format processing based on the notified print function attribute information and print capability attribute information, and similarly uses the application program interface (API) for the printer. Various print attribute settings and print instructions are performed.
[0011]
[Description of Configuration and Operation of Printing System in First Embodiment]
FIG. 1 is a block diagram illustrating a system configuration of a printing system according to the first embodiment of the present invention. As shown in FIG. 1, the printing system according to the present embodiment is connected to a
[0012]
In the
[0013]
Next, the operation and operation of the printing system according to the present embodiment will be described in detail. Hereinafter, the Windows operating system (OS) 101 is referred to as an “
[0014]
When the
[0015]
That is, in the printing system according to the present embodiment, the
[0016]
At the time of the above-described initialization, the
[0017]
The
[0018]
The
[0019]
Further, the
[0020]
The
[0021]
Here, when the
[0022]
On the other hand, when the
[0023]
That is, in the printing system according to the present embodiment, the
[0024]
Further, in the printing system according to the present embodiment, the
[0025]
Further, in the present embodiment, the
[0026]
As described above, in the printing system according to the present embodiment, printing is performed by the printer 104 connected to the
[0027]
[Description of Sequence of Each Process in
FIG. 2 is a diagram for explaining a flow from initialization to printing using the printer driver SDK API in the
[0028]
In FIG. 2,
[0029]
First, the
[0030]
Next, the
[0031]
At the same time as the initialization processing described above, the
[0032]
Then, based on the call of the FS_GetDevCapabilities ()
[0033]
The
[0034]
Thereafter, similarly, the
Each print attribute is set using the API.
[0035]
The
[0036]
Subsequently, the
[0037]
In the
[0038]
The
[0039]
When the writing and transmission of all the document pages are completed, the
[0040]
In the
[0041]
Further, the
[0042]
[Description of Calling Sequence of Function for Obtaining Printing Function Attribute Information and Printing Ability Attribute Information]
FIG. 3 is a calling sequence of an FS_GetFuncItem () function for notifying / acquiring print function attribute information and an FS_GetDevCapabilities () function for notifying / acquiring print capability attribute information, which are printer driver SDK APIs according to the first embodiment of the present invention. FIG.
[0043]
3,
[0044]
When this function is called from the
[0045]
Also,
[0046]
When this function is called from the
[0047]
[Description of Configuration and Operation in 32-Bit Operating System Environment]
Hereinafter, each configuration and operation example of the GDI, the application program, the printer driver, and the printer driver SDK library of the operating system in a 32-bit operating system environment such as Windows NT 4.0 /
[0048]
FIG. 4 is a diagram illustrating a configuration of an SDK in a 32-bit operating system of Windows NT 4.0 / 2000 in a printing system including an application program, a printer driver, and a printer according to the first embodiment of this invention.
[0049]
In FIG. 4,
[0050]
A Windows SDK API for performing normal print attribute setting and print instruction is converted from the
[0051]
On the other hand, the
[0052]
[Description of Configuration and Operation in 16-Bit Operating System Environment]
Hereinafter, each configuration and operation example of the GDI, the application program, the printer driver, and the printer driver SDK library of the operating system under a 16-bit operating system environment such as Windows 95 / Windows 98 / Windows Me will be described.
[0053]
FIG. 5 is a block diagram illustrating a configuration of an SDK in a Windows 95/98 / Me 16-Bit operating system in a printing system including an application program, a printer driver, and a printer according to the first embodiment of this invention.
[0054]
Referring to FIG. 5,
[0055]
[0056]
[0057]
A Windows SDK API for performing normal print attribute settings and print instructions is converted from the
[0058]
On the other hand, based on the print function attribute information and the print capability attribute information described above, the
[0059]
[Description of Hardware Configuration Diagram of Host Computer System and Printer]
FIG. 6 is a diagram illustrating a hardware configuration of the
[0060]
Further, the configuration of the
[0061]
On the other hand,
[0062]
Next, the configuration of the printer 104 will be described in detail. As shown in FIG. 6,
[0063]
On the other hand, a
[0064]
Next, control processes and operations of the
[0065]
First, the operation of the
[0066]
Here, in addition to the various initialization processes using the normal Windows SDK API, the
[0067]
Next, the operation of the
[0068]
At the same time, in response to an inquiry from the
[0069]
Further, the
[0070]
That is, in the printing system according to the present embodiment, the
[0071]
Further, the printing system is characterized in that the
[0072]
Further, based on the print function attribute information and the print capability attribute information notified to the
[0073]
Further, the
[0074]
Next, the operation of the printer 104 will be described in detail. The output operation of the document by the print output control process in the control program on the
[0075]
Then, it receives a control command for initializing the printer 104 transmitted from the
[0076]
Subsequently, a print control command input process for inputting a printer print control command transmitted for printing to the printer 104 from the
[0077]
[Each Control Process in Application Program of First Embodiment]
Next, the control processing of each application program on the
[0078]
FIG. 7 is a flowchart for explaining an example of processing in the
[0079]
First, an initialization process is performed when the
[0080]
Then, based on the print function attribute information and the print capability attribute information acquired from the
[0081]
Next, the
[0082]
[Each Control Process in
Here, each control process in the
[0083]
FIG. 8 is a view for explaining control processing for acquiring device configuration information from the printer 104 and notifying the
[0084]
First, the
[0085]
As a result, when the device configuration information is successfully obtained (Yes), the
[0086]
After the analysis processing in step S805 or S806, the
[0087]
FIG. 9 is a flowchart for explaining details of the print control processing in the
The
[0088]
First, various print attribute setting parameters and character / graphic / image data constituting a document instructed to be printed by an application are input to the printer driver 102 (step S901). These inputs are made using the Windows SDK API and the printer driver SDK API. Next, the
[0089]
Then, based on the analysis result of the input data, the
[0090]
The character data, graphic data, or image data separated in step S904 and step S906 are output to the
[0091]
Based on the character printing, graphic drawing, and image drawing control processing in steps S905, S907, and S908, in the document configuration control processing (module) in step S909, the
[0092]
The control data of the document output configured in step S909 is converted and generated into a print control command of the printer in order to output the document to the printer 104 in the print control command generation process (module) of step S910. Then, in the output transmission process (module) to the printer in step S911, the
[0093]
As described above, according to the present embodiment, in the Windows operating system environment, by using the printer driver SDK library of the present invention together with the Windows SDK library normally used in the application program, the standard printing is performed. In addition to the functions, it is possible to use a printer device function that can be realized by mounting optional devices and a printer driver function based on printer device device configuration information, thereby providing a printing function with higher added value.
[0094]
Further, in the application program and the printer driver, various print attribute setting processes are internally performed using the printer SDK, so that a function adapted to the current status of the printer device can be automatically automatically used. Therefore, it is possible to provide a printing system that is excellent in operability, efficient, simple and operable for the user.
[0095]
<Second embodiment>
In the second embodiment, the language monitor acquires printer device configuration information by bidirectional communication with the printer 104, which is performed by the
[0096]
According to this embodiment, general-purpose device configuration information common to each PDL can be obtained from the first embodiment without depending on each PDL (Page Description Language) printer driver. Providing the means makes it possible to construct and operate a printing system that is simpler and less expensive.
[0097]
<Third embodiment>
In the third embodiment, a printing system to which another operating system is applied is provided instead of the
[0098]
According to the present embodiment, for example, a user interface for performing various print attribute settings provided in the above-described
[0099]
<Fourth embodiment>
In the fourth embodiment, instead of the Ethernet (registered trademark) interface connecting the
[0100]
<Other embodiments>
According to the present invention, a storage medium (recording medium) recording software program codes for realizing the functions of the above-described embodiments is supplied to a system or an apparatus, and a computer (or a CPU or an MPU) of the system or the apparatus is provided. Needless to say, the above can also be achieved by reading and executing the program code stored in the storage medium.
[0101]
In this case, the program code itself read from the storage medium implements the novel function of the present invention, and the storage medium storing the program code constitutes the present invention. As a storage medium for supplying the program code, for example, a flexible disk, a hard disk, a magneto-optical disk, an optical disk, a CD-ROM, a CD-R, a magnetic tape, a nonvolatile memory card, a ROM, and the like can be used.
[0102]
The functions of the above-described embodiments are implemented when the computer executes the readout program code, and the OS or the like running on the computer performs part of the actual processing based on the instructions of the program code. Alternatively, the functions of the above-described embodiments can be realized by performing the entire process.
[0103]
Further, after the program code read from the storage medium is written into a memory provided on a function expansion board inserted into the computer or a function expansion unit connected to the computer, the function expansion is performed based on the instruction of the program code. The CPU or the like provided in the board or the function expansion unit performs part or all of the actual processing, and the functions of the above-described embodiments can also be realized by the processing.
[0104]
The present invention is also applicable to a case where the program is distributed from a storage medium storing a program code of software for realizing the functions of the above-described embodiments to a requester via a communication line such as a personal computer communication. It goes without saying that it can be applied.
[0105]
【The invention's effect】
As described above, according to the present invention, in a printing system including an application program, a printer driver, and a printing apparatus, not only a standard printing function of the printing apparatus can be used, but also a printing apparatus having a high function. On the other hand, the high value-added function can be suitably used.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating a system configuration of a printing system according to a first embodiment of the present invention.
FIG. 2 is a diagram illustrating a flow from initialization to printing using a printer driver SDK API in an
FIG. 3 is a calling sequence of an FS_GetFuncItem () function for notifying / acquiring printing function attribute information and an FS_GetDevCapabilities () function for notifying / acquiring printing capability attribute information, which are printer driver SDK APIs according to the first embodiment of the present invention. FIG.
FIG. 4 is a diagram showing a configuration of an SDK in a 32-bit operating system of Windows NT 4.0 / 2000 in a printing system including an application program, a printer driver, and a printer according to the first embodiment of the present invention.
FIG. 5 is a block diagram illustrating a configuration of an SDK in a Windows 95/98 / Me 16-Bit operating system in a printing system including an application program, a printer driver, and a printer according to the first embodiment of this invention.
FIG. 6 is a diagram illustrating a hardware configuration of a
FIG. 7 is a flowchart illustrating an example of processing in an
FIG. 8 is a diagram illustrating a control process of acquiring device configuration information from a printer 104 and notifying print function attribute information and print capability attribute information to an
FIG. 9 is a flowchart illustrating details of print control processing in the
[Explanation of symbols]
100 Host computer system
101 Operating system
102 Printer Driver
103 Application program
104 Printer
105 Print output
Claims (1)
前記プリンタドライバで前記印刷装置に関する機器構成情報を取得し、
前記印刷装置で動作可能な印刷機能情報を前記機器構成情報に基づいて前記プリンタドライバで生成し、
前記プリンタドライバで生成された前記印刷機能情報を前記オペレーティングシステムを介して前記アプリケーションプログラムに通知し、
前記印刷機能情報に基づいて前記アプリケーションプログラムが印刷ドキュメントを構成して前記プリンタドライバに対して印刷指示を行い、
前記プリンタドライバが前記印刷指示に基づいて前記印刷装置に対する印刷制御命令を生成することを特徴とする印刷制御方法。A printing control method for controlling a printing process in a printing device connected to a computer by using an operating system, an application program, and a printer driver operating on the computer,
Acquiring device configuration information on the printing device with the printer driver,
Print function information operable in the printing apparatus is generated by the printer driver based on the device configuration information,
Notifying the application program of the printing function information generated by the printer driver via the operating system,
The application program configures a print document based on the print function information and issues a print instruction to the printer driver,
A print control method, wherein the printer driver generates a print control command for the printing device based on the print instruction.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003081059A JP2004288013A (en) | 2003-03-24 | 2003-03-24 | Print control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003081059A JP2004288013A (en) | 2003-03-24 | 2003-03-24 | Print control method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004288013A true JP2004288013A (en) | 2004-10-14 |
Family
ID=33294739
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003081059A Withdrawn JP2004288013A (en) | 2003-03-24 | 2003-03-24 | Print control method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004288013A (en) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006134245A (en) * | 2004-11-09 | 2006-05-25 | Kyocera Mita Corp | Automatic installation system and program of printer driver |
JP2006130706A (en) * | 2004-11-04 | 2006-05-25 | Fuji Xerox Co Ltd | Image forming device, image forming system, image forming method and image forming program |
JP2007264155A (en) * | 2006-03-28 | 2007-10-11 | Yamaha Corp | Electronic musical instrument and program |
CN100368981C (en) * | 2005-03-25 | 2008-02-13 | 富士施乐株式会社 | Function converting apparatus and function converting method |
CN100552614C (en) * | 2004-03-10 | 2009-10-21 | 佳能株式会社 | Signal conditioning package, image processing system and method and system thereof |
JP2010140281A (en) * | 2008-12-11 | 2010-06-24 | Canon Inc | Method of data communication between application program and printer driver, and program therefor |
US8081324B2 (en) | 2005-10-25 | 2011-12-20 | Canon Kabushiki Kaisha | Information processing apparatus, image forming method, and computer readable storage medium storing a program for reducing print processing time |
US8259330B2 (en) | 2008-05-19 | 2012-09-04 | Canon Kabushiki Kaisha | Output efficiency of printer forming image by interpreting PDL and performing output by using print engine |
-
2003
- 2003-03-24 JP JP2003081059A patent/JP2004288013A/en not_active Withdrawn
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100552614C (en) * | 2004-03-10 | 2009-10-21 | 佳能株式会社 | Signal conditioning package, image processing system and method and system thereof |
JP2006130706A (en) * | 2004-11-04 | 2006-05-25 | Fuji Xerox Co Ltd | Image forming device, image forming system, image forming method and image forming program |
JP4529643B2 (en) * | 2004-11-04 | 2010-08-25 | 富士ゼロックス株式会社 | Image forming system |
JP2006134245A (en) * | 2004-11-09 | 2006-05-25 | Kyocera Mita Corp | Automatic installation system and program of printer driver |
CN100368981C (en) * | 2005-03-25 | 2008-02-13 | 富士施乐株式会社 | Function converting apparatus and function converting method |
US8081324B2 (en) | 2005-10-25 | 2011-12-20 | Canon Kabushiki Kaisha | Information processing apparatus, image forming method, and computer readable storage medium storing a program for reducing print processing time |
JP2007264155A (en) * | 2006-03-28 | 2007-10-11 | Yamaha Corp | Electronic musical instrument and program |
JP4609728B2 (en) * | 2006-03-28 | 2011-01-12 | ヤマハ株式会社 | Electronic musical instruments and programs |
US8259330B2 (en) | 2008-05-19 | 2012-09-04 | Canon Kabushiki Kaisha | Output efficiency of printer forming image by interpreting PDL and performing output by using print engine |
JP2010140281A (en) * | 2008-12-11 | 2010-06-24 | Canon Inc | Method of data communication between application program and printer driver, and program therefor |
US9298522B2 (en) | 2008-12-11 | 2016-03-29 | Canon Kabushiki Kaisha | Method of data communication between application program and printer driver, and program therefor |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7528394B2 (en) | Information processing device, control method, and program | |
EP1710699B1 (en) | Information processing apparatus capable of customizing device driver, information processing method, and control program | |
JP4785577B2 (en) | Information processing apparatus, control method therefor, and program | |
JP5235695B2 (en) | Printing control apparatus and control method thereof | |
JP4898376B2 (en) | Information processing apparatus, information processing method, and information processing program | |
JP4454764B2 (en) | Printing apparatus, printing method, printing system, and medium | |
JP2004288013A (en) | Print control method | |
JP2006350443A (en) | Printing system, print control method and program | |
JP2020004241A (en) | Information processing device, control method, and program | |
JP4289987B2 (en) | Print control apparatus, print control method, and computer program | |
JP4702948B2 (en) | Information processing apparatus, method, and storage medium for customizing device driver | |
JP2009116687A (en) | Information processing system, information processor, image forming apparatus, and information processing method | |
JP2005202723A (en) | Printing system | |
JP2007148652A (en) | Print system | |
JP4539975B2 (en) | Print setting control apparatus, control method thereof, and program | |
JP2007004332A (en) | Information processor, print control method and program | |
JP2005092744A (en) | Print controller, image forming system, computer program, and storage medium | |
JP4335852B2 (en) | Print control apparatus, print control method, and program | |
JP2007102378A (en) | Driver program | |
JP6007015B2 (en) | Image forming apparatus and image forming program | |
JP2006178767A (en) | Printing reservation system and its control method | |
JP4590155B2 (en) | Printing system and control method thereof | |
JP2007188308A (en) | Printing system and storage medium | |
JP4536996B2 (en) | Printing system and control method thereof | |
JP2024097264A (en) | Program and method for controlling information processor |
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: 20060606 |