zoukankan      html  css  js  c++  java
  • java生成128A条形码

    添加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");
    //    }
    //    
    }
  • 相关阅读:
    【MySQL】学生成绩
    【MySQL】统计累计求和
    【MySQL】查询不在表中的数据
    【MySQL】排名函数
    【Python】数据处理分析,一些问题记录
    【Github】如何下载csv文件/win10如何修改txt文件为csv文件
    【Windows】github无法访问/hosts文件只能另存为txt
    【C/C++】拔河比赛/分组/招商银行
    【C/C++】金币
    【C/C++】旋转数组的最小数字/ 剑指offer
  • 原文地址:https://www.cnblogs.com/linbky/p/12091248.html
Copyright © 2011-2022 走看看