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 }