一、需要安装soffice.exe服务,将office转化成PDF
二、代码如下:
二、代码如下:
package com.converter;
import java.io.File;
import com.artofsolving.jodconverter.DocumentConverter;
import com.artofsolving.jodconverter.openoffice.connection.OpenOfficeConnection;
import com.artofsolving.jodconverter.openoffice.connection.SocketOpenOfficeConnection;
import com.artofsolving.jodconverter.openoffice.converter.OpenOfficeDocumentConverter;
public class Office2PDF {
public void converter(String fileName) {
// 使用java启动OpenOffice的服务
String command = "C:\\Program Files\\OpenOffice.org 3\\"+ "program\\soffice.exe -headless -accept=\"socket,host=127.0.0.1,port=8100;urp;\"";
try {
Process pro = Runtime.getRuntime().exec(command);
} catch (Exception e1) {
e1.printStackTrace();
}
String fullPath = "D:/test/" + fileName;
File sourceFile = new File(fullPath);
String name = fileName.substring(0,fileName.lastIndexOf("."));
File pdfFile = new File("D:/test/" + name + ".pdf");
if (!pdfFile.exists()) {
// 获取连接对象
OpenOfficeConnection connection = new SocketOpenOfficeConnection(8100);
try {
// 取得连接
connection.connect();
// 创建文件格式转换对象
DocumentConverter converter = new OpenOfficeDocumentConverter(connection);
// 实现文件格式转换
converter.convert(sourceFile, pdfFile);
// 生成已转换的PDF文件
pdfFile.createNewFile();
} catch (Exception e) {
e.printStackTrace();
}
// 释放连接
connection.disconnect();
}
}
}