需要预先下载OpenOffice软件并安装,然后执行前要在program目录下管理员身份运行dos命令
soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard
运行过程中注意jar包的完整性,不然会报下面这个错误
java.lang.NoClassDefFoundError:com/sun/star/lang/XEventListener
//首先获取文件的格式
DefaultDocumentFormatRegistry ddfr = new DefaultDocumentFormatRegistry();
DocumentFormat docFormat = ddfr.getFormatByFileExtension("doc");
DocumentFormat pdfFormat = ddfr.getFormatByFileExtension("pdf");
//以Stream流的形式 获取目标文件 和 生成的PDF文件
InputStream inputStream = new FileInputStream(目标文件);
OutputStream outputStream = new FileOutputStream(生成文件);
//获取OpenOffice软件的连接
OpenOfficeConnection connection = new SocketOpenOfficeConnection(8100);
connection .connect();
//根据连接来获取转换器
DocumentConverter converter = new OpenOfficeDocumentConverter(connection);
//使用转换器来转换文件
converter.convert(inputStream, docFormat, outputStream, pdfFormat);
//关闭连接 finally
connection.disconnect();
Linux 安装OpenOffice,并测试
步骤一: 下载Linux对应的安装包
网址:http://www.openoffice.org/download/index.html
步骤二: 在Linux服务器上面解压并安装该软件
tar -zxvf
还需要一个 yum * 什么的命令
测试安装结果 ps -ef|greep openoffice
步骤三: 用所写代码测试安装是否成功
测试代码之前,需要和在windows测试一样,指定端口号启动openoffice服务
测试的Demo打成jar包,java -cp test.jar main方法类名
END