みんな大好き、バーコード♪
まあ、帳票出すようなライブラリを使ってれば、そのなかで大概バーコード出力できますが。。
バーコード出すだけだったら、Barcode4Jを使えば十分です。
Apacheライセンスなとこも良い感じ。
コードを書く前にBarcode4Jライブラリが必要です。
Barcode4Jは、こちらからダウンロードしてください。
ダウンロードしたZIPの中から、barcode4j.jarを拾ってきます。
このjarにクラスパスを通してあげてください。
※とりあえず試すなら、barcode4j-x.x.x-bin.zipをダウンロードしましょう。
以降のサンプルは、2.1.0で確認しています。
ダウンロードしたZIPの中から、barcode4j.jarを拾ってきます。
このjarにクラスパスを通してあげてください。
※とりあえず試すなら、barcode4j-x.x.x-bin.zipをダウンロードしましょう。
以降のサンプルは、2.1.0で確認しています。
Barcode4Jを使って、JANのバーコード画像を作成するサンプル
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | package test.barcode.barcode4j; import java.awt.image.BufferedImage; import java.io.File; import java.io.FileOutputStream; import java.io.OutputStream; import org.krysalis.barcode4j.impl.upcean.EAN13Bean; import org.krysalis.barcode4j.output.bitmap.BitmapCanvasProvider; import org.krysalis.barcode4j.tools.UnitConv; public class JAN13 { public static void main( String[] args ) { try { EAN13Bean bean = new EAN13Bean(); final int dpi = 400; bean.setModuleWidth(UnitConv.in2mm(4.0 / dpi)); //幅 bean.setQuietZone(4); //左右の余白 bean.doQuietZone(true); File outputFile = new File("C:\\work\\out.jpg"); OutputStream out = new FileOutputStream(outputFile); try { BitmapCanvasProvider canvas = new BitmapCanvasProvider(out, "image/jpeg", dpi, BufferedImage.TYPE_BYTE_BINARY, false, 0); bean.generateBarcode(canvas, "4901004006806"); canvas.finish(); } finally { out.close(); } } catch (Exception e) { e.printStackTrace(); } } } |
実行結果
このコードを動かすと、こんな画像(C:\work\out.jpg)が出力されます。
サンプルの解説
JAN(13桁)のバーコードを出力するには、「EAN13Bean」を使います。
詳しいことは説明しませんが、EANはJANに読み替えましょう。
説明するまでもないような感じですが・・、これぐらいしかやっていませんw
- ライブラリ(EAN13Bean)に、バーコードのサイズ、余白を指定する。
- 出力したいファイルのストリーム、画像の種類(MIME)などを指定して、お絵描きするキャンバス(BitmapCanvasProvider)を用意する。
- ライブラリ(EAN13Bean)に、用意したキャンバスと出力したいバーコードのコードを渡して、画像を生成。
今回はJAN(13桁)のサンプルでしたが、ほぼ同じような書き方で、ほかの一次元バーコードも出力できます。
- JAN-13 / JAN-8
- UPC-A / UPC-E
- Code 39 / Code 128
- ITF-14
- Interleaved 2 of 5
などなど。。これだけ対応していれば、そうそう困らないと思います。
※このサンプルコードは、Barcode4Jに付属しているサンプルほぼそのままです。
ダウンロードしたZIPにいろいろなサンプルがありますので、目を通してみましょう。