跳至页脚内容
使用 IRONWORD

如何在 C# 中从 Word 中提取文本

通常,文档处理应用程序、数据提取或文本分析的主要任务是从 Word 文档文件中提取文本。 在开发 C# 应用程序时,开发人员使用 IronWord 等库来帮助处理 .docx 格式的文件并访问文档实例中的文本。 使用这些库有助于自动从Word 文档中检索内容,从而实现报告生成、数据挖掘,甚至文档管理系统。

使用 IronWord 等库,可以从任何 Word 文档实例中提取文本; 只需加载文档对象、打开段落或章节,然后检索所需的文本,同时保持其原始布局即可。 这种功能在法律、医疗保健和金融领域将具有非凡的实用价值,因为在这些领域,文档处理通常是工作流程中不可或缺的一部分。 毫无疑问,C# 被用于开发极具可扩展性和高效性的应用程序,这些应用程序可以从 Word 文件中提取文本。 开发人员可以将其与更复杂的系统或应用程序结合使用。

如何在 C# 中从 Word 文档中提取文本

  1. 通过 NuGet 在您的 C# 项目中安装 IronWord 库。
  2. 在 C# 文件的顶部添加using IronWord;以从 Word 中提取文本。
  3. 设置您的许可证密钥。
  4. 加载现有的 Word 文档。
  5. 使用Paragraphs属性访问段落。
  6. 使用foreach循环遍历段落和文本元素。
  7. 使用Console提取和显示文本。

IronWord是什么?

IronWord是一款功能强大的文本检索工具,可确保轻松获取各种类型的文件,例如 PDF、Word 和 TXT 文件。 它以精准和快速的方式进行设计,能够快速提取所需的文本(无论是结构化文本还是非结构化文本),同时保留文档其余部分的原始格式。 IronWord 还可用于提供文档分析、数据提取和内容自动索引。

如何在 C# 中从 Word 文档中提取文本:图 1 - IronWord

该工具支持几乎所有可用的文件类型,以确保与应用程序的顺利集成,因此非常适合业务自动化和大批量文档处理。 以这种方式设计的库具有可扩展性,可以轻松处理大量文档,这对于从事批量数据提取的企业来说是一项非常重要的优势。

IronWord 还完全兼容 C# 和其他编程语言,满足希望简化文档工作流程的开发人员和组织的需求。

IronWord 的特点

支持多种文档格式

IronWord 接受多种文档格式的文件,包括:

  • PDF:它可以解释普通文本 PDF、嵌入字体的 PDF 以及基于矢量的 PDF 中的文本。
  • Microsoft Word 文件 (DOCX):它可以轻松读取 Word 文档中的文本,同时保持文档结构和格式不变。 *文本文件 (TXT):此外,IronWord 还处理纯文本文件,从简单文本中提取和处理文本。

精确文本提取

IronWord 提取引擎能够熟练地提取文本内容,即使文本内容隐藏在具有复杂页面布局、嵌入字体或图片和表格等混合内容的复杂文档中。 图书馆保存了:

*文本格式:*应用于文本的样式,例如粗体、斜体、下划线和其他样式。 文档层级:**标题、段落和列表,以保持组织性和可读性。

处理结构化和非结构化数据

IronWord 可以处理结构化数据和非结构化数据。 它可以提取:

*结构化数据:*具有可预测格式模式的文档,例如表格和合同。 非结构化数据:**文本布局不可预测的文档,例如报告或文章。

由于它能够处理各种各样的内容,因此在数据挖掘、信息检索和分类等任务中已被证明非常有用。

大容量可扩展性

IronWord 旨在高效处理大量文档,为企业应用程序提供强大的可扩展性。 例如:

*文档批量处理:*一次性处理多个文档。 处理大型文件:**处理大型文档时性能不会下降。

与编程语言的无缝集成

IronWord 通过易于使用的 API 无缝集成到开发环境(尤其是 Python 开发环境)中。这使得开发人员能够:

*将 IronWord 导入 Python 应用程序:*直接在 Python 脚本中使用 IronWord 函数。 跨语言互操作性:**除了 Python 之外,IronWord 还可以有效地用于其他语言,从而促进技术栈的互操作性。

这种易于集成的特性使开发人员能够专注于功能,而不是基础设施。

高性能和速度

IronWord 针对性能进行了优化,即使从大型文档中也能快速提取文本,这对于需要快速执行的实时应用程序至关重要。 图书馆提供:

*多线程支持:*增强并发提取过程。 内存占用小:**处理过程中系统资源利用率高,可扩展性强,能够处理大型数据集。

可选的 OCR 支持

对于包含图像的文档,IronWord 可以与 OCR 技术结合使用,以实现以下功能:

*处理扫描文档:*从图像、扫描的 PDF 或其他基于图像的格式中提取文本。 多语言支持:**识别并提取支持的 OCR 语言的文本。

元数据保存

除了提取文本之外,IronWord 还会保留文档中的元数据,例如:

*文档版本控制和合规信息:*可用于合规或存档目的。 文档管理系统:**元数据与内容同等重要。

在 Visual Studio 中创建新项目

要启动Visual Studio应用程序,请从文件菜单中选择文件,然后选择"新建项目",再选择"控制台应用程序"。

如何在 C# 中从 Word 文档中提取文本:图 2 - 控制台应用程序

选择 .NET 项目的位置后,在文本字段中输入项目名称,然后单击"创建"按钮并选择所需的 .NET Framework。

如何在 C# 中从 Word 文档中提取文本:图 3 - 项目配置

Visual Studio 项目结构会根据所选应用程序而有所不同。 要实现或运行应用程序代码,请访问 Program.cs 文件,该文件适用于控制台、窗口或在线应用程序。

如何在 C# 中从 Word 文档中提取文本:图 4 - Target Framework

输入代码后即可测试该库。

安装 IronWord 库

从 Visual Studio 工具菜单中,选择 NuGet 包管理器。 要访问软件包管理控制台,请导航至软件包管理器界面。

Install-Package IronWord

下载并安装后,该软件包即可用于正在进行的项目中的文本提取。

如何在 C# 中从 Word 文档中提取文本:图 5 - 安装 IronWord

包管理器方法提供了另一种选择,允许通过 Visual Studio 的 NuGet 包管理器直接安装到解决方案中。 下图展示了如何访问软件包管理器。

如何在 C# 中从 Word 文档中提取文本:图 6 - NuGet 包管理器

使用 NuGet 网站上的搜索字段查找程序包。 使用软件包管理器搜索"IronWord",如下图所示。

如何在 C# 中从 Word 文档中提取文本:图 7 - 搜索 IronWord

附图显示了相关的搜索结果。 请进行以下调整,以便在您的计算机上安装该软件。

从 Word 文档中提取文本

要使用 IronWord 从文档中提取文本,请按照以下步骤操作。 下面的示例代码演示了如何使用 C# 中的 IronWord 库从 Word 文档 (.docx) 中提取文本。

// Include necessary libraries
using IronWord;

// Set the license key for IronWord
IronWord.License.LicenseKey = "License key here";

// Load the Word document
var docx1 = new WordDocument("D:\\C# Projects\\ConsoleApp\\ConsoleApp\\File\\existing.docx");

// Access the collection of paragraphs in the document
var paragraphObj = docx1.Paragraphs;

// Loop through each paragraph and its text elements
for (int i = 0; i < paragraphObj.Count; i++)
{
    for (int j = 0; j < paragraphObj[i].Texts.Count; j++)
    {
        // Print each text element to the console
        Console.WriteLine(paragraphObj[i].Texts[j].Text.ToString());
    }
}

// Wait for user input before closing the console
Console.ReadKey();
// Include necessary libraries
using IronWord;

// Set the license key for IronWord
IronWord.License.LicenseKey = "License key here";

// Load the Word document
var docx1 = new WordDocument("D:\\C# Projects\\ConsoleApp\\ConsoleApp\\File\\existing.docx");

// Access the collection of paragraphs in the document
var paragraphObj = docx1.Paragraphs;

// Loop through each paragraph and its text elements
for (int i = 0; i < paragraphObj.Count; i++)
{
    for (int j = 0; j < paragraphObj[i].Texts.Count; j++)
    {
        // Print each text element to the console
        Console.WriteLine(paragraphObj[i].Texts[j].Text.ToString());
    }
}

// Wait for user input before closing the console
Console.ReadKey();
' Include necessary libraries
Imports IronWord

' Set the license key for IronWord
IronWord.License.LicenseKey = "License key here"

' Load the Word document
Dim docx1 = New WordDocument("D:\C# Projects\ConsoleApp\ConsoleApp\File\existing.docx")

' Access the collection of paragraphs in the document
Dim paragraphObj = docx1.Paragraphs

' Loop through each paragraph and its text elements
For i As Integer = 0 To paragraphObj.Count - 1
	Dim j As Integer = 0
	Do While j < paragraphObj(i).Texts.Count
		' Print each text element to the console
		Console.WriteLine(paragraphObj(i).Texts(j).Text.ToString())
		j += 1
	Loop
Next i

' Wait for user input before closing the console
Console.ReadKey()
$vbLabelText   $csharpLabel

该代码初始化 IronWord 的许可证密钥,并从指定路径加载 .docx 文档,创建一个 WordDocument 对象。 文档加载完成后,它会通过Paragraphs属性访问所有段落。

如何在 C# 中从 Word 文档中提取文本:图 8 - Word 文档示例

嵌套循环遍历段落及其文本元素。 外层循环遍历每个段落,而内层循环处理每个段落的文本元素。 文本元素在转换为字符串后会打印到控制台。

如何在 C# 中从 Word 文档中提取文本:图 9 - 控制台输出

Console.ReadKey()会暂停程序执行,允许显示输出,直到用户输入后才会关闭应用程序窗口。 这种方法可以有序地提取和打印 Word 文档内容。

结论

IronWord 是一款功能全面、高效的文本提取工具,适用于各种文档格式,尤其适用于 Word 文档。 它用户友好的 API 和结构化文本提取功能使其成为开发人员寻求自动文档内容检索的可靠解决方案。 该工具在处理复杂文档时能够保持格式,对于法律、企业级内容管理和其他应用来说非常有价值。 实施 IronWord 可以增强文档分析、数据提取和处理任务,提高处理大量文本时的效率和准确性。

IronWord 的起价为 599 美元。用户可以选择一次性支付年费,即可获得技术支持和软件更新服务。 IronWord会产生费用,因此无法免费分发。 有关具体定价详情,请参阅 IronWord 的许可页面。 请访问产品页面,了解Iron Software的其他产品。

常见问题解答

我该如何使用C#从Word文档中提取文本?

您可以通过在C#项目中通过NuGet安装IronWord库,添加using IronWord;到您的C#文件,使用许可证密钥初始化库,加载Word文档,并通过遍历段落来提取并显示文本。

使用IronWord支持哪些文档格式的文本提取?

IronWord支持从各种文档格式中提取文本,包括Microsoft Word文件(DOCX)、PDF文件和纯文本文件(TXT)。

IronWord如何确保从Word文档中准确提取文本?

IronWord保持文本的原始布局和格式,在文本提取中提供高精度。它支持结构化和非结构化数据,非常适合生成报告和管理文档。

IronWord可以与C#以外的编程语言集成吗?

是的,IronWord设计用于与其他编程语言无缝集成,如Python,从而增强跨语言互操作性,让开发者在各种环境中使用它。

IronWord是否支持从带有图像的扫描文档中提取文本?

IronWord可以与OCR技术一起使用来处理扫描文档,从而支持从图像中提取文本,并支持多种语言,提高其在文档处理任务中的多样性。

IronWord为C#开发人员提供了哪些关键功能?

IronWord提供了诸如准确的文本提取、多文档格式支持、可扩展性、多线程支持、可选的图像OCR、与其他编程语言的无缝集成等功能,使其在文档分析和数据提取中高效。

如何在C#项目中安装IronWord?

要在C#项目中安装IronWord,请使用Visual Studio中的NuGet包管理器。搜索'IronWord'并将其添加到您的项目中,以开始从Word文档中提取文本。

IronWord的定价模式是什么?

IronWord的定价从每年599美元起,此费用包含技术支持和软件更新的访问权限,确保您能获得最新功能和修复。

IronWord如何处理大量文档的文本提取?

IronWord通过提供多线程支持等功能来优化性能,使其能够高效地处理和扩展大量文档,非常适合企业级应用。

IronWord为法律或医疗等行业的文档处理提供了哪些好处?

IronWord通过支持从多种格式中提取文本并保持原始格式来提高文档处理效率。其可扩展性和性能优化使其非常适合法律和医疗等需高效文档管理的行业。

Jordi Bardia
软件工程师
Jordi 最擅长 Python、C# 和 C++,当他不在 Iron Software 利用这些技能时,他就在游戏编程。分享产品测试、产品开发和研究的责任,Jordi 在持续的产品改进中增加了巨大的价值。多样的经验使他面临挑战并保持投入,他表示这是在 Iron Software 工作的最喜欢的方面之一。Jordi 在佛罗里达州迈阿密长大,并在佛罗里达大学学习计算机科学和统计学。