添加maven依赖
<dependency> <groupId>net.sf.barcode4j</groupId> <artifactId>barcode4j-light</artifactId> <version>2.0</version> </dependency>
package com.yutong.common.utils.print; import java.util.*; import org.krysalis.barcode4j.impl.code128.Code128Bean; import org.krysalis.barcode4j.output.bitmap.BitmapCanvasProvider; import org.krysalis.barcode4j.tools.UnitConv; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import com.yutong.common.utils.StringUtils; import java.awt.image.BufferedImage; import java.io.*; public class BarCodeUtil { private static Logger logger = LoggerFactory.getLogger(BarCodeUtil.class); /** * 生成包裹单号条形码 * @param text * @param path */ public static File generateBarCode(String text,String path){ BitmapCanvasProvider canvas = null; File file = null; OutputStream ous = null; try { text = text.toUpperCase(); file=new File(path); ous=new FileOutputStream(file); if(StringUtils.isEmpty(text) || ous==null) return null; //选择条形码类型(好多类型可供选择) Code128Bean bean=new Code128Bean(); //设置长宽 final int dpi = 150; bean.setModuleWidth(UnitConv.in2mm(1.8 / dpi)); // bean.setHeight(9.5); bean.doQuietZone(true); String format = "image/x-png"; // 输出流 canvas = new BitmapCanvasProvider(ous, format, dpi, BufferedImage.TYPE_BYTE_BINARY, false, 0); //生成条码 bean.generateBarcode(canvas,text); }catch (IOException e) { logger.info("生成包裹单号条形码异常"+e); }finally { if(canvas!=null){ try { canvas.finish(); ous.flush(); ous.close(); } catch (IOException e) { logger.info("canvas.finish异常"+e); } } } return new File(path); } // // public static void main(String[] args) { // generatePakageNumberBarCode("kd20191211081-1-1","D://包裹单.png"); // } // }