使用OpenOffice實現各種文檔轉pdf或者html文檔


---恢復內容開始---

最近在做項目時需要寫一個功能,將doc,ppt,xsl等文檔做在線預覽。網上查了很多資料,開始適用poi將文檔轉成pdf沒成功,后來使用了OpenOffice4 + jodconverte2.2.2  + slf4j-jdk14-1.7.21,

jarbao版本一定要對,不然會報錯,

首先安裝Open Office4,導入jia包,下面直接上代碼;

 1 import java.io.File;
 2 import java.io.FileNotFoundException;
 3 import java.io.IOException;
 4 import java.net.ConnectException;
 5 
 6 import com.artofsolving.jodconverter.DocumentConverter;
 7 import com.artofsolving.jodconverter.openoffice.connection.OpenOfficeConnection;
 8 import com.artofsolving.jodconverter.openoffice.connection.SocketOpenOfficeConnection;
 9 import com.artofsolving.jodconverter.openoffice.converter.OpenOfficeDocumentConverter;
10 import com.thinkgem.jeesite.common.config.Global;
11 
12 public class FileTransferUtils {
13     
14     /**
15      * inputFile : 源文件路徑<br>
16      * outputFile : 目標文件路徑<br>
17      * suffix : 目標文件后綴  ".pdf" , ".html" etc
18      * */
19     /*public static void main(String []args){
20         office2PDF("D:\\test\\out.docx", "D:\\test\\", ".pdf");
21     }*/
22     public static void office2PDF(String inputFile,String outputFile,String suffix){
23          try{    
24              File input = new File(inputFile);
25              if(!input.exists()){
26              }
27              String filename = input.getName();
28              String file = filename.substring(0, filename.lastIndexOf("."));
29              System.out.println(file);
30              File output = new File(outputFile+file+suffix);
31              System.out.println(outputFile+file+suffix);
32              if(output.exists()){
33                  output.delete();
34              }
35              
36              String open_office_home = Global.getConfig("openoffice.path");  //這是我在項目中配置的
37              //String open_office_home ="你的openoffie安裝路徑";
38              String command = open_office_home+
39                      "program\\soffice.exe -headless -accept=\"socket,host=127.0.0.1,port=8100;urp;\"";  //這條命令是通用的;
40              
41              Process process = Runtime.getRuntime().exec(command);
42              
43              OpenOfficeConnection connection =new SocketOpenOfficeConnection();
44              connection.connect();
45              DocumentConverter converter = new OpenOfficeDocumentConverter(connection);
46              converter.convert(input, output);
47              connection.disconnect();
48              process.destroy();
49          }catch(FileNotFoundException e){
50              e.printStackTrace();
51          }catch (ConnectException e) {
52              e.printStackTrace();
53         }catch (IOException e) {
54             e.printStackTrace();
55         }
56      }
57 }

以上就是我做office文檔轉pdf的經驗,初次發博,歡迎指教

---恢復內容結束---


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM