第一种:使用spire.doc.jar包,用时7秒左右。
引入spire.doc-11.1.1.jar包,该包带水印,建议使用免费版的spire.doc.free-5.2.0.jar,免费版只能转三页。
package web.tools.excel;
import com.spire.doc.*;
public class test {
public static void main(String[] args) {
Document doc = new Document();
doc.loadFromFile("D:/Backup/Downloads/我的源文件.docx");
doc.saveToFile("D:/Backup/Downloads/输出文件.pdf", FileFormat.PDF);
doc.close();
System.out.println("转化完毕-----------------------");
}
}
第二种:使用aspose-words-15.8.0-jdk16.jar包,用时3秒左右。
/**
* 将word文档转为PDF后输出
* 烟雨江南
* @param urlIn word文档所在全路径 ;dir输出文档的目录
* @return
*/
public static String wordToPdf(String urlIn,String dir){
String url="";
try {
//自定义新文件名
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd-HH-mm");
long dateTime = new Date().getTime();
String currentTimestr = sdf1.format(dateTime);
String newFileName = currentTimestr + "-" + suiJishu() + ".pdf";
url=dir+"/"+newFileName;
//
String s = "<License><Data><Products><Product>Aspose.Total for Java</Product>
ByteArrayInputStream is = new ByteArrayInputStream(s.getBytes());
License license = new License();
license.setLicense(is);
com.aspose.words.Document document = new com.aspose.words.Document(urlIn);
File file=new File(url);
FileOutputStream out=new FileOutputStream(file);
document.save(out,SaveFormat.PDF);
out.close();
} catch (Exception e) {
e.printStackTrace();
}
return url;
}
备注:jar包可以在我资源库下载