From e3f8089c830d5c6e7477090cf447bed65e80be9f Mon Sep 17 00:00:00 2001
From: zhijie <1003392067@qq.com>
Date: 星期一, 19 九月 2022 00:38:39 +0800
Subject: [PATCH] 优化导出报告

---
 src/main/java/com/ots/project/tool/ShellTool.java |   53 +++++++++++++++++++++++++++++++----------------------
 1 files changed, 31 insertions(+), 22 deletions(-)

diff --git a/src/main/java/com/ots/project/tool/ShellTool.java b/src/main/java/com/ots/project/tool/ShellTool.java
index 5f65299..2b4c2c8 100644
--- a/src/main/java/com/ots/project/tool/ShellTool.java
+++ b/src/main/java/com/ots/project/tool/ShellTool.java
@@ -1,10 +1,35 @@
 package com.ots.project.tool;
+import com.ots.common.utils.spring.SpringUtils;
+import com.ots.common.utils.text.CharsetKit;
 import lombok.extern.slf4j.Slf4j;
+import org.jodconverter.core.DocumentConverter;
+import org.jodconverter.core.office.OfficeException;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.PostConstruct;
 import java.io.*;
+import java.util.concurrent.ScheduledExecutorService;
 
 @Slf4j
+@Component
 public class ShellTool {
-    
+
+    @Autowired
+    private DocumentConverter documentConverter;
+    private static ShellTool shellTool;
+
+    @PostConstruct
+    public void init(){
+        shellTool = this;
+        shellTool.documentConverter = documentConverter;
+    }
+
+    public static ShellTool builder(){
+        return shellTool;
+    }
+
+
     public static String execLibreofficeCommand(String type, String sourcePath, String targetPath) {
         String os = System.getProperty("os.name");
         StringBuilder builder = new StringBuilder();
@@ -25,30 +50,15 @@
                 file.delete();
             }
         } catch (Exception e) {
+            e.printStackTrace();
         }
+        log.info("鎵ц鍛戒护:{}",builder.toString());
         return exec(builder.toString());
     }
 
-    public static String execPythonCommand(Integer type,String sourcePath) {
-        String os = System.getProperty("os.name");
-        StringBuilder builder = new StringBuilder();
-        if(type == 0){
-            //鏈嶅姟鍣�
-            builder.append("python /bin/doc2pdf.py ");
-        }else{
-            //鏈湴娴嬭瘯
-            builder.append("python D:\\Project\\yaohuo\\doc2pdf.py ");
-        }
-        builder.append(sourcePath).append(" ");
-
-        try {
-            File file = new File(sourcePath.replaceAll(".docx", ".pdf"));
-            if (file.exists()) {
-                file.delete();
-            }
-        } catch (Exception e) {
-        }
-        return exec(builder.toString());
+    public static void execNewLibreofficeCommand(String type, String sourcePath, String targetPath) throws OfficeException {
+        //浣跨敤鏂囦欢鏂瑰紡杞崲鎴怭DF
+        shellTool.documentConverter.convert(new File(sourcePath)).to(new File(targetPath)).execute();
     }
 
     private static String exec(String command) {
@@ -75,6 +85,5 @@
     }
     public static void main(String[] args) {
         //System.out.println(exec("soffice.exe --headless --invisible --convert-to  D:/ots/uploadPath/upload/2021/02/28/01e01cf7e372ba8b1c5d24b8d69a46f8.docx 01e01cf7e372ba8b1c5d24b8d69a46f8.pdf "));
-        System.out.println(execPythonCommand(1,"D:\\娴嬭瘎绯荤粺\\home\\鏋梍PAQ_IA_CN.docx"));
     }
 }

--
Gitblit v1.9.1