package zxing.test;import com.google.zxing.BarcodeFormat;import com.google.zxing.EncodeHintType;import com.google.zxing.MultiFormatWriter;import com.google.zxing.WriterException;import com.google.zxing.client.j2se.MatrixToImageWriter;import com.google.zxing.common.BitMatrix;import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;import java.io.ByteArrayOutputStream;import java.io.IOException;import java.io.OutputStream;import java.util.HashMap;import java.util.Map;import java.util.logging.Level;import java.util.logging.Logger;import org.apache.commons.codec.binary.Base64;/** * @作者 yan * @创建日期 * @版本 V1.0 * @描述 */public class QrCodeUtil { /** * 生成二维码,返回二维码Base64编码 * @param content * @param size * @param imgFormt * @return */ public static String createQrCodeBase64(String content, int size, String imgFormt){ ByteArrayOutputStream baos = new ByteArrayOutputStream(); try { Maphints = new HashMap (); hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.L); hints.put(EncodeHintType.CHARACTER_SET, "UTF-8"); BitMatrix bitMatrix = new MultiFormatWriter().encode(content,BarcodeFormat.QR_CODE, size, size, hints); MatrixToImageWriter.writeToStream(bitMatrix, imgFormt, baos); } catch (WriterException ex) { Logger.getLogger(QrCodeUtil.class.getName()).log(Level.SEVERE, null, ex); } catch (IOException ex) { Logger.getLogger(QrCodeUtil.class.getName()).log(Level.SEVERE, null, ex); } byte result [] = baos.toByteArray(); return Base64.encodeBase64String(result); } /** * 生成二维码,保存到output * @param output * @param content * @param size * @param imgFormt * @return */ public static boolean createQrCode(OutputStream output, String content, int size, String imgFormt){ try { Map hints = new HashMap (); hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.L); hints.put(EncodeHintType.CHARACTER_SET, "UTF-8"); BitMatrix bitMatrix = new MultiFormatWriter().encode(content,BarcodeFormat.QR_CODE, size, size, hints); MatrixToImageWriter.writeToStream(bitMatrix, imgFormt, output); return true; } catch (WriterException ex) { Logger.getLogger(QrCodeUtil.class.getName()).log(Level.SEVERE, null, ex); } catch (IOException ex) { Logger.getLogger(QrCodeUtil.class.getName()).log(Level.SEVERE, null, ex); } return false; }}
jar:
zxing-core-3.2.0.jar
zxing-javase-3.2.0.jar