JAVA 生成掃描條形碼


聲明:轉載為個人學習收藏,如有侵權,請及時聯系本人刪除,轉載地址:https://www.cnblogs.com/MariaWang/p/10837641.html

 

  條形碼是一種可視化、機器可讀的數據,這些數據通常描述了攜帶該條碼的物品的相關信息。條形碼已經廣泛被應用在商品流通,圖書管理,郵政管理和銀行系統等領域。在這篇文章中,將介紹如何生成和掃描一些常見的一維和二維條形碼。

所需工具:

  • Free Spire.Barcode for Java 1.3(免費版)
  • Intellij IDEA 

Jar包文件導入:

  • 方式(一):首先,官網獲取jar包

Step 1: 下載Jar包之后解壓,進入“Project Structure” 界面。(以下是三種在IDEA中快速打開Project Structure界面的方式,可任意選擇一種方式)

Step 2:按以下操作步驟進行導入。

① 選擇“Modules”—“Dependencies”,添加外置jar包;② 進入"Attach File or Directories"界面選擇jar文件路徑,然后點擊“OK”;③ 勾選jar路徑選項,點擊”OK”/”Apply”;④ 導入完成。如下圖:

下面是免費版本支持的條形碼類型列表:

P.S. 更多條形碼類型,請參考使用Spire.Barcode for Java 商業版。 

 

Barcode生成:

生成條形碼涉及到兩個重要的類,一個是BarcodeSettings,另一個是BarcodeCenerator。BarcodeSettings是用來定制條形碼的特定類型,數據,大小,顏色等。BarcodeCenerator以BarcodeSettings為基礎,用來創建圖像數據。上表所支持的部分條形碼的生成如下所示:

Codebar:

public class CODABAR {

    public static void main(String[] args) throws Exception {
        //創建BarcodeSettings實例
        BarcodeSettings settings = new BarcodeSettings();
        //設置條形碼數據
        settings.setData("2030405060");
        //設置符號屬性
        settings.setType(BarCodeType.CODABAR);
        //設置底部顯示文本
        settings.setShowTextOnBottom(true);
        //設置邊框可見
        settings.hasBorder(true);
        //設置CodabarStartChar和CodabarStopChar
        settings.setCodabarStartChar(CodabarChar.B);
        settings.setCodabarStopChar(CodabarChar.D);
        //創建條形碼生成器對象
        BarCodeGenerator barCodeGenerator = new BarCodeGenerator(settings);
        //從條形碼生成器中獲取圖像
        BufferedImage bufferedImage = barCodeGenerator.generateImage();
        //保存圖像
        ImageIO.write(bufferedImage,"png",new File("CODABAR.png"));
    }
}

  運行效果:

 

 

Code11:

public class CODE_11 {

    public static void main(String[] args) throws IOException {
        //創建BarcodeSettings實例
        BarcodeSettings settings = new BarcodeSettings();
        //設置條形碼數據
        settings.setData("12345-67890");
        //設置符號屬性
        settings.setType(BarCodeType.CODE_11);
        //設置底部文本
        settings.setShowTextOnBottom(true);
        //設置邊框可見
        settings.hasBorder(true);
        //創建條碼生成器對象
        BarCodeGenerator barCodeGenerator = new BarCodeGenerator(settings);
        //從條碼生成期中獲取圖像
        BufferedImage bufferedImage = barCodeGenerator.generateImage();
        //保存圖像
        ImageIO.write(bufferedImage,"png",new File("CODE_11.png"));
    }
}

  運行效果:

 

 

Code 39:

public static void main(String[] args) throws IOException {
    //創建BarcodeSettings
    BarcodeSettings settings = new BarcodeSettings();
    //設置條形碼數據
    settings.setData("ABC 123456789");
    //設置符號屬性
    settings.setType(BarCodeType.CODE_39);
    //在底部設置顯示文本位置
    settings.setShowTextOnBottom(true);
    //設置邊框可見
    settings.hasBorder(true);
    //創建條形碼生成器實例
    BarCodeGenerator barCodeGenerator = new BarCodeGenerator(settings);
    //從條形碼生成器中獲取圖像
    BufferedImage bufferedImage = barCodeGenerator.generateImage();
    //保存圖像
    ImageIO.write(bufferedImage,"png",new File("CODE_39.png"));
}

  運行效果:

 

Code 128:

public class CODE_128 {

    public static void main(String[] args) throws IOException {
        //創建BarcodeSettings
        BarcodeSettings settings = new BarcodeSettings();
        //設置條形碼數據
        settings.setData("ABCD 12345 abcd");
        //設置符號屬性
        settings.setType(BarCodeType.CODE_128);
        //在底部設置顯示文本位置 
       settings.setShowTextOnBottom(true);
        //設置邊界可見
        settings.hasBorder(true);
        //創建條形碼生成器實例
        BarCodeGenerator barCodeGenerator = new BarCodeGenerator(settings);
        //從條形碼生成器獲取圖像
        BufferedImage bufferedImage = barCodeGenerator.generateImage();
        //保存圖像
        ImageIO.write(bufferedImage,"png",new File("CODE_128.png"));
    }

  運行效果

 

QR_Code:

public class QR_CODE {
    public static void main(String[] args) throws IOException {
        //創建BarcodeSettings
        BarcodeSettings settings = new BarcodeSettings();
        //設置條形碼數據
        settings.setData("ABC 123456789");
        //設置符號屬性
        settings.setType(BarCodeType.QR_CODE);
        //在底部設置ShowText位置
        settings.setShowTextOnBottom(true);
        //設置邊框是可見的
        settings.hasBorder(true);
        //創建BarCodeGenerator實例
      BarCodeGenerator barCodeGenerator = new BarCodeGenerator(settings);
        //從條形碼生成器獲取圖像
        BufferedImage bufferedImage = barCodeGenerator.generateImage();
        //保存圖像
        ImageIO.write(bufferedImage,"png",new File("QR_CODE.png"));
    }
}

  運行效果:

 

Barcode掃描:

下面我們將嘗試將將幾個條形碼的合集放在一起掃描,使用BarcodeScanner 類的scan()方法讀取多個條形碼數據。圖像和代碼如下所示:

public class Scan {
    public static void main(String[] args) throws Exception {
       //從要掃描的圖像中獲取信息
       String[] s= BarcodeScanner.scan("C:\\Users\\Administrator\\Desktop\\Barcode.png");
        for (int i=0;i< s.length ;i++){
            System.out.println(s[i]);
        }
    }
}

  運行效果:

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM