生成二维码

 1 package cn.youge.utils;
 2 
 3 import org.jbarcode.JBarcode;
 4 import org.jbarcode.encode.Code128Encoder;
 5 import org.jbarcode.encode.Code39Encoder;
 6 import org.jbarcode.encode.EAN13Encoder;
 7 import org.jbarcode.paint.BaseLineTextPainter;
 8 import org.jbarcode.paint.EAN13TextPainter;
 9 import org.jbarcode.paint.WideRatioCodedPainter;
10 import org.jbarcode.paint.WidthCodedPainter;
11 import org.jbarcode.util.ImageUtil;
12 
13 import java.awt.image.BufferedImage;
14 import java.io.FileOutputStream;
15 import java.text.SimpleDateFormat;
16 
17 public class BarCodeImage {
18     public static void main(String[] paramArrayOfString) {
19         try {
20             JBarcode localJBarcode = new JBarcode(Code128Encoder.getInstance(), WidthCodedPainter.getInstance(), EAN13TextPainter.getInstance());
21             //  生成. 欧洲商品条码(=European Article Number)
22             //  生成时间戳
23             SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddhhmmss");
24 
25             //  这里我们用作图书条码
26             String str = "S0000001";
27             // 尺寸,面积,大小
28             localJBarcode.setXDimension(Double.valueOf(0.3).doubleValue());
29             // 条形码高度
30             localJBarcode.setBarHeight(Double.valueOf(7).doubleValue());
31             // 宽度率
32             localJBarcode.setWideRatio(Double.valueOf(7).doubleValue());
33 
34             BufferedImage localBufferedImage = localJBarcode.createBarcode(str);
35             //  UPC标准格式
36             saveToPNG(localBufferedImage, "13.png");
37             //  设置编码格式
38             localJBarcode.setEncoder(Code128Encoder.getInstance());
39             localJBarcode.setPainter(WideRatioCodedPainter.getInstance());
40             localJBarcode.setTextPainter(BaseLineTextPainter.getInstance());
41 
42             // 尺寸,面积,大小
43             localJBarcode.setXDimension(Double.valueOf(0.4).doubleValue());
44             // 条形码高度
45             localJBarcode.setBarHeight(Double.valueOf(7).doubleValue());
46             // 宽度率
47             localJBarcode.setWideRatio(Double.valueOf(2).doubleValue());
48 
49             //  是否生成校验码
50             localJBarcode.setShowCheckDigit(false);
51 
52             //  设置条码的内容
53             str = "S000001";
54             localBufferedImage = localJBarcode.createBarcode(str);
55             //  设置生成图片的名字
56 //            saveToPNG(localBufferedImage, "Code128.png");
57 
58         } catch (Exception localException) {
59             localException.printStackTrace();
60         }
61     }
62 
63     static void saveToJPEG(BufferedImage paramBufferedImage, String paramString) {
64         saveToFile(paramBufferedImage, paramString, "jpeg");
65     }
66 
67     static void saveToPNG(BufferedImage paramBufferedImage, String paramString) {
68         saveToFile(paramBufferedImage, paramString, "png");
69     }
70 
71     static void saveToGIF(BufferedImage paramBufferedImage, String paramString) {
72         saveToFile(paramBufferedImage, paramString, "gif");
73     }
74 
75     static void saveToFile(BufferedImage paramBufferedImage, String paramString1, String paramString2) {
76         try {
77             FileOutputStream localFileOutputStream = new FileOutputStream("f:/temp/" + paramString1);
78             ImageUtil.encodeAndWrite(paramBufferedImage, paramString2, localFileOutputStream, 96, 96);
79             localFileOutputStream.close();
80         } catch (Exception localException) {
81             localException.printStackTrace();
82         }
83     }
84 }

 

posted @ 2017-09-18 15:46  icuke  阅读(179)  评论(0)    收藏  举报