通过poi实现word预览需求(wordToHtml)

格式可能有一点变化,精准要求的不能用

package com.kk.test;

import java.io.File;  
import java.io.FileInputStream;  
import java.io.FileOutputStream;  
import java.io.IOException;  
import java.io.OutputStream;  

import javax.xml.parsers.ParserConfigurationException;  
import javax.xml.transform.TransformerException;  


import org.apache.poi.xwpf.converter.core.FileImageExtractor;  
import org.apache.poi.xwpf.converter.core.FileURIResolver;  
import org.apache.poi.xwpf.converter.xhtml.XHTMLConverter;  
import org.apache.poi.xwpf.converter.xhtml.XHTMLOptions;  
import org.apache.poi.xwpf.usermodel.XWPFDocument;  


/** 
 *  
 * @author Jesse
 * 
 */  
public class WordToHtml {  

    private final static String  tempPath = "D:\\gzl\\testHtml\\image"; //存图片的地方 

    public static void main(String argv[]) {  
        try {  
            word2Html("D:\\gzl\\testHtml\\4.doc", "D:\\gzl\\testHtml\\7.html");  
        } catch (Exception e) {  
            e.printStackTrace();  
        }  
    }  


    /** 
     * docx格式word转换为html 
     *  
     * @param fileName 
     *            docx文件路径 
     * @param outPutFile 
     *            html输出文件路径 
     * @throws TransformerException 
     * @throws IOException 
     * @throws ParserConfigurationException 
     */  
    public static void word2Html(String fileName, String outPutFile) throws TransformerException, IOException, ParserConfigurationException {  
        String fileOutName = outPutFile;  
        long startTime = System.currentTimeMillis();  
        XWPFDocument document = new XWPFDocument(new FileInputStream(fileName));  
        XHTMLOptions options = XHTMLOptions.create().indent(4);  
        // 导出图片  
        File imageFolder = new File(tempPath);  
        options.setExtractor(new FileImageExtractor(imageFolder));  
        // URI resolver  
        options.URIResolver(new FileURIResolver(imageFolder));  
        File outFile = new File(fileOutName);  
        outFile.getParentFile().mkdirs();  
        OutputStream out = new FileOutputStream(outFile);  
        XHTMLConverter.getInstance().convert(document, out, options);  
        System.out.println("用时 " + fileOutName + " with " + (System.currentTimeMillis() - startTime) + " ms.");  

    }  

}  
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值