(57)【要約】【課題】本発明の課題は、バーコードに対して回転処理を行った場合に発生する演算誤差によりバーが変形してしまい、バーコードが正常に認識されないという課題がある。【解決手段】ＰＤＬデータ内にバーコードが含まれるかどうかを判断し、含まれる場合は回転処理時の演算誤差を補正し、バーコードを生成する。【選択図】図５（Ａ）
2014050991.tif 000002
【特許請求の範囲】
【請求項１】
入力されたＰＤＬデータを印刷する印刷装置において、
ＰＤＬデータ内にバーコードが存在するかどうかを判別するバーコードデータ判別手段と、前記バーコードデータ判別手段によって認識されたバーコードを構成する各バーの幅高と、一本目のバーの描画開始座標から各バーの描画開始座標までの距離を記憶しておくバーコード情報記憶手段と、バーコードのある基準点に対して回転処理を行う回転処理手段と、前記回転処理手段によって移動させた基準点を整数座標上へ移動させる座標変換手段と、前記座標変換手段によって整数座標上に配置された基準点から前記バーコード情報記憶手段によって記憶した情報を用いて、バーコード画像を生成するバーコード画像生成手段を備えることを特徴とする印刷装置。
【請求項２】
前記バーコードデータ判別手段において、ＰＤＬデータ内に描画開始Ｙ座標が同じである黒の直線／矩形描画が連続しているかを判断し、連続している各直線／矩形の太さ及び間隔が所定の種類で構成されている場合、バーコードであると認識することを特徴とする請求項１に記載の印刷装置。
【請求項３】
前記バーコード情報記憶手段において、バーコードを構成する各バーの幅高の情報、また一本目のバーの描画開始座標から各バーの描画開始座標までの距離を記憶することを特徴とする請求項１に記載の印刷装置。
【請求項４】
前記回転処理手段において、前記回転処理手段により回転した基準点の座標が小数の場合、基準点の小数点以下を切り捨てることによって、整数座標上に移動させることを特徴とする請求項１に記載の印刷装置。
【請求項５】
前記座標変換手段において、前記回転処理手段において、バーコードを構成する各バーの基準点に対してのみ座標変換行列演算を用いて回転処理を実施することを特徴とする請求項１に記載の印刷装置。
【請求項６】
前記バーコード画像生成手段において、前記座標変換手段によって移動させた基準点を開始位置として、前記バーコード情報記憶手段によって記憶した情報を用いてバーコードを生成することを特徴とする請求項１に記載の印刷装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バーコードをドット形式で印刷する印刷装置に関する。
【背景技術】
【０００２】
レーザプリンタ等のドット形式の印刷装置においてバーコードが印刷される場合、バーコードを構成するバーの長さやバーの間隔の幅は整数値であるドット数で表される。
【０００３】
しかしＰＤＬ（Ｐａｇｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  Ｌａｎｇｕａｇｅ）で扱われる座標は小数座標である。そのためドット形式の印刷装置においてバーコードを印刷する場合、小数座標から整数座標への変換が必要となる。
【０００４】
バーコードを印刷する場合、一般的には二通りの描画方法がある。一つは、バーコードを構成するバーの一本一本を直線や矩形などのグラフィックオブジェクトとして描画する方法。もう一つが、バーコード全体を一つのビットマップイメージとして描画する方法である。本発明においては、前者のバーコードを構成するバーをグラフィックオブジェクトで描画する方法に対して言及する。
【０００５】
印刷装置において、用紙サイズ、画像の向きや用紙搬送方向等の関係で画像データに回転処理を印刷装置の都合によって行うことがある。その際に、従来技術では各バーを構成する全ての座標点（最大４点）に対して、座標変換行列演算を用いて回転処理を行っていた。ここでの回転処理とは、各ＰＤＬにおいて、内部的にもっている実数座標系である論理座標の原点に対する移動と回転の処理を表す。また論理座標とは別にデバイス座標も存在する。デバイス座標とは、印刷用紙に対してドットを置いていくための整数座標系である。
【０００６】
図１は、デバイス座標と論理座標の関係と、用紙に対する回転処理後の結果を示す（図１ではＡ４用紙、ＰＤＬ言語余白５ｍｍ、解像度１００ｄｐｉを例にする）。
【０００７】
図１を用いて演算誤差が発生しうる場合の一例を説明する。
【０００８】
図１（Ａ）は用紙に対してポートレイト画像を印刷する場合のデバイス座標原点、論理座標原点、描画オブジェクト（本発明ではバーコードを構成するバーを示す）となる矩形オブジェクトの描画位置を示す。
【０００９】
図１（Ｂ）は、ランドスケープ画像にするために、論理座標原点を移動させた状態を示す。ここで、論理座標原点は、Ａ４サイズの長辺は２９７ｍｍ＝１１４９．６０６３ｐｉｘｅｌ（１００ｄｐｉの場合）のため、１１４９．６０６３移動する。この時に浮動小数点で処理を行っているため、小数点以下に端数が存在する。またこの時の論理座標原点の移動量は用紙サイズにより異なる。
【００１０】
図１（Ｃ）は、図１（Ｂ）の論理座標原点から回転処理を行った結果を示す。
【００１１】
図１（Ｂ）の移動させた後の論理座標原点は回転処理の基準点となる。そのため、整数座標上に存在しない基準点を軸として、回転処理を実施した場合、回転対象となる描画オブジェクトも整数座標上には配置されないことがある。この時にＰｉｘｅｌＰｌａｃｅｍｅｎｔのルール（ＰｉｘｅｌＰｌａｃｅｍｅｎｔについては後述する）によっては、バーが太る、細るという問題があった。
【００１２】
以下は図２を用いて回転処理後の矩形の終了座標と、ＰｉｘｅｌＰｌａｃｅｍｅｎｔのルールによってバーが太る場合の説明をする。
【００１３】
例として、バーの矩形の終了座標（右下の座標点）が回転前は整数座標上の（１０．０，  １０．０）に位置していたが、回転処理後の座標が演算誤差により小数座標（Ｘ．０００１９，  Ｙ．０００２）になってしまったとする。この場合、ＰｉｘｅｌＰｌａｃｅｍｅｎｔの関係によっては小数点以下の端数が存在することによって太くなってしまう場合がある。
【００１４】
ＰｉｘｅｌＰｌａｃｅｍｅｎｔの指定に関しては、ＰＤＬ言語により指定方法は異なる。ＰＤＬコマンドによってＰｉｘｅｌＰｌａｃｅｍｅｎｔのルールを指定するものもあれば、Ａｄｏｂｅ  ＰｏｓｔＳｃｒｉｐｔ（ＰＳ）のように言語仕様として端数の存在するドットは塗るという仕様の言語も存在する。
【００１５】
図２はＰｉｘｅｌＰｌａｃｅｍｅｎｔのルールがＰＳの時の黒くなるドットを示す。上記で説明した通り、発生した端数のドットが黒く塗られることによって、バーは太くなってしまう。
【００１６】
図２（Ａ）は、上記例の回転前の状態を示した図である。
【００１７】
図２（Ｂ）は、上記例の回転後の状態を示した図である。
【００１８】
本来であれば、回転後のバーコードは、回転処理により描画座標と向きは変わるが、バーコードを構成する各バーの幅高（黒部分）と、各バーの間隔（白部分）は回転前と同じに保たれなければならない。各バーの幅高や間隔が変わってしまうと、バーコードリーダが認識できないという現象が発生してしまう。
【００１９】
但し上記例のように単純に小数点以下に端数が存在してしまう場合は、小数点以下を常に切り捨て、または切り上げを行えば解決することも可能である。しかしながら、浮動小数点演算による演算誤差においては、例えば図３に示すような回転前のバー幅３のバーに対して演算誤差が発生した場合、切り上げ、切り捨てを状況に応じて判断し、実施しなければ期待すべきバーコードの印字はできない。
【００２０】
特許文献１では、矩形を回転させた後に整数座標に丸めこむ際に、回転前後で同じサイズになるように切り捨て、切り上げ、四捨五入を行う画像処理方法を提供している。しかし、回転角度によって縦方向横方向のそれぞれに対して切り上げ、切り捨て処理が決まっているため、ＰｉｘｅｌＰｌａｃｅｍｅｎｔの指定によっては、太る、または細くなるという現象が起こる場合があり、バーコードとしては認識できない場合がある。
【００２１】
特許文献２では、バーコードを横向き、縦向きの両方のパターンで描画する場合があるため、バーコードの各バーの幅、およびバーの間隔を描画情報として保持しておき、バーコードを描画する方法を提供している。しかし、回転処理などの座標が変わるような処理を行ったときに、小数座標上へ移動してしまった場合には、描画情報を保持しておいてもバーコードが変形してしまう場合がある。
【００２２】
特許文献３では、バーコードの各バーの幅やバーの間隔を保持しておき、バーコードの変倍が行われる場合には、それらのサイズを変倍してから描画を行う方法を提供している。しかし、変倍時に演算誤差によって、本来整数座標上に位置するはずであった開始座標が小数座標上になると、バーコードの変形は起こってしまう。
【００２３】
また上記のいずれの特許文献も浮動小数点演算を行った時の演算誤差によるバーコードの変形に関しては検討されていない。
【００２４】
また従来技術として通常画像における回転処理においても説明する。
【００２５】
例えば、図４（Ａ）に示すような画像に対する回転処理を行った場合、画像の開始座標から各ピクセルに対して回転処理が施される。
【００２６】
図４（Ｂ）は上述したオブジェクトの回転で説明したような論理座標原点をシフトさせた後、回転処理を実施した状態を示す。（ここでは、小数点以下に端数が発生した場合を例にする）ここで、回転処理後の論理座標の各ピクセルの基準となる座標は、元々の画像の開始位置から、ピクセル毎に＋１した座標を基準となる座標とする。その基準となる座標（基準点）をデバイス座標上にマッピングした場合に、回転処理をしたピクセルの色を塗るという処理をしている。
【００２７】
図４（Ｃ）は、図４（Ｂ）をデバイス座標へマッピングした結果を示す。
【００２８】
また、画像の場合は１ドット太ったとしても、バーコードのようにバーコードリーダによって認識できないということはなかった。バーコードの場合は、バー幅や各バーの間隔が変わってしまうとバーコードリーダによって認識されないという問題が発生する。
【先行技術文献】
【特許文献】
【００２９】
【特許文献１】特開２００５−３４１４１８号公報
【特許文献２】特開２０００−１５８７２０号公報
【特許文献３】特開平０８−３１００５０号公報
【発明の概要】
【発明が解決しようとする課題】
【００３０】
上述したように、同じバーコードであるにも関わらず、印刷装置の都合で行う回転処理の演算誤差によって、バーが太る、又は細くなることが原因でバーコードを認識できないという問題が発生する。
【００３１】
本発明は、印刷装置内で行われる回転処理のための浮動小数点演算による演算誤差によって、各バーの幅高やバーの間隔が変わることを防ぎ、バーコードリーダによって認識できないという現象を防ぐことを目的とする。
【課題を解決するための手段】
【００３２】
入力されたＰＤＬデータを印刷する印刷装置において、
ＰＤＬデータ内にバーコードが存在するかどうかを判別するバーコードデータ判別手段と、
前記バーコード判別手段によって認識されたバーコードを構成する各バーの幅高と、一本目のバーの描画開始座標から各バーの描画開始座標までの距離を記憶しておくバーコード情報記憶手段と、回転時にバーコードを構成する全ての点に対して回転処理を行わず、バーコードのある基準点に対してのみ回転処理を行う回転処理手段と、前記回転処理手段によって移動させた基準点を整数座標上へ移動させる座標変換手段と、前記座標変換手段によって整数座標上に配置された基準点から前記バーコード情報記憶手段によって記憶した情報を用いて、バーコード画像を生成するバーコード画像生成手段を備えることを特徴とする印刷装置。
【００３３】
前記バーコードデータ判別手段において、ＰＤＬデータ内に描画開始Ｙ座標が同じである黒の直線／矩形描画が連続しているかを判断し、連続している各直線／矩形の太さ及び間隔が所定の種類で構成されている場合、バーコードであると認識することを特徴とする。
【００３４】
前記バーコード情報記憶手段において、
バーコードを構成する各バーの幅高の情報、また一本目のバーの描画開始座標から各バーの描画開始座標までの距離を記憶することを特徴とする。
【００３５】
前記回転処理手段において、バーコードを構成する各バーの基準点に対してのみ座標変換行列演算を用いて回転処理を実施することを特徴とする。
【００３６】
前記座標変換手段において、
前記回転処理手段により回転した基準点の座標が小数の場合、基準点の小数点以下を切り捨てることによって、整数座標上に移動させることを特徴とする。
【００３７】
前記バーコード画像生成手段において、
前記座標変換手段によって移動させた基準点を開始位置として、前記バーコード情報記憶手段によって記憶した情報を用いてバーコードを生成することを特徴とする。
【発明の効果】
【００３８】
本発明によれば、回転処理時の演算誤差によって発生するバーコードの変形を防ぎ、バーコードリーダが認識できないという現象を防ぐことが可能となる。
【図面の簡単な説明】
【００３９】
【図１（Ａ）】デバイス座標、論理座標、描画オブジェクトの位置関係を示す。
【図１（Ｂ）】論理座標を移動させたときの位置関係を示す。
【図１（Ｃ）】論理座標を回転させたときの位置関係を示す。
【図２（Ａ）】回転前の正常に認識されるバーコードの一例を示す。
【図２（Ｂ）】回転後の変形したバーコードの一例を示す。
【図３】浮動小数点演算誤差により変形したバーコードの一例を示す。
【図４（Ａ）】回転前の画像の一例を示す。
【図４（Ｂ）】回転後の画像の一例を示す。
【図４（Ｃ）】図４（Ｂ）の画像をデバイス座標へマッピングした結果を示す。
【図５（Ａ）】システム構成図を示す。
【図５（Ｂ）】印刷装置内機能ブロック図を示す。
【図６】本発明の全体フローチャートを示す。
【図７】バーコードデータ認識処理のフローチャートを示す。
【図８】バーコード情報テーブルの格納情報を示す。
【図９】バーコード画像生成処理のフローチャートを示す。
【図１０（Ａ）】回転前のバーコードの座標位置関係を示す。
【図１０（Ｂ）】９０°回転後のバーコードの座標位置関係を示す。
【図１０（Ｃ）】−９０°回転後のバーコードの位置関係を示す。
【発明を実施するための形態】
【００４０】
以下、本発明の実施するための最良の形態について図面を用いて説明する。
【００４１】
なお、入力データは文字、グラフィック、イメージ属性を含むＰＤＬデータである。
【００４２】
図５は、本発明の実施の一形態であるシステム構成を示す図である。図５（Ａ）は、本実施形態のシステム構成全体を示す。ホストコンピュータ２００はネットワーク３００を介して印刷装置１００に対してＰＤＬデータを送信する。図５（Ｂ）は印刷装置１００の機能ブロック図の例を示す。印刷装置１００は、ＭＦＰ（Ｍｕｌｔｉ  Ｆｕｎｃｔｉｏｎ  Ｐｒｉｎｔｅｒ）、ＳＦＰ（Ｓｉｎｇｌｅ  Ｆｕｎｃｔｉｏｎ  Ｐｒｉｎｔｅｒ）、ＬＢＰ（Ｌａｓｅｒ  Ｂｅａｍ  Ｐｒｉｎｔｅｒ）のうち、いずれのプリント方式であってもよい。
【００４３】
制御装置１１０は、ハードウェア構成として、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１１１、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１１２、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１１３を備える。ＣＰＵ１１１は、ＲＯＭ１１２に格納された制御プログラムに基づいて印刷装置１００の全体を制御する。上記制御プログラムは、本実施形態の印刷装置の制御方法を実現するプログラムである。ＲＡＭ１１３は、ＣＰＵ１１１の作業領域として用いられる記憶領域である。出力装置１２０は、制御装置１１の指示に従い印刷出力する。操作部１３０は、各種機能の表示や設定を行う。
【００４４】
図５（Ｂ）に示す通り、制御装置１１０は、印刷制御部１１４、ＰＤＬ解析部１１５を備える。印刷制御部１１４は、印刷ジョブ全体を制御し、ＰＤＬ解析部１１４によって解析された印刷データを出力装置１２へ渡し、印刷出力をさせる。ＰＤＬ解析部１１５は、ホストコンピュータから入力されたＰＤＬデータを解析する。
【００４５】
図６は本発明のフローチャートである。
【００４６】
印刷装置１００がＰＤＬデータを受信した場合、印刷制御部１１４は画像データに対して回転処理が必要かどうかの判断をする（ステップＳ２０１）。回転処理が必要かどうかは、ＰＤＬによって指定される用紙サイズや印刷装置の用紙搬送方向、用紙トレイの状況によって判断される。もし、ステップＳ２０１にて”回転は必要ない”と判断された場合は、通常のＰＤＬ解析処理が実施され、ステップＳ２０７の印刷出力へ進む。ステップＳ２０１によって”回転処理は必要”だと判断された場合は、データ内にグラフィックスオブジェクトで生成されたバーコード（グラフィックスバーコード）が存在するかどうかを判断するグラフィックスバーコードデータ認識処理（ステップＳ２０２）へ進む
図７は、ステップＳ２０２のグラフィックスバーコードデータ認識処理の詳細フローチャートである。ＰＤＬコマンドを解析していく上で、バーを描画するための黒指定の直線／矩形（ＰＤＬによって描画方法は異なる）描画コマンドが連続しているかどうかを判断する（ステップＳ３０１）。もし、黒色指定の直線／矩形描画コマンドの間に別の描画コマンドが見つかった場合や、黒色以外の指定がされた場合などは（座標を移動させるコマンドは間に入ってもよい）、バーコードではないと判断し、グラフィックスバーコードデータ認識処理を終了する。黒色指定の直線／矩形描画コマンドが連続している場合はステップＳ３０２へ進む。
【００４７】
ステップＳ３０２において、ステップＳ３０１の中で連続していると判断された直線／矩形の間隔が所定の太さの種類で構成されるかどうかを判断する。間隔が所定の太さの種類で構成されない場合は、バーコードではないと判断し、グラフィックスバーコードデータ認識処理を終了する。もし間隔が所定の太さの種類で構成されていれば、各バーの幅高の情報と、一本目のバーの描画開始座標から各バーの直線／矩形描画開始座標までの距離をバーコード情報テーブル（図８）に保持しておく（ステップＳ３０３）。図８はステップＳ３０３で記憶した情報を格納しておくテーブルの例である。ステップＳ３０３の各情報を記憶するタイミングは、バーコードデータ認識処理内でなくてもよい。回転前であればいつ保持しておいてもよい。保持した後、ステップＳ３０１において連続していると判断された直線／矩形群はバーコードであると認識される（ステップＳ３０４）。
【００４８】
ステップＳ２０３では、グラフィックスバーコードデータ認識処理（ステップＳ２０２）において、グラフィックスバーコードが認識されたかどうかの判定を行う。判定の結果、グラフィックスオブジェクトがデータ内において認識された場合は、ステップＳ２０４へ進む。データ内にグラフィックスバーコードが認識されなければ、ステップＳ２０８のイメージバーコードデータ認識処理へ進む。ステップＳ２０８〜ステップＳ２１２については後述する。
【００４９】
ステップＳ２０４では、回転処理を実施する。従来技術では、直線／矩形を構成する全ての点（最大４点）に対して座標変換行列演算を用いて回転後の座標を求めていた。この時に浮動小数点演算を行うためにバーを構成する座標点に対して演算誤差が発生することがあった。しかし、本発明では、バーコードを構成するための基準点としてバーコードの一本目のバーを描画する直線／矩形の描画開始座標のみに対して座標変換行列演算を実施する。このときに９０°回転なのか、−９０°回転なのかを保持しておく。この回転の向きを”Ｃｌｏｃｋｗｉｓｅ”（９０、−９０を値として取りうる）とする。
【００５０】
ステップＳ２０５では、ステップＳ２０４にて行った回転後のグラフィックスバーコードの描画開始座標が演算誤差によって小数になってしまったかどうかを判断する。もし、回転後の描画開始座標が小数の場合、ステップＳ２０６のグラフィックスバーコード画像生成処理へ進む。もし、整数のままであれば（小数点以下に端数が存在していない、演算誤差が発生していない）、従来通りの印刷出力を行う（ステップＳ２０７）。
【００５１】
図９はステップＳ２０６のグラフィックスバーコード画像生成処理の詳細フローチャートである。
【００５２】
初めに処理概要を説明する。
【００５３】
Ｎ本のバーで構成されるバーコードの場合、まず基準点となる回転後の一本目のバーの描画開始座標を整数座標上へ移動する。バーコード情報テーブルに格納しておいた幅高情報を用いてバーを生成する。二本目以降のＮ本目のバーに対しては、基準点からバーコード情報テーブルに格納しておいたＮ本目の直線／矩形描画開始位置までの距離分だけ移動させた座標を、Ｎ本目のバーの描画開始座標とし、Ｎ本目の幅（Ｗ（Ｎ））、高さ（Ｈ（Ｎ））情報を用いてバーを生成していく。
【００５４】
次に各処理について説明する。
【００５５】
回転後のグラフィックスバーコードの描画開始座標が小数の場合、小数点以下に端数が存在することによってバーが太る、又は細くなることがある。それを回避するために、回転前の描画開始座標を（ＳＸ，ＳＹ）、回転後の描画開始座標（ＳＸ’，ＳＹ’）とすると、回転後の描画開始座標（ＳＸ’，ＳＹ’）のＸ座標、Ｙ座標のそれぞれの小数点以下の端数に対して切り捨て処理を行うことにより、整数座標上へ移動させる（ステップＳ４０１）。
【００５６】
ステップＳ４０２では、Ｎ本のバー生成を行っていく。本実施例では、バー生成のために以下の矩形描画コマンドを例に用いる。
【００５７】
Ｒｅｃｔ（描画開始Ｘ座標，描画開始Ｙ座標，描画終了Ｘ座標，描画終了Ｙ座標）矩形描画の際に座標点が４点であってもよい。
【００５８】
ステップＳ４０３〜ステップＳ４０５、またはステップＳ４０６までのＮ本のバー生成プロセスではバーコード情報テーブル（図８）の情報を用いて生成する。
【００５９】
ステップＳ４０３において、Ｎ本全てのバーを生成したかどうかの判定を行う。もし全てのバーの生成が完了していれば、バーコード画像生成処理を終了する。完了していなければ、ステップＳ４０４へ進む。
【００６０】
ステップ４０４において、９０°回転なのか、−９０°回転なのかの”Ｃｌｏｃｋｗｉｓｅ”を参照して判定を行う。９０°回転であれば、ステップＳ４０５へ進み、−９０°回転であれば、ステップＳ４０６へ進む。
【００６１】
ステップＳ４０５において、バーコード情報テーブルを用いてＮ本のバーで構成されるバーコードを生成する。９０°回転時の矩形描画は、
Ｒｅｃｔ（ＳＸ’，ＳＹ’＋Ｄ（Ｎ），ＳＸ’−Ｈ（Ｎ），ＳＹ’＋Ｄ（Ｎ）＋Ｗ（Ｎ））となる。
【００６２】
ステップＳ４０６においても、バーコード情報テーブルを用いて、−９０°回転時のバーコード画像生成を行う。−９０°回転時の矩形描画は、
Ｒｅｃｔ（ＳＸ’，ＳＹ’−Ｄ（Ｎ），ＳＸ’＋Ｈ（Ｎ），ＳＹ’−Ｄ（Ｎ）−Ｗ（Ｎ））となる。
【００６３】
バーコード画像生成処理が完了すると、印刷出力を行う（ステップＳ２０７）。
【００６４】
図１０は、図８のバーコード情報テーブルを用いた時の９０°／−９０°回転処理を行った時のバーコードを構成する各矩形の描画開始座標と描画終了座標を示す。
【００６５】
図１０（Ａ）は、回転前のバーコードの各矩形の描画開始座標・描画終了座標を示す。
【００６６】
図１０（Ｂ）は、９０°回転後のバーコードの各矩形の描画開始座標・描画終了座標を示す。
【００６７】
図１０（Ｃ）は、−９０°回転後のバーコードの各矩形の描画開始座標・描画終了座標を示す。
【００６８】
次にステップＳ２０３において、データ内にグラフィックスバーコードが存在しなかった場合の処理（ステップＳ２０８〜ステップＳ２１２）について説明する。
【００６９】
ステップＳ２０８では、データ内にイメージオブジェクトで生成されたバーコード（イメージバーコード）が存在するかどうかを判断するイメージバーコードデータ認識処理を行う。この時、イメージが白背景に黒矩形が、ある所定の太さの種類で複数並んでいる場合、バーコードと認識する。
【００７０】
ステップＳ２０９において、イメージバーコードデータ認識処理（ステップＳ２０９）の結果、イメージが存在する場合はステップＳ２１０へ進み、存在しない場合、ステップＳ２０７へ進む。
【００７１】
ステップＳ２１０では、ステップＳ２０４のグラフィックスバーコードの描画開始座標の回転処理と同様に、基準点としてイメージバーコードの描画開始座標のみに対して回転処理を行う。
【００７２】
ステップＳ２１１では、回転後のイメージバーコードの描画開始座標に対して演算誤差が発生したか（小数点以下に端数が存在するか）どうかを判断する。もし、回転後の描画開始座標が小数の場合、ステップＳ２１２のイメージバーコード画像生成処理へ進む。もし、整数のままであれば（小数点以下に端数が存在していない）、従来通りの印刷出力を行う（ステップＳ２０７）。
【００７３】
ステップＳ２１２では、イメージバーコードの描画開始座標のＸ座標，Ｙ座標に対して、小数点以下の切り捨て処理を行う。そうすることで、整数座標上へ移動する。整数座標上へ移動したイメージバーコードの描画開始座標からイメージを描画する。
【００７４】
また本実施例では、ＰＤＬインタプリタ内で回転処理による演算誤差の補正を実施例としているが、ＰＤＬデータをビットマップ化した後、回転処理を実施する際でもよい。その場合は、ラスタライズされたビットマップはステップＳ２１０〜ステップＳ２１２の処理へ進むことにより、イメージであっても演算誤差によるバーコードの変形を防ぐことを可能とする。
【符号の説明】
【００７５】
１００  印刷装置
２００  ホストコンピュータ
３００  ネットワーク
【図１（Ａ）】
2014050991.tif 000003
【図１（Ｂ）】
2014050991.tif 000004
【図１（Ｃ）】
2014050991.tif 000005
【図２（Ａ）】
2014050991.tif 000006
【図２（Ｂ）】
2014050991.tif 000007
【図３】
2014050991.tif 000008
【図４（Ａ）】
2014050991.tif 000009
【図４（Ｂ）】
2014050991.tif 000010
【図４（Ｃ）】
2014050991.tif 000011
【図５（Ａ）】
2014050991.tif 000012
【図５（Ｂ）】
2014050991.tif 000013
【図６】
2014050991.tif 000014
【図７】
2014050991.tif 000015
【図８】
2014050991.tif 000016
【図９】
2014050991.tif 000017
【図１０（Ａ）】
2014050991.tif 000018
【図１０（Ｂ）】
2014050991.tif 000019
【図１０（Ｃ）】
2014050991.tif 000020