1.下载OpenOffice
OpenOffice 下载地址http://www.openoffice.org/
2.下载完之后进入OpenOffice目录下的program
3.在当前文件夹进入cmd命令行输入(启动服务)
soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard
4.程序代码
public class DOC2PDFUtil extends java.lang.Thread {
private File inputFile;// 需要转换的文件
private File outputFile;// 输出的文件
public DOC2PDFUtil(File inputFile, File outputFile) {
this.inputFile = inputFile;
this.outputFile = outputFile;
}
@SuppressWarnings("unused")
public void docToPdf() {
Date start = new Date();
//连接远程的openoffice
//OpenOfficeConnection connection = new SocketOpenOfficeConnection("192.168.60.39",8100);
OpenOfficeConnection connection = new SocketOpenOfficeConnection(8100);
try {
connection.connect();
DocumentConverter converter = new StreamOpenOfficeDocumentConverter(connection);
converter.convert(inputFile, outputFile);
} catch (ConnectException cex) {
cex.printStackTrace();
} finally {
// close the connection
if (connection != null) {
connection.disconnect();
connection = null;
}
}
}
/**
* 由于服务是线程不安全的,所以……需要启动线程
*/
public void run() {
this.docToPdf();
}
public File getInputFile() {
return inputFile;
}
public void setInputFile(File inputFile) {
this.inputFile = inputFile;
}
public File getOutputFile() {
return outputFile;
}
public void setOutputFile(File outputFile) {
this.outputFile = outputFile;
}
public static void main(String[] args) {
// 需要转换的文件
File inputFile = new File("D:/zkxtwork/jts/trunk/zkxt-doc/jtsdoc/根目录/总经理办公室/aa.doc");
// 输出的文件
File outputFile = new File("D:/zkxtwork/jts/trunk/zkxt-doc/jtsdoc/jtsPdfUploadFile/20208/aa.pdf");
DOC2PDFUtil dp = new DOC2PDFUtil(inputFile, outputFile);
dp.start();
}