• 条形码生成工具类


    package cn.com.utils;
    
    import com.google.zxing.BarcodeFormat;
    import com.google.zxing.EncodeHintType;
    import com.google.zxing.MultiFormatWriter;
    import com.google.zxing.client.j2se.MatrixToImageWriter;
    import com.google.zxing.common.BitMatrix;
    import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;
    import lombok.extern.slf4j.Slf4j;
    import org.apache.commons.io.FileUtils;
    import org.springframework.stereotype.Component;
    import org.springframework.util.Base64Utils;
    import java.io.File;
    import java.io.FileInputStream;
    import java.nio.file.Path;
    import java.util.HashMap;
    import java.util.Map;
    
    public class BarUtils {
    
        /**
         * 绘制条形码
         *
         * @param content   要生成条形码包含的内容
         * @return 返回生成条形的位图
         */
        public static File createBarcode(String content) throws Exception {
            final int width = 180;
            final int height = 50;
            final String format = "png";
            //配置参数
            Map<EncodeHintType, Object> hints = new HashMap<>();
            hints.put(EncodeHintType.CHARACTER_SET, "utf-8");
            // 容错级别 这里选择最高H级别
            hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.H);
            MultiFormatWriter writer = new MultiFormatWriter();
            // 图像数据转换,使用了矩阵转换 参数顺序分别为:编码内容,编码类型,生成图片宽度,生成图片高度,设置参数
            BitMatrix bitMatrix = writer.encode(content, BarcodeFormat.CODE_128, width, height, hints);
            Path file = File.createTempFile("message_barcode_",".png").toPath();
            MatrixToImageWriter.writeToPath(bitMatrix, format, file);
            return file.toFile();
        }
    
    
        /**
         * 绘制条形码
         *
         * @param file   要编码的file
         * @return 返回base64编码后的字符串
         */
        public static String encodeImage(File file) throws Exception {
            FileInputStream fileInputStream = FileUtils.openInputStream(file);
            byte[] buffer = new byte[(int) file.length()];
            fileInputStream.read(buffer);
            fileInputStream.close();
            return Base64Utils.encodeToString(buffer);
        }
    
    
    }

    条形码生成工具类

  • 相关阅读:
    update condition 字段报错
    Xshell连接Linux服务器总掉线
    sleep php函数
    ubuntu 16.04 镜像下载
    多线程Parallel和Task
    AngularJS 时间格式化
    正则表达式
    手机抓包
    内存泄漏
    字符集编码和排列规则
  • 原文地址:https://www.cnblogs.com/bevis-byf/p/12015404.html
Copyright © 2020-2023  润新知