C# 插入或刪除word分頁符


C# 插入或刪除word分頁符

分頁符是word中常用的一種分頁的符號,它標志着上一頁的結束和下一頁的開始。在word中分頁符有兩種,一種是自動分頁符,也叫軟分頁符,即一頁數據寫滿以后轉到下一頁時word自動插入的一個分頁符;另一種是手動分頁符,也稱為硬分頁符,通常用於在指定位置強制分頁。插入手動分頁符可以方便打印,但很多時候手動分頁符也會影響整個文檔的排版問題,這時就需要移除分頁符。其實有很多種方法可以實現在word中插入或刪除手動分頁符,就不一 一介紹了,這里主要分享一下如何使用C#來完成這一功能(如果需要VB.NET代碼可以去谷歌搜索C# to VB.NET轉換就可以了)。

第一部分:插入分頁符

步驟1新建一個控制台項目並添加引用和命名空間

using Spire.Doc;
using Spire.Doc.Documents;

 

步驟2新建一個word文檔對象並加載需要插入分頁符的文檔

Document document = new Document();
document.LoadFromFile(@"C:\Users\Administrator\Desktop\法國旅游景點介紹.docx");

 

步驟3在指定的位置添加分頁符

document.Sections[0].Paragraphs[1].AppendBreak(BreakType.PageBreak);

 

步驟4保存並重啟文檔

document.SaveToFile("分頁符.docx", FileFormat.Docx2010);
System.Diagnostics.Process.Start("分頁符.docx");

 

原文檔截圖:

                     

與效果圖對比:

這里我將輸出的word文檔視圖改為雙頁視圖方便對比。

 

第二部分:刪除分頁符

步驟1與第一部分步驟2一樣,新建一個word文檔對象並加載待刪除分頁符的文檔

Document document = new Document();
document.LoadFromFile("分頁符.docx");

 

步驟2遍歷文檔中第一個section的所有段落,找到分頁符並將其刪除。

for (int j = 0; j < document.Sections[0].Paragraphs.Count; j++)
            {
                Paragraph p = document.Sections[0].Paragraphs[j];
                for (int i = 0; i < p.ChildObjects.Count; i++)
                {
                    DocumentObject obj = p.ChildObjects[i];
                    if (obj.DocumentObjectType == DocumentObjectType.Break)
                    {
                        Break b = obj as Break;
                        p.ChildObjects.Remove(b);
                    }
                }
            }

 

步驟3保存並重啟文檔

document.SaveToFile("移除分頁符.docx", FileFormat.Docx2010);
System.Diagnostics.Process.Start("移除分頁符.docx");

 

全部代碼整合參考

using Spire.Doc;
using Spire.Doc.Documents;

namespace insert_and_remove_page_break_in_word
{
    class Program
    {
        static void Main(string[] args)
        {
            Document document = new Document();
            document.LoadFromFile(@"C:\Users\Administrator\Desktop\文件A.docx");

            //在指定位置插入分頁符
            document.Sections[0].Paragraphs[1].AppendBreak(BreakType.PageBreak);

            //移除分頁符
            /*for (int j = 0; j < document.Sections[0].Paragraphs.Count; j++)
            {
                Paragraph p = document.Sections[0].Paragraphs[j];
                for (int i = 0; i < p.ChildObjects.Count; i++)
                {
                    DocumentObject obj = p.ChildObjects[i];
                    if (obj.DocumentObjectType == DocumentObjectType.Break)
                    {
                        Break b = obj as Break;
                        p.ChildObjects.Remove(b);
                    }
                }
            }*/

            document.SaveToFile("文件B.docx", FileFormat.Docx2010);
            System.Diagnostics.Process.Start("文件B.docx");
        }
    }
}

 

總結:

在這個方案中我使用了E-iceblue公司的免費Word控件,它方便易用,而且運行不依賴office,同時還支持其它功能如新建、閱讀、編輯及轉換等。使用時需要注意的是免費版有一定的限制,但我覺得一般情況下個人使用已經足夠了。供有需要的朋友參考。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM