博客
关于我
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/

你可能感兴趣的文章
Nginx做反向代理时访问端口被自动去除
查看>>
Nginx入门教程-简介、安装、反向代理、负载均衡、动静分离使用实例
查看>>
Nginx入门简介和反向代理、负载均衡、动静分离理解
查看>>
nginx入门篇----nginx服务器基础配置
查看>>
vue中参数传不到后台去怎么办?
查看>>
nginx反向代理
查看>>
Nginx反向代理
查看>>
nginx反向代理、文件批量改名及统计ip访问量等精髓总结
查看>>
Nginx反向代理与正向代理配置
查看>>
Nginx反向代理及负载均衡实现过程部署
查看>>
Nginx反向代理和负载均衡部署指南
查看>>
Nginx反向代理是什么意思?如何配置Nginx反向代理?
查看>>
nginx反向代理解决跨域问题
查看>>
nginx反向代理解决跨域问题,使本地调试更方便
查看>>
nginx反向代理转发、正则、重写、负摘均衡配置案例
查看>>
Nginx反向代理配置
查看>>
Nginx启动SSL功能,并进行功能优化,你看这个就足够了
查看>>
nginx启动脚本
查看>>
Nginx和Tomcat的区别
查看>>
Nginx在Windows上和Linux上(Docker启动)分别配置基本身份认证示例
查看>>