説明

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

【課題】ホストコンピュータに搭載されるアプリケーションプログラムやプリンタドライバを変更せずとも、用紙幅が小さな用紙に、印字体裁を保った視認性の良い印刷を実施できるプリンタを提供することである。
【解決手段】ホストコンピュータ3から送信された印刷データ5に基づき印刷処理を実行するプリンタ1の制御方法であって、印刷データ5に含まれる各行データq0〜q4が予め設定されている縮小幅に収まるか否かを判定するステップS101と、収まらないと判定した場合に(ステップS101:No)、行データを構成する各構成データのデータ属性に応じて縮小できる商品名saのフォントサイズを縮小し、縮小後の縮小構成データsa1と他の構成データである金額データsc1とによって縮小幅に収まるよう短縮された縮小行データqs1,qs2を生成するステップS104と、縮小行データqs1,qs2に基づき印刷処理を実行するステップS102と、を有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ホストコンピュータから送信された印刷データに基づき印刷処理を実行するプリンタ、プリンタの制御方法及び動作制御プログラムに関する。
【背景技術】
【0002】
近年、各種の販売店では、レジ打ち作業を軽減するとともに、仕入・棚卸と販売実績を結びつけた在庫管理・発注管理の精度向上を計ることを目的として、POSシステムを導入している店舗が多くなっている。
このPOSシステムでは、例えば、販売店の会計場所に設置されているPOS用のレジスター(POS端末)に、顧客が購入する商品に付与されているバーコードを読み取らせると、その商品の販売情報(商品名、数量、販売金額、販売合計金額、販売時刻など)が記録される一方で、その商品の販売金額等を記載したレシートが発行されるようになっている。
【0003】
通常、POS端末が読み取った商品の販売情報は、POS端末からホストコンピュータに通知され、ホストコンピュータ側で分析されて、在庫管理・発注管理等に利用される。
また、POSシステムでは、POS端末から商品の販売情報を受けたホストコンピュータが、その販売情報を所定の印刷用紙幅に収まるように配置したレシート印刷データを生成し、生成したレシート印刷データをプリンタに出力することで、レシートの発行を行う。
ホストコンピュータには、POS端末から受けた商品の販売情報に基づいて販売情報に含まれる各種のデータの配置を指定したレシート印刷データを生成するレシート印刷用のアプリケーションプログラムと、このアプリケーションプログラムが生成したレシート印刷データをプリンタに出力するプリンタドライバとが、搭載されている。
【0004】
また、レシート印刷データには、通常、販売店舗名、店舗の連絡先、販売日時、販売した商品名、販売数量、商品毎の販売金額、販売合計金額、店舗の広告用の文章などのデータが含まれる。レシート印刷データを生成するアプリケーションプログラムは、レシート印刷データを構成する各種データを、データ種毎に体裁を整えて配置設定をする。
【0005】
近年では、印刷用紙の節約を目的として、ホストコンピュータに搭載されるアプリケーションプログラムやプリンタドライバを改良して、例えば印刷する文字のフォントサイズを縮小することにより、印刷幅を短縮した縮小印刷データを生成して、より小さな用紙幅の印刷用紙への印刷を実現する技術が各種提案されている(特許文献1参照)。
【0006】
また、従来のPOSシステムで使用されるプリンタは、収容する用紙幅が固定である場合が多い。このため、用紙の節約等のためにレシート用紙を用紙幅が小さなものに変更するには、プリンタ自体を、その用紙幅に対応するプリンタに置き換える必要がある。そして、プリンタを置き換えた場合には、変更された用紙幅に対応したレシート印刷データをホストコンピュータがプリンタに出力できるように、ホストコンピュータ側に搭載するアプリケーションプログラムやプリンタドライバの変更を行う必要がある。このため、ホストコンピュータへの新しいプログラムの導入等の保守作業に手間がかかる場合がある。
【0007】
これに対応すべく、上位装置(ホストコンピュータ)から送信される印字データの印字範囲を計算し、要求されている印字範囲に合致するように印字情報(移動、縮小、拡大等)を作成することにより、印字時にその印字情報をもとに印字範囲を変更して印字することにより、要求されている印字範囲の印字する印字装置(プリンタ)が提案されている(特許文献2参照)。このような構成によると、上位装置から送信されるデータが固定範囲の印字データであっても、自動的に印字範囲を合わせて印字することができる。
【0008】
【特許文献1】特開平09−220829号公報
【特許文献2】特開平05−000552号公報
【発明の開示】
【発明が解決しようとする課題】
【0009】
特許文献2に記載の印字装置では、印字データを一律に移動、縮小、拡大等している。このため、例えばレシート印刷を行うプリンタに適用して印字データを一律に縮小すると、レシートに印刷される文字サイズが小さくなり過ぎて、レシートに記載される購入商品や購入数量や金額等の各種情報の視認性が低下する虞がある。
具体的には、図5に示すように(a)の印刷データを一律に縮小すると、(b)のように、購入商品や購入数量や金額等の各種情報が全体的に小さな文字で印刷されるため、視認性が低下する。
【0010】
特に、金額データ102のような情報は、顧客にとって重要な情報であるため視認性を低下させることなく印刷したい。また、店名101のような情報は、縮小せずに1行に収まるデータであるため縮小処理を行う必要がない。このように、縮小処理を行うか否かは、データ属性に応じて異なる場合がある。
【0011】
本発明の目的は、上記課題を解決するためになされたものであって、プリンタを小さな用紙幅の機種に変更した場合に、ホストコンピュータに搭載されるアプリケーションプログラムやプリンタドライバを変更せずとも、用紙幅が小さな用紙に、印字体裁を保った視認性の良い印刷を実施でき、小さな用紙幅の用紙の採用による用紙の節約を実現できるプリンタ、プリンタの制御方法及び動作制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【0012】
上記課題を解決することのできる本発明は、ホストコンピュータから送信された印刷データに基づき印刷するプリンタであって、
前記印刷データを印刷する場合、予め設定されている印刷範囲に収まるか否かを判定し、収まらない場合は、前記印刷データのデータ属性に応じて所定の前記印刷データのフォントサイズを縮小して、実印刷データを生成するデータ展開部と、
前記実印刷データを前記印刷範囲に印刷する印刷実行部と、を有することを特徴とする。
【0013】
上記構成によれば、ホストコンピュータから送信された印刷データは、プリンタ側のデータ展開部によって、予め設定されている印刷範囲に、所定の前記印刷データのフォントサイズを縮小して実印刷データが生成される。したがって、例えばPOSシステム等において、プリンタを小さな用紙幅の機種に変更した場合に、ホストコンピュータに搭載されるアプリケーションプログラムやプリンタドライバを変更せずとも、プリンタ側だけで、用紙幅が小さな用紙に印刷することができる。この場合、実印刷データとは実際にプリンタのヘッドで印刷するドットに展開したデータである。
これにより、プリンタの導入時に、ホストコンピュータ側のアプリケーションプログラムやプリンタドライバを変更しなければならないという不便を回避でき、プリンタの導入時における取り扱い性を向上させることができる。さらに、プリンタの変更による小幅の用紙の採用によって、用紙の節約を実現することができる。
また、フォントサイズの縮小は、データ属性に応じて所定の印刷データだけを縮小するので、顧客にとって重要な情報や縮小する必要のない情報は縮小せずに印刷することができる。したがって、小幅の用紙に印字体裁を保った視認性の良い印刷を実施でき、視認性の低下を招くことがない良好な印字体裁の出力結果を提供することができる。
【0014】
また、本発明のプリンタにおいて、前記データ展開部は、縮小する前記フォントサイズを、前記印刷範囲に収まる範囲で最大のものとすることを特徴とする。
【0015】
上記構成によれば、印刷データが印刷範囲に収まる範囲まで、フォントサイズを縮小していくことができる。すなわち、プリンタが保持しているフォントサイズの範囲で徐々に縮小していき、実印刷データが印刷範囲に収まる最大のフォントサイズが自動的に指定される。したがって、印刷範囲に収まる範囲内で最大のフォントサイズを指定することができるので、文字サイズが小さくなり過ぎて、内容を確認し難いという不都合が発生しない。また、文字サイズが小さくなり過ぎて、行間等の印字体裁が崩れることも防止できる。
【0016】
また、本発明のプリンタにおいて、前記データ展開部は、所定の前記印刷データのフォントサイズを縮小しても前記印刷範囲に収まらない場合は、前記印刷データの属性に応じて前記印刷データの一部を省略することを特徴とする。
【0017】
上記構成によれば、フォントサイズを縮小する所定の前記印刷データをプリンタが保持している最小のフォントサイズに縮小しても、実印刷データが印刷範囲に収まらない場合は、印刷データの一部を省略する。一方、所定の印刷データ以外の他の印刷データは省略することがないため、顧客にとって重要な情報や縮小する必要のない情報からなる印刷データは省略せずに印刷することができるので、視認性の低下を招くことがない良好な印刷体裁の出力結果を提供することができる。
【0018】
また、本発明のプリンタにおいて、前記データ展開部は、前記印刷範囲を印刷幅とすることを特徴とする。このような構成によれば、プリンタを小さな用紙幅の機種に変更した場合に、ホストコンピュータに搭載されるアプリケーションプログラムやプリンタドライバを変更せずとも、プリンタ側だけで、用紙幅が小さな用紙に印刷することができる。
また、本発明のプリンタにおいて、前記フォントサイズを縮小する所定の前記印刷データは、少なくとも数字を示すデータ属性を有するものを除く印刷データであることを特徴とする。
【0019】
印刷データがレシート印刷データである場合、そのデータ中において、販売した商品名、販売数量、商品毎の販売金額等の商品情報は、顧客が購入した商品の内容確認を容易にできるように、なるべく、大きなフォントサイズを使って、視認性に優れた印字体裁にすることが望まれる。特に、顧客にとって販売金額は重要な情報である。上記構成によれば、少なくとも数字を示すデータ属性を有する金額データは縮小できる印刷データではないため、縮小したり省略する印刷データに含まれない。このため金額データが縮小されたり省略されることがない。したがって、顧客にとって購入商品の金額が視認しづらくなることがない。数字に限らず、商品名など所望の特性のデータ特性としてもよい。
【0020】
また、上記課題を解決することのできる本発明は、ホストコンピュータから送信された印刷データに基づき印刷処理を実行するプリンタの制御方法であって、
前記印刷データを印刷する場合、予め設定されている印刷範囲に収まるか否かを判定するステップと、収まらないと判定した場合に、前記印刷データのデータ属性に応じて所定の前記印刷データのフォントサイズを縮小して、実印刷データを生成するステップと、前記実印刷データを前記印刷範囲に印刷するステップと、を有することを特徴とする。
【0021】
上記構成によれば、プリンタを小さな用紙幅の機種に変更した場合に、ホストコンピュータに搭載されるアプリケーションプログラムやプリンタドライバを変更せずとも、プリンタ側において、上記ステップを実行させるだけで、用紙幅が小さな用紙に印刷することが可能になる。したがって、プリンタの導入時に、ホストコンピュータ側のアプリケーションプログラムやプリンタドライバを変更しなければならないという不便を回避でき、プリンタの導入時における取り扱い性を向上させることができる。そして、プリンタの変更による小幅の用紙の採用によって、用紙の節約を実現することができる。
【0022】
また、上記課題を解決することのできる本発明の動作制御プログラムは、送信された印刷データに基づき印刷するプリンタが接続されるコンピュータに、
前記印刷データを印刷する場合、予め設定されている印刷範囲に収まるか否かを判定するステップと、収まらないと判定した場合に、前記印刷データのデータ属性に応じて所定の前記印刷データのフォントサイズを縮小して、実印刷データを生成するステップと、前記実印刷データを前記印刷範囲に印刷するステップと、を実行させることを特徴とする。
【0023】
上記構成によれば、動作制御プログラムをファームウエアとしてプリンタに搭載することによって、ホストコンピュータに搭載されるアプリケーションプログラムやプリンタドライバを変更せずとも、プリンタ側において、上記ステップを実行させて、用紙幅が小さな用紙に印刷することが可能になる。
したがって、プリンタの導入時に、ホストコンピュータ側のアプリケーションプログラムやプリンタドライバを変更しなければならないという不便を回避でき、プリンタの導入時における取り扱い性を向上させることができる。そして、上記動作制御プログラムを搭載したプリンタを採用することによって、用紙の節約を実現することができる。
【発明を実施するための最良の形態】
【0024】
以下、本発明に係るプリンタ、およびそのプリンタの制御方法及び動作制御プログラムの実施形態について、図面を参照して詳細に説明する。
図1は本発明に係るプリンタの一実施の形態の構成を示すブロック図、図2(a)は図1に示したプリンタがホストコンピュータから送信されたレシート印刷データの構成図、図2(b)は図1に示したプリンタが生成したレシート印刷データの構成図、図2(c)は図1に示したプリンタが生成したレシート印刷データの他の構成図、図3は本実施形態のプリンタで実行する縮小行データの生成と印刷処理を説明するためのフローチャート、図4は図3の縮小処理の詳細を説明するためのフローチャートである。
【0025】
図1に示したプリンタ1は、POSシステムにおいてレシートの発行を行うプリンタで、ホストコンピュータ3から送信された印刷データ5(図2(a)参照)に基づき印刷処理を実行する。なお、本実施形態のホストコンピュータ3は、POSシステムにおけるPOS端末の機能を含めた構成となっている。
【0026】
印刷データ5は、ホストコンピュータ3にインストールされているレシート印刷用のアプリケーションプログラム7が、POS端末から送信された販売商品情報に基づいて作成したレシート印刷データである。レシート印刷データは、ホストコンピュータ3にインストールされているプリンタドライバ9を介してプリンタ1に送信される。
【0027】
レシート印刷データである印刷データ5には、図2(a)に示すように、販売店情報欄D1、商品情報欄D2、集計欄D3が上方から順に配列されている。
販売店情報欄D1には、販売店舗名p1が設定されている。本実施形態では示していないが、販売店舗名p1の他に販売店舗の連絡先(電話番号)、売り場責任者名、販売日時などの情報がそれぞれ行をずらして設定されてもよい。また、本実施形態では販売店情報欄D1は販売店舗名p1を含んだ1行分の行データq0によって構成されている。
【0028】
商品情報欄D2には、販売した各商品に設定される行データq1,q2,q3……が配置されている。各行データを構成するデータ種(データ属性)は、商品名sa(所定の印刷データ)、販売金額scなどであり、用紙幅方向に位置をずらして設定されている。また、集計欄D3との境界を示す特定の文字列(図2(a)の例では、‘−’(ハイフン)が連続した文字列Wが設定されている。
【0029】
商品情報欄D2の各行データに記載される商品情報の内、商品名saは各行データ間で先頭文字が揃うように該当するデータ領域内での配置が指定される。販売金額scは、末尾桁が揃うようにそれぞれのデータ領域内での配置が指定される。
【0030】
また、集計欄D3には、販売合計金額r1が設定されている。本実施形態では示していないが、販売合計金額r1の他に税額、税別の販売合計金額、販売商品総数や、店舗の広告用の文章などのその他のデータが行をずらして設定されてもよい。また、本実施形態では集計欄D3は販売合計金額r1を含んだ1行分の行データq4によって構成されている。
なお、印刷データ5は、80mm幅の印刷用紙用に各行データのデータ領域を配置したものである。
【0031】
本実施形態のプリンタ1は、ホストコンピュータ3からプリンタドライバ9を介して送信された印刷データ5を、通信インタフェース11を介して受信して、受信バッファ13に格納する。
このプリンタ1には、受信バッファ13に格納された印刷データ5を予め設定した縮小幅に縮小した縮小印刷データ51(図2(b)(c)参照)に変換してプリントバッファ14に出力する主制御部15と、プリントバッファ14に出力された縮小印刷データ51(実印刷データ)に基づいて印字ヘッド17を作動させて印刷処理を実行する印刷実行部19とが備えられている。印刷実行部19は、プリンタ1による一連の処理の中で、後述するデータ展開部15aが生成する縮小行データqs0〜qs4を含む縮小印刷データ51に基づいて印刷処理を実行する。
【0032】
また、プリンタ1はフォント情報を保持するフォント情報保持部23を備えている。フォント情報保持部23には、予め複数サイズのフォントを保持しており、各構成データのフォントサイズを縮小する場合に読み出される。本実施形態では、フォント情報としてフォントA(1文字分のサイズが縦24dot×横12dot)、フォントB(1文字分のサイズが縦17dot×横9dot)、フォントC(1文字分のサイズが縦17dot×横7dot)を保持している。
【0033】
本実施形態のプリンタ1は、80mm幅に設定された各行データq0〜q4が、予め設定されている縮小幅(58mm)に収まるか否かを判定する。縮小幅(印刷範囲)に収まらない行データq1,q2,q3は、各行データを構成する商品名sa、販売金額sc、文字列W等のデータ属性に応じて縮小できる構成データのフォントサイズを縮小する。ここでは、縮小できる構成データは、商品名sa、文字列Wである。そして、縮小後の縮小構成データsa1,sa2と、他の構成データ(販売金額sc1,sc2)と、によって58mmの縮小幅に収まるよう短縮された縮小行データqs1,qs2を生成する。また、縮小後の縮小構成データWsによって58mmの縮小幅に収まるよう短縮された縮小行データqs3を生成する。
一方、印字桁が縮小幅に収まる行データq0,q4は、構成データ(販売店舗名p1、販売合計金額r1)の縮小処理を行わず、58mmの縮小幅に収まるよう短縮された縮小行データqs0,qs4が生成される。
【0034】
印刷データ5から縮小行データqs0,qs1,qs2,qs3,qs4を含む縮小印刷データ51を生成する処理は、主制御部15のデータ展開部15aが行う。
このデータ展開部15aは、プリンタ内のプログラム格納部21に格納されている動作制御プログラム22に基づいて、印刷データ5を処理する。具体的には、図3及び図4に示す手順で、プリンタ1の印刷動作を制御するものである。以下では、プリンタ1が実行する縮小印刷データの生成方法について詳細に説明する。
【0035】
ホストコンピュータ3から送信された印刷データ5が受信バッファ13に一時的に記憶されると、主制御部15は受信バッファ13から印刷データ5を構成しているデータを取り出し、改行契機の有無を判定することで1行分ずつのデータ配列を取得する。
まず、行データq0を取得すると、設定されている縮小幅58mmにおいて、行データq0の印字桁が1行に収まるか否かを判定する(ステップS101)。ここでは、行データq0の構成データである販売店舗名p1の印字桁は、縮小幅58mmにおいて1行に収まるため(ステップS101:Yes)、データ展開部15aは、58mmの縮小幅に収まるよう短縮された縮小行データqs0を生成し、プリントバッファ14に送る。プリントバッファ14に送られた縮小行データqs0は、印字契機に応じて印刷ヘッドに送られて印刷実行部19の制御のもと印刷処理が実行される(ステップS102)。
【0036】
データ展開部15aは、次の行データq1を取得すると、設定されている縮小幅58mmにおいて、行データq1の印字桁が1行に収まるか否かを判定する(ステップS101)。ここでは、行データq1の印字桁は、縮小幅58mmにおいて1行に収まらないため(ステップS101:No)、構成データである商品名sa、販売金額scのフォントサイズを縮小できるか判定する(ステップS103)。例えば、商品名sa、販売金額scのフォントとしてフォントAが指示された場合は、他に縮小フォントとしてフォントBあるいはフォントCを保持しているため、フォントサイズの縮小が可能である(ステップS103:Yes)。ステップS104において、文字サイズの縮小処理を実行する。
【0037】
文字サイズの縮小処理については、図4を参照して説明する。
データ展開部15aは、行データq1を探索し(ステップS201)、構成データが金額データであるか否かを判定する(ステップS202)。構成データのうち商品名saは、金額データではないため(ステップS202:No)、商品名saの文字サイズを縮小する(ステップS203)。すなわち、指示されたフォントAをフォントBに切り替えてフォントサイズを縮小する。
【0038】
行データq1の探索が終了していない場合は(ステップS204:No)、ステップS201に戻り、行データの探索を続ける。次の構成データ販売金額scは、金額データであるため(ステップS202:Yes)、文字サイズの縮小を行わず行データの探索を終了して(ステップS204:Yes)、文字サイズの縮小処理を終了する。
【0039】
なお、ステップS202において、構成データが金額データであるか否かを判定する方法としては、例えば次の(A)〜(C)の方法を採用することができる。
(A)行データの終端を金額データの終端と見なす方法。
(B)ASCIIコードの数字0x31〜0x39(数字の0〜9)で構成されている文字列を、数量や金額の文字列と見なす方法。
(C)ASCIIコードの数字0x31〜0x39(数字の0〜9)と、金額記号の0x24($)又は0x2F(¥)との組み合わせ、小数点記号の0x2E(.)との組み合わせで、金額データと見なす方法。
【0040】
図3に戻り、商品名saの文字サイズをフォントAからフォントBに切り替えた後の行データqs1の印字桁が、1行に収まるかを判定する(ステップS101)。つまり、フォントBに切り替えた商品名sa1に続いてフォントAの販売金額sc1からなる縮小行データqs1の印字桁が、縮小幅58mmにおいて1行に収まると判定した場合は(ステップS101:Yes)、縮小行データqs1をプリントバッファ14に送る。プリントバッファ14に送られた縮小行データqs1は、印字契機に応じて印刷ヘッドに送られて印刷実行部19の制御のもと印刷処理が実行される(ステップS102:図2(b)参照)。
【0041】
一方、フォントBに切り替えた商品名sa1に続いてフォントAの販売金額sc1からなる縮小行データqs1の印字桁が、縮小幅58mmにおいて1行に収まらない場合は(ステップS101:No)、さらにフォントサイズの縮小が可能か否かを判定する(ステップS103)。具体的には、商品名sa1のフォントがフォントBに切り替えられても、他に縮小フォントとしてフォントCを保持しているため、フォントサイズの更なる縮小が可能である(ステップS103:Yes)。したがって、ステップS104において、再び文字サイズの縮小処理を実行することができる。文字サイズの縮小処理については上記説明と重複するため省略する。
【0042】
商品名sa1の文字サイズをフォントBからフォントCに切り替えた場合も行データqs1の印字桁が、1行に収まるかを判定する(ステップS101)。つまり、フォントCに切り替えた商品名sa1に続いてフォントAの販売金額sc1からなる縮小行データqs1の印字桁が、縮小幅58mmにおいて1行に収まると判定した場合は(ステップS101:Yes)、縮小行データqs1をプリントバッファ14に送り印字契機に応じて印刷ヘッドに送られて印刷実行部19の制御のもと印刷処理が実行される(ステップS102)。一方、フォントCに切り替えた商品名sa1に続いてフォントAの販売金額sc1からなる縮小行データqs1の印字桁が、縮小幅58mmにおいて1行に収まらない場合は(ステップS101:No)さらにフォントサイズを縮小できるか判定する(ステップS103)。
【0043】
ところが、プリンタ1はフォントCより縮小可能なフォントを備えていないため、フォントサイズの更なる縮小は不可能であると判定し(ステップS103:No)、フォントCに切り替えた商品名sa1の一部を省略する(ステップS105、図2(3)参照)。つまり、フォントCに切り替えた商品名sa1の最後を表略表示「・・・」によって置き換え、続いてフォントAの販売金額sc1からなる縮小行データqs1をプリントバッファ14に送る。印字契機に応じて印刷ヘッドに送られて印刷実行部19の制御のもと印刷処理が実行される(ステップS102:図2(c)参照)。
【0044】
データ展開部15aは、上記処理を行データq2についても同様に行う。
次に、データ展開部15aは行データq3を取得すると、設定されている縮小幅58mmにおいて、行データq3の印字桁が1行に収まるか否かを判定する(ステップS101)。ここでは、行データq3の構成データである文字列W(ハイフン「−」)の印字桁は、縮小幅58mmにおいて1行に収まらないため(ステップS101:No)、文字列Wのフォントサイズを縮小できるか判定する(ステップS103)。文字列Wの縮小フォントがある場合は、ステップS104で縮小処理を実行する。縮小した文字列Wsから構成される縮小行データqs3の印字桁が1行に収まるまで縮小し、縮小行データqs3をプリントバッファ14に送り、印字契機に応じて印刷ヘッドに送られて印刷実行部19の制御のもと印刷処理が実行される(ステップS102:図2(b),(c)参照)。
【0045】
次に、データ展開部15aは行データq4を取得すると、設定されている縮小幅58mmにおいて、行データq4の印字桁が1行に収まるか否かを判定する(ステップS101)。ここでは、行データq4の構成データである販売合計金額r1の印字桁は、縮小幅58mmにおいて1行に収まるため(ステップS101:Yes)、データ展開部15aは、58mmの縮小幅に収まるよう短縮された縮小行データqs4を生成し、プリントバッファ14に送る。プリントバッファ14に送られた縮小行データqs4は、印字契機に応じて印刷ヘッドに送られて印刷実行部19の制御のもと印刷処理が実行される(ステップS102)。
【0046】
以上に説明した処理により、図2(b)あるいは図2(c)に示した縮小印刷データ51の各行データが作成され印刷される。
【0047】
このように、本実施形態のプリンタ1及びその制御方法によれば、ホストコンピュータ3から送信された印刷データ5に含まれる各行データq0〜q4は、印刷データ5を受け取るプリンタ1側のデータ展開部15aによって、予め設定されている縮小幅に短縮され縮小行データqs0〜qs4が生成される。したがって、POSシステムにおいて、プリンタ1を小さな用紙幅の機種に変更した場合に、ホストコンピュータ3に搭載されるアプリケーションプログラムやプリンタドライバを変更せずとも、プリンタ1側だけで、用紙幅が小さな用紙に印刷することができる。
また、フォントサイズの縮小は、各構成データのデータ属性に応じて、縮小できる構成データ(商品名sa)だけを縮小するので、少なくとも数字を示すデータ属性を有する販売金額sc等のように顧客にとって重要な情報や、販売店舗名p1等のように縮小する必要のない情報は縮小せずに印刷することができる。このため、小幅の用紙に印字体裁を保った視認性の良い印刷を実施でき、視認性の低下を招くことがない良好な印字体裁の出力結果を提供することができる。
【0048】
また、本実施の形態のプリンタ1及びその制御方法によれば、縮小行データqs0〜qs4が縮小幅に収まるまで、フォントサイズをさらに縮小していくことができる。すなわち、プリンタ1が保持しているフォントサイズ(フォントA,フォントB,フォントC)の範囲で構成データを徐々に縮小していき、縮小行データqs0〜qs4が縮小幅に収まるときのフォントサイズが自動的に指定される。したがって、縮小幅に収まる範囲内で最大のフォントサイズを指定することができるので、文字サイズが小さくなり過ぎて、内容を確認し難いという不都合が発生しづらい。また、文字サイズが小さくなり過ぎて、行間等の印字体裁が崩れることも防止できる。
【0049】
また、本実施の形態のプリンタ1及びその制御方法によれば、商品名saをプリンタ1に保持している最小のフォントサイズであるフォントCに縮小しても、縮小行データqs1,qs2が縮小幅に収まらない場合は、商品名sa1,商品名sa2の一部を省略する。一方、商品名sa1,商品名sa2以外の他の構成データである販売金額sc1,sc2は省略することがないため、顧客にとって重要な情報や縮小する必要のない情報からなる構成データは省略せずに印刷することができるので、視認性の低下を招くことがない良好な印字体裁の出力結果を提供することができる。
【0050】
なお、上記実施形態では、行データq1及び行データq2を構成する構成データは、商品名saと商品金額scとによって構成されたが、これに限定するものではない。例えば、商品名saと商品金額scのほかに商品数量を含めた行データに基づき縮小処理を行うこともできる。この場合は、商品名saだけを縮小あるいは省略表示してもよいし、商品名sa及び商品数量を縮小あるいは省略するよう構成してもよい。
【0051】
なお、上記実施形態では、一例として、80mmの印刷用紙を想定した印刷データ5を、58mmの印刷用紙に縮小印刷する場合を示した。しかし、本発明に係るプリンタ及びその制御方法において、縮小幅は上記実施の形態の例に限定しない。本発明に係るプリンタ及びその制御方法は、更に小幅な用紙に印刷する場合にも応用可能である。
【0052】
また、本発明に係るプリンタの用途は、POSシステム用に限定するものではない。使用する印刷用紙幅が制限されている各種のプリンタに応用可能である。
【図面の簡単な説明】
【0053】
【図1】本発明に係るプリンタの一実施の形態の構成を示すブロック図である。
【図2】(a)は図1に示したプリンタがホストコンピュータから送信されたレシート印刷データの構成図、(b)は図1に示したプリンタが生成したレシート印刷データの構成図、(c)は図1に示したプリンタが生成したレシート印刷データの他の構成図である。
【図3】本実施形態のプリンタで実行する縮小行データの生成と印刷処理を説明するためのフローチャートである。
【図4】図3の縮小処理の詳細を説明するためのフローチャートである。
【図5】(a)は従来の縮小処理前の印刷データの構成図、(b)は従来の縮小処理によって縮小された縮小印刷データの構成図である。
【符号の説明】
【0054】
1:プリンタ、3:ホストコンピュータ、5:印刷データ、7:アプリケーションプログラム、9:プリンタドライバ、13:受信バッファ、14:プリントバッファ、15:主制御部、15a:データ展開部、17:印字ヘッド、19:印刷実行部、21:プログラム格納部、22:動作制御プログラム、23:フォント情報保持部、51:縮小印刷データ、D1:販売店情報欄、D2:商品情報欄、D3:集計欄、q0〜q4:行データ、qs0〜qs4:縮小行データ、sa:商品名、sc:販売金額

【特許請求の範囲】
【請求項1】
ホストコンピュータから送信された印刷データに基づき印刷するプリンタであって、
前記印刷データを印刷する場合、予め設定されている印刷範囲に収まるか否かを判定し、収まらない場合は、前記印刷データのデータ属性に応じて所定の前記印刷データのフォントサイズを縮小して、実印刷データを生成するデータ展開部と、
前記実印刷データを前記印刷範囲に印刷する印刷実行部と、を有することを特徴とするプリンタ。
【請求項2】
前記データ展開部は、縮小する前記フォントサイズを、前記印刷範囲に収まる範囲で最大のものとすることを特徴とする請求項1に記載のプリンタ。
【請求項3】
前記データ展開部は、所定の前記印刷データのフォントサイズを縮小しても前記印刷範囲に収まらない場合は、前記印刷データの属性に応じて前記印刷データの一部を省略することを特徴とする請求項1に記載のプリンタ。
【請求項4】
前記データ展開部は、前記印刷範囲を印刷幅とすることを特徴とする請求項1から3の何れかに記載のプリンタ。
【請求項5】
前記フォントサイズを縮小する所定の前記印刷データは、少なくとも数字を示すデータ属性を有するものを除く印刷データであることを特徴とする請求項1から4の何れかに記載のプリンタ。
【請求項6】
ホストコンピュータから送信された印刷データに基づき印刷処理を実行するプリンタの制御方法であって、
前記印刷データを印刷する場合、予め設定されている印刷範囲に収まるか否かを判定するステップと、
収まらないと判定した場合に、前記印刷データのデータ属性に応じて所定の前記印刷データのフォントサイズを縮小して、実印刷データを生成するステップと、
前記実印刷データを前記印刷範囲に印刷するステップと、を有することを特徴とするプリンタの制御方法。
【請求項7】
送信された印刷データに基づき印刷するプリンタが接続されるコンピュータに、
前記印刷データを印刷する場合、予め設定されている印刷範囲に収まるか否かを判定するステップと、
収まらないと判定した場合に、前記印刷データのデータ属性に応じて所定の前記印刷データのフォントサイズを縮小して、実印刷データを生成するステップと、
前記実印刷データを前記印刷範囲に印刷するステップと、を実行させることを特徴とするプリンタの動作制御プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


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