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