java 生成 code128_Java生成条形码code128(亲测有效)

本文提供了一个Java工具类用于生成Code128条形码,详细展示了如何配置Maven和Gradle的依赖。通过设置条形码的高度、宽度、文本内容等参数,可以自定义生成条形码,并可选择是否显示文本和留白。
摘要由CSDN通过智能技术生成

生成code 128条形码工具类

maven依赖

net.sf.barcode4j

barcode4j

2.1

gradle依赖

compile("net.sf.barcode4j:barcode4j:2.1")

工具代码

package com.tian.demo.admin.controller;

import org.apache.commons.lang.ObjectUtils;

import org.krysalis.barcode4j.HumanReadablePlacement;

import org.krysalis.barcode4j.impl.code128.Code128Bean;

import org.krysalis.barcode4j.output.bitmap.BitmapCanvasProvider;

import java.awt.image.BufferedImage;

import java.io.ByteArrayOutputStream;

import java.io.IOException;

/**

* @ClassName BarCodeUtils

* @Description TODO

* @Author Harry

* @Date 2020/5/130:35

* @Version 1.0

**/

public class BarCodeUtils {

/**

* 生成code128条形码

*

* @param height        条形码的高度

* @param width         条形码的宽度

* @param message       要生成的文本

* @param withQuietZone 是否两边留白

* @param hideText      隐藏可读文本

* @return 图片对应的字节码

*/

public static byte[] generateBarCode128(String message, Double height, Double width, boolean withQuietZone, boolean hideText) {

Code128Bean bean = new Code128Bean();

// 分辨率

int dpi = 512;

// 设置两侧是否留白

bean.doQuietZone(withQuietZone);

// 设置条形码高度和宽度

bean.setBarHeight((double) ObjectUtils.defaultIfNull(height, 9.0D));

if (width != null) {

bean.setModuleWidth(width);

}

// 设置文本位置(包括是否显示)

if (hideText) {

bean.setMsgPosition(HumanReadablePlacement.HRP_NONE);

}

// 设置图片类型

String format = "image/png";

ByteArrayOutputStream ous = new ByteArrayOutputStream();

BitmapCanvasProvider canvas = new BitmapCanvasProvider(ous, format, dpi,

BufferedImage.TYPE_BYTE_BINARY, false, 0);

// 生产条形码

bean.generateBarcode(canvas, message);

try {

canvas.finish();

} catch (IOException e) {

}

return ous.toByteArray();

}

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值