C# 读取 Word 文档:基于Free Spire.Doc 的免费方案分享

118 阅读2分钟

在日常开发中,处理Word文档的需求并不少见,从提取合同条款到解析报告数据,手动操作效率低且易出错。传统方案依赖COM组件或付费库,但读取Word文本的轻量级需求却常被忽视。本文将围绕如何用免费的Free Spire.Doc for .NET实现Word内容提取,结合代码示例与工具对比,提供一套零成本、高兼容性的解决方案。


Free Spire.Doc for .NET 简介

Free Spire.Doc for .NET是一款免费的文档处理库,无需依赖Microsoft Office即可完成Word文档的创建、编辑与读取。

:仅适合小型文档,有段落限制


Word 文档读取步骤

步骤1:通过Nuget安装库

Install-Package FreeSpire.Doc

步骤2:基础文本提取代码

using Spire.Doc;
using System.IO;

class Program
{
    static void Main()
    {
        //加载Word文档
        Document doc = new Document();
        doc.LoadFromFile("测试文档.docx");

        //使用GetText方法获取文档中的所有文本
        string s = doc.GetText();

        File.WriteAllText("提取文本.txt", s.ToString());
    }
}

扩展功能:读取指定段落及样式

除了读取整个文档内容外,Free Spire.Doc还支持读取指定段落文本

using (StreamWriter writer = new StreamWriter("按段落读取.txt"false, Encoding.UTF8))
{
      // 获取指定段落
      Paragraph paragraph = doc.Sections[0].Paragraphs[1];

      // 获取段落的对齐方式
      HorizontalAlignment alignment = paragraph.Format.HorizontalAlignment;

      // 获取段落后的间距
      float afterSpacing = paragraph.Format.AfterSpacing;

      // 将段落的格式信息和文本写入文件
      writer.WriteLine($"[对齐方式: {alignment}, 段后间距: {afterSpacing}]");
      writer.WriteLine(paragraph.Text);
        }
    }

与其他方案的对比

工具/方法是否收费依赖Office文本提取能力
Free Spire.Doc✅ 免费❌ 无需支持格式/分节/属性
Aspose.Words❌ 收费❌ 无需功能完整但需授权
COM组件✅ 免费✅ 需要仅基础文本提取
Open XML SDK✅ 免费❌ 无需需手动解析XML结构

Free Spire.Doc 支持现代 .docx 格式及旧版 doc 文档,满足大多数简单场景的需求。