最近项目中遇到一个新需求,需要将Word和Excel文档解析成为html编码并在前台显示,word中包含图片信息,保留原文档基础样式,博主查找了相关资料后,利用OpenOffice第三方插件,以及自己封装了一些解析方法,功能已经实现,在此分为上下两部分做总结以便后期使用,希望可以帮助到大家,如有更好的建议望留言告知。

1.OpenOffice

1.软件下载

首先,去到官网根据自己的需求下载所需要的版本(我的版本是4.1.4)。

2.软件安装

双击安装包 打开运行程序 这里是安装向导首界面 点击下一步按钮

点击浏览按钮 选择安装目录路径 如图所示

会自动检测系统中的插件 如果需要会自动安装

输入使用的用户 以及选择用户权限 点击下一步按钮

这里勾选通常安装 简单而且点击下一步

是否在桌面上创建一个快捷方式 建议勾选

这是安装完成界面 点击完成关闭安装向导

PS:安装度娘上都有,博主帮你们移植过来,按照步骤即可。

3.启动OpenOffice服务

打开cmd命令窗口,进入OpenOffice安装目录下的program目录,如下图

因为我的OpenOffice安装在D盘所以我先进的D盘,至于怎么在cmd里敲命令行我想大家都懂得,在这里我就不献丑了。

进入program目录后,继续执行(按原句执行不要更改)

soffice -headless -accept=”socket,host=127.0.0.1,port=8100;urp;” -nofirststartwizard

如下图:

执行完成后可打开:任务管理器 进行查看服务是否启动 如下图:

记住每次重启电脑都得重新打开OpenOffice执行上述步骤,如果需要自启动请自行写自启动脚本

4.工具类

OpenOfficeUtils.java

package com.utils;

import java.io.BufferedReader;

import java.io.File;

import java.io.IOException;

import java.io.InputStream;

import java.io.InputStreamReader;

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;

/**

* 任意文件转化为html

*

* @author Mr.F

*

*/

public class OpenOfficeUtils {

// 任意文件转html

public static void FileToHtml(String sourceFile, String htmlFile) {

File SourceFile = new File(sourceFile);

File HtmlFile = new File(htmlFile);

/*

* 转换成pdf文件

* 项目执行需要启动OpenOffice服务,在系统命令窗口执行命令。

* cd C:\Program Files (x86)\OpenOffice.org 4\program

* soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard

*/

if(SourceFile.exists()) {

if(!HtmlFile.exists()) {

OpenOfficeConnection connection = new SocketOpenOfficeConnection(8100);

try {

connection.connect();

DocumentConverter converter = new OpenOfficeDocumentConverter(connection);

converter.convert(SourceFile, HtmlFile);

HtmlFile.createNewFile();

connection.disconnect();

System.out.println("第二步:转换为HTML格式 路径" + HtmlFile.getPath());

} catch (java.net.ConnectException e) {

//} catch (Exception e) {

e.printStackTrace();

System.out.println("OpenOffice服务未启动");

try {

throw e;

} catch (ConnectException e1) {

e1.printStackTrace();

}

} catch (com.artofsolving.jodconverter.openoffice.connection.OpenOfficeException e) {

e.printStackTrace();

System.out.println("读取文件失败");

throw e;

} catch (Exception e){

e.printStackTrace();

try {

throw e;

} catch (Exception e1) {

e1.printStackTrace();

}

}

} else {

System.out.println("已转换为HTML,无需再次转换");

}

} else {

System.out.println("要转换的文件不存在");

}

}

public static void main(String[] args) {

FileToHtml("F:\\ceshi.xlsx", "F:\\ceshi1.html");

}

}

PS:OpenOffice会自动识别Office版本,比如doc和docx以及xls和xlsx。

先告诉大家工具下载和使用情况,下篇会结合web工程给大家演示完整的功能,如有问题请留言告知,我们不止会New!

openoffice将图片转换为html,Java利用OpenOffice进行将word,excel转化成html解析到界面(上)...相关推荐

  1. Java 利用hutool工具实现导出excel并合并单元格

    Java 利用hutool工具实现导出excel并合并单元格 controller层调用service,就一个核心方法,没错就下面这个代码就能实现了.前提是项目里面要引用hutool包.把我这个复制到 ...

  2. 使用Java泛型和反射机制编写Excel文件生成和解析的通用工具类

    前几天被派到一个小项目中做临时维护,工作地点不方便且不说,项目代码那叫一个恶心... 代码几乎完全没有注释.这应该是我们天朝大部分程序员的习惯,代码不写注释,给后面维护的同事带来多大麻烦啊! 几百行的 ...

  3. 利用js-xlsx.js插件实现Excel文件导入并解析Excel数据成json数据格式

    <!--本文转载于网络,有太多一样的文章,不知道原作者是哪位了,就不注明出处了.这里记载下来,用于自己的学习借鉴--><!DOCTYPE html><html lang= ...

  4. java 利用openOffice实现word ppt 等资源转化为pdf文件

    网上有很多教程,但是很多坑,比如jobconvert2.2.1无法转pptx等格式的文件 而jobconvert2.2.2可以  但是maven仓库又没有  对于公司开发  这是个问题 毕竟公司的仓库 ...

  5. java利用栈进行进制转换

    栈(Stack)是一种特殊的线性表,其插入和删除操作只允许在线性表的一端进行.通常称允许插入.删除操作的这一端为栈顶(Top),不允许操作的一端称为栈底(Bottom).当表中没有元素时称为空栈. 假 ...

  6. java利用poi模板导出word文件

    注意:  doc文件的读取,需要导入poi-scratchpad包: docx文件读取,需要导入poi-ooxml包: 一.引入pom <dependency><groupId> ...

  7. java利用freemarker动态生成word文档及动态表格

    这里写自定义目录标题 目标 准备 实现 处理模板 java实现 验证 目标 根据给定word模板,动态填充指定内容,并输出为新的word文档. 准备 1.模板: 准备一份目标格式的word文档,如:w ...

  8. Java实现pdf转HTML | WORD | EXCEL | PPT | PNG | TXT 教程

    从 Maven 下载 Aspose.PDF 通过将以下配置添加到 pom.xml, 您可以直接从基于Maven的项目 轻松地使用Aspose.PDF for Java . <repository ...

  9. Java中使用JCOM操作Word/Excel对象

    通过使用COM技术,我们用微软Office应用程序能够建立很多应用程序扩展,但是Java开发人员却无法享受它带来的便利--除非他们拥有方便的Java访问COM的途径(Java-to-COM桥).使用J ...

  10. java doc转为pdf_Java利用openoffice将doc、docx转为pdf实例代码

    本文研究的主要是Java编程利用openoffice将doc.docx转为pdf的实现代码,具体如下. 1. 需要用的软件 OpenOffice , JodConverter 2.启动OpenOffi ...

最新文章

  1. android如何查看分区信息,android如何查看分区信息
  2. VMware的快照和克隆总结
  3. 读取Excel还用POI?试试这款开源工具
  4. 未来的浏览器=操作系统
  5. JVM上的下一个Java——Scala
  6. 官网下载mysql实例数据库
  7. 通过webbrowser实现js与winform的相互调用
  8. Angular4+AdminLTE+Jeecg 前后端分离框架实战-张代浩-专题视频课程
  9. 20172318 2018-2019-1 《程序设计与数据结构》第9周学习总结
  10. 妈妈再也不用担心孩子偷玩手机了!微信升级“青少年模式”
  11. Oracle修改机器名后导致监听和console无法启动解决方法参考(转的)
  12. xampp 403 禁止访问 问题解决
  13. 一种深久的不安 摘自: 《天使路过》 / 乔叶
  14. oracle中的rownumber,oracle中row_number和rownum的区别和联系(翻译)
  15. Q版京剧脸谱来喽——小生
  16. Linux那些事儿之我是U盘(5)外面的世界很精彩
  17. Web项目经理手册之项目经理需要铭记在心的话
  18. 英语中的商务电子邮件:5点实用技巧
  19. 蚂蚁开放平台开发者专场(上海站)欢迎参加!
  20. Hive(番外):Hive可视化工具IntelliJ IDEA

热门文章

  1. Python学习5:计算弓形的面积
  2. java 参数检验_Spring请求参数校验功能实例演示
  3. 军工行业档案管理数字化解决方案
  4. 「22考研」过来人总结的备考小技巧
  5. Lombok - Accessors详细说明
  6. springboot毕设项目计算机实验室设备管理系统mam10(java+VUE+Mybatis+Maven+Mysql)
  7. ggplot2初阶_散点图(geom_point)
  8. Gunicorn(绿色独角兽)
  9. cedo nulli拉丁字母
  10. 第13期《织梦之路》9月刊