利用jodconverter(基于OpenOffice服务)将word文件(*.doc)转化为html格式
2011-07-05 09:39
447 查看
package com.syni.im800.kb.common.util; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.ConnectException; import java.text.SimpleDateFormat; import java.util.Date; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; 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; import com.syni.im800.kb.config.AppConfig; /** * 利用jodconverter(基于OpenOffice服务)将word文件(*.doc)转化为html格式, * 使用前请检查OpenOffice服务是否已经开启, * OpenOffice进程名称:soffice.exe | soffice.bin * @author linshutao * */ public class Doc2HtmlUtil { Log log = LogFactory.getLog(getClass()); private static Doc2HtmlUtil doc2HtmlUtil; /** * 获取Doc2HtmlUtil实例 * */ public static synchronized Doc2HtmlUtil getDoc2HtmlUtilInstance(){ if(doc2HtmlUtil == null){ doc2HtmlUtil = new Doc2HtmlUtil(); } return doc2HtmlUtil; } /** * 转换文件 * @param fromFileInputStream: * */ public String doc2Html(InputStream fromFileInputStream, File toFileFolder){ String soffice_host = AppConfig.getProperty(AppConfig.SOFFICE_HOST_KEY); String soffice_port = AppConfig.getProperty(AppConfig.SOFFICE_PORT_KEY); log.debug("soffice_host:"+soffice_host+",soffice_port:"+soffice_port); Date date = new Date(); SimpleDateFormat sdf =new SimpleDateFormat("yyyyMMddHHmmss"); String timesuffix = sdf.format(date); String htmFileName = "htmlfile"+timesuffix+".html"; String docFileName = "docfile"+timesuffix+".doc"; File htmlOutputFile = new File(toFileFolder.toString()+File.separatorChar+htmFileName); File docInputFile = new File(toFileFolder.toString()+File.separatorChar+docFileName); log.debug("########htmlOutputFile:"+toFileFolder.toString()+File.pathSeparator+htmFileName); /** * 由fromFileInputStream构建输入文件 * */ try { OutputStream os = new FileOutputStream(docInputFile); int bytesRead = 0; byte[] buffer = new byte[1024 * 8]; while ((bytesRead = fromFileInputStream.read(buffer)) != -1) { os.write(buffer, 0, bytesRead); } os.close(); fromFileInputStream.close(); } catch (IOException e) { log.error(e.getMessage(), e); } OpenOfficeConnection connection = new SocketOpenOfficeConnection(soffice_host,Integer.parseInt(soffice_port)); try { connection.connect(); } catch (ConnectException e) { System.err.println("文件转换出错,请检查OpenOffice服务是否启动。"); log.error(e.getMessage(), e); } // convert DocumentConverter converter = new OpenOfficeDocumentConverter(connection); converter.convert(docInputFile, htmlOutputFile); connection.disconnect(); /* File htmlOutputFile_rn = new File (htmlOutputFile.getAbsolutePath().substring(0,htmlOutputFile.getAbsolutePath().lastIndexOf("."))+".htm"); htmlOutputFile.renameTo(htmlOutputFile_rn); return htmlOutputFile_rn.getName();*/ //转换完之后删除word文件 docInputFile.delete(); log.debug("删除上传文件:"+docInputFile.getName()); return htmFileName; } }
相关文章推荐
- Java利用OpenOffice进行将word,excel转化成html解析到界面(下)
- 利用 jodconverter 和openoffice 结合 把doc、ppt 等一系列文档转换成pdf
- 利用jacob将excel另存为html格式文件,利用jacob将word另存为html格式文件
- Java利用OpenOffice进行将word,excel转化成html解析到界面(上)
- 利用IE浏览本地HTML,WORD, pdf格式文件
- 利用jacob将word另存为html格式文件及中文方块解决
- java把word格式文件转化成html显示
- Word教程Spire.Doc 教程:在Word文档中转换文件格式
- jacob 实现Office Word文件格式转换 docTotxt,docTopdf,docxTodoc,pdfTotxt ...
- java实现爬虫技术,读取txt,word,excel,ppt,pdf,html等格式的文件
- Java平台要实现类似豆丁百度文科的文档在线阅读,总体思路是讲doc docx等文件格式利用jcom转换成pdf再用swftools转为swf。再用flexpaper组件显示swf。
- excel(word)文件中的表格如何快速转化为html代码
- java实现在线预览doc,txt,ppt,xls等文档,用到了libreOffice,openOffice,SWFTools,JODConverter,flexPaper
- 使用POI将office(doc/docx/ppt/pptx/xls/xlsx)文件转html格式(附带源码)
- 示例代码:利用Sps提供的remoting服务,把office文档在线转换成html文档(包括页面图片的文件)
- asp.net导出excel-一行代码实现excel、xml、pdf、word、html、csv等7种格式文件导出功能而且美观-SNF快速开发平台
- 利用 Aspose.Words 组件,在不依赖与 Office 组件的情况下把 Word 文件转换成 HTML 代码。
- 将Word文档转化为HTML格式的文档
- 将Office(如:Word、Excel、PPT 等)文件转html(通过OpenOffice实现)
- 将Word文档转化为HTML格式的文档