工作小总结

JAVA-Word转PDF各种版本实现方式--亲测有效。。。持续更新中

当下做一个项目,就是各种操作office,客户的需求总是各种不按常理,来需求就得搞啊.对JAVA操作office这方面真是头大,弟弟是真滴不懂不会啊。无奈只好试啊试的。网上一大堆好使的,一大堆不好使的。整了一大堆word转PDF的方法。但是客户要求有水印,又不想花钱。硬着头皮试了一堆。虽说暂时还都没采用,但是收获也是有的。 以下都是亲测可用的(很多都是借鉴了前辈的博文)一来给

当下做一个项目,就是各种操作office,客户的需求总是各种不按常理,来需求就得搞啊.对JAVA操作office这方面真是头大,弟弟是真滴不懂不会啊。无奈只好试啊试的。网上一大堆好使的,一大堆不好使的。整了一大堆word转PDF的方法。但是客户要求有水印,又不想花钱。硬着头皮试了一堆。虽说暂时还都没采用,但是收获也是有的。


    以下都是亲测可用的(很多都是借鉴了前辈的博文)一来给自己用(毕竟我记性不好), 二来是希望能对看到本博客的帅哥靓妹们有点用处,免得一用都是不好使的。

    以下方法都是转换结果比较可观的。。。。要用哪个自己斟酌

    本博客的方法也许会不断的增加。有心自己看吧!!

----------------------------------------------------第一种方法 ------------------------------------------------

     JobConverter + OpenOffice     ( Windows系统下 )

    JobConverter的jar包下载地址 :  点我去下载

    OpenOffice的下载地址 : 点我去下载

    OpenOffice 的安装路径自己定义。 代码中要使用对应路径调用启动服务  (此处友情提示)

import java.io.File;
import java.io.IOException;
 
import com.artofsolving.jodconverter.DocumentConverter;
import com.artofsolving.jodconverter.openoffice.connection.OpenOfficeConnection;
import com.artofsolving.jodconverter.openoffice.connection.SocketOpenOfficeConnection;
import com.artofsolving.jodconverter.openoffice.converter.OpenOfficeDocumentConverter;    
 
 
    // 将word格式的文件转换为pdf格式
    public static void WordToPDF(String startFile, String overFile) throws IOException {
        // 源文件目录
        File inputFile = new File(startFile);
        if (!inputFile.exists()) {
            System.out.println("源文件不存在!");
            return;
        }
        
        // 输出文件目录
        File outputFile = new File(overFile);
        if (!outputFile.getParentFile().exists()) {
            outputFile.getParentFile().exists();
        }
        
        // 调用openoffice服务线程
        /** 我把openOffice下载到了 C:/Program Files (x86)/下  ,下面的写法自己修改编辑就可以**/
        String command = "C:/Program Files (x86)/OpenOffice 4/program/soffice.exe -headless -accept=\"socket,host=127.0.0.1,port=8100;urp;\"";
        Process p = Runtime.getRuntime().exec(command);
 
        // 连接openoffice服务
        OpenOfficeConnection connection = new SocketOpenOfficeConnection("127.0.0.1", 8100);
        connection.connect();
 
        // 转换
        DocumentConverter converter = new OpenOfficeDocumentConverter(connection);
        converter.convert(inputFile, outputFile);
 
        // 关闭连接
        connection.disconnect();
 
        // 关闭进程
        p.destroy();
    }
    
    
     public static void main(String[] args) {
        String start = "F:\\新建文件夹\\我是word测试文件.docx";
        String over = "F:\\新建文件夹\\成了.pdf";
        try {
        	WordToPDF(start, over);
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

------------------------------------------

原创不易,完成人机校验,阅读全文

相关推荐