溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java中怎么創(chuàng)建并識別條形碼和二維碼

發(fā)布時間:2021-06-25 16:21:36 來源:億速云 閱讀:182 作者:Leah 欄目:編程語言

這期內(nèi)容當中小編將會給大家?guī)碛嘘PJava中怎么創(chuàng)建并識別條形碼和二維碼,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

前言

條形碼(Barcode)是將寬度不等的多個黑條和空白,按照一定的編碼規(guī)則排列,用以表達一組信息的圖形標識符。常用于標示物品的生產(chǎn)國、制造廠家、商品名稱、生產(chǎn)日期、圖書分類號、郵件起止地點、類別、日期等信息,廣泛應用于各個領域。常見的包括一維條碼(條碼)、二維條碼(二維碼)、彩色條碼,在具體碼制上可分為多種不同類型的條碼,如UPC(統(tǒng)一產(chǎn)品代碼,只能以數(shù)字表示)、Code 3(能表示字母、數(shù)字和其它一些符號共43個字符)、Code 128(表示高密度數(shù)據(jù),字符串可變長,符號內(nèi)含校驗碼)、Codabar(庫德巴碼,以起始/終止符a,b,c d四個字符、數(shù)字0 - 9,字符$、+、- 組成,可變長度,沒有校驗位)、QR碼(呈正方形,常見以黑白兩色組成。) 、PDF417(多行組成的條形碼,可存儲大量數(shù)據(jù))、復合條碼(新出現(xiàn)的碼制類型,由兩個很靠近的條碼符號組成,包含互相關聯(lián)的數(shù)據(jù))等。以下內(nèi)容,將介紹通過Java程序來創(chuàng)建、讀取條碼的方法。示例要點包括:

創(chuàng)建一維條形碼(Barcode)  創(chuàng)建二維碼(QR Code)  讀取/識別條碼

使用工具:Free Spire.Barcode for Java (免費版)

這里使用的工具,支持多種條碼類型,包括條形碼,二維碼和郵政碼,多達38種條碼類型,如CODE 25、CODABAR、CODE 11、INTERLEAVED 25、CODE 39、CODE 39 EXTENDED、CODE 93、CODE 93 EXTENDED、CODE 128、EAN 8、EAN 13、EAN 128、EAN 14、SCC 14、SSCC 18、ITF 14、ITF 6、UPCA、UPCE、POST NET、SINGAPORE POST 4 STATE、PLANET、MSI、RSS 14、RSS 14 TRUNCATED、RSS LIMITED、RSS EXPANDED、USPS、SWISS POST PARCEL、PZN、OPC、DEUTSCHE POST IDENTCODE、DEUTSCHE POST 、LEITCODE、ROYAL MAIL 4 STATE、DATA MATRIX、QR CODE、PDF 417、PDF 417 MACRO等,可設置條碼顏色,邊框,邊距,寬度以及各種屬性,數(shù)據(jù)樣式等等。

Jar文件獲取及導入:

方法1:通過官網(wǎng)下載jar文件包。下載后,解壓文件,并將lib文件夾下的Spire.Barcode.jar文件導入到java程序。參考如下導入效果:

方法2:可通過maven倉庫安裝導入。可參考導入方法。

Java 代碼示例

【示例1】創(chuàng)建一維條形碼

import com.spire.barcode.BarCodeGenerator;import com.spire.barcode.BarCodeType;import com.spire.barcode.BarcodeSettings;import javax.imageio.ImageIO;import java.awt.*;import java.awt.image.BufferedImage;import java.io.File;import java.io.IOException;public class CreateBarcode {  public static void main(String[] args) throws IOException {    BarcodeSettings settings = new BarcodeSettings();//創(chuàng)建BarcodeSettings實例    settings.setType(BarCodeType.Code_128);//指定條碼類型    settings.setData("123456789");//設置條碼數(shù)據(jù)    settings.setData2D("123456789");//設置條碼顯示數(shù)據(jù)    settings.setShowTextOnBottom(true);//設置數(shù)據(jù)文本顯示在條碼底部    settings.setX(0.8f);//設置黑白條寬度    settings.setImageHeight(50);//設置生成的條碼圖片高度    settings.setImageWidth(70);//設置生成的條碼圖片寬度    settings.hasBorder(true);//設置邊框可見    settings.setBorderColor(new Color(135,206,250));//設置條碼邊框顏色    settings.setBorderWidth(1);//設置條碼邊框?qū)挾?   settings.setBackColor(new Color(240,255,255));//設置條碼背景色    BarCodeGenerator barCodeGenerator = new BarCodeGenerator(settings);//創(chuàng)建BarCodeGenerator實例    BufferedImage bufferedImage = barCodeGenerator.generateImage();//根據(jù)settings生成圖像數(shù)據(jù),保存至BufferedImage實例    ImageIO.write(bufferedImage, "png", new File("CODE128.png"));//保存條碼為PNG圖片    System.out.println("Complete!");  }}

條碼創(chuàng)建效果:

【示例2】創(chuàng)建二維碼

import com.spire.barcode.*;import javax.imageio.ImageIO;import java.awt.*;import java.awt.image.BufferedImage;import java.io.File;import java.io.IOException;public class CreateQR {  public static void main(String[] args) throws IOException {    BarcodeSettings settings = new BarcodeSettings();//創(chuàng)建BarcodeSettings實例    settings.setType(BarCodeType.QR_Code);//設置條碼類型為QR二維碼    settings.setData("Hello 123456789");//設置二維碼數(shù)據(jù)    settings.setData2D("Hello 123456789");//設置二維碼顯示數(shù)據(jù)    settings.setQRCodeDataMode(QRCodeDataMode.Alpha_Number);//設置數(shù)據(jù)類型    settings.setX(1.0f);//設置二維碼模型寬度    settings.setQRCodeECL(QRCodeECL.H);//設置二維碼糾錯級別    settings.setImageWidth(50);//設置生成的二維碼圖片寬度    settings.setImageHeight(50);//設置生成的二維碼圖片高度    settings.hasBorder(false);//設置二維碼邊框不可見    BarCodeGenerator barCodeGenerator = new BarCodeGenerator(settings);//創(chuàng)建BarCodeGenerator實例    BufferedImage bufferedImage = barCodeGenerator.generateImage();//根據(jù)settings生成圖像數(shù)據(jù),保存至BufferedImage實例    ImageIO.write(bufferedImage, "png", new File("QRCode.png"));//保存二維碼圖片為PNG格式    System.out.println("Complete!");  }}

二維碼創(chuàng)建效果:

【示例3】讀取/識別條碼

import com.spire.barcode.*;public class ScanBarcode {  public static void main(String[] args) throws Exception{    //使用scan方法從圖片中識別Code 128條形碼    String[] datas = BarcodeScanner.scan("CODE128.png", BarCodeType.Code_128);    System.out.print(datas[0]);  }}

上述就是小編為大家分享的Java中怎么創(chuàng)建并識別條形碼和二維碼了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI