fei
1 天以前 e899d2709f21b322232fb64778fef296233be3f0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
package com.ruoyi.service.impl;
 
import org.krysalis.barcode4j.impl.code128.Code128Bean;
import org.krysalis.barcode4j.output.bitmap.BitmapCanvasProvider;
import org.springframework.stereotype.Service;
 
import java.awt.image.BufferedImage;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
 
@Service
 
public class BarcodeService {
    public byte[] generateBarcodeImage(String barcodeText) {
        try {
            Code128Bean barcodeGenerator = new Code128Bean();
            final int dpi = 160;
            barcodeGenerator.setModuleWidth(0.21);
            barcodeGenerator.doQuietZone(false);
 
            ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
            BitmapCanvasProvider canvas = new BitmapCanvasProvider(
                    outputStream, "image/png", dpi, BufferedImage.TYPE_BYTE_BINARY, false, 0);
 
            barcodeGenerator.generateBarcode(canvas, barcodeText);
            canvas.finish();
 
            return outputStream.toByteArray();
        } catch (IOException e) {
            throw new RuntimeException("Error generating barcode", e);
        }
    }
}