POI 实现word和html互转
来源:互联网 发布:知峰保暖内衣价格 编辑:程序博客网 时间:2024/05/16 04:58
POI转HTML(仅针对doc):
package com.vito.demo.test; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.InputStream; import java.util.List; 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 org.apache.commons.io.FileUtils; import org.apache.poi.hwpf.HWPFDocument; import org.apache.poi.hwpf.converter.PicturesManager; import org.apache.poi.hwpf.converter.WordToHtmlConverter; import org.apache.poi.hwpf.usermodel.Picture; import org.apache.poi.hwpf.usermodel.PictureType; import org.w3c.dom.Document;public class PoiWordToHtml { public static void main(String[] args) throws Throwable { final String path = "G:\\doc\\"; final String file = "客户需求文档.doc";InputStream input = new FileInputStream(path + file);HWPFDocument wordDocument = new HWPFDocument(input);WordToHtmlConverter wordToHtmlConverter = new WordToHtmlConverter( DocumentBuilderFactory.newInstance().newDocumentBuilder() .newDocument());wordToHtmlConverter.setPicturesManager(new PicturesManager() { public String savePicture(byte[] content, PictureType pictureType,String suggestedName, float widthInches, float heightInches) { return suggestedName;} });wordToHtmlConverter.processDocument(wordDocument);List pics = wordDocument.getPicturesTable().getAllPictures(); if (pics != null) { for (int i = 0; i < pics.size(); i++) { Picture pic = (Picture) pics.get(i); try { pic.writeImageContent(new FileOutputStream(path + pic.suggestFullFileName()));} catch (FileNotFoundException e) { e.printStackTrace();} } } Document htmlDocument = wordToHtmlConverter.getDocument();ByteArrayOutputStream outStream = new ByteArrayOutputStream();DOMSource domSource = new DOMSource(htmlDocument);StreamResult streamResult = new StreamResult(outStream);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);outStream.close();String content = new String(outStream.toByteArray());FileUtils.write(new File(path, "1.html"), content, "utf-8");}}html转word:
public void htmlToWord2() throws Exception { InputStream bodyIs = new FileInputStream("f:\\1.html");InputStream cssIs = new FileInputStream("f:\\1.css");String body = this.getContent(bodyIs);String css = this.getContent(cssIs);//拼一个标准的HTML格式文档String content = "<html><head><style>" + css + "</style></head><body>" + body + "</body></html>";InputStream is = new ByteArrayInputStream(content.getBytes("GBK"));OutputStream os = new FileOutputStream("f:\\1.doc"); this.inputStreamToWord(is, os);}/** * 把is写入到对应的word输出流os中 * 不考虑异常的捕获,直接抛出 * @param is* @param os* @throws IOException */private void inputStreamToWord(InputStream is, OutputStream os) throws IOException { POIFSFileSystem fs = new POIFSFileSystem();//对应于org.apache.poi.hdf.extractor.WordDocumentfs.createDocument(is, "WordDocument");fs.writeFilesystem(os);os.close();is.close();}/** * 把输入流里面的内容以UTF-8编码当文本取出。 * 不考虑异常,直接抛出 * @param ises* @return* @throws IOException */private String getContent(InputStream... ises) throws IOException { if (ises != null) { StringBuilder result = new StringBuilder();BufferedReader br;String line; for (InputStream is : ises) { br = new BufferedReader(new InputStreamReader(is, "UTF-8")); while ((line=br.readLine()) != null) { result.append(line);} } return result.toString();} return null;}
阅读全文
0 0
- POI 实现word和html互转
- java+poi实现word转html显示
- 利用poi实现word转换html
- html转word,使用jacob和poi
- poi word转html
- Java引用POI实现Word转Html方法
- Java引用POI实现Word转Html方法
- Java引用POI实现Word转Html方法
- 利用POI将word转换成html实现在线阅读
- 利用POI将word转换成html实现在线阅读
- 利用POI将word转换成html实现在线阅读
- 利用POI将word转换成html实现在线阅读
- java poi- 实现 word Excel pdf ppt 转 HTML
- POI读取word转换html
- word转为html(poi)
- POI读取word转换html
- POI实现对word读取和修改操作
- java用poi实现对word读取和修改操作
- Mybatis批量更新数据
- Swift_服务端开发框架
- 关于Burp Suite的Attack Type
- JAVA 根据时间段取数据
- 安卓自定义View基础——颜色
- POI 实现word和html互转
- MediaPlayer代码分析(2)-处理返回机制Notify
- 常用的设计模式及例子(三)
- 如何抽取一个通用的Android Loading页面快速实现加载功能
- spark-troubleshooting-网卡流量激增问题
- SwitchButton按钮效果
- Is Subsequence
- centos 7 docker 使用填坑
- C++使用OpenSSL证书API