JAVA生成扫描条形码
条形码是一种可视化、机器可读的数据,这些数据通常描述了携带该条码的物品的相关信息。条形码已经广泛被应用在商品流通,图书管理,邮政管理和银行系统等领域。在这篇文章中,将介绍如何生成和扫描一些常见的一维和二维条形码。
所需工具:
- 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配置导包。可参考导入方法(http://www.e-iceblue.cn/licensing/install-spirepdf-for-java-from-maven-repository.htm)。
下面是免费版本支持的条形码类型列表:
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生成扫描条形码的更多相关文章
- JAVA 生成扫描条形码
声明:转载为个人学习收藏,如有侵权,请及时联系本人删除,转载地址:https://www.cnblogs.com/MariaWang/p/10837641.html 条形码是一种可视化.机器可读的数据 ...
- Java生成各种条形码
import java.awt.image.BufferedImage; import java.io.FileOutputStream; import org.jbarcode.JBarcode; ...
- Java生成读取条形码和二维码图片
原文:http://www.open-open.com/code/view/1453520722495 package zxing; import com.google.zxing.BarcodeFo ...
- java生成128A条形码
添加maven依赖 <dependency> <groupId>net.sf.barcode4j</groupId> <artifactId>barco ...
- Java生成扫描可以生成手机号名片的二维码
(1)需求:用户通过扫描pc端网站后台管理系统的二维码获取对接人的相关信息,主要是是手机号信息,达到点击可以直接打电话或者将对接人的信息直接保存到通讯录 注:源码来源:https://blog.csd ...
- JAVA生成条形码
1.下载生成条形码所需要的jar包barcode4j.jar: 2.java生成条形码代码 import java.awt.image.BufferedImage;import java.io.Fil ...
- Java 条形码生成(一维条形码)
utl:http://mianhuaman.iteye.com/blog/1013945 在这里给大家介绍一个java 生成条形码 jbarcode.jar 生成条形码 支持EAN13, EAN8, ...
- android 二维码生成+扫描
android 二维码生成+扫描 1.在Android应用当中,很多时候都要用到二维码扫描,来避免让用户手动输入的麻烦. Google官方自己推出了一个二维码开源项目:ZXing库. 2.这里简单介绍 ...
- 利用JAVA生成二维码
本文章整理于慕课网的学习视频<JAVA生成二维码>,如果想看视频内容请移步慕课网. 维基百科上对于二维码的解释. 二维条码是指在一维条码的基础上扩展出另一维具有可读性的条码,使用黑白矩形图 ...
随机推荐
- 组合模式和php实现
组合模式(有时候又叫做部分-整体模式): 将对象组合成树形结构以表示“部分整体”的层次结构.组合模式使得用户对单个对象和组合对象的使用具有一致性.它使我们树型结构的问题中,模糊了简单元素和复杂元素的概 ...
- 解决重置PostgreSQL 9.6密码的问题
一.PostgreSql9.6重置密码的方法: 1.打开windows服务管理器,找到“postgresql-x64-9.6”服务,停止服务. 2.找到PostgreSQL9.6的安装目录(以我的E盘 ...
- MySQL基础、索引、查询优化等考察点
MySQL基础 MySQL数据类型 整数类型 TINYINT. SMALLINT. MEDIUMINT. INT. BIGINT 属性:UNSIGNED 长度:可以为整数类型指定宽度,例如:INT(1 ...
- 用Go向MySQL导入.csv文件
今天来更新一个很少碰到,但碰到了又让人十分蛋疼的问题——Go语言中执行MySQL的load data local infile语句报local file 'xxx' is not registered ...
- 生产者-消费者中的缓冲区:BlockingQueue接口
BlockingQueue接口使用场景相信大家对生产者-消费者模式不陌生,这个经典的多线程协作模式,最简单的描述就是生产者线程往内存缓冲区中提交任务,消费者线程从内存缓冲区里获取任务执行.在生产者-消 ...
- WPF学习- 新建项目后自定义Main()[Type 'App' already defines a member called 'Main' with the same parameter types]
问题点: 在App.xaml.cs中自己添加Main方法,编译会出现如下报错: 错误 CS0111 类型“App”已定义了一个名为“Main”的具有相同参数类型的成员 错误 Type 'App' a ...
- 在mac下做web开发,shell常用的快捷键
Ctrl + A 光标移动到行首 Ctrl + E 光标移动到行末 Ctrl + K 清屏(也可是用clear命令) Command +shift+{} 终端的tab左右切换
- zabbix4.2学习笔记--用自带的mysql监控模块
这里演示监控zabbix本身用到的mysql 第一步:建立mysql监控用户 在生产环境中,出于安全考虑,建议监控客户端数据库时,单独配置一个查询权限用户做查询操作即可 # 撤掉安装时给予的分配单个数 ...
- WebService 服务开发
开发 WebService 服务首先需要根据接口的要求编写相关的 wsdl 文件.编写 wsdl 文件需要先对 XML 语法.XML Schema 语法以及 SOAP 语法有一些简单了解. 假设需要提 ...
- 第3节 hive高级用法:16、17、18
第3节 hive高级用法:16.hive当中常用的几种数据存储格式对比:17.存储方式与压缩格式相结合:18.总结 hive当中的数据存储格式: 行式存储:textFile sequenceFile ...