From 00a803a1fdccb8a93b76b8be3cef34d7fd6d401c Mon Sep 17 00:00:00 2001
From: 林致杰 <1003392067@qq.com>
Date: 星期一, 24 四月 2023 22:30:58 +0800
Subject: [PATCH] 升级aspose版本

---
 src/main/java/com/ots/common/utils/poi/WordUtil.java |    2 +-
 src/main/java/com/ots/project/tool/PdfUtil.java      |   44 +++++++++++++++++++++++++++++++++++++++-----
 pom.xml                                              |    2 +-
 3 files changed, 41 insertions(+), 7 deletions(-)

diff --git a/pom.xml b/pom.xml
index 1cacb14..f81c165 100644
--- a/pom.xml
+++ b/pom.xml
@@ -404,7 +404,7 @@
         <dependency>
             <groupId>com.aspose</groupId>
             <artifactId>words</artifactId>
-            <version>21.1</version>
+            <version>23.4</version>
         </dependency>
 
     </dependencies>
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 8eaaabc..4d7ec5d 100644
--- a/src/main/java/com/ots/common/utils/poi/WordUtil.java
+++ b/src/main/java/com/ots/common/utils/poi/WordUtil.java
@@ -1179,7 +1179,7 @@
                 changColorIfJAQ(textMap, out, reportName, tReportTemplate.getReportType());
             //}
 
-            //PAQ銆丮AQTR閲囩敤鏂扮殑doc杞琾df
+            //PAQ銆丮AQTR閲囩敤銆丆IAQ鏂扮殑doc杞琾df
             if(ReportTypeEnum.PAQ.getCode().equals(reportType) || ReportTypeEnum.MAQTR.getCode().equals(reportType)
                     || ReportTypeEnum.CIAQ.getCode().equals(reportType)){
                 PdfUtil.convertPDF(EssConfig.getProfile() + "/" + reportName);
diff --git a/src/main/java/com/ots/project/tool/PdfUtil.java b/src/main/java/com/ots/project/tool/PdfUtil.java
index 5bd4622..3c9ac24 100644
--- a/src/main/java/com/ots/project/tool/PdfUtil.java
+++ b/src/main/java/com/ots/project/tool/PdfUtil.java
@@ -6,6 +6,7 @@
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.FileOutputStream;
+import java.lang.reflect.Constructor;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
@@ -16,19 +17,20 @@
     /**
      * 璁剧疆鐢ㄦ埛瀛椾綋浣嶇疆
      */
-    public static void setFont(){
-        String[] fonts = {"C:\\Users\\澶уご\\AppData\\Local\\Microsoft\\Windows\\Fonts\\","C:\\Users\\datou\\AppData\\Local\\Microsoft\\Windows\\Fonts\\","/usr/share/fonts"};
+    public static void setFont() {
+        String[] fonts = {"C:\\Users\\澶уご\\AppData\\Local\\Microsoft\\Windows\\Fonts\\", "C:\\Users\\datou\\AppData\\Local\\Microsoft\\Windows\\Fonts\\", "/usr/share/fonts"};
         List<FontSourceBase> fontSources = new ArrayList(Arrays.asList(FontSettings.getDefaultInstance().getFontsSources()));
         for (int i = 0; i < fonts.length; i++) {
-            FolderFontSource folderFontSource = new FolderFontSource(fonts[i],true);
+            FolderFontSource folderFontSource = new FolderFontSource(fonts[i], true);
             fontSources.add(folderFontSource);
         }
         FontSourceBase[] fontSourceBases = fontSources.toArray(new FontSourceBase[fontSources.size()]);
         FontSettings.getDefaultInstance().setFontsSources(fontSourceBases);
     }
 
-    public static void convertPDF(String input){
+    public static void convertPDF(String input) {
         try {
+            registerWord();
             setFont();
             Document pres = null;
             //鎵嬪姩鏇挎崲杈撳嚭pdf鍚嶇О
@@ -46,9 +48,41 @@
         }
     }
 
+    /**
+     * aspose-words:jdk17:23.4 鐗堟湰
+     */
+    public static void registerWord() throws Exception {
+        // 鏋勯�犱竴涓敞鍐屼俊鎭�
+        Class<?> zzXgCClass = Class.forName("com.aspose.words.zzXgC");
+        Constructor<?> constructors = zzXgCClass.getDeclaredConstructors()[0];
+        constructors.setAccessible(true);
+        Object instance = constructors.newInstance("zzW5k", "zzYON");
+        // zzXFN = 1
+        java.lang.reflect.Field zzXFN = zzXgCClass.getDeclaredField("zzXFN");
+        zzXFN.setAccessible(true);
+        zzXFN.set(instance, 1);
+
+        // 鎶婃敞鍐屼俊鎭斁鍒� zzYVA杩欎釜绫讳腑鏉�
+        Class<?> zzYVAClass = Class.forName("com.aspose.words.zzYVA");
+        java.lang.reflect.Field zzwP = zzYVAClass.getDeclaredField("zzwP");
+        zzwP.setAccessible(true);
+        ArrayList<Object> zzwPValue = new ArrayList<>();
+        zzwPValue.add(instance);
+        zzwP.set(null, zzwPValue);
+
+        // 鐢熸垚鏂囨。浼氭帀杩欎釜鏉ュ垽鏂� zzXQo
+        Class<?> zzXQoClass = Class.forName("com.aspose.words.zzXQo");
+        java.lang.reflect.Field zzHA = zzXQoClass.getDeclaredField("zzHA");
+        zzHA.setAccessible(true);
+        zzHA.set(null, 128);
+        java.lang.reflect.Field zzWod = zzXQoClass.getDeclaredField("zzWod");
+        zzWod.setAccessible(true);
+        zzWod.set(null, false);
+    }
+
     public static void main(String[] args) {
         //convertPDF("D:\\娴嬭瘎绯荤粺\\home\\鏋梍PAQ_GS_TH.docx");
-        convertPDF("C:\\Users\\澶уご\\Desktop\\MAQ缁勫埆鎶ュ憡\\娴嬭瘯_MAQTR_IA_EN.docx");
+        convertPDF("C:\\Users\\澶уご\\Desktop\\鏋�3_CIAQ_IA_CN.docx");
     }
 
 }

--
Gitblit v1.9.1