IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ キヤノン株式会社の特許一覧

特許7471864情報処理装置、印刷システム、情報処理方法及びプログラム
<>
  • 特許-情報処理装置、印刷システム、情報処理方法及びプログラム 図1
  • 特許-情報処理装置、印刷システム、情報処理方法及びプログラム 図2
  • 特許-情報処理装置、印刷システム、情報処理方法及びプログラム 図3
  • 特許-情報処理装置、印刷システム、情報処理方法及びプログラム 図4
  • 特許-情報処理装置、印刷システム、情報処理方法及びプログラム 図5
  • 特許-情報処理装置、印刷システム、情報処理方法及びプログラム 図6
  • 特許-情報処理装置、印刷システム、情報処理方法及びプログラム 図7
  • 特許-情報処理装置、印刷システム、情報処理方法及びプログラム 図8
  • 特許-情報処理装置、印刷システム、情報処理方法及びプログラム 図9
  • 特許-情報処理装置、印刷システム、情報処理方法及びプログラム 図10
  • 特許-情報処理装置、印刷システム、情報処理方法及びプログラム 図11
  • 特許-情報処理装置、印刷システム、情報処理方法及びプログラム 図12
  • 特許-情報処理装置、印刷システム、情報処理方法及びプログラム 図13
  • 特許-情報処理装置、印刷システム、情報処理方法及びプログラム 図14
  • 特許-情報処理装置、印刷システム、情報処理方法及びプログラム 図15
  • 特許-情報処理装置、印刷システム、情報処理方法及びプログラム 図16
  • 特許-情報処理装置、印刷システム、情報処理方法及びプログラム 図17
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-12
(45)【発行日】2024-04-22
(54)【発明の名称】情報処理装置、印刷システム、情報処理方法及びプログラム
(51)【国際特許分類】
   G06F 3/12 20060101AFI20240415BHJP
   B41J 3/01 20060101ALI20240415BHJP
   G06K 1/12 20060101ALI20240415BHJP
   H04N 1/387 20060101ALI20240415BHJP
【FI】
G06F3/12 343
G06F3/12 344
G06F3/12 308
B41J3/01
G06K1/12 B
H04N1/387 110
【請求項の数】 10
(21)【出願番号】P 2020033748
(22)【出願日】2020-02-28
(65)【公開番号】P2021135927
(43)【公開日】2021-09-13
【審査請求日】2023-02-16
(73)【特許権者】
【識別番号】000001007
【氏名又は名称】キヤノン株式会社
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】橋本 佳典
【審査官】征矢 崇
(56)【参考文献】
【文献】特開2000-105794(JP,A)
【文献】特開2019-180047(JP,A)
【文献】特開平08-310050(JP,A)
【文献】特開2008-305137(JP,A)
【文献】特開2008-176446(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F3/12
B41J3/01
G06K1/12
H04N1/387
(57)【特許請求の範囲】
【請求項1】
情報処理装置であって、
バーコードが印刷される印刷領域の大きさに関する第1情報を取得する第1取得手段と、
前記第1取得手段が取得した前記第1情報に基づいて、前記印刷領域に印刷されるバーコードの画像データを生成する生成手段と、
前記バーコードを構成するバーの幅の下限値を設定する第1設定手段と、
を備え、
前記第1情報は、前記印刷領域の幅に関する幅情報と、前記印刷領域の高さに関する高さ情報を含み、
前記生成手段は、前記バーコードを構成するバーとして、前記幅情報に基づく幅であり且つ前記高さ情報に基づく高さであるバーを含む画像データを生成し、
前記第1情報は、それぞれ独立に設定された前記バーコードの全体幅及び高さに関する情報を含み
前記生成手段は、前記バーコードが前記印刷領域に収まる範囲内で、前記バーコードの全体幅及び高さが最大の値となるように、前記画像データを生成し
前記生成手段は、前記バーコードが前記印刷領域に収まる範囲内で前記画像データを生成すると、前記画像データに基づき印刷される前記バーコードを構成する前記バーの最小幅が、前記第1設定手段により設定された前記下限値よりも小さくなる場合に、前記バーの前記最小幅を前記下限値に変更して前記画像データを生成し、
前記情報処理装置はさらに、
前記生成手段により前記バーの前記最小幅が前記下限値に変更されて前記画像データが生成されて印刷が行われる場合に、前記バーコードが前記印刷領域外まで延びて別の印刷対象と干渉が生じるのであれば、警告を発する報知手段、を備える
ことを特徴とする情報処理装置。
【請求項2】
請求項に記載の情報処理装置であって、前記生成手段により生成された前記画像データに基づき、プリンタにバーコードを前記印刷領域へ印刷させる印刷制御手段をさらに備える、情報処理装置。
【請求項3】
請求項に記載の情報処理装置であって、前記印刷制御手段は、バーコードの読み取りに関する所定の条件を満たす場合に、前記プリンタにバーコードを印刷させる、情報処理装置。
【請求項4】
請求項に記載の情報処理装置であって
記所定の条件は、前記生成手段により生成された前記画像データに基づき印刷される前記バーコードを構成するバーの幅の最小幅が、前記第1設定手段により設定された前記下限値以上であることを含む、
情報処理装置。
【請求項5】
請求項に記載の情報処理装置であって、
前記報知手段はさらに、
前記バーコードを構成するバーの幅の前記最小幅が、前記第1設定手段により設定された前記下限値よりも小さい場合に、前記バーの前記最小幅を前記下限値に変更せずに、ユーザに対して報知を行
情報処理装置。
【請求項6】
請求項に記載の情報処理装置であって、前記第1設定手段は、前記下限値を、前記画像データに基づき印刷を行う印刷装置の解像度と、前記印刷装置により印刷されたバーコードを読み取る読取装置の分解能と、に基づき設定する、情報処理装置。
【請求項7】
請求項に記載の情報処理装置であって、前記第1設定手段は、前記下限値を、ユーザの入力を受け付ける入力装置が受け付けたユーザの入力に基づき設定する、情報処理装置。
【請求項8】
バーコードが印刷される印刷領域の大きさに関する第1情報を取得する第1取得手段と、
前記第1取得手段が取得した前記第1情報に基づいて、前記印刷領域に印刷されるバーコードの画像データを生成する生成手段と、
前記バーコードを構成するバーの幅の下限値を設定する第1設定手段と、
前記生成手段により生成された前記画像データに基づいて印刷を行う印刷手段と、を備え、
前記第1情報は、前記印刷領域の幅に関する幅情報と、前記印刷領域の高さに関する高さ情報を含み、
前記生成手段は、前記バーコードを構成するバーとして、前記幅情報に基づく幅であり且つ前記高さ情報に基づく高さであるバーを含む画像データを生成
前記第1情報は、それぞれ独立に設定された前記バーコードの全体幅及び高さに関する情報を含み、
前記生成手段は、前記バーコードが前記印刷領域に収まる範囲内で、前記バーコードの全体幅及び高さが最大の値となるように、前記画像データを生成し、
前記生成手段は、前記バーコードが前記印刷領域に収まる範囲内で前記画像データを生成すると、前記画像データに基づき印刷される前記バーコードを構成する前記バーの最小幅が、前記第1設定手段により設定された前記下限値よりも小さくなる場合に、前記バーの前記最小幅を前記下限値に変更して前記画像データを生成し、
前記生成手段により前記バーの前記最小幅が前記下限値に変更されて前記画像データが生成されて印刷が行われる場合に、前記バーコードが前記印刷領域外まで延びて別の印刷対象と干渉が生じるのであれば、警告を発する報知手段を含む、
印刷システム。
【請求項9】
情報処理装置により実行される情報処理方法であって、
バーコードが印刷される印刷領域の大きさに関する第1情報を取得する第1取得工程と、
前記第1取得工程が取得した前記第1情報に基づいて、前記印刷領域に印刷されるバーコードの画像データを生成する生成工程と、
前記バーコードを構成するバーの幅の下限値を設定する第1設定工程と、を含み、
前記第1情報は、前記印刷領域の幅に関する幅情報と、前記印刷領域の高さに関する高さ情報を含み、
前記生成工程は、前記バーコードを構成するバーとして、前記幅情報に基づく幅であり且つ前記高さ情報に基づく高さであるバーを含む画像データを生成
前記第1情報は、それぞれ独立に設定された前記バーコードの全体幅及び高さに関する情報を含み、
前記生成工程は、前記バーコードが前記印刷領域に収まる範囲内で、前記バーコードの全体幅及び高さが最大の値となるように、前記画像データを生成し、
前記生成工程は、前記バーコードが前記印刷領域に収まる範囲内で前記画像データを生成すると、前記画像データに基づき印刷される前記バーコードを構成する前記バーの最小幅が、前記第1設定工程により設定された前記下限値よりも小さくなる場合に、前記バーの前記最小幅を前記下限値に変更して前記画像データを生成し、
前記生成工程により前記バーの前記最小幅が前記下限値に変更されて前記画像データが生成されて印刷が行われる場合に、前記バーコードが前記印刷領域外まで延びて別の印刷対象と干渉が生じるのであれば、警告を発する報知工程を含む、
情報処理方法。
【請求項10】
コンピュータを、
バーコードが印刷される印刷領域の大きさに関する第1情報を取得する第1取得手段、
前記第1取得手段が取得した前記第1情報に基づいて、前記印刷領域に印刷されるバーコードの画像データを生成する生成手段、
前記バーコードを構成するバーの幅の下限値を設定する第1設定手段、として機能させ、
前記第1情報は、前記印刷領域の幅に関する幅情報と、前記印刷領域の高さに関する高さ情報を含み、
前記生成手段は、前記バーコードを構成するバーとして、前記幅情報に基づく幅であり且つ前記高さ情報に基づく高さであるバーを含む画像データを生成
前記第1情報は、それぞれ独立に設定された前記バーコードの全体幅及び高さに関する情報を含み、
前記生成手段は、前記バーコードが前記印刷領域に収まる範囲内で、前記バーコードの全体幅及び高さが最大の値となるように、前記画像データを生成し、
前記生成手段は、前記バーコードが前記印刷領域に収まる範囲内で前記画像データを生成すると、前記画像データに基づき印刷される前記バーコードを構成する前記バーの最小幅が、前記第1設定手段により設定された前記下限値よりも小さくなる場合に、前記バーの前記最小幅を前記下限値に変更して前記画像データを生成し、
前記コンピュータをさらに、
前記生成手段により前記バーの前記最小幅が前記下限値に変更されて前記画像データが生成されて印刷が行われる場合に、前記バーコードが前記印刷領域外まで延びて別の印刷対象と干渉が生じるのであれば、警告を発する報知手段として機能させる、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、印刷システム、情報処理方法及びプログラム。に関する。
【背景技術】
【0002】
従来、工場内での製造工程の管理や製品の識別等を行うためにバーコードが利用されている。バーコードの印刷においては、バーコードリーダの読み取り精度や印刷物のレイアウト上の制約等を考慮したサイズで印刷されることがある。特許文献1には、指定の印刷領域内に収まるようにバーコードのフォントサイズ[pt]を設定してバーコードの印刷を行う技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2016-127552号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記従来技術では、バーコードのサイズを変更する際にはバーコードの縦横比を保ちながら拡大又は縮小がなされる。ここで、図17(a)ないし(c)は、フォントサイズの変更によりバーコードを指定の印刷領域内に収めて印刷する場合における、指定の印刷領域とバーコードのサイズとの関係を示す模式図である。図17(a)に示す指定の印刷領域にバーコードの幅を合わせて印刷しようとすると、図17(b)に示すようにバーコードの高さが指定の印刷領域内に収まらない場合がある。このような場合に図17(c)に示すように指定の印刷領域にバーコードの高さを合わせて印刷すると、バーコードを構成するそれぞれのバーの幅及びバー同士の間隔が小さくなることによりバーコードの読み取り精度が低下する場合がある。
【0005】
本発明は、適切なサイズでバーコードを印刷する技術を提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の一側面によれば、情報処理装置であって、バーコードが印刷される印刷領域の大きさに関する第1情報を取得する第1取得手段と、前記第1取得手段が取得した前記第1情報に基づいて、前記印刷領域に印刷されるバーコードの画像データを生成する生成手段と、前記バーコードを構成するバーの幅の下限値を設定する第1設定手段と、を備え、前記第1情報は、前記印刷領域の幅に関する幅情報と、前記印刷領域の高さに関する高さ情報を含み、前記生成手段は、前記バーコードを構成するバーとして、前記幅情報に基づく幅であり且つ前記高さ情報に基づく高さであるバーを含む画像データを生成し、前記第1情報は、それぞれ独立に設定された前記バーコードの全体幅及び高さに関する情報を含み、前記生成手段は、前記バーコードが前記印刷領域に収まる範囲内で、前記バーコードの全体幅及び高さが最大の値となるように、前記画像データを生成し、前記生成手段は、前記バーコードが前記印刷領域に収まる範囲内で前記画像データを生成すると、前記画像データに基づき印刷される前記バーコードを構成する前記バーの最小幅が、前記第1設定手段により設定された前記下限値よりも小さくなる場合に、前記バーの前記最小幅を前記下限値に変更して前記画像データを生成し、前記情報処理装置はさらに、前記生成手段により前記バーの前記最小幅が前記下限値に変更されて前記画像データが生成されて印刷が行われる場合に、前記バーコードが前記印刷領域外まで延びて別の印刷対象と干渉が生じるのであれば、警告を発する報知手段、を備える、情報処理装置が提供される。
【発明の効果】
【0007】
本発明によれば、適切なサイズでバーコードを印刷する技術を提供する。
【図面の簡単な説明】
【0008】
図1】一実施形態に係る印刷システム及びその周辺の装置の構成例を示す図。
図2】バーコード生成アプリケーションのソフトウェアの構成例を示す図。
図3】バーコード生成アプリケーションの処理例を示すフローチャート。
図4】(a)はバーコードの印刷領域の一例を示す図。(b)は画像データ生成部が生成した画像データに基づきプリンタが印刷したバーコードの一例を示す図。
図5】(a)ないし(d)は異なる印刷領域の幅でバーコードを印刷した場合の印刷例を示す図。
図6】報知指示部がモニタに表示させる画面の構成例を示す図。
図7】バーコードの構成例を説明する図。
図8】バーコードパターンの一例を説明する図。
図9】バーコード生成アプリケーションの処理例を示すフローチャート。
図10】(a)ないし(d)は異なる印刷領域の幅でバーコードを印刷した場合の印刷例を示す図。
図11】バーコード生成アプリケーションの処理例を示すフローチャート。
図12】(a)ないし(d)はフォントポイントに基づいてバーコードを印刷する場合の説明図。
図13】バーコード生成アプリケーションの処理例を示すフローチャート。
図14】プリンタ情報DBの一例を示す図。
図15】バーコードリーダ情報DBの一例を示す図。
図16】用紙情報DBの一例を示す図。
図17】フォントサイズの変更によりバーコードを指定の印刷領域内に収めて印刷する場合における、指定の印刷領域とバーコードのサイズとの関係を示す模式図。
【発明を実施するための形態】
【0009】
以下、添付図面を参照して実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る発明を限定するものではない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
【0010】
<第1実施形態>
<システム構成>
図1は、一実施形態に係る印刷システム1000及びその周辺の装置の構成例を示す図であり、周辺の装置として情報処理装置1001、外部サーバ1002及び後処理装置1400が示されている。印刷システム1000は、バーコードの画像データを生成し、生成した画像データに基づいてバーコードを印刷する。印刷システム1000により印刷されたバーコード11は、例えば後処理装置1400が備えるバーコードリーダ1500により読み取ることができる。印刷システム1000は、情報処理装置1004と、プリンタ1005と、モニタ1006と、入力装置1007と、記憶装置1008と、を含む。
【0011】
情報処理装置1004は、バーコードの画像データを生成し、プリンタ1005に出力する。本実施形態では、情報処理装置1004には、プリンタ1005、モニタ1006、入力装置1007及び記憶装置1008と接続している。また、情報処理装置1004は、ネットワーク1003を介して外部サーバ1002と通信可能である。情報処理装置1004は、ROM1009と、RAM1010と、CPU1011と、I/F部1012とを含む。
【0012】
CPU1011は、中央演算装置であり、記憶装置1008やROM1009、RAM1010に記憶されているオペレーティングシステムプログラム(以下、OSと略す)を実行することにより情報処理装置1004全体の制御を行う。また、CPU1011は、ROM1009やRAM1010に記憶されているプログラムを実行することによって、情報処理装置1004の各機能を実現する。例えば、CPU1011は、後述のバーコード生成アプリケーション90のプログラムを実行することにより、バーコードの画像データの生成を行う。
【0013】
ROM1009には、各種プログラムが格納されている。RAM1010は、ランダムアクセスメモリであり、CPU1011のワークメモリとして使用される。また、RAM1010が不揮発性のRAMの場合、各種プログラムがRAM1010に格納され得る。
【0014】
I/F部1012は、例えば通信インタフェースや入出力インタフェース等から構成され、CPU1011と、外部デバイスや外部サーバ1002等との信号の送受信を中継する。例えば、CPU1011は、I/F部1012の通信インタフェースを介して外部サーバ1002からデータをダウンロードする。また例えば、CPU1011は、I/F部の入出力インタフェースを介してプリンタ1005、モニタ1006、入力装置1007及び記憶装置1008と信号の送受信を行う。
【0015】
プリンタ1005は、印刷媒体に対して印刷を行う。本実施形態では、プリンタ1005は、情報処理装置1004から受信したバーコード11の画像データに基づいてバーコードを印刷する。例えば、プリンタ1005において印刷された印刷物は、後処理装置1400のバーコードリーダ1500によりバーコード11が読み取られ、その後の処理の指示情報として扱われる。
【0016】
モニタ1006は、情報処理装置1004から出力された各種の画像情報を表示する表示装置である。例えば、モニタ1006は、情報処理装置1004から受信した、プリンタの設定情報やプリンタ1005による印刷ジョブの実行情報等を表示する。モニタ1006は、液晶ディスプレイであり得る。また、モニタ1006は、入力装置と一体となったタッチパネル等であり得る。
【0017】
入力装置1007は、情報処理装置1004に対するユーザの入力を受け付ける。入力装置1007は、キーボードやポインティングデバイス等であり得る。
【0018】
記憶装置1008は、CPU1011が実行するプログラムや、画像データやテンプレートなどの各種データを保存するHDDやSSDなどの記憶装置である。本実施形態では、記憶装置1008は、プリンタ情報DB(データベース)1100、バーコードリーダ情報DB1200及び用紙情報DB1300の記憶領域を含む。
【0019】
図14図16はそれぞれ、記憶装置1008に記憶されるプリンタ情報DB1100、バーコードリーダ情報DB1200及び用紙情報DB1300の一例を示す図である。
【0020】
プリンタ情報DB1100は、プリンタ1005の機種、各機種において選択可能な品質設定及びその品質設定における印刷解像度についての情報を紐づけて管理している。例えば、機種P1のプリンタは、選択可能な品質設定として「きれい」及び「標準」が設けられている。そして、「きれい」の場合の印刷解像度が2400dpi、「標準」の場合の印刷解像度が1200dpiである。
【0021】
バーコードリーダ情報DB1200は、バーコードリーダ1500の機種、各機種の分解能、プリンタの印刷解像度毎のバー幅の下限値についての情報を紐づけて管理している。例えば、機種R1のバーコードリーダは、分解能が0.076mmであり、バーコードを印刷するプリンタの印刷解像度が1200dpiの場合にはバーコードを構成するバーの幅の読み取り可能な下限値が4ピクセルである。このように、下限値は、バーコードリーダ1500による読み取り精度を向上、維持するために設定され得る。
【0022】
用紙情報DB1300は、印刷対象の用紙の種類、バーコードフォント及びバー幅の下限値についての情報を紐づけて管理している。例えば、印刷に用いられる用紙が薄紙、バーコードフォントがCODE128の場合、バー幅の下限値は8ピクセルである。
【0023】
なお、図14図16で示す各DBが管理する情報は例示であって、各DBはその他の情報を含み得る。また、一実施形態において、プリンタ情報DB1100、バーコードリーダ情報DB1200及び用紙情報DB1300は、外部サーバ1002で管理されてもよい。その場合、情報処理装置1004は、ネットワーク1003を介して各DBの情報を取得し得る。
【0024】
後処理装置1400は、バーコードの読み取りを行う読取装置としてのバーコードリーダ1500を含み、バーコードの読み取り結果に応じて所定の処理を実行可能である。所定の処理としては、例えばバーコードの読み取り結果に応じた製品の在庫状況の管理等が挙げられる。
【0025】
なお、図1に示す印刷システム1000の構成は一例であり、別の構成も採用可能である。例えば、情報処理装置1004が、モニタ1006、入力装置1007、記憶装置1008を含む構成でも構わない。また、印刷システムが外部サーバ1002を情報処理装置1004が実行する処理の一部を外部サーバ1002が実行してもよい。換言すれば、一実施形態において、印刷システムが外部サーバ1002を含んで構成されてもよい。また、情報処理装置1004は、入力装置1007が受け付けるユーザの入力に限らず、情報処理装置1001や外部サーバ1002からの指示に基づいて、後述のバーコードの生成処理等の各種の処理を実行可能である。
【0026】
<バーコード生成アプリケーションの構成例>
図2は、バーコード生成アプリケーション90(以下、アプリケーション90)のソフトウェアの構成例を示す。例えば、CPU1011がROM1009に記憶されているプログラムをRAM1010に読み出して実行することによってアプリケーション90の各機能が実現される。
【0027】
情報取得部901は、各種情報を取得する。例えば、情報取得部901は、バーコード11の構成情報やバーコード11が印刷される印刷領域の情報を取得する。例えば、情報取得部901は、バーコード11又は印刷領域の大きさに関する情報、具体的にはバーコード11又は印刷領域の全体幅や高さ等の情報を取得し得る。また例えば、情報取得部901は、バーコード11を構成するバーの幅の下限値Lについての情報を取得し得る。また例えば、情報取得部901は、バーコード11の種類やバーコード11に変換される数字やアルファベット等の文字列の情報、及び、バーコードのフォントサイズ等の情報を取得し得る。
【0028】
また、情報取得部901は、画像データ生成部902が生成した画像データが出力される先のプリンタ1005の情報を取得し得る。一実施形態において、情報取得部901は、記憶装置1008で管理されているプリンタ情報DB1100からプリンタ1005の種類に応じた情報を取得する。また、一実施形態において、情報取得部901は、プリンタ1005から現在の設定情報等やジョブの実行状況等を取得する。
【0029】
また、情報取得部901は、プリンタ1005が印刷したバーコード11を読み取るバーコードリーダ1500の情報を取得する。一実施形態において、情報取得部901は、記憶装置1008で管理されているバーコードリーダ情報DB1200からプリンタ1005の種類に応じた情報を取得する。また、一実施形態において、情報取得部901は、後処理装置1400と通信することでバーコードリーダ1500の設定情報等を取得する。
【0030】
また、情報取得部901は、プリンタ1005が印刷を行う用紙の種類についての情報を取得する。一実施形態において、情報取得部901は、プリンタ1005から印刷する用紙の種類を取得し、取得した用紙の種類に関する情報を記憶装置1008で管理されている用紙情報DB1300から取得する。
【0031】
画像データ生成部902は、印刷媒体上の印刷領域にバーコード11を印刷するための画像データを生成する。画像データ生成部902は、バーコード11の読み取りに関する所定の条件を満たす場合に、情報取得部901が取得した情報に基づく大きさのバーコード11の画像データを生成する。具体的な処理については後述する。
【0032】
下限値設定部903は、画像データ生成部902がバーコード11の画像データを生成する際の、バーコード11を構成するバーの幅の下限値Lを設定する。本実施形態では、下限値Lを、入力装置1007が受け付けたユーザの入力に基づき設定する。
【0033】
報知指示部904は、ユーザに対して報知を行う報知装置としてのモニタ1006に対して報知を指示する。例えば、報知指示部904は、画像データ生成部902により生成される画像データが所定の条件を満たさない場合にモニタ1006に報知を指示する。図6は、報知指示部904がモニタ1006に表示させる画面の構成例を示す図である。なお、報知指示部904が報知指示を行う対象はモニタ1006に限らず、報知指示部904がスピーカ等に音声出力を指示してもよい。また、本実施形態では、報知指示部904は情報処理装置1004に接続するモニタ1006に対して指示を行うが、情報処理装置1004がモニタやスピーカ等を備える場合には、情報処理装置1004内で報知指示を行ってもよい。
【0034】
画像データ出力部905は、画像データ生成部902が生成した画像データをプリンタ1005等の出力先の装置へと出力する。
【0035】
なお、図2に示すアプリケーション90の各機能部は例示であって、一部の機能部が省略されたり、他の機能部に統合されたりしてもよい。
【0036】
<バーコードの構成例>
図7及び図8を用いてバーコード11の構成例を説明する。図7はバーコード11の構成例を説明する図であり、図8はバーコードパターンの一例を説明する図である。なお、バーコードはCODE39やCODE128等、様々な種類が存在するが、ここではCODE128を例に説明する。
【0037】
バーコード11の種類がCODE128である場合、バーコード11は、幅方向の両端のクワイエットゾーンと、その内側のスタートコード、文字列を表すデータ、チェックデジット及びストップコードとで構成される。
【0038】
クワイエットゾーンは、バーコードの読み取り不良を防止することを目的として、バーコードの前後に設けられる白地の余白部分である。クワイエットゾーンの幅は、定数値として設定されてもよいし、算出された1本のバー幅に基づいて設定されてもよい。スタートコード及びストップコードは、データの始まりと終わりを表し、バーコードリーダによりバーコードを読み取る際の基準となる部分である。また、チェックデジットは、文字列を表すデータの直後に配置され、符号化されたバーコードのデータが正しいかどうかを確認するための部分である。
【0039】
データは、バーコードに変換された文字列を表す。図8に示すように、文字列を構成する各文字は、3つのバー(印刷部)と3つのスペース(余白)により表される。具体的には、文字コードに対応する11桁のバーコードパターンが規格として用意されており、これらのバーコードパターンに応じた太さのバー(印刷部)とスペース(余白)に変換されることで文字列が表される。例えば、文字“0”を表すバーコードパターンは“10011101100”であり、図8の拡大図に示すようなバーコードに変換される。なお、本例ではバーコードパターンに含まれる数値”1”が印刷部分、数値”0”が非印刷部分、すなわち白地部分を示しており、バーコードパターン上で”1”が連続するほどバーが太くなり、”0”が連続するほどバーの間隔が広くなる。
【0040】
また、スタートコード及びストップコードについてもバーコードパターンが規格として用意されており、CODE128の場合は、スタートコードは11桁、ストップコードは13桁のバーコードパターンが設定されている。
【0041】
チェックデジットは、例えばCODE128の場合はモジュラス103を使用して算出される。なお、モジュラス103の計算は、各キャラクタを対応する数値に換算した後、スタートコードに1を積算し、次の文字列から順に1、2、3…と積算してこれらの合計を求め、合計値を103で除算した剰余としてチェックデジットが得られる。例えば、バーコードに変換する文字列が“012345”の場合は“98”が算出される。
【0042】
本実施形態では、バーコードパターンの総桁数は、スタートコードが11桁、文字列が6文字×11桁=66桁、チェックデジットが11桁、ストップコードが13桁であり、クワイエットゾーンを例えば8桁と設定すると、117桁である。これをバーコードの印刷領域の幅Wで除算することでバーコードパターンの1桁当たりの幅方向のピクセル数を算出することができる。例えば、印刷領域の幅Wが708ピクセルの場合、バーコードパターンの1桁当たりのピクセル数=6ピクセルが算出される。この1桁当たりのピクセル数は、バーコードを構成し得るバーの最小幅Bに対応する。すなわち、印刷領域の幅Wをバーコードパターンの総桁数で割ることにより、バーの最小幅Bが算出される。上記の例では、バーの最小幅B=バーコードパターンの1桁当たりのピクセル数=6ピクセルとなる。
【0043】
なお、本実施形態では、印刷領域の幅Wをバーコードパターンの桁数で割ることにより1桁当たりのピクセル数を出していることから、印刷領域の幅Wがバーコードの全体幅に対応する。別の観点から見れば、印刷領域の幅W及び高さHはそれぞれ、バーコード全体幅及び高さに対応し、バーコード11の大きさに関する情報であるといえる。
【0044】
<バーコード生成アプリケーションの処理例>
図3は、アプリケーション90の処理例を示すフローチャートである。例えば、情報処理装置1004において、アプリケーション90が起動されると、図3のフローチャートの処理が開始される。なお、本実施形態のフローチャートの各ステップは、CPU1011が、フローチャートの処理に関わるプログラムをメモリから読み出して実行することで実現される。
【0045】
S101で、情報取得部901は、バーコードの種類を取得する。例えば、情報取得部901は、入力装置1007が受け付けた、ユーザによるバーコードの種類を入力装置1007から受信することにより、バーコードの種類の選択結果を取得する。バーコードの種類としては、例えば、上述のCODE128やCODE39等が挙げられる。選択されたバーコードの種類によってバーコードの生成ロジックが異なることから、アプリケーション90はS101での取得結果に基づいて対応する以下の処理を行う。なお、以下ではCODE128が選択された場合の例を説明する。
【0046】
S102で、情報取得部901は、バーコードに変換する文字列を取得する。例えば、情報取得部901は、入力装置1007が受け付けた、ユーザによる文字列の入力結果を入力装置1007から受信することにより、バーコードに変換する文字列を取得する。バーコードに変換する文字列は、例えば、“012345”等、バーコードの種類に応じた文字から選択された文字列であり得る。
【0047】
S103で、情報取得部901は、バーコードの印刷領域の幅を示す幅情報として、幅Wを取得する。また、S104で、情報取得部901は、バーコードの印刷領域の高さを示す高さ情報として、高さHを取得する。例えば、情報取得部901は、入力装置1007が受け付けた、ユーザによる印刷領域の幅W及び高さHの選択結果を入力装置1007から受信することにより、印刷領域の幅W及び高さHを取得する。
【0048】
図4(a)は、バーコード11の印刷領域10の一例を示す図である。図4(a)の例では、幅W=30mm、高さH=5mmと設定されている。これは、例えばバーコード11が600dpiにて描画される場合に、それぞれ幅W=708ピクセル、高さH=118ピクセルに相当する。なお、幅Wや高さHは初期値が設定されてもよく、情報取得部901は、入力装置1007が印刷領域の幅W及び高さHの入力を受け付けなかった場合には初期値を印刷領域の幅W及び高さHとして取得してもよい。また、例示した描画される解像度600dpiは初期値として設定されていてもよいし、任意の値に設定可能であってもよい。
【0049】
S105で、下限値設定部903は、バーコード11を構成するバーの幅の下限値Lを設定する。例えば、情報取得部901は、入力装置1007が受け付けた、ユーザによる下限値Lの入力結果を入力装置1007から受信して、下限値Lを設定する。なお、バー幅の下限値Lは初期値が設定されてもよく、入力装置1007が下限値Lの入力を受け付けなかった場合には初期値を下限値Lに設定してもよい。一実施形態において、下限値Lの初期値=2ピクセルと設定されてもよい。なお、以下では、下限値L=2ピクセルと設定された場合について説明する。
【0050】
S106で、画像データ生成部902は、バーコード11を構成するバーそれぞれの幅を描画ピクセル単位で計算する。図8で説明したように、バーの幅は、バーコードパターンの桁数、文字列の情報及びバーコードの印刷領域の幅Wに基づき計算可能である。
【0051】
S107で、画像データ生成部902は、S106で算出したバーの幅のうち最小幅Bが下限値L以上(下限値以上)であるか否かを判定し、最小幅Bが下限値L以上の場合にはS108に進み、最小幅Bが下限値Lに満たない場合はS110に進む。
【0052】
S108で、画像データ生成部902は、バーコード11の画像データを生成する。すなわち、画像データ生成部902は、バーコードの読み取りに関する所定の条件として、最小幅Bが下限値L以上であるという条件を満たす場合にバーコード11の画像データを生成する。例えば、画像データ生成部902は、S102、S103、S104で取得した情報や、S106での計算結果等に基づいて、図4(b)のようなバーコード11の生成を行う(S108)。 例えば、画像データ生成部902は、S103で取得した幅情報に基づく幅、及びS104で取得した高さ情報に基づく高さであるバーを含むバーコードの画像データを生成する。
【0053】
S109で、画像データ出力部905は、S108で画像データ生成部902が生成した画像データをプリンタ1005に出力する。これにより、画像データを受信したプリンタ1005は、受信した画像データに基づきバーコード11を印刷媒体上の印刷領域に印刷することができる。印刷されたバーコードは、後処理装置1400等による後工程の処理に使用される。
【0054】
ある側面から見れば、画像データ出力部905は、画像データ生成部902により生成された画像データに基づき、プリンタ1005にバーコード11を印刷領域へ印刷させる印刷制御を行っているといえる。また、画像データ出力部905は、バーコードの読み取りに関する所定の条件として、S106で算出したバーの幅のうち最小幅Bが下限値L以上であることを満たす場合(S107:Yes)に、プリンタ1005にバーコード11を印刷させているといえる。
【0055】
以下、上記フローチャートにより画像データが生成され、印刷されたバーコードの構成について説明する。
図4(b)は、画像データ生成部902が生成した画像データに基づきプリンタ1005が印刷したバーコード11の一例を示す図である。本実施形態では、画像データ生成部902は、印刷領域の幅W及び高さHと同一の幅及び高さを有するバーコードの画像データを生成する。言い換えれば、本実施形態では、画像データ生成部902は、印刷領域の幅Wに収まる範囲内で最大の幅及び高さを有するバーコードの画像データを生成する。
【0056】
一方、S110で、報知指示部904は、報知装置としてモニタ1006に報知を指示する。例えば報知指示部904は、図6で示す画面を表示するようにモニタ1006に対して指示を行う。これにより、バーコードのバー幅が下限値Lよりも小さい場合にバーコードの画像データがプリンタに出力されることなく、その旨をユーザに報知することができる。
【0057】
図5(a)ないし(d)は、図4(b)の例と同様の文字列“012345”を異なる印刷領域の幅Wでバーコード化した際の印刷例を表している。具体的には、図5(a)は幅W=50mm、図5(b)は幅W=30mm、図5(c)は幅W=10mm、図5(d)は幅W=8mmを取得した際のバーコードの印刷例を示している。これらの場合において、S106で算出される最小幅Bは、順に11ピクセル、6ピクセル、2ピクセル、1ピクセルとなる。ここで、本例では下限値L=2ピクセルと設定されていることから、図5(d)では最小幅B≧下限値Lを満たさず(S107:No)、バーコードの画像データは生成されずに図6の警告メッセージがモニタ1006に表示される(S110)。
【0058】
なお、バーコードリーダ1500において、バーコードに含まれるデータの総桁数が設定されている。そして、バーコードリーダ1500は、総桁数をバーコードの印刷領域の幅Wで除算することで、1桁に対応するバー幅を算出し、算出された幅に基づき、バーコードが示すデータを判定する。そのため、バーコードリーダ1500は、バーコードにおいて数値”1”(印刷部分)が連続した場合に、その印刷部分が何桁の数値に対応するのか判定することができる。従って、図5(a)~(c)で1桁に対応するバーの幅は異なるが、バーコードリーダ1500は図5(a)~(c)から同一のデータを得ることができる。また、バーコードリーダが1桁に対応するバー幅を算出する方法は上記方法に限らない。例えば、スタートコードおよびストップコードは、予め決められた情報である。そのため、バーコードリーダ1500は、読み取ったバーコードにおける最初の部分とスタートコードのバーコードパターンを比較することで、1桁当たりのバー幅を算出してもよい。或いは、バーコードリーダ1500は、読み取ったバーコードにおける最後の部分とストップコードのバーコードパターンを比較することで、1桁当たりのバー幅を算出してもよい。
【0059】
以上説明したように、本実施形態によれば、画像データ生成部902は、バーコード11の読み取りに関する所定の条件を満たす場合に、バーコードの大きさに関する情報である印刷領域の幅及び高さに基づく大きさのバーコードの画像データを生成する。具体的には、所定の条件として最小幅Bが下限値L以上である場合に画像データを生成する。これにより、読み取り精度を維持しつつ所望のサイズでバーコードが印刷されるので、適切なサイズでバーコードを印刷することができる。
【0060】
また、本実施形態では、印刷領域の幅W及び高さHについてのユーザの入力を受け付けるので、任意の大きさでバーコードを生成することができる。換言すれば、バーコードの大きさに対応する印刷領域の幅W及び高さHがそれぞれ独立に設定された場合であっても、設定されたサイズでバーコードを生成することができる。また、本実施形態では、印刷領域に収まる範囲で最大の幅でバーコードを描画することで、バー(印刷部)とスペース(余白)を可能な限り大きくし、バーコードリーダ1500による読み取り精度を向上することができる。
【0061】
なお、情報取得部901による各種情報の取得順序は、適宜変更可能である。また、情報取得部901は、取得する情報を一括で入力装置1007から受信してもよい。
【0062】
<第2実施形態>
第2実施形態に係る構成について説明する。なお、第1実施形態と同様の構成については同様の符号を付して説明を省略する。第2実施形態では、バーコードを構成するバーの最小幅Bが下限値Lに満たない場合の処理が第1実施形態と異なる。
【0063】
図9は、一実施形態に係るアプリケーション90の処理例を示すフローチャートである。S201~S209の処理は図3のS101~S109の処理と同様である。
【0064】
S210に進んだ場合、すなわち最小幅Bが下限値Lよりも小さい場合、画像データ生成部902は、最小幅Bの値を下限値Lの値に変更する。換言すれば、最小幅Bに下限値Lを代入する。画像データ生成部902は、その後S209の処理に進み画像データを生成する。つまり、画像データ生成部902は、最小幅Bが下限値Lよりも小さい場合であっても、画像データの生成を中止するのではなく、最小幅Bの値を下限値Lの値に変更し、読み取り可能な最小のバー幅Lでバーコードの画像データの生成を行う。
【0065】
図10(d)は、S210の処理の後に画像データが生成された場合における、バーコードの印刷結果の一例を示す図である。ここでは、S203で取得した印刷領域幅Wが8mmであり、S206で計算された最小幅Bは1ピクセルであり、S205で設定された下限値Lは2ピクセルであった場合について説明する。この場合、画像データ生成部902は、最小幅B<下限値Lより、S207からS208に進む。そして、画像データ生成部902は、S208で最小幅Bを1ピクセルから2ピクセルに変更する。上述のように、最小幅Bはバーコードパターンの1桁当たりのピクセル数に対応することから、この変更に応じてバーコードパターンの1桁当たりのピクセル数も1ピクセルから2ピクセルに変更される。よって、バーコードの全体幅も変更前よりも大きくなる。そのため、図10(d)に示すように、指定された印刷領域の範囲外まで幅方向に延びたバーコードが印刷される。これにより、警告メッセージが表示されることなく、指定の印刷領域外にバーコードが生成される。
【0066】
本実施形態によれば、幅方向の印刷領域に余裕がある印刷物等の場合、ユーザへの報知を行うことなく、かつ読み取り精度を確保できる程度にバーコードを幅方向に拡大して印刷を行うことで、効率的にバーコードの印刷を行うことができる。
【0067】
また、バーコード印刷領域の幅Wに初期値が設定されている場合、入力される文字列の文字数が多い場合には最小幅Bが小さくなってしまい、最小幅B≧下限値Lの条件が満たされにくくなる場合がある。しかしながら、本実施形態によれば、このような場合に第1実施形態のようにユーザへ報知をすることなく、バーコードの生成を優先することができる。
【0068】
なお、指定の印刷領域外にバーコードを印刷すると、別の印刷対象と干渉が生じる場合、報知指示部904はモニタ1006等に対して警告メッセージを表示させてもよい。
【0069】
<第3実施形態>
次に、第3実施形態について、図11及び図12を用いて説明する。なお、第1実施形態と同様の構成については同様の符号を付して説明を省略する。第3実施形態ではバーコードのフォントサイズに基づいてバーコードを生成する点で第1実施形態と異なる。第1実施形態では印刷領域の幅Wに基づいて各バーの幅を計算してバーコードを生成する。一方、第3実施形態ではバーコードフォントのポイント設定を活用してバーコードの全体幅を設定し、高さ方向において印刷領域からはみ出す部分を印刷させないようにバーコードを生成する。
【0070】
図11は、一実施形態に係るアプリケーション90の処理例を示すフローチャートである。S301~S305は、S101~S105と同様である。
【0071】
S306で、画像データ生成部902は、バーコードのフォントポイントを設定する。具体的には、画像データ生成部902は、印刷されたバーコードが印刷領域の幅W内に収まるバーコードフォントのポイントのうち、最大の値をフォントポイントとして設定する。
【0072】
S307で、画像データ生成部902は、S306で設定されたフォントポイントに基づいて、バーコード11を構成するバーそれぞれの幅を描画ピクセル単位で計算する。
【0073】
S308で、画像データ生成部902は、S307で算出したバーの幅のうち最小幅Bが下限値L以上であるか否かを判定し、最小幅Bが下限値L以上の場合にはS309に進み、最小幅Bが下限値Lに満たない場合はS311に進む。なお、S311はS110と同様である。
【0074】
S309で、画像データ生成部902は、バーコード11の画像データを生成する。
S310で、画像データ生成部902は、画像データにより印刷されるバーコード11が高さ方向で印刷領域に収まるように画像データを補正する。S309で生成された画像データにより印刷されるバーコード11は、S306の処理により幅方向について印刷領域に収まっているが、高さ方向については印刷領域に収まっている場合と収まっていない場合がある。そこで、画像データ生成部902は、画像データにより印刷されるバーコードが高さ方向で印刷領域に収まらない場合には、印刷領域に収まらない部分が印刷されないように画像データを補正する。
【0075】
画像データの補正の方法としては、画像データのうち印刷領域外に対応する部分を白地で上塗りすることが挙げられる。例えば、画像データがビットマップ形式であれば、印刷領域外を白に対応する値(例えば0)に変更する補正を行ってもよい。また、補正の方法としては、印刷領域に収まるように画像データの高さ方向の大きさ自体を変更することが挙げられる。例えば、バーコードが印刷領域に収まるように高さ方向のピクセル数を変更する補正を行ってもよい。なお、補正をしなくとも画像データにより印刷されるバーコードが印刷領域に収まる場合はS310を省略してもよい。
【0076】
図12(a)ないし(d)は、フォントポイントに基づいてバーコードを印刷する場合の説明図である。図12(a)で示す指定の印刷領域の幅Wに合わせたフォントポイントが設定された場合(S306)、そのままバーコードの画像データを生成して印刷すると、バーコードが高さ方向で指定の印刷領域に収まらない場合がある(図12(b))。本実施形態では、このような場合に印刷領域に収まらない部分が印刷されないように画像データが補正される(S310)。具体的には、図12(c)の領域12が実際には印刷されないように画像データが補正される。これにより、最終的に指定の印刷領域に収まるバーコード11がプリンタ1005により印刷される。
【0077】
以上説明したように、本実施形態によれば、規格等によって定められているバーコードのポイント設定に基づいて画像データを生成することができる。したがって、ユーザによる印刷領域の幅方向のサイズの設定に応じてその都度バーコードのバーの幅を算出する必要が無く、より効率的にバーコードの生成処理を行うことができる。
【0078】
<第4実施形態>
次に第4実施形態について、図13図15を用いて説明する。なお、第1実施形態と同様の構成については同様の符号を付して説明を省略する。第4実施形態は、下限値Lを、バーコードを印刷するプリンタの解像度と、バーコードを読み取るバーコードリーダの分解能と、基づいて設定する点で第1実施形態と異なる。
【0079】
図13はアプリケーション90の処理例を示すフローチャートである。
S401で、情報取得部901は、画像データの出力先となるプリンタ1005の解像度を取得する。例えば、アプリケーション90は、入力装置1007を介してユーザによるプリンタ1005の種類の情報を取得し、それに基づいてバーコードリーダ情報DB1200を参照して対象となるプリンタ1005の種類の解像度の情報を取得してもよい。また例えば、アプリケーション90は、プリンタ1005との通信により解像度の設定情報を取得してもよい。また例えば、アプリケーション90は、入力装置1007を介してユーザによる解像度の設定情報の入力を受け付けてもよい。
【0080】
S402で、情報取得部901は、使用するバーコードリーダ1500の種類を取得する。例えば、情報取得部901は、入力装置1007を介して使用するバーコードリーダ1500の種類の情報を取得する。また、情報取得部901は、取得したバーコードリーダ1500の種類に基づいて、バーコードリーダ情報DB1200を参照して対象となるバーコードリーダ1500の分解能を取得してもよい。すなわち、情報取得部901は、バーコードリーダ1500の種類を取得することにより、それに紐づくバーコードリーダ1500の分解能を取得する。なお、情報取得部901は、後処理装置1400との通信により分解能の設定情報を取得してもよい。また、アプリケーション90は、入力装置1007を介してユーザによる分解能の設定情報の入力を受け付けてもよい。
【0081】
S403~S406はそれぞれ、S101~S104と同様である。
【0082】
S407で、下限値設定部903は、バーコードを構成するバーの幅の下限値Lを設定する。本実施形態では、下限値設定部903は、S401及び402で設定したプリンタの解像度及びバーコードリーダの分解能から、バー幅の下限値Lを設定する。例えば、下限値設定部903は、図15に一例として示すバーコードリーダ情報DB1200の一覧から、プリンタ1005の解像度及びバーコードリーダ1500の分解能(あるいは種類)を考慮した下限値Lを設定する。なお、下限値設定部903は、所定の計算式に基づいて、取得したプリンタ1005の解像度及びバーコードリーダ1500の分解能から下限値Lを設定してもよい。
【0083】
なお、プリンタ1005の解像度及びバーコードリーダ1500の分解能に加え、印刷媒体についての情報も考慮して下限値Lを設定してもよい。例えば、下限値設定部903は、図16に一覧として示す用紙情報DB1300を参照し、プリンタ1005により印刷がなされる用紙の種類及びバーコードフォントに基づいて下限値Lを取得してもよい。そして、下限値設定部903は、バーコードリーダ情報DB1200を参照して取得した下限値と用紙情報DBを参照して取得した下限値の大きい方を下限値Lとして設定してもよい。
【0084】
S408~S412はそれぞれ、S106~S110と同様である。
【0085】
以上説明したように、本実施形態では、使用するプリンタ及びバーコードリーダに基づいて、バー幅の下限値Lを設定することができる。これにより、バーコードの読み取り不良を抑制することができ、バーコードリーダによるバーコードの読み取り精度を向上することができる。
【0086】
<他の実施形態>
アプリケーション90は、上記実施形態の処理を適宜組み合わせて実行してもよい。例えば、ユーザの操作によりいずれの処理を実行するかを選択可能であってもよいし、一連の処理の中で一部の処理が他の実施形態に係る処理に置き換えられてもよい。例えば、情報取得部901が取得した各種情報に基づいて、最小幅B<下限値Lの場合の処理を切り替えてもよい。
【0087】
また、上記実施形態では、バーコード生成アプリケーション90により各処理が実行されるものとして説明したが、その限りではない。例えば、オブジェクトデータを新たに配置するようなレイアウト編集アプリケーションを用いて上記実施形態の処理が実行されてもよい。
【0088】
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
【0089】
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
【符号の説明】
【0090】
90 バーコード生成アプリケーション、901 情報取得部、902画像データ生成部、1000 印刷システム
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17