openoffice 安装,启动,测试

 1、下载openoffice

官方地址:http://www.openoffice.org/ 

目前的最新版本是:Apache_OpenOffice_incubating_3.4.0_Win_x86_install_zh-CN.exe

2、启动openoffice

进入openoffice安装目录下的program目录

cd D:\Program\OpenOffice3\program

执行启动命令,让其监听8100端口

soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard 

3、测试服务是否成功启动

运行netStat -app tcp,注意"-"后面没有空格,如果列表中找到TCP 127.0.0.1:8100 0.0.0.0 LISTENING,则表明启动成功 

4、代码测试,用java 调用openoffice服务,将excel,word转为pdf

import java.io.*;
import java.net.ConnectException;
import javax.activation.MimeType;
import org.junit.Test;
import com.artofsolving.jodconverter.DefaultDocumentFormatRegistry;

import com.artofsolving.jodconverter.DocumentConverter;

import com.artofsolving.jodconverter.DocumentFamily;

import com.artofsolving.jodconverter.DocumentFormat;

import com.artofsolving.jodconverter.openoffice.connection.OpenOfficeConnection;

import com.artofsolving.jodconverter.openoffice.connection.SocketOpenOfficeConnection;

import com.artofsolving.jodconverter.openoffice.converter.OpenOfficeDocumentConverter;
 

public class ExcelToPdf {

 

	public int DEFAULT_PORT = 8100;

 

	public String DEFAULT_HOST = "127.0.0.1";

	

	/**

	* 执行前,请启动openoffice服务

	* 进入$OO_HOME\program下

	* 执行soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard 

	* @param xlsfile  

	* @param targetfile

	* @throws Exception

	*/

	public static void SaveAs(String xlsfile, String targetfile)

			throws Exception {

		File xlsf = new File(xlsfile);

		File targetF = new File(targetfile);

		// 获得文件格式

		DefaultDocumentFormatRegistry formatReg = new DefaultDocumentFormatRegistry();

		DocumentFormat pdfFormat = formatReg.getFormatByFileExtension("pdf");

		DocumentFormat xlsFormat = formatReg.getFormatByFileExtension("xls");

		// stream 流的形式

		InputStream inputStream = new FileInputStream(xlsf);

		OutputStream outputStream = new FileOutputStream(targetF);

 

		/**

		* 

		*/

		OpenOfficeConnection connection = new SocketOpenOfficeConnection(8100);

		System.out.println(connection);

		try {

 

			connection.connect();

			DocumentConverter converter = new OpenOfficeDocumentConverter(

					connection);

 

			System.out.println("inputStream------" + inputStream);

			System.out.println("outputStream------" + outputStream);

			converter.convert(inputStream, xlsFormat, outputStream, pdfFormat);

		} catch (ConnectException e) {

			e.printStackTrace();

		} finally {

			if (connection != null) {

				connection.disconnect();

				connection = null;

			}

		}

	}

 

	@Test

	public void testXlsToPDF() throws Exception {

		String path1 = "D:/12.xls";

		String path2 = "D:/1.pdf";

		new ExcelToPdf().SaveAs(path1, path2);

		System.out.println("ok");

	}

}

猜你喜欢

转载自smilease.iteye.com/blog/1629036
今日推荐