項目源碼下載——百度網盤
源碼和OpenOffice 提取碼:rb2l
Java Word轉PDF前提條件
需安裝OpenOffice(官網有windows、linux、mac等操作系統的安裝包,點擊OpenOffice下載)
本文通過JobConverter操作OpenOffice實現Word轉PDF代碼(doc,docx均支持)如下:
- 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_102Word轉PDF功能實現:
一、依賴工具:OpenOffice(可支持windows、linux、mac等操作系統)
二、代碼及Jar包
1、導入Jar包:Java項目需添加lib中的jar包 或者 Maven項目添加pom.xml中jodconverter-local依賴
2、直接運行JobConverter程序
3、第一次安裝好OpenOffice的時候,記得打開OpenOffice,根據要求進行用戶名、公司名稱輸入註冊,否則後面轉換的時候報錯,連接失敗