JP2009295070A - プリンタドライバおよび印刷データの印刷方法 - Google Patents
プリンタドライバおよび印刷データの印刷方法 Download PDFInfo
- Publication number
- JP2009295070A JP2009295070A JP2008150172A JP2008150172A JP2009295070A JP 2009295070 A JP2009295070 A JP 2009295070A JP 2008150172 A JP2008150172 A JP 2008150172A JP 2008150172 A JP2008150172 A JP 2008150172A JP 2009295070 A JP2009295070 A JP 2009295070A
- Authority
- JP
- Japan
- Prior art keywords
- image
- blank
- line
- row
- 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.)
- Withdrawn
Links
Abstract
【課題】各ページの上端側および下端側に形成される空白領域を削除して印刷することにより記録紙を節約できるプリンタドライバを提案すること。
【解決手段】1ページ分の印刷イメージを複数の行イメージに等分して行番号を付与し、各行イメージが空白イメージか否かを逐次に判定する。最初に空白イメージではないと判定された行イメージの行番号は上端側行番号として記憶保持し、この行イメージを印刷する。その後は空白イメージと判定された行イメージを空白行数としてカウントし、空白イメージではないと判定された行イメージを印刷する。このとき、空白行数分が0でなければ、空白行数分だけ空白イメージを印刷してから空白イメージではないと判定された行イメージを印刷する。この結果、記録紙11には上端側と下端側の空白領域に挟まれた中間領域だけが印刷される。
【選択図】図5
【解決手段】1ページ分の印刷イメージを複数の行イメージに等分して行番号を付与し、各行イメージが空白イメージか否かを逐次に判定する。最初に空白イメージではないと判定された行イメージの行番号は上端側行番号として記憶保持し、この行イメージを印刷する。その後は空白イメージと判定された行イメージを空白行数としてカウントし、空白イメージではないと判定された行イメージを印刷する。このとき、空白行数分が0でなければ、空白行数分だけ空白イメージを印刷してから空白イメージではないと判定された行イメージを印刷する。この結果、記録紙11には上端側と下端側の空白領域に挟まれた中間領域だけが印刷される。
【選択図】図5
Description
本発明は、印刷データを印刷する際に、各ページの上端側や下端側に形成されるマージンや空白行などの帯状の空白領域を取り除くことができるプリンタドライバおよび印刷データの印刷方法に関する。
アプリケーションプログラムで生成された印刷データを印刷すると各ページの上端部分および下端部分にはマージンが設けられていることがある。また、各ページの印刷データに含まれている文字や画像などのデータ量が少ない場合には、これら文字や画像が各ページの上下の中央部分に配置されており、各ページの上端側および下端側にはマージンと連続するように複数の空白行が配置されていることがある。これらページの上端側および下端側に形成されている帯状の空白領域は、印刷データに含まれている文字や画像をページの中央に配置したり、所定の書式に合致させて配置したりするために設けられている。
所望の印刷結果を得るための正式な印刷とは別に印刷データに含まれている文字や画像の内容を確認するための印刷を行う場合には、印刷される各ページの上端側および下端側に帯状の空白領域が確保されている必要はない。従って、印刷データからこれら上端側および下端側の帯状の空白領域のデータ部分を除去して文字や画像のデータ部分だけを印刷すれば、印刷の際に消費される記録紙の量を削減することができるので、経済的である。
印刷データの印刷イメージから帯状の空白領域を取り除いて印刷することができるデータ出力装置は、例えば、特許文献1に記載されている。特許文献1では、1ページ分の印刷データをメモリに展開して生成した印刷イメージを印刷ヘッドが走査する方向と対応する方向に複数の行イメージに等分し、各行イメージが空白からなる空白イメージか否かを判定している。また、空白イメージの行イメージはシリアルプリンタに送信せずに無視し、空白イメージではない行イメージだけをシリアルプリンタに送信して印刷することにより、帯状の空白領域を取り除いている。
特開平6−83823号公報
しかし、空白イメージの行イメージを無視して印刷しない方法では、各ページの上端側および下端側にある帯状の空白領域だけではなく、これら上端側および下端側の空白領域の間に挟まれている中間領域の内側にある帯状の空白領域も削除されてしまう。この場合には、中間領域内の文字や画像のレイアウトが変更されてしまうので、中間領域内における文字や画像の配置を確認することができなくなる。
また、上記の技術では、各ページの中間領域の下端部分が印刷されているときに、印刷ヘッドの記録紙の搬送方向に沿った印刷幅の下端部分まで用いられているのか、或いは、印刷幅方向の一部分だけが用いられているのか、についての配慮がない。このため、印刷された第1のページの中間領域の下端と、次に印刷される第2のページの中間領域の上端とが重ならないようにするためには、第1のページの中間領域の印刷が終了した後に、記録紙を少なくとも印刷ヘッドの印刷幅だけ搬送しておく必要がある。或いは、記録紙を少なくとも印刷ヘッドの印刷幅分だけ搬送した後に第2のページの中間領域の印刷を開始する必要がある。しかし、このような紙送りをすると、印刷データから各ページの上端側および下端側の帯状の空白領域のデータ部分が除去されているにも拘わらず、印刷された各ページの中間領域の間には帯状の空白領域が形成されてしまうという問題がある。
図10は、第1のページの中間領域の下端部分が印刷された後に、記録紙が印刷ヘッドの印刷幅分だけ搬送された状態を示す説明図である。記録紙100の側方の印刷ヘッド101は、記録紙100に対する印刷ヘッド101の相対的な位置を示すものである。印刷ヘッド101(1)は第1のページの中間領域の下端部分を印刷したときの位置であり、印刷ヘッド101(2)は中間領域の印刷が終了した後に記録紙100が印刷ヘッド101の印刷幅Qだけ搬送された位置を示している。
図10(a)に示されているように、第1のページの中間領域の下端部分が印刷される際に印刷ヘッド101の印刷幅の全部(斜線部分)、すなわち下端部分までが用いられている場合には、記録紙100が印刷幅Qだけ搬送されると、印刷ヘッド101(2)は中間領域に隣接する位置に配置されている。また、この位置が、次のページ分の領域印刷データの印刷を開始する印刷開始位置になるので、印刷された中間領域と次に印刷される中間領域との間に帯状の空白領域が形成されることはない。
一方、図10(b)に示すように、最初のページの中間領域の下端部分が印刷される際に印刷ヘッド101の印刷幅Qの一部分(斜線部分)だけが用いられている場合には、記録紙100が印刷幅Qだけ搬送されると、印刷ヘッド101(2)は中間領域に隣接する位置から、印刷に使用されていなかった印刷ヘッド101の印刷幅方向の残りの部分Rに相当する寸法だけ離れた位置に配置されてしまう。また、この位置から次の中間領域の印刷が開始されるので、印刷された中間領域の下端と次に印刷される中間領域の上端との間には、帯状の空白領域が形成されてしまう。
本発明の課題は、このような点に鑑みて、印刷データを記録紙に印刷する際に、1ページ分の印刷データの印刷イメージの上端側や下端側にある帯状の空白領域だけを除去することができるプリンタドライバおよび印刷データの印刷方法を提供することにある。
また、各ページの印刷データの印刷イメージから上端側および下端側の帯状の空白領域を取り除くことにより中間領域が連続して印刷される場合において、印刷される各ページの中間領域の間に帯状の空白領域が形成されることがないプリンタドライバおよび印刷データの印刷方法に関する。
上記の課題を解決するために、本発明は、1ページ分の印刷データを印刷する間に記録紙の搬送方向における当該記録紙と印刷ヘッドの相対移動距離を取得しているシリアルプリンタを駆動制御して、前記1ページ分の印刷データの印刷イメージから上端側および下端側に含まれている帯状の空白領域を取り除いて印刷するプリンタドライバにおいて、
前記1ページ分の印刷データをメモリに2次元展開して前記印刷イメージを生成するとともに、前記印刷イメージを前記搬送方向に対応する上下方向と直交する複数の行イメージに等分し、各行イメージに上から行番号を付与する行イメージ生成手段と、
各行イメージが空白からなる空白イメージか否かを前記行番号に従って最初から最後まで逐次に判定する判定手段と、
前記行イメージが前記空白イメージではないと判定された場合に、下端側行番号が記憶保持されていなければ、前記行イメージの行番号を上端側行番号および前記下端側行番号として記憶保持し、前記行イメージを前記シリアルプリンタに送信して印刷を行わせる第1出力手段と、
前記行イメージが前記空白イメージであると判定された場合に、前記下端側行番号が記憶保持されていれば、空白行数としてカウントするカウンタと、
前記行イメージが前記空白イメージではないと判定された場合に、前記下端側行番号が記憶保持されていれば、前記行イメージの行番号を前記下端側行番号として記憶保持し、前記空白行数分の前記空白イメージを前記シリアルプリンタに送信して印刷を行わせた後に当該空白行数をリセットし、しかる後に、前記行イメージを前記シリアルプリンタに送信して印刷を行わせる第2出力手段と、
最後の前記行イメージの判定結果に基づく処理動作が終了すると、前記上端側行番号および前記下端側行番号に基づいて前記シリアルプリンタに印刷を行わせた前記行イメージの行数を算出し、前記行数と各行イメージを印刷するのに必要な前記記録紙の前記搬送方向の用紙寸法とを乗じることにより前記上端側行番号から前記下端側行番号までの各行イメージの印刷に費やされた前記記録紙の用紙長を算出し、前記シリアルプリンタが前記用紙長と一致する前記相対移動距離を取得するまで前記記録紙を搬送する記録紙搬送手段とを有することを特徴とする。
前記1ページ分の印刷データをメモリに2次元展開して前記印刷イメージを生成するとともに、前記印刷イメージを前記搬送方向に対応する上下方向と直交する複数の行イメージに等分し、各行イメージに上から行番号を付与する行イメージ生成手段と、
各行イメージが空白からなる空白イメージか否かを前記行番号に従って最初から最後まで逐次に判定する判定手段と、
前記行イメージが前記空白イメージではないと判定された場合に、下端側行番号が記憶保持されていなければ、前記行イメージの行番号を上端側行番号および前記下端側行番号として記憶保持し、前記行イメージを前記シリアルプリンタに送信して印刷を行わせる第1出力手段と、
前記行イメージが前記空白イメージであると判定された場合に、前記下端側行番号が記憶保持されていれば、空白行数としてカウントするカウンタと、
前記行イメージが前記空白イメージではないと判定された場合に、前記下端側行番号が記憶保持されていれば、前記行イメージの行番号を前記下端側行番号として記憶保持し、前記空白行数分の前記空白イメージを前記シリアルプリンタに送信して印刷を行わせた後に当該空白行数をリセットし、しかる後に、前記行イメージを前記シリアルプリンタに送信して印刷を行わせる第2出力手段と、
最後の前記行イメージの判定結果に基づく処理動作が終了すると、前記上端側行番号および前記下端側行番号に基づいて前記シリアルプリンタに印刷を行わせた前記行イメージの行数を算出し、前記行数と各行イメージを印刷するのに必要な前記記録紙の前記搬送方向の用紙寸法とを乗じることにより前記上端側行番号から前記下端側行番号までの各行イメージの印刷に費やされた前記記録紙の用紙長を算出し、前記シリアルプリンタが前記用紙長と一致する前記相対移動距離を取得するまで前記記録紙を搬送する記録紙搬送手段とを有することを特徴とする。
本発明によれば、行イメージ生成手段は1ページ分の印刷データの印刷イメージを複数の行イメージに等分し、各行イメージには行番号を付与する。また、判定手段は各行イメージが空白からなる空白イメージか否かを行番号に従って最初から最後まで逐次に判定する。そして、行イメージが空白イメージではないと判定された場合に、下端側行番号が記憶保持されていなければ、第1出力手段は、上端側行番号および下端側行番号を記憶保持した後にこの行イメージをシリアルプリンタに送信して印刷させる。この結果、空白ではないと最初に判定された行イメージの行番号を上端側行番号として記憶保持することができる。
また、カウンタは、下端側行番号が記憶保持されているときに空白イメージの行イメージをカウントするので、空白イメージではないと最初に判定された行イメージよりも上端側にある空白イメージの行イメージはカウントされずに無視される。この結果、この行イメージよりも上端側に位置している空白イメージの行イメージは印刷されないので、印刷イメージの上端側の空白領域である上端側空白領域を取り除くことができる。また、下端側行番号が記憶保持された後には空白イメージの行イメージはカウントされ、その後に行イメージが空白イメージではないと判定されたときに、第2出力手段は、空白行数が0でなければ空白行数分の空白イメージをまとめて印刷し、しかる後に、空白ではないと判定された行イメージを印刷する。この結果、空白イメージと判定された行イメージよりも下端側に空白イメージではない行イメージが存在するときには、空白イメージの行イメージは無視されることなく印刷される。従って、上端側空白領域および下端側の空白領域である下端側空白領域の間に挟まれている中間領域の内側にある帯状の空白領域が取り除かれてしまうことがない。また、空白イメージと判定された行イメージよりも下端側に空白イメージではない行イメージが存在しないときには、空白イメージの行イメージは空白行数としてカウントされるだけで印刷されない。従って、印刷イメージの下端側に含まれている下端側空白領域を取り除くことができる。
さらに、下端側行番号が記憶保持された後に、行イメージが空白イメージではないと判定された場合には、下端側行番号は第2出力手段によって空白イメージではないと判定された行イメージの行番号で更新されていく。従って、全ての行イメージに対する判定が終了したときは、空白イメージではない上端の行イメージの行番号と、空白イメージではない下端の行イメージの行番号がそれぞれ上端側行番号および下端側行番号として記憶保持されている。この結果、上端側行番号および下端側行番号に基づいてシリアルプリンタに印刷させた行イメージの行数を算出することができるので、この行数と各行イメージを印刷するのに必要な記録紙の搬送方向の用紙寸法とを乗じることにより上端側行番号から下端側行番号までの各行イメージの印刷に費やされた記録紙の用紙長を算出できる。よって、最後の行イメージの判定結果に基づく処理動作が終了した後に、記録紙搬送手段が、シリアルプリンタが用紙長と一致する相対移動距離を取得するまで記録紙を搬送すれば、印刷ヘッドは印刷された下端側行番号の行イメージに対して搬送方向に隣接する位置に配置され、この位置が次の1ページの印刷データの印刷開始位置になる。従って、各ページの中間領域の下端部分が印刷される際に印刷ヘッドの印刷幅の下端部分まで用いられていたか、或いは、印刷ヘッドの印刷幅方向の一部分だけが用いられていたかに拘わらず、次の領域印刷データの印刷を中間領域に隣接する位置から開始することができる。また、各ページの印刷データの印刷イメージから上端側空白領域および下端側空白領域を取り除くことによりこれらの間に挟まれている中間領域が連続して印刷される場合に、印刷される各ページの中間領域の間に帯状の空白領域が形成されることがない。
また、各行イメージの印刷処理を逐次に行う過程で上端側行番号および下端側行番号を取得して、上端側行番号から下端側行番号までの各行イメージの印刷に費やされる記録紙の用紙長を算出することができるので、1ページ分の印刷データの印刷イメージをメモリに2次元展開しているときに上端側行番号および下端側行番号を特定して用紙長を算出するよりも、印刷動作のスループットが向上する。
本発明において、下端側空白領域だけを取り除いて印刷するためには、前記印刷イメージの上端側および下端側に含まれている帯状の空白領域を取り除いて印刷するか、前記印刷イメージの下端側に含まれている帯状の空白領域である下端側空白領域だけを取り除いて印刷するか、を予め操作者に設定させる除去領域設定手段と、前記下端側空白領域だけを取り除いて印刷することが設定されている場合には、前記判定手段が判定を行うと最初の前記行番号を前記上端側行番号として記憶保持する上端側行番号記憶保持手段と、前記下端側空白領域だけを取り除いて印刷することが設定されている場合には、前記第1出力手段および前記第2出力手段に替えて、前記行イメージが前記空白イメージではないと判定されたときに、前記行イメージの行番号を前記下端側行番号として記憶保持し、前記空白行数分の前記空白イメージを前記シリアルプリンタに送信して印刷を行わせた後に当該空白行数をリセットし、しかる後に、前記行イメージを前記シリアルプリンタに送信して印刷を行わせる第3出力手段とを有し、前記カウンタは、前記下端側空白領域だけを取り除いて印刷することが設定されている場合には、前記行イメージが前記空白イメージではないと判定されたときに、常に、前記空白行数をカウントすることが望ましい。
このようにすれば、上端側行番号記憶保持手段は最初の行番号を上端側行番号として記憶保持し、カウンタは空白イメージではない行イメージを常に空白行数としてカウントする。また、行イメージが空白イメージではないと判定された場合には、第3出力手段は、この行イメージの行番号で下端側行番号を更新した後に、空白行数が0でなければ空白行数分の空白イメージをまとめて印刷し、しかる後に、この行イメージを印刷する。従って、上端側空白領域は取り除かれることなく印刷される。さらに、最初の行番号が上端側行番号として記憶保持されているので、用紙長として最初の行イメージから下端側行番号の行イメージまでを印刷するのに必要な値が算出される。よって、記録紙搬送手段が、シリアルプリンタが用紙長と一致する相対移動距離を取得するまで記録紙を搬送すれば、印刷ヘッドは印刷された下端側行番号の行イメージに対し搬送方向に隣接する位置に配置され、この位置が次の1ページの印刷データの印刷開始位置になる。
また、本発明において、上端側空白領域だけを取り除いて印刷するためには、前記印刷イメージの上端側および下端側に含まれている帯状の空白領域を取り除いて印刷するか、前記印刷イメージの上端側に含まれている帯状の空白領域である上端側空白領域だけを取り除いて印刷するか、を予め操作者に設定させる除去領域設定手段を有しており、前記記録紙搬送手段は、前記上端側空白領域だけを取り除いて印刷することが設定されている場合には、前記下端側行番号に替えて最後の前記行番号を用いて前記行数を算出することが望ましい。このようにすれば、上端側行番号の行イメージから最後の行番号の行イメージまでの行数が算出されるので、用紙長として上端側行番号の行イメージから最後の行番号の行イメージまでを印刷するのに必要な値が算出される。従って、記録紙搬送手段が、シリアルプリンタが用紙長と一致する相対移動距離を取得するまで記録紙を搬送すれば、印刷ヘッドは最後の行番号の行イメージが印刷される位置に対して搬送方向に隣接する位置に配置され、この位置が次の1ページの印刷データの印刷開始位置になる。すなわち、下端側行番号の行イメージの下端側に空白イメージの行イメージが存在している場合には、下端側行番号の行イメージの印刷位置から空白イメージの行数分だけ離れた位置に印刷ヘッドが配置され、この位置が次の1ページの印刷データの印刷開始位置になる。従って、下端側空白領域が取り除かれてしまうことがない。
また、本発明において、下端側空白領域および上端側空白領域を取り除かずに通常の印刷を行うためには、前記印刷イメージの上端側および下端側に含まれている帯状の空白領域を取り除いて印刷するか、前記印刷イメージの上端側および下端側に含まれている帯状の空白領域のいずれも取り除かずに通常の印刷を行うか、を予め操作者に設定させる除去領域設定手段と、通常の印刷を行うことが設定されている場合には、前記第1出力手段および前記第2出力手段に替えて、前記行イメージが前記空白イメージではないと判定されたときに、前記空白行数分の前記空白イメージを前記シリアルプリンタに送信して印刷を行わせた後に当該空白行数をリセットし、前記行イメージを前記シリアルプリンタに送信して印刷を行わせる第3出力手段とを有し、前記カウンタは、通常の印刷を行うことが設定されている場合には、常に、前記空白行数をカウントし、前記記録紙搬送手段は、前記通常の印刷を行うことが設定されている場合には、前記シリアルプリンタが前記1ページの用紙長と一致する前記相対移動距離を取得するまで前記記録紙を搬送することが望ましい。
このようにすれば、空白イメージではない行イメージは常に空白行数としてカウントされる。また、行イメージが空白イメージではないと判定された場合には、この行イメージの行番号で下端側行番号を更新した後に、空白行数が0でなければ空白行数分の空白イメージをまとめて印刷し、しかる後に、この行イメージを印刷する。従って、上端側空白領域は取り除かれることなく印刷される。また、1ページの用紙長は、プリンタドライバが1ページ分の印刷データを印刷する際に予め記憶保持している値である。この値を用いて、シリアルプリンタが1ページの用紙長と一致する相対移動距離を取得するまで記録紙を搬送すれば、印刷ヘッドは最後の行番号の行イメージが印刷される位置に対して搬送方向に隣接する位置に配置され、この位置が次の1ページの印刷データの印刷開始位置になる。すなわち、下端側行番号の行イメージの下端側に空白イメージの行イメージが存在している場合には、下端側行番号の行イメージの印刷位置から空白イメージの行数分だけ離れた位置に印刷ヘッドが配置され、この位置が次の1ページの印刷データの印刷開始位置になる。従って、下端側空白領域が取り除かれてしまうことがない。また、このようにすれば、上端側行番号および下端側行番号を記憶保持しておく必要がなく、行数および用紙長を算出する必要がないので、印刷動作のスループットが向上する。
本発明において、前記シリアルプリンタを、ロール紙から繰り出されている長尺状の前記記録紙に印刷を行うロール紙プリンタとすれば、上端側空白領域や下端側空白領域を取り除いて印刷することにより得られる経済的な効果が高い。
次に、本発明は、1ページ分の印刷データを印刷する間に記録紙の搬送方向における当該記録紙と印刷ヘッドの相対移動距離を取得しているシリアルプリンタを駆動制御して、前記1ページ分の印刷データの印刷イメージから上端側および下端側に含まれている帯状の空白領域を取り除いて印刷する印刷データの印刷方法において、
前記1ページ分の印刷データをメモリに2次元展開して前記印刷イメージを生成するとともに、前記印刷イメージを前記搬送方向に対応する上下方向と直交する複数の行イメージに等分し、各行イメージに上から行番号を付与する行イメージ生成工程と、
各行イメージが空白からなる空白イメージか否かを前記行番号に従って最初から最後まで逐次に判定する判定工程と、
前記行イメージが前記空白イメージではないと判定された場合に、下端側行番号が記憶保持されていなければ、前記行イメージの行番号を上端側行番号および前記下端側行番号として記憶保持し、前記行イメージを前記シリアルプリンタに送信して印刷を行わせる第1出力工程と、
前記行イメージが前記空白イメージであると判定された場合に、前記下端側行番号が記憶保持されていれば、空白行数としてカウントするカウント工程と、
前記行イメージが前記空白イメージではないと判定された場合に、前記下端側行番号が記憶保持されていれば、前記行イメージの行番号を前記下端側行番号として記憶保持し、前記空白行数分の前記空白イメージを前記シリアルプリンタに送信して印刷を行わせた後に当該空白行数をリセットし、しかる後に、前記行イメージを前記シリアルプリンタに送信して印刷を行わせる第2出力工程と、
最後の前記行イメージの判定結果に基づく処理が終了すると、前記上端側行番号および前記下端側行番号に基づいて前記シリアルプリンタに印刷を行わせた前記行イメージの行数を算出し、前記行数と各行イメージを印刷するのに必要な前記記録紙の前記搬送方向の用紙寸法とを乗じることにより前記上端側行番号から前記下端側行番号までの各行イメージの印刷に費やされた前記記録紙の用紙長を算出し、前記シリアルプリンタが前記用紙長と一致する前記相対移動距離を取得するまで前記記録紙を搬送する記録紙搬送工程とを有することを特徴とする。
前記1ページ分の印刷データをメモリに2次元展開して前記印刷イメージを生成するとともに、前記印刷イメージを前記搬送方向に対応する上下方向と直交する複数の行イメージに等分し、各行イメージに上から行番号を付与する行イメージ生成工程と、
各行イメージが空白からなる空白イメージか否かを前記行番号に従って最初から最後まで逐次に判定する判定工程と、
前記行イメージが前記空白イメージではないと判定された場合に、下端側行番号が記憶保持されていなければ、前記行イメージの行番号を上端側行番号および前記下端側行番号として記憶保持し、前記行イメージを前記シリアルプリンタに送信して印刷を行わせる第1出力工程と、
前記行イメージが前記空白イメージであると判定された場合に、前記下端側行番号が記憶保持されていれば、空白行数としてカウントするカウント工程と、
前記行イメージが前記空白イメージではないと判定された場合に、前記下端側行番号が記憶保持されていれば、前記行イメージの行番号を前記下端側行番号として記憶保持し、前記空白行数分の前記空白イメージを前記シリアルプリンタに送信して印刷を行わせた後に当該空白行数をリセットし、しかる後に、前記行イメージを前記シリアルプリンタに送信して印刷を行わせる第2出力工程と、
最後の前記行イメージの判定結果に基づく処理が終了すると、前記上端側行番号および前記下端側行番号に基づいて前記シリアルプリンタに印刷を行わせた前記行イメージの行数を算出し、前記行数と各行イメージを印刷するのに必要な前記記録紙の前記搬送方向の用紙寸法とを乗じることにより前記上端側行番号から前記下端側行番号までの各行イメージの印刷に費やされた前記記録紙の用紙長を算出し、前記シリアルプリンタが前記用紙長と一致する前記相対移動距離を取得するまで前記記録紙を搬送する記録紙搬送工程とを有することを特徴とする。
本発明によれば、1ページ分の印刷データの印刷イメージを複数の行イメージに等分し、各行イメージには行番号を付与する。また、各行イメージが空白からなる空白イメージか否かを行番号に従って最初から最後まで逐次に判定する。そして、行イメージが空白イメージではないと判定された場合に、下端側行番号が記憶保持されていないときには、上端側行番号および下端側行番号を記憶保持した後にこの行イメージをシリアルプリンタに送信して印刷させる。この結果、空白ではないと最初に判定された行イメージの行番号を上端側行番号として記憶保持することができる。
また、下端側行番号が記憶保持されているときに空白イメージの行イメージをカウントするので、空白イメージではないと最初に判定された行イメージよりも上端側にある空白イメージの行イメージはカウントされずに無視される。この結果、この行イメージよりも上端側に位置している空白イメージの行イメージは印刷されないので、印刷イメージの上端側の空白領域である上端側空白領域を取り除くことができる。また、下端側行番号が記憶保持された後には空白イメージの行イメージはカウントされ、その後に行イメージが空白イメージではないと判定されたときに、空白行数が0でなければ空白行数分の空白イメージがまとめて印刷され、しかる後に、空白ではないと判定された行イメージが印刷される。この結果、空白イメージと判定された行イメージよりも下端側に空白イメージではない行イメージが存在するときには、空白イメージの行イメージは無視されることなく印刷される。従って、上端側空白領域および下端側の空白領域である下端側空白領域の間に挟まれている中間領域の内側にある帯状の空白領域が取り除かれてしまうことがない。また、空白イメージと判定された行イメージよりも下端側に空白イメージではない行イメージが存在しないときには、空白イメージの行イメージは空白行数としてカウントされるだけで印刷されない。従って、印刷イメージの下端側に含まれている下端側空白領域を取り除くことができる。
さらに、下端側行番号が記憶保持された後に、行イメージが空白イメージではないと判定された場合には、下端側行番号は空白イメージではないと判定された行イメージの行番号で更新されていく。従って、全ての行イメージに対する判定が終了したときは、空白イメージではない上端の行イメージの行番号と、空白イメージではない下端の行イメージの行番号がそれぞれ上端側行番号および下端側行番号として記憶保持されている。この結果、上端側行番号および下端側行番号に基づいてシリアルプリンタに印刷させた行イメージの行数を算出することができるので、この行数と各行イメージを印刷するのに必要な記録紙の搬送方向の用紙寸法とを乗じることにより上端側行番号から下端側行番号までの各行イメージの印刷に費やされた記録紙の用紙長を算出できる。よって、最後の行イメージに対する処理が行われた後に、シリアルプリンタが用紙長と一致する相対移動距離を取得するまで記録紙を搬送すれば、印刷ヘッドは印刷された下端側行番号の行イメージに対して搬送方向に隣接する位置に配置され、この位置が次の1ページの印刷データの印刷開始位置になる。従って、各ページの中間領域の下端部分が印刷される際に印刷ヘッドの印刷幅の下端部分まで用いられていたか、或いは、印刷ヘッドの印刷幅方向の一部分だけが用いられていたかに拘わらず、次の領域印刷データの印刷を中間領域に隣接する位置から開始することができる。また、各ページの印刷データの印刷イメージから上端側空白領域および下端側空白領域を取り除くことによりこれらの間に挟まれている中間領域が連続して印刷される場合に、印刷される各ページの中間領域の間に帯状の空白領域が形成されることがない。
また、各行イメージの印刷処理を逐次に行う過程で上端側行番号および下端側行番号を取得して、上端側行番号から下端側行番号までの各行イメージの印刷に費やされる記録紙の用紙長を算出することができるので、1ページ分の印刷データの印刷イメージをメモリに2次元展開しているときに上端側行番号および下端側行番号を特定して用紙長を算出するよりも、印刷動作のスループットが向上する。
本発明において、下端側空白領域だけを取り除いて印刷するためには、前記印刷イメージの上端側および下端側に含まれている帯状の空白領域を取り除いて印刷するか、前記印刷イメージの下端側に含まれている帯状の空白領域である下端側空白領域だけを取り除いて印刷するか、を予め操作者に設定させる除去領域設定工程と、前記下端側空白領域だけを取り除いて印刷することが設定されている場合には、前記判定工程に続いて最初の前記行番号を前記上端側行番号として記憶保持する上端側行番号記憶保持手段と、前記下端側空白領域だけを取り除いて印刷することが設定されている場合には、前記第1出力工程および前記第2出力工程に替えて、前記行イメージが前記空白イメージではないと判定されたときに、前記行イメージの行番号を前記下端側行番号として記憶保持し、前記空白行数分の前記空白イメージを前記シリアルプリンタに送信して印刷を行わせた後に当該空白行数をリセットし、しかる後に、前記行イメージを前記シリアルプリンタに送信して印刷を行わせる第3出力工程とを含んでおり、前記カウント工程では、前記下端側空白領域だけを取り除いて印刷することが設定されている場合には、前記行イメージが前記空白イメージではないと判定されたとき、常に、前記空白行数をカウントすることが望ましい。
このようにすれば、上端側行番号記憶保持工程で最初の行番号を上端側行番号として記憶保持され、空白イメージではない行イメージは常に空白行数としてカウントされる。また、行イメージが空白イメージではないと判定された場合には、この行イメージの行番号で下端側行番号を更新した後に、空白行数が0でなければ空白行数分の空白イメージをまとめて印刷し、しかる後に、この行イメージを印刷する。従って、上端側空白領域は取り除かれることなく印刷される。さらに、最初の行番号が上端側行番号として記憶保持されているので、用紙長として最初の行イメージから下端側行番号の行イメージまでを印刷するのに必要な値が算出される。よって、記録紙搬送手段が、シリアルプリンタが用紙長と一致する相対移動距離を取得するまで記録紙を搬送すれば、印刷ヘッドは印刷された下端側行番号の行イメージに対し搬送方向に隣接する位置に配置され、この位置が次の1ページの印刷データの印刷開始位置になる。
また、本発明において、上端側空白領域だけを取り除いて印刷するためには、前記印刷イメージの上端側および下端側に含まれている帯状の空白領域を取り除いて印刷するか、前記印刷イメージの上端側に含まれている帯状の空白領域である上端側空白領域だけを取り除いて印刷するか、を予め操作者に設定させる除去領域設定工程を含んでおり、前記記録紙搬送工程では、前記上端側空白領域だけを取り除いて印刷することが設定されている場合には、前記下端側行番号に替えて最後の前記行番号を用いて前記行数を算出することが望ましい。このようにすれば、上端側行番号の行イメージから最後の行番号の行イメージまでの行数が算出されるので、用紙長として上端側行番号の行イメージから最後の行番号の行イメージまでを印刷するのに必要な値が算出される。従って、シリアルプリンタが用紙長と一致する相対移動距離を取得するまで記録紙を搬送すれば、印刷ヘッドは最後の行番号の行イメージが印刷される位置に対して搬送方向に隣接する位置に配置され、この位置が次の1ページの印刷データの印刷開始位置になる。すなわち、下端側行番号の行イメージの下端側に空白イメージの行イメージが存在している場合には、下端側行番号の行イメージの印刷位置から空白イメージの行数分だけ離れた位置に印刷ヘッドが配置され、この位置が次の1ページの印刷データの印刷開始位置になる。従って、下端側空白領域が取り除かれてしまうことがない。
また、本発明において、下端側空白領域および上端側空白領域を取り除かずに通常の印刷を行うためには、前記印刷イメージの上端側および下端側に含まれている帯状の空白領域を取り除いて印刷するか、前記印刷イメージの上端側および下端側に含まれている帯状の空白領域のいずれも取り除かずに通常の印刷を行うか、を予め操作者に設定させる除去領域設定工程と、通常の印刷を行うことが設定されている場合には、前記第1出力工程および前記第2出力工程に替えて、前記行イメージが前記空白イメージではないと判定されたときに、前記空白行数分の前記空白イメージを前記シリアルプリンタに送信して印刷を行わせた後に当該空白行数をリセットし、前記行イメージを前記シリアルプリンタに送信して印刷を行わせる第3出力工程とを含んでおり、前記カウント工程では、通常の印刷を行うことが設定されている場合には、前記行イメージが前記空白イメージではないと判定されたとき、常に、前記空白行数をカウントし、前記記録紙搬送工程では、前記通常の印刷を行うことが設定されている場合には、前記シリアルプリンタが前記1ページの用紙長と一致する前記相対移動距離を取得するまで前記記録紙を搬送することを特徴とすることが望ましい。
このようにすれば、空白イメージではない行イメージは常に空白行数としてカウントされる。また、行イメージが空白イメージではないと判定された場合には、この行イメージの行番号で下端側行番号を更新した後に、空白行数分の空白イメージをまとめて印刷し、しかる後に、この行イメージを印刷する。従って、上端側空白領域は取り除かれることなく印刷される。また、1ページの用紙長は、プリンタドライバが1ページ分の印刷データを印刷する際に予め取得している値である。この値を用いて、シリアルプリンタが1ページの用紙長と一致する相対移動距離を取得するまで記録紙を搬送すれば、印刷ヘッドは最後の行番号の行イメージが印刷される位置に対して搬送方向に隣接する位置に配置され、この位置が次の1ページの印刷データの印刷開始位置になる。すなわち、下端側行番号の行イメージの下端側に空白イメージの行イメージが存在している場合には、下端側行番号の行イメージの印刷位置から空白イメージの行数分だけ離れた位置に印刷ヘッドが配置され、この位置が次の1ページの印刷データの印刷開始位置になる。従って、下端側空白領域が取り除かれてしまうことがない。また、このようにすれば、上端側行番号および下端側行番号を記憶保持しておく必要がなく、行数および用紙長を算出する必要がないので、印刷動作のスループットが向上する。
本発明において、前記シリアルプリンタを、ロール紙から繰り出されている長尺状の前記記録紙に印刷を行うロール紙プリンタとすれば、上端側空白領域や下端側空白領域を取り除いて印刷することにより得られる経済的な効果が高い。
本発明によれば、1ページ分の印刷データの印刷イメージを複数の行イメージに等分し、各行イメージには行番号を付与する。また、各行イメージが空白からなる空白イメージか否かを行番号に従って最初から最後まで逐次に判定する。そして、行イメージが空白イメージではないと判定された場合に、下端側行番号が記憶保持されていないときには、上端側行番号および下端側行番号を記憶保持した後にこの行イメージをシリアルプリンタに送信して印刷させる。この結果、空白ではないと最初に判定された行イメージの行番号を上端側行番号として記憶保持することができる。
また、下端側行番号が記憶保持されているときに空白イメージの行イメージをカウントするので、空白イメージではないと最初に判定された行イメージよりも上端側にある空白イメージの行イメージはカウントされずに無視される。この結果、この行イメージよりも上端側に位置している空白イメージの行イメージは印刷されないので、印刷イメージの上端側の空白領域である上端側空白領域を取り除くことができる。また、下端側行番号が記憶保持された後には空白イメージの行イメージはカウントされ、その後に行イメージが空白イメージではないと判定されたときに、空白行数が0でなければ空白行数分の空白イメージがまとめて印刷され、しかる後に、空白ではないと判定された行イメージが印刷される。この結果、空白イメージと判定された行イメージよりも下端側に空白イメージではない行イメージが存在するときには、空白イメージの行イメージは無視されることなく印刷される。従って、上端側空白領域および下端側の空白領域である下端側空白領域の間に挟まれている中間領域の内側にある帯状の空白領域が取り除かれてしまうことがない。また、空白イメージと判定された行イメージよりも下端側に空白イメージではない行イメージが存在しないときには、空白イメージの行イメージは空白行数としてカウントされるだけで印刷されない。従って、印刷イメージの下端側に含まれている下端側空白領域を取り除くことができる。
さらに、下端側行番号が記憶保持された後に、行イメージが空白イメージではないと判定された場合には、下端側行番号は空白イメージではないと判定された行イメージの行番号で更新されていく。従って、全ての行イメージに対する判定が終了すると、空白イメージではない上端の行イメージの行番号と、空白イメージではない下端の行イメージの行番号がそれぞれ上端側行番号および下端側行番号として記憶保持されている。この結果、上端側行番号および下端側行番号に基づいてシリアルプリンタに印刷させた行イメージの行数を算出することができるので、この行数と各行イメージを印刷するのに必要な記録紙の搬送方向の用紙寸法とを乗じることにより上端側行番号から下端側行番号までの各行イメージの印刷に費やされた記録紙の用紙長を算出できる。よって、最後の行イメージに対する処理が行われた後に、シリアルプリンタが用紙長と一致する相対移動距離を取得するまで記録紙を搬送すれば、印刷ヘッドは印刷された下端側行番号の行イメージに対して搬送方向に隣接する位置に配置され、この位置が次の1ページの印刷データの印刷開始位置になる。従って、各ページの中間領域の下端部分が印刷される際に印刷ヘッドの印刷幅の下端部分まで用いられていたか、或いは、印刷ヘッドの印刷幅方向の一部分だけが用いられていたかに拘わらず、次の領域印刷データの印刷を中間領域に隣接する位置から開始することができる。また、各ページの印刷データの印刷イメージから上端側空白領域および下端側空白領域を取り除くことによりこれらの間に挟まれている中間領域が連続して印刷される場合に、印刷される各ページの中間領域の間に帯状の空白領域が形成されることがない。
また、各行イメージの印刷処理を逐次に行う過程で上端側行番号および下端側行番号を取得して、上端側行番号から下端側行番号までの各行イメージの印刷に費やされる記録紙の用紙長を算出することができるので、1ページ分の印刷データの印刷イメージをメモリに2次元展開しているときに上端側行番号および下端側行番号を特定して用紙長を算出するよりも、印刷動作のスループットが向上する。
以下に、図面を参照して、本発明の実施の形態を説明する。
(印刷システム)
図1は、本発明を適用したプリンタドライバを搭載している印刷システムを示す斜視図である。
図1は、本発明を適用したプリンタドライバを搭載している印刷システムを示す斜視図である。
本例の印刷システム1は、入出力装置として、ディスプレイ2、キーボード3、マウス4が接続されたコンピュータ5と、このコンピュータ5に接続されているロール紙プリンタ6を備えている。コンピュータ5には、オペレーティングシステム(OS)7と、OS7上で動作するアプリケーションプログラム8と、アプリケーションプログラム8から出力される印刷データを、OS7を介して受け取って、この印刷データを印刷するためにロール紙プリンタ6に送信し、印刷を行わせるプリンタドライバ9が搭載されている。
ロール紙プリンタ6は、印刷ヘッド10を主走査方向に移動させながら記録紙11に印刷を行う動作と、記録紙11を主走査方向と直交する搬送方向Aに搬送する動作とを繰り返しながら印刷を行うシリアルプリンタである。ロール紙プリンタ6は、1ページ分の印刷データを印刷する間に記録紙11の搬送方向Aにおける記録紙11と印刷ヘッド10の相対移動距離を取得する機能を備えている。相対移動距離は、例えば、印刷データに含まれている各ページの印刷データの印刷が始まる毎にリセットされ、記録紙11が搬送される毎に取得されるようになっている。
記録紙11は長尺状をしており、この記録紙11を繰り出しているロール紙12はロール紙プリンタ6の筐体13の内部に収納されている。記録紙11は印刷ヘッド10を経由する搬送路に沿って搬送され、筐体13の前面部分に形成されている記録紙排出口14から排出される。
プリンタドライバ9は、アプリケーションプログラム8が生成した印刷データを印刷したときに各ページの上端側や下端側に形成されるマージンや空白行などを含む帯状の空白領域を取り除いて印刷する機能を備えている。
(プリンタドライバ)
図2はコンピュータ5に搭載されているプリンタドライバ9を説明するためのブロック図である。図3はプリンタドライバ9によってディスプレイ2上に表示されるダイアログボックスである。
図2はコンピュータ5に搭載されているプリンタドライバ9を説明するためのブロック図である。図3はプリンタドライバ9によってディスプレイ2上に表示されるダイアログボックスである。
プリンタドライバ9は、各種設定入力手段21、行イメージ生成手段22、判定手段23、上端側行番号記憶保持手段24、第1出力手段25、カウンタ26、第2出力手段27、第3出力手段28、記録紙搬送手段29を備えている。
各種設定入力手段21は、図3に示すダイアログボックス30をディスプレイ2に表示する。ダイアログボックス30には操作者に記録紙11の用紙レイアウトを設定させるプルダウンメニュー32が設けられており、操作者がこれらのメニューのうちの一つを選択すると、その値が1ページの用紙長として記憶保持される。また、各種設定入力手段21は、操作者に印刷の際に空白領域を取り除くか否か、或いは、どの位置にある空白領域を取り除くか、を設定させる除去領域設定手段31を有しており、この除去領域設定手段31はダイアログボックス30の中央部分にプルダウンメニュー33を表示する。
プルダウンメニュー33には、1ページ分の印刷データの印刷イメージの上端側に含まれている帯状の空白領域である上端側空白領域および下端側に含まれている帯状の空白領域である下端側空白領域を取り除いて印刷する「上下節約」、下端側空白領域だけを取り除いて印刷する「下節約」、上端側空白領域および下端側空白領域を取り除かずに通常の印刷をする「節約なし」が含まれている。操作者がこれらのメニューのうちの一つを選択すると、選択されたメニューが、印刷データを印刷する際の印刷モードとして設定される。
行イメージ生成手段22は、印刷データを1ページ分の印刷データ毎にメモリに2次元展開して印刷イメージを生成する。また、この印刷イメージを搬送方向Aに対応する上下方向と直交する複数の行イメージに等分して、各行イメージに上から行番号を付与する。
図4は行イメージ生成手段22によってメモリに展開されている印刷イメージを模式的に示す説明図である。図4(a)は印刷データに含まれている第1のページの印刷データから生成された印刷イメージであり、図4(b)は第2のページの印刷データから生成された印刷イメージである。各ページ分の印刷データの印刷イメージB1、B2の上端は、印刷時の記録紙11の搬送方向Aの下流側の端に対応しており、印刷イメージB1、B2の下端は記録紙11の搬送方向Aの上流側の端に対応している。各ページの印刷イメージは18等分されており、各行イメージには0番から17番までの行番号が付与される。本例では、各行イメージの上下方向の幅は印刷ヘッド10の搬送方向Aにおける印刷幅の1/4に対応している。なお、各行イメージの幅および印刷イメージを何等分するかは、任意である。
判定手段23は、各行イメージが空白からなる空白イメージか否かを行番号に従って最初から最後まで逐次に判定する。
上端側行番号記憶保持手段24は、「下節約」の印刷モードが設定されているときに、判定手段23が判定を行うと最初の行番号を上端側行番号として記憶保持する。すなわち、「下節約」の印刷モードの場合には上端側行番号が0として記憶保持される。なお、「上下節約」の印刷モードが設定されている場合には、上端側行番号は第1出力手段25によって記憶保持される。「節約なし」の印刷モードが設定されている場合には、上端側行番号は記憶保持されない。
第1出力手段25は、「上下節約」の印刷モードが設定されているときに、行イメージが空白イメージではないと判定された場合に、下端側行番号が記憶保持されていなければ、この行イメージの行番号を上端側行番号および下端側行番号として記憶保持する。また、この行イメージをロール紙プリンタ6に送信して印刷を行わせる。すなわち、行イメージが空白イメージではないと最初に判定された場合に、第1出力手段25は上端側行番号および下端側行番号を記憶保持し、この行イメージを印刷する。
カウンタ26は、「上下節約」の印刷モードが設定されているときに行イメージが空白イメージではないと判定された場合には、下端側行番号が記憶保持されていれば、空白行数としてカウントする。「上下節約」の印刷モードでは、行イメージが空白イメージではないと最初に判定されたときに第1出力手段25が下端側行番号を記憶保持するので、空白イメージではないと最初に判定された行イメージよりも上端側にある空白イメージの行イメージはカウントされずに無視される。また、カウンタ26は、「下節約」および「節約なし」の印刷モードが設定されているときに行イメージが空白イメージではないと判定された場合には、常に、空白行数としてカウントする。
第2出力手段27は、「上下節約」の印刷モードが設定されているときに、行イメージが空白イメージではないと判定された場合に、下端側行番号が記憶保持されていれば、この行イメージの行番号を下端側行番号として記憶保持する。すなわち、下端側行番号を更新する。また、空白行数分の空白イメージをロール紙プリンタ6に送信して印刷を行わせた後に当該空白行数をリセットし、しかる後に、この行イメージをロール紙プリンタ6に送信して印刷を行わせる。なお、空白行数が0の場合には、この行イメージだけをロール紙プリンタ6に送信して、印刷を行う。
第3出力手段28は、「下節約」および「節約なし」の印刷モードが設定されているときに、第1出力手段25および第2出力手段27の替わりに処理動作を行うものであり、行イメージが空白イメージではないと判定されたときに、行イメージの行番号を下端側行番号として記憶保持する。すなわち、下端側行番号を更新する。また、空白行数分の空白イメージをロール紙プリンタ6に送信して印刷を行わせた後に当該空白行数をリセットし、しかる後に、行イメージをロール紙プリンタ6に送信して印刷を行わせる。なお、空白行数が0の場合には、この行イメージだけをロール紙プリンタ6に送信して、印刷を行う。
ここで、ロール紙プリンタ6は、第1出力手段25、第2出力手段27または第3出力手段28から逐次に送信されてくる行イメージの行数が所定の行数分だけ印刷バッファに蓄えた時点、最後の行番号の行イメージを受信した時点、記録紙11を搬送する制御指令を受信した時点などで、受信している行イメージを印刷データとしてまとめて印刷するものとすることができる。
記録紙搬送手段29は、「上下節約」および「下節約」の印刷モードの場合には、最後の行番号の行イメージに対する判定結果に基づいた処理動作が終了すると、上端側行番号および下端側行番号に基づいてロール紙プリンタ6に印刷を行わせた行イメージの行数を算出する。例えば、下端側行番号から上端側行番号を差し引いて1を加えることにより行数を算出する。また、この行数と各行イメージを印刷するのに必要な記録紙11の搬送方向Aの用紙寸法とを乗じることにより上端側行番号から下端側行番号までの各行イメージの印刷に費やされた記録紙11の用紙長を算出する。さらに、ロール紙プリンタ6が用紙長と一致する相対移動距離を取得するまで記録紙11を搬送する。この結果、記録紙搬送手段29は、最初に印刷が行われた行イメージの印刷開始位置から印刷に費やされた用紙長だけ記録紙11を搬送されるので、ロール紙プリンタ6の印刷ヘッド10は印刷された最後の行イメージに対して搬送方向Aに隣接する位置に配置される。そして、この位置が次の1ページの印刷データの印刷開始位置になる。
また、記録紙搬送手段29は、「節約なし」の印刷モードの場合には、行数および用紙長を算出せずに、用紙長としてプリンタドライバが1ページ分の印刷データを印刷する際に予め有している1ページの用紙長を用いて、記録紙11を搬送する。すなわち、印刷データの印刷が行われる前に操作者が各種設定入力手段21を介して用紙レイアウトを設定したときにプリンタドライバ9は1ページの用紙長を取得しているので、この値を用紙長として用いる。ここで、記録紙搬送手段29が、ロール紙プリンタ6が1ページの用紙長と一致する相対移動距離を取得するまで記録紙11を搬送すると、印刷ヘッド10は、最初の行イメージの印刷開始位置から搬送方向Aに1ページの用紙長だけ相対移動する。この結果、下端側行番号の行イメージの下端側に空白イメージの行イメージが存在している場合には、下端側行番号の行イメージの印刷位置から空白イメージの行数分だけ離れた位置に印刷ヘッド10が配置される。また、この位置が次の1ページの印刷データの印刷開始位置になるので、下端側空白領域が取り除かれてしまうことがない。
(印刷データの印刷動作)
図5から図8を参照して、プリンタドライバ9による1ページ分の印刷データの印刷動作を説明する。図5はプリンタドライバ9による1ページ分の印刷データの印刷動作を示すフローチャートである。図6は「上下節約」の印刷モードの場合に、各行イメージに対してどのような処理が行われたかを示す説明図である。図7は「下節約」の印刷モードの場合に、各行イメージに対してどのような処理が行われたかを示す説明図である。図8は「節約なし」の印刷モードの場合に、各行イメージに対してどのような処理が行われたかを示す説明図である。図6、7、8、9にある前処理、後処理とは、1ページ分の印刷データを印刷する際にプリンタドライバからロール紙プリンタ6に所定の制御指令を送信する処理である。
図5から図8を参照して、プリンタドライバ9による1ページ分の印刷データの印刷動作を説明する。図5はプリンタドライバ9による1ページ分の印刷データの印刷動作を示すフローチャートである。図6は「上下節約」の印刷モードの場合に、各行イメージに対してどのような処理が行われたかを示す説明図である。図7は「下節約」の印刷モードの場合に、各行イメージに対してどのような処理が行われたかを示す説明図である。図8は「節約なし」の印刷モードの場合に、各行イメージに対してどのような処理が行われたかを示す説明図である。図6、7、8、9にある前処理、後処理とは、1ページ分の印刷データを印刷する際にプリンタドライバからロール紙プリンタ6に所定の制御指令を送信する処理である。
操作者は予めディスプレイ2上に表示されたダイアログボックス30のプルダウンメニュー32から、「上下節約」、「下節約」、「節約なし」、のいずれかのメニューを選択しており、選択されたメニューが印刷モードとして設定されているものとする。
操作者によって印刷データの印刷が指示されると、図5に示すように、行イメージ生成手段22は1ページ分の印刷データをメモリに展開して印刷イメージを生成し、これを18に等分した各行イメージに0から17までの番号を付与する(ステップST1)。そして、各行イメージが空白からなる空白イメージか否かの判定を、行番号に従って、最初から最後まで逐次に行う(ステップST2)。
行イメージに対する判定が行われると、印刷モードの確認が行われる。ステップST3では「節約なし」の印刷モードか否かが確認される。ステップST3で「節約なし」の印刷モードではないと確認されると、ステップST4で「上下節約」の印刷モードか否かが確認される。
ステップST4において、確認された印刷モードが「上下節約」の場合には、下端側行番号が記憶保持されているか否かが確認される(ステップST5)。すなわち、ステップST5では、空白行イメージではない行イメージであると判定された行イメージが存在している否かが判断される。
ステップST5において、下端側行番号が記憶保持されていない場合には、行イメージの判定結果が確認される(ステップST6)。
ステップST6で、判定結果が空白イメージの場合には、この行イメージ対する処理動作は終了する。すなわち、下端側行番号が記憶保持されていないときには、カウンタ26は空白イメージの行イメージをカウントしないので、この行イメージに対する処理動作は行われずに、無視される。しかる後に、この行イメージが最後の行番号の行イメージでない場合には(ステップST7)、次の行イメージに対する判定に移る。
ステップST6で、判定結果が空白イメージではない行イメージの場合には、この行イメージは、空白イメージではないと最初に判定された行イメージである。従って、第1出力手段25による処理が行われる。すなわち、この行イメージの行番号を上端側行番号として記憶保持する(ステップST8)。更に判定結果を確認すると(ステップST9)、この行イメージは空白イメージでないので、この行イメージの行番号を下端側行番号として記憶保持する(ステップST10)。
ここで、空白行数が0か否かが確認されるが(ステップST11)、「上下節約」の印刷モードの場合には、この行イメージよりも上端側にある空白の行イメージに対する処理動作は行われずに無視されているので、空白行数はカウントされておらず0である。よって、この行イメージだけがロール紙プリンタに送信され、印刷が行われる(ステップST12)。しかる後に、この行イメージが最後の行番号の行イメージでない場合には(ステップST7)、次の行イメージに対する判定に移る。
図6に示すように、第1のページの例では、行番号2の行イメージに対する処理動作において、行イメージが空白イメージではないと最初に判定される。従って、上端側行番号および下端側行番号として行番号2が記憶保持され、しかる後に、行番号2の行イメージがロール紙プリンタに送信され、印刷される。下端側行番号が記憶保持される前の行番号0、1の行イメージは、空白行数にカウントされていない。第2のページの例では、行番号5の行イメージに対する処理動作において、行イメージが空白イメージではないと最初に判定される。従って、上端側行番号および下端側行番号として行番号5が記憶保持され、しかる後に、行番号5の行イメージがロール紙プリンタに送信され、印刷が行われる。下端側行番号が記憶保持される前の行番号0〜4の行イメージは、空白行数にカウントされていない。
次に、ステップST5において、下端側行番号が記憶保持されている場合には、ステップST9に移行する。
ステップST9で、この行イメージが空白イメージの場合には、カウンタ26はこの行イメージを空白行数にカウントする(ステップST13)。すなわち、ステップST5からステップST9へ移行した場合には、既に空白イメージではないと判定された行イメージが存在しており、第1出力手段25によって下端側行番号が記憶保持されている。従って、カウンタ26は空白行数をカウントする。しかる後に、この行イメージが最後の行番号の行イメージでない場合には(ステップST7)、次の行イメージに対する判定に移る。
図6に示すように、第1のページの例では、行番号6〜11の各行イメージに対する処理動作において空白行数がカウントされる。この結果、空白行数は6になる。また、行番号17の行イメージに対する処理動作において空白行数がカウントされる。この結果、空白行数は1になる。第2のページの例では、行番号8〜17の各行イメージに対する処理動作において空白行数がカウントされる。カウントされる空白行数は10である。
ステップST9で、この行イメージが空白イメージではない場合には、第2出力手段27による処理が行われる。すなわち、ステップST5からステップST9へ移行した場合には、既に空白イメージではないと判定された行イメージが存在しており、第1出力手段25によって下端側行番号が記憶保持されている。従って、第2出力手段27はこの行イメージの行番号を下端側行番号として記憶保持する(ステップST10)。また、空白行数が0か否かを確認し(ステップST11)、空白行数が0でなければ空白行数分の空白イメージをロール紙プリンタに送信して印刷を行わせ(ステップST14)、この空白行数をリセットする(ステップST15)。しかる後に、この行イメージをロール紙プリンタに送信して印刷を行わせる(ステップST12)。ステップST11で空白行数が0の場合には、この行イメージだけをロール紙プリンタに送信して印刷を行わせる(ステップST12)。しかる後に、この行イメージが最後の行番号の行イメージでない場合には(ステップST7)、次の行イメージに対する判定に移る。
図6に示すように、第1のページの例では、行番号3〜5の各行イメージに対する処理動作において、下端側行番号は逐次に更新されて5になり、各行イメージはロール紙プリンタに送信されて印刷される。また、これら各行イメージが送信されるときには空白行数はカウントされておらず0なので、各行イメージだけがロール紙プリンタに送信されて印刷される。次に、行番号12〜16の各行イメージに対する処理動作において、下端側行番号は逐次に更新されて16になる。また、各行イメージはロール紙プリンタに送信されて印刷される。ここで、行番号12の行イメージに対する処理動作の際には、行番号6〜11の各行イメージが空白行としてカウントされており、空白行数が6になっている。従って、第2出力手段27は、行番号12の行イメージをロール紙プリンタに送信して印刷させる前に、6行分の空白イメージをロール紙プリンタに送信して、印刷させる。なお、行番号16の行イメージに対する処理動作の後に、行番号17の空白イメージの行イメージ存在しており、カウンタ26は空白行数を1カウントしているが、その後に、空白イメージではないと判断される行イメージがないので、この空白行数は無視される。すなわち、行番号18の空白の行イメージは印刷されない。
第2のページの例では、行番号6、7の各行イメージに対する処理動作において下端側行番号は逐次に更新されて7になる。また、各行イメージはロール紙プリンタに送信されて印刷される。これら各行イメージが送信されるときには空白行数はカウントされておらず0なので、各行イメージだけがロール紙プリンタで印刷される。ここで、第2のページの例では、行番号7の行イメージに対する処理動作の後に、行番号8〜17の空白イメージの行イメージ存在しており、カウンタ26はこれらをカウントして空白行数を10としているが、その後に、空白イメージではないと判断される行イメージがないので、これら空白行数分の空白イメージは第2出力手段27によってロール紙プリンタに送信されることはなく、無視される。すなわち、行番号8〜17の空白の行イメージは印刷されない。
次に、ステップST4で、確認された印刷モードが「上下節約」でない場合、すなわち「下節約」の印刷モードの場合には、上端側行番号記憶保持手段24は、上端側行番号に最初の行番号の0を記憶保持する(ステップST17)。しかる後に、ステップST9に移行する。
ステップST9で、この行イメージが空白イメージの場合には、カウンタ26はこの行イメージを空白行数にカウントする(ステップST13)。すなわち、ステップST17からステップST9に移行してきた場合には、「下節約」の印刷モードなので、カウンタ26は常に空白イメージの行イメージをカウントする。しかる後に、この行イメージが最後の行番号の行イメージでない場合には(ステップST7)、次の行イメージに対する判定に移る。
ステップST9で、この行イメージが空白イメージではない場合には、この行イメージの行番号を下端側行番号として記憶保持する(ステップST10)。また、空白行数が0か否かを確認し(ステップST11)、空白行数が0でなければ空白行数分の空白イメージをロール紙プリンタ6に送信して印刷を行わせ(ステップST14)、この空白行数をリセットする(ステップST15)。しかる後に、この行イメージをロール紙プリンタ6に送信して印刷を行わせる(ステップST12)。空白行数が0の場合には、この行イメージだけをロール紙プリンタ6に送信して印刷を行わせる(ステップST12)。ここで、ステップST16からステップST9に移行してきた場合には、「下節約」の印刷モードなので、これらステップST10、ST11、ST12、ST14、ST15の動作は第3出力手段28によって処理される。しかる後に、この行イメージが最後の行番号の行イメージでない場合には(ステップST8)、次の行イメージに対する判定に移る。
図7に示すように、第1のページの例では、行番号0、1の各行イメージに対する処理動作において、空白行数がカウントされる。この結果、空白行数は2になる。行番号3〜5の各行イメージに対する処理動作において、下端側行番号は逐次に更新されて5になり、各行イメージはロール紙プリンタ6に送信されて印刷される。ここで、行番号3に対する印刷処理の際には、カウントされた空白行数の2行分の空白イメージが印刷される。次に、行番号6〜11の各行イメージに対する処理動作において空白行数がカウントされる。この結果、空白行数は6になる。行番号12〜16の各行イメージに対する処理動作において、下端側行番号は逐次に更新されて16になり、各行イメージはロール紙プリンタ6に送信されて印刷される。ここで、行番号12の行イメージに対する処理動作の際には、カウントされた空白行数の6行分の空白イメージが印刷される。なお、行番号16の行イメージに対する処理動作の後に、行番号17の空白イメージの行イメージ存在しており、カウンタ26は空白行数を1カウントするが、その後に、空白イメージではないと判断される行イメージがないので、この空白行数は無視される。すなわち、行番号18の空白の行イメージは印刷されない。
第2のページの例では、行番号0〜4の各行イメージに対する処理動作において、空白行数がカウントされる。この結果、空白行数は5になる。行番号5〜7の各行イメージに対する処理動作において、下端側行番号は逐次に更新されて7になり、各行イメージはロール紙プリンタ6に送信されて印刷される。ここで、行番号5に対する印刷処理の際には、カウントされた空白行数分の5行分の空白イメージが印刷される。なお、行番号7の行イメージに対する処理動作の後に、行番号8〜17の空白イメージの行イメージ存在しており、カウンタ26はこれらをカウントして空白行数を10とするが、その後に、空白イメージではないと判断される行イメージがないので、これら空白行数分の空白イメージは無視される。すなわち、行番号8〜17の空白の行イメージは印刷されない。
次に、ステップST3で、確認された印刷モードが「節約なし」の場合には、ステップST9に移行する。
ステップST9で、この行イメージが空白イメージの場合には、カウンタ26はこの行イメージを空白行数にカウントする(ステップST13)。すなわち、ステップST4からステップST9に移行してきた場合には、「節約なし」の印刷モードなので、カウンタ26は常に空白イメージの行イメージをカウントする。しかる後に、この行イメージが最後の行番号の行イメージでない場合には(ステップST7)、次の行イメージに対する判定に移る。
ステップST9で、この行イメージが空白イメージではない場合には、この行イメージの行番号を下端側行番号として記憶保持する(ステップST10)。また、空白行数が0か否かを確認し(ステップST11)、空白行数が0でなければ空白行数分の空白イメージをロール紙プリンタ6に送信して印刷を行わせ(ステップST14)、この空白行数をリセットする(ステップST15)。しかる後に、この行イメージをロール紙プリンタ6に送信して印刷を行わせる(ステップST12)。空白行数が0の場合には、この行イメージだけをロール紙プリンタ6に送信して印刷を行わせる(ステップST12)。ここで、ステップST4からステップST9に移行してきた場合には、「節約なし」の印刷モードなので、これらステップST10、ST11、ST12、ST14、ST15の動作は第3出力手段28により処理される。しかる後に、この行イメージが最後の行番号の行イメージでない場合には(ステップST7)、次の行イメージに対する判定に移る。
図8に示すように、第1のページの例では、行番号0、1の各行イメージに対する処理動作において、空白行数がカウントされる。この結果、空白行数は2になる。行番号3〜5の各行イメージに対する処理動作において、下端側行番号は逐次に更新されて5になり、各行イメージはロール紙プリンタ6に送信されて印刷される。ここで、行番号3に対する印刷処理の際には、カウントされた空白行数の2行分の空白イメージが印刷される。次に、行番号6〜11の各行イメージに対する処理動作において空白行数がカウントされる。この結果、空白行数は6になる。行番号12〜16の各行イメージに対する処理動作において、下端側行番号は逐次に更新されて16になり、各行イメージはロール紙プリンタ6に送信されて印刷される。ここで、行番号12の行イメージに対する処理動作の際には、カウントされた空白行数の6行分の空白イメージが印刷される。なお、行番号16の行イメージに対する処理動作の後に、行番号17の空白イメージの行イメージ存在しており、カウンタ26は空白行数を1カウントするが、その後に、空白イメージではないと判断される行イメージがないので、この空白行数は無視される。すなわち、行番号18の空白の行イメージは印刷されない。
第2のページの例では、行番号0〜4の各行イメージに対する処理動作において、空白行数がカウントされる。この結果、空白行数は5になる。行番号5〜7の各行イメージに対する処理動作において、下端側行番号は逐次に更新されて7になり、各行イメージはロール紙プリンタ6に送信されて印刷される。ここで、行番号5に対する印刷処理の際には、カウントされた空白行数分の5行分の空白イメージが印刷される。なお、行番号7の行イメージに対する処理動作の後に、行番号8〜17の空白イメージの行イメージ存在しており、カウンタ26はこれらをカウントして空白行数を10とするが、その後に、空白イメージではないと判断される行イメージがないので、これら空白行数分の空白イメージは無視される。すなわち、行番号8〜17の空白の行イメージは印刷されない。
次に、図5に示すように、全ての行イメージに対する判定が行われ、最後の行番号の行イメージに対する判定結果に基づいた処理動作が終了すると(ステップST7)、ステップST17に移行して、再び印刷モードを確認する。
ステップST17において、「上下節約」および「下節約」の印刷モードの場合には、記録紙搬送手段29は、上端側行番号および下端側行番号に基づいてロール紙プリンタ6に印刷を行わせた行イメージの行数を算出する(ステップST18)。また、この行数と各行イメージを印刷するのに必要な搬送方向Aの用紙寸法とを乗じることにより上端側行番号から下端側行番号までの各行イメージの印刷に費やされた記録紙11の用紙長を算出し(ステップST19)、ロール紙プリンタ6が用紙長と一致する相対移動距離を取得するまで記録紙11を搬送する(ステップST20)。
「上下節約」の印刷モードの場合には、図6に示すように、第1のページの例では、下端側行番号の16から上端側行番号2を差し引いた値に1を加えることにより、行数として15が算出される。また、15行数分だけ行イメージを印刷するのに消費された用紙長が算出される。従って、記録紙搬送手段29が、ロール紙プリンタ6が用紙長と一致する相対移動距離を取得するまで記録紙11を搬送すると、印刷開始位置にあった印刷ヘッド10(1)は、印刷開始位置から印刷に費やされた15行分の用紙長だけ離れた位置に相対移動し、印刷ヘッド10(2)として示されるように、下端側行番号の16の行イメージの印刷結果に対して搬送方向Aに隣接する位置に配置される。また、この位置が次の1ページの印刷データの印刷開始位置になる。
第2のページの例では、下端側行番号の7から上端側行番号5を差し引いた値に1を加えることにより、行数として3が算出される。また、3行数分だけ行イメージを印刷するのに消費された用紙長が算出される。従って、記録紙搬送手段29が、ロール紙プリンタ6が用紙長と一致する相対移動距離を取得するまで記録紙11を搬送すると、印刷開始位置にあった印刷ヘッド10(1)は印刷開始位置から印刷に費やされた3行分の用紙長だけ離れた位置に相対移動して、印刷ヘッド10(2)として示されるように下端側行番号の7の行イメージの印刷結果に対して搬送方向Aに隣接する位置に配置される。また、この位置が次の1ページの印刷データの印刷開始位置になる。
「下節約」の印刷モードの場合には、図7に示すように、第1ページの例では、下端側行番号の16から上端側行番号0を差し引いた値に1を加えることにより、行数として17が算出される。また、17行数分だけ行イメージを印刷するのに消費された用紙長が算出される。従って、記録紙搬送手段29が、ロール紙プリンタ6が用紙長と一致する相対移動距離を取得するまで記録紙11を搬送すると、印刷開始位置にあった印刷ヘッド10(1)は、印刷開始位置から印刷に費やされた17行分の用紙長だけ離れた位置に相対移動し、印刷ヘッド10(2)として示されるように下端側行番号の16の行イメージの印刷結果に対して搬送方向Aに隣接する位置に配置される。また、この位置が次の1ページの印刷データの印刷開始位置になる。
第2のページの例では、下端側行番号の7から上端側行番号0を差し引いた値に1を加えることにより、行数として8が算出される。また、8行数分だけ行イメージを印刷するのに消費された用紙長が算出される。従って、記録紙搬送手段29が、ロール紙プリンタ6が用紙長と一致する相対移動距離を取得するまで記録紙11を搬送すると、印刷開始位置にあった印刷ヘッド10(1)は、印刷開始位置から印刷に費やされた8行分の用紙長だけ離れた位置に相対移動して、印刷ヘッド10(2)として示されるように下端側行番号の7の行イメージの印刷結果に対して搬送方向Aに隣接する位置に配置される。また、この位置が次の1ページの印刷データの印刷開始位置になる。
次に、ステップST17において、確認された印刷モードが「節約なし」の場合には、行数および用紙長は算出されず、ステップST20で、ロール紙プリンタ6が1ページの用紙長と一致する相対移動距離を取得するまで記録紙11が搬送される。ここで、1ページの用紙長とは、印刷データの印刷が行われる前に操作者が各種設定入力手段21を介して用紙レイアウトを設定したときにプリンタドライバ9が取得している値であり、18行数分だけ行イメージを印刷するのに必要な用紙長である。
従って、図8に示すように、第1および第2のページの例では、記録紙搬送手段29が、ロール紙プリンタ6が1ページの用紙長と一致する相対移動距離を取得するまで記録紙11を搬送すると、印刷開始位置にあった印刷ヘッド10(1)は印刷開始位置から1ページの用紙長だけ相対移動して、印刷ヘッド10(2)として示されるように最後の行番号の17の行イメージの印刷結果に対して搬送方向Aに隣接する位置に配置される。
すなわち、下端側行番号の行イメージの下端側に空白イメージの行イメージが存在している場合には、下端側行番号の行イメージの印刷位置から空白イメージの行数分だけ離れた位置に印刷ヘッドが配置され、この位置が次の1ページの印刷データの印刷開始位置になる。従って、下端側空白領域が取り除かれてしまうことがない。
なお、1ページ分の印刷データの印刷動作は、印刷データに含まれている1ページ分の印刷データがなくなるまで繰り返される。
(本形態の効果)
本例によれば、行イメージ生成手段22は1ページ分の印刷データの印刷イメージを複数の行イメージに等分し、各行イメージには行番号を付与する。また、判定手段23は各行イメージが空白からなる空白イメージか否かを行番号に従って最初から最後まで逐次に判定する。そして、行イメージが空白イメージではないと判定された場合に、下端側行番号が記憶保持されていないときには、第1出力手段25は、上端側行番号および下端側行番号を記憶保持した後にこの行イメージをロール紙プリンタ6に送信して印刷させる。この結果、空白ではないと最初に判定された行イメージの行番号を上端側行番号として記憶保持することができる。
本例によれば、行イメージ生成手段22は1ページ分の印刷データの印刷イメージを複数の行イメージに等分し、各行イメージには行番号を付与する。また、判定手段23は各行イメージが空白からなる空白イメージか否かを行番号に従って最初から最後まで逐次に判定する。そして、行イメージが空白イメージではないと判定された場合に、下端側行番号が記憶保持されていないときには、第1出力手段25は、上端側行番号および下端側行番号を記憶保持した後にこの行イメージをロール紙プリンタ6に送信して印刷させる。この結果、空白ではないと最初に判定された行イメージの行番号を上端側行番号として記憶保持することができる。
また、カウンタ26は、下端側行番号が記憶保持されているときに空白イメージの行イメージをカウントするので、空白イメージではないと最初に判定された行イメージよりも上端側にある空白イメージの行イメージはカウントされずに無視される。この結果、この行イメージよりも上端側に位置している空白イメージの行イメージは印刷されないので、印刷イメージの上端側の空白領域である上端側空白領域を取り除くことができる。また、下端側行番号が記憶保持された後には空白イメージの行イメージはカウントされ、その後に行イメージが空白イメージではないと判定されたときに、第2出力手段27は、空白行数が0でなければ空白行数分の空白イメージをまとめて印刷し、しかる後に、空白ではないと判定された行イメージを印刷する。この結果、空白イメージと判定された行イメージよりも下端側に空白イメージではない行イメージが存在するときには、空白イメージの行イメージは無視されることなく印刷される。従って、上端側空白領域および下端側の空白領域である下端側空白領域の間に挟まれている中間領域の内側にある帯状の空白領域が取り除かれてしまうことがない。また、空白イメージと判定された行イメージよりも下端側に空白イメージではない行イメージが存在しないときには、空白イメージの行イメージは空白行数としてカウントされるだけで印刷されない。従って、印刷イメージの下端側に含まれている下端側空白領域を取り除くことができる。
さらに、下端側行番号が記憶保持された後に、行イメージが空白イメージではないと判定された場合には、下端側行番号は第2出力手段27によって空白イメージではないと判定された行イメージの行番号で更新されていく。従って、全ての行イメージに対する判定が終了すると、空白イメージではない上端の行イメージの行番号と、空白イメージではない下端の行イメージの行番号がそれぞれ上端側行番号および下端側行番号として記憶保持されている。この結果、上端側行番号および下端側行番号に基づいてロール紙プリンタ6に印刷させた行イメージの行数を算出することができるので、この行数と各行イメージを印刷するのに必要な記録紙11の搬送方向Aの用紙寸法とを乗じることにより上端側行番号から下端側行番号までの各行イメージの印刷に費やされた記録紙11の用紙長を算出できる。よって、最後の行イメージに対する処理動作が終了した後に、記録紙11搬送手段29が、ロール紙プリンタ6が用紙長と一致する相対移動距離を取得するまで記録紙11を搬送すれば、印刷ヘッド10は印刷された下端側行番号の行イメージに対して搬送方向Aに隣接する位置に配置され、この位置が次の1ページの印刷データの印刷開始位置になる。従って、各ページの中間領域の下端部分が印刷される際に印刷ヘッド10の印刷幅の下端部分まで用いられていたか、或いは、印刷ヘッド10の印刷幅方向の一部分だけが用いられていたかに拘わらず、次の領域印刷データの印刷を中間領域に隣接する位置から開始することができる。また、各ページの印刷データの印刷イメージから上端側空白領域および下端側空白領域を取り除くことによりこれらの間に挟まれている中間領域が連続して印刷される場合に、印刷される各ページの中間領域の間に帯状の空白領域が形成されることがない。
また、各行イメージの印刷処理を逐次に行う過程で上端側行番号および下端側行番号を取得して、上端側行番号から下端側行番号までの各行イメージの印刷に費やされる記録紙11の用紙長を算出することができるので、1ページ分の印刷データの印刷イメージをメモリに2次元展開しているときに上端側行番号および下端側行番号を特定して用紙長を算出するよりも、印刷動作のスループットが向上する。
また、本例によれば、操作者の選択によって、下端側空白領域だけを除去して印刷したり、通常の印刷を行ったりすることができるので、印刷データに含まれている印刷内容や、印刷の目的に即した印刷をすることができる。
(その他の実施の形態)
上記の3つの印刷モードに加えて、上端側空白領域だけを取り除いて印刷する「上節約」の印刷モードを追加することもできる。
上記の3つの印刷モードに加えて、上端側空白領域だけを取り除いて印刷する「上節約」の印刷モードを追加することもできる。
この場合には、除去領域設定手段31は、印刷イメージの上端側および下端側に含まれている帯状の空白領域を取り除いて印刷するか、印刷イメージの上端側に含まれている帯状の空白領域である上端側空白領域だけを取り除いて印刷するか、を予め操作者に設定させる。また、各行イメージの判定結果に基づく処理動作は、「上下節約」の印刷モードに設定されている場合と同様に、第1出力手段25、カウンタ26、第2出力手段27によって行なわせる。そして、記録紙搬送手段29は、上端側空白領域だけを取り除いて印刷することが設定されている場合には、下端側行番号に替えて最後の行番号を用いて行数を算出するようにする。
図9は「上節約」の印刷モードの場合に、各行イメージに対してどのような処理が行われたかを示す説明図である。図9に示すように、第1のページの例では、最後の行番号の17から上端側行番号2を差し引いた値に1を加えることにより、行数として16が算出される。また、16行数分だけ行イメージを印刷するのに消費された用紙長が算出される。従って、記録紙搬送手段29が、ロール紙プリンタ6が用紙長と一致する相対移動距離を取得するまで記録紙11を搬送すると、印刷開始位置にあった印刷ヘッド10(1)は印刷開始位置から印刷に費やされた16行分の用紙長だけ相対移動して、印刷ヘッド10(2)として示されるように最後の行番号の17の行イメージの印刷結果に対して搬送方向Aに隣接する位置に配置される。すなわち、下端側行番号の16の行イメージの下端側に空白イメージの行イメージが1行存在している場合には、下端側行番号の行イメージの印刷位置から1行分だけ離れた位置に印刷ヘッド10が配置され、この位置が次の1ページの印刷データの印刷開始位置になる。従って、下端側空白領域が取り除かれてしまうことがない。
第2のページの例でも、最後の行番号の17から上端側行番号5を差し引いた値に1を加えることにより、行数として13が算出される。また、13行数分だけ行イメージを印刷するのに消費された用紙長が算出される。従って、記録紙搬送手段29が、ロール紙プリンタ6が用紙長と一致する相対移動距離を取得するまで記録紙11を搬送すると、印刷開始位置にあった印刷ヘッド10(1)は印刷開始位置から印刷に費やされた13行分の用紙長だけ相対移動して、印刷ヘッド10(2)として示されるように最後の行番号の17の行イメージの印刷結果に対して搬送方向Aに隣接する位置に配置される。すなわち、下端側行番号の7の行イメージの下端側に空白イメージの行イメージが10行存在している場合には、下端側行番号の行イメージの印刷位置から10行分だけ離れた位置に印刷ヘッド10が配置され、この位置が次の1ページの印刷データの印刷開始位置になる。従って、下端側空白領域が取り除かれてしまうことがない。
なお、設定されている印刷モードが「節約なし」の場合には、行数および用紙長は算出されないので、第3印刷手段は下端側行番号を記憶保持しなくてもよい。
また、本発明を適用できるプリンタはロール紙プリンタ6に限られるものではなく、単票を印刷するプリンタに適用することもできる。
1・印刷システム、2・ディスプレイ、3・キーボード、4・マウス、5・コンピュータ、6・ロール紙プリンタ、7・オペレーティングシステム、8・アプリケーションプログラム、9・プリンタドライバ、10・印刷ヘッド、11・記録紙、12・ロール紙、13・筐体、14・記録紙排出口、21・各種設定入力手段、22・行イメージ生成手段、23・判定手段、24・上端側行番号記憶保持手段、25・第1出力手段、26・カウンタ、27・第2出力手段、28・第3出力手段、29・記録紙搬送手段、31・除去領域設定手段、32,33・プルダウンメニュー、A・搬送方向、B1,B2・印刷イメージ、Q・印刷幅、P・印刷ヘッドの印刷に使用された一部分、R・印刷ヘッドの印刷に使用されなかった一部分
Claims (10)
- 1ページ分の印刷データを印刷する間に記録紙の搬送方向における当該記録紙と印刷ヘッドの相対移動距離を取得しているシリアルプリンタを駆動制御して、前記1ページ分の印刷データの印刷イメージから上端側および下端側に含まれている帯状の空白領域を取り除いて印刷するプリンタドライバにおいて、
前記1ページ分の印刷データをメモリに2次元展開して前記印刷イメージを生成するとともに、前記印刷イメージを前記搬送方向に対応する上下方向と直交する複数の行イメージに等分し、各行イメージに上から行番号を付与する行イメージ生成手段と、
各行イメージが空白からなる空白イメージか否かを前記行番号に従って最初から最後まで逐次に判定する判定手段と、
前記行イメージが前記空白イメージではないと判定された場合に、下端側行番号が記憶保持されていなければ、前記行イメージの行番号を上端側行番号および前記下端側行番号として記憶保持し、前記行イメージを前記シリアルプリンタに送信して印刷を行わせる第1出力手段と、
前記行イメージが前記空白イメージであると判定された場合に、前記下端側行番号が記憶保持されていれば、空白行数としてカウントするカウンタと、
前記行イメージが前記空白イメージではないと判定された場合に、前記下端側行番号が記憶保持されていれば、前記行イメージの行番号を前記下端側行番号として記憶保持し、前記空白行数分の前記空白イメージを前記シリアルプリンタに送信して印刷を行わせた後に当該空白行数をリセットし、しかる後に、前記行イメージを前記シリアルプリンタに送信して印刷を行わせる第2出力手段と、
最後の前記行イメージの判定結果に基づく処理動作が終了すると、前記上端側行番号および前記下端側行番号に基づいて前記シリアルプリンタに印刷を行わせた前記行イメージの行数を算出し、前記行数と各行イメージを印刷するのに必要な前記記録紙の前記搬送方向の用紙寸法とを乗じることにより前記上端側行番号から前記下端側行番号までの各行イメージの印刷に費やされた前記記録紙の用紙長を算出し、前記シリアルプリンタが前記用紙長と一致する前記相対移動距離を取得するまで前記記録紙を搬送する記録紙搬送手段とを有することを特徴とするプリンタドライバ。 - 請求項1に記載されているプリンタドライバにおいて、
前記印刷イメージの上端側および下端側に含まれている帯状の空白領域を取り除いて印刷するか、前記印刷イメージの下端側に含まれている帯状の空白領域である下端側空白領域だけを取り除いて印刷するか、を予め操作者に設定させる除去領域設定手段と、
前記下端側空白領域だけを取り除いて印刷することが設定されている場合には、前記判定手段が判定を行うと最初の前記行番号を前記上端側行番号として記憶保持する上端側行番号記憶保持手段と、
前記下端側空白領域だけを取り除いて印刷することが設定されている場合には、前記第1出力手段および前記第2出力手段に替えて、前記行イメージが前記空白イメージではないと判定されたときに、前記行イメージの行番号を前記下端側行番号として記憶保持し、前記空白行数分の前記空白イメージを前記シリアルプリンタに送信して印刷を行わせた後に当該空白行数をリセットし、しかる後に、前記行イメージを前記シリアルプリンタに送信して印刷を行わせる第3出力手段とを有し、
前記カウンタは、前記下端側空白領域だけを取り除いて印刷することが設定されている場合には、前記行イメージが前記空白イメージではないと判定されたときに、常に、前記空白行数をカウントすることを特徴とするプリンタドライバ。 - 請求項1に記載されているプリンタドライバにおいて、
前記印刷イメージの上端側および下端側に含まれている帯状の空白領域を取り除いて印刷するか、前記印刷イメージの上端側に含まれている帯状の空白領域である上端側空白領域だけを取り除いて印刷するか、を予め操作者に設定させる除去領域設定手段を有しており、
前記記録紙搬送手段は、前記上端側空白領域だけを取り除いて印刷することが設定されている場合には、前記下端側行番号に替えて最後の前記行番号を用いて前記行数を算出することを特徴とするプリンタドライバ。 - 請求項1に記載されているプリンタドライバにおいて、
前記印刷イメージの上端側および下端側に含まれている帯状の空白領域を取り除いて印刷するか、前記印刷イメージの上端側および下端側に含まれている帯状の空白領域のいずれも取り除かずに通常の印刷を行うか、を予め操作者に設定させる除去領域設定手段と、
通常の印刷を行うことが設定されている場合には、前記第1出力手段および前記第2出力手段に替えて、前記行イメージが前記空白イメージではないと判定されたときに、前記空白行数分の前記空白イメージを前記シリアルプリンタに送信して印刷を行わせた後に当該空白行数をリセットし、前記行イメージを前記シリアルプリンタに送信して印刷を行わせる第3出力手段とを有し、
前記カウンタは、通常の印刷を行うことが設定されている場合には、前記行イメージが前記空白イメージではないと判定されたときに、常に、前記空白行数をカウントし、
前記記録紙搬送手段は、前記通常の印刷を行うことが設定されている場合には、前記シリアルプリンタが前記1ページの用紙長と一致する前記相対移動距離を取得するまで前記記録紙を搬送することを特徴とするプリンタドライバ。 - 請求項1ないし4のうちのいずれかの項に記載のプリンタドライバにおいて、
前記シリアルプリンタはロール紙から繰り出されている長尺状の前記記録紙に印刷を行うロール紙プリンタであることを特徴とするプリンタドライバ。 - 1ページ分の印刷データを印刷する間に記録紙の搬送方向における当該記録紙と印刷ヘッドの相対移動距離を取得しているシリアルプリンタを駆動制御して、前記1ページ分の印刷データの印刷イメージから上端側および下端側に含まれている帯状の空白領域を取り除いて印刷する印刷データの印刷方法において、
前記1ページ分の印刷データをメモリに2次元展開して前記印刷イメージを生成するとともに、前記印刷イメージを前記搬送方向に対応する上下方向と直交する複数の行イメージに等分し、各行イメージに上から行番号を付与する行イメージ生成工程と、
各行イメージが空白からなる空白イメージか否かを前記行番号に従って最初から最後まで逐次に判定する判定工程と、
前記行イメージが前記空白イメージではないと判定された場合に、下端側行番号が記憶保持されていなければ、前記行イメージの行番号を上端側行番号および前記下端側行番号として記憶保持し、前記行イメージを前記シリアルプリンタに送信して印刷を行わせる第1出力工程と、
前記行イメージが前記空白イメージであると判定された場合に、前記下端側行番号が記憶保持されていれば、空白行数としてカウントするカウント工程と、
前記行イメージが前記空白イメージではないと判定された場合に、前記下端側行番号が記憶保持されていれば、前記行イメージの行番号を前記下端側行番号として記憶保持し、前記空白行数分の前記空白イメージを前記シリアルプリンタに送信して印刷を行わせた後に当該空白行数をリセットし、しかる後に、前記行イメージを前記シリアルプリンタに送信して印刷を行わせる第2出力工程と、
最後の前記行イメージの判定結果に基づく処理が終了すると、前記上端側行番号および前記下端側行番号に基づいて前記シリアルプリンタに印刷を行わせた前記行イメージの行数を算出し、前記行数と各行イメージを印刷するのに必要な前記記録紙の前記搬送方向の用紙寸法とを乗じることにより前記上端側行番号から前記下端側行番号までの各行イメージの印刷に費やされた前記記録紙の用紙長を算出し、前記シリアルプリンタが前記用紙長と一致する前記相対移動距離を取得するまで前記記録紙を搬送する記録紙搬送工程とを有することを特徴とする印刷データの印刷方法。 - 請求項6に記載されている印刷データの印刷方法において、
前記印刷イメージの上端側および下端側に含まれている帯状の空白領域を取り除いて印刷するか、前記印刷イメージの下端側に含まれている帯状の空白領域である下端側空白領域だけを取り除いて印刷するか、を予め操作者に設定させる除去領域設定工程と、
前記下端側空白領域だけを取り除いて印刷することが設定されている場合には、前記判定工程に続いて最初の前記行番号を前記上端側行番号として記憶保持する上端側行番号記憶保持手段と、
前記下端側空白領域だけを取り除いて印刷することが設定されている場合には、前記第1出力工程および前記第2出力工程に替えて、前記行イメージが前記空白イメージではないと判定されたときに、前記行イメージの行番号を前記下端側行番号として記憶保持し、前記空白行数分の前記空白イメージを前記シリアルプリンタに送信して印刷を行わせた後に当該空白行数をリセットし、しかる後に、前記行イメージを前記シリアルプリンタに送信して印刷を行わせる第3出力工程とを含んでおり、
前記カウント工程では、前記下端側空白領域だけを取り除いて印刷することが設定されている場合には、前記行イメージが前記空白イメージではないと判定されたときに、常に、前記空白行数をカウントすることを特徴とする印刷データの印刷方法。 - 請求項6に記載されている印刷データの印刷方法において、
前記印刷イメージの上端側および下端側に含まれている帯状の空白領域を取り除いて印刷するか、前記印刷イメージの上端側に含まれている帯状の空白領域である上端側空白領域だけを取り除いて印刷するか、を予め操作者に設定させる除去領域設定工程を含んでおり、
前記記録紙搬送工程では、前記上端側空白領域だけを取り除いて印刷することが設定されている場合には、前記下端側行番号に替えて最後の前記行番号を用いて前記行数を算出することを特徴とする印刷データの印刷方法。 - 請求項6に記載されている印刷データの印刷方法において、
前記印刷イメージの上端側および下端側に含まれている帯状の空白領域を取り除いて印刷するか、前記印刷イメージの上端側および下端側に含まれている帯状の空白領域のいずれも取り除かずに通常の印刷を行うか、を予め操作者に設定させる除去領域設定工程と、
通常の印刷を行うことが設定されている場合には、前記第1出力工程および前記第2出力工程に替えて、前記行イメージが前記空白イメージではないと判定されたときに、前記空白行数分の前記空白イメージを前記シリアルプリンタに送信して印刷を行わせた後に当該空白行数をリセットし、前記行イメージを前記シリアルプリンタに送信して印刷を行わせる第3出力工程とを含んでおり、
前記カウント工程では、通常の印刷を行うことが設定されている場合には、前記行イメージが前記空白イメージではないと判定されたときに、常に、前記空白行数をカウントし、
前記記録紙搬送工程では、前記通常の印刷を行うことが設定されている場合には、前記シリアルプリンタが前記1ページの用紙長と一致する前記相対移動距離を取得するまで前記記録紙を搬送することを特徴とする印刷データの印刷方法。 - 請求項6ないし9のうちのいずれかの項に記載の印刷データの印刷方法において、
前記シリアルプリンタはロール紙から繰り出されている長尺状の前記記録紙に印刷を行うロール紙プリンタであることを特徴とする印刷データの印刷方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008150172A JP2009295070A (ja) | 2008-06-09 | 2008-06-09 | プリンタドライバおよび印刷データの印刷方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008150172A JP2009295070A (ja) | 2008-06-09 | 2008-06-09 | プリンタドライバおよび印刷データの印刷方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009295070A true JP2009295070A (ja) | 2009-12-17 |
Family
ID=41543172
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008150172A Withdrawn JP2009295070A (ja) | 2008-06-09 | 2008-06-09 | プリンタドライバおよび印刷データの印刷方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009295070A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012055329A1 (zh) * | 2010-10-25 | 2012-05-03 | 山东新北洋信息技术股份有限公司 | 打印控制方法和装置、打印装置 |
US11243721B2 (en) | 2020-02-14 | 2022-02-08 | Brother Kogyo Kabushiki Kaisha | Non-transitory storage medium storing plurality of instructions readable by computer of information processing apparatus and information processing apparatus |
US11281414B2 (en) | 2020-03-04 | 2022-03-22 | Brother Kogyo Kabushiki Kaisha | Non-transitory storage medium storing plurality of instructions readable by computer of information processing apparatus and information processing apparatus |
-
2008
- 2008-06-09 JP JP2008150172A patent/JP2009295070A/ja not_active Withdrawn
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012055329A1 (zh) * | 2010-10-25 | 2012-05-03 | 山东新北洋信息技术股份有限公司 | 打印控制方法和装置、打印装置 |
CN102452233A (zh) * | 2010-10-25 | 2012-05-16 | 山东新北洋信息技术股份有限公司 | 打印控制方法和装置、打印装置 |
US8964225B2 (en) | 2010-10-25 | 2015-02-24 | Shandong New Beiyang Information Technology Co., Ltd. | Printing control method, printing control device and printing device with printing data printed according to height of another blank space |
US11243721B2 (en) | 2020-02-14 | 2022-02-08 | Brother Kogyo Kabushiki Kaisha | Non-transitory storage medium storing plurality of instructions readable by computer of information processing apparatus and information processing apparatus |
US11281414B2 (en) | 2020-03-04 | 2022-03-22 | Brother Kogyo Kabushiki Kaisha | Non-transitory storage medium storing plurality of instructions readable by computer of information processing apparatus and information processing apparatus |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5120043B2 (ja) | プリンタドライバおよび印刷データの印刷方法 | |
JP2011224830A (ja) | プリント装置、印刷方法及びプログラム | |
JP2009203074A (ja) | 画像形成装置、媒体供給方法、及び、コンピュータプログラム | |
JP2009295070A (ja) | プリンタドライバおよび印刷データの印刷方法 | |
JP2020116898A (ja) | 画像形成装置および画像形成方法 | |
JP2010277336A (ja) | 印刷制御装置、印刷制御方法、コンピュータプログラム | |
JP2013223976A (ja) | データ編集装置およびプログラム | |
JP6385111B2 (ja) | 処理装置及びその方法、プログラム | |
JP4957340B2 (ja) | 画像形成制御装置、画像形成システム、及びプログラム | |
JP2007136950A (ja) | 印刷装置とその制御方法並びに記憶媒体 | |
JP6459469B2 (ja) | 画像形成装置及び画像形成システム並びに画像形成制御プログラム | |
KR20080021439A (ko) | 여백 없는 프린팅이 가능한 화상형성장치 및 화상형성방법 | |
JP2007149035A (ja) | 画像形成装置 | |
JP5917073B2 (ja) | 印刷装置および印刷制御方法 | |
JP2011201213A (ja) | 印刷装置および印刷装置の制御方法並びにプログラム | |
JP2006289717A (ja) | 印字装置 | |
JP2008077158A (ja) | プリンタ・ドライバ・プログラム | |
JP6729130B2 (ja) | 画像形成装置及び画像形成システム並びに画像形成制御プログラム | |
JP4268546B2 (ja) | カット紙印刷制御装置 | |
JP2007301893A (ja) | 画像形成装置 | |
JP6445944B2 (ja) | 画像形成装置及び画像形成システム | |
JP2020052500A (ja) | 印刷制御装置及びプログラム | |
JP6425473B2 (ja) | 印刷装置、印刷方法、及びプログラム | |
JP2023107313A (ja) | 画像記録装置、画像記録システム及び画像記録プログラム | |
JP2002215343A (ja) | 画像形成システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20110906 |