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—

Java 扫描识别条形码图片的更多相关文章

  1. Android实现OCR扫描识别数字图片之图片扫描识别

    [Android实例] Android实现OCR扫描识别数字图片之图片扫描识别 Android可以识别和扫描二维码,但是识别字符串呢? google提供了以下解决方案用的是原来HP的相关资料. 可以吧 ...

  2. Java 创建/识别条形码、二维码

    条形码(Barcode)是将宽度不等的多个黑条和空白,按照一定的编码规则排列,用以表达一组信息的图形标识符.常用于标示物品的生产国.制造厂家.商品名称.生产日期.图书分类号.邮件起止地点.类别.日期等 ...

  3. java指纹识别+谷歌图片识别技术_源代码

    主类: import java.awt.image.BufferedImage; import java.util.ArrayList; import java.util.List; public c ...

  4. java指纹识别+谷歌图片识别技术

    http://www.icodeguru.com/3/2451.html http://valseonline.org/thread-124-1-1.html

  5. c#OpenCVSharp+Zxing识别条形码

    参考博客:https://www.cnblogs.com/dengxiaojun/p/5278679.html,但是他的demo下载太贵了 可以下载这个https://download.csdn.ne ...

  6. HTML5实现扫描识别二维码/生成二维码

    扫描识别二维码 思路: 1. 操作摄像头,获取图片.HTML5 WEBRTC的navigator.getUserMedia方法去实时获取摄像头资源.  2. 利用canvas使用相关算法分析图片识别图 ...

  7. Android名片扫描识别系统SDK

    Android名片扫描识别系统SDK 一.Android名片扫描识别系统应用背景 这些年,随着移动互联的发展,APP应用成爆发式的增长,在很多APP中都涉及到对名片信息的录入,如移动CRM.移动端OA ...

  8. 手机摄像头扫描识别车牌号,移动端车牌识别sdk

    一.移动端车牌识别应用背景 (技术交流:18701686857  QQ:283870550) 随着经济水平的不断提高,汽车数量的不断激增为汽车管理带来了不小的难度.路边违章停车的现象越来越频繁.现在, ...

  9. JAVA验证码识别:基于jTessBoxEditorFX和Tesseract-OCR训练样本

    JAVA验证识别:基于jTessBoxEditorFX和Tesseract-OCR训练样本 工具准备: jTessBoxEditorFX下载:https://github.com/nguyenq/jT ...

随机推荐

  1. 小白学习vue第三天,从入门到精通(computed计算属性)

    computed计算属性 <body> <div id="app"> <div>{{myName}}</div> </div& ...

  2. 通信协议,TCP/UDP对比:

    通信协议 协议:约定,比如在中国约定说普通话 网络通信协议:速率,传输码率,代码结构,传输控制... 问题:非常复杂 大事化小:分层 TCP/IP协议簇:实际上是一组协议 重要: TCP:用户传输协议 ...

  3. JAVA基础语法:函数(方法)、类和对象(转载)

    4.JAVA基础语法:函数(方法).类和对象 函数 在java中函数也称为方法,是一段具备某种功能的可重用代码块. 一个函数包括这几部分: 函数头 函数头包括函数访问修饰符,函数返回值类型, 函数名, ...

  4. Linux 基础学习篇笔记 Linux基础知识

    哎呀,翻到第一篇,映出眼帘的标题:从Unix到Linux(我就知道学习不能急,不能像我,看个简介,就赶忙去查了,原来作者在这里给出详细的介绍了) 1.1根据书上写的,原来linux的内核是被Linus ...

  5. Solon 1.5.24 发布

    本次版本主要变化: 修复 solon.extend.sessionstate.jwt 在特定场景下会无限次解析的问题 优化 solon.extend.cors 对头信息的处理 插件 solon.boo ...

  6. 【笔记】Ada Boosting和Gradient Boosting

    Ada Boosting和Gradient Boosting Ada Boosting 除了先前的集成学习的思路以外,还有一种集成学习的思路boosting,这种思路,也是集成多个模型,但是和bagg ...

  7. gcc limits.h的bug定位看include_next和默认搜索路径

    手编的交叉编译工具链经常报一堆宏未定义,例如下面是编译gtest的时候报_POSIX_PATH_MAX宏未定义,有时还会上报SSIZE_MAX等宏未定义: googletest/src/gtest-f ...

  8. CVE-2020-17523:Apache Shiro身份认证绕过漏洞分析

    0x01 Apache Shiro Apache Shiro是一个强大且易用的Java安全框架,执行身份验证.授权.密码和会话管理. 0x02 漏洞简介 2021年2月1日,Apache Shiro官 ...

  9. STM32—DAC配置

    文章目录 一.DAC介绍 二.主要寄存器说明 三.代码及配置 一.DAC介绍 ADC是模数转换器,可以将模拟电压转换位数字信号:DAC是数模转换器,可以将数字信号转换为模拟电压. STM32F103Z ...

  10. flutter升级2.0

    前言 flutter2.0版本带来了很多变化,特别是加入了空安全,升级后的大片报错,让大家望而却步. 现在距2.0发布已经快半年了,大部分插件也支持了空安全,而我们的项目却因为版本低,用不上新东西,所 ...