使用JAVA 的 POI 库 将DOC文件转为DOCX文件

文章讲述了在将Python算法应用到平台端时,作者遇到的问题,即如何使用ApachePOI的poi-scratchpad库中的WordToHtmlUtils类来转换Word文档格式。经过寻找和尝试,作者找到了解决方法并提供了相关的jar包下载链接。
摘要由CSDN通过智能技术生成

原因:

工作需求,本来是算法侧直接用python掉库直接可以解决,但是放到了我们平台端。(T&*@Y#&@*)

所需依赖:

        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-scratchpad</artifactId>
            <version>4.1.1</version>
        </dependency>

过程:

找了很多地方,都无法实现这个功能。(搜遍全网了都快,要么是收费的,要么是(%@!#&*)

嘿嘿嘿:

找了两天,算是机缘巧合,在poi库中,发现了一个工具类,可以直接实现这个效果。


import org.apache.poi.hwpf.HWPFDocumentCore;
import org.apache.poi.hwpf.converter.WordToHtmlUtils;

import java.io.*;

public class FileUtil2 {

    public static void convertDocToDocx(String docPath, String docxPath) {
        try {
            File file = new File(docPath);
            File docxFile = new File(docxPath);
            HWPFDocumentCore doc = WordToHtmlUtils.loadDoc(file);
            doc.write(docxFile);
        } catch (IOException e) {
            throw new RuntimeException(e);
        }
    }

    public static void main(String[] args) {
        try {
            convertDocToDocx("D:/imagepool/doc/测试文档0102.doc", "D:/imagepool/doc/测试文档0102.docx");
        } catch (Exception e) {
            System.out.println(e.getMessage());
        }
    }
}

效果:


后续:


上面操作有问题,只是改了后缀名,并没有对文件格式进行转换,请使用下面的方法
 

这里是相关jar包 请自行食用

链接:https://pan.baidu.com/s/128oiZOfGaEiBPj0RkdiY2g?pwd=gsd6
提取码:gsd6
 

  • 10
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
JavaPOI是一个强大的开源,可以用于处理Microsoft Office文件,包括Word文档。如果想要将DOC文档转为DOCX格式,可以使用POI中的功能。下面是一个简单的示例代码: ```java import org.apache.poi.xwpf.usermodel.*; import org.apache.poi.hwpf.HWPFDocument; import org.apache.poi.hwpf.converter.WordToConverter; import org.apache.poi.hwpf.usermodel.HWPFRange; import java.io.*; public class ConvertDocToDocx { public static void main(String[] args) throws IOException { String inputFile = "input.doc"; String outputFile = "output.docx"; InputStream input = new FileInputStream(inputFile); HWPFDocument doc = new HWPFDocument(input); WordToConverter converter = new WordToConverter(XWPFDocument.getDocument); converter.processDocument(doc); OutputStream output = new FileOutputStream(outputFile); converter.getDocument().write(output); output.close(); input.close(); System.out.println("DOC文件已成功转为DOCX文件!"); } } ``` 以上代码使用POI的HWPF,其中包含了`HWPFDocument`类,可以处理DOC文档。首先,我们需要指定输入DOC文件和输出DOCX文件的路径。然后,通过`FileInputStream`读取输入文件并创建`HWPFDocument`对象。接下来,我们创建一个`WordToConverter`对象,将`HWPFDocument`对象传递给它,并调用`processDocument`方法将DOC文件换为DOCX格式。最后,通过`FileOutputStream`将换后的文档写入输出文件。 请注意,POI的具体版本可能略有不同,上述代码适用于较新版本的POI。在使用之前,请确保已正确配置POI的依赖项。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值