java officemanager_java实现MsOffice文档向pdf转化之OpenOffice软件

1 packagecom.zdxy.shangxiaofei;2

3 importjava.io.File;4 importjava.io.FileNotFoundException;5

6 importorg.artofsolving.jodconverter.OfficeDocumentConverter;7 importorg.artofsolving.jodconverter.office.DefaultOfficeManagerConfiguration;8 importorg.artofsolving.jodconverter.office.OfficeManager;9

10

11

12 public classMsOffice2Pdf {13

14 //jodconverter-core-30-beta-4.jar包中的一个对象

15 private staticOfficeManager officeManager;16 //服务器上OpenOffice软件安装路径

17 private static String OFFICE_HOME = "C:\\Program Files (x86)\\OpenOffice 4";18 //转化端口

19 private static int port[] = { 8100};20

21

22 /**

23 * 将MsOffice文档或者txt文档转换成pdf文档的方法24 * @Title: convert2PDF25 * @Description: TODO(这里用一句话描述这个方法的作用)26 *@paraminputFile27 *@paramoutputFile28 *@throwsFileNotFoundException29 *@returnvoid 返回类型30 *@author尚晓飞31 * @date 2014-8-19 上午11:29:2832 */

33 public static void convert2PDF(String inputFile, String outputFile) throwsFileNotFoundException {34

35 //判断输入的文件路径是否存在

36 File file=newFile(inputFile);37 boolean flag=file.exists();38 if(!flag){39 System.out.println("指定转换的文件不存在");40 return;41 }42

43

44 String fileName = null;45

46 //如果传进来的txt文件,则需将txt文件转换成odt文件,才能转换成pdf文件

47 String fileName1 = inputFile.substring(0, inputFile.lastIndexOf("."));48 if(inputFile.endsWith("txt")){49 String odtFile = fileName1+".odt";50 if(newFile(odtFile).exists()){51 System.out.println("odt文件存在");52 inputFile =odtFile;53 }else{54 FileUtil.copyFile(inputFile, odtFile);55 inputFile =odtFile;56 }57 }58 startService();59 System.out.println("进行文档转换:" + inputFile + " --> " +outputFile);60 OfficeDocumentConverter converter = newOfficeDocumentConverter(61 officeManager);62 converter.convert(new File(inputFile), newFile(outputFile));63 stopService();64 System.out.println();65

66 }67

68 /**

69 * 打开OpenOffice软件70 * @Title: startService71 * @Description: TODO(这里用一句话描述这个方法的作用)72 *@returnvoid 返回类型73 *@author尚晓飞74 * @date 2014-8-19 上午11:11:0675 */

76 public static voidstartService() {77 DefaultOfficeManagerConfiguration configuration = newDefaultOfficeManagerConfiguration();78 try{79 System.out.println("准备启动openoffice服务....");80 configuration.setOfficeHome(OFFICE_HOME);// //设置OpenOffice.org安装目录

81 configuration.setPortNumbers(port); //设置转换端口,默认为8100

82 configuration.setTaskExecutionTimeout(1000 * 60 * 5L);//设置任务执行超时为5分钟

83 configuration.setTaskQueueTimeout(1000 * 60 * 60 * 24L);//设置任务队列超时为24小时

84

85 officeManager =configuration.buildOfficeManager();86 officeManager.start(); //启动服务

87 System.out.println("office转换服务启动成功!");88 } catch(Exception ce) {89 System.out.println("office转换服务启动失败" +ce);90 ce.printStackTrace();91 }92 }93

94 /**

95 * 关闭OpenOffice软件96 * @Title: stopService97 * @Description: TODO(这里用一句话描述这个方法的作用)98 *@returnvoid 返回类型99 *@author尚晓飞100 * @date 2014-8-19 上午11:15:24101 */

102 public static voidstopService() {103 System.out.println("准备关闭openoffice转换服务....");104 if (officeManager != null) {105 officeManager.stop();106 }107 System.out.println("关闭openoffice转换服务成功!");108 }109

110

111

112 /**

113 * 测试文件转换114 * @Title: main115 * @Description: TODO(这里用一句话描述这个方法的作用)116 *@paramargs117 *@returnvoid 返回类型118 *@author尚晓飞119 * @date 2014-8-19 上午11:23:08120 */

121 public static voidmain(String[] args) {122 //TODO Auto-generated method stub

123 String inputFile = "E:\\lantian.ppt";124 String outputFile = "E:\\4.pdf";125

126 try{127 convert2PDF(inputFile, outputFile);128 } catch(FileNotFoundException e) {129 //TODO Auto-generated catch block

130 e.printStackTrace();131 }132 }133 }

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值