在 PowerPoint C# 中添加页眉和页脚

PowerPoint 演示文稿中的页眉和页脚用于显示幻灯片编号、作者、日期等附加信息。在本文中,您将学习如何使用 C# 以编程方式在 PowerPoint PPTX/PPT 演示文稿中添加和管理页眉和页脚。

为了在 PowerPoint 演示文稿中使用页眉和页脚,我们将使用 Aspose.Slides for .NET。它是一个 .NET 类库,可让您创建和操作 PowerPoint 和 OpenOffice 文档。您可以从 下载 部分下载 API 的 DLL。此外,API 可以通过 NuGet 安装。

PM> Install-Package Aspose.Slides.NET

以下是使用 C# 在 PowerPoint 演示文稿中添加页眉和页脚的步骤。

下面的代码示例演示如何在 PowerPoint 演示文稿中添加页眉和页脚。

// 加载演示文稿
Presentation pres = new Presentation("headerTest.pptx");

// 设置页脚
pres.HeaderFooterManager.SetAllFootersText("My Footer text");
pres.HeaderFooterManager.SetAllFootersVisibility(true);

// 访问和更新标题
IMasterNotesSlide masterNotesSlide = pres.MasterNotesSlideManager.MasterNotesSlide;
if (null != masterNotesSlide)
{
    foreach (IShape shape in masterNotesSlide.Shapes)
    {
        if (shape.Placeholder != null)
        {
            if (shape.Placeholder.Type == PlaceholderType.Header)
            {
                ((IAutoShape)shape).TextFrame.Text = "HI there new header";
            }
        }
    }
}

// 保存演示文稿
pres.Save("HeaderFooter.pptx", SaveFormat.Pptx);

Aspose.Slides for .NET 还允许您在讲义和注释幻灯片中设置页眉和页脚。为此,您可以在主备注幻灯片或单个幻灯片中应用更改。以下部分涵盖了这两种情况。

以下代码示例展示了如何使用 C# 更改笔记主控中的页眉和页脚。

using (Presentation presentation = new Presentation("presentation.pptx"))
{
	// 更改笔记母版和所有笔记幻灯片的页眉和页脚设置
	IMasterNotesSlide masterNotesSlide = presentation.MasterNotesSlideManager.MasterNotesSlide;
	if (masterNotesSlide != null)
	{
		IMasterNotesSlideHeaderFooterManager headerFooterManager = masterNotesSlide.HeaderFooterManager;

		headerFooterManager.SetHeaderAndChildHeadersVisibility(true); // make the master notes slide and all child Footer placeholders visible
		headerFooterManager.SetFooterAndChildFootersVisibility(true); // make the master notes slide and all child Header placeholders visible
		headerFooterManager.SetSlideNumberAndChildSlideNumbersVisibility(true); // make the master notes slide and all child SlideNumber placeholders visible
		headerFooterManager.SetDateTimeAndChildDateTimesVisibility(true); // make the master notes slide and all child Date and time placeholders visible

		headerFooterManager.SetHeaderAndChildHeadersText("Header text"); // set text to master notes slide and all child Header placeholders
		headerFooterManager.SetFooterAndChildFootersText("Footer text"); // set text to master notes slide and all child Footer placeholders
		headerFooterManager.SetDateTimeAndChildDateTimesText("Date and time text"); // set text to master notes slide and all child Date and time placeholders
	}
  	// 保存演示文稿
	presentation.Save("testresult.pptx",SaveFormat.Pptx);
}

以下代码示例演示如何使用 C# 更改备注幻灯片中的页眉和页脚。

// 加载演示文稿
using (Presentation presentation = new Presentation("presentation.pptx"))
{
	// 仅更改第一个注释幻灯片的页眉和页脚设置
	INotesSlide notesSlide = presentation.Slides[0].NotesSlideManager.NotesSlide;
	if (notesSlide != null)
	{
		INotesSlideHeaderFooterManager headerFooterManager = notesSlide.HeaderFooterManager;
		if (!headerFooterManager.IsHeaderVisible)
			headerFooterManager.SetHeaderVisibility(true); // make this notes slide Header placeholder visible

		if (!headerFooterManager.IsFooterVisible)
			headerFooterManager.SetFooterVisibility(true); // make this notes slide Footer placeholder visible

		if (!headerFooterManager.IsSlideNumberVisible)
			headerFooterManager.SetSlideNumberVisibility(true); // make this notes slide SlideNumber placeholder visible

		if (!headerFooterManager.IsDateTimeVisible)
			headerFooterManager.SetDateTimeVisibility(true); // make this notes slide Date-time placeholder visible

		headerFooterManager.SetHeaderText("New header text"); // set text to notes slide Header placeholder
		headerFooterManager.SetFooterText("New footer text"); // set text to notes slide Footer placeholder
		headerFooterManager.SetDateTimeText("New date and time text"); // set text to notes slide Date-time placeholder
	}
  	// 保存演示文稿
	presentation.Save("testresult.pptx",SaveFormat.Pptx);
}

获取免费 API 许可证

获得免费的 临时许可证 以在没有评估限制的情况下使用 Aspose.Slides for .NET。

结论

在本文中,您学习了如何使用 C# 在 PowerPoint 演示文稿中添加页眉和页脚。此外,您还了解了如何以编程方式更改笔记幻灯片中的页眉和页脚。此外,您可以浏览 文档 以了解有关 Aspose.Slides for .NET 的更多信息。此外,您可以通过我们的 论坛 提问。

也可以看看