条形码是一种可视化、机器可读的数据,这些数据通常描述了携带该条码的物品的相关信息。条形码已经广泛被应用在商品流通,图书管理,邮政管理和银行系统等领域。在这篇文章中,将介绍如何生成和扫描一些常见的一维和二维条形码。

所需工具:

  • Free Spire.Barcode for Java 1.3(免费版)
  • Intellij IDEA

Jar包文件导入:

  • 方式(一):首先,官网获取jar包

Step 1: 下载Jar包之后解压,进入“Project Structure” 界面。(以下是三种在IDEA中快速打开Project Structure界面的方式,可任意选择一种方式)

Step 2:按以下操作步骤进行导入。

① 选择“Modules”—“Dependencies”,添加外置jar包;② 进入"Attach File or Directories"界面选择jar文件路径,然后点击“OK”;③ 勾选jar路径选项,点击”OK”/”Apply”;④ 导入完成。如下图:

下面是免费版本支持的条形码类型列表:

P.S. 更多条形码类型,请参考使用Spire.Barcode for Java 商业版。

Barcode生成:

生成条形码涉及到两个重要的类,一个是BarcodeSettings,另一个是BarcodeCenerator。BarcodeSettings是用来定制条形码的特定类型,数据,大小,颜色等。BarcodeCenerator以BarcodeSettings为基础,用来创建图像数据。上表所支持的部分条形码的生成如下所示:

Codebar:

public class CODABAR {

    public static void main(String[] args) throws Exception {
        //创建BarcodeSettings实例
        BarcodeSettings settings = new BarcodeSettings();
        //设置条形码数据
        settings.setData(");
        //设置符号属性
        settings.setType(BarCodeType.CODABAR);
        //设置底部显示文本
        settings.setShowTextOnBottom(true);
        //设置边框可见
        settings.hasBorder(true);
        //设置CodabarStartChar和CodabarStopChar
        settings.setCodabarStartChar(CodabarChar.B);
        settings.setCodabarStopChar(CodabarChar.D);
        //创建条形码生成器对象
        BarCodeGenerator barCodeGenerator = new BarCodeGenerator(settings);
        //从条形码生成器中获取图像
        BufferedImage bufferedImage = barCodeGenerator.generateImage();
        //保存图像
        ImageIO.write(bufferedImage,"png",new File("CODABAR.png"));
    }
}

运行效果:

Code11:

public class CODE_11 {

    public static void main(String[] args) throws IOException {
        //创建BarcodeSettings实例
        BarcodeSettings settings = new BarcodeSettings();
        //设置条形码数据
        settings.setData("12345-67890");
        //设置符号属性
        settings.setType(BarCodeType.CODE_11);
        //设置底部文本
        settings.setShowTextOnBottom(true);
        //设置边框可见
        settings.hasBorder(true);
        //创建条码生成器对象
        BarCodeGenerator barCodeGenerator = new BarCodeGenerator(settings);
        //从条码生成期中获取图像
        BufferedImage bufferedImage = barCodeGenerator.generateImage();
        //保存图像
        ImageIO.write(bufferedImage,"png",new File("CODE_11.png"));
    }
} 

运行效果:

Code 39:

public static void main(String[] args) throws IOException {
    //创建BarcodeSettings
    BarcodeSettings settings = new BarcodeSettings();
    //设置条形码数据
    settings.setData("ABC 123456789");
    //设置符号属性
    settings.setType(BarCodeType.CODE_39);
    //在底部设置显示文本位置
    settings.setShowTextOnBottom(true);
    //设置边框可见
    settings.hasBorder(true);
    //创建条形码生成器实例
    BarCodeGenerator barCodeGenerator = new BarCodeGenerator(settings);
    //从条形码生成器中获取图像
    BufferedImage bufferedImage = barCodeGenerator.generateImage();
    //保存图像
    ImageIO.write(bufferedImage,"png",new File("CODE_39.png"));
}

运行效果:

Code 128:

public class CODE_128 {

    public static void main(String[] args) throws IOException {
        //创建BarcodeSettings
        BarcodeSettings settings = new BarcodeSettings();
        //设置条形码数据
        settings.setData("ABCD 12345 abcd");
        //设置符号属性
        settings.setType(BarCodeType.CODE_128);
        //在底部设置显示文本位置
       settings.setShowTextOnBottom(true);
        //设置边界可见
        settings.hasBorder(true);
        //创建条形码生成器实例
        BarCodeGenerator barCodeGenerator = new BarCodeGenerator(settings);
        //从条形码生成器获取图像
        BufferedImage bufferedImage = barCodeGenerator.generateImage();
        //保存图像
        ImageIO.write(bufferedImage,"png",new File("CODE_128.png"));
    } 

运行效果

QR_Code:

public class QR_CODE {
    public static void main(String[] args) throws IOException {
        //创建BarcodeSettings
        BarcodeSettings settings = new BarcodeSettings();
        //设置条形码数据
        settings.setData("ABC 123456789");
        //设置符号属性
        settings.setType(BarCodeType.QR_CODE);
        //在底部设置ShowText位置
        settings.setShowTextOnBottom(true);
        //设置边框是可见的
        settings.hasBorder(true);
        //创建BarCodeGenerator实例
      BarCodeGenerator barCodeGenerator = new BarCodeGenerator(settings);
        //从条形码生成器获取图像
        BufferedImage bufferedImage = barCodeGenerator.generateImage();
        //保存图像
        ImageIO.write(bufferedImage,"png",new File("QR_CODE.png"));
    }
} 

运行效果:

Barcode扫描:

下面我们将尝试将将几个条形码的合集放在一起扫描,使用BarcodeScanner 类的scan()方法读取多个条形码数据。图像和代码如下所示:

public class Scan {
    public static void main(String[] args) throws Exception {
       //从要扫描的图像中获取信息
       String[] s= BarcodeScanner.scan("C:\\Users\\Administrator\\Desktop\\Barcode.png");
        ;i< s.length ;i++){
            System.out.println(s[i]);
        }
    }
}

运行效果:

JAVA生成扫描条形码的更多相关文章

  1. JAVA 生成扫描条形码

    声明:转载为个人学习收藏,如有侵权,请及时联系本人删除,转载地址:https://www.cnblogs.com/MariaWang/p/10837641.html 条形码是一种可视化.机器可读的数据 ...

  2. Java生成各种条形码

    import java.awt.image.BufferedImage; import java.io.FileOutputStream; import org.jbarcode.JBarcode; ...

  3. Java生成读取条形码和二维码图片

    原文:http://www.open-open.com/code/view/1453520722495 package zxing; import com.google.zxing.BarcodeFo ...

  4. java生成128A条形码

    添加maven依赖 <dependency> <groupId>net.sf.barcode4j</groupId> <artifactId>barco ...

  5. Java生成扫描可以生成手机号名片的二维码

    (1)需求:用户通过扫描pc端网站后台管理系统的二维码获取对接人的相关信息,主要是是手机号信息,达到点击可以直接打电话或者将对接人的信息直接保存到通讯录 注:源码来源:https://blog.csd ...

  6. JAVA生成条形码

    1.下载生成条形码所需要的jar包barcode4j.jar: 2.java生成条形码代码 import java.awt.image.BufferedImage;import java.io.Fil ...

  7. Java 条形码生成(一维条形码)

    utl:http://mianhuaman.iteye.com/blog/1013945 在这里给大家介绍一个java 生成条形码 jbarcode.jar 生成条形码 支持EAN13, EAN8, ...

  8. android 二维码生成+扫描

    android 二维码生成+扫描 1.在Android应用当中,很多时候都要用到二维码扫描,来避免让用户手动输入的麻烦. Google官方自己推出了一个二维码开源项目:ZXing库. 2.这里简单介绍 ...

  9. 利用JAVA生成二维码

    本文章整理于慕课网的学习视频<JAVA生成二维码>,如果想看视频内容请移步慕课网. 维基百科上对于二维码的解释. 二维条码是指在一维条码的基础上扩展出另一维具有可读性的条码,使用黑白矩形图 ...

随机推荐

  1. Hibernate配置详解

    <!--标准的XML文件的起始行,version='1.0'表明XML的版本,encoding='gb2312'表明XML文件的编码方式--> <?xml version='1.0' ...

  2. SQL表与表连接关系

    一.SQL连接方式 left join :左连接,返回左表中所有的记录以及右表中连接字段相等的记录. right join :右连接,返回右表中所有的记录以及左表中连接字段相等的记录. inner j ...

  3. 浏览器和ES5的介绍

    浏览器的组成 : shell(浏览器的外壳).内核(渲染引擎.js引擎)主流浏览器及其内核: IE                    tritent(IE9及以下,IE10及以上用webkit) ...

  4. H.264学习笔记1——相关概念

    此处记录学习AVC过程中的一些基本概念,不定时更新. frame:帧,相当于一幅图像,包含一个亮度矩阵和两个色度矩阵. field:场,一帧图像,通过隔行扫描得到奇偶两场,分别称为顶场和底场或奇场和偶 ...

  5. Farseer.net轻量级ORM开源框架说明及链接索引

    项目简介 基于.net framework 4 开发. 基于Lambda表达式快速上手的ORM框架. 参考Entity Framework的调用方式. 基于Database First模式. POCO ...

  6. 【译】x86程序员手册35-9.8异常条件

    译注:一些异常没有翻译,因为看书时主要为了理解linux代码,所以代码中没有主要使用的就没有仔细看.这部分内容后期再看时再进行翻译. 9.8 Exception Conditions 异常条件 The ...

  7. CentOS 7 samba server 配置

    samba是linux上的文件共享服务软件,相当与Windows上的共享文件夹,当然也是要在同一网段上的. 当前用的版本是4.4.4,好吧!下面介绍怎么去安装配置它,here we go! 1. 安装 ...

  8. PHP会话控制考察点

    为什么要使用会话控制技术 HTTP协议是无状态的,也就是说HTTP没有一个内建的机制来维护两个事务之间的状态.当一个用户完成一个请求发起第二个请求的时候,服务器无法知道这次请求是来自于上一次的客户.而 ...

  9. iTOP-4418开发板最新资料及例程

    开发板资料: 开发板硬件资源: 1.POWER电源接口 电源输入为 5V/2A+,给核心板 AXP228 电源管理芯片提供 5V 电源. 2.SWITCH电源开关 轻触电源开关可以控制开发板电源通断. ...

  10. shell脚本的练习

    创建一个以.sh结束的文件. 规则: 文件的头部使用#!/bin/sh 开头   这个是一个标识的作用,告诉使用哪种脚本来执行 echo 用来向命令行来输出的东西