最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java創(chuàng)建、識(shí)別條形碼和二維碼方法示例

 更新時(shí)間:2019年09月16日 15:25:49   作者:E-iceblue  
這篇文章主要給大家介紹了關(guān)于Java創(chuàng)建、識(shí)別條形碼和二維碼的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Java具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

前言

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

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

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

這里使用的工具,支持多種條碼類型,包括條形碼,二維碼和郵政碼,多達(dá)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è)置條碼顏色,邊框,邊距,寬度以及各種屬性,數(shù)據(jù)樣式等等。

Jar文件獲取及導(dǎo)入:

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

 

方法2:可通過maven倉(cāng)庫(kù)安裝導(dǎo)入??蓞⒖?a rel="external nofollow" target="_blank" >導(dǎo)入方法。

 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實(shí)例
    settings.setType(BarCodeType.Code_128);//指定條碼類型
    settings.setData("123456789");//設(shè)置條碼數(shù)據(jù)
    settings.setData2D("123456789");//設(shè)置條碼顯示數(shù)據(jù)
    settings.setShowTextOnBottom(true);//設(shè)置數(shù)據(jù)文本顯示在條碼底部
    settings.setX(0.8f);//設(shè)置黑白條寬度
    settings.setImageHeight(50);//設(shè)置生成的條碼圖片高度
    settings.setImageWidth(70);//設(shè)置生成的條碼圖片寬度
    settings.hasBorder(true);//設(shè)置邊框可見
    settings.setBorderColor(new Color(135,206,250));//設(shè)置條碼邊框顏色
    settings.setBorderWidth(1);//設(shè)置條碼邊框?qū)挾?
    settings.setBackColor(new Color(240,255,255));//設(shè)置條碼背景色

    BarCodeGenerator barCodeGenerator = new BarCodeGenerator(settings);//創(chuàng)建BarCodeGenerator實(shí)例
    BufferedImage bufferedImage = barCodeGenerator.generateImage();//根據(jù)settings生成圖像數(shù)據(jù),保存至BufferedImage實(shí)例
    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實(shí)例
    settings.setType(BarCodeType.QR_Code);//設(shè)置條碼類型為QR二維碼
    settings.setData("Hello 123456789");//設(shè)置二維碼數(shù)據(jù)
    settings.setData2D("Hello 123456789");//設(shè)置二維碼顯示數(shù)據(jù)
    settings.setQRCodeDataMode(QRCodeDataMode.Alpha_Number);//設(shè)置數(shù)據(jù)類型
    settings.setX(1.0f);//設(shè)置二維碼模型寬度
    settings.setQRCodeECL(QRCodeECL.H);//設(shè)置二維碼糾錯(cuò)級(jí)別
    settings.setImageWidth(50);//設(shè)置生成的二維碼圖片寬度
    settings.setImageHeight(50);//設(shè)置生成的二維碼圖片高度
    settings.hasBorder(false);//設(shè)置二維碼邊框不可見

    BarCodeGenerator barCodeGenerator = new BarCodeGenerator(settings);//創(chuàng)建BarCodeGenerator實(shí)例
    BufferedImage bufferedImage = barCodeGenerator.generateImage();//根據(jù)settings生成圖像數(shù)據(jù),保存至BufferedImage實(shí)例
    ImageIO.write(bufferedImage, "png", new File("QRCode.png"));//保存二維碼圖片為PNG格式
    System.out.println("Complete!");
  }
}

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

 

【示例3】讀取/識(shí)別條碼

import com.spire.barcode.*;

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

識(shí)別結(jié)果:

 

(本文完)

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

  • 關(guān)于eclipse中運(yùn)行tomcat提示端口被占用的4種解決

    關(guān)于eclipse中運(yùn)行tomcat提示端口被占用的4種解決

    這篇文章主要介紹了關(guān)于eclipse中運(yùn)行tomcat提示端口被占用的4種解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • Java讀取寄存器數(shù)據(jù)的方法示例詳解

    Java讀取寄存器數(shù)據(jù)的方法示例詳解

    在Java中讀取硬件寄存器數(shù)據(jù)不直接支持,但可以通過JNI或JNA技術(shù)實(shí)現(xiàn),此過程需要編寫本地代碼(如C/C++)以模擬硬件交互,然后在Java中調(diào)用這些方法,注意,JNI使用可能引入復(fù)雜性和性能開銷,且需考慮跨平臺(tái)兼容性,感興趣的朋友跟隨小編一起看看吧
    2024-09-09
  • SpringCloud中Gateway的使用教程詳解

    SpringCloud中Gateway的使用教程詳解

    SpringCloud?Gateway是Spring體系內(nèi)的一個(gè)全新項(xiàng)目,它旨在為微服務(wù)架構(gòu)提供一種簡(jiǎn)單有效的統(tǒng)一的API路由管理方式。本文就來(lái)為大家詳細(xì)講講Gateway的使用教程,需要的可以參考一下
    2022-08-08
  • Java Socket實(shí)現(xiàn)文件傳輸示例代碼

    Java Socket實(shí)現(xiàn)文件傳輸示例代碼

    這篇文章主要介紹了Java Socket實(shí)現(xiàn)文件傳輸示例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧
    2017-01-01
  • MyBatis如何實(shí)現(xiàn)多表查詢(多對(duì)一、一對(duì)多)

    MyBatis如何實(shí)現(xiàn)多表查詢(多對(duì)一、一對(duì)多)

    這篇文章主要給大家介紹了關(guān)于MyBatis如何實(shí)現(xiàn)多表查詢(多對(duì)一、一對(duì)多)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • SpringBoot如何通過devtools實(shí)現(xiàn)熱部署

    SpringBoot如何通過devtools實(shí)現(xiàn)熱部署

    這篇文章主要介紹了SpringBoot如何通過devtools實(shí)現(xiàn)熱部署,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11
  • Java方法覆蓋重寫實(shí)現(xiàn)原理解析

    Java方法覆蓋重寫實(shí)現(xiàn)原理解析

    這篇文章主要介紹了Java方法覆蓋重寫實(shí)現(xiàn)原理解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • java五子棋小游戲?qū)崿F(xiàn)代碼

    java五子棋小游戲?qū)崿F(xiàn)代碼

    這篇文章主要為大家詳細(xì)介紹了java五子棋實(shí)現(xiàn)代碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • Java之獲取客戶端真實(shí)IP地址的實(shí)現(xiàn)

    Java之獲取客戶端真實(shí)IP地址的實(shí)現(xiàn)

    在開發(fā)工作中,我們常常需要獲取客戶端的IP,本文主要介紹了Jav之獲取客戶端真實(shí)IP地址的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-12-12
  • Java多線程之條件對(duì)象Condition

    Java多線程之條件對(duì)象Condition

    這篇文章主要介紹了Java多線程之條件對(duì)象Condition,Condition中的await()方法相當(dāng)于Object的wait()方法,Condition中的signal()方法相當(dāng)于Object的notify()方法,Condition中的signalAll()相當(dāng)于Object的notifyAll()方法,接下來(lái)和小編一起進(jìn)入文章了解更具體的內(nèi)容
    2021-10-10

最新評(píng)論

松溪县| 双辽市| 马龙县| 博客| 日照市| 临澧县| 南陵县| 伊吾县| 湾仔区| 武汉市| 于田县| 正阳县| 华阴市| 岳西县| 湟中县| 石台县| 马尔康县| 永嘉县| 小金县| 施甸县| 喀什市| 沙田区| 正阳县| 绩溪县| 达拉特旗| 唐海县| 若尔盖县| 清新县| 靖州| 孝昌县| 鄂尔多斯市| 凤冈县| 罗源县| 朝阳区| 津市市| 裕民县| 大悟县| 临湘市| 民县| 平和县| 双桥区|