java 生成条形码_JAVA 生成扫描条形码
声明:转载为个人学习收藏,如有侵权,请及时联系本人删除,转载地址: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 生成扫描条形码相关推荐
- java 自动生成条形码_JAVA生成商品条形码
1.[代码][Java]代码 /* 2. * To change this template, choose Tools | Templates 3. * and open the template ...
- java描绘条形码_java生成条形码工具类
/** * 静态内部类 * 自定义的 TextPainter, 允许定义字体,大小,文本等 * 参考底层实现:BaseLineTextPainter.getInstance() */ protecte ...
- java条码大小_java - ML Kit条形码扫描:无效的图像数据大小
我想在捕获的图像中检测条形码.我使用android的camera2捕获图像.此后,将检索图像的元数据并将图像保存到设备.元数据全部传递到下一个活动,该活动是应用程序尝试检测条形码的地方. 下一个活动是 ...
- java生成条码_Java生成商品条形码
之前没有使用过这个,现在使用JBarcode生成商品条形码,工作之前的准备工作: Eclipse: Eclipse Java EE IDE for Web Developers. Version: H ...
- java给定任意_java生成任意整数随机数(任意指定范围)
Math.random() jdk1.8文档描述: 1.求:范围为 [ 0 ,352324 ] 之间的随机数.(包括临界值) (int)( Math.random () * ( 352324 +1) ...
- java 单开程序_java生成jar包并且单进程运行的实例
java文件打包jar运行 有效步骤: 1.cmd 到当前目录(默认包主类所在目录为例) set classpath = 默认包主类所在目录 2.javac 主类名.java 3.java 主类名 4 ...
- java生成密码_java生成密码生成 | 学步园
一.根据当前日期生成MD5加密密码 package com.test; import java.security.MessageDigest; import java.text.SimpleDateF ...
- java随机姓名_Java生成随机姓名、性别和年龄的实现示例
一.定义实体类Person,封装生成的数据 package net.dc.test; public class Person { private String name; private String ...
- java 日期随机数_Java 生成指定时间范围的随机时间、随机中文姓名、随机字符姓名、随机数...
解决问题: Java生成指定时间范围的随机时间? Java生成随机中文姓名? Java生成随机字符姓名? Java生成随机数? 代码: import java.io.UnsupportedEncodi ...
- java 生成随机数_Java 生成随机数的 N 种方法
原标题:Java 生成随机数的 N 种方法 www.baeldung.com/java-generating-random-numbers 1.引言 本文将探讨用 Java 生成随机数的不同方法. 2 ...
最新文章
- CVPR 2022|处理速度仅用0.2秒!港科大腾讯AI lab开源基于GAN反演的高保真图像编辑算法...
- new/delete和malloc/free的区别(举例说明)(简单点)
- python字典添加主键_python 字典相关操作
- bbs php redis,LAMP+redis搭建discuz论坛
- pthread_cond_wait
- 百度SEO站群PHP进销存源码ERP多仓库管理源码
- python3中求0-100的和
- 英语12个月份名称的由来
- 免费在upic中设置OneDrive或Google Drive作为图床
- 互联网思考悲伤之后 如何重新定位移动互联网方向
- echarts中中国地图飞机路线使用
- -- 27、 查询出只有两门课程的全部学生的学号和姓名(不重点)(自己做出)
- lol中各服务器的位置,LOL四大服务器王者常用位置分析
- 机器学习之性能度量指标——决定系数R^2、PR曲线、ROC曲线、AUC值、以及准确率、查全率、召回率、f1_score
- sql语句实现行转列的3种方法
- 瀑布模型(waterfall model)一种线性的软件开发模型,文档驱动
- DRE FTR SCM
- 芯片验证漫游指南-读书笔记
- 《Spring实战(第四版)》电子版
- 供应链金融操作过程中难点解析
热门文章
- eplan 电箱布局_Eplan 的从头到尾完成3D布局步骤说明
- jwplayer使用方法
- STM32学习笔记-FSMC外扩SRAM
- tfidf+embedding
- Error: package or namespace load failed for ‘utils’ in dyn.load(file, DLLpath = DLLpath, ...): unab
- unity3d棋牌游戏教程之手机斗地主的发牌功能实现
- 计算机pe启动蓝屏怎么办,电脑使用PE系统蓝屏如何修复
- 移动前端开发和web前端开发的区别?
- Iptable与firewalld防火墙
- AR工业应用|企业中使用的7个增强现实创新案例|effiarAR工业云平台