使用IRONWORD

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

發佈 2024年10月23日
分享:

介紹

通常,文件處理應用程式、資料提取或文本分析的主要任務是從 Word 文件中提取文本。 在開發 C# 應用程序時,開發人員使用像 IronWord 這樣的庫,來協助處理 .docx 格式的文件並從中訪問文件實例內的文本。 使用這些函式庫有助於自動化內容的檢索方式從Word 文件啟用報告生成、數據挖掘甚至文件管理系統。

使用像 IronWord 這樣的庫,可以從任何 Word 文件實例中提取文本; 只需要加載文檔對象,打開段落或部分,然後提取所需的文本,同時保持其原始佈局。 這樣的功能在法律、醫療保健和金融領域中將顯得特別有用,這些領域的文件處理通常屬於工作流程的一部分。 毫無疑問,C# 被用來開發極具可擴展性和效率的應用程式,這些應用程式可以從 Word 文件中提取文字。 開發人員可以將其與更廣泛的系統或應用程式相結合。

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

  1. 在您的 C# 專案中透過 NuGet 安裝 IronWord 函式庫。

  2. 在您的 C# 文件頂部添加 using IronWord,以從 Word 中提取文本。

  3. 設置您的授權密鑰。

  4. 載入現有的 Word 文件。

  5. 使用段落方法訪問段落。

  6. 使用 foreach 迴圈遍歷段落和文字元素。

  7. 使用 Console 提取和顯示文字。

什麼是IronWord?

IronWord是一股強大的力量,能夠檢索文本並確保各類文件,如 PDF、Word、txt 檔案等,均能輕鬆獲取。 它以精確和快速為設計,能夠迅速提取所需的文本,無論是結構化還是非結構化,同時保留文檔的原始格式。 IronWord 也用於提供文件分析、資料提取和內容的自動索引。

如何使用 C# 提取 Word 中的文本:圖 1 - IronWord

這支援幾乎所有可用的檔案類型,以確保與應用程式的順利整合,因此非常適合業務自動化和大批量文件處理。 以這種方式設計的庫的可擴展性將允許輕鬆處理大量文件,這對於涉及大量數據提取的企業來說,無疑是一個相當重要的資產。

IronWord 也完全兼容 C# 和其他程式語言,以滿足大多數開發人員和組織尋求簡化其文件工作流程的需求。

IronWord 的功能

支援多種文件格式

IronWord 接受多種文件格式的檔案。 這些包括:

  • PDFs:它可以解讀含有普通文字的PDF、嵌入字型的PDF以及基於向量的PDF。
  • Microsoft Word 檔案(DOCX): 它能輕鬆讀取 Word 文本,同時保持文件結構和格式完整。
  • 文本檔案(TXT 檔案): 除了上述所有格式外,IronWord 甚至可以處理純文字檔案,並從未格式化的簡單文字中提取和處理文本。

準確的文本提取

IronWord 擷取引擎能夠有效地擷取文字內容,即使它隱藏在具有同樣複雜的頁面佈局、內嵌字體,或是包含圖片和表格等內容混合的複雜文檔中。該庫保存:

  • 文字格式: 粗體、斜體、下劃線及應用於文字的其他任何樣式。
  • 文件層級:標題、段落和列表使內容更具層次性和可讀性。

處理結構化和非結構化數據

IronWord 擅長處理結構化和非結構化資料。 它將提取:

  • 結構化數據: 包含可預測格式模式的文件,如表單和合同。
  • 非結構化資料: 適用於不可預測的文本佈局、報告或文章的情況。

    它已被證明是資料挖掘、資訊檢索和分類任務中最有用的工具之一,因為它能夠處理各種內容。

大容量的可擴展性

IronWord 旨在處理文件量,對於企業應用而言具有極佳的可擴展性且相當輕鬆。 這意味著,例如,這將在以下流程中高效處理大量文件:

  • 文件批處理: 它是一次處理多個文件。
  • 大型文件: 當文件大小非常巨大時,它的品質不會衰減。

與編程語言的無縫整合

IronWord 可以無縫整合到開發環境中,特別是在 Python 方面,透過簡便的 API,開發者可以毫不費力地將其添加到工作流程中。 它使能:

  • 將 IronWord 匯入至 Python 應用程式: 開發人員可以在 Python 腳本中直接使用這些功能,以順利執行。
  • 跨語言互操作性: 除了對 Python 用戶極具吸引力外,IronWord 在其他語言中同樣出色,因此在不同的技術堆疊中是進行跨語言轉換的絕佳選擇。

    這種易於整合的特性減少了開發活動中所花費的時間和精力,使能更專注於功能而非基礎設施。

高性能和速度

IronWord具有性能調整功能,大型文件的文字提取速度有所提升。 這在一些需要快速執行以讀取文本的實時應用中可能非常重要。 該庫可以:

  • 處理多執行緒: 這增強了提取過程,這些是同時運行的操作。
  • 小內存佔用: 這確保在處理時系統資源的最佳使用,從而能夠擴展以應對非常大的數據集。

支持的 OCR 選項

文件包含圖片。 IronWord 可以結合 OCR 技術使用,向讀者提供以下功能:

  • 掃描文件: 從圖像、已掃描的PDF或任何涉及圖像的格式中提取文字。
  • 多語言支援: 能夠識別並列印受支援的光學字符識別(OCR)語言中的文字。

元數據保留

IronWord 提取的不僅僅是文字。 此外,它保留文檔中的元數據,例如:

  • 文件版本控制及任何其他有助於合規或存檔目的的信息。
  • 這在文件管理系統中非常有用,其中繼資料與內容一樣重要。

在 Visual Studio 中建立新專案

要啟動 Visual Studio 應用程式,請從檔案選單中選擇檔案。 一旦你選擇了「新專案」,請選擇「主控台應用程式」。

如何從 Word 中擷取文字於 C#:圖 2 - 主控台應用程式

現在,在選擇位置並保存文件後,在給定的文本字段中輸入 .NET 專案的名稱。然後,如以下範例所示,點擊「創建」按鈕並選擇所需的 .NET Framework。

如何從 Word 中提取文本(C#):圖 3 - 專案配置

Visual Studio 專案的結構將根據所選應用程式而有所不同。 要實施或運行應用程式並輸入代碼,請訪問 Program.cs 文件。您可以使用控制台、Windows 或線上應用程式。

如何從 Word 中提取文字 (C#):圖 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#

該套件下載安裝後,現在可以用於正在進行的專案中的文字提取。

如何從 Word 中提取文字(C#):圖 5 - 安裝 IronWord

另一種策略是使用包管理器的方法。 可以使用 Visual Studio 的 NuGet 套件管理器選項直接安裝到解決方案中。 下圖說明如何訪問套件管理器。

如何從 Word 中提取文本:圖 6 - NuGet 套件管理器

要定位套件,請使用 NuGet 網站上的搜索欄。您只需使用套件管理器查找「Ironword」,如下圖所示。

如何從 Word 中提取文本(C#):圖 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 屬性訪問文件中包含的所有段落。

如何從 Word 中提取文本在 C#: 圖8 - 範例 Word 文件

它使用嵌套迴圈來進行這些的迭代過程段落及其文本元素。 外層迴圈遍歷每個段落,然後內層迴圈深入到段落內包含的文字元素。它透過將所有文本片段拆分為較小的部分(如果格式不同),然後將其轉換為字符串,抓取每一段文字。 之後,它將提取的文字打印到控制台。

如何從 Word 中提取文字在 C# 中:圖 9 - 主控台輸出

最後,Console.ReadKey()被呼叫來暫停程式直到用戶輸入發生,同時關閉應用程式視窗,從而允許輸出在關閉應用程式控制台視窗之前顯示在螢幕上。 這就是如何有條理地提取和列印 Word 文件內容。

結論

IronWord 是一款非常靈活且高效的文本提取工具,幾乎適用於任何文件格式,特別適合使用 Word 文件的人士。 它簡單的 API 和結構化文字擷取功能,使其成為對開發者友好的解決方案,當需要自動檢索文件內容時絕對可以依賴。 因此,它可以在處理相當複雜的文件時保持格式,這使其在多個應用中非常有用——例如法律文件處理、企業級內容管理等。因此,只需在您的工作流程中實施IronWord,即可使文檔分析、數據提取和處理相關的大多數任務變得更加容易,並將幫助您提高處理大量文本的生產力和準確性。

IronWord 的起始價格為 $599。用戶也可以支付一次性訂閱費以獲得一年的技術支援和軟體更新。 IronWord 收費,禁止免費分發。 請參閱許可證頁面IronWord 的更多定價詳情。 透過訪問以了解有關Iron Software其他產品的更多資訊產品頁面.

< 上一頁
如何在 C# 中向 Word 文件添加水印
下一個 >
如何使用 C# 從範本創建 Word 文件

準備開始了嗎? 版本: 2024.12 剛剛發布

免費 NuGet 下載 總下載次數: 7,878 查看許可證 >