(57)【要約】【課題】プリンタの印刷開始位置等の印刷能力の差異を吸収する。【解決手段】各プリンタドライバから取得した基準プリンタ１４Ｓ（プリンタ１４Ａ）と本プリンタ１４Ｐ（プリンタＢ）の印刷能力に基づき、ドライバ管理制御部４４が印刷開始位置のずれ（補正情報）を算出する。当該補正情報に基づき、本プリンタ１４Ｐの印刷開始位置を基準プリンタ１４Ｓの印刷開始位置に一致させて、印刷を実行させる。【選択図】図６
2010003216.tif 000002
【特許請求の範囲】
【請求項１】
所定のプログラムに基づく印刷処理実行時に、少なくともプリンタを指定するための印刷指示情報を受信して、この印刷指示情報に基づいて、指定されたプリンタのプリンタドライバから少なくとも用紙サイズに基づく印刷可能領域及び印刷開始位置を含む印刷能力情報を受信し、前記印刷処理実行中のプログラムの問い合わせに応じて印刷能力情報を返信し、前記印刷処理実行中のプログラムに基づく印刷属性と印刷データを、指定されたプリンタのプリンタドライバへ送信する印刷実行制御手段と、
前記印刷処理実行時に入力される印刷指示情報に基準プリンタ登録情報が含まれている場合、指定されたプリンタを前記登録された基準プリンタに置き換えて、前記基準プリンタのプリンタドライバから前記印刷能力情報を取得する印刷能力情報取得手段と、
前記印刷処理実行時に入力される印刷指示情報に基準プリンタ登録情報が含まれている場合、印刷能力情報取得手段で取得した前記基準プリンタの印刷能力情報を、前記印刷処理実行時のプログラムへ返信するための基準プリンタ印刷能力情報返信手段と、
前記印刷処理実行時に入力される印刷指示情報に基準プリンタ登録情報が含まれている場合、前記基準プリンタの印刷能力情報を返信したときに、前記受信した印刷属性と印刷データとを指定されたプリンタに送る際に、前記印刷属性を対象として、指定されたプリンタの印刷能力を基準プリンタの印刷能力に補正する補正手段と、
を有するプリンタ制御装置。
【請求項２】
前記指定されたプリンタの印刷能力の補正の際、前記指定されたプリンタの能力を超えているか否かを判断する判断手段と、
前記判断手段で判断した結果、能力を超えていると判断された場合に、前記基準プリンタの印刷能力の下で指定されたプリンタが印刷できない旨を報知する報知手段と、
を更に備える請求項１記載のプリンタ制御装置。
【請求項３】
前記判断手段は、判断時期が前記指定されたプリンタの印刷能力の補正の際、或いは指定されたプリンタのプリンタドライバへ印刷属性と印刷データとを送信する際のいずれかの時期である請求項２記載のプリンタ制御装置。
【請求項４】
所定のプログラムに基づく印刷処理実行時に入力される、少なくともプリンタを指定するための印刷指示情報に基準プリンタ登録情報が含まれている場合、前記指定されたプリンタを前記登録された基準プリンタに置き換えて、前記基準プリンタのプリンタドライバから前記印刷能力情報を取得する印刷能力情報取得手段と、
前記印刷指示情報に基準プリンタ登録情報が含まれている場合、前記印刷能力情報取得手段で取得した前記基準プリンタの印刷能力情報を、前記印刷処理実行時のプログラムへ返信するための基準プリンタ印刷能力情報返信手段と、
前記印刷指示情報に基準プリンタ登録情報が含まれている場合、前記基準プリンタの印刷能力情報を返信したとき、前記受信した印刷属性と印刷データとを指定されたプリンタに送る際に、前記印刷属性を対象として、指定されたプリンタの印刷能力を基準プリンタの印刷能力に補正する補正手段と、
を有するプリンタドライバ。
【請求項５】
前記指定されたプリンタの印刷能力の補正の際、前記指定されたプリンタの能力を超えているか否かを判断する判断手段と、
前記判断手段で判断した結果、能力を超えていると判断された場合に、前記基準プリンタの印刷能力の下で指定されたプリンタが印刷できない旨を報知する報知手段と、
を更に備える請求項４記載のプリンタドライバ。
【請求項６】
前記判断手段は、判断時期が前記指定されたプリンタの印刷能力の補正の際、或いは指定されたプリンタへの印刷属性と印刷データとを送信する際のいずれかの時期である請求項５記載のプリンタドライバ。
【請求項７】
所定のプログラムに基づく印刷処理実行時に、少なくともプリンタを指定するための印刷指示情報を受信して、この印刷指示情報に基づいて、指定されたプリンタのプリンタドライバから少なくとも用紙サイズに基づく印刷可能領域及び印刷開始位置を含む印刷能力情報を受信し、前記印刷処理実行中のプログラムの問い合わせに応じて印刷能力情報を返信し、前記印刷処理実行中のプログラムに基づく印刷属性と印刷データを、指定されたプリンタのプリンタドライバへ送信する印刷実行制御工程と、
前記印刷処理実行時に入力される印刷指示情報に基準プリンタ登録情報が含まれている場合、指定されたプリンタを前記登録された基準プリンタに置き換えて、前記基準プリンタのプリンタドライバから前記印刷能力情報を取得する印刷能力情報取得工程と、
前記印刷処理実行時に入力される印刷指示情報に基準プリンタ登録情報が含まれている場合、印刷能力情報取得手段で取得した前記基準プリンタの印刷能力情報を、前記印刷処理実行時のプログラムへ返信する基準プリンタ印刷能力情報返信工程と、
前記印刷処理実行時に入力される印刷指示情報に基準プリンタ登録情報が含まれている場合、前記基準プリンタの印刷能力情報を返信したとき、前記受信した印刷属性と印刷データとを指定されたプリンタに送る際に、前記印刷属性を対象として、指定されたプリンタの印刷能力を基準プリンタの印刷能力に補正する補正工程と、
をコンピュータに実行させるプリンタ制御プログラム。
【請求項８】
前記指定されたプリンタの印刷能力の補正の際、当該指定されたプリンタの能力を超えているか否かを判断する判断工程と、
前記判断工程で判断した結果、能力を超えていると判断された場合に、前記基準プリンタの印刷能力の下で指定されたプリンタが印刷できない旨を報知する報知工程と、
を更に備える請求項７記載のプリンタ制御プログラム。
【請求項９】
前記判断工程は、判断時期が前記指定されたプリンタの印刷能力の補正の際、或いは指定されたプリンタのプリンタドライバへ印刷属性と印刷データとを送信する際のいずれかの時期である請求項８記載のプリンタ制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンタ制御装置及びプリンタ制御プログラムに関するものである。
【背景技術】
【０００２】
プリンタ毎に、印刷用紙の幅寸法や長さ寸法、印刷開始位置のような印刷用紙に関係する情報、プリンタ対応可能フォント数、カラープレーンの数のようなプリンタや描画の能力に関係する情報等が印刷能力として決まっている。これらの印刷能力は、それぞれのプリンタドライバに必須の情報として記憶されている。
【０００３】
一般に、印刷処理の実行を指示するプログラム（アプリケーションプログラム等）は、ＧＤＩ（Graphic Device Interface）を介して、プリンタドライバから印刷能力を取得する。
【０００４】
また、プリンタドライバは、ＧＤＩを介して、印刷処理の実行を指示するプログラム（アプリケーションプログラム等）へ印刷能力を通知する。すなわち、プログラムとプリンタドライバとは、ＧＤＩを介して、通信プロトコルが実現する。
【０００５】
ここで、プログラムが、プリンタドライバから上下左右の印刷できない余白領域の大きさを取得する技術として、特許文献１がある。
【特許文献１】特開２００４−０７０４５５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明は上記事実を考慮し、プリンタの印刷開始位置等の印刷能力の差異を吸収することができるプリンタ制御装置及びプリンタ制御プログラムを得ることが目的である。
【課題を解決するための手段】
【０００７】
請求項１に記載の発明は、所定のプログラムに基づく印刷処理実行時に、少なくともプリンタを指定するための印刷指示情報を受信して、この印刷指示情報に基づいて、指定されたプリンタのプリンタドライバから少なくとも用紙サイズに基づく印刷可能領域及び印刷開始位置を含む印刷能力情報を受信し、前記印刷処理実行中のプログラムの問い合わせに応じて印刷能力情報を返信し、前記印刷処理実行中のプログラムに基づく印刷属性と印刷データを、指定されたプリンタのプリンタドライバへ送信する印刷実行制御手段と、前記印刷処理実行時に入力される印刷指示情報に基準プリンタ登録情報が含まれている場合、指定されたプリンタを前記登録された基準プリンタに置き換えて、前記基準プリンタのプリンタドライバから前記印刷能力情報を取得する印刷能力情報取得手段と、前記印刷処理実行時に入力される印刷指示情報に基準プリンタ登録情報が含まれている場合、印刷能力情報取得手段で取得した前記基準プリンタの印刷能力情報を、前記印刷処理実行時のプログラムへ返信するための基準プリンタ印刷能力情報返信手段と、前記印刷処理実行時に入力される印刷指示情報に基準プリンタ登録情報が含まれている場合、前記基準プリンタの印刷能力情報を返信したときに、前記受信した印刷属性と印刷データとを指定されたプリンタに送る際に、前記印刷属性を対象として、指定されたプリンタの印刷能力を基準プリンタの印刷能力に補正する補正手段と、を有している。
【０００８】
請求項２に記載の発明は、前記請求項１記載の発明において、前記指定されたプリンタの印刷能力の補正の際、前記指定されたプリンタの能力を超えているか否かを判断する判断手段と、前記判断手段で判断した結果、能力を超えていると判断された場合に、前記基準プリンタの印刷能力の下で指定されたプリンタが印刷できない旨を報知する報知手段と、を更に備えている。
【０００９】
請求項３に記載の発明は、前記請求項２に記載の発明において、前記判断手段は、判断時期が前記指定されたプリンタの印刷能力の補正の際、或いは指定されたプリンタのプリンタドライバへ印刷属性と印刷データとを送信する際のいずれかの時期である。
【００１０】
請求項４に記載の発明は、所定のプログラムに基づく印刷処理実行時に入力される、少なくともプリンタを指定するための印刷指示情報に基準プリンタ登録情報が含まれている場合、前記指定されたプリンタを前記登録された基準プリンタに置き換えて、前記基準プリンタのプリンタドライバから前記印刷能力情報を取得する印刷能力情報取得手段と、前記印刷指示情報に基準プリンタ登録情報が含まれている場合、前記印刷能力情報取得手段で取得した前記基準プリンタの印刷能力情報を、前記印刷処理実行時のプログラムへ返信するための基準プリンタ印刷能力情報返信手段と、前記印刷指示情報に基準プリンタ登録情報が含まれている場合、前記基準プリンタの印刷能力情報を返信したとき、前記受信した印刷属性と印刷データとを指定されたプリンタに送る際に、前記印刷属性を対象として、指定されたプリンタの印刷能力を基準プリンタの印刷能力に補正する補正手段と、を有している。
【００１１】
請求項５に記載の発明は、前記請求項４に記載の発明において、前記指定されたプリンタの印刷能力の補正の際、前記指定されたプリンタの能力を超えているか否かを判断する判断手段と、前記判断手段で判断した結果、能力を超えていると判断された場合に、前記基準プリンタの印刷能力の下で指定されたプリンタが印刷できない旨を報知する報知手段と、を更に備えている。
【００１２】
請求項６に記載の発明は、前記請求項５に記載の発明において、前記判断手段は、判断時期が前記指定されたプリンタの印刷能力の補正の際、或いは指定されたプリンタへの印刷属性と印刷データとを送信する際のいずれかの時期である。
【００１３】
請求項７に記載の発明は、所定のプログラムに基づく印刷処理実行時に、少なくともプリンタを指定するための印刷指示情報を受信して、この印刷指示情報に基づいて、指定されたプリンタのプリンタドライバから少なくとも用紙サイズに基づく印刷可能領域及び印刷開始位置を含む印刷能力情報を受信し、前記印刷処理実行中のプログラムの問い合わせに応じて印刷能力情報を返信し、前記印刷処理実行中のプログラムに基づく印刷属性と印刷データを、指定されたプリンタのプリンタドライバへ送信する印刷実行制御工程と、前記印刷処理実行時に入力される印刷指示情報に基準プリンタ登録情報が含まれている場合、指定されたプリンタを前記登録された基準プリンタに置き換えて、前記基準プリンタのプリンタドライバから前記印刷能力情報を取得する印刷能力情報取得工程と、前記印刷処理実行時に入力される印刷指示情報に基準プリンタ登録情報が含まれている場合、印刷能力情報取得手段で取得した前記基準プリンタの印刷能力情報を、前記印刷処理実行時のプログラムへ返信する基準プリンタ印刷能力情報返信工程と、前記印刷処理実行時に入力される印刷指示情報に基準プリンタ登録情報が含まれている場合、前記基準プリンタの印刷能力情報を返信したとき、前記受信した印刷属性と印刷データとを指定されたプリンタに送る際に、前記印刷属性を対象として、指定されたプリンタの印刷能力を基準プリンタの印刷能力に補正する補正工程と、をコンピュータに実行させるプリンタ制御プログラムである。
【００１４】
請求項８に記載の発明は、前記請求項７記載の発明において、前記指定されたプリンタの印刷能力の補正の際、当該指定されたプリンタの能力を超えているか否かを判断する判断工程と、前記判断工程で判断した結果、能力を超えていると判断された場合に、前記基準プリンタの印刷能力の下で指定されたプリンタが印刷できない旨を報知する報知工程と、を更にコンピュータに実行させるプリンタ制御プログラムである。
【００１５】
請求項９に記載の発明は、前記請求項８記載の発明において、前記判断工程は、判断時期が前記指定されたプリンタの印刷能力の補正の際、或いは指定されたプリンタのプリンタドライバへ印刷属性と印刷データとを送信する際のいずれかの時期である。
【発明の効果】
【００１６】
請求項１記載の発明によれば、プリンタの印刷開始位置等の印刷能力の差異を吸収することができる。
【００１７】
請求項２に記載の発明によれば、本構成を有しない場合に比べて、事前に印刷能力判断を行うことができる。
【００１８】
請求項３記載の発明によれば、印刷データ等を送信する前、或いは指定されたプリンタの印刷能力の補正の際のいずれかの時期に判断をすることができる。
【００１９】
請求項４記載の発明によれば、プリンタの印刷開始位置等の印刷能力の差異を吸収することができる。
【００２０】
請求項５に記載の発明によれば、本構成を有しない場合に比べて、事前に印刷能力判断を行うことができる。
【００２１】
請求項６記載の発明によれば、印刷データ等を送信する前、或いは指定されたプリンタの印刷能力の補正の際のいずれかの時期に判断をすることができる。
【００２２】
請求項７記載の発明によれば、プリンタの印刷開始位置等の印刷能力の差異を吸収することができる。
【００２３】
請求項８に記載の発明によれば、本構成を有しない場合に比べて、事前に印刷能力判断を行うことができる。
【００２４】
請求項９記載の発明によれば、印刷データ等を送信する前、或いは指定されたプリンタの印刷能力の補正の際のいずれかの時期に判断をすることができる。
【発明を実施するための最良の形態】
【００２５】
図１は、本実施の形態に係る印刷システム１０の全体構成図である。
【００２６】
図１に示す如く、印刷システム１０では、パーソナルコンピュータ（以下、ＰＣという）１２と、プリンタ１４Ａ、プリンタ１４Ｂとが、ネットワーク１６を介して接続されている。以下、プリンタ１４Ａ、プリンタ１４Ｂを総称する場合、「プリンタ１４」という。なお、本実施の形態では、必要最少限数である２台のプリンタ１４（プリンタ１４Ａ、１４Ｂ）を示したが、前記ネットワーク１６に３台以上のプリンタ１４を接続してもよい。
【００２７】
本実施の形態では、プリンタ１４をネットワーク１６に接続して、ＰＣ１２はプリンタ１４のいずれからでも画像を出力できるようになっている。
【００２８】
ＰＣ１２には、印刷の対象となるデータを作成するアプリケーションプログラム１８や、プリンタ１４Ａ〜Ｂに対応するプリンタドライバ２０Ａ、プリンタドライバ２０Ｂ等のソフトウエアがそれぞれインストールされている。以下、プリンタドライバ２０Ａ、プリンタドライバ２０Ｂを総称する場合、「プリンタドライバ２０」という。
【００２９】
図２に示す如く、ＰＣ１２は、ＣＰＵ２２、ＲＡＭ２４、ＲＯＭ２６、Ｉ／Ｏ（入出力部）２８、及びこれらを接続するデータバスやコントロールバス等のバス３０を有するＰＣ本体３１を有している。
【００３０】
ＰＣ１２の全体の動作を制御するＣＰＵ２２は、ＲＯＭ２６に格納されたアプリケーションプログラム１８（ソフトウエア）や、プリンタドライバ２０等各種プログラムを読み出して、後述する印刷処理等を実行する。なお、当該アプリケーションプログラム等のソフトウエアをＣＤ−ＲＯＭやＩＣメモリ等の着脱可能な記憶媒体に格納して提供することも可能である。
【００３１】
Ｉ／Ｏ２８には、モニタ３２、キーボード３４、マウス３６等の入出力装置が接続されている。なお、これらを総称して「ＵＩ３７」という。本実施の形態では、ＵＩ３７としてモニタ３２、キーボード３４、マウス３６を挙げているが、これに限るものではない。
【００３２】
モニタ３２には、例えば、アプリケーションプログラム１８の実行中の処理画面や指示画面を表示したり、ユーザへ印刷処理に関する情報を報知したりする役目を有している。
【００３３】
ユーザは、このモニタ３２の表示内容を見ながら、キーボード３４やマウス３６を用いて、印刷設定や印刷指示を行ったりする。
【００３４】
また、Ｉ／Ｏ２８には、通信インターフェース（Ｉ／Ｆ）３８を介して、プリンタ１４Ａ、プリンタ１４Ｂが接続されている。
【００３５】
図３には、本実施の形態に係る印刷システム１０の機能ブロック図が示されている。なお、この機能ブロック図は、ハード構成を限定するものではなく、あくまでも、機能別に分類したものである。
【００３６】
本実施の形態に係る印刷システム１０は、印刷を制御する制御系としてアプリケーションプログラム実行部４０と、ＧＤＩ（Graphic Device Interface）４２と、ドライバ管理制御部４４と、プリンタドライバ２０と、を備えている。
【００３７】
アプリケーションプログラム実行部４０は、ＧＤＩ４２に接続されている。また、プリンタドライバ２０はＧＤＩ４２に接続されている。すなわち、アプリケーションプログラム実行部４０は、ＧＤＩ４２を介してプリンタドライバ２０と通信する。
【００３８】
アプリケーションプログラム実行部４０では、アプリケーションプログラム１８に基づいて、モニタ３２に表示させながらユーザがマウス３６やキーボード３４を用いて文書データ等が作成される。なお、アプリケーションプログラムとしては、例えば、ワープロソフトや表計算ソフト、グラフィックスソフト等がある。
【００３９】
また、ＧＤＩ４２とは、例えば、Ｗｉｎｄｏｗｓ（登録商標）に搭載されているグラフィックス処理を行うプログラムで、アプリケーションとデバイスドライバとを結ぶ役割を有する。アプリケーションプログラム実行部４０から印刷等の出力指示があった場合に、ＧＤＩ４２がその指示をプリンタドライバ２０Ａ（又は２０Ｂ）が処理できる形式に変換して、プリンタドライバ２０Ａ（又は２０Ｂ）を起動する。プリンタドライバ２０Ａ（又は２０Ｂ）は前記ＧＤＩ４２の起動に応じた処理を行うことで、印刷が実行される。
【００４０】
ここで、作成したデータを印刷する際に、アプリケーションプログラム実行部４０において、ユーザによって印刷を実行するプリンタ１４の何れかが指定される。この指定は、アプリケーションプログラム実行部４０からＧＤＩ４２を介して、対象となるプリンタ１４のプリンタドライバ２０に出力される。
【００４１】
ＧＤＩ４２に指定されたプリンタドライバ２０は、当該プリンタドライバ２０が制御するプリンタ１４の印刷属性設定画面４６（図４（Ａ）参照）を表示する情報を、ＧＤＩ４２へ返信する。ＧＤＩ４２では、この印刷属性設定画面４６を表示する情報をアプリケーションプログラム実行部４４へ出力し、この結果、モニタ３２に印刷属性設定画面４６が表示可能となる。
【００４２】
図４（Ａ）に示される如く、印刷属性設定画面４６は、項目として用紙サイズ、印刷方向、出力解像度、両面／片面（印刷指定）の属性が表示され、それぞれ表示された右側に指定ボックス５４が配置されている。各指定ボックス５４には、ユーザがキーボード３４やマウス３６等で適宜選定された内容が表示される。例えば、図４（Ａ）では、用紙サイズとして「Ａ４（210mm×29mm）」サイズが選択され、印刷方向として「タテ」方向が選択され、出力解像度として「600dpi」が選択され、両面／片面として「片面」が選択された状態が示されている。
【００４３】
なお、印刷属性として、用紙サイズ、印刷の方向、出力解像度、両面／片面を例に挙げて説明したが、これに限定されるものではない。例えば、出力用紙サイズ、カラーモード、トレイ／排出等であってもよい。
【００４４】
アプリケーションプログラム実行部４０において、印刷実行処理を行うと、印刷属性設定画面４６がＰＣ１２のモニタ３２に表示され、ユーザは印刷属性の設定をすることができる。
【００４５】
図３に示される如く、アプリケーションプログラム実行部４０は、ユーザによって印刷属性設定画面４６で設定された印刷属性を、ＧＤＩ４２へ出力する。ＧＤＩ４２は、プリンタドライバ２０へ印刷属性を出力する。
【００４６】
プリンタドライバ２０は、印刷属性に応じて印刷能力を、ＧＤＩ４２へ出力する。ＧＤＩ４２は、プリンタ１４の印刷能力を、アプリケーションプログラム実行部４０の問い合わせに応じて返信する。
【００４７】
なお、印刷能力としては、具体的には用紙の幅、用紙の長さ、印刷開始位置（印刷原点座標（Ｘ、Ｙ））、印刷可能領域の幅、印刷可能領域の長さ、幅方向の解像度、長さ方向の解像度等、印刷用紙に関係する情報や、プリンタ搭載フォント数、カラープレーンの数、曲線のサポートの有無、塗りつぶしのサポートの有無等、プリンタや描写の能力に関係する情報が含まれている。
【００４８】
アプリケーションプログラム実行部４０は、取得したプリンタ１４の印刷能力に基づき、印刷データのレイアウトを行う。ここで、アプリケーションプログラム実行部４０が、取得した印刷能力のすべてを考慮できるなら、印刷開始位置をアプリケーションが補正すればすむため、本発明は必要がないこととなる。しかし、プリンタドライバ２０から印刷能力を取得せずに印刷データを基準プリンタ１４Ｓにあわせて作成してしまっている場合や、取得した印刷能力の一部しか考慮せず、印刷開始位置を考慮せずに印刷データを作成してしまっていて、取得した能力に応じた印刷開始位置を変更できない場合等が本発明の効果が十分発揮できる対象となる。
【００４９】
アプリケーションプログラム実行部４０は、印刷データを含む印刷指示情報を、ＧＤＩ４２を介してプリンタドライバ２０へ出力する。
【００５０】
各プリンタドライバ２０は、それぞれスプーラ５０と接続されている。プリンタ１４のプリンタドライバ２０は、印刷データを含む印刷指示情報をプリンタ１４のプリンタ言語に変換する。プリンタドライバ２０は、変換した印刷指示情報をスプーラ５０へ出力し、スプーラ５０に一時的に保存される。
【００５１】
スプーラ５０は、ポート５２を介して各プリンタ１４と接続されている。スプーラ５０は、プリンタ１４の印刷状況に応じて、印刷指示情報をプリンタ１４へ出力し、印刷がなされる。
【００５２】
ところで、本実施の形態では、ドライバ管理制御部４４により、印刷属性設定画面４６に対して、新たな項目を追加している（図４（Ａ）参照）。
【００５３】
この新たな項目は、基準プリンタであり、既存の項目と同様に基準プリンタ１４Ｓを選択する基準プリンタ指定ボックス４８が設けられている。
【００５４】
基準プリンタ１４Ｓとは、ネットワーク１６上に接続された複数のプリンタ１４の内、ユーザが任意に定めるものであり、本実施の形態では、以下、基準プリンタ１４Ｓをプリンタ１４Ａ、指定されたプリンタ（以下「本プリンタ１４Ｐ」という）をプリンタ１４Ｂとして説明する。
【００５５】
図３に示される如く、ドライバ管理制御部４４は、プリンタドライバ２０ＢとＧＤＩ４２とに接続されている。プリンタドライバ２０Ｂがアプリケーションプログラム実行部４０と通信を行う際に、ドライバ管理制御部４４は両者の間に介在して処理を行った後、ＧＤＩ４２を介してアプリケーションプログラム実行部４０へ送信する。
【００５６】
本実施の形態において、プリンタ１４Ｂが指定された場合（本プリンタ１４Ｐ）、ＧＤＩ４２は本プリンタ１４Ｐ（プリンタ１４Ｂ）のプリンタドライバ２０Ｂを起動し、プリンタドライバ２０Ｂはドライバ管理制御部４４を起動する。
【００５７】
また、前記基準プリンタ指定ボックス４８に、プリンタＡを選択し、登録するときには、図４（Ｂ）のようなプルダウンメニュー画面５６が表示されるようになっている。
【００５８】
プルダウンメニュー画面５６の登録プリンタ表示領域５８には、ネットワーク１６に接続されたプリンタ１４（ここでは、Ａ〜Ｄ）が表示される。なお、プリンタ１４Ｃ、１４Ｄは図１〜図３では図示を省略している。
【００５９】
このプルダウンメニュー画面５６の登録プリンタ表示領域５８から何れかのプリンタ１４を選択することで、決定表示領域６０に選択されたプリンタ１４Ａが表示される。なお、この決定表示領域６０は、前記図４（Ａ）の基準プリンタ指定ボックス４８と共通であってもよい（基準プリンタ指定ボックス４８の下方に登録プリンタ表示領域５８が表示される形態）。また、前回使用したプリンタ１４を、予め決定表示領域６０に表示させておいてもよい。
【００６０】
図３に示される如く、ドライバ管理制御部４４では、ＧＤＩ４２を介してアプリケーションプログラム実行部４０から、ユーザによって設定された印刷属性を受け取る。印刷属性の各項目のうち、基準プリンタ登録情報に基準プリンタ１４Ｓ（プリンタ１４Ａ）が選択されているとき、ドライバ管理制御部４４はＧＤＩ４２を介して基準プリンタ１４Ｓ（プリンタ１４Ａ）の印刷能力を問い合わせる。ドライバ管理制御部４４は、基準プリンタ１４Ｓ（プリンタ１４Ａ）のプリンタドライバ２０Ａから基準プリンタ１４Ｓ（プリンタ１４Ａ）の印刷能力を取得するようになっている。
【００６１】
また、本プリンタ１４Ｐ（プリンタ１４Ｂ）のプリンタドライバ２０Ｂは、ドライバ管理制御部４４が取得した基準プリンタ１４Ｓ（プリンタ１４Ａ）の印刷能力を本プリンタ１４Ｐ（プリンタ１４Ｂ）の印刷能力としてＧＤＩ４２に返信する。これにより、一時的に基準プリンタ１４Ｓ（プリンタ１４Ａ）が指定されたものとされる。
【００６２】
さらに、ＧＤＩ４２では、前記返信に対して、アプリケーションプログラム実行部４０から印刷データを含む印刷指示情報が入力されると、本プリンタ１４Ｐ（プリンタ１４Ｂ）のプリンタドライバ２０へ印刷属性と印刷データとを送信する役目を有している。
【００６３】
すなわち、本プリンタ１４Ｐ（プリンタ１４Ｂ）のプリンタドライバ２０Ｂは、基準プリンタ１４Ｓ（プリンタ１４Ａ）が選択されているプリンタ１４Ｐ（プリンタ１４Ｂ）が指定された場合に、ドライバ管理制御部４４によって、定常の調停制御とは異なる、非定常の調停制御（置き換え制御）が実行されることになる。
【００６４】
この本プリンタ１４Ｐと基準プリンタ１４Ｓとの置き換えの目的は、主として印刷用紙６２の印刷開始位置の調整にある。
【００６５】
例えば、図５（Ａ）に示される如く、プリンタ１４Ａ（図１、図２参照）の印刷開始位置（印刷原点ＰＧＡ）は、Ａ４サイズ（縦）左上角部から横Ｘ：７ｍｍ×縦Ｙ：７ｍｍの位置であり、仮に図５（Ｃ）に示される如く、印刷用紙６２に予め罫線６４が印刷されている場合には、この印刷開始位置は重要な印刷属性の要素となる。
【００６６】
すなわち、印刷開始位置がずれると、前記罫線６４の枠内の所定位置に印刷されない、或いは最悪の場合は罫線６４から文字等がはみ出る可能性がある。
【００６７】
この罫線６４が予め印刷されている印刷用紙６２を用いる場合は、プリンタ１４Ａを利用している限りは、罫線６４からずれることなく印刷することができる。
【００６８】
ところが、このプリンタ１４Ａが何らかの不具合により使用不能になったとき、替わりとしてプリンタ１４Ｂを使う場合がある。或いは、同一の印刷指示に基づきプリンタ１４Ａ以外のプリンタ（例えば、プリンタ１４Ｂ）を並行処理させる場合がある。
【００６９】
このとき、プリンタ１４Ａとプリンタ１４Ｂの印刷開始位置が異なっていると、印刷用紙６２の罫線６４の枠内に正しく印刷情報（印刷データ）が印刷されないことがある。
【００７０】
すなわち、図５（Ｂ）に示される如く、プリンタ１４Ｂ（図１、図２参照）の印刷開始位置（印刷原点ＰＧＢ）は、Ａ４サイズ（縦）左上角部から横Ｘ：５ｍｍ×縦Ｙ：５ｍｍであり、前記プリンタ１４Ａに対して、縦横方向それぞれ２ｍｍずれている。このずれが、罫線に正しく印刷されない要因となる。
【００７１】
そこで、ドライバ管理制御部４４は、プリンタ１４Ａとプリンタ１４Ｂとの印刷開始位置相対差を相殺している。
【００７２】
このため、図３に示される如く、アプリケーションプログラム実行部４０が本プリンタ１４Ｐ（プリンタ１４Ｂ）を指定すると、本プリンタ１４Ｐ（プリンタ１４Ｂ）のプリンタドライバ２０Ｂ（プリンタ１４Ｂ用）がＧＤＩ４２に起動される。また、アプリケーションプログラム実行部４０から送信される印刷属性の中に基準プリンタ１４Ｓ（プリンタ１４Ａ）が登録されている場合、ドライバ管理制御部４４は、ＧＤＩ４２を介して、プリンタドライバ２０Ａ（プリンタ１４Ａ用）に対して、印刷指示情報に基づく印刷能力を送信するように指示をする。
【００７３】
この結果、プリンタドライバ２０Ｂでは、プリンタドライバ２０Ａに基づく印刷能力をＧＤＩ４２へ返信し、ＧＤＩ４２では、受信したプリンタドライバ２０Ａに基づくプリンタ１４Ａの印刷能力をアプリケーションプログラム実行部４０の問い合わせに応じて送出する。
【００７４】
アプリケーションプログラム実行部４０は、受け取ったプリンタ１４Ａ（基準プリンタ１４Ｓ）の印刷能力に基づいて、印刷データのレイアウトを行う。
【００７５】
これにより、アプリケーションプログラム実行部４０は、「指定したプリンタ１４Ｂで基準となるプリンタ１４Ａと同等のレイアウトをすればよい」ことになる。
【００７６】
すなわち、「印刷データのレイアウトを変更する必要がない」ことになる。
【００７７】
次に、アプリケーションプログラム実行部４０は、印刷データを含む印刷指示命令を、ＧＤＩ４２を介して印刷を実行するプリンタドライバ２０Ｂへ送信する。
【００７８】
ドライバ管理制御部４４は、プリンタ１４Ｂとプリンタ１４Ａの印刷能力のうち、印刷開始位置のずれを算出する。
【００７９】
すなわち、ドライバ管理制御部４４は、算出した印刷開始位置のずれに基づき、プリンタ１４Ｂ（本プリンタ１４Ｐ）の印刷開始位置（印刷原点ＰＧＢ）をプリンタ１４Ａ（基準プリンタ１４Ｓ）の印刷開始位置（印刷原点ＰＧＡ）に一致させる補正情報を算出し、これをプリンタドライバ２０Ｂへ送出する。  プリンタドライバ２０Ｂは、アプリケーションプログラム実行部４０から取得した印刷データを含む印刷指示命令に、ドライバ管理制御部４４が算出した前記補正情報を加味した印刷命令をスプーラ５０へ送信する。その後、スプーラ５０からポート５２を介してプリンタ１４Ｂへ送られる。補正情報を加味した印刷命令に従って印刷が実行され、終了する。
【００８０】
これにより、アプリケーションプログラム実行部４０は、「指定したプリンタ１４Ｂで基準となるプリンタ１４Ａと同等の印刷結果が得られる」ことになる。
【００８１】
すなわち、ドライバ管理制御部４４によって、プリンタドライバ２０Ｂは、ＧＤＩ４２に対して、あたかも当該アプリケーションプログラム実行部４０から指定されたプリンタ（プリンタ１４Ａ）の印刷能力であるかのように立ち振る舞うことで、前記アプリケーションプログラム実行部４０で実行されるアプリケーションプログラム１８を変更することなく、プリンタ間の印刷開始位置ずれを補正している。
【００８２】
以下に本実施の形態の作用を図６の印刷処理を示すシーケンス図に従い説明する。
【００８３】
なお、以下では基準プリンタ１４Ｓをプリンタ１４Ａとし、本プリンタ１４Ｐをプリンタ１４Ｂとする。
【００８４】
ステップ２００において、ユーザの指示により印刷処理が開始される。
【００８５】
ステップ２０２では、アプリケーションプログラム実行部４０において、本プリンタ１４Ｐ（プリンタ１４Ｂ）が指定される。この指定は、ユーザがモニタ３２に表示された印刷指示画面を見ながら実行するものであり、ネットワーク１６に接続されたプリンタ１４（プリンタ１４Ａ、１４Ｂ）の中から印刷を実行すべき本プリンタ１４Ｐ（プリンタ１４Ｂ）を指定する。本プリンタ１４Ｐ（プリンタ１４Ｂ）の指定は、ＧＤＩ４２を介して、本プリンタ１４Ｐ（プリンタ１４Ｂ）のプリンタドライバ２０Ｂへ通知される（ステップ２０３）。
【００８６】
次のステップ２０４では、本プリンタ１４Ｐ（プリンタ１４Ｂ）のプリンタドライバ２０Ｂからドライバ管理制御部４４へ、ＧＤＩ４２へ送信するための、プリンタ１４Ｂの印刷属性設定画面４６を表示する情報が送信される。
【００８７】
ドライバ管理制御部４４では、受け取った印刷属性設定画面４６を表示する情報に基準プリンタ指定ボックス４８を設置する（ステップ２０６）。
【００８８】
同時に、ドライバ管理制御部４４は、ネットワーク１６上にあるプリンタ一覧をＧＤＩ４２を介して獲得し、ＧＤＩ４２送信する（ステップ２０７）。これは、登録プリンタ表示領域５８に表示するプリンタ一覧であり、プリンタ１４Ｂの印刷属性設定画面４６を表示する情報の一部となる。
【００８９】
ＧＤＩ４２は、基準プリンタ指定ボックス４８を設けた印刷属性設定画面４６を表示する情報に、ネットワーク１６上のプリンタ一覧を加え、アプリケーションプログラム実行部４０へ送信する（ステップ２０８）。
【００９０】
アプリケーションプログラム実行部４０は、本プリンタ１４Ｐ（プリンタ１４Ｂ）の印刷属性設定画面４６を表示する情報を取得すると、ＰＣ１２のモニタ３２に印刷属性設定画面４６を表示する（ステップ２１０）。
【００９１】
ユーザはモニタ３２に表示された印刷属性設定画面４６を見ながら印刷属性を設定する（ステップ２１１）。ここで、ユーザは、登録プリンタ表示領域５８に表示されたプリンタ一覧から基準となる基準プリンタ１４Ｓ（プリンタ１４Ａ）を選択する場合がある。
【００９２】
アプリケーションプログラム実行部４０は、基準プリンタ１４Ｓ（プリンタ１４Ａ）の選択情報を含む印刷属性を、ＧＤＩ４２を介してドライバ管理制御部４４へ送信する（ステップ２１２）。
【００９３】
ドライバ管理制御部４４では、ＧＤＩ４２から取得した印刷属性の中から、基準プリンタ１４Ｓ（プリンタ１４Ａ）の選択情報を読み取る（ステップ２１４）。本実施の形態では基準プリンタ１４Ｓとしてプリンタ１４Ａが選択されているので、ドライバ管理制御部４４は、ＧＤＩ４２を介してプリンタドライバ２０Ａへ印刷能力を問い合わせる（ステップ２１６）。
【００９４】
プリンタドライバ２０Ａは、ドライバ管理制御部４４からの問い合わせに基づいて、プリンタ１４Ａの印刷能力（例えば、用紙サイズ、印刷禁止領域、印刷可能領域等の情報）をＧＤＩ４２を介してドライバ管理制御部４４へ送信する（ステップ２１７）。
【００９５】
このとき、ドライバ管理制御部４４では、取得した基準プリンタ１４Ｓ（プリンタ１４Ａ）の印刷能力が、本プリンタ１４Ｐ（プリンタ１４Ｂ）で対応できるか否かを判断し（ステップ２１８）、対応できない場合は警告等のメッセージを出力し、ユーザへ報知する。
【００９６】
印刷能力を判断するには、各プリンタ１４の印刷可能領域と印刷禁止領域とが重要となる。本実施の形態では、図５（Ａ）、（Ｂ）に示す如く、プリンタ１４Ｂ（本プリンタ１４Ｐ）の印刷開始位置をプリンタ１４Ａ（基準プリンタ１４Ｓ）の印刷開始位置（印刷原点ＰＧＡ）として印刷を開始しても、プリンタ１４Ａの印刷可能領域はプリンタ１４Ｂの印刷可能領域内に収まる。言い換えると、プリンタ１４Ｂの印刷禁止領域にプリンタ１４Ａの印刷可能領域が重ならないため、プリンタ１４Ａ（基準プリンタ１４Ｓ）の印刷能力がプリンタ１４Ｂ（本プリンタ１４Ｐ）で対応できるということとなる。
【００９７】
一方、プリンタ１４Ｂ（本プリンタ１４Ｐ）で対応できる場合は、ドライバ管理制御部４４は、取得したプリンタ１４Ａ（基準プリンタ１４Ｓ）の印刷能力をＧＤＩ４２に返信する。ＧＤＩ４２は取得したプリンタ１４Ａ（基準プリンタ１４Ｓ）の印刷能力をアプリケーションプログラム実行部４０の印刷能力の問い合わせに応じて送信する（ステップ２２０）。
【００９８】
さらに、ドライバ管理制御部４４は、プリンタ１４Ｂとプリンタ１４Ａの印刷能力のうち、印刷開始位置のずれを算出する（ステップ２２１）。
【００９９】
すなわち、ドライバ管理制御部４４は、算出した印刷開始位置のずれに基づき、プリンタ１４Ｂ（本プリンタ１４Ｐ）の印刷開始位置（印刷原点ＰＧＢ）をプリンタ１４Ａ（基準プリンタ１４Ｓ）の印刷開始位置（印刷原点ＰＧＡ）に一致させる補正情報を算出し、これをプリンタドライバ２０Ｂへ送出する（ステップ２２２）。
【０１００】
また、前記アプリケーションプログラム実行部４０は、ステップ２１９で受け取ったプリンタ１４Ａ（基準プリンタ１４Ｓ）の印刷能力に基づいて、印刷データのレイアウトを行う（ステップ２２４）。次に、アプリケーションプログラム実行部４０は、印刷データを含む印刷指示命令を、ＧＤＩ４２を介して印刷を実行するプリンタドライバ２０Ｂへ送信する（ステップ２２６）。
【０１０１】
プリンタドライバ２０Ｂは、アプリケーションプログラム実行部４０から取得した印刷データを含む印刷指示命令に、ドライバ管理制御部４４が算出した前記補正情報を加味した印刷命令をスプーラ５０へ送信する（ステップ２２８）。その後、スプーラ５０からポート５２を介してプリンタ１４Ｂへ送られる。印刷が実行され、終了する。
【０１０２】
なお、本実施例ではプリンタ１４Ａとプリンタ１４Ｂとの印刷開始位置に縦横２ｍｍの差があることを前提に説明したが（図５参照）、この印刷開始位置の位置ずれを一致させる手段を一般化すると以下のようになる。
【０１０３】
ドライバ管理制御部４４が算出する印刷開始位置を一致させる手段としては、印刷開始位置を変更する方法と、印刷データ自体をシフトする方法がある。
【０１０４】
図７に示される如く、例えば、基準プリンタ１４Ｓの幅方向の印刷禁止領域ＸＡ、長さ方向の印刷禁止領域ＹＡ（印刷原点（ＸＡ、ＹＡ））であり（図７（Ａ）参照）、本プリンタ１４Ｐの幅方向の印刷禁止領域ＸＢ、長さ方向の印刷禁止領域ＹＢ（印刷原点（ＸＢ、ＹＢ））であるとする（図７（Ｂ）参照）。
【０１０５】
印刷開始位置を変更する方法としては、このときの印刷原点の差分（ＸＡ−ＸＢ、ＹＡ−ＹＢ）だけ、本プリンタ１４Ｐの印刷開始位置を移動させることで、基準プリンタ１４Ｓの印刷開始位置と一致させる（図７（Ｃ）参照）。このとき、実行条件として、ＸＡ≧ＸＢ、ＹＡ≧ＹＢである。
【０１０６】
一方、印刷データ自体をシフトする方法としては、印刷開始位置のずれ位置に空白データを埋め込み、印刷データを基準プリンタ１４Ｓの印刷開始位置までシフトさせることで、基準プリンタ１４Ｓの印刷開始位置を一致させる（図７（Ｄ）の領域Ｄ１、Ｄ２参照）。
【０１０７】
また、本実施の形態では、印刷制御システムにおいて、後付でドライバ管理制御部４４を実現するソフトウエアをインストールする構成としたが、最初からプリンタドライバ２０Ｂに前記ドライバ管理制御部４４を実現する機能を搭載するようにしてもよい（図８参照）。これによりドライバ管理制御部４４が予め基準プリンタ指定ボックス４８を設けた印刷属性設定画面４６を表示する情報を生成して保存しておくことができる。
【０１０８】
さらに、ドライバ管理制御部４４では、本プリンタ１４Ｐの能力が基準プリンタ１４Ｓの印刷能力に対応できない場合、警告などのメッセージを報知するようにしたが、印刷を一旦中止し、印刷開始位置ずれがあっても印刷するか否かをユーザに委ねるようにしてもよい。
【図面の簡単な説明】
【０１０９】
【図１】本実施の形態に係る印刷システムの全体構成図である。
【図２】本実施の形態に係る印刷システムのハード構成を示すブロック図である。
【図３】本実施の形態に係る印刷システムの機能ブロック図である。
【図４】本実施の形態に係る印刷システムの印刷属性設定画面を表す図である。
【図５】本実施の形態に係るプリンタＡ、プリンタＢの印刷可能領域、印刷開始位置
【図６】本実施の形態に係る印刷システムの印刷処理を示すシーケンス図である。置を表す図である。
【図７】本実施の形態に係る印刷システムの、（Ａ）は基準プリンタ１４Ｓの印刷可能領域、印刷開始位置を示す図、（Ｂ）は本プリンタ１４Ｐの印刷可能領域、印刷開始位置を示す図、（Ｃ）は印刷開始位置を変更して印刷をする図、（Ｄ）は印刷データ自体をシフトする図である。
【図８】本実施の形態に係る印刷システムの変形例を示す機能ブロック図である。
【符号の説明】
【０１１０】
１０    印刷システム
１２    ＰＣ
１３    ＰＣ本体
１４    プリンタ
１４Ａ  プリンタＡ
１４Ｂ  プリンタＢ
１６    ネットワーク
１８    アプリケーションプログラム
２０    プリンタドライバ
２０Ａ  プリンタドライバＡ
２０Ｂ  プリンタドライバＢ
２２    ＣＰＵ
２４    ＲＡＭ
２６    ＲＯＭ
２８    Ｉ／Ｏ
３０    バス
３２    モニタ
３４    キーボード
３６    マウス
３７    ＵＩ
３８    Ｉ／Ｆ
４０    アプリケーションプログラム実行部
４２    ＧＤＩ（印刷実行制御手段、印刷能力情報取得手段、基準プリンタ印刷能力情報返信手段）
４４    ドライバ管理制御部（印刷能力情報取得手段、基準プリンタ印刷能力情報返信手段、補正手段）
４６    印刷属性設定画面
４８    基準プリンタ指定ボックス
５０    スプーラ
５２    ポート
５４    指定ボックス
５６    プルダウンメニュー画面
５８    登録プリンタ表示領域
６０    決定表示領域
６２    印刷用紙
６４    罫線
【図１】
2010003216.tif 000003
【図２】
2010003216.tif 000004
【図３】
2010003216.tif 000005
【図４】
2010003216.tif 000006
【図５】
2010003216.tif 000007
【図６】
2010003216.tif 000008
【図７】
2010003216.tif 000009
【図８】
2010003216.tif 000010