|
@@ -0,0 +1,86 @@
|
|
|
+package com.sunxung.factoring.component.util;
|
|
|
+
|
|
|
+import java.io.ByteArrayInputStream;
|
|
|
+import java.io.File;
|
|
|
+import java.io.FileOutputStream;
|
|
|
+import java.io.InputStream;
|
|
|
+import java.nio.charset.StandardCharsets;
|
|
|
+import java.util.Date;
|
|
|
+
|
|
|
+import com.aspose.words.Document;
|
|
|
+import com.aspose.words.License;
|
|
|
+import com.aspose.words.SaveFormat;
|
|
|
+import org.apache.poi.ss.usermodel.DateUtil;
|
|
|
+
|
|
|
+import javax.servlet.http.HttpServletResponse;
|
|
|
+
|
|
|
+/**
|
|
|
+ * Aspose Word OP工具类
|
|
|
+ */
|
|
|
+public class ASopUtil {
|
|
|
+
|
|
|
+ public static File docTransfer(InputStream inputStream, String outPath, int saveFormat) {
|
|
|
+ if (!getLicense()) { // 验证License 若不验证则转化出的pdf文档会有水印产生
|
|
|
+ // return;
|
|
|
+ throw new RuntimeException("验证License失败");
|
|
|
+ }
|
|
|
+ File file = null;
|
|
|
+ try {
|
|
|
+ file = new File(outPath); // 新建一个空白pdf文档
|
|
|
+ if (!file.getParentFile().exists()) {
|
|
|
+ file.getParentFile().mkdirs();
|
|
|
+ }
|
|
|
+ FileOutputStream os = new FileOutputStream(file);
|
|
|
+ Document doc = new Document(inputStream);
|
|
|
+ doc.save(os, saveFormat);// 生成文件
|
|
|
+
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ return file;
|
|
|
+ }
|
|
|
+
|
|
|
+ public static File doc2pdf(String inPath, String outPath) {
|
|
|
+ if (!getLicense()) { // 验证License 若不验证则转化出的pdf文档会有水印产生
|
|
|
+ // return;
|
|
|
+ throw new RuntimeException("验证License失败");
|
|
|
+ }
|
|
|
+ File file = null;
|
|
|
+ try {
|
|
|
+ file = new File(outPath); // 新建一个空白pdf文档
|
|
|
+ if (!file.getParentFile().exists()) {
|
|
|
+ file.getParentFile().mkdirs();
|
|
|
+ }
|
|
|
+ FileOutputStream os = new FileOutputStream(file);
|
|
|
+ Document doc = new Document(inPath); // Address是将要被转化的word文档
|
|
|
+ doc.save(os, SaveFormat.PDF);// 全面支持DOC, DOCX, OOXML, RTF HTML, OpenDocument, PDF,
|
|
|
+ // EPUB, XPS, SWF 相互转换
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ return file;
|
|
|
+ }
|
|
|
+
|
|
|
+ private static boolean getLicense() {
|
|
|
+ boolean result = false;
|
|
|
+ try {
|
|
|
+ // 凭证
|
|
|
+ String licenseStr = "<License>\n" + " <Data>\n" + " <Products>\n"
|
|
|
+ + " <Product>Aspose.Total for Java</Product>\n"
|
|
|
+ + " <Product>Aspose.Words for Java</Product>\n" + " </Products>\n"
|
|
|
+ + " <EditionType>Enterprise</EditionType>\n"
|
|
|
+ + " <SubscriptionExpiry>20991231</SubscriptionExpiry>\n"
|
|
|
+ + " <LicenseExpiry>20991231</LicenseExpiry>\n"
|
|
|
+ + " <SerialNumber>8bfe198c-7f0c-4ef8-8ff0-acc3237bf0d7</SerialNumber>\n" + " </Data>\n"
|
|
|
+ + " <Signature>sNLLKGMUdF0r8O1kKilWAGdgfs2BvJb/2Xp8p5iuDVfZXmhppo+d0Ran1P9TKdjV4ABwAgKXxJ3jcQTqE/2IRfqwnPf8itN8aFZlV3TJPYeD3yWE7IT55Gz6EijUpC7aKeoohTb4w2fpox58wWoF3SNp6sK6jDfiAUGEHYJ9pjU=</Signature>\n"
|
|
|
+ + "</License>";
|
|
|
+ InputStream license = new ByteArrayInputStream(licenseStr.getBytes(StandardCharsets.UTF_8));
|
|
|
+ License asposeLic = new License();
|
|
|
+ asposeLic.setLicense(license);
|
|
|
+ result = true;
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ return result;
|
|
|
+ }
|
|
|
+}
|