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

所需工具:

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

方式(二):使用maven配置导包。可参考导入方法()。

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

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条码大小_java - ML Kit条形码扫描:无效的图像数据大小

    我想在捕获的图像中检测条形码.我使用android的camera2捕获图像.此后,将检索图像的元数据并将图像保存到设备.元数据全部传递到下一个活动,该活动是应用程序尝试检测条形码的地方. 下一个活动是 ...

  2. java条码大小_java – 如何设置iText条码宽度?

    我需要设置iText生成的条形码宽度.我正在使用此代码: Barcode128 code128 = new Barcode128(); code128.setCode("P662130002 ...

  3. java条码扫描_Java上的条形码扫描仪实现

    我最近不得不实现一个扫描程序系统来与Java交互. 我使用了霍尼韦尔Voyager MS9540 USB条码扫描器. 默认情况下,扫描仪直接将数据作为键盘输入发送-不需要驱动程序. 但是,让此模型直接 ...

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

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

  5. java条码大小_java – 自定义条形码输入中缺少条形码高度

    我正在整合FedEx运输API以使用 Java生成标签.一切都很好,但除了这个问题.在为FedEx Freight设置LabelFormatType到COMMON2D或LABEL_DATA_ONLY时 ...

  6. java代码实现文件扫描_JAVA文件扫描(递归)的实例代码

    具体代码如下所示: import java.io.File; public class Scan { public static void main(String[] args) { String f ...

  7. java 端口扫描_java端口扫描(原创)

    项目需要扫描占用的端口来判断服务是否启动,通过查资料发现大多数方法都是ServerSocket socket = new ServerSocket(port);代码如下: package com.fr ...

  8. java条码查商品信息_条形码商品管理信息系统SQL JAVA源码大小11M

    条形码商品管理信息系统SQL JAVA源码大小11M 源码下载地址: (精品源码有详细软件界面截图) 本站提供几百套大型商业源码,平均一元一套,火爆下载中...... QQ:283072.283672 ...

  9. java库存导出_java生成导出excle文件

    public void getExportExcle(List< Object > list,HttpServletResponse response) throws Unsupporte ...

  10. java给定任意_java生成任意整数随机数(任意指定范围)

    Math.random() jdk1.8文档描述: 1.求:范围为 [ 0 ,352324 ] 之间的随机数.(包括临界值) (int)( Math.random () * ( 352324 +1) ...

最新文章

  1. Python中使用数据库SQLite
  2. 跟安全技术大师学习黑客攻防技术 ——《黑客攻防技术宝典:web实战篇》
  3. 2020 年最全 Python 面试题汇总 (五)
  4. Scratch里定义重复动作的方法
  5. 全局配置_配置全局异常处理,结果没有想到,spring boot实践(3)
  6. Git-如何将已存在的项目提交到git
  7. 从golang-gin-realworld-example-app项目学写httpapi (四)
  8. apriori算法_机器学习(无监督学习)关联规则Apriori算法原理与python实现
  9. mysql ip 访问_MySql通过ip地址进行访问的方法
  10. Centos python2.6.6升级2.7.14
  11. 昆仑mcgs 通讯控制台达B2伺服采用modbus rtu方式
  12. 计算机的科学导论pdf,教材计算机科学导论.PDF
  13. 附合导线计算软件_再也不盲目跑杆了,一次性搞懂水准测量+导线测量!
  14. (软考)系统分析师——标准化知识
  15. 推荐一个磁盘清理工具
  16. C语言实训心得体会(精选4篇)
  17. ARM嵌入式实验 熟悉PROTEUS电子仿真软件的使用(LPC2138)
  18. FillRect、FrameRect、Rectangle 矩形绘制函数使用对比分析
  19. 【补码表示】为什么定点小数的-1补码表示为1.0000以及补码表示范围问题
  20. CSP 202006-2 稀疏向量

热门文章

  1. 2020苏州大学计算机考研经验总结博
  2. java web使用的主流框架介绍
  3. Vue-01 —创建一个Vue实例
  4. 激活函数:双曲正切函数 tanh(x)
  5. andriod安装linux系统
  6. MTPA 永磁同步电机 计算
  7. QQ查看撤回的语音消息,slk 文件转 mp3
  8. java课设超市收银系统_超市收银系统java课程设计.doc
  9. imdisk虚拟光驱安装linux,imdisk虚拟磁盘驱动器如何加载iso文件?大白菜ImDisk加载iso文件教程...
  10. 微信小程序图片上传并移除