Pao@Office

Barcode.netは、.NET環境下で動作する、バーコード作成ツール(クラス群)の総称です。

更新履歴

Ver 4.0.1 → Ver 4.1.0 (2022/6/20)

■.NET 6 対応
.NET 6 に対応いたしました。
バーコードのアセンブリ(dll)自体を.NET6で作成してあります。
試用版に同梱されているサンプルプログラムもそれぞれ、.NET 6 で作成してあります。
試用版をダウンロードして是非お試しください。
試用版ダウンロード

■不具合対応 対応
次の不具合に対応しました。
  1. JANコード/UPCコード以外のバーコードの下の文字間隔のデフォルト値が「バーの下に出力」になっていました。
    この不具合を改修し、バーコードの下の文字間隔のデフォルト値を「均等割り付け」にしました。
  2. Visual Studio 2022 付属のサンプルプログラムを開いた時、Pao.Barcode.dll の参照ができず、ビルドエラーになっていました。
    この不具合を改修しました。

■Barcode.netのご紹介、簡単な操作方法の動画
Barcode.net のご紹介と操作方法について、こちらに動画をご用意してございます。
是非ご覧ください。


Ver 4.0.0 → Ver 4.0.1 (2021/12/10)

■.NET 5 不具合対応
.NET 5 対応に不具合があり、サンプルプログラムを含み動作しないことがございました。
.NET Core 3.0 / .NET Core 3.1 も同様です。
本不具合を改修いたしました。

Ver 3.2.0 → Ver 4.0.0 (2021/10/13)

■.NET 5 対応
.NET 5 に対応いたしました。
バーコードのアセンブリ(dll)自体を.NET5で作成してあります。
また、.NET Core 3.0 / .NET Core 3.1 にも同時に対応いたしました。
試用版に同梱されているサンプルプログラムもそれぞれ、.NET 5 / .NET Core 3.0 / .NET Core 3.1 で作成してあります。
試用版をダウンロードして是非お試しください。
.NET 5 / .NET Core 3.0 / .NET Core 3.1 試用版ダウンロード

■Windows 11 対応
Windows 11 に対応いたしました。

Ver 3.1.0 → Ver 3.2.0 (2020/7/28)

□.net framework 4.8 / Visual Studio 2019に対応
.net framework 4.8 に対応しました。
これに伴い、Visual Studio 2019 に対応しました。


Ver 3.0.2 → Ver 3.1.0 (2018/5/10)

□.net framework 4.6.2~4.7.2 / Visual Studio 2017までに対応
.net framework 4.6.2 / .net framework 4.7 / .net framework 4.7.1 / .net framework 4.7.2 に対応しました。
これに伴い、Visual Studio 2017 に対応しました。

□HDD Serial UnMatch 対応
製品版をご購入いただきライセンス登録をされたお客様の環境で、HDD Serial UnMatch のエラーメッセージが発生する事例がいくつか出てまいりました。
Windows Update により、HDDの種類によっては、HDDのシリアルNoを取得するたびに少し異なったシリアルNoを取得するようになったことが原因と思われます。
本不具合を改修いたしました。

Ver 3.0.1 → Ver 3.0.2 (2016/8/22)

□サンプルプログラム不具合修正 VS2015は、UTF-8でソースコードを記述しなければいけませんが、SJISのままのサンプルプログラムがございました。
そのためサンプルプログラムのビルドが通らない不具合がございましたので、この不具合を改修しました。

Ver 3.0.0 → Ver 3.0.1 (2016/8/13)

□コンビニバーコード不具合対応
前回(ver 3.0.0)リリースにおいて、CODE128のコードセット(A,B,C)を指定可能にする対応をした際に、
コンビニバーコードを出力できなくしてしまう障害を発生させてしまいました。
この不具合を改修いたしました。

Ver 2.7.0 → Ver 3.0.0 (2016/4/12)

□GS1データバー (GS1-RSS) 対応
医療用のバーコードとしてGS1-128と共に多く利用されているGS1 Databar (GS1-RSS)に対応しました。
TPP締結に伴い、商品コードもJANやUPC等多国間で各々であったバーコードが、このDatabarに統一されるものと思われます。
次のバーコードに対応しました。
  • Omni-directional - 標準型
  • Stacked - 二層型
  • Stacked Omni-directiona - 標準二層型
  • Limited - 限定型
  • Expanded - 拡張型
  • Stacked Expanded - 拡張多層型

□CODE128のコードセット(A,B,C)を指定可能に
これまでCODE128は、コードセット(A,B,C)を自動的にバーコードの幅が最小になるよう調整して出力しておりました。
今回の改善により、CODE-A/CODE-B/CODE-C をお客様が指定してバーコードを出力することが可能になりました。
これもまでの自動最小幅出力(AUTO)も既定値としてその機能をお使いいただけます。

□最新 .net Framework 対応
.net Framework 4.6.1 に正式対応しました。

Ver 2.5.0 → 2.6.0 (2014/10/21)

【UPC-A / UPC-Eバーコード対応】
バーコードの桁数を1ケタ少なく指定していただければ、チェックディジットを自動計算いたします。
・UPC-A ・・・11~12桁の数値を指定してください
- 11桁: チェックディジットを自動計算し、コード末尾に付与します。
- 12桁: コード末尾に対してチェックディジットの正誤チェックを行います。
・UPC-E ・・・6~8桁の数値を指定してください
- 6桁: コード先頭に0を付与、コード末尾に自動計算したチェックディジットを付与します。
- 7桁: コード末尾に自動計算したチェックディジットを付与します。
- 8桁: コード末尾に対してチェックディジットの正誤チェックを行います。

【サンプルプログラム改善】
試用版に付属するいくつかのサンプルプログラムの機能、操作性をより良くするため、改善いたしました。

Ver 2.4.2 → 2.5.0 変更点 (2014/03/12)

【GS1-128 各種(各産業)バーコード対応】
GS1-128 は、旧UCC/EAN128という位置付けです。
今回、EAN128クラスにオーバーロードしたGS1_128クラスを新設しました。
下位互換のため EAN128クラスは残してあります。中身は同じです。
GS1-128(UCC/EAN128)において、AI(アプリケーション識別子)挿入時、
「FNC1を挿入する・しない」の両方を可能に致しました。
この機能追加により、これまでの
コンビニバーコード(標準料金代理収納用バーコード) に加え
- 医療用医薬品のGS1-128
- 医療機器のGS1-128
- 食肉標準物流バーコード「基本バーコード」のGS1-128
等、各種(全)GS1-128バーコードに正式に対応いたしました。
具体的には、以下のように入力コードを指定していただきます。
(1) 可変長項目(データブロック)の後のAIには、FNC1を挿入
  ⇒ これまで通り"{FNC1}"を付ける。例:"{FNC1}21" のようにコードを指定
(2) 固定長項目(データブロック)の後のAIには、固定長のため目印のFNC1は不要
  ⇒ 新しく追加した"{AI}"を付ける。例:"{AI}21" のようにコードを指定
"{AI}"を指定してFNC1を挿入しない場合も、カッコ()付コード文字は出力されます。
例えば入力コードに"{AI}21"を指定した場合、添え字には(21)と出力されます。
{FNC1}0104512345670016{AI}211
  ↓
(01)04512345670016(21)1 …(01)の前にはFNC1が挿入され(21)の前には挿入されない。
※以前のバージョンでもGS1-128各種バーコードの出力自体は可能でございました。
 ただし、お客様アプリケーション側でFNC1の挿入制御及び、
 添え字の描画を行っていただく必要がございました。
 今回の機能追加で、"{FNC1}"/"{AI}" の切替指定のみで
 自在に各種GS1-128バーコードを出力することができるようになりました。

【Windows 8.1 / Visual Studio 2013 / .NET Framework 4.5.1対応】
今回のバージョンアップより、Windows 8.1 / Visual Studio 2013 / .NET Framework 4.5.1に対応しています。
(2.4.0 バージョンアップ時は、Windows 8 / Visual Studio 2012 / .NET Framework 4.5 対応です。)

Ver 2.4.0 → 2.4.2 変更点 (2013/09/25)

・JAN8 DrawoDirect 不具合改修
 前回 ver 2.4.0 改訂で、JAN8ケタバーコードのDrawDirectに不具合を入れてしまっておりました。
 具体的には、スタートコード部分が異なるバーで重ねて描画されます。
 申し訳ございませんでした。不具合を改修いたしました。
 これにより、精度が格段にアップし、描画速度も速くなりました。

・ITFで21桁以上のコードがエラーとなる不具合改修
 ITFの数値チェックに問題があり、21桁以上のコードを指定するとエラーとなる不具合がございました。
 この不具合を改修いたしました。

Ver 2.3.2 → 2.4.0 変更点 (2013/01/17)

・黒バーを塗りつぶすように変更
 これまで、複数の細線で太い線(黒バー)を構成しておりました。
 今回、太い線(黒バー)は塗りつぶすように変更しました。
 これにより、精度が格段にアップし、描画速度も速くなりました。

・内部的な画像フォーマットをビットマップからメタファイル形式へ
 内部的なバーコード画像フォーマットを、ビットマップからメタファイル形式に変更しました。
 これまで、画像拡縮によりバーがギザギザになるケースがございましたが、
 今回の改変で改善されました。
 ※指定幅に合わせて画像拡縮描画を行う Drawメソッドのみ関連する改変です。

・バーコードの画像ファイルへの保存機能追加
 各バーコードに、画像保存用のコンストラクタ及びメソッドを追加しました。
 バーコードを画像に保存する場合は、次の手順で行ってください。
 1. まず、コンストラクタに、次の2つの引数を指定してください。
  - 画像ファイル名
  - 画像形式(ImageFormat) ・・・ImageFormat.Png / ImageFormat.Jpeg ※1
 2. 次に必要に応じて次の2つのプロパティを指定してください。
  - ImgDpi:保存画像解像度(dpi)
    → 既定値:600
  - ImgDrawUnit:描画単位(GraphicsUnit)
    → 既定値:pixel / 他:mm・inch・Point・Display・Document・World
 3. 最後に描画です。
  上記コンストラクタ呼び出しとプロパティ設定を行えば、
  通常の Draw / DrawDirect / DrawDelicate メソッドで画像出力可能です。※2
 ※1 解像度(dpi)が有効になるため推奨フォーマットは、png 及び jpeg です。
   png は背景は透明になります。jpegは背景は白塗りつぶしになります。
   他の画像形式も指定できますが、保存画像解像度プロパティ(ImgDpi)が無効になります。
   例: Code128 barcode = new Code128(@"c:\image.png", ImageFormat.Png);
 ※2 ただし、これらのDraw系メソッドを呼び出すタイミングで、
   コンストラクタで指定したファイル名以外の画像ファイルに出力するケースもあると思います。

   その場合は、Draw / DrawDirect / DrawDelicate を オーバーライドして
   引数の最後にファイル名を指定可能にしております。こちらをお使いください。
   例:barcode.Draw(code, x, y, width, height, @"c:\image.png");

・標準料金代理収納用バーコード(コンビニバーコード)の横幅指定が可能に
 これまで私どもは、
 「UCC/EAN-128 標準料金代理収納ガイドライン(財団法人 流通システム開発センター)」
 に準拠したコンビニバーコードを出力するために、
 プリンタのdpiから自動的にバーコードの幅を決定して描画しておりました。
 しかしこの度、前述した文書はあくまでガイドであることがわかり、
 しかも方式は完全ではない、という独自の判断をいたしました。※3
 そこで、コンビニバーコードも通常のバーコード同様に幅を指定することができるように
 オーバーロードメソッドを追加いたしました。
 ただし、単位はmm(ミリメートル)のみです。mmの小数値指定は可能です。
 例:ean128.DrawConvenience(code, mmX, mmY, mmWidth, mmHeight);
 この機能追加により、自在な幅のコンビニバーコードを描画できるようになりました。
 ※3「UCC/EAN-128 標準料金代理収納ガイドライン(財団法人 流通システム開発センター)」 
   の内容から調査したところ、その表記方法から、
   このガイド内で使われているバーコード幅の判断材料であるプリンタのDPIとは、
   現在多くのプリンタで使われているDPIではなく
   サーマルプリンタ(感熱紙プリンタ)のDPM の考えを元にしたのであろうと推測しました。
   そこで、現在のレーザプリンタなどでは少し矛盾が発生するのではないか?
   という考えに至りました。
   ガイド通りのドット数でバーコードを描いた場合、
   ガイドで記述されたバーコード幅よりも大きくなるという矛盾があると判断しました。
   この矛盾について少し詳しく記させて頂きます。(あくまで私ども独自の判断です。)
   モジュール幅ドットをプリンタDPIを基準にmmに変換した場合、
   ガイド通りにはならず、小数点4桁以降も端数が出ます。
   ガイドでは小数点3桁までで端数は切り捨てられています。
   小数点4桁以降の端数が入っている値が、正常にドットをmmに変換した値のはずです。
   しかし、ガイド通り小数点3ケタで丸めて計算すれば、バーコード幅は、ガイドで記された幅より大きくなります。

・Windows 8 / Visual Studio 2012 / .NET Framework 4.5対応
 今回のバージョンアップより、Windows 8 / Visual Studio 2012 / .NET Framework 4.5に対応しています。

■64bitプロセッサー専用版(x64)がダウンロード可能に (2012/01/25)
64bitプロセッサー専用版版(x64)は、ご依頼いただいたお客様にのみお送りしておりましたが、
ご要望が多く、ApyCpu版に加え、x64試用版をダウンロードできるようにいたしました。
バージョンに変更はございません。

Ver 2.3.1 → 2.3.2 変更点 (2012/01/18)

・Ver 2.3.1 のリリースミスでライセンスの試用制限に不具合がございましたので急遽リリースいたしました。
・その他に以下の通りQrAppサンプルプログラムの不具合を改修いたしました。
 -- 選択したエラー訂正レベルが反映されていなかった。(C# / VB)
 -- DrawDirectを使用できるUIが無かったためデフォルトで出力するQRコードがぼやけていた。(VBのみ)
  「ドットに合わせる」というチェックボックスをデフォルトonで追加いたしました。

Ver 2.3.0 → 2.3.1 変更点 (2012/01/15)

・弊社別製品と同居できない
 弊社の別製品(Reports.net / Barcode.Office) がインストールされている場合
 インストールができない不具合がございました。これを改修いたしました。
 (インストールの順番や各製品のバージョンによる)
 ご迷惑をおかけしました。

Ver 2.2.1 → Ver 2.3.0 変更点 (2011/03/01)

・コンビニバーコードのチェックディジット自動計算機能追加
 コンビニバーコードにおいてチェックディジットを指定しない場合に
 自動的にチェックディジットを付加するようにいたしました。
・白バー調整機能追加
 黒バーの太さをドット単位で調整するプロパティが正常に動作していなかった不具合を改修。
 黒バーの太さ調整に加え、白バーの太さをドット単位で変更できるプロパティを追加(白バー調整)
  →インクジェットプリンタで黒バーがにじんで太くなる時などに有効
   例:コンビニバーコード、EPSON PX-502A(360DPI)のプリンタの場合、白バーを+1すると丁度良い。
 サンプルプログラムがございますので、お試しください。

Ver 2.2.0 → Ver 2.2.1 変更点 (2011/01/12)

・CODE128不具合改修
 コード中に+/-がありその後数字が続く場合、全体を数値として認識してバーコードを作成していました。
 この不具合を改修いたしました。
・サンプルプログラムからのDLL参照不具合対応
 サンプルプログラムからのPao.Barcode.dllの参照設定が外れておりました。
 参照された状態で、そのままサンプルが動作するように対応いたしました。

Ver 2.1.0 → Ver 2.2.0 変更点 (2010/10/28)

・バーコードの描画速度向上
 バーコードの描画速度を従来比 5 / 8 程度に縮めました。
・CODE128 の不具合改修
 コード内にスペースが存在する場合、 出力するバーコードに不具合が発生するケースがありました。 これを改修しました。
 ・製品配布形式変更
  zipからWindowsインストーラに配布形式を変更しました。
  ライセンスご購入時には、製品自体ではなくライセンスキーのみを送りすることに変更いたします。
  ライセンスをお持ちの方が、いつでも弊社サイトより最新版をダウンロードして差し替えることが可能になりました。

Ver 2.0.0 → Ver 2.1.0 変更点 (2010/09/24)

Drawメソッド(幅固定縮小描画)の描画速度アップ
→バーコードにより異なりますが、描画速度をアップしました。(従来比8倍程度)
 ※直接描画のDrawDirect/DrawDelicateメソッドの描画速度に変更はございません。
【変更内容詳細】
1次元バーコードの横軸方向のパターンは同一なため、
読み取り可能な高さ分だけドットを保持し、縦軸方向に繰り返し描画するよう変更した。

Ver 1.10.2 → Ver 2.0.0 変更点 (2010/05/11)

.NET Framework 4.0 / Visual Studio 2010に対応しました。
.NET Framework バージョン別に 本製品をリリースいたしました。
また今回のリリースで、サンプルプログラム等、よりわかりやすく整備いたしました。

Ver 1.10.1 → Ver 1.10.2 変更点 (2010/04/14)

・CODE128 / EAN128 でアンダーバーを出力できるように改変いたしました。

バージョンの変更はございません (2010/04/06)

.NET Framework 1.0 / .NET Framework 1.1 / .NET Framework 2.0 / .NET Framework 3.0 / .NET Framework 3.5 に対応しました。
Visual Studio 2002 / Visual Studio 2003 / Visual Studio 2005 / Visual Studio 2008 に適応したバージョンでの開発が行えます。

Ver 1.10.0 → Ver 1.10.1 変更点 (2009/08/10)

・UCC / EAN128・コンビニバーコードに不具合がございましたので
 改修いたしました。
 モジュラス103ウエイト1のチェックデジットの
 計算ロジックに問題があり、
 誤った値を算出するケースが稀にございました。

Ver 1.9.5 → Ver 1.10.0 変更点 (2009/02/15)

・一次元バーコードで黒バーのドット単位の幅調整が可能にしました。
KuroBarChouseiプロパティの設定により、
描画する黒バー幅をドット単位で微細調整できます。
既定値は、0ドットです。
例えば、このプロパティに-1を指定すると、バーコード内全ての黒バーの幅が
1ドットずつ細くなります。
プリンタにより、調整が必要な場合にこの機能を使用してください。
 ※この機能は。DrawDirect / DrawDelicate メソッドには有効ですが、
  Draw メソッドには無効ですのでご注意ください。

Ver 1.9.4 → Ver 1.9.5 変更点 (2008/08/29)

・Code39 / NW7 で・・・
 DrawDirectメソッドを使用し以下の条件の時、
 ・スタートストップ文字出力
 ・均等割り付け出力
 添え字(HRI文字)の出力位置がおかしくなる不具合を改修しました。

Ver 1.9.3 → Ver 1.9.4 変更点 (2008/02/07)

・郵便カスタマバーコードで・・・
 20桁を超える場合の処理で、
 最後の文字が英字の場合の切捨て処理が誤っていました。
 この不具合を改修いたしました。

Ver 1.9.2 → Ver 1.9.3 変更点 (2007/12/22)

・JAN13 で、「DrawDelicate / DrawDirect」メソッドを使用した場合、
 ・センターバーより左側
 ・偶数パリティ
 ・数値が9
 この条件がそろうと、
 「0010111」でバーコードを出力しなければいけないところ。
 「0011111」でバーコードを出力しておりました。
 
 この不具合を改修いたしました。
 元々「Drow」メソッドには、この不具合はありませんでした。

Ver 1.9.1 → Ver 1.9.2 変更点 (2007/06/16)

CODE128 / UCC/EAN128 のバーコード出力に不具合がありましたので改修しました。

Ver 1.9.0 → Ver 1.9.1 変更点 (2007/04/11)

Code39 の DrawDirectメソッドを使うと、バーコードが斜めになってしまう不具合改修

Ver 1.8.0 → Ver 1.9.0 変更点 (2007/02/20)

バーコードの精度・描画速度アップ をわかりやすくしました。
これまで、バーコードは、2つ手法(メソッド)を用意して描画していただいておりました。
・全体幅を指定して、その幅ピッタリに描画する方法。(Drawメソッド)
 →いったん大きなバーコードを描画して、その幅に縮小するため精度が荒く描画速度が遅い
・バーコードを描画する最小ピッチを指定して、その幅で直接、バーコードの線を書く方法。(DrawDelicate メソッド)
 →そのピッチで直接バーコードの線を書くため精度・スピードは良いが、
  最終的な幅がわからず、メソッドの使い方自体がわかりにくい。
そこで、今回、新しい手法(メソッド)を用意いたしました。(DrawDirect メソッド)
・全体幅を指定して、その幅以内で(画面やプリンタの)ピクセルに合う最大の幅長で描画する。
 →直接描画しているため描画精度・速度ともよく、全体幅を指定するのでわかりやすい。

Ver 1.7.1 → Ver 1.8.0 変更点 (2007/02/08)

・標準料金代理収納用バーコード(コンビニバーコード)に対応。
 コンビニバーコードは、「財団法人流通システム開発センター」が、発行した
 「UCC/EAN128による 標準料金代理収納ガイドラン」に準拠した、UCC/EAN128のバーコードを生成する事が可能です。
 バーコードの印字位置、バーコードの高さについては、mm(ミリ)単位で描画を行います。
 バーコードの幅については、ガイドラインに準拠し、プリンタの解像度(dpi)に合わせて、描画を行います。

Ver 1.7.0 → Ver 1.7.1 変更点 (2006/12/05)

・NW7 のスタートコードとストップコードのキャラクタが
 異なる場合も正常なバーコードを出力できるように変更した。

Ver 1.6.3 → Ver 1.7.0 変更点 (2006/08/01)

・SVG 形式出力対応
 ブラウザで出力しやすいように、
 SVG 形式での出力に対応しました。
 SVGZ 形式の出力も・・・
 サンプルプログラムのソースコードを見ていただければ、
 圧縮ロジックが書かれていますので、わかると思います。
 サンプルプログラムは・・・
  ・QRコードの SVG / SVGZ 出力
  ・その他のバーコードの SVG / SVGZ 出力
 を、ご用意しております。
・ASP.NET サンプル追加
 ASP.NET を使用してブラウザにQRコードを描画する
 サンプルを追加しました。(QRWeb)

Ver 1.6.1 → Ver 1.6.3 変更点 (2005/05/30)

・UCC/EAN128
 「ファンクション1」(AI)が複数ある場合に、
 不具合のあるバーコードを描画しいた。
 不具合を改修した。

Ver 1.5.2 → Ver 1.6.1 変更点 (2005/05/06)

・QRコード対応

Ver 1.5.1 → Ver 1.5.2 変更点 (2005/03/15)

・UCC/EAN128
 「ファンクション1」が複数ある場合に、
 不具合のあるバーコードを描画しいた。
 不具合を改修した。

Ver 1.5 → Ver 1.5.1 変更点 (2005/01/18)

・不具合が多発しているUCC/EAN128に対し、
 検査機を入手し、 総チェックを行い、いくつかの不具合を解消した。

Ver 1.4 → Ver 1.5 変更点 (2005/01/06)

・UCC/EAN128 のチェックで十との計算が、おかしくなった。
 スタートコードの変更・チェンジコード「99」の削除
 の改変時に更にバグを紛れ込ませてしまいました。

Ver 1.3 → Ver 1.4 変更点 (2004/12/22)

・UCC/EAN128のスタートコードがCなのに、
 「99」というCODE-C書き出しマークを付与していた
 不具合を改修した。

Ver 1.2 → Ver 1.3 変更点 (2004/11/30)

・UCC/EAN128のスタートコードが誤っていた不具合を改修した。

Ver 1.1 → Ver 1.2 変更点 (2004/01/24)

・JANコード(13桁)の不具合改修
 →9の偶数パリティのバーが間違っていた。

Ver 1.0 → Ver 1.1 変更点 (2003/03/27)

・C#のサンプルプログラムに加えVB.NETでのBarcode.net利用サンプルソースを追加
・Graphics.Unit の単位変換の不具合改修
・JAN13 の添え字の1文字目の位置がずれる不具合改修
・回転の処理変更
 →直接角度を数値で指定できるようにした。
 →Ver 1.0 では・・・
  左上座標を中心に指定角度で回転していたが、
  Ver 1.1 では・・・
  左下座標を中心に回転する角度とした。
・郵便カスタマバーコードの描画位置がMillimeter以外の単位の時にずれる不具合改修