package com.ots.project.tool; import com.aspose.words.*; import lombok.extern.slf4j.Slf4j; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.util.ArrayList; import java.util.Arrays; import java.util.List; @Slf4j public class PdfUtil { public static void setFont(){ String userfontsfoloder = "C:\\Users\\大头\\AppData\\Local\\Microsoft\\Windows\\Fonts\\"; log.info("font路径:{}",userfontsfoloder); List fontSources = new ArrayList(Arrays.asList(FontSettings.getDefaultInstance().getFontsSources())); FolderFontSource folderFontSource = new FolderFontSource(userfontsfoloder,true); fontSources.add(folderFontSource); FontSourceBase[] fontSourceBases = fontSources.toArray(new FontSourceBase[fontSources.size()]); FontSettings.getDefaultInstance().setFontsSources(fontSourceBases); } public static void convertPDF(String input){ try { //setFont(); Document pres = null; FontSettings.getDefaultInstance().setFontsFolder("C:\\Users\\大头\\AppData\\Local\\Microsoft\\Windows\\Fonts", true); //手动替换输出pdf名称 String output = input.replaceAll(".docx", ".pdf"); long old = System.currentTimeMillis(); FileInputStream fileInput = new FileInputStream(input); 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转pdf耗时:{}秒", ((now - old) / 1000.0)); } catch (Exception e) { e.printStackTrace(); } } public static void main(String[] args) { //convertPDF("D:\\测评系统\\home\\林_PAQ_GS_TH.docx"); convertPDF("D:\\home\\PAQ简易版【泰文】.docx"); } }