这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
以及官方文档
PDF预览之word、excel等转换为pdf格式总结
最新推荐文章于 2022-05-16 17:13:57 发布