(57)【特許請求の範囲】
【請求項１】
用紙情報や印字の座標位置、回転角度、倍率を含む制御コマンドと印字データを入力し印字を行う印字装置であって、
前記制御コマンドの用紙情報により印字領域を形成する印字領域形成手段と、
前記印字データを解析して１次元バーコード又は２次元コード指定の有無を判定する判定手段と、
前記１次元バーコード又は２次元コードのビットデータを作業領域に生成するビット展開手段と、
前記ビット展開手段により作業領域に生成したビットデータを前記印字領域に転送する時に、前記印字領域をオーバーしていることを判定する領域オーバー判定手段と、
前記領域オーバー判定手段により印字領域をオーバーしていない時はそのまま印字を行い、オーバーしていると判断した場合は、前記印字領域をオーバーした１次元バーコード又は２次元コードのコマンドを印字する、または前記印字領域をオーバーした１次元バーコード又は２次元コードを、前記印字領域内に収めるための印字座標位置の補正値を印字する検証情報印字手段とを備えることを特徴とする検証機能付き印字装置。
【請求項２】
用紙情報や印字の座標位置、回転角度、倍率を含む制御コマンドと印字データを入力し印字を行う印字方法であって、
前記制御コマンドの用紙情報により印字領域を形成し、
前記印字データを解析して１次元バーコード又は２次元コード指定の有無を判定し、
前記１次元バーコード又は２次元コードのビットデータを生成し、
生成したビットデータを前記印字領域に転送する時に、前記印字領域をオーバーしていることを判定し、
印字領域をオーバーしていない時はそのまま印字を行い、オーバーしていると判断した場合は、前記印字領域をオーバーした１次元バーコード又は２次元コードのコマンドを印字する、または前記印字領域をオーバーした１次元バーコード又は２次元コードを、前記印字領域内に収めるための印字座標位置の補正値を印字することを特徴とする印字方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、キー入力部又はホストからの少なくとも用紙情報や印字座標位置、回転角度、倍率を含む制御コマンドと印字データの設定により、１次元バーコード又は２次元コードを印字する印字装置において、特に印字領域オーバーの検証を行う印字装置及び印字方法に関する。
【０００２】
【従来の技術】
従来、流通市場や物流市場、衣料市場等では、情報化に伴い製品の生産地やロット番号、個数、色、型、商品名、納品先企業名や住所等多くの情報を用紙に印字し、各製品毎に添付したり梱包された箱に貼付し出荷や入荷が行なわれている。
ここで使用される受注票や現品票は、複数枚の用紙を重ねた形状の伝票を使用していたが、先ごろでは、経費削減の一環として１枚の用紙に生産地やロット番号、個数、色、型、商品名、納品先企業名や住所等を１次元バーコードや２次元コードとして印字することで、印字内容の少スペース化と他の企業に知られたくない管理情報の暗号化やスキャナ読取による作業効率の高速化を目的に、１次元バーコードや２次元コードを印字する印字装置が使用されているが、それでも１枚の用紙に印字する内容が多くあり印字レイアウトが繁雑になってしまう場合があった。
【０００３】
１次元バーコードは、ＪＡＮ（ＪＩＳ規格ＪＩＳ−Ｘ−０５０１）のように８桁や１３桁に情報量が制限されるものがあるが、近頃では、製品の種類が増加しＩＴＦ（ＪＩＳ規格ＪＩＳ−Ｘ−０５０２）やＣＯＤＥ３９（ＪＩＳ規格ＪＩＳ−Ｘ−０５０２）のように桁数を制限しない１次元バーコードが使用されるようになってきており、これらの１次元バーコードはデータ量に応じてバーの数が幅方向に可変するもので、印字レイアウト作成者は、データ量や倍率によりどれくらいの長さになるかは予想できず、印字発行を何回も行い確認する必要があった。
【０００４】
また、２次元コードは、ＱＲコード（ＪＩＳ規格ＪＩＳ−Ｘ−０５１０）やデータコード（ＪＩＳ規格ＪＩＳ−Ｘ−０２２１）などが知られているが、これらは、コード化する情報の暗号化をしており、ビットデータ化するコード（半角文字や全角文字）の順番やエラーコレクションレベル（誤り訂正）などの設定により、高さ方向及び幅方向に大きさが可変するもので、印字レイアウト作成者は、2次元コードとする複数のパターン全てを印字発行を繰返し行い確認する必要があった。
【０００５】
以降、従来の印字装置について、図１１及び図１２に基づき概説する。
従来、印字に関する制御コマンド（用紙情報、印字座標位置、回転角度、倍率、印字枚数等）と共に印字データである文字や記号、図形、１次元バーコード又は２次元コードを、印字装置にあるキー入力部や上位ホストからの設定により印字する印字装置が知られている。
この印字装置では、図１１に示す印字装置本体で印字可能な用紙の最大サイズ分の編集バッファＦ１を持っており、制御コマンドの印字座標位置（Ｘ座標、Ｙ座標）により印字基点を決め、印字データである文字や記号、バーコードなどを一旦作業領域にビットデータとして展開し、指定された回転角度や倍率に加工した後、編集バッファＦ１に転送する。
このとき、印字座標位置の指定と実際に印字する用紙のサイズ（印字領域Ｆ２）とが考慮されていないため、編集バッファＦ１内には転送できるものの、１次元バーコードＢ１、Ｂ３や２次元コードＢ２、Ｂ４のように印字領域Ｆ２を超えて転送される場合があった。
【０００６】
そのため、印字レイアウトを決定するまでの過程や情報量の増加により再度印字レイアウトを変更する場合には、図１２に示す従来での印字結果のように、文字列Ｂ５が印字領域Ｆ２をオーバーしている事は目視できることに対し、印字領域Ｆ２内の１次元バーコードＢ１、Ｂ３や２次元コードＢ２、Ｂ４が正しく印字されているかは目視では確認できないため、スキャナによる読取り作業を行なっていたが、スキャナによる確認を行なうと解読できない読取りエラーとなるため、毎度この確認作業により読取りエラーとなった１次元バーコードや２次元コードの印字位置を示すプログラムやデータの印字座標位置を計算し直し修正して、再度印字発行後のスキャナによる確認作業を繰り返す必要があり、非常に労力を必要とし手数がかかって面倒であった。
【０００７】
また、近年プリンタ用のドライバーソフトによりパーソナルコンピュータ上のＣＲＴで、印字レイアウトをイメージ画像として表示させ、文字や１次元バーコード又は２次元コードが印字領域内にあるか確認する方法が知られている。
しかし、プリンタ用のドライバーソフトを使用した場合は、ＣＲＴ画面の密度とプリンタのヘッド密度とが異なる為、画面上のレイアウトでは用紙サイズ内に１次元バーコードや２次元コードが収まった様に見えても、実際のプリンタで印字を行なった場合には、微妙な誤差が生じ１次元バーコードや２次元コードが用紙サイズ内に正しく印字されていない場合があり、目視による確認ができないためスキャナの読取にて確認しなければならず、非常に労力を必要とし手数がかかって面倒であった。
【０００８】
また、印字領域内に１次元バーコードや２次元コードが正しく印字されているかを確認する為に、毎度印字発行を行わなければならず、確認作業に時間がかかると共に、多量な用紙を必要とする為、経費を浪費する問題があった。
【０００９】
【発明が解決しようとする課題】
本発明は、上記課題に鑑み、スキャナやプリンタ用ドライバーソフトを必要とせず、指定した用紙サイズ内に１次元バーコード又は２次元コードが正しく印字されたかを、簡単且つ明瞭に判断する事ができ、印字レイアウト決定及び情報量の増加により再度印字レイアウトを変更する場合での変更・修正時間や労力、経費を最小限にする検証機能付き印字装置及び印字方法を提供することを課題とする。
【００１０】
すなわち本発明では、制御コードの用紙情報により印字領域をオーバーした１次元バーコード又は２次元コードの検証に着目したもので、第一の発明は、用紙情報や印字の座標位置、回転角度、倍率を含む制御コマンドと印字データを入力し印字を行う印字装置であって、前記制御コマンドの用紙情報により印字領域を形成する印字領域形成手段と、  前記印字データを解析して１次元バーコード又は２次元コード指定の有無を判定する判定手段と、前記１次元バーコード又は２次元コードのビットデータを作業領域に生成するビット展開手段と、前記ビット展開手段により作業領域に生成したビットデータを前記印字領域に転送する時に、前記印字領域をオーバーしていることを判定する領域オーバー判定手段と、前記領域オーバー判定手段により印字領域をオーバーしていない時はそのまま印字を行い、オーバーしていると判断した場合は、前記印字領域をオーバーした１次元バーコード又は２次元コードのコマンドを印字する、または前記印字領域をオーバーした１次元バーコード又は２次元コードを、前記印字領域内に収めるための印字座標位置の補正値を印字する検証情報印字手段とを備えることを特徴とする検証機能付き印字装置である。
【００１４】
第二の発明は、用紙情報や印字の座標位置、回転角度、倍率を含む制御コマンドと印字データを入力し印字を行う印字方法であって、前記制御コマンドの用紙情報により印字領域を形成し、前記印字データを解析して１次元バーコード又は２次元コード指定の有無を判定し、前記１次元バーコード又は２次元コードのビットデータを生成し、生成したビットデータを前記印字領域に転送する時に、前記印字領域をオーバーしていることを判定し、印字領域をオーバーしていない時はそのまま印字を行い、オーバーしていると判断した場合は、前記印字領域をオーバーした１次元バーコード又は２次元コードのコマンドを印字する、または前記印字領域をオーバーした１次元バーコード又は２次元コードを、前記印字領域内に収めるための印字座標位置の補正値を印字することを特徴とする印字方法である。
【００１５】
本発明による印字装置における印字領域オーバーの検証機能付き印字装置及び印字方法においては、特に第一の発明によれば、印字領域形成手段と判定手段、ビット展開手段、領域オーバー判定手段により、印字領域をオーバーしていない時はそのまま印字を行い、オーバーしていると判断した場合は、オーバーしている旨を目視できるように検証情報を印字する検証情報印字手段を設けたので、印字領域内に収まった１次元バーコード又は２次元コードの印字部分を塗り潰したマークを印字する。
または、印字領域をオーバーした１次元バーコード又は２次元コードの制御コマンド及び印字データを印字する。
または、印字領域をオーバーした１次元バーコード又は２次元コードの制御コマンドである印字座標位置の補正値を印字する。
上記手段により、印字領域内に１次元バーコード又は２次元コードが正しく印字されたかを、簡単且つ明瞭に判断する事ができ、印字レイアウト決定及び情報量を増加した場合の変更・修正時間や労力、経費を最小限にすることができる。
【００１６】
特に第二の発明によれば、制御コマンドの用紙情報により印字領域を形成し、印字データを解析して１次元バーコード又は２次元コード指定の有無を判定し、１次元バーコード又は２次元コードのビットデータを生成し、生成したビットデータを印字領域に転送する時に、印字領域をオーバーしているかを判定し、印字領域をオーバーしていない時はそのまま印字を行い、オーバーしていると判断した場合は、オーバーしている旨を目視できるように検証情報を印字するようにしたので、印字領域内に１次元バーコード又は２次元コードが正しく印字されたかを簡単且つ明瞭に判断する事ができ、印字レイアウト決定及び情報量を増加した場合の変更・修正時間や労力、経費を最小限にすることができる。
【００１７】
【発明の実施の形態】
以下に、本発明の実施の形態を図面を用いて説明する。
始めに図１は、本発明の要部をなす印字装置の制御部１を示すブロック図である。
制御部１本体は、中央処理装置（ＣＰＵ）であるＣＰＵ２によりバスライン３を介してＲＯＭ４、ＲＡＭ５、サーマルヘッド６、搬送モーター７、センサー８、外部インタフェース９、キー入力部１０、表示部１１、報知部１２をそれぞれ制御するような構成になっている。
【００１８】
前記ＲＯＭ４は、各要部を制御するためのメイン処理プログラムや、設定されたコマンドを解析しドットデータに描画展開するプログラムなどの印字装置を制御する上で必要なプログラムが格納されており、必要に応じて前記ＣＰＵ２により呼出され処理を行う。また、各種フォントデータや１次元バーコード又は２次元コードの生成に必要なテーブルも格納されており、描画展開時に使用される。
【００１９】
前記ＲＡＭ５は、上位ホストより受信する制御コマンドと印字データを格納する受信バッファ１３と、本印字装置で印字できる用紙の最大サイズに相当する編集バッファ１４と、前記編集バッファ内に制御コマンドの用紙情報により形成される印字領域１５と、１次元バーコード又は２次元コードをドットデータに描画展開する時に使用する作業領域１６と、印字領域オーバーの判定に用いるオーバーフラグ１７と、制御コマンドの用紙情報による用紙サイズを格納する用紙サイズ格納部１８と、印字座標位置情報を格納する座標データ格納部１９と、回転角度を格納する角度データ格納部２０と、倍率を格納する倍率データ格納部２１と、作業領域１６に展開されたビットデータを印字領域１５に転送を行なうときに使用する転送サイズ格納部２２とから構成されている。
【００２０】
前記サーマルヘッド６は、１ライン分の印字データを加熱することで用紙に印字を行い、前記搬送モーター７は、用紙又は必要に応じてインクリボンの搬送を共に行い、前記センサー８は、用紙の有無や位置と状態の監視を行い、外部インタフェース９は、上位ホストとケーブルにより接続され制御コマンドや印字データの受信を行い、キー入力部１０は、制御コマンドや印字データの設定及び印字発行の中断や取消しを行い、表示部１１は、印字装置の状態表示を行い、報知部１２は、エラーが発生した場合にブザーやＬＥＤの点滅、点灯を行う。
【００２１】
こうした構成の印字装置において、第一の実施の形態を図２乃至図６を用いて説明する。
図２は、本発明の実施の形態である印字装置の概略処理を示すフローチャート図である。
いま、図示しない上位ホストと外部インタフェース部９とが接続され、印字装置内には用紙がセットされた状態で電源が投入される。
また、外部インタフェース部９により受信するデータは、受信データの開始を示すコードの後に、制御コマンドと印字データとが一対で複数送られ、最後に受信データの終了を示すコードの受信を行なう。
【００２２】
先ず最初に、ステップＳ１では外部インタフェース部9により上位ホストからの受信データがあるかを判定し、受信データが無い場合はステップＳ１を繰り返し処理し、受信データがある場合はステップＳ２に移行する。ステップＳ２では、受信したデータを順次受信バッファ１３に書き込みを行なう。
その後、ステップＳ３では上位ホストからの受信データの終了を示すコードが受信済みであるかをチェックし、受信済でない場合はステップＳ１に戻り次の受信データの待ち状態に戻り、上位ホストからの受信データの終了を示すコードが受信済みである場合はステップＳ４に移行する。
【００２３】
ステップＳ４では、印字領域オーバーの判定に用いるオーバーフラグ１７に対し初期化（０）を書込みステップＳ５に移行する。
ステップＳ５では受信バッファ１３に書き込まれた各々の制御コマンドや印字データを受信した順番に解析処理を行い、ステップＳ６の判定処理に移行する。
【００２４】
ステップＳ６では、解析したデータが制御コマンドである場合はステップＳ７に移行し、ステップＳ７では、制御コマンドが用紙情報の場合は、パラメータを再度解析し印字する用紙サイズをドットデータに換算し、縦サイズ（Ｘｍａｘ）と横サイズ（Ｙｍａｘ）を用紙サイズ格納部１８に格納する。
その後、指定されたドットサイズにより印字領域１５を編集バッファ１４内に形成しステップＳ８に移行する。（印字領域形成手段）
ステップ８では、受信したデータ全ての解析が終了したかを判定し、解析が完了していない場合はステップＳ５に戻り次の受信データの解析を行い、ステップＳ６の判定処理に移行する。
【００２５】
ステップＳ６では、解析したデータが制御コマンドである場合はステップＳ７に移行し、ステップＳ７では、制御コマンドが印字座標位置の場合は、座標データであるＸ座標とＹ座標をドットデータに換算し座標データ格納部１９に格納する。その後、ステップＳ８に移行する。ステップ８では、受信したデータ全ての解析が終了したかを判定し、解析が完了していない場合はステップＳ５に戻り次の受信データの解析を行い、ステップＳ６の判定処理に移行する。
【００２６】
ステップＳ６では、解析したデータが制御コマンドである場合はステップＳ７に移行し、ステップＳ７では、制御コマンドが回転角度の場合は、数値の０＝０°、１＝９０°、２＝１８０°、３＝２７０°を示す角度データを角度データ格納部２０に格納しステップＳ８に移行する。
ここで、上記印字座標位置と回転角度の関係を図3を用いて説明する。
図３は、本発明の実施の形態における印字装置の印字座標位置と回転角度の関係を示す図である。
図３のＶはＸ座標を示しＨはＹ座標を示す。また、用紙の搬送方向に対し同図のＢ１は０°の1次元バーコードを示し左上を基点とする。同様にＢ２は９０°、Ｂ３は１８０°、Ｂ４は２７０°回転した1次元バーコードで、基点を中心に反時計回りに回転する指定となる。
また、上記の説明では1次元バーコードを例としたが、本印字装置で印字する文字や図形、2次元コード等全ての印字データにおいて、回転角度が指定された場合は同様の処理を行なう。
ステップ８では、受信したデータ全ての解析が終了したかを判定し、解析が完了していない場合はステップＳ５に戻り次の受信データの解析を行い、ステップＳ６の判定処理に移行する。
【００２７】
ステップＳ６では、解析したデータが制御コマンドである場合はステップＳ７に移行し、ステップＳ７では、制御コマンドが倍率の場合は、数値で１〜１２倍までの倍率データを倍率データ格納部２１に格納しステップＳ８に移行する。ステップ８では、受信したデータ全ての解析が終了したかを判定し、解析が完了していない場合はステップＳ５に戻り次の受信データの解析を行い、ステップＳ６の判定処理に移行する。
【００２８】
ステップＳ６では、解析したデータが制御コマンドで無い場合はステップＳ９に移行する。
ステップＳ９では、解析したデータが1次元バーコードであるかを判定し、１次元バーコードである場合は、ステップＳ１０に移行する。（判定手段）
ステップＳ１０では、受信した１次元バーコードのコマンドを更に解析して、１次元バーコードのビットデータを作業領域１６に生成し、倍率データ格納部２１の倍率により拡大処理を行なう。（ビット展開手段）
【００２９】
ここで図４を用いて説明する。図４は、本実施の形態による印字装置の領域オーバー判定手段に関する処理を示す図である。
図４の１次元バーコードＢ１は、上記ステップＳ１０によりビット展開されたものを示す。
この時、ビット展開された1次元バーコードの開始のバー（ＳＴ）から終了のバー（ＥＤ）までのドット数（Ｚ）の算出を行い、転送サイズ格納部２２に書き込みを行ないステップＳ１１に移行する。
ステップＳ１１では、作業領域１６に生成した１次元バーコードのビットデータを印字領域１５への転送処理を行なうサブルーチン（図５のステップＳ２１）に移行する。
【００３０】
ステップＳ２１以降については、図４及び図５を用いて説明する。
図５は、本発明の実施の形態である印字装置の領域オーバー判定手段に関する処理を示すフローチャート図である。
ステップＳ２１では、角度データ格納部２０に格納されている回転角度の判定を行い、ステップＳ２２乃至ステップＳ２５に移行する。
【００３１】
回転角度が０°の場合は、ステップＳ２２に移行する。
ステップＳ２２では、用紙サイズ格納部１８にあるＹｍａｘと、座標データ格納部１９にあるＹ座標に転送サイズ格納部２２のドット数（Ｚ）を加算した値とを比較する。この時、Ｙｍａｘが大きい場合は印字領域１５内であると判定し、Ｙｍａｘが小さいか、または等しい場合は印字領域オーバーとしてオーバーフラグ１７に印字領域オーバーを示すデータ（１）を書き込む。（領域オーバー判定手段）
図４のＢ２は、回転角度が０°で印字領域をオーバーした１次元バーコードであることを示す。
この時、下記の計算を行ない転送サイズ格納部２２に印字領域内に収まる転送ドットサイズ（図４のＮ）を書込む。
Ｎ＝Ｚ−（（Ｙ座標＋Ｚ）−Ｙｍａｘ）
上記の処理を行なった後、作業領域１６から印字領域１５へ座標データ格納部１９が示す座標位置に転送サイズ格納部２２で示すサイズを転送し、ステップＳ２６に移行する。
【００３２】
回転角度が９０°の場合は、ステップＳ２３に移行する。
ステップＳ２３では、座標データ格納部１９にあるＸ座標と転送サイズ格納部２２のドット数（Ｚ）を比較する。この時、Ｘ座標が大きい場合は印字領域１５内であると判定し、Ｘ座標が小さいか、または等しい場合は印字領域オーバーとしてオーバーフラグ１７に印字領域オーバーを示すデータ（１）を書き込む。（領域オーバー判定手段）
図４のＢ３は、回転角度が９０°で印字領域をオーバーした１次元バーコードであることを示す。
この時、下記の計算を行ない転送サイズ格納部２２に印字領域内に収まる転送ドットサイズ（図４のＮ）を書込む。
Ｎ＝Ｚ−（Ｚ−Ｘ座標）
上記の処理を行なった後、作業領域１６から印字領域１５へ座標データ格納部１９が示す座標位置に転送サイズ格納部２２で示すサイズを転送し、ステップＳ２６に移行する。
【００３３】
回転角度が１８０°の場合は、ステップＳ２４に移行する。
ステップＳ２４では、座標データ格納部１９にあるＹ座標と転送サイズ格納部２２のドット数（Ｚ）を比較する。この時、Ｙ座標が大きい場合は印字領域１５内であると判定し、Ｙ座標が小さいか、または等しい場合は印字領域オーバーとしてオーバーフラグ１７に印字領域オーバーを示すデータ（１）を書き込む。（領域オーバー判定手段）
図４のＢ４は、回転角度が１８０°で印字領域をオーバーした１次元バーコードであることを示す。
この時、下記の計算を行ない転送サイズ格納部２２に印字領域内に収まる転送ドットサイズ（図４のＮ）を書込む。
Ｎ＝Ｚ−（Ｚ−Ｙ座標）
上記の処理を行なった後、作業領域１６から印字領域１５へ座標データ格納部１９が示す座標位置に転送サイズ格納部２２で示すサイズを転送し、ステップＳ２６に移行する。
【００３４】
回転角度が２７０°の場合は、ステップＳ２５に移行する。
ステップＳ２５では、用紙サイズ格納部１８にあるＸｍａｘと、座標データ格納部１９にあるＸ座標に転送サイズ格納部２２のドット数（Ｚ）を加算した値とを比較する。この時、Ｘｍａｘが大きい場合は印字領域１５内であると判定し、Ｘｍａｘが小さいか、または等しい場合は印字領域オーバーとしてオーバーフラグ１７に印字領域オーバーを示すデータ（１）を書き込む。（領域オーバー判定手段）
図４のＢ５は、回転角度が２７０°で印字領域をオーバーした１次元バーコードであることを示す。
この時、下記の計算を行ない転送サイズ格納部２２に印字領域内に収まる転送ドットサイズ（図４のＮ）を書込む。
Ｎ＝Ｚ−（（Ｘ座標＋Ｚ）−Ｘｍａｘ）
上記の処理を行なった後、作業領域１６から印字領域１５へ座標データ格納部１９が示す座標位置に転送サイズ格納部２２で示すサイズを転送し、ステップＳ２６に移行する。
【００３５】
尚、上記ステップＳ２２乃至ステップ２５で、作業領域１６から印字領域１５への転送は、１バイト単位に行なわれるが、この時、印字領域１５のデータとビット演算（ＡＮＤまたはＯＲ）により行なってもよい。
【００３６】
ステップＳ２６では、オーバーフラグ１７の内容を判定し、印字領域をオーバーしていない（０）の場合は、本サブルーチンを終了し図２のステップＳ８に移行する。
印字領域オーバー（１）と判定した場合はステップＳ２７に移行する。
【００３７】
ステップＳ２７では、作業領域１６にビット展開したビットデータを全て黒データに置き換え、ステップＳ２８では、作業領域１６から印字領域１５へ座標データ格納部１９が示す座標位置に転送サイズ格納部２２で示すサイズを再度転送する。
図６は第一の実施の形態による印字結果を示す図である。
図６のＢ１は、印字領域をオーバーした１次元バーコードを示し、Ｂ２は２次元コードである。
Ｂ３は、印字領域内に印字した１次元バーコードを示し、Ｂ４は２次元コードである。
その後、本サブルーチンを終了し図２のステップＳ８に移行する。
【００３８】
ステップ８では、受信したデータ全ての解析が終了したかを判定し、解析が完了していない場合はステップＳ５に戻り次の受信データの解析を行い、ステップＳ６の判定処理に移行する。
【００３９】
ステップＳ６では、解析したデータが制御コマンドで無い場合はステップＳ９に移行する。
ステップＳ９では、解析したデータが1次元バーコードで無い場合はステップＳ１２に移行する。
ステップＳ１２では、解析したデータが２次元コードであるかを判定し、２次元コードである場合は、ステップＳ１３に移行する。（判定手段）
ステップＳ１３では、受信した２次元コードのコマンドを更に解析して、２次元コードのビットデータを作業領域１６に生成し、倍率データ格納部２１の倍率により拡大処理を行なう。（ビット展開手段）
【００４０】
ここで図４を用いて説明する。図４の２次元コードＢ６は、上記ステップＳ１３によりビット展開されたものを示す。
この時、ビット展開された２次元コードのドット数（Ｚ）の算出を行い、転送サイズ格納部２２に書き込みを行ないステップＳ１１に移行する。
ステップＳ１１では、作業領域１６に生成した１次元バーコードのビットデータを印字領域１５への転送処理を行なうサブルーチン（図５のステップＳ２１）に移行する。
【００４１】
ステップＳ２１以降については、前記で説明しているので省略する。
尚、図４のＢ７は回転角度が０°で印字領域をオーバーした２次元コードであり、Ｂ８は回転角度が９０°で印字領域をオーバーした２次元コードであり、Ｂ９は回転角度が１８０°で印字領域をオーバーした２次元コードであり、Ｂ１０は回転角度が２７０°で印字領域をオーバーした２次元コードを示す。
ステップＳ１１のサブルーチンの処理を終了後、ステップＳ８に移行する。
【００４２】
ステップ８では、受信したデータ全ての解析が終了したかを判定し、解析が完了していない場合はステップＳ５に戻り次の受信データの解析を行い、ステップＳ６の判定処理に移行する。
ステップＳ６では、解析したデータが制御コマンドで無い場合はステップＳ９に移行する。
ステップＳ９では、解析したデータが1次元バーコードで無い場合はステップＳ１２に移行する。
ステップＳ１２では、解析したデータが２次元コードで無い場合はステップＳ１４に移行する。
ステップＳ１４では、その他の文字や記号、図形等の印字データを作業領域１６にビット展開し、印字領域１５に転送する。その後ステップＳ８に移行する。
【００４３】
ステップ８では、受信したデータ全ての解析が終了したかを判定し、解析が完了した場合は、ステップＳ１５に移行する。
ステップＳ１５では、ＣＰＵ１の制御により、サーマルヘッド６に印字領域１５の１ライン分のビットデータを転送し、過熱することで１ライン分の印字を行い、搬送モーター７により用紙を１ドット分搬送する。この処理を繰返し行いセンサー８で用紙１枚分の印字を終了する。その後ステップＳ１６に移行する。
【００４４】
ステップＳ１６では、オーバーフラグ１７の内容を判定し、印字領域をオーバーしていない（０）の場合はステップＳ１７に移行し、ステップＳ１７では、制御コマンドで指定された印字枚数分の発行を終了したかの判定を行ない、終了していない場合はステップＳ１５に戻り印字発行処理を印字枚数になるまで繰返し、印字枚数分の発行が終了した場合はステップＳ１に戻り、次の受信データ待ちとなり、上記に説明した全てのステップを繰返し行なう。
【００４５】
ステップＳ１６で、印字領域オーバー（１）と判定した場合はステップＳ１８に移行し、ステップＳ１８では、印字動作停止に関するサーマルヘッド６や搬送モータ７、センサー８などの停止処理を行い、ステップＳ１９では、表示部１１に印字領域オーバーに関するメッセージや番号等を表示し、ステップＳ２０では、報知部１２によりＬＥＤの点灯や点滅、ブザーの鳴動などにより作業者に対し報知する。
【００４６】
上記の説明により、第一の実施の形態では、図５でのステップＳ２７、２８により、印字領域をオーバーした１次元バーコードまたは２次元コードが黒く塗りつぶされて印字されるため、目視での確認を容易にし、修正・変更作業を円滑に行なうことができる。また、１次元バーコードまたは２次元コードが複数存在した場合でも、印字領域をオーバーした全ての１次元バーコードまたは２次元コードを簡単且つ明瞭に確認することができる。
【００４７】
尚、第一の実施の形態では、印字領域をオーバーした１次元バーコードまたは２次元コードを黒く塗りつぶしたマークとしたが、複数色を発色するサーマル紙やカラーリボン、カラープリンタを使用することでマーク部分を強調することができ、目視による確認作業を更に向上することができる。
【００４８】
次に第二の実施の形態を図２及び図７、図８を用いて説明する。
図７は、本発明の実施の形態である印字装置の領域オーバー判定手段に関する処理を示すフローチャート図である。
前記で説明した処理の中で、図２でのステップＳ７において、印字座標位置の処理を行なう時に、受信バッファ１３の制御コマンドである印字座標位置が格納されているアドレスをＲＡＭ５に格納する。
また、図７において、ステップＳ２１からステップＳ２６までは、第一の実施の形態と同様であるが、ステップＳ２９では、上記ＲＡＭ５に格納された受信バッファ１３のアドレスから約１００から２００バイトの受信データを作業領域１６に文字列のビットデータを、用紙サイズ格納部１８にあるＹｍａｘのサイズに合わせて変換し、ステップＳ３０では、作業領域１６に生成したデータを印字領域１５に転送する。この時、作業領域１６から印字領域１５への転送は、１バイト単位に行なわれるが、この場合はビット演算は使用しない。
【００４９】
図８は第二の実施の形態による印字結果を示す図である。
図８のＢ１は、印字領域をオーバーした１次元バーコードを示し、Ｂ２は２次元コードである。
Ｄ１は、印字領域をオーバーした１次元バーコードまたは２次元コードの制御コマンドと印字データが文字列として印字された印字結果を示す。
【００５０】
尚、本実施の形態において、印字領域をオーバーした１次元バーコードまたは２次元コードが複数発生した場合には、最後に検出した１次元バーコードまたは２次元コードの制御コマンド及び印字データが印字される。
【００５１】
上記の説明により、第二の実施の形態では、図7でのステップＳ２９、３０により、印字領域をオーバーした１次元バーコードまたは２次元コードの制御コマンド及び印字データが印字されるため、複数の制御コマンドや印字データの中で、どの制御コマンドや印字データが印字領域をオーバーした指定またはデータとなっていることが目視で確認できるため、印字レイアウト作成者に対し修正内容を簡単且つ明瞭に伝えることができ、修正・変更作業を短時間で行なうことができる。また、確認のための発行枚数を最小限に抑えることができる。
【００５２】
次に第三の実施の形態を図９及び図１０を用いて説明する。
図９は、本発明の実施の形態である印字装置の領域オーバー判定手段に関する処理を示すフローチャート図である。
ステップＳ２２では、印字角度が０°の場合で印字領域をオーバーしたかの判定を行なったが、印字領域オーバーと判定した場合に、オーバーフラグ１７に印字領域オーバーを示すデータ（１）を書き込み、また、下記の計算を行いＲＡＭ５にオーバーしたドット数（Ｌ）を格納する。
Ｌ＝（Ｙ座標＋Ｚ）−Ｙｍａｘ
その後、ステップＳ２６でオーバーフラグ１７の判定によりステップＳ３１に移行し、ステップＳ３１では、ＲＡＭ５に格納されたＬを作業領域１６に文字列のビットデータとして生成を行い、ステップＳ３２では、角度データ格納部２０のデータを判定して文字列の中に “Ｙ−”が付加される。
ステップＳ３３では、作業領域１６に生成された“Ｙ−”と補正値（Ｌ）のビットデータを、座標データ格納部１９の座標位置に従い印字領域１５に転送される。
【００５３】
ステップＳ２３では、印字角度が９０°の場合で印字領域をオーバーしたかの判定を行なったが、印字領域オーバーと判定した場合に、オーバーフラグ１７に印字領域オーバーを示すデータ（１）を書き込み、また、下記の計算を行いＲＡＭ５にオーバーしたドット数（Ｌ）を格納する。
Ｌ＝Ｚ−Ｘ座標
その後、ステップＳ２６でオーバーフラグ１７の判定によりステップＳ３１に移行し、ステップＳ３１では、ＲＡＭ５に格納されたＬを作業領域１６に文字列のビットデータとして生成を行い、ステップＳ３２では、角度データ格納部２０のデータを判定して文字列の中に “Ｘ＋”が付加される。
ステップＳ３３では、作業領域１６に生成された“Ｘ＋”と補正値（Ｌ）のビットデータを、座標データ格納部１９の座標位置に従い印字領域１５に転送される。
【００５４】
ステップＳ２４では、印字角度が１８０°の場合で印字領域をオーバーしたかの判定を行なったが、印字領域オーバーと判定した場合に、オーバーフラグ１７に印字領域オーバーを示すデータ（１）を書き込み、また、下記の計算を行いＲＡＭ５にオーバーしたドット数（Ｌ）を格納する。
Ｌ＝Ｚ−Ｙ座標
その後、ステップＳ２６でオーバーフラグ１７の判定によりステップＳ３１に移行し、ステップＳ３１では、ＲＡＭ５に格納されたＬを作業領域１６に文字列のビットデータとして生成を行い、ステップＳ３２では、角度データ格納部２０のデータを判定して文字列の中に “Ｙ＋”が付加される。
ステップＳ３３では、作業領域１６に生成された“Ｙ＋”と補正値（Ｌ）のビットデータを、座標データ格納部１９の座標位置に従い印字領域１５に転送される。
【００５５】
ステップＳ２４では、印字角度が２７０°の場合で印字領域をオーバーしたかの判定を行なったが、印字領域オーバーと判定した場合に、オーバーフラグ１７に印字領域オーバーを示すデータ（１）を書き込み、また、下記の計算を行いＲＡＭ５にオーバーしたドット数（Ｌ）を格納する。
Ｌ＝（Ｘ座標＋Ｚ）−Ｘｍａｘ
その後、ステップＳ２６でオーバーフラグ１７の判定によりステップＳ３１に移行し、ステップＳ３１では、ＲＡＭ５に格納されたＬを作業領域１６に文字列のビットデータとして生成を行い、ステップＳ３２では、角度データ格納部２０のデータを判定して文字列の中に “Ｘ−”が付加される。
ステップＳ３３では、作業領域１６に生成された“Ｘ−”と補正値（Ｌ）のビットデータを、座標データ格納部１９の座標位置に従い印字領域１５に転送される。
【００５６】
尚、上記の説明で作業領域１６から印字領域１５への転送は、１バイト単位に行なわれるが、この場合はビット演算は使用しない。
【００５７】
図１０は第三の実施の形態による印字結果を示す図である。
図１０のＢ１及びＢ２、Ｂ３、Ｂ４は、印字領域をオーバーした１次元バーコードと２次元コードである。Ｄ１及びＤ３は、印字領域をオーバーした１次元バーコードの補正値が印字され、Ｄ２、Ｄ４は２次元コードの補正値が印字された印字結果を示す。
【００５８】
上記の説明により、第三の実施の形態では、図９でのステップＳ３１、３２，３３により、印字領域をオーバーした１次元バーコードまたは２次元コードの補正値が印字されるため、１次元バーコードまたは２次元コードが複数存在した場合でも、印字領域をオーバーした全ての１次元バーコードまたは２次元コードを簡単且つ明瞭に確認することができる。また、補正値により制御コマンドの印字座標位置（Ｘ座標、Ｙ座標）の座標計算を容易にすることにより、印字レイアウト作成者に対し修正内容を簡単且つ明瞭に伝えることができ、修正・変更作業を短時間で行なうことができる。また、確認のための発行枚数を最小限に抑えることができる。
【００５９】
上述のように、第一の実施の形態では、印字領域をオーバーした１次元バーコードまたは２次元コードが黒く塗りつぶされて印字されるため、目視での確認を容易にし、修正・変更作業を円滑に行なうことができ、第二の実施の形態では、複数の制御コマンドや印字データの中で、どの制御コマンドや印字データが印字領域をオーバーした指定またはデータとなっていることが目視で確認できるため、印字レイアウト作成者に対し修正内容を簡単且つ明瞭に伝えることができ、修正・変更作業を短時間で行なうことができ、第三の実施の形態では、補正値により制御コマンドの印字座標位置（Ｘ座標、Ｙ座標）の座標計算を容易にすることにより、印字レイアウト作成者に対し修正内容を簡単且つ明瞭に伝えることができ、修正・変更作業を短時間で行なうことができる。また、確認のための発行枚数を最小限に抑えることができる。
【００６０】
尚、本実施の形態ではサーマルヘッドを用いて説明したが、これに限定されるものではなく、インクジェットプリンタやバブルジェットプリンタ、トナープリンタなどでも実施可能であることは言うまでもない。
また、本実施の形態では上位ホストからの受信データにより制御コマンドや印字データの処理を説明したが、キー入力部１０により制御コマンドや印字データの設定を行なっても良い。
また、本実施の形態では作業領域１６から印字領域１５へビットデータの転送を行なったが、作業領域１６を使用せず印字領域１５のメモリアドレスの管理により、直接印字領域１５にビットデータの生成を行なっても良い。
また、本実施の形態では印字の基準位置を用紙幅の中心とするプリンタにおいては、制御コマンドの用紙情報である用紙サイズを、実際の用紙サイズより小さく設定することで、用紙搬送時の蛇行などにより１次元バーコードまたは２次元コードが、印字する用紙からはみ出て印字することを防止することができる。
【００６１】
【発明の効果】
以上のように、印字領域形成手段と判定手段、ビット展開手段、領域オーバー判定手段により、１次元バーコードまたは２次元コードが印字領域をオーバーしていると判断した場合は、オーバーしている旨を目視できるように検証情報を印字する検証情報印字手段を設けたので、印字領域内に１次元バーコードまたは２次元コードが正しく印字されたかを、簡単且つ明瞭に判断する事ができ、印字レイアウト決定及び情報量を増加した場合の変更・修正時間や労力、経費を最小限にすることができる。
また、前記実施の形態を組合わせて行なうことにより、印字レイアウト作成者はより一層に明確な判断と情報を得ることにより作業時間の効率化を図ることができる。
更にまた、同一レイアウトを他の機種に移植する場合やヘッド幅、ヘッド密度の異なる機種に移植する時にも、同様の効果を得る事ができる。
【図面の簡単な説明】
【図１】本発明の要部をなす印字装置の制御部１を示すブロック図である。
【図２】本発明の実施の形態である印字装置の概略処理を示すフローチャート図である。
【図３】本発明の実施の形態における印字装置の印字座標位置と回転角度の関係を示す図である。
【図４】本実施の形態による印字装置の領域オーバー判定手段に関する処理を示す図である。
【図５】本発明の第一の実施の形態である印字装置の領域オーバー判定手段に関する処理を示すフローチャート図である。
【図６】第一の実施の形態による印字結果を示す図である。
【図７】本発明の第二の実施の形態である印字装置の領域オーバー判定手段に関する処理を示すフローチャート図である。
【図８】第二の実施の形態による印字結果を示す図である。
【図９】本発明の第三の実施の形態である印字装置の領域オーバー判定手段に関する処理を示すフローチャート図である。
【図１０】第三の実施の形態による印字結果を示す図である。
【図１１】従来での印字装置における編集バッファと印字領域の関係を示す図である。
【図１２】従来での印字装置における印字結果を示す図である。
【符号の説明】
１  制御部、
２  ＣＰＵ
３  バスライン
４  ＲＯＭ
５  ＲＡＭ
６  サーマルヘッド
７  搬送モーター
８  センサー
９  外部インタフェース
１０  キー入力部
１１  表示部
１２  報知部
１３  受信バッファ
１４  編集バッファ
１５  印字領域
１６  作業領域
１７  オーバーフラグ
１８  用紙サイズ格納部
１９  座標データ格納部
２０  角度データ格納部
２１  倍率データ格納部
２２  転送サイズ
【図１】
0003827998.tif 000002
【図２】
0003827998.tif 000003
【図３】
0003827998.tif 000004
【図４】
0003827998.tif 000005
【図５】
0003827998.tif 000006
【図６】
0003827998.tif 000007
【図７】
0003827998.tif 000008
【図８】
0003827998.tif 000009
【図９】
0003827998.tif 000010
【図１０】
0003827998.tif 000011
【図１１】
0003827998.tif 000012
【図１２】
0003827998.tif 000013