package com.office;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStreamWriter;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.apache.poi.hwpf.HWPFDocument;
import org.apache.poi.hwpf.converter.PicturesManager;
import org.apache.poi.hwpf.converter.WordToHtmlConverter;
import org.apache.poi.hwpf.usermodel.PictureType;
import org.w3c.dom.Document;
public class OfficeConvert {
public static String GetFileExt(File f) {
String ext = null;
String s = f.getName();
int i = s.lastIndexOf('.');
if (i > 0 && i < s.length() - 1) {
ext = s.substring(i + 1).toLowerCase();
}
return ext;
}
public static boolean ConvertToHtml(final String input, final String output) {
File file = new File(input);
if (!file.exists())
return false;
String ext = GetFileExt(file);
FileInputStream fileInputStream = null;
FileOutputStream fileOutputStream = null;
try {
if (ext.equals("doc")) {
fileInputStream = new FileInputStream(input);
HWPFDocument hwpfDocument = new HWPFDocument(fileInputStream);
Document document = DocumentBuilderFactory.newInstance()
.newDocumentBuilder().newDocument();
WordToHtmlConverter wordToHtmlConverter = new WordToHtmlConverter(
document);
File imageDir = new File(output + ".img");
final String suggestDirName = imageDir.getName();
if (!imageDir.isDirectory()) {
imageDir.mkdirs();
}
//save image
wordToHtmlConverter.setPicturesManager(new PicturesManager() {
@Override
public String savePicture(byte[] contet,
PictureType pictureType, String suggestedName,
float widthInches, float heightInches) {
String imgagePath = output + ".img/" + suggestedName;
File file = new File(imgagePath);
FileOutputStream fos = null;
try {
fos = new FileOutputStream(file);
fos.write(contet);
fos.close();
} catch (Exception e) {
e.printStackTrace();
}
return suggestDirName + "/" + suggestedName;
}
});
wordToHtmlConverter.processDocument(hwpfDocument);
Transformer transformer = TransformerFactory.newInstance()
.newTransformer();
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
transformer.setOutputProperty(OutputKeys.ENCODING, "utf-8");
transformer.setOutputProperty(OutputKeys.METHOD, "html");
fileOutputStream = new FileOutputStream(output);
transformer.transform(
new DOMSource(wordToHtmlConverter.getDocument()),
new StreamResult(new OutputStreamWriter(fileOutputStream, "UTF-8")));
return true;
} else if (ext.equals("docx")){
} else if (ext.equals("ppt")) {
} else if (ext.equals("pptx")) {
} else if (ext.equals("xls")) {
} else if (ext.equals("xlsx")) {
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (null != fileOutputStream)
fileOutputStream.close();
if (null != fileInputStream)
fileInputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
}
return false;
}
}
相关推荐
SpringBoot+poi实现读取word文件内容
SpringBoot+poi实现读取word文件内容
使用POI拆分word文档并转成html在页面展示
需求:导入word文档,按照目录进行拆分并转换成html,将目录及应内容保存到数据库,通过赋值到富文本编辑器在页面展示。2、.docx需要POI XWPFDocument进行解析,同时将图片进行本地保存,遍历段落获取目录列表。4、通过Jsoup读取html文件,获取页面元素,删除空白行,删除标号,替换图片访问路径为相对路径。3、根据目录所在段落下标删除前后段落,进行文档段落拆分,将拆分的文件转换成html文件输出保存。1、添加POI对应的jar包,我基本上用到了这些,其他看个人情况自行添加。
POI实现word转html(带图片),实现word在线预览
项目后端使用了springboot,maven,前端使用了ckeditor富文本编辑器。目前从html转换的word为doc格式,而图片处理支持的是docx格式,所以需要手动把doc另存为docx,然后才可以进行图片替换。 一.添加maven依赖 主要使用了以下和poi相关的依赖,为了便于获取html的图片元素,还使用了jsoup: <dependency> <g...
基于Apach POI 实现Word 转换HTML 文件
Apache POI 简介: Apache POI 简介是用Java编写的免费开源的跨平台的 Java API,Apache POI提供API给Java程式对Microsoft Office(Excel、WORD、PowerPoint、Visio等)格式档案读和写的功能。POI为“Poor Obfuscation Implementation”的首字母缩写,意为“可怜的模糊实现”。 官方主页:...
Java POI实现Word转HTML:支持.doc与.docx格式的完整解决方案
Apache POI是Java生态中处理Microsoft Office文档的标准开源库,广泛应用于报表生成、数据导入导出等场景。其核心模块HWPF(Horrible Word Processor Format)用于读写传统的.doc二进制文件,基于OLE复合文档结构解析文本与格式;而XWPF(XML-based Word Processor Format)则面向.docx格式,依托Office Open XML标准,通过ZIP封装内的XML文件实现内容抽取。关键类如和分别代表文档整体模型,
Apache POI操作Word文档教程与实践
Apache POI 是一款开放源代码的Java库,用于处理Microsoft Office文档格式。它支持创建、修改、显示和转换许多Microsoft Office格式,包括Excel文件(XLS和XLSX)、Word文档(DOC和DOCX)以及PowerPoint演示文稿(PPT和PPTX)等。POI项目自2001年启动以来,一直是Java处理Office文档的首选工具,其广泛的应用范围涵盖企业应用程序、数据分析工具、报告生成器以及各种自动化脚本。
poi xlsx转换html,POI Word DOC格式转Html
package com.office;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.io.OutputStreamWriter;import javax.xml.parsers.DocumentBuil...
STM32CubeMx+stm32f407+FreeRTOS+LAN8720实现LWIP以太网UDP TCP数据收发功能
单片机实现LWIP的调试
apache poi操作office文档---- POI Word DOC格式转Html
原文地址:点击打开链接 package com.office; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStreamWriter; import j
从原理图到PCB:Cadence Allegro 17.4网表同步全流程详解(含第三方网表配置)
本文详细解析了Cadence Allegro 17.4中从Orcad原理图到PCB布局的网表同步全流程。核心内容包括标准的第一方网表同步步骤,以及针对第三方网表导入时关键的封装库路径配置方法,并提供了常见同步错误的排查思路,帮助工程师高效、准确地完成设计数据传递,确保PCB设计顺利开局。
一文详细讲解CRM系统(附架构图、流程、功能介绍)
专为中小企业量身打造高性价比的数字化转型路径!企业如何用CRM才能真正做到降本增效?今天,就用一文讲清这些问题!读完本文,你将清楚得了解CRM的概念、框架、流程、功能、企业成功案例,文末还有常见问题解答。
html转word_word与html互转 word转html
使用忠告使用该方式进行xhtml到word的转换, 简单转换是可以, 但是可能并没有想象中那么满意, 转换出来的word格式并不完美, 比如目录和标题都会丢失, 标题显示看起来一样, 但是是用正文加粗和加大字号来显示的. 毕竟word是一种文档格式, 而html是一种标记性语言, 要想实现完美兼容和转换很难。加上word与html互转(2) -- html转word, 虽然word与ht...
用友U8 API 二次开发:WebService封装7个核心DLL引用与U8Login登录避坑
本文详细介绍了用友U8 API二次开发中的WebService封装与U8Login登录优化实践。通过7个核心DLL的正确引用、U8Login登录机制的深度解析及IIS环境下的特殊处理方案,为开发者提供了一套高可用性的通用解决方案,助力企业实现ERP系统的高效集成与数字化转型。
php 预览doc文件格式,word文档转html格式在线预览,使用了phpoffice,pydocx,java POI各方案,最终用unoconv解决...
最近客户要做一个word,excel 文件在线预览功能,以下是实现此功能的全过程。由于我们用的是PHP开发项目,最开始想到的是用PHPoffice里的phpword来进行转换,以下是关键代码。$phpWord = \PhpOffice\PhpWord\IOFactory::load('test.doc');$xmlWriter = \PhpOffice\PhpWord\IOFactory::cre...
【Android 11】使用Android Studio调试系统应用之Settings移植(五):编译Settings 模块、解决编译错误
基于Andorid 11,系列第5篇文章,本章开始,终于轮到解决正主Settings的编译问题了,使用android studio编译出Settings.apk,能看到这一章的同学,也着实不容易了,再接再厉
紫光展锐面试——FPGA/IC设计面试面经案例总结
自我介绍;研究生的主要研究方向是什么?为什么想要应聘数字芯片相关的工作?简单介绍下数字IC设计流程。逻辑综合主要做什么?你有实际做过逻辑综合工作吗?你了解SS corner和FF corner吗?综合时应该使用哪个corner?综合时需要考虑hold吗?为什么?提高时钟频率对setup和hold有什么影响?为什么?hvt、rvt/svt、lvt有什么区别?c40、c50是指什么概念?有什么区别?你对EDA工具有过了解吗?
POI 实现word和html互转
POI转HTML(仅针对doc): package com.vito.demo.test; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundExc
水文仿真软件:HEC-RAS (Hydrologic Engineering Center‘s River Analysis System)_(7).一维非稳态水力模型
自定义脚本是通过编程语言(如 Python)编写的一系列自动化任务,可以帮助用户更高效地处理数据和运行模型。编写脚本:使用 Python 或其他编程语言编写自定义脚本。集成脚本:将脚本集成到 HEC-RAS 中,实现自动化数据处理和模型运行。
java读取word文件页数方法汇总
@java读取word文件页数 最近在做一个word转html的小功能,需要用到事先获得word文件的页数来判断是否要进行转换。我从网上搜了下,发现大多数文章都写的是错误的,这里来汇总下,正确的文章我会直接放链接,毕竟那是别人的劳动成果,希望大家都支持原作者。 错误的方式汇总 1、使用Apache POI 该方式代码我就不详细贴了,只贴回来获取页数那一行: int pages = docx.getProperties().getExtendedProperties().getUnderlyingProper
通俗易懂的Harris 角点检测
点击上方“3D视觉工坊”,选择“星标”干货第一时间送达Harris 角点检测 认为特征点具有局部差异性。如何描述“特征点具有局部差异性”:以每一个点为中心,取一个窗口,窗口大小为5*5...
win10 跳过U8环境检测的IE WebControls.rar
win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。
Java word转为html 两种方式
废话不多说直接上代码!
最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版
Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。
Java Word 转 HTML 实践指南
在日常开发和办公中,我们经常需要将 Word 文档的内容展示在网页上。然而,直接在浏览器中显示 Word 文件通常会遇到排版错乱、样式丢失等问题。为了在 Web 环境中保留原文档的排版和结构,将 Word 转换为 HTML 就成为了一种常见而实用的解决方案。
ssm框架搭建
这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载
精雕软件(JDpaint) 5.5 绿色版
精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版
poi将html文件转为docx,java使用POI实现html和word相互转换.pdf
java使使用用POI实实现现html和和word相相互互转转换换项目后端使用了springboot,maven,前端使用了ckeditor富文本编辑器。目前从html转换的word为doc格式,而图片 理支持的是docx格式,所以需要手动把doc另存为docx,然后才可以进行图片替换。一一.添添加加maven依依赖赖主要使用了以下和poi相关的依赖,为了便于获取html的图片元素,还使用了jso...
java poi doc 转html_POI 把Word 转换成 Html
[java]代码库package poi;import java.io.ByteArrayOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.InputSt...
java将html导出成word(利用的poi包导出)
//导出到word public void exportWord(ActionMapping actionMapping, ActionForm actionForm, HttpServletRequest request, HttpServletResponse response) throws Exception { D
利用POI将word转换成html实现在线阅读
利用POI将word转换成html实现在线阅读
7852



被折叠的 条评论
为什么被折叠?



