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,同時還支持其它功能如新建、閱讀、編輯及轉換等。使用時需要注意的是免費版有一定的限制,但我覺得一般情況下個人使用已經足夠了。供有需要的朋友參考。