POM依赖
<dependency>
<groupId>net.sf.barcode4j</groupId>
<artifactId>barcode4j</artifactId>
<version>2.1</version>
</dependency>
BarcodeUtil工具类
import org.junit.Test;
import org.apache.commons.io.FileUtils;
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;
public class BarcodeUtil {
public static byte[] generateBarCode128(String message, boolean withQuietZone, boolean hideText, int dpi) {
Code128Bean bean = new Code128Bean();
bean.doQuietZone(withQuietZone);
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, true, 0);
bean.generateBarcode(canvas, message);
try {
canvas.finish();
return ous.toByteArray();
} catch (IOException e) {
e.printStackTrace();
return null;
}
}
public static void generateBarCode128(String message, boolean withQuietZone, boolean hideText, String filePath, int dpi) {
Code128Bean bean = new Code128Bean();
bean.doQuietZone(withQuietZone);
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, true, 0);
bean.generateBarcode(canvas, message);
try {
canvas.finish();
FileUtils.writeByteArrayToFile(new File(filePath), ous.toByteArray());
} catch (IOException e) {
e.printStackTrace();
}
}
@Test
public void test() {
try {
BarcodeUtil.generateBarCode128("SKU123456", true, false, "D:\\SKU123456.png", 600);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
}
生成结果
