在模仿百度文库的操作过程中,有很多朋友反映出来的一些问题,是我想起了写这篇blog。
主要是让大家在做的过程中注意一些东西,否则达不到想要的效果。
第一步:我们先从 java开发_模仿百度文库_OpenOffice2PDF_源码下载 这篇blog中下载到源码。
第二步:我们下载好了源码,进行解压文件。然后启动你的Eclipse。
第三步:把解压好的源码导入(Import)你的Eclipse的工作目录(workspace)。
或者,你在Eclipse中重新建一个项目,把相应的文件拷贝到你所建的工程目录(比如:src下面的文件,拷贝到src目录下;lib下面的文件,拷贝到lib目录下;注意他们的路径就可以了。)
![](https://i-blog.csdnimg.cn/blog_migrate/00533a8bb5e05a06243f0d326ad75100.png)
第四步:设置你项目的build path,把lib下面的jar包引入进来。设置jre的版本为1.7的。(我测试过了,jre1.6的版本不行的哦!)
第五步:运行程序,控制台输出结果
四月 19, 2014 6:47:07 下午 org.artofsolving.jodconverter.office.ProcessPoolOfficeManager <init> INFO: ProcessManager implementation is PureJavaProcessManager 四月 19, 2014 6:47:07 下午 org.artofsolving.jodconverter.office.OfficeProcess start INFO: starting process with acceptString 'socket,host=127.0.0.1,port=2002,tcpNoDelay=1' and profileDir 'C:\Users\ADMINI~1\AppData\Local\Temp\.jodconverter_socket_host-127.0.0.1_port-2002' 四月 19, 2014 6:47:07 下午 org.artofsolving.jodconverter.office.OfficeProcess start INFO: started process 四月 19, 2014 6:47:14 下午 org.artofsolving.jodconverter.office.OfficeConnection connect INFO: connected: 'socket,host=127.0.0.1,port=2002,tcpNoDelay=1' 文件:e:/test.docx 转换为 目标文件:e:\test_1397904427299.pdf 成功! 四月 19, 2014 6:47:23 下午 org.artofsolving.jodconverter.office.ProcessPoolOfficeManager stop INFO: stopping 四月 19, 2014 6:47:23 下午 org.artofsolving.jodconverter.office.OfficeConnection$1 disposing INFO: disconnected: 'socket,host=127.0.0.1,port=2002,tcpNoDelay=1' 四月 19, 2014 6:47:23 下午 org.artofsolving.jodconverter.office.ManagedOfficeProcess doEnsureProcessExited INFO: process exited with code 0 四月 19, 2014 6:47:23 下午 org.artofsolving.jodconverter.office.ProcessPoolOfficeManager stop INFO: stopped 四月 19, 2014 6:47:23 下午 org.artofsolving.jodconverter.office.ProcessPoolOfficeManager <init> INFO: ProcessManager implementation is PureJavaProcessManager 文件转换耗时:[9129]ms 四月 19, 2014 6:47:23 下午 org.artofsolving.jodconverter.office.OfficeProcess start INFO: starting process with acceptString 'socket,host=127.0.0.1,port=2002,tcpNoDelay=1' and profileDir 'C:\Users\ADMINI~1\AppData\Local\Temp\.jodconverter_socket_host-127.0.0.1_port-2002' 四月 19, 2014 6:47:23 下午 org.artofsolving.jodconverter.office.OfficeProcess start INFO: started process 四月 19, 2014 6:47:24 下午 org.artofsolving.jodconverter.office.OfficeConnection connect INFO: connected: 'socket,host=127.0.0.1,port=2002,tcpNoDelay=1' 文件:e:/test.pptx 转换为 目标文件:e:\test.pdf 成功! 四月 19, 2014 6:47:28 下午 org.artofsolving.jodconverter.office.ProcessPoolOfficeManager stop INFO: stopping 四月 19, 2014 6:47:28 下午 org.artofsolving.jodconverter.office.OfficeConnection$1 disposing INFO: disconnected: 'socket,host=127.0.0.1,port=2002,tcpNoDelay=1' 四月 19, 2014 6:47:28 下午 org.artofsolving.jodconverter.office.ManagedOfficeProcess doEnsureProcessExited INFO: process exited with code 0 四月 19, 2014 6:47:28 下午 org.artofsolving.jodconverter.office.ProcessPoolOfficeManager stop INFO: stopped 文件转换耗时:[3993]ms
我这边的结果截图:
![](https://i-blog.csdnimg.cn/blog_migrate/9e76a0e5fc27bd5a310a4ac8fd3a42d1.png)
docsx测试:
pptx测试:
ATTENTION:
在做的过程中,你可能会涉及到修改的代码:
1 // 第一部分: main函数,主要是修改测试文档路径如:e:/test.pptx, e:/test.xls等等 2 public static void main(String[] args) { 3 Office2PDF office2pdf = new Office2PDF(); 4 office2pdf.openOfficeToPDF("e:/test." + OFFICE_XLS, "e:/test_" + OFFICE_DOCX + "2" + OFFICE_TO_PDF + new Date().getTime() + "." + OFFICE_TO_PDF); 5 office2pdf.openOfficeToPDF("e:/test." + OFFICE_PPTX, null); 6 }
1 // 第二部分:修改Openoffice的安装目录,我的安装在D盘,且为Windows 7系统 2 public String getOfficeHome() { 3 String osName = System.getProperty("os.name"); 4 if (Pattern.matches("Linux.*", osName)) { 5 return "/opt/openoffice.org3"; 6 } else if (Pattern.matches("Windows.*", osName)) { 7 return "D:\\OpenOffice 4"; 8 } else if (Pattern.matches("Mac.*", osName)) { 9 return "/Application/OpenOffice.org.app/Contents"; 10 } 11 return null; 12 }