使用 Poi 将 Palabra 转换为 html , 支持 doc, docx 转换后可以保持图片、样式。 转换后可以保持图片、样式。
1. 导入 Maven 包
<Spendency> <Proupid> org.apache.poi </proupid> <artifactId> poi </arfactid> <versión> 3.14 </versión> </pendency> <depency> <grupeID> org.apache.poi </proupid> <artifactid> poi-scratchpad </arfactid> <ripever> <MoupRid> org.apache.poi </groupid> <artifactid> poi -ooxml </artifactid> <verserse> 3.14 </versewers> </dependency> <pendency> <grupoD> fra.opensagres.xDocreport </groupId> <artifactID> xDoceport </artifactid> <verSerseSeVers <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml-schemas</artifactId> <version>3.14</version> </dependency> <dependency> <groupId>org.apache.poi</groupId> <artifactId>ooxml-schemas</artifactId> <version>1.3</version> </dependency>
2. 转换代码
importar org.apache.poi.hwpf.hwpfDocument; importar org.apache.poi.hwpf.converter.wordtohtmlConverter; importar org.apache.poi.xwpf.converter.core.basicuriresolver; importar org.apache.poi.xwpf.converter.core.fileMageExtractor; importar org.apache.poi.xwpf.converter.xhtml.xhtmlConverter; importar org.apache.poi.xwpf.converter.xhtml.xhtmloptions; importar org.apache.poi.xwpf.usermodel.xwpfDocument; importar org.w3c.dom.document; 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 java.io.file; import java.io.fileInputStream; import java.io.fileOutputStream; import java.io.outputstreamwriter; Prueba de clase pública {// doc 转换为 html void DoctoHtml () lanza excepción {String SourceFileName = "c: //doc//test.doc"; Cadena TargetFileName = "c: //html//test.html"; Cadena imagePathstr = "c: // html // image //"; HWPFDocument WordDocument = new HWPFDocument (new FileInputStream (SourceFileName)); Documento documento = documentBuilderFactory.NewinStance (). NewDocumentBuilder (). NewDocument (); WordToHtmlConverter wordToHtmlConverter = new WordTOHTMLConverter (documento); // 保存图片 , 并返回图片的相对路径 WordToHtmlConverter.SetPictureSmanager ((content, pictureType, name, width, height) -> {try (fileOutputStream out = new FileOutputStream (ImagePathStr + name)) {out.write (content);} catch (excepción e) {E.PrintStActTrace ();} return)) wordToHtmlConverter.processDocument (WordDocument); Documento htmlDocument = wordToHtmlConverter.getDocument (); Domsource domsource = new Domsource (htmlDocument); StreamResult streamResult = new StreamResult (nuevo archivo (TargetFileName)); TransformerFactory tf = transformerFactory.newinStance (); Transformer Serializer = tf.newtransformer (); Serializer.setOutputProperty (outputDeys.Encoding, "UTF-8"); Serializer.setOutputProperty (outputKeys.indent, "sí"); Serializer.setOutputProperty (outputKeys.method, "html"); Serializer.Transform (Domsource, StreamResult); } // docx 转换为 html public void docxtohtml () lanza la excepción {String SourceFileName = "d: //ac//00.docx"; Cadena TargetFileName = "d: //ac//test.html"; Cadena imagePathstr = "d: // ac // image //"; OutputStreamWriter outputStreamWriter = null; Pruebe {XWPFDocument Document = new XWPFDocument (nuevo FileInputStream (SourceFileName)); XHTMLOptions Opciones = XHTMLOptions.Create (); // 存放图片的文件夹 options.setExtractor (nuevo FileImageExtractor (nuevo archivo (ImagePathStr))); // html 中图片的路径 options.uriresolver (new Basicuriresolver ("Imagen")); outputStreamWriter = new OutputStreamWriter (nuevo FileOutputStream (TargetFileName), "UTF-8"); XhtmlConverter xhtmlConverter = (xhtmlConverter) xhtmlConverter.getInstance (); xhtmlConverter.convert (documento, outputStreamWriter, opciones); } Finalmente {if (outputStreamWriter! = NULL) {outputStreamWriter.close (); }}}演示地址: https://www.xiaoyun.studio/app/preview.html
以上就是本文的全部内容 , 希望对大家的学习有所帮助 也希望大家多多支持武林网。 也希望大家多多支持武林网。