説明

プリンタ、プリンタの制御方法及び動作制御プログラム

【課題】ホストコンピュータに搭載されるアプリケーションプログラムやプリンタドライバを変更せずとも、用紙幅が小さな用紙に、印字体裁を保った視認性の良い印刷を実施する。
【解決手段】ホストコンピュータから送信された印刷データに基づき印刷するプリンタの制御方法であって、印刷データに含まれるデータ属性を抽出し、印刷データをデータ属性毎に分割データ領域を割り当てるステップS105と、データ属性に応じて分割データ領域を所定の印刷範囲に設定するステップと、分割データ領域に割り当てられた印刷データを、データ属性に応じた実印刷データに生成する実印刷データ生成ステップ(ステップS122,ステップS107,ステップS133,ステップS134,ステップS111)と、実印刷データを印刷範囲に印刷する印刷実行ステップS113とを有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ホストコンピュータから送信された印刷データに基づき印刷処理を実行するプリンタ、プリンタの制御方法及び動作制御プログラムに関する。
【背景技術】
【0002】
近年、各種の販売店では、レジ打ち作業を軽減するとともに、仕入・棚卸と販売実績を結びつけた在庫管理・発注管理の精度向上を計ることを目的として、POSシステムを導入している店舗が多くなっている。
このPOSシステムでは、例えば、販売店の会計場所に設置されているPOS用のレジスター(POS端末)に、顧客が購入する商品に付与されているバーコードを読み取らせると、その商品の販売情報(商品名、数量、販売金額、販売合計金額、販売時刻など)が記録される一方で、その商品の販売金額等を記載したレシートが発行されるようになっている。
【0003】
通常、POS端末が読み取った商品の販売情報は、POS端末からホストコンピュータに通知され、ホストコンピュータ側で分析されて、在庫管理・発注管理等に利用される。
また、POSシステムでは、POS端末から商品の販売情報を受けたホストコンピュータが、その販売情報を所定の印刷用紙幅に収まるように配置したレシート印刷データを生成し、生成したレシート印刷データをプリンタに出力することで、レシートの発行を行う。
ホストコンピュータには、POS端末から受けた商品の販売情報に基づいて販売情報に含まれる各種のデータの配置を指定したレシート印刷データを生成するレシート印刷用のアプリケーションプログラムと、このアプリケーションプログラムが生成したレシート印刷データをプリンタに出力するプリンタドライバとが、搭載されている。
【0004】
また、レシート印刷データには、通常、販売店舗名、店舗の連絡先、販売日時、販売した商品名、販売数量、商品毎の販売金額、販売合計金額、店舗の広告用の文章などのデータが含まれる。レシート印刷データを生成するアプリケーションプログラムは、レシート印刷データを構成する各種データを、データ種毎に体裁を整えて配置設定をする。
【0005】
近年では、印刷用紙の節約を目的として、ホストコンピュータに搭載されるアプリケーションプログラムやプリンタドライバを改良して、例えば印刷する文字のフォントサイズを縮小することにより、印刷幅を短縮した縮小印刷データを生成して、より小さな用紙幅の印刷用紙への印刷を実現する技術が各種提案されている(下記特許文献1〜5参照)。
【0006】
【特許文献1】特開平05−24301号公報
【特許文献2】特開平08−132703号公報
【特許文献3】特開平09−286143号公報
【特許文献4】特開2004−42406号公報
【特許文献5】特開2006−48520号公報
【発明の開示】
【発明が解決しようとする課題】
【0007】
従来のPOSシステムで使用されるプリンタは、収容する用紙幅が固定である場合が多い。このため、用紙の節約等のためにレシート用紙を用紙幅が小さなものに変更するには、プリンタ自体を、その用紙幅に対応するプリンタに置き換える必要がある。そして、プリンタを置き換えた場合には、変更された用紙幅に対応したレシート印刷データをホストコンピュータがプリンタに出力できるように、ホストコンピュータ側に搭載するアプリケーションプログラムやプリンタドライバの変更を行う必要がある。このため、ホストコンピュータへの新しいプログラムの導入等の保守作業に手間がかかる場合がある。
【0008】
印刷する文字のフォントサイズを単純に一律に縮小して、変更された用紙幅に収まる縮小印刷データを生成することは、比較的容易に実現できるが、このような対応では、例えば、レシートに印刷される文字サイズが小さくなり過ぎて、レシートに記載される購入商品や購入数量や金額等の各種情報の視認性が低下する虞がある。
【0009】
本発明の目的は上記課題を解決するためになされたものであって、プリンタを小さな用紙幅の機種に変更した場合に、ホストコンピュータに搭載されるアプリケーションプログラムやプリンタドライバを変更せずとも、用紙幅が小さな用紙に、印字体裁を保った視認性の良い印刷を実施でき、小さな用紙幅の用紙の採用による用紙の節約を実現できるプリンタ、プリンタの制御方法及び動作制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【0010】
上記課題を解決することのできる本発明は、ホストコンピュータから送信された印刷データに基づき印刷するプリンタであって、
前記印刷データに含まれるデータ属性を抽出し、前記印刷データを前記データ属性毎に分割データ領域を割り当て、前記データ属性に応じて前記分割データ領域を所定の印刷範囲に設定すると共に、前記分割データ領域に割り当てられた前記印刷データを前記データ属性に応じた実印刷データに生成するデータ展開部と、
前記実印刷データを前記印刷範囲に印刷処理を実行する印刷実行部と、を有することを特徴とする。
【0011】
上記構成によれば、ホストコンピュータから送信された印刷データは、プリンタ側のデータ展開部によって、そのデータ属性毎に、所定の印刷領域に、印刷データを縮小するなど変換して体裁を変えて印刷される。例えばPOSシステム等において、用紙幅の狭い紙に変更した場合やプリンタを小さな用紙幅の機種に変更した場合に、ホストコンピュータに搭載されるアプリケーションプログラムやプリンタドライバを変更せずとも、プリンタ側だけで、用紙幅が小さな用紙に体裁を整えて印刷することができる。この場合、実印刷データとは実際にプリンタのヘッドで印刷するドットに展開したデータである。
したがって、プリンタの導入時に、ホストコンピュータ側のアプリケーションプログラムやプリンタドライバを変更しなければならないという不便を回避でき、プリンタの導入時における取り扱い性を向上させることができる。さらに、用紙やプリンタの変更による小幅の用紙の採用によって、用紙の節約を実現することができる。
【0012】
また、分割データ領域はデータ属性毎に指定されるため、特定のデータ属性に応じて分割データ領域の印刷範囲を変更することができる。したがって、データ属性毎に分割データ領域の印刷範囲を指定し、データ属性に応じた実印刷データを作成すれば、体裁を保った視認性の良い印刷結果を出力することができる。
【0013】
また、本発明のプリンタにおいて、
前記データ展開部は、前記印刷データが所定のデータ属性であるか否かを解析し、
前記所定のデータ属性であると判定した場合は、前記印刷データを前記分割データ領域に割り当て、前記印刷データに含まれる空白データの範囲を変更するか、または前記印刷データの少なくとも一部を省略するか、または印刷サイズを変更するか、または改行量を変更することのいずれかを行うことによって、前記実印刷データを生成することを特徴とする。
【0014】
また、本発明のプリンタにおいて、前記データ展開部は、前記所定のデータ属性であると判定した場合は、前記分割データ領域に割り当てられた前記印刷データを所定の位置で改行して、前記実印刷データを生成することを特徴とする。
【0015】
例えば、印刷データがレシート印刷データである場合、そのデータ中において、販売した商品名、販売数量、商品毎の販売金額等の商品情報は、顧客が購入した商品の内容確認を容易にできるように、なるべく、大きなフォントサイズを使って、視認性に優れた印字体裁にすることが望まれる。上記構成によれば、商品情報を記述した印刷データには、データ属性である商品識別データを含み、ある分割データ領域に割り当てられ、商品識別データ以外のオペレータ名などの印刷データには、通常のデータ属性を含み、別の分割データ領域に分割して割り当てられ、それぞれの分割データ領域毎に印刷範囲を設定する。このため、商品識別データとその他のデータとが連続したデータとなって数量や金額が視認しづらくなることがない。オペレータ名などは縮小しても影響は少ない。
また、商品情報に含まれる空白データを削減することによって、印刷する領域の確保を実現している。このため、空白データを含め全てのフォントサイズを縮小する場合と比較すると、文字サイズが小さくなり過ぎて、内容を確認し難いという不都合が発生しない。また、文字サイズが小さくなり過ぎて、行間等の印字体裁が崩れることも防止できる。
したがって、小幅の用紙に、印字体裁を保った視認性の良い印刷を実施でき、視認性の低下を招くことがない良好な印字体裁の出力結果を提供することができる。
【0016】
一般に、商品識別データは、実データ部分が多く、空白データが少ない傾向にあり、空白データを削減しても,短縮設定された印刷範囲内に収まらない場合が発生する。
そのような場合に、商品識別データの一部を省略表示したり、あるいは元の一行のデータを複数行に亘るように改行を挿入したり、改行量を詰めるなどをするように変換して展開する構成であれば、フォントサイズの縮小を行わずとも、各分割データ領域に割り付けられる印刷データを、視認性の良い印字体裁で、レシートを印刷することができる。
すなわち、文字数が多い商品識別データが有る場合でも、フォントサイズの縮小による視認性の低下を回避して、印字幅が短縮された小幅用紙に、視認性の良い印刷を実施することができる。
【0017】
また、本発明のプリンタにおいて、前記データ属性に応じた前記実印刷データを生成するパターンを記憶するパターン記憶部を有し、
前記データ展開部は、前記分割データ領域に割り当てた前記印刷データの前記属性に適合するパターンを前記パターン記憶部から選択し、前記パターンにしたがって前記実印刷データを生成することを特徴とする。
【0018】
上記構成によれば、印刷データを、あらかじめパターン記憶部に用意したパターンに基づいて照合し展開するので、各印刷データに含まれるデータ属性に基づいた処理を容易行うことができる。すなわち、各分割データ領域への再配置処理や、空白データの削減処理等を正確に、かつ迅速化することができ、小幅用紙への印刷処理の高速化を図ることができる。
【0019】
また、本発明のプリンタにおいて、前記データ展開部は、前記実印刷データが前記印刷範囲に収まるか否かを判定し、
前記実印刷データが収まらないと判定した場合は、前記印刷データに含まれる空白データを所定範囲削減するか、または前記印刷データの少なくとも一部を省略するか、または前記印刷サイズを縮小するか、または前記印刷データを所定の位置で改行するか、または印刷位置を変更して、実印刷データを生成することを特徴とする。
【0020】
印刷データがレシート印刷データである場合、印刷データ中には、例えば店舗の広告文、あるいは販売店舗名などのように、販売した商品情報以外の情報も含まれる。
これらの情報には、例えば、視認性は若干低下しても、すべてのデータを欠落なく掲載することが望ましいものがある。そのような情報に対しては、フォントサイズの縮小等により行データ全体を均一に縮小するなどにより、予め設定した縮小幅に適合させるため、記載が必要なデータの欠落を防止することができる。また、省略してもよい場合は省略する。
前記データ属性は、所定のコードであることを特徴とする。フォントサイズや色、罫線などフォントを修飾するコードや、「合計」など漢字を示すJISコードや、「TOTAL」など特定の文字を示すアスキーコードなどのコードでもよい。
【0021】
また、上記課題を解決することのできる本発明は、ホストコンピュータから送信された印刷データに基づき印刷するプリンタの制御方法であって、
前記印刷データに含まれるデータ属性を抽出し、前記印刷データを前記データ属性毎に分割データ領域を割り当てるステップと、
前記データ属性に応じて前記分割データ領域を所定の印刷範囲に設定するステップと、
前記分割データ領域に割り当てられた前記印刷データを、前記データ属性に応じた実印刷データに生成する実印刷データ生成ステップと、
前記実印刷データを前記印刷範囲に印刷処理を実行する印刷実行ステップと、を有することを特徴とする。
【0022】
上記構成によれば、プリンタを小さな用紙幅の機種に変更した場合に、ホストコンピュータに搭載されるアプリケーションプログラムやプリンタドライバを変更せずとも、プリンタ側において、各ステップを実施させるだけで、用紙幅が小さな用紙に印刷することが可能になる。したがって、プリンタの導入時に、ホストコンピュータ側のアプリケーションプログラムやプリンタドライバを変更しなければならないという不便を回避でき、プリンタの導入時における取り扱い性を向上させることができる。そして、プリンタの変更による小幅の用紙の採用によって、用紙の節約を実現することができる。
【0023】
また、上記課題を解決することのできる本発明は、送信された印刷データに基づき印刷するプリンタが接続されるコンピュータに、
前記印刷データに含まれるデータ属性を抽出し、前記印刷データを前記データ属性毎に分割データ領域を割り当てるステップと、
前記データ属性に応じて前記分割データ領域を所定の印刷範囲に設定するステップと、
前記分割データ領域に割り当てられた前記印刷データを、前記データ属性に応じた実印刷データに生成する実印刷データ生成ステップと、
前記実印刷データを前記印刷範囲に印刷処理を実行する印刷実行ステップと、を実行させることを特徴とする。
【0024】
上記構成によれば、動作制御プログラムをドライバとしてホストコンピュータに搭載することによって、ホストコンピュータに搭載されるアプリケーションプログラムを変更せずとも、各ステップを実施させて、用紙幅が小さな用紙に印刷することが可能になる。
したがって、プリンタの導入時に、ホストコンピュータ側のアプリケーションプログラムを変更しなければならないという不便を回避でき、プリンタの導入時における取り扱い性を向上させることができる。そして、上記ドライバを提供できるプリンタを採用することによって、用紙の節約を実現することができる。
【発明を実施するための最良の形態】
【0025】
以下、本発明に係るプリンタ、およびそのプリンタの制御方法及び動作制御プログラムの実施形態について、図面を参照して詳細に説明する。
図1は本発明に係るプリンタの一実施の形態の構成を示すブロック図、図2(a)は図1に示したプリンタがホストコンピュータから送信されたレシート印刷データの構成図、図2(b)は本実施形態のプリンタが生成した縮小印刷データによるレシート印刷データの構成図、図3(a)はホストコンピュータから本実施形態のプリンタに送信される印刷データのうち商品情報が記述された行データを示した図、(b)は(a)の行データのデータ配置を特定するために使用される解析パターンの一例を示した図、(c)は本実施形態のプリンタが(a)の行データに基づき生成した縮小印刷行データを示した図、図4は本実施形態のプリンタの解析パターン記憶部に記憶されている解析パターンの説明図、図5は本実施形態のプリンタにおける縮小印刷データの生成処理を説明するためのフローチャートである。
【0026】
図1に示したプリンタ1は、POSシステムにおいてレシートの発行を行うプリンタで、ホストコンピュータ3から送信された印刷データ5(図2(a)参照)に基づき印刷処理を実行する。なお、本実施形態のホストコンピュータ3は、POSシステムにおけるPOS端末の機能を含めた構成となっている。
【0027】
印刷データ5は、ホストコンピュータ3にインストールされているレシート印刷用のアプリケーションプログラム7が、POS端末から送信された販売商品情報に基づいて作成したレシート印刷データで、ホストコンピュータ3にインストールされているプリンタドライバ9を介してプリンタ1に送信される。
【0028】
レシート印刷データである印刷データ5には、図2(a)に示すように、販売店情報欄D1、商品情報欄D2、集計及びその他の情報欄D3が上方から順に配列されている。これらの各情報欄に記載されるデータ種(データ属性)は、次の通りである。
【0029】
販売店情報欄D1には、販売店舗名p1、販売店舗の連絡先(電話番号)p2、売り場責任者名p3、販売日時p4などの情報がそれぞれ行をずらして配置されている。
【0030】
商品情報欄D2には、販売した各商品に設定される行データq1,q2,q3,……が配置されている。各行データには、商品名sa、販売数量sb、販売金額scなどの商品情報を印刷するデータ領域が、用紙幅方向に位置をずらして設定されている。
【0031】
商品情報欄D2の各行データに記載される商品情報の内、商品名saは各行データ間で先頭文字が揃うように該当するデータ領域内での配置が指定される。販売数量sbや、販売金額scは、末尾桁が揃うようにそれぞれのデータ領域内での配置が指定される。
【0032】
集計及びその他の情報欄D3には、税別の販売合計金額r1、税額r2、税込みの販売合計金額r3、販売商品総数r4や、店舗の広告用の文章などのその他のデータr5が行をずらして配置されている。
【0033】
ここでは、印刷データ5は、80mm幅の印刷用紙用に、各行データのデータ領域を配置したものである。図3に示すように、商品情報欄D2に記載する各行データq1,q2,q3,……の場合は、用紙幅方向に合計504dot分(印字桁数に換算すると、42桁分(1桁=12dot))のデータ領域が設定されている。本実施形態では、その504dot分のデータ領域内の先頭から60dot分の領域を行揃え用の空白データからなる分割データ領域ta1に、その後の300dot分の領域を商品名saからなる第1の分割データ領域ta2に、その後の144dot分の領域を販売数量sbや販売金額scを配置するための分割データ領域ta3に、指定される。
そして、分割データ領域ta3内は、144dot分の領域の内の先頭の12dot分の領域を販売数量sbが配置される分割データ領域ta4と、その後の132dot分の領域の末尾領域を販売金額scが配置される分割データ領域ta5と、に指定される。
【0034】
本実施形態のプリンタ1は、ホストコンピュータ3からプリンタドライバ9を介して送信された印刷データ5を、通信インタフェース11を介して受信して、受信バッファ13に格納する。
このプリンタ1には、受信バッファ13に格納された印刷データ5を予め設定した縮小幅(所定の印刷範囲)に縮小した縮小印刷データ51(図2(b)参照)に変換してプリントバッファ14に出力する主制御部15と、プリントバッファ14に出力された縮小印刷データ51(実印刷データ)に基づいて印字ヘッド17を作動させて印刷処理を実行する印刷実行部19とが備えられている。印刷実行部19は、プリンタ1による一連の処理の中で、後述するデータ展開部15aが生成する縮小印刷データ51に基づいて印刷処理を実行する。
【0035】
本実施形態の場合、プリンタ1には、商品情報欄D2の行データの解析に使用する複数のパターンを格納したパターン記憶部23が備えられている。
パターン記憶部23には、図4に示すように、商品情報欄D2の行データの解析用として、第1〜第6の6個のパターンP1〜P6が格納されている。各パターンP1〜P6は、商品情報欄D2の行データを構成している商品名saや販売数量sbや販売金額scなどの各種の商品情報を配置するデータ領域PA1〜PA7の配置構成をパターン化したものである。
【0036】
各パターンP1〜P6において、データ領域PA1は行の先頭に配置される行揃え用の空白領域であり、データ領域PA2は商品名saや商品コードCsaを配置する領域であり、データ領域PA3は販売数量sbや販売金額scを配置する領域である。
【0037】
図4に示したパターンP1〜P3の場合は、データ領域PA3が、販売数量sbを配置するためのデータ領域PA4と、販売金額scを配置するためのデータ領域PA5と、に分割されている。また、パターンP4〜P6の場合は、データ領域PA3には販売金額scのみを配置する構成になっている。
また、図4に示したパターンP2,P3,P5,P6では、商品コードCsaを配置するためのデータ領域PA6が設けられている。
【0038】
各パターンP1〜P6では、ホストコンピュータ3が送信する印刷データ5に対応する80mm幅の印刷用紙に収まるように、それぞれのデータ領域の印刷幅が設定されている。
例えば、第1のパターンP1の場合では、図3に示すように、印刷データ5における行データの先頭の空白領域である分割データ領域ta1(60dot幅)はパターンP1のデータ領域PA1(24dot幅)に対応し、印刷データ5における商品名sa等が配置される第1の分割データ領域ta2(300dot幅)はパターンP1のデータ領域PA2(324dot幅)に対応する。
また、パターンP1の場合では、販売数量sbや販売金額scが配置されるデータ領域PA3と、データ領域PA2との間に1桁(12dot)分の空白領域PA7が設定されている。印刷データ5における行データの分割データ領域ta3(144dot幅)はパターンP1のデータ領域PA3に対応する。この空白領域PA7とPA3とを合わせたると156dot分の幅が設定されている。
【0039】
本実施形態のプリンタ1は、印刷データ5の商品情報欄D2の行データq1,q2,q3・・・を構成する各種の商品情報の配列を、前述した各パターンP1〜P6との比較・照合により決定する。さらに、適合するパターンのデータ領域の構成に基づき分割データ領域ta1や第1の分割データ領域ta2を割り当て、58mm幅用紙用の印刷範囲に各分割データ領域を設定する。設定された各分割データ領域に割り当てられるデータに、データ属性に応じた処理を行い、縮小印刷データ51を構成する行データ53(実印刷データ)を生成する。生成された行データ53(図3参照)はプリントバッファ14に格納される。
【0040】
印刷データ5から縮小印刷データ51を生成する処理は、主制御部15のデータ展開部15aが行う。
このデータ展開部15aは、プリンタ内のプログラム格納部21に格納されている動作制御プログラム22に基づいて、印刷データ5を処理する。具体的には、印刷データ5に含まれる各行データのデータ属性およびその配列等を解析して、印刷データ5の各情報欄D1,D2,D3のいずれの欄に記載されるデータであるかを判別する。
【0041】
商品情報欄D2に記載されているデータの場合には、行データ内の各商品情報をデータ属性毎(例えば、商品名sa、販売数量sb、販売金額sc、商品コードCsaなど)に分割した分割データ領域を割り当てる。さらに、各行データにおいて58mm幅用紙用の印刷範囲に各分割データ領域を設定する。
その結果、図2(b)に示すように印刷幅が予め設定されている縮小幅(本実施形態の場合は、58mm幅)に短縮された縮小印刷データ51を生成し、生成した縮小印刷データ51がプリントバッファ14に格納される。
【0042】
本実施形態のプリンタ1では、空白領域である分割データ領域ta1や第1の分割データ領域ta2に収めるデータの短縮は、原則的には、その行データに含まれる空白データの削減により行う。本実施形態では、第1の分割データ領域ta2から空白データを削減することによって第2の分割データ領域TA2を生成する。第1の分割データ領域ta2内に空白データが少なく、実データが多い商品名saの場合には、空白データの削減を実行しても、データ長をそれほど短縮することができず、あらかじめ想定している縮小印刷データ51上の印刷幅に収まらない場合がある。この場合、本実施形態のプリンタ1は、他の方法によって商品名saの印刷幅を短縮することができる。
【0043】
図1に示した第2の縮小方法選択手段25は、ユーザがプリンタ1に装備されているディップスイッチ、メモリスイッチの操作に応じて、あるいはホストコンピュータ3からのコマンドに応じて、データの短縮方法を選択指定する。具体的には、次の2つの方法のいずれかを選択・指定することができる。
一つの方法は、商品名saの末尾側から、縮小印刷データ51用にあらかじめ設定されている印刷幅を超える分のデータを削減し、末尾側の適宜長を削減した商品名saを採用する方法である。データが削減された商品名saの末尾には記号「…」を印字することによって、省略した商品名であることを明示する。具体的には、図2(b)に示した縮小印刷データ51の商品情報欄Ds2の上から3行目の行データqs3のように配置される。
【0044】
もう一つの方法は、販売数量sbや販売金額scを配置する分割データ領域ta3を次の行に改行して、2行に亘るように改行を挿入する方法である。この方法の場合は、第1の分割データ領域ta2は、1行分の印刷幅の全体を使用することができ、長い商品名の場合でも、省略せずに配置することができる。また、改行した分割データ領域ta3は、末尾が他の行データと揃うように、販売金額scの末桁を、データ領域の右端に揃えて配置する。具体的には、図2(b)に示した縮小印刷データ51の商品情報欄Ds2の上から4行目の行データqs4、5行目の行データqs5のように配置される。
【0045】
上述したように、データ展開部15aにおける分割データ領域を設定したり、データを削減し、改行を挿入する処理等は、プログラム格納部21に格納されている動作制御プログラム22により実行されるものである。
動作制御プログラムによる制御処理は、具体的には、図5に示す手順で、プリンタ1の印刷動作を制御するものである。以下では、プリンタ1が実行する縮小印刷データの生成方法について図5を参照して説明する。
【0046】
受信バッファ13から印刷データ5を構成しているデータを取り出し(ステップS101)、改行契機の有無を判定することで1行分ずつのデータ配列を取得(ステップS102,S103)する。
そして、行データを構成する文字データや数字データのコード(データ属性)を解析して、その行データが印刷データ5を構成する商品情報欄D2に含まれるデータであるか否かを判別する(ステップS104)。
【0047】
商品情報欄D2に含まれるデータであるか否かを判定する方法としては、次の(A)〜(C)の方法を採用することができる。
(A)「小計」、「合計」、「sub total」、「total」などの文字列を、情報欄判別用のキーワードとして、プリンタ1内の記憶手段に保持させておき、印刷データ5の行データ内にこれらの文字列が検出されたか否かによって判定する方法。これらの文字列が検出された場合は、集計及びその他の情報欄D3の行データが読み出されたことを意味しており、商品情報欄D2の行データの読み出しが終了したと見なすことができる。すなわち、これらの文字列が出現する前の行データを、商品情報欄D2の行データと見なす方法である。
(B)パターン記憶部23に格納されている何れのパターンにも適合しない行データを、商品情報欄D2以外の行データと見なす判定方法。
(C)商品情報欄D2の前後に、他の欄との境界を示す特定の文字列(図2(a)の例では、‘−’(ハイフン)が連続した文字列Ws)が検出された場合、先に読み出された特定の文字列Wsの次の行が商品情報欄D2の開始行と見なし、後から読み出された特定の文字列Wsの前の行が商品情報欄D2の最終行と見なす判定方法。
【0048】
商品情報欄D2の欄に記載されるデータではないと判定された場合(即ち、販売店情報欄D1や、集計及びその他の情報欄D3の欄に記載されるデータであった場合、ステップS104:No)は、その行データを構成している文字列や数字列の印刷幅を算出して、プリンタ1が使用する小幅(58mm幅)の印刷用紙上の一行の印刷幅に収まっているか否かを判定する(ステップS106)。行データが小幅の印刷用紙上の一行の印刷幅に収まらないと判定された場合には(ステップS106:No)、行データが小幅の印刷用紙上の一行の印刷幅に収まるように、行データを構成している文字や数字のフォントサイズを縮小処理する(ステップS107)。
【0049】
ステップS106で小幅の印刷用紙上の一行の印刷幅に収まると判定された行データ、あるいはステップS107による縮小処理で一行の印刷幅に収まるように縮小された行データは、縮小印刷データ51を構成する一行分の行データとして認識され(ステップS111)、行単位で順次プリントバッファ14に格納される(ステップS112)。印刷契機に応じて印刷ヘッドや用紙搬送機構等を駆動し印刷処理が実行される(ステップS113)。
【0050】
一方、ステップS104において、その行データが印刷データ5を構成する商品情報欄D2に含まれるデータであると判定された場合には(ステップS104:Yes)、取得した行データに含まれる文字コードの配列を用いて、各商品情報を配置する分割データ領域を割り当てる領域分割処理を実行する(ステップS105)。領域分割処理は、具体的には上述したように、行データを、そこに含まれているコード列から商品識別データを含む第1の分割データ領域ta2と、商品の数量や金額等の数字データ(商品識別データ以外のデータ)を含む分割データ領域ta3、空白領域ta1等に分割する処理である。
【0051】
ステップS105において、商品情報欄D2の各行データに対して領域分割処理を行う場合に、各行データに含まれる商品の数量や金額等のデータ属性を判定する方法としては、次の(D)〜(G)の方法を採用することができる。
(D)行データの終端を金額データの終端と見なす方法。
(E)ASCIIコードの数字0x31〜0x39(数字の0〜9)で構成されている文字列を、数量や金額の文字列と見なす方法。
(F)ASCIIコードの数字0x31〜0x39(数字の0〜9)と、金額記号の0x24($)又は0x2F(¥)との組み合わせ、小数点記号の0x2E(.)との組み合わせで、金額データと見なす方法。
(G)連続した空白データ領域が一定量(例えば12dot)以上続く場合に、次の分割データ領域と見なす方法。
【0052】
次に、ステップS105で分割した分割データ領域の配列構成と、パターン記憶部23に格納されているパターンP1〜P6と、を比較・照合し、分割データ領域の配列構成が適合するパターンを決定する(ステップS121)。そして、適合パターンの構成に従って、分割データ領域ta1及び第1の分割データ領域ta2を58mm用紙用の印刷範囲(印刷幅)に設定する。そして、設定された分割データ領域ta1及び第1の分割データ領域ta2に割り当てられるデータに含まれている空白データを削減する(ステップS122)。
【0053】
ステップS122により、空白データを削減した後の商品名saが第2の分割データ領域TA2に収まるか否かを判定する(ステップS123)。ステップS123において、縮小印刷データ51における第2の分割データ領域TA2の印刷幅内に収まると判定された場合には(ステップS123:Yes)、ステップS111に移行しステップS122で空白データの削減を完了した行データを、縮小印刷データ51用の一行分の行データ53として、プリントバッファ14に格納する(ステップS112)。印刷契機に応じて印刷ヘッドや用紙搬送機構等を駆動し印刷処理が実行される(ステップS113)。
【0054】
一方、ステップS123において、ステップS122により空白データを削減した商品名saが、縮小印刷データ51における第2の分割データ領域TA2の印刷幅内に収まらないと判定された場合には(ステップS123:No)、ステップS131に進む。
ステップS131では、第2の縮小方法選択手段25により選択指定される縮小方法の設定値を取得する。そして、設定値が商品名の一部を省略する方法に設定されていれば(ステップS132:省略)、商品名saの一部を縮小された第2の分割データ領域TA2(図3参照)に収まるように省略した商品名データを作成する(ステップS133)。その省略した商品名データを使って、図2(b)の縮小印刷データ51の商品情報欄D2の上から3行目の行データqs3のような行データを作成して、プリントバッファ14に格納する(ステップS111,ステップS112)。印刷契機に応じて印刷ヘッドや用紙搬送機構等を駆動し印刷処理が実行される(ステップS113)。
【0055】
一方、ステップS132において、設定値が改行量を変更する方法に設定されていれば(ステップS132:改行)、分割データ領域TA3のデータを改行して行データを2行に亘って配置するとともに、分割データ領域TA3のデータを右揃えに指定する(ステップS134)。この場合は、2行に亘る行データ毎にプリントバッファ14に格納する(ステップS111,S112)。印刷契機に応じて印刷ヘッドや用紙搬送機構等を駆動し印刷処理が実行される(ステップS113)。
【0056】
以上に説明した図5の処理により、図2(b)に示した縮小印刷データ51の各行データが作成される。
縮小印刷データ51では、ホストコンピュータ3から送信された印刷データ5上の各情報欄D1,D2,D3に対応して、それぞれ印刷幅が所定の縮小幅に縮小された販売店情報欄Ds1、商品情報欄Ds2、集計及びその他の情報欄Ds3が形成されている。
【0057】
このように、図5に示した縮小印刷データの生成方法によれば、販売店情報欄D1や集計及びその他の情報欄D3に配置される各データの場合は、ステップS101〜S105までの一連の処理が実施された後、行データが予め設定された縮小幅に収まり切れない場合には、予め設定された縮小幅に収まるようにステップS107によりフォントサイズの縮小処理がなされて、所定の縮小幅に収まる行データが生成されて印刷処理される。
【0058】
一方、商品情報欄D2に配置される各データの場合は、ステップS101〜S105までの一連の処理が実施された後、分割データ領域ta1や第1の分割データ領域ta2に割り当てられる空白データを削減することによって、印刷データが縮小される。予め設定された縮小幅に収まり切れない場合には、第2の縮小方法選択手段25によって設定した第2の縮小方法により、商品名saの一部省略、あるいは分割データ領域TA3の部分の改行による行データの縮小が実施されて、所定の縮小幅に収まる行データに作成されて印刷処理される。
【0059】
なお本実施形態では、ステップS123において商品名saが、第2の分割データ領域TA2の印刷幅内に収まらないと判定された場合は、商品名saの一部を省略表示する、あるいは分割データ領域TA3を改行するよう構成されているが、これに限られることはない。例えば、削減可能な空白データが残っている場合は、さらに空白データを削減したり、商品名saのフォントを縮小したり、商品名saの所定の位置で改行するよう構成してもよい。
【0060】
以上に説明したプリンタ1及びその制御方法では、ホストコンピュータ3から送信された印刷データ5は、印刷データ5を受け取るプリンタ1側のデータ展開部15aによって、予め設定されている縮小幅に印刷幅(印刷範囲)を短縮した縮小印刷データ51に変換した後、印刷実行部により印刷される。したがって、例えばPOSシステム等において、プリンタ1を小さな用紙幅の機種に変更した場合に、ホストコンピュータ3に搭載されるアプリケーションプログラム7やプリンタドライバ9を変更せずとも、プリンタ1側だけで、用紙幅が小さな用紙に印刷することができる。
また、プリンタ1の導入時に、ホストコンピュータ3側のアプリケーションプログラム7やプリンタドライバ9を変更しなければならないという不便を回避でき、プリンタ1の導入時における取り扱い性を向上させることができる。さらに、プリンタ1の変更による小幅の用紙の採用によって、用紙の節約を実現することができる。
【0061】
また、本実施の形態のプリンタ1及びその制御方法では、商品情報を記述した行データは、商品名sa等の商品識別データを含む第1の分割データ領域ta2と、商品の数量や金額等の数字データを含む分割データ領域ta3とに少なくとも分割して割り当てられ、それぞれの分割データ領域ta2,ta3毎に印刷範囲置を設定するため、商品識別データと数量や金額等の数字データとが連続したデータとなって数量や金額が視認しづらくなることがない。
【0062】
また、第1の分割データ領域ta2に含まれる空白データを削減することによって印刷する領域の確保を実現している。このため空白データを含め全てのフォントサイズを縮小する場合と比較すると、文字サイズが小さくなり過ぎて、内容が確認し難くなるという不都合が発生しない。また、文字サイズが小さくなり過ぎて、行間等の印字体裁が崩れることも防止できる。したがって、小幅の用紙に、印字体裁を保った視認性の良い印刷を実施でき、視認性の低下を招くことがない良好な印字体裁のレシートを提供することができる。
【0063】
また、本実施の形態のプリンタ1及びその制御方法のように、商品識別データの一部を省略表示したり、あるいは元の一行のデータを複数行に亘るデータに改行して展開する構成であれば、フォントサイズの縮小を行わずとも、各分割データ領域TA2,TA3に割り付けられるデータの印刷位置を揃えて、視認性の良い印字体裁で、レシートを印刷することができる。したがって、文字数が多い商品識別データが有る場合でも、フォントサイズの縮小による視認性の低下を回避して、印字幅が短縮された小幅用紙に、視認性の良い印刷を実施することができる。
【0064】
また、本実施の形態のプリンタ1では、印刷データ5上の行データを構成する分割データ領域ta1,ta2,ta3の構成例を示すパターンP1〜P6を記憶するパターン記憶部23を有しており、縮小印刷データ51を生成するデータ展開部15aは、分割データ領域の構成に適合する適合パターンをパターン記憶部23内から選択し、適合パターンの構成にしたがって空白データを削減する。
そのため、各行データ上の各種データのデータ属性に基づいた処理が容易にでき、各種データの各分割データ領域への再配置処理や、空白データの削減処理等を正確に、かつ迅速化することができ、小幅用紙への印刷処理の高速化を図ることができる。
【0065】
また、印刷データ5がレシート印刷データである場合、印刷データ5中に含まれる行データとしては、例えば集計及びその他の情報欄D3に記載される店舗の広告文、あるいは販売店情報欄D1に記載される販売店舗名などのように、販売した商品情報以外の情報も記述される。
これらの情報には、例えば、視認性は若干低下しても、すべてのデータを欠落なく掲載することが望ましいものがあり、そのような情報に対しては、本実施の形態のプリンタ1及びその制御方法では、フォントサイズの縮小により行データ全体を均一に縮小することにより、予め設定した縮小幅に適合させるため、記載が必要なデータの欠落を防止することができる。
【0066】
なお、上記実施形態では、パターンP1と比較する方法を具体的に説明したが、他のパターンP2〜P6と比較した縮小印刷データを生成することもできる。図4においては、パターンP2,P3,P5,P6は、商品名saと商品コードCsaとを別々のデータ領域PA2とPA6として記載しているが、1つのデータ領域PA2として印刷データ5と比較するようにしてもよい。
【0067】
また、上記実施形態では、一例として、80mmの印刷用紙を想定した印刷データ5を、58mmの印刷用紙に縮小印刷する場合を示した。しかし、本発明に係るプリンタ及びその制御方法において、縮小幅は上記実施の形態の例に限定しない。本発明に係るプリンタ及びその制御方法は、更に小幅な用紙に印刷する場合にも応用可能である。
【0068】
また、本発明に係るプリンタの用途は、POSシステム用に限定するものではない。使用する印刷用紙幅が制限されている各種のプリンタに応用可能である。
【0069】
また、上記実施形態では、商品情報欄D2の商品名saが予め設定した縮小幅内に収まらないときに、分割データ領域TA3を改行により次の行に移して、本来は一行分の行データを、2行に亘る行データに変換した例を示したが、これに限られない。例えば、第2の分割データ領域TA2に割り付けるデータの長さが更に長い場合には、第2の分割データ領域TA2のデータを2行に亘って配置し、分割データ領域TA3を3行に配置し、複数行に亘る行データを生成する場合も考えられる。
【0070】
また、上記実施形態では、商品情報以外の行データは、縮小印刷データ51の一行分に収まらない時に、フォントサイズの縮小により印刷幅を縮小する方法を示したが、このフォントサイズの縮小による印刷幅の縮小法を、商品情報欄D2の縮小方法に組み合わせて使用することも考えられる。
例えば、商品名saの一部を省略する際に、第2の分割データ領域TA2に残す文字列の一部にはフォントサイズの縮小を実施することで、第2の分割データ領域TA2内に納める情報量を増やすことが可能になる。
【0071】
また、商品情報欄D2の行データの印刷幅の縮小に用いた空白スペースの削減や改行による印刷幅縮小方法は、情報の欠落が生じないため、販売店情報欄D1や集計及びその他の情報欄D3の行データの縮小処理にも適用するようにしても良い。
【図面の簡単な説明】
【0072】
【図1】本発明に係るプリンタの一実施の形態の構成を示すブロック図である。
【図2】(a)は図1に示したプリンタがホストコンピュータから受ける印刷データであるレシート印刷データの構成図、(b)は図1に示したプリンタが生成した縮小印刷データによるレシートのデータ構成図である。
【図3】(a)はホストコンピュータから本実施形態のプリンタに送信される印刷データのうち商品情報が記述された行データを示した図、(b)は(a)の行データのデータ配置を特定するために使用されるパターンの一例を示した図、(c)は本実施形態のプリンタが(a)の行データに基づき生成した縮小印刷行データを示した図である。
【図4】図1に示したプリンタのパターン記憶部に記憶されたパターンの説明図である。
【図5】図1のプリンタにおいて縮小印刷データを生成する動作を示すフローチャートである。
【符号の説明】
【0073】
1:プリンタ、3:ホストコンピュータ、5:印刷データ、7:アプリケーションプログラム、9:プリンタドライバ、13:受信バッファ、14:プリントバッファ、15:主制御部、17:印字ヘッド、19:印刷実行部、21:プログラム格納部、22:動作制御プログラム、23:パターン記憶部、51:縮小印刷データ、D1,Ds1:販売店情報欄、D2,Ds2:商品情報欄、D3,Ds3:集計及びその他の情報欄、P1〜P6:パターン、q1〜q4:行データ、qs1〜qs4:印刷幅を縮小処理した行データ、sa:商品名、sb:販売数量、sc:販売金額、ta2:第1の分割データ領域、TA2:第2の分割データ領域、ta1,ta3〜ta5,TA1,TA3〜TA7:分割データ領域

【特許請求の範囲】
【請求項1】
ホストコンピュータから送信された印刷データに基づき印刷するプリンタであって、
前記印刷データに含まれるデータ属性を抽出し、前記印刷データを前記データ属性毎に分割データ領域を割り当て、前記データ属性に応じて前記分割データ領域を所定の印刷範囲に設定すると共に、前記分割データ領域に割り当てられた前記印刷データを前記データ属性に応じた実印刷データに生成するデータ展開部と、
前記実印刷データを前記印刷範囲に印刷する印刷実行部と、を有することを特徴とするプリンタ。
【請求項2】
前記データ展開部は、前記印刷データが所定のデータ属性であるか否かを解析し、
前記所定のデータ属性であると判定した場合は、前記印刷データを前記分割データ領域に割り当て、前記印刷データに含まれる空白データの範囲を変更するか、または前記印刷データの少なくとも一部を省略するか、または印刷サイズを変更するか、または改行量を変更することのいずれかを行うことによって、前記実印刷データを生成することを特徴とする請求項1に記載のプリンタ。
【請求項3】
前記データ展開部は、前記所定のデータ属性であると判定した場合は、前記分割データ領域に割り当てられた前記印刷データを所定の位置で改行して、前記実印刷データを生成することを特徴とする請求項1または2に記載のプリンタ。
【請求項4】
前記データ属性に応じた前記実印刷データを生成するパターンを記憶するパターン記憶部を有し、
前記データ展開部は、前記分割データ領域に割り当てた前記印刷データの前記属性に適合するパターンを前記パターン記憶部から選択し、前記パターンにしたがって前記実印刷データを生成することを特徴とする請求項1から3のいずれかに記載のプリンタ。
【請求項5】
前記データ展開部は、前記実印刷データが前記印刷範囲に収まるか否かを判定し、
前記実印刷データが収まらないと判定した場合は、前記印刷データに含まれる空白データを所定範囲削減するか、または前記印刷データの少なくとも一部を省略するか、または前記印刷サイズを縮小するか、または前記印刷データを所定の位置で改行するか、または印刷位置を変更して、実印刷データを生成することを特徴とする請求項1から4の何れかに記載のプリンタ。
【請求項6】
前記データ属性は、所定のコードであることを特徴とする請求項1から5の何れかに記載のプリンタ。
【請求項7】
ホストコンピュータから送信された印刷データに基づき印刷するプリンタの制御方法であって、
前記印刷データに含まれるデータ属性を抽出し、前記印刷データを前記データ属性毎に分割データ領域を割り当てるステップと、
前記データ属性に応じて前記分割データ領域を所定の印刷範囲に設定するステップと、
前記分割データ領域に割り当てられた前記印刷データを、前記データ属性に応じた実印刷データに生成する実印刷データ生成ステップと、
前記実印刷データを前記印刷範囲に印刷する印刷実行ステップと、を有することを特徴とするプリンタの制御方法。
【請求項8】
送信された印刷データに基づき印刷するプリンタが接続されるコンピュータに、
前記印刷データに含まれるデータ属性を抽出し、前記印刷データを前記データ属性毎に分割データ領域を割り当てるステップと、
前記データ属性に応じて前記分割データ領域を所定の印刷範囲に設定するステップと、
前記分割データ領域に割り当てられた前記印刷データを、前記データ属性に応じた実印刷データに生成する実印刷データ生成ステップと、
前記実印刷データを前記印刷範囲に印刷する印刷実行ステップと、を実行させることを特徴とする前記プリンタの動作制御プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2010−623(P2010−623A)
【公開日】平成22年1月7日(2010.1.7)
【国際特許分類】
【出願番号】特願2008−159489(P2008−159489)
【出願日】平成20年6月18日(2008.6.18)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】