Java DOC 转换给 PDF 格式文档的代码

287 阅读1分钟

工作过程,把写代码过程经常用的代码片段备份一次,下面的代码段是关于Java DOC 转换给 PDF 格式文档的代码,应该对码农们有所用。

import java.io.File; import java.net.ConnectException; import java.util.Date;

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;

public class Doc2Pdf {

private static boolean docToPdf(File inputFile, File outputFile) {
	OpenOfficeConnection connection = new SocketOpenOfficeConnection("127.0.0.1",8100);
	try {
		connection.connect();
		System.out.println("开始转换文档"+inputFile.getName()+"成pdf");
		DocumentConverter converter = new OpenOfficeDocumentConverter( connection);
		converter.convert(inputFile, outputFile);
	} catch (ConnectException cex) {
		cex.printStackTrace();
		return false;
	} finally {
		if (connection != null) {
			connection.disconnect();
			connection = null;
		}
	}
	return true;
}

class PdfThread extends java.lang.Thread {
	public File inputFile;
	public File outputFile;

	public void run() {
		docToPdf(inputFile, outputFile);
		System.out.println(outputFile.getName() + "文件已生成");
	}
}



public void startWorkWithThread(String inputFileName, String outPutFileName){
	File inputFile=new File(inputFileName);
	File outputFile=new File(outPutFileName);
	PdfThread t1 = new PdfThread();
	t1.inputFile=inputFile;
	t1.outputFile=outputFile;
	t1.start();
}

public static boolean doc2pdf(String inputFilePath, String outPutFilePath){
	File inputFile=new File(inputFilePath);
	if(inputFile.exists()){
		File outputFile=new File(outPutFilePath);
		return docToPdf(inputFile,outputFile);
	}else{
		System.out.println("文件:"+inputFilePath +" 不存在!");
	}
	return false;
}

}