From ca734d69ab3937bac864b4361317a49dd15a7882 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期一, 08 七月 2024 17:14:43 +0800
Subject: [PATCH] 骑缝章完成

---
 inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsReportServiceImpl.java |   33 ++++++++++++++++++++-------------
 inspect-server/src/main/java/com/yuanchu/mom/service/InsReportService.java          |    2 +-
 2 files changed, 21 insertions(+), 14 deletions(-)

diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/InsReportService.java b/inspect-server/src/main/java/com/yuanchu/mom/service/InsReportService.java
index 8723b42..0b1a01e 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/service/InsReportService.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/service/InsReportService.java
@@ -16,7 +16,7 @@
 
     Map<String,Object> pageInsReport(Page page, ReportPageDto reportPageDto);
 
-    void wordToPdf(String path);
+    void wordToPdf(String path,String sealUrl);
 
     int inReport(String url, Integer id);
 
diff --git a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsReportServiceImpl.java b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsReportServiceImpl.java
index 7033aec..f238926 100644
--- a/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsReportServiceImpl.java
+++ b/inspect-server/src/main/java/com/yuanchu/mom/service/impl/InsReportServiceImpl.java
@@ -189,9 +189,9 @@
             put("seal1", Pictures.ofLocal(imgUrl + "/" + sealUrl).create());
             put("seal2", Pictures.ofLocal(imgUrl + "/" + sealUrl).create());
         }}, finalUrl);
-        wordToPdf(finalUrl);
+        wordToPdf(finalUrl,sealUrl);
 
-        String replace = finalUrl.replace(".docx", ".pdf");
+       /* String replace = finalUrl.replace(".docx", ".pdf");
         CompletableFuture.supplyAsync(() -> {
             try {
                 stamperCheckMarkPDF(replace,replace,sealUrl);
@@ -203,7 +203,7 @@
         }).exceptionally(e -> {
             e.printStackTrace();
             return null;
-        });
+        });*/
 
         InsOrder insOrder = new InsOrder();
         insOrder.setId(insReportMapper.selectById(id).getInsOrderId());
@@ -224,10 +224,10 @@
     }
 
     @Override
-    public void wordToPdf(String path) {
+    public void wordToPdf(String path,String sealUrl) {
         CompletableFuture.supplyAsync(() -> {
             try {
-                wordToPdf(path, path.replace(".docx", ".pdf"));
+                wordToPdf(path, path.replace(".docx", ".pdf"),sealUrl);
                 return null;
             } catch (Exception e) {
                 throw new ErrorException("杞崲澶辫触");
@@ -239,7 +239,7 @@
         });
     }
 
-    public String wordToPdf(String wordPath, String pdfPath) {
+    public String wordToPdf(String wordPath, String pdfPath,String sealUrl) {
         FileOutputStream os = null;
         try {
             //鍑瘉 涓嶇劧鍒囨崲鍚庢湁姘村嵃
@@ -264,11 +264,16 @@
                 return null;
             }
             //鐢熸垚涓�涓┖鐨凱DF鏂囦欢
-            File file = new File(pdfPath);
+            File file = new File(pdfPath.replace(".pdf","-1.pdf"));
             os = new FileOutputStream(file);
             //瑕佽浆鎹㈢殑word鏂囦欢
             com.aspose.words.Document doc = new com.aspose.words.Document(wordPath);
             doc.save(os, SaveFormat.PDF);
+
+            //娣诲姞楠戠紳绔�
+            stamperCheckMarkPDF(pdfPath.replace(".pdf","-1.pdf"),pdfPath,imgUrl + "/" +sealUrl);
+
+
         } catch (Exception e) {
             e.printStackTrace();
         } finally {
@@ -290,8 +295,8 @@
      */
     public static com.itextpdf.text.Image[] slicingImages(String Path, int n) throws IOException, BadElementException {
         com.itextpdf.text.Image[] nImage = new  com.itextpdf.text.Image[n];
-        ByteArrayOutputStream out = new ByteArrayOutputStream();
         BufferedImage img = ImageIO.read(new File(Path));
+
         int h = img.getHeight();
         int w = img.getWidth();
 
@@ -303,11 +308,10 @@
             }else {//鍓峮-1鍧楀潎鍖�鍒�
                 subImg = img.getSubimage(i * sw, 0, sw, h);
             }
-
+            ByteArrayOutputStream out = new ByteArrayOutputStream();
             ImageIO.write(subImg,Path.substring(Path.lastIndexOf('.')+1),out);
             nImage[i] = com.itextpdf.text.Image.getInstance(out.toByteArray());
-            out.flush();
-            out.reset();
+
         }
         return nImage;
     }
@@ -322,6 +326,7 @@
         PdfReader reader = new PdfReader(infilePath);//閫夋嫨闇�瑕佸嵃绔犵殑pdf
         PdfStamper stamp = new PdfStamper(reader, new FileOutputStream(outFilePath));//鍔犲畬鍗扮珷鍚庣殑pdf
 
+
         com.itextpdf.text.Rectangle pageSize = reader.getPageSize(1);//鑾峰緱绗竴椤�
         float height = pageSize.getHeight();
         float width  = pageSize.getWidth();
@@ -329,11 +334,13 @@
         int nums = reader.getNumberOfPages();
         com.itextpdf.text.Image[] nImage =  slicingImages(picPath,nums);//鐢熸垚楠戠紳绔犲垏鍓插浘鐗�
 
-
         for(int n=1;n<=nums;n++){
             PdfContentByte over = stamp.getOverContent(n);//璁剧疆鍦ㄧ鍑犻〉鎵撳嵃鍗扮珷
             com.itextpdf.text.Image img = nImage[n-1];//閫夋嫨鍥剧墖
-            img.setAbsolutePosition(width-img.getWidth(),height/2-img.getHeight()/2);//鎺у埗鍥剧墖浣嶇疆
+            float newHeight = 100f;
+            float newWidth = img.getWidth()/(img.getHeight()/100);
+            img.scaleAbsolute(newWidth,newHeight);//鎺у埗鍥剧墖澶у皬
+            img.setAbsolutePosition(width-newWidth,height/2-newHeight/2);//鎺у埗鍥剧墖浣嶇疆
             over.addImage(img);
         }
         stamp.close();

--
Gitblit v1.9.3