java实现条形码一维码JBarcode打印
因为公司最近得项目需要一个打印一维码的功能,百度了很多相关文章,自己重新整理了一下,生成一个工具类,可以直接实现生成一维码的功能,源代码如下:
开始前必须引入jbarcode包
org.jbarcode
jbarcode
0.2.8
工具类BarcodeUtils源代码如下:
public class BarcodeUtils {
// 设置条形码的高度
private static final int BARCODE_HEIGHT = 65;
// 设置条形码的分辨率
private static final int BARCODE_DPI = 300;
public static void createBarcode(String message, String fileName)
{
try
{
JBarcode localJBarcode = new JBarcode(EAN13Encoder.getInstance(), WidthCodedPainter.getInstance(), EAN13TextPainter.getInstance());
//生成. 欧洲商品条码(=European Article Number)
//这里我们用作图书条码
BufferedImage localBufferedImage = localJBarcode.createBarcode(message);
saveToGIF(localBufferedImage, fileName);
localJBarcode.setEncoder(Code39Encoder.getInstance());
localJBarcode.setPainter(WideRatioCodedPainter.getInstance());
localJBarcode.setTextPainter(BaseLineTextPainter.getInstance());
localJBarcode.setBarHeight(BARCODE_HEIGHT);
localJBarcode.setShowCheckDigit(false);
}
catch (Exception localException)
{
localException.printStackTrace();
}
}
static void saveToJPEG(BufferedImage paramBufferedImage, String paramString)
{
saveToFile(paramBufferedImage, paramString, "jpeg");
}
static void saveToPNG(BufferedImage paramBufferedImage, String paramString)
{
saveToFile(paramBufferedImage, paramString, "png");
}
static void saveToGIF(BufferedImage paramBufferedImage, String paramString)
{
saveToFile(paramBufferedImage, paramString, "gif");
}
static void saveToFile(BufferedImage paramBufferedImage, String paramString1, String paramString2)
{
try
{
FileOutputStream localFileOutputStream = new FileOutputStream("D:/A/" + paramString1);
ImageUtil.encodeAndWrite(paramBufferedImage, paramString2, localFileOutputStream, BARCODE_DPI, BARCODE_DPI);
localFileOutputStream.close();
}
catch (Exception localException)
{
localException.printStackTrace();
}
}
//测试
public static void main(String[] args){
String message="788515004012";
String fileName ="788515004012.jpg";
BarcodeUtils.createBarcode(message, fileName);
}
}