使用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 天的试用许可证

相关推荐
林森lsjs15 分钟前
队列 FIFO 原理 & 手撕两种队列实现(链表 + 循环数组)—数据结构陆
java·开发语言·数据结构·队列
何以解忧,唯有..29 分钟前
Python time 模块详解:时间处理与日期操作指南
开发语言·python
caimouse37 分钟前
ReactOS 窗口系统分析(20):光标与图标 — cursoricon.c
c语言·开发语言
longxiaozhang62 小时前
C#运算符重载:让对象也能使用“加减乘除”
开发语言·c#
mounter6252 小时前
GCCRS 突破与 Rust 入核:Linux 工具链的重大变革
linux·开发语言·rust·linux kernel·kernel
Buke..2 小时前
【APP 逆向】哔哩哔哩 sign 参数逆向(上):Frida 反调试绕过与 unidbg 调用
java·开发语言·爬虫·python·安卓
花落人散处3 小时前
C# 核心编程知识点总结:网络编程、委托与事件、异步编程与LINQ
c#
abcefg_h3 小时前
MCP 实战指南:如何在项目中使用 Model Context Protocol 及其通信原理
开发语言·后端·golang·mcp
梦痕长情3 小时前
记一次关于AI在数仓中的应用
开发语言·人工智能·python·ai