java 实现生成条形码

本文介绍了在Java中如何实现生成条形码,探讨了jbarcode、barcode4j和zxing三种解决方案,并展示了生成的图形效果。同时提到了barcode4j支持的多种条形码类型及格式设置。文章最后指出,虽然条形码应用广泛,但二维码更受青睐,并预告了下篇将讲解Java生成二维码的方法。

      今天有个新的需求,要在系统中自动生成条形码,之前也没做过生成条形码的功能,今天正好研究一下。

解决方法: Java 生成条码的方案 :    jbarcodebarcode4jzxing

其实都可以生成一维码(条形码)以下我们就用barcode4j为例:
在pom.xml中引入
<!-- https://mvnrepository.com/artifact/net.sf.barcode4j/barcode4j-light -->
<dependency>
    <groupId>net.sf.barcode4j</groupId>
    <artifactId>barcode4j-light</artifactId>
    <version>2.0</version>
</dependency>

废话不多说,实现代码如下:

import org.apache.commons.lang3.StringUtils;
实现生成条形码,可以使用Java开源库ZXing(Zebra Crossing)。 以下是一个简单的Java代码示例,演示如何使用ZXing库来生成条形码: ```java import java.io.File; import java.io.IOException; import java.util.HashMap; import java.util.Map; import javax.imageio.ImageIO; import com.google.zxing.BarcodeFormat; import com.google.zxing.EncodeHintType; import com.google.zxing.MultiFormatWriter; import com.google.zxing.WriterException; import com.google.zxing.common.BitMatrix; import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel; public class BarCodeGenerator { public static void main(String[] args) { String data = "123456789"; String path = "barCode.png"; int width = 300; int height = 100; String format = "png"; Map<EncodeHintType, Object> hints = new HashMap<>(); hints.put(EncodeHintType.CHARACTER_SET, "UTF-8"); try { BitMatrix bitMatrix = new MultiFormatWriter().encode(data, BarcodeFormat.CODE_128, width, height, hints); File file = new File(path); ImageIO.write(toBufferedImage(bitMatrix), format, file); } catch (WriterException | IOException e) { e.printStackTrace(); } } private static final int BLACK = 0xFF000000; private static final int WHITE = 0xFFFFFFFF; private static BufferedImage toBufferedImage(BitMatrix matrix) { int width = matrix.getWidth(); int height = matrix.getHeight(); BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); for (int x = 0; x < width; x++) { for (int y = 0; y < height; y++) { image.setRGB(x, y, matrix.get(x, y) ? BLACK : WHITE); } } return image; } } ``` 运行以上代码,将生成一个名为“barCode.png”的文件,其中包含数据“123456789”的条形码。 在代码中,我们使用CODE_128格式生成条形码,这是一种广泛使用的条形码类型,适用于包含数字和字母的文本数据。我们还可以通过使用其他BarcodeFormat常量来生成其他类型的条形码,例如QR_CODE和PDF_417。 我们还可以使用ZXing库来读取条形码
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值