(57)【要約】【課題】  アプリケーションおよびプリンタの組み合わせに拘わらず所望の印刷を可能にするプリンタの制御方法およびプリンタドライバを提供する。【解決手段】  プリンタ１の制御方法は、アプリケーション３から印刷データを取得するステップと、アプリケーション３が対応可能な第二の印刷モードをエミュレーション（疑似）プリンタに設定し、実際に印刷するプリンタ１へ第一の印刷モードを設定する印刷設定ステップと、第二の印刷モードの印刷データを、プリンタ１によって印刷が可能な第一の印刷モードの変換データへ変換する変換ステップと、プリンタ１に変換データを印刷させる印刷ステップと、を有することを特徴とする。【選択図】      図６
2007025845.tif 000002
【特許請求の範囲】
【請求項１】
プリンタに対して前記プリンタが対応可能な第一の印刷モードを設定し、前記第一の印刷モードに対応していないアプリケーションに対して前記アプリケーションが対応可能な第二の印刷モードを設定する印刷設定ステップと、
前記アプリケーションが作成し前記第二の印刷モードに基づいている印刷データを、前記第一の印刷モードが設定されている前記プリンタによって印刷可能な変換データへ変換する変換ステップと、
前記プリンタに前記変換データを印刷させる印刷ステップと、
を有することを特徴とするプリンタの制御方法。
【請求項２】
請求項１に記載のプリンタの制御方法において、
前記印刷設定ステップおよび前記変換ステップは、
前記印刷データまたは前記変換データを印刷するための印刷用紙を設定するステップと、
前記印刷用紙の印刷可能領域を設定するステップと、
前記印刷データまたは前記変換データの印刷開始位置を設定するステップと、
前記印刷データまたは前記変換データが印刷される大きさである印刷サイズを設定するステップと、
前記印刷データまたは前記変換データの印刷解像度を設定するステップと、の少なくともいずれかのステップを有することを特徴とするプリンタの制御方法。
【請求項３】
請求項２に記載のプリンタの制御方法において、
前記印刷開始位置を設定するステップは、少なくとも前記変換データの印刷開始位置を当該変換データの印刷可能領域内の任意位置へ設定することを特徴とするプリンタの制御方法。
【請求項４】
請求項３に記載のプリンタの制御方法において、
前記印刷サイズを設定するステップは、前記印刷開始位置を設定するステップにより任意位置へ設定された前記変換データの印刷サイズが当該変換データの印刷可能領域の大きさと異なる場合に、当該変換データの前記印刷サイズを縮小または拡大することを特徴とするプリンタの制御方法。
【請求項５】
請求項２に記載のプリンタの制御方法において、
前記印刷解像度を設定するステップは、前記印刷サイズを設定するステップにより前記印刷データまたは前記変換データの印刷サイズを設定するとき、前記印刷データと前記変換データとにおける同一方向のピクセル数がそれぞれ同数になるように設定することを特徴とするプリンタの制御方法。
【請求項６】
プリンタに対して前記プリンタが対応可能な第一の印刷モードを設定し、前記第一の印刷モードに対応していないアプリケーションに対して前記アプリケーションが対応可能な第二の印刷モードを設定する印刷設定ステップと、
前記アプリケーションが作成し前記第二の印刷モードに基づいている印刷データを、前記第一の印刷モードが設定されている前記プリンタによって印刷可能な変換データへ変換する変換ステップと、
前記プリンタに前記変換データを印刷させる印刷ステップと、をコンピュータに実行させることを特徴とするプログラム。
【請求項７】
請求項６に記載のプログラムにおいて、
前記印刷設定ステップおよび前記変換ステップは、
前記印刷データまたは前記変換データを印刷するための印刷用紙を用紙設定部が設定するステップと、
前記印刷用紙の印刷可能領域を領域設定部が設定するステップと、
前記印刷データまたは前記変換データの印刷開始位置を始点設定部が前記印刷可能領域内の任意の位置へ設定するステップと、
前記印刷データまたは前記変換データが印刷される大きさである印刷サイズを印刷サイズ設定部が縮小または拡大して設定するステップと、
前記印刷データと前記変換データとの印刷解像度を解像度設定部が同一方向のピクセル数がそれぞれ同数になるように設定するステップと、の少なくともいずれかのステップをコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションが作成した印刷データをプリンタに印刷させるためのプリンタの制御方法およびその制御をコンピュータに実行させるプログラムに関する。
【背景技術】
【０００２】
従来、プリンタの印刷制御は、プリンタ固有の仕様（内部に備えられたファームウェアなど）に対応するため、アプリケーションからホストコンピュータに備えられたプログラム（以下、プリンタドライバと称する）によってなされている。プリンタは、プリンタドライバを介して、アプリケーションにより作成された印刷データを受信してから印刷している。また、プリンタを多様なアプリケーションに対応させるために、プリンタドライバが複数のファームウエアを有していて、アプリケーションの要求とプリンタの仕様とをプリンタドライバが把握した上で、最適と判断したファームウエアをプリンタへダウンロードする方法がある。この方法によれば、プリンタは、プリンタ内に種々のファームウエアを備えておくことなく、多様なアプリケーションに対応することが可能である（たとえば特許文献１）。
【０００３】
【特許文献１】特開平８−１２３６３５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、従来の技術では、ある特定のプリンタの仕様に合わせて作成されているアプリケーションを用いて他のプリンタへ印刷をしたい場合、およびアプリケーションが想定している規格以外の印刷用紙等へ印刷をしたい場合などにおいて、印刷位置がずれてしまうなど、目的とする印刷（従来使用していたプリンタとほぼ同様な印刷結果が得られること）がされない場合がある。目的とする印刷をするためには、アプリケーションの変更が必要となる。例えば、ロール紙へレシートを印刷したり、商品ラベルなどの印刷をするプリンタを組み込んだＰＯＳ端末においては、用途により専用仕様のプリンタが使われる場合があり、これらのプリンタ仕様に合わせ特化したアプリケーションが作成されている場合が多い。都合により他のプリンタへ置き換えするには、アプリケーションも変更せざるを得ず、新たな投資が必要であった。
【０００５】
本発明は、上記課題を解決するために、アプリケーションとプリンタとの組み合わせに拘わらず、目的とする印刷を可能にするプリンタの制御方法およびプリンタドライバを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明のプリンタの制御方法は、プリンタに対して当該プリンタの仕様に対応している第一の印刷モードを設定し、第一の印刷モードに対応していないアプリケーションに対しては、アプリケーションが対応している第二の印刷モードを設定する印刷設定ステップと、アプリケーションが第二の印刷モードに基づいて作成した印刷データを、第一の印刷モードが設定されているプリンタに対し印刷可能な変換データへ変換する変換ステップと、プリンタに変換データを印刷させる印刷ステップと、を有することを特徴とする。
【０００７】
このプリンタの制御方法によれば、印刷設定ステップで、プリンタが対応している第一の印刷モードの設定およびアプリケーションが対応している第二の印刷モードの設定を前提にし、その組合せでは目的とする印刷ができないため、変換ステップにおいて、第二の印刷モードで構成されている印刷データを、第一の印刷モードに合わせ変換した変換データとする。この変換により、アプリケーションが第二の印刷モードで作成した印刷用データを、第一の印刷モードが設定されているプリンタで、目的とする印刷結果を印刷可能にする。換言すれば、ある特定のプリンタ用の仕様に合わせてアプリケーションが作成する印刷用データであっても、当該印刷用データを他の仕様のプリンタに対応した変換データへ変換することにより、特定のプリンタ以外の別のプリンタでも目的とする印刷結果の印刷が可能となる。このようなプリンタの制御方法により、他のプリンタに置き換えても、同じアプリケーションで作成した印刷データを当該他のプリンタでも印刷することが可能である。従って、アプリケーションを変更せずに済み、新たな投資が必要ない。
【０００８】
この場合、印刷設定ステップおよび変換ステップは、印刷データまたは変換データを印刷するための印刷用紙を設定するステップと、印刷用紙の印刷可能領域を設定するステップと、印刷データまたは変換データの印刷開始位置を設定するステップと、印刷データまたは変換データが印刷される大きさである印刷サイズを設定するステップと、印刷データまたは変換データの印刷解像度を設定するステップと、をそれぞれ有することが好ましい。
【０００９】
この方法によれば、印刷設定ステップにおいては、印刷データまたは変換データを印刷するために必要な印刷用紙、印刷可能領域、印刷開始位置、印刷サイズおよび印刷解像度がそれぞれ設定できる。そして、変換ステップにおいては、印刷データとして設定されている印刷用紙、印刷可能領域、印刷開始位置、印刷サイズおよび印刷解像度を変換データへそれぞれ変換する処理が実行される。これらにより、プリンタが対応していない印刷データを当該プリンタが対応する変換データへと変換することができ、他のプリンタに置き換えても、同じアプリケーションから目的とする印刷データの内容を印刷することが可能になる。
【００１０】
そして、印刷用紙に対し印刷開始位置を設定するステップは、少なくとも変換データの印刷開始位置を当該変換データの印刷可能領域内の任意位置へ設定することが好ましい。
【００１１】
この方法によれば、変換データの印刷が印刷可能領域内のいずれの位置からでも開始でき、変換データを印刷可能領域内の自在な位置に配置可能である。これにより、設定された変換データの印刷可能領域に対して、変換データを印刷用紙の見易い位置またはバランスの良い位置などへ印刷することが可能である。
【００１２】
また、印刷サイズを設定するステップは、印刷開始位置を設定するステップにより任意位置へ設定された変換データの印刷サイズが当該変換データの印刷可能領域の大きさと異なる場合に、当該変換データの印刷サイズを縮小または拡大することが好ましい。
【００１３】
この方法によれば、変換データを印刷領域内へ印刷する大きさである印刷サイズが、印刷可能領域より大きくて入りきらないなど、印刷開始位置の変更のみでは対応できない場合であっても、変換データを縮小して印刷することにより、印刷可能領域内へ印刷可能となる。また、変換データの印刷サイズが印刷可能領域より小さく見にくい場合でも、変換データを拡大して印刷することにより印刷可能領域内へ見やすく且つバランス良く印刷可能となる。これにより、いかなる印刷サイズの印刷データであっても、変換データへ縮小または拡大して変換することにより、印刷可能領域内へ印刷可能である。
【００１４】
さらに、印刷解像度を設定するステップは、印刷サイズを設定するステップにより印刷データまたは変換データの印刷サイズを設定するとき、印刷データと変換データとにおける同一方向のピクセル数がそれぞれ同数になるように設定することが好ましい。
【００１５】
この方法によれば、印刷データを縮小または拡大して変換データに変換する際に、それぞれの同一方向のピクセル数を同数に設定する変換を行う。アプリケーションが作成したアウトラインフォントやグラフィックスデータを、プリンタの解像度に応じたビットマップデータに変換する（ラスタライズ）ことが必要となる。従来の場合、ラスタライズによって、印刷イメージに近いビットマップ状の変換データをプリンタへ送って、印刷する。この時に、ピクセル数（プリンタ間の解像度の違い）を考慮せず単純に印刷データを変換データに変換すると、一部のデータが消失したり、印刷が変形したりしていた。従来と異なり、ピクセル数を考慮して変換することにより、データの消失、印刷の変形などが回避可能である。
【００１６】
本発明のプリンタドライバは、プリンタに対して当該プリンタが対応している第一の印刷モードを設定し、第一の印刷モードに対応していないアプリケーションに対してアプリケーションが対応している第二の印刷モードを設定する印刷設定ステップと、アプリケーションが第二の印刷モードに基づいて作成した印刷データを、第一の印刷モードが設定されているプリンタに対し印刷可能な変換データへ変換する変換ステップと、プリンタに変換データを印刷させる印刷ステップと、をコンピュータに実行させることを特徴とする。
【００１７】
このプリンタドライバによれば、印刷設定ステップで、プリンタが対応している第一の印刷モードの設定およびアプリケーションが対応している第二の印刷モードの設定を前提にして、変換ステップにおいて、そのままでは目的とする印刷ができないため、第二の印刷モードで作成されている印刷データを第一の印刷モードに合わせて変換した変換データとする。この変換により、アプリケーションが第二の印刷モードで作成した印刷用データを第一の印刷モードが設定されているプリンタで、目的とする印刷結果を印刷可能にする。このような機能をコンピュータに実行させることにより、他のプリンタに置き換えても、同じアプリケーションで作成した印刷データを当該他のプリンタでも印刷することが可能である。従って、このプリンタドライバを用いれば、他のプリンタと対応するようにアプリケーションを変更する必要がない。
【００１８】
この場合、印刷設定ステップおよび変換ステップは、印刷データまたは変換データを印刷するための印刷用紙を用紙設定部が設定するステップと、印刷用紙の印刷可能領域を領域設定部が設定するステップと、印刷データまたは変換データの印刷開始位置を始点設定部が印刷可能領域内の任意の位置へ設定するステップと、印刷データまたは変換データが印刷される大きさである印刷サイズを印刷サイズ設定部が縮小または拡大して設定するステップと、印刷データと変換データとの印刷解像度を解像度設定部が同一方向のピクセル数がそれぞれ同数になるように設定するステップと、をそれぞれコンピュータに実行させることが好ましい。
【００１９】
この方法によれば、コンピュータが実行する印刷設定ステップにおいては、印刷用データまたは変換データを印刷するために必要な印刷用紙、印刷可能領域、印刷開始位置、印刷サイズおよび印刷解像度をそれぞれ設定することができる。そして、変換ステップにおいては、印刷データとして設定されている印刷用紙、印刷可能領域、印刷開始位置、印刷サイズおよび印刷解像度を変換データに変換する処理が実行される。これらのステップにより、プリンタが対応していない印刷データを当該プリンタが対応する変換データへと変換し、他のプリンタに置き換えても、印刷データの内容を目的の印刷結果となるように印刷することが可能になる。
【発明を実施するための最良の形態】
【００２０】
以下、本発明を具体化した実施形態について説明する。実施形態では、プリンタとホストコンピュータとが互いに接続されている構成であって、ホストコンピュータは、プリンタを制御するプリンタドライバを有している。
（実施形態）
【００２１】
図１は、プリンタとホストコンピュータの構成を示すブロック図である。（以下、アプリケーション３はプリンタ１とは異なる仕様のプリンタに合わせて作成されたものとする。すなわちプリンタ１は、当初のプリンタから置き換えられたものとする。）プリンタ１と接続されているホストコンピュータ２は、プリンタ１で印刷するための印刷データを作成するアプリケーション３と、アプリケーション３などのプログラムに基づきシステム全体を制御するＯＳ（Operating  System）４と、印刷データをプリンタ１で印刷可能な変換データとして、印刷設定をするプリンタドライバ５と、を有する。そして、プリンタドライバ５から送られる変換データを、一時的に記憶してプリンタ１の印刷の進捗に合わせて順次送り出すスプーラ６と、変換データをプリンタ１へ送信するなどの、情報の送受信をするための通信インタフェース７と、を有している。
【００２２】
プリンタ１は、プリンタ１を制御する制御部１０と、印刷用紙へ変換データを印刷する印刷機構部１６と、を備えている。制御部１０は、ホストコンピュータ２の通信インタフェース７と情報の送受信をするための入出力インタフェース１１と、ホストコンピュータ２から送られてきた変換データを一旦記憶しておくＲＡＭ（Random  Access  Memory）１２と、プリンタ１を制御するためのファームウエアや文字フォントデータなどを記憶しているＲＯＭ（Read  Only  Memory）１３と、ファームウエアに従ってプリンタ１を制御するＣＰＵ（Central  Processing  Unit）１４と、印刷機構部１６を制御する印刷制御部１５と、を有している。
【００２３】
これら入出力インタフェース１１、ＲＡＭ１２、ＲＯＭ１３、ＣＰＵ１４および印刷制御部１５は、互いにバス１７を介して接続されている。このような構成において、アプリケーション３による印刷データの作成から、プリンタ１による印刷までを詳細に説明する。この場合、プリンタ１に設定されている印刷設定（第一の印刷モード）に対して、アプリケーション３が対応していなくても、印刷データをプリンタ１で印刷することが可能であり、以下では、このような関係にあるプリンタ１とアプリケーション３とを例にして説明する。
【００２４】
最初に、アプリケーション３によって作成された印刷データは、ＯＳ４へ引き渡される。以下、プリンタ１に記憶されている文字フォントデータでなく、アウトラインフォントやグラフィックデータを用いた場合について説明する。このときの印刷データは、ベクトルデータから成るグラフィックデータ（アウトラインフォントを含む）であって解像度などに依存しないデータである。印刷データを受け取ったＯＳは、プリンタドライバ５の印刷設定（第二の印刷モード）に基づいて、印刷データをグラフィックデータにラスタライズ（プリンタの解像度に応じたビットマップデータへの変換）する。これにより、印刷されたイメージに近いビットマップデータが生成される。ビットマップデータは、解像度に依存するデータであり、第二の印刷モードに合致した印刷解像度で作成されている。
【００２５】
しかし、プリンタドライバ５で設定されている第二の印刷モードは、アプリケーション３が対応しているものであり、プリンタ１に設定されている第一の印刷モードには対応していないため、ＯＳ４によるラスタライズが正しく行われない。そこで、プリンタドライバ５は、第一の印刷モードに代えて、アプリケーション３が対応する第二の印刷モードをＯＳ４へ送り、ラスタライズが正しく行えるようにする。つまり、プリンタドライバ５はＯＳ４に対し、第一の印刷モードに設定されているプリンタ１の設定を代えて、第二の印刷モードに設定されている他のプリンタへ一旦エミュレーションして認識させる。他のプリンタは、ＯＳ４から見て疑似化されていることから、エミュレーションプリンタと称される。
【００２６】
そして、プリンタドライバ５は、ＯＳ４から受け取ったグラフィックデータ化された印刷データを、実際のプリンタ１が理解して印刷可能とするために、第一の印刷モードで作成された変換データへと変換する。変換データは、スプーラ６へ送られ、スプーラ６の管理下でホストコンピュータ２のハードディスクなどの記憶部に、一時的に記憶される。アプリケーション３側は、プリンタ１の状態に係わらずスプーラ６に対し送信できるため、印刷データの送信を素早く終了することができ、並行してエミュレーションプリンタへのデータ作成作業と変換データ作成作業が滞ることなく処理できる。この後、スプーラ６は、通信インタフェース７を介して、順次変換データをプリンタ１へ送信する。このように、プリンタ１による印刷が全て完了しなくても、アプリケーション３は、プリンタ１への送信作業（実際にはスプーラ６への送信作業）を素早く終了させて開放され、次の作業を進めることが可能である。
【００２７】
プリンタ１は、入出力インタフェース１１で変換データを受信すると、ＲＡＭ１２へ変換データを一時記憶する。ＣＰＵ１４は、ＲＯＭ１３のファームウエアに基づいて、変換データを処理し、印刷制御部１５へ印刷指示を出す。印刷指示により、印刷機構部１６が印刷用紙へ印刷を開始する。
【００２８】
ここで、印刷設定としては、印刷用紙、印刷可能領域、印刷開始位置、印刷サイズ、印刷解像度の各設定が挙げられる。これらをエミュレーションプリンタに設定してデータを生成した後、プリンタ１に合わせたデータに変換することにより、アプリケーション３の印刷データが、アプリケーション３が対応していないプリンタ１によって印刷可能となる。
【００２９】
次に、これらの設定および変換の機能を実行するプリンタドライバについて説明する。図２は、プリンタドライバが実行する機能を示すブロック図である。各機能は、ホストコンピュータ２のＣＰＵやＯＳ４を用い、プリンタドライバ５を機能させることにより実行可能である。このプリンタドライバ５は、ＯＳ４を介して、アプリケーション３が作成した印刷データ（アウトラインフォントを含むグラフィックデータ）を取得する印刷データ取得部２０と、エミュレーションプリンタおよびプリンタ１への印刷設定および印刷データの変換データへの変換をするプリンタ設定部２１と、プリンタ１へ印刷指示をする印刷指示部２２としての機能を有する。
【００３０】
プリンタ設定部２１は、印刷用紙を設定する用紙設定部２３と、印刷用紙上に印刷領域や余白などを設定して印刷可能な領域を設定する領域設定部２４と、印刷用紙に対し印刷を開始する位置（座標）を設定する始点設定部２５と、縮小または拡大の実行を含んで実際に印刷される大きさを設定する印刷サイズ設定部２６と、印刷解像度を設定する解像度設定部２７と、を有する。
【００３１】
印刷解像度については、印刷データを縮小または拡大して変換データへ変換する際に、印刷データと変換データとの同一方向のピクセル数が同数になるように印刷解像度の設定をしておかないと、一部のデータの消失、印刷の変形などが生じ、目的とする印刷が行われない場合がある。このようなことを防止するために、印刷解像度の設定を行う。プリンタ１が内蔵された文字フォントデータを使用せず、全てをグラフィックデータからラスタライズされたビットマップデータで印刷するタイプのプリンタなどの場合には、必須の設定である。詳細については、図４を参照して後述する。
【００３２】
次に、プリンタドライバ５のプリンタ設定部２１が実行する各機能の詳細について、図３および図４を参照して説明する。まず、図３（ａ）は、プリンタドライバが実行する印刷用紙および印刷可能領域の設定を示す模式図である。模式図における左図は、プリンタ設定部２１によるエミュレーションプリンタの設定を示している。エミュレーションプリンタとは、プリンタドライバ５がＯＳ４およびアプリケーション３に対して、印刷データを印刷するプリンタであるかのように装って設定された疑似的なプリンタのことである。エミュレーションプリンタには、アプリケーション３が対応する第二の設定モードが設定されている。実際に印刷する際は、第一の設定モードに設定されているプリンタ１が、第一の設定モードに合わせて変換された変換データを印刷データとして印刷する。
【００３３】
ここでは、エミュレーションプリンタの設定として、印刷用紙サイズ３０と、余白等を除いて印刷データの印刷が可能な領域である印刷可能領域３２ａと、を設定する。この印刷可能領域３２ａの内側へ、印刷データがエミュレーションプリンタで印刷される大きさである印刷サイズ３４ａで印刷されるような設定である。印刷開始位置３３ａは、印刷サイズ３４ａで印刷される印刷データの印刷を開始する位置を示す。
【００３４】
また、模式図における右図は、実際に印刷するプリンタ１の設定を示している。プリンタ１には、第一の印刷モードが設定されており、エミュレーションプリンタとは異なる実印刷用紙サイズ３１と、実印刷可能領域３２ｂとが設定されている。従って、エミュレーションプリンタ用の印刷データと同じ設定の印刷サイズ３４ａおよび印刷開始位置３３ａによる印刷では、実印刷可能領域３２ｂ内へ印刷サイズ３４ａのすべてが印刷できない場合がある。仮にすべてが実印刷可能領域３２ｂ内に印刷できても、実印刷可能領域３２ｂの偏った方向に印刷されてしまうなど、バランスの良くない印刷結果となる。これらを回避するには、印刷データを第一の設定モードに合った変換データに変換し、印刷開始位置３３ａなどを新たに設定する必要がある。
【００３５】
次に、印刷データの印刷開始位置３３ａに相当する変換データの実印刷開始位置３３ｂの設定について説明する。図３（ｂ）は、プリンタドライバが実行する印刷開始位置の設定を示す模式図である。左図に示すエミュレーションプリンタの設定は、図３（ａ）と同様である。右図に示す実際に印刷するプリンタ１の設定では、実印刷可能領域３２ｂがエミュレーションプリンタの印刷サイズ３４ａより大きいため、変換データの実印刷サイズ３４ｂを印刷サイズ３４ａと同じ大きさに設定し、実印刷サイズ３４ｂが実印刷可能領域３２ｂ内へバランス良く配置されるように実印刷開始位置３３ｂを設定する。実印刷開始位置３３ｂの設定により、変換データは、エミュレーションプリンタでの印刷データの印刷サイズ３４ａと同じ大きさで、実印刷可能領域３２ｂ内へ印刷される。
【００３６】
実印刷可能領域３２ｂがエミュレーションプリンタの印刷サイズ３４ａより小さい場合、実印刷開始位置３３ｂの設定を変えるだけでは、変換データのすべてを実印刷可能領域３２ｂへ印刷できない。この場合の対応について、図３（ｃ）を参照して説明する。図３（ｃ）は、プリンタドライバが実行する印刷サイズの設定を示す模式図である。左図に示すエミュレーションプリンタの設定は、図３（ａ）および（ｂ）と同様である。
【００３７】
右図に示す実際に印刷するプリンタ１の第一印刷モードでは、実印刷可能領域３２ｂがエミュレーションプリンタの印刷サイズ３４ａより小さく設定されている。このような場合、実印刷可能領域３２ｂ内へ印刷データのすべてが印刷されるように、印刷データの印刷サイズ３４ａを縮小して変換データの実印刷サイズ３４ｂとする。なお、当該右図では、実印刷開始位置３３ｂをエミュレーションプリンタの印刷開始位置３３ａと同じに設定しているが、図３（ｂ）で説明したように、任意の位置へ実印刷開始位置３３ｂを変更することも可能である。
【００３８】
また、実印刷可能領域３２ｂがエミュレーションプリンタの印刷サイズ３４ａより大きく設定されているような場合、印刷サイズ３４ａで印刷すれば変換データのすべてを印刷可能であるが、実印刷可能領域３２ｂとのバランス等を考慮して、拡大した実印刷サイズ３４ｂによる変換データの印刷も可能である。これにより、いかなる大きさの実印刷可能領域３２ｂに対しても、変換データのすべてを見易く、且つ、バランス良く印刷することが可能である。
【００３９】
ここで、プリンタ１に送られる変換データがコマンドの形式でデータを生成するページ記述言語の場合は、印刷解像度を考慮することなく印刷データを縮小または拡大しても、変換データの印刷に支障を生じることはない。換言すると、ページ記述言語対応のプリンタ１は、自身で適切なラスタライズを行うからである。しかし、プリンタ１がページ記述言語対応していないプリンタ等であって、プリンタドライバ５を経由してグラフィックデータをラスタライズしてビットマップデータ化したデータを生成している場合は、印刷データと変換データとの同一方向のピクセル数を同数にするように印刷解像度を設定して、印刷に支障が生じないように変換する必要がある。このような場合の印刷解像度の設定について、次に説明する。
【００４０】
図４（ｄ）は、プリンタドライバが実行する印刷解像度の設定方法を示す模式図である。左図に示すエミュレーションプリンタの設定は、図３（ｃ）と同様であり、印刷解像度の説明のために、印刷データの印刷サイズ３４ａのＸおよびＹ方向の寸法としてそれぞれ８０ｍｍを記してある。右図に示す実際に印刷するプリンタ１の設定では、実印刷可能領域３２ｂ内へ変換データを印刷するために、変換データの実印刷サイズ３４ｂをＸおよびＹ方向とも６０ｍｍに縮小してある。この場合、実印刷開始位置３３ｂは、エミュレーションプリンタの印刷開始位置３３ａと同じであり、プリンタ１の実印刷解像度は、１８０ｄｐｉ（dot  per  inch）である。
【００４１】
印刷データと変換データとの同一方向のピクセル数を同数にするということは、印刷データのＸ方向の長さ（Ｌi）におけるピクセル数（Ｐi）と、変換データのＸ方向の長さ（Ｌh）におけるピクセル数（Ｐh）とが同数になるように、印刷データの印刷解像度（Ｋi）および変換データの実印刷解像度（Ｋh）を設定することである。この場合、それぞれのピクセル数は、Ｐi＝Ｌi／２５．４×Ｋi、Ｐh＝Ｌh／２５．４×Ｋhで表される。（１inchを２５．４ｍｍとする）
【００４２】
変換データの実印刷解像度（Ｋh）は、実際に印刷を実行するプリンタ１の１８０ｄｐｉであり、変換データのＸ方向の長さ（Ｌh）６０ｍｍにおけるピクセル数（Ｐh）は、Ｐh＝Ｌh／２５．４×Ｋh＝６０／２５．４×１８０＝４２５となる。プリンタ１の実印刷解像度１８０ｄｐｉを基準にして、印刷データのＸ方向の長さ（Ｌi）８０ｍｍにおけるピクセル数（Ｐi）を４２５ピクセルに等しくなるように、エミュレーションプリンタの印刷解像度（Ｋi）を設定する。つまり、Ｋi＝Ｌh／Ｌi×１８０＝６０／８０×１８０＝１３５となり、印刷解像度（Ｋi）を１３５ｄｐｉに設定すれば、変換データの印刷に支障を生じることはない。同様にして、印刷データおよび変換データそれぞれのＹ方向の印刷解像度（Ｋi）を算出する。この場合、Ｘ方向と同じ１３５ｄｐｉとなる。
【００４３】
次に、以上説明した印刷設定を、具体的に設定する印刷設定画面について説明する。図５は、印刷設定画面を示す模式図である。印刷設定画面４０における設定数字などは、図４の印刷解像度を説明した例示に準じている。印刷設定画面４０は、プリンタドライバ５に制御され、第二の印刷モードを示すエミュレーションプリンタの印刷設定画面４１と、第一の印刷モードを示す実際に印刷するプリンタの印刷設定画面４２とを有する。
【００４４】
エミュレーションプリンタの印刷設定画面４１は、設定する項目として、プリンタの指定４３と、印刷用紙種類４４と、印刷用紙サイズ３０と、印刷可能領域３２ａと、印刷開始位置３３ａと、印刷サイズ３４ａと、印刷解像度４６ａとを有し、さらに、これら設定による印刷プレビューを表示する印刷データ表示部４８を有する。また、実際に印刷するプリンタの印刷設定画面４２は、実際に印刷するプリンタ１を示す表示「ＸＸ−ＹＹＹＹＺ」と、設定する項目として、実印刷用紙種類４５と、実印刷用紙サイズ３１と、実印刷可能領域３２ｂと、実印刷開始位置３３ｂと、実印刷サイズ３４ｂと、実印刷解像度４６ｂと、サイズ比率４７とを有し、さらに、これら設定による印刷プレビューを表示する変換データ表示部４９を有する。
【００４５】
プリンタの指定４３は、アプリケーション３が対応するプリンタが表示される選択ボックスの中から、エミュレーションプリンタとなるプリンタを選択するためのものである。ここではエミュレーションプリンタとして、「ＰＰＰＰＰ」が選択されており、プリンタドライバ５は、選択されたプリンタ「ＰＰＰＰＰ」が実際に印刷するプリンタであるかのようにＯＳ４に認識させる。さらに、「詳細印刷設定をエミュレーションする」項目にチェック５０が入れられると、エミュレーションプリンタの印刷設定画面４１で表示される詳細な印刷設定の項目に従って印刷データが設定可能である。チェック５０が入れられなければ、アプリケーション３による印刷データの設定が適用される。
【００４６】
一方、実際に印刷するプリンタの印刷設定画面４２において、プリンタ「ＸＸ−ＹＹＹＹＺ」は、ホストコンピュータ２と接続されて実際に印刷をするプリンタ１であり、指定されることなく表示される。そして、「エミュレーションプリンタの印刷設定を無視する」項目にチェック５１が入れられると、エミュレーションプリンタの印刷設定画面４１の印刷設定を無視して、実際に印刷するプリンタの印刷設定画面４２による印刷設定の項目に従って変換データが設定される。チェック５１が入れられなければ、エミュレーションプリンタの印刷設定が適用される。以降、これらチェック５０、５１は入れられているものとして説明する。
【００４７】
印刷用紙種類４４および実印刷用紙種類４５は、共に選択ボックスの中から該当する種類の用紙を選択するためのものであり、用紙設定部２３によって制御される。ここでは、ユーザー定義サイズが選択されているが、エミュレーションプリンタまたはプリンタ１が対応するＡ４、Ａ３、はがき、ロール紙などの選択も可能である。印刷用紙種類４４において、アプリケーション３が設定している印刷用紙が選択されると、印刷用紙サイズ３０および印刷可能領域３２ａには、アプリケーション３による設定値が表示される。アプリケーション３が設定している「ユーザー定義サイズ」としての印刷用紙サイズ３０は、横（Ｘ方向）１００ｍｍ、縦（Ｙ方向）１００ｍｍのサイズであり、印刷データの印刷可能領域３２ａは、横９０ｍｍ、縦９０ｍｍである。アプリケーション３が設定している「ユーザー定義サイズ」以外の印刷用紙を選択して、改めて印刷用紙を設定することも可能である。
【００４８】
実印刷用紙種類４５においては、プリンタ１に装着されている印刷用紙として「ユーザー定義サイズ」が選択され、実印刷用紙サイズ３１が、横（Ｘ方向）８０ｍｍ、縦（Ｙ方向）１００ｍｍ、変換データの実印刷可能領域３２ｂが横７０ｍｍ、縦９０ｍｍのサイズである。「ユーザー定義サイズ」は任意の実印刷用紙種類４５を設定し記憶することが可能であり、再度読み出して簡単に設定することができる。印刷可能領域３２ａおよび実印刷可能領域３２ｂは、それぞれ印刷用紙サイズ３０および実印刷用紙サイズ３１から横、縦５ｍｍずつを余白とした設定であり、領域設定部２４によって制御される。
【００４９】
次に、エミュレーションプリンタにおいて、印刷可能領域３２ａ内へ印刷データを印刷するための印刷開始位置３３ａと、印刷サイズ３４ａとを設定する。印刷データの印刷サイズ３４ａは、横８０ｍｍ、縦８０ｍｍに設定し、印刷開始位置３３ａは、印刷可能領域３２ａ側へ印刷用紙の左端部から横方向へ１０ｍｍ、上端部から縦方向へ１０ｍｍ入った位置である。これにより、印刷データは、印刷可能領域３２ａ内へバランス良く配置されたことが、印刷データ表示部４８の表示で確認可能である。
【００５０】
そして、プリンタ１において、実印刷可能領域３２ｂ内へ変換データを印刷するため、変換データの実印刷サイズ３４ｂを、横６０ｍｍ、縦６０ｍｍに設定し、実印刷開始位置３３ｂは、印刷データと同様に横方向へ１０ｍｍ、縦方向へ１０ｍｍの位置に設定する。つまり、変換データの実印刷サイズ３４ｂは、実印刷可能領域３２ｂ内へ変換データを印刷するため、印刷データの印刷サイズ３４ａの７５％に縮小されている。この値は、サイズ比率４７へ表示される。これにより、変換データは、実印刷可能領域３２ｂ内へバランス良く配置されたことが、変換データ表示部４９の表示で確認可能である。印刷開始位置３３ａおよび実印刷開始位置３３ｂは、始点設定部２５によって制御され、印刷サイズ３４ａおよび実印刷サイズ３４ｂは、印刷サイズ設定部２６によって制御される。
【００５１】
最後に、印刷解像度４６ａおよび実印刷解像度４６ｂは、プリンタ１がラスタプリンタ等の場合に、印刷データと変換データとにおける同一方向のピクセル数が同数になるように設定する必要がある。この場合、実印刷解像度４６ｂは、実際に印刷するプリンタ１の解像度である１８０ｄｐｉに設定される。プリンタ１の解像度１８０ｄｐｉの設定を受けて、図４を参照して説明したように印刷データの印刷解像度４６ａを算出し、算出結果の１３５ｄｐｉを印刷解像度４６ａとして設定する。印刷解像度４６ａは、オプションボタンの「指定」が選択されていれば、算出結果の値の入力またはラスタプリンタ等ではない場合における任意値の入力が可能である。また、「自動調整」が選択されていれば、プリンタ１がラスタプリンタ等であることを前提にして、解像度設定部２７によって自動的に印刷解像度４６ａが算出されて設定される。印刷設定がすべて終了し、コマンドボタン５２の「ＯＫ」がクリックされると、プリンタドライバ５は、印刷実行をプリンタ１へ指示するための表示へ切り替わる。
【００５２】
次に、プリンタドライバ５によるプリンタの制御方法を、フローチャートにまとめて簡単に説明する。図６は、プリンタドライバによるプリンタの制御方法を示すフローチャートである。フローチャートは、プリンタドライバ５がホストコンピュータ２内で、図２に示す各機能を実行させることによって成り立っている。
【００５３】
まず、ステップＳ１において、アプリケーション３からエミュレーションプリンタ用の印刷データを、印刷データ取得部２０が取得する。取得後、ステップＳ２へ進む。
【００５４】
ステップＳ２において、エミュレーションプリンタの印刷設定を、プリンタ設定部２１が行う。プリンタ設定部２１は、用紙設定部２３、領域設定部２４、始点設定部２５、印刷サイズ設定部２６、解像度設定部２７の機能を有し、図５に示すエミュレーションプリンタの印刷設定画面４１の各設定項目について、それぞれ入力された情報に基づいて設定する。設定後、ステップＳ３へ進む。
【００５５】
ステップＳ３において、実際に印刷するプリンタ１の印刷設定を、プリンタ設定部２１が行う。エミュレーションプリンタの印刷設定と同様に、実際に印刷するプリンタの印刷設定画面４２の各設定項目について、それぞれ入力された情報に基づいて設定する。設定後、ステップＳ４へ進む。
【００５６】
ステップＳ４において、アプリケーション３が作成した印刷データを、実際に印刷するプリンタ１に対応した変換データへ変換する。変換は、プリンタ設定部２１が行い、具体的には、図５の印刷設定画面４０に設定表示されているエミュレーションプリンタの印刷設定画面４１の各設定を、実際に印刷するプリンタ１の印刷設定画面４２の各設定へ変換する。この変換により、プリンタ１に対応していない第二の印刷設定である印刷データが、プリンタ１によって印刷可能となる。変換後、ステップＳ５へ進む。
【００５７】
ステップＳ５において、実際に印刷するプリンタ１へ印刷実行を指示する。指示は、印刷指示部２２が行う。詳細に述べると、変換後に印刷指示する表示に切り替わり、変換内容での印刷の確認がなされた後、印刷指示部２２がプリンタ１へ印刷の指示を行う。
【００５８】
以上で、フローが終了する。なお、ステップＳ２は、第二の印刷モードを設定する印刷設定ステップに該当し、ステップＳ３は、第一の印刷モードを設定する印刷設定ステップ、ステップＳ４は、変換データを作成するステップ、ステップＳ５は、プリンタ１に印刷指示をするステップにそれぞれ該当する。
【００５９】
以下、本発明を具体的に実施した一例である実施形態の効果をまとめて記載する。
【００６０】
（１）プリンタドライバ５による変換ステップを実行することにより、プリンタ１が対応していない印刷データが、プリンタ１で印刷可能な変換データへ変換され、プリンタ１で印刷することが可能である。これにより、プリンタ１に対応していないアプリケーション３が作成した印刷データであっても、プリンタ１で印刷でき、アプリケーション３をプリンタ１に対応するように変更する必要がない。
【００６１】
（２）印刷開始位置を設定するステップにより、変換データを自在に配置することが可能であり、印刷データの印刷可能領域３２ａとは異なる大きさの変換データの実印刷可能領域３２ｂ内へ、変換データをバランス良く印刷可能である。
【００６２】
（３）印刷サイズを設定するステップにより、変換データを縮小または拡大して印刷することが可能である。これにより、いかなる印刷サイズの印刷データであっても変換データへ縮小または拡大して変換することによって、実印刷可能領域３２ｂ内へ印刷可能である。
【００６３】
（４）印刷解像度を設定するステップにより、印刷データと変換データとの同一方向のピクセル数が同数になるように印刷データの印刷解像度を設定することが可能であり、プリンタ１がラスタプリンタ等の場合においても、一部のデータが消失したり印刷が変形したりすることを回避可能である。プリンタドライバ５は、このような考慮が不要なページ記述言語を用いるプリンタだけでなく、プリンタドライバによりラスタライズを行う通常のプリンタにも対応可能である。
【００６４】
また、本発明は上記の実施形態に限定されるものではなく、次のような変形例が挙げられる。
【００６５】
（変形例１）プリンタドライバ５のプリンタ設定部２１は、機能別にエミュレーションプリンタ設定部と、プリンタ１の設定部と、変換設定部とに、さらに分けられた印刷設定部であっても良い。印刷設定画面４０の各設定との関連がより分かりやすいプリンタドライバ５となる。
【００６６】
（変形例２）変換データの実印刷サイズ３４ｂの設定における縮小または拡大は、縦および横の縮小または拡大の設定比率が別々の設定であっても良い。変換データの実印刷可能領域３２ｂへの印刷が、実印刷可能領域３２ｂの大きさに則して、よりバランス良く配置可能である。
【００６７】
（変形例３）印刷設定画面４０でのエミュレーションプリンタの印刷設定画面４１の各設定は、アプリケーション３の設定に準じて表示され、実際に印刷するプリンタ１の印刷設定画面４２の各設定は、実印刷用紙サイズ３１が入力設定されれば、他の設定をプリンタ設定部２１が自動的に設定する方法であっても良い。変換データの作成がより簡便になる。
【図面の簡単な説明】
【００６８】
【図１】プリンタとホストコンピュータの構成を示すブロック図。
【図２】プリンタドライバが実行する機能を示すブロック図。
【図３】（ａ）プリンタドライバが実行する印刷用紙および印刷可能領域の設定を示す模式図。（ｂ）プリンタドライバが実行する印刷開始位置の設定を示す模式図。（ｃ）プリンタドライバが実行する印刷サイズの設定を示す模式図。
【図４】（ｄ）プリンタドライバが実行する印刷解像度の設定方法を示す模式図。
【図５】印刷設定画面を示す模式図。
【図６】プリンタドライバによるプリンタの制御方法を示すフローチャート。
【符号の説明】
【００６９】
１…プリンタ、２…ホストコンピュータ、３…アプリケーション、５…プリンタドライバ、７…通信インタフェース、１０…制御部、１１…入出力インタフェース、１２…ＲＡＭ、１３…ＲＯＭ、１４…ＣＰＵ、１５…印刷制御部、２０…印刷データ取得部、２１…プリンタ設定部、２２…印刷指示部、２３…用紙設定部、２４…領域設定部、２５…始点設定部、２６…印刷サイズ設定部、２７…解像度設定部、３０、３１…印刷用紙サイズ、３２ａ…印刷可能領域、３２ｂ…実印刷可能領域、３３ａ…印刷開始位置、３３ｂ…実印刷開始位置、３４ａ…印刷サイズ、３４ｂ…実印刷サイズ、４０…印刷設定画面、４１…エミュレーションプリンタの印刷設定画面、４２…実際に印刷するプリンタの印刷設定画面、４３…プリンタの指定、４４、４５…印刷用紙種類、４６ａ…印刷解像度、４６ｂ…実印刷解像度、４７…サイズ比率、４８…印刷データ表示部、４９…変換データ表示部、５０、５１…チェック、５２…選択ボタン。
【図１】
2007025845.tif 000003
【図２】
2007025845.tif 000004
【図３】
2007025845.tif 000005
【図４】
2007025845.tif 000006
【図６】
2007025845.tif 000007
【図５】
2007025845.tif 000008