怎么在Java中利用openoffice将医生,多克斯转为pdf

  介绍

本文章向大家介绍怎么在Java中利用openoffice将医生,多克斯转为pdf,主要包括怎么在Java中利用openoffice将医生,多克斯转为pdf的使用实例,应用技巧,基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

Java的特点有哪些

Java的特点有哪些   1. java语言作为静态面向对象编程语言的代表,实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。   2. java具有简单性,面向对象,分布式、安全性,平台独立与可移植性,动态性等特点。   3 .使用Java可以编写桌面应用程序,网络应用程序,分布式系统和嵌入式系统应用程序等。

1。需要用的软件

OpenOffice, JodConverter

2。启动OpenOffice的服务

我到网上查如何利用OpenOffice进行转码的时候,都是需要先用cmd启动一个soffice服务,启动的命令是:soffice无头接受=安遄?主机127.0.0.1,端口=8100;urp;“。

但是实际上,对于我的项目,进行转码只是偶尔进行,然而当OpenOffice的转码服务启动以后,该进程(进程名称是soffice.exe)会一直存在,并且大约占100的内存,感觉非常浪费。<强>于是我就想了一个办法,可以将执行该服务的命令直接在Java代码里面调用,然后当转码完成的时候,直接干掉这个进程。在后面的Java代码里面会有解释。

所以,实际上,这第2步可以直接跳过

3。将JodConverter相关的jar包添加到项目中

将JodConverter解压缩以后,把自由下面的jar包全部添加到项目中

注意:安装OpenOffice

4。下面就是重点喽,详见Java代码解析

package  cn;   import  java.io.BufferedReader;   import  java.io.File;   import  java.io.FileNotFoundException;   import  java.io.IOException;   import  java.io.InputStreamReader;   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;/* *,   ,*办公室转化为pdf    ,* pdf转化为swf文件,   ,* @author  Administrator    *大敌;   ,*/public  class  Converter  {   private  static  String  openOfficePath =,“E: \ \安装软件\ \ openoffice \ \ date";//openoffice软件的安装路径,/* *,   ,,*,将办公室文档转换为PDF只运行该函数需要用到OpenOffice和jodconverter-2.2.2    ,,*,& lt; pre>,   ,,*,方法示例:,   ,,*,String  sourcePath =,“F: \ \ \ \ source.doc"办公室;,,   ,,*,String  destFile =,“F: pdf \ \ \ \ dest.pdf",,   ,,*,Converter.office2PDF(路径,,destFile),,   ,,*,& lt;/pre>,   *,,,,   ,,*,@param  sourceFile    *,,,,,,,,源文件,,绝对路径只可以是office2003 - 2007全部格式的文档,,Office2010的没测试只包括. doc,,   *,,,,,,,,docx,。xls,, .xlsx,, ppt,, .pptx等只示例:,F: \ \ \ \ source.doc 办公室;   ,,*,@param  destFile    *,,,,,,,,目标文件只绝对路径只示例:,F: pdf \ \ \ \ dest.pdf    ,,*,@return 操作成功与否的提示信息只如果返回,1,表示找不到源文件,,或url.properties配置错误;,如果返回,0,,   *,,,,,,,则表示操作成功;,返回1,则表示转换失败,   ,,*/public  static  int  office2PDF (String 源文件,String  destFile), {   try  {   File  inputFile =, new 文件(源文件);   if  (! inputFile.exists ()), {   return  1;//,找不到源文件,,则返回1   }//,如果目标路径不存在,,则新建该路径,,   File  outputFile =, new 文件(destFile);   .exists if  (! outputFile.getParentFile () ()), {   .mkdirs outputFile.getParentFile () ();   }   String  OpenOffice_HOME =, openOfficePath;//这里是OpenOffice的安装目录,,//,如果从文件中读取的URL地址最后一个字符不是,& # 39;\ & # 39;则添加& # 39;\ & # 39;,,   if  (OpenOffice_HOME.charAt (OpenOffice_HOME.length(),安康;1),!=,& # 39;\ \ & # 39;),{   OpenOffice_HOME  +=,“\ \”;   }//,启动OpenOffice的服务,,   String  command =时间OpenOffice_HOME 大敌;;   ,,,,,,,,,+,“程序\ \ soffice.exe  -headless 接受=\“插座,主机127.0.0.1,端口=8100;   urp;   \“,“;   Process  pro =, Runtime.getRuntime () .exec(命令);//,connect 用an  OpenOffice.org  instance  running 提醒port  8100年,,   OpenOfficeConnection  connection =, new  SocketOpenOfficeConnection (,,   ,,,,,,,,,“127.0.0.1",, 8100);   connection.connect ();//时间convert 大敌;;   DocumentConverter  converter =, new  OpenOfficeDocumentConverter (,,   ,,,,,,,,,连接);   converter.convert (inputFile, outputFile);//,close 从而,connection ,   connection.disconnect ();//,关闭OpenOffice服务的进程,,   pro.destroy ();   return  0;   }   catch  (FileNotFoundException  e), {   e.printStackTrace ();   return  1;   }   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

怎么在Java中利用openoffice将医生,多克斯转为pdf