1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- package com.kmall.admin.utils.pdf;
- import org.apache.commons.lang3.ObjectUtils;
- import org.krysalis.barcode4j.HumanReadablePlacement;
- import org.krysalis.barcode4j.impl.code128.Code128Bean;
- import org.krysalis.barcode4j.output.bitmap.BitmapCanvasProvider;
- import javax.imageio.stream.FileImageOutputStream;
- import java.awt.image.BufferedImage;
- import java.io.ByteArrayOutputStream;
- import java.io.File;
- import java.io.IOException;
- public class BarcodeUtil {
- /**
- * 生成code128条形码
- *
- * @param height 条形码的高度
- * @param width 条形码的宽度
- * @param message 要生成的文本
- * @param withQuietZone 是否两边留白
- * @param hideText 隐藏可读文本
- * @return 图片对应的字节码
- */
- public static byte[] generateBarCode128(String message, Double height, Double width, boolean withQuietZone, boolean hideText) {
- Code128Bean bean = new Code128Bean();
- // 分辨率
- int dpi = 512;
- // 设置两侧是否留白
- bean.doQuietZone(withQuietZone);
- // 设置条形码高度和宽度
- bean.setBarHeight((double) ObjectUtils.defaultIfNull(height, 9.0D));
- if (width != null) {
- bean.setModuleWidth(width);
- }
- // 设置文本位置(包括是否显示)
- if (hideText) {
- bean.setMsgPosition(HumanReadablePlacement.HRP_NONE);
- }
- // 设置图片类型
- String format = "image/png";
- ByteArrayOutputStream ous = new ByteArrayOutputStream();
- BitmapCanvasProvider canvas = new BitmapCanvasProvider(ous, format, dpi,
- BufferedImage.TYPE_BYTE_BINARY, false, 0);
- // 生产条形码
- bean.generateBarcode(canvas, message);
- try {
- canvas.finish();
- } catch (IOException e) {
- //ByteArrayOutputStream won't happen
- }
- return ous.toByteArray();
- }
- //byte数组到图片到硬盘上
- public static void byte2image(byte[] data, String path){
- if(data.length<3||path.equals("")) return;//判断输入的byte是否为空
- try{
- FileImageOutputStream imageOutput = new FileImageOutputStream(new File(path));//打开输入流
- imageOutput.write(data, 0, data.length);//将byte写入硬盘
- imageOutput.close();
- System.out.println("Make Picture success,Please find image in " + path);
- } catch(Exception ex) {
- System.out.println("Exception: " + ex);
- ex.printStackTrace();
- }
- }
- }
|