# 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程序启动完就加载相应的字体,而不是首次请求的时候。