(57)【要約】【課題】アプリケーションにより生成された、特定のプリンタでないと正常な位置や大きさで印刷できない印刷データを、複雑な印刷設定をすることなく、別のプリンタを用いても正常に印刷させることができる。【解決手段】第１のプリンタに係る第１の印刷設定構成情報と、第２のプリンタに係る第２の印刷設定構成情報とが記憶された印刷設定情報記憶部を備え、アプリケーションプログラムから出力される印刷データを、前記第２のプリンタに印刷させるプリンタ制御装置において、第１印刷設定情報取得手段と、印刷設定情報応答手段と、第２印刷設定情報取得手段と、印刷データ生成手段と、印刷データ送信手段と、を備える。【選択図】図１
2010140224.tif 000002
【特許請求の範囲】
【請求項１】
第１のプリンタに係る第１の印刷設定構成情報と、第２のプリンタに係る第２の印刷設定構成情報とが記憶された印刷設定情報記憶部を備え、アプリケーションプログラムから出力される印刷データを、前記第２のプリンタに印刷させるプリンタ制御装置であって、
前記第１のプリンタを制御するプリンタドライバを利用者に選択させる画面を前記表示部に表示させ、前記利用者による選択に基づいて、前記印刷設定情報記憶部から前記第１の印刷設定構成情報を取得する第１印刷設定情報取得手段と、
前記アプリケーションプログラムからの要求に応じて、前記第１の印刷設定構成情報を前記アプリケーションプログラムに提供する印刷設定情報応答手段と、
前記印刷設定情報記憶部に記憶された前記第２の印刷設定構成情報を取得する第２印刷設定情報取得手段と、
前記第１の印刷設定構成情報と前記第２の印刷設定構成情報との差異を補正するための補正値を算出し、前記アプリケーションプログラムにより生成された印刷データを前記補正値で補正する印刷データ生成手段と、
補正後の前記印刷データを前記第２のプリンタに送信する印刷データ送信手段と、
を備えることを特徴とするプリンタ制御装置。
【請求項２】
前記第１の印刷設定構成情報および前記第２の印刷設定構成情報は、プリンタの印刷能力を示す情報であり、プリンタに印刷される用紙サイズ、印刷時の解像度、および印刷時に用紙を給紙する向きの組み合わせであることを特徴とする請求項１に記載されたプリンタ制御装置。
【請求項３】
第１のプリンタに係る第１の印刷設定構成情報と、第２のプリンタに係る第２の印刷設定構成情報とが記憶された印刷設定情報記憶部を備え、アプリケーションプログラムから出力される印刷データを、前記第２のプリンタに印刷させるプリンタ制御方法であって、
前記第１のプリンタを制御するプリンタドライバを利用者に選択させる画面を前記表示部に表示させ、前記利用者による選択に基づいて、前記印刷設定情報記憶部から前記第１の印刷設定構成情報を取得する第１印刷設定情報取得ステップと、
前記アプリケーションプログラムからの要求に応じて、前記第１の印刷設定構成情報を前記アプリケーションプログラムに提供する印刷設定情報応答ステップと、
前記印刷設定情報記憶部に記憶された前記第２の印刷設定構成情報を取得する第２印刷設定情報取得ステップと、
前記第１の印刷設定構成情報と前記第２の印刷設定構成情報との差異を補正するための補正値を算出し、前記アプリケーションプログラムにより生成された印刷データを前記補正値で補正する印刷データ生成ステップと、
補正後の前記印刷データを前記第２のプリンタに送信する印刷データ送信ステップと、
を有することを特徴とするプリンタ制御方法。
【請求項４】
第１のプリンタに係る第１の印刷設定構成情報と、第２のプリンタに係る第２の印刷設定構成情報とが記憶された印刷設定情報記憶部を備え、アプリケーションプログラムから出力される印刷データを、前記第２のプリンタに印刷させるコンピュータに用いられるプログラムであって、
前記第１のプリンタを制御するプリンタドライバを利用者に選択させる画面を前記表示部に表示させ、前記利用者による選択に基づいて、前記印刷設定情報記憶部から前記第１の印刷設定構成情報を取得する第１印刷設定情報取得ステップと、
前記アプリケーションプログラムからの要求に応じて、前記第１の印刷設定構成情報を前記アプリケーションプログラムに提供する印刷設定情報応答ステップと、
前記印刷設定情報記憶部に記憶された前記第２の印刷設定構成情報を取得する第２印刷設定情報取得ステップと、
前記第１の印刷設定構成情報と前記第２の印刷設定構成情報との差異を補正するための補正値を算出し、前記アプリケーションプログラムにより生成された印刷データを前記補正値で補正する印刷データ生成ステップと、
補正後の前記印刷データを前記第２のプリンタに送信する印刷データ送信ステップと、
をコンピュータに実行させるプリンタドライバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションプログラムからの印刷要求に応じて、印刷データを、プリンタに印刷させるコンピュータとして機能させるためのプリンタ制御装置およびプリンタ制御方法、ならびにプリンタドライバに関する。
【背景技術】
【０００２】
プリンタは、プリンタドライバを介して、アプリケーションプログラムにより作成された印刷データを受信してから印刷している。
また、プリンタを多様なアプリケーションプログラムに対応させるために、プリンタドライバが複数のファームウエアを有していて、アプリケーションプログラムの要求とプリンタの仕様とをプリンタドライバが把握した上で、最適と判断したファームウエアをプリンタへダウンロードする方法がある。この方法によれば、プリンタは、プリンタ内に種々のファームウエアを備えておくことなく、多様なアプリケーションプログラムに対応することが可能である。
【０００３】
しかし、ある特定のプリンタの仕様に合わせてアプリケーションプログラムが作成する印刷データを、他のプリンタへ印刷する場合において、印刷位置がずれてしまうという問題があり、特定のプリンタと同じ印刷結果を得ることができなかった。
例えば、図８（ａ）に示すように『日付、名前、住所』を所定の枠内に印刷する場合、プリンタ毎の設定の違いにより、図８（ｂ）に示すように、枠線上に印刷されてしまい、名前は「富士本健」と「富士本健一」とのどちらなのか、住所は「二丁目」と「三丁目」とのどちらなのかが、一見しただけでは判断できないことがあった。さらに、印刷した用紙をスキャナで読み取り、ＯＣＲ（Optical Character Recognition）ソフトで文字認識を行った場合、識字率が低かった。
【０００４】
そのため、プリンタに対して当該プリンタの仕様に対応している第一の印刷モードを設定し、第一の印刷モードに対応していないアプリケーションに対しては、アプリケーションが対応している第二の印刷モードを設定することを前提とし、アプリケーションが第二の印刷モードに基づいて作成した印刷データを、第一の印刷モードが設定されているプリンタに対し印刷可能な印刷データに変換し、変換後の印刷データをプリンタに印刷させるプリンタの制御方法が開示されている（特許文献１）。
【０００５】
以上より、ある特定のプリンタの仕様に合わせてアプリケーションが作成する印刷データであっても、当該印刷データを他の仕様のプリンタに対応した印刷データに変換することにより、特定のプリンタ以外の別のプリンタでも印刷データを印刷することができる。
【０００６】
【特許文献１】特開２００７−２５８４５公開（段落［０００２］〜［０００７］）
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、従来のプリンタの制御方法では、前提として、プリンタに対して当該プリンタが対応している第一の印刷モードの設定と、アプリケーションに対して当該アプリケーションが対応している第二の印刷モードの設定とを行う必要があった。
そして、当該印刷モード（印刷設定）の設定作業は自動で行われないため、複雑な印刷設定作業を利用者自身が手動で行う必要があり、非常に手間がかかるものであった。
例えば、図８（ａ）に示すように『日付、名前、住所』を所定の枠内に印刷する場合、第一の印刷モードの設定と、第二の印刷モードの設定との組み合わせを考慮しなければならず、印刷時の微調整が困難であった。
このため、従来のプリンタの制御方法では、手動で行う印刷設定が複雑であり、印刷時の微調整が困難であるという課題があった。
【０００８】
本発明は、以上のような課題を解決するためになされたものであり、アプリケーションにより生成された、特定のプリンタでないと正常な位置や大きさで印刷できないような印刷データを、複雑な印刷設定をすることなく、別のプリンタを用いても正常に印刷させることができるコンピュータとして機能させるためのプリンタ制御装置およびプリンタ制御方法、ならびにプリンタドライバを提供することを目的とする。
【課題を解決するための手段】
【０００９】
前記目的を達成するために、本発明のプリンタ制御装置は、第１のプリンタに係る第１の印刷設定構成情報と、第２のプリンタに係る第２の印刷設定構成情報とが記憶された印刷設定情報記憶部を備え、アプリケーションプログラムから出力される印刷データを、前記第２のプリンタに印刷させるプリンタ制御装置において、前記第１のプリンタを制御するプリンタドライバを利用者に選択させる画面を前記表示部に表示させ、前記利用者による選択に基づいて、前記印刷設定情報記憶部から前記第１の印刷設定構成情報を取得する第１印刷設定情報取得手段と、前記アプリケーションプログラムからの要求に応じて、前記第１の印刷設定構成情報を前記アプリケーションプログラムに提供する印刷設定情報応答手段と、前記印刷設定情報記憶部に記憶され、前記第２の印刷設定構成情報を取得する第２印刷設定情報取得手段と、前記第１の印刷設定構成情報と前記第２の印刷設定構成情報との差異を補正するための補正値を算出し、前記アプリケーションプログラムにより生成された印刷データを前記補正値で補正する印刷データ生成手段と、補正後の前記印刷データを前記第２のプリンタに送信する印刷データ送信手段と、を備えることを特徴とする。
【００１０】
前記目的を達成するために、本発明のプリンタ制御方法は、第１のプリンタに係る第１の印刷設定構成情報と、第２のプリンタに係る第２の印刷設定構成情報とが記憶された印刷設定情報記憶部を備え、アプリケーションプログラムから出力される印刷データを、前記第２のプリンタに印刷させるプリンタ制御方法において、前記第１のプリンタを制御するプリンタドライバを利用者に選択させる画面を前記表示部に表示させ、前記利用者による選択に基づいて、前記印刷設定情報記憶部から前記第１の印刷設定構成情報を取得する第１印刷設定情報取得ステップと、前記アプリケーションプログラムからの要求に応じて、前記第１の印刷設定構成情報を前記アプリケーションプログラムに提供する印刷設定情報応答ステップと、前記印刷設定情報記憶部に記憶され、前記第２の印刷設定構成情報を取得する第２印刷設定情報取得ステップと、前記第１の印刷設定構成情報と前記第２の印刷設定構成情報との差異を補正するための補正値を算出し、前記アプリケーションプログラムにより生成された印刷データを前記補正値で補正する印刷データ生成ステップと、補正後の前記印刷データを前記第２のプリンタに送信する印刷データ送信ステップと、を有することを特徴とする。
【００１１】
前記目的を達成するために、本発明のプリンタドライバは、第１のプリンタに係る第１の印刷設定構成情報と、第２のプリンタに係る第２の印刷設定構成情報とが記憶された印刷設定情報記憶部を備え、アプリケーションプログラムから出力される印刷データを、前記第２のプリンタに印刷させるコンピュータに用いられるプログラムにおいて、前記第１のプリンタを制御するプリンタドライバを利用者に選択させる画面を前記表示部に表示させ、前記利用者による選択に基づいて、前記印刷設定情報記憶部から前記第１の印刷設定構成情報を取得する第１印刷設定情報取得ステップと、前記アプリケーションプログラムからの要求に応じて、前記第１の印刷設定構成情報を前記アプリケーションプログラムに提供する印刷設定情報応答ステップと、前記印刷設定情報記憶部に記憶された前記第２の印刷設定構成情報を取得する第２印刷設定情報取得ステップと、前記第１の印刷設定構成情報と前記第２の印刷設定構成情報との差異を補正するための補正値を算出し、前記アプリケーションプログラムにより生成された印刷データを前記補正値で補正する印刷データ生成ステップと、補正後の前記印刷データを前記第２のプリンタに送信する印刷データ送信ステップと、をコンピュータに実行させるものである。
【発明の効果】
【００１２】
本発明によれば、アプリケーションにより生成された、特定のプリンタでないと正常な位置や大きさで印刷できないような印刷データを、複雑な印刷設定をすることなく、別のプリンタを用いても正常に印刷させることができるコンピュータとして機能させるためのプリンタ制御装置およびプリンタ制御方法、ならびにプリンタドライバを提供することができる。
【発明を実施するための最良の形態】
【００１３】
次に、本発明の実施形態について、適宜、図面を参照しながら詳細に説明する。
最初に、図１を参照して、本発明の実施形態に係るプリンタ制御装置を含む印刷システムの各構成について説明する。図１は、プリンタ制御装置１を含む印刷システム１００のブロック図である。この図１に示すように、印刷システム１００は、プリンタ制御装置１と、複数のプリンタ８（プリンタＡ８ａ，プリンタＢ８ｂ，プリンタＣ８ｃ，・・・）とを備え、プリンタ制御装置１は、各プリンタ８と、ＬＡＮ９を介して接続される。
【００１４】
プリンタ８（プリンタＡ８ａ，プリンタＢ８ｂ，プリンタＣ８ｃ，・・・）は、図示しないが、プリンタ８を制御する制御部と、印刷用紙へ印刷データを印刷する印刷機構部とを備えている。制御部は、プリンタ制御装置１（印刷データ送信部６）から送信される印刷データを受信するためのインタフェースと、受信した印刷データを一旦記憶しておくＲＡＭ（Random Access Memory）と、プリンタ８を制御するためのファームウエアや文字フォントデータなどを記憶しているＲＯＭ（Read Only Memory）と、ファームウエアに従ってプリンタ８を制御するＣＰＵ（Central Processing Unit）と、印刷機構部を制御する印刷制御部と、を有している。
【００１５】
プリンタ制御装置１は、記憶部２と、制御部３と、入力部４と、表示部５と、印刷データ送信部６とを備える。
制御部３は、例えば、ＣＰＵにより構成され、後記する記憶部２に記憶された各種プログラムやデータに基づいて、入力部４と、表示部５と、印刷データ送信部６とを制御する。
入力部４は、例えば、キーボードやマウスにより構成され、利用者Ｐからの入力を受け付ける。
表示部５は、例えば、ＬＣＤ（Liquid Crystal Display）により構成され、制御部３により制御されて、文字や画像を画面に表示する。
印刷データ送信部６は、制御部３により制御されて、記憶部２から受けた印刷データを指定されたプリンタ８宛に送信する。
【００１６】
［記憶部２の構成］
記憶部２は、例えば、ＲＡＭなどのメモリやＨＤ（Hard Disc）により構成され、ＯＳ（Operating System）２１と、アプリケーションプログラム２２と、印刷設定情報記憶部２３と、各種プリンタドライバ２８（プリンタドライバＡ２８ａ，プリンタドライバＢ２８ｂ，プリンタドライバＣ２８ｃ，・・・）とを備える。
【００１７】
ＯＳ２１は、制御部３に制御されて、入力部４からのデータ入力や表示部５への画面出力といった入出力機能や記憶部２の管理など、アプリケーションプログラム２２から共通して利用される基本的な機能を提供し、プリンタ制御装置全体を管理するソフトウェアである。
ここで、本発明の実施形態ではＯＳ２１に、Ｍｉｃｒｏｓｏｆｔ社のＷｉｎｄｏｗｓ（登録商標）を用い、さらに、Ｍｉｃｒｏｓｏｆｔ社から提供されている機能セットであるＷｉｎ３２のＡＰＩ（Application Program Interface）を利用している。
【００１８】
アプリケーションプログラム２２は、例えば、Ｍｉｃｒｏｓｏｆｔ社のＷｏｒｄ（登録商標）やＥｘｃｅｌ（登録商標）であり、ＯＳ２１に管理される。利用者Ｐが入力部４を介して入力したデータを、利用者Ｐが入力部４を操作して、表示部５に表示された「印刷」ボタンを押下することにより、印刷コマンドが入力され、プリンタドライバ２８にデータを印刷指示する機能を備える。
【００１９】
印刷設定情報記憶部２３は、各プリンタドライバ２８（プリンタドライバＡ２８ａ，プリンタドライバＢ２８ｂ，プリンタドライバＣ２８ｃ，・・・）が、該当のプリンタ８（プリンタＡ８ａ，プリンタＢ８ｂ，プリンタＣ８ｃ，・・・）を制御して印刷させる際に、各プリンタドライバ２８が用いるプリンタドライバ印刷設定情報が記憶されている。
ここで、印刷設定構成情報Ａ２３ａは、プリンタドライバＡ２８ａが用いるプリンタドライバ印刷設定情報であり、印刷設定構成情報Ｂ２３ｂは、プリンタドライバＢ２８ｂが用いるプリンタドライバ印刷設定情報である。
【００２０】
プリンタドライバ２８（プリンタドライバＡ２８ａ，プリンタドライバＢ２８ｂ，プリンタドライバＣ２８ｃ，・・・）は、プリンタを制御するためのソフトウェアであり、プリンタドライバ２８（プリンタドライバＡ２８ａなど）は制御部３に制御されるＯＳ２１に管理される。ここで、利用者Ｐが表示部５に表示された指示に従い、入力部４を介して印刷を指示することで、アプリケーションプログラム２２から印刷が実行され、制御部３（ＯＳ２１を介して）からの処理の依頼を受けたプリンタドライバＡ２８ａは、アプリケーションプログラム２２により生成された印刷データを、印刷データ送信部を介してプリンタＡ８ａに印刷させる制御を行う。
【００２１】
［プリンタドライバ２８の構成］
プリンタドライバ２８（プリンタドライバＡ２８ａ）は、合成印刷設定情報生成手段２８１０ａと、印刷設定構成情報応答手段２８２０ａと、合成印刷設定情報抽出手段２８３０ａと、基本印刷設定情報取得手段２８４０ａと、印刷データ生成手段２８５０ａとを備える。
図２を参照して、本発明の実施形態に係るプリンタドライバの構成について説明を行う。図２は、本発明の実施形態に係るプリンタドライバＡ２８ａの構成を示すブロック図である。
【００２２】
ここで、合成印刷設定情報生成手段２８１０ａは、プリンタＡ８ａ以外のプリンタ（プリンタＢ８ｂとする）の印刷設定構成情報を取得し、その印刷設定構成情報を組み合わせて、プリンタＢ８ｂで印刷する設定がされているデータを、プリンタドライバＡ２８ａがプリンタＡ８ａで印刷させるために必要な、合成印刷設定情報を生成する手段である。
そして、合成印刷設定情報生成手段２８１０ａは、プリンタドライバ指定手段２８１１ａと、印刷設定構成情報取得手段２８１２ａと、印刷設定構成情報合成手段２８１３ａとを備える。
【００２３】
プリンタドライバ指定手段２８１１ａは、表示部５にプリンタドライバ選択画面を表示し、利用者Ｐにプリンタドライバの選択を促し、選択されたプリンタドライバ選択情報を取得する手段である。
印刷設定構成情報取得手段２８１２ａは、プリンタドライバ選択情報に基づき、印刷設定情報記憶部２３に記憶されたプリンタの印刷設定構成情報を取得する手段である。
印刷設定構成情報合成手段２８１３ａは、取得した印刷設定構成情報を組み合わせた合成印刷設定情報を生成し、印刷設定情報記憶部２３に記憶させる手段である。
【００２４】
印刷設定構成情報応答手段２８２０ａは、アプリケーションプログラム２２から送られる、プリンタＡ８ａ以外のプリンタ（プリンタＢ８ｂとする）により印刷される設定がされたデータをプリンタＡ８ａに印刷させるためのプリンタドライバ情報要求を受け取る。そして、プリンタドライバ情報要求に基づき、印刷設定情報記憶部２３に記憶されたプリンタドライバの印刷設定情報である印刷設定構成情報を取得し、アプリケーションプログラム２２に、印刷設定構成情報を送信する手段である。
【００２５】
合成印刷設定情報抽出手段２８３０ａは、アプリケーションプログラム２２から送られる印刷指示を受け、その印刷指示に含まれる印刷指示されたデータ（印刷データ）の印刷設定情報である印刷設定構成指定情報Ｂを取得し、印刷設定構成指定情報Ｂと一致するデータを、印刷設定情報記憶部２３に記憶された合成印刷設定情報Ｂから抽出する手段である。
【００２６】
基本印刷設定情報取得手段２８４０ａは、印刷設定情報記憶部２３に記憶された、プリンタＡ８ａで印刷する場合のデフォルトの印刷設定情報であり、印刷設定情報記憶部２３に記憶された１つ以上の印刷設定構成情報Ａ２３ａを組み合わせた情報（基本印刷設定情報Ａ）を取得する手段である。
【００２７】
印刷データ生成手段２８５０ａは、補正値算出手段２８５１ａと、印刷データ受信手段２８５２ａと、印刷データ補正手段２８５３ａと、を備える。
補正値算出手段２８５１ａは、基本印刷設定情報取得手段２８４０ａが取得した基本印刷設定情報Ａと、合成印刷設定情報抽出手段２８３０ａが抽出した合成印刷設定情報Ｂとを比較し、プリンタドライバ印刷設定情報の補正値を算出する。
印刷データ受信手段２８５２ａは、印刷データをアプリケーションプログラム２２から受信したか否かを判定し、印刷データを取得する手段である。
印刷データ補正手段２８５３ａは、印刷データに対して、プリンタドライバ印刷設定情報の補正値に基づき補正を行い、補正した印刷データを印刷データ送信部６に渡す手段である。
【００２８】
［合成印刷設定情報生成］
次に、図３を参照（構成については適宜図１および図２参照）して、本発明の実施形態に係るプリンタ制御装置の合成印刷設定情報生成処理について説明を行う。図３は、本発明の実施形態に係るプリンタ制御装置１の合成印刷設定情報生成処理の動作を示すフローチャートである。
【００２９】
まず、利用者Ｐが入力部４を操作して、プリンタＡ８ａの印刷設定を行うための処理を行う。この処理により、制御部３によりプリンタドライバＡ２８ａが起動される（ステップＳ３０１）。
そして、利用者Ｐが入力部４を操作して、プリンタＢ８ｂの代わりにプリンタＡ８ａが印刷を行うための処理を行う。この処理により、合成印刷設定情報生成手段２８１０ａ（プリンタドライバ指定手段２８１１ａ）は、表示部５に図６に示す、各種プリンタドライバ（プリンタドライバＡ，プリンタドライバＢ，プリンタドライバＣ，・・・）を、例えばプルダウンメニューで選択可能なプリンタドライバ選択画面を表示する（ステップＳ３０２）。
【００３０】
プリンタドライバ選択画面にて、利用者Ｐにより一つのプリンタドライバが選択される（ステップＳ３０３）。
プリンタドライバ指定手段２８１１ａは、プリンタドライバ選択情報を取得したか否かを判定し（ステップＳ３０４）、プリンタドライバ選択情報を取得するまで待機する（ステップＳ３０４，Ｎｏ）。
プリンタドライバ選択情報を取得した場合（ステップＳ３０４，Ｙｅｓ）、ここでは、
ステップＳ３０３の処理にて“プリンタドライバＢ”が選択されたとする。これにより、プリンタドライバ指定手段２８１１ａは、プリンタドライバ選択情報「プリンタドライバＢ２８ｂ」を取得する。
【００３１】
次に、印刷設定構成情報取得手段２８１２ａは、プリンタドライバ選択情報「プリンタドライバＢ２８ｂ」に基づき、印刷設定情報記憶部２３に記憶されたプリンタドライバＢ２８ｂの印刷設定情報である印刷設定構成情報Ｂ２３ｂをすべて取得する（ステップＳ３０５）。
そして、印刷設定構成情報合成手段２８１３ａは、取得した印刷設定構成情報Ｂ２３ｂを組み合わせた合成印刷設定情報Ｂを生成する（ステップＳ３０６）。
【００３２】
ここで、例えば、ステップＳ３０５の処理にて取得したすべての印刷設定構成情報Ｂ２３ｂが、
用紙サイズ      ：  Ａ４，レターサイズ，Ａ５，Ｂ５
印刷の向き      ：  縦，横
解像度（ｄｐｉ）：  １２００，６００，３００  （ｄｐｉ：dot per inch）
であれば、印刷設定構成情報合成手段２８１３ａは、用紙サイズ（４通り）と、印刷の向き（２通り）と、解像度（３通り）とを組み合わせて、計２４通りの合成印刷設定情報Ｂを生成する。
【００３３】
そして、印刷設定構成情報合成手段２８１３ａは、生成した合成印刷設定情報Ｂを印刷設定情報記憶部２３に記憶させる（ステップＳ３０７）。このとき、例えば、合成印刷設定情報Ｂを、印刷設定情報記憶部２３にてＤＥＶＭＯＤＥ構造体のメンバとして記憶する。用紙サイズ情報をメンバｄｍＰａｐｅｒＳｉｚｅに格納し、印刷の向き情報をメンバｄｍＯｒｉｅｎｔａｔｉｏｎに格納し、解像度情報をメンバｄｍＰｒｉｎｔＱｕａｌｉｔｙに格納する。
【００３４】
［アプリケーションからのプリンタドライバ情報要求］
次に、図４を参照（構成については適宜図１および図２参照）して、本発明の実施形態に係るプリンタ制御装置のアプリケーションからのプリンタドライバ情報要求に対する動作について説明を行う。図４は、本発明の実施形態に係るプリンタ制御装置１のアプリケーションプログラム２２からのプリンタドライバ情報要求に対する動作を示すフローチャートである。
【００３５】
まず、利用者Ｐが入力部４を操作して、アプリケーションプログラム２２により表示部５に表示されたデータは、プリンタＢ８ｂで印刷する設定（印刷設定構成指定情報Ｂ）がされている。
アプリケーションプログラム２２は、プリンタドライバＡ２８ａに、プリンタＢ８ｂにより印刷される設定（印刷設定構成指定情報Ｂ）がされたデータをプリンタＡ８ａに印刷させるためのプリンタドライバ情報要求を送る（ステップＳ４０１）。例えば、Ｗｉｎ３２  ＡＰＩ（Application Program Interface）でサポートされ、プリンタドライバの能力を取得するための関数であるDeviceCapabilities関数を、アプリケーションプログラム２２は呼び出して、プリンタドライバ情報要求を送る。
【００３６】
そして、プリンタドライバ情報要求が他機（プリンタＡ８ａ以外）のプリンタドライバ印刷設定情報であるか否かを判定する（ステップＳ４０２）。ここで、プリンタドライバ印刷設定情報とは、例えば、用紙サイズ、解像度、印刷の向きであり、用紙サイズをDeviceCapabilities関数でサポートされているDC_PAPERSとDC_PAPERSIZEとを用いて取得し、解像度をDC_ENUMRESOLUTIONSを用いて取得します。そして、印刷の向きは“縦／横”の情報である。
そして、プリンタドライバ情報要求が他機のプリンタドライバ印刷設定情報であれば（ステップＳ４０２，Ｙｅｓ）、印刷設定構成情報応答手段２８２０ａは、プリンタドライバ情報要求に基づき、印刷設定情報記憶部２３に記憶されたプリンタドライバＢ２８ｂの印刷設定情報である印刷設定構成情報Ｂ２３ｂを取得する（ステップＳ４０３）。例えば、プリンタドライバ情報要求が、用紙サイズ情報の取得要求であれば、印刷設定構成情報Ｂ２３ｂの用紙サイズ情報「Ａ４，レターサイズ，Ａ５，Ｂ５」を取得する。
【００３７】
一方、プリンタドライバ情報要求が他機のプリンタドライバが用いるプリンタドライバ印刷設定情報でなければ（ステップＳ４０２，Ｎｏ）、印刷設定構成情報応答手段２８２０ａは、プリンタドライバ情報要求に基づき、印刷設定情報記憶部２３に記憶されたプリンタドライバＡ２８ａのプリンタドライバ印刷設定情報である印刷設定構成情報Ａ２３ａを取得する（ステップＳ４０４）。例えば、他機のプリンタドライバから取得せずに、自機（プリンタＡ８ａ）のプリンタドライバＡ２８ａのプリンタドライバ印刷設定情報である、給紙方法や、両面印刷の可／不可情報を取得する。給紙方法は、手差しや標準トレイなどであり、両面印刷の可／不可は、“TRUE”または“FALSE”で示される情報である。
例えば、プリンタドライバ情報要求が、DC_PAPERSによる用紙ＩＤの取得要求であれば、印刷設定構成情報Ａ２３ａの他のプリンタドライバから取得した用紙ＩＤを取得する。
そして、印刷設定構成情報応答手段２８２０ａは、取得した印刷設定構成情報（印刷設定構成情報Ａ２３ａまたは印刷設定構成情報Ｂ２３ｂ）をアプリケーションプログラム２２に送信する（ステップＳ４０５）。
以上のステップＳ４０１〜Ｓ４０５の処理により、プリンタＢ８ｂの代わりにプリンタＡ８ａが印刷を行うためのアプリケーションプログラム２２の設定が完了する。
【００３８】
［プリンタ制御装置の動作］
次に、図５を参照（構成については適宜図１および図２参照）して、本発明の実施形態に係るプリンタ制御装置がプリンタに印刷させる動作について説明を行う。図５は、本発明の実施形態に係るプリンタ制御装置１がプリンタＡ８ａに印刷させる動作を示すフローチャートである。
【００３９】
ここで、利用者Ｐが入力部４を操作して、アプリケーションプログラム２２により表示部５に表示されたデータは、プリンタＢ８ｂで印刷する設定（印刷設定構成指定情報Ｂ）がされている。
そして、アプリケーションプログラム２２により表示部５に表示されたデータ（印刷データ）を、利用者Ｐは入力部４を操作して、表示部５に表示された「印刷」ボタンを押下する。これにより、アプリケーションプログラム２２に対して印刷コマンドが入力される。
ここで、ステップＳ３０１（図３）の処理にて、プリンタドライバＡ２８ａが起動され、そして、利用者ＰはプリンタＢ８ｂの代わりにプリンタＡ８ａが印刷を行うための処理を行うため、プリンタドライバ選択画面にて“プリンタドライバＢ”が選択されている（ステップＳ３０３（図３）の処理）。そのため、印刷コマンドを受けたアプリケーションプログラム２２は、プリンタドライバＡ２８ａに印刷データの印刷を指示する（ステップＳ５０１）。
【００４０】
そして、プリンタドライバＡ２８ａは、アプリケーションプログラム２２からの印刷指示に含まれる印刷指示されたデータ（印刷データ）の印刷設定情報である印刷設定構成指定情報Ｂを取得する（ステップＳ５０２）。このとき、印刷設定構成指定情報ＢをＧＤＩＩＮＦＯ構造体のメンバとして印刷設定情報記憶部２３に記憶させる。
次に、合成印刷設定情報抽出手段２８３０ａは、印刷設定構成指定情報Ｂと一致するデータを、印刷設定情報記憶部２３に記憶された合成印刷設定情報Ｂから抽出する（ステップＳ５０３）。ここで、例えば、ステップＳ３０７（図３）の処理にて、合成印刷設定情報Ｂは、印刷設定情報記憶部２３にてＤＥＶＭＯＤＥ構造体のメンバとして記憶されているため、メンバｄｍＰａｐｅｒＳｉｚｅに格納された用紙サイズ情報と、メンバｄｍＰｒｉｎｔＱｕａｌｉｔｙに格納された解像度情報と、メンバｄｍＯｒｉｅｎｔａｔｉｏｎに格納された印刷の向き情報とから抽出する。
【００４１】
ここで、抽出された合成印刷設定情報Ｂは、
用紙サイズ  ：  Ａ４
印刷の向き  ：  縦
解像度      ：  ３００（ｄｐｉ）
左マージン  ：  ６０（ｄｏｔ）
上マージン  ：  ６０（ｄｏｔ）
である。
ここで、左マージン情報および上マージン情報は、印刷設定構成指定情報Ｂが記録されたＧＤＩＩＮＦＯ構造体のメンバであり、印刷設定情報記憶部２３から取得できるものである。
【００４２】
次に、基本印刷設定情報取得手段２８４０ａは、印刷設定情報記憶部２３に記憶された基本印刷設定情報Ａを取得する（ステップＳ５０４）。この基本印刷設定情報Ａは、プリンタＡ８ａで印刷する場合のデフォルトの印刷設定情報であり、印刷設定情報記憶部２３に記憶された１つ以上の印刷設定構成情報Ａ２３ａを組み合わせた情報である。
【００４３】
ここで、基本印刷設定情報Ａは、用紙サイズがＡ４、印刷の向きが縦の場合、
解像度      ：  ６００（ｄｐｉ）
左マージン  ：  １００（ｄｏｔ）
上マージン  ：  １００（ｄｏｔ）
であることが印刷設定情報記憶部２３に記憶されている。
【００４４】
次に、補正値算出手段２８５１ａは、基本印刷設定情報Ａと、合成印刷設定情報Ｂとを比較し、プリンタドライバ印刷設定情報の補正値を算出する（ステップＳ５０５）。例えば、解像度と左マージンおよび上マージンとから、スケールおよび位置の補正値を算出する。
ここでは、補正値を次のように算出する。
［スケール補正値］
まず、拡大／縮小率であるスケール補正値を算出する。ここで、Ｘ方向は論理ページの横方向を示し、Ｙ方向は論理ページの縦方向を示す。つまり、用紙の左上隅を原点とし、右方向が正Ｘ方向、下方向が正Ｙ方向となる。
Ｘ方向およびＹ方向のスケール補正値Ｓは、次式により求められる。
Ｓ＝（基本印刷設定情報Ａの解像度）÷（合成印刷設定情報Ｂの解像度）
＝６００÷３００＝２
以上より、拡大率が、Ｘ方向に２倍、Ｙ方向に２倍であることを示している。
【００４５】
［左マージンおよび上マージン］
次に、印刷開始位置のずれを補正する位置補正値を算出する。
Ｘ方向の位置補正値Ａｘは次式により求められる。
Ａｘ＝（合成印刷設定情報Ｂの左マージン）×（スケール補正値Ｓ）−（基本印刷設定情報Ａの左マージン）
＝６０×２−１００＝２０
同様に、Ｙ方向の位置補正値Ａｙは次式により求められる。
Ａｙ＝（合成印刷設定情報Ｂの上マージン）×（スケール補正値Ｓ）−（基本印刷設定情報Ａの上マージン）
＝６０×２−１００＝２０
以上より、Ｘ方向に２０ｄｏｔ、Ｙ方向に２０ｄｏｔ分、印刷開始位置をずらすことを示している。
【００４６】
以上により、補正値算出手段２８５１ａにより、スケールおよび位置の補正値が次のように算出される。
スケール補正値Ｓ：  ２（倍）
位置補正値Ａｘ  ：  ２０（ｄｏｔ）
位置補正値Ａｙ  ：  ２０（ｄｏｔ）
【００４７】
ここで、再び図５に示す処理の説明に戻る。
印刷データ受信手段２８５２ａが、アプリケーションプログラム２２により送信された印刷データを取得する（ステップＳ５０６）。
印刷データ補正手段２８５３ａは、印刷データに対して、スケールおよび位置の補正値に基づき、Ｘ方向およびＹ方向に２倍に拡大し、さらに、印刷開始位置をＸ方向に２０ｄｏｔおよびＹ方向に２０ｄｏｔ分移動する補正を行う（ステップＳ５０７）。
【００４８】
そして、印刷データ補正手段２８５３ａは、補正した印刷データを印刷データ送信部６に渡す（ステップＳ５０８）。
その後、印刷データ送信部６は、補正した印刷データをプリンタＡ８ａに送信し、プリンタＡ８ａは補正した印刷データを印刷する（ステップＳ５０９）。
【００４９】
次に、印刷データ受信手段２８５２ａが新たに印刷データをアプリケーションプログラム２２から受信したか否かを判定する（ステップＳ５１０）。
新たな印刷データを受信していれば（ステップＳ５１０，Ｙｅｓ）、ステップＳ５０６の処理に戻り、印刷データを取得する。
一方、新たな印刷データを受信していなければ（ステップＳ５１０，Ｎｏ）、すべての印刷処理を終了する。
【００５０】
補正を行う前、合成印刷設定情報Ｂの上マージンの印刷開始位置“６０ｄｏｔ”であり、基本印刷設定情報Ａの上マージンの印刷開始位置“１００ｄｏｔ”であるため、差分が“４０ｄｏｔ”ある。この差分が、プリンタＡで印刷した場合と、プリンタＢで印刷した場合との「印刷開始位置のズレ」となる。
しかし、以上のステップＳ５０１〜Ｓ５１０の処理を行うことで、スケール補正値Ｓ（＝２）により差分は（６０×２−１００＝）２０ｄｏｔとなり、さらに、位置補正値Ａｙ（＝２０）により印刷開始位置が２０ｄｏｔ分ずれるため、差分は“０ｄｏｔ”となり、印刷開始位置が一致する。
以上により、本発明の実施形態に係るプリンタ制御装置を用いることで、プリンタＢで印刷する設定がされているデータをプリンタＡで印刷を行うことができ、さらに、プリンタＡで印刷しても、プリンタＢで印刷した印刷データと比較してずれがない印刷を行うことができる。
【００５１】
以上、本発明の実施形態に係るプリンタ制御装置の構成および動作について説明したが、本発明はこの実施形態に限定されるものではない。
例えば、ここでは、各プリンタドライバ（プリンタドライバＡ２８ａ，プリンタドライバＢ２８ｂ，・・・）がそれぞれ合成印刷設定情報生成手段（２８１０ａ，２８１０ｂ，・・・）を有することとしたが、図７に示すように、合成印刷設定情報生成手段２８１０をすべてのプリンタドライバに共通の機能として独立させた、合成印刷設定情報生成プログラム２７を有する、としてもよい。
【００５２】
以上により、例えば、プリンタＢで印刷した場合、図８（ａ）に示すように『日付、名前、住所』を所定の枠内に印刷できたが、プリンタＡで印刷した場合、図８（ｂ）に示すように『日付、名前、住所』を所定の枠内に印刷できなかったときに、本発明の実施形態に係るプリンタ制御装置を用いることで、表示部５に表示されたプリンタドライバ選択画面にて、プリンタドライバを選択するという簡単な操作で、プリンタＡで印刷した場合でも、図８（ａ）に示すように『日付、名前、住所』を所定の枠内に印刷することができる。
また、所定の枠内に印刷することができるため、印刷した用紙をスキャナで読み取り、ＯＣＲ（Optical Character Recognition）ソフトで文字認識を行った場合も識字率の高いデータを得ることができる。
【図面の簡単な説明】
【００５３】
【図１】本発明の実施形態に係るプリンタ制御装置を含む印刷システムの構成を示すブロック図である。
【図２】本発明の実施形態に係るプリンタドライバＡの構成を示すブロック図である。
【図３】本発明の実施形態に係るプリンタ制御装置の合成印刷設定情報生成処理の動作を示すフローチャートである。
【図４】本発明の実施形態に係るプリンタ制御装置のアプリケーションからのプリンタドライバ情報要求に対する動作を示すフローチャートである。
【図５】本発明の実施形態に係るプリンタ制御装置がプリンタに印刷させる動作を示すフローチャートである。
【図６】表示部に表示されるプリンタドライバ選択画面である。
【図７】本発明の実施形態に係るプリンタ制御装置を含む印刷システムの構成を示すブロック図である。
【図８】（ａ）所定の枠内に印刷できた印刷データである。（ｂ）所定の枠内に印刷できなかった印刷データである。
【００５４】
１      プリンタ制御装置
２      記憶部
３      制御部
４      入力部
５      表示部
６      印刷データ送信部
８ａ    プリンタＡ
８ｂ    プリンタＢ
８ｃ    プリンタＣ
９      ＬＡＮ
２１    ＯＳ
２２    アプリケーションプログラム
２３    印刷設定情報記憶部
２３ａ  印刷設定構成情報Ａ
２３ｂ  印刷設定構成情報Ｂ
２８ａ  プリンタドライバＡ
２８ｂ  プリンタドライバＢ
２８ｃ  プリンタドライバＣ
１００  印刷システム
２８１０ａ  合成印刷設定情報生成手段
２８２０ａ  印刷設定構成情報応答手段
２８３０ａ  合成印刷設定情報抽出手段
２８４０ａ  基本印刷設定情報取得手段
２８５０ａ  印刷データ生成手段
Ｐ      利用者
【図１】
2010140224.tif 000003
【図２】
2010140224.tif 000004
【図３】
2010140224.tif 000005
【図４】
2010140224.tif 000006
【図５】
2010140224.tif 000007
【図６】
2010140224.tif 000008
【図７】
2010140224.tif 000009
【図８】
2010140224.tif 000010