*细路籽 2021-05-07 12:42 采纳率: 100%
浏览 63
已采纳

用poi将docx转html但无法提取出图片

文字正常显示但没有提取出来图片 也没显示图片

以下是代码

import org.apache.poi.xwpf.converter.core.BasicURIResolver;
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;

import java.io.*;
import java.util.List;

public class DocxTransUtil {

    public static void trans2htm(String docxfile)throws Throwable{
        long startTime = System.currentTimeMillis();
        String fileName = docxfile.substring(docxfile.lastIndexOf("\\")+1);
        String file = fileName.substring(0,fileName.lastIndexOf("."));
        String path = DocxTransUtil.class.getResource("/").getPath()+"News/";
        XWPFDocument document = new XWPFDocument(new FileInputStream(docxfile));
        XHTMLOptions options = XHTMLOptions.create().indent(4);
        // 导出图片
        File imageFolder = new File(path);
        options.setExtractor(new FileImageExtractor(imageFolder));
        // URI resolver  word的html中图片的目录路径
        options.URIResolver(new FileURIResolver(imageFolder));
        File outFile = new File(path+file+".html");
        outFile.getParentFile().mkdirs();
        OutputStream out = new FileOutputStream(outFile);
        XHTMLConverter.getInstance().convert(document, out, options);
        System.out.println(path+"Generate " + path + " with " + (System.currentTimeMillis() - startTime) + " ms.");

    }

    }
  • 写回答

2条回答 默认 最新

  • 朱  2021-05-07 14:47
    关注

    楼上说的“深蓝”是啥?是冰蓝?他们应该就是spire.doc.jar,专门操作word的,word转html代码如下:

    import com.spire.doc.*;
    
    public class WordtoHtml {
        public static void main(String[] args) {
            Document  doc = new Document();
            doc.loadFromFile("样本.docx");
            doc.saveToFile("wordtohtml.html",FileFormat.Html);
            doc.dispose();
        }
    }
    

    以上环境使用版本为free spire.doc.jar 3.9.0即免费版

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵