Java 调用OPENOFFIC 转换文档类型

本文介绍了一个Java方法,用于通过OpenOffice将Office文档(如.doc、.ppt等)转换为PDF格式。该方法首先检查源文件是否存在,并确保目标路径可用,接着启动OpenOffice服务并建立连接,完成文档转换后断开连接并关闭服务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

public static void office2PDF(String sourceFile, String destFile) { 
        try { 
        File inputFile = new File(sourceFile); 
        if (!inputFile.exists()) { 
        return ;// 找不到源文件, 则返回
        } 

        // 如果目标路径不存在, 则新建该路径 
        File outputFile = new File(destFile); 
        if (!outputFile.getParentFile().exists()) { 
        outputFile.getParentFile().mkdirs(); 
        } 

        String OpenOffice_HOME = "c:\\Program Files (x86)\\OpenOffice 4";//这里是OpenOffice的安装目录, 在我的项目中,为了便于拓展接口,没有直接写成这个样子,但是这样是绝对没问题的 
        // 如果从文件中读取的URL地址最后一个字符不是 '\',则添加'\' 
        if (OpenOffice_HOME.charAt(OpenOffice_HOME.length() - 1) != '\\') { 
        OpenOffice_HOME += "\\"; 
        } 
        // 启动OpenOffice的服务 
        String command = OpenOffice_HOME 
        + "program\\soffice.exe -headless -accept=\"socket,host=127.0.0.1,port=8001;urp;\"-nofirststartwizard"; 
        Process pro = Runtime.getRuntime().exec(command); 
        // connect to an OpenOffice.org instance running on port 8100 
        OpenOfficeConnection connection = new SocketOpenOfficeConnection( 
        "127.0.0.1", 8001); 
        connection.connect(); 

        // convert 
        DocumentConverter converter = new OpenOfficeDocumentConverter( 
        connection); 
        converter.convert(inputFile, outputFile); 

        // close the connection 
        connection.disconnect(); 
        // 关闭OpenOffice服务的进程 
        pro.destroy(); 

        } catch (FileNotFoundException e) { 
        e.printStackTrace(); 
        } catch (IOException e) { 
        e.printStackTrace(); 
        } 
        }

 

转载于:https://www.cnblogs.com/jianlun/p/4777723.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值