使用IRONWORD

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

发布 2024年十月23日
分享:

介绍

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

使用 IronWord 等库可以从任何 Word 文档实例中提取文本; 翻译时只需加载文档对象、打开段落或章节,然后检索所需的文本,但仍需保持其原始布局。 在法律、医疗保健和金融领域,文档处理通常属于工作流程的范畴,这些功能将被证明具有非凡的实用性。 毫无疑问,C# 被用于开发从 Word 文件中提取文本的极具扩展性和高效的应用程序。 开发人员可以将其与更广泛的系统或应用程序相结合。

如何用 C# 从 Word 中提取文本;

  1. 在您的 C# 项目中通过 NuGet 安装 IronWord 库。

  2. 在您的 C# 文件顶部添加使用 IronWord,从 Word 中提取文本。

  3. 设置许可证密钥。

  4. 加载现有的 Word 文档。

  5. 使用段落方法访问段落。

  6. 使用 foreach 循环浏览段落和文本元素。

  7. 使用 Console 提取和显示文本。

什么是IronWord?

IronWord在文本检索方面,".NET "是一种强大的工具,可确保轻松获取 PDF、Word、txt 文件等各种文件。 翻译的设计要精确、快速,以便快速提取所需的结构化或非结构化文本,同时保留文档原始格式的其余部分。 IronWord 还用于提供文档分析、数据提取和内容自动索引。

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

它支持几乎所有可用的文件类型,确保与应用程序顺利集成,因此是业务自动化和大容量文档处理的理想选择。 以这种方式设计的库的可扩展性将允许轻松处理大量文件,这被证明是一项相当重要的资产,尤其是对于从事批量数据提取的企业而言。

IronWord 还与 C# 和其他编程语言完全兼容,因此可以满足大多数开发人员和组织的需求,这些开发人员和组织都在寻求最流畅的方式来简化文档工作流程。

IronWord 的功能

支持多种文档格式

IronWord 接受多种文档格式的文件。 这些包括:

  • PDF:它既可以解释 PDF 上的普通文本,也可以解释带有嵌入式字体的 PDF 和基于矢量的 PDF 上的文本。
  • 微软 Word 文件(DOCX): 它可以轻松读取 Word 中的文本,同时保持文档结构和格式不变。
  • 文本文件(TXT 文件): 除上述所有格式外,IronWord 甚至还能处理纯文本文件,并从无格式化的简单文本中提取和处理文本。

准确的文本提取

IronWord 提取引擎能够准确无误地提取文本内容,无论这些内容是埋藏在页面布局同样复杂的复杂文档中,还是内嵌字体,或者是图片和表格等混合内容。该库保留了

  • 文本格式: 粗体、斜体、下划线以及任何其他适用于文本的样式。
  • 文件层次结构: 页眉、段落和列表,以保证文章的透视性和可读性。

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

IronWord 能够熟练处理结构化和非结构化数据。 它将提取

  • 结构化数据: 格式中包含可预测模式的文档,如表单和合同。
  • 非结构化数据: 在无法预测文本排版、报告或文章的情况下。

    事实证明,它是数据挖掘、信息检索和分类任务中最有用的工具之一,因为它可以处理各种各样的内容。

大容量的可扩展性

IronWord 可以毫不费力地处理大量文件,在企业应用方面具有很强的可扩展性。 这意味着,举例来说,这将在以下流程中高效处理大量文件:

  • 批处理文档: 一次处理多个文档。
  • 文件较重: 文件较大时不会出现衰减。

与编程语言无缝集成

IronWord 可以无缝集成到开发环境中,尤其是通过简单的 API,开发人员可以毫不费力地将其添加到工作流程中的 Python。 它能够

  • 将 IronWord 导入 Python 应用程序: 开发人员可以直接使用 Python 脚本中的函数,执行时不会出现任何卡顿。
  • 跨语言互操作性: IronWord 除了在 Python 使用方面非常棒之外,在其他语言方面也同样棒,因此是跨不同技术栈的跨语言变革的好帮手。

    这种整合的便捷性减少了开发活动中花费的时间和精力,使其更专注于功能而非基础架构。

高性能和高速度

IronWord 有性能调优,大型文档的文本提取速度有提升。 这在一些需要快速执行以读出文本的实时应用程序中可能非常重要。 该库可以

  • 处理多线程: 这增强了提取过程,即并发运行的操作。
  • 内存占用小: 这可以确保在处理过程中优化系统资源的使用,从而可以扩展到非常大的数据集。

可选 OCR 支持

文件包含图片。 IronWord 可与 OCR 技术结合使用,为读者提供以下内容:

  • 扫描文档: 从图像、扫描的 PDF 或任何其他涉及图像的格式中提取文本。
  • 多语言支持: 能够识别和打印所支持 OCR 语言的文本。

元数据保存

IronWord 提取的不只是文本。 此外,还要保留文件中的元数据,例如:

  • 文件版本和任何其他有助于合规或存档的信息。
  • 这对于元数据与内容同等重要的文档管理系统非常有帮助。

在 Visual Studio 中创建新项目

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

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

现在,在给定的文本字段中输入 .NET 项目的名称,然后选择位置并保存文件。然后,如以下示例所示,单击 "创建 "按钮并选择所需的 .NET Framework。

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

Visual Studio 项目的结构将根据所选应用程序而有所不同。 要执行或运行应用程序并输入代码,请访问 Program.cs 文件。您可以使用控制台、Windows 或在线应用程序。

如何用 C# 从 Word 中提取文本:图 4 - 目标框架

然后可以对代码进行测试并添加库。

安装 IronWord 库

使用 Visual Studio 工具 从工具菜单中选择 NuGet 包管理器。 要查看软件包管理终端控制台,请导航至软件包管理器界面。

Install-Package Ironword
Install-Package Ironword
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'Install-Package Ironword
VB   C#

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

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

另一种策略是使用软件包管理器方法。 可以使用 Visual Studio 的 NuGet 包管理器选项直接安装到解决方案中。 下图说明了如何访问软件包管理器。

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

要查找软件包,请使用 NuGet 网站上的搜索栏。您只需使用软件包管理器查找 "IronWord",如下图所示。

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

附图显示了相关搜索结果列表。 请进行这些调整,以便将软件安装到您的计算机上。

从 Word 文档中提取文本

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

using IronWord;
IronWord.License.LicenseKey = "Licence key here";
var docx1 = new WordDocument("D:\\C# Projects\\ConsoleApp\\ConsoleApp\\File\\existing.docx");
var paragrapbobj = docx1.Paragraphs;
for (int i = 0; i < paragrapbobj.Count; i++)
{
    for(int j=0;j< paragrapbobj[i].Texts.Count; j++)
    {
   Console.WriteLine(paragrapbobj[i].Texts[j].Text.ToString());
    }
}
Console.ReadKey();
using IronWord;
IronWord.License.LicenseKey = "Licence key here";
var docx1 = new WordDocument("D:\\C# Projects\\ConsoleApp\\ConsoleApp\\File\\existing.docx");
var paragrapbobj = docx1.Paragraphs;
for (int i = 0; i < paragrapbobj.Count; i++)
{
    for(int j=0;j< paragrapbobj[i].Texts.Count; j++)
    {
   Console.WriteLine(paragrapbobj[i].Texts[j].Text.ToString());
    }
}
Console.ReadKey();
Imports IronWord
IronWord.License.LicenseKey = "Licence key here"
Dim docx1 = New WordDocument("D:\C# Projects\ConsoleApp\ConsoleApp\File\existing.docx")
Dim paragrapbobj = docx1.Paragraphs
For i As Integer = 0 To paragrapbobj.Count - 1
	Dim j As Integer=0
	Do While j< paragrapbobj(i).Texts.Count
   Console.WriteLine(paragrapbobj(i).Texts(j).Text.ToString())
		j += 1
	Loop
Next i
Console.ReadKey()
VB   C#

初始化 IronWord 的许可证密钥,本例中将其设置为空字符串或试用版。 通过实例化 Word 文档对象,打开位于该路径下的 .docx 格式文档。 加载新文档后,代码将使用 DOCX 或 doc.Paragraphs 属性访问文件中包含的所有段落。

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

它使用一个嵌套循环来实现这些迭代过程段落及其文本元素。 外循环在每个段落中循环,然后内循环向下漂移到其中一个段落所包含的文本元素中。如果格式不同,它会将所有文本撕成小块,从而抓取每一段文本,并将其转换成字符串。 之后,它将提取的文本打印到控制台。

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

最后,Console.ReadKey()在关闭应用程序窗口时,会调用".NET "来暂停程序,直到出现用户输入,从而在关闭应用程序控制台窗口前将输出显示在屏幕上。 这就是如何有序地提取和打印 Word 文档的内容。

结论

IronWord 是一款非常灵活高效的文本提取工具,几乎适用于任何文档格式,但非常适合使用 Word 文档的用户。 除了结构化文本提取功能外,其简易的 API 使其成为开发人员友好型解决方案,在需要自动检索文档内容时绝对值得信赖。 因此,在处理相当复杂的文档时,它还能保持格式,这使它在法律文档处理、企业级内容管理等多个应用中非常有用。因此,只需在工作流程中实施 IronWord,就能让大多数与文档分析、数据提取和处理相关的任务变得相当简单,它还能帮助您提高处理海量文本的工作效率和准确性。

IronWord 的起步价为 599 美元。用户还可以一次性支付一年的订阅费,以换取技术支持和软件更新。 IronWord 是收费的,禁止免费发布。 请参考许可证页码有关定价的更多具体细节,请联系 IronWord。 了解有关 Iron Software 其他产品的更多信息,请访问产品页面.

< 前一页
如何用 C# 在 Word 文件中添加水印
下一步 >
如何使用C#从模板创建Word文档

准备开始了吗? 版本: 2024.11 刚刚发布

免费NuGet下载 总下载量: 7,566 查看许可证 >