声明:转载为个人学习收藏,如有侵权,请及时联系本人删除,转载地址:https://www.cnblogs.com/MariaWang/p/10837641.html

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

所需工具:

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”;④ 导入完成。如下图:

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

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("2030405060");

//设置符号属性

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");

for (int i=0;i< s.length ;i++){

System.out.println(s[i]);

}

}

}

运行效果:

java生成的条形码扫不了_JAVA 生成扫描条形码相关推荐

  1. java随机产生100个大小写字母_Java生成固定长度的随机字符串(以大小写字母和数字)...

    packageorg.jimmy.autosearch2019.test;importjava.util.ArrayList;importjava.util.Random;/***@authorラピス ...

  2. java获取大乐透开奖_java生成大乐透中奖号码

    这段时间吃完饭都会来一两注大乐透! 然后心血来潮的用java写了个简单的随机生成大乐透号码 先晒代码: public class RandomUtil { //前区1-35个号码 private st ...

  3. java项目的秘钥怎么保存_java生成秘钥key,并保存秘钥到文件中

    本例子采用的是Java的对称加密其中的一种方式(3DES),其他的加密方式也类似.生成一个key秘钥,发送方使用生成的key秘钥进行加密操作,然后把生成的key秘钥保存到文件中,提供给需要解密的一方使 ...

  4. java生成6随机数字和字母_Java生成含字母和数字的6位随机字符串

    本文实例为大家分享了Java生成6位随机字符串的实现代码,具体内容如下 package com.amos.tools; import java.util.ArrayList; import java. ...

  5. java生成永远不重复的随机数_java生成不重复随机数的方法

    java生成不重复随机数的方法 发布时间:2020-07-01 11:00:00 来源:亿速云 阅读:225 作者:Leah java怎么实现生成不重复随机数 ?针对这个问题,这篇文章详细介绍了相对应 ...

  6. java怎么把随机数放入数组_JAVA 生成随机数数组 | 学步园

    一.JAVA获取随机数的方法 //使用java.lang.Math类的random()方法 double a = Math.random(); System.out.println("0.0 ...

  7. java生成验证码图片中仅有线条_java生成验证码步骤归纳总结

    1.serialVersionUID private static final long serialVersionUID = -8501285780349046114L; Java的序列化机制是通过 ...

  8. java生成8位自增编号_Java生成8位数字按照从0开始到自己设置循环好多次

    展开全部 建议使用java8的新特性 stream很快就能生成 示例代码如下int cycleTimes = 1000; int numLength = 8; Stream.iterate(1,ite ...

  9. html手机扫描条形码,在HTML5/JavaScript中扫描条形码

    我正在寻找扫描条形码并根据是否收到条形码返回响应的方式.我可以找到唯一的结果指向英特尔XDK.我不能在这个特定的项目中使用它,所以没有它可以做到这一点? 如何使用HTML5/JavaScript扫描条 ...

  10. java项目生成多个条码_java – 生成随机条形码 – 一个设计问题

    我正在修复生成条形码的java代码中的错误(线程问题).根据设计,条形码只是一个数字,下一个"未使用"条形码是序列中的下一个.有990亿可能的数字. 首先,由于安全问题,我不喜欢自 ...

最新文章

  1. 移动4G打造排污视频监控系统助力咸宁环保建设
  2. 使用mysql-proxy 快速实现mysql 集群 读写分离
  3. python中使用 protocol buffer(Protobuf)
  4. python词性标注_文本分类的词性标注
  5. ubuntu java7安装_Ubuntu下安装配置 JDK 7
  6. WebHttpBinding的流传输模式让我头大了
  7. JMeter中3种参数值的传递
  8. Linux_学习_Day3_bash
  9. 实践单元测试(2) - 大话单元测试
  10. NOIP2017普及组-1. 成绩
  11. 力扣-1557. 可以到达所有点的最少点数目
  12. 基于python的新闻发布系统
  13. Python轻松制作王者荣耀自动刷金币脚本
  14. 需要查询前一次该厂商,料号的单价, 这个sql语句很难写,你碰到过没有
  15. APM(应用性能管理)与Dapper原理介绍
  16. 创建菜单栏、菜单、菜单项
  17. 造成BGA焊接不良问题有哪些?
  18. 文本溢出隐藏显示... 鼠标移动到元素显示全部内容
  19. 仓库管理怎么做?这5大仓库管理软件能帮到你
  20. 服务器锁定文件,BEA-141297 - 无法获取服务器文件锁定(BEA-141297 - Could not get the server file lock)...

热门文章

  1. sql提取身份证号码信息
  2. 宏观经济模型代码来源 :MMB库
  3. java无法定位程序点_无法定位程序输入点是什么意思
  4. React脚手架项目示例
  5. 多页pdf怎样合并成一页?
  6. Java利用HttpPost工具类提交数据
  7. sipp使用过程中报错
  8. 计算机新建里没有word,为什么电脑右键新建里头没有WORD文档,如何加上
  9. [深度学习] 自然语言处理 ----- Attention机制中的Q,K,V介绍
  10. redis 报错 Failed to start Advanced key-value store.