摘要:openoffice,文档预览
环境:Windows10
如果对于预览的要求不是很高的情况下,文档的预览可以通过浏览器可以展示pdf的功能实现。所以想要实现文档的预览,我们只要将文档转化为pdf,然后将转化后的pdf提交给网页,就可以做到对文档的在线预览了。
一、openoffice的安装和启动
openoffice是Apache的开源项目,可以免费的下载,这也是为什么用openoffice的原因。其他的工具需要付费,对于学生党确实难以接受。这里提供openoffice的下载地址:
http://www.openoffice.org/zh-cn/download/
下载完之后运行程序,默认安装就好。然后进入安装目录
cd C:\Program Files (x86)\OpenOffice 4\program
然后启动openoffice的服务
soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard
此时就已经启动了openoffice服务了,可以用过命令查看8100端口查看运行情况
netstat -ano|findstr "8100"
此时可以看到本地的8100端口已经启动了,正在监听。
二、java连接openoffice
java想要连接openoffice必须使用JodConverter的jar包
jar的下载地址:http://sourceforge.net/projects/jodconverter/files/JODConverter/
注意,JodConverter只支持对ppt,doc,xls,txt的文件类型转码。其他的类型服务是不支持的,强行转码会报错。
利用JodConverter转pdf的基本操作是:
- 建立一个openoffice的连接
- 通过连接获得一个转码器
- 通过转码器转pdf
- 断开连接
具体的额代码如下(这里使用的是JodConverter2.2.2.jar):
OpenOfficeConnection connection = new SocketOpenOfficeConnection("127.0.0.1",8100);
connection.connect();
DocumentConverter converter = new OpenOfficeDocumentConverter(connection);
long begin_time = new Date().getTime();
converter.convert(inputFile, outputFile);
long end_time = new Date().getTime();
System.out.println("文件转换耗时:[" + (end_time - begin_time) + "]ms");
connection.disconnect();
当然在转pdf之前需要对输入文件的类型检查一下,以免出现不能转pdf的情况。
之后就只需要将pdf输入到前端就可以实现对于文档的在线预览了。