2020/01/27

Linux/debianでバーコード作成(JAN/EAN)

gnu-barcodeによるJAN/EANフォーマットのバーコード作成例を記します。

前提条件やソフトのインストール方法については『Linux/debianでバーコード作成』を参照ください。

(1)EAN-13


$ barcode -b "123456789012" -e ean13 -S -o ean13.svg
1 2 3 4 5 6 7 8 9 0 1 2 8

(2)EAN-13 with add-2


$ barcode -b "123456789012 12" -e ean13 -S -o ean13-2.svg
1 2 3 4 5 6 7 8 9 0 1 2 8 1 2

(3)EAN-13 with add-5


$ barcode -b "123456789012 12345" -e ean13 -S -o ean13-5.svg
1 2 3 4 5 6 7 8 9 0 1 2 8 1 2 3 4 5

(4)EAN-8


$ barcode -b "1234567" -e ean8 -S -o ean8.svg
1 2 3 4 5 6 7 0

(5)EAN-8 with add-2


$ barcode -b "1234567 12" -e ean8 -S -o ean8-2.svg
1 2 3 4 5 6 7 0 1 2

(6)EAN-8 with add-5


$ barcode -b "1234567 12345" -e ean8 -S -o ean8-5.svg
1 2 3 4 5 6 7 0 1 2 3 4 5

チェックデジットについて


EAN-13は13桁、EAN-8は8桁の数字を格納できるが、ユーザが実際に指定できるのは12桁/7桁までとなっている。 これは、最終桁がチェックデジットと呼ばれる誤読防止のための数字となっており、ユーザがこの値を指定することはできないため。

gnu-barcodeはチェックデジットを自動的に計算して付与してくれるのでチェックデジットを除いた12桁/7桁の値を指定すればよい。 なお、正しいチェックデジット値が判明している場合はチェックデジット値を含めた13桁/7桁の値を指定しても良い。 ただし、誤ったチェックデジット値を含めた13桁/8桁の値を指定すると下記のようにバーコードを作成してくれない。

誤ったチェックデジットを含めた13桁を指定した場合

$ barcode -b "1234567890120" -e ean13 -S -o ean13.svg
barcode: can't encode "1234567890120"

0 件のコメント:

コメントを投稿

【備忘録】時系列データの編集方法(R言語, tidyverse)

TimeSeries.knit 1 サンプルデータ作成 2 日付単位に集計する 2.1 月毎集計 2.2 四半期毎集計 ...