二、代码如下:
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(); } } }