com.aspose aspose-words 18.6
Aspose.Total for Java Aspose.Words for Java Enterprise 20991231 20991231 8bfe198c-7f0c-4ef8-8ff0-acc3237bf0d7 sNLLKGMUdF0r8O1kKilWAGdgfs2BvJb/2Xp8p5iuDVfZXmhppo+d0Ran1P9TKdjV4ABwAgKXxJ3jcQTqE/2IRfqwnPf8itN8aFZlV3TJPYeD3yWE7IT55Gz6EijUpC7aKeoohTb4w2fpox58wWoF3SNp6sK6jDfiAUGEHYJ9pjU=
import com.aspose.words.Document;
import com.aspose.words.License;
import com.aspose.words.SaveFormat;
import org.springframework.core.io.ClassPathResource;import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;/*** @description:* @author: y* @date: 2023/3/14 13:51* @version: 1.0*/
public class WordToPdf {public static void main(String[] args) throws Exception{String docPath = "C:\\Users\\54405\\Desktop\\tp\\xch1.doc";String pdfPath = "C:\\Users\\54405\\Desktop\\tp\\test.pdf";WordToPdf.docToPdf(docPath,pdfPath);}private static boolean getLicense() {boolean result = false;InputStream is = null;try {is = new ClassPathResource("static" + File.separator + "aspose" + File.separator + "license.xml").getInputStream();License aposeLic = new License();aposeLic.setLicense(is);result = true;is.close();} catch (Exception e) {e.printStackTrace();}finally {try {if (is != null){is.close();}} catch (IOException e) {e.printStackTrace();}}return result;}public static boolean docToPdf(String inPath, String outPath) {// 验证License 若不验证则转化出的pdf文档会有水印产生if (!getLicense()) {return false;}FileOutputStream os = null;try {// 新建一个空白pdf文档File file = new File(outPath);os = new FileOutputStream(file);// Address是将要被转化的word文档Document doc = new Document(inPath);// 全面支持DOC, DOCX, OOXML, RTF HTML, OpenDocument, PDF,EPUB, XPS, SWF 相互转换doc.save(os, SaveFormat.PDF);} catch (Exception e) {e.printStackTrace();return false;}finally {if (os != null) {try {os.flush();os.close();} catch (IOException e) {e.printStackTrace();}}}return true;}
}需要将转换无问题的Windows主机的字体拷贝到Linux服务器进行安装
Windows字体库的位置是C:\Windows\fonts
Linux字体库的位置是 /usr/share/Fonts
如果 linux 没有Fonts文件目录,需要执行安装:
yum install mkfontscale
yum install fontconfig在Font目录下,新建 windowsFonts 目录
将Windows字体库上传到linux的 /usr/share/Fonts/windowsFonts
cd /usr/share/fonts/windowsFonts/依次执行下边三个命令:
mkfontscale
mkfontdir
fc-cache