一、doc转html,并且带文件夹
???/ * word转html ????* html转图片 ????* @param tagPath ??转换html文件之后,所带的图片附件文件夹 * @param sourceFileName 源文件 * @param outPath ?输出文件xx.html * @return ?* @throws Exception ????*/public static String docToHtml(String tagPath, ?????????String sourceFileName, String outPath) throws Exception { ???????File file = new File(tagPath); ???????if(!file.exists()) { ???????????????file.mkdirs(); ???????} ???????HWPFDocument wordDocument = new HWPFDocument(new FileInputStream(sourceFileName)); ???????org.w3c.dom.Document document = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument(); ???????WordToHtmlConverter wordToHtmlConverter = new WordToHtmlConverter(document); ???????//保存图片,并返回图片的相对路径 ???????wordToHtmlConverter.setPicturesManager((content, pictureType, name, width, height) -> { ???????????????try (FileOutputStream out = new FileOutputStream(tagPath + name)) { ???????????????????????out.write(content); ???????????????} catch (Exception e) { ???????????????????????e.printStackTrace(); ???????????????} ???????????????return "image/" + name; ???????}); ???????wordToHtmlConverter.processDocument(wordDocument); ???????org.w3c.dom.Document htmlDocument = wordToHtmlConverter.getDocument(); ???????DOMSource domSource = new DOMSource(htmlDocument); ???????StreamResult streamResult = new StreamResult(new File(outPath)); ???????TransformerFactory tf = TransformerFactory.newInstance(); ???????Transformer serializer = tf.newTransformer(); ???????serializer.setOutputProperty(OutputKeys.ENCODING, "utf-8"); ???????serializer.setOutputProperty(OutputKeys.INDENT, "yes"); ???????serializer.setOutputProperty(OutputKeys.METHOD, "html"); ???????serializer.transform(domSource, streamResult); ???????return outPath;}?调用:
/**doc ????????????* 转html ????????????*/ ???????????String tagPath = "D:\\red_ant_file\\20180915\\image\\"; ???????????String sourcePath = "D:\\red_ant_file\\20180915\\RedAnt的实验作业.doc"; ???????????String outPath = "D:\\red_ant_file\\20180915\\123.html"; ???????????try { ???????????????AllServiceIsHere.docToHtml(tagPath, sourcePath, outPath); ???????????} catch (Exception e) { ???????????????// TODO Auto-generated catch block ???????????????e.printStackTrace(); ???????????}演示:
走你:
用poi实现doc转html
原文地址:http://blog.51cto.com/13479739/2175483