JP5302649B2 - プリンタ制御装置およびプリンタ制御方法、ならびにプリンタドライバ - Google Patents

プリンタ制御装置およびプリンタ制御方法、ならびにプリンタドライバ Download PDF

Info

Publication number
JP5302649B2
JP5302649B2 JP2008315395A JP2008315395A JP5302649B2 JP 5302649 B2 JP5302649 B2 JP 5302649B2 JP 2008315395 A JP2008315395 A JP 2008315395A JP 2008315395 A JP2008315395 A JP 2008315395A JP 5302649 B2 JP5302649 B2 JP 5302649B2
Authority
JP
Japan
Prior art keywords
printer
print setting
print
configuration information
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.)
Expired - Fee Related
Application number
JP2008315395A
Other languages
English (en)
Other versions
JP2010140224A (ja
Inventor
琢也 開
Original Assignee
株式会社沖データ
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 株式会社沖データ filed Critical 株式会社沖データ
Priority to JP2008315395A priority Critical patent/JP5302649B2/ja
Publication of JP2010140224A publication Critical patent/JP2010140224A/ja
Application granted granted Critical
Publication of JP5302649B2 publication Critical patent/JP5302649B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、アプリケーションプログラムからの印刷要求に応じて、印刷データを、プリンタに印刷させるコンピュータとして機能させるためのプリンタ制御装置およびプリンタ制御方法、ならびにプリンタドライバに関する。
プリンタは、プリンタドライバを介して、アプリケーションプログラムにより作成された印刷データを受信してから印刷している。
また、プリンタを多様なアプリケーションプログラムに対応させるために、プリンタドライバが複数のファームウエアを有していて、アプリケーションプログラムの要求とプリンタの仕様とをプリンタドライバが把握した上で、最適と判断したファームウエアをプリンタへダウンロードする方法がある。この方法によれば、プリンタは、プリンタ内に種々のファームウエアを備えておくことなく、多様なアプリケーションプログラムに対応することが可能である。
しかし、ある特定のプリンタの仕様に合わせてアプリケーションプログラムが作成する印刷データを、他のプリンタへ印刷する場合において、印刷位置がずれてしまうという問題があり、特定のプリンタと同じ印刷結果を得ることができなかった。
例えば、図8(a)に示すように『日付、名前、住所』を所定の枠内に印刷する場合、プリンタ毎の設定の違いにより、図8(b)に示すように、枠線上に印刷されてしまい、名前は「富士本健」と「富士本健一」とのどちらなのか、住所は「二丁目」と「三丁目」とのどちらなのかが、一見しただけでは判断できないことがあった。さらに、印刷した用紙をスキャナで読み取り、OCR(Optical Character Recognition)ソフトで文字認識を行った場合、識字率が低かった。
そのため、プリンタに対して当該プリンタの仕様に対応している第一の印刷モードを設定し、第一の印刷モードに対応していないアプリケーションに対しては、アプリケーションが対応している第二の印刷モードを設定することを前提とし、アプリケーションが第二の印刷モードに基づいて作成した印刷データを、第一の印刷モードが設定されているプリンタに対し印刷可能な印刷データに変換し、変換後の印刷データをプリンタに印刷させるプリンタの制御方法が開示されている(特許文献1)。
以上より、ある特定のプリンタの仕様に合わせてアプリケーションが作成する印刷データであっても、当該印刷データを他の仕様のプリンタに対応した印刷データに変換することにより、特定のプリンタ以外の別のプリンタでも印刷データを印刷することができる。
特開2007−25845公開(段落[0002]〜[0007])
しかしながら、従来のプリンタの制御方法では、前提として、プリンタに対して当該プリンタが対応している第一の印刷モードの設定と、アプリケーションに対して当該アプリケーションが対応している第二の印刷モードの設定とを行う必要があった。
そして、当該印刷モード(印刷設定)の設定作業は自動で行われないため、複雑な印刷設定作業を利用者自身が手動で行う必要があり、非常に手間がかかるものであった。
例えば、図8(a)に示すように『日付、名前、住所』を所定の枠内に印刷する場合、第一の印刷モードの設定と、第二の印刷モードの設定との組み合わせを考慮しなければならず、印刷時の微調整が困難であった。
このため、従来のプリンタの制御方法では、手動で行う印刷設定が複雑であり、印刷時の微調整が困難であるという課題があった。
本発明は、以上のような課題を解決するためになされたものであり、アプリケーションにより生成された、特定のプリンタでないと正常な位置や大きさで印刷できないような印刷データを、複雑な印刷設定をすることなく、別のプリンタを用いても正常に印刷させることができるコンピュータとして機能させるためのプリンタ制御装置およびプリンタ制御方法、ならびにプリンタドライバを提供することを目的とする。
前記目的を達成するために、本発明のプリンタ制御装置は、複数のプリンタと接続され、少なくとも、第1のプリンタに係る第1の印刷設定構成情報と、第2のプリンタに係る第2の印刷設定構成情報とが記憶された印刷設定情報記憶部を備え、アプリケーションプログラムから出力される印刷データを、前記第2のプリンタに印刷させるプリンタ制御装置において、前記アプリケーションプログラムの印刷指示を受けてから、前記接続されたプリンタを制御するプリンタドライバのいずれかを利用者に選択させる画面を表示部に表示させ、前記利用者により選択されたプリンタドライバに対応する第1のプリンタに係る第1の印刷設定構成情報を前記印刷設定情報記憶部から取得する第1印刷設定情報取得手段と、前記アプリケーションプログラムからの要求に応じて、前記第1の印刷設定構成情報を前記アプリケーションプログラムに提供する印刷設定情報応答手段と、前記印刷設定情報記憶部に記憶された前記第2の印刷設定構成情報を取得する第2印刷設定情報取得手段と、前記第1の印刷設定構成情報と前記第2の印刷設定構成情報との差異を補正するための補正値を算出し、前記アプリケーションプログラムにより生成された印刷データを前記補正値で補正する印刷データ生成手段と、補正後の補正済印刷データを前記第2のプリンタに送信する印刷データ送信手段と、を備え、前記利用者により前記プリンタドライバが選択されることで直ちに処理を開始し、前記補正済印刷データを生成することを特徴とする。
前記目的を達成するために、本発明のプリンタ制御方法は、複数のプリンタと接続され、少なくとも、第1のプリンタに係る第1の印刷設定構成情報と、第2のプリンタに係る第2の印刷設定構成情報とが記憶された印刷設定情報記憶部を備える制御装置によって、アプリケーションプログラムから出力される印刷データを、前記第2のプリンタに印刷させるプリンタ制御方法において、前記アプリケーションプログラムの印刷指示を受けてから、前記接続されたプリンタを制御するプリンタドライバのいずれかを利用者に選択させる画面を表示部に表示させ、前記利用者により選択されたプリンタドライバに対応する第1のプリンタに係る第1の印刷設定構成情報を前記印刷設定情報記憶部から取得する第1印刷設定情報取得ステップと、前記アプリケーションプログラムからの要求に応じて、前記第1の印刷設定構成情報を前記アプリケーションプログラムに提供する印刷設定情報応答ステップと、前記印刷設定情報記憶部に記憶された前記第2の印刷設定構成情報を取得する第2印刷設定情報取得ステップと、前記第1の印刷設定構成情報と前記第2の印刷設定構成情報との差異を補正するための補正値を算出し、前記アプリケーションプログラムにより生成された印刷データを前記補正値で補正する印刷データ生成ステップと、補正後の補正済印刷データを前記第2のプリンタに送信する印刷データ送信ステップと、を有し、前記利用者により前記プリンタドライバが選択されることで直ちに処理を開始し、前記補正済印刷データを生成することを特徴とする。
前記目的を達成するために、本発明のプリンタドライバは、複数のプリンタと接続され、少なくとも、第1のプリンタに係る第1の印刷設定構成情報と、第2のプリンタに係る第2の印刷設定構成情報とが記憶された印刷設定情報記憶部を備え、アプリケーションプログラムから出力される印刷データを、前記第2のプリンタに印刷させるコンピュータに用いられるプログラムにおいて、前記アプリケーションプログラムの印刷指示を受けてから、前記接続されたプリンタを制御するドライバのいずれかを利用者に選択させる画面を表示部に表示させ、前記利用者により選択されたドライバに対応する第1のプリンタに係る第1の印刷設定構成情報を前記印刷設定情報記憶部から取得する第1印刷設定情報取得ステップと、前記アプリケーションプログラムからの要求に応じて、前記第1の印刷設定構成情報を前記アプリケーションプログラムに提供する印刷設定情報応答ステップと、前記印刷設定情報記憶部に記憶された前記第2の印刷設定構成情報を取得する第2印刷設定情報取得ステップと、前記第1の印刷設定構成情報と前記第2の印刷設定構成情報との差異を補正するための補正値を算出し、前記アプリケーションプログラムにより生成された印刷データを前記補正値で補正する印刷データ生成ステップと、補正後の補正済印刷データを前記第2のプリンタに送信する印刷データ送信ステップと、をコンピュータに実行させ、前記利用者により前記ドライバが選択されることで直ちに処理を開始させ、前記補正済印刷データを生成させるものである。
本発明によれば、アプリケーションにより生成された、特定のプリンタでないと正常な位置や大きさで印刷できないような印刷データを、複雑な印刷設定をすることなく、別のプリンタを用いても正常に印刷させることができるコンピュータとして機能させるためのプリンタ制御装置およびプリンタ制御方法、ならびにプリンタドライバを提供することができる。
次に、本発明の実施形態について、適宜、図面を参照しながら詳細に説明する。
最初に、図1を参照して、本発明の実施形態に係るプリンタ制御装置を含む印刷システムの各構成について説明する。図1は、プリンタ制御装置1を含む印刷システム100のブロック図である。この図1に示すように、印刷システム100は、プリンタ制御装置1と、複数のプリンタ8(プリンタA8a,プリンタB8b,プリンタC8c,・・・)とを備え、プリンタ制御装置1は、各プリンタ8と、LAN9を介して接続される。
プリンタ8(プリンタA8a,プリンタB8b,プリンタC8c,・・・)は、図示しないが、プリンタ8を制御する制御部と、印刷用紙へ印刷データを印刷する印刷機構部とを備えている。制御部は、プリンタ制御装置1(印刷データ送信部6)から送信される印刷データを受信するためのインタフェースと、受信した印刷データを一旦記憶しておくRAM(Random Access Memory)と、プリンタ8を制御するためのファームウエアや文字フォントデータなどを記憶しているROM(Read Only Memory)と、ファームウエアに従ってプリンタ8を制御するCPU(Central Processing Unit)と、印刷機構部を制御する印刷制御部と、を有している。
プリンタ制御装置1は、記憶部2と、制御部3と、入力部4と、表示部5と、印刷データ送信部6とを備える。
制御部3は、例えば、CPUにより構成され、後記する記憶部2に記憶された各種プログラムやデータに基づいて、入力部4と、表示部5と、印刷データ送信部6とを制御する。
入力部4は、例えば、キーボードやマウスにより構成され、利用者Pからの入力を受け付ける。
表示部5は、例えば、LCD(Liquid Crystal Display)により構成され、制御部3により制御されて、文字や画像を画面に表示する。
印刷データ送信部6は、制御部3により制御されて、記憶部2から受けた印刷データを指定されたプリンタ8宛に送信する。
[記憶部2の構成]
記憶部2は、例えば、RAMなどのメモリやHD(Hard Disc)により構成され、OS(Operating System)21と、アプリケーションプログラム22と、印刷設定情報記憶部23と、各種プリンタドライバ28(プリンタドライバA28a,プリンタドライバB28b,プリンタドライバC28c,・・・)とを備える。
OS21は、制御部3に制御されて、入力部4からのデータ入力や表示部5への画面出力といった入出力機能や記憶部2の管理など、アプリケーションプログラム22から共通して利用される基本的な機能を提供し、プリンタ制御装置全体を管理するソフトウェアである。
ここで、本発明の実施形態ではOS21に、Microsoft社のWindows(登録商標)を用い、さらに、Microsoft社から提供されている機能セットであるWin32のAPI(Application Program Interface)を利用している。
アプリケーションプログラム22は、例えば、Microsoft社のWord(登録商標)やExcel(登録商標)であり、OS21に管理される。利用者Pが入力部4を介して入力したデータを、利用者Pが入力部4を操作して、表示部5に表示された「印刷」ボタンを押下することにより、印刷コマンドが入力され、プリンタドライバ28にデータを印刷指示する機能を備える。
印刷設定情報記憶部23は、各プリンタドライバ28(プリンタドライバA28a,プリンタドライバB28b,プリンタドライバC28c,・・・)が、該当のプリンタ8(プリンタA8a,プリンタB8b,プリンタC8c,・・・)を制御して印刷させる際に、各プリンタドライバ28が用いるプリンタドライバ印刷設定情報が記憶されている。
ここで、印刷設定構成情報A23aは、プリンタドライバA28aが用いるプリンタドライバ印刷設定情報であり、印刷設定構成情報B23bは、プリンタドライバB28bが用いるプリンタドライバ印刷設定情報である。
プリンタドライバ28(プリンタドライバA28a,プリンタドライバB28b,プリンタドライバC28c,・・・)は、プリンタを制御するためのソフトウェアであり、プリンタドライバ28(プリンタドライバA28aなど)は制御部3に制御されるOS21に管理される。ここで、利用者Pが表示部5に表示された指示に従い、入力部4を介して印刷を指示することで、アプリケーションプログラム22から印刷が実行され、制御部3(OS21を介して)からの処理の依頼を受けたプリンタドライバA28aは、アプリケーションプログラム22により生成された印刷データを、印刷データ送信部を介してプリンタA8aに印刷させる制御を行う。
[プリンタドライバ28の構成]
プリンタドライバ28(プリンタドライバA28a)は、合成印刷設定情報生成手段2810aと、印刷設定構成情報応答手段2820aと、合成印刷設定情報抽出手段2830aと、基本印刷設定情報取得手段2840aと、印刷データ生成手段2850aとを備える。
図2を参照して、本発明の実施形態に係るプリンタドライバの構成について説明を行う。図2は、本発明の実施形態に係るプリンタドライバA28aの構成を示すブロック図である。
ここで、合成印刷設定情報生成手段2810aは、プリンタA8a以外のプリンタ(プリンタB8bとする)の印刷設定構成情報を取得し、その印刷設定構成情報を組み合わせて、プリンタB8bで印刷する設定がされているデータを、プリンタドライバA28aがプリンタA8aで印刷させるために必要な、合成印刷設定情報を生成する手段である。
そして、合成印刷設定情報生成手段2810aは、プリンタドライバ指定手段2811aと、印刷設定構成情報取得手段2812aと、印刷設定構成情報合成手段2813aとを備える。
プリンタドライバ指定手段2811aは、表示部5にプリンタドライバ選択画面を表示し、利用者Pにプリンタドライバの選択を促し、選択されたプリンタドライバ選択情報を取得する手段である。
印刷設定構成情報取得手段2812aは、プリンタドライバ選択情報に基づき、印刷設定情報記憶部23に記憶されたプリンタの印刷設定構成情報を取得する手段である。
印刷設定構成情報合成手段2813aは、取得した印刷設定構成情報を組み合わせた合成印刷設定情報を生成し、印刷設定情報記憶部23に記憶させる手段である。
印刷設定構成情報応答手段2820aは、アプリケーションプログラム22から送られる、プリンタA8a以外のプリンタ(プリンタB8bとする)により印刷される設定がされたデータをプリンタA8aに印刷させるためのプリンタドライバ情報要求を受け取る。そして、プリンタドライバ情報要求に基づき、印刷設定情報記憶部23に記憶されたプリンタドライバの印刷設定情報である印刷設定構成情報を取得し、アプリケーションプログラム22に、印刷設定構成情報を送信する手段である。
合成印刷設定情報抽出手段2830aは、アプリケーションプログラム22から送られる印刷指示を受け、その印刷指示に含まれる印刷指示されたデータ(印刷データ)の印刷設定情報である印刷設定構成指定情報Bを取得し、印刷設定構成指定情報Bと一致するデータを、印刷設定情報記憶部23に記憶された合成印刷設定情報Bから抽出する手段である。
基本印刷設定情報取得手段2840aは、印刷設定情報記憶部23に記憶された、プリンタA8aで印刷する場合のデフォルトの印刷設定情報であり、印刷設定情報記憶部23に記憶された1つ以上の印刷設定構成情報A23aを組み合わせた情報(基本印刷設定情報A)を取得する手段である。
印刷データ生成手段2850aは、補正値算出手段2851aと、印刷データ受信手段2852aと、印刷データ補正手段2853aと、を備える。
補正値算出手段2851aは、基本印刷設定情報取得手段2840aが取得した基本印刷設定情報Aと、合成印刷設定情報抽出手段2830aが抽出した合成印刷設定情報Bとを比較し、プリンタドライバ印刷設定情報の補正値を算出する。
印刷データ受信手段2852aは、印刷データをアプリケーションプログラム22から受信したか否かを判定し、印刷データを取得する手段である。
印刷データ補正手段2853aは、印刷データに対して、プリンタドライバ印刷設定情報の補正値に基づき補正を行い、補正した印刷データを印刷データ送信部6に渡す手段である。
[合成印刷設定情報生成]
次に、図3を参照(構成については適宜図1および図2参照)して、本発明の実施形態に係るプリンタ制御装置の合成印刷設定情報生成処理について説明を行う。図3は、本発明の実施形態に係るプリンタ制御装置1の合成印刷設定情報生成処理の動作を示すフローチャートである。
まず、利用者Pが入力部4を操作して、プリンタA8aの印刷設定を行うための処理を行う。この処理により、制御部3によりプリンタドライバA28aが起動される(ステップS301)。
そして、利用者Pが入力部4を操作して、プリンタB8bの代わりにプリンタA8aが印刷を行うための処理を行う。この処理により、合成印刷設定情報生成手段2810a(プリンタドライバ指定手段2811a)は、表示部5に図6に示す、各種プリンタドライバ(プリンタドライバA,プリンタドライバB,プリンタドライバC,・・・)を、例えばプルダウンメニューで選択可能なプリンタドライバ選択画面を表示する(ステップS302)。
プリンタドライバ選択画面にて、利用者Pにより一つのプリンタドライバが選択される(ステップS303)。
プリンタドライバ指定手段2811aは、プリンタドライバ選択情報を取得したか否かを判定し(ステップS304)、プリンタドライバ選択情報を取得するまで待機する(ステップS304,No)。
プリンタドライバ選択情報を取得した場合(ステップS304,Yes)、ここでは、
ステップS303の処理にて“プリンタドライバB”が選択されたとする。これにより、プリンタドライバ指定手段2811aは、プリンタドライバ選択情報「プリンタドライバB28b」を取得する。
次に、印刷設定構成情報取得手段2812aは、プリンタドライバ選択情報「プリンタドライバB28b」に基づき、印刷設定情報記憶部23に記憶されたプリンタドライバB28bの印刷設定情報である印刷設定構成情報B23bをすべて取得する(ステップS305)。
そして、印刷設定構成情報合成手段2813aは、取得した印刷設定構成情報B23bを組み合わせた合成印刷設定情報Bを生成する(ステップS306)。
ここで、例えば、ステップS305の処理にて取得したすべての印刷設定構成情報B23bが、
用紙サイズ : A4,レターサイズ,A5,B5
印刷の向き : 縦,横
解像度(dpi): 1200,600,300 (dpi:dot per inch)
であれば、印刷設定構成情報合成手段2813aは、用紙サイズ(4通り)と、印刷の向き(2通り)と、解像度(3通り)とを組み合わせて、計24通りの合成印刷設定情報Bを生成する。
そして、印刷設定構成情報合成手段2813aは、生成した合成印刷設定情報Bを印刷設定情報記憶部23に記憶させる(ステップS307)。このとき、例えば、合成印刷設定情報Bを、印刷設定情報記憶部23にてDEVMODE構造体のメンバとして記憶する。用紙サイズ情報をメンバdmPaperSizeに格納し、印刷の向き情報をメンバdmOrientationに格納し、解像度情報をメンバdmPrintQualityに格納する。
[アプリケーションからのプリンタドライバ情報要求]
次に、図4を参照(構成については適宜図1および図2参照)して、本発明の実施形態に係るプリンタ制御装置のアプリケーションからのプリンタドライバ情報要求に対する動作について説明を行う。図4は、本発明の実施形態に係るプリンタ制御装置1のアプリケーションプログラム22からのプリンタドライバ情報要求に対する動作を示すフローチャートである。
まず、利用者Pが入力部4を操作して、アプリケーションプログラム22により表示部5に表示されたデータは、プリンタB8bで印刷する設定(印刷設定構成指定情報B)がされている。
アプリケーションプログラム22は、プリンタドライバA28aに、プリンタB8bにより印刷される設定(印刷設定構成指定情報B)がされたデータをプリンタA8aに印刷させるためのプリンタドライバ情報要求を送る(ステップS401)。例えば、Win32 API(Application Program Interface)でサポートされ、プリンタドライバの能力を取得するための関数であるDeviceCapabilities関数を、アプリケーションプログラム22は呼び出して、プリンタドライバ情報要求を送る。
そして、プリンタドライバ情報要求が他機(プリンタA8a以外)のプリンタドライバ印刷設定情報であるか否かを判定する(ステップS402)。ここで、プリンタドライバ印刷設定情報とは、例えば、用紙サイズ、解像度、印刷の向きであり、用紙サイズをDeviceCapabilities関数でサポートされているDC_PAPERSとDC_PAPERSIZEとを用いて取得し、解像度をDC_ENUMRESOLUTIONSを用いて取得します。そして、印刷の向きは“縦/横”の情報である。
そして、プリンタドライバ情報要求が他機のプリンタドライバ印刷設定情報であれば(ステップS402,Yes)、印刷設定構成情報応答手段2820aは、プリンタドライバ情報要求に基づき、印刷設定情報記憶部23に記憶されたプリンタドライバB28bの印刷設定情報である印刷設定構成情報B23bを取得する(ステップS403)。例えば、プリンタドライバ情報要求が、用紙サイズ情報の取得要求であれば、印刷設定構成情報B23bの用紙サイズ情報「A4,レターサイズ,A5,B5」を取得する。
一方、プリンタドライバ情報要求が他機のプリンタドライバが用いるプリンタドライバ印刷設定情報でなければ(ステップS402,No)、印刷設定構成情報応答手段2820aは、プリンタドライバ情報要求に基づき、印刷設定情報記憶部23に記憶されたプリンタドライバA28aのプリンタドライバ印刷設定情報である印刷設定構成情報A23aを取得する(ステップS404)。例えば、他機のプリンタドライバから取得せずに、自機(プリンタA8a)のプリンタドライバA28aのプリンタドライバ印刷設定情報である、給紙方法や、両面印刷の可/不可情報を取得する。給紙方法は、手差しや標準トレイなどであり、両面印刷の可/不可は、“TRUE”または“FALSE”で示される情報である。
例えば、プリンタドライバ情報要求が、DC_PAPERSによる用紙IDの取得要求であれば、印刷設定構成情報A23aの他のプリンタドライバから取得した用紙IDを取得する。
そして、印刷設定構成情報応答手段2820aは、取得した印刷設定構成情報(印刷設定構成情報A23aまたは印刷設定構成情報B23b)をアプリケーションプログラム22に送信する(ステップS405)。
以上のステップS401〜S405の処理により、プリンタB8bの代わりにプリンタA8aが印刷を行うためのアプリケーションプログラム22の設定が完了する。
[プリンタ制御装置の動作]
次に、図5を参照(構成については適宜図1および図2参照)して、本発明の実施形態に係るプリンタ制御装置がプリンタに印刷させる動作について説明を行う。図5は、本発明の実施形態に係るプリンタ制御装置1がプリンタA8aに印刷させる動作を示すフローチャートである。
ここで、利用者Pが入力部4を操作して、アプリケーションプログラム22により表示部5に表示されたデータは、プリンタB8bで印刷する設定(印刷設定構成指定情報B)がされている。
そして、アプリケーションプログラム22により表示部5に表示されたデータ(印刷データ)を、利用者Pは入力部4を操作して、表示部5に表示された「印刷」ボタンを押下する。これにより、アプリケーションプログラム22に対して印刷コマンドが入力される。
ここで、ステップS301(図3)の処理にて、プリンタドライバA28aが起動され、そして、利用者PはプリンタB8bの代わりにプリンタA8aが印刷を行うための処理を行うため、プリンタドライバ選択画面にて“プリンタドライバB”が選択されている(ステップS303(図3)の処理)。そのため、印刷コマンドを受けたアプリケーションプログラム22は、プリンタドライバA28aに印刷データの印刷を指示する(ステップS501)。
そして、プリンタドライバA28aは、アプリケーションプログラム22からの印刷指示に含まれる印刷指示されたデータ(印刷データ)の印刷設定情報である印刷設定構成指定情報Bを取得する(ステップS502)。このとき、印刷設定構成指定情報BをGDIINFO構造体のメンバとして印刷設定情報記憶部23に記憶させる。
次に、合成印刷設定情報抽出手段2830aは、印刷設定構成指定情報Bと一致するデータを、印刷設定情報記憶部23に記憶された合成印刷設定情報Bから抽出する(ステップS503)。ここで、例えば、ステップS307(図3)の処理にて、合成印刷設定情報Bは、印刷設定情報記憶部23にてDEVMODE構造体のメンバとして記憶されているため、メンバdmPaperSizeに格納された用紙サイズ情報と、メンバdmPrintQualityに格納された解像度情報と、メンバdmOrientationに格納された印刷の向き情報とから抽出する。
ここで、抽出された合成印刷設定情報Bは、
用紙サイズ : A4
印刷の向き : 縦
解像度 : 300(dpi)
左マージン : 60(dot)
上マージン : 60(dot)
である。
ここで、左マージン情報および上マージン情報は、印刷設定構成指定情報Bが記録されたGDIINFO構造体のメンバであり、印刷設定情報記憶部23から取得できるものである。
次に、基本印刷設定情報取得手段2840aは、印刷設定情報記憶部23に記憶された基本印刷設定情報Aを取得する(ステップS504)。この基本印刷設定情報Aは、プリンタA8aで印刷する場合のデフォルトの印刷設定情報であり、印刷設定情報記憶部23に記憶された1つ以上の印刷設定構成情報A23aを組み合わせた情報である。
ここで、基本印刷設定情報Aは、用紙サイズがA4、印刷の向きが縦の場合、
解像度 : 600(dpi)
左マージン : 100(dot)
上マージン : 100(dot)
であることが印刷設定情報記憶部23に記憶されている。
次に、補正値算出手段2851aは、基本印刷設定情報Aと、合成印刷設定情報Bとを比較し、プリンタドライバ印刷設定情報の補正値を算出する(ステップS505)。例えば、解像度と左マージンおよび上マージンとから、スケールおよび位置の補正値を算出する。
ここでは、補正値を次のように算出する。
[スケール補正値]
まず、拡大/縮小率であるスケール補正値を算出する。ここで、X方向は論理ページの横方向を示し、Y方向は論理ページの縦方向を示す。つまり、用紙の左上隅を原点とし、右方向が正X方向、下方向が正Y方向となる。
X方向およびY方向のスケール補正値Sは、次式により求められる。
S=(基本印刷設定情報Aの解像度)÷(合成印刷設定情報Bの解像度)
=600÷300=2
以上より、拡大率が、X方向に2倍、Y方向に2倍であることを示している。
[左マージンおよび上マージン]
次に、印刷開始位置のずれを補正する位置補正値を算出する。
X方向の位置補正値Axは次式により求められる。
Ax=(合成印刷設定情報Bの左マージン)×(スケール補正値S)−(基本印刷設定情報Aの左マージン)
=60×2−100=20
同様に、Y方向の位置補正値Ayは次式により求められる。
Ay=(合成印刷設定情報Bの上マージン)×(スケール補正値S)−(基本印刷設定情報Aの上マージン)
=60×2−100=20
以上より、X方向に20dot、Y方向に20dot分、印刷開始位置をずらすことを示している。
以上により、補正値算出手段2851aにより、スケールおよび位置の補正値が次のように算出される。
スケール補正値S: 2(倍)
位置補正値Ax : 20(dot)
位置補正値Ay : 20(dot)
ここで、再び図5に示す処理の説明に戻る。
印刷データ受信手段2852aが、アプリケーションプログラム22により送信された印刷データを取得する(ステップS506)。
印刷データ補正手段2853aは、印刷データに対して、スケールおよび位置の補正値に基づき、X方向およびY方向に2倍に拡大し、さらに、印刷開始位置をX方向に20dotおよびY方向に20dot分移動する補正を行う(ステップS507)。
そして、印刷データ補正手段2853aは、補正した印刷データを印刷データ送信部6に渡す(ステップS508)。
その後、印刷データ送信部6は、補正した印刷データをプリンタA8aに送信し、プリンタA8aは補正した印刷データを印刷する(ステップS509)。
次に、印刷データ受信手段2852aが新たに印刷データをアプリケーションプログラム22から受信したか否かを判定する(ステップS510)。
新たな印刷データを受信していれば(ステップS510,Yes)、ステップS506の処理に戻り、印刷データを取得する。
一方、新たな印刷データを受信していなければ(ステップS510,No)、すべての印刷処理を終了する。
補正を行う前、合成印刷設定情報Bの上マージンの印刷開始位置“60dot”であり、基本印刷設定情報Aの上マージンの印刷開始位置“100dot”であるため、差分が“40dot”ある。この差分が、プリンタAで印刷した場合と、プリンタBで印刷した場合との「印刷開始位置のズレ」となる。
しかし、以上のステップS501〜S510の処理を行うことで、スケール補正値S(=2)により差分は(60×2−100=)20dotとなり、さらに、位置補正値Ay(=20)により印刷開始位置が20dot分ずれるため、差分は“0dot”となり、印刷開始位置が一致する。
以上により、本発明の実施形態に係るプリンタ制御装置を用いることで、プリンタBで印刷する設定がされているデータをプリンタAで印刷を行うことができ、さらに、プリンタAで印刷しても、プリンタBで印刷した印刷データと比較してずれがない印刷を行うことができる。
以上、本発明の実施形態に係るプリンタ制御装置の構成および動作について説明したが、本発明はこの実施形態に限定されるものではない。
例えば、ここでは、各プリンタドライバ(プリンタドライバA28a,プリンタドライバB28b,・・・)がそれぞれ合成印刷設定情報生成手段(2810a,2810b,・・・)を有することとしたが、図7に示すように、合成印刷設定情報生成手段2810をすべてのプリンタドライバに共通の機能として独立させた、合成印刷設定情報生成プログラム27を有する、としてもよい。
以上により、例えば、プリンタBで印刷した場合、図8(a)に示すように『日付、名前、住所』を所定の枠内に印刷できたが、プリンタAで印刷した場合、図8(b)に示すように『日付、名前、住所』を所定の枠内に印刷できなかったときに、本発明の実施形態に係るプリンタ制御装置を用いることで、表示部5に表示されたプリンタドライバ選択画面にて、プリンタドライバを選択するという簡単な操作で、プリンタAで印刷した場合でも、図8(a)に示すように『日付、名前、住所』を所定の枠内に印刷することができる。
また、所定の枠内に印刷することができるため、印刷した用紙をスキャナで読み取り、OCR(Optical Character Recognition)ソフトで文字認識を行った場合も識字率の高いデータを得ることができる。
本発明の実施形態に係るプリンタ制御装置を含む印刷システムの構成を示すブロック図である。 本発明の実施形態に係るプリンタドライバAの構成を示すブロック図である。 本発明の実施形態に係るプリンタ制御装置の合成印刷設定情報生成処理の動作を示すフローチャートである。 本発明の実施形態に係るプリンタ制御装置のアプリケーションからのプリンタドライバ情報要求に対する動作を示すフローチャートである。 本発明の実施形態に係るプリンタ制御装置がプリンタに印刷させる動作を示すフローチャートである。 表示部に表示されるプリンタドライバ選択画面である。 本発明の実施形態に係るプリンタ制御装置を含む印刷システムの構成を示すブロック図である。 (a)所定の枠内に印刷できた印刷データである。(b)所定の枠内に印刷できなかった印刷データである。
1 プリンタ制御装置
2 記憶部
3 制御部
4 入力部
5 表示部
6 印刷データ送信部
8a プリンタA
8b プリンタB
8c プリンタC
9 LAN
21 OS
22 アプリケーションプログラム
23 印刷設定情報記憶部
23a 印刷設定構成情報A
23b 印刷設定構成情報B
28a プリンタドライバA
28b プリンタドライバB
28c プリンタドライバC
100 印刷システム
2810a 合成印刷設定情報生成手段
2820a 印刷設定構成情報応答手段
2830a 合成印刷設定情報抽出手段
2840a 基本印刷設定情報取得手段
2850a 印刷データ生成手段
P 利用者

Claims (4)

  1. 複数のプリンタと接続され、少なくとも、第1のプリンタに係る第1の印刷設定構成情報と、第2のプリンタに係る第2の印刷設定構成情報とが記憶された印刷設定情報記憶部を備え、アプリケーションプログラムから出力される印刷データを、前記第2のプリンタに印刷させるプリンタ制御装置であって、
    前記アプリケーションプログラムの印刷指示を受けてから、前記接続されたプリンタを制御するプリンタドライバのいずれかを利用者に選択させる画面を表示部に表示させ、前記利用者により選択されたプリンタドライバに対応する第1のプリンタに係る第1の印刷設定構成情報を前記印刷設定情報記憶部から取得する第1印刷設定情報取得手段と、
    前記アプリケーションプログラムからの要求に応じて、前記第1の印刷設定構成情報を前記アプリケーションプログラムに提供する印刷設定情報応答手段と、
    前記印刷設定情報記憶部に記憶された前記第2の印刷設定構成情報を取得する第2印刷設定情報取得手段と、
    前記第1の印刷設定構成情報と前記第2の印刷設定構成情報との差異を補正するための補正値を算出し、前記アプリケーションプログラムにより生成された印刷データを前記補正値で補正する印刷データ生成手段と、
    補正後の補正済印刷データを前記第2のプリンタに送信する印刷データ送信手段と、
    を備え、
    前記利用者により前記プリンタドライバが選択されることで直ちに処理を開始し、前記補正済印刷データを生成することを特徴とするプリンタ制御装置。
  2. 前記第1の印刷設定構成情報および前記第2の印刷設定構成情報は、プリンタの印刷能力を示す情報であり、プリンタに印刷される用紙サイズ、印刷時の解像度、および印刷時に用紙を給紙する向きの組み合わせであることを特徴とする請求項1に記載されたプリンタ制御装置。
  3. 複数のプリンタと接続され、少なくとも、第1のプリンタに係る第1の印刷設定構成情報と、第2のプリンタに係る第2の印刷設定構成情報とが記憶された印刷設定情報記憶部を備える制御装置によって、アプリケーションプログラムから出力される印刷データを、前記第2のプリンタに印刷させるプリンタ制御方法であって、
    前記アプリケーションプログラムの印刷指示を受けてから、前記接続されたプリンタを制御するプリンタドライバのいずれかを利用者に選択させる画面を表示部に表示させ、前記利用者により選択されたプリンタドライバに対応する第1のプリンタに係る第1の印刷設定構成情報を前記印刷設定情報記憶部から取得する第1印刷設定情報取得ステップと、
    前記アプリケーションプログラムからの要求に応じて、前記第1の印刷設定構成情報を前記アプリケーションプログラムに提供する印刷設定情報応答ステップと、
    前記印刷設定情報記憶部に記憶された前記第2の印刷設定構成情報を取得する第2印刷設定情報取得ステップと、
    前記第1の印刷設定構成情報と前記第2の印刷設定構成情報との差異を補正するための補正値を算出し、前記アプリケーションプログラムにより生成された印刷データを前記補正値で補正する印刷データ生成ステップと、
    補正後の補正済印刷データを前記第2のプリンタに送信する印刷データ送信ステップと、
    を有し、
    前記利用者により前記プリンタドライバが選択されることで直ちに処理を開始し、前記補正済印刷データを生成することを特徴とするプリンタ制御方法。
  4. 複数のプリンタと接続され、少なくとも、第1のプリンタに係る第1の印刷設定構成情報と、第2のプリンタに係る第2の印刷設定構成情報とが記憶された印刷設定情報記憶部を備え、アプリケーションプログラムから出力される印刷データを、前記第2のプリンタに印刷させるコンピュータに用いられるプログラムであって、
    前記アプリケーションプログラムの印刷指示を受けてから、前記接続されたプリンタを制御するドライバのいずれかを利用者に選択させる画面を表示部に表示させ、前記利用者により選択されたドライバに対応する第1のプリンタに係る第1の印刷設定構成情報を前記印刷設定情報記憶部から取得する第1印刷設定情報取得ステップと、
    前記アプリケーションプログラムからの要求に応じて、前記第1の印刷設定構成情報を前記アプリケーションプログラムに提供する印刷設定情報応答ステップと、
    前記印刷設定情報記憶部に記憶された前記第2の印刷設定構成情報を取得する第2印刷設定情報取得ステップと、
    前記第1の印刷設定構成情報と前記第2の印刷設定構成情報との差異を補正するための補正値を算出し、前記アプリケーションプログラムにより生成された印刷データを前記補正値で補正する印刷データ生成ステップと、
    補正後の補正済印刷データを前記第2のプリンタに送信する印刷データ送信ステップと、
    をコンピュータに実行させ、前記利用者により前記ドライバが選択されることで直ちに処理を開始させ、前記補正済印刷データを生成させるプリンタドライバ。
JP2008315395A 2008-12-11 2008-12-11 プリンタ制御装置およびプリンタ制御方法、ならびにプリンタドライバ Expired - Fee Related JP5302649B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008315395A JP5302649B2 (ja) 2008-12-11 2008-12-11 プリンタ制御装置およびプリンタ制御方法、ならびにプリンタドライバ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008315395A JP5302649B2 (ja) 2008-12-11 2008-12-11 プリンタ制御装置およびプリンタ制御方法、ならびにプリンタドライバ

Publications (2)

Publication Number Publication Date
JP2010140224A JP2010140224A (ja) 2010-06-24
JP5302649B2 true JP5302649B2 (ja) 2013-10-02

Family

ID=42350324

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008315395A Expired - Fee Related JP5302649B2 (ja) 2008-12-11 2008-12-11 プリンタ制御装置およびプリンタ制御方法、ならびにプリンタドライバ

Country Status (1)

Country Link
JP (1) JP5302649B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5821245B2 (ja) * 2011-04-01 2015-11-24 セイコーエプソン株式会社 印刷装置及び印刷方法
JP4968417B1 (ja) * 2012-01-26 2012-07-04 富士ゼロックス株式会社 印刷データ変換装置及びプログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005297360A (ja) * 2004-04-12 2005-10-27 Canon Inc 印刷システム及び印刷用紙サイズ指定方法
JP2006260398A (ja) * 2005-03-18 2006-09-28 Fuji Xerox Co Ltd 印刷制御装置およびその制御方法
JP2007025845A (ja) * 2005-07-13 2007-02-01 Seiko Epson Corp プリンタの制御方法およびプログラム

Also Published As

Publication number Publication date
JP2010140224A (ja) 2010-06-24

Similar Documents

Publication Publication Date Title
US7409169B2 (en) Image forming apparatus and image forming system
JP5302649B2 (ja) プリンタ制御装置およびプリンタ制御方法、ならびにプリンタドライバ
JP6917285B2 (ja) 画像形成装置
JP2009031921A (ja) 画像形成装置及び印刷設定用プログラム
JPH07261950A (ja) 印刷状態表示装置
JP2010009184A (ja) 画像処理システム及びその管理方法、並びにプログラム及び記録媒体
JP2008192015A (ja) 画像形成装置、罫線出力の変更方法及び罫線出力の変更プログラム。
KR100633100B1 (ko) 인쇄제어장치 및 인쇄제어방법
JP2005004320A (ja) 印刷制御装置および印刷制御プログラム
JP6536390B2 (ja) 印刷制御装置、印刷制御方法及び印刷制御プログラム
US10766281B2 (en) Printer, information processing device, and a non-transitory computer-readable recording medium recording an information processing program
JP2003280864A (ja) プリンタドライバ
US11733937B2 (en) Support program, information processing device, and printing method
US20240028278A1 (en) System, information processing apparatus, printing apparatus, control method, and non-transitory computer-readable storage medium
US20240177266A1 (en) Image processing apparatus, image forming apparatus, image processing method, and storage medium
JP2012058817A (ja) 情報処理装置及び印刷システム、並びに情報処理方法、プリンタドライバプログラム
JP2009151468A (ja) 印刷プレビュー装置及び方法
JP2024052208A (ja) 情報処理装置、方法およびプログラム
KR101219427B1 (ko) 화상형성장치, 이에 연결된 호스트장치 및 그 화상처리방법
JP2007323363A (ja) 印刷システム、印刷装置、印刷制御方法、プログラム及び記憶媒体
JP2001160882A (ja) コピー制御装置
JPH1058787A (ja) 印刷処理方法および装置
JP2023162738A (ja) 画像形成装置
JP2022148553A (ja) 印刷システム、プリンタドライバ、およびプリンタ
JP2000235473A (ja) プリンタシステムおよび機械読取り可能な記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110608

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120704

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120710

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120907

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130326

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130508

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130528

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130621

R150 Certificate of patent or registration of utility model

Ref document number: 5302649

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees