生成条形码

来源:互联网 发布:科技部人工智能会议 编辑:程序博客网 时间:2024/04/30 18:20
import java.awt.image.BufferedImage;import java.io.ByteArrayOutputStream;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.io.OutputStream;import org.krysalis.barcode4j.impl.code128.Code128Bean;import org.krysalis.barcode4j.output.bitmap.BitmapCanvasProvider;import org.krysalis.barcode4j.tools.UnitConv;public class PrintBarcode {public static void main(String[] args) {printBarcode("d:\\barcode", "12345fds6");}/** * 生成条码 *  * 引用barcode4j包 * @param localPath * @param pintStr * @return */public static String printBarcode(String localPath, String pintStr) {OutputStream out = null;final int dpi = 150;Code128Bean bean = new Code128Bean();bean.setModuleWidth(UnitConv.in2mm(1.0f / dpi));//设置高度bean.setHeight(6.5);//设置字体bean.setFontSize(2);//设置左右空白位bean.doQuietZone(true); bean.setQuietZone(0.5);File flagFile = new File(localPath);if (!flagFile.exists()) {flagFile.mkdirs();}String code = localPath + "/"+ pintStr + ".jpg";String barCode = "";try {out = new FileOutputStream(code);//两种生成方式//缓存生成ByteArrayOutputStream outByteArray = new ByteArrayOutputStream();BitmapCanvasProvider canvas = new BitmapCanvasProvider(outByteArray, "image/jpeg", dpi, BufferedImage.TYPE_BYTE_BINARY, false, 0);bean.generateBarcode(canvas, pintStr);canvas.finish();outByteArray.writeTo( out );out.flush();//直接生成/*BitmapCanvasProvider canvas = new BitmapCanvasProvider(out, "image/jpeg", dpi, BufferedImage.TYPE_BYTE_BINARY, false, 0);bean.generateBarcode(canvas, pintStr);canvas.finish();out.flush();*/} catch (Exception e) {e.printStackTrace();}finally{if (out != null) {try {out.close();} catch (IOException e) {e.printStackTrace();}}}return barCode;}}

原创粉丝点击