(57)【要約】【課題】  表面と裏面とで、印刷可能領域が異なるプリンタにおいて、表面と裏面とで、できるだけ、同じ印刷可能領域に印刷を行いたい場合に、【解決手段】  ページ単位で描画命令を監視し、個々の描画位置から、表面と裏面の印刷可能領域の差分領域に描画データがかかっているかをチェックし、かかっていない場合には、表面と裏面との印刷可能領域が同じ位置になるようにプリンタにコマンドを送ることによって、描画データが、表と裏とで同じ位置に印刷するようプリンタを制御する印刷制御方法である。【選択図】  図１
2007048063.tif 000002
【特許請求の範囲】
【請求項１】
表面と裏面の印刷可能位置が異なる印刷装置において、ページ単位に、描画命令ごとの描画位置を取得する手段と、両面印刷時の表面と裏面の印刷可能領域を取得する手段とを有し、前記描画命令ごとの描画位置と、表面と裏面の印刷可能領域の差分領域とを比較し、比較結果に応じてフラグを制御し、印刷データを送る前に前記フラグを判別し、表面と裏面の印刷位置を制御する印刷コマンドを制御することを特徴とする印刷制御方法。
【請求項２】
表面と裏面の印刷可能位置が異なる印刷装置において、ページ単位に、描画命令ごとの描画位置を取得する手段と、取得した位置を積算し、ページ内に描画されるデータ全体の描画外形位置を取得する手段と、両面印刷時の表と裏の印刷可能領域を取得する手段とを有し、前記描画外形位置と、表面と裏面の印刷可能領域の差分領域とを比較し、比較結果に応じて、表面と裏面の印刷位置を制御する印刷コマンドを発行することを特徴とする印刷制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データの描画位置を判別して両面印刷制御を行うプリンタドライバに関するものである。
【背景技術】
【０００２】
従来、表と裏の印刷可能領域が異なる場合に、その印刷位置を合わせるために印刷データを縮小して印刷位置を合わせたり（特許文献１参照）、両面印刷の表と裏の印刷位置が異なる場合に、マージンをユーザに知らせ、ユーザ操作によって、表と裏の位置を合わせたりしていた（特許文献２参照）。
【特許文献１】特開2000-177197
【特許文献２】特開2002-055974、特開2001-260458
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、上記従来例では、次のような問題があった。
・ 常に縮小するために、所望の印刷結果を得られない場合がある。
・ 常にユーザ操作が伴うため、操作性が悪い
【課題を解決するための手段】
【０００４】
上記問題を解決するために、本発明では、ページ内に描画されているデータを、描画命令によって判別し、描画命令ごとに描画位置と外形サイズを取得し、1ページ分の描画結果から、描画データが、表と裏のマージンの差分にあたる領域にかかっているかを判別し、かかっていなければ、そのまま印刷を行うようコマンドを発行し、かかっている場合には、その分ずらして印刷を行うよう、別のコマンドを発行する。
【発明の効果】
【０００５】
このように、表面と裏面とで印刷可能範囲がずれて印刷されるプリンタに対して、印刷開始時に、ページ内の描画データの印刷位置を判別し、印刷可能領域と比較し、比較結果によってコマンドを振り分け、印刷位置をずらすことによって、表面と裏面とで、できるだけ印刷位置がずれないように印刷することができる。
【発明を実施するための最良の形態】
【０００６】
（第１の実施例）
図１が本発明を実施した図である。
【０００７】
図２、図３、図４が本発明の特徴をもっとも良くあらわしている概略図、および、図５がプリンタドライバ側の処理に関するフローチャートである。
【０００８】
本発明を実施するプリンタにおいて、表面、裏面、それぞれの印刷可能領域は、図２のとおり、表面の印刷可能領域Ｃ１１は、用紙サイズＣ１０に対して、上マージン3mm、下マージン7mmの位置にあるものとする。一方、裏面の印刷可能領域Ｃ１３は、用紙サイズＣ１２に対して、上マージン5mm、下マージン5mmの位置にあるものとする。
【０００９】
ここで、そのまま表面と裏面の印刷位置を合わせようと、表面の上マージン位置Ｃ１６に合わせずに、裏面と同じ上マージン位置Ｃ１７の5mmのところから印刷を行うことになるが、表面の下マージンは7mmなので、印刷データの下方の斜線部分Ｃ１８の高さ2mm分のデータは印刷されないことになる。下方部分2mm分のデータを印刷させようとすると、表面の上マージンは3mmにしなくてはならないため、2mm分、表と裏とで印刷データがずれてしまう。
【００１０】
そこで、まず、印刷位置合わせ用コマンドフラグを初期化し（Ｓ１）、印刷開始後に、1ページ分の描画命令を監視し、それぞれの描画命令から描画位置を取得し（Ｓ２）、コマンドフラグがOFFであったら（Ｓ３）、取得した描画データが、前述の斜線部分Ｃ１８にかかるか比較を行い（Ｓ４）、図３の斜線部分Ｃ１８の範囲に入っていた場合には、コマンドフラグをONにする（Ｓ５）。例えば図４のように、最初にＣ２２の楕円が描画されたとする。この、描画命令の外接矩形は、斜線部分Ｃ２１にはかからないので、コマンドフラグをONにはしない。次にＣ２３の三角形が描画されたとする。この、描画命令の外接矩形は、斜線部分Ｃ２１にかかるので、コマンドフラグをONにすることになる。
【００１１】
ここで、１ページ分のデータが終了したら（Ｓ６）、まずコマンドフラグを確認し（Ｓ７）、ONであったならコマンドを送信し（Ｓ８）、OFFであったならコマンドは送信せず、その後、データを印刷送信する（Ｓ９）。
【００１２】
（第２の実施例）
図６が、本発明の第2の実施例のプリンタドライバ側の処理に関するフローチャートである。
【００１３】
前記実施例１の方法では、１コマンドずつ比較を行い、コマンドフラグを用いて制御したが、コマンドフラグを使用せずに、1ページ内の描画データの情報として、描画外形位置を保存し、最後に比較する方法も考えられえる。まず最初に、描画外形位置を初期化する（Ｓ１１）。次に、1ページ分の描画命令を監視し、それぞれの描画命令から描画位置を取得し（Ｓ１２）、描画外形位置との比較を行い（Ｓ１３）、描画位置の一部でも描画外形位置からはみ出していれば、描画外形位置を更新する（Ｓ１４）。
【００１４】
例えば、1つ目の描画命令の描画位置が(X1s,Y1s)-(X1e,Y1e)であるとした場合、描画外形位置は初期化状態にあるので、描画外形位置は(X1s,Y1s)-(X1e,Y1e)となる。次の描画命令の描画位置が、(X2s,Y2s)-(X2e,Y2e)であるとした場合に、X1s>X2s、Y1s>Y2s、X1e>X2e、Y1e>Y2e、であったとすると、描画外形位置(Xs,Ys)-(Xe,Ye)は(X1s,Y1s)-(X2e,Y2e)に更新される。これを1ページ分繰り返し、1ページ分の描画データが終了したところで（Ｓ１５）、描画外形位置(Xs,Ys)-(Xe,Ye)と表面の印刷可能領域と比較する（Ｓ１６）。ここで、Yeをmm換算した値が印刷可能範囲の下方より2mm以上上に位置する場合には、上マージンを5mmとして印刷データを送ってもデータが欠けることはないので、コマンドを送信する（Ｓ１７）。一方、Yeをmm換算した値が印刷可能範囲の下方より2mm以内に位置する場合には、上マージンを3mmとして印刷データを送ってもデータが欠けないように、コマンドは送信しない。その後、データを印刷送信する（Ｓ１８）。
【図面の簡単な説明】
【００１５】
【図１】本発明を実施したシステムのブロック図
【図２】本発明の実施例１の概略図
【図３】本発明の実施例１の概略図
【図４】本発明の実施例１の概略図
【図５】本発明の実施例１のフローチャート
【図６】本発明の実施例２のフローチャート
【符号の説明】
【００１６】
C1  プリンタドライバを動作させるホストコンピュータ
C2  プリンタドライバ
C3  印刷データを保存しておく記憶装置
C4  外部装置とのインターフェイス
C5  プリンタ本体
C6  外部装置とのインターフェイス
C7  データを受信する受信バッファ
C8  プリンタを制御する制御部
C9  実際に印刷を行なう、プリンタエンジン部
【図１】
2007048063.tif 000003
【図２】
2007048063.tif 000004
【図３】
2007048063.tif 000005
【図４】
2007048063.tif 000006
【図５】
2007048063.tif 000007
【図６】
2007048063.tif 000008