透過C#在Word中插入或刪除分節符

E-iceblue發表於2024-09-09

在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中插入分節符

主要步驟:

  1. 透過 LoadFromFile() 方法載入 Word 文件。
  2. 使用指定的節中的指定段落。
  3. 使用 InsertSectionBreak() 方法在段落末尾新增分段符。
  4. 使用 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文件中來實現的。
主要步驟如下:

  1. 透過 LoadFromFile() 方法載入原始Word 文件。
  2. 建立一個新的Word文件,並往其中新增一節。
  3. 遍歷原始文件中每一節,並獲取其子物件內容。
  4. 複製獲取到的子物件,然後使用 Section.Body.ChildObjects.Add() 方法將子物件內容新增到新文件中。
  5. 使用 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

相關文章