提取Word文档中的文本是一种常见的需求,我们可以直接复制并粘贴保存到指定文件中。但这一方法更为适用于文本内容较少时。除了费时费力地手动保存以外,我们可以通过编程语言编写代码来一次性提取Word文档中的大量内容。在这里我将介绍如何通过 Java程序来实现这个功能。所用到的产品是Free Spire.Doc for Java。具体操作和代码请参考下文。

程序环境

在进行操作之前,请先将jar导入到Java程序中,请参考以下两种导入方法:
方法一:如果您使用的是 maven,可以通过添加以下代码到项目的 pom.xml 文件中,将 jar文件导入到应用程序中。

<repositories>
    <repository>
        <id>com.e-iceblue</id>
        <name>e-iceblue</name>
        <url>https://repo.e-iceblue.cn/repository/maven-public/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>e-iceblue</groupId>
        <artifactId>spire.doc.free</artifactId>
        <version>5.2.0</version>
    </dependency>
</dependencies>

方法二:如果您没有使用 maven,则可以从此链接下载Free Spire.Doc for Java,找到lib文件夹下的Spire.doc.jar并进行解压;然后在IDEA中创建一个新项目,依次点击“文件”(File),“项目结构”(Project Structure),“组件”(Modules),“依赖项”(Dependencies),再点击右方绿色“+”下的第一个选项“jar文件或路径”(JARs or Directories),找到解压后的Spire.doc.jar 文件,点击确认,将其导入到项目中。

详细方法和示例代码

• 创建一个Document对象来加载Word文档。
• 使用getText()方法获取文档中的文本。
• 调用writeStringToTxt方法将文本写入名为ExtractedText.txt的txt文件中。

import com.spire.doc.Document;

import java.io.FileWriter;
import java.io.IOException;

public class ExtractText {

    public static void main(String[] args) throws IOException {

        //加载Word文档
        Document document = new Document();
        document.loadFromFile("sample.docx");

        //获取文档中的文本保存为String
        String text=document.getText();

        //将String写入Txt文件
        writeStringToTxt(text,"ExtractedText.txt");
    }

    public static void writeStringToTxt(String content, String txtFileName) throws IOException {

        FileWriter fWriter= new FileWriter(txtFileName,true);
        try {
            fWriter.write(content);
        }catch(IOException ex){
            ex.printStackTrace();
        }finally{
            try{
                fWriter.flush();
                fWriter.close();
            } catch (IOException ex) {
                ex.printStackTrace();
            }
        }
    }
}


Gloria
1 声望1 粉丝