您的位置:首页 > 其它

PDF预览之word、excel等转换为pdf格式总结

2017-12-17 21:12 330 查看
这2天搞了下项目里的PDF问题,得记录下笔记,不然过2天肯定忘,另外,本人技术有限,能看着大概实现就行了!

项目需求:
想模仿拉勾的用户上传附件简历,然后对用户上传的简历进行预览

分析:
拉勾的附件简历,允许的后缀格式有:
doc, docx, ppt, pdf, pptx, txt, wps
我们支持大概word就行,另外允许用户上传图片(对于有的设计师等,可能上传项目图,这个不在pdf相关技术里,不讨论了)
然后,对用户上传的word,转换为pdf,然后让用户在网站上使用pdf来预览

网上相关资料很多,基本上就用到几个工具:
word转换为pdf需要:
1.openoffice
2.jodconverter

pdf预览:
不少浏览器已支持pdf预览,要想兼容可使用:
pdf.js
pdf嵌入到页面,有不少技术,不使用js也行。找到一个库,很有用!
PDFObject.js
涉及的相关技术,我都已经写到博客里了,有兴趣可以看看

今晚是抽空总结,可能次序有点混乱,不要介意!

这篇总结,针对的是:"word转pdf",好了,废话少说,开始正文:

/*
注意:
需要JAVA环境
*/

1.OpenOffice
OpenOffice 是一套开源跨平台的办公软件,由许多自由软件人士共同来维持,让大家能在 Microsoft Office 之外,还能有免费的 Office 可以使用。
OpenOffice 与微软的办公软件套件兼容,能将 doc、xls、ppt 等文件转换为 PDF 格式,其功能绝对不比 Microsoft Office 差。

官网地址: http://www.openoffice.org/ 
下载地址: http://www.openoffice.org/zh-cn/download/ 	// 根据自己机器版本下载

文档地址: https://wiki.openoffice.org/wiki/Documentation 
安装文档: https://www.openoffice.org/download/common/instructions.html#linux-preinstall 
/*
OpenOffice看了看,感觉很复杂,基本没了解,只到安装,运行,能使用阶段,大家有能力可以挑战
下面简单记录下安装的几个步骤
*/
1.到下载页面下载对应的版本
注意:
我在centos6.5下,使用4.x系列,出现问题,大家可以试试新版本转换有无问题。
旧版下载,选择 older releases 即可,这里黏贴下页面: http://archive.apache.org/dist/incubator/ooo/ 
2.上传到服务器,我使用 scp 命令,或 'rz,sz'(mac下上传不知道为什么一直不行...)

3.解压
tar -zxvf xxx.tar.gz

4.安装
解压后,会产生一个选择的语言的目录,例如:我选择的简体中文,出现 zh-CN/
进入zh-CN/RPMS,有很多的 .rpm包,以及一个 'desktop-integration/' 目录

rpm -Uvih *rpm 		// 安装所有rpm文件(这就是安装)
/*
默认会将OpenOffice安装到 '/opt',可以指定 '--prefix=path',改变路径。
我安装在默认位置,出现2个目录:
/opt/openoffice.org3/		// 这个是主要目录,启动命令在该目录下
/opt/openoffice.org/
*/

5.启动
/opt/openoffice.org3/program/soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard &

6.启动后,查看进程状态
ps ef | grep soffice

7.停止
kill -9 进程号
或
pkill soffice

8.卸载
1>先停止服务
2>之后进行卸载
[root@dev ~]# rpm -e `rpm -qa |grep openoffice` `rpm -qa |grep ooobasis`
/opt/openoffice.org3/program/unopkg.bin: error while loading shared libraries: libuno_sal.so.3: cannot open shared object file: No such file or directory

[root@dev ~]# rpm -e `rpm -qa |grep openoffice` `rpm -qa |grep ooobasis`
rpm: no packages given for erase

[root@dev ~]# rm -rf /opt/openoffice.org3/

/*
对于linux命令忘记的太多了,这里是另外一篇卸载方法: http://blog.csdn.net/catoop/article/details/20921905 */

9.检查是否已安装(或者卸载时,卸载干净,可搜索相关文件)
rpm -q openoffice*
rpm -q ooobasis
find / -name *openoffice*

2.jodconverter
JODConverter(Java OpenDocument Converter),可以转换不同Office格式的文档。它利用OpenOffice.org,可以自动化OpenOffice.org支持的所有转换。包括转换为pdf文件,部分支持转换到html文件。

下载地址:https://code.google.com/archive/p/jodconverter/ 		// github和google code都有代码,看github貌似代码已迁移到google code上

1.下载2.2.2版本,地址:(忘记新的是不是有错了。。。还是openoffice新版有错。。。) https://sourceforge.net/projects/jodconverter/ 
2.解压
unzip jodconverter-2.2.2.zip

3.使用命令
java -jar jodconverter-2.2.2/lib/jodconverter-cli-2.2.2.jar dongxuemin.doc dongxuemin.pdf

转换成功会输出
十二月 17, 2017 9:07:43 下午 com.artofsolving.jodconverter.openoffice.connection.AbstractOpenOfficeConnection connect
信息: connected
十二月 17, 2017 9:07:43 下午 com.artofsolving.jodconverter.openoffice.connection.AbstractOpenOfficeConnection disposing
信息: disconnected

参考文章: https://www.cnblogs.com/sustudy/p/4014933.html http://www.cnblogs.com/sustudy/p/3999628.html http://www.webyang.net/Html/web/article_337.html http://www.webyang.net/Html/web/article_336.html http://happyqing.iteye.com/blog/2082314 以及官方文档
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: