From df19dcb31b846d96e26ab2c161652c51a0ec7de4 Mon Sep 17 00:00:00 2001 From: wzp <2040239371@qq.com> Date: 星期三, 04 九月 2024 08:36:51 +0800 Subject: [PATCH] 优化日志提示文件 --- src/main/java/com/ots/project/tool/ShellTool.java | 48 ++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 44 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/ots/project/tool/ShellTool.java b/src/main/java/com/ots/project/tool/ShellTool.java index b93fa55..07dff39 100644 --- a/src/main/java/com/ots/project/tool/ShellTool.java +++ b/src/main/java/com/ots/project/tool/ShellTool.java @@ -1,17 +1,48 @@ package com.ots.project.tool; +import com.ots.common.utils.spring.SpringUtils; +import com.ots.common.utils.text.CharsetKit; +import com.ots.project.tool.libreoffice.Office2PDFUtils; 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; + + @Autowired + private Office2PDFUtils office2PDFUtils; + + private static ShellTool shellTool; + + @PostConstruct + public void init(){ + shellTool = this; + //shellTool.documentConverter = documentConverter; + shellTool.office2PDFUtils = office2PDFUtils; + } + + 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(); if (os.toLowerCase().startsWith("mac")) { builder.append("/Applications/LibreOffice.app/Contents/MacOS/soffice --headless --convert-to "); - } else if(os.toLowerCase().startsWith("windows")){ - builder.append("soffice.exe --headless --invisible --convert-to "); + } else if(os.contains("Windows")){ + builder.append("cmd /c start soffice --headless --convert-to "); } else { builder.append("libreoffice6.4 --headless --convert-to "); } @@ -25,9 +56,18 @@ file.delete(); } } catch (Exception e) { + e.printStackTrace(); } + log.info("鎵ц鍛戒护:{}",builder.toString()); 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(); + shellTool.office2PDFUtils.office2Pdf(sourcePath,targetPath); + } + private static String exec(String command) { String returnString = ""; Runtime runTime = Runtime.getRuntime(); @@ -51,6 +91,6 @@ return returnString; } 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(exec("soffice.exe --headless --invisible --convert-to D:/ots/uploadPath/upload/2021/02/28/01e01cf7e372ba8b1c5d24b8d69a46f8.docx 01e01cf7e372ba8b1c5d24b8d69a46f8.pdf ")); } } -- Gitblit v1.9.1