• Word控件Spire.Doc 【段落处理】教程(三):在 C#、VB.NET 中管理词标题以形成目录


    Word Heading 可以作为 Word 文档中每个部分的标题。本指南演示了管理这些 Word 标题并将它们形成为 C# 和 VB.NET 中的目录的解决方案。

    Spire.Doc for.NET 最新下载icon-default.png?t=M666https://www.evget.com/product/3368/download

    在 Word 文档中,用户可以设置一些内容,例如以下段落的摘要短语,作为标题。这些Word标题可以显示在整个文档的第一页,排列后形成目录,让读者可以得到整个文档的大纲。本指南中的解决方案介绍了如何通过 Spire.Doc for .NET 在 C# 和 VB.NET 中新创建的文档中管理带有编号样式的 Word 标题,下面的屏幕截图显示了管理 Word 标题的结果。

    Heading 是段落的一种样式,Spire.Doc for .NET 为段落提供了几种 BuiltinStyle 类型。在此示例中,将应用三种 BuiltinStyle 类型:Heading1、Heading2 和 Heading3。接下来,将逐步介绍详细信息。

    首先,初始化一个 Document 实例,并为这个实例添加部分、段落。其次,调用带有参数字符串文本的AppendText方法和Paragraph类的ApplyStyle(BuiltinStyle.Heading1)方法来添加文本并为新添加的段落设置标题样式。然后,调用Paragraph 类的ListFromat.ApplyNumberedStyle()方法为其设置编号列表。第三,添加新段落并为其设置 Heading2 样式作为上一步。使用 Numbered ListType初始化文档的ListStyle实例。然后,从 ListStyle 初始化一个ListLevel实例,并为此实例设置UsePrevLevelPattern和NumberPrefix属性。之后,调用Document类的ListStyleCollection.Add(ListStyle)方法和Paragraph类的ListFormat.ApplyStyle方法,参数字符串styleName为Heading2添加ListStyle。第四,添加一个新段落并将BuiltinStyle设置为Heading3,并为该段落应用ListStyle作为上一步。最后,调用 Document 类的 SaveToFile 方法,使用参数字符串 fileName 和 FileFormat 来保存这个文档。参考代码:

    [C#]

    using Spire.Doc;
    using Spire.Doc.Documents;
    
    namespace WordHeading
    {
    class Heading
    {
    static void Main(string[] args)
    {
    //Create Document
    Document document = new Document();
    Section section = document.AddSection();
    Paragraph paragraph
    = section.Paragraphs.Count > 0 ? section.Paragraphs[0] : section.AddParagraph();
    
    //Add Heading 1
    paragraph = section.AddParagraph();
    paragraph.AppendText(BuiltinStyle.Heading1.ToString());
    paragraph.ApplyStyle(BuiltinStyle.Heading1);
    paragraph.ListFormat.ApplyNumberedStyle();
    
    //Add Heading 2
    paragraph = section.AddParagraph();
    paragraph.AppendText(BuiltinStyle.Heading2.ToString());
    paragraph.ApplyStyle(BuiltinStyle.Heading2);
    
    //List Style for Headings 2
    ListStyle listSty2 = new ListStyle(document, ListType.Numbered);
    foreach (ListLevel listLev in listSty2.Levels)
    {
    listLev.UsePrevLevelPattern = true;
    listLev.NumberPrefix = "1.";
    }
    listSty2.Name = "MyStyle2";
    document.ListStyles.Add(listSty2);
    paragraph.ListFormat.ApplyStyle(listSty2.Name);
    
    //Add List Style 3
    ListStyle listSty3 = new ListStyle(document, ListType.Numbered);
    foreach (ListLevel listLev in listSty3.Levels)
    {
    listLev.UsePrevLevelPattern = true;
    listLev.NumberPrefix = "1.1.";
    }
    listSty3.Name = "MyStyle3";
    document.ListStyles.Add(listSty3);
    
    //Add Heading 3
    for (int i = 0; i < 4; i++)
    {
    paragraph = section.AddParagraph();
    
    //Append Text
    paragraph.AppendText(BuiltinStyle.Heading3.ToString());
    
    //Apply List Style 3 for Heading 3
    paragraph.ApplyStyle(BuiltinStyle.Heading3);
    paragraph.ListFormat.ApplyStyle(listSty3.Name);
    }
    
    //Save and Launch
    document.SaveToFile("Word Headings.docx", FileFormat.Docx);
    System.Diagnostics.Process.Start("Word Headings.docx");
    }
    }
    }

    [VB.NET]

    Imports Spire.Doc
    Imports Spire.Doc.Documents
    
    Namespace WordHeading
    Friend Class Heading
    Shared Sub Main(ByVal args() As String)
    'Create Document
    Dim document As New Document()
    Dim section As Section = document.AddSection()
    Dim paragraph As Paragraph = If(section.Paragraphs.Count > 0, section.Paragraphs(0), section.AddParagraph())
    
    'Add Heading 1
    paragraph = section.AddParagraph()
    paragraph.AppendText(BuiltinStyle.Heading1.ToString())
    paragraph.ApplyStyle(BuiltinStyle.Heading1)
    paragraph.ListFormat.ApplyNumberedStyle()
    
    'Add Heading 2
    paragraph = section.AddParagraph()
    paragraph.AppendText(BuiltinStyle.Heading2.ToString())
    paragraph.ApplyStyle(BuiltinStyle.Heading2)
    
    'List Style for Headings 2
    Dim listSty2 As New ListStyle(document, ListType.Numbered)
    For Each listLev As ListLevel In listSty2.Levels
    listLev.UsePrevLevelPattern = True
    listLev.NumberPrefix = "1."
    Next listLev
    listSty2.Name = "MyStyle2"
    document.ListStyles.Add(listSty2)
    paragraph.ListFormat.ApplyStyle(listSty2.Name)
    
    'Add List Style 3
    Dim listSty3 As New ListStyle(document, ListType.Numbered)
    For Each listLev As ListLevel In listSty3.Levels
    listLev.UsePrevLevelPattern = True
    listLev.NumberPrefix = "1.1."
    Next listLev
    listSty3.Name = "MyStyle3"
    document.ListStyles.Add(listSty3)
    
    'Add Heading 3
    For i As Integer = 0 To 3
    paragraph = section.AddParagraph()
    
    'Append Text
    paragraph.AppendText(BuiltinStyle.Heading3.ToString())
    
    'Apply List Style 3 for Heading 3
    paragraph.ApplyStyle(BuiltinStyle.Heading3)
    paragraph.ListFormat.ApplyStyle(listSty3.Name)
    Next i
    
    'Save and Launch
    document.SaveToFile("Word Headings.docx", FileFormat.Docx)
    System.Diagnostics.Process.Start("Word Headings.docx")
    End Sub
    End Class
    End Namespace
    

        欢迎下载|体验更多E-iceblue产品 技术交流Q群(767755948)   

  • 相关阅读:
    PyTorch深度学习笔记之五(使用神经网络拟合数据)
    C实现杨辉三角
    数学之英文写作——基本中英文词汇(几何与三角的常用词汇)
    springboot快速入门一篇文章全
    一口气拿下vue-router所有知识点,薪资暴涨3000
    思泰克在创业板过会:拟募资4亿元,赛富投资、传音控股等为股东
    windows中关闭占用文件的程序
    JavaWeb开发中为什么Controller里面的方法是@RequestMapping?
    2013-2020年全国31省数字经济数据集
    计算机算法设计与分析:随机化算法
  • 原文地址:https://blog.csdn.net/m0_67129275/article/details/126382676