工作过程,把写代码过程经常用的代码片段备份一次,下面的代码段是关于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;
}
}