编程语言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 Summarystaticjava.lang.String[]scan(java.awt.image.BufferedImagebitmap)Scan barcode from bitmap.Staticjava.lang.String[]scan(java.awt.image.BufferedImageimage,BarCodeTypebarcodeType)Scan barcode from image.Staticjava.lang.String[]scan(java.awt.image.BufferedImagebitmap, java.awt.Rectanglerect,BarCodeTypebarcodeType)Scans barcode from bitmap.Staticjava.lang.String[]scan(java.io.InputStreamstream)Scan barcode from image stream.Staticjava.lang.String[]scan(java.io.InputStreamstream, booleanIncludeCheckSum)Scan barcode from image stream.Staticjava.lang.String[]scan(java.lang.StringfileName)Scan barcode from image file.Staticjava.lang.String[]scan(java.lang.StringfileName,BarCodeTypebarcodeType)Scans barcode from image file.Staticjava.lang.String[]scan(java.lang.StringfileName, booleanIncludeCheckSum)Scan barcode from image file.Staticjava.lang.StringscanOne(java.awt.image.BufferedImagebitmap)Scan barcode from bitmap.Staticjava.lang.StringscanOne(java.io.InputStreamstream)Scan barcode from image stream.Staticjava.lang.StringscanOne(java.io.InputStreamstream, booleanIncludeCheckSum)Scan barcode from image stream.Staticjava.lang.StringscanOne(java.lang.StringfileName)Scan barcode from image file.Staticjava.lang.StringscanOne(java.lang.StringfileName, booleanIncludeCheckSum)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××注释: √ 表示支持,× 表示不支持