From d75341ae8531bf0fb5fb705867b389c5a7e577a3 Mon Sep 17 00:00:00 2001 From: "pref_mail@163.com" <123456> Date: Thu, 10 Aug 2023 10:36:35 +0800 Subject: [PATCH] =?UTF-8?q?rp:=E5=B0=9D=E8=AF=95=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E5=9B=BE=E7=89=87=E4=B9=B1=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- blade-biz-common/pom.xml | 2 + .../springblade/common/utils/QRCodeUtil.java | 4 +- .../common/utils/TemplateUtil.java | 119 +++++++++++++++++- .../DistributionStockArticleServiceImpl.java | 39 +++++- 4 files changed, 155 insertions(+), 9 deletions(-) diff --git a/blade-biz-common/pom.xml b/blade-biz-common/pom.xml index 6900f0b0e..891306825 100644 --- a/blade-biz-common/pom.xml +++ b/blade-biz-common/pom.xml @@ -73,6 +73,8 @@ core-renderer R8 + + commons-io commons-io diff --git a/blade-biz-common/src/main/java/org/springblade/common/utils/QRCodeUtil.java b/blade-biz-common/src/main/java/org/springblade/common/utils/QRCodeUtil.java index f7645beed..7f45e8581 100644 --- a/blade-biz-common/src/main/java/org/springblade/common/utils/QRCodeUtil.java +++ b/blade-biz-common/src/main/java/org/springblade/common/utils/QRCodeUtil.java @@ -53,7 +53,7 @@ public class QRCodeUtil { // ClassLoader classLoader = QRCodeUtil.class.getClassLoader(); // URL resource = classLoader.getResource("resources/static/"); // File file = new File(resource.getFile()); - String imgPath = "/resources/static/"; + String imgPath = QRCodeUtil.class.getResource("").getPath()+path; File codeImgFileSaveDir = new File(imgPath); //1. 使用UUID重新生成文件名,防止文件名称重复造成文件覆盖 String fileName = UUID.randomUUID() + "." +FileFormat; @@ -81,7 +81,7 @@ public class QRCodeUtil { public static String createCodeToFileType(String content) { try { //getResource("/")等同于到resource文件夹下 - String imgPath = "/resources/static/"; + String imgPath = QRCodeUtil.class.getResource("").getPath()+path; File codeImgFileSaveDir = new File(imgPath); //1. 使用UUID重新生成文件名,防止文件名称重复造成文件覆盖 String fileName = UUID.randomUUID() + "." +FileFormat; diff --git a/blade-biz-common/src/main/java/org/springblade/common/utils/TemplateUtil.java b/blade-biz-common/src/main/java/org/springblade/common/utils/TemplateUtil.java index 2ed45263f..86c476e8b 100644 --- a/blade-biz-common/src/main/java/org/springblade/common/utils/TemplateUtil.java +++ b/blade-biz-common/src/main/java/org/springblade/common/utils/TemplateUtil.java @@ -7,6 +7,10 @@ import freemarker.template.TemplateExceptionHandler; import org.apache.commons.io.IOUtils; import org.slf4j.LoggerFactory; import org.w3c.dom.Document; +import org.xhtmlrenderer.css.value.FontSpecification; +import org.xhtmlrenderer.extend.FontResolver; +import org.xhtmlrenderer.layout.SharedContext; +import org.xhtmlrenderer.render.FSFont; import org.xhtmlrenderer.swing.Java2DRenderer; import javax.imageio.ImageIO; @@ -14,10 +18,7 @@ import javax.servlet.http.HttpServletResponse; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import java.awt.image.BufferedImage; -import java.io.ByteArrayInputStream; -import java.io.IOException; -import java.io.InputStream; -import java.io.StringWriter; +import java.io.*; import java.net.HttpURLConnection; import java.net.URL; import java.util.Map; @@ -93,12 +94,15 @@ public class TemplateUtil { BufferedImage img =null; try { html = getTemplateByUrl(template, map,url); + System.out.println(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"+html); byte[] bytes=html.getBytes(); ByteArrayInputStream bin=new ByteArrayInputStream(bytes); DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance(); DocumentBuilder builder=factory.newDocumentBuilder(); + Document document=builder.parse(bin); Java2DRenderer renderer = new Java2DRenderer(document,width,height); + img = renderer.getImage(); } catch (Exception e) { e.printStackTrace(); @@ -106,6 +110,106 @@ public class TemplateUtil { return img; } + public static BufferedImage makePic(Integer width,Integer height){ + String html = null; + BufferedImage img =null; + try { +// html = getTemplateByUrl(template, map,url); + html = "\n" + + "
\n" + + " \n" + + "
\n" + + " \n" + + "\n" + + "
\n" + + "
包条码
\n" + + "
\n" + + "
\n" + + " \n" + + "
\n" + + "
发站仓:
\n" + + " 目的仓:\n" + + " 经销商编码:S009177 广汉市TJH\n" + + "
\n" + + "
\n" + + "\n" + + "
\n" + + "
\n" + + " 运单号\n" + + " QY23080004\n" + + " 订单自编号\n" + + " BNLZC广汉市230500001CA1-1遗4\n" + + "
\n" + + "
\n" + + "
\n" + + "
\n" + + "
\n" + + "
\n" + + "
\n" + + " \n" + + " 23072200246-1\n" + + "
\n" + + "
\n" + + "
\n" + + "
\n" + + "
橱柜/橱柜配件/百货小配件
\n" + + "
OP-ZT001-A/U形枕
\n" + + "
运单件数:
\n" + + "
订单总件数:1
\n" + + "
\n" + + "
\n" + + "
\n" + + "
\n" + + "
\n" + + "
\n" + + "
商场
\n" + + "
德阳欧派大家居
\n" + + "
\n" + + "
\n" + + "
客户
\n" + + "
\n" + + "
周利平
\n" + + "
18990272565
\n" + + "
中国四川省德阳市广汉市,金科25栋3单元1001
\n" + + "
\n" + + "
\n" + + "
\n" + + "
\n" + + "\n" + + "\n" + + "
\n" + + "
\n" + + "\n" + + "\n" ; + byte[] bytes=html.getBytes(); + ByteArrayInputStream bin=new ByteArrayInputStream(bytes); + DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance(); + DocumentBuilder builder=factory.newDocumentBuilder(); + Document document=builder.parse(bin); + Java2DRenderer renderer = new Java2DRenderer(document,width,height); + img = renderer.getImage(); + + try { + File file = new File("f://11.png"); + ImageIO.write(img, "png", file); + } catch (IOException e) { + e.printStackTrace(); + } + + } catch (Exception e) { + e.printStackTrace(); + } + return img; + } + /** * ftl模板生成图片 * @param template @@ -178,4 +282,11 @@ public class TemplateUtil { return DestImage; } + + public static void main(String[] args) { + + makePic(120, 300); + + + } } diff --git a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockArticleServiceImpl.java b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockArticleServiceImpl.java index 526c3e9b5..d45c49df4 100644 --- a/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockArticleServiceImpl.java +++ b/blade-service/logpm-distribution/src/main/java/com/logpm/distribution/service/impl/DistributionStockArticleServiceImpl.java @@ -54,13 +54,16 @@ import org.springblade.core.tool.utils.ObjectUtil; import org.springblade.system.cache.DictBizCache; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import sun.misc.BASE64Encoder; import javax.imageio.ImageIO; import javax.servlet.ServletOutputStream; import javax.servlet.http.HttpServletResponse; import java.awt.image.BufferedImage; import java.io.File; +import java.io.FileInputStream; import java.io.IOException; +import java.io.InputStream; import java.math.BigDecimal; import java.util.*; import java.util.concurrent.ScheduledThreadPoolExecutor; @@ -407,8 +410,12 @@ public class DistributionStockArticleServiceImpl extends BaseServiceImpl>>>> 文件路径{}",filename); + log.info(">>>>> 文件路径{}",filetypeName); +// params.put("img",getEmpAutograph(filename)); +// params.put("imgType",getEmpAutograph(filetypeName)); params.put("imgType","/"+filetypeName); //查询订单号 String o =(String) params.get("id"); @@ -440,6 +447,32 @@ public class DistributionStockArticleServiceImpl extends BaseServiceImpl getPrintTemplates(Map params, HttpServletResponse response) { String templateByUrl = null; @@ -456,9 +489,9 @@ public class DistributionStockArticleServiceImpl extends BaseServiceImpl