office转化成PDF

一、需要安装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();
		}
	}
}

你可能感兴趣的:(Office)