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) |
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。在使用时,可根据自己的程序要求看条码类型是否支持。
表格-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—
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 上周热点回顾(2.17-2.23)
· 如何使用 Uni-app 实现视频聊天(源码,支持安卓、iOS)
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
2019-09-16 Java 创建/识别条形码、二维码