- 浏览: 914841 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (498)
- J2EE (52)
- 数据库 (17)
- java基础 (43)
- web技术 (19)
- 程序设计 (6)
- 操作系统 (18)
- IT资讯 (7)
- 我的IT生活 (12)
- 学习笔记 (9)
- Jquery (25)
- JavaScript (18)
- spring (40)
- Hibernate (12)
- Struts (10)
- YUI (2)
- Extjs (22)
- .net (0)
- Eclipse (10)
- 社会主义 (2)
- 服务器 (9)
- CSS (8)
- 网络安全 (16)
- 版本控制 (9)
- PHP (2)
- Oracle (42)
- SQL server (1)
- Mysql (11)
- 项目管理 (3)
- 开发工具使用 (10)
- SQL语句 (7)
- Perl (0)
- Shell (6)
- 漏洞 (4)
- ibatis (5)
- hacker (2)
- SQL注入 (6)
- Hacker工具 (2)
- 入侵和渗透 (7)
- 插件/组件 (2)
- 最爱开源 (5)
- 常用软件 (2)
- DOS (1)
- HTML (2)
- Android (9)
- CMS (1)
- portal (8)
- Linux (7)
- OSGI (1)
- Mina (5)
- maven (2)
- hadoop (7)
- twitter storm (2)
- sap hana (0)
- OAuth (0)
- RESTful (1)
- Nginx (4)
- flex (1)
- Dubbo (1)
- redis (1)
- springMVC (1)
- node.js (1)
- solr (2)
- Flume (1)
- MongoDB (2)
- ElasticSearch (1)
最新评论
-
M_drm:
请问要怎么设置浏览器才不报没权限呢?
用JS在页面调用本地可执行文件的方法(ACTIVEX) -
Alexniver:
官方文档。When importing data into I ...
mysql导入数据过慢 解决方法 -
camelwoo:
我记得 Criteria 可以做连接查询与子查询,也可以做分页 ...
Hibernate总结篇二 -
zhenglongfei:
楼主如果SubKeyName 这个节点不存在,怎么办??怎么用 ...
Java操作注册表 -
yxx676229549:
用log4j 2 了
logback
[url]http://jadethao.iteye.com/blog/1817738 [/url]
最近项目中需要把word转换成html格式,直接通过Java代码转化,出来的格式对不上号,网上找到有一些方法,可以接触一下插件或者第三方jar可以进行转换,这里先说说,使用openOffices 转换的过程以及使用.
1、下载安装OpenOffice.org 3.4.1,安装过程略过。
官网地址:http://download.openoffice.org/index.html
2、下载第三方包Jodconverter.jar,开启OpenOffice进行格式转化
官网地址:[url] http://www.artofsolving.com/opensource/jodconverter[/url]
3、一切准备工作就绪开始动手时间,
首先,启动端口:
进入dos, cd C:\Program Files (x86)\OpenOffice.org 3\program
启动命令:soffice -headless -accept="socket,port=8100;urp;
最近项目中需要把word转换成html格式,直接通过Java代码转化,出来的格式对不上号,网上找到有一些方法,可以接触一下插件或者第三方jar可以进行转换,这里先说说,使用openOffices 转换的过程以及使用.
1、下载安装OpenOffice.org 3.4.1,安装过程略过。
官网地址:http://download.openoffice.org/index.html
2、下载第三方包Jodconverter.jar,开启OpenOffice进行格式转化
官网地址:[url] http://www.artofsolving.com/opensource/jodconverter[/url]
3、一切准备工作就绪开始动手时间,
首先,启动端口:
进入dos, cd C:\Program Files (x86)\OpenOffice.org 3\program
启动命令:soffice -headless -accept="socket,port=8100;urp;
package com.artofsolving.jodconverter.test; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStreamReader; import java.net.ConnectException; import java.nio.charset.Charset; import java.util.Date; import java.util.HashMap; import java.util.Map; import java.util.Set; import java.util.regex.Matcher; import java.util.regex.Pattern; 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; /** * * 端口启动命令: * soffice -headless -accept="socket,port=8100;urp; * C:\Program Files (x86)\OpenOffice.org 3\program * * 将Word文档转换成html字符串的工具类 * * */ public class Test { public static void main(String[] args) { toHtmlString(new File("C:\\Users\\Administrator\\Desktop\\a111.doc"), "E:/test"); } /** * 将word文档转换成html文档 * @param docFile 需要转换的word文档 * @param filepath 转换之后html的存放路径 * @return 转换之后的html文件 */ public static File convert(File docFile, String filepath) { // 创建保存html的文件 File htmlFile = new File(filepath + "/" + new Date().getTime() + ".html"); // 创建Openoffice连接 OpenOfficeConnection con = new SocketOpenOfficeConnection(8100); try { // 连接 con.connect(); } catch (ConnectException e) { System.out.println("获取OpenOffice连接失败..."); e.printStackTrace(); } // 创建转换器 DocumentConverter converter = new OpenOfficeDocumentConverter(con); // 转换文档问html converter.convert(docFile, htmlFile); // 关闭openoffice连接 con.disconnect(); return htmlFile; } /** * * 将word转换成html文件,并且获取html文件代码。 * @param docFile 需要转换的文档 * @param filepath 文档中图片的保存位置 * @return 转换成功的html代码 */ public static String toHtmlString(File docFile, String filepath) { // 转换word文档 File htmlFile = convert(docFile, filepath); /*try { FileUtils.copyFile(docFile,new File("e://ee.doc")); FileInputStream input = FileUtils.openInputStream(docFile); FileOutputStream output = new FileOutputStream(new File("e://ff.doc")); IOUtils.copyLarge(input, output); } catch (IOException e1) { e1.printStackTrace(); }*/ // 获取html文件流 StringBuffer htmlSb = new StringBuffer(); try { BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(htmlFile),Charset.forName("gb2312"))); while (br.ready()) { htmlSb.append(br.readLine()); } br.close(); // 删除临时文件 htmlFile.delete(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } // HTML文件字符串 String htmlStr = htmlSb.toString(); System.out.println("htmlStr=" + htmlStr); // 返回经过清洁的html文本 return clearFormat(htmlStr, filepath); } /** * * 清除一些不需要的html标记 * * * * @param htmlStr * * 带有复杂html标记的html语句 * * @return 去除了不需要html标记的语句 */ protected static String clearFormat(String htmlStr, String docImgPath) { // 获取body内容的正则 String bodyReg = "<BODY .*</BODY>"; Pattern bodyPattern = Pattern.compile(bodyReg); Matcher bodyMatcher = bodyPattern.matcher(htmlStr); if (bodyMatcher.find()) { // 获取BODY内容,并转化BODY标签为DIV htmlStr = bodyMatcher.group().replaceFirst("<BODY", "<DIV").replaceAll("</BODY>", "</DIV>"); } // 调整图片地址 htmlStr = htmlStr.replaceAll("<IMG SRC=\"", "<IMG SRC=\"" + docImgPath + "/"); // 把<P></P>转换成</div></div>保留样式 // content = content.replaceAll("(<P)([^>]*>.*?)(<\\/P>)", // "<div$2</div>"); // 把<P></P>转换成</div></div>并删除样式 htmlStr = htmlStr.replaceAll("(<P)([^>]*)(>.*?)(<\\/P>)", "<p$3</p>"); // 删除不需要的标签 htmlStr = htmlStr.replaceAll("<[/]?(font|FONT|span|SPAN|xml|XML|del|DEL|ins|INS|meta|META|[ovwxpOVWXP]:\\w+)[^>]*?>",""); // 删除不需要的属性 htmlStr = htmlStr.replaceAll("<([^>]*)(?:lang|LANG|class|CLASS|style|STYLE|size|SIZE|face|FACE|[ovwxpOVWXP]:\\w+)=(?:'[^']*'|\"\"[^\"\"]*\"\"|[^>]+)([^>]*)>","<$1$2>"); return htmlStr; } }
发表评论
-
使用Java调用百度、google搜索
2013-10-20 21:49 1477使用Java调用百度搜索 http://yangshangch ... -
PHP+JSON+瀑布流模式+三种风格+无限拖拽方式
2013-03-01 12:37 988http://guangqiang.iteye.com/blo ... -
Web开发的第一课 - License
2013-01-20 13:13 1227http://fogtower.iteye.com/blog/ ... -
nginx负载resin,实现session共享-JVM_ROUTE
2012-12-24 09:23 1710NGINX负载配置: upstream bac ... -
使用EhCache和Spring AOP实现计算结果缓存
2012-08-07 10:47 1060原文:http://kim-miao.iteye.com/bl ... -
Tomcat6.0控制台配置
2012-08-02 18:01 1447原文网址:http://apps.hi.baidu.com/s ... -
汉字/英文字符长度判断--JS版与Java方法版
2012-07-18 17:54 2100http://www.blogjava.net/loyalgl ... -
用java流方式判断文件类型
2012-06-28 09:50 1753原文:http://rainsilence.iteye.com ... -
Web开发中需要了解的东西
2012-01-02 23:17 1159来自:http://coolshell.cn/ar ... -
Webservice调用方式:axis,soap详解
2011-11-29 12:41 1543转自:[url] http://blog.csdn.net/b ... -
Cookie与会话--Session与SSO的实现细节研究
2011-10-11 00:12 12560.背景 最近 ... -
常用默认端口号
2010-10-14 08:44 2214网络层---数据包的包格 ... -
配置welcome-file-list跳转
2010-10-13 16:23 1233web.xml里是 <welcome-file> ... -
java自动生成验证码插件-kaptcha
2010-09-14 01:03 1979今天无意间发现了一个很好用的验证码插件,java版的,很不错的 ... -
JAVA实现屏幕抓图 远程桌面控制
2010-08-04 10:56 1187主要使用的是java.util.Robot类来捕获屏幕 ... -
JSTL的使用
2010-04-29 10:15 2092JSTL是什么 JSTL(JSP Standard Tag L ... -
EL表达式的用法小结
2010-04-29 10:08 20011.语法结构 ${express ... -
使用JSON的方法(转)
2010-04-12 15:47 1077JSON 即 JavaScript Object Natati ...
相关推荐
标题“利用OpenOffice对html、word、pdf进行转换”揭示了一个关键知识点,即如何使用开源办公软件OpenOffice处理不同格式的文档,特别是将其相互转换。OpenOffice是一个免费的办公套件,包含类似Microsoft Office的...
这通常是通过先将Word转换为中间格式(如ODT),然后再转换为PDF的方式来实现的。 总结来说,这是一个利用Java调用OpenOffice服务实现Word到HTML转换的项目,对于理解和应用办公文档自动化处理,特别是需要跨平台...
如你提供的压缩包文件名所示,`使用openOffice把word转化成html.doc`很可能就是一篇关于如何使用OpenOffice进行转换的教程或指南。 - 转换过程通常包括打开Word文档,选择“文件”->“导出”或“保存为”,然后在...
《OpenOffice Word到HTML转换详解》 在信息技术领域,数据格式的转换是常见的操作之一,尤其是在文档处理中。本文将深入探讨如何利用OpenOffice进行Word文档到HTML的转换,以及涉及的关键工具——JODConverter。 ...
如何将word通过POI转化为html并保留其原有格式;如何删除多余的空白行。 阅读建议:此资源以SpringBoot为底层技术框架,结合POI对word文档进行操作,学习其实现原理和内核,不仅是代码编写实现也更注重内容上的需求...
在将Word转换为HTML的过程中,Apache POI会解析Word文档的各个元素,并生成相应的HTML标签。 以下是一个基本的转换流程: 1. **导入Apache POI库**:在项目中引入Apache POI的JAR包,通常包括poi、poi-ooxml和poi-...
OpenOffice是一款开源的办公软件套件,它包含了处理文字、表格、演示文稿等多种...通过理解和利用OpenOffice的API,你可以构建自己的文件转换服务,实现从Word、Excel、PPT到PDF的无缝转换,从而满足在线预览的需求。
OpenOffice是一款开源的办公软件套件,它支持多种文件格式,包括Microsoft Office的Word、PowerPoint和Excel。在处理跨平台或需要固定布局的文档时,将这些文档转换为PDF或HTML格式非常有用。本文将详细讲解如何使用...
摘要:本文档介绍如何使用Word中的宏将doc格式自动转换成wiki格式,并附带完整的宏说明。 知识点一:什么是Wiki格式? Wiki格式是一种基于网页的文档格式,主要用于在线协作和文档分享。它使用简单的标记语言来...
在IT行业中,集成OpenOffice与SpringBoot框架来实现在线预览PPT、Word和Excel是一项常见的需求,尤其在开发Web应用时。OpenOffice是一个开源的办公软件套件,它提供了API,可以用来处理多种文档格式,包括ODF...
JODConverter则是一个基于OpenOffice的自动化工具,它可以将多种格式的文档转换为其他格式,包括HTML到Word的转换。 接下来,我们来看“Word文件合并”。在企业环境中,经常需要将多个Word文档合并成一个,以简化...
2. **文档转换**: 当用户点击在线预览时,服务器会接收到请求,使用 OpenOffice API 将 Office 文档转换为 HTML 或 PDF。转换过程中,OpenOffice 会解析文档内容,保持原始格式和样式,然后输出为网页可读的格式。 ...
对于"Word转换pdf或HTML"的场景,jodconverter是一个理想的解决方案。例如,如果你有一个Web应用,需要提供文档预览或导出服务,你可以使用jodconverter将上传的.docx文件转换成PDF,便于用户预览和打印,或者转换成...
OpenOffice是一款开源的办公软件套件,它提供了一个强大的API,可以用来转换文档格式,使得Web应用程序能够预览和处理非HTML内容。 首先,我们需要了解OpenOffice的工作原理。OpenOffice有一个名为UNO(Universal ...
OpenOffice则是一个开源的办公软件套件,它包含了处理各种文档格式的能力,如Word文档、HTML网页、Excel表格以及PDF文件等。当我们需要在C#程序中实现文件间的转换时,可以利用OpenOffice提供的API或组件来实现这一...
在IT领域,OpenOffice是一个开源的办公套件,它提供了处理各种文档格式的能力,包括创建、编辑和转换Word文档(.doc或.docx)以及Excel电子表格(.xls或.xlsx)到HTML格式。这个过程在Java编程环境中尤为重要,因为...
在Java环境下,我们可以利用OpenOffice的API来实现在服务器端转换文档为HTML或其他适合浏览器显示的格式,然后将这些内容发送到前端展示。 首先,你需要在服务器上安装OpenOffice,并确保它可以正常运行。在Java...
OpenOffice支持通过UNO接口(Universal Network Objects)与外部程序交互,可以调用它的转换功能将Word文档(.doc或.docx)转化为PDF。以下是一个基本步骤: 1. 安装OpenOffice或其衍生版本,如LibreOffice。 2. ...
"使用Jawin将Word转成HTML"是一个利用Java库实现的解决方案,它允许开发者通过编程方式实现这一转换过程。 Jawin是一个Java库,它提供了与Windows API的接口,使得Java程序能够调用Windows系统中的应用程序,例如...