(57)【要約】      （修正有）【課題】画像が印刷された長尺の記録媒体をプリンタによって適切に搬送させることができるプログラム及び情報処理装置を提供する。【解決手段】プリンタシステムを構成するＰＣのメモリに格納されたラベル作成プログラムのＳＤＫモジュールは、主走査方向おける画像データの１ラインずつに有効画素が存在するか否かを判断し、有効画素が存在するライン数に基づく画像長さＬＥｎｄを特定しＳ５３、画像長さＬＥｎｄがプリンタの搬送可能な最小媒体長さＬＰｒｎ以上である場合にＳ５９：ＹＥＳ、画像データにおける画像長さＬＥｎｄの範囲をラスタデータに変換しＳ６１、変換したラスタデータをプリンタに出力するＳ６５。【選択図】図６
2020014115.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置のコンピュータが読み取り可能なプログラムであり、長尺の記録媒体に印刷を行うプリンタに印刷対象の画像データを出力するプログラムであって、
前記コンピュータに、
前記プリンタが前記記録媒体を搬送する搬送方向に直交する方向に応じた主走査方向について、前記主走査方向おける前記画像データの１ラインずつに有効画素が存在するか否かを判断し、有効画素が存在するライン数に基づく長さであり且つ前記画像データの副走査方向の長さである画像長さを特定する特定ステップと、
前記画像長さが、前記搬送方向における前記記録媒体の長さであり且つ前記プリンタによって前記記録媒体を搬送可能な最小の長さである最小媒体長さ以上であるか否かを判断する判断ステップと、
前記画像長さが前記最小媒体長さ以上である場合に、前記画像データにおける前記画像長さの範囲をラスタデータに変換する変換ステップと、
変換した前記ラスタデータを前記プリンタに出力する出力ステップと、
を実行させる、プログラム。
【請求項２】
前記コンピュータに、
前記判断ステップにおいて前記画像長さが前記最小媒体長さより短い場合に、前記変換ステップにおいて前記画像データにおける前記最小媒体長さの範囲をラスタデータに変換させる、請求項１に記載のプログラム。
【請求項３】
前記コンピュータに、
前記特定ステップにおいて、有効画素が存在する前記ラインの位置のうち、前記副走査方向における後端側の前記ラインの位置について、前記副走査方向における前記画像データの先端から有効画素が存在する先端の前記ラインの位置までの余白幅を付加する位置の調整を行い、前記画像データの先端から前記調整した前記ラインの位置を、前記画像長さとして特定する、請求項１又は請求項２に記載のプログラム。
【請求項４】
前記プリンタは、
前記搬送方向における長さが決められた前記記録媒体への印刷が可能であり、
前記コンピュータに、
長さが決められた前記記録媒体へ印刷を実行する場合、前記特定ステップ及び前記判断ステップを実行させずに、前記画像データをそのまま前記ラスタデータに変換させた後、前記プリンタに出力させる、請求項１乃至請求項３の何れか１項に記載のプログラム。
【請求項５】
前記コンピュータに、
前記副走査方向に沿って前記画像データを複数に分割し、分割した前記画像データをそれぞれ印刷するスプリット印刷を実行させる場合、前記特定ステップ、前記判断ステップ、前記変換ステップ、及び前記出力ステップを、分割した前記画像データごとに実行させる、請求項１乃至請求項４の何れか１項に記載のプログラム。
【請求項６】
前記コンピュータに、
前記副走査方向に沿って前記画像データを複数に分割し、分割した前記画像データをそれぞれ印刷するスプリット印刷を実行させる場合、分割した前記画像データの各々の前記画像長さのうち、最も長い前記画像長さを前記特定ステップで特定させ、前記判断ステップの結果に応じた前記変換ステップ及び前記出力ステップを、分割した前記画像データの各々について実行させる、請求項１乃至請求項４の何れか１項に記載のプログラム。
【請求項７】
前記コンピュータに、
長尺の前記記録媒体が有色であるか否かを判断する有色判断ステップを実行させ、
前記記録媒体が有色である場合に、前記最も長い前記画像長さを前記特定ステップで特定させ、前記判断ステップの結果に応じた前記変換ステップ及び前記出力ステップを、分割した前記画像データの各々について実行させる、請求項６に記載のプログラム。
【請求項８】
前記コンピュータに、
前記ラスタデータに変換する前記画像データの範囲を設定する設定長さを受け付けた場合に、前記変換ステップにおいて、前記画像長さ、前記最小媒体長さ、前記設定長さのうち、最も長い長さの範囲で前記画像データを前記ラスタデータに変換させる、請求項１乃至請求項７の何れか１項に記載のプログラム。
【請求項９】
制御部を備え、長尺の記録媒体に印刷を行うプリンタに印刷対象の画像データを出力する情報処理装置であって、
前記制御部は、
前記プリンタが前記記録媒体を搬送する搬送方向に直交する方向に応じた主走査方向について、前記主走査方向における前記画像データの１ラインずつに有効画素が存在するか否かを判断し、有効画素が存在するライン数に基づく長さであり且つ前記画像データの副走査方向の長さである画像長さを特定する特定処理と、
前記画像長さが、前記搬送方向における前記記録媒体の長さであり且つ前記プリンタによって前記記録媒体を搬送可能な最小の長さである最小媒体長さ以上であるか否かを判断する判断処理と、
前記画像長さが前記最小媒体長さ以上である場合に、前記画像データにおける前記画像長さの範囲をラスタデータに変換する変換処理と、
変換した前記ラスタデータを前記プリンタに出力する出力処理と、
を実行する、情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷対象の画像データにおける余白を除去するプログラム及び情報処理装置に関する。
【背景技術】
【０００２】
下記特許文献には、印刷対象の画像データにおける余白部分を除去する画像形成装置が開示されている。この画像形成装置は、原稿台にセットした原稿から読み取った画像データのうち、先頭部分と後端部分との余白の一部を除去し、余白の長さを予め設定された長さにする。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−９４４１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、プリンタの中には、ロール紙のような長尺の記録媒体を排出口まで適切に搬送するために、記録媒体の搬送方向における最小の長さが決められているものがある。このようなプリンタにおいて、余白を削除した画像データをそのまま印刷してしまうと、画像データを印刷した長さが記録媒体の最小の長さよりも短い場合に、画像が印刷された記録媒体を排出口まで適切に搬送できない恐れがある。そこで、画像が印刷された長尺の記録媒体をプリンタによって適切に搬送させることができるプログラム及び情報処理装置を提供することを課題とする。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、本願に係るプログラムは、情報処理装置のコンピュータが読み取り可能なプログラムであり、長尺の記録媒体に印刷を行うプリンタに印刷対象の画像データを出力するプログラムであって、前記コンピュータに、前記プリンタが前記記録媒体を搬送する搬送方向に直交する方向に応じた主走査方向について、前記主走査方向おける前記画像データの１ラインずつに有効画素が存在するか否かを判断し、有効画素が存在するライン数に基づく長さであり且つ前記搬送方向に応じた前記画像データの副走査方向の長さである画像長さを特定する特定ステップと、前記画像長さが、前記搬送方向における前記記録媒体の長さであり且つ前記プリンタによって前記記録媒体を搬送可能な最小の長さである最小媒体長さ以上であるか否かを判断する判断ステップと、前記画像長さが前記最小媒体長さ以上である場合に、前記画像データにおける前記画像長さの範囲をラスタデータに変換する変換ステップと、変換した前記ラスタデータを前記プリンタに出力する出力ステップと、を実行させる。
【０００６】
また、本願に係る情報処理装置は、制御部を備え、長尺の記録媒体に印刷を行うプリンタに印刷対象の画像データを出力する情報処理装置であって、前記制御部は、前記プリンタが前記記録媒体を搬送する搬送方向に直交する方向に応じた主走査方向について、前記主走査方向における前記画像データの１ラインずつに有効画素が存在するか否かを判断し、有効画素が存在するライン数に基づく長さであり且つ前記画像データの副走査方向の長さである画像長さを特定する特定処理と、前記画像長さが、前記搬送方向における前記記録媒体の長さであり且つ前記プリンタによって前記記録媒体を搬送可能な最小の長さである最小媒体長さ以上であるか否かを判断する判断処理と、前記画像長さが前記最小媒体長さ以上である場合に、前記画像データにおける前記画像長さの範囲をラスタデータに変換する変換処理と、変換した前記ラスタデータを前記プリンタに出力する出力処理と、を実行する。
【発明の効果】
【０００７】
本願に係るプログラム、情報処理装置によれば、画像データの有効画素が存在するライン数に基づく副走査方向の画像長さと、プリンタの搬送可能な最小媒体長さを比較する。画像長さが最小媒体長さ以上である場合には、画像長さの範囲をラスタデータに変換し、プリンタに印刷を実行させる。これにより、プリンタで印刷する範囲を小さくして記録媒体の消費量を抑制できる。また、搬送方向において、プリンタが画像を印刷する長さとして最小媒体長さを確保でき、画像が印刷された記録媒体をプリンタによって適切に搬送させることができる。
【図面の簡単な説明】
【０００８】
【図１】プリンタシステムのブロック図である。
【図２】プリンタの構成を示すブロック図である。
【図３】各プログラムやデバイスの関係を概念的に示すブロック図である。
【図４】編集画面制御モジュールによる印刷処理の内容を示すフローチャートである。
【図５】ＳＤＫモジュールによるＳＤＫ処理の内容を示すフローチャートである。
【図６】ＳＤＫモジュールによるＳＤＫ処理の内容を示すフローチャートである。
【図７】最大長さを求める処理の内容を示すフローチャートである。
【図８】印刷対象の画像データの状態を示す図である。
【図９】先端側に余白が設定された場合の画像データの状態を示す図である。
【図１０】画像長さが最小媒体長さより短い場合の図である。
【図１１】最小媒体長さが最も長い場合の図である。
【図１２】設定長さが最も長い場合の図である。
【図１３】末尾余白除去設定が設定されスプリット印刷を実行する場合の図である。
【図１４】揃え設定が設定されスプリット印刷を実行する場合の図である。
【発明を実施するための形態】
【０００９】
＜プリンタシステムの構成＞
以下、適宜図面を参照して本発明の実施形態について説明する。なお、以下に説明する実施形態は、本発明の一例にすぎず、本発明の要旨を変更しない範囲で、本発明の実施形態を適宜変更できることは言うまでもない。例えば、後述する各処理の実行順序は、本発明の要旨を変更しない範囲で、適宜変更できる。
【００１０】
図１は、本実施形態に係るプリンタシステム１のブロック図である。図１に示すプリンタシステム１は、ＰＣ１０、プリンタ５０を備える。ＰＣ１０は、ＣＰＵ（コンピュータの一例）１２、メモリ１４、ディスプレイＩ／Ｆ（インタフェースの略）１５、ＬＣＤ１６、入力Ｉ／Ｆ１８、通信Ｉ／Ｆ２０を主に備えている。これらの構成要素は、バス２２を介して互いに通信可能とされている。
【００１１】
ＰＣ１０及びプリンタ５０は、通信Ｉ／Ｆ２０及び通信回線５６を通じて有線により通信可能となっている。通信回線５６は、有線としては、例えば、ＬＡＮケーブルを採用することができる。なお、有線は、ＬＡＮケーブルに限らず、ＵＳＢケーブル等でもよい。また、通信回線５６は、例えば、ＬＡＮ（有線ＬＡＮ、無線ＬＡＮを含む）、あるいはＷＡＮ（インターネットを含む）でも良い。また、本願のプリンタは、有線で接続可能なプリンタに限らず、無線による接続が可能なプリンタでも良い。無線通信の方式としては、例えば、Ｗｉ−Ｆｉ（登録商標）やＢｌｕｅｔｏｏｔｈ（登録商標）の規格を採用できる。
【００１２】
プリンタ５０は、例えば、ラベルプリンタであり、ＰＣ１０との間で各種の情報や指示信号を送受信し、ＰＣ１０による制御に基づいて、所望のテキストや画像等を印字したラベルを作成する。図２は、プリンタ５０のブロック図を示している。図２に示すように、プリンタ５０は、制御回路６１と、搬送ローラ６３と、印字ヘッド６４と、カッター６５と、を有する。プリンタ５０は、例えば、ラミネートフィルム等の長尺状のテープ６７にテキスト等を印刷してラベルを作成する。プリンタ５０には、テープ６７を巻回したテープロール６８が装着される。制御回路６１は、図示しないＣＰＵ及びＲＯＭを備え、ＲＯＭに予め記憶された各種プログラムを実行し、プリンタ５０の制御を行う。搬送ローラ６３は、印字ヘッド６４に対向して設けられており、テープロール６８から繰り出されるテープ６７を印字ヘッド６４との間で挟持する。搬送ローラ６３は、回転することによってテープ６７をテープロール６８から繰り出しながら搬送方向６９へ搬送する。
【００１３】
印字ヘッド６４は、搬送ローラ６３によって搬送されるテープ６７に対し、テキスト等を印刷する。カッター６５は、制御回路６１の制御に基づいて作動し、印刷後のテープ６７を切断する。なお、カッター６５は、ユーザによる手動操作に応じて作動する構成でも良い。
【００１４】
プリンタ５０は、印刷後のテープ６７を排出口７１から排出する。このような構成では、例えば、カッター６５の切断する位置から排出口７１までの長さ未満でテープ６７を切断した場合、切断されたテープ６７、即ち、印刷後のテープ６７が、排出口７１から排出されず、プリンタ５０内に落下等する虞がある。また、例えば、カッター６５によって切断されたテープ６７をユーザが排出口７１から引き出す場合、手で持つ部分としてテープ６７を一定量だけ排出口７１から突出させておく必要がある。このため、このような構成のプリンタ５０では、例えば、図２に示すように、プリンタ５０によって記録媒体であるテープ６７を適切に搬送可能な最小の長さである最小媒体長さＬＰｒｎを規定でき、この最小媒体長さＬＰｒｎ以上の長さでテープ６７を切断することが好ましくなる。なお、図２に示す最小媒体長さＬＰｒｎは、一例であり、排出口７１とカッター６５との距離、テープ６７を搬送する搬送ローラ６３の位置や数、排出口７１の形状などに応じて適宜変更される値である。
【００１５】
また、図１に戻り、ＣＰＵ１２は、メモリ１４内のラベル作成プログラム２６やＯＳ３２に従って処理を実行する。ラベル作成プログラム２６は、画像を編集し、編集した画像を用いてプリンタ５０によってラベルを作成するためのプログラムである。ラベル作成プログラム２６は、処理モジュールとして、編集画面制御モジュール２７、画像データ作成モジュール２８、ＳＤＫ（Ｓｏｆｔｗａｒｅ  Ｄｅｖｅｌｏｐｍｅｎｔ  Ｋｉｔの略）モジュール２９を備えている。尚、ラベル作成プログラム２６を、上記したように複数のプログラムの集合体で構成せず、単一のプログラムで構成しても良い。また、ラベル作成プログラム２６は、編集した画像を、ラベルに印刷させるプログラムに限定されない。例えば、ラベル作成プログラム２６は、編集した画像を、ロール紙等の他の長尺の記録媒体に印刷するように指示するプログラムでも良い。
【００１６】
ＯＳ３２は、ラベル作成プログラム２６に利用される基本的な機能を提供するプログラムである。ＯＳ３２は、例えば、Ｗｉｎｄｏｗｓ（登録商標）、ＭａｃＯＳ（登録商標）、Ｌｉｎｕｘ（登録商標）、Ａｎｄｒｏｉｄ（登録商標）、ｉＯＳ（登録商標）等のオペレーティングシステムである。なお、以下の説明では、ラベル作成プログラム２６等を実行するＣＰＵ１２のことを、単にプログラム名でも記載する場合がある。例えば、「ラベル作成プログラム２６が」という記載は、「ラベル作成プログラム２６を実行するＣＰＵ１２が」ということを意味する場合がある。
【００１７】
図３は、各プログラムやデバイスの関係を概念的に示している。編集画面制御モジュール２７は、例えば、ラベルの作成やラベルの編集を行うための編集画面をＬＣＤ１６に表示するプログラムである。編集画面制御モジュール２７は、例えば、ＯＳ３２が提供するＡＰＩによりＯＳ３２へ表示指示を実行し、ＯＳ３２の表示プログラムを利用して表示処理を実行する。ＯＳ３２は、編集画面制御モジュール２７からの指示に応じてディスプレイＩ／Ｆ１５を制御し、ＬＣＤ１６への表示を行う。編集画面制御モジュール２７は、編集対象のラベルを示すオブジェクトを編集画面に表示するための画像データの作成を画像データ作成モジュール２８に指示し、画像データ作成モジュール２８から受け取った画像データに基づく画像をＬＣＤ１６へ表示させる。ここでいうオブジェクトとは、ラベルを構成するテキスト、図形（直線や四角形など）、画像などである。
【００１８】
編集画面制御モジュール２７は、オブジェクトを編集する入力操作を入力Ｉ／Ｆ１８で受け付け、ＬＣＤ１６への表示処理を行う。また、編集画面制御モジュール２７は、編集画面で編集されたラベルをプリンタ５０から印刷するための画像データの作成を画像データ作成モジュール２８に指示する。編集画面制御モジュール２７は、画像データ作成モジュール２８が作成した画像データを画像データ作成モジュール２８から受け取り、受け取った画像データと印刷指示とをＳＤＫモジュール２９に受け渡すことで、プリンタ５０からラベルを印刷させる。
【００１９】
画像データ作成モジュール２８は、ラベルを作成するための画像データの作成や編集を行うためのライブラリを備えており、画像データの作成、編集等を実行するプログラムである。画像データ作成モジュール２８は、編集画面制御モジュール２７からの指示に応じて、ＬＣＤ１６にラベルを表示するための画像データや、ラベルをプリンタ５０で印刷するための画像データを作成する。
【００２０】
ＳＤＫモジュール２９は、通信Ｉ／Ｆ２０を介してプリンタ５０に印刷を実行させるためのプログラムである。ＳＤＫモジュール２９は、例えば、ラベルをプリンタ５０から印刷するための画像データと印刷指示とを編集画面制御モジュール２７から受け取る。この印刷指示には、後述するユーザによって設定された末尾の余白を除去する指示情報（図５のＳ２５）、最小記録媒体長さ（ユーザによる設定長さ）の指示情報（図５のＳ２７）、スプリット印刷などにおける印刷の長さを揃える指示情報（図５のＳ３３）などが含まれる。ＳＤＫモジュール２９は、例えば、受け取った印刷指示に従って、印刷する画像データの生成や印刷範囲の設定を行う。ＳＤＫモジュール２９は、生成した画像データについて設定した印刷範囲でラスタライズを実行し、印刷に用いられるラスタデータである印刷データを生成する。ＳＤＫモジュール２９は、生成した印刷データを、プリンタ５０に送信することで、プリンタ５０に印刷を実行させる。ＳＤＫモジュール２９は、例えば、ＯＳ３２に指示することで、通信Ｉ／Ｆ２０を介して印刷データを送信する。
【００２１】
また、図１に示すメモリ１４は、データ記憶領域３４を備える。データ記憶領域３４は、ラベル作成プログラム２６等の実行に必要なデータなどを記憶する領域である。なお、メモリ１４は、ＲＡＭ、ＲＯＭ、フラッシュメモリ、ＨＤＤ、ＰＣ１０に着脱されるＵＳＢメモリ等の可搬記憶媒体、ＣＰＵ１２が備えるバッファなどが組み合わされて構成されている。また、メモリ１４は、デバイスコンテキスト３５を備える。デバイスコンテキスト３５は、ＯＳ３２がメモリ１４に確保する領域であり、描画のための記憶領域である。デバイスコンテキスト３５は、画像データ作成モジュール２８によるオブジェクトの描画に用いられる描画領域を備える。
【００２２】
また、メモリ１４は、コンピュータが読み取り可能なストレージ媒体であってもよい。コンピュータが読み取り可能なストレージ媒体とは、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体である。ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体には、上記の例の他に、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等の記録媒体も含まれる。また、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな媒体は、ｔａｎｇｉｂｌｅな媒体でもある。一方、インターネット上のサーバなどからダウンロードされるプログラムを搬送する電気信号は、コンピュータが読み取り可能な媒体の一種であるコンピュータが読み取り可能な信号媒体であるが、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙなコンピュータが読み取り可能なストレージ媒体には含まれない。
【００２３】
ＬＣＤ１６は、ＰＣ１０の各種情報を表示する。ＬＣＤ１６は、ディスプレイＩ／Ｆ１５を介してバス２２に接続されている。ＬＣＤ１６は、ディスプレイＩ／Ｆ１５を介して表示データを取得する。尚、本願のディスプレイは、液晶ディスプレイに限らず、有機ＥＬディスプレイ等の他の表示方式のディスプレイでも良い。
【００２４】
入力Ｉ／Ｆ１８は、キーボード、マウス等を含み、ユーザ操作を入力するためのインタフェースである。尚、入力Ｉ／Ｆ１８は、キーボード等に限らず、ＬＣＤ１６の表示画面に重畳された膜状のタッチセンサでも良い。
【００２５】
＜印刷処理について＞
次に、ラベル作成プログラム２６が実行する印刷処理について説明する。図４は、編集画面制御モジュール２７による印刷処理の手順を示している。編集画面制御モジュール２７は、例えば、画像データを作成する編集画面上で印刷設定を行うための操作が行われると、印刷設定のポップアップ画面をＬＣＤ１６に表示するとともに、図４に示す処理を開始する。編集画面制御モジュール２７は、印刷設定を入力する入力欄や印刷の開始を指示する印刷ボタン等をポップアップ画面に表示する。
【００２６】
編集画面制御モジュール２７は、図４の処理を開始すると、印刷ボタンが押されたか否かを判断する（Ｓ１１）。編集画面制御モジュール２７は、印刷ボタンが押されるまでＳ１１の判断処理を繰り返し実行する（Ｓ１１：ＮＯ）。編集画面制御モジュール２７は、印刷ボタンが押されると（Ｓ１１：ＹＥＳ）、プリンタ情報を初期化し（Ｓ１３）、印刷ジョブ設定を初期化する（Ｓ１５）。プリンタ情報とは、例えば、プリンタを識別するプリンタＩＤの情報である。印刷ジョブ設定とは、例えば、印刷する枚数の設定、印刷したテープ６７（図２参照）をカッター６５で切断するか否かの設定、複数の部数を印刷する際の印刷するページの順番を指示する丁合の設定などである。
【００２７】
次に、編集画面制御モジュール２７は、ポップアップ画面で受け付けた印刷設定に基づいて、印刷を実行させるプリンタ５０のプリンタ情報や印刷ジョブ設定を設定し、設定値に応じた印刷指示を生成する（Ｓ１７）。この印刷指示は、上記したようにＳＤＫモジュール２９に対して印刷処理の内容を指示する情報であり、余白除去の指示情報などが含まれる。編集画面制御モジュール２７は、印刷対象の画像データと、生成した印刷指示とをＳＤＫモジュール２９に受け渡し、ＳＤＫモジュール２９による印刷処理（図４中のＳＤＫ処理）をＳＤＫモジュール２９に開始させる（Ｓ１９）。
【００２８】
＜ＳＤＫ処理＞
図５及び図６は、ＳＤＫ処理の内容を示している。ＳＤＫモジュール２９は、図４のＳ１９において、印刷対象の画像データと、印刷指示とを編集画面制御モジュール２７から受け取ると、図５及び図６のＳＤＫ処理を開始する。
【００２９】
ここで、本実施形態のＳＤＫモジュール２９は、編集画面制御モジュール２７から受け取った画像データについて有効な画素の位置に基づいて画像データの長さを特定し、特定した長さに基づいて画像データの後端側の余白を除去可能となっている。編集画面制御モジュール２７は、この後端側の余白を除去するか否かの設定（以下、末尾余白除去設定という場合がある）を、例えば、印刷設定のポップアップ画面において受け付け印刷指示としてＳＤＫモジュール２９へ受け渡す。ＳＤＫモジュール２９は、編集画面制御モジュール２７から受け取った印刷指示に基づいて、末尾余白除去設定が設定されているか否かを判断できる。
【００３０】
また、本実施形態のラベル作成プログラム２６は、末尾余白除去設定と同様に、印刷設定において印刷する画像データの長さをユーザが設定可能となっている。ＳＤＫモジュール２９は、ユーザによって設定された長さ（以下、設定長さＬＵｓｒという場合がある）を、他の長さ等と比較して画像データにおける印刷範囲を変更する。また、本実施形態のラベル作成プログラム２６は、末尾余白除去設定と同様に、スプリット印刷の実行の有無や実行時に長さを揃えるか否かの設定を印刷設定において設定可能となっている。以下の説明では、一例として、末尾余白除去設定が設定され、設定長さＬＵｓｒ及び長さを揃える設定（以下、揃え設定という場合がある）が設定されていない場合（以下、ケース１という）について説明する。
【００３１】
まず、ＳＤＫモジュール２９は、ＳＤＫ印刷処理を開始すると、印刷に用いる記録媒体が、長さが決められた記録媒体であるか否かを判断する（Ｓ２１）。例えば、シール状の記録媒体を剥離可能なダイカットテープは、剥離される記録媒体の長さが予め規定されている。このため、このような搬送方向６９（図２参照）における印刷する範囲の長さが決められた記録媒体では、後述する画像データの余白を除去し、印刷する画像の長さを変更したとしても印刷後の記録媒体の物理的な長さが変わらない。このため、本実施形態のＳＤＫモジュール２９では、印刷に用いる記録媒体がダイカットテープ等の印刷する長さが決められた記録媒体である場合、編集画面制御モジュール２７から受け取った画像データをそのままラスタデータに変換して印刷する。
【００３２】
印刷範囲の長さが決められた記録媒体であるか否かの判断方法は、特に限定されない。例えば、編集画面制御モジュール２７は、印刷設定のポップアップ画面においてプリンタ５０で使用する記録媒体の情報を受け付けると、受け付けた記録媒体の情報を印刷指示に含めてＳＤＫモジュール２９に受け渡す。これにより、ＳＤＫモジュール２９は、記録媒体の種類、即ち、Ｓ２１の判断を印刷指示の内容に基づいて判断できる。あるいは、ＳＤＫモジュール２９は、プリンタ５０へ問い合わせを実行して、プリンタ５０に装着されたテープロール６８やテープ６７（図２参照）の情報を取得し、取得した情報に基づいてＳ２１の判断を実行しても良い。また、ＳＤＫモジュール２９は、編集画面制御モジュール２７の印刷指示と、プリンタ５０から取得した情報との一致を判断し、一致した場合にＳ２１を肯定判定（Ｓ２１：ＹＥＳ）しても良い。この場合、ＳＤＫモジュール２９は、情報が一致しないことに応じてエラーを報知しても良い。
【００３３】
Ｓ２１において、ＳＤＫモジュール２９は、印刷に用いる記録媒体が、長さが決められた記録媒体であると判断すると（Ｓ２１：ＹＥＳ）、編集画面制御モジュール２７から受け取った画像データをそのままラスタデータに変換し、変換したラスタデータを印刷データとしてプリンタ５０へ送信する（Ｓ２３）。これにより、印刷範囲の長さが決められた記録媒体については、印刷対象の画像データをそのまま印刷することができる。ＳＤＫモジュール２９は、図５及び図６に示すＳＤＫ処理を終了し、編集画面制御モジュール２７は図４に示す印刷処理を終了する。
【００３４】
なお、後述するように、本実施形態のＳＤＫモジュール２９は、搬送方向６９に沿って画像データを分割して印刷するスプリット印刷が可能となっている（図１３、図１４参照）。このため、スプリット印刷を実行する設定がされた場合、分割した画像分だけラスタライズを実行し、各ラスタデータをプリンタ５０へ送信する（Ｓ２３）。また、本実施形態のプリンタ５０は、テープ６７に画像を印刷するラベルプリンタである。しかしながら、上記した長さが決められた記録媒体に応じた処理は、ロール紙やＡ４紙等の記録媒体に印刷を実行するインクジェットプリンタ等においても同様に実行できる。例えば、Ａ４紙等の搬送方向６９の長さが決められた記録媒体に印刷を実行する場合は、Ｓ２３のようにそのままラスタライズする処理を実行し、長尺のロール紙に対して印刷を実行する場合は、後述するＳ２５以降の処理を実行する。これにより、Ａ４紙等の長さが決められた記録媒体についても、適切な印刷処理を実行できる。
【００３５】
また、Ｓ２１において、ＳＤＫモジュール２９は、印刷に用いる記録媒体が、長さが決められた記録媒体でないと判断すると（Ｓ２１：ＮＯ）、印刷指示に基づいて末尾余白除去設定が有効であるか否かを判断する（Ｓ２５）。ＳＤＫモジュール２９は、末尾余白除去設定が設定されている（有効である）と判断すると（Ｓ２５：ＹＥＳ）、Ｓ２７を実行し、有効でないと判断すると（Ｓ２５：ＮＯ）、Ｓ４１を実行する。今回は、末尾余白除去設定が設定されているため（Ｓ２５：ＹＥＳ）、ＳＤＫモジュール２９は、Ｓ２７を実行する。
【００３６】
Ｓ２７において、ＳＤＫモジュール２９は、ユーザによる設定長さが設定されたか否かを判断する。ＳＤＫモジュール２９は、印刷指示に基づいて設定長さＬＵｓｒが設定されていると判断すると（Ｓ２７：ＹＥＳ）、Ｓ２９を実行し、設定されていないと判断すると（Ｓ２７：ＮＯ）、Ｓ３１を実行する。今回は、設定長さＬＵｓｒが設定されていないため、ＳＤＫモジュール２９は、Ｓ３１を実行する。
【００３７】
Ｓ３１において、ＳＤＫモジュール２９は、基準最小長さＬＴｈｒとして最小媒体長さＬＰｒｎ（図２参照）を設定し、設定した後、Ｓ３３を実行する。基準最小長さＬＴｈｒは、後述する図６のＳ５５で印刷範囲を判断するのに用いられる値である。ＳＤＫモジュール２９は、Ｓ３３において、揃え設定が設定されている（有効である）か否かを判断する。ＳＤＫモジュール２９は、印刷指示に基づいて揃え設定が設定されていると判断すると（Ｓ３３：ＹＥＳ）、Ｓ３５を実行し、設定されていないと判断すると（Ｓ３３：ＮＯ）、Ｓ４１以降を実行する。今回は、揃え設定が設定されていないため、ＳＤＫモジュール２９は、Ｓ４１を実行する。なお、ＳＤＫモジュール２９は、スプリット印刷が設定された場合や複数の画像の印刷をまとめて受け付けた場合、Ｓ４１〜図６のＳ６７までの処理を、印刷する画像分（スプリット印刷の場合は分割した画像分）だけ繰り返し実行する。スプリット印刷や複数の画像の印刷の処理については、後述する。
【００３８】
ＳＤＫモジュール２９は、Ｓ４１において、印刷対象の画像データを読み込む処理を行う。例えば、編集画面制御モジュール２７は、ＳＤＫ処理を開始する際に、印刷対象の画像データをメモリ１４に一時的に記憶させる。ＳＤＫモジュール２９は、Ｓ４１においてメモリ１４から画像データを読み込むことで、画像データの受け渡しを実行する。ＳＤＫモジュール２９は、画像データを読み込んだ後、読み込みに成功したか否かを判断する（図６のＳ４３）。
【００３９】
図６に示すように、ＳＤＫモジュール２９は、画像データの読み込みに成功すると（Ｓ４３：ＹＥＳ）、Ｓ４５を実行し、読み込みに失敗するとＳ４７を実行する。Ｓ４７において、ＳＤＫモジュール２９は、読み込みに失敗したことをＬＣＤ１６等に報知する印刷エラー処理を実行し、図５及び図６に示すＳＤＫ処理を終了する。なお、ＳＤＫモジュール２９は、例えば、スプリット印刷の場合など、複数の印刷対象の画像データがある場合、読み込みに失敗した画像データの印刷のみを中止し、Ｓ４１から処理を再開し他の画像データについての印刷を試みても良い。即ち、一つの画像データの読み込みの失敗に合わせて他の画像データの印刷を中止しなくとも良い。
【００４０】
また、Ｓ４５において、ＳＤＫモジュール２９は、印刷指示に含まれる印刷設定に応じた処理等を実行する。例えば、ＳＤＫモジュール２９は、印刷設定された倍率に応じて画像データを拡大又は縮小する。あるいは、プリンタ５０が白黒印刷のみに対応している場合、ＳＤＫモジュール２９は、カラーの画像データを白黒の画像データに変換する二値化処理を実行しても良い。
【００４１】
次に、ＳＤＫモジュール２９は、印刷画像の長さＬＯｒｇを記憶する（Ｓ４９）。図８は、印刷対象の画像データの状態を示している。図８の一番上の表示画像７３は、編集画面制御モジュール２７によってＬＣＤ１６に表示された状態を示している。図８の真ん中の画像データ７５は、編集画面制御モジュール２７からＳＤＫモジュール２９へ受け渡された際の画像データ、即ち、ＳＤＫ処理を開始した際の画像データを示している。また、表示画像７３及び画像データ７５の副走査方向は、例えば、テープ６７の搬送方向６９（図２参照）に沿った方向である。主走査方向は、搬送方向６９に直交する方向である。なお、副走査方向は、搬送方向６９と所定の角度をなす方向でも良い。
【００４２】
表示画像７３は、例えば、プリンタ５０の構造上の制限で発生する物理的なマージン７７が付加されている。マージン７７は、副走査方向における表示画像７３の両側に、所定の幅で付加されている。ユーザは、このように表示された表示画像７３を見ながら、例えば、「ＴＥＸＴ」の文字を入力し印刷指示を行う。画像データ７５に示すように、ＳＤＫモジュール２９は、マージン７７を取り除いた状態、即ち、ユーザが入力した文字等から開始されるデータを受け取る。ＳＤＫモジュール２９は、この画像データ７５に対しＳ４５において画像処理（拡縮処理等）を実行した後、副走査方向における長さを、長さＬＯｒｇとして取得する。なお、図８は、図面が煩雑となるのを避けるため、マージン７７を除いた表示画像７３と画像データ７５を同一長さで図示しているが、拡縮処理の内容によっては、マージン７７を除いた表示画像７３と画像データ７５とは同一長さとはならない。
【００４３】
ＳＤＫモジュール２９は、例えば、Ｓ４５を実行した後の画像データ７５の副走査方向における画素数に基づいて印刷画像の長さＬＯｒｇを取得する。ＳＤＫモジュール２９は、取得した長さＬＯｒｇをメモリ１４に記憶し（Ｓ４９）、Ｓ５１を実行する。Ｓ５１において、ＳＤＫモジュール２９は、再度、末尾余白除去設定が有効であるか否かを判断し、有効であれば（Ｓ５１：ＹＥＳ）、Ｓ５３を実行し、有効でないと判断すると（Ｓ５１：ＮＯ）、Ｓ５７を実行する。
【００４４】
今回は末尾余白除去設定が有効であるため、ＳＤＫモジュール２９は、Ｓ５３において、画像データ７５の先端７９（図８参照）から最も遠い有効画素までの画像長さＬＥｎｄを求める。ＳＤＫモジュール２９は、図８の下方に向けた矢印で示すライン８１のように、主走査方向に沿ってライン８１ごとにラスタスキャンを実行し、有効な画素が存在するラインを特定する。ＳＤＫモジュール２９は、例えば、画像データ７５に含まれる複数の画素について、有色であれば有効画素と判断し、無色（白色）であれば有効な画素でないと判断する。ＳＤＫモジュール２９は、例えば、副走査方向における画像データ７５の後端８０に最も近い有効画素が含まれるライン８１Ａを、先端７９から最も遠い有効画素の位置として特定し、先端７９からライン８１Ａまでの距離を画像長さＬＥｎｄとして特定する。なお、画像長さＬＥｎｄの特定方法は、上記した方法に限らず、例えば、後端８０からラスタスキャンして最初に有効画素を検出したライン８１を、ライン８１Ａとして特定しても良い。
【００４５】
次に、ＳＤＫモジュール２９は、Ｓ５５において、画像長さＬＥｎｄと、Ｓ３１で設定した基準最小長さＬＴｈｒとを比較し、より長い値を印刷画像長さＬＥＮＰｒｔとして設定する。なお、図５〜図７中のｍａｘ（Ａ，Ｂ）の記載は、ＡとＢのうち、長い方の値を選択することを示している。今回は、設定長さＬＵｓｒが設定されていないため（図５のＳ２７：ＮＯ）、基準最小長さＬＴｈｒとして最小媒体長さＬＰｒｎが設定されている。また、図８に示す例では、「ＴＥＸＴ」の４つの文字の画像長さＬＥｎｄが、最小媒体長さＬＰｒｎよりも長くなっている。このため、Ｓ５５において、ＳＤＫモジュール２９は、印刷画像長さＬＥＮＰｒｔとして画像長さＬＥｎｄを設定する。
【００４６】
次に、ＳＤＫモジュール２９は、印刷画像長さＬＥＮＰｒｔが最小媒体長さＬＰｒｎ以上であるか否かを判断する（Ｓ５９）。ＳＤＫモジュール２９は、印刷画像長さＬＥＮＰｒｔが最小媒体長さＬＰｒｎ以上であると判断すると（Ｓ５９：ＹＥＳ）、Ｓ６１を実行し、長くないと判断するとＳ６３を実行する。上記したように、印刷画像長さＬＥＮＰｒｔに画像長さＬＥｎｄを設定し、図８に示す例では最小媒体長さＬＰｒｎに比べて画像長さＬＥｎｄが長いため（Ｓ５９：ＹＥＳ）、ＳＤＫモジュール２９は、Ｓ６１を実行する。
【００４７】
Ｓ６１において、ＳＤＫモジュール２９は、画像データ７５の先端７９から印刷画像長さＬＥＮＰｒｔ、即ち、画像長さＬＥｎｄまでをラスタデータに変換する。ＳＤＫモジュール２９は、変換したラスタデータを印刷データとしてプリンタ５０へ送信し、プリンタ５０にラスタデータの印刷を実行させる（Ｓ６５）。次に、Ｓ６７において、ＳＤＫモジュール２９は、全ての印刷画像について処理を完了したか否かを判断する。ＳＤＫモジュール２９は、全ての印刷画像について処理を完了したと判断した場合（Ｓ６７：ＹＥＳ）は、ＳＤＫ処理を終了し、全ての印刷画像について処理を完了していない場合（Ｓ６７：ＮＯ）は、次の未処理の印刷画像について、図５のＳ４１からの処理を再度実行する。今回は、スプリット印刷が設定されていないため、ＳＤＫモジュール２９は、図５のＳ４１からの処理を再度実行せず、ＳＤＫ処理を終了する。
【００４８】
ここで、図８の一番下の図に示すように、ＳＤＫモジュール２９は、画像データ７５の先端７９、即ち、印刷の開始位置から画像長さＬＥｎｄまで画像データ７５Ａをラスタデータに変換する。例えば、図８に示すように、画像データ７５には、「ＴＥＸＴ」の文字の後に（後端８０側に）、余白領域８３が設定されている。この余白領域８３は、空白文字や、ユーザによって設定された余白などの有効画素でない画素が設定された領域である。この余白領域８３を、そのまま印刷すると、テープ６７が不必要に消費されることとなる。これに対し、本実施形態のＳＤＫモジュール２９は、末尾余白除去設定が有効な場合、上記したＳ５３、Ｓ５５、Ｓ６１、Ｓ６５を実行することで、印刷する範囲を有効画素の範囲に絞り、余白領域８３を除去して印刷する。これにより、テープ６７の過剰な消費を抑制できる。また、ＳＤＫモジュール２９は、Ｓ５９の判断処理を実行することで最小媒体長さＬＰｒｎを最低限確保して印刷する。これにより、プリンタ５０によって印刷後のテープ６７を適切に搬送させることができる。
【００４９】
また、本実施形態のＳＤＫモジュール２９は、Ｓ５３において、画像データ７５の先端７９側の余白幅と、後端８０側の余白幅とを同一にする処理を実行する。図９は、先端７９側に余白８５が入力された場合の画像データ７５を示している。図９に示すように、画像データ７５には、「ＴＥＸＴ」の文字の前に余白８５が入力されている。副走査方向における画像データ７５の先端７９から有効画素が存在する先端のライン８１Ｂの位置までの余白幅８７は、余白８５の幅、即ち、空白文字の数や設定された余白サイズに応じた大きさとなる。
【００５０】
この場合、ＳＤＫモジュール２９は、Ｓ５３において、後端８０側の有効画素が存在するライン８１Ａの位置について、先端７９側の余白幅８７を付加する位置の調整を行う。ＳＤＫモジュール２９は、ライン８１Ａの位置を余白幅８７分だけ後端８０側へずらす処理を実行する。そして、ＳＤＫモジュール２９は、後端８０側の余白８５Ａを含む画像長さＬＥｎｄを、画像長さとして特定する。これにより、ＳＤＫモジュール２９は、先端７９に余白幅８７が設定され、後端に余白８５Ａが設定された画像データ７５Ａをラスタデータに変換することとなる。
【００５１】
仮に調整を行わず、後端８０側の余白を、調整前のライン８１Ａの位置、即ち、最後の文字「Ｔ」の有効画素のライン８１Ａの位置に基づいて除去すると、ＳＤＫモジュール２９は、画像長さＬＥｎｄ２を画像長さとして特定する。この場合、先端７９側にのみ余白８５が存在し、印刷画像が後端８０側に寄った印刷結果となる。これに対し、ＳＤＫモジュール２９は、後端８０側に余白８５Ａを付加することで、印刷結果のバランスを良くすることができる。
【００５２】
＜末尾余白除去設定を設定しない場合＞
次に、末尾余白除去設定を設定しない場合（以下、ケース２という）について説明する。なお、以下の説明では、上記したケース１の説明と同様の内容についてはその説明を適宜省略する。ケース２の場合、ＳＤＫモジュール２９は、図５のＳ２５で否定判定し（Ｓ２５：ＮＯ）、図６のＳ５１においても否定判定する（Ｓ５１：ＮＯ）。ＳＤＫモジュール２９は、印刷する範囲である印刷画像長さＬＥＮＰｒｔとして、画像データ７５の画像の長さＬＯｒｇを設定する（Ｓ５７）。
【００５３】
次に、Ｓ５９において、ＳＤＫモジュール２９は、印刷画像長さＬＥＮＰｒｔ（この場合、長さＬＯｒｇ）が最小媒体長さＬＰｒｎ以上であると判断すると（Ｓ５９：ＹＥＳ）、長さＬＯｒｇに基づいて印刷する、即ち、ユーザによって作成、印刷設定されたままの画像データ７５を印刷する（Ｓ６１、Ｓ６５）。一方、ＳＤＫモジュール２９は、印刷画像長さＬＥＮＰｒｔが最小媒体長さＬＰｒｎよりも短いと判断すると（Ｓ５９：ＮＯ）、印刷エラーを報知する（Ｓ６３）。従って、ＳＤＫモジュール２９は、ユーザによって作成、印刷設定された印刷画像の長さＬＯｒｇが最小媒体長さＬＰｒｎよりも短い場合に、エラーをＬＣＤ１６等に報知する。ＳＤＫモジュール２９は、図５及び図６に示すＳＤＫ処理を終了する。これにより、最小媒体長さＬＰｒｎよりも短い長さの画像が印刷されることを抑制し、切断されたテープ６７のプリンタ５０内への落下や、切断されたテープ６７の詰まり等を抑制できる。
【００５４】
なお、ＳＤＫモジュール２９は、Ｓ６３において印刷画像長さＬＥＮＰｒｔに最小媒体長さＬＰｒｎを設定して印刷を実行しても良い。即ち、ＳＤＫモジュール２９は、印刷画像長さＬＥＮＰｒｔが最小媒体長さＬＰｒｎより短い場合に、画像データ７５における最小媒体長さＬＰｒｎの範囲をラスタデータに変換して印刷を実行しても良い（Ｓ６３）。これにより、印刷画像長さＬＥＮＰｒｔが最小媒体長さＬＰｒｎより短い場合にも、最小媒体長さＬＰｒｎでプリンタ５０に適切に印刷を実行させることができる。また、Ｓ６３において、ＳＤＫモジュール２９は、スプリット印刷などの複数の印刷対象の画像データがある場合、印刷画像長さＬＥＮＰｒｔが最小媒体長さＬＰｒｎより短い画像データ７５の印刷のみを中止し、Ｓ４１から処理を再開しても良い。
【００５５】
＜画像長さＬＥｎｄが最小媒体長さＬＰｒｎより短い場合＞
次に、末尾余白除去設定が設定され、設定長さＬＵｓｒ及び揃え設定が設定されておらず、且つ、画像長さＬＥｎｄが最小媒体長さＬＰｒｎより短い場合（以下、ケース３という）について説明する。ケース３の場合、ＳＤＫモジュール２９は、上記したケース１と同様に、Ｓ２１〜Ｓ５１までを実行し、Ｓ５３を実行する。
【００５６】
図１０は、画像長さＬＥｎｄが最小媒体長さＬＰｒｎより短い場合を図示している。図１０に示すように、例えば、「Ａ」の一文字だけが入力された画像データ７５では、Ｓ５３のラスタスキャンによって特定された画像長さＬＥｎｄが最小媒体長さＬＰｒｎに比べて短くなる可能性がある。この場合、次のＳ５５において、ＳＤＫモジュール２９は、画像長さＬＥｎｄと、基準最小長さＬＴｈｒ（図５のＳ３１で設定した最小媒体長さＬＰｒｎ）とを比較し、より長い基準最小長さＬＴｈｒを印刷画像長さＬＥＮＰｒｔとして設定する。そして、ＳＤＫモジュール２９は、Ｓ５９で肯定判定をし（Ｓ５９：ＹＥＳ）、Ｓ６１以降の印刷処理を実行する。図１０に示すように、ＳＤＫモジュール２９は、先端７９から最小媒体長さＬＰｒｎまでの画像データ７５Ａをラスタデータに変換することで、最小媒体長さＬＰｒｎを確保して印刷を実行することができる。これにより、文字等の入力が少なく、特定した画像長さＬＥｎｄが最小媒体長さＬＰｒｎより短い場合でもプリンタ５０に適切に印刷を実行させることができる。
【００５７】
＜設定長さＬＵｓｒが設定された場合＞
次に、末尾余白除去設定及び設定長さＬＵｓｒが設定され、揃え設定が設定されていない場合（以下、ケース４という）について説明する。ケース４の場合、ＳＤＫモジュール２９は、図５のＳ２５、Ｓ２７で肯定判定をし（Ｓ２５：ＹＥＳ、Ｓ２７：ＹＥＳ）、Ｓ２９を実行する。Ｓ２９において、ＳＤＫモジュール２９は、印刷設定で受け付けた設定長さＬＵｓｒと、最小媒体長さＬＰｒｎのうち、長い方の値を基準最小長さＬＴｈｒに設定する。ＳＤＫモジュール２９は、ケース１と同様に、Ｓ３３で否定判定した後（Ｓ３３：ＮＯ）、Ｓ４１からＳ５３までを実行する。Ｓ５５において、画像長さＬＥｎｄが、基準最小長さＬＴｈｒよりも長い場合、即ち、画像長さＬＥｎｄ、設定長さＬＵｓｒ、最小媒体長さＬＰｒｎのうち、画像長さＬＥｎｄが最も長い場合、ケース１（図８参照）と同様に、画像長さＬＥｎｄの印刷が実行される。
【００５８】
また、図１１は、画像長さＬＥｎｄ、設定長さＬＵｓｒ、最小媒体長さＬＰｒｎのうち、最小媒体長さＬＰｒｎが最も長い場合を示している。この場合、Ｓ５５において、ＳＤＫモジュール２９は、印刷画像長さＬＥＮＰｒｔとして最小媒体長さＬＰｒｎ（基準最小長さＬＴｈｒ）を設定する。そして、図１１に示すように、ＳＤＫモジュール２９は、先端７９から最小媒体長さＬＰｒｎまでの画像データ７５Ａをラスタデータに変換することで、最小媒体長さＬＰｒｎ及び印刷設定で受け付けた設定長さＬＵｓｒを確保して印刷を実行できる。
【００５９】
また、図１２は、画像長さＬＥｎｄ、設定長さＬＵｓｒ、最小媒体長さＬＰｒｎのうち、設定長さＬＵｓｒが最も長い場合を示している。この場合、Ｓ５５において、ＳＤＫモジュール２９は、印刷画像長さＬＥＮＰｒｔとして設定長さＬＵｓｒ（基準最小長さＬＴｈｒ）を設定する。そして、図１２に示すように、ＳＤＫモジュール２９は、先端７９から設定長さＬＵｓｒまでの画像データ７５Ａをラスタデータに変換することで、最小媒体長さＬＰｒｎ及び設定長さＬＵｓｒを確保して印刷を実行できる。換言すれば、ユーザ等は、余白を除去する以外に、最低限の設定長さＬＵｓｒを確保することを指示できる。
【００６０】
＜スプリット印刷や複数の画像を印刷する場合＞
次に、スプリット印刷や複数の画像をまとめて印刷する印刷設定を受け付けた場合について説明する。以下の説明では、一例として、スプリット印刷、末尾余白除去設定が設定され、設定長さＬＵｓｒ及び揃え設定が設定されていない場合（以下、ケース５という）について説明する。ケース５の場合、ＳＤＫモジュール２９は、ケース１と同様に、Ｓ２１からＳ４１まで実行する。
【００６１】
図１３は、末尾余白除去設定が設定されスプリット印刷を実行する場合の画像データ７５を示している。図１３に示すように、スプリット印刷では、印刷する画像データ７５を、副走査方向に沿って、印刷設定に設定された数だけ分割する。例えば、ＳＤＫモジュール２９は、印刷する画像データ７５を、副走査方向に沿って２つに分割した分割画像データ９１，９２を生成する。そして、ＳＤＫモジュール２９は、分割画像データ９１，９２のそれぞれについて印刷を行う。これにより、例えば、印刷された複数のテープ６７を主走査方向に並べて貼り付けることで、１つのテープ６７では表すことができない大きな文字等を表すことができる。以下の説明では、一例として２つに分割する場合を説明する。
【００６２】
Ｓ４１において、ＳＤＫモジュール２９は、メモリ１４に記憶された画像データ７５から副走査方向に沿って分割した分割画像データ９１を生成して読み込む。ＳＤＫモジュール２９は、分割画像データ９１を用いて図６のＳ４３〜Ｓ６７の処理を実行する。ＳＤＫモジュール２９は、Ｓ６５において、分割画像データ９１を変換したラスタデータを印刷データとしてプリンタ５０に送信すると、Ｓ６７において残りの分割画像データ９２の処理が終わっていないため（Ｓ６７：ＮＯ）、図５のＳ４１からの処理を再度実行する。２回目のＳ４１において、ＳＤＫモジュール２９は、メモリ１４に記憶された画像データ７５から分割画像データ９２を生成して読み込み、Ｓ４３以降の処理を実行する。ＳＤＫモジュール２９は、２回目のＳ６５において、分割画像データ９２を変換したラスタデータをプリンタ５０に送信し、Ｓ６７において他の印刷画像の処理がないため（Ｓ６７：ＹＥＳ）、ＳＤＫ処理を終了する。従って、ＳＤＫモジュール２９は、複数の分割画像データ９１，９２の各々について、画像長さＬＥｎｄを特定する処理（Ｓ５３）、画像長さＬＥｎｄを判定する処理（Ｓ５９）、印刷画像長さＬＥＮＰｒｔに基づくラスタライズ処理（Ｓ６１）等を実行する。なお、ＳＤＫモジュール２９は、１回目のＳ４１を実行する際に、分割画像データ９１以外の他の分割画像データ９２を全て作成しメモリ１４に保存しても良い。
【００６３】
図１３に示す例では、「Ｔ’’’’’’’’’’」の画像データ７５を、２つの分割画像データ９１，９２に分割している。図１３における上側の分割画像データ９１には「’’’’’’’’’’」が含まれているため、分割画像データ９１の画像長さＬＥｎｄは、分割画像データ９２の画像長さＬＥｎｄに比べて長くなっている。また、分割画像データ９１の画像長さＬＥｎｄは、最小媒体長さＬＰｒｎに比べて長くなっている。このため、ＳＤＫモジュール２９は、分割画像データ９１の先端７９から画像長さＬＥｎｄまでの画像データ９１Ａをラスタデータに変換する。一方で、分割画像データ９２の画像長さＬＥｎｄは、最小媒体長さＬＰｒｎに比べて短くなっている。このため、ＳＤＫモジュール２９は、分割画像データ９２の先端７９から最小媒体長さＬＰｒｎまでの画像データ９２Ａをラスタデータに変換する。このようにして、ＳＤＫモジュール２９は、スプリット印刷が設定された場合には、分割画像データ９１，９２の各々について余白を除去する処理等を個別に適用する。なお、複数の画像の印刷をまとめて受け付けた場合にも、上記したスプリット印刷と同様の処理を実行することで、複数の画像データ７５の各々について余白を除去する処理等を個別に適用できる。
【００６４】
＜揃え設定の場合＞
次に、スプリット印刷や複数の画像をまとめて印刷する指示を受け付け、且つ揃え設定を受け付けた場合について説明する。図１４は、揃え設定がされた場合の画像データ７５を示している。図１４に示すように、揃え設定とは、印刷後のテープ６７の長さを揃える設定である。図１４のドットは、テープ６７の色が有色であることを示している。以下の説明では、一例として、スプリット印刷、末尾余白除去設定及び揃え設定が設定され、設定長さＬＵｓｒが設定されていない場合（以下、ケース６という）について説明する。
【００６５】
詳述すると、ケース６の場合、ＳＤＫモジュール２９は、ケース１と同様に、Ｓ２１からＳ３１まで実行した後、Ｓ３３を実行する。Ｓ３３において、ＳＤＫモジュール２９は、編集画面制御モジュール２７から受け取った印刷指示に基づいて揃え設定が設定されていると判断すると（Ｓ３３：ＹＥＳ）、Ｓ３５を実行する。
【００６６】
なお、ＳＤＫモジュール２９は、印刷後のテープ６７の長さを揃える処理を実行するか否かを印刷設定以外の方法で判断しても良い。ここで、上記したケース５（図１３）のように、分割画像データ９１，９２の各々について印刷画像長さＬＥＮＰｒｔを調整する処理を実行すると、分割画像データ９１を印刷したテープ６７の長さ（画像長さＬＥｎｄ）が、分割画像データ９２を印刷したテープ６７の長さ（最小媒体長さＬＰｒｎ）に比べて長くなる。その結果、印刷後の２つのテープ６７を、主走査方向に並べて貼り合わせると、副走査方向の長さが異なる状態となる。同様の処理を有色のテープ６７に対して実行すると、背景色が付加されていることで長さの違いがより明確となり、貼り合わせたテープ６７のバランスが悪くなる虞がある。このため、有色のテープ６７の場合には、印刷後のテープ６７の長さを揃えることが好ましい場合がある。
【００６７】
そこで、ＳＤＫモジュール２９は、記録媒体であるテープ６７の色が有色である場合に長さを揃える処理を実行しても良い。例えば、編集画面制御モジュール２７は、印刷設定において有色のテープ６７が選択された場合に、長さを揃える処理を実行する印刷指示をＳＤＫモジュール２９に与えても良い。あるいは、ＳＤＫモジュール２９は、スプリット印刷が設定された場合に、プリンタ５０へ問い合わせを自動で実行し、プリンタ５０に装着されたテープ６７の色情報を取得し、取得した色情報に基づいてテープ６７が有色であれば長さを揃える処理を実行しても良い。また、ＳＤＫモジュール２９は、編集画面制御モジュール２７の印刷指示と、プリンタ５０から取得した情報との一致を判断し、情報が一致し且つテープ６７が有色である場合に長さを揃える処理を実行しても良い。
【００６８】
図５に戻り、ＳＤＫモジュール２９は、Ｓ３５において、長さを揃えるための最大長さＬＡｌｉを求める処理を実行する。図７は、最大長さＬＡｌｉを求める処理の内容を示している。ＳＤＫモジュール２９は、図７の処理を開始すると、まず、最大長さＬＡｌｉの初期値としてゼロを設定する（Ｓ７１）。
【００６９】
次に、ＳＤＫモジュール２９は、Ｓ７５以降の処理を、分割した画像データの数分（複数の画像の印刷を受け付けた場合は印刷する画像の数分）だけ繰り返し実行する。Ｓ７５において、ＳＤＫモジュール２９は、ケース５のＳ４１と同様に、メモリ１４に記憶された画像データ７５から分割した分割画像データ９１を生成して読み込む。ＳＤＫモジュール２９は、読み込みに成功したと判断すると（Ｓ７７：ＹＥＳ）、Ｓ７９を実行し、読み込みに失敗したと判断すると（Ｓ７７：ＮＯ）、Ｓ８１を実行する。
【００７０】
Ｓ７９において、ＳＤＫモジュール２９は、図６のＳ４５と同様に、印刷設定に応じた画像処理等を分割画像データ９１に対して実行した後、Ｓ８３を実行する。また、Ｓ８１において、ＳＤＫモジュール２９は、図６のＳ４７と同様に、読み込みに失敗したことをＬＣＤ１６等に報知し、図５〜図７に示すＳＤＫ処理を終了する。
【００７１】
Ｓ８３において、ＳＤＫモジュール２９は、図６のＳ５３と同様に、分割画像データ９１の先端７９（図１４参照）から最も遠い有効画素までの画像長さＬＥｎｄを求めた後、Ｓ８５を実行する。Ｓ８５において、ＳＤＫモジュール２９は、Ｓ８３で求めた画像長さＬＥｎｄが最大長さＬＡｌｉよりも大きい場合、最大長さＬＡｌｉとしてＳ８３で求めた画像長さＬＥｎｄを設定する。１回目の分割画像データ９１に対する処理では、最大長さＬＡｌｉにゼロが設定されている（Ｓ７１）。このため、ＳＤＫモジュール２９は、Ｓ８５において、分割画像データ９１の画像長さＬＥｎｄを最大長さＬＡｌｉに設定する。
【００７２】
次に、Ｓ８７において、ＳＤＫモジュール２９は、図６のＳ６７と同様に、全ての印刷画像について処理を完了したか否かを判断する。ＳＤＫモジュール２９は、全ての印刷画像について処理を完了したと判断した場合（Ｓ８７：ＹＥＳ）は、図７に示す最大長さＬＡｌｉを求める処理を終了し、全ての印刷画像について処理を完了していない場合（Ｓ８７：ＮＯ）は、次の未処理の印刷画像について、Ｓ７５からの処理を再度実行する。今回のケース６の場合、ＳＤＫモジュール２９は、１回目のＳ８７で否定判定し（Ｓ８７：ＮＯ）、２回目のＳ７５以降において、次の分割画像データ９２に対しても同様の処理を実行する。ＳＤＫモジュール２９は、２回目のＳ８５において、分割画像データ９１の画像長さＬＥｎｄに比べて分割画像データ９２の画像長さＬＥｎｄが長ければ、分割画像データ９２の画像長さＬＥｎｄを最大長さＬＡｌｉに設定する。
【００７３】
従って、ＳＤＫモジュール２９は、最大長さＬＡｌｉに初期値としてゼロを設定した後（Ｓ７１）、Ｓ７５以降の処理を繰り返し実行することで、複数の分割画像データ９１，９２の画像長さＬＥｎｄのうち、最も長い画像長さＬＥｎｄを最大長さＬＡｌｉに設定する。ＳＤＫモジュール２９は、全ての分割画像データ９１，９２についてＳ７５からＳ８７までの処理を実行した後、図７の処理を終了し、図５のＳ３７を実行する。
【００７４】
Ｓ３７において、ＳＤＫモジュール２９は、図７の処理で求めた最大長さＬＡｌｉと、基準最小長さＬＴｈｒのうち、長い方の値を印刷画像長さＬＥＮＰｒｔとして設定する。このため、ＳＤＫモジュール２９は、最大長さＬＡｌｉ、最小媒体長さＬＰｒｎ、設定長さＬＵｓｒのうち、最も長い値を印刷画像長さＬＥＮＰｒｔに設定する。
【００７５】
ＳＤＫモジュール２９は、Ｓ３７を実行した後、Ｓ３８を実行する。ＳＤＫモジュール２９は、Ｓ３７で設定した印刷画像長さＬＥＮＰｒｔでラスタライズを実行し、変換したラスタデータを印刷データとしてプリンタ５０に送信する。ＳＤＫモジュール２９は、同一の印刷画像長さＬＥＮＰｒｔを用いたラスタライズを他の分割画像データ（分割画像データ９２等）にも実行し印刷を行う（Ｓ３８）。上記したように、Ｓ３７において、印刷画像長さＬＥＮＰｒｔには、最大長さＬＡｌｉ、最小媒体長さＬＰｒｎ、設定長さＬＵｓｒのうち、最も長い長さが設定される。このため、分割画像データ９１，９２の各々は、最も長い長さでラスタライズされ印刷される。
【００７６】
図１４に示す例では、最大長さＬＡｌｉ、最小媒体長さＬＰｒｎ、設定長さＬＵｓｒ（図示略）のうち、分割画像データ９１の画像長さＬＥｎｄ（最大長さＬＡｌｉ）が、最も長くなっている。このため、ＳＤＫモジュール２９は、分割画像データ９１の先端７９から分割画像データ９１の画像長さＬＥｎｄまでの画像データ９１Ａをラスタデータに変換する。また、ＳＤＫモジュール２９は、分割画像データ９２の先端７９から分割画像データ９１の画像長さＬＥｎｄまで、即ち、画像データ９１Ａと同様の長さの画像データ９２Ａをラスタデータに変換する。これにより、分割画像データ９１，９２の各々を同一の長さで印刷することが可能となる。
【００７７】
因みに、ＰＣ１０は、情報処理装置の一例である。ＣＰＵ１２は、コンピュータ、制御部の一例である。テープ６７は、記録媒体の一例である。分割画像データ９１，９２は、分割した画像データの一例である。
【００７８】
＜実施例の効果＞
上記した実施形態によれば、以下の効果を奏する。
（１）本実施形態のＳＤＫモジュール２９は、プリンタ５０がテープ６７を搬送する搬送方向６９に直交する方向に応じた主走査方向について、主走査方向おける画像データ７５の１ラインずつに有効画素が存在するか否かを判断し、有効画素が存在するライン数に基づく長さであり且つ画像データ７５の副走査方向の長さである画像長さＬＥｎｄを特定する特定ステップ（Ｓ５３）と、画像長さＬＥｎｄが、搬送方向６９におけるテープ６７の長さであり且つプリンタ５０によってテープ６７を搬送可能な最小の長さである最小媒体長さＬＰｒｎ以上であるか否かを判断する判断ステップ（Ｓ５９）と、画像長さＬＥｎｄが最小媒体長さＬＰｒｎ以上である場合に（Ｓ５９：ＹＥＳ）、画像データ７５における画像長さＬＥｎｄの範囲をラスタデータに変換する変換ステップ（Ｓ６１）と、変換したラスタデータをプリンタ５０に出力する出力ステップ（Ｓ６５）と、を実行する。
【００７９】
これによれば、画像データ７５の有効画素が存在するライン数に基づく副走査方向の画像長さＬＥｎｄと、プリンタ５０の搬送可能な最小媒体長さＬＰｒｎを比較する。画像長さＬＥｎｄが最小媒体長さＬＰｒｎ以上である場合には、画像長さＬＥｎｄの範囲をラスタデータに変換し、プリンタ５０に印刷を実行させる。これにより、プリンタ５０で印刷する範囲を小さくしてテープ６７の消費量を抑制できる。また、搬送方向６９において、プリンタ５０が画像を印刷する長さとして最小媒体長さＬＰｒｎを確保でき、画像が印刷されたテープ６７をプリンタ５０の搬送ローラ６３等によって適切に搬送させることができる。
【００８０】
（２）また、ＳＤＫモジュール２９は、Ｓ５９において画像長さＬＥｎｄが最小媒体長さＬＰｒｎより短い場合に（Ｓ５９：ＮＯ）、Ｓ６３（変換ステップの一例）において画像データ７５における最小媒体長さＬＰｒｎの範囲をラスタデータに変換しても良い。これによれば、画像長さＬＥｎｄが最小媒体長さＬＰｒｎよりも短い場合には、最小媒体長さＬＰｒｎの範囲をラスタデータに変換し、プリンタ５０に印刷を実行させることができる。
【００８１】
（３）また、ＳＤＫモジュール２９は、Ｓ５３において、有効画素が存在するライン８１の位置のうち、副走査方向における後端８０側のライン８１Ａの位置について、副走査方向における画像データ７５の先端７９から有効画素が存在する先端のライン８１Ｂの位置までの余白幅８７を付加する位置の調整を行い、画像データ７５の先端７９から調整したライン８１の位置を、画像長さＬＥｎｄとして特定する（図９参照）。
【００８２】
副走査方向における後端８０側の余白を、有効画素のライン８１Ａの位置に基づいて除去すると、Ｓ５３で特定される後端８０のライン８１Ａの位置は、最も後端８０側に存在する有効画素のライン位置となる。この場合、副走査方向における先端７９側に余白８５が存在すると、印刷画像が後端８０側に寄った印刷結果となる。そこで、Ｓ５３で後端８０のライン８１Ａの位置を、先端７９側の余白幅８７だけ後端８０側にずらした位置に調整することで、先端７９と後端８０の余白幅８７を同一にして印刷結果のバランスを良くすることができる。
【００８３】
（４）また、プリンタ５０は、ダイカットテープ等の搬送方向６９における長さが決められた記録媒体への印刷が可能である。ＳＤＫモジュール２９は、長さが決められた記録媒体へ印刷を実行する場合（Ｓ２１：ＹＥＳ）、Ｓ５３及びＳ５９を実行せずに、画像データ７５をそのままラスタデータに変換させた後、プリンタ５０に出力する（Ｓ２３）。
【００８４】
例えば、Ａ４紙等のシート状の記録媒体は、予め所定の長さに切断されている。また、例えば、ダイカットテープは、剥離される記録媒体の長さが予め規定されている。このため、この種の搬送方向６９における長さが決められた記録媒体では、仮に、印刷する画像データ７５の長さを変更したとしても印刷後の記録媒体の物理的な長さが変わらない。即ち、用紙サイズや剥離されるテープ幅が決まっているため、余白を除去する処理を実行しても、印刷後の１つ１つの記録媒体の長が変わらない。そこで、搬送方向６９における長さが決められた記録媒体については、Ｓ５３やＳ５９を実行せず、ラスタライズを実行することで、不要な処理を省略して処理速度を高速化できる。
【００８５】
（５）また、ＳＤＫモジュール２９は、副走査方向に沿って画像データ７５を複数に分割し、分割した分割画像データ９１，９２をそれぞれ印刷するスプリット印刷を実行する場合、Ｓ５３、Ｓ５９、Ｓ６１、及びＳ６５を、分割した分割画像データ９１，９２ごとに実行する（図１３、ケース５）。これによれば、スプリット印刷において、分割した分割画像データ９１，９２ごとに余白を除去し印刷する処理を適用する。これにより、分割画像データ９１，９２の各々について、テープ６７の消費量を抑制しつつ、プリンタ５０によって印刷後のテープ６７を適切に搬送させることができる。
【００８６】
（６）また、ＳＤＫモジュール２９は、スプリット印刷を実行する場合、分割した分割画像データ９１，９２の各々の画像長さＬＥｎｄのうち、最も長い最大長さＬＡｌｉを特定させ（Ｓ３５、図７の処理）、Ｓ３７（判断ステップの一例）の結果に応じたＳ３８（変換ステップ、出力ステップの一例）を、分割画像データ９１，９２の各々について実行する。
【００８７】
これによれば、最も長い最大長さＬＡｌｉと最小媒体長さＬＰｒｎとを比較し、比較した結果に応じてラスタライズする範囲を設定する。そして、設定した範囲のラスタライズやラスタデータの出力を、分割画像データ９１，９２の各々に一律に実行する。このため、分割画像データ９１，９２の各々は、最も長い最大長さＬＡｌｉや最小媒体長さＬＰｒｎで印刷される。これにより、分割画像データ９１，９２を、搬送方向６９における長さを揃えて印刷することができる。
【００８８】
（７）また、ＳＤＫモジュール２９は、長尺のテープ６７が有色であるか否かを判断する有色判断ステップ（Ｓ３３）を実行し、テープ６７が有色である場合に（Ｓ３３：ＹＥＳ）、最も長い最大長さＬＡｌｉを特定し（Ｓ３５）、Ｓ３７の結果に応じたＳ６１及びＳ６５を、分割画像データ９１，９２の各々について実行する。分割画像データ９１，９２を有色のテープ６７などにそれぞれ印刷した後、印刷した複数のテープ６７を組み合わせる際に、搬送方向６９における長さが揃っていなければ、白色や透明のテープ６７に比べて目立つ可能性が高い。このため、有色の記録媒体の場合に、搬送方向６９における長さを揃えて印刷することは、極めて有効である。
【００８９】
（８）また、ＳＤＫモジュール２９は、ラスタデータに変換する画像データ７５の範囲を設定する設定長さＬＵｓｒを受け付けた場合に（Ｓ２７：ＹＥＳ）、Ｓ６１において、画像長さＬＥｎｄ、最小媒体長さＬＰｒｎ、設定長さＬＵｓｒのうち、最も長い長さの範囲で画像データ７５をラスタデータに変換する（図１１、図１２、ケース４）。これによれば、ユーザ等によって設定された設定長さＬＵｓｒ及び最小媒体長さＬＰｒｎを確保しつつ、余白を削除することができる。
【００９０】
また、本発明は、上記実施形態に限定されるものではなく、当業者の知識に基づいて種々の変更、改良を施した種々の態様で実施することが可能である。
例えば、ＳＤＫモジュール２９は、画像データ７５の後端８０側（末尾）に対して余白を除去する処理を実行したが、先端７９側の余白に対しても同様の処理を実行しても良い。また、ＳＤＫモジュール２９は、先端７９側の余白のみを除去しても良い。
また、ＳＤＫモジュール２９は、画像長さＬＥｎｄが最小媒体長さＬＰｒｎより短い場合に（Ｓ５９：ＮＯ）、印刷エラーのみを報知しても良い。
【００９１】
また、ＳＤＫモジュール２９は、Ｓ５３における先端７９と後端８０の余白を調整する処理を実行しなくとも良い。また、ＳＤＫモジュール２９は、後端８０の余白に合わせて先端７９の余白を調整しても良い。
また、ＳＤＫモジュール２９は、長さが決められた記録媒体の印刷においても、余白の除去等を実行しても良い。
また、ＳＤＫモジュール２９は、スプリット印刷が実行できない構成でも良い。
また、ＳＤＫモジュール２９は、印刷後のテープ６７の長さを揃える処理を実行できない構成でも良い。
また、ＳＤＫモジュール２９は、有色のテープ６７の場合に、長さを揃えずに印刷を実行しても良い。
また、ＳＤＫモジュール２９は、設定長さＬＵｓｒを受け付けない構成でも良い。
【００９２】
また、本願における記録媒体は、テープ６７に限らず、ロール紙等の他の長尺の記録媒体でも良い。
また、上記実施形態では、ＳＤＫモジュール２９は、画像データ作成モジュール２８から受け取った画像データ７５の印刷を実行したが、他のアプリケーションから受け取った画像データを印刷する処理を実行してもよい。
【００９３】
また、上記実施形態では、画像データ作成モジュール２８を含むラベル作成プログラム２６の処理がＣＰＵ１２によって実行される例を説明したが、これに限らない。ＰＣ１０は、ラベル作成プログラム２６による処理を、ＣＰＵ１２に限らず、ＡＳＩＣや他の論理集積回路により実行しても良いし、ＣＰＵ等やＡＳＩＣ、他の論理集積回路を協働させて実行しても良い。
【符号の説明】
【００９４】
１０  ＰＣ（情報処理装置）、１２  ＣＰＵ（制御部）、５０  プリンタ、６７  テープ（記録媒体）、６９  搬送方向、７５  画像データ、７９  先端、８０  後端、８１，８１Ａ，８１Ｂ  ライン、８７  余白幅、９１，９２  分割画像データ（分割した画像データ）、ＬＥｎｄ  画像長さ、ＬＰｒｎ  最小媒体長さ、ＬＡｌｉ  最大長さ、ＬＵｓｒ  設定長さ。
【図１】
2020014115.tif 000003
【図２】
2020014115.tif 000004
【図３】
2020014115.tif 000005
【図４】
2020014115.tif 000006
【図５】
2020014115.tif 000007
【図６】
2020014115.tif 000008
【図７】
2020014115.tif 000009
【図８】
2020014115.tif 000010
【図９】
2020014115.tif 000011
【図１０】
2020014115.tif 000012
【図１１】
2020014115.tif 000013
【図１２】
2020014115.tif 000014
【図１３】
2020014115.tif 000015
【図１４】
2020014115.tif 000016