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

2023-11-19

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java OpenOffice把word转html(Convert word to html ) 的相关文章

随机推荐

  • Smali--Dalvik虚拟机指令语言-->【android_smali语法学习一】

    最近一周在研究rom移植 所以就对Smali语言学习了一下 Smali语言其实就是Davlik的寄存器语言 Smali语言就是android的应用程序 apk通过apktool反编译出来的都有一个smali文件夹 里面都是以 smali结尾
  • 基于当前系统制作docker镜像

    1 通过tar 备份目录 tar cvpf home buildrpm tar directory exclude proc exclude sys exclude dev exclude run root localhost home l
  • 不能安装64位office提示已安装32位的

    问题描述 安装64位office办公软件的时候提示已经安装32位的office办公软件所以无法继续安装 但实际上之前安装的32位的office办公软件已经卸载了 问题现象截图如下 解决办法 从问题描述中 我们其实已经能够看出问题原因了 类似
  • React的超详细讲解

    React React的重点 webpack webpack 是一个现代 JavaScript 应用程序的静态模块打包器 module bundler 当 webpack 处理应用程序时 它会递归地构建一个依赖关系图 dependency
  • 虚幻引擎程序化资源生成框架PCG 之 UPCGBlueprintElement源码笔记(一)

    UPCGBlueprintElement是PCGGraph中自定义节点的基类 但官方目前还没有给出详细的文档 所以从源代码里找点答案 文章目录 可覆盖函数 Override Functions Excute 和 Excute with Co
  • web.xml加载顺序

    web xml加载顺序 应用服务器启动时web xml加载过程 至于这些节点在xml文件中的前后顺序没有关系 不过有些应用服务器 我曾碰到过的 websphere就严格要求web xml的节点顺序 否则部署不成功 所以还是赞成按照web x
  • CSS 样式穿透

    1 穿透语法 如果给样式中声明scop 那么页面的类会增加data 562e3wue8等属性 此时就需要用到 gt gt gt 或者 deep 或者 v deep 以后用后两个比较多 如果在样式类前面 v deep 则会自动找到 data
  • 快速搭建一个自己的服务器详解(java环境)

    一 服务器的购买 1 我选择的是阿里云的服务器 学生价9 5元一个月 百度直接搜索阿里云 然后点击右上角登录 推荐大家用支付宝扫码登录 方便快捷 阿里云官网的东西比较多 登录后我找了很久也没有找到学生服务器在哪里卖 最后在咨询里找到了这个网
  • 喜爱夜蒲3_百度百科

    喜爱夜蒲3 百度百科 喜爱夜蒲3
  • LeetCode707.设计链表

    题目描述 707 设计链表 力扣 LeetCode 这道题用单向链表和双向链表都能写 因为对双向链表不是很熟 所以就用双向链表来写了 由于初始化的链表并没有放入任何元素 所以这个结点就当成哑结点来处理 而且这样对之后的增删操作也更便利 C语
  • 通配符的使用

    通配符是一种特殊语句 主要有星号 和问号 用来模糊搜索文件 当查找文件夹时 可以使用它来代替一个或多个真正字符 当不知道真正字符或者懒得输入完整名字时 常常使用通配符代替一个或多个真正的字符 SQL 通配符 在搜索数据库中的数据时 SQL
  • java最大线程数

    Xms 初始堆大小 如 Xms256m Xmx 最大堆大小 如 Xmx512m Xmn 新生代大小 通常为 Xmx 的 1 3 或 1 4 新生代 Eden 2 个 Survivor 空间 实际可用空间为 Eden 1 个 Survivor
  • 华为OD机试 - 经典屏保(Java)

    题目描述 DVD机在视频输出时 为了保护电视显像管 在待机状态会显示 屏保动画 如下图所示 DVD Logo在屏幕内来回运动 碰到边缘会反弹 请根据如下要求 实现屏保Logo坐标的计算算法 屏幕是一个800 600像素的矩形 规定屏幕的左上
  • PermissionError: [WinError 5] 拒绝访问。解决办法

    PermissionError WinError 5 拒绝访问 问题描述 解决办法 一 找到programdata下anaconda3的python 二 进入Users的权限 将除了特殊权限外 全部挂上 三 在返回到anaconda3的目录
  • Nginx-简介

    用Python语言开发的站点使用的Web服务器主要有Nginx Apache以及淘宝的Tengine Nginx是由Igor Sysoev在2004年发布的一个开源 高性能的HTTP服务器和反向代理 它还可以用来作为IMAP POP3的代理
  • K8s基础6——应用配置管理方案、调度策略、污点和污点容忍

    文章目录 一 应用配置管理方案 1 1 ConfigMap 1 1 1 注入变量 1 1 2 挂载数据卷 1 2 Secret 1 2 1 数据卷挂载 1 2 2 变量注入 二 调度策略 2 1 nodeSelector定向调度 2 1 1
  • Github上 10 个开源免费且优秀的后台控制面板

    Web 开发中几乎的平台都需要一个后台管理 但是从零开发一套后台控制面板并不容易 幸运的是有很多开源免费的后台控制面板可以给开发者使用 那么有哪些优秀的开源免费的控制面板呢 我在 Github 上收集了一些优秀的后台控制面板 并总结得出 T
  • HTTP协议(下)

    前面我介绍了什么是HTTP协议 以及HTTP的协议格式 接下来我介绍一下如何使用代码构造出HTTP请求 以及在介绍一下HTTPS 目录 一 通过代码构造HTTP请求 1 基于HTML JS 1 1 基于form表单 1 2 基于ajax 2
  • vue + threejs 给3D模型添加label标签(dom的方式)

    webGL js封装的代码 const THREE window THREE webGL对象配置 export const webglOBJ renderDom null Scene null 场景 camera null 摄像头 rend
  • java OpenOffice把word转html(Convert word to html )

    1 下载安装OpenOffice 网址http download openoffice org index html 2 下载第三方工具包JODConverter http www artofsolving com opensource j