关于WORLD转PDF

来源:互联网 发布:ac1200双频路由器端口 编辑:程序博客网 时间:2024/05/29 11:28


1. 需要用的软件

    OpenOffice 下载地址http://www.openoffice.org/

    JodConverter 下载地址http://sourceforge.net/projects/jodconverter/files/JODConverter/

2.启动OpenOffice的服务

安装完openoffice,安装服务

启动 cmd 运行

cd C:\Program Files (x86)\OpenOffice4\program

执行

soffice -headless-accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard

查看是否安装成功,查看端口对应的pid

    netstat -ano|findstr"8100"

 查看pid对应的服务程序名

    tasklist|findstr "pid值"

3.将JODConverter的Jar档放进专案中的Library

 请检查你的专案是否包含以下的Jar档:

  jodconverter-2.2.1.jar

  jurt-2.3.0.jar

  xstream-1.2.2.jar

  ridl-2.3.0.jar

  commons-io-1.3.1.jar

  juh-2.3.0.jar

  slf4j-api-1.4.3.jar

  unoil-2.3.0.jar

slf4j-jdk14-1.4.3.jar

4. 下面是实现代码

附件里面有现成的可以用的项目示例,直接导入eclipse就可以运行

1.  /** 

2.      * Office文档转换为PDF. 运行该函数需要用到OpenOffice, OpenOffice下载地址为 

3.       * http://www.openoffice.org/ 

4.      *  

5.       * <pre> 

6.      * 方法示例: 

7.       * String sourcePath = "F:\\office\\source.doc"; 

8.      * String destFile = "F:\\pdf\\dest.pdf"; 

9.       * Converter.office2PDF(sourcePath, destFile); 

10.     * </pre> 

11.      *  

12.     * @param sourceFile 

13.      *            源文件绝对路径可以是Office2003-2007全部格式的文档, Office2010的没测试包括.doc, 

14.     *            .docx, .xls, .xlsx, .ppt, .pptx示例: F:\\office\\source.doc 

15.      * @param destFile 

16.     *            目标文件绝对路径示例: F:\\pdf\\dest.pdf 

17.      * @return 操作成功与否的提示信息如果返回 -1, 表示找不到源文件url.properties配置错误如果返回 0, 

18.     *         则表示操作成功返回1, 则表示转换失败 

19.      */  

20.    public static int office2PDF(String sourceFile, String destFile) {  

21.         OpenOfficeConnection connection =null;

22.         try {  

23.            File inputFile = new File(sourceFile);  

24.             if (!inputFile.exists()) {  

25.                return -1;// 找不到源文件则返回-1  

26.             }  

27.  

28.             // 如果目标路径不存在则新建该路径  

29.            File outputFile = new File(destFile);  

30.             if (!outputFile.getParentFile().exists()) {  

31.                outputFile.getParentFile().mkdirs();  

32.             }  

33.              

34.             // connect to an OpenOffice.org instance running on port 8100  

35.            connection = new SocketOpenOfficeConnection(  

36.                     "127.0.0.1"8100);  

37.            connection.connect();  

38.   

39.            // convert  

40.             DocumentConverter converter = new OpenOfficeDocumentConverter(  

41.                    connection);  

42.             converter.convert(inputFile, outputFile);  

43.  

44.             // close the connection  

45.   

46.            return 0;  

47.         } catch (ConnectException e) {  

48.             e.printStackTrace();  

49.         } finally {

50.                 try{

51.                         if(connection!= null){

52.                                 connection.disconnet();

53.                                 Connection= null;

54.                         }

55.                 }catch(Exceptione){

56.                         

57.                 }

58.          }

59.  

60.  

61.        return 1;  

62.     }  

 

0 0
原创粉丝点击