在 .NET 中管理演示文稿的页眉和页脚

Aspose.Slides for .NET 提供在演示文稿幻灯片中管理页眉和页脚的功能。这些实际上在演示文稿母版级别进行管理。

管理页眉和页脚文本

可以按下面示例更新某些特定幻灯片的备注:

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

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

// 访问并更新页眉
IMasterNotesSlide masterNotesSlide = pres.MasterNotesSlideManager.MasterNotesSlide;
if (null != masterNotesSlide)
{
	UpdateHeaderFooterText(masterNotesSlide);
}

// 保存演示文稿
pres.Save("HeaderFooterJava.pptx", SaveFormat.Pptx);
// 设置页眉/页脚文本
public static void UpdateHeaderFooterText(IBaseSlide master)
{
    foreach (IShape shape in master.Shapes)
    {
        if (shape.Placeholder != null)
        {
            if (shape.Placeholder.Type == PlaceholderType.Header)
            {
                ((IAutoShape)shape).TextFrame.Text = "HI there new header";
            }
        }
    }
}

在讲义和备注幻灯片上管理页眉和页脚

Aspose.Slides for .NET 支持在讲义和备注幻灯片中使用页眉和页脚。请按照以下步骤操作:

  • 加载包含视频的Presentation
  • 更改备注母版及所有备注幻灯片的页眉和页脚设置。
  • 使母版备注幻灯片及所有子页脚占位符可见。
  • 使母版备注幻灯片及所有子日期和时间占位符可见。
  • 仅更改第一张备注幻灯片的页眉和页脚设置。
  • 使备注幻灯片的页眉占位符可见。
  • 为备注幻灯片的页眉占位符设置文本。
  • 为备注幻灯片的日期时间占位符设置文本。
  • 写入修改后的演示文稿文件。

下面示例中提供了代码片段。

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

		headerFooterManager.SetHeaderAndChildHeadersVisibility(true); // 使母版备注幻灯片及所有子页脚占位符可见
		headerFooterManager.SetFooterAndChildFootersVisibility(true); // 使母版备注幻灯片及所有子页眉占位符可见
		headerFooterManager.SetSlideNumberAndChildSlideNumbersVisibility(true); // 使母版备注幻灯片及所有子幻灯片编号占位符可见
		headerFooterManager.SetDateTimeAndChildDateTimesVisibility(true); // 使母版备注幻灯片及所有子日期和时间占位符可见

		headerFooterManager.SetHeaderAndChildHeadersText("Header text"); // 将文本设置到母版备注幻灯片及所有子页眉占位符
		headerFooterManager.SetFooterAndChildFootersText("Footer text"); // 将文本设置到母版备注幻灯片及所有子页脚占位符
		headerFooterManager.SetDateTimeAndChildDateTimesText("Date and time text"); // 将文本设置到母版备注幻灯片及所有子日期和时间占位符
	}

	// 仅更改第一张备注幻灯片的页眉和页脚设置
	INotesSlide notesSlide = presentation.Slides[0].NotesSlideManager.NotesSlide;
	if (notesSlide != null)
	{
		INotesSlideHeaderFooterManager headerFooterManager = notesSlide.HeaderFooterManager;
		if (!headerFooterManager.IsHeaderVisible)
			headerFooterManager.SetHeaderVisibility(true); // 使此备注幻灯片的页眉占位符可见

		if (!headerFooterManager.IsFooterVisible)
			headerFooterManager.SetFooterVisibility(true); // 使此备注幻灯片的页脚占位符可见

		if (!headerFooterManager.IsSlideNumberVisible)
			headerFooterManager.SetSlideNumberVisibility(true); // 使此备注幻灯片的幻灯片编号占位符可见

		if (!headerFooterManager.IsDateTimeVisible)
			headerFooterManager.SetDateTimeVisibility(true); // 使此备注幻灯片的日期时间占位符可见

		headerFooterManager.SetHeaderText("New header text"); // 将文本设置到备注幻灯片的页眉占位符
		headerFooterManager.SetFooterText("New footer text"); // 将文本设置到备注幻灯片的页脚占位符
		headerFooterManager.SetDateTimeText("New date and time text"); // 将文本设置到备注幻灯片的日期时间占位符
	}
	presentation.Save("testresult.pptx",SaveFormat.Pptx);
}
		
 }

常见问题

我可以在普通幻灯片上添加“页眉”吗?

在 PowerPoint 中,“页眉”仅在备注和讲义中存在;在普通幻灯片上,支持的元素是页脚、日期/时间和幻灯片编号。在 Aspose.Slides 中这也遵循相同的限制:页眉仅用于备注/讲义,而幻灯片上支持页脚/日期时间/幻灯片编号。

如果布局不包含页脚区域,我可以“打开”其可见性吗?

是的。通过页眉/页脚管理器检查可见性,并在需要时启用它。这些 API 指示器和方法专为占位符缺失或隐藏的情况设计。

如何使幻灯片编号从除 1 之外的值开始?

设置演示文稿的第一页编号;之后,所有编号会重新计算。例如,您可以从 0 或 10 开始,并在标题幻灯片上隐藏编号。

导出为 PDF/图像/HTML 时,页眉/页脚会怎样?

它们会作为演示文稿的普通文本元素进行渲染。也就是说,如果这些元素在幻灯片/备注页面上可见,它们也会随其他内容一起出现在输出格式中。