QRCode for Java – QRコードを生成するには


QRCode for Javaは、Kazuhiko Araseさんが公開されているQRコードを生成するためのライブラリです。

http://www.d-project.com/ からダウンロードすることができ、
ライセンスは、「MIT license」となっています。

まずは、指定した文字列をQRコードに変換して、JPEG形式で出力してみます。

package net.tk_factory.sample.qrcode;

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

import javax.imageio.ImageIO;

import org.apache.log4j.Logger;

import com.d_project.qrcode.ErrorCorrectLevel;
import com.d_project.qrcode.QRCode;

import net.tk_factory.sample.AbstractSample;

/**
 * QRCode for Javaを使用したサンプルプログラムです。<br/>
 * <br/>
 * <b>内容</b>
 * <ol type="1">
 * <li>QRコードを作成し、JPEG形式で出力します。</li>
 * </ol>
 * @author Takafumi Kondo (TK Factory)
 */
public class SampleCreateQRCode extends AbstractSample
{
    /** クラス名 */
    private static final String CLASS_NAME =
        SampleCreateQRCode.class.getSimpleName();

    /** ロガー */
    private static final Logger LOGGER =
        Logger.getLogger(SampleCreateQRCode.class.getName());

    /** 出力ファイル名 */
    private static final String OUT_FILE_NAME =
        SAMPLE_FILE_DIRECTORY + CLASS_NAME + "Out.jpeg";

    /**
     * SampleCreateQRCodeオブジェクトを構築すると、
     * UnsupportedOperationExceptionがスローされます。<br/>
     */
    protected SampleCreateQRCode()
    {
        throw new UnsupportedOperationException();
    }

    /**
     * mainメソッドです。<br/>
     *
     * @param args 引数
     */
    public static void main(String[] args)
    {
        LOGGER.info("[START]" + CLASS_NAME);

        try
        {
            //すでに出力ファイルが存在している場合は削除する
            deleteExistsFile(OUT_FILE_NAME);

            //QRコードを生成する
            QRCode qrcode = QRCode.getMinimumQRCode(
                    //QRコードに変換する文字列
                    "http://tk-factory.net/",
                    //誤り訂正レベル(30%が復元可能)
                    ErrorCorrectLevel.H);
            qrcode.make();

            //QRコードをJPEG形式で出力する
            BufferedImage image = qrcode.createImage(2, 0);
            ImageIO.write(image,
                    "jpeg",
                    new File(OUT_FILE_NAME));
        }
        catch (IOException ioex)
        {
            LOGGER.error(getStackTrace(ioex));
        }
        finally
        {
            LOGGER.info("[E N D]" + CLASS_NAME);
        }
    }
}

出力されたファイルは、以下のような感じになります。
SampleCreateQRCodeOut

QRコードの規格では、バージョン(型番)が1~40まで定義されていますが、
QRCode for Javaでは、バージョン(型番)が1~10までしか対応していないようです。

(参考)
QRコードドットコム

関連記事

  1. コメント 0

  1. トラックバック 0

return top