HeaderFooterCollection

HeaderFooterCollection class

提供对HeaderFootera的节点 部分.

public class HeaderFooterCollection : NodeCollection

特性

姓名 描述
Count { get; } 获取集合中的节点数。
Item { get; } 检索一个 页眉页脚在给定的索引处。 (3 indexers)

方法

姓名 描述
Add(Node) 将一个节点添加到集合的末尾。
Clear() 从此集合和文档中删除所有节点。
Contains(Node) 确定一个节点是否在集合中。
GetEnumerator() 在节点集合上提供简单的“foreach”样式迭代。
IndexOf(Node) 返回指定节点的从零开始的索引。
Insert(int, Node) 将一个节点插入到集合中指定索引处。
LinkToPrevious(bool) 将所有页眉和页脚链接或取消链接到上一节中对应的 页眉和页脚。
LinkToPrevious(HeaderFooterType, bool) 将指定的页眉或页脚链接或取消链接到上一节中对应的 页眉或页脚。
Remove(Node) 从集合和文档中删除节点。
RemoveAt(int) 从集合和文档中删除指定索引处的节点。
ToArray() 复制所有页眉页脚 从集合到一个新的数组页眉页脚s. (2 methods)

评论

最多可以有一个 页眉页脚

每个HeaderFooterTypeper 部分.

页眉页脚对象可以在集合中以任何顺序出现。

例子

显示如何从文档中删除所有页脚。

Document doc = new Document(MyDir + "Header and footer types.docx");

// 遍历每个部分并删除各种页脚。
foreach (Section section in doc.OfType<Section>())
{
    // 共有三种页脚和页眉类型。
    // 1 - “第一个”页眉/页脚,仅出现在部分的第一页上。
    HeaderFooter footer = section.HeadersFooters[HeaderFooterType.FooterFirst];
    footer?.Remove();

    // 2 - “主要”页眉/页脚,出现在奇数页上。
    footer = section.HeadersFooters[HeaderFooterType.FooterPrimary];
    footer?.Remove();

     // 3 - “偶数”页眉/页脚,出现在偶数页上。
    footer = section.HeadersFooters[HeaderFooterType.FooterEven];
    footer?.Remove();

    Assert.AreEqual(0, section.HeadersFooters.Count(hf => !((HeaderFooter)hf).IsHeader));
}

doc.Save(ArtifactsDir + "HeaderFooter.RemoveFooters.docx");

显示如何创建页眉和页脚。

Document doc = new Document();

// 创建一个标题并在其上附加一个段落。该段中的文字
// 将出现在本节每一页的顶部,主体文本上方。
HeaderFooter header = new HeaderFooter(doc, HeaderFooterType.HeaderPrimary);
doc.FirstSection.HeadersFooters.Add(header);

Paragraph para = header.AppendParagraph("My header.");

Assert.True(header.IsHeader);
Assert.True(para.IsEndOfHeaderFooter);

// 创建一个页脚并向其附加一个段落。该段中的文字
// 将出现在本节每一页的底部,主体文本下方。
HeaderFooter footer = new HeaderFooter(doc, HeaderFooterType.FooterPrimary);
doc.FirstSection.HeadersFooters.Add(footer);

para = footer.AppendParagraph("My footer.");

Assert.False(footer.IsHeader);
Assert.True(para.IsEndOfHeaderFooter);

Assert.AreEqual(footer, para.ParentStory);
Assert.AreEqual(footer.ParentSection, para.ParentSection);
Assert.AreEqual(footer.ParentSection, header.ParentSection);

doc.Save(ArtifactsDir + "HeaderFooter.Create.docx");

也可以看看