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代码 复制代码  收藏代码
  1. import java.io.File;   
  2. import java.net.ConnectException;   
  3. import com.artofsolving.jodconverter.DocumentConverter;   
  4. import com.artofsolving.jodconverter.openoffice.connection.OpenOfficeConnection;   
  5. import com.artofsolving.jodconverter.openoffice.connection.SocketOpenOfficeConnection;   
  6. import com.artofsolving.jodconverter.openoffice.converter.OpenOfficeDocumentConverter;   
  7.   
  8. public class OfficeConverter {   
  9.   
  10.     public static void main(String[] args) {   
  11.         File inputFile = new File("C:/test/yy.doc");   
  12.         File outputFile = new File("C:/test/yy.html");   
  13.            
  14.         OpenOfficeConnection con = new SocketOpenOfficeConnection(8100);   
  15.         try {   
  16.             con.connect();   
  17.         } catch (ConnectException e) {   
  18.             System.err.println("文件转换出错,请检查OpenOffice服务是否启动。");   
  19.             e.printStackTrace();   
  20.         }   
  21.         DocumentConverter converter = new OpenOfficeDocumentConverter(con);   
  22.         converter.convert(inputFile, outputFile);   
  23.         con.disconnect();   
  24.     }   
  25. }  
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正则表达式 http://dangry.iteye.com/blog/858821

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值