问题:java 如果将 word,excel,ppt如何转pdf
我个人的观点:windows server下用 jacob; linux server下 用openoffice。
PS:1.本文中说的是windows server下用 jacob这一部分,之后说openoffice的解决方案。
2.本文中说的解决方案支持将doc,docx,xls,xlsx,ppt,pptx这些格式转成pdf。
3. jacob可以调用windows com组件,但不是不止这一种方案:可以搜“java调用com”,查看其它的解决方案
1.寻找解决方案的过程:
项目中遇到了office(word,excel,ppt,之后统称mssoft document)转pdf的需求。
最初借助java调用openoffice (OpenOffice.org 是一套跨平台的办公室软件套件)服务将mssoft document 转换成pdf,均能转换成功,当时的心情也是蛮激动的,感觉openoffice简直是万能啊,既能转mssoft document,又能转odt,ods,odp。但是,后来有部分mssoft document 转成pdf后,出现排版错位问题,字体莫名加粗问题,甚至有的的内容直接就消失了,苦苦冥思不得其解。
后来在github上找了一个转pdf的项目,大致试着转了几个word,发现转pdf后的效果还说的过去,好景不长,后续的mssoft document转换到pdf后,还是出现了出现排版错位问题,这让我很抓狂。
想想也是,mssoft document是微软的,让其他第三方的工具解析转换肯定不能达到100%效果,所以考虑能否让msoffice自己做转换操作,这样就能保证转换后的效果了。并且服务器是windows server,然后就找到了jacob(java com bridge)。
2.前提条件:
本机运行只需要是windows系统即可。若是web项目中用到的服务器必须是windows server。原因:jacob需要借助 msoffice软件做pdf转换操作,因此需要在服务器上安装msoffice 07/10/13。
我本机的环境:
jdk 1.6
tomcat 1.6
maven 3.1 (也可以不用maven,直接创建普通的java项目也可以)
msoffice 2010
3.准备工作:</