説明

プリンタドライバ、印刷制御方法、及びプリンタシステム

【課題】低解像度プリンタでのバーコード印刷においても高品質の印刷が可能なプリンタドライバ、印刷制御方法、及びプリンタシステムを提供する。
【解決手段】1以上の種類のバーからなるバーコードを含む印刷データをアプリケーションから取得してプリンタに出力するプリンタドライバにおいて、印刷データ中に含まれる印刷バーコードイメージのキャラクタコードを識別し、キャラクタコードに対応するバーコードイメージに基づいて印刷バーコードイメージを補正する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、プリンタドライバ、印刷制御方法、及びプリンタシステムに関する。
【背景技術】
【0002】
近年、IT(Information Technology)の進展に伴い、事業所だけでなく、家庭でもコンピュータが普及してきている。これに伴いプリンタの需要も増大し、種々のプリンタが開発されており、製造コストを抑えるため300dpi以下の低解像度のプリンタも高解像度のプリンタと共に販売されている。
このような低解像度のプリンタでバーコードイメージを印刷することも多々行われるようになってきた。
【0003】
バーコードの種類にはJAN、NW−7、ITF、CODE39等が挙げられる。
ここで、プリンタで印刷しやすいモジュール構成を有するバーコードの規格であるNW−7について説明する。
NW−7は、1972年にモナークマーキング社によって開発された2of5に次ぐ比較的初期のバーコードの規格である。病院等での血液の管理、宅配便の配送伝票、図書館等での図書の管理、会員カード、書留郵便の管理等、数字の連番印刷が必要なものに利用される。
【0004】
NW−7は、Narro(狭い)と、Wide(広い)との2種類の、4本のバー(黒バー)と3本のスペース(白バーともいう)(合計7本)で1つのキャラクタ(文字)を表すため、NW−7と呼ばれる。バーコードの始まりと終わりには、A、B、C、D(a、b、c、d)のいずれかが付けられる(スタート/ストップキャラクタ)。
キャラクタとしては、0〜9までの数字、6個の特殊記号(−、$、:、/、.、+)、及び4個のスタート・ストップコード(A〜D)が挙げられる。
NW−7は、ITFに比べて、桁落ちが少なく、CODE39に比べてサイズが小さい。
【0005】
ところで、この種の低解像度のプリンタドライバではアプリケーションソフトウェア(以下アプリケーションと表記)から送られてきたバーコードイメージをそのまま印刷しているため、バーコード中の太バーや細バーの幅にバラツキが生じ、バーコードリーダで読み取ると、エラーが生じることがあった。
【0006】
このバーコードエラーについての対策が特許文献1に開示されている。
特許文献1に記載の発明は、「プログラム」に関するものであり、具体的には「コンピュータに、バーコード情報を含む画像データに基づいてバーコードの印刷データを作成する作成手順と、作成手順によって作成した印刷データを補正する補正手順と、補正手順によって補正した印刷データを印刷装置へ出力する出力手順とを実行させるためのプログラム」である。
【0007】
特許文献1に記載の発明によれば、印刷装置の経時変化及び環境変動、印刷装置の経時変化、環境変動、バーコードの方向にかかわらず、常に安定した線幅の黒バーと白バーの線幅を再現して印刷することができるとしている。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開2006−293916号公報
【発明の概要】
【発明が解決しようとする課題】
【0009】
しかしながら、特許文献1に記載の発明は、印刷枚数、温度変化、湿度変化、バーコードの方向に応じてバーコードの補正を行うものであり、低解像度のプリンタのプリンタドライバに基づくエラーについての問題を解決したものではない。
【0010】
ここで、一般的なアプリケーションで作成したバーコードイメージは印刷したときに各バーの幅にバラツキがあり、バーコードリーダで読み取ったときに読み取り率が低い、または読めないという現象が発生する。
バー幅がばらつく原因は、OS(Operation System)がイメージを作成する際に、アプリケーション上で指定されたサイズからドットに変換するときに端数が発生するためであり、解像度が低いプリンタに顕著に見られる。
イメージはOSで作成されるため、プリンタドライバに渡された時点でバー幅がばらついている。
【0011】
(例)160dpiのプリンタでは1ドットは0.1587mmであり、1mm幅のドットを印刷すると、6ドット(0.9522mm)と7ドット(1.1109mm)で印刷される部分が生じる。
1200dpiでは1ドットの幅が0.0211mmであり、47ドット(0.9917mm)と48ドット(1.0128mm)で印刷される部分が生じるが、解像度が高いため影響が少ない。
【0012】
アプリケーションの中にはプリンタの解像度を加味し、バー幅のバラツキが発生しない高品質のバーコードイメージを作成できるものもあるが、アプリケーションに依存せず高品質のバーコードイメージを出力することが望まれる。
【0013】
そこで、本発明の目的は、低解像度プリンタでのバーコード印刷においても高品質の印刷が可能なプリンタドライバ、印刷制御方法、及びプリンタシステムを提供することにある。
【課題を解決するための手段】
【0014】
本発明のプリンタドライバは、1以上の種類のバーからなるバーコードを含む印刷データをアプリケーションから取得してプリンタに出力するプリンタドライバにおいて、前記印刷データ中に含まれる印刷バーコードイメージのキャラクタコードを識別し、該キャラクタコードに対応するバーコードイメージに基づいて前記印刷バーコードイメージを補正することを特徴とする。
【0015】
本発明の印刷制御方法は、1以上の種類のバーからなるバーコードを含む印刷データをアプリケーションから取得して印刷する印刷制御方法において、前記印刷データ中に印刷バーコードイメージのキャラクタコードを識別するステップ、該キャラクタコードに対応するバーコードイメージに基づいて前記印刷バーコードイメージを補正するステップを有することを特徴とする。
【0016】
本発明のプリンタシステムは、バーコードを印刷可能なプリンタと、1以上の種類のバーからなるバーコードを含む印刷データをアプリケーションから取得して前記プリンタに出力するプリンタドライバと、を有するプリンタシステムにおいて、前記プリンタドライバは、前記印刷データ中に含まれる印刷バーコードイメージのキャラクタコードを識別し、該キャラクタコードに対応するバーコードイメージに基づいて前記印刷バーコードイメージを補正することを特徴とする。
【発明の効果】
【0017】
本発明によれば、バーコードイメージの種別及びキャラクタコードを決定し、バー幅にバラツキが有るか否かを判定し、バラツキがある場合にそのバラツキを補正し、補正したイメージデータを出力することにより、低解像度のプリンタであっても正確なバーコードを印刷することができ、高品質化を図ることができる。
【図面の簡単な説明】
【0018】
【図1】本発明に係るプリンタシステムの一実施の形態を示す概念図である。
【図2】図1に示したプリンタシステムのうちのプリンタドライバの動作を説明するためのフローチャートの一例である。
【図3】(a)は、アプリケーション20から送られてくるバーコードパターンのイメージデータの一例であり、(b)は、プリンタドライバ40で補正されたバーコードパターンのデータである。
【図4】(a)は、アプリケーション20から送られてくるバーコードパターンのイメージデータの他の一例であり、(b)は、プリンタドライバ40で補正されたバーコードパターンのデータである。
【発明を実施するための形態】
【0019】
次に本発明の実施の形態について図面を参照して説明する。
<構 成>
図1は、本発明に係るプリンタシステムの一実施の形態を示す概念図である。
同図に示すプリンタシステムは、制御部としてのPC(Personal Computer)10と、プリンタ50とで構成されており、PC10は、アプリケーション20と、スプーラ30と、プリンタドライバ40とを有する。
【0020】
アプリケーション20は、印刷データを作成する機能を有する。
【0021】
プリンタドライバ40は、イメージデータ(ラスタデータ)の解析及び補正を行う。すなわち、プリンタドライバ40は、アプリケーション20から取得した印刷データ中にバーコードイメージが有るか否かを判定し、バーコードイメージが有る場合に、バーコードイメージの種別及びキャラクタコードを決定し、バー幅にバラツキが有るか否かを判定し、バラツキがある場合にそのバラツキを補正し、補正したイメージデータを出力する機能を有する(バラツキが無い場合には印刷データをそのままプリンタに出力する)。
【0022】
また、プリンタドライバ40は、印刷バーコードイメージのバーの幅を、印刷バーコードイメージから検出したバーの種類毎に最も出現頻度の高いバーの幅のドットの数になるように補正する機能を有する。
【0023】
プリンタドライバ40は、バーコードイメージが有るか否かの判定は、アプリケーション20から取得したラスタデータから、バーコードのデータパターンを検索する際に、バーコードの各パターンデータのテーブルを参照し、そのパターンがラスタデータのドット列と一致するか否かで判定する。
【0024】
プリンタドライバ40は、印刷データ中のキャラクタコード、スタートコード、ストップコードがサーチパターンとほぼ一致するか、または一致したバーコードパターンの横ドット列が数行にわたり続いている場合にバーコードとみなす。
すなわち、プリンタドライバ40は、
以下の条件をすべて満たすものを対象とする。
・キャラクタコード、スタートコード、ストップコードがサーチパターンと一致または±1ドットの差であること。
・一致したバーコードパターンの横ドット列が数行にわたり続いていること。
【0025】
つまり、プリンタドライバ40は、アプリケーション20からプリンタドライバ40に渡されたラスタデータから、既存のバーコードリーダのバーコード判定方法を流用し、バーコードパターンを検索するのである。
【0026】
プリンタドライバ40は、バーコードの太バー及び細バーからなるバーコードイメージをキャラクタデータ毎にサーチし、バーコードイメージのドットの数が少ない場合にはドットを追加すると共に余分なデータを削除し、バーコードイメージのドットの数が多い場合にはドットを削除すると共に不足分のデータを追加する。過不足無い場合にはそのまま印刷データをプリンタに出力する。
【0027】
スプーラ30は、同時に発生した複数の処理要求を一時的にせき止め、順次処理を進めるように管理する機能を有する。
【0028】
<動 作>
次に、図1に示したプリンタシステムの動作について図面を参照して説明する。
図2は、図1に示したプリンタシステムのうちのプリンタドライバの動作を説明するためのフローチャートの一例である。
プリンタドライバ40は、アプリケーション20から印刷データを取得する(ステップS1)。
プリンタドライバ40は、バーコードパターンが存在するか否かを(パターンテーブルと比較)判断する(ステップS2)。
プリンタドライバ40は、バーコードパターンが存在すると判断した場合(ステップS2/Yes)、複数行にわたって同じバーコードパターンがあるか否かを判断する(ステップS3)。
【0029】
プリンタドライバ40は、複数行にわたって同じバーコードパターンがあると判断した場合(ステップS3/Yes)、バーコード有りと判断し(ステップS4)、バーコード種別、キャラクタコードを決定し(ステップS5)、各バー(細バー、太バー、もしくは中バー)の太さを検出する(ステップS6)。
プリンタドライバ40は、各バーの太さを検出すると、細バー、太バー、(中バー)を形成するドットの数にバラツキがあるか否かを判断する(ステップS7)。
プリンタドライバ40は、各バーを形成するドットの数にバラツキがあると判断した場合(ステップS7/Yes)、補正を実行し(キャラクタコードから補正するバー幅を決定する:ステップS8)、印刷データをプリンタ50に出力する。
印刷データを受け取ったプリンタ50は、バーコードを用紙60に印刷する(ステップS9)。
【0030】
プリンタドライバ40は、バーコードパターンが存在しないと判断した場合(ステップS2/No)、複数行にわたって同じバーコードパターンが有ると判断した場合(ステップS3/No)、及び細バー、太バー、(中バー)のドットの数にバラツキが無いと判断した場合(ステップS7/No)は、印刷データをそのままプリンタ50に出力し、プリンタ50は印刷を行う。
【0031】
以上において、本実施の形態によれば、低解像度のプリンタであっても正確なバーコードを印刷することができ、高品質化を図ることができる。
【0032】
<プログラム>
以上で説明した本発明にかかるプリンタシステムは、コンピュータで処理を実行させるプログラムによって実現されている。コンピュータとしては、例えばパーソナルコンピュータやワークステーションなどの汎用的なものが挙げられるが、本発明はこれに限定されるものではない。よって、一例として、プログラムにより本発明を実現する場合の説明を以下で行う。
【0033】
例えば、
アプリケーションソフトウェアがインストールされ、所定の解像度以下のプリンタの制御用のプログラムにおいて、
コンピュータに、
(1)スプーラが、アプリケーションからの印刷データを一時的に保存し、順次実行させる手順、
(2)プリンタドライバが、スプーラからの印刷データ中にバーコードイメージが有るか否かを判定する手順、
(3)バーコードイメージが有る場合に、バーコードイメージの種別及びキャラクタコードを決定する手順、
(4)バー幅にバラツキが有るか否かを判定する手順、
(5)バラツキがある場合にそのバラツキを補正する手順、
(6)プリンタ本体が、プリンタドライバからの補正された印刷データに基づいて印刷する手順、
を実行させるプログラムが挙げられる。
【0034】
これにより、プログラムが実行可能なコンピュータ環境さえあれば、どこにおいても本発明にかかるプリンタシステムを実現することができる。
【0035】
<記憶媒体>
このようなプログラムは、コンピュータに読み取り可能な記憶媒体に記憶されていてもよい。
ここで、記憶媒体としては、例えば、CD−ROM(Compact Disc Read Only Memory)、フレキシブルディスク(FD)、CD−R(CD Recordable)、DVD(Digital Versatile Disk)などのコンピュータで読み取り可能な記憶媒体、フラッシュメモリ、RAM(Random Access Memory)、ROM(Read Only Memory)、FeRAM(強誘電体メモリ)等の半導体メモリやHDD(Hard Disc Drive)が挙げられる。
【0036】
なお、上述した実施の形態は、本発明の好適な実施の形態の一例を示すものであり、本発明はそれに限定されることなく、その要旨を逸脱しない範囲内において、種々変形実施が可能である。例えば、プリンタ本体のファームウェアで同様の処理を行うことで同様の結果を印刷できる。
【実施例】
【0037】
次に本発明に係るプリンタドライバの制御方法についての一実施例について説明する。
図3(a)は、アプリケーション20から送られてくるバーコードパターンのイメージデータの一例であり、図3(b)は、プリンタドライバ40で補正されたバーコードパターンのデータである。
サーチパターンが、以下のような
‘1’「110011001111000011」と、‘A'「11001111000011000011」とでキャラクタデータ毎にサーチすると、‘A'は完全に一致するが、‘1'は1ドット異なって検出される。
サーチパターンから異なる部分は本来4ドットの部分が3ドットであることがわかるため、プリンタドライバ40は、4ドットに補正し、ストップコードから終端を検出して補正した分を削除する。
この補正により、低解像度のプリンタであっても正確なバーコードを印刷することができ、高品質化を図ることができる。
【0038】
図4(a)は、アプリケーション20から送られてくるバーコードパターンのイメージデータの他の一例であり、図4(b)は、プリンタドライバ40で補正されたバーコードパターンのデータである。
サーチパターンが、以下のような
‘1'「 110011001111000011」と、‘A'「11001111000011000011」とでキャラクタデータ毎サーチすると、‘A'は完全に一致するが、‘1'は1ドット異なって検出される。
サーチパターンから異なる部分は本来4ドットの部分が5ドットであることがわかるため、プリンタドライバ40は、4ドットへ補正し、ストップコードから終端を検出して補正した分を追加する。
この補正により、低解像度のプリンタであっても正確なバーコードを印刷することができ、高品質化を図ることができる。
【0039】
<効 果>
バーコードイメージ生成機能をもつアプリケーションであれば読み取り精度の高いバーコードを印刷することが可能となる。
【産業上の利用可能性】
【0040】
本発明は、バーコードやQRコードの印刷に利用することができる。
【符号の説明】
【0041】
10 制御部
20 アプリケーション
30 スプーラ
40 プリンタドライバ
50 プリンタ
60 用紙

【特許請求の範囲】
【請求項1】
1以上の種類のバーからなるバーコードを含む印刷データをアプリケーションから取得してプリンタに出力するプリンタドライバにおいて、
前記印刷データ中に含まれる印刷バーコードイメージのキャラクタコードを識別し、該キャラクタコードに対応するバーコードイメージに基づいて前記印刷バーコードイメージを補正することを特徴とするプリンタドライバ。
【請求項2】
前記印刷バーコードイメージの前記バーの種類を、前記キャラクタコードに対応するバーコードイメージの前記バーの種類に合うように前記印刷バーコードイメージを補正することを特徴とする請求項1記載のプリンタドライバ。
【請求項3】
前記印刷バーコードイメージの前記バーの幅を、前記バーの種類毎に同じドットの数になるように補正することを特徴とする請求項1または2記載のプリンタドライバ。
【請求項4】
前記印刷バーコードイメージの前記バーの幅を、前記印刷バーコードイメージから検出した前記バーの種類毎に最も出現頻度の高い前記バーの幅のドットの数になるように補正することを特徴とする請求項1から3の何れかに記載のプリンタドライバ。
【請求項5】
1以上の種類のバーからなるバーコードを含む印刷データをアプリケーションから取得して印刷する印刷制御方法において、
前記印刷データ中に印刷バーコードイメージのキャラクタコードを識別するステップ、該キャラクタコードに対応するバーコードイメージに基づいて前記印刷バーコードイメージを補正するステップを有することを特徴とする印刷制御方法。
【請求項6】
バーコードを印刷可能なプリンタと、1以上の種類のバーからなるバーコードを含む印刷データをアプリケーションから取得して前記プリンタに出力するプリンタドライバと、を有するプリンタシステムにおいて、
前記プリンタドライバは、
前記印刷データ中に含まれる印刷バーコードイメージのキャラクタコードを識別し、該キャラクタコードに対応するバーコードイメージに基づいて前記印刷バーコードイメージを補正することを特徴とするプリンタシステム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公開番号】特開2011−76359(P2011−76359A)
【公開日】平成23年4月14日(2011.4.14)
【国際特許分類】
【出願番号】特願2009−227003(P2009−227003)
【出願日】平成21年9月30日(2009.9.30)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.QRコード
【出願人】(302069930)NECパーソナルプロダクツ株式会社 (738)
【Fターム(参考)】