(57)【要約】【課題】ＵＲＬを格納する二次元コードを生成する場合に、適切な大きさの二次元コードを生成する技術を提供すること。【解決手段】情報処理装置１は、通信ＩＦ１６を介してラベルライタ２と接続する。情報処理装置１は、画像編集アプリ１４１を介して、ＵＲＬを取得し、取得したＵＲＬの文字数が、印刷可能な二次元コードに格納可能な文字数以下であるか否かを判断する。情報処理装置１は、取得したＵＲＬの文字数が格納可能な文字数以下であると判断した場合、取得したＵＲＬを格納する二次元コードを生成する。一方、取得したＵＲＬの文字数が格納可能な文字数よりも大きいと判断した場合、情報処理装置１は、取得したＵＲＬに関連付けられ、かつ、取得したＵＲＬよりも文字数が少ない短縮ＵＲＬを格納する二次元コードを生成する。【選択図】図２
2019086870.tif 000002
【特許請求の範囲】
【請求項１】
通信インターフェースを備え、前記通信インターフェースを介してプリンタと接続する情報処理装置に、
ＵＲＬを取得する取得処理と、
前記取得処理にて取得した前記ＵＲＬである第１のＵＲＬの文字数が、閾値よりも少ないか否かを判断する判断処理と、
二次元コードを生成する生成処理であって、
前記判断処理にて前記第１のＵＲＬの前記文字数が、前記閾値よりも少ないと判断された場合、前記第１のＵＲＬを格納する第１の二次元コードを生成し、
前記判断処理にて前記第１のＵＲＬの前記文字数が、前記閾値よりも少なくないと判断された場合、前記第１のＵＲＬに関連付けられ、かつ、前記第１のＵＲＬよりも文字数が少ない第２のＵＲＬを格納する第２の二次元コードを生成する、前記生成処理と、
を実行させることを特徴とする二次元コード生成プログラム。
【請求項２】
請求項１に記載する二次元コード生成プログラムにおいて、
二次元コードが挿入される領域である二次元コード領域の大きさを取得する二次元コード領域取得処理を、前記情報処理装置に実行させ、
前記判断処理では、
前記二次元コード領域取得処理にて取得した前記二次元コード領域の大きさが第１の大きさの場合には、前記閾値を第１値とし、前記二次元コード領域取得処理にて取得した前記二次元コード領域の大きさが前記第１の大きさよりも大きい第２の大きさの場合には、前記閾値を前記第１値よりも大きい第２値とする、
ことを特徴とする二次元コード生成プログラム。
【請求項３】
請求項１に記載する二次元コード生成プログラムにおいて、
前記プリンタが単位距離内に印刷可能な印刷ドット数を取得する印刷可能ドット数取得処理を、前記情報処理装置に実行させ、
前記判断処理では、
前記印刷可能ドット数取得処理にて取得した前記ドット数が第１のドット数の場合には、前記閾値を第１値とし、前記印刷可能ドット数取得処理にて取得した前記ドット数が前記第１のドット数よりも多い第２のドット数の場合には、前記閾値を前記第１値よりも大きい第２値とする、
ことを特徴とする二次元コード生成プログラム。
【請求項４】
請求項１に記載する二次元コード生成プログラムにおいて、
印刷対象となるシートの幅を取得するシート幅取得処理を、前記情報処理装置に実行させ、
前記判断処理では、
前記シート幅取得処理にて取得した前記幅が第１の幅の場合には、前記閾値を第１値とし、前記シート幅取得処理にて取得した前記幅が前記第１の幅よりも広い第２の幅の場合には、前記閾値を前記第１値よりも大きい第２値とする、
ことを特徴とする二次元コード生成プログラム。
【請求項５】
請求項１から請求項４のいずれか１つに記載する二次元コード生成プログラムにおいて、
前記生成処理では、
前記判断処理にて前記第１のＵＲＬの前記文字数が、前記閾値よりも少なくないと判断された場合、さらに前記取得処理にて取得した前記ＵＲＬに、第２のＵＲＬを取得できない特定のファイル種別が含まれるか否かを判断し、
前記ＵＲＬに前記特定のファイル種別が含まれると判断された場合に、前記第２の二次元コードに代え、誤り訂正レベルを下げて、前記第１のＵＲＬを格納する第３の二次元コードを生成する、
ことを特徴とする二次元コード生成プログラム。
【請求項６】
請求項１から請求項４のいずれか１つに記載する二次元コード生成プログラムにおいて、
前記生成処理では、
前記判断処理にて前記第１のＵＲＬの前記文字数が前記閾値よりも少なくないと判断された場合、さらに前記取得処理にて取得した前記ＵＲＬに、文字数の短縮済みのＵＲＬであることを示す特定のＵＲＬが含まれるか否かを判断し、
前記ＵＲＬに前記特定のＵＲＬが含まれると判断された場合に、前記第２の二次元コードに代え、誤り訂正レベルを下げて、前記第１のＵＲＬを格納する第３の二次元コードを生成する、
ことを特徴とする二次元コード生成プログラム。
【請求項７】
請求項５または請求項６に記載する二次元コード生成プログラムにおいて、
誤り訂正レベルを下げた場合、前記生成処理では、
前記第１のＵＲＬの前記文字数が、前記閾値よりも大きくかつ下げた後の誤り訂正レベルに応じて設定される閾値である、低レベル閾値よりも少ないか否かを判断し、
前記第１のＵＲＬの前記文字数が、前記低レベル閾値よりも少なくないと判断された場合、前記第３の二次元コードを生成する代わりに、エラーを報知する、
ことを特徴とする二次元コード生成プログラム。
【請求項８】
請求項１から請求項４のいずれか１つに記載する二次元コード生成プログラムにおいて、
前記生成処理では、前記判断処理にて前記第１のＵＲＬの前記文字数が、前記閾値よりも少なくないと判断された場合、前記第２のＵＲＬの文字数が、前記閾値よりも少ないか否かを判断し、
前記第２のＵＲＬの前記文字数が前記閾値よりも少なくないと判断された場合、前記第２の二次元コードに代え、誤り訂正レベルを下げて、前記第１のＵＲＬまたは前記第２のＵＲＬを格納する第３の二次元コードを生成する、
ことを特徴とする二次元コード生成プログラム。
【請求項９】
請求項１から請求項８のいずれか１つに記載する二次元コード生成プログラムにおいて、
前記生成処理を実行した後、前記生成処理にて生成された二次元コードを拡大もしくは縮小する指示がなされた場合に、前記判断処理および前記生成処理を、前記情報処理装置に再実行させる、
ことを特徴とする二次元コード生成プログラム。
【請求項１０】
請求項１から請求項９のいずれか１つに記載する二次元コード生成プログラムにおいて、
前記生成処理にて生成された二次元コードを格納する画像を、前記プリンタに印刷させる印刷処理を、前記情報処理装置に実行させる、
ことを特徴とする二次元コード生成プログラム。
【請求項１１】
請求項１０に記載する二次元コード生成プログラムにおいて、
編集中の画像に、前記生成処理にて生成された二次元コードを合成する合成処理を、前記情報処理装置に実行させ、
前記印刷処理では、
前記合成処理にて合成された画像を、前記プリンタに印刷させる、
ことを特徴とする二次元コード生成プログラム。
【請求項１２】
情報処理装置と、プリンタと、を備える二次元コード生成システムにおいて、
前記情報処理装置は、
ＵＲＬを取得する取得手段と、
前記取得手段にて取得した前記ＵＲＬである第１のＵＲＬの文字数が、閾値よりも少ないか否かを判断する判断手段と、
二次元コードを生成する生成手段であって、
前記判断手段にて前記第１のＵＲＬの前記文字数が、前記閾値よりも少ないと判断された場合、前記第１のＵＲＬを格納する第１の二次元コードを生成し、
前記判断手段にて前記第１のＵＲＬの前記文字数が、前記閾値よりも少なくないと判断された場合、前記第１のＵＲＬに関連付けられ、かつ、前記第１のＵＲＬよりも文字数が少ない第２のＵＲＬを格納する第２の二次元コードを生成する、前記生成手段と、
を備え、
前記プリンタは、
前記生成手段にて生成された二次元コードを格納する画像を、シートに印刷する印刷手段を備える、
ことを特徴とする二次元コード生成システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＵＲＬ（Uniform Resource Locator）を記憶する二次元コードを生成する二次元コード生成プログラムおよび二次元コード生成システムに関する。
【背景技術】
【０００２】
従来、ＵＲＬを二次元コードに格納する技術が知られている。例えば、特許文献１には、ウェブサイトのＵＲＬから、そのＵＲＬに関連付けられ、かつ、そのＵＲＬよりも短いＵＲＬであるショートＵＲＬを生成し、そのショートＵＲＬを記憶するＱＲコード（登録商標）を生成する構成が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−３０４６５２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
二次元コードを、ラベルのような幅が狭いシートに印刷する場合に、次のような問題が生じる。すなわち、ＱＲコードに代表される二次元コードでは、記憶する情報量が多いほどサイズが大きくなる傾向にある。そのため、ＵＲＬに含まれる文字数が多い二次元コードを、適切に印刷できないことがある。
【０００５】
特許文献１には、本来のＵＲＬを短くしたショートＵＲＬを格納するＱＲコードを生成する構成が開示されている。ショートＵＲＬを格納する場合、本来のＵＲＬを格納する場合と比較して二次元コードのサイズは小さくなることから、二次元コードをシートに印刷できる可能性が高まる。しかしながら、ショートＵＲＬから本来のＵＲＬへのリダイレクト処理が必要となる。従って、印刷を前提とした二次元コードの生成技術には、改善の余地がある。
【０００６】
本発明は、前記した技術が有する問題点を解決するためになされたものである。すなわちその課題とするところは、ＵＲＬを格納する二次元コードを生成する場合に、適切な大きさの二次元コードを生成する技術を提供することにある。
【課題を解決するための手段】
【０００７】
この課題の解決を目的としてなされたプログラムは、通信インターフェースを備え、前記通信インターフェースを介してプリンタと接続する情報処理装置に、ＵＲＬを取得する取得処理と、前記取得処理にて取得した前記ＵＲＬである第１のＵＲＬの文字数が、閾値よりも少ないか否かを判断する判断処理と、二次元コードを生成する生成処理であって、前記判断処理にて前記第１のＵＲＬの前記文字数が、前記閾値よりも少ないと判断された場合、前記第１のＵＲＬを格納する第１の二次元コードを生成し、前記判断処理にて前記第１のＵＲＬの前記文字数が、前記閾値よりも少なくないと判断された場合、前記第１のＵＲＬに関連付けられ、かつ、前記第１のＵＲＬよりも文字数が少ない第２のＵＲＬを格納する第２の二次元コードを生成する、前記生成処理と、を実行させることを特徴としている。
【０００８】
本明細書に開示されるプログラムが組み込まれる情報処理装置は、ＵＲＬを格納する二次元コードを生成する場合に、取得したＵＲＬである第１のＵＲＬの文字数を閾値と比較する。文字数の多いＵＲＬを格納する二次元コードは、文字数の少ないＵＲＬを格納する二次元コードよりも、サイズが大きい傾向にある。第１のＵＲＬの文字数が閾値より少ない場合には、第１のＵＲＬを格納する二次元コードが大きくならない可能性が高いことから、第１のＵＲＬを格納する第１の二次元コードを生成する。一方、第１のＵＲＬの文字数が閾値より少なくない場合には、第１のＵＲＬを格納する二次元コードが大きくなる可能性が高いことから、第２のＵＲＬを格納する二次元コードを生成する。第２のＵＲＬは、第１のＵＲＬに関連付けられ、第１のＵＲＬよりも文字数の少ないＵＲＬである。
【０００９】
第１のＵＲＬよりも文字数の少ない第２のＵＲＬを格納する二次元コードは、第１のＵＲＬを格納する二次元コードよりも小さくなる可能性が高い。例えば、印刷対象の大きさに対して第１のＵＲＬを格納する二次元コードが大きすぎる場合であっても、第２のＵＲＬを格納する二次元コードであれば大きくなり難い。本明細書に開示されるプログラムを実行することにより、情報処理装置は、第１のＵＲＬの文字数が閾値より少なくない場合には、第２のＵＲＬを格納する二次元コードを生成するので、適切な大きさの二次元コードが生成される可能性が高まる。
【００１０】
上記装置の機能を実現するための制御方法、コンピュータプログラム、および当該コンピュータプログラムを格納するコンピュータにて読取可能な記憶媒体も、新規で有用である。
【発明の効果】
【００１１】
本発明によれば、ＵＲＬを格納する二次元コードを生成する場合に、適切な大きさの二次元コードを生成する技術が実現される。
【図面の簡単な説明】
【００１２】
【図１】実施の形態にかかる二次元コード生成システムの概略構成図である。
【図２】編集画面の例を示す説明図である。
【図３】印刷テープと印字ヘッドとの位置関係の例を示す説明図である。
【図４】印刷テープにＱＲコードを印刷した状態の例を示す説明図である。
【図５】バージョンと文字数、セル数の関係を示す説明図である。
【図６】ラベル印刷処理の手順を示すフローチャートである。
【図７】ＱＲコード合成処理の手順を示すフローチャートである。
【図８】短縮判定処理の手順を示すフローチャートである。
【図９】短縮判定処理の手順を示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下、本発明にかかる二次元コード生成システムを具体化した実施の形態について、添付図面を参照しつつ詳細に説明する。本形態は、互いに通信可能な情報処理装置と印刷装置とを含む二次元コード生成システムに本発明を適用したものである。
【００１４】
本形態の二次元コード生成システム１００は、図１に示すように、情報処理装置１と、ラベルライタ２とを有し、互いに通信可能に接続されている。情報処理装置１は、ラベルライタ２にて印刷させる画像データの生成及び編集、ラベルライタ２への印刷実行指示と画像データとの送信等を行う装置であり、例えば、スマートフォン、パーソナルコンピュータ、タブレットコンピュータである。
【００１５】
情報処理装置１は、図１に示すように、ＣＰＵ１１と、ＲＯＭ１２と、ＲＡＭ１３と、不揮発性メモリ１４と、を含むコントローラ１０を備えている。そして、情報処理装置１は、さらに、操作パネル１５と、通信インターフェース（通信ＩＦ）１６と、を備え、これらがコントローラ１０に電気的に接続されている。
【００１６】
ＲＯＭ１２には、情報処理装置１を起動するための起動プログラム等が記憶されている。ＲＡＭ１３は、各種処理が実行される際に作業領域として、あるいは、データを一時的に記憶する記憶領域として利用される。不揮発性メモリ１４は、例えば、ＨＤＤ、フラッシュメモリであり、各種のプログラムやデータを記憶する。ＣＰＵ１１は、ＲＯＭ１２や不揮発性メモリ１４から読み出したプログラムに従って、各種の処理を実行する。
【００１７】
本形態の情報処理装置１は、画像を編集して、編集した画像に基づく印刷をラベルライタ２に行わせるためのアプリケーションプログラム（以下、画像編集アプリ）１４１を、不揮発性メモリ１４に記憶している。画像編集アプリ１４１は、二次元コード生成プログラムの一例である。ＣＰＵ１１は、ユーザの指示に基づいて、画像編集アプリ１４１の各処理を実行する。
【００１８】
操作パネル１５は、例えば、タッチパネルであり、ユーザによる入力を受け付けるとともに情報の表示を行う。情報処理装置１は、操作パネル１５に代えて、キーボード、マウス、ディスプレイ等を備えていてもよい。通信ＩＦ１６は、ラベルライタ２と通信を行うためのハードウェアを含む。通信方式は、ＵＳＢ、ＬＡＮなど、どのような規格の方式でもよいし、無線でも有線でもよい。
【００１９】
本形態のラベルライタ２は、連続した帯状の印刷媒体である印刷テープに対し、熱転写方式にて印刷を行って、ラベルを製造する装置である。ラベルライタ２は、プリンタの一例である。なお、プリンタはラベルライタに限らない。印刷方式は、熱転写方式に限らず、例えば、インクジェット方式、電子写真方式、感熱方式でもよい。また、印刷媒体は、印刷テープに限らず、例えば、普通紙、はがき、カードでもよい。印刷媒体の大きさや材質は、何でもよい。
【００２０】
ラベルライタ２は、図１に示すように、コントローラ２０と、印字ヘッド２１と、搬送部２２と、通信インターフェース（通信ＩＦ）２３と、操作部２４と、を備えている。コントローラ２０は、ＣＰＵやメモリ等を含み、ラベルライタ２の各構成要素を制御する。なお、図１中のコントローラ１０やコントローラ２０は、情報処理装置１やラベルライタ２の制御に利用されるハードウェアを纏めた総称であって、実際に存在する単一のハードウェアを表すとは限らない。
【００２１】
印字ヘッド２１は、印刷テープへの印刷を行う。搬送部２２は、印刷媒体である印刷テープを搬送する。通信ＩＦ２３は、情報処理装置１との通信を行うためのハードウェアを含む。操作部２４は、例えば、タッチパネルであり、ユーザによる入力を受け付けるとともに情報の表示を行う。なお、ラベルライタ２は、さらに、印刷テープを切断する構成や、カメラなどを有していてもよい。また、操作部２４は、無くてもよい。
【００２２】
本形態の画像編集アプリ１４１は、ユーザの指示に基づいて、ラベルライタ２で印刷させるための画像を編集する。本形態の画像編集アプリ１４１は、例えば、文字、図形、二次元コードを、編集中の画像に付加する指示を受け付ける。
【００２３】
二次元コードは、矩形状の領域内に配置された複数のセルによって情報を表現するコードであり、ＱＲコード、ＤａｔａＭａｔｒｉｘ、ＰＤＦ４１７など、様々な種類のものがある。二次元コードは、矩形の領域内に、オンまたはオフを示す１区画であるセルが複数配置されたものであり、セルの配置によって情報を格納する。二次元コードは、セルの数が多いほど格納できる情報量が多い。また、１つのセルの大きさが同じであれば、セルの数が多いほど二次元コードが印刷される領域の縦方向または横方向の大きさが大きい。つまり、二次元コードは、格納させる情報量が多いほど、大きくなる傾向にある。
【００２４】
画像編集アプリ１４１を介して、ウェブサイトのアドレス情報等のＵＲＬを格納したＱＲコードを含む画像を、ラベルライタ２に印刷させる場合について説明する。情報処理装置１にて画像編集アプリ１４１が起動されると、操作パネル１５には、例えば、図２に示すように、編集画面が表示される。
【００２５】
画像編集アプリ１４１は、ＱＲコードを付加する指示を受け付けたことを契機に、ＱＲコードを付加する領域を編集画面中に表示する。編集画面には、例えば、図２（Ａ）に示すように、ラベルライタ２にて使用される印刷媒体である印刷テープＴの形状を示す外形線３１と、その内部に設定されたＱＲコード用の印刷領域３２を示す線とが表示される。図２（Ａ）の例では、編集画面に、印刷ボタン３３も表示されている。なお、ＱＲコードを付加する領域の位置や大きさは、ユーザの指定を受け付けてもよいし、印刷テープＴの幅などに基づいてアプリが自動的に決定してもよい。また、例えば、ＱＲコードを含むテンプレートが使用されている場合には、テンプレートに基づいてＱＲコードを付加する領域の位置や大きさを決定してもよい。
【００２６】
さらに、画像編集アプリ１４１は、例えば、編集画面の印刷領域３２へのタッチ操作を受け付けたことを契機に、ＱＲコードに格納させるＵＲＬの指定を受け付ける。編集画面には、例えば、図２（Ｂ）に示すように、ＵＲＬの入力を受け付けるための、キーボード３５と、入力ボックス３６と、が表示される。なお、図２（Ｂ）では、印刷ボタン３３に代えて、ＯＫボタン３４が表示される。
【００２７】
画像編集アプリ１４１は、ＯＫボタン３４へのタッチ操作を受け付けたことを契機に、ユーザの指定に基づいて取得したＵＲＬが、ラベルライタ２で印刷領域３２内に印刷できる大きさのＱＲコードに格納可能であるか否かを判断する。文字数の多いＵＲＬは、文字数の少ないＵＲＬよりも、情報量が多いデータであり、文字数の多いＵＲＬを格納するＱＲコードは、文字数の少ないＵＲＬを格納するＱＲコードよりも、大きい傾向にある。一方、本形態のラベルライタ２は、印刷媒体の印刷テープＴのテープ幅や印字ヘッド２１の構成等により、テープの幅方向に印刷できるドット数に上限がある。つまり、本形態のラベルライタ２は、文字数の多いＵＲＬを格納するＱＲコードを印刷できない可能性がある。格納可能か否かの判断の詳細については、後述する。
【００２８】
そして、画像編集アプリ１４１は、格納可能であると判断した場合、取得したＵＲＬを格納するＱＲコードを生成する。編集画面には、例えば、図２（Ｃ）に示すように、生成されたＱＲコードＱが、印刷領域３２の内部に表示される。図２（Ｃ）では、印刷ボタン３３が再び表示される。
【００２９】
一方、画像編集アプリ１４１は、格納不可能であると判断した場合、取得したＵＲＬに基づく短縮ＵＲＬを取得する。短縮ＵＲＬは、取得したＵＲＬである本来のＵＲＬに関連付けられたＵＲＬであって、取得したＵＲＬよりも文字数が少ないＵＲＬである。そして、画像編集アプリ１４１は、短縮ＵＲＬを格納するＱＲコードを生成する。編集画面には、例えば、図２（Ｃ）に示すように、短縮ＵＲＬを格納するＱＲコードＱが、印刷領域３２の内部に表示される。
【００３０】
画像編集アプリ１４１は、短縮ＵＲＬを生成する手段を有していてもよいし、既存のサービスを使用して短縮ＵＲＬを取得してもよい。例えば、グーグル（登録商標）によって提供されているサービスによると、本来のＵＲＬがグーグルで管理するサーバに格納され、その格納場所のアドレス情報として、２１文字程度の短縮ＵＲＬが提供される。グーグルのサーバには、本来のＵＲＬと短縮ＵＲＬとが関連付けられて記憶される。そして、短縮ＵＲＬが参照された際には、グーグルのサーバから本来のＵＲＬへ転送されることで、本来のＵＲＬのウェブページが表示される。
【００３１】
その後、画像編集アプリ１４１は、印刷ボタン３３へのタッチ操作を受け付けたことを契機に、編集中の画像に基づく印刷用の画像データを生成してラベルライタ２に送信する。ラベルライタ２は、受信した画像データに基づいて、印刷を実行する。これにより、ＱＲコードＱが印刷されたラベルが作成される。
【００３２】
続いて、印刷可能な大きさのＱＲコードにＵＲＬを格納可能か否か、の判断について説明する。画像編集アプリ１４１は、ユーザによって指定されたＵＲＬの文字数が、ラベルライタ２によって印刷領域３２内に印刷可能な大きさのＱＲコードに、格納可能な文字数であるか否かを判断する。
【００３３】
まず、ラベルライタ２の印刷可能なドット数について説明する。本形態のラベルライタ２の印字ヘッド２１は、図３に示すように、複数個の発熱素子である印字ピン２１１を備えている。ラベルライタ２は、印刷テープＴを一方向に搬送しつつ、印字ヘッド２１の各印字ピン２１１を発熱させることで、印刷を行う。印字ピン２１１は、印刷テープＴの搬送方向に対して直交する方向、すなわち、搬送中の印刷テープＴのテープ幅方向に一列に並べて配置され、コントローラ２０の制御によって、個別に発熱する。
【００３４】
ラベルライタ２は、複数種のテープ幅の印刷テープＴへの印刷が可能である。ラベルライタ２の搬送部２２は、各種の印刷テープＴを、その幅方向の中央が印字ヘッド２１の中央に対向する位置を通るように搬送する。また、印字ピン２１１は、ラベルライタ２にて対応可能な最大幅の印刷テープＴのテープ幅以上の範囲に亘って、均等のピッチで配置されている。印字ピン２１１のピッチは、ラベルライタ２の機種ごとに固定の距離である。
【００３５】
本形態のラベルライタ２は、印刷テープＴの幅方向について、端部まで印刷できるわけではなく、図３に示すように、幅方向の両端部に余白ｙが設けられる。そして、余白ｙを除いた印刷可能幅Ｗの大きさは、ラベルライタ２の機種と印刷テープＴのテープ幅とに応じて決まっている。印刷可能幅Ｗは、同一の機種では、印刷テープＴのテープ幅が大きいほど大きい。
【００３６】
一方、印刷媒体が印刷テープＴであることから、長さ方向の印刷可能な範囲は自由度が大きい。ラベルライタ２の搬送部２２は、長さ方向の印刷ピッチが幅方向と同一となるように、印字ヘッド２１の動作とタイミングを合わせて印刷テープＴを搬送する。また、長さ方向に空白を設ける場合には、搬送部２２は、印字ヘッド２１を動作させずに印刷テープＴを搬送する。図３では、印刷した領域の後端に余白ｙと同程度の空白を設けて、印刷テープＴを切断した場合の例を示している。
【００３７】
ＱＲコードは正方形の二次元コードであり、ＱＲコードを印刷するための印刷領域３２は、正方形の領域である。印刷領域３２の一辺に印刷可能な印刷ドット数Ｄは、印字ピン２１１のピッチと印刷領域３２の一辺の長さとによって求められる。印刷領域３２の一辺に印刷可能なドット数Ｄは、印字ピン２１１のピッチが小さい、つまり、印刷解像度が大きいほど大きく、また、印刷領域３２が大きいほど大きい。そして、ラベルライタ２では印刷テープＴの幅方向について印刷可能幅Ｗまでしか印刷できないことから、印刷テープＴに設定可能な印刷領域３２の一辺の長さは、最大で印刷可能幅Ｗである。
【００３８】
例えば、印刷解像度が１８０ｄｐｉの印字ヘッド２１を備えるラベルライタ２で、１２ｍｍ幅のテープの両端の余白ｙがそれぞれ１．５ｍｍであれば、印刷可能幅Ｗは９ｍｍである。このラベルライタ２で、１２ｍｍ幅のテープの幅方向に印刷可能なドット数Ｄは、Ｄ＝９×１８０／２５．４＝６３．８から、最大で６３ドットである。
【００３９】
次に、ＱＲコードについて説明する。例えば、図４に示すように、ＱＲコードＱは、正方形の二次元コードであり、角部に配置される切り出しシンボル等の位置検出用の各種パターンを除く範囲内に配置されるセルによって、情報が格納される。そして、ＱＲコードには、一辺のセル数Ｃの異なる複数種類のバージョンが設定されている。セル数Ｃの大きいバージョンほど、大きいＱＲコードであり、大きい情報量の情報を格納できる。また、ＱＲコードＱの周囲には、所定の空白ゾーンＺを設けることが必要である。空白ゾーンＺの大きさは、各辺に４セル分と規定されている。
【００４０】
ＱＲコードに格納できる情報量は、ＱＲコードのバージョン、誤り訂正レベル、データの種類によって異なる。ＱＲコードのバージョンによって、ＱＲコードのセル数が異なり、同じバージョンであっても、誤り訂正レベルと格納するデータの種類によって、格納可能な情報量が異なる。誤り訂正レベルは、ＱＲコードのデータ領域に付加するリード−ソロモン符号の量であり、ＱＲコードでは、レベルの低い方からＬ、Ｍ、Ｑ、Ｈの４段階が用意されている。同じバージョンのＱＲコードでは、誤り訂正レベルが高いほど、格納可能な情報量が少なくなる。また、データの種類は、数字、英数字、バイナリ、漢字の４種類が用意されている。ＵＲＬは、バイナリデータに該当する。
【００４１】
ＵＲＬをＱＲコードに格納する場合、ＵＲＬの文字数と誤り訂正レベルとから、最低限必要なバージョンが決定できる。一般的な誤り訂正レベルである「Ｍ」を採用した場合、バージョンと、ＵＲＬの文字数と、一辺のセル数Ｃとの関係は、図５に示すようになる。例えば、１４文字以下のＵＲＬであれば、バージョン１のＱＲコードに格納できる。バージョン１のＱＲコードの一辺のセル数Ｃは、２１セルである。
【００４２】
印刷されたＱＲコードを読み取る際には、スキャナやカメラ等の読取装置にて、各セルの配置を取得できる必要がある。ラベルライタ２は、印刷のかすれなどに起因する読み取りエラーを抑制するために、１セルを、１ドットよりも大きく、縦横２ドットずつの４ドット以上の大きさで印刷する。例えば、１セルを４ドットで印刷する場合、一辺のセル数ＣのＱＲコードＱを印刷するためには、印刷領域３２の一辺に印刷可能なドット数Ｄが、少なくともＤ≧Ｃ×２であり、かつ、一辺当たり８セル分の空白ゾーンＺが確保されることが必要である。なお、空白ゾーンＺは、前述した余白ｙを含む領域であってもよい。
【００４３】
本形態の情報処理装置１は、画像編集アプリ１４１を介して、ＵＲＬを格納するＱＲコードを編集中の画像に付加する指示を受け付けた場合、格納対象のＵＲＬの文字数が閾値よりも少ないか否かを判断し、閾値よりも少ない場合に印刷可能であると判断する。具体的には、情報処理装置１は、格納対象のＵＲＬの文字数が、印刷領域３２に印刷可能な大きさのＱＲコードに格納可能な文字数以下であれば、印刷可能であると判断する。この場合、閾値は、印刷領域３２に印刷可能な大きさのＱＲコードに格納可能な文字数より大きく、格納可能な文字数＋１以下の数である。印刷領域３２に印刷可能な大きさのＱＲコードに格納可能な文字数＋１は、閾値の一例である。
【００４４】
閾値は、例えば、印刷可能なＱＲコードのバージョンによって決まるセル数Ｃが大きいほど大きい可変値である。閾値は、ＱＲコードを印刷する印刷領域３２が大きいほど大きい値であり、１セルのドット数が固定であれば、単位距離内に印刷可能な印刷ドット数が大きいほど大きい値である。また、ラベルライタ２では、印刷テープＴのテープ幅によって印刷領域３２の一辺の長さの上限が決定されることから、閾値は、テープ幅が大きいほど大きい値である。
【００４５】
また、閾値は、固定値であってもよい。例えば、所定のバージョンのＱＲコードのみを印刷するラベルライタ２では、格納可能な文字数はそのバージョンのセル数Ｃにて格納可能な文字数であって、固定値である。画像編集アプリ１４１は、例えば、ラベルライタ２の機種と印刷テープＴのテープ幅ごとに固定値の閾値を記憶して、記憶している値を読み出して使用してもよい。
【００４６】
続いて、本形態の二次元コード生成システム１００において前述した二次元コード生成動作を実現するために、情報処理装置１にて実行されるラベル印刷処理の手順について、図６のフローチャートを参照して説明する。このラベル印刷処理は、画像編集アプリ１４１が起動されたことを契機に、情報処理装置１のＣＰＵ１１にて実行される。つまり、ラベル印刷処理及び、後述するＱＲコード合成処理、短縮判定処理は、いずれも、画像編集アプリ１４１に含まれる処理である。
【００４７】
ラベル印刷処理では、ＣＰＵ１１は、まず、操作パネル１５を制御して、例えば、図２（Ａ）に示したような編集画面を表示させる（Ｓ１００）。そして、ＣＰＵ１１は、接続されているラベルライタ２の機種の情報を取得する（Ｓ１０１）。機種の情報には、例えば、印字ヘッド２１の印字ピン２１１のピッチの情報が含まれる。Ｓ１０１は、印刷可能ドット数取得処理の一例である。さらに、ＣＰＵ１１は、印刷媒体の印刷テープＴのテープ幅の情報を取得する（Ｓ１０２）。Ｓ１０２は、シート幅取得処理の一例である。
【００４８】
ＣＰＵ１１は、機種の情報やテープ幅の情報を、通信ＩＦ１６を介してラベルライタ２と通信することで取得してもよい。また、画像編集アプリ１４１にて各情報を保存している場合には、ＣＰＵ１１は、保存している情報を読み出す。なお、画像編集アプリ１４１の起動時に、ラベルライタ２が接続されていない、あるいは、印刷装置が未選択の場合、ＣＰＵ１１は、Ｓ１０１の前に印刷装置の選択を受け付ける。
【００４９】
そして、ラベル印刷処理では、ＣＰＵ１１は、ユーザによる各種の指示を受け付ける。ＣＰＵ１１は、画像を編集する指示を受け付けたか否かを判断する（Ｓ１０３）。そして、画像を編集する指示を受け付けていないと判断した場合（Ｓ１０３：ＮＯ）、ＣＰＵ１１は、編集中の画像にＱＲコードを付加する指示を受け付けたか否かを判断する（Ｓ１０４）。ＱＲコードを付加する指示を受け付けていないと判断した場合（Ｓ１０４：ＮＯ）、ＣＰＵ１１は、ＱＲコードを付加する領域である印刷領域３２の大きさを変更する指示を受け付けたか否かを判断する（Ｓ１０５）。
【００５０】
印刷領域３２の大きさを変更する指示を受け付けていないと判断した場合（Ｓ１０５：ＮＯ）、ＣＰＵ１１は、印刷を実行する指示を受け付けたか否かを判断する（Ｓ１０６）。印刷を実行する指示を受け付けていないと判断した場合（Ｓ１０６：ＮＯ）、ＣＰＵ１１は、アプリを終了する指示を受け付けたか否かを判断する（Ｓ１０７）。アプリを終了する指示を受け付けていないと判断した場合（Ｓ１０７：ＮＯ）、ＣＰＵ１１は、Ｓ１０３に戻って、Ｓ１０３〜Ｓ１０７を繰り返す。なお、Ｓ１０３〜Ｓ１０７の判断は、この順に限らず、どの順で行ってもよいし、並行して行ってもよい。また、さらに他の指示を受け付けてもよい。
【００５１】
一方、画像を編集する指示を受け付けたと判断した場合（Ｓ１０３：ＹＥＳ）、ＣＰＵ１１は、ユーザの指示に基づいて、画像の編集と、編集画面の表示の変更とを含む編集動作を実行する（Ｓ１１２）。Ｓ１１２の後、ＣＰＵ１１は、Ｓ１０３に戻って、Ｓ１０３〜Ｓ１０７を繰り返す。
【００５２】
また、編集中の画像にＱＲコードを付加する指示を受け付けたと判断した場合（Ｓ１０４：ＹＥＳ）、または、ＱＲコードを付加する領域である印刷領域３２の大きさを変更する指示を受け付けたと判断した場合（Ｓ１０５：ＹＥＳ）、ＣＰＵ１１は、印刷領域３２を取得する（Ｓ１１３）。Ｓ１１３は、二次元コード領域取得処理の一例であり、印刷領域３２は、二次元コード領域の一例である。ＱＲコードを付加する指示には、付加する領域である印刷領域３２の位置および大きさの設定が含まれる。また、ＱＲコードを付加する印刷領域３２の大きさを変更する指示には、変更後の印刷領域３２の大きさの設定が含まれる。
【００５３】
なお、画像編集アプリ１４１は、印刷領域３２の大きさを所定サイズより小さくする変更指示を受け付けないとしてもよい。あるいは、画像編集アプリ１４１は、印刷領域３２の大きさを所定サイズより小さくする変更指示を受け付けた場合、変更する前に警告を表示するとしてもよい。印刷されたＱＲコードが小さすぎると、使い勝手が悪くなる可能性がある。例えば、スマートフォンに標準で搭載されているアプリでは、所定サイズより小さいＱＲコードの読み取りをサポートしていない場合がある。印刷領域３２の大きさを所定サイズより小さくしようとするユーザに再考を促すことで、使いやすいＱＲコードとなる可能性が高まる。
【００５４】
さらに、ＣＰＵ１１は、ＱＲコード合成処理を実行する（Ｓ１１４）。ＱＲコード合成処理は、印刷領域３２にＱＲコードを付加できるか否かを判断して、付加できるＱＲコードを生成する処理である。一旦、ＱＲコード合成処理を実行してＱＲコードを付加した後であっても、印刷領域３２の大きさが変更された場合、挿入できるＱＲコードの大きさが変わる。そこで、ＣＰＵ１１は、印刷領域３２の大きさが変更されたと判断した場合も、ＱＲコード合成処理を再度実行する。
【００５５】
ＱＲコード合成処理の手順について、図７のフローチャートを参照して説明する。ＱＲコード合成処理では、ＣＰＵ１１は、付加するＱＲコードに格納するＵＲＬを取得する（Ｓ２０１）。Ｓ２０１は、取得処理の一例であり、Ｓ２０１にて取得したＵＲＬは、第１のＵＲＬの一例である。ＣＰＵ１１は、ＵＲＬを、図２（Ｂ）に示したようにユーザに入力させて取得してもよいし、ユーザに選択させたウェブサイト等から取得してもよい。さらに、ＣＰＵ１１は、取得したＵＲＬの文字数を取得する（Ｓ２０２）。そして、ＵＲＬの短縮が必要か否かを判定する短縮判定処理を実行する（Ｓ２０３）。
【００５６】
短縮判定処理の手順について、図８のフローチャートを参照して説明する。短縮判定処理では、ＣＰＵ１１は、ラベル印刷処理のＳ１０１とＳ１０２にて取得した情報であるラベルライタ２の機種情報とテープ幅の情報と、Ｓ１１３にて取得した印刷領域３２の情報と、に基づいて、印刷可能な一辺のドット数Ｄを算出する（Ｓ３０１）。
【００５７】
ＣＰＵ１１は、機種情報から、ラベルライタ２の印字ヘッド２１が備える印字ピン２１１のピッチの情報や、テープ幅ごとの余白情報を取得できる。これらの情報とテープ幅の情報と印刷領域３２とに基づいて、ＣＰＵ１１は、印刷領域３２の一辺に印刷可能なドット数Ｄを取得する。設定されている印刷領域３２が正方形ではない場合には、ＣＰＵ１１は、短い方の辺に印刷可能なドット数Ｄを取得する。ユーザによる印刷領域３２の設定を受け付けていない場合には、ＣＰＵ１１は、テープ幅に対応する印刷可能幅Ｗ（図３参照）の範囲内に配置できるドット数Ｄを取得する。なお、機種情報には、テープ幅ごとに印刷可能幅Ｗ内に配置できるドット数Ｄの情報が含まれていてもよく、その場合には、ＣＰＵ１１は、機種情報に基づいてドット数Ｄを取得すればよい。
【００５８】
さらに、ＣＰＵ１１は、ドット数Ｄにて印刷可能な最大のセル数Ｃを取得する（Ｓ３０２）。ラベルライタ２においては、テープ幅と１セルの大きさによって、印刷テープＴの幅方向について、余白ｙの長さがＱＲコードの空白ゾーンＺの幅に相当する場合がある。そして、１セルを４ドットで印刷する場合には、最大の一辺のセル数Ｃは、例えば、Ｃ＝Ｄ／２で求められる。余白ｙが小さい場合には、空白ゾーンＺを確保した後の領域に入る最大のセル数Ｃを求める。
【００５９】
そして、ＣＰＵ１１は、取得したセル数ＣからＱＲコードのバージョンを決定する（Ｓ３０３）。さらに、ＣＰＵ１１は、決定したバージョンのＱＲコードに格納可能な文字数を取得する（Ｓ３０４）。例えば、１８０ｄｐｉのラベルライタ２で８ｍｍ角の印刷領域３２にＱＲコードを印刷する場合、ドット数Ｄが５６であり、図５に示した関係から、ＣＰＵ１１は、セル数Ｃが２５のバージョン２に決定する。そして、バージョン２のＱＲコードに格納可能な文字数は、２６文字である。
【００６０】
そして、ＣＰＵ１１は、ＱＲコード合成処理のＳ２０２にて取得したＵＲＬの文字数が、Ｓ３０４にて取得した格納可能な文字数以下であるか否かを判断する（Ｓ３０５）。Ｓ３０５は、判断処理の一例である。
【００６１】
ＵＲＬの文字数が格納可能な文字数以下であると判断した場合（Ｓ３０５：ＹＥＳ）、ＣＰＵ１１は、短縮は不要であると判定する（Ｓ３０６） 。一方、ＵＲＬの文字数が格納可能な文字数より大きいと判断した場合（Ｓ３０５：ＮＯ）、ＣＰＵ１１は、短縮が必要であると判定する（Ｓ３０７） 。Ｓ３０６またはＳ３０７の後、短縮判定処理を終了して、ＱＲコード合成処理に戻る。
【００６２】
印刷領域３２に印刷可能な大きさのＱＲコードに格納可能なＵＲＬの文字数は、印刷領域３２の大きさが大きいほど大きく、プリンタが単位距離内に印刷可能な印刷ドット数が多いほど大きく、印刷対象の印刷テープＴのテープ幅が大きいほど大きい。つまり、格納可能な文字数が大きいほど大きい閾値を用いて、格納対象のＵＲＬの文字数が閾値よりも少ないか否かを判断すれば、本来のＵＲＬを格納したＱＲコードが生成される可能性が高まる。
【００６３】
ＱＲコード合成処理の説明に戻り、ＣＰＵ１１は、Ｓ２０３の短縮判定処理にて、短縮が必要と判定されたか否かを判断する（Ｓ２０４）。ＵＲＬの短縮が不要であると判断した場合（Ｓ２０４：ＮＯ）、ＣＰＵ１１は、Ｓ２０１にて取得したＵＲＬに基づいて、短縮判定処理のＳ３０３にて決定したバージョンのＱＲコードを生成する（Ｓ２０５）。Ｓ２０５は、生成処理の一例であり、Ｓ２０５にて生成されるＱＲコードは、第１の二次元コードの一例である。さらに、ＣＰＵ１１は、生成したＱＲコードを、編集中の画像に合成し（Ｓ２０６）、ＱＲコード合成処理を終了してラベル印刷処理に戻る。Ｓ２０６は、合成処理の一例である。
【００６４】
一方、短縮が必要と判定されたと判断した場合（Ｓ２０４：ＹＥＳ）、ＣＰＵ１１は、短縮が可能であるか否かを判断する（Ｓ２１１）。本形態では、短縮ＵＲＬを生成するサービスを用いることから、使用するサービスの仕様により、短縮できないＵＲＬがある。例えば、既に短縮済みのＵＲＬや、特定のファイル種別を参照するドメイン名を有するＵＲＬの短縮を受け付けないサービスがある。短縮済みのＵＲＬに基づいて、さらに短縮ＵＲＬを生成すると、本来のＵＲＬとの対応関係が複雑となる。また、ＵＲＬが、実行ファイルや圧縮ファイルなどを示すアドレスである場合、短縮ＵＲＬを生成できない場合がある。
【００６５】
ＵＲＬの短縮が可能であると判断した場合（Ｓ２１１：ＹＥＳ）、ＣＰＵ１１は、Ｓ２０１にて取得したＵＲＬに対応する短縮ＵＲＬを取得する（Ｓ２１２）。ＣＰＵ１１は、例えば、短縮ＵＲＬを生成するサービスを提供する外部サーバにアクセスして短縮ＵＲＬの生成を依頼し、外部サーバによって生成された短縮ＵＲＬを取得する。Ｓ２１２にて取得する短縮ＵＲＬは、第２のＵＲＬの一例である。
【００６６】
そして、ＣＰＵ１１は、取得した短縮ＵＲＬの文字数を取得する（Ｓ２１３）。さらに、ＣＰＵ１１は、短縮判定処理のＳ３０５と同様に、取得した短縮ＵＲＬの文字数が格納可能な文字数以下であるか否かを判断する（Ｓ２１４）。短縮ＵＲＬの文字数が格納可能な文字数以下であると判断した場合（Ｓ２１４：ＹＥＳ）、ＣＰＵ１１は、短縮ＵＲＬを格納するＱＲコードを生成する（Ｓ２０５）。この場合にＳ２０５にて生成されるＱＲコードは、第２の二次元コードの一例である。
【００６７】
ＵＲＬの短縮が不可能であると判断した場合（Ｓ２１１：ＮＯ）、または、取得した短縮ＵＲＬの文字数が格納可能な文字数以下ではないと判断した場合（Ｓ２１４：ＮＯ）、ＣＰＵ１１は、誤り訂正レベルを低下させる（Ｓ２１５）。そして、ＣＰＵ１１は、低下させた誤り訂正レベルにて格納可能な文字数を取得する（Ｓ２１６）。
【００６８】
ＱＲコードの仕様により、例えば、誤り訂正レベルがＭでバージョン２のＱＲコードに格納可能な文字数は、２６文字である。一方、誤り訂正レベルをＬとすれば、バージョン２のＱＲコードであっても３２文字まで格納できる。つまり、誤り訂正レベルを低下させることで、格納可能な文字数は大きくなることから、ＱＲコードを生成できる可能性が高まる。誤り訂正レベルを低下させた後の格納可能な文字数＋１は、低レベル閾値の一例である。
【００６９】
さらに、ＣＰＵ１１は、短縮判定処理のＳ３０５と同様に、格納対象のＵＲＬの文字数がＳ２１６にて取得した格納可能な文字数以下であるか否かを判断する（Ｓ２１７）。格納対象のＵＲＬの文字数は、Ｓ２１１にてＮＯと判断した場合には、Ｓ２０２にて取得した文字数であり、Ｓ２１４にてＮＯと判断した場合には、Ｓ２１３にて取得した文字数である。
【００７０】
誤り訂正レベルを低下させたことで、格納対象のＵＲＬの文字数が格納可能な文字数以下であると判断した場合には（Ｓ２１７：ＹＥＳ）、ＣＰＵ１１は、格納対象のＵＲＬを格納し、誤り訂正レベルを低下させたＱＲコードを生成する（Ｓ２０５）。この場合にＳ２０５にて生成されるＱＲコードは、第３の二次元コードの一例である。そして、ＣＰＵ１１は、生成したＱＲコードを、編集中の画像に合成し（Ｓ２０６）、ＱＲコード合成処理を終了してラベル印刷処理に戻る。
【００７１】
一方、誤り訂正レベルを低下させても、格納対象のＵＲＬの文字数が格納可能な文字数より大きいと判断した場合には（Ｓ２１７：ＮＯ）、ＣＰＵ１１は、エラーを報知して（Ｓ２１８）、ＱＲコード合成処理を終了してラベル印刷処理に戻る。エラーの報知は、例えば、操作パネル１５を制御してエラーメッセージを表示してもよいし、音声メッセージ、振動による通知等でもよい。エラーの場合は、ＣＰＵ１１は、編集中の画像を変更しない。
【００７２】
なお、Ｓ２１４にてＮＯと判断された場合、つまり、ＵＲＬを短縮しても格納不可能であった場合、誤り訂正レベルを低下させることで格納可能な文字数が大きくなることから、Ｓ２０２にて取得した本来のＵＲＬを格納可能となる可能性がある。その場合には、ＣＰＵ１１は、Ｓ２０５にて、本来のＵＲＬを格納し、誤り訂正レベルを低下させたＱＲコードを生成してもよい。
【００７３】
図６のラベル印刷処理の説明に戻る。Ｓ１１４のＱＲコード合成処理の後、ＣＰＵ１１は、Ｓ１０３に戻って、Ｓ１０３〜Ｓ１０７を繰り返す。
【００７４】
また、印刷を実行する指示を受け付けたと判断した場合（Ｓ１０６：ＹＥＳ）、ＣＰＵ１１は、編集中の画像に基づく印刷用のデータを生成し、通信ＩＦ１６を制御して、ラベルライタ２に送信させる（Ｓ１１５）。Ｓ１１５は、印刷処理の一例である。ラベルライタ２は受信した印刷用のデータに基づいて、印刷を実行する。Ｓ１１５の後、ＣＰＵ１１は、Ｓ１０３に戻って、Ｓ１０３〜Ｓ１０７を繰り返す。また、Ｓ１０７において、アプリを終了する指示を受け付けたと判断した場合（Ｓ１０７：ＹＥＳ）、ＣＰＵ１１は、ラベル印刷処理を終了する。
【００７５】
なお、ここまでの説明では、１８０ｄｐｉのラベルライタ２でＱＲコードを印刷する場合を想定しているが、例えば、レーザプリンタ、インクジェットプリンタ等であれば、より印刷解像度の高い印刷が可能である。その場合、１セルを４ドットで印刷すると、セルが小さくなりすぎる可能性がある。また、印刷解像度に対してシート幅や印刷領域３２が十分大きい場合には、１セルのドット数を大きくして読み取りやすいＱＲコードを生成する方がよい。印刷装置によっては、１セルを構成する印刷ドット数を、印刷解像度や印刷領域３２の大きさに応じて決定することが好ましい。
【００７６】
１セルを構成する印刷ドット数を決定する場合には、本形態の情報処理装置１は、図８に示した短縮判定処理に代えて、一部の手順の異なる第２の短縮判定処理を実行する。第２の短縮判定処理の手順について、図９のフローチャートを参照して説明する。以下では、図８に示した短縮判定処理と同じ手順については、図９でも同じ符号を付し、簡略な説明とする。
【００７７】
この短縮判定処理でも、ＣＰＵ１１は、まず、印刷領域３２に印刷可能な一辺のドット数Ｄを算出する（Ｓ３０１）。そして、ＣＰＵ１１は、図５に示した関係に基づいて、格納対象のＵＲＬの文字数に対応する情報量を格納可能なＱＲコードのバージョンを決定する（Ｓ４０１）。ＣＰＵ１１は、例えば、ＵＲＬの文字数以上の情報を格納できる最低のバージョンを選択する。さらに、ＣＰＵ１１は、決定したバージョンの一辺のセル数を取得する（Ｓ４０２）。例えば、ＵＲＬの文字数が３０文字であれば、図５に示すように、４２文字まで格納可能なバージョン３が選択される。そして、バージョン３のＱＲコードの一辺のセル数は２９セルである。
【００７８】
次に、ＣＰＵ１１は、Ｓ３０１にて算出したドット数を、Ｓ４０２にて取得したセル数に空白ゾーンＺの８セル分を加算したセル数で除し、１セルの一辺を構成する最大のドット数を算出する（Ｓ４０３）。なお、正方形でない二次元コードを印刷する場合や、正方形ではない印刷領域３２が設定されている場合には、縦横両方向についてそれぞれ１セルのドット数を算出し、小さい方を選択する。
【００７９】
そして、ＣＰＵ１１は、１セルの一辺のドット数が所定の値ｎ以上であるか否かを判断する（Ｓ４０４）。値ｎは、１セルを構成する一辺のドット数の最小値であり、一般的な読取装置の読取解像度と印刷装置の印刷解像度との関係から決定される値である。値ｎは、印刷解像度が大きいほど大きい値である。
【００８０】
１セルの一辺のドット数が所定の値ｎ以上であると判断した場合（Ｓ４０４：ＹＥＳ）、ＣＰＵ１１は、短縮は不要であると判定する（Ｓ３０６） 。一方、１セルの一辺がｎドット未満となると判断した場合（Ｓ４０４：ＮＯ）、ＣＰＵ１１は、短縮が必要であると判定する（Ｓ３０７） 。ＣＰＵ１１は、Ｓ３０６またはＳ３０７の後、短縮判定処理を終了して、ＱＲコード合成処理に戻る。
【００８１】
印刷解像度が大きい印刷装置であれば、１セルを構成するドット数を細かく設定できる。また、印刷領域３２内に印刷できるセル数の選択可能な範囲も大きい。ＵＲＬの文字数から１セルのドット数を決定することで、印刷領域３２に適したＱＲコードが生成される可能性が高い。
【００８２】
以上、詳細に説明したように、本形態の二次元コード生成システム１００によれば、ラベルライタ２の印刷可能なドット数Ｄと、ユーザの指示に基づいて取得した本来のＵＲＬの文字数とに基づいて、その本来のＵＲＬを格納するＱＲコードの印刷が可能であるか否かを判断する。本来のＵＲＬの文字数が少ない場合には、小さいサイズのＱＲコードにも格納可能であり、ＱＲコードを印刷領域３２に印刷できる可能性が高い。そのため、本来のＵＲＬを格納したＱＲコードを生成することで、リダイレクト処理が不要となる。一方、本来のＵＲＬの文字数が少なくない場合には、格納可能なＱＲコードのサイズが大きく、ＱＲコードを印刷領域３２に印刷できない可能性が高まる。そのため、本来のＵＲＬよりも文字数が少ない短縮ＵＲＬを取得し、その短縮ＵＲＬを格納したＱＲコードを生成することで、印刷テープ等の幅が狭いシートであっても印刷できる可能性が高まる。このように、本来のＵＲＬの文字数に基づいて、ＱＲコードに格納するＵＲＬを変えることで、適切な大きさのＱＲコードを生成できる。
【００８３】
なお、本実施の形態は単なる例示にすぎず、本発明を何ら限定するものではない。したがって本発明は当然に、その要旨を逸脱しない範囲内で種々の改良、変形が可能である。例えば、二次元コード生成システム１００を構成する情報処理装置１やラベルライタ２は、それぞれ１台に限らず、複数台有ってもよい。また、本明細書にて例示した各数値はいずれも一例であり、これに限らない。
【００８４】
また、例えば、ＵＲＬは、ウェブサイトのアドレス情報に限らず、ファイルサーバやオンラインストレージ等にアップロードした画像や写真等の格納位置を示すアドレス情報であってもよい。
【００８５】
また、本形態の画像編集アプリ１４１では、印刷指示を受け付けるとしているが、本発明は、二次元コードを生成するのみで、印刷指示を受け付けないアプリにも適用可能である。例えば、ＱＲコード等の二次元コードを含む画像データを作成して、作成した画像データを他の印刷用のアプリに渡すプラグインアプリ等であってもよい。
【００８６】
また、誤り訂正レベルを低下させる手順は行わなくてもよい。例えば、短縮ＵＲＬを生成できない場合や、生成した短縮ＵＲＬの文字数が大きすぎる場合には、エラーとしてもよい。また、ユーザによって誤り訂正レベルが指定されている場合には、誤り訂正レベルを低下させないとしてもよい。
【００８７】
また、短縮ＵＲＬを生成できない条件は、実施の形態に記載した例に限らない。例えば、短縮ＵＲＬをさらに短縮できてもよいし、短縮できないファイル種別は無くてもよい。
【００８８】
また、印刷解像度の高い印刷装置等で１セルを構成するドット数が大きい場合には、印刷領域３２の大きさが変更された場合であっても、判断処理や生成処理を再実行しなくてもよい。つまり、単に１セルのドット数を変更して、拡大または縮小をしてもよい。
【００８９】
また、実施の形態に開示されている処理は、単一のＣＰＵ、複数のＣＰＵ、ＡＳＩＣなどのハードウェア、またはそれらの組み合わせで実行されてもよい。また、実施の形態に開示されている処理は、その処理を実行するためのプログラムを記録した記録媒体、または方法等の種々の態様で実現することができる。
【符号の説明】
【００９０】
１  情報処理装置
２  ラベルライタ
１６  通信ＩＦ
１００  二次元コード生成システム
１４１  画像編集アプリ
【図１】
2019086870.tif 000003
【図２】
2019086870.tif 000004
【図３】
2019086870.tif 000005
【図４】
2019086870.tif 000006
【図５】
2019086870.tif 000007
【図６】
2019086870.tif 000008
【図７】
2019086870.tif 000009
【図８】
2019086870.tif 000010
【図９】
2019086870.tif 000011