Java 掃描識別條形碼圖片

1.條形碼掃描識別的實現方法及步驟

本文以Java程式碼示例介紹如何來掃描和識別條形碼圖片。這裡使用免費條碼工具 Free Spire.Barcode for Java,調用BarcodeScanner類中的scan(java.lang.String fileName, BarCodeType barcodeType)方法掃描識別指定類型條碼中包含的數據。在編輯程式碼前,先參考如下步驟手動將jar包導入Java程式:

 

完成導入:

 

【Java】

import com.spire.barcode.*;

public class ScanBarcode {
    public static void main(String[] args)throws Exception{
        String[] datas = BarcodeScanner.scan("EAN_13.png", BarCodeType.EAN_13);
        System.out.print(datas[0]);
    }
}

執行程式,掃描識別條形碼圖片,獲取條碼中包含的數據:

 

2.條形碼掃描的方法歸納

這裡的BarcodeScanner類提供了多個掃描圖片的方法,見下表1

表格1:

Method Summary

 

static java.lang.String[]

scan(java.awt.image.BufferedImage bitmap)
          Scan barcode from
bitmap.

Static java.lang.String[]

scan(java.awt.image.BufferedImage image, BarCodeType barcodeType)
          Scan barcode from
image.

Static java.lang.String[]

scan(java.awt.image.BufferedImage bitmap,
java.awt.Rectangle rect, BarCodeType barcodeType)
          Scans barcode
from bitmap.

Static java.lang.String[]

scan(java.io.InputStream stream)
          Scan barcode from
image stream.

Static java.lang.String[]

scan(java.io.InputStream stream,
boolean IncludeCheckSum)
          Scan barcode from
image stream.

Static java.lang.String[]

scan(java.lang.String fileName)
          Scan barcode from
image file.

Static java.lang.String[]

scan(java.lang.String fileName, BarCodeType barcodeType)
          Scans barcode
from image file.

Static java.lang.String[]

scan(java.lang.String fileName,
boolean IncludeCheckSum)
          Scan barcode from
image file.

Static java.lang.String

scanOne(java.awt.image.BufferedImage bitmap)
          Scan barcode from
bitmap.

Static java.lang.String

scanOne(java.io.InputStream stream)
          Scan barcode from
image stream.

Static java.lang.String

scanOne(java.io.InputStream stream,
boolean IncludeCheckSum)
          Scan barcode from
image stream.

Static java.lang.String

scanOne(java.lang.String fileName)
          Scan barcode from
image file.

Static java.lang.String

scanOne(java.lang.String fileName,
boolean IncludeCheckSum)
          Scan barcode from
image file.

 

3. 條碼生成及掃描類型匯總

因本次使用的是免費版的Barcode API,對支援生成的條碼類型以及掃描的條碼類型上有所限制,詳細內容見下表2。在使用時,可根據自己的程式要求看條碼類型是否支援。

表格-2

條形碼類型

生成的條形碼類型

掃描條形碼類型

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

×

×

 

注釋: √ 表示支援,× 表示不支援

 

—End—