使用C#代码在 Word 中删除页眉或页脚

如果 Word 文档中的页眉或页脚包含不必要的信息,例如过时的版本号、多余的公司标志或错误的作者姓名,删除它们可以使文档看起来更加专业、简洁。本文将介绍如何使用 Spire.Doc for .NETC# 中删除 Word 文档的页眉或页脚。

安装 Spire.Doc for .NET

首先,你需要将 Spire.Doc for .NET 包中包含的 DLL 文件添加为 .NET 项目的引用。这些 DLL 文件可以通过该链接下载,或者通过 NuGet 进行安装。

cs 复制代码
PM> Install-Package Spire.Doc

使用 C# 删除 Word 中的页眉

Spire.Doc for .NET 支持分别获取首页、奇数页和偶数页中的页眉,并可通过 HeaderFooter.ChildObjects.Clear() 方法将它们全部删除。

示例代码如下:

cs 复制代码
using Spire.Doc;
using Spire.Doc.Documents;

namespace RemoveHeader
{
    class Program
    {
        static void Main(string[] args)
        {
            // 创建一个 Document 实例
            Document doc = new Document();

            // 加载 Word 文档
            doc.LoadFromFile("HeaderFooter.docx");

            // 获取第一个节
            Section section = doc.Sections[0];

            // 遍历该节中的所有段落
            foreach (Paragraph para in section.Paragraphs)
            {
                // 遍历每个段落中的所有子对象
                foreach (DocumentObject obj in para.ChildObjects)
                {
                    // 删除首页页眉
                    HeaderFooter header;
                    header = section.HeadersFooters[HeaderFooterType.HeaderFirstPage];
                    if (header != null)
                        header.ChildObjects.Clear();

                    // 删除奇数页页眉
                    header = section.HeadersFooters[HeaderFooterType.HeaderOdd];
                    if (header != null)
                        header.ChildObjects.Clear();

                    // 删除偶数页页眉
                    header = section.HeadersFooters[HeaderFooterType.HeaderEven];
                    if (header != null)
                        header.ChildObjects.Clear();
                }
            }

            // 保存结果文档
            doc.SaveToFile("RemoveHeader.docx", FileFormat.Docx);
        }
    }
}

使用 C# 删除 Word 中的页脚

删除页脚的方式与删除页眉类似,同样可以先获取不同页面上的页脚,然后一次性将它们删除。

示例代码如下:

cs 复制代码
using Spire.Doc;
using Spire.Doc.Documents;

namespace RemoveHeader
{
    class Program
    {
        static void Main(string[] args)
        {
            // 创建一个 Document 实例
            Document doc = new Document();

            // 加载 Word 文档
            doc.LoadFromFile("HeaderFooter.docx");

            // 获取第一个节
            Section section = doc.Sections[0];

            // 遍历该节中的所有段落
            foreach (Paragraph para in section.Paragraphs)
            {
                // 遍历每个段落中的所有子对象
                foreach (DocumentObject obj in para.ChildObjects)
                {
                    // 删除首页页脚
                    HeaderFooter footer;
                    footer = section.HeadersFooters[HeaderFooterType.FooterFirstPage];
                    if (footer != null)
                        footer.ChildObjects.Clear();

                    // 删除奇数页页脚
                    footer = section.HeadersFooters[HeaderFooterType.FooterOdd];
                    if (footer != null)
                        footer.ChildObjects.Clear();

                    // 删除偶数页页脚
                    footer = section.HeadersFooters[HeaderFooterType.FooterEven];
                    if (footer != null)
                        footer.ChildObjects.Clear();
                }
            }

            // 保存结果文档
            doc.SaveToFile("RemoveFooter.docx", FileFormat.Docx);
        }
    }
}

申请临时许可证

如果你希望移除生成文档中的评估提示信息,或解除功能限制,请为自己申请一个 30 天的试用许可证

相关推荐
Leighteen15 小时前
`try-finally` 里的 `return`:为什么 `finally` 会悄悄改掉返回值、吞掉异常
java·开发语言
05664615 小时前
Python康复训练——控制流与函数
开发语言·python·学习
峥无15 小时前
C++11 深度详解:现代 C++ 基石全梳理
开发语言·c++·笔记
阿米亚波15 小时前
【C++ STL】std::unordered_multimap
开发语言·数据结构·c++·笔记·stl
SomeB1oody16 小时前
【RustyML入门】1.0. 快速上手
开发语言·后端·机器学习·rust·教程
狗凯之家源码网16 小时前
短剧系统搭建实战:源码功能与商业变现效果全景展示
开发语言·php
caishenzhibiao16 小时前
期货先行者主图 同花顺期货通指标
java·c语言·c#
库拉库拉里16 小时前
Word文档的标题总是自动出现首行缩进怎么办?
c#·word·xhtml
在世修行16 小时前
从零打造 C# 工业视觉检测系统(一):项目全景与架构设计
c#·视觉检测
易筋紫容17 小时前
创建型模式:对象的诞生艺术
开发语言·前端·javascript