分页符是分页的一种符号,上一页结束以及下一页开始的位置。通查用于在指定位置强制分页。本文将分为两部分来介绍如何在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路径,仅供参考,文件路径可自定义为其他路径。

最新文章

  1. Tomcat 配置详解/优化方案
  2. jquery取值
  3. uri不能处理结尾为点的url的问题
  4. 转载网页博客:ie7bug:div容器下的img与div存在间隙
  5. 如何参与一个GitHub开源项目
  6. button元素兼容问题浅析
  7. wireshark教程
  8. Python基础——输出[print()]与输入[input()]
  9. 使用 Canal 实现数据异构
  10. js 小数取整数
  11. Debian/Ubuntu清理硬盘空间的8个技巧
  12. 在IIS6中FLV不能播放
  13. webapi Route 特性
  14. 给radio加自己的样式(图片)
  15. 查询总结、HQL语法、QBC(QueryByCriteria)深入学习
  16. appium 重新启动apk
  17. 在Windows10中更改”WIN+E“快捷键打开目标
  18. 反射 XMLUtil
  19. vue面试题!!!
  20. 19、Semantic-UI之图片的动画效果

热门文章

  1. ByDesign各版本区别
  2. Future源码一观-JUC系列
  3. 最优化:凸集、凸函数、KKT条件极其解释
  4. ubuntu20.04安装测试uhttpd
  5. skip-host-cache skip-name-resolve
  6. java面试题(2022最新)
  7. 常用的函数式接口_Predicate接口_默认方法and和Predicate接口练习_集合接口筛选
  8. python开发环境配置(Windows)
  9. CC2530_ZigBee+华为云IOT:设计一套属于自己的冷链采集系统
  10. 如何基于WPF写一款数据库文档管理工具(二)