博客
关于我
barcode4j 条形码生成
阅读量:130 次
发布时间:2019-02-26

本文共 2173 字,大约阅读时间需要 7 分钟。

barcode4j 依赖的lib包略显臃肿,其中包括了/servelet-api,

因此本次选择的是轻量级的版本barcode4j-light

pom.xml添加

net.sf.barcode4j
barcode4j-light
2.0

BarcodeUtil工具类

import java.awt.image.BufferedImage;import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.OutputStream;import org.apache.commons.lang.StringUtils;import org.krysalis.barcode4j.impl.code39.Code39Bean;import org.krysalis.barcode4j.output.bitmap.BitmapCanvasProvider;import org.krysalis.barcode4j.tools.UnitConv; /** * 条形码工具类 * * @author liunn * @createDate 2019年07月29日 * */public class BarcodeUtil {     /**     * 根据信息生成图片文件     *     * @param msg     * @param path     * @return File     */    public static File generateFile(String msg, String path) {        File file = new File(path);        try {            generate(msg, new FileOutputStream(file));        } catch (FileNotFoundException e) {            throw new RuntimeException(e);        }        return file;    }        /**     * 生成流输出到指定目录     *     * @param msg     * @param ous     */    public static void generate(String msg, OutputStream ous) {        if (StringUtils.isEmpty(msg) || ous == null) {            return;        }         Code39Bean bean = new Code39Bean();         // 精细度        final int dpi = 150;        // module宽度        final double moduleWidth = UnitConv.in2mm(1.0f / dpi);         // 配置对象        bean.setModuleWidth(moduleWidth);        bean.setWideFactor(3);        bean.doQuietZone(false);         String format = "image/png";        try {             // 输出到流            BitmapCanvasProvider canvas = new BitmapCanvasProvider(ous, format, dpi,                    BufferedImage.TYPE_BYTE_BINARY, false, 0);             // 生成条形码            bean.generateBarcode(canvas, msg);             // 结束绘制            canvas.finish();        } catch (IOException e) {            throw new RuntimeException(e);        }    }     public static void main(String[] args) {        //条形码信息        String msg = "liunnDjj";        //图片文件保存路径        String path = "D:/liunnDjj.png";        generateFile(msg, path);    }}

运行main方法后会在D盘生成liunnDjj.png文件

转载地址:http://idof.baihongyu.com/

你可能感兴趣的文章
Nacos2.X 配置中心源码分析:客户端如何拉取配置、服务端配置发布客户端监听机制
查看>>
Nacos2.X源码分析:服务注册、服务发现流程
查看>>
NacosClient客户端搭建,微服务注册进nacos
查看>>
Nacos中使用ribbon
查看>>
Nacos使用OpenFeign
查看>>
Nacos使用Ribbon
查看>>
Nacos做注册中心使用
查看>>
Nacos做配置中心使用
查看>>
Nacos入门过程的坑--获取不到配置的值
查看>>
Nacos原理
查看>>
Nacos发布0.5.0版本,轻松玩转动态 DNS 服务
查看>>
Nacos启动异常
查看>>
Nacos命名空间配置_每个人用各自自己的命名空间---SpringCloud Alibaba_若依微服务框架改造---工作笔记001
查看>>
Nacos和Zookeeper对比
查看>>
Nacos在双击startup.cmd启动时提示:Unable to start embedded Tomcat
查看>>
Nacos基础版 从入门到精通
查看>>
Nacos如何实现Raft算法与Raft协议原理详解
查看>>
Nacos安装教程(非常详细)从零基础入门到精通,看完这一篇就够了
查看>>
Nacos实战攻略:从入门到精通,全面掌握服务治理与配置管理!(上)
查看>>
Nacos实战攻略:从入门到精通,全面掌握服务治理与配置管理!(下)
查看>>