在Word中,分節符是一種強大的工具,用於將文件分成不同的部分,每個部分可以有獨立的頁面設定,如頁邊距、紙張方向、頁首和頁尾等。正確使用分節符可以極大地提升文件的組織性和專業性,特別是在長文件中,需要在不同部分應用不同的樣式時。本文將介紹如何使用一個免費的.NET庫透過C#實現插入或刪除Word分節符。
免費.NET Word庫
Free Spire.Doc for .NET 是一款免費的用於對 Word 文件進行操作的 .NET類庫,適用於商業或個人用途(但有一定頁數限制)。
安裝:
我們可以直接在Visual Studio中透過NuGet搜尋 “FreeSpire.Doc”,然後點選“安裝”將其引用到程式中。或者透過該連結下載產品包,解壓後再手動將dll檔案新增引用至程式。
Word分節符型別
在Spire.Doc for .NET中,Paragraph.InsertSectionBreak(SectionBreakType breakType) 方法用於在段落中插入分節符。 其中SectionBreakType列舉中包含的幾種分節符型別如下:
- SectionBreakType.NoBreak:表示連續分節符,即新節的內容將緊接著當前頁的內容開始,無需新的一頁。適用於在同一頁面內分隔不同部分的情況。
- SectionBreakType.NewPage:表示下一頁分節符,即新節將從下一頁開始。
- SectionBreakType.OddPage:表示奇數頁分節符,即新節將從下一個奇數頁上開始。
- SectionBreakType.EvenPage:表示偶數頁分節符,即新節將從下一個偶數頁上開始。
- SectionBreakType.NewColumn:適用於多欄的文件,新節將從下一欄開始。
API參考連結:https://www.e-iceblue.com/apireference/net/Spire.Doc/html/T_Spire_Doc_Documents_SectionBreakType.htm
C# 在Word中插入分節符
主要步驟:
- 透過
LoadFromFile()
方法載入 Word 文件。 - 使用指定的節中的指定段落。
- 使用
InsertSectionBreak()
方法在段落末尾新增分段符。 - 使用
SaveToFile()
方法儲存結果文件。
示例程式碼:
using Spire.Doc; using Spire.Doc.Documents; namespace InsertSectionBreak { class Program { static void Main(string[] args) { //載入Word文件 Document doc = new Document(); doc.LoadFromFile("南極洲.docx"); //獲取第一節 Section sec = doc.Sections[0]; //獲取該節中第一個段落 Paragraph para = sec.Paragraphs[0]; //插入連續分節符 para.InsertSectionBreak(SectionBreakType.NoBreak); //儲存檔案 doc.SaveToFile("連續分節符.docx", FileFormat.Docx); } } }
插入連續分節符:
C# 刪除Word中的分節符
本示例刪除所有分節符的操作是透過將原始Word文件每一節中的內容複製到新建Word文件中來實現的。
主要步驟如下:
- 透過 LoadFromFile() 方法載入原始Word 文件。
- 建立一個新的Word文件,並往其中新增一節。
- 遍歷原始文件中每一節,並獲取其子物件內容。
- 複製獲取到的子物件,然後使用 Section.Body.ChildObjects.Add() 方法將子物件內容新增到新文件中。
- 使用 SaveToFile() 方法儲存新Word文件。
示例程式碼:
using Spire.Doc; namespace DeleteSectionBreak { class Program { static void Main(string[] args) { //載入原始Word文件 Document doc = new Document(); doc.LoadFromFile("實驗.docx"); //建立新Word文件 Document NewDoc = new Document(); //新增一節 Section sec = NewDoc.AddSection(); //遍歷原始文件中所有節 for (int i = 0; i < doc.Sections.Count; i++) { //獲取當前節 Section section = doc.Sections[i]; //遍歷該節中所有子物件 for (int j = 0; j < section.Body.ChildObjects.Count; j++) { //獲取子物件並複製到新文件中 DocumentObject obj = section.Body.ChildObjects[j]; sec.Body.ChildObjects.Add(obj.Clone()); } } //儲存新文件 NewDoc.SaveToFile("刪除分節符.docx", FileFormat.Docx); } } }
效果圖:
該免費.NET Word庫也支援操作分頁符、頁邊距、頁首頁尾的等各項頁面設定,更多示例可點選檢視:
https://www.e-iceblue.cn/spiredoc/spire-doc-for-net-program-guide-content.html