条形码是由一定的字符,数字及符号组成,用以表达一组信息的图形标识符。它可以标出物品的商品名称、生产日期、图书分类号,邮件起止地点等。因而在商品流通、图书管理、邮政管理等许多领域得以广泛的应用。本文将通过使用Java程序来详细介绍如何生成和识别一些常见的一维和二维条形码。
使用工具:Free Spire.Barcode for Java(免费版)
Jar文件获取及导入:
方法1:通过官网下载获取jar包。解压后将lib文件夹下的Spire.Barcode.jar文件导入Java程序。(如下图)
方法2:通过maven仓库安装导入。具体安装教程详见此网页。
下表为免费版本支持的条形码类型。
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);
//创建BarCodeGenerator实例
BarCodeGenerator barCodeGenerator = new BarCodeGenerator(settings);
//根据settings生成图像数据, 保存至BufferedImage实例
BufferedImage bufferedImage = barCodeGenerator.generateImage();
//保存为PNG图片
ImageIO.write(bufferedImage,"png", new File("output/Code39.png"));
}
}
条形码生成效果:
【示例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);
}
}
条形码识别效果:
(本文完)