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

相关推荐
布莱克6051 分钟前
C++ 中 unordered_set 与 unordered_map 有什么不同?一篇讲透
开发语言·c++·哈希
外收内放11 分钟前
FastAPI猜字谜实战(6):日志与异常
开发语言·python·学习·fastapi
垆边人似月.15 分钟前
预处理与参数调优(让识别率从“能看”到“可用”)
开发语言·python·自然语言处理
泡泡糖的中文规格书29 分钟前
HDLbits 2.2 学习笔记 · 多路复用器
java·开发语言
John_Hui32 分钟前
第 3 篇:配置 JDK 17 环境
java·开发语言·ubuntu
czhc114007566336 分钟前
一周概念复盘:预热、漂移与门禁
c#
充值内卷1 小时前
C++单文件迷宫游戏:TauriCPP 开发全记录
开发语言·c++·游戏
Antruly1 小时前
C++ Web 开发选型漫谈:从 Drogon 到 libuvcpp + uvp,八个项目的定位、兼容性与务实排名
开发语言·前端·c++
EnCi Zheng1 小时前
AI Agent工具调用防护层怎么写-一份能直接跑的Python四层拦截实现
大数据·开发语言·python
香蕉大香蕉(06敬畏市场)1 小时前
高频八股 · Java 并发编程(10):异步、ThreadLocal 与虚拟线程(收官)
java·开发语言·网络·jvm·python·ai·实习