使用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的经验,初次发博,欢迎指教

---恢复内容结束---

转载于:https://www.cnblogs.com/atinalove/p/6813369.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值