如何在 C# 中從 DOCX 檔案中移除文字
IronWord 提供多種方法,可在 C# 中從 WORD 文件中移除文字,包括移除整個段落、特定文字區塊,以及在刪除前根據內容搜尋文字,同時完整保留文件的結構與格式。
如何從 DOCX 檔案中移除文字
- 下載用於從 WORD 文件中移除文字的 C# 函式庫
- 載入現有的 WORD 文件
- 標示需刪除的文字內容
- 使用
Remove方法移除選取的文字 - 儲存變更並將更新後的文件匯出為 DOCX 檔案
快速入門:從 DOCX 檔案中移除文字
- 透過 NuGet 套件管理員安裝 IronWord
- 使用
WordDocument載入您的 DOCX 檔案 - 透過索引存取段落或文字區塊
- 在目標元素上呼叫
Remove() - 儲存修改後的文件
-
using NuGet 套件管理員安裝 https://www.nuget.org/packages/IronWord
PM > Install-Package IronWord -
請複製並執行此程式碼片段。
using IronWord; // Load document WordDocument doc = new WordDocument("document.docx"); // Remove second paragraph doc.Paragraphs[1].Remove(); // Save changes doc.SaveAs("document_modified.docx"); -
部署至您的生產環境進行測試
立即透過免費試用,在您的專案中開始使用 IronWord
如何從 WORD 文件中刪除整段文字?
若要從 WORD 文件中移除一段落,請透過 Paragraphs 集合,使用其索引位置來存取該段落。 此範例會移除索引編號為 1 的段落,並刪除其所有內容與格式。 移除內容後,文件結構會自動調整,後續段落會向上移動以填補空缺。
處理段落刪除時,請注意索引是從零開始的。 第一段的索引為 0,第二段為 1,依此類推。 Remove() 方法會將段落元素完全從文件結構中移除,包括該段落內的所有文字區塊、格式設定,以及任何嵌入式內容(如圖片或超連結)。
:path=/static-assets/word/content-code-examples/how-to/remove-text-simple.cs
using IronWord;
// Load a DOCX document
WordDocument doc = new WordDocument("text_document.docx");
// Remove the second paragraph
doc.Paragraphs[1].Remove();
// Export the file
doc.SaveAs("text_document_modified.docx");
Imports IronWord
' Load a DOCX document
Dim doc As New WordDocument("text_document.docx")
' Remove the second paragraph
doc.Paragraphs(1).Remove()
' Export the file
doc.SaveAs("text_document_modified.docx")
移除前文件呈現何種樣貌?
移除後文件結構會有何變化?
移除操作將保留文件的整體格式與結構。 其餘段落將保留原始的顏色與格式設定。 這正是使用 IronWord 移除方法的關鍵優勢——它們能在乾淨俐落地移除目標元素的同時,完整保留周圍內容的完整性。
如何移除段落中的特定格式化文字?
一個段落可能包含多個文字區段,每個區段代表具有一致格式屬性(如粗體、斜體或顏色)的文字。 理解文字段落結構對於精確的內容處理至關重要。 每當段落內的格式發生變化時,即開始新的文本段落。 例如,若某句中有一個WORD以粗體呈現,通常會將其視為三個文字區段:WORD前的文字、WORD本身,以及WORD後的文字。
若要移除段落中的特定格式化內容,請存取 Texts 集合,並透過索引鎖定目標文字區塊。 此範例移除了第一段落中的第三段文字(索引 2),其餘內容保持不變。 此精細控制功能可讓您在保留段落結構的同時,僅移除特定的格式化區段。
:path=/static-assets/word/content-code-examples/how-to/remove-text-text-run.cs
using IronWord;
// Load a DOCX document
WordDocument doc = new WordDocument("sample.docx");
// Remove the first paragraph's third textrun
doc.Paragraphs[0].Texts[2].Remove();
// Export the file
doc.SaveAs("sample_after_textrun_removal.docx");
Imports IronWord
' Load a DOCX document
Dim doc As New WordDocument("sample.docx")
' Remove the first paragraph's third textrun
doc.Paragraphs(0).Texts(2).Remove()
' Export the file
doc.SaveAs("sample_after_textrun_removal.docx")
處理文字段落時,請注意刪除某個文字段落不會影響周邊段落的格式。 每個文字區塊均獨立保留其格式設定。 這使得能夠精準地移除特定格式化的內容,同時不影響剩餘文字的視覺呈現。
移除前的文字區塊會如何處理?
刪除一段文字會如何影響段落格式?
如圖片所示,移除特定文字段落後,剩餘內容的格式完整性仍能維持。 下劃線文字及其他格式設定均保持不變,以展現對文字段落處理的精準度。
如何根據內容而非位置來查找並移除文字?
FindText 方法是根據文字匹配(而非位置)來動態定位並移除內容。 這對於移除文件中任何位置的無效文字、佔位符或特定內容特別有用,即使不知道其確切位置。 此方法會傳回匹配的文字元素,若未找到則傳回 null,因此可在呼叫 Remove 之前透過 null 檢查安全地移除該元素。
此方法對於處理需移除佔位符文字的範本文件,或清理具有已知錯誤模式的文件時,極具價值。 FindText 方法預設執行區分大小寫的搜尋,以確保目標內容能精確匹配。
:path=/static-assets/word/content-code-examples/how-to/remove-text-find.cs
using IronWord;
// Load the document
WordDocument doc = new WordDocument("sample.docx");
// Find and remove erroneous text
var textToRemove = doc.FindText("ERRONEOUS TEXT IS HERE.");
textToRemove?.Remove();
// Save the cleaned document
doc.SaveAs("sample_cleaned.docx");
Imports IronWord
' Load the document
Dim doc As New WordDocument("sample.docx")
' Find and remove erroneous text
Dim textToRemove = doc.FindText("ERRONEOUS TEXT IS HERE.")
textToRemove?.Remove()
' Save the cleaned document
doc.SaveAs("sample_cleaned.docx")
上方的程式碼中,空值條件運算子 (?.) 對於安全執行至關重要。 若未找到該文字,FindText 會傳回 null,而 null 條件運算子會阻止 NullReferenceException 的發生。 此模式能讓您的程式碼在處理文件時更為穩健,尤其當目標文字未必總是存在時。
FindText 如何處理多次出現的情況?
FindText 如何處理重複出現的內容?
使用 FindText 時,請注意它會返回匹配文字的首次出現位置。 若需移除文件中所有特定文字的出現位置,請實作一個迴圈,持續搜尋並移除,直到不再找到任何匹配項目為止。 這種迭代方法可確保在整個文件中徹底移除所有文字。
"尋找並移除"功能在移除文字時,會保留文件中未被移除部分的格式與結構。 段落分隔、周邊文字的格式以及文件樣式均保持不變,這使得在移除不需要的內容時,能安全地維持文件的一致性。
常見問題
如何使用 C# 從 WORD 文件中刪除整段文字?
透過 IronWord,您可以利用索引位置存取 Paragraphs 集合中的段落,並呼叫 Remove() 方法來移除該段落。例如,doc.Paragraphs[1].Remove() 將移除第二個段落(索引 1)。移除後,文件結構會自動調整,後續段落會向上移動以填補空缺。
當我刪除文字時,文件結構會發生什麼變化?
IronWord 在移除文字時,會維持文件的整體格式與結構。剩餘段落將保留原始的顏色與格式屬性,且文件會自動重新排版以消除空白。這確保了在乾淨地移除目標元素的同時,周圍內容的完整性得以保留。
能否僅移除段落中的特定格式化文字,而非整段文字?
是的,IronWord 允許您移除段落中的特定文字區塊。由於段落可能包含多個文字區塊(每個區塊代表格式一致的文字),您可以針對並移除個別區塊,同時保留段落其餘的內容與結構。
WORD 文件中的「文字區段」是什麼?
在 IronWord 中,文字區段代表段落內具有一致格式屬性(如粗體、斜體或顏色)的文字部分。每當段落內的格式發生變化時,便會開始一個新的文字區段。理解文字區段對於處理 Word 文件時進行精確的內容操作至關重要。
從 WORD 文件中刪除文字後,該如何儲存變更?
using IronWord 移除文字後,您可以透過呼叫 SaveAs() 方法來儲存修改後的文件。例如,doc.SaveAs("document_modified.docx") 會將已套用所有移除變更的更新文件儲存下來。此操作會建立一個新檔案,同時保留原始文件。
移除段落是否也會刪除嵌入的內容,例如圖片或超連結?
是的,當您對段落使用 IronWord 的 Remove() 方法時,它會將該段落元素完全從文件結構中移除,包括所有文字區塊、格式設定,以及該段落內任何嵌入的內容(例如圖片或超連結)。

