(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023042805
(43)【公開日】2023-03-28
(54)【発明の名称】印刷データ出力装置、印刷データ出力方法、およびプログラム
(51)【国際特許分類】
G06F 3/12 20060101AFI20230320BHJP
B41J 3/28 20060101ALI20230320BHJP
【FI】
G06F3/12 342
G06F3/12 318
G06F3/12 332
G06F3/12 347
G06F3/12 378
B41J3/28
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2021150148
(22)【出願日】2021-09-15
(71)【出願人】
【識別番号】000006747
【氏名又は名称】株式会社リコー
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(72)【発明者】
【氏名】田中 裕貴
(72)【発明者】
【氏名】色摩 健
(72)【発明者】
【氏名】徳丸 弘
(72)【発明者】
【氏名】小林 伸行
(72)【発明者】
【氏名】吉川 尚貴
【テーマコード(参考)】
2C055
【Fターム(参考)】
2C055AA00
2C055AA03
2C055AA10
2C055AA16
(57)【要約】
【課題】ハンドヘルドプリンタによって画像を印刷する際の無駄な余白の発生を抑制できるようにすること。
【解決手段】印刷データ出力装置は、ハンドヘルドプリンタが備える記録ヘッドの上下幅の情報を取得する情報取得部と、記録ヘッドの上下幅に応じて、ハンドヘルドプリンタによって印刷される画像のサイズを決定する決定部と、決定部によって決定されたサイズを有する画像の印刷データを生成する生成部と、生成部によって生成された印刷データをハンドヘルドプリンタへ出力する出力部とを備える。
【選択図】
図4
【特許請求の範囲】
【請求項1】
ハンドヘルドプリンタが備える記録ヘッドの上下幅の情報を取得する情報取得部と、
前記記録ヘッドの上下幅に応じて、前記ハンドヘルドプリンタによって印刷される画像のサイズを決定する決定部と、
前記決定部によって決定されたサイズを有する前記画像の印刷データを生成する生成部と、
前記生成部によって生成された前記印刷データを前記ハンドヘルドプリンタへ出力する出力部と
を備えることを特徴とする印刷データ出力装置。
【請求項2】
前記決定部は、
前記上下幅に応じて、前記画像に含まれる文字列のフォントサイズを決定する
ことを特徴とする請求項1に記載の印刷データ出力装置。
【請求項3】
前記決定部は、
前記上下幅に応じて、前記文字列のフォントサイズを、前記上下幅に収まる最大のフォントサイズに決定する
ことを特徴とする請求項2に記載の印刷データ出力装置。
【請求項4】
前記決定部は、
前記上下幅に収まる最大のフォントサイズを、ユーザが選択可能な最大のフォントサイズとして決定する
ことを特徴とする請求項2に記載の印刷データ出力装置。
【請求項5】
前記決定部は、
前記上下幅に応じて前記文字列のフォントサイズを決定した場合に、前記文字列が、予め設定された印刷パスの長さに収まらない場合、前記文字列を複数の前記印刷パスに分割する
ことを特徴とする請求項2から4のいずれか一項に記載の印刷データ出力装置。
【請求項6】
前記決定部は、
複数行の前記文字列の行数が、指定された印刷パス数よりも大きい場合、複数行の文字列が指定された数の印刷パスに収まるように、各印刷パスのフォントサイズおよび行数を決定する
ことを特徴とする請求項2に記載の印刷データ出力装置。
【請求項7】
前記決定部は、
前記画像が二次元バーコードである場合、前記記録ヘッドの上下幅に応じて、前記二次元バーコードのサイズを決定する
ことを特徴とする請求項1に記載の印刷データ出力装置。
【請求項8】
前記決定部は、
前記画像が文字列を含む場合、前記上下幅に応じて、1つの印刷パスで印刷される前記文字列のフォントサイズおよび行数を決定する
ことを特徴とする請求項1に記載の印刷データ出力装置。
【請求項9】
前記決定部は、
前記画像を印刷可能な複数の印刷方向のうち、印刷パス数が最も少なくなる印刷方向を決定し、
前記生成部は、
前記決定部によって決定された前記印刷方向の印刷パスで印刷するための前記印刷データを生成する
ことを特徴とする請求項1に記載の印刷データ出力装置。
【請求項10】
ハンドヘルドプリンタが備える記録ヘッドの上下幅の情報を取得する情報取得工程と、
前記記録ヘッドの上下幅に応じて、前記ハンドヘルドプリンタによって印刷される画像のサイズを決定する決定工程と、
前記決定工程において決定されたサイズを有する前記画像の印刷データを生成する生成工程と、
前記生成工程において生成された前記印刷データを前記ハンドヘルドプリンタへ出力する出力工程と
を含むことを特徴とする印刷データ出力方法。
【請求項11】
コンピュータを、
ハンドヘルドプリンタが備える記録ヘッドの上下幅の情報を取得する情報取得部、
前記記録ヘッドの上下幅に応じて、前記ハンドヘルドプリンタによって印刷される画像のサイズを決定する決定部、
前記決定部によって決定されたサイズを有する前記画像の印刷データを生成する生成部、および、
前記生成部によって生成された前記印刷データを前記ハンドヘルドプリンタへ出力する出力部
として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、印刷データ出力装置、印刷データ出力方法、およびプログラムに関する。
【背景技術】
【0002】
下記特許文献1には、あらかじめサイズが定められた印刷領域に収まるように付加情報を印刷できるようにする目的で、付加情報の文字のサイズを自動的に調整する技術が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【0003】
しかしながら、従来技術では、印刷に用いるハンドヘルドプリンタが、記録ヘッドの上下幅がより大きい機種に変更された場合、変更後のハンドヘルドプリンタによって画像を印刷する際に、印刷される画像の上下に無駄な余白が発生する虞がある。
【0004】
本発明は、上述した従来技術の課題を解決するため、ハンドヘルドプリンタによって画像を印刷する際の無駄な余白の発生を抑制することを目的とする。
【課題を解決するための手段】
【0005】
上述した課題を解決するために、一実施形態に係る印刷データ出力装置は、ハンドヘルドプリンタが備える記録ヘッドの上下幅の情報を取得する情報取得部と、記録ヘッドの上下幅に応じて、ハンドヘルドプリンタによって印刷される画像のサイズを決定する決定部と、決定部によって決定されたサイズを有する画像の印刷データを生成する生成部と、生成部によって生成された印刷データをハンドヘルドプリンタへ出力する出力部とを備える。
【発明の効果】
【0006】
一実施形態に係る印刷データ出力装置によれば、ハンドヘルドプリンタによって画像を印刷する際の無駄な余白の発生を抑制することができる。
【図面の簡単な説明】
【0007】
【
図1】一実施形態に係る画像形成システムによる画像形成の一例を示す図
【
図2】一実施形態に係るハンドヘルドプリンタのハードウェア構成の一例を示すブロック図
【
図3】一実施形態に係るハンドヘルドプリンタが備える制御部のハードウェア構成の一例を示すブロック図
【
図4】一実施形態に係る印刷データ出力装置の機能構成の一例を示すブロック図
【
図5】一実施形態に係る画像形成システムによる全体処理の手順の一例を示すシーケンス図
【
図6】一実施形態に係るハンドヘルドプリンタが備える制御部による処理の手順の一例を示すフローチャート
【
図7】一実施形態に係るハンドヘルドプリンタが備える制御部によるIJ記録ヘッドの現在位置の算出方法の一例を示す図
【
図8】一実施形態に係るハンドヘルドプリンタが保持するテーブルの一例を示す図
【
図9】一実施形態に係る印刷データ出力装置による印刷データの生成処理の手順の一例を示すフローチャート
【
図10】一実施形態に係る印刷データ出力装置が表示するテキストエディタの一例を示す図
【
図11】一実施形態に係る印刷データ出力装置が表示するプレビュー画面の一例を示す図
【
図12】一実施形態に係る印刷データ出力装置が決定するIJ記録ヘッドの上下幅に応じた最大のフォントサイズの一例を示す図
【
図13】一実施形態に係る印刷データ出力装置による、印刷データを生成する処理の詳細手順の一例を示すフローチャート
【
図14】一実施形態に係る印刷データ出力装置による、テキストデータの文字列を複数の印刷パスに分割する処理の一例を示す図
【
図15】一実施形態に係る印刷データ出力装置による、テキストデータを所定数の印刷パスに収める処理の一例を示す図
【
図16】一実施形態に係る印刷データ出力装置が表示する二次元バーコードの生成画面の一例を示す図
【
図17】一実施形態に係る印刷データ出力装置が表示するテキスト入りスタンプの生成画面の一例を示す図
【
図18】一実施形態に係る印刷データ出力装置による印刷パス数の最適化処理の手順の一例を示すフローチャート
【
図19】一実施形態に係る印刷データ出力装置が表示する印刷設定画面の一例を示す図
【
図20】一実施形態に係る印刷データ出力装置による、印刷対象の画像の印刷データを生成する処理の詳細手順の一例を示すフローチャート
【
図21】一実施形態に係る印刷データ出力装置による、印刷対象画像をX方向の印刷パスで印刷する場合のパス数を説明するための図
【
図22】一実施形態に係る印刷データ出力装置による、印刷対象画像をY方向の印刷パスで印刷する場合のパス数を説明するための図
【発明を実施するための形態】
【0008】
以下、図面を参照して、一実施形態について説明する。
【0009】
〔一実施形態〕
(画像形成システム10による画像形成の一例)
図1は、一実施形態に係る画像形成システム10による画像形成の一例を示す図である。
図1に示すように、画像形成システム10は、ハンドヘルドプリンタ100および印刷データ出力装置11を備える。
【0010】
印刷データ出力装置11は、ハンドヘルドプリンタ100と無線又は有線で通信する機能を有する情報処理装置である。印刷データ出力装置11は、ハンドヘルドプリンタ100との通信を介して、ハンドヘルドプリンタ100へ印刷データを送信する。印刷データ出力装置11としては、例えば、スマートフォン、タブレット端末、PC(Personal Computer)、PDA(Personal Digital Assistant)、携帯電話、ハンディターミナル、ウェアラブルPC(腕時計型、サングラス型等)、携帯型のゲーム機、カーナビゲーション、デジタルカメラ、プロジェクタ、テレビ会議端末、ドローン等が挙げられる。
【0011】
ハンドヘルドプリンタ100は、ユーザの操作によって記録媒体12の表面上を移動しながら、印刷データ出力装置11から受信した印刷データに基づいて、記録媒体12の表面にインクを吐出することにより、記録媒体12の表面に印刷データに応じた画像を形成する。
【0012】
例えば、ユーザは、ハンドヘルドプリンタ100を把持して、ハンドヘルドプリンタ100を記録媒体12の表面上で、所定の走査方向である第1方向(X軸正方向)に移動させる。ハンドヘルドプリンタ100は、この第1方向への移動の際にインクを吐出することにより、記録媒体12の表面に印刷データに応じた画像の一部を形成する。
【0013】
次に、ユーザは、ハンドヘルドプリンタ100を、第1方向と直交する第2方向(Y軸正方向)に移動させて、再び、ハンドヘルドプリンタ100を記録媒体12の表面上で、第1方向(X軸正方向)に移動させる。ハンドヘルドプリンタ100は、この第1方向への移動の際にインクを吐出することにより、記録媒体12の表面に印刷データに応じた画像の次の一部を形成する。
【0014】
ユーザは、ハンドヘルドプリンタ100の第2方向(Y軸正方向)への移動操作と、ハンドヘルドプリンタ100の第1方向(X軸正方向)への移動操作とを繰り返し行うことにより、記録媒体12の表面に印刷データに応じた画像の全部を形成することができる。
【0015】
(ハンドヘルドプリンタ100のハードウェア構成の一例)
図2は、一実施形態に係るハンドヘルドプリンタ100のハードウェア構成の一例を示すブロック図である。
【0016】
図2に示すように、ハンドヘルドプリンタ100は、電源回路21、電源22、IJ記録ヘッド駆動回路23、IJ記録ヘッド24、制御部25、OPU(Operation panel Unit)26、通信I/F(Interface)27、ROM(Read Only Memory)28、DRAM(Dynamic Random Access Memory)29、ナビゲーションセンサ30、およびジャイロセンサ31を備える。
【0017】
電源回路21は、電源22から出力された電力を、IJ記録ヘッド駆動回路23、IJ記録ヘッド24、制御部25、OPU26、通信I/F27、ROM28、DRAM29、ナビゲーションセンサ30、およびジャイロセンサ31の各々に供給する。また、電源回路21は、電源22から出力された電力を、昇圧または降圧することができる。
【0018】
電源22は、電力を出力する。例えば、電源22は、各種電池(一次電池または二次電池)である。但し、これに限らず、電源22は、太陽電池、商用電源、燃料電池等であってもよい。
【0019】
IJ記録ヘッド駆動回路23は、駆動電圧波形データを用いて、IJ記録ヘッド24を駆動するための駆動電圧波形を生成する。IJ記録ヘッド駆動回路23は、IJ記録ヘッド24から吐出されるインクの液滴サイズ等に応じた駆動電圧波形を生成できる。
【0020】
IJ記録ヘッド24は、「インクヘッド」の一例であり、インクを吐出する。IJ記録ヘッド24は、シアン、マゼンタ、イエロー、およびブラックの4色のインクを吐出できる。但し、これに限らず、IJ記録ヘッド24は、ブラック1色のインクを吐出する構成を有してもよく、5色以上のインクを吐出する構成を有してもよい。
【0021】
制御部25は、ハンドヘルドプリンタ100の全体を制御する。例えば、制御部25は、ナビゲーションセンサ30によって検出されるIJ記録ヘッド24の移動量、および、ジャイロセンサ31によって検出されるIJ記録ヘッド24の角速度を元に、IJ記録ヘッド24に含まれる各ノズルの位置情報、該位置情報に応じて形成する画像の決定、並びに吐出すべきノズルであるか否かの判定等を行う。
【0022】
OPU26は、ユーザからの入力、および、ユーザに対する出力を行う。例えば、OPU26は印字ボタン26aを有する。印字ボタン26aは、ユーザからの印字開始の指示を受け付ける。また、例えば、OPU26は、ハンドヘルドプリンタ100の状態を表示するLED、液晶ディスプレイ、タッチパネル、音声入力機能等を有してもよい。
【0023】
通信I/F27は、外部との通信を行う。通信I/F27は、無線LAN(Local Area Network)、Bluetooth(登録商標)、NFC(Near Field Communication)、赤外線、4G(携帯電話)、又はLTE(Long Term Evolution)等の通信規格に対応した無線通信を行うものであってもよい。また、通信I/F27は、有線LAN、USB(Universal Serial Bus)ケーブル等を用いた有線通信を行うものであってもよい。
【0024】
ROM(Read Only Memory)28は、ハンドヘルドプリンタ100のハードウェア制御を行うファームウェア、IJ記録ヘッド24の駆動電圧波形データ(液体を吐出するための電圧変化を規定するデータ)、およびハンドヘルドプリンタ100の初期設定データ等を格納する。
【0025】
DRAM(Dynamic Random Access Memory)29は、通信I/F27が受信した画像の記憶、およびROM28から展開されたファームウェア等を記憶する。DRAM29は、制御部25がファームウェアを実行する際のワークメモリとして利用可能である。
【0026】
ナビゲーションセンサ30は、「検出部」の一例である。ナビゲーションセンサ30は、所定のサンプリング周期毎に、ハンドヘルドプリンタ100の水平方向(X軸方向およびY軸方向)の移動量を検出する。例えば、ナビゲーションセンサ30は、発光ダイオード(LED;Light Emitting Diode)やレーザ等の光源と、記録媒体12を撮像する撮像センサとを有して構成される。例えば、ナビゲーションセンサ30は、ハンドヘルドプリンタ100が記録媒体12の表面上で移動したとき、撮像センサによって記録媒体12の表面の画像を連続的に撮像し、撮像された複数の画像における記録媒体12の表面の特徴点の位置の変化量に基づいて、ハンドヘルドプリンタ100の水平方向(X軸方向およびY軸方向)の移動量を検出することができる。本実施形態では、ハンドヘルドプリンタ100は、ハンドヘルドプリンタ100の底面に1つのナビゲーションセンサ30を備えるが、これに限らず、ハンドヘルドプリンタ100は、複数のナビゲーションセンサ30を備えてもよい。この場合、ハンドヘルドプリンタ100は、複数のナビゲーションセンサ30の検出値に基づいて、ハンドヘルドプリンタ100のヨー方向の回転角を算出してもよい。また、ナビゲーションセンサ30は、多軸の加速度センサによって実現されてもよい。
【0027】
ジャイロセンサ31は、「検出部」の一例である。ナビゲーションセンサ30は、所定のサンプリング周期毎に、ハンドヘルドプリンタ100のヨー方向の回転角(すなわち、記録媒体12の表面に対して垂直な軸を中心とする回転角度)を検出する。
【0028】
(制御部25のハードウェア構成の一例)
図3は、一実施形態に係るハンドヘルドプリンタ100が備える制御部25のハードウェア構成の一例を示すブロック図である。
【0029】
図3に示すように、制御部25は、SoC25A、および、ASIC(Application Specific Integrated Circuit)/FPGA(Field Programmable Gate Array)25Bを備える。
【0030】
SoC25AとASIC/FPGA25Bはバス46及び47を介して通信する。ASIC/FPGA25Bは、どちらの実装技術で設計されてもよいことを意味し、ASIC/FPGA25B以外の他の実装技術で構成されてよい。また、SoC25AとASIC/FPGA25Bを別のチップにすることなく1つのチップや基板で構成してもよい。或いは、3つ以上のチップや基板で実装してもよい。
【0031】
SoC25Aは、バス47を介して接続されたCPU33、位置算出回路34、メモリCTL(コントローラ)35、及びROM CTL(コントローラ)36を有する。なお、SoC25Aが有する構成要素はこれらに限られない。
【0032】
CPU33は、ROM28からDRAM29に展開されたファームウェア(プログラム)等を実行し、SoC25A内の位置算出回路34、メモリCTL35、及びROM CTL36の動作を制御する。また、CPU33は、ASIC/FPGA25B内のImage RAM37、DMAC(Direct Memory Access Controller)38、回転器39、割込みコントローラ41、ナビゲーションセンサI/F42、タイミング生成部43、IJ記録ヘッド制御部44及びジャイロセンサI/F45等の動作を制御する。
【0033】
位置算出回路34は、ナビゲーションセンサ30が検出するサンプリング周期ごとの移動量及びジャイロセンサ31が検出するサンプリング周期ごとの角速度に基づいて、ハンドヘルドプリンタ100の位置情報(例えば座標)を算出する。ハンドヘルドプリンタ100の位置情報とは、厳密には、IJ記録ヘッド24(
図2参照)に含まれる各ノズルの位置情報である。
【0034】
位置算出回路34は、所定の原点(画像形成が開始される時のハンドヘルドプリンタ100の初期位置)を基準にハンドヘルドプリンタ100の位置情報を算出する。また、位置算出回路34は、過去の位置情報と最も新しい位置情報との差に基づいて移動方向や加速度を推定し、次回の吐出タイミングにおけるハンドヘルドプリンタ100の位置情報を予測することができる。
【0035】
メモリCTL35は、DRAM29とのインタフェースであり、DRAM29に対しデータを要求し、取得したファームウェアをCPU33に送出したり、取得した画像をASIC/FPGA25Bに送出したりする。
【0036】
ROM CTL36は、ROM28とのインタフェースであり、ROM28に対しデータを要求し、取得したデータをCPU33やASIC/FPGA25Bに送出する。
【0037】
ASIC/FPGA25Bは、バス46を介して接続されたImage RAM37、DMAC38、回転器39、割込みコントローラ41、ナビゲーションセンサI/F42、タイミング生成部43、IJ記録ヘッド制御部44及びジャイロセンサI/F45を有する。なお、ASIC/FPGA25Bが有する構成要素はこれらに限定されるものではない。
【0038】
回転器39は、インクを吐出するIJ記録ヘッド、IJ記録ヘッド内のノズル位置、及び取り付け誤差等によるIJ記録ヘッドの傾きに応じて、DMAC38が取得した画像を回転させる。DMAC38は回転後の画像をIJ記録ヘッド制御部44へ出力する。
【0039】
Image RAM37はDMAC38が取得した画像を一時的に格納する。すなわち、ハンドヘルドプリンタ100は、ある程度の画像をImage RAM37にバッファリングし、ハンドヘルドプリンタ100の位置情報に応じてバッファリングした画像を読み出すことができる。
【0040】
IJ記録ヘッド制御部44は、タイミング生成部43により生成されたタイミングで、IJ記録ヘッド駆動回路23を駆動する。IJ記録ヘッド制御部44は、画像(Tiff形式等)にディザ処理などを施して大きさと密度で画像を表す点の集合に画像を変換する。これにより、画像は吐出位置と点のサイズのデータとなる。IJ記録ヘッド制御部44は点のサイズに応じた制御信号をIJ記録ヘッド駆動回路23に出力する。IJ記録ヘッド駆動回路23は上記のように制御信号に対応した駆動波電圧形データを用いて、駆動電圧波形を生成する。
【0041】
ナビゲーションセンサI/F42は、タイミング生成部43により生成されたタイミングで、ナビゲーションセンサ30から移動量情報を取得し、当該移動量情報を内部レジスタに格納する。
【0042】
タイミング生成部43は、ナビゲーションセンサI/F42とジャイロセンサI/F45が情報を読み取るタイミングを通知し、IJ記録ヘッド制御部44に駆動タイミングを通知する。
【0043】
ジャイロセンサI/F45は、タイミング生成部43により生成されたタイミングで、ジャイロセンサ31から角速度情報を取得し、当該角速度情報を内部レジスタに格納する。
【0044】
割込みコントローラ41は、ナビゲーションセンサI/F42とナビゲーションセンサ30との通信が完了したことを通知するための割込み信号をSoC25Aへ出力する。また、割込みコントローラ41は、ジャイロセンサI/F45とジャイロセンサ31との通信が完了したことを通知するための割込み信号をSoC25Aへ出力する。また、割込みコントローラ41は、エラー等のステータス通知機能を有する。
【0045】
(印刷データ出力装置11の機能構成)
図4は、一実施形態に係る印刷データ出力装置11の機能構成の一例を示すブロック図である。
図4に示すように、印刷データ出力装置11は、情報取得部11A、決定部11B、生成部11C、出力部11D、および通信部11Eを備える。
【0046】
情報取得部11Aは、ハンドヘルドプリンタ100から、ハンドヘルドプリンタ100が備えるIJ記録ヘッド24の上下幅の情報を取得する。
【0047】
決定部11Bは、IJ記録ヘッド24の上下幅に応じて、ハンドヘルドプリンタ100によって印刷される画像のサイズを決定する。
【0048】
生成部11Cは、決定部11Bによって決定されたサイズを有する画像の印刷データを生成する。
【0049】
出力部11Dは、生成部11Cによって生成された印刷データを、通信部11Eを介して、ハンドヘルドプリンタ100へ出力する。
【0050】
通信部11Eは、ハンドヘルドプリンタ100に対する無線接続および無線通信を行う。
【0051】
決定部11Bは、印刷される画像が文字列である場合、IJ記録ヘッド24の上下幅に応じて、文字列のフォントサイズを決定することができる。
【0052】
例えば、決定部11Bは、IJ記録ヘッド24の上下幅に応じて、文字列のフォントサイズを、IJ記録ヘッド24の上下幅に収まる最大のフォントサイズに決定することができる。
【0053】
また、例えば、決定部11Bは、IJ記録ヘッド24の上下幅に応じて、IJ記録ヘッド24の上下幅に収まる最大のフォントサイズを、ユーザが選択可能な最大のフォントサイズとして決定することができる。
【0054】
また、例えば、決定部11Bは、IJ記録ヘッド24に応じて文字列のフォントサイズを決定した場合に、文字列が予め設定された印刷パスの長さに収まらない場合、文字列を複数の印刷パスに分割することができる。
【0055】
また、例えば、決定部11Bは、複数行の文字列の行数が、指定された印刷パス数よりも大きい場合、複数行の文字列が指定された数の印刷パスに収まるように、各印刷パスのフォントサイズおよび行数を決定することができる。
【0056】
なお、「印刷パス」とは、ハンドヘルドプリンタ100の所定の走査方向である第1方向(X軸正方向)へ1回移動させることにより、当該1回の移動分の画像を、記録媒体12の表面に印刷することを意味する。
【0057】
また、例えば、決定部11Bは、印刷される画像が二次元バーコードである場合、IJ記録ヘッド24の上下幅に応じて、二次元バーコードのサイズを決定することができる。
【0058】
また、例えば、決定部11Bは、印刷される画像が文字列を含む場合、IJ記録ヘッド24の上下幅に応じて、1つの印刷パスによって印刷される文字列のフォントサイズおよび行数を決定することができる。
【0059】
また、例えば、決定部11Bは、画像を印刷可能な複数の印刷方向(本実施形態では、X方向およびY方向)のうち、印刷パス数が最も少なくなる印刷方向を決定することができる。この場合、生成部11Cは、決定部11Bによって決定された印刷方向の印刷パスで印刷するための印刷データを生成することができる。
【0060】
上記で説明した実施形態の各機能は、一又は複数の処理回路によって実現することが可能である。ここで、本明細書における「処理回路」とは、電子回路により実装されるプロセッサのようにソフトウェアによって各機能を実行するようプログラミングされたプロセッサや、上記で説明した各機能を実行するよう設計されたASIC(Application Specific Integrated Circuit)、DSP(digital signal processor)、FPGA(field programmable gate array)や従来の回路モジュール等のデバイスを含むものとする。
【0061】
(全体処理の手順の一例)
図5は、一実施形態に係る画像形成システム10による全体処理の手順の一例を示すシーケンス図である。
【0062】
まず、ユーザが、ハンドヘルドプリンタ100に設けられている電源ボタンを押下することにより、ハンドヘルドプリンタ100の電源がONに切り替わる(ステップS101)。
【0063】
次に、ハンドヘルドプリンタ100が、ハンドヘルドプリンタ100が備える各デバイスの初期化処理(起動、初期設定等)を実行する(ステップS102)。
【0064】
次に、ハンドヘルドプリンタ100が、全てのデバイスの初期化処理が終了したか否かを判断する(ステップS103)。
【0065】
ステップS103において、全てのデバイスの初期化処理が終了していないと判断された場合(ステップS103:No)、ハンドヘルドプリンタ100は、ステップS103を再度実行する。
【0066】
一方、ステップS103において、全てのデバイスの初期化処理が終了したと判断された場合(ステップS103:Yes)、ハンドヘルドプリンタ100は、OPU26が有するLEDを点灯させることにより、ユーザに対し印刷が可能な状態であることを通知する(ステップS104)。
【0067】
続いて、印刷データ出力装置11が、所定のアプリケーションを起動し、印刷データ出力装置11の通信部11Eが、ハンドヘルドプリンタ100に対して無線接続を行う(ステップS105)。
【0068】
次に、印刷データ出力装置11の情報取得部11Aが、ハンドヘルドプリンタ100に対し、IJ記録ヘッド24の上下幅の情報を要求する(ステップS106)。
【0069】
ハンドヘルドプリンタ100は、印刷データ出力装置11からの要求に応じて、IJ記録ヘッド24の上下幅の情報をメモリから取得して(ステップS107)、当該IJ記録ヘッド24の上下幅の情報を、印刷データ出力装置11へ送信する(ステップS108)。印刷データ出力装置11の情報取得部11Aは、IJ記録ヘッド24の上下幅の情報を受信して、当該IJ記録ヘッド24の上下幅の情報をメモリに保存する(ステップS109)。
【0070】
次に、印刷データ出力装置11の決定部11Bが、IJ記録ヘッド24の上下幅に応じて、印刷される画像のサイズを決定する(ステップS110)。そして、印刷データ出力装置11の生成部11Cが、決定されたサイズを有する画像の印刷データを生成する(ステップS111)。さらに、印刷データ出力装置11の出力部11Dが、生成された印刷データを、通信部11Eを介して、ハンドヘルドプリンタ100へ送信する(ステップS112)。
【0071】
ハンドヘルドプリンタ100は、印刷データを受信すると(ステップS113)、当該印刷データを用いた印刷処理を実行する(ステップS114)。
【0072】
(制御部25による処理の手順の一例)
図6は、一実施形態に係るハンドヘルドプリンタ100が備える制御部25による処理の手順の一例を示すフローチャートである。
【0073】
図6に示す一連の処理は、例えば、ユーザによってハンドヘルドプリンタ100に設けられている電源ボタンが押下されると開始される。
【0074】
まず、制御部25は、ハンドヘルドプリンタ100が備える各デバイスの初期化処理(起動、初期設定等)を実行する(ステップS201)。
【0075】
次に、制御部25は、全てのデバイスの初期化処理が終了したか否かを判断する(ステップS202)。
【0076】
ステップS202において、全てのデバイスの初期化処理が終了していないと判断された場合(ステップS202:No)、制御部25は、ステップS202を再度実行する。
【0077】
一方、ステップS202において、全てのデバイスの初期化処理が終了したと判断された場合(ステップS202:Yes)、制御部25は、OPU26が有するLEDを点灯させることにより、ユーザに対し印刷が可能な状態であることを通知する(ステップS203)。
【0078】
ユーザは、この通知に応じて、印刷データ出力装置11において印刷対象の画像を選択する。印刷データ出力装置11は、選択された画像を印刷するための印刷ジョブを生成し、当該印刷ジョブをハンドヘルドプリンタ100へ出力する。
【0079】
次に、制御部25は、印刷データ出力装置11から出力された印刷ジョブを通信I/F27を介して受け取ると、OPU26が有するLEDを点滅させることにより、ユーザに対し印刷ジョブを受け取ったことを通知する(ステップS204)。
【0080】
ユーザは、ハンドヘルドプリンタ100を記録媒体12の表面の任意の位置に配置する。また、ユーザは、例えばハンドヘルドプリンタ100に設けられている印刷開始ボタンを押下する。そして、ユーザは、ハンドヘルドプリンタ100の記録媒体12の表面上での第1方向(X軸方向)への走査を開始する。
【0081】
次に、制御部25は、各センサ(ナビゲーションセンサ30およびジャイロセンサ31)に対し、検出開始を指示する(ステップS205)。この指示に応じて、ナビゲーションセンサ30は、移動量の検出を開始する。また、ジャイロセンサ31は、角速度の検出を開始する。
【0082】
次に、制御部25は、ナビゲーションセンサI/F42により、ナビゲーションセンサ30から移動量情報を取得し、ジャイロセンサI/F45により、ジャイロセンサ31から角速度情報を取得する(ステップS206)。
【0083】
次に、制御部25は、ステップS206で取得された移動量情報および角速度情報によって特定されるIJ記録ヘッド24の現在位置を、IJ記録ヘッド24の初期位置(例えば、座標(X0,Y0))としてレジスタ、メモリ等に設定する(ステップS207)。
【0084】
次に、制御部25は、タイミング生成部43によって、時間計測を開始する(ステップS208)。
【0085】
次に、制御部25は、タイミング生成部43によって計測されている時間に基づいて、所定のリードタイミングが到来したか否かを判断する(ステップS209)。
【0086】
ステップS209において、所定のリードタイミングが到来していないと判断された場合(ステップS209:No)、制御部25は、ステップS209を再度実行する。
【0087】
一方、ステップS209において、所定のリードタイミングが到来したと判断された場合(ステップS209:Yes)、制御部25は、ナビゲーションセンサI/F42により、ナビゲーションセンサ30から移動量情報を取得し、ジャイロセンサI/F45により、ジャイロセンサ31から角速度情報を取得する(ステップS210)。
【0088】
次に、制御部25は、ステップS210で取得された移動量情報および角速度情報に基づいて、ナビゲーションセンサ30の現在位置を算出する(ステップS211)。そして、制御部25は、ステップS211で算出されたナビゲーションセンサ30の現在位置に基づいて、IJ記録ヘッド24の各ノズルの現在位置を算出する(ステップS212)。
【0089】
次に、制御部25は、ステップS212で算出された各ノズルの現在位置に基づいて、各ノズル周辺の画像データを、DRAM29から読み出し、DMAC38および回転器39により、IJ記録ヘッド24の現在位置および傾きに応じて回転させる(ステップS214)。
【0090】
次に、制御部25は、ステップS214で回転された画像データの座標と各ノズルの座標とを比較する(ステップS215)。
【0091】
次に、制御部25は、予め設定された吐出条件を満たすか否かを判断する(ステップS216)。
【0092】
ステップS216において、吐出条件を満たさないと判断された場合(ステップS216:No)、制御部25は、ステップS209へ処理を戻す。
【0093】
一方、ステップS216において、吐出条件を満たすと判断された場合(ステップS216:Yes)、制御部25は、IJ記録ヘッド制御部44へ画像データを出力することにより、IJ記録ヘッド24からインクを吐出させて画像形成を行う(ステップS217)。
【0094】
その後、制御部25は、全画像データの吐出を完了したか否かを判断する(ステップS218)。
【0095】
ステップS218において、全画像データの吐出を完了していないと判断された場合(ステップS218:No)、制御部25は、ステップS209へ処理を戻す。
【0096】
一方、ステップS218において、全画像データの吐出を完了したと判断された場合(ステップS218:Yes)、制御部25は、OPU26が有するLEDを点灯させることにより、ユーザに対し印刷が終了したことを通知する(ステップS219)。その後、制御部25は、
図6に示す一連の処理を終了する。
【0097】
(IJ記録ヘッド24の現在位置の算出方法の一例)
図7は、一実施形態に係るハンドヘルドプリンタ100が備える制御部25によるIJ記録ヘッド24の現在位置の算出方法の一例を示す図である。
図7は、IJ記録ヘッド24と、IJ記録ヘッド24に設けられたナビゲーションセンサ30との移動前後の様子を示す。
【0098】
図7において、座標(X0,Y0)は、移動前のナビゲーションセンサ30の位置の座標を示し、座標(X0',Y0')は、移動後のナビゲーションセンサ30の位置の座標を示す。移動前のナビゲーションセンサ30の位置は、原点に対応する。
【0099】
また、θは移動前のIJ記録ヘッド24の角度を示し、dθはサンプリング周期ごとのIJ記録ヘッド24の回転角を示す。また、Lは、各ノズルが配列する方向におけるIJ記録ヘッド24の長さを示す。また、dX0は、IJ記録ヘッド24の第1方向(X軸方向)への移動量を示す。また、dY0は、IJ記録ヘッド24の第2方向(Y軸方向)への移動量を示す。
【0100】
以下、制御部25による、IJ記録ヘッド24の現在位置の算出方法について説明する。本算出方法は、第2方向(Y軸方向)へのインクヘッドの位置が変化するように、IJ記録ヘッド24の現在位置の座標(X0',Y0')を算出する算出方法である。例えば制御部25は、下記数式(1)~(7)により、IJ記録ヘッド24の現在位置の座標(X0',Y0')を算出する。
【0101】
ジャイロセンサ31の出力である角速度ωは、下記数式(1)によって表すことができる。
【0102】
【0103】
したがって、制御部25は、IJ記録ヘッド24の回転角dθを、下記数式(2)によって算出する。
【0104】
【0105】
また、制御部25は、IJ記録ヘッド24の現在(時間t=0~N)の角度θを、下記数式(3)によって算出する。
【0106】
【0107】
そして、制御部25は、IJ記録ヘッド24のX軸方向への移動量dX0を、下記数式(4)によって算出する。
【0108】
【0109】
また、制御部25は、IJ記録ヘッド24のY軸方向への移動量dY0を、下記数式(5)によって算出する。
【0110】
【0111】
さらに、制御部25は、IJ記録ヘッド24のX軸座標X0'を、下記数式(6)によって算出する。
【0112】
【0113】
また、制御部25は、IJ記録ヘッド24のY軸座標Y0'を、下記数式(7)によって算出する。
【0114】
【0115】
なお、制御部25は、上記のように算出されたIJ記録ヘッド24の現在位置の座標(X0',Y0')と、ナビゲーションセンサ30とIJ記録ヘッド24の各ノズルとの位置関係の情報とに基づき、IJ記録ヘッド24の各ノズルの座標を算出できる。
【0116】
(IJ記録ヘッド24の上下幅の情報を保持するテーブルの一例)
図8は、一実施形態に係るハンドヘルドプリンタ100が保持するテーブルの一例を示す図である。
図8に示すテーブル110は、機種毎に、シリアルNoと、IJ記録ヘッド24の上下幅の情報を保持するものである。テーブル110は、ハンドヘルドプリンタ100が備える不揮発メモリに保持される。
【0117】
ハンドヘルドプリンタ100は、出荷時に、機器毎のシリアルNoを不揮発メモリに保存する。この時、シリアルNoは、同じヘッドの高さ(同じ機種)の場合、共通の型番が付与されているものとする。
【0118】
ハンドヘルドプリンタ100は、印刷データ出力装置11からの要求に応じて、シリアルNoを不揮発メモリから読み出す。そして、ハンドヘルドプリンタ100は、シリアルNoに対応する、IJ記録ヘッド24の上下幅の情報を、
図8に示すテーブル110から読み出す。その後、ハンドヘルドプリンタ100は、IJ記録ヘッド24の上下幅の情報を、印刷データ出力装置11に送信する。
【0119】
(印刷データの生成処理の手順の一例)
図9は、一実施形態に係る印刷データ出力装置11による印刷データの生成処理の手順の一例を示すフローチャートである。
【0120】
まず、印刷データ出力装置11は、ユーザによるアプリケーションの操作に応じて、テキスト印刷の編集画面(
図10参照)をディスプレイに表示する(ステップS301)。そして、印刷データ出力装置11は、テキスト印刷の編集画面に対する所定の初期化処理(例えば、フォントサイズリストの登録等)を実行する(ステップS302)。
【0121】
次に、印刷データ出力装置11は、テキスト印刷の編集画面により、ユーザからのテキストの入力を受け付ける(ステップS303)。
【0122】
そして、印刷データ出力装置11は、ユーザによってプレビュー画面を表示するための操作がなされると、ユーザから入力されたテキストの印刷データ(印刷イメージ画像)を、印刷パス毎に生成する(ステップS304)。さらに、印刷データ出力装置11は、生成された印刷データを表示するためのプレビュー画面(
図11参照)をディスプレイに表示する(ステップS305)。その後、印刷データ出力装置11は、
図9に示す一連の処理を終了する。
【0123】
(テキストエディタの一例)
図10は、一実施形態に係る印刷データ出力装置11が表示するテキストエディタの一例を示す図である。
図10に示す入力画面200は、印刷データ出力装置11において、ユーザからのテキストの入力を受け付けるために、アプリケーションが表示するテキストエディタである。
【0124】
図10に示すように、入力画面200は、入力欄202と、選択リスト204とを有する。入力欄202は、ユーザが入力したテキストが表示される。選択リスト204は、複数のフォントサイズが、ユーザによる選択可能に表示される。ここで、印刷データ出力装置11は、IJ記録ヘッド24の上下幅に応じて、選択リスト204に表示される複数のフォントサイズを、動的に変更することができる。
【0125】
例えば、印刷データ出力装置11は、
図12で後述する方法(但し、これに限らない)により、IJ記録ヘッド24の上下幅に応じて、IJ記録ヘッド24の上下幅に収まる最大のフォントサイズを特定し、特定された最大のフォントサイズを、ユーザが選択可能な最大のフォントサイズとして、選択リスト204に表示することができる。
【0126】
なお、印刷データ出力装置11は、ユーザがフォントサイズを選択できないようにしてもよく、この場合、IJ記録ヘッド24の上下幅に応じて特定された最大のフォントサイズを、印刷データに使用するフォントサイズとして自動的に決定してもよい。
【0127】
(プレビュー画面の一例)
図11は、一実施形態に係る印刷データ出力装置11が表示するプレビュー画面の一例を示す図である。
図11に示すプレビュー画面210は、入力画面200において入力されたテキストから生成された印刷データを、プレビュー表示する画面である。
図11に示すように、プレビュー画面210は、印刷パス毎に、入力テキストから生成された印刷データ(印刷イメージ画像)を表示することができる。
図11に示す例では、プレビュー画面210には、入力テキストから生成された3つの印刷データ212A,212B,212Cが表示されている。
【0128】
(最大のフォントサイズを特定方法の一例)
図12は、一実施形態に係る印刷データ出力装置11が決定するIJ記録ヘッド24の上下幅に応じた最大のフォントサイズの一例を示す図である。例えば、印刷データ出力装置11は、下記数式(8)により、ユーザが選択可能な最大のフォントサイズを算出することができる。
【0129】
最大のフォントサイズ=IJ記録ヘッド24の上下幅/スケール値・・・(8)
【0130】
例えば、印刷データ出力装置11は、
図12に示すように、IJ記録ヘッド24の上下幅が「320px」のときに、ユーザが選択可能な最大のフォントサイズが「36pt」であり、これを基準とする場合、スケール値を「320/36≒8.9」に設定する。
【0131】
以降、印刷データ出力装置11は、IJ記録ヘッド24の上下幅が変更された場合、スケール値「8.9」を用いて上記数式(8)により、変更後のIJ記録ヘッド24の上下幅に応じた、ユーザが選択可能な最大のフォントサイズを算出することができる。
【0132】
(印刷パス毎の印刷データを生成する処理の詳細手順)
次に、
図13~
図15を参照して、印刷パス毎の印刷データを生成する処理(ステップS304)の詳細手順を説明する。
図13は、一実施形態に係る印刷データ出力装置11による、印刷データを生成する処理の詳細手順の一例を示すフローチャートである。
図14は、一実施形態に係る印刷データ出力装置11による、テキストデータの文字列を複数の印刷パスに分割する処理の一例を示す図である。
図15は、一実施形態に係る印刷データ出力装置11による、テキストデータを所定数の印刷パスに収める処理の一例を示す図である。
【0133】
まず、印刷データ出力装置11は、テキストエディタから入力されたテキストデータをプレビュー表示するために、テキストエディタから入力されたテキストデータを取得する(ステップS304-1)。
【0134】
次に、印刷データ出力装置11は、テキストエディタで指定されたフォントサイズと実際に印刷される文字サイズ(実印刷サイズ)とでは倍率が異なるため、テキストデータに含まれる複数の文字列の各々について、フォントサイズにスケール値を乗じることにより、実印刷サイズを算出する(ステップS304-2)。例えば、印刷データ出力装置11は、フォントサイズが「36pt」の場合、描画時の高さを「320px」とするためには、端末の解像度も考慮して、実印刷サイズを「273px」とする場合、スケール値は「273/26≒7.5」となる。なお、テキストエディタから入力されたテキストデータの情報は、Html形式の情報(bold/italic/文字の色/サイズなど)を保持しているため、印刷データ出力装置11は、 この情報を解析することで、テキストデータに含まれる複数の文字列の各々について、実印刷サイズ(高さおよび幅)を算出することができる。
【0135】
次に、印刷データ出力装置11は、テキストデータに含まれる複数の文字列の各々について、ステップS304-2で算出された実印刷サイズ(高さおよび幅)を対応付ける(ステップS304-3)。
【0136】
次に、印刷データ出力装置11は、複数の文字列を、複数の印刷パスを含む印刷データに変換する(ステップS304-4)。
【0137】
ここで、印刷データ出力装置11は、
図14に示すように、印刷パスの上下に余白を設ける必要がある場合、印刷パスの上下幅(すなわち、IJ記録ヘッド24の上下幅)から印刷パスの余白を除いた部分に文字列が収まるように、文字列の実印刷サイズを自動的に調整する。
【0138】
また、印刷データ出力装置11は、
図14に示すように、文字列の長さが印刷パスの所定の長さを上回る場合、当該文字列の書式を変更することなく、当該文字列を複数の印刷パスに分割する。
【0139】
また、印刷データ出力装置11は、
図15に示すように、テキストデータに含まれる複数行の文字列の行数が、ユーザによって指定された印刷パス数よりも大きい場合、テキストデータの全体が指定された数の印刷パスに収まるように、各印刷パスのフォントサイズおよび行数を自動的に調整することができる。
【0140】
例えば、
図15に示す例では、テキストデータに含まれる複数行の文字列の行数が「4行」であり、ユーザによって指定された印刷パス数が「2」である。この場合、印刷データ出力装置11は、テキストデータの全体が指定された指定された数「2」の印刷パスに収まるように、各印刷パスのフォントサイズを自動的に調整して、1番目の印刷パス(pass1)に1行目の文字列「あいうえお」と2行目の文字列「かきく」とが含まれるようにし、2番目の印刷パス(pass1)に3行目の文字列「さしすせそ」と4行目の文字列「たち」とが含まれるようにする。
【0141】
(二次元バーコードの生成画面の一例)
図16は、一実施形態に係る印刷データ出力装置11が表示する二次元バーコードの生成画面の一例を示す図である。
図16に示す入力画面220は、印刷データ出力装置11において、ユーザからのテキストの入力を受け付けて、当該テキストを含む二次元バーコードを生成するために、アプリケーションが表示する画面である。
【0142】
図16に示すように、入力画面220は、入力欄222を有する。入力欄222は、ユーザが入力したテキストが表示される。印刷データ出力装置11は、入力欄222に入力されたテキストを含む二次元バーコードを生成することができる。
【0143】
この際、印刷データ出力装置11は、IJ記録ヘッド24の上下幅に応じて、生成される二次元バーコードのサイズを決定することができる。例えば、印刷データ出力装置11は、生成される二次元バーコードのサイズを、IJ記録ヘッド24の上下幅に収まる最大サイズに決定することができる。そして、印刷データ出力装置11は、IJ記録ヘッド24の上下幅に応じて、生成される二次元バーコードのサイズを変更することで、二次元バーコードに含めることができる情報量を変更することができる。すなわち、印刷データ出力装置11は、IJ記録ヘッド24の上下幅がより大きいほど、生成される二次元バーコードのサイズをより大きくすることで、二次元バーコードに含めることができる情報量をより多くすることができる。
【0144】
さらに、印刷データ出力装置11は、入力欄222に入力されたテキストの文字数が、生成される二次元バーコードに含めることができる情報量に基づく入力可能文字数の上限値を超えた場合、警告を表示することができる。
【0145】
(テキスト入りスタンプの生成画面の一例)
図17は、一実施形態に係る印刷データ出力装置11が表示するテキスト入りスタンプの生成画面の一例を示す図である。
図17に示す入力画面230は、印刷データ出力装置11において、ユーザからのスタンプおよびテキストの入力を受け付けて、当該スタンプおよびテキストを含むテキスト入りスタンプを生成するために、アプリケーションが表示する画面である。
【0146】
図17に示すように、入力画面230は、選択欄232と、入力欄234と、プレビュー表示欄236とを有する。選択欄232は、ユーザが任意のスタンプを選択可能に設けられている。入力欄234は、ユーザが入力したテキストが表示される。プレビュー表示欄236は、テキスト入りスタンプの印刷イメージが表示される。印刷データ出力装置11は、選択欄232において選択されたスタンプと、入力欄234に入力されたテキストとを含むテキスト入りスタンプを生成することができる。
【0147】
この際、印刷データ出力装置11は、IJ記録ヘッド24の上下幅に応じて、テキスト入りスタンプを形成するための1つの印刷パスで印刷される文字列のフォントサイズおよび行数を決定することができる。これにより、印刷データ出力装置11は、テキスト入りスタンプを形成するための1つの印刷パスに含めることができるテキストの文字数を変更することができる。
【0148】
例えば、印刷データ出力装置11は、IJ記録ヘッド24の上下幅が「320px」の場合(すなわち、文字列のフォントサイズを「16pt」にしたときに、IJ記録ヘッド24の上下幅に2行分の文字列が収まらない場合)、フォントサイズを「32pt」に決定し、1つの印刷パスに含めることができる文字列の行数を「1」に決定する。
【0149】
また、例えば、印刷データ出力装置11は、IJ記録ヘッド24の上下幅が「400px」の場合(すなわち、文字列のフォントサイズを「16pt」にしたときに、IJ記録ヘッド24の上下幅に2行分の文字列が収まる場合)、フォントサイズを「16pt」に決定し、1つの印刷パスに含めることができる文字列の行数を「2」に決定する。
【0150】
さらに、印刷データ出力装置11は、入力欄234に入力されたテキストの文字数が、生成されるテキスト入りスタンプに含めることができる文字数の上限値を超えた場合、警告を表示することができる。
【0151】
(印刷パス数の最適化処理の手順の一例)
図18は、一実施形態に係る印刷データ出力装置11による印刷パス数の最適化処理の手順の一例を示すフローチャートである。
【0152】
まず、印刷データ出力装置11は、ユーザによるアプリケーションの操作に応じて、画像一覧画面をディスプレイに表示する(ステップS401)。次に、印刷データ出力装置11は、画像一覧画面に表示されている複数の画像の中から、ユーザによって選択された画像を、印刷対象の画像として決定する(ステップS402)。
【0153】
次に、印刷データ出力装置11は、印刷設定画面(
図19参照)を表示し、当該印刷設定画面において、ユーザからの画像の各種印刷設定(画像の高さ、画像の幅、および印刷パス数の入力を受け付ける(ステップS403)。
【0154】
そして、印刷データ出力装置11は、ユーザによってプレビュー画面を表示するための操作がなされると、印刷対象の画像の印刷データを生成し(ステップS404)、生成された印刷データを表示するためのプレビュー画面をディスプレイに表示する(ステップS405)。その後、印刷データ出力装置11は、
図18に示す一連の処理を終了する。
【0155】
(印刷設定画面の一例)
図19は、一実施形態に係る印刷データ出力装置11が表示する印刷設定画面の一例を示す図である。
図19に示す印刷設定画面240は、印刷データ出力装置11において、ユーザからの各種印刷設定(画像の高さ、画像の幅、および印刷パス数)の入力を受け付ける画面である。
【0156】
図19に示すように、印刷設定画面240は、入力欄241と、入力欄242と、入力欄243と、画像表示部244とを有する。入力欄241は、ユーザからの画像の高さの入力を受け付ける。入力欄242は、ユーザからの画像の幅の入力を受け付ける。入力欄243は、ユーザからの印刷パス数の入力を受け付ける。画像表示部244には、ユーザによって選択された印刷対象の画像が表示される。
【0157】
印刷データ出力装置11は、画像表示部244に表示されている印刷対象の画像を、入力欄241に入力された高さ、および、入力欄241に入力された幅で印刷するための、印刷データを生成することができる。この際、印刷データ出力装置11は、画像の印刷に要する印刷パス数が、入力欄243で入力された入力された印刷パス数以下となるように、画像の印刷方向を決定し、決定された印刷方向の印刷パスで印刷するための印刷データを生成することができる。
【0158】
(印刷対象の画像の印刷データを生成する処理の詳細手順)
次に、
図20~
図22を参照して、印刷対象の画像の印刷データを生成する処理(ステップS404)の詳細手順を説明する。
図20は、一実施形態に係る印刷データ出力装置11による、印刷対象の画像の印刷データを生成する処理の詳細手順の一例を示すフローチャートである。
図21は、一実施形態に係る印刷データ出力装置11による、印刷対象画像をX方向の印刷パスで印刷する場合のパス数を説明するための図である。
図22は、一実施形態に係る印刷データ出力装置11による、印刷対象画像をY方向の印刷パスで印刷する場合のパス数を説明するための図である。
【0159】
まず、印刷データ出力装置11は、印刷対象画像のビットマップデータを取得する(S404-1)。次に、印刷データ出力装置11は、印刷対象画像をグレースケール変換することで、印刷対象画像を中間調の画像に変換する(S404-2)。その後、印刷データ出力装置11は、印刷対象画像の二値化を実行することで、印刷対象画像をモノクロ化する(S404-3)。
【0160】
続いて、印刷データ出力装置11は、X方向およびY方向の各々について、必要な印刷パス数を算出する(S404-4)。例えば、
図21に示すように、画像300のX方向の印刷パスでの印刷に必要な印刷パス数は、画像300のY方向の幅Wy÷ヘッドの高さHによって算出される。また、
図22に示すように、画像300のY方向の印刷パスでの印刷に必要な印刷パス数は、画像300のY方向の幅Wx÷ヘッドの高さHによって算出される。
図21に示す例では、画像300のX方向の印刷パスでの印刷に必要な印刷パス数は「3」である。
図22に示す例では、画像300のY方向の印刷パスでの印刷に必要な印刷パス数は「2」である。
【0161】
続いて、印刷データ出力装置11は、印刷パス数がユーザが設定した上限値以下となる印刷方向を決定する(S404-5)。例えば、ユーザが設定した印刷パス数の上限値が「2」である場合、印刷データ出力装置11は、印刷方向として「Y方向」を決定する。なお、X方向およびY方向の双方とも、印刷パス数が上限値未満の場合、印刷データ出力装置11は、より印刷パス数が少ないほうを決定してもよい。また、ユーザによって上限値が指定されない場合、印刷データ出力装置11は、印刷方向として、より印刷パス数が少ないほうを決定してもよい。
【0162】
次に、印刷データ出力装置11は、決定された印刷方向(X方向またはY方向)の印刷パスで印刷するための印刷データを生成する(S404-6)。その後、印刷データ出力装置11は、
図20に示す一連の処理を終了する。
【0163】
印刷データ出力装置11は、
図20に示す一連の処理により、ユーザが設定した印刷パス数以下の印刷パス数で印刷対象画像を印刷できるため、印刷パス間の境界線の数を少なくすることができ、印刷対象画像の画像ズレを全体的に目立ち難くすることができる。
【0164】
(効果)
以上説明したように、一実施形態に係る印刷データ出力装置11は、ハンドヘルドプリンタ100が備えるIJ記録ヘッド24の上下幅の情報を取得する情報取得部11Aと、IJ記録ヘッド24の上下幅に応じて、ハンドヘルドプリンタ100によって印刷される画像のサイズを決定する決定部11Bと、決定部11Bによって決定されたサイズを有する画像の印刷データを生成する生成部11Cと、生成部11Cによって生成された印刷データをハンドヘルドプリンタ100へ出力する出力部11Dとを備える。
【0165】
これにより、一実施形態に係る印刷データ出力装置11は、IJ記録ヘッド24の上下幅に応じた適切なサイズの画像を有する印刷データを、ハンドヘルドプリンタ100へ出力することができる。したがって、一実施形態に係る印刷データ出力装置11によれば、ハンドヘルドプリンタ100によって画像を印刷する際の無駄な余白の発生を抑制することができる。
【0166】
また、一実施形態に係る印刷データ出力装置11において、決定部11Bは、IJ記録ヘッド24の上下幅に応じて、画像に含まれる文字列のフォントサイズを決定することができる。
【0167】
これにより、一実施形態に係る印刷データ出力装置11は、IJ記録ヘッド24の上下幅に応じた適切なサイズの文字列を含む印刷データを、ハンドヘルドプリンタ100へ出力することができる。したがって、一実施形態に係る印刷データ出力装置11によれば、ハンドヘルドプリンタ100によって文字列を印刷する際の無駄な余白の発生を抑制することができる。
【0168】
また、一実施形態に係る印刷データ出力装置11において、決定部11Bは、IJ記録ヘッド24の上下幅に応じて、画像に含まれる文字列のフォントサイズを、IJ記録ヘッド24の上下幅に収まる最大のフォントサイズに決定することができる。
【0169】
これにより、一実施形態に係る印刷データ出力装置11は、ハンドヘルドプリンタ100によって文字列を印刷する際の余白の発生を最小限にすることができる。
【0170】
また、一実施形態に係る印刷データ出力装置11において、決定部11Bは、IJ記録ヘッド24の上下幅に収まる最大のフォントサイズを、ユーザが選択可能な最大のフォントサイズとして決定することができる。
【0171】
これにより、一実施形態に係る印刷データ出力装置11は、ユーザが最大のフォントサイズを選択することにより、ハンドヘルドプリンタ100によって文字列を印刷する際の余白の発生を最小限にすることができる。
【0172】
また、一実施形態に係る印刷データ出力装置11において、決定部11Bは、IJ記録ヘッド24の上下幅に応じて文字列のフォントサイズを決定した場合に、文字列が、予め設定された印刷パスの長さに収まらない場合、文字列を複数の印刷パスに分割することができる。
【0173】
これにより、一実施形態に係る印刷データ出力装置11は、IJ記録ヘッド24の上下幅に応じた適切なサイズの文字列としつつ、当該文字列の全体を、予め設定された印刷パスの長さの範囲内に印刷することができる。
【0174】
また、一実施形態に係る印刷データ出力装置11において、決定部11Bは、複数行の文字列の行数が、指定された印刷パス数よりも大きい場合、複数行の文字列が指定された数の印刷パスに収まるように、各印刷パスのフォントサイズおよび行数を決定することができる。
【0175】
これにより、一実施形態に係る印刷データ出力装置11は、複数行の文字列を、指定された数の印刷パスにより、IJ記録ヘッド24の上下幅に応じた適切なフォントサイズで印刷することができる。
【0176】
また、一実施形態に係る印刷データ出力装置11において、決定部11Bは、画像が二次元バーコードである場合、IJ記録ヘッド24の上下幅に応じて、二次元バーコードのサイズを決定することができる。
【0177】
これにより、一実施形態に係る印刷データ出力装置11は、IJ記録ヘッド24の上下幅に応じた適切なサイズの二次元バーコードを、ハンドヘルドプリンタ100によって印刷することができる。
【0178】
また、一実施形態に係る印刷データ出力装置11において、決定部11Bは、画像が文字列を含む場合、IJ記録ヘッド24の上下幅に応じて、1つの印刷パスで印刷される文字列のフォントサイズおよび行数を決定することができる。
【0179】
これにより、一実施形態に係る印刷データ出力装置11は、例えば、文字列のフォントサイズを小さくしつつ、文字列の行数を増やすことで、より多くの文字数を1つの印刷パスで印刷することができる。
【0180】
また、一実施形態に係る印刷データ出力装置11において、決定部11Bは、画像を印刷可能な複数の印刷方向のうち、印刷パス数が最も少なくなる印刷方向を決定し、生成部11Cは、決定部11Bによって決定された印刷方向の印刷パスで印刷するための印刷データを生成することができる。
【0181】
これにより、一実施形態に係る印刷データ出力装置11は、より少ない印刷パス数で画像を形成することができ、ハンドヘルドプリンタ100が形成する画像において、2つの印刷パスの間に生じる境界線の数を少なくすることができる。
【0182】
また、一実施形態に係る印刷データ出力方法は、ハンドヘルドプリンタ100が備えるIJ記録ヘッド24の上下幅の情報を取得する情報取得工程と、IJ記録ヘッド24の上下幅に応じて、ハンドヘルドプリンタ100によって印刷される画像のサイズを決定する決定工程と、決定工程において決定されたサイズを有する画像の印刷データを生成する生成工程と、生成工程において生成された印刷データをハンドヘルドプリンタ100へ出力する出力工程とを含む。
【0183】
これにより、一実施形態に係る印刷データ出力方法は、IJ記録ヘッド24の上下幅に応じた適切なサイズの画像を有する印刷データを、ハンドヘルドプリンタ100へ出力することができる。したがって、一実施形態に係る印刷データ出力方法によれば、ハンドヘルドプリンタ100によって画像を印刷する際の無駄な余白の発生を抑制することができる。
【0184】
また、一実施形態に係るプログラムは、コンピュータを、ハンドヘルドプリンタ100が備えるIJ記録ヘッド24の上下幅の情報を取得する情報取得部11A、IJ記録ヘッド24の上下幅に応じて、ハンドヘルドプリンタ100によって印刷される画像のサイズを決定する決定部11B、決定部11Bによって決定されたサイズを有する画像の印刷データを生成する生成部11C、および、生成部11Cによって生成された印刷データをハンドヘルドプリンタ100へ出力する出力部11Dとして機能させる。
【0185】
これにより、一実施形態に係るプログラムは、IJ記録ヘッド24の上下幅に応じた適切なサイズの画像を有する印刷データを、ハンドヘルドプリンタ100へ出力することができる。したがって、一実施形態に係るプログラムによれば、ハンドヘルドプリンタ100によって画像を印刷する際の無駄な余白の発生を抑制することができる。
【0186】
以上、本発明の好ましい実施形態について詳述したが、本発明はこれらの実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形又は変更が可能である。
【符号の説明】
【0187】
10 画像形成システム
11 印刷データ出力装置
11A 情報取得部
11B 決定部
11C 生成部
11D 出力部
11E 通信部
12 記録媒体
21 電源回路
22 電源
23 IJ記録ヘッド駆動回路
24 IJ記録ヘッド
25 制御部
25A SoC
25B ASIC/FPGA
26 OPU
26a 印字ボタン
27 通信I/F
28 ROM
29 DRAM
30 ナビゲーションセンサ
31 ジャイロセンサ
33 CPU
34 位置算出回路
35 メモリCTL
36 ROM CTL
37 Image RAM
38 DMAC
39 回転器
41 割込みコントローラ
42 ナビゲーションセンサI/F
43 タイミング生成部
44 IJ記録ヘッド制御部
45 ジャイロセンサI/F
46,47 バス
100 ハンドヘルドプリンタ
110 テーブル
200 入力画面
202 入力欄
204 選択リスト
210 プレビュー画面
212A,212B,212C 印刷データ
220 入力画面
222 入力欄
230 入力画面
232 選択欄
234 入力欄
236 プレビュー表示欄
240 印刷設定画面
241 入力欄
242 入力欄
243 入力欄
244 画像表示部
300 画像
【先行技術文献】
【特許文献】
【0188】