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) |
| Static java.lang.String[] | scan(java.awt.image.BufferedImage image, BarCodeType barcodeType) |
| Static java.lang.String[] | scan(java.awt.image.BufferedImage bitmap, java.awt.Rectangle rect, BarCodeType barcodeType) |
| Static java.lang.String[] | scan(java.io.InputStream stream) |
| Static java.lang.String[] | scan(java.io.InputStream stream, boolean IncludeCheckSum) |
| Static java.lang.String[] | scan(java.lang.String fileName) |
| Static java.lang.String[] | scan(java.lang.String fileName, BarCodeType barcodeType) |
| Static java.lang.String[] | scan(java.lang.String fileName, boolean IncludeCheckSum) |
| Static java.lang.String | scanOne(java.awt.image.BufferedImage bitmap) |
| Static java.lang.String | scanOne(java.io.InputStream stream) |
| Static java.lang.String | scanOne(java.io.InputStream stream, boolean IncludeCheckSum) |
| Static java.lang.String | scanOne(java.lang.String fileName) |
| Static java.lang.String | scanOne(java.lang.String fileName, boolean IncludeCheckSum) |
3. 条码生成及扫描类型汇总
因本次使用的是免费版的Barcode API,对支持生成的条码类型以及扫描的条码类型上有所限制,详细内容见下表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—
本文介绍了使用FreeSpire.BarcodeforJava库在Java中扫描和识别条形码的方法,包括从图片文件中读取并识别EAN_13类型的条形码。 BarcodeScanner类提供了多种扫描方法,如从BufferedImage、InputStream或文件中扫描,并支持多种条码类型。然而,免费版的API对生成和扫描的条码类型有限制,如EAN8、EAN13等支持,但某些类型如CODE25、ITF14等则不支持。
894

被折叠的 条评论
为什么被折叠?



