Word轉PDF_OpenOffice_JobConverter

項目源碼下載——百度網盤

源碼和OpenOffice  提取碼:rb2l

Java Word轉PDF前提條件

需安裝OpenOffice(官網有windows、linux、mac等操作系統的安裝包,點擊OpenOffice下載

本文通過JobConverter操作OpenOffice實現Word轉PDF代碼(doc,docx均支持)如下:

  1. maven依賴

<dependency>
    <groupId>org.jodconverter</groupId>
    <artifactId>jodconverter-local</artifactId>
    <version>4.3.0</version>
</dependency>

    2.測試代碼

import org.jodconverter.core.DocumentConverter;
import org.jodconverter.core.document.DefaultDocumentFormatRegistry;
import org.jodconverter.core.document.DocumentFormat;
import org.jodconverter.core.office.OfficeException;
import org.jodconverter.core.office.OfficeManager;
import org.jodconverter.local.LocalConverter;
import org.jodconverter.local.office.LocalOfficeManager;
import org.jodconverter.local.process.WindowsProcessManager;

import java.io.File;
import java.util.HashMap;
import java.util.Map;

public class JobConverter {

    private static OfficeManager officeManager = null;

    public static void main(String[] args) {
        JobConverter.start();
        JobConverter.convert("d:/poi/123.doc","d:/poi/123.pdf");
        JobConverter.stop();
    }

    static {
        LocalOfficeManager.Builder builder = LocalOfficeManager.builder();
        builder.processManager(new WindowsProcessManager());
        builder.portNumbers(2002);
        builder.processTimeout(12000L);
        builder.processRetryInterval(250L);
        builder.killExistingProcess(true);
        builder.maxTasksPerProcess(200);
        builder.taskQueueTimeout(30000L);
        officeManager = builder.build();
    }

    public static void convert(String srcPath, String desPath){
        DocumentFormat targetFormat = DefaultDocumentFormatRegistry.getFormatByExtension("PDF");
        Map<String,Object> loadProperties = new HashMap<>(LocalConverter.DEFAULT_LOAD_PROPERTIES);
        Map<String,Object> storeProperties = new HashMap<>();
        try {
            DocumentConverter converter = LocalConverter.builder().officeManager(officeManager).loadProperties(loadProperties).storeProperties(storeProperties).build();
            converter.convert(new File(srcPath)).to(new File(desPath)).as(targetFormat).execute();
        } catch (OfficeException e) {
            e.printStackTrace();
        }
    }

    public static void start(){
        try {
            officeManager.start();
        } catch (OfficeException e) {
            e.printStackTrace();
        }
    }

    public static void stop(){
        try {
            officeManager.stop();
        } catch (OfficeException e) {
            e.printStackTrace();
        }
    }

}
 

    3.測試環境 

本地開發環境:
    操作系統:Windows 10
    JDK版本:jdk1.8.0_102

Word轉PDF功能實現:
一、依賴工具:OpenOffice(可支持windows、linux、mac等操作系統)
二、代碼及Jar包
    1、導入Jar包:Java項目需添加lib中的jar包 或者 Maven項目添加pom.xml中jodconverter-local依賴
    2、直接運行JobConverter程序
    3、第一次安裝好OpenOffice的時候,記得打開OpenOffice,根據要求進行用戶名、公司名稱輸入註冊,否則後面轉換的時候報錯,連接失敗

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章