歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Java簡單生成二維碼

Java簡單生成二維碼

日期:2017/3/1 9:33:19   编辑:Linux編程

二維碼簡介

二維條碼/二維碼(2-dimensional bar code,QRCode)是用某種特定的幾何圖形按一定規律在平面(二維方向上)分布的黑白相間的圖形記錄數據符號信息的;在代碼編制上巧妙地利用構成計算機內部邏輯基礎的“0”、“1”比特流的概念,使用若干個與二進制相對應的幾何形體來表示文字數值信息,通過圖象輸入設備或光電掃描設備自動識讀以實現信息自動處理:它具有條碼技術的一些共性:每種碼制有其特定的字符集;每個字符占有一定的寬度;具有一定的校驗功能等。同時還具有對不同行的信息自動識別功能、及處理圖形旋轉變化點。

Java生成QRCode

Zebra Crossing(ZXing)是一個可以在大多數平台(Android、JavaSE、iPhone、RIM、Symbian)中用來生成、解析QR碼的開源庫。而QRGen是在ZXing基礎上開發,這個庫使得利用Java生成QR碼變為小菜一碟。它需要依賴ZXing,所以生成圖案時你同時需要ZXing和QRGen的jar包。

在pom.xml添加qrcode的依賴:

<dependency>
<groupId>net.glxn</groupId>
<artifactId>qrgen</artifactId>
<version>1.4</version>
</dependency>

然後在Maven Dependencies中會自動下載如下3個jar包:

  • qrgen-1.4.jar
  • javase-3.0.0.jar
  • core-3.0.0.jar

接下來就是寫一段Java程序來生成QRCode了,大致說來就是設置好二維碼中的內容,然後調用qrgen的API來生成image/png格式的內容,既可以保存為圖片文件,還可以在網頁上直接顯示該QRCode。

Java代碼如下所示,QRCode的內容是一個Linux公社的鏈接:

package com.test.qrcode;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import net.glxn.qrgen.QRCode;
import net.glxn.qrgen.image.ImageType;
public class QRCodeService
{
public static void main(String[] args)
{
String qrcodeContent = "http://www.linuxidc.com/";
ByteArrayOutputStream out = QRCode.from(qrcodeContent).to(ImageType.PNG).stream();
try
{
FileOutputStream fout = new FileOutputStream(new File("D:/Download/QR_Code.jpg"));
fout.write(out.toByteArray());
fout.flush();
fout.close();
}
catch (FileNotFoundException e)
{
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}
}
}

打開保存的圖片文件,就可以看到生成的Linux公社鏈接的二維碼了:



至此,一個簡單的Java生成二維碼的樣例就演示完了,可以借助qrgen的API的強大功能,實現我們特定的需求,例如:在網頁中動態為用戶生成二維碼等。

Copyright © Linux教程網 All Rights Reserved