当前位置:软件学习 > Word >>

java OpenOffice把word转html(Convert word to html)

 

1. 下载安装OpenOffice,网址http://download.openoffice.org/index.html。

2. 下载第三方工具包JODConverter,http://www.artofsolving.com/opensource/jodconverter。

3. 工程中导入JODConverter中的jar包(jodconverter-2.2.2\lib)

 * commons-io

 

 * jodconverter

 

 * juh

 

 * jurt

 

 * ridl

 

 * slf4j-api

 

 * slf4j-jdk14

 

 * unoil

 

 * xstream

 

Java代码 

import java.io.File;  

import java.net.ConnectException;  

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 OfficeConverter {  

 

    public static void main(String[] args) {  

        File inputFile = new File("C:/test/yy.doc");  

        File outputFile = new File("C:/test/yy.html");  

          

        OpenOfficeConnection con = new SocketOpenOfficeConnection(8100);  

        try {  

            con.connect();  

        } catch (ConnectException e) {  

            System.err.println("文件转换出错,请检查OpenOffice服务是否启动。");  

            e.printStackTrace();  

        }  

        DocumentConverter converter = new OpenOfficeDocumentConverter(con);  

        converter.convert(inputFile, outputFile);  

        con.disconnect();  

    }  

 

import java.io.File;

import java.net.ConnectException;

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 OfficeConverter {

 

       public static void main(String[] args) {

              File inputFile = new File("C:/test/yy.doc");

              File outputFile = new File("C:/test/yy.html");

             

              OpenOfficeConnection con = new SocketOpenOfficeConnection(8100);

              try {

                     con.connect();

              } catch (ConnectException e) {

                     System.err.println("文件转换出错,请检查OpenOffice服务是否启动。");

                     e.printStackTrace();

              }

              DocumentConverter converter = new OpenOfficeDocumentConverter(con);

              converter.convert(inputFile, outputFile);

              con.disconnect();

       }

}

 

4. 测试之前先启动OpenOffice服务

 

C:\Program Files\OpenOffice.org 3\program>soffice -headless -accept="socket,port=8100;urp;"

 

总结:使用OpenOffice作为转换引擎把word文档转换成html,比起使用微软的com组件有跨平台的优势,而且比Apache poi(POI貌似只能获取word中的文本内容,图片和表格,图片和表格的定位很是个问题,获取样式要一个字符一个字符的分析麻烦且效率低下)方便且简单,但是个人觉得开启Openoffice服务占用系统资源太多。

 

ps:word转换成html后会有很多冗余的word格式,严重影响了页面的加载,您一定很想把它们给清除掉,留下干净清爽的html代码。那请您参考我的下一篇文章去掉word冗余格式java正则表达式

作者:dangry

补充:软件开发 , Java ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,