条形码是由一定的字符,数字及符号组成,用以表达一组信息的图形标识符。它可以标出物品的商品名称、生产日期、图书分类号,邮件起止地点等。因而在商品流通、图书管理、邮政管理等许多领域得以广泛的应用。本文将通过使用Java程序来详细介绍如何生成和识别一些常见的一维和二维条形码。
方法1:通过 官网下载 获取jar包。解压后将lib文件夹下的Spire.Barcode.jar文件导入Java程序。(如下图)
方法2:通过maven仓库安装导入。具体安装教程详见 此网页 。
下表为免费版本支持的条形码类型。
P.S.获取更多条形码类型,请参考使用 Spire.Barcode for Java 商业版
生成条形码中涉及到两个重要的类,一个是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")); } }
条形码生成效果:
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); } }
(本文完)