# docx4j转html研究8.3.14
**Repository Path**: yujikuan/docxjhtml
## Basic Information
- **Project Name**: docx4j转html研究8.3.14
- **Description**: word 转html研究
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 1
- **Forks**: 0
- **Created**: 2025-10-01
- **Last Updated**: 2026-01-26
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
## 以docx4j 8.3.14版本进行转成html的修改
### 使用springboot编写一个转码服务。
由于项目依旧采用的jdk1.8的环境,所以先还是对8.x版本进行学习研究多些。
## 环境准备
### docx4j进行源代码复制
使用官方源代码进行复制使用
docx4j-core
docx4j-JAXB-Internal
复制到项目中 。
#### docx转成html,我这里使用jsoup进行html后期处理
```declarative
org.jsoup
jsoup
1.18.3
```
### 公式处理方式
#### word中omm转成html 中mml
由于进行数学公式的处理,所以使用ms office中文件xsl文件把word中的公式转成html 中mml,把OMML2MML.XSL复制到的项目的resources文件目录下
一般在安装office的C:\Program Files\Microsoft Office\root\Office16下
#### html中 mml转成 latex公式
使用GitHub中的mml2tex项目
git clone https://github.com/transpect/mml2tex
git clone https://github.com/transpect/xslt-util
这个两个目录放到resources下面,并创建了xmlcatalog目录,里面定义了catalog.xml文件内容如下:
```declarative
```
为了上述的配置,我们使用Saxon-HE的
```declarative
net.sf.saxon
Saxon-HE
10.9
```
com.zzvcom.doc.html.Mml2TexConverter 类进行演示使用的方式。
com.zzvcom.doc.controller.DocToHtmlController
编写了转换html的接口作为实验。
```shell
curl --request POST \
--url http://localhost/doc4js/html/convert_upload \
--header 'Accept: */*' \
--header 'Accept-Encoding: gzip, deflate, br' \
--header 'Connection: keep-alive' \
--header 'User-Agent: PostmanRuntime-ApipostRuntime/1.1.0' \
--header 'content-type: multipart/form-data' \
--form 'file=[object Object]'
```
### 理解xml概念
Marshalling = Object to XML(对象编成 XML) 编组 / 序列化
Unmarshalling = XML to Object(XML 解成对象)解组 / 反序列化
### 实现部分样例
com.zzvcom.doc.controller.DocToHtmlController 可以测试转换html验证。
com.zzvcom.doc.fonts.FontConfig 保证web程序启动完就加载相应的字体,而不是首次请求的时候。