From 3002486dad95464e124b2aee02ff880d3003c903 Mon Sep 17 00:00:00 2001
From: 18516761980 <4761516tqsxp>
Date: 星期一, 07 六月 2021 14:40:30 +0800
Subject: [PATCH] #
---
src/main/java/com/slcf/controller/MatCodeController.java | 88 ++++++++++++++++++-----------
src/main/java/com/slcf/util/BarcodeUtils.java | 78 ++++++++++++++++++++++++++
.idea/kls-asrs.iml | 4 +
pom.xml | 1
4 files changed, 135 insertions(+), 36 deletions(-)
diff --git a/.idea/kls-asrs.iml b/.idea/kls-asrs.iml
index 1599a5f..b959d17 100644
--- a/.idea/kls-asrs.iml
+++ b/.idea/kls-asrs.iml
@@ -4,7 +4,9 @@
<facet type="jpa" name="JPA">
<configuration>
<setting name="validation-enabled" value="true" />
- <datasource-mapping />
+ <datasource-mapping>
+ <factory-entry name="kls-asrs" />
+ </datasource-mapping>
<naming-strategy-map />
</configuration>
</facet>
diff --git a/pom.xml b/pom.xml
index bab92ad..d67c6b0 100644
--- a/pom.xml
+++ b/pom.xml
@@ -356,7 +356,6 @@
</dependencies>
<build>
- <finalName>wms</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
diff --git a/src/main/java/com/slcf/controller/MatCodeController.java b/src/main/java/com/slcf/controller/MatCodeController.java
index 3170576..8d4e71b 100644
--- a/src/main/java/com/slcf/controller/MatCodeController.java
+++ b/src/main/java/com/slcf/controller/MatCodeController.java
@@ -11,10 +11,12 @@
import java.util.StringTokenizer;
import javax.annotation.Resource;
+import javax.imageio.ImageIO;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
+import com.slcf.util.BarcodeUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@@ -431,42 +433,60 @@
* 鐢熸垚涓�缁寸爜
* @param response
*/
+// @RequestMapping("/showCode1.action")
+// public void showCode1(HttpServletResponse response,HttpServletRequest request){
+// try {
+// response.setContentType("image/jpeg");
+// javax.servlet.ServletOutputStream servletoutputstream = response.getOutputStream();
+// response.setHeader("Pragma", "no-cache");
+// response.setHeader("Cache-Control", "no-cache");
+// response.setDateHeader("Expires", 0L);
+// try
+// {
+// BarCode barcode1 = getChart(request);
+// barcode1.setSize(barcode1.width, barcode1.height);
+// if(barcode1.autoSize)
+// {
+// BufferedImage bufferedimage = new BufferedImage(barcode1.getSize().width, barcode1.getSize().height, 13);
+// java.awt.Graphics2D graphics2d = bufferedimage.createGraphics();
+// barcode1.paint(graphics2d);
+// barcode1.invalidate();
+// graphics2d.dispose();
+// }
+// BufferedImage bufferedimage1 = new BufferedImage(barcode1.getSize().width, barcode1.getSize().height, 1);
+//// BufferedImage bufferedimage1 = new BufferedImage(barcode1.width, barcode1.height, 1);
+// java.awt.Graphics2D graphics2d1 = bufferedimage1.createGraphics();
+// barcode1.paint(graphics2d1);
+// JPEGImageEncoder jpegimageencoder = JPEGCodec.createJPEGEncoder(servletoutputstream);
+// JPEGEncodeParam jpegencodeparam = jpegimageencoder.getDefaultJPEGEncodeParam(bufferedimage1);
+// jpegencodeparam.setQuality(1.0F, true);
+// jpegimageencoder.setJPEGEncodeParam(jpegencodeparam);
+// jpegimageencoder.encode(bufferedimage1, jpegencodeparam);
+// }catch(Exception exception)
+// {
+// exception.printStackTrace();
+// }
+// }catch (Exception e) {
+// System.out.println(e.getMessage());
+// }
+// }
+
+ /**
+ * 鐢熸垚涓�缁寸爜
+ * @param response
+ */
@RequestMapping("/showCode1.action")
- public void showCode1(HttpServletResponse response,HttpServletRequest request){
- try {
- response.setContentType("image/jpeg");
- javax.servlet.ServletOutputStream servletoutputstream = response.getOutputStream();
- response.setHeader("Pragma", "no-cache");
- response.setHeader("Cache-Control", "no-cache");
- response.setDateHeader("Expires", 0L);
- try
- {
- BarCode barcode1 = getChart(request);
- barcode1.setSize(barcode1.width, barcode1.height);
- if(barcode1.autoSize)
- {
- BufferedImage bufferedimage = new BufferedImage(barcode1.getSize().width, barcode1.getSize().height, 13);
- java.awt.Graphics2D graphics2d = bufferedimage.createGraphics();
- barcode1.paint(graphics2d);
- barcode1.invalidate();
- graphics2d.dispose();
- }
- BufferedImage bufferedimage1 = new BufferedImage(barcode1.getSize().width, barcode1.getSize().height, 1);
-// BufferedImage bufferedimage1 = new BufferedImage(barcode1.width, barcode1.height, 1);
- java.awt.Graphics2D graphics2d1 = bufferedimage1.createGraphics();
- barcode1.paint(graphics2d1);
- JPEGImageEncoder jpegimageencoder = JPEGCodec.createJPEGEncoder(servletoutputstream);
- JPEGEncodeParam jpegencodeparam = jpegimageencoder.getDefaultJPEGEncodeParam(bufferedimage1);
- jpegencodeparam.setQuality(1.0F, true);
- jpegimageencoder.setJPEGEncodeParam(jpegencodeparam);
- jpegimageencoder.encode(bufferedimage1, jpegencodeparam);
- }catch(Exception exception)
- {
- exception.printStackTrace();
- }
- }catch (Exception e) {
- System.out.println(e.getMessage());
+ public void showCode1(HttpServletResponse response,HttpServletRequest request) throws IOException {
+ String matCode = request.getParameter("matCode");
+ Integer width = Integer.parseInt(request.getParameter("width"));
+ Integer height = Integer.parseInt(request.getParameter("height"));
+ BufferedImage img = BarcodeUtils.encode(matCode, width, height);
+// BufferedImage img = BarcodeUtils.encode(matCode);
+ if (!ImageIO.write(img, "jpg", response.getOutputStream())) {
+ throw new IOException("Could not write an image of format jpg");
}
+ response.getOutputStream().flush();
+ response.getOutputStream().close();
}
// public BarCode barcode;
diff --git a/src/main/java/com/slcf/util/BarcodeUtils.java b/src/main/java/com/slcf/util/BarcodeUtils.java
new file mode 100644
index 0000000..2e2f51e
--- /dev/null
+++ b/src/main/java/com/slcf/util/BarcodeUtils.java
@@ -0,0 +1,78 @@
+package com.slcf.util;
+
+import com.google.zxing.*;
+import com.google.zxing.client.j2se.BufferedImageLuminanceSource;
+import com.google.zxing.client.j2se.MatrixToImageWriter;
+import com.google.zxing.common.BitMatrix;
+import com.google.zxing.common.HybridBinarizer;
+import com.google.zxing.oned.Code128Writer;
+
+import javax.imageio.ImageIO;
+import java.awt.image.BufferedImage;
+import java.io.File;
+import java.util.HashMap;
+
+/**
+ * 鏉″舰鐮佸伐鍏�
+ * Created by vincent on 2020/6/6
+ */
+public class BarcodeUtils {
+
+ private static final int DEFAULT_WIDTH = 150;
+ private static final int DEFAULT_HEIGHT = 40;
+
+ /**
+ * 鏉″舰鐮佺紪鐮�
+ */
+ public static BufferedImage encode(String string){
+ return encode(string, null, null);
+ }
+
+ public static BufferedImage encode(String string, Integer width, Integer height){
+ if (width == null) {
+ width = DEFAULT_WIDTH;
+ }
+ if (height == null) {
+ height = DEFAULT_HEIGHT;
+ }
+ try {
+ Code128Writer writer = new Code128Writer();
+ BitMatrix bar = writer.encode(string, BarcodeFormat.CODE_128, width, height);
+ return MatrixToImageWriter.toBufferedImage(bar);
+ }
+ catch (WriterException e){ throw new RuntimeException(e); }
+ }
+
+ /**
+ * 鏉″舰鐮佽В鐮�
+ */
+ public static String decode(String imgPath) {
+ BufferedImage image = null;
+ Result result = null;
+ try {
+ image = ImageIO.read(new File(imgPath));
+ if (image == null) {
+ throw new RuntimeException("the decode image may be not exit.");
+ }
+ LuminanceSource source = new BufferedImageLuminanceSource(image);
+ BinaryBitmap bitmap = new BinaryBitmap(new HybridBinarizer(source));
+ result = new MultiFormatReader().decode(bitmap, null);
+ return result.getText();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
+
+ public static void main(String[] args) {
+ String imgPath = "F:/zxing_EAN-13.png";
+ String contents = "6926557300360";
+ int width = 105, height = 50;
+ encode(contents, width, height);
+ System.out.println("finished zxing EAN-13 encode.");
+ String decodeContent = decode(imgPath);
+ System.out.println("瑙g爜鍐呭濡備笅锛�" + decodeContent);
+ System.out.println("finished zxing EAN-13 decode.");
+ }
+
+}
--
Gitblit v1.9.1