(57)【要約】【課題】バーコード画像の相違を容易に認識する。【解決手段】バーコード画像の印刷時に、連続する第１のバーコード画像と第２のバーコード画像とが同じでない場合に、それら２つの画像を区切る態様で印刷するための印刷データが作成される。例えば、商品Ａのバーコード画像と商品Ｂのバーコード画像との間で用紙６０を切断する旨のコマンドを含む印刷データが作成される。また、連続する第１のバーコード画像と第２のバーコード画像とが同じである場合に、それら２つの画像を区切らない態様で印刷するための印刷データが作成される。例えば、商品Ａのバーコード画像と商品Ａのバーコード画像との間で用紙６０を切断する旨のコマンドを含まない印刷データが作成される。これにより、バーコード画像に同じものがあれば、同じバーコード画像を容易に認識し、バーコード画像に異なるものがあれば、異なるバーコード画像を容易に認識できる。【選択図】図１０
2019192052.tif 000002
【特許請求の範囲】
【請求項１】
通信インタフェースを備える情報処理装置のコンピュータが読み取り可能なプリンタドライバであって、
前記コンピュータは、
所定の特徴を有する特徴画像を２つ以上含む含有画像の画像データを出力可能なアプリケーションも読み取り可能であり、
前記コンピュータを、
前記アプリケーションから前記含有画像の画像データを受け付ける受付手段と、
前記受付手段により受け付けられた含有画像の画像データから、第１の特徴画像の第１特徴画像データと第２の特徴画像の第２特徴画像データとを抽出する抽出手段と、
前記抽出手段により抽出された第１特徴画像データと第２特徴画像データを解析することで、第１の特徴画像と第２の特徴画像とが同じであるか否かを判断する判断手段と、
前記判断手段により第１の特徴画像と第２の特徴画像とが同じでないと判断された場合に、第１の特徴画像と第２の特徴画像とを区切る態様で印刷するための印刷データを作成し、前記判断手段により第１の特徴画像と第２の特徴画像とが同じであると判断された場合に、第１の特徴画像と第２の特徴画像とを区切らない態様で印刷するための印刷データを作成する作成手段と、
前記作成手段により作成された印刷データを、前記通信インタフェースを介して、プリンタに送信する送信手段と、
して機能させることを特徴とするプリンタドライバ。
【請求項２】
前記プリンタは、印刷用紙に２以上の画像を印刷し、前記２以上の画像のうちの任意の２の画像の間で当該印刷用紙を切断することが可能な構成とされており、
前記作成手段は、
前記判断手段により第１の特徴画像と第２の特徴画像とが同じでないと判断された場合に、印刷用紙を第１の特徴画像と第２の特徴画像との間で切断することを示すコマンドを含む印刷データを作成し、前記判断手段により第１の特徴画像と第２の特徴画像とが同じであると判断された場合に、前記コマンドを含まない印刷データを作成することを特徴とする請求項１に記載のプリンタドライバ。
【請求項３】
前記作成手段は、
前記判断手段により第１の特徴画像と第２の特徴画像とが同じでないと判断された場合に、第１の特徴画像と第２の特徴画像との間に区切り画像が挿入された画像の印刷データを作成し、前記判断手段により第１の特徴画像と第２の特徴画像とが同じであると判断された場合に、第１の特徴画像と第２の特徴画像との間に前記区切り線が挿入されない画像の印刷データを作成することを特徴とする請求項１に記載のプリンタドライバ。
【請求項４】
前記作成手段は、
前記判断手段により第１の特徴画像と第２の特徴画像とが同じでないと判断された場合に、第１の特徴画像と第２の特徴画像との少なくとも一方に所定のマークが付加された画像の印刷データを作成し、前記判断手段により第１の特徴画像と第２の特徴画像とが同じであると判断された場合に、第１の特徴画像と第２の特徴画像との何れにも前記所定のマークが付加されない画像の印刷データを作成することを特徴とする請求項１に記載のプリンタドライバ。
【請求項５】
前記プリンタは、印刷用紙に２以上の特徴画像を１列に並んだ状態で印刷し、前記アプリケーションは、ページ単位の含有画像の画像データを出力するように構成されており、
前記抽出手段は、
１ページ毎の含有画像において、含有画像の先頭から順に特徴画像の画像データを抽出し、
前記判断手段は、
前記抽出手段により連続して抽出された２つの画像データを前記第１特徴画像データと前記第２特徴画像データとして、第１の特徴画像と第２の特徴画像とが同じであるか否かを判断し、
前記作成手段は、
前記抽出手段により抽出された順に特徴画像を一列に並べた画像の印刷データであり、前記判断手段により第１の特徴画像と第２の特徴画像とが同じでないと判断された第１の特徴画像と第２の特徴画像とは区切る態様で印刷し、前記判断手段により第１の特徴画像と第２の特徴画像とが同じであると判断された第１の特徴画像と第２の特徴画像とは区切らない態様で印刷するための印刷データを作成することを特徴とする請求項１乃至４の何れか１項に記載のプリンタドライバ。
【請求項６】
前記抽出手段は、  前記受付手段が複数ページの含有画像の画像データを受け付けた場合に、１ページ目からページ順に、１ページ毎の含有画像において、含有画像の先頭から順に特徴画像の画像データを抽出し、
前記判断手段は、
当該複数ページのうちの任意のページの含有画像から抽出された特徴画像の画像データのうち末尾の特徴画像の画像データ及び、当該任意のページの次のページの含有画像から抽出された特徴画像の画像データのうち先頭の特徴画像の画像データを第１特徴画像及び第２特徴画像として、第１の特徴画像と第２の特徴画像とが同じであるか否かを判断し、
前記作成手段は、
前記抽出手段により抽出された順に特徴画像を一列に並べた画像であり、かつ、当該複数ページのうちの任意のページの含有画像から抽出された特徴画像の画像データのうち末尾の特徴画像の画像データと、当該任意のページの次のページの含有画像から抽出された特徴画像の画像データのうち先頭の特徴画像の画像データを連続して並べた画像の印刷データであり、前記判断手段により第１の特徴画像と第２の特徴画像とが同じでないと判断された第１の特徴画像と第２の特徴画像とは区切る態様で印刷し、前記判断手段により第１の特徴画像と第２の特徴画像とが同じであると判断された第１の特徴画像と第２の特徴画像とは区切らない態様で印刷するための印刷データを作成することを特徴とする請求項５に記載のプリンタドライバ。
【請求項７】
前記特徴画像は、バーコードを含む画像であり、
前記抽出手段は、
前記受付手段により受け付けられた含有画像の画像データから、バーコードを含む画像の画像データを、第１特徴画像データと第２特徴画像データとして抽出することを特徴とする請求項１乃至６のいずれか１項に記載のプリンタドライバ。
【請求項８】
前記判断手段は、
第１特徴画像データに含まれるバーコードが示す数値と、第２特徴画像データに含まれるバーコードが示す数値との比較により、第１の特徴画像と第２の特徴画像とが同じであるか否かを判断することを特徴とする請求項７に記載のプリンタドライバ。
【請求項９】
前記判断手段は、
第１特徴画像データと第２特徴画像データとの比較により、第１の特徴画像と第２の特徴画像とが同じであるか否かを判断することを特徴とする請求項１乃至７のいずれか１項に記載のプリンタドライバ。
【請求項１０】
入力インタフェースとコンピュータとを備えるプリンタであって、
前記コンピュータは、
所定の特徴を有する特徴画像を２つ以上含む含有画像の画像データを、前記入力インタフェースを介して受け付ける受付手段と、
前記受付手段により受け付けられた含有画像の画像データから、第１の特徴画像の第１特徴画像データと第２の特徴画像の第２特徴画像データとを抽出する抽出手段と、
前記抽出手段により抽出された第１特徴画像データと第２特徴画像データを解析することで、第１の特徴画像と第２の特徴画像とが同じであるか否かを判断する判断手段と、
前記判断手段により第１の特徴画像と第２の特徴画像とが同じでないと判断された場合に、第１の特徴画像と第２の特徴画像とを区切る態様で印刷するための印刷データを作成し、前記判断手段により第１の特徴画像と第２の特徴画像とが同じであると判断された場合に、第１の特徴画像と第２の特徴画像とを区切らない態様で印刷するための印刷データを作成する作成手段と、
前記作成手段により作成された印刷データを印刷する印刷エンジンと、
して機能することを特徴とするプリンタ。
【請求項１１】
コンピュータを備える情報処理装置を備えるシステムであって、
前記コンピュータは、
所定の特徴を有する特徴画像を２つ以上含む含有画像の画像データを出力可能なアプリケーションから前記含有画像の画像データを受け付ける受付手段と、
前記受付手段により受け付けられた含有画像の画像データから、第１の特徴画像の第１特徴画像データと第２の特徴画像の第２特徴画像データとを抽出する抽出手段と、
前記抽出手段により抽出された第１特徴画像データと第２特徴画像データを解析することで、第１の特徴画像と第２の特徴画像とが同じであるか否かを判断する判断手段と、
前記判断手段により第１の特徴画像と第２の特徴画像とが同じでないと判断された場合に、第１の特徴画像と第２の特徴画像とを区切る態様で印刷するための印刷データを作成し、前記判断手段により第１の特徴画像と第２の特徴画像とが同じであると判断された場合に、第１の特徴画像と第２の特徴画像とを区切らない態様で印刷するための印刷データを作成する作成手段と、
前記作成手段により作成された印刷データをプリンタに印刷させる印刷手段と、
して機能することを特徴とするシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、所定の特徴を有する特徴画像を用紙に印刷可能なプリンタのプリンタドライバ等に関する。
【背景技術】
【０００２】
下記特許文献には、所定の特徴を有する特徴画像、具体的には、バーコードを含むバーコード画像を用紙に印刷可能なプリンタが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１６−９９７００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
所定の特徴を有する特徴画像を印刷する技術の改良を課題とする。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、実施例に開示するプリンタドライバは、通信インタフェースを備える情報処理装置のコンピュータが読み取り可能なプリンタドライバであって、前記コンピュータは、所定の特徴を有する特徴画像を２つ以上含む含有画像の画像データを出力可能なアプリケーションも読み取り可能であり、前記コンピュータを、前記アプリケーションから前記含有画像の画像データを受け付ける受付手段と、前記受付手段により受け付けられた含有画像の画像データから、第１の特徴画像の第１特徴画像データと第２の特徴画像の第２特徴画像データとを抽出する抽出手段と、前記抽出手段により抽出された第１特徴画像データと第２特徴画像データを解析することで、第１の特徴画像と第２の特徴画像とが同じであるか否かを判断する判断手段と、前記判断手段により第１の特徴画像と第２の特徴画像とが同じでないと判断された場合に、第１の特徴画像と第２の特徴画像とを区切る態様で印刷するための印刷データを作成し、前記判断手段により第１の特徴画像と第２の特徴画像とが同じであると判断された場合に、第１の特徴画像と第２の特徴画像とを区切らない態様で印刷するための印刷データを作成する作成手段と、前記作成手段により作成された印刷データを、前記通信インタフェースを介して、プリンタに送信する送信手段と、して機能させることを特徴とする。
【発明の効果】
【０００６】
実施例に開示するプリンタドライバは、第１の特徴画像と第２の特徴画像とが同じでない場合に、第１の特徴画像と第２の特徴画像とを区切る態様で印刷するための印刷データを作成し、第１の特徴画像と第２の特徴画像とが同じである場合に、第１の特徴画像と第２の特徴画像とを区切らない態様で印刷するための印刷データを作成する。これにより、複数の特徴画像に同じものがあれば、同じ特徴画像を容易に認識し、複数の特徴画像に異なるものがあれば、異なる特徴画像を容易に認識できる。
【図面の簡単な説明】
【０００７】
【図１】通信システム１のブロック図である。
【図２】各種用紙を示す図である。
【図３】バーコード画像７２を示す図である。
【図４】２ページ分の配置画像７８を示す図である。
【図５】バーコード画像表示画面８０を示す図である。
【図６】プリンタドライバ２８のフローチャートを示す図である。
【図７】プリンタドライバ２８のフローチャートを示す図である。
【図８】プリンタドライバ２８のフローチャートを示す図である。
【図９】マップデータを示す図である。
【図１０】各種用紙を示す図である。
【図１１】変形例の２ページ分の配置画像７８を示す図である。
【発明を実施するための形態】
【０００８】
図１に、本願に係る実施形態として例示される通信システム１のブロック図を示す。通信システム１は、ＰＣ（情報処理装置の一例）１０、プリンタ（プリンタの一例）５０，サーバ５２を備える。
【０００９】
ＰＣ１０は、ＣＰＵ（コンピュータの一例）１２、メモリ１４、ＬＣＤ１６、入力Ｉ／Ｆ１８、ネットワークＩ／Ｆ（通信インタフェースの一例）２０を主に備えている。これらの構成要素は、バス２２を介して互いに通信可能とされている。
【００１０】
ＰＣ１０は、ネットワークＩ／Ｆ２０及びネットワーク５６を通じてプリンタ５０と通信可能となっている。通信の方式としては、例えば、有線ＬＡＮ、ＵＳＢ、Ｗｉ−Ｆｉ（登録商標）やＢｌｕｅｔｏｏｔｈ（登録商標）を採用できる。プリンタ５０は、例えば、テープ状の用紙（図２（ａ）参照）６０への印刷を行うことが可能なデバイスであり、ＰＣ１０との間で各種の情報や指示信号を送受信し、ＰＣ１０による制御に基づいて、所望のテキストや画像等を印字したラベルを作成する。また、ネットワークＩ／Ｆ２０は、ネットワーク５６を介して、サーバ５２に接続されている。これにより、ＰＣ１０は、サーバ５２との間で情報の送受信を行う。
【００１１】
なお、テープ状の用紙６０は、図２（ａ）に示すように、幅方向が所定のサイズである用紙６０の、幅方向に直交する長さ方向に沿って１列に並べられた状態の複数の商品ラベル７０を含んでいる。そして、プリンタ５０に、その用紙６０がロール状に巻回されて収納されており、用紙６０に含まれる商品ラベル７０に、順次、画像が印刷される。また、プリンタ５０では、商品ラベル７０に画像が印刷された後に、任意の位置において用紙を切断することが可能である。
【００１２】
また、ＰＣ１０のＣＰＵ１２は、メモリ１４内の制御プログラム（アプリケーションの一例）２６、プリンタドライバ２８、ＯＳ３２に従って処理を実行する。制御プログラム２６は、所定の形式、例えば、ＰＤＦ形式のファイルの閲覧，印刷等を実行するためのプログラムであり、具体的には、Ａｄｏｂｅ  Ｒｅａｄｅｒ（登録商標）である。また、プリンタドライバ２８は、プリンタ５０のデバイスドライバであり、プリンタ５０の作動を制御する。また、ＯＳ３２は、制御プログラム２６、プリンタドライバ２８に利用される基本的な機能を提供するプログラムである。なお、プリンタドライバ２８等を実行するＣＰＵ１２のことを、単にプログラム名でも記載する場合がある。例えば、「プリンタドライバ２８が」という記載は、「プリンタドライバ２８を実行するＣＰＵ１２が」ということを意味する場合がある。
【００１３】
また、メモリ１４は、データ記憶領域３４を備える。データ記憶領域３４は、制御プログラム２６等の実行に必要なデータなどを記憶する領域である。なお、メモリ１４は、ＲＡＭ、ＲＯＭ、フラッシュメモリー、ＨＤＤ、ＣＰＵ１２が備えるバッファなどが組み合わされて構成されている。
【００１４】
メモリ１４は、コンピュータが読み取り可能なストレージ媒体であってもよい。コンピュータが読み取り可能なストレージ媒体とは、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体である。ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体には、上記の例の他に、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等の記録媒体も含まれる。また、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体は、ｔａｎｇｉｂｌｅな媒体でもある。一方、インターネット上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、コンピュータが読み取り可能な媒体の一種であるコンピュータが読み取り可能な信号媒体であるが、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙなコンピュータが読み取り可能なストレージ媒体には含まれない。
【００１５】
また、ＬＣＤ１６は、ＰＣ１０の各種情報を表示する。なお、本願のディスプレイは、液晶ディスプレイに限らず、有機ＥＬディスプレイ等の他の表示方式のディスプレイでも良い。入力Ｉ／Ｆ１８は、キーボード、マウス等を含み、ユーザ操作を入力するためのインタフェースである。なお、入力Ｉ／Ｆ１８は、キーボード等に限らず、ＬＣＤ１６の表示画面にタッチセンサが重畳されたタッチパネルでも良い。
【００１６】
なお、本明細書では、主に、プログラムに記述された命令に従ったＣＰＵ１２の処理を示す。すなわち、以下の説明における「判断」、「抽出」、「選択」、「算出」、「決定」、「特定」、「取得」、「受付」、「制御」等の処理は、ＣＰＵ１２の処理を表している。ＣＰＵ１２による処理は、ＯＳ３２を介したハードウェア制御も含む。なお「取得」は要求を必須とはしない概念で用いる。すなわち、ＣＰＵ１２が要求することなくデータを受信するという処理も、「ＣＰＵ１２がデータを取得する」という概念に含まれる。また、本明細書中の「データ」とは、コンピュータに読取可能なビット列で表される。そして、実質的な意味内容が同じでフォーマットが異なるデータは、同一のデータとして扱われるものとする。本明細書中の「情報」についても同様である。また、「命令」「応答」「要求」等の処理は、「命令」「応答」「要求」等を示す情報を通信することにより行われる。また、「設定」等の処理は、入力された設定情報をメモリに記憶することで行われる。
【００１７】
通信システム１では、上述した構成により、サービス提供会社が提供するサービスにおいて用いられる商品ラベルの印刷を行うことが可能である。
【００１８】
具体的には、サーバ５２は、サービス提供会社が運営するサーバであり、ユーザにより操作されるＰＣ１０は、サーバ５２にアクセスし、商品ラベル７０に印刷される画像の画像データを取得する。なお、図３に示すように、商品ラベル７０に印刷される画像（以下、「バーコード画像」と記載する）（特徴画像の一例）７２は、商品を識別するためのバーコード７４と、商品の商品名７５と、商品のコンディション７６とにより構成されている。このため、ユーザは、出品対象の商品全てについて、商品毎に商品ラベル７０を添付する必要がある。すなわち、出品対象の商品の全てに応じたバーコード画像を示す画像データ（以下、「バーコード画像データ」と記載する）を取得する必要がある。つまり、出品対象の商品が１０個である場合に、ユーザは、１０個のバーコード画像７２を示すバーコード画像データをサーバ５２から取得する必要がある。例えば、FULFILLMENT by AMAZON（登録商標）サービスを利用するとき、ユーザは、バーコード画像データを、サービスを提供するサーバから取得する。
【００１９】
そこで、ユーザは、ＰＣ１０を用いて、販売対象の商品の数に応じた商品ラベル７０の画像データ、つまり、バーコード画像７２を示すバーコード画像データをサーバ５２から取得する。サーバ５２から取得されるバーコード画像データは、ＰＤＦ形式の画像データである。ちなみに、ＰＣ１０は、本説明において、４個の商品Ａと５個の商品Ｂと２個の商品Ｃと４個の商品Ｄと４個の商品Ｅと５個の商品Ｆとを示す２４個のバーコード画像７２を、サーバ５２から取得する。
【００２０】
なお、サーバ５２は、図４に示すように、バーコード画像７２が、２列６行に配置された画像（以下、「配置画像」と記載する）（含有画像の一例）７８を示すＰＤＦ形式の画像データを作成する。つまり、サーバ５２は、１２個のバーコード画像７２を含む配置画像７８の画像データを作成する。このため、サーバ５２は、２ページ分の配置画像７８の画像データを作成する。図４（ａ）は、１ページ目の配置画像７８を示しており、図４（ｂ）は、２ページ目の配置画像７８を示している。ちなみに、図４でのＡ〜Ｆの各々は、商品Ａ〜Ｆのバーコード画像７２を示している。つまり、１ページ目の配置画像７８には、４個の商品Ａのバーコード画像７２と、５個の商品Ｂのバーコード画像７２と、２個の商品Ｃのバーコード画像７２と、１個の商品Ｄのバーコード画像７２とが含まれており、２ページ目の配置画像７８には、３個の商品Ｄのバーコード画像７２と、４個の商品Ｅのバーコード画像７２と、５個の商品Ｆのバーコード画像７２とが含まれている。
【００２１】
また、制御プログラム２６はＰＤＦ形式の画像データを表示するアプリケーションである。制御プログラム２６は、サーバ５２から取得したＰＤＦ形式の画像データに基づいて、図５に示すバーコード画像表示画面８０をＬＣＤ１６に表示する。バーコード画像表示画面８０には、サーバ５２から取得した配置画像に含まれる複数のバーコード画像７２が表示される。そして、バーコード画像表示画面８０において、印刷ボタン８２が操作されると、制御プログラム２６は、サーバから取得した画像データ、つまり、２ページ分の配置画像の画像データを、プリンタドライバ２８に出力する。そして、プリンタドライバ２８が画像データを受け付けると、受け付けた画像データに基づく画像、つまり、配置画像に含まれるバーコード画像７２を印刷用紙に印刷するための印刷用画像データを作成する。
【００２２】
詳しくは、制御プログラム２６は、印刷ボタン８２が操作されると、印刷命令を、ＯＳ３２を介して、プリンタドライバ２８に出力する。このとき、ＰＤＦ形式の画像データを基に、プリンタドライバ２８が解釈可能なベクター形式の画像データに変換された画像データが、印刷命令と共に、プリンタドライバ２８に出力される。なお、出力される画像データは、制御プログラム２６がサーバ５２から受け取った配置画像７８に応じたベクター形式の画像データが送信される。つまり、図４に示すように、バーコード画像７２が２列６行に配置された状態のベクター形式の画像データが送信される。このため、制御プログラム２６は、２ページ分の配置画像のベクター形式の画像データをプリンタドライバ２８に出力する。なお、ベクター形式の画像データに限られず、ラスター形式の画像データが送信されてもよい。
【００２３】
続いて、プリンタドライバ２８が、制御プログラム２６から出力された画像データ及び印刷命令を受信した後に実行する処理を、図６乃至図８を用いて説明する。プリンタドライバ２８は、印刷命令等を制御プログラム２６から受け付けると（Ｓ１００）、印刷命令と共に受け付けたベクター形式の画像データを、ビットマップ形式の画像データに変換することをＯＳ３２に依頼する（Ｓ１０２）。ＯＳ３２は、その依頼を受け付けると、ベクター形式の画像データをビットマップ形式の画像データに変換する。そして、プリンタドライバ２８は、ＯＳ３２からビットマップ形式の画像データを受け付ける（Ｓ１０４）。つまり、プリンタドライバ２８は、バーコード画像７２が２列６行に配置された状態の２ページ分の配置画像７８のビットマップ形式の画像データを受け付ける。なお、プリンタドライバ２８がバーコード画像を抽出できる形式の画像データに変換できれば、ビットマップ画像に変換しなくてもよい。また、Ｓ１００で受け付けた画像データの形式が、プリンタドライバ２８がバーコード画像を抽出できる形式である場合は、Ｓ１０２〜Ｓ１０４を省略してもよい。
【００２４】
続いて、プリンタドライバ２８は、後に説明するメモリ画像データを記憶するための比較用メモリと、その比較用メモリに記憶されたメモリ画像データと同じバーコード画像データの検出数をカウントするためのカウンタを０にリセットする（Ｓ１０６）。そして、プリンタドライバ２８は、ＯＳ３２から受け付けた画像データ、つまり、２列６行に配置されたバーコード画像７２を含む配置画像７８の画像データから、バーコード画像７２の画像データを抽出する抽出処理を、ページ単位で実行する（Ｓ１０８）。
【００２５】
詳しくは、プリンタドライバ２８は、まず、１ページ目の配置画像７８（図４（ａ）参照）の画像データを解析し、バーコードを示す画像データとしての特徴を持つ特徴データを検出する。そして、検出した特徴データが示す画像の位置を示す位置情報を、バーコード画像７２に含まれるバーコード７４の位置を示す位置情報として取得する。そして、ビットマップ形式の画像データに基づく画像の所定の角の座標からの、バーコード７４のオフセット量を演算する。また、プリンタドライバ２８には、バーコード画像７２の幅寸法および高さ寸法が予め入力されている。そこで、プリンタドライバ２８は、バーコード７４のオフセット量と、バーコード画像７２の幅寸法および高さ寸法とに基づいて、ビットマップ形式の画像データに基づく画像から、バーコード画像７２を切り出すための領域（以下、「クロップ領域」と記載する）を特定する。そして、プリンタドライバ２８は、ビットマップ形式の画像データからクロップ領域の画像データを抽出する。これにより、バーコード画像７２の画像データが抽出される。
【００２６】
なお、特徴データが複数検出された場合、プリンタドライバ２８は、検出された特徴データそれぞれに対応する、複数のバーコード画像７２の画像データを抽出する。つまり、プリンタドライバ２８は、１ページ目の配置画像７８から１２個のバーコード画像７２の画像データを抽出する。この際、プリンタドライバ２８は、配置画像７８の先頭、つまり、配置画像７８の左上のバーコード画像７２（商品Ａのバーコード画像：図４（ａ）参照）から、配置画像７８の末尾、つまり、配置画像７８の右下のバーコード画像７２（商品Ｄのバーコード画像：図４（ａ）参照）まで、順番にバーコード画像７２を抽出する。なお、バーコード画像７２の抽出は、行より列を優先して行われる。つまり、配置画像７８の左側に配列された１列目のバーコード画像７２が上から下に向かって順番に抽出された後に、配置画像７８の右側に配列された２列目のバーコード画像７２が上から下に向かって順番に抽出される。そして、プリンタドライバ２８は、抽出された順に、連続して抽出された２個のバーコード画像７２が同じであるか否かを判断し、連続して抽出された同じバーコード画像７２の数をカウントする。
【００２７】
詳しくは、１ページ目の配置画像７８からバーコード画像７２の画像データが抽出されると、プリンタドライバ２８は、比較用メモリがリセット状態とされているか否かを判断する（Ｓ１１０）。１ページ目の配置画像７８からバーコード画像７２の画像データを抽出した直後は、Ｓ１０６において比較用メモリがリセットされたままである。なお、配置画像７８から抽出されたバーコード画像７２の画像データを、抽出画像データと記載する。比較用メモリがリセット状態とされていると判断する（Ｓ１１０：ＹＥＳ）と、プリンタドライバ２８は、１ページ目の配置画像７８から最初に抽出した抽出画像データ、つまり、商品Ａのバーコード画像７２の抽出画像データを、比較用メモリに記憶させる（Ｓ１１２）。そして、プリンタドライバ２８は、カウンタを１にセットする（Ｓ１１４）。
【００２８】
続いて、プリンタドライバ２８は、未処理の抽出画像データが有るか否かを判断する（Ｓ１１６）。この際、１ページ目の配置画像７８から抽出された抽出画像データのうちの最初の抽出画像データしか処理が行われていない状態では、未処理の抽出画像データがあると判断される（Ｓ１１６：ＹＥＳ）。そして、プリンタドライバ２８は、２番目に抽出された抽出画像データが比較用メモリに記憶されている画像データ（以下、「メモリ画像データ」と記載する）と同じであるか否かを判断する。
【００２９】
この際、抽出画像データがメモリ画像データと同じであるか否かの判断手法は、例えば、抽出画像データとメモリ画像データとの各々の画像データのヒストグラムを算出し、抽出画像データのヒストグラムとメモリ画像データのヒストグラムとが所定の割合以上近似している場合に、抽出画像データとメモリ画像データとが同じであると判断する手法を採用してもよい。また、例えば、抽出画像データとメモリ画像データとの各々に含まれるバーコードを復号してテキストデータを取得し、抽出画像データのテキストデータとメモリ画像データのテキストデータとが同じ場合に、抽出画像データとメモリ画像データとが同じであると判断する手法を採用してもよい。
【００３０】
ここで、１ページ目の配置画像７８から２番目に抽出された抽出画像データは、商品Ａのバーコード画像７２の画像データであり、メモリ画像データは、Ｓ１１２で記憶された商品Ａのバーコード画像７２の画像データであるため、抽出画像データがメモリ画像データと同じであると判断される（Ｓ１１８：ＹＥＳ）。そして、プリンタドライバ２８は、カウンタの数値をカウントアップする（Ｓ１２０）。つまり、カウンタの数値に１が加算される。
【００３１】
続いて、再度、プリンタドライバ２８は、未処理の抽出画像データが有るか否かを判断する（Ｓ１１６）。この際、１ページ目の配置画像７８から抽出された抽出画像データのうちの２番目の抽出画像データ迄しか処理が行われていないため、ここでは、未処理の抽出画像データがあると判断される（Ｓ１１６：ＹＥＳ）。そして、Ｓ１１８以降の処理が行われる。ここで、３番目の抽出画像データおよび、４番目の抽出画像データは、商品Ａのバーコード画像７２の画像データであるため、Ｓ１１８の処理において、抽出画像データがメモリ画像データと同じであると判断され（Ｓ１１８：ＹＥＳ）、Ｓ１２０の処理において、カウンタの数値がカウントアップされる。このため、４番目の抽出画像データに対する処理が完了した時点で、カウンタの数値は４とされている。
【００３２】
次に、４番目の抽出画像データに対する処理が完了した後に、Ｓ１１６において、未処理の抽出画像データが有るか否かが判断されると、５番目以降の抽出画像データに対する処理が行われていないため、未処理の抽出画像データがあると判断される（Ｓ１１６：ＹＥＳ）。そして、プリンタドライバ２８は、Ｓ１１８において、５番目の抽出画像データがメモリ画像データと同じであるか否かを判断する。この際、５番目の抽出画像データは商品Ｂのバーコード画像７２の画像データであり、メモリ画像データは商品Ａのバーコード画像７２の画像データであるため、抽出画像データはメモリ画像データと同じでないと判断される（Ｓ１１８：ＮＯ）。
【００３３】
そして、プリンタドライバ２８は、比較用メモリに記憶されている画像データと、カウンタの数値とを関連付けて、マップデータに登録する（Ｓ１２２）。この際、比較用メモリに記憶されている画像データは、バーコード画像として登録され、カウンタの数値は、検出数として登録される。今回、比較用メモリに、商品Ａのバーコード画像７２の画像データが記憶され、カウンタの数値は４であるため、図９に示すように、商品Ａのバーコード画像７２の画像データと、検出数「４」とが関連付けられる。なお、図９は、マップデータを概念的に示したものである。
【００３４】
次に、プリンタドライバ２８は、抽出画像データを比較用メモリに記憶する（Ｓ１１２）。つまり、５番目の抽出画像データである商品Ｂのバーコード画像７２の画像データを比較用メモリに記憶する。そして、カウンタが１に設定される（Ｓ１１４）。続いて、Ｓ１１６の処理において、未処理の抽出画像データがあると判断され（Ｓ１１６：ＹＥＳ）、Ｓ１１８以降の処理が行われる。ここで、６〜９番目の抽出画像データは、商品Ｂのバーコード画像７２の画像データであるため、Ｓ１１８の処理において、抽出画像データがメモリ画像データと同じであると判断され（Ｓ１１８：ＹＥＳ）、Ｓ１２０の処理において、カウンタの数値がカウントアップされる。このため、９番目の抽出画像データに対する処理が完了した時点で、カウンタの数値は５とされている。
【００３５】
次に、９番目の抽出画像データに対する処理が完了した後に、Ｓ１１６において、未処理の抽出画像データがあると判断される（Ｓ１１６：ＹＥＳ）。そして、プリンタドライバ２８は、Ｓ１１８において、１０番目の抽出画像データがメモリ画像データと同じであるか否かを判断する。この際、１０番目の抽出画像データは商品Ｃのバーコード画像７２の画像データであり、メモリ画像データは商品Ｂのバーコード画像７２の画像データであるため、抽出画像データはメモリ画像データと同じでないと判断される（Ｓ１１８：ＮＯ）。
【００３６】
そして、プリンタドライバ２８は、比較用メモリに記憶されている画像データと、カウンタの数値とを関連付けて、マップデータに登録する（Ｓ１２２）。つまり、図９に示すように、商品Ｂのバーコード画像７２の画像データと、検出数「５」とを関連付けて、マップデータに登録する。
【００３７】
次に、プリンタドライバ２８は、抽出画像データを比較用メモリに記憶する（Ｓ１１２）。つまり、１０番目の抽出画像データである商品Ｃのバーコード画像７２の画像データを比較用メモリに記憶する。そして、カウンタが１に設定される（Ｓ１１４）。続いて、Ｓ１１６の処理において、未処理の抽出画像データがあると判断され（Ｓ１１６：ＹＥＳ）、Ｓ１１８以降の処理が行われる。ここで、１１番目の抽出画像データは、商品Ｃのバーコード画像７２の画像データであるため、Ｓ１１８の処理において、抽出画像データがメモリ画像データと同じであると判断され（Ｓ１１８：ＹＥＳ）、Ｓ１２０の処理において、カウンタの数値がカウントアップされる。このため、１１番目の抽出画像データに対する処理が完了した時点で、カウンタの数値は２とされている。
【００３８】
次に、１１番目の抽出画像データに対する処理が完了した後に、Ｓ１１６において、未処理の抽出画像データがあると判断される（Ｓ１１６：ＹＥＳ）。そして、プリンタドライバ２８は、Ｓ１１８において、１２番目の抽出画像データ、つまり、１ページ目の最後に抽出された抽出画像データがメモリ画像データと同じであるか否かを判断する。この際、１２番目の抽出画像データは商品Ｄのバーコード画像７２の画像データであり、メモリ画像データは商品Ｃのバーコード画像７２の画像データであるため、抽出画像データはメモリ画像データと同じでないと判断される（Ｓ１１８：ＮＯ）。
【００３９】
そして、プリンタドライバ２８は、比較用メモリに記憶されている画像データと、カウンタの数値とを関連付けて、マップデータに登録する（Ｓ１２２）。つまり、図９に示すように、商品Ｃのバーコード画像７２の画像データと、検出数「２」とを関連付けて、マップデータに登録する。この時点で、マップデータには、商品Ａのバーコード画像７２の画像データ及び検出数と、商品Ｂのバーコード画像７２の画像データ及び検出数と、商品Ｃのバーコード画像７２の画像データ及び検出数とが登録されているが、１２番目に抽出された商品Ｄのバーコード画像７２の画像データ及び検出数は登録されていない。
【００４０】
次に、プリンタドライバ２８は、１２番目の抽出画像データである商品Ｄのバーコード画像７２の画像データを比較用メモリに記憶し（Ｓ１１２）、カウンタを１に設定する（Ｓ１１４）。これにより、１ページ目の配置画像７８から抽出された１２個の抽出画像データの全てに対して処理が行われたため、Ｓ１１６において、未処理の抽出画像データがないと判断される（Ｓ１１６：ＮＯ）。
【００４１】
そして、プリンタドライバ２８は、ドキュメントに未処理のページが有るか否かを判断する（Ｓ１２４）。つまり、プリンタドライバ２８は、２ページ分の配置画像７８の画像データを、１つのドキュメントとして受け付けており、上記処理において、１ページ目の配置画像７８の画像データに対して処理を行っているが、２ページ目の配置画像７８の画像データに対して処理を行っていない。このため、ドキュメントに未処理のページが有ると判断される（Ｓ１２４：ＹＥＳ）。
【００４２】
次に、プリンタドライバ２８は、１ページ目の配置画像７８においてマップデータに登録されたバーコード画像７２の印刷用画像データを、マップデータに登録された順に作成する。詳しくは、プリンタドライバ２８は、マップデータに登録された全てのバーコード画像７２の印刷用画像データを作成したか否かを判断する（Ｓ１２６）。ここで、プリンタドライバ２８は、マップデータに登録されたバーコード画像７２の印刷用画像データを、まだ作成していないため、マップデータに登録された全てのバーコード画像７２の印刷用画像データを作成していないと判断される（Ｓ１２６：ＮＯ）。
【００４３】
続いて、プリンタドライバ２８は、まず、１ページ目の配置画像７８において、マップデータに最初に登録された商品Ａのバーコード画像７２の印刷用画像データを作成する（Ｓ１２８）。この際、商品Ａのバーコード画像７２と関連付けられている検出数は、「４」であるため（図９参照）、プリンタドライバ２８は、用紙６０の連続する４枚の商品ラベル７０に商品Ａのバーコード画像７２を印刷するべく、４個の商品Ａのバーコード画像７２の印刷用画像データを作成する。さらに、プリンタドライバ２８は、作成した印刷用画像データに、切断コマンドを付加する。切断コマンドは、印刷用画像データに基づく印刷処理が完了した後に、用紙６０の切断を指示する旨のコマンドである。つまり、４枚の商品ラベル７０に、４個の商品Ａのバーコード画像７２を印刷した後に、４枚目の商品ラベル７０と５枚目の商品ラベル７０との間で、用紙６０を切断する旨のコメントである。そして、プリンタドライバ２８は、コマンドの付加された印刷用画像データをプリンタ５０に送信する（Ｓ１３０）。
【００４４】
次に、プリンタドライバ２８は、マップデータに登録された全てのバーコード画像７２の印刷用画像データを作成したか否かを判断するが、商品Ａのバーコード画像７２の印刷用画像データしか作成していないため、全てのバーコード画像７２の印刷用画像データを作成していないと判断される（Ｓ１２６：ＮＯ）。そして、プリンタドライバ２８は、マップデータに２番目に登録された商品Ｂのバーコード画像７２の印刷用画像データを作成する（Ｓ１２８）。この際、商品Ｂのバーコード画像７２と関連付けられている検出数は、「５」であるため（図９参照）、プリンタドライバ２８は、５個の商品Ｂのバーコード画像７２の印刷用画像データを作成する。さらに、プリンタドライバ２８は、作成した印刷用画像データに、切断コマンドを付加する。そして、プリンタドライバ２８は、コマンドの付加された印刷用画像データをプリンタ５０に送信する（Ｓ１３０）。
【００４５】
続いて、同様の処理（Ｓ１２６〜１３０）により、プリンタドライバ２８は、２個の商品Ｂのバーコード画像７２の印刷用画像データを作成し、作成した印刷用画像データに、切断コマンドを付加する。そして、プリンタドライバ２８は、コマンドの付加された印刷用画像データをプリンタ５０に送信する。これにより、１ページ目の配置画像７８において、マップデータに登録された全てのバーコード画像７２の印刷用画像データが作成され、プリンタ５０に送信される。
【００４６】
このように、印刷用画像データに切断コマンドを付加し、その印刷用画像データがプリンタ５０に送信されることで、プリンタ５０のユーザは、例えば、図１０（ａ）に示すように、商品Ａのバーコード画像７２が印刷された商品ラベル７０と、商品Ｂのバーコード画像７２が印刷された商品ラベル７０とが切断された態様で、バーコード画像７２の印刷された商品ラベル７０を得ることができる。すなわち、ユーザの作業性が向上する。切断された態様は、区切られた態様の一例である。
【００４７】
また、１ページ目の配置画像７８において、マップデータに登録された全てのバーコード画像７２の印刷用画像データが作成され、プリンタ５０に送信されると（Ｓ１２６：ＹＥＳ）、プリンタドライバ２８は、２ページ目の配置画像７８（図４（ｂ）参照）の画像データからバーコード画像７２の画像データを抽出する（Ｓ１０８）。そして、２ページ目の配置画像７８の抽出画像データに対して、上述した１ページ目の配置画像７８の抽出画像データに対する処理と同じ処理（Ｓ１１０〜Ｓ１１６）が実行される。
【００４８】
具体的には、例えば、プリンタドライバ２８が、２ページ目の配置画像７８から最初に抽出された抽出画像データ、つまり、商品Ｄのバーコード画像７２の画像データが、メモリ画像データと同じであるか否かを判断する（Ｓ１１８）。この際、比較用メモリには、１ページ目の配置画像７８の処理時に、商品Ｄのバーコード画像７２の画像データがメモリ画像データとして記憶されているため、抽出画像データがメモリ画像データと同じであると判断される（Ｓ１１８：ＹＥＳ）。そして、カウンタの数値に１が加算され（Ｓ１２０）、カウンタの数値が「２」とされる。つまり、１ページ目の配置画像７８の末尾のバーコード画像７２と、２ページ目の配置画像７８の先頭のバーコード画像７２とを連続する画像として取扱い、同じ画像として、カウンタに記録される。
【００４９】
また、２ページ目の配置画像７８の抽出画像データに対して、上述した１ページ目の配置画像７８の抽出画像データに対する処理と同じ処理（Ｓ１１０〜Ｓ１１６）が実行されると、マップデータには、２ページ目の配置画像７８に対する処理結果として、商品Ｄのバーコード画像７２の画像データ及び検出数と、商品Ｅのバーコード画像７２の画像データ及び検出数とが登録されるが、８〜１２番目に抽出された商品Ｆのバーコード画像７２の画像データ及び検出数は登録されない。これは、抽出画像データがメモリ画像データと同じでない場合（Ｓ１１８：ＮＯ）に、メモリ画像データがマップデータに登録されるためである。つまり、８〜１２番目に抽出された商品Ｆのバーコード画像７２の画像データの後に、商品Ｆと異なる商品のバーコード画像７２の画像データは抽出されないため、商品Ｆのバーコード画像７２の画像データがメモリ画像データと異なることは有り得ない。このため、商品Ｆのバーコード画像７２の画像データ及び検出数はマップデータに登録されない。
【００５０】
このようなことを踏まえて、２ページ目の配置画像７８の全てのバーコード画像７２が抽出され（Ｓ１１６：ＮＯ）、ドキュメントに未処理のページが無いと判断された後に（Ｓ１２４：ＮＯ）、プリンタドライバ２８は、８〜１２番目に抽出された商品Ｆのバーコード画像７２の画像データ及び検出数を、マップデータに登録する（Ｓ１３２）。
【００５１】
そして、プリンタドライバ２８は、２ページ目の配置画像７８においてマップデータに登録されたバーコード画像７２の印刷用画像データを、マップデータに登録された順に作成する。詳しくは、プリンタドライバ２８は、印刷用画像データの作成対象のバーコード画像７２は、マップデータに最後に登録されたバーコード画像７２であるか否かを判断する（Ｓ１３４）。ここで、２ページ目の配置画像７８において最初にマップデータに登録されたバーコード画像７２が印刷用画像データの作成対象の画像であるため、印刷用画像データの作成対象のバーコード画像７２は、マップデータに最後に登録されたバーコード画像７２でないと判断される（Ｓ１３４：ＮＯ）。
【００５２】
続いて、プリンタドライバ２８は、まず、２ページ目の配置画像７８において、マップデータに最初に登録された商品Ｄのバーコード画像７２の印刷用画像データを作成する（Ｓ１３６）。この際、商品Ｄのバーコード画像７２と関連付けられている検出数は、「４」であるため（図９参照）、プリンタドライバ２８は、４個の商品Ｄのバーコード画像７２の印刷用画像データを作成する。さらに、プリンタドライバ２８は、作成した印刷用画像データに、切断コマンドを付加する。そして、プリンタドライバ２８は、コマンドの付加された印刷用画像データをプリンタ５０に送信する（Ｓ１３８）。
【００５３】
次に、プリンタドライバ２８は、印刷用画像データの作成対象のバーコード画像７２が、マップデータに最後に登録されたバーコード画像７２であるか否かを判断するが、次の作成対象のバーコード画像７２は、商品Ｅのバーコード画像７２であるため、作成対象のバーコード画像７２は、マップデータに最後に登録されたバーコード画像７２でないと判断する（Ｓ１３４：ＮＯ）。そして、プリンタドライバ２８は、商品Ｅのバーコード画像７２の印刷用画像データを作成する（Ｓ１３６）。この際、商品Ｅのバーコード画像７２と関連付けられている検出数は、「４」であるため（図９参照）、プリンタドライバ２８は、４個の商品Ｅのバーコード画像７２の印刷用画像データを作成する。さらに、プリンタドライバ２８は、作成した印刷用画像データに、切断コマンドを付加する。そして、プリンタドライバ２８は、コマンドの付加された印刷用画像データをプリンタ５０に送信する（Ｓ１３８）。
【００５４】
さらに、プリンタドライバ２８は、印刷用画像データの作成対象のバーコード画像７２が、マップデータに最後に登録されたバーコード画像７２であるか否かを判断するが、次の作成対象のバーコード画像７２は、商品Ｆのバーコード画像７２であるため、作成対象のバーコード画像７２は、マップデータに最後に登録されたバーコード画像７２であると判断する（Ｓ１３４：ＹＥＳ）。そして、プリンタドライバ２８は、商品Ｆのバーコード画像７２の印刷用画像データを作成する（Ｓ１３６）。この際、商品Ｆのバーコード画像７２と関連付けられている検出数は、「５」であるため（図９参照）、プリンタドライバ２８は、５個の商品Ｆのバーコード画像７２の印刷用画像データを作成する。さらに、プリンタドライバ２８は、作成した印刷用画像データに、切断コマンドを付加する。そして、プリンタドライバ２８は、コマンドの付加された印刷用画像データをプリンタ５０に送信する（Ｓ１３８）。これにより、２ページ目の配置画像７８の全てのバーコード画像７２の印刷用画像データが作成され、プリンタ５０に送信される。
【００５５】
このように、１ページ目の配置画像７８の末尾のバーコード画像７２（商品Ｄのバーコード画像）と、２ページ目の配置画像７８の先頭のバーコード画像７２（商品Ｄのバーコード画像）とを連続する画像として取扱い、同じ画像として、カウンタに記録されることで、１ページ目の配置画像７８の末尾のバーコード画像７２と、２ページ目の配置画像７８の先頭のバーコード画像７２とを含む４個のバーコード画像７２を纏めて４枚の商品ラベル７０に印刷することができる。そして、それら４枚の商品ラベル７０を含むシートを、用紙から切断することができる。
【００５６】
なお、Ｓ１００を実行するＣＰＵ１２は、受付手段の一例である。Ｓ１０８を実行するＣＰＵ１２は、抽出手段の一例である。Ｓ１１８を実行するＣＰＵ１２は、判断手段の一例である。Ｓ１２８，Ｓ１３６，Ｓ１４０を実行するＣＰＵ１２は、作成手段の一例である。Ｓ１３０，Ｓ１３８，Ｓ１４２を実行するＣＰＵ１２は、送信手段の一例である。
【００５７】
＜実施例の効果＞
上記した実施形態によれば、以下の効果を奏する。
【００５８】
プリンタドライバ２８は、抽出画像データがメモリ画像データと同じである場合に、連続する２つのバーコード画像７２の画像データが同じ商品を示す画像であると判断され、それら連続する２つのバーコード画像７２を区切らない態様で印刷用画像データが作成される。一方、抽出画像データがメモリ画像データと同じでない場合に、連続する２つのバーコード画像７２の画像データが同じ商品を示す画像でないと判断され、それら連続する２つのバーコード画像７２を区切る態様で印刷用画像データが作成される。これにより、異なる商品のバーコード画像７２を区別し易くなり、ユーザの作業性が向上する。
【００５９】
また、連続する２つのバーコード画像７２を区切る態様とは、商品ラベル７０に印刷された連続する２つのバーコード画像７２の間で用紙６０を切断する態様である。これにより、異なる商品のバーコード画像７２毎に分離されるため、作業性が非常に向上する。
【００６０】
プリンタドライバ２８は、ページ単位で配置画像７８の先頭から順にバーコード画像７２を抽出し、連続して抽出された２つのバーコード画像７２が同じであるか否かを判断する。そして、連続して抽出された２つのバーコード画像７２が同じであると判断された場合に、プリンタドライバ２８は、それら２つのバーコード画像７２を区切らない態様で、用紙６０に１列に並べられた商品ラベル７０に印刷するための印刷用画像データを作成する。一方、連続して抽出された２つのバーコード画像７２が同じでないと判断された場合に、プリンタドライバ２８は、それら２つのバーコード画像７２を区切る態様で、用紙６０に１列に並べられた商品ラベル７０に印刷するための印刷用画像データを作成する。これにより、異なる商品毎に、適切にバーコード画像７２を区別することができる。
【００６１】
プリンタドライバ２８は、１ページ目の配置画像７８の末尾のバーコード画像７２と、２ページ目の配置画像７８の先頭のバーコード画像７２とが同じである場合に、それら２つのバーコード画像７２を区切らない態様で、用紙６０に１列に並べられた商品ラベル７０に印刷するための印刷用画像データを作成する。また、プリンタドライバ２８は、１ページ目の配置画像７８の末尾のバーコード画像７２と、２ページ目の配置画像７８の先頭のバーコード画像７２とが異なる場合に、それら２つのバーコード画像７２を区切る態様で、用紙６０に１列に並べられた商品ラベル７０に印刷するための印刷用画像データを作成する。これにより、複数ページに跨って同じ商品のバーコード画像７２が存在する場合であっても、同じ商品のバーコード画像７２を区切ることなく印刷できる。
【００６２】
また、抽出画像データとメモリ画像データとが同じであるか否かが判断される際に、抽出画像データとメモリ画像データとの各々に含まれるバーコードが復号され、テキストデータが形成される。そして、抽出画像データのテキストデータとメモリ画像データのテキストデータとが同じ場合に、抽出画像データとメモリ画像データとが同じであると判断される。これにより、抽出画像データとメモリ画像データとが同じであるか否かを適切に判断することができる。
【００６３】
また、抽出画像データとメモリ画像データとが同じであるか否かが判断される際に、抽出画像データとメモリ画像データとの各々の画像データのヒストグラムが算出される。そして、抽出画像データのヒストグラムとメモリ画像データのヒストグラムとが所定の割合以上近似している場合に、抽出画像データとメモリ画像データとが同じであると判断される。これにより、抽出画像データとメモリ画像データとが同じであるか否かを適切に判断することができる。
【００６４】
また、本発明は、上記実施形態に限定されるものではなく、当業者の知識に基づいて種々の変更、改良を施した種々の態様で実施することが可能である。具体的には、例えば、上記実施形態では、配置画像７８からのバーコード画像７２の抽出と、印刷用画像の作成と、がページ単位でなされているが、配置画像７８からのバーコード画像７２の抽出と、印刷用画像の作成と、がドキュメント単位でなされてもよい。つまり、１ページ目の配置画像７８と２ページ目の配置画像７８の双方からバーコード画像７２を抽出してから、印刷用画像を作成してもよい。具体的には、Ｓ１２６〜Ｓ１３０を省略し、Ｓ１２４：ＹＥＳのあと、Ｓ１０８の実行に戻ってもよい。このように、配置画像７８からのバーコード画像７２の抽出と、印刷用画像の作成と、がドキュメント単位でなされる場合には、図１１に示すように、同じ商品のバーコード画像７２、例えば、商品Ａのバーコード画像７２が、１ページ目の配置画像７８と２ページ目の配置画像７８との各々にランダムに配置されている場合であっても、全ての商品Ａのバーコード画像７２を区切らない態様で印刷することができる。配置画像７８からのバーコード画像７２の抽出と、印刷用画像の作成と、がページ単位でなされる場合には、Ｓ１００で印刷指示を受け付けてから、プリンタ５０での印刷が開始されるまでの時間が比較的短くて済む。
【００６５】
また、プリンタ５０で用いられる印刷用紙として、複数の商品ラベル７０を含む用紙６０が採用されているが、無定長用紙が採用されてもよい。無定長用紙とは、レシート用紙などのテープ状の印刷用紙であり、任意の位置で切断される。このような無定長用紙であれば、図１０（ｂ）に示すように、２つの画像の間に区切り線８６などの区切り画像を挿入する態様が採用されてもよい。具体的には、プリンタドライバ２８が、Ｓ１２８およびＳ１３６にて、例えば、商品Ａの最後尾のバーコード画像７２の後ろに区切り線８６が挿入された印刷用画像データを作成してもよい。これにより、ユーザは、商品Ａのバーコード画像７２と商品Ｂのバーコード画像７２とを容易に区別することができる。また、図１０（ｃ）に示すように、２つの画像を区切る態様として、２つの画像の少なくとも一方に所定のマーク８８が付加される態様が採用されてもよい。具体的には、プリンタドライバ２８が、Ｓ１２８およびＳ１３６にて、例えば、商品Ａの最後尾のバーコード画像７２に所定のマークが付加され、商品Ｂの先頭のバーコード画像７２には付加されない印刷用画像データを作成してもよい。プリンタドライバ２８が、商品Ａの最後尾のバーコード画像７２に所定のマークが付加されず、商品Ｂの先頭のバーコード画像７２には付加される印刷用画像データを作成してもよい。これにより、ユーザは、商品Ａのバーコード画像７２と商品Ｂのバーコード画像７２とを容易に区別することができる。
【００６６】
また、プリンタ５０で用いられる印刷用紙として、図２（ａ）に示す商品ラベル７０が１列に並べられた用紙６０が採用されているが、図２（ｂ）に示す商品ラベル７０が２列に並べられた用紙６６が採用されてもよい。この場合、例えば、バーコード画像７２の検出数が偶数であれば、検出数の半分の行数分の商品ラベル７０が分離されるように、用紙６６が切断される。つまり、検出数が６であれば、３行分の商品ラベル７０が分離されるように、用紙６６が切断される。また、例えば、バーコード画像７２の検出数が奇数であれば、検出数に１加算された数の半分の行数分の商品ラベル７０が分離されるように、用紙６６が切断される。つまり、検出数が７であれば、４行分の商品ラベル７０が分離されるように、用紙６６が切断される。この際、１枚の商品ラベル７０は空白とされる。
【００６７】
また、上記実施形態では、本発明がＰＣ１０に適用されているが、プリンタ５０に適用されてもよい。つまり、ＰＣ１０のプリンタドライバ２８と同等のプログラムをプリンタ５０が備えていても良い。このような場合に、そのプログラムは、プリンタ５０に入力された画像データを、プリンタドライバ２８と同等に処理して印刷データを作成し、プリンタ５０が備える印刷エンジンに印刷させる。
【００６８】
また、上記実施形態では、ＣＰＵ１２によって図６乃至図８に示す処理が実行される例を説明したが、これら処理は、ＣＰＵ１２に限らず、ＡＳＩＣや他の論理集積回路により実行されてもよいし、これら処理が、ＣＰＵ等やＡＳＩＣ、他の論理集積回路が協働することにより実行されてもよい。
【符号の説明】
【００６９】
１０：ＰＣ、１２：ＣＰＵ、２０：ネットワークＩ／Ｆ、２６：制御プログラム、２８：プリンタドライバ    ５０：プリンタ 
【図１】
2019192052.tif 000003
【図２】
2019192052.tif 000004
【図３】
2019192052.tif 000005
【図４】
2019192052.tif 000006
【図５】
2019192052.tif 000007
【図６】
2019192052.tif 000008
【図７】
2019192052.tif 000009
【図８】
2019192052.tif 000010
【図９】
2019192052.tif 000011
【図１０】
2019192052.tif 000012
【図１１】
2019192052.tif 000013