




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
为什么会想起来将上传的word文档转换成html格式呢?设想,如果一个系统需要发布在页面的文章都是来自word文档,一般会执行下面的流程:使用word打开文档,Ctrl+A,进入发布文章页面,Ctrl+V。看起来也不麻烦,但是,如果文档中包含大量图片呢?尴尬的事是图片都需要重新上传吧?如果可以将已经编写好的word文档上传到服务器就可以在相应页面进行展示,将会是一件非常惬意的事情,最起码信息发布人员会很开心。程序员可能就不会这么想了,囧。将Word转Html的原理是这样的:1、客户上传Word文档到服务器2、服务器调用OpenOffice程序打开上传的Word文档3、OpenOffice将Word文档另存为Html格式4、Over至此可见,这要求服务器端安装OpenOffice软件,其实也可以是MS Office,不过OpenOffice的优势是跨平台,你懂的。恩,说明一下,本文的测试基于 MS Win7 Ultimate X64 系统。下面就是规规矩矩的实现。1、下载OpenOffice,/index.htmlSo easy.2、下载Jodconverter /opensource/jodconverter这是一个开启OpenOffice进行格式转化的第三方jar包。3、泡杯热茶,等待下载。4、安装OpenOffice,安装结束后,调用cmd,启动OpenOffice的一项服务:C:Program Files (x86)OpenO 3programsoffice -headless -accept=socket,port=8100;urp;5、打开eclipse6、喝杯热茶,等待eclipse打开。7、新建eclipse项目,导入Jodconverter/lib 下得jar包。8、Coding.查看代码package com.mzule.doc2html.util;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 .ConnectException;import java.util.Date;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;/* * 将Word文档转换成html字符串的工具类 * * author MZULE * */public class Doc2Html public static void main(String args) System.out .println(toHtmlString(new File(C:/test/test.doc), C:/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 =newOpenOfficeDocumentConverter(con);/转换文档问htmlconverter.convert(docFile, htmlFile);/关闭openoffice连接con.disconnect();returnhtmlFile;/* 将word转换成html文件,并且获取html文件代码。*paramdocFile* 需要转换的文档*paramfilepath* 文档中图片的保存位置*return转换成功的html代码*/publicstaticString toHtmlString(File docFile, String filepath) /转换word文档File htmlFile = convert(docFile, filepath);/获取html文件流StringBuffer htmlSb =newStringBuffer();tryBufferedReader br =newBufferedReader(newInputStreamReader(newFileInputStream(htmlFile);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();/返回经过清洁的html文本returnclearFormat(htmlStr, filepath);/* 清除一些不需要的html标记*paramhtmlStr* 带有复杂html标记的html语句*return去除了不需要html标记的语句*/protectedstaticString clearFormat(String htmlStr, String docImgPath) /获取body内容的正则String bodyReg = BODY .*;Pattern bodyPattern = Ppile(bodyReg);Matcher bodyMatcher = bodyPattern.matcher(htmlStr);if(bodyMatcher.find() /获取BODY内容,并转化BODY标签为DIVhtmlStr = bodyMatcher.group().replaceFirst(BODY, DIV).replaceAll(, );/调整图片地址htmlStr = htmlStr.replaceAll(IMG SRC=, IMG SRC= + docImgPath+ /);/把转换成保留样式/content = content.replaceAll(*.*?)(),/div$2);/把转换成并删除样式htmlStr = htmlStr.replaceAll(*)(.*?)(), p$3);/删除
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年验船师考试(C级船舶检验专业实务)综合试题及答案一
- 北京市门头沟区2024-2025学年八年级上学期第一次月考地理试题及答案
- 北京市门头沟区2023-2024学年九年级下学期中考适应性训练(三模)道德与法制试题含参考答案
- 2025年高级无人机植保操作员实操模拟题与理论知识点解析
- 2026届漯河市重点中学化学高一上期中统考模拟试题含解析
- 公务员英雄面试题及答案
- 2025年项目管理办公室专员招聘考试模拟题
- 江苏泰兴一中2026届化学高三第一学期期末综合测试模拟试题含解析
- 2026届新疆乌鲁木齐市高二化学第一学期期中检测试题含解析
- 2025年法律顾问招聘面试预测题与法律实务经验
- 居家办公免责协议书
- 河南郑州航空港发展投资集团有限公司招聘笔试真题2024
- 高中语文课程标准深度解读
- 硬件设备自动测试软件系统架构的理论分析与设计
- 制冷系统事故应急预案
- 紧急状态下护理人员调配制度
- 牛的品种-培训课件
- 未缴纳社保劳动仲裁申请书范本
- 油田安全生产管理培训课件
- 《你的形象价值百万》课件
- 设备缺陷月度分析报告
评论
0/150
提交评论