关于Apache POI将word文档转换为html出现Converter空指针的问题

大致异常如下

org.apache.poi.xwpf.converter.core.XWPFConverterException: java.lang.NullPointerException
at org.apache.poi.xwpf.converter.xhtml.XHTMLConverter.convert(XHTMLConverter.java:77)
at org.apache.poi.xwpf.converter.xhtml.XHTMLConverter.doConvert(XHTMLConverter.java:63)
at org.apache.poi.xwpf.converter.xhtml.XHTMLConverter.doConvert(XHTMLConverter.java:38)
at org.apache.poi.xwpf.converter.core.AbstractXWPFConverter.convert(AbstractXWPFConverter.java:61)
 

笔者引用的jar包情况及代码如下

jar包:

  3.17

             
                org.apache.poi
                poi-ooxml
                ${poi-version}
            
            
                org.apache.poi
                poi-scratchpad
                ${poi-version}
            
            
                org.apache.poi
                poi
                ${poi-version}
            

         
            fr.opensagres.xdocreport
            fr.opensagres.poi.xwpf.converter.xhtml
            2.0.1
        
        
            fr.opensagres.xdocreport
            fr.opensagres.poi.xwpf.converter.core
            2.0.1
        
        
            fr.opensagres.xdocreport
            xdocreport
            2.0.1
        

代码:


import fr.opensagres.poi.xwpf.converter.xhtml.XHTMLConverter;
import org.apache.poi.xwpf.usermodel.XWPFDocument;

import java.io.ByteArrayOutputStream;
import java.io.FileInputStream;
import java.io.IOException;

/**
 * houjx3
 * 版本要对得上,就能解决问题
 */
public class DocUtils {
    public static String urlWord2007ToHtml(String urlString) throws IOException {
        FileInputStream in = new FileInputStream(urlString);
        XWPFDocument document = new XWPFDocument(in);
        // 也可以使用字符数组流获取解析的内容
//        XHTMLOptions xhtmlOptions = XHTMLOptions.create();
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        XHTMLConverter.getInstance().convert(document, baos, null);
        String content = baos.toString();
        baos.close();
        return content;
    }

    public static void main(String[] args) throws Exception {
        String url = "C:\\Users\\houjx3\\Desktop\\“test.docx";
        String str = urlWord2007ToHtml(url);
        System.out.println(str);
    }
}

问题解决:

      

3.17 改为 4.0.1
            fr.opensagres.xdocreport
            fr.opensagres.poi.xwpf.converter.core
            2.0.1
        
改为
        
            fr.opensagres.xdocreport
            fr.opensagres.poi.xwpf.converter.core
            2.0.2
        

注意: 改完之后可能会有jar包冲突的情况, 需要解决完jar包冲突才能解析成功, 可以使用IDEA的插件 Maven Helper 来解决jar冲突(用起来方便).

 

你可能感兴趣的:(apache,word,html)