Carina-baby

C#/VB.NET 在Word文档中插入分页符

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

 

 

 

 

posted on 2022-09-14 17:39  Carina-baby  阅读(612)  评论(0编辑  收藏  举报

导航