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;
}
}
生成条形码
最新推荐文章于 2022-06-02 12:04:01 发布