当前位置: 首页 > article >正文

java实现word转html(支持docx及doc文件)

private final static String tempPath = "C:\\Users\\xxx\\Desktop\\Word2Html\\src\\test\\";//图片及相关文件保存的路径

    public static void main(String argv[]) {
        try {
            JFileChooser fileChooser = new JFileChooser();
            fileChooser.setDialogTitle("Select a Word Document");
            fileChooser.setAcceptAllFileFilterUsed(false);
            fileChooser.addChoosableFileFilter(new javax.swing.filechooser.FileNameExtensionFilter("Word Documents", "doc", "docx"));

            int returnValue = fileChooser.showOpenDialog(null);
            if (returnValue == JFileChooser.APPROVE_OPTION) {
                File inputFile = fileChooser.getSelectedFile();
                String fileName = inputFile.getAbsolutePath();

                String defaultOutputDir = System.getProperty("user.home") + "\\Desktop\\";
                String outputFileName = defaultOutputDir + inputFile.getName().replaceFirst("[.][^.]+$", "") + ".html";

                if (fileName.endsWith(".doc")) {
                    doc2Html(fileName, outputFileName);
                } else if (fileName.endsWith(".docx")) {
                    docx2Html(fileName, outputFileName);
                }
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    /**
     * doc转换为html
     *
     * @param fileName
     * @param outPutFile
     * @throws TransformerException
     * @throws IOException
     * @throws ParserConfigurationException
     */
    public static void doc2Html(String fileName, String outPutFile) throws TransformerException, IOException, ParserConfigurationException {
        long startTime = System.currentTimeMillis();
        HWPFDocument wordDocument = new HWPFDocument(new FileInputStream(fileName));
        WordToHtmlConverter wordToHtmlConverter = new WordToHtmlConverter(DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument())

http://www.kler.cn/a/506740.html

相关文章:

  • 【算法】枚举
  • @Query(org.springframework.data.jpa.repository.Query)
  • 中间件以及主流中间件产品:IBM MQSeries和BEA Tuxedo介绍
  • React 中hooks之useLayoutEffect 用法总结以及与useEffect的区别
  • Android Studio历史版本包加载不出来,怎么办?
  • vue项目引入阿里云svg资源图标
  • 常见的安全测试漏洞详解
  • VLANIF配置之区别(Differences in VLANIF Configuration)
  • 高德地图自定义点聚合样式
  • 数据结构-顺序表及链表结构分析
  • 【odbc】odbc连接kerberos认证的 hive和spark thriftserver
  • 矩阵Strassen 算法
  • C#异步编程:掌握上下文捕获,有效避免死锁
  • Navicat Premium 原生支持阿里云 PolarDB 数据库
  • EtherCAT PDO映射概述
  • 浅谈云计算19 | OpenStack管理模块 (上)
  • No.32 笔记 | 业务逻辑漏洞全解析:概念、成因与挖掘思路
  • C 语言中二维数组的退化
  • 【MVCC过程中会加锁吗?】
  • Ubuntu无法进入图像化界面
  • 英伟达 2025 CES:GPU与智算中心协同驱动 GPU算力智能变革
  • 一次完整的tcpdump -XX输出报文详解
  • 寒假康复训练2 edu111(A-C)
  • JAVA-Exploit编写(1)--HttpURLConnection库使用
  • Vue2+OpenLayers给2个标点Feature分别添加独立的点击事件(提供Gitee源码)
  • 细说STM32F407单片机窗口看门狗WWDG的原理及使用方法