Java ライブラリ Barcode4J でバーコードを生成しよう (第2回:バーコードを生成しよう)

投稿者 : OSCA

[PR] 関東地方の美しい夜景を観にいこう。 夜景サイト「夜景散歩」で夜景スポットを検索

本連載では Java で様々なバーコードを生成することができる Barcode 4J について、記事を何回かに分けて解説していきます。 前回は Barcode4J の概要を説明しました、第二回目の本稿では Barcode4J を使ってバーコードを生成してみたいと思います。

簡単なサンプルプログラム

まずは最低限のプログラムでバーコードを生成してみたいと思います。 ここでは ITF-14 バーコードを生成して PNG 形式で保存してみたいと思います。

ITF-14 バーコードは、14文字の数字で構成されたコードを表すバーコードで日本の物流でメジャーなバーコードです。 つぎのコードでは message という変数でバーコードで表したいコードを宣言しています。 ITF-14 コードの14文字目はチェックデジットとなる数字ですので、既にチェックデジットを計算済みであれば message の文字列を14文字で宣言すれば良いですし、チェックデジットが分からなければつぎのコードのように13文字で宣言すれば Barcode4J が計算してバーコードを生成してくれます。

またつぎのサンプルプログラムでは、出力する画像の解像度(dpi) を 40dpi となるように宣言しています。

package sample.barcode4j;

import java.awt.image.BufferedImage;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;

import org.krysalis.barcode4j.impl.int2of5.ITF14Bean;
import org.krysalis.barcode4j.output.bitmap.BitmapCanvasProvider;

public class Main {
  public static void main( String[] args ) {
    // 生成するバーコードの情報を宣言
    ITF14Bean barcodeBean = new ITF14Bean();
    String message = "1234567890123";
    int dpi = 40;

    // バーコードを生成してファイルに出力する
    try {
      File file = new File("C:\\Users\\OSCA\\barcode.png");
      FileOutputStream outputStream = new FileOutputStream(file);
      BitmapCanvasProvider canvas =
        new BitmapCanvasProvider(outputStream, "image/x-png", dpi, BufferedImage.TYPE_BYTE_BINARY, false, 0);

      barcodeBean.generateBarcode(canvas, message);
      canvas.finish();
      outputStream.close();
    }
    catch(IOException exception) {
      exception.printStackTrace();
    }
  }
}

プログラムを実行すると、次のようなバーコードが出力されました。

ITF-14 バーコードのサンプル

おわりに

今回は簡単なサンプルプログラムで、バーコードの画像を生成するサンプルを示しました。 次回は、もっと具体的なプログラムについて解説したいと思います。

Javaのトップへ戻る

著者 : OSCA

OSCA

Java, PHP 系のWEBエンジニア。 WEBエンジニア向けコミュニティ「WEBエンジニア勉強会」を主催。 個人として何か一つでも世の中の多くの人に使ってもらえるものを作ろうと日々奮闘中。
@engineer_osca