(57)【要約】【課題】バーコードの印刷品質を担保しつつ、印刷時間の短縮を図る。【解決手段】印刷対象の画像が、バーコードなどのコード画像１０２ａ，ｂ，ｃ，ｄを含むコード含有画像１１２である場合に、コード画像を含む特徴画像含有範囲（３０〜６０，９０〜１５０）に対して印刷品質を優先した印刷処理を実行し、特徴画像含有範囲以外の範囲に対して印刷速度を優先した印刷処理を実行すること示すコマンドが作成される。そして、作成されたコマンドを含む印刷データが、プリンタに送信される。これにより、コード画像が印刷品質を優先した態様で印刷され、コード画像以外の部分は、印刷速度を優先した態様で印刷されるため、コード画像の印刷品質を担保しつつ、印刷時間の短縮を図ることが可能となる。【選択図】図８
2019198002.tif 000002
【特許請求の範囲】
【請求項１】
通信インタフェースを備える情報処理装置のコンピュータが読み取り可能な制御プログラムであり、プリンタ用の印刷データを生成する制御プログラムであって、
前記プリンタは、印刷用紙を搬送しつつ、当該印刷用紙の搬送経路に配設された印刷ヘッドにより、前記印刷データに基づく印刷を行うように構成され、
前記コンピュータを、
画像データを受け付ける受付手段と、
前記受付手段が受け付けた画像データのうちから、所定の特徴を有する特徴画像を示す特徴画像データを検出する検出手段と、
範囲データを算出する算出手段と、
して機能させ、
前記範囲データは、前記検出手段が検出した特徴画像データにより示される特徴画像を含む特徴画像含有範囲の開始位置と終了位置とを示すデータであり、前記開始位置と終了位置とは、前記プリンタにおける印刷用紙の搬送方向での位置であり、前記特徴画像含有範囲は、前記受付手段が受け付けた画像データが示す画像である印刷対象画像内の範囲であり、
前記コンピュータを、
前記受付手段が受け付けた画像データが示す前記印刷対象画像を前記プリンタに印刷させるための印刷データであって、特徴画像含有範囲に対して印刷品質を優先した第１印刷処理を実行し、当該特徴画像含有範囲以外の範囲に対して印刷速度を優先した第２印刷処理を実行すること示すコマンドを含む印刷データを、前記算出手段により算出された範囲データに基づいて作成する作成手段と、
前記作成手段により作成されたコマンドを含む印刷データを、前記通信インタフェースを介して、前記プリンタに送信する送信手段と、
して機能させることを特徴とする制御プログラム。
【請求項２】
前記送信手段は、
前記作成手段により作成された印刷データのヘッダに前記コマンドを含んだ状態で、当該印刷データを、前記通信インタフェースを介して、前記プリンタに送信することを特徴とする請求項１に記載の制御プログラム。
【請求項３】
前記情報処理装置は、第１のモードと第２のモードとの何れかを選択するためのユーザ操作を受け付けるユーザインタフェースを備え、
前記作成手段は、
前記第１のモードの選択を示すユーザ操作を前記ユーザインタフェースが受け付けた場合に、前記受付手段が受け付けた画像データが示す前記印刷対象画像の全ての範囲に対して印刷品質を優先した前記第１印刷処理を実行すること示すコマンドを含む印刷データを作成し、前記第２のモードの選択を示すユーザ操作を前記ユーザインタフェースが受け付けた場合に、特徴画像含有範囲に対して印刷品質を優先した前記第１印刷処理を実行し、当該特徴画像含有範囲以外の範囲に対して印刷速度を優先した前記第２印刷処理を実行すること示すコマンドを含む印刷データを作成することを特徴とする請求項１又は２に記載の制御プログラム。
【請求項４】
前記算出手段は、
前記検出手段が複数の特徴画像データを検出した場合に、当該複数の特徴画像データにより示される複数の特徴画像のうちの少なくとも１の特徴画像を含む特徴画像含有範囲の開始位置と終了位置とを示す範囲データを全て検出し、
前記作成手段は、
前記算出手段により算出された全ての範囲データに応じた特徴画像含有範囲に対して印刷品質を優先した前記第１印刷処理を実行し、当該特徴画像含有範囲以外の範囲に対して印刷速度を優先した前記第２印刷処理を実行すること示すコマンドを含む印刷データを作成することを特徴とする請求項１乃至３の何れか１項に記載の制御プログラム。
【請求項５】
前記算出手段は、
前記受付手段が受け付けた画像データにより示される画像において前記搬送方向での何れかの範囲に２以上の特徴画像が位置している場合に、当該２以上の特徴画像のうちの少なくとも１つの特徴画像が位置する前記搬送方向での一方の端を特徴画像含有範囲の開始位置として算出し、他方の端を特徴画像含有範囲の終了位置として算出することを特徴とする請求項４に記載の制御プログラム。
【請求項６】
前記算出手段は、
前記受付手段が受け付けた画像データにより示される画像において２の特徴画像が前記搬送方向において離間しているが、当該２の特徴画像の前記搬送方向における離間距離が設定距離より短い場合に、当該２の特徴画像のうちの前記搬送方向での一方に位置するものの当該一方の側の端を特徴画像含有範囲の開始位置として算出し、他方に位置するものの当該他方の側の端を特徴画像含有範囲の終了位置として算出することを特徴とする請求項４に記載の制御プログラム。
【請求項７】
前記検出手段は、
バーコードを前記特徴画像とする特徴画像データを検出し、
前記作成手段は、
特徴画像含有範囲に対して印刷品質を優先した前記第１印刷処理を実行し、当該特徴画像含有範囲以外の範囲に対して印刷速度を優先した前記第２印刷処理を実行すること示すコマンドを含む印刷データを作成する際に、当該特徴画像含有範囲に含まれる特徴画像としてのバーコードを構成するバーの延びる方向が、前記搬送方向と一致しない場合に、当該バーの延びる方向が、前記搬送方向と一致する場合と比較して、当該特徴画像含有範囲に対して更に印刷品質を優先した印刷処理を実行すること示すコマンドを含む印刷データを作成することを特徴とする請求項１乃至６の何れか１項に記載の制御プログラム。
【請求項８】
前記印刷ヘッドは、前記搬送方向と交差する方向に配列された複数の加熱部を有するサーマルヘッドであり、前記プリンタは、印刷データに基づいて前記複数の加熱部のうちの任意のものを加熱することで、印刷処理を行うものであり、
前記プリンタは、前記送信手段により送信された印刷データに含まれるコマンドに従って、特徴画像含有範囲以外の範囲に対して印刷速度を優先した前記第２印刷処理を実行するべく、特徴画像含有範囲以外の範囲に対する印刷処理時の印刷用紙の搬送速度を、特徴画像含有範囲に対する印刷処理時の印刷用紙の搬送速度より速くし、その際に、前記複数の加熱部の配列された方向に沿う１ラインの印刷時において加熱される加熱部の数が多いほど、印刷用紙の搬送速度を遅くするように構成されたことを特徴とする請求項１乃至７の何れか１項に記載の制御プログラム。
【請求項９】
通信インタフェースと、
制御部と、
を備え、プリンタ用の印刷データを生成する情報処理装置であって、
前記プリンタは、印刷用紙を搬送しつつ、当該印刷用紙の搬送経路に配設された印刷ヘッドにより、前記印刷データに基づく印刷を行うように構成され、
前記制御部を、
画像データを受け付ける受付手段と、
前記受付手段が受け付けた画像データのうちから、所定の特徴を有する特徴画像を示す特徴画像データを検出する検出手段と、
範囲データを算出する算出手段と、
して機能させ、
前記範囲データは、前記検出手段が検出した特徴画像データにより示される特徴画像を含む特徴画像含有範囲の開始位置と終了位置とを示すデータであり、前記開始位置と終了位置とは、前記プリンタにおける印刷用紙の搬送方向での位置であり、前記特徴画像含有範囲は、前記受付手段が受け付けた画像データが示す画像である印刷対象画像内の範囲であり、
前記制御部を、
前記受付手段が受け付けた画像データが示す前記印刷対象画像を前記プリンタに印刷させるための印刷データであって、特徴画像含有範囲に対して印刷品質を優先した第１印刷処理を実行し、当該特徴画像含有範囲以外の範囲に対して印刷速度を優先した第２印刷処理を実行すること示すコマンドを含む印刷データを、前記算出手段により算出された範囲データに基づいて作成する作成手段と、
前記作成手段により作成されたコマンドを含む印刷データを、前記通信インタフェースを介して、前記プリンタに送信する送信手段と、
して機能させることを特徴とする情報処理装置。
【請求項１０】
プリンタと、
通信インタフェースと、制御部とを備えた情報処理装置と
を備えるシステムであって、
前記情報処理装置は、
前記プリンタ用の印刷データを生成するように構成され、
前記プリンタは、
印刷用紙を搬送しつつ、当該印刷用紙の搬送経路に配設された印刷ヘッドにより、前記印刷データに基づく印刷を行うように構成され、
前記制御部を、
画像データを受け付ける受付手段と、
前記受付手段が受け付けた画像データのうちから、所定の特徴を有する特徴画像を示す特徴画像データを検出する検出手段と、
範囲データを算出する算出手段と、
して機能させ、
前記範囲データは、前記検出手段が検出した特徴画像データにより示される特徴画像を含む特徴画像含有範囲の開始位置と終了位置とを示すデータであり、前記開始位置と終了位置とは、前記プリンタにおける印刷用紙の搬送方向での位置であり、前記特徴画像含有範囲は、前記受付手段が受け付けた画像データが示す画像である印刷対象画像内の範囲であり、
前記制御部を、
前記受付手段が受け付けた画像データが示す前記印刷対象画像を前記プリンタに印刷させるための印刷データであって、特徴画像含有範囲に対して印刷品質を優先した第１印刷処理を実行し、当該特徴画像含有範囲以外の範囲に対して印刷速度を優先した第２印刷処理を実行すること示すコマンドを含む印刷データを、前記算出手段により算出された範囲データに基づいて作成する作成手段と、
前記作成手段により作成されたコマンドを含む印刷データを、前記通信インタフェースを介して、前記プリンタに送信する送信手段と、
して機能させることを特徴とするシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンタ用の印刷データを生成する制御プログラム等に関する。
【背景技術】
【０００２】
下記特許文献には、所定の特徴を有する特徴画像、具体的には、バーコードを用紙に印刷する技術が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１６−９９７００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
バーコードなどの特徴画像は、印刷品質を優先した態様で印刷されることが望まれる。しかしながら、印刷品質を優先した態様の印刷では、印刷時間が長くなる虞がある。このため、特徴画像の印刷品質を担保しつつ、印刷時間の短縮を課題とする。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、実施例に開示する制御プログラムは、通信インタフェースを備える情報処理装置のコンピュータが読み取り可能な制御プログラムであり、プリンタ用の印刷データを生成する制御プログラムであって、前記プリンタは、印刷用紙を搬送しつつ、当該印刷用紙の搬送経路に配設された印刷ヘッドにより、前記印刷データに基づく印刷を行うように構成され、前記コンピュータを、画像データを受け付ける受付手段と、前記受付手段が受け付けた画像データのうちから、所定の特徴を有する特徴画像を示す特徴画像データを検出する検出手段と、範囲データを算出する算出手段と、して機能させ、前記範囲データは、前記検出手段が検出した特徴画像データにより示される特徴画像を含む特徴画像含有範囲の開始位置と終了位置とを示すデータであり、前記開始位置と終了位置とは、前記プリンタにおける印刷用紙の搬送方向での位置であり、前記特徴画像含有範囲は、前記受付手段が受け付けた画像データが示す画像である印刷対象画像内の範囲であり、前記コンピュータを、前記受付手段が受け付けた画像データが示す前記印刷対象画像を前記プリンタに印刷させるための印刷データであって、特徴画像含有範囲に対して印刷品質を優先した第１印刷処理を実行し、当該特徴画像含有範囲以外の範囲に対して印刷速度を優先した第２印刷処理を実行すること示すコマンドを含む印刷データを、前記算出手段により算出された範囲データに基づいて作成する作成手段と、前記作成手段により作成されたコマンドを含む印刷データを、前記通信インタフェースを介して、前記プリンタに送信する送信手段と、して機能させることを特徴とする。
【発明の効果】
【０００６】
実施例に開示する制御プログラムは、特徴画像を含む特徴画像含有範囲に対して印刷品質を優先した印刷処理を実行し、特徴画像含有範囲以外の範囲に対して印刷速度を優先した印刷処理を実行すること示すコマンドを作成し、そのコマンドを印刷データに含める。そして、制御プログラムは、コマンドを含む印刷データを、プリンタに送信する。これにより、特徴画像の印刷品質を担保しつつ、印刷時間の短縮を図ることが可能となる。
【図面の簡単な説明】
【０００７】
【図１】通信システム１のブロック図である。
【図２】コード含有画像１１０を示す図である。
【図３】設定画面１２０を示す図である。
【図４】プリンタドライバ２８のフローチャートを示す図である。
【図５】プリンタドライバ２８のフローチャートを示す図である。
【図６】プリンタドライバ２８のフローチャートを示す図である。
【図７】プリンタドライバ２８のフローチャートを示す図である。
【図８】コード含有画像１１２を示す図である。
【図９】リストを示す図である。
【図１０】コード含有画像１１４を示す図である。
【発明を実施するための形態】
【０００８】
図１に、本願に係る実施形態として例示される通信システム１のブロック図を示す。通信システム１は、ＰＣ（情報処理装置の一例）１０、プリンタ（プリンタの一例）５０を備える。
【０００９】
ＰＣ１０は、ＣＰＵ（コンピュータ及び制御部の一例）１２、メモリ１４、ＬＣＤ１６、入力Ｉ／Ｆ（ユーザインタフェースの一例）１８、ネットワークＩ／Ｆ（通信インタフェースの一例）２０を主に備えている。これらの構成要素は、バス２２を介して互いに通信可能とされている。
【００１０】
ＰＣ１０は、ネットワークＩ／Ｆ２０及びネットワーク５２を通じてプリンタ５０と通信可能となっている。通信の方式としては、例えば、有線ＬＡＮ、ＵＳＢ、Ｗｉ−Ｆｉ（登録商標）やＢｌｕｅｔｏｏｔｈ（登録商標）を採用できる。プリンタ５０は、サーマルヘッド（印刷ヘッドの一例）を備え、感熱紙に画像を印刷する感熱式プリンタ，インクリボンを利用して画像を印刷する熱転写プリンタなどのサーマルプリンタである。プリンタ５０は、ＰＣ１０との間で各種の情報や指示信号を送受信し、サーマルヘッドの複数のドット（加熱部の一例）のうちの任意のものが加熱されることで、所望の画像が印刷される。
【００１１】
また、ＰＣ１０のＣＰＵ１２は、メモリ１４内のアプリケーション２６、プリンタドライバ（制御プログラムの一例）２８、ＯＳ３２に従って処理を実行する。アプリケーション２６は、所定の形式、例えば、ＰＤＦ形式のファイルの閲覧，印刷等を実行するためのプログラムであり、具体的には、Ａｄｏｂｅ  Ｒｅａｄｅｒ（登録商標）である。また、プリンタドライバ２８は、プリンタ５０のデバイスドライバであり、プリンタ５０の作動を制御する。また、ＯＳ３２は、アプリケーション２６、プリンタドライバ２８に利用される基本的な機能を提供するプログラムである。なお、プリンタドライバ２８等を実行するＣＰＵ１２のことを、単にプログラム名でも記載する場合がある。例えば、「プリンタドライバ２８が」という記載は、「プリンタドライバ２８を実行するＣＰＵ１２が」ということを意味する場合がある。
【００１２】
また、メモリ１４は、データ記憶領域３４を備える。データ記憶領域３４は、アプリケーション２６等の実行に必要なデータなどを記憶する領域である。なお、メモリ１４は、ＲＡＭ、ＲＯＭ、フラッシュメモリー、ＨＤＤ、ＣＰＵ１２が備えるバッファなどが組み合わされて構成されている。
【００１３】
メモリ１４は、コンピュータが読み取り可能なストレージ媒体であってもよい。コンピュータが読み取り可能なストレージ媒体とは、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体である。ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体には、上記の例の他に、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等の記録媒体も含まれる。また、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体は、ｔａｎｇｉｂｌｅな媒体でもある。一方、インターネット上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、コンピュータが読み取り可能な媒体の一種であるコンピュータが読み取り可能な信号媒体であるが、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙなコンピュータが読み取り可能なストレージ媒体には含まれない。
【００１４】
また、ＬＣＤ１６は、ＰＣ１０の各種情報を表示する。なお、本願のディスプレイは、液晶ディスプレイに限らず、有機ＥＬディスプレイ等の他の表示方式のディスプレイでも良い。入力Ｉ／Ｆ１８は、キーボード、マウス等を含み、ユーザ操作を入力するためのインタフェースである。なお、入力Ｉ／Ｆ１８は、キーボード等に限らず、ＬＣＤ１６の表示画面にタッチセンサが重畳されたタッチパネルでも良い。
【００１５】
なお、本明細書では、主に、プログラムに記述された命令に従ったＣＰＵ１２の処理を示す。すなわち、以下の説明における「判断」、「抽出」、「選択」、「算出」、「決定」、「特定」、「取得」、「受付」、「制御」等の処理は、ＣＰＵ１２の処理を表している。ＣＰＵ１２による処理は、ＯＳ３２を介したハードウェア制御も含む。なお「取得」は要求を必須とはしない概念で用いる。すなわち、ＣＰＵ１２が要求することなくデータを受信するという処理も、「ＣＰＵ１２がデータを取得する」という概念に含まれる。また、本明細書中の「データ」とは、コンピュータに読取可能なビット列で表される。そして、実質的な意味内容が同じでフォーマットが異なるデータは、同一のデータとして扱われるものとする。本明細書中の「情報」についても同様である。また、「命令」「応答」「要求」等の処理は、「命令」「応答」「要求」等を示す情報を通信することにより行われる。また、「設定」等の処理は、入力された設定情報をメモリに記憶することで行われる。
【００１６】
通信システム１では、上述した構成により、例えば、図２に示すように、バーコード（１次元コード），２次元コード等の少なくともいずれかを含む画像（以下、「コード画像」と記載する）（特徴画像の一例）１００ａ，ｂ，ｃを含む画像（以下、「コード含有画像」と記載する）１１０の印刷処理がプリンタ５０により実行される際に、コード画像１００ａ，ｂ，ｃを含む範囲に対して、印刷品質を優先した印刷処理が実行され、その範囲以外の範囲に対して、印刷速度を優先した印刷処理が実行される。
【００１７】
具体的には、例えば、ＰＣ１０において、アプリケーション２６により、コード含有画像１１０がＬＣＤ１６に表示されている際に、アプリケーション２６の印刷設定ボタン（図示省略）へ、入力Ｉ／Ｆ１８を介した操作がなされると、ＯＳ３２を介してプリンタドライバ２８に指示がなされ、プリンタドライバ２８は、図３に示す設定画面１２０をＬＣＤ１６に表示させる。設定画面１２０には、用紙サイズ，印刷の向きを設定するため設定欄１２２，１２４と、印刷品質を設定するためのラジオボタン１２６ａ，ｂ，ｃが表示される。
【００１８】
なお、ラジオボタン１２６ａへの操作により設定される速度優先印刷処理は、印刷対象の画像の全域に対して実行される印刷速度を優先した印刷処理である。ラジオボタン１２６ｂへの操作により設定される品質優先印刷処理は、印刷対象の画像の全域に対して実行される印刷品質を優先した印刷処理である。ラジオボタン１２６ｃへの操作により設定される品質・速度優先印刷処理は、コード含有画像１１０のコード画像１００ａ，ｂ，ｃを含む範囲に対して印刷品質を優先し、それ以外の範囲に対して印刷速度を優先した印刷処理である。
【００１９】
そして、設定欄１２２，１２４、ラジオボタン１２６ａ，ｂ，ｃが操作され、用紙サイズ，印刷品質等の印刷設定が設定された後に、アプリケーション２６の印刷実行ボタン（図示省略）が操作されると、アプリケーション２６は、印刷命令を、ＯＳ３２を介して、プリンタドライバ２８に出力する。このとき、ＰＤＦ形式の画像データを基に、プリンタドライバ２８が解釈可能なベクター形式の画像データに変換された画像データが、印刷命令と共に、プリンタドライバ２８に出力される。なお、ベクター形式の画像データに限られず、ラスター形式の画像データが出力されてもよい。また、印刷命令には、設定画面１２０等において設定された印刷設定に関する情報（以下、「設定情報」と記載する）が含まれている。なお、印刷命令には、設定画面１２０において設定される設定情報、つまり、用紙サイズ，印刷品質等に関する情報だけでなく、ランドスケープ設定等の印刷用紙の向きに関する情報も含まれる。
【００２０】
プリンタドライバ２８は、印刷命令等をアプリケーション２６から受け付けると、印刷命令と共に受け付けたベクター形式の画像データを、ビットマップ形式の画像データに変換することをＯＳ３２に依頼する。ＯＳ３２は、その依頼を受け付けると、ベクター形式の画像データをビットマップ形式の画像データに変換する。これにより、プリンタドライバ２８は、ＯＳ３２からビットマップ形式の画像データを受け付ける。そして、プリンタドライバ２８は、ビットマップ形式の画像データに基づいて、印刷データを作成し、作成した印刷データをプリンタ５０に送信する。この際、プリンタドライバ２８は、設定情報に応じたコマンド、すなわち、設定情報が示す設定に従った印刷の実行をプリンタ５０に指示するためのコマンドを作成し、印刷データに含ませる。
【００２１】
プリンタ５０は、プリンタドライバ２８から印刷データを受信すると、印刷データに含まれているコマンドに従って、印刷データに基づく印刷処理を実行する。例えば、印刷データに含まれるコマンドが、速度優先印刷処理の実行を示す設定情報に応じたコマンドである場合には、プリンタ５０は、印刷速度を優先した態様で印刷処理を実行する。詳しくは、プリンタ５０は、印刷用紙を搬送し、その印刷用紙の搬送経路に配置されたサーマルヘッドにより印刷を行う構造のプリンタであり、印刷用紙の搬送速度を４段階に変更可能とされている。なお、４段階の搬送速度は、最も遅い最低速度と、最低速度より速い低速度と、低速度より速い高速度と、高速度より速い最高速度との４つの搬送速度である。
【００２２】
そして、プリンタ５０において速度優先印刷処理が実行される場合には、印刷用紙の搬送速度は最高速度とされることが好ましい。ただし、プリンタ５０はサーマルプリンタであり、サーマルヘッドの備える複数のドットのうちの所定数以上のドットが一度に加熱されることは、耐久性，消費電力等の観点から好ましくない。具体的には、プリンタ５０のサーマルヘッドの加熱部は、１２００ドットとされており、３００ドットを超えて一度に加熱することができない。
【００２３】
このため、１２００ドットの並ぶ方向に沿う１ラインの印刷時に、３００ドット以下の加熱が必要な場合には、プリンタ５０は、必要な数のドットを一度に加熱する。また、１２００ドットの並ぶ方向に沿う１ラインの印刷時に、３００ドットを超え、６００ドット以下の加熱が必要な場合には、プリンタ５０は、２回に分けてドットを加熱する。例えば、プリンタ５０は、１回目の加熱において、３００ドットを加熱し、１回目の加熱が完了した後に、２回目の加熱として、必要な数のドットから、加熱が完了した３００ドットを除いた数のドットを加熱する。また、１２００ドットの並ぶ方向に沿う１ラインの印刷時に、６００ドットを超え、９００ドット以下の加熱が必要な場合には、プリンタ５０は、３回に分けてドットを加熱する。例えば、プリンタ５０は、１回目の加熱において、３００ドットを加熱し、１回目の加熱が完了した後に、２回目の加熱として、加熱が完了した３００ドット以外の３００ドットを加熱する。そして、プリンタ５０は、２回目の加熱が完了した後に、３回目の加熱として、必要な数のドットから、加熱が完了した６００ドットを除いた数のドットを加熱する。また、１２００ドットの並ぶ方向に沿う１ラインの印刷時に、９００ドットを超え、１２００ドット以下の加熱が必要な場合には、プリンタ５０は、４回に分けてドットを加熱する。例えば、プリンタ５０は、１回目の加熱において、３００ドットを加熱し、１回目の加熱が完了した後に、２回目の加熱として、加熱が完了した３００ドット以外の３００ドットを加熱する。さらに、プリンタ５０は、２回目の加熱が完了した後に、３回目の加熱として、加熱が完了した６００ドット以外の３００ドットを加熱する。そして、プリンタ５０は、３回目の加熱が完了した後に、４回目の加熱として、必要な数のドットから、加熱が完了した９００ドットを除いた数のドットを加熱する。
【００２４】
このように、１ラインの印刷時に複数回に分けてドットの加熱が行われる場合に、印刷用紙が最高速度で搬送されると、適切に印刷することができない虞がある。このため、１ラインの印刷時に４回に分けてドットの加熱が行われる場合に、プリンタ５０は、印刷用紙の搬送速度を最低速度とし、１ラインの印刷時に３回に分けてドットの加熱が行われる場合に、プリンタ５０は、印刷用紙の搬送速度を低速度とし、１ラインの印刷時に２回に分けてドットの加熱が行われる場合に、プリンタ５０は、印刷用紙の搬送速度を高速度とする。そして、１回のドットの加熱で１ラインの印刷が完了する場合に、プリンタ５０は、印刷用紙の搬送速度を最高速度とする。
【００２５】
このように、プリンタ５０は、１ラインの印刷時に加熱が必要なドットの数が多いほど、印刷用紙の搬送速度を遅くすることで、適切な印刷を担保する。また、１ラインの印刷時に加熱が必要なドットの数が少ない場合には、プリンタ５０が印刷用紙の搬送速度を速くするため、印刷に要する時間が短縮される。このように、プリンタ５０は、印刷速度を優先した印刷処理を好適に実行する。
【００２６】
また、プリンタ５０が受信した印刷データに含まれるコマンドが、品質優先印刷処理の実行を示す設定情報に応じたコマンドである場合に、プリンタ５０は、印刷品質を優先した態様で印刷処理を実行する。品質優先印刷処理では、１ラインの印刷時に加熱が必要なドットの数に関わらず、プリンタ５０は、印刷用紙の搬送速度を最低速度とする。これにより、プリンタ５０は、印刷品質を優先した印刷処理を好適に実行する。
【００２７】
このように、通信システム１では、設定画面１２０において、ラジオボタン１２６ａを操作することで、印刷速度を優先した印刷処理を実行し、ラジオボタン１２６ｂを操作することで、印刷品質を優先した印刷処理を実行することが可能となっている。例えば、図２に示すコード含有画像１１０が印刷対象の画像である場合に、コード画像１００ａ，ｂ，ｃの読取を適切に行うべく、印刷品質を優先した印刷処理を実行することができる。しかしながら、印刷品質を優先した印刷処理では、上述したように、印刷用紙の搬送速度が最低速度とされているため、印刷処理に要する時間が長くなってしまう。ここで、設定画面１２０において、ラジオボタン１２６ｃが操作されると、品質・速度優先印刷処理が実行される。
【００２８】
以下に、品質・速度優先印刷処理が実行される際のプリンタドライバ２８の処理を、図４乃至図７のフローチャートを用いて説明する。プリンタドライバ２８は、印刷命令等をアプリケーション２６から受け付けると（Ｓ１００）、印刷命令と共に受け付けたベクター形式の画像データを、ビットマップ形式の画像データに変換することをＯＳ３２に依頼する（Ｓ１０２）。ＯＳ３２は、その依頼を受け付けると、ベクター形式の画像データをビットマップ形式の画像データに変換する。そして、プリンタドライバ２８は、ＯＳ３２からビットマップ形式の画像データを受け付ける（Ｓ１０４）。なお、プリンタドライバ２８がバーコード画像を抽出できる形式の画像データに変換できれば、ビットマップ画像に変換しなくてもよい。また、Ｓ１００で受け付けた画像データの形式が、プリンタドライバ２８がバーコード画像を抽出できる形式である場合は、Ｓ１０２〜Ｓ１０４を省略してもよい。
【００２９】
続いて、プリンタドライバ２８は、印刷命令に含まれる設定情報に基づいて、ランドスケープ設定に設定されているか否かを判断する（Ｓ１０６）。設定画面１２０において、設定欄１２４の「縦」「横」の選択肢のうち、「横」が選択されていると、設定情報はランドスケープ設定に設定されている。ランドスケープ設定に設定されている場合（Ｓ１０６：ＹＥＳ）に、プリンタドライバ２８は、Ｓ１０４で受け付けた画像データが示す画像の回転処理を実行する（Ｓ１０８）。そして、Ｓ１１０に進む。また、ランドスケープ設定に設定されていない場合（Ｓ１０６：ＮＯ）には、Ｓ１０８の処理がスキップされ、Ｓ１１０に進む。
【００３０】
Ｓ１１０において、プリンタドライバ２８は、Ｓ１０４で受け付けた画像データ、例えば、コード含有画像１１０を示す画像データからコード画像１００ａ，ｂ，ｃを含有する範囲（以下、「画像含有範囲」と記載する）を示す座標（以下、「画像座標」と記載する）を検出する（Ｓ１１０）。詳しくは、プリンタドライバ２８は、コード含有画像１１０の画像データを解析し、バーコードまたは２次元コードの少なくともいずれかを示す画像データとしての特徴を持つ特徴データを検出する。そして、検出した特徴データが示す画像の位置を示す位置情報を、コード画像１００ａ，ｂ，ｃの位置を示す位置情報として算出する。また、コード画像１００ａ，ｂ，ｃの幅寸法および高さ寸法を算出する。そして、ビットマップ形式の画像データに基づく画像の原点コード画像１００ａ，ｂ，ｃのオフセット量を演算する。原点とは、ビットマップ形式の画像データに基づく画像、すなわち、コード含有画像１１０の所定の角の座標である。
【００３１】
続いて、プリンタドライバ２８は、検出したコード画像１００ａ，ｂ，ｃの画像座標をリストに登録する（Ｓ１１２）。ここで、画像含有範囲を示す画像座標について詳しく説明するが、以下の説明では、図８に示すコード含有画像１１２を用いて説明する。なお、図８に示すコード含有画像１１２は、図２に示すコード含有画像１１０とは異なる画像である。コード含有画像１１２は、４つのコード画像１０２ａ，ｂ，ｃ，ｄを含む画像であり、コード含有画像１１２がプリンタ５０により印刷される際には、コード含有画像１１２の長手方向が印刷用紙の搬送方向とされる。そして、画像座標は、コード含有画像１１２の搬送方向における、画像含有範囲の上端位置と下端位置とを示す座標とされている。以降、画像座標を（上端位置，下端位置）という形式で記載する。
【００３２】
具体的には、コード画像１０２ａの画像座標は、（３０，５０）であり、コード画像１０２ｂの画像座標は、（４０，６０）であり、コード画像１０２ｃの画像座標は、（１００，１５０）であり、コード画像１０２ｄの画像座標は、（９０，１３０）である。なお、コード画像１０２ａ，ｂ，ｃ，ｄを区別する場合に、第１コード画像１０２ａ，第２コード画像１０２ｂ，第３コード画像１０２ｃ，第４コード画像１０２ｄと記載する。
【００３３】
Ｓ１１２で、プリンタドライバ２８は、各コード画像１０２ａ，ｂ，ｃ，ｄの画像座標を、図９（ａ）に示す態様で、リストとしてデータ記憶領域３４に記憶する。画像座標をリストに登録すると、プリンタドライバ２８は、Ｓ１０４で受け付けた画像データに基づいて、印刷データを作成する（Ｓ１１４）。次に、プリンタドライバ２８は、印刷指示用のコマンドを作成する（Ｓ１１６）。
【００３４】
印刷指示用のコマンドの作成時において、まず、プリンタドライバ２８は、ｎを１に設定する（Ｓ１２０）。続いて、プリンタドライバ２８は、リストのｎ番目に画像座標が有るか否かを判断する（Ｓ１２２）。この際、Ｓ１２０でｎが１に設定されており、リストには、図９（ａ）に示すように、１番目の画像座標（３０，５０）が存在するため、リストのｎ番目に画像座標が有ると判断される（Ｓ１２２：ＹＥＳ）。次に、プリンタドライバ２８は、ｍを、（ｎ＋１）、つまり、２に設定する（Ｓ１２４）。続いて、プリンタドライバ２８は、リストのｍ番目に画像座標が有るか否かを判断する（Ｓ１２６）。この際、Ｓ１２４でｍが２に設定されており、リストには、図９（ａ）に示すように、２番目の画像座標（４０，６０）が存在するため、リストのｍ番目に画像座標が有ると判断される（Ｓ１２６：ＹＥＳ）。
【００３５】
そして、プリンタドライバ２８は、リストのｎ番目の上端の座標をｎＹ１に、リストのｎ番目の下端の座標をｎＹ２に、リストのｍ番目の上端の座標をｍＹ１に、リストのｍ番目の下端の座標をｍＹ２に設定する（Ｓ１２８）。つまり、プリンタドライバ２８は、（ｎＹ１，ｎＹ２）を（３０，５０）に、（ｍＹ１，ｍＹ２）を（４０，６０）に設定する。続いて、プリンタドライバ２８は、ｎ番目の画像含有範囲とｍ番目の画像含有範囲とが、コード含有画像１１２の搬送方向の同じ範囲で重なっているか否かを判断する（Ｓ１３０）。つまり、プリンタドライバ２８は、１番目の画像座標（３０，５０）により示される画像含有範囲と２番目の画像座標（４０，６０）により示される画像含有範囲とが、重なっているか否かを判断する。この際、１番目の画像座標（３０，５０）により示される画像含有範囲と２番目の画像座標（４０，６０）により示される画像含有範囲とは、４０〜５０の範囲で重なっているため、１番目の画像含有範囲と２番目の画像含有範囲とが重なっていると判断される（Ｓ１３０：ＹＥＳ）。
【００３６】
次に、プリンタドライバ２８は、ｎＹ１がｍＹ１より大きいか否かを判断する（Ｓ１３２）。ここで、ｎＹ１は３０であり、ｍＹ１は４０であるため、ｎＹ１はｍＹ１より小さいと判断される（Ｓ１３２：ＮＯ）。続いて、プリンタドライバ２８は、ｎＹ２がｍＹ２より小さいか否かを判断する（Ｓ１３６）。ここで、ｎＹ２は５０であり、ｍＹ２は６０であるため、ｎＹ２はｍＹ２より小さいと判断される（Ｓ１３２：ＹＥＳ）。そして、プリンタドライバ２８は、ｎＹ２をｍＹ２に変更する（Ｓ１３８）。つまり、リストの１番目の画像座標において、５０が６０に変更される。これにより、図９（ｂ）に示すように、リストの１番目の画像座標が（３０，６０）とされる。つまり、Ｓ１２８〜Ｓ１３８の処理によって、コード含有画像１１２の搬送方向において、第１コード画像１０２ａと第２コード画像１０２ｂとの少なくとも一方が存在する画像座標が、特定される。
【００３７】
そして、プリンタドライバ２８は、ｍ番目の画像座標、つまり、２番目の画像座標をリストから削除する（Ｓ１４０）。これにより、３番目以降の画像座標が繰り上がる。つまり、図９（ａ），（ｂ）に示すように、３番目の画像座標が２番目の画像座標に繰り上がり、４番目の画像座標が３番目の画像座標に繰り上がる。
【００３８】
次に、プリンタドライバ２８は、リストのｍ番目に画像座標が有るか否かを判断する（Ｓ１２６）。この際、Ｓ１２４でｍが２に設定されており、リストには、図９（ｂ）に示すように、２番目の画像座標（１００，１５０）が存在するため、リストのｍ番目に画像座標が有ると判断される（Ｓ１２６：ＹＥＳ）。そして、プリンタドライバ２８は、（ｎＹ１，ｎＹ２）を（３０，６０）に、（ｍＹ１，ｍＹ２）を（１００，１５０）に設定する。
【００３９】
続いて、プリンタドライバ２８は、１番目の画像含有範囲と２番目の画像含有範囲とが、コード含有画像１１２の搬送方向の同じ範囲で重なっているか否かを判断する（Ｓ１３０）。つまり、プリンタドライバ２８は、１番目の画像座標（３０，６０）により示される画像含有範囲と２番目の画像座標（１００，１５０）により示される画像含有範囲とが、重なっているか否かを判断する。この際、１番目の画像含有範囲と２番目の画像含有範囲とは重なっていないと判断される（Ｓ１３０：ＮＯ）。そして、プリンタドライバ２８は、ｍを、（ｍ＋１）、つまり、３に設定する（Ｓ１４２）。
【００４０】
続いて、プリンタドライバ２８は、リストのｍ番目、つまり、３番目に画像座標が有るか否かを判断する（Ｓ１２６）。この際、リストには、図９（ｂ）に示すように、３番目の画像座標（９０，１３０）が存在するため、リストのｍ番目に画像座標が有ると判断される（Ｓ１２６：ＹＥＳ）。そして、プリンタドライバ２８は、（ｎＹ１，ｎＹ２）を（３０，６０）に、（ｍＹ１，ｍＹ２）を（９０，１３０）に設定する（Ｓ１２８）。
【００４１】
続いて、プリンタドライバ２８は、１番目の画像含有範囲と３番目の画像含有範囲とが、コード含有画像１１２の搬送方向の同じ範囲で重なっているか否かを判断する（Ｓ１３０）。つまり、プリンタドライバ２８は、１番目の画像座標（３０，６０）により示される画像含有範囲と３番目の画像座標（９０，１３０）により示される画像含有範囲とが、重なっているか否かを判断する。この際、１番目の画像含有範囲と３番目の画像含有範囲とは重なっていないと判断され（Ｓ１３０：ＮＯ）、プリンタドライバ２８は、ｍを、（ｍ＋１）、つまり、４に設定する（Ｓ１４２）。
【００４２】
次に、プリンタドライバ２８は、リストのｍ番目、つまり、４番目に画像座標が有るか否かを判断する（Ｓ１２６）。この際、リストには、図９（ｂ）に示すように、４番目の画像座標は存在しないため、リストのｍ番目に画像座標が無いと判断される（Ｓ１２６：ＮＯ）。そして、プリンタドライバ２８は、ｎを、（ｎ＋１）、つまり、２に設定する（Ｓ１４４）。続いて、プリンタドライバ２８は、リストのｎ番目、つまり、２番目に画像座標が有るか否かを判断する（Ｓ１２２）。この際、リストには、図９（ｂ）に示すように、２番目の画像座標（１００，１５０）が存在するため、リストのｎ番目に画像座標が有ると判断される（Ｓ１２２：ＹＥＳ）。
【００４３】
次に、プリンタドライバ２８は、ｍを、（ｎ＋１）、つまり、３に設定する（Ｓ１２４）。続いて、プリンタドライバ２８は、リストのｍ番目、つまり、３番目に画像座標が有るか否かを判断する（Ｓ１２６）。この際、リストには、図９（ｂ）に示すように、３番目の画像座標（９０，１３０）が存在するため、リストのｍ番目に画像座標が有ると判断される（Ｓ１２６：ＹＥＳ）。そして、プリンタドライバ２８は、（ｎＹ１，ｎＹ２）を（１００，１５０）に、（ｍＹ１，ｍＹ２）を（９０，１３０）に設定する（Ｓ１２８）。
【００４４】
続いて、プリンタドライバ２８は、２番目の画像含有範囲と３番目の画像含有範囲とが、コード含有画像１１２の搬送方向の同じ範囲で重なっているか否かを判断する（Ｓ１３０）。つまり、プリンタドライバ２８は、２番目の画像座標（１００，１５０）により示される画像含有範囲と３番目の画像座標（９０，１３０）により示される画像含有範囲とが、重なっているか否かを判断する。この際、２番目の画像座標（１００，１５０）により示される画像含有範囲と３番目の画像座標（９０，１３０）により示される画像含有範囲とは、１００〜１３０の範囲で重なっているため、２番目の画像含有範囲と３番目の画像含有範囲とが重なっていると判断される（Ｓ１３０：ＹＥＳ）。
【００４５】
次に、プリンタドライバ２８は、ｎＹ１がｍＹ１より大きいか否かを判断する（Ｓ１３２）。ここで、ｎＹ１は１００であり、ｍＹ１は９０であるため、ｎＹ１はｍＹ１より大きいと判断される（Ｓ１３２：ＹＥＳ）。そして、プリンタドライバ２８は、ｎＹ１をｍＹ１に変更する（Ｓ１３４）。つまり、リストの２番目の画像座標において、１００が９０に変更される。これにより、図９（ｃ）に示すように、リストの２番目の画像座標が（９０，１５０）とされる。
【００４６】
続いて、プリンタドライバ２８は、ｎＹ２がｍＹ２より小さいか否かを判断する（Ｓ１３６）。ここで、ｎＹ２は１５０であり、ｍＹ２は１３０であるため、ｎＹ２はｍＹ２より大きいと判断される（Ｓ１３２：ＮＯ）。そして、プリンタドライバ２８は、ｍ番目の画像座標、つまり、３番目の画像座標をリストから削除する（Ｓ１４０）。これにより、図９（ｃ）に示すように、リストは、１番目の画像座標（３０，６０）と、２番目の画像座標（９０，１５０）との２つの画像座標となる。
【００４７】
次に、プリンタドライバ２８は、リストのｍ番目、つまり、３番目に画像座標が有るか否かを判断する（Ｓ１２６）。この際、リストには、図９（ｃ）に示すように、３番目の画像座標は存在しないため、リストのｍ番目に画像座標が無いと判断される（Ｓ１２６：ＮＯ）。そして、プリンタドライバ２８は、ｎを、（ｎ＋１）、つまり、３に設定する（Ｓ１４４）。続いて、プリンタドライバ２８は、リストのｎ番目、つまり、３番目に画像座標が有るか否かを判断する（Ｓ１２２）。この際、リストには、図９（ｃ）に示すように、３番目の画像座標が存在しないため、リストのｎ番目に画像座標が無いと判断される（Ｓ１２２：ＮＯ）。以上の処理により、コード含有画像１１２において、コード画像１０２ａ，ｂ，ｃ，ｄが存在する範囲、つまり、画像含有範囲として、図８に図示する、１番目の画像座標（３０，６０）と、２番目の画像座標（９０，１５０）との２つの画像座標が特定される。
【００４８】
続いて、プリンタドライバ２８は、コード含有画像１１２が示す画像の印刷をプリンタに指示するための印刷コマンドを作成し（Ｓ１４５）、ｎを１に設定する（Ｓ１４６）。次に、プリンタドライバ２８は、リストのｎ番目、つまり、１番目に画像座標が有るか否かを判断する（Ｓ１４８）。この際、リストには、図９（ｃ）に示すように、１番目の画像座標（３０，６０）が存在するため、リストのｎ番目に画像座標が有ると判断される（Ｓ１４８：ＹＥＳ）。次に、プリンタドライバ２８は、１番目の画像座標（３０，６０）により示される画像含有範囲を品質優先で印刷処理を行うことを示すよう、印刷コマンドを更新する（Ｓ１５０）。そして、プリンタドライバ２８は、ｎを、（ｎ＋１）、つまり、２に設定する（Ｓ１５２）。
【００４９】
続いて、プリンタドライバ２８は、リストのｎ番目、つまり、２番目に画像座標が有るか否かを判断する（Ｓ１４８）。この際、リストには、図９（ｃ）に示すように、２番目の画像座標（９０，１５０）が存在するため、リストのｎ番目に画像座標が有ると判断される（Ｓ１４８：ＹＥＳ）。次に、プリンタドライバ２８は、２番目の画像座標（９０，１５０）により示される画像含有範囲を品質優先で印刷処理を行うことを示すよう、印刷コマンドを更新する（Ｓ１５０）。
【００５０】
そして、プリンタドライバ２８は、ｎを、（ｎ＋１）、つまり、３に設定する（Ｓ１５２）。続いて、プリンタドライバ２８は、リストのｎ番目、つまり、３番目に画像座標が有るか否かを判断する（Ｓ１４８）。この際、リストには、図９（ｃ）に示すように、３番目の画像座標は存在しないため、リストのｎ番目に画像座標が無いと判断される（Ｓ１４８：ＮＯ）。そして、プリンタドライバ２８は、Ｓ１５０で作成したコマンドを、Ｓ１１４で作成した印刷データのヘッダに含め、コマンドを含む印刷データを、プリンタ５０に送信する（Ｓ１１８）。
【００５１】
プリンタ５０は、コマンドを含む印刷データを受信すると、印刷データに含まれるコマンドに従って、その印刷データに基づく画像の印刷処理を実行する。つまり、プリンタ５０は、画像座標（３０，６０）及び画像座標（９０，１５０）により示される画像含有範囲に対して、品質優先印刷処理を実行し、その画像含有範囲以外の範囲に対して、速度優先印刷処理を実行する。このため、コード画像１０２ａ，ｂ，ｃ，ｄが、印刷品質を優先した態様で印刷され、コード画像１０２ａ，ｂ，ｃ，ｄ以外の部分が、印刷速度を優先した態様で印刷される。これにより、コード画像１０２ａ，ｂ，ｃ，ｄの適切な印刷を担保するとともに、印刷速度の低下を抑制することが可能となる。
【００５２】
なお、Ｓ１００を実行するＣＰＵ１２は、受付手段の一例である。Ｓ１１０を実行するＣＰＵ１２は、検出手段の一例である。Ｓ１１２を実行するＣＰＵ１２は、算出手段の一例である。Ｓ１１４，Ｓ１１６を実行するＣＰＵ１２は、作成手段の一例である。Ｓ１１８を実行するＣＰＵ１２は、送信手段の一例である。
【００５３】
＜実施例の効果＞
上記した実施形態によれば、以下の効果を奏する。
【００５４】
プリンタドライバ２８は、画像含有範囲に対して印刷品質を優先した印刷処理を実行し、画像含有範囲以外の範囲に対して印刷速度を優先した印刷処理を実行すること示すコマンドを作成し、そのコマンドを印刷データに含める。そして、プリンタドライバ２８は、コマンドを含む印刷データを、プリンタ５０に送信する。これにより、コード画像１０２ａ，ｂ，ｃ，ｄの適切な印刷を担保するとともに、印刷速度の低下を抑制することが可能となる。
【００５５】
また、コマンドは、印刷データのヘッダに含められる。これにより、プリンタ５０は、印刷データの受信時の冒頭において、コマンドを受信するため、印刷データを受信して直ぐに、コマンドに従った印刷処理を開始することが可能となる。
【００５６】
また、設定画面１２０において、ラジオボタン１２６ａが操作された場合に、速度優先印刷処理が実行され、ラジオボタン１２６ｂが操作された場合に、品質優先印刷処理が実行され、ラジオボタン１２６ｃが操作された場合に、品質・速度優先印刷処理が実行される。これにより、ユーザの意思に従った印刷処理を実行することができる。
【００５７】
また、プリンタドライバ２８は、コード含有画像１１０において、全てのコード画像１０２ａ，ｂ，ｃ，ｄのうちの少なくとも１のコード画像を含む画像含有範囲を全て特定する。そして、プリンタドライバ２８は、特定した全ての画像含有範囲に対して印刷品質を優先した印刷処理を実行し、画像含有範囲以外の範囲に対して印刷速度を優先した印刷処理を実行すること示すコマンドを作成する。これにより、全てのコード画像１０２ａ，ｂ，ｃ，ｄを適切に印刷することができる。
【００５８】
また、例えば、図８に示すように、第１コード画像１０２ａと第２コード画像１０２ｂとが、コード含有画像１１２の搬送方向の何れかの範囲において重なっている場合に、第１コード画像１０２ａと第２コード画像１０２ｂとの少なくとも一方が位置する上端、つまり、第１コード画像１０２ａの上端と、第１コード画像１０２ａと第２コード画像１０２ｂとの少なくとも一方が位置する下端、つまり、第２コード画像１０２ｂの下端との間が、画像含有範囲とされる。これにより、第１コード画像１０２ａと第２コード画像１０２ｂとを纏めて、品質優先印刷処理を実行し、第１コード画像１０２ａと第２コード画像１０２ｂとの適切な印刷が担保される。
【００５９】
また、速度優先印刷処理時において、１ラインの印刷時に加熱が必要なドットの数が多いほど、印刷用紙の搬送速度が遅くされる。これにより、速度優先印刷処理時においても、適切な印刷が担保される。
【００６０】
また、本発明は、上記実施形態に限定されるものではなく、当業者の知識に基づいて種々の変更、改良を施した種々の態様で実施することが可能である。具体的には、例えば、上記実施形態では、品質・速度優先印刷処理が実行される際に、コード画像の種類に関わらず、画像含有範囲に対して印刷品質を優先するべく、印刷用紙の搬送速度は最低速度とされているが、コード画像の種類に応じて、印刷用紙の搬送速度を変更してもよい。具体的には、例えば、コード画像として、バーコードが採用され、バーコードを構成するバーの延びる方向が、印刷用紙の搬送方向と一致する場合に、印刷用紙の搬送速度を低速度とし、バーコードを構成するバーの延びる方向が、印刷用紙の搬送方向と一致しない場合に、印刷用紙の搬送速度を最低速度としてもよい。これは、バーの延びる方向が印刷用紙の搬送方向と一致しないバーコードは、バーの延びる方向が印刷用紙の搬送方向と一致するバーコードと比較して、バーを直線的に印刷し難いためである。これにより、バーの延びる方向が印刷用紙の搬送方向と一致しないバーコードであっても、適切な印刷を担保することができる。
【００６１】
また、上記実施形態では、例えば、第１コード画像１０２ａと第２コード画像１０２ｂとが、コード含有画像１１２の搬送方向の何れかの範囲において重なっている場合に、第１コード画像１０２ａと第２コード画像１０２ｂとの少なくとも一方を含む範囲が、画像含有範囲とされているが、第１コード画像１０２ａと第２コード画像１０２ｂとの何れも含まない範囲も、画像含有範囲とされてもよい。具体的には、例えば、図１０に示すように、コード含有画像１１４に、４つのコード画像１０４ａ，ｂ，ｃ，ｄが含まれており、コード画像１０４ａとコード画像１０４ｂとは、コード含有画像１１４の搬送方向において重なっていない。ただし、コード画像１０４ａとコード画像１０４ｂとの離間距離が非常に短いため、品質優先印刷処理と速度優先印刷処理との切り換えが煩雑であり、品質優先印刷処理と速度優先印刷処理とを切り換えるメリットは少ない。このため、２つのコード画像がコード含有画像の搬送方向において重なっていない場合であっても、それら２つのコード画像の離間距離が設定距離より短い場合に、それら２つのコード画像は１つの画像含有範囲に纏めてもよい。具体的には、例えば、Ｓ１３０において、複数のコード画像１０４の下端と上端との間の、搬送方向における差が３以内であれば、ＹＥＳ、と判断してもよい。すなわち、コード画像１０４ａとコード画像１０４ｂとであれば、コード画像１０４ａの下端とコード画像１０４ｂの上端との間の、搬送方向における差は２であるため、コード画像１０４ａの上端と、コード画像１０４ａとコード画像１０４ｂとの下方に位置するコード画像１０４ｂの下端との間が、画像含有範囲とされる。つまり、１番目の画像座標として、リストに（３０，７０）が登録される。これにより、品質優先印刷処理と速度優先印刷処理との無駄な切り換えを抑制することができる。
【００６２】
また、上記実施形態では、画像含有範囲が、画像座標、つまり、コード画像の上端座標と下端座標とにより示されているが、画像含有範囲を示すことができれば、種々の手法により画像含有範囲を示してもよい。例えば、コード画像の上端座標と下端座標との一方と、コード画像の長さを示すデータとにより、画像含有範囲が示されてもよい。例えば、プリンタドライバ２８は、コード画増の上端座標と長さに基づいて、下端座標を算出してもよい。つまり、コード画像の上端座標と下端座標とを間接的に示すデータにより、画像含有範囲が示されてもよい。また、座標を明確な位置でなく、例えば１ｃｍなど、ある程度の幅単位の大きなブロックでコード含有画像を区分けして、コード画像の上端，下端を、ブロックにより示してもよい。プリンタドライバ２８は、Ｓ１３０にて、複数のコード画像の画像座標が同じブロックに重なる場合に、ＹＥＳと判断してもよい。例えば、図８における座標単位２０に相当するブロックを１ブロックとし、コード画像１０２を（０，２０）、（２０，４０）・・・（１２０，１４０）、（１４０，１６０）という８つのブロックで示した場合、コード画像１０２ａと１０２ｂの画像座標は、いずれも（４０，６０）のブロックに重なるため、プリンタドライバ２８は、Ｓ１３０にてＹＥＳと判断する。
【００６３】
また、上記実施形態と異なり、図７に示すフローチャートにおいて、Ｓ１４６の直前ステップで、全ての画像座標を対象に、印刷速度優先を示す印刷コマンドを作成してもよい
また、図７に示すフローチャートにおいて、Ｓ１４８でＮＯと判断された直後に、印刷品質優先が示されていない画像座標を対象に、印刷速度優先を示すよう、印刷コマンドを更新してもよい。また、図７に示すフローチャートにおいて、Ｓ１４６の直前ステップで、全ての画像座標を対象に、印刷品質優先を示す印刷コマンドを作成し、Ｓ１４８でＮＯと判断された直後に、印刷品質優先が示されていない画像座標を対象に、印刷速度優先を示すよう、印刷コマンドを更新してもよい。
【００６４】
また、上記実施形態では、品質・速度優先印刷処理時において、コード画像１０２等に対して品質優先印刷処理が実行されているが、コード画像１０２と異なる画像、例えば、複雑な画像，鮮明さが要求される画像等に対して品質優先印刷処理が実行されてもよい。
【００６５】
また、上記実施形態では、ＣＰＵ１２によって図４乃至図７に示す処理が実行される例を説明したが、これら処理は、ＣＰＵ１２に限らず、ＡＳＩＣや他の論理集積回路により実行されてもよいし、これら処理が、ＣＰＵ等やＡＳＩＣ、他の論理集積回路が協働することにより実行されてもよい。
【符号の説明】
【００６６】
１０：ＰＣ、１２：ＣＰＵ、２０：ネットワークＩ／Ｆ、２８：プリンタドライバ、５０：プリンタ
【図１】
2019198002.tif 000003
【図２】
2019198002.tif 000004
【図３】
2019198002.tif 000005
【図４】
2019198002.tif 000006
【図５】
2019198002.tif 000007
【図６】
2019198002.tif 000008
【図７】
2019198002.tif 000009
【図８】
2019198002.tif 000010
【図９】
2019198002.tif 000011
【図１０】
2019198002.tif 000012