工具类
package com.yyj.DocToPdfUtil;
import com.aspose.words.License;
import com.aspose.words.Document;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
public class DocToPDF {
private static boolean getLicense() {
boolean result = false;
try {
InputStream is = DocToPDF.class.getClassLoader()
.getResourceAsStream("license.xml");
License license = new License();
license.setLicense(is);
result = true;
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
public static void wordConverterToPdf(String wordPath, String pdfPath) {
if (!getLicense()) { // 验证License 若不验证则转化出的pdf文档会有水印产生
return;
}
try {
long old = System.currentTimeMillis();
File file = new File(pdfPath); //新建一个pdf文档
FileOutputStream os = new FileOutputStream(file);
Document doc = new Document(wordPath); //Address是将要被转化的word文档
doc.save(os, com.aspose.words.SaveFormat.PDF);//全面支持DOC, DOCX, OOXML, RTF HTML, OpenDocument, PDF, EPUB, XPS, SWF 相互转换
long now = System.currentTimeMillis();
os.close();
System.out.println("word turn to pdf token:" + ((now - old) / 1000.0) + "s"); //转化用时
} catch (Exception e) {
e.printStackTrace();
}
}
}
主程序
import com.yyj.DocToPdfUtil.DocToPDF;
import java.util.Scanner;
public class testDoc_PDF {
public static void main(String[] args) {
DocToPDF doc=new DocToPDF();
Scanner input=new Scanner(System.in);
System.out.println("请输入要转换的文件路径");
String word=input.next()+".docx";
System.out.println("请输入转换成功的路径");
String pdf=input.next()+".pdf";
doc.wordConverterToPdf(word,pdf);
System.out.println("转换成功");
}
}