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

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

相关推荐
朝朝辞暮i4 小时前
C++ 第 23 课:class —— 开始真正进入面向对象
开发语言·c++·算法
小师兄吃牛肉5 小时前
C语言篇:宏
c语言·开发语言
郑同学的笔记5 小时前
【c++随笔28】strcmp 和 memcmp对比
开发语言·c++
未来之窗软件服务5 小时前
C# 截图源码支持自动保存-东方仙盟
c#·仙盟创梦ide·东方仙盟·电脑工具
言乐66 小时前
Python根据无法识别搜索词找出可能输入内容模型
开发语言·python·django·virtualenv·pygame
weixin_307779136 小时前
有限产能智能排产与动态重排智能体:从需求解构到技术实现
开发语言·人工智能·算法·架构
kakakahahahaha6 小时前
Windows C盘临时文件清理:%temp%、Windows Temp、Prefetch、Windows.old与hiberfil.sys处理指南
c语言·开发语言·windows
朝朝辞暮i6 小时前
C++ 第 27 课:智能指针 shared_ptr
开发语言·c++·算法
朝朝辞暮i7 小时前
C++ 第 29 课:回调函数 Callback
开发语言·c++·算法
笨笨饿7 小时前
140_AI新手村MCP与Skills是干嘛的
开发语言·人工智能·python·stm32·单片机·嵌入式硬件·物联网