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