使用方案: 非pdf文档转换为pdf文档,利用新版浏览器特性or使用js模拟文档预览功能
一、非pdf转化问pdf文档技术方案
1、openoffic+jodconverter(有依赖关系)
openoffic3 只支持Microsoft Word 97/2000/XP,openoffic4 要求glibc2版本为2.11,升级glibc2可能导致系统崩溃;
2、 libreoffice + unoconv(python脚本)
libreoffice3 只支持Microsoft Word 97/2000/XP
libreoffice4 支持Microsoft Word 2003及以上的转换,但转换的效果不是很好
3、通过简单比较,方案一的效率高于方案二
二、方案的实现
1、
安装openoffic(http://www.openoffice.org/download/index.html)
解压tar.gz的包,切换至RPMS目录,用rpm -ivh --prefix 安装目录 *.rpm即可;
启动openoffic
soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard
rails利用封装jodconverter的插件进行文件转换
安装插件 ruby script/plugin install git://github.com/amardaxini/convert_office.git
即可通过ConvertOffice::ConvertOfficeFormat.new.convert(src_file,dest_file)实现文件转换;
2、
安装libreoffice4(http://download.documentfoundation.org/libreoffice/stable/)
解压tar.gz的包,执行install文件, install RPMS目录 安装目录
启动libreoffice服务
soffice
-headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard
下载unoconv(https://github.com/dagwieers/unoconv/downloads)
将unoconv脚本拷贝到工程目录,执行脚本将文件进行转化
python unoconv -f pdf 目标文件