22
33

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

QRコード生成

Last updated at Posted at 2016-02-03

はじめに

事前に以下のライブラリを用意します。

今回のサンプルは以下のjarがあれば動作します。

  • core-3.3.0.jar
  • javase-3.3.0.jar

実装例

サンプルでは、動作確認しやすいようにmainメソッドで実行できるようにしてあります。
結果だけを確認したい場合は、この記事の一番下のリンク先で使えるようにしてありますのでご覧ください。

QRCodeEncoder.java
import com.google.zxing.BarcodeFormat;
import com.google.zxing.EncodeHintType;
import com.google.zxing.WriterException;
import com.google.zxing.client.j2se.MatrixToImageWriter;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.qrcode.QRCodeWriter;
import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.concurrent.ConcurrentHashMap;
import javax.imageio.ImageIO;

/**
 *
 * @author tool-taro.com
 */
public class QRCodeEncoder {

	public static void main(String[] args) throws WriterException, IOException {

		//QRコード生成したい文字列
		String source = "タロウ";
		//QRコード生成時のエンコーディング
		String encoding = "UTF-8";
		//サイズ(ピクセル)
		int size = 100;
		//画像ファイルの保存先
		String filePath = "qr_code.png";

		//生成処理
		ConcurrentHashMap hints = new ConcurrentHashMap();
		//エラー訂正レベル指定
		hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.M);
		//エンコーディング指定
		hints.put(EncodeHintType.CHARACTER_SET, encoding);
		//マージン指定
		hints.put(EncodeHintType.MARGIN, 0);
		QRCodeWriter writer = new QRCodeWriter();
		BitMatrix bitMatrix = writer.encode(source, BarcodeFormat.QR_CODE, size, size, hints);
		BufferedImage image = MatrixToImageWriter.toBufferedImage(bitMatrix);

		//ファイルへの保存処理
		ImageIO.write(image, "png", new File(filePath));
	}
}

動作確認

$ javac QRCodeEncoder.java
$ java QRCodeEncoder

以下のような画像が出力されているはずです。
qr_code.png

環境

  • 開発

    • Windows 10 Pro
    • JDK 1.8.0_112
    • NetBeans IDE 8.2
  • 動作検証

    • CentOS Linux release 7.3
    • JDK 1.8.0_112

上記の実装をベースにWebツールも公開しています。
QRコード生成(QR Code Generator)|Web便利ツール@ツールタロウ

22
33
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
22
33

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?