BarcodeGenerator.java
1.33 KB
package com.lego.common.utils;
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 BarcodeGenerator {
public static byte[] generateBarcodeImage(String barcodeText) {
try {
Code128Bean barcodeGenerator = new Code128Bean();
final int dpi = 100;
// Configure the barcode generator
barcodeGenerator.setModuleWidth(0.5);
barcodeGenerator.setBarHeight(8.5);
barcodeGenerator.doQuietZone(false);
barcodeGenerator.setMsgPosition(HumanReadablePlacement.HRP_NONE);
// Create the barcode canvas
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
BitmapCanvasProvider canvas = new BitmapCanvasProvider(outputStream, "image/png", dpi, BufferedImage.TYPE_BYTE_BINARY, false, 0);
// Generate the barcode
barcodeGenerator.generateBarcode(canvas, barcodeText);
canvas.finish();
return outputStream.toByteArray();
} catch (IOException e) {
throw new RuntimeException("Error generating barcode", e);
}
}
}