简单实现,样式会有问题,之后的文档中会补齐
注意一下pom引用,网上很多都是老版本的,不是fe开头的
<dependency> <groupId>fr.opensagres.xdocreport</groupId> <artifactId>fr.opensagres.poi.xwpf.converter.xhtml</artifactId> <version>2.0.4</version> </dependency>
<dependency> <groupId>org.apache.xmlgraphics</groupId> <artifactId>batik-transcoder</artifactId> <version>1.17</version> </dependency> <!-- https://mvnrepository.com/artifact/org.apache.xmlgraphics/batik-codec --> <dependency> <groupId>org.apache.xmlgraphics</groupId> <artifactId>batik-codec</artifactId> <version>1.17</version> </dependency> <!-- https://mvnrepository.com/artifact/org.dom4j/dom4j --> <dependency> <groupId>org.dom4j</groupId> <artifactId>dom4j</artifactId> <version>2.1.4</version> </dependency> <!-- https://mvnrepository.com/artifact/org.docx4j/docx4j --> <dependency> <groupId>org.docx4j</groupId> <artifactId>docx4j</artifactId> <version>6.1.2</version> </dependency> import fr.opensagres.poi.xwpf.converter.xhtml.Base64EmbedImgManager; import fr.opensagres.poi.xwpf.converter.xhtml.XHTMLConverter; import fr.opensagres.poi.xwpf.converter.xhtml.XHTMLOptions; import org.apache.poi.xwpf.usermodel.XWPFDocument; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; public class DocToHtmlUtils { private static String path = "/Desktop/wordFile"; public static void main(String[] args) { String wordPath = path + File.separator + "final.docx"; try { FileInputStream wordFile = new FileInputStream(wordPath); XWPFDocument xdoc = new XWPFDocument(wordFile); docToHtml(xdoc); wordFile.close(); }catch (IOException e){ e.printStackTrace(); } } private static void docToHtml(XWPFDocument xdoc) { String htmlPath = path + File.separator + "234444.html"; XHTMLOptions xhtmlOptions = XHTMLOptions.create().indent(4).setImageManager(new Base64EmbedImgManager()); try { FileOutputStream outFile = new FileOutputStream(htmlPath); XHTMLConverter.getInstance().convert(xdoc,outFile,xhtmlOptions); }catch (IOException e){ e.printStackTrace(); } } }