Управление заголовками и нижними колонтитулами презентаций в .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 поддерживает заголовки и нижние колонтитулы в раздаточных и заметочных слайдах. Пожалуйста, выполните следующие действия:

  • Загрузите Презентацию с видео.
  • Измените настройки заголовка и нижнего колонтитула для мастер‑страницы заметок и всех слайдов заметок.
  • Сделайте видимыми плейсхолдеры нижнего колонтитула на мастер‑слайде заметок и всех дочерних слайдах.
  • Сделайте видимыми плейсхолдеры даты и времени на мастер‑слайде заметок и всех дочерних слайдах.
  • Измените настройки заголовка и нижнего колонтитула только для первого слайда заметок.
  • Сделайте видимым плейсхолдер заголовка на слайде заметок.
  • Установите текст в плейсхолдер заголовка слайда заметок.
  • Установите текст в плейсхолдер даты и времени слайда заметок.
  • Сохраните изменённый файл презентации.

Пример кода приведён ниже.

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);
}
		
 }

FAQ

Могу ли я добавить “заголовок” к обычным слайдам?

В PowerPoint заголовок существует только для заметок и раздаточных материалов; на обычных слайдах поддерживаются лишь нижний колонтитул, дата/время и номер слайда. В Aspose.Slides действуют те же ограничения: заголовок только для заметок/раздаточных, а на слайдах — нижний колонтитул/дата‑время/номер слайда.

Что если макет не содержит области нижнего колонтитула — могу ли я включить её видимость?

Да. Проверьте видимость через менеджер заголовков/нижних колонтитулов и включите её при необходимости. Эти индикаторы API и методы предназначены для случаев, когда плейсхолдер отсутствует или скрыт.

Как задать начальный номер слайда, отличающийся от 1?

Установите первый номер слайда презентации; после этого нумерация будет пересчитана. Например, можно начать с 0 или 10 и скрыть номер на титульном слайде.

Что происходит с заголовками/нижними колонтитулами при экспорте в PDF/изображения/HTML?

Они отображаются как обычные текстовые элементы презентации. То есть, если элементы видимы на слайдах/страницах заметок, они также появятся в результирующем формате вместе с остальным содержимым.