소스 검색

aspose-words

yuedefeng 6 년 전
부모
커밋
9d845f7086

+ 1 - 0
README.md

@@ -96,5 +96,6 @@ docker中中文字体乱码的问题(添加宋体):
 COPY simsun.ttf /usr/share/fonts
 
 mvn install:install-file -Dfile=aspose-cells-8.5.2.jar -DgroupId=com.aspose -DartifactId=aspose-cells -Dversion=8.5.2 -Dpackaging=jar
+mvn install:install-file -Dfile=aspose-words-16.8.0-jdk16.jar -DgroupId=com.aspose -DartifactId=aspose-words -Dversion=16.8.0 -Dpackaging=jar
 
 mvn clean install -Pprod -Dmaven.test.skip=true

BIN
lib/aspose-word-16.8.0-maven.zip


BIN
lib/aspose-words-16.8.0-jdk16.jar


+ 6 - 0
pom.xml

@@ -379,6 +379,12 @@
             <artifactId>aspose-cells</artifactId>
             <version>8.5.2</version>
         </dependency>
+        <!-- https://mvnrepository.com/artifact/com.aspose/aspose.words -->
+        <dependency>
+            <groupId>com.aspose</groupId>
+            <artifactId>aspose-words</artifactId>
+            <version>16.8.0</version>
+        </dependency>
         <!-- https://mvnrepository.com/artifact/org.apache.poi/poi -->
         <dependency>
             <groupId>org.apache.poi</groupId>

+ 62 - 0
src/main/java/com/common/workflow/service/util/Word2Pdf.java

@@ -0,0 +1,62 @@
+package com.common.workflow.service.util;
+
+import com.aspose.words.Document;
+import com.aspose.words.License;
+import com.aspose.words.SaveFormat;
+
+
+import javax.servlet.http.HttpServletResponse;
+import java.io.ByteArrayInputStream;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.net.HttpURLConnection;
+import java.net.URL;
+
+/**
+ * Created by gyue on 2019-03-25.
+ */
+public class Word2Pdf {
+    public static boolean getLicense() {
+        boolean result = false;
+        try {
+            InputStream is = Word2Pdf.class.getClassLoader().getResourceAsStream("license-apose-word.xml"); //  license.xml应放在..\WebRoot\WEB-INF\classes路径下
+            License aposeLic = new License();
+            aposeLic.setLicense(is);
+            result = true;
+        }catch (Exception e) {
+            e.printStackTrace();
+        }
+        return result;
+    }
+
+    public static void word2Pdf(String Address, HttpServletResponse response) {
+        if (!getLicense()) {          // 验证License 若不验证则转化出的pdf文档会有水印产生
+            return;
+        }
+        try {
+            URL url = new URL(Address);
+            HttpURLConnection conn = (HttpURLConnection)url.openConnection();
+            //得到输入流
+            InputStream inputStream = conn.getInputStream();
+
+            //TxtLoadOptions lo = new TxtLoadOptions();
+            //lo.setEncoding(Encoding.getUTF8());
+            Document doc = new Document(inputStream);// 原始excel路径
+
+            /*PdfSaveOptions pdfSaveOptions = new PdfSaveOptions(SaveFormat.PDF);
+            pdfSaveOptions.setOnePagePerSheet(true);
+            pdfSaveOptions.setAllColumnsInOnePagePerSheet(true);
+            pdfSaveOptions.setDefaultFont("SimSun");
+            pdfSaveOptions.setEmbedStandardWindowsFonts(true);
+            response.setContentType("application/pdf");
+            response.setCharacterEncoding("UTF-8");*/
+            OutputStream output = response.getOutputStream();
+            doc.save(output, SaveFormat.PDF);
+            output.flush();
+            inputStream.close();
+            output.close();
+        }catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+}

+ 6 - 0
src/main/java/com/common/workflow/web/rest/AposeResource.java

@@ -2,6 +2,7 @@ package com.common.workflow.web.rest;
 
 import com.common.workflow.service.activiti.ActivitiService;
 import com.common.workflow.service.util.ExcelToPdf;
+import com.common.workflow.service.util.Word2Pdf;
 import com.common.workflow.web.rest.vm.AposeVM;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -29,4 +30,9 @@ public class AposeResource {
         ExcelToPdf.excel2pdf(aposeVM.getAddressUrl(), response);
     }
 
+    @PostMapping("/word-to-pdf")
+    public void Word2pdf(@Valid @RequestBody AposeVM aposeVM, HttpServletResponse response) {
+        Word2Pdf.word2Pdf(aposeVM.getAddressUrl(), response);
+    }
+
 }

+ 13 - 0
src/main/resources/license-apose-word.xml

@@ -0,0 +1,13 @@
+<License>
+    <Data>
+        <Products>
+            <Product>Aspose.Total for Java</Product>
+            <Product>Aspose.Words for Java</Product>
+        </Products>
+        <EditionType>Enterprise</EditionType>
+        <SubscriptionExpiry>20991231</SubscriptionExpiry>
+        <LicenseExpiry>20991231</LicenseExpiry>
+        <SerialNumber>8bfe198c-7f0c-4ef8-8ff0-acc3237bf0d7</SerialNumber>
+    </Data>
+    <Signature>sNLLKGMUdF0r8O1kKilWAGdgfs2BvJb/2Xp8p5iuDVfZXmhppo+d0Ran1P9TKdjV4ABwAgKXxJ3jcQTqE/2IRfqwnPf8itN8aFZlV3TJPYeD3yWE7IT55Gz6EijUpC7aKeoohTb4w2fpox58wWoF3SNp6sK6jDfiAUGEHYJ9pjU=</Signature>
+</License>