From 17ac23e93792f1403297dfa783c85db0c10abb20 Mon Sep 17 00:00:00 2001 From: linzhijie <19970921lzj> Date: 星期五, 06 八月 2021 16:15:38 +0800 Subject: [PATCH] PAQ 模板支持 --- src/main/java/com/ots/project/tool/ShellTool.java | 23 ----------- src/main/java/com/ots/common/utils/poi/WordUtil.java | 3 + src/main/java/com/ots/project/tool/PdfUtil.java | 35 +++++++++++++++++ 3 files changed, 37 insertions(+), 24 deletions(-) diff --git a/src/main/java/com/ots/common/utils/poi/WordUtil.java b/src/main/java/com/ots/common/utils/poi/WordUtil.java index 029f035..8ca167f 100644 --- a/src/main/java/com/ots/common/utils/poi/WordUtil.java +++ b/src/main/java/com/ots/common/utils/poi/WordUtil.java @@ -9,6 +9,7 @@ import com.ots.project.exam.domain.TReportTemplate; import com.ots.project.exam.dto.JAQTableStyle; import com.ots.project.exam.dto.WordParam; +import com.ots.project.tool.PdfUtil; import com.ots.project.tool.ShellTool; import com.ots.project.tool.exam.ExamUtil; import com.ots.project.tool.exam.ImageUtil; @@ -771,7 +772,7 @@ if(!ReportTypeEnum.PAQ.getCode().equals(reportType)){ ShellTool.execLibreofficeCommand("pdf", EssConfig.getProfile() + "/" + reportName, EssConfig.getProfile() + "/"); }else{ - ShellTool.execPythonCommand(1,EssConfig.getProfile() + "/" + reportName); + PdfUtil.convertPDF(EssConfig.getProfile() + "/" + reportName); } zipFilePath = getPdfPath(reportName); diff --git a/src/main/java/com/ots/project/tool/PdfUtil.java b/src/main/java/com/ots/project/tool/PdfUtil.java new file mode 100644 index 0000000..ff31931 --- /dev/null +++ b/src/main/java/com/ots/project/tool/PdfUtil.java @@ -0,0 +1,35 @@ +package com.ots.project.tool; + +import com.aspose.words.Document; +import com.aspose.words.SaveFormat; +import lombok.extern.slf4j.Slf4j; + +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; + +@Slf4j +public class PdfUtil { + + public static void convertPDF(String input){ + try { + //鎵嬪姩鏇挎崲杈撳嚭pdf鍚嶇О + String output = input.replaceAll(".docx", ".pdf"); + long old = System.currentTimeMillis(); + FileInputStream fileInput = new FileInputStream(input); + Document pres = new Document(fileInput); + FileOutputStream out = new FileOutputStream(new File(output)); + pres.save(out, SaveFormat.PDF); + out.close(); + long now = System.currentTimeMillis(); + log.info("doc杞琾df鑰楁椂锛歿}绉�", ((now - old) / 1000.0)); + } catch (Exception e) { + e.printStackTrace(); + } + } + + public static void main(String[] args) { + convertPDF("D:\\娴嬭瘎绯荤粺\\home\\鏋梍PAQ_IA_CN.docx"); + } + +} diff --git a/src/main/java/com/ots/project/tool/ShellTool.java b/src/main/java/com/ots/project/tool/ShellTool.java index 5f65299..1e2b8b1 100644 --- a/src/main/java/com/ots/project/tool/ShellTool.java +++ b/src/main/java/com/ots/project/tool/ShellTool.java @@ -29,28 +29,6 @@ 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()); - } - private static String exec(String command) { String returnString = ""; Runtime runTime = Runtime.getRuntime(); @@ -75,6 +53,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