分页符是分页的一种符号,上一页结束以及下一页开始的位置。通查用于在指定位置强制分页。本文将分为两部分来介绍如何在Word文档中插入分页符。并附上C#/VB.NET以供参考,详情请阅读以下内容。
- 在特定段落后插入分页符
- 在特定文本后插入分页符
程序环境
本次测试时,在程序中引入Free Spire.Doc for .NET。可通过以下方法引用Spire.Doc.dll文件:
方法1:将 Free Spire.Doc for .NET 下载到本地,解压,安装。安装完成后,找到安装路径下BIN文件夹中的Spire.Doc.dll。然后在Visual Studio中打开“解决方案资源管理器”,鼠标右键点击“引用”,“添加引用”,将本地路径BIN文件夹下的dll文件添加引用至程序。
方法2:通过NuGet安装。可通过以下2种方法安装:
(1)可以在Visual Studio中打开“解决方案资源管理器”,鼠标右键点击“引用”,“管理NuGet包”,然后搜索“Free Spire.Doc”,点击“安装”。等待程序安装完成。
(2)将以下内容复制到PM控制台安装。
Install-Package FreeSpire.Doc -Version 10.8.0
在特定段落后插入分页符
具体步骤:
- 创建一个 Document 实例。
-
使用 Document.LoadFromFile() 方法加载 Word 文档。
-
使用 Document.Sections[sectionIndex] 属性获取所需的节。
-
使用 Section.Paragraphs[paragraphIndex] 属性获取所需的段落。
-
使用 Paragraph.AppendBreak(BreakType.PageBreak) 方法为段落添加分页符。
-
使用 Document.SaveToFile() 方法保存结果文档。
完整代码
【C#】
using Spire.Doc; using Spire.Doc.Documents; namespace InsertPageBreakAfterParagraph { class Program { static void Main(string[] args) { //创建一个Document实例 Document document = new Document(); //加载Word文档 document.LoadFromFile("小王子.docx"); //获取第一个节 Section section = document.Sections[0]; //获取该节的第二段 Paragraph paragraph = section.Paragraphs[1]; //在段落中附加分页符 paragraph.AppendBreak(BreakType.PageBreak); //保存结果文档 document.SaveToFile("插入分页符.docx", FileFormat.Docx2013); } } }
【VB.NET】
Imports Spire.Doc Imports Spire.Doc.Documents Namespace InsertPageBreakAfterParagraph Friend Class Program Private Shared Sub Main(ByVal args As String()) '创建一个Document实例 Dim document As Document = New Document() '加载Word文档 document.LoadFromFile("小王子.docx") '获取第一个节 Dim section As Section = document.Sections(0) '获取该节的第二段 Dim paragraph As Paragraph = section.Paragraphs(1) '在段落中附加分页符 paragraph.AppendBreak(BreakType.PageBreak) '保存结果文档 document.SaveToFile("插入分页符.docx", FileFormat.Docx2013) End Sub End Class End Namespace
效果图
在特定文本后插入分页符
- 创建一个 Document 实例。
- 使用 Document.LoadFromFile() 方法加载 Word 文档。
- 使用 Document.FindString() 方法查找特定文本。
- 使用 TextSelection.GetAsOneRange() 方法访问搜索文本的文本范围。
- 使用 ParagraphBase.OwnerParagraph 属性获取文本范围所在的段落。
- 使用 Paragraph.ChildObjects.IndexOf() 方法获取段落中文本范围的位置索引。
- 初始化 Break 类的实例以创建分页符。
- 使用 Paragraph.ChildObjects.Insert() 方法在搜索文本后插入分页符。
- 使用 Document.SaveToFile() 方法保存结果文档。
完整代码
【C#】
using Spire.Doc; using Spire.Doc.Documents; using Spire.Doc.Fields; namespace InsertPageBreakAfterText { class Program { static void Main(string[] args) { //创建一个Document实例 Document document = new Document(); //加载 Word 文档 document.LoadFromFile("小王子.docx"); //查找特定文本 TextSelection selection = document.FindString("宝贵人生财富", true, true); //访问搜索文本的文本范围 TextRange range = selection.GetAsOneRange(); //获取文本范围所在的段落 Paragraph paragraph = range.OwnerParagraph; //获取段落中文本范围的位置索引 int index = paragraph.ChildObjects.IndexOf(range); //创建分页符 Break pageBreak = new Break(document, BreakType.PageBreak); //在搜索文本后插入分页符 paragraph.ChildObjects.Insert(index + 1, pageBreak); //保存结果文档 document.SaveToFile("在特定文本后插入分页符.docx", FileFormat.Docx2013); } } }
【VB.NET】
Imports Spire.Doc Imports Spire.Doc.Documents Imports Spire.Doc.Fields Namespace InsertPageBreakAfterText Friend Class Program Private Shared Sub Main(ByVal args As String()) '创建一个Document实例 Dim document As Document = New Document() '加载 Word 文档 document.LoadFromFile("小王子.docx") '查找特定文本 Dim selection As TextSelection = document.FindString("宝贵人生财富", True, True) '访问搜索文本的文本范围 Dim range As TextRange = selection.GetAsOneRange() '获取文本范围所在的段落 Dim paragraph As Paragraph = range.OwnerParagraph '获取段落中文本范围的位置索引 Dim index As Integer = paragraph.ChildObjects.IndexOf(range) '创建分页符 Dim pageBreak As Break = New Break(document, BreakType.PageBreak) '在搜索文本后插入分页符 paragraph.ChildObjects.Insert(index + 1, pageBreak) '保存结果文档 document.SaveToFile("在特定文本后插入分页符.docx", FileFormat.Docx2013) End Sub End Class End Namespace
效果图
注意:测试代码中的文件路径为程序Debug路径,仅供参考,文件路径可自定义为其他路径。