项目需要,上传doc、excel、ppt等格式文件到服务器,用户可以在线阅读。经过讨论,决定在上传文件的同时,转换出一份pdf文件保存,用户阅读就只需要展示pdf文件即可,下载可以下载原文件。因为pdf文件需要在web页面上展示还是比较方便的,直接使用html的embed标签就能实现,也可以使用一些pdf.js的插件实现:
<!DOCTYPE HTML>
<html>
<body>
<embed src="zpdf.pdf" width="100%" height="600">
</body>
</html>
首先我们需要将doc等格式的文档转换成pdf,网上搜索一翻,实现方式也就那几种,最主流的就是通过openoffice.org或者libreoffice两种方式实现,其实libreoffice也是从openoffice.org分离出来的,功能上面应该相差不大。对于要实现格式转换,两种库都可以。
我这里直接使用libreoffice的方式。
首先安装libreoffice,我的服务器是centos,直接使用:
[root@instance-32spzihn /]# yum install libreoffice
提示是否是要安装,执行y就可以了。
一般情况下用yum安装的包都不会是最新版本的,想要安装最新版本,只能够自己下载最新的回来,手动编译安装: