soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard
http://www.artofsolving.com/opensource/jodconverter
下載地點:
http://www.artofsolving.com/opensource/jodconverter
http://zh.openoffice.org/new/zh_tw/downloads.html ;
目前版本: JODConverterv2.2.1, OpenOffice v3.0.0
使用需求: JDK1.4以上, 安裝OpenOffice v2.0.3以上
基本簡介:
JODConverter主要的功能是用來做各種檔案的轉換. 目前測試過, Word,Excel,PowerPoint轉PDF都是沒問題的.
因為JODConverter是透過OpenOffice來做轉換, 所以使用前需要先安裝OpenOffice, 並且將OpenOffice的Service啟動, 才可以使用.
使用教學:
Step1: 安裝OpenOffice
Step2: 啟動OpenOffice Service
1 cd C:\Program Files\OpenOffice.org 3\program
2 soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard
Step3:將JODConverter的Jar檔放進專案中的Library, 請檢查你的專案是否包含以下的Jar檔:
jodconverter-core-3.0-beta-4.jar
juh-3.2.1.jar
ridl-3.2.1.jar
Step5: 執行以下程式
package com.able.util;
import java.io.File;
import org.artofsolving.jodconverter.OfficeDocumentConverter;
import org.artofsolving.jodconverter.document.DefaultDocumentFormatRegistry;
import org.artofsolving.jodconverter.office.DefaultOfficeManagerConfiguration;
import org.artofsolving.jodconverter.office.OfficeManager;
public class ConvertorToPdfUtils {
/**
* 将非pdf(非视频,音频文件)文件转换为pdf文件夹
* @param srcFileName 源文件
* @param destFileName 目标存放文件
* @param port
*/
public static void covertorToPdf(String srcFileName, String destFileName,int port) {
//连接openoffice
DefaultOfficeManagerConfiguration configuration = new DefaultOfficeManagerConfiguration();
//连接openoffice的端口号
configuration.setPortNumber(port);
//openoffice的安装目录
configuration.setOfficeHome("C:/Program Files/OpenOffice.org 3");
OfficeManager officeManager = configuration.buildOfficeManager();
officeManager.start();
OfficeDocumentConverter converter = new OfficeDocumentConverter(
officeManager, new DefaultDocumentFormatRegistry());
try {
File srcFile = new File(srcFileName);
File destFile = new File(destFileName);
converter.convert(srcFile, destFile);
} finally {
officeManager.stop();
}
}
public static void main(String[] args) {
String srcFileName = "D:\\servlet.ppt";
String destFileName = "D:\\test.pdf";
covertorToPdf(srcFileName, destFileName,8100);
}
}