(57)【特許請求の範囲】
【請求項１】
受信した印刷コマンドによって指定されたイメージを用紙上に印刷するプリンタに接続可能なコンピュータに対して、
このコンピュータが、解像度及びサイズを受け取ることによって当該解像度にて所望のイメージを当該サイズで表現した描画データを作成するアプリケーションプログラムを実行している時に、前記用紙としてロール紙が選択され且つ当該ロール紙における所定長さの定型サイズの範囲に対して縁なし印刷すべき旨の指示が入力された場合には、
前記定型サイズを所定倍率にて拡大したイメージ領域を設定させ、
前記プリンタが印刷可能な解像度に前記所定倍率を乗じる演算を実行させ、
前記定型サイズ及び前記演算によって得られた解像度を前記アプリケーションに通知させ、
通知されたサイズ及び解像度に応じて前記アプリケーションが作成した描画データによって表現されるイメージを、前記所定倍率に従って拡大させ、
前記用紙を内包する前記イメージ領域内に前記拡大後のイメージを印刷することを前記プリンタに指示する印刷コマンドを作成させ、
生成された印刷コマンドを前記プリンタへ送信させる
ことを特徴とするプリンタドライバプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンピュータに対して、そのコンピュータに接続されているプリンタを制御させて縁なし印刷を実行させるプリンタドライバプログラムに、関する。
【０００２】
【従来の技術】
近年、インクジェットプリンタによって縁なし印刷を実現するための技術開発が、進められている。このような技術の一つとして、インクジェットプリンタのプラテンに、インク受け開口穴を形成し、このインク受け開口穴上に印刷用紙の端が位置しているときに、印刷ヘッドからインクを噴射して、印刷用紙の端にインク滴を当てる一方で、印刷用紙の端にあたらなかったインク滴をインク受け開口穴で受けることで、プラテン上を汚さずに印刷用紙の端を印刷する技術が、実用化されている。この縁なし印刷を実行する際、プリンタは、印刷ヘッダの走査方向に対する用紙の傾き（スキュー）に因る三角形状余白の発生を避けるべく、印刷用紙サイズよりも僅かに大きなサイズの仮想の領域（拡大イメージ領域）に対して、インクを噴射する必要がある。
【０００３】
従来、この拡張印刷領域の設定は、プリンタドライバプログラムに従ってディスプレイ上に表示されたプロパティダイアログ中において、ユーザによって用紙サイズと縁なし印刷を実行すべき旨が選択された場合に、このプリンタドライバプログラムに従ってなされていた。具体的には、プリンタドライバプログラムは、縁なし印刷を実行すべき旨が選択されると、選択された用紙サイズの前後縁及び左右縁との間に所定幅を有するととも選択された用紙と相似な形状を有する拡大イメージ領域を設定し、この拡大イメージ領域のサイズを、用紙サイズとして、描画データを編集するアプリケーションプログラムに通知する。この通知を受けたアプリケーションプログラムは、通知された用紙サイズ（拡大イメージ領域サイズ）と同じサイズの描画データを生成して、プリンタドライバプログラムに渡す。このように用紙サイズよりも拡大された描画データを受け取ったプリンタドライバプログラムは、その描画データに対して所定の処理を施すことによって、上記イメージ領域に対して印刷を行うためのコマンドを生成し、そのコマンドをプリンタへ送信する。このコマンドを受け取ったプリンタは、用紙の移動に同期して、コマンドに従った印刷（仮想の拡大イメージ領域に対する印刷）を実行することにより、上述したように、用紙外縁から外れたインクをインク受け開口穴へ飛ばしつつ、用紙上に縁なし印刷を行うのである。
【０００４】
【発明が解決しようとする課題】
しかしながら、アプリケーションプログラムのなかには、所定サイズの用紙上にのみ印刷を行うために、描画データを編集するものがある。例えば、ハガキ印刷用のアプリケーションプログラムは、ハガキサイズ（１４８ｍｍ×１００ｍｍ）の用紙しか受け付けない。このようなアプリケーションプログラムに対して、それが受付可能な用紙サイズよりも一回り大きい拡大イメージ領域サイズを用紙サイズとして通知しても、このアプリケーションプログラムは、その拡大イメージ領域サイズが自己の受付可能な用紙に対応するものであると認識することができない。その結果、アプリケーションプログラムが描画データの生成を拒否してしまうため、印刷が行い得ないという問題が生じていた。
【０００５】
本発明は、このような問題点に鑑みてなされたものであり、その課題は、印刷対象用紙のサイズを限定しているアプリケーションプログラムから描画データを受け取って印刷処理を実行させる場合であっても、コンピュータに対して、そのコンピュータに接続されているプリンタを制御させて縁なし印刷を実行させることができるプリンタドライバプログラムを、提供することである。
【０００６】
【課題を解決するための手段】
本発明は、上記課題を解決するために、以下の手段を採用した。即ち、本発明によるプリンタドライバプログラムは、それを実行しているコンピュータが、受信した印刷コマンドによって指定されたイメージを用紙上に印刷するプリンタに接続されている状態において、解像度及びサイズを受け取ることによって当該解像度にて所望のイメージを当該サイズで表現した描画データを作成するアプリケーションプログラムを実行している時に、その効力を発揮する。即ち、このプリンタドライバプログラムは、コンピュータに対して、前記用紙としてロール紙が選択され且つ当該ロール紙における所定長さの定型サイズの範囲に対して縁なし印刷すべき旨の指示が入力された場合には、前記定型サイズを所定倍率にて拡大したイメージ領域を設定させ、前記プリンタが印刷可能な解像度に前記所定倍率を乗じる演算を実行させ、前記定型サイズ及び前記演算によって得られた解像度を前記アプリケーションに通知させる。更に、通知されたサイズ及び解像度に応じて前記アプリケーションが作成した描画データによって表現されるイメージを、前記所定倍率に従って拡大させ、前記用紙を内包する前記イメージ領域内に前記拡大後のイメージを印刷することを前記プリンタに指示する印刷コマンドを作成させ、生成された印刷コマンドを前記プリンタへ送信させる。
【０００７】
プリンタドライバプログラムに従ったコンピュータによって送信された印刷コマンドを受信したプリンタは、この印刷コマンドに従って、用紙を内包する仮想のイメージ領域に対してイメージの印刷を実行する。これによって、用紙上に縁なし印刷がなされる。
【０００８】
本発明によると、アプリケーションプログラムは、実際の印刷対象の用紙のサイズを通知されるので、仮にこのアプリケーションプログラムが特定サイズの用紙のみを対象としている場合であっても、この用紙のサイズそのものをプリンタドライバプログラムから通知されるので、後の処理を続行することができる。しかも、その場合にアプリケーションプログラムが作成する描画データは、実際の用紙に対応したサイズのイメージを表すものであるにも拘わらず、その解像度は、プリンタが印刷可能な解像度に対して所定倍率（即ち、実際の用紙サイズに対するイメージ領域サイズの倍率）を乗じて細密化したものである。従って、この描画データを受信したプリンタドライバが、当該所定倍率に従って描画データによって表されるイメージを拡大しても、イメージの解像度がプリンタによる解像度よりも劣化することはない。即ち、従来技術においてアプリケーションプログラムが拡大して生成していたイメージを、プリンタドライバプログラム自身が得ることができるのである。
【０００９】
なお、プリンタが上記コマンドに従ってロール紙上にイメージを印刷すると、ロール紙の長手方向においては、所定用紙サイズよりも長い領域（イメージ領域と同じ長さの領域）に、イメージが印刷されることとなる。この場合であっても、プリンタが、所定用紙サイズとなるようにロール紙をカットするオートカッタが備えていれば、問題はない。また、オペレータが手作業でロール紙をカットしても良い。さらに、プリンタドライバが印刷コマンドを作成する際に、拡大後におけるイメージにおける用紙サイズよりもロール紙の長手方向に対応する方向にはみ出している部分をクリップした後に、クリップ後のイメージを印刷させるように印刷コマンドを作成するようにしても良い。
【００１０】
【発明の実施の形態】
以下、本発明に従ったプリンタドライバプログラムを用いて、アプリケーションプログラムに従って編集された画像を用紙上に印刷させるコンピュータシステムの実施の形態を、図面を参照して、説明する。
（コンピュータシステムの構成）
図１は、本実施形態によるコンピュータシステムの概略構成を示すブロック図である。この図１に示すように、本実施形態によるコンピュータシステムは、プリンタホスト１０と、このプリンタホスト１０から出力された印刷コマンドに基づいて用紙上に印刷を行うインクジェットプリンタ３０とから、構成されている。  プリンタホスト１０は、ホスト本体１１と、このホスト本体１に対して夫々接続されたディスプレイ装置１２及びキーボード１３とから、構成されている。ホスト本体１１は、一般的なパーソナルコンピュータであり、バスＢを介して互いに接続されたＣＰＵ２０，ＲＯＭ２１，ＲＡＭ２２，ディスプレイコントローラ２３，キーボードコントローラ２４，フレキシブルディスクドライブ２５，ハードディスクドライブ２６，ＣＤ−ＲＯＭドライブ２７，プリンタインタフェース２８及びネットワークインタフェース２９から、構成されている。
【００１１】
ＣＰＵ２０は、各種プログラムを実行してホスト本体１の各部の制御やデータ処理を実行する中央処理装置である。ＲＯＭ２１は、各種データや各種プログラムを記憶しているメモリである。ＲＡＭ２２は、各種データや各種プログラムが一時的に記憶されるメモリである。ディスプレイコントローラ２３は、ディスプレイ装置１２を制御する機能を有する。キーボードコントローラ２４は、キーボード１３を制御する機能を有する。フレキシブルディスクドライブ２５は、フレキシブルディスク１６に対してデータの書き込み及び読み出しを行う装置である。ハードディスクドライブ２６は、各種データや各種プログラムを記憶している固体記憶装置である。ＣＤ−ＲＯＭドライブ２７は、ＣＤ−ＲＯＭ１７からデータやプログラムを読み出す装置である。プリンタインタフェース２８は、プリンタに繋がるケーブルに対するデータの送出及び受信を司る入出力装置であり、具体的には、セントロニクスインタフェースやＵＳＢインタフェース等である。ネットワークインタフェース２９は、公衆回線やＬＡＮに対するデータ送受信を司る通信装置であり、具体的には、ＭＯＤＥＭやＬＡＮカード等である。
【００１２】
プリンタ３０は、モニタ３７と、印刷機構４０と、これらを制御する印刷制御器３１とから、構成されている。印刷制御器３１は、各種プログラムを実行するＣＰＵ３２と、各種データや各葎プログラムが記憶されているＲＯＭ３３と、各種データや各種プログラムが一時的に記憶されるＲＡＭ３４と、モニタ３７を制御するモニタコントローラ３５と、インタフェース３６と、を有している。
【００１３】
印刷機構４０は、印刷ヘッド４１と、この印刷ヘッド４１を移動させるキャリッジ４２と、印刷ヘッド４１と対向する位置に配置されているプラテン４３と、ロール紙Ｒを引き出し可能に保持しているロール紙ホルダ４４と、このロール紙ホルダ４４に保持されているロール紙Ｒを引き出してプラテン４３上へ送る給紙ローラ４５ａ，４５ｂと、印刷された印刷用紙を排紙する排紙ロ一ラ４６ａ，４６ｂと、排紙されたロール紙Ｒを受ける排紙トレイ４７と、給紙ローラ４５ａ，４５ｂの駆動量を検知するセンサ４８と、を有している。
【００１４】
プラテン４３には、図２に示すように、給紙方向Ｆと平行な方向に伸びている複数のインク受け縦開口４３ｃ，４３ｄ，４３ｅ，４３ｆと、給紙方向Ｆに対して垂直な方向（走査方向）に伸びている複数のインク受け横開口４３ａ，４３ｂとが、形成されている。インク受け縦開口４３ｃ，４３ｄ，４３ｅ，４３ｆとしては、Ｂ４サイズの印刷ロール紙Ｒの左右端がそれぞれ真上を通過するように配置されている一対のインク受け開口４３ｃと、Ａ４サイズの印刷ロール紙Ｒの左右端がそれぞれ真上を通過するように配置されている一対のインク受け開口４３ｄと、Ｂ５サイズの印刷用概の両端がそれぞれ真上を通過するように配置されている一対のインク受け開口４３ｅと、ハガキサイズ（幅：１００ｍｍ）の印刷ロール紙Ｒの両端がそれぞれ真上を通過するように配置されている一対のインク受け開口４３ｆと、がある。また、複数のインク受け横開口４３ａ，４３ｂとしては、給紙側に配置されている給紙側インク受け開口４３ａと、排紙側に配置されている排紙側インク受け開口４３ｂと、がある。これらの関口内には、いずれもインク吸着材が入れられている。
【００１５】
印刷ヘッド４１には、各色、具体的には、Ｃ（シアン），Ｍ（マゼンタ），Ｙ（イエロー），Ｋ（ブラック），ｃ（ライトシアン），ｍ（ライトマゼンタ）の各色のインクを夫々噴出する６列のノズル４１ａが、走査方向に並んで設けられている。また、同色のノズル４１ａは、給紙方向に、６４個並んで設けられている。
【００１６】
図５における上記ホスト本体１１を示す枠内には、ハードディスクドライブ２６に格納されている各種プログラム（アプリケーションプログラム，オペレーティングシステムプログラム，プリンタドライバプログラム）をＣＰＵ２０が順次ＲＡＭ２２上に読み出して実行することによって実現される各機能の相関関係が、ブロック図として表されている。以下、便宜上、アプリケーションプログラムに従って実現される機能を「アプリケーション５０」と記述し、オペレーティングシステムプログラムに従って実現される機能を「ＯＳ５２」と記述し、プリンタドライバプログラムに従って実現される機能を「プリンタドライバ５５」と記述する。以下、これらの機能について、説明する。
【００１７】
ＯＳ５２上で実行されるアプリケーション５０には、各種のものがあるが、ここでは、葉書の裏面に印刷されるべきイメージ（写真，絵，文字等）をドキュメントとして編集してハガキサイズ（１４８×１００ｍｍ）の用紙上に印刷させる機能を有するもの、及び、同一のイメージを複数ページに分割して印刷させる機能を有するものが、問題となる。
【００１８】
プリンタドライバ５５は、更に、アプリケーション５０で作成されたドキュメント５１を受け取ってこれをスプールファイル６２に展開するスプーラ６１や、スプールファイル６２に記憶されているドキュメントを形成している描画データをＲＧＢイメージデータに展開するレンダラ６３や、ＲＧＢイメージデータをＣＭＹＫｃｍ二値化イメージデータに変換すると共にこれにハーフトーン処理を施すハーフトーン処理部６４や、ＣＭＹＫｃｍ二値化イメージデータをプリンタ３０が解釈できる印刷コマンドに変換するコマンド化部６５や、この印刷コマンドをプリンタ３０へ送信する送受信部６６や、印刷時におけるディスプレイ装置１２やキーボード１３との間のインタフェースとなるユーザインタフェース５８や、縁なし印刷時の印刷条件を設定する縁なし印刷条件設定部５６や、これらを統合的に管理する統合管理部６０や、印刷条件等が記憶される印刷条件ファイル５９等の各機能から、構成されている。
【００１９】
また、図５における上記印刷制御器３１を示す枠内には、印刷制御装置３１内のＲＯＭ３３に格納されているプログラムをＣＰＵ３２が読み取って実行することによって実現される各機能（具体的には、送受信部７６及び印刷制御部７０の各機能）が、ブロック図として表されている。送受信部７６は、プリンタホスト１０からの印刷コマンド等を受け付ける機能である。また、印刷制御部７０は、送受信部７６が受け付けた印刷コマンド等に基づいて印刷機構４０を制御する機能である。
（コンピュータシステムの動作）
次に、本実施形態によるコンピュータシステムがロール紙Ｒ上にハガキサイズのイメージを縁なし印刷をする場合，及び、ロール紙Ｒ上に一連のイメージを連続して印刷する場合の動作を、説明する。
【００２０】
印刷を開始するに先立って、オペレータは、アプリケーション５０を用いて、ハガキサイズの用紙上に印刷すべきイメージ、又は、長尺な用紙（複数ページの定型用紙を連続させたのと等価な用紙）上に印刷すべきイメージを、編集する。
【００２１】
このイメージの作成を終了すると、オペレータは、ディスプレイ１２上に表示されているアプリケーション５０用イメージ編集ウィンドウ（図示略）内の「印刷」ボタンを操作する。すると、ＯＳ５２を介して、プリンタドライバ５５が起動される（ＣＰＵ２０によって実行開始される）。
【００２２】
図６及び図７のフローチャートに示されるように、起動されたプリンタドライバ５５は、最初のＳ００１において、ユーザインタフェース５８の機能を利用して、図１０に示すプロパティダイアログ（印刷設定画面）を、ディスプレイ１２上に表示する。ユーザインタフェース５８は、オペレータによるキーボード１３に対する操作に従って、プロパティダイアログ内の各アイテムを設定する。具体的には、例えば、プロパティダイアログ内の「給紙方法」テキストボックス１００内に、プルダウンメニューから選択された用紙種類（ロール紙，Ａ４用紙，Ｂ４用紙，等）を設定する。また、「左右フチなし」チェックボックス１０１内に、左右縁なしが選択されていることを示すチェックマークを設定又は解除する。また、「給紙方法」テキストボックス１００内において「ロール紙」Ｒが設定されている場合には、「ロール紙オプション」欄１０２内で選択されているオプションボタン（「長尺モード」ボタン１０３又は「定型モード」ボタン１０４）に、選択されている旨を示す黒点を設定し、現在ロール紙ホルダ４４に保持されているロール紙Ｒから切り出され得る用紙サイズ（ハガキサイズ幅のロール紙Ｒが保持されている場合にはハガキサイズ：１４８×１００ｍｍ）を用紙サイズテキストボックス１０６内に設定する。
【００２３】
次のＳ００２において、プリンタドライバ５５は、ユーザインタフェース５８の機能を利用して、プロパティダイアログ内の「ＯＫ」ボタン１０５が操作されるのを待つ。そして、「ＯＫ」ボタン１０５が操作された時には、その時点においてプロパティダイアログ内に設定されている内容を調べ、「給紙方法」テキストボックス１００内において「ロール紙」Ｒが設定されており且つ「左右フチなし」チェックボックス１０１内にチェックマークが設定されており且つ「定型モード」ボタン１０４に黒点が設定されている場合には、処理をＳ００３へ進め、「給紙方法」テキストボックス１００内において「ロール紙」Ｒが設定されており且つ「左右フチなし」チェックボックス１０１内にチェックマークが設定されており且つ「長尺モード」ボタン１０３に黒点が設定されている場合には、処理をＳ１０４へ進め、それ以外の場合には、処理をＳ０１３へ進める。
【００２４】
Ｓ００３では、プリンタドライバ５５は、縁なし印刷条件設定部５６の機能を利用して、拡張印刷領域（用紙サイズの周囲に最小限確保すべき所定の拡大量を加えてなる領域）を設定する。例えば、用紙サイズテキストボックス１０６内にハガキサイズ（１４８×１００ｍｍ）が設定されている場合には、図１２に示すように、給紙方向Ｆにおける前端側の拡大量が３ｍｍ、後端側の拡大量が５ｍｍ、左右各端側の拡大量が各々２．５ｍｍとなる。これら拡大量は、図１１の表に示すように、用紙サイズ毎に、予め定められている。図１１において、「ＰａｐｅｒＨ」欄が用紙サイズにおける縦幅を示し、「ＰａｐｅｒＷ」欄が用紙サイズにおける横幅を示し、「Ｔｔｒｉｍ’」欄が前端拡大量を示し、「Ｂｔｒｉｍ’」欄が後端拡大量を示し、「Ｌｔｒｉｍ’」欄が左端拡大量を示し、「Ｒｔｒｉｍ’」欄が右端拡大量を示す。この図１１から明らかなように、縁なし印刷時に最小限確保すべき拡大量は、拡大方向（前方，後方，左右方向）に依って異なった量となる。図１１の表は、印刷条件ファイル５９内に予め登録されており、縁なし印刷条件設定部５６は、この印刷条件ファイル５９を参照して、拡張印刷領域を設定する。
【００２５】
次のＳ００４では、プリンタドライバ５５は、用紙サイズテキストボックス１０６内に設定されていた用紙サイズに対する拡張印刷領域の拡大倍率を算出する。具体的には、用紙サイズの縦幅（図１１の「ＰａｐｅｒＨ」）に対する拡張印刷領域の横幅（図１１の「ＰａｐｅｒＨ’」）の百分率（図１１の「Ｈｒａｔｅ」）を算出するとともに用紙サイズの横幅（図１１の「ＰａｐｅｒＷ」）に対する拡張印刷領域の横幅（図１１の「ＰａｐｅｒＷ’」）の百分率（図１１の「Ｗｒａｔｅ」）を算出し、大きい方の小数点以下を四捨五入したものを、拡大倍率（図１１の「Ｒａｔｅ」）として採用する。また、プリンタドライバ５５は、算出した拡大倍率を、プリンタ３０の印刷機構４０が印字する時の解像度に乗ずることにより、アプリケーション５０に通知すべき解像度を算出する。例えば、印刷機構４０の本来の解像度が３６０ｄｐｉである場合に、拡大倍率が１０５％であると算出されれば、アプリケーション５０に通知すべき解像度は３６０×１．０５＝３７８ｄｐｉとなる。
【００２６】
次のＳ００５では、プリンタドライバ５５は、図１２に示すように、用紙サイズテキストボックス１０６内に設定されていた用紙サイズの縦横各幅をＳ００４にて算出した拡大倍率に従って拡大したサイズを有する拡大イメージ領域を、Ｓ００３にて設定した拡張印刷領域に外接するように、且つ、左右及び上下に夫々対称となるように、設定する。
【００２７】
次のＳ００６では、プリンタドライバ５５は、キーボード１３を介してオペレータによって印刷実行指示が入力されるのを待つ。そして、印刷実行指示が入力されると、Ｓ００７において、用紙サイズテキストボックス１０６内に設定されていた用紙サイズ及びＳ００４にて通知すべきものとして算出した解像度（細密化された解像度）を、アプリケーション５０へ通知する。アプリケーション５０は、編集中のイメージを、通知された解像度に相当する画素で表現されているとともに通知されたサイズに相当する大きさを有する印刷用ドキュメントに変換し、このドキュメントをプリンタドライバ５５に渡す。アプリケーション５０から印刷対象ドキュメントを受け取ったプリンタドライバ５５は、スプーラ６１の機能を利用して、受け取ったドキュメントをスプールファイル６２に展開する。
【００２８】
次のＳ００８では、プリンタドライバ５５は、レンダラ６３の機能を用いて、スプールファイル６２に展開されている印刷対象ドキュメントを形成する描画データを、ＲＧＢイメージデータに変換し、Ｓ００４にて算出した拡大倍率に従ってこのＲＧＢイメージデータを拡大し、拡大したＲＧＢイメージデータをＳ００５にて設定した拡大イメージ領域に展開する。
【００２９】
次のＳ００９では、プリンタドライバ５５は、ハーフトーン処理部６４の機能を利用して、ＲＧＢイメージデータをＣＭＹＫｃｍ二値化イメージデータに変換するとともに、変換後のＣＭＹＫｃｍ二値化イメージデータに対してハーフトーン処理を施す。
【００３０】
次のＳ０１０では、プリンタドライバ５５は、コマンド化部６５の機能を利用して、ＣＭＹＫｃｍ二値化イメージデータを、プリンタ３０が解釈可能な印刷コマンドに変換する。
【００３１】
図８は、このコマンド化部６５の機能によって実行されるコマンド化処理を示すフローチャートである。このコマンド化処理において最初のＳ１０１では、コマンド化部６５は、各種印刷条件のコマンド化を行う。
【００３２】
次のＳ１０２では、コマンド化部６５は、ＣＭＹＫｃｍ二値化イメージデータから、ロール紙Ｒの長手方向に相当する方向において本来の用紙サイズの前後にはみ出した部分（通常、前端側拡大量に相当する部分及び後端側拡大量に相当する部分）を、クリッピング（削除）する。これは、ロール紙Ｒに本来の用紙サイズのイメージをフチ無しようとする場合には、拡大したイメージにおける当該用紙サイズから外れた部分に相当するインクを、インク受け横開口４３ａ，４３ｂに逃がすことができないからである。ロール紙Ｒの場合にこのようなクリッピングが可能である理由は、ロール紙Ｒの場合にはスキューが生じても、前に印刷したイメージと次に印刷したイメージは、お互いにスキューが生じた分だけ同様に傾くため、問題が発生しないからである。
【００３３】
次のＳ１０３では、コマンド化部６５は、クリッピング後におけるイメージデータの前端部を、給紙方向Ｆに並んだ複数のノズル４１ａのうち給紙側の所定数のノズルのみで印刷させるための印刷コマンドを、作成する。
【００３４】
次のＳ１０４では、コマンド化部６５は、イメージデータの中間部分を所定幅のラインに分割して、各ラインを夫々全ノズル４１ａによって印刷させるための印刷コマンドを、作成する。
【００３５】
次のＳ１０５では、コマンド化部６６は、クリッピング後におけるイメージデータの後端部を、給紙方向Ｆに並んだ複数のノズル４１ａのうち排紙側の所定数のノズルのみで印刷させるための印刷コマンドを、作成する。
【００３６】
以上のコマンド化が完了すると、プリンタドライバ５５は、図６におけるＳ０１１において、送受信部６６の機能を利用して、作成された一連の印刷コマンドをプリンタ３０へ送信して、一連の処理を終了する。
【００３７】
Ｓ０１１にてプリンタドライバ５５から送信された印刷コマンドを受信したプリンタ３０は、この印刷コマンドに従って、以下のような印刷処理を実行する。即ち、プリンタ３０の印刷制御部７０は、給紙ローラ４６ａ，４６ｂ及び４６ａ，４６ｂを駆動させつつ、印刷ヘッド４１を駆動させて、印刷を開始させる。本実施形態によると、印刷コマンドを作成する際に、Ｓ１０２において、イメージデータにおける用紙サイズよりも前端側にはみ出した部分についてはクリッピングされているので、Ｓ１０３にて作成された前端部分を印刷するための先頭の印刷コマンドに従って印刷をすれば、印刷対象イメージの先端部分を、ロール紙Ｒ上に直ちに印刷することができる。この際、ロール紙Ｒ上に前のページの印刷対象イメージが既に印刷されていることもあるが、前ページの後端部分は、Ｓ１０５にて作成されたコマンドに従って排紙側のノズル４１ａのみによって印刷されている一方、印刷中のページの先端部分は、Ｓ１０３にて作成されたコマンドに従って給紙側のノズル４１ａのみによって印刷されているので、両イメージが重なることはない。印刷対象イメージの中間部分（前端部及ぴ後端部を除く部分）は、ステップ１０４にて作成された印刷コマンドに基づいて、印刷ヘッド４１の全てのノズル４１ａによって印刷される。ロール紙Ｒの左右方向に対しては、印刷対象イメージの全域にわたって、ロール紙Ｒの左右端よりもさらに側方に広げられた仮想の拡大イメージ領域に対して行われるので、ロール紙Ｒの左右端部は、縁なしで確実に印刷される。なお、各コマンドによって印刷される左右方向の印刷範囲を、インク節約のために、拡張印刷領域の範囲に制限しても良い。その場合には、印刷コマンドにおける拡張印刷領域の外側に対応する部分には、ｎｕｌｌ値が設定される。そして、最後に、Ｓ１０５にて作成された後端部分を印刷するための印刷コマンドに従って印刷をすれば、印刷対象イメージの後端部分がロール紙Ｒ上に印刷される。上述したクリッピングにより、その後には当該印刷対象イメージを印刷するための印刷コマンドは続かないので、プリンタはその時点で印刷を完了する。
【００３８】
その後、次のページの印刷対象イメージを印刷する場合には、新たに受信した印刷コマンドに従って、ロール紙Ｒにおけるその位置から印刷を続行する。これに対して、次のページの印刷対象イメージがない場合には、給紙ローラ４６ａ，４６ｂ及び４６ａ，４６ｂを更に駆動して、ロール紙Ｒにおける印刷済み部分を排紙トレー４７まで搬送する。そして、図示せぬオートカッタ又はオペレータの手作業によって、印刷済みイメージの前端及び後端を切断すれば、縁なし印刷されたハガキサイズのプリント結果を得ることができる。
【００３９】
一方、Ｓ０１４（図７）では、プリンタドライバ５５は、縁なし印刷条件設定部５６の機能を利用して、Ｓ００３の場合と全く同様にして、拡張印刷領域を設定する。
【００４０】
次のＳ０１５では、プリンタドライバ５５は、図１２に示すように、Ｓ００３にて設定した拡張印刷領域に外接し且つ左右及び上下に夫々対称となるように、用紙サイズテキストボックス１０６内に設定されていた用紙サイズと相似形状の拡大イメージ領域を、設定する。
【００４１】
次のＳ０１６では、プリンタドライバ５５は、キーボード１３を介してオペレータによって印刷実行指示が入力されるのを待つ。そして、印刷実行指示が入力されると、Ｓ０１７において、Ｓ０１５にて設定された拡大イメージ領域のサイズを用紙サイズとして、プリンタ３０の印刷機構４０の本来の解像度を付して、アプリケーション５０へ通知する。アプリケーション５０は、編集中のイメージを、通知された解像度に相当する画素で表現されているとともに通知されたサイズに相当する大きさを有する印刷用ドキュメントに変換し、このドキュメントをプリンタドライバ５５に渡す。アプリケーション５０から印刷対象ドキュメントを受け取ったプリンタドライバ５５は、スプーラ６１の機能を利用して、受け取ったドキュメントをスプールファイル６２に展開する。
【００４２】
次のＳ０１８では、プリンタドライバ５５は、レンダラ６３の機能を用いて、スプールファイル６２に展開されている印刷対象ドキュメントを形成する描画データを、ＲＧＢイメージデータに変換し、変換後のＲＧＢイメージデータを、Ｓ０１５にて設定した拡大イメージ領域に展開する。但し、この場合にアプリケーション５０から受け取っているイメージデータは、アプリケーション５０によって既に拡大済みであるので、このＳ０１８においては、Ｓ００８の場合とは異なり、イメージデータの拡大は行わない。
【００４３】
次のＳ１０９では、プリンタドライバ５５は、ハーフトーン処理部６４の機能を利用して、ＲＧＢイメージデータをＣＭＹＫｃｍ二値化イメージデータに変換するとともに、変換後のＣＭＹＫｃｍ二値化イメージデータに対してハーフトーン処理を施す。
【００４４】
次のＳ１１０では、プリンタドライバ５５は、コマンド化部６５の機能を利用して、ＣＭＹＫｃｍ二値化イメージデータを、プリンタ３０が解釈可能な印刷コマンドに変換する。
【００４５】
図９は、このコマンド化部６５の機能によって実行されるコマンド化処理を示すフローチャートである。このコマンド化処理において最初のＳ２０１では、コマンド化部６５は、各種印刷条件のコマンド化を行う。
【００４６】
次のＳ２０２では、コマンド化部６５は、イメージデータの前端部を、給紙方向Ｆに並んだ複数のノズル４１ａのうち給紙側の所定数のノズルのみで印刷させるための印刷コマンドを、作成する。
【００４７】
次のＳ１０４では、コマンド化部６５は、イメージデータの中間部分を所定幅のラインに分割して、各ラインを夫々全ノズル４１ａによって印刷させるための印刷コマンドを、作成する。
【００４８】
次のＳ１０５では、コマンド化部６６は、イメージデータの後端部を、給紙方向Ｆに並んだ複数のノズル４１ａのうち排紙側の所定数のノズルのみで印刷させるための印刷コマンドを、作成する。
【００４９】
以上のコマンド化が完了すると、プリンタドライバ５５は、図７におけるＳ０２１において、送受信部６６の機能を利用して、作成された一連の印刷コマンドをプリンタ３０へ送信して、一連の処理を終了する。
【００５０】
Ｓ０２１にてプリンタドライバ５５から送信された印刷コマンドを受信したプリンタ３０は、この印刷コマンドに従って、以下のような印刷処理を実行する。即ち、プリンタ３０の印刷制御部７０は、給紙ローラ４６ａ，４６ｂ及び４６ａ，４６ｂを駆動させつつ、印刷ヘッド４１を駆動させて、印刷を開始させる。この場合には、Ｓ２０２にて作成されたイメージ前端部分を印刷するための先頭の印刷コマンドに従って印刷をすれば、拡大された印刷対象イメージの先端部分（本来の用紙サイズよりも前端側にはみだした部分の先端部分）が、ロール紙Ｒ上に直ちに印刷される。この際、ロール紙Ｒ上に前のページの印刷対象イメージが既に印刷されていることもあるが、前ページの後端部分は、Ｓ２０４にて作成されたコマンドに従って排紙側のノズル４１ａのみによって印刷されている一方、印刷中のページの先端部分は、Ｓ２０２にて作成されたコマンドに従って給紙側のノズル４１ａのみによって印刷されているので、両イメージは互いに重なりあうことなく連続する。印刷対象イメージの中間部分（前端部及ぴ後端部を除く部分）は、ステップ２０３にて作成された印刷コマンドに基づいて、印刷ヘッド４１の全てのノズル４１ａによって印刷される。その結果、ロール紙Ｒの左右方向に対しては、印刷対象イメージの全域にわたって、ロール紙Ｒの左右端よりもさらに側方に広げられた仮想の拡大イメージ領域に対して行われるので、ロール紙Ｒの左右端部は、縁なしで確実に印刷される。そして、最後に、Ｓ２０４にて作成された後端部分を印刷するための印刷コマンドに従って印刷をすれば、印刷対象イメージの後端部分（本来の用紙サイズよりも後端側にはみだした部分の後端部分）がロール紙Ｒ上に印刷される。次のページについては、上述したように、印刷済みのイメージに連続して印刷される。従って、同一のイメージが複数ページに分割されてドキュメント化されている場合でも、ページ間で画像が欠落することなく、一枚のロール紙Ｒ上に一連のイメージが、連続して縁なし印刷される。
【００５１】
以上のように、本実施形態によると、アプリケーション５０が所定サイズの用紙しか印刷対象としていない場合であっても、アプリケーションに対してイメージサイズの拡大を意識させることなく、プリンタドライバ５５側において、解像度を落とすことなく、縁なし印刷のためのイメージ拡大を行うことができる。しかも、ロール紙に印刷する場合には、プリンタドライバ５５において拡大後のイメージの前後端をクリッピングすることができるので、同一のロール紙Ｒ上に、定型サイズの複数ページ分のイメージを、連続して縁なし印刷することができる。
【００５２】
また、アプリケーション５０が所定サイズの用紙以外でも受け付ける場合であって、しかも、同一イメージを複数ページに分割して印刷させる機能を有している場合には、プリンタドライバ５５は、アプリケーション５０に対して拡大後のイメージサイズを通知することによって、アプリケーション５０側でイメージを拡大させることができる。この場合には、プリンタドライバ５０側ではイメージを更に拡大することをせず、しかも、クリッピングも行わない。その結果、同一イメージに関する複数のページの印刷を同一ロール紙Ｒ上で連続して実行することにより、ロール紙Ｒ上に元の長尺なイメージを印刷することができる。
【００５３】
【発明の効果】
本発明によれば、印刷対象用紙のサイズを限定しているアプリケーションプログラムをコンピュータが実行している場合であっても、プリンタドライバは、コンピュータに対して、そのコンピュータに接続されているプリンタを制御させて縁なし印刷を実行させることができる。
【図面の簡単な説明】
【図１】本発明の実施の形態であるコンピュータシステムの構成を示すブロック図
【図２】プリンタのプラテン周辺の構成を示す平面図
【図３】プリンタのプラテン周辺の構成を示す側面図
【図４】プリンタのプラテン周辺の構成を示す側面図
【図５】ホスト本体及びプリンタ制御装置内で実現される機能の相関関係を示すブロック図
【図６】プリンタドライバによる制御内容を示すフローチャート
【図７】プリンタドライバによる制御内容を示すフローチャート
【図８】図６のＳ０１０にて実行されるコマンド化処理の内容を示すフローチャート
【図９】図７のＳ０２０にて実行されるコマンド化処理の内容を示すフローチャート
【図１０】図６のＳ００１にて表示されるプロパティダイアログを示す図
【図１１】各用紙サイズ毎の拡張量及び拡張倍率を一覧した表
【図１２】印刷用紙サイズ，拡張印刷領域及び拡大イメージ領域の関係を示す説明図
【符号の説明】
１０…プリンタホスト
１１…ホスト本体
２０…ＣＰＵ
２１…ＲＯＭ
２２…ＲＡＭ
３０…プリンタ
４０…印刷機構
４１…印刷ヘッド
４１ａ…ノズル
４３…プラテン
５０…アプリケーション
５１…ドキュメント
５５…プリンタドライバ
【図１】
0003613220.tif 000002
【図２】
0003613220.tif 000003
【図３】
0003613220.tif 000004
【図４】
0003613220.tif 000005
【図５】
0003613220.tif 000006
【図６】
0003613220.tif 000007
【図７】
0003613220.tif 000008
【図８】
0003613220.tif 000009
【図９】
0003613220.tif 000010
【図１０】
0003613220.tif 000011
【図１１】
0003613220.tif 000012
【図１２】
0003613220.tif 000013