Java 生成、识别条形码

条形码是由一定的字符,数字及符号组成,用以表达一组信息的图形标识符。它可以标出物品的商品名称、生产日期、图书分类号,邮件起止地点等。因而在商品流通、图书管理、邮政管理等许多领域得以广泛的应用。本文将通过使用Java程序来详细介绍如何生成和识别一些常见的一维和二维条形码。

使用工具: Free Spire.Barcode for Java (免费版)

Jar文件获取及导入:

方法1:通过 官网下载 获取jar包。解压后将lib文件夹下的Spire.Barcode.jar文件导入Java程序。(如下图)

Java 生成、识别条形码

方法2:通过maven仓库安装导入。具体安装教程详见 此网页 。

下表为免费版本支持的条形码类型。

Java 生成、识别条形码

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

【示例1】生成条形码

生成条形码中涉及到两个重要的类,一个是BarcodeSettings,另一个是BarcodeGenerator。BarcodeSettings是用来设置条形码的类型、数据、大小、颜色等。BarcodeGenerator则是根据BarcodeSettings的设定来创建图像数据。代码参考如下:

import com.spire.barcode.BarCodeGenerator;  
import com.spire.barcode.BarCodeType;  
import com.spire.barcode.BarcodeSettings;  
import javax.imageio.ImageIO;  
import javax.imageio.stream.ImageOutputStream;  
import java.awt.image.BufferedImage;  
import java.io.File;  
import java.io.IOException;  
  
public class GenerateBarcode {  
public static void main(String[] args) throws IOException {  
//创建BarcodeSettings实例  
BarcodeSettings settings = new BarcodeSettings();  
//设置条形码类型  
settings.setType(BarCodeType.Code_39);  
//设置条形码数据  
settings.setData("ZXC98-HK");  
//设置条形码显示数据  
settings.setData2D("ZXC98-HK");  
//在底部显示数据  
settings.setShowTextOnBottom(true);  
//设置边框为不可见  
settings.hasBorder(false);  
//根据settings生成图像数据,创建BarCodeGenerator实例  
BarCodeGenerator barCodeGenerator = new BarCodeGenerator(settings);  
//生成条形码数据  
  BufferedImage bufferedImage = barCodeGenerator.generateImage();  
//保存为PNG图片  
  ImageIO.write(bufferedImage, "png", new File("output/Code39.png"));  
    }  
}

条形码生成效果:

Java 生成、识别条形码

【示例2】识别条形码

import com.spire.barcode.BarcodeScanner;  
  
public class ReadBarcode {  
public static void main(String[] args) throws Exception {  
//从图片中识别Code 39条形码  
String data =BarcodeScanner.scanOne("C://Users//Test1//Desktop//Code39.png");  
System.out.print(data);  
    }  
}

条形码识别效果:

Java 生成、识别条形码

(本文完)

原文 

https://segmentfault.com/a/1190000021598125

本站部分文章源于互联网,本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供。如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。

PS:推荐一个微信公众号: askHarries 或者qq群:474807195,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

转载请注明原文出处:Harries Blog™ » Java 生成、识别条形码

赞 (0)
分享到:更多 ()

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址