Применение или изменение макетов слайдов на Android
Обзор
Макет слайда определяет расположение блоков заполнителей и форматирование содержимого на слайде. Он контролирует, какие заполнители доступны и где они располагаются. Макеты слайдов помогают быстро и последовательно создавать презентации — независимо от того, создаёте ли вы что‑то простое или более сложное. Некоторые из самых распространённых макетов слайдов в PowerPoint включают:
Макет титульного слайда – Включает два текстовых заполнителя: один для заголовка и один для подзаголовка.
Макет «Заголовок и содержание» – Содержит меньший заполнитель заголовка вверху и более крупный ниже для основного содержимого (например, текста, маркеров, диаграмм, изображений и т.д.).
Пустой макет – Не содержит заполнителей, предоставляя вам полный контроль для создания слайда с нуля.
Макеты слайдов являются частью шаблона слайда (slide master), который является слайдом верхнего уровня и определяет стили макетов для презентации. Вы можете получать доступ к макетам слайдов и изменять их через шаблон слайда — по типу, имени или уникальному идентификатору. Кроме того, можно отредактировать конкретный макет слайда непосредственно в презентации.
Для работы с макетами слайдов в Aspose.Slides for Android вы можете использовать:
- Методы, такие как getLayoutSlides и getMasters в классе Presentation
- Типы, такие как ILayoutSlide, IMasterLayoutSlideCollection, ILayoutPlaceholderManager, и ILayoutSlideHeaderFooterManager
Info
Чтобы узнать больше о работе с шаблонами слайдов, ознакомьтесь со статьёй Slide Master .Добавление макетов слайдов в презентации
Чтобы настроить внешний вид и структуру ваших слайдов, возможно, потребуется добавить новые макеты слайдов в презентацию. Aspose.Slides for Android позволяет проверить, существует ли уже конкретный макет, добавить новый при необходимости и использовать его для вставки слайдов на основе этого макета.
- Создайте экземпляр класса Presentation .
- Получите доступ к IMasterLayoutSlideCollection .
- Проверьте, существует ли желаемый макет слайда в коллекции. Если нет, добавьте необходимый макет слайда.
- Добавьте пустой слайд на основе нового макета слайда.
- Сохраните презентацию.
Следующий код Java демонстрирует, как добавить макет слайда в презентацию PowerPoint:
// Создайте экземпляр класса Presentation, представляющего файл PowerPoint.
Presentation presentation = new Presentation("Sample.pptx");
try {
// Пройдите по типам макетных слайдов, чтобы выбрать макетный слайд.
IMasterLayoutSlideCollection layoutSlides = presentation.getMasters().get_Item(0).getLayoutSlides();
ILayoutSlide layoutSlide = null;
if (layoutSlides.getByType(SlideLayoutType.TitleAndObject) != null)
layoutSlide = layoutSlides.getByType(SlideLayoutType.TitleAndObject);
else
layoutSlide = layoutSlides.getByType(SlideLayoutType.Title);
if (layoutSlide == null) {
// Ситуация, когда презентация не содержит всех типов макетов.
// Файл презентации содержит только типы макетов Blank и Custom.
// Однако макетные слайды с пользовательскими типами могут иметь узнаваемые имена,
// такие как "Title", "Title and Content" и т.д., которые могут быть использованы для выбора макетного слайда.
// Вы также можете опираться на набор типов заполнителей формы.
// Например, слайд Title должен иметь только заполнитель Title и т.д.
for (ILayoutSlide titleAndObjectLayoutSlide : layoutSlides) {
if (titleAndObjectLayoutSlide.getName().equals("Title and Object")) {
layoutSlide = titleAndObjectLayoutSlide;
break;
}
}
if (layoutSlide == null) {
for (ILayoutSlide titleLayoutSlide : layoutSlides) {
if (titleLayoutSlide.getName().equals("Title")) {
layoutSlide = titleLayoutSlide;
break;
}
}
if (layoutSlide == null) {
layoutSlide = layoutSlides.getByType(SlideLayoutType.Blank);
if (layoutSlide == null) {
layoutSlide = layoutSlides.add(SlideLayoutType.TitleAndObject, "Title and Object");
}
}
}
}
// Добавьте пустой слайд, используя добавленный макетный слайд.
presentation.getSlides().insertEmptySlide(0, layoutSlide);
// Сохраните презентацию на диск.
presentation.save("output.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Удаление неиспользуемых макетов слайдов
Aspose.Slides предоставляет метод removeUnusedLayoutSlides из класса Compress для удаления нежелательных и неиспользуемых макетов слайдов.
Следующий код Java показывает, как удалить макет слайда из презентации PowerPoint:
Presentation presentation = new Presentation("Presentation.pptx");
try {
Compress.removeUnusedLayoutSlides(presentation);
presentation.save("Output.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Добавление заполнителей в макеты слайдов
Aspose.Slides предоставляет метод ILayoutSlide.getPlaceholderManager , который позволяет добавлять новые заполнители в макет слайда.
Этот менеджер содержит методы для следующих типов заполнителей:
| Заполнитель PowerPoint | ILayoutPlaceholderManager Метод |
|---|---|
![]() |
addContentPlaceholder(float x, float y, float width, float height) |
![]() |
addVerticalContentPlaceholder(float x, float y, float width, float height) |
![]() |
addTextPlaceholder(float x, float y, float width, float height) |
![]() |
addVerticalTextPlaceholder(float x, float y, float width, float height) |
![]() |
addPicturePlaceholder(float x, float y, float width, float height) |
![]() |
addChartPlaceholder(float x, float y, float width, float height) |
![]() |
addTablePlaceholder(float x, float y, float width, float height) |
![]() |
addSmartArtPlaceholder(float x, float y, float width, float height) |
![]() |
addMediaPlaceholder(float x, float y, float width, float height) |
![]() |
addOnlineImagePlaceholder(float x, float y, float width, float height) |
Следующий код Java демонстрирует, как добавить новые формы заполнителей к пустому макету слайда:
Presentation presentation = new Presentation();
try {
// Получить пустой макет слайда.
ILayoutSlide layout = presentation.getLayoutSlides().getByType(SlideLayoutType.Blank);
// Получить менеджер заполнителей для макетного слайда.
ILayoutPlaceholderManager placeholderManager = layout.getPlaceholderManager();
// Добавить различные заполнители в пустой макет слайда.
placeholderManager.addContentPlaceholder(20, 20, 310, 270);
placeholderManager.addVerticalTextPlaceholder(350, 20, 350, 270);
placeholderManager.addChartPlaceholder(20, 310, 310, 180);
placeholderManager.addTablePlaceholder(350, 310, 350, 180);
// Добавить новый слайд с пустым макетом.
ISlide newSlide = presentation.getSlides().addEmptySlide(layout);
presentation.save("Placeholders.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
Результат:

Установка видимости нижнего колонтитула для макета слайда
В презентациях PowerPoint элементы нижнего колонтитула, такие как дата, номер слайда и пользовательский текст, могут отображаться или скрываться в зависимости от макета слайда. Aspose.Slides for Android позволяет управлять видимостью этих заполнителей нижнего колонтитула. Это полезно, когда вы хотите, чтобы определённые макеты отображали информацию нижнего колонтитула, а другие оставались чистыми и минимальными.
- Создайте экземпляр класса Presentation .
- Получите ссылку на макет слайда по его индексу.
- Установите видимость заполнителя нижнего колонтитула слайда.
- Установите видимость заполнителя номера слайда.
- Установите видимость заполнителя даты и времени.
- Сохраните презентацию.
Следующий код Java показывает, как установить видимость нижнего колонтитула слайда и выполнить связанные задачи:
Presentation presentation = new Presentation("Presentation.ppt");
try {
ILayoutSlideHeaderFooterManager headerFooterManager = presentation.getLayoutSlides().get_Item(0).getHeaderFooterManager();
if (!headerFooterManager.isFooterVisible()) {
headerFooterManager.setFooterVisibility(true);
}
if (!headerFooterManager.isSlideNumberVisible()) {
headerFooterManager.setSlideNumberVisibility(true);
}
if (!headerFooterManager.isDateTimeVisible()) {
headerFooterManager.setDateTimeVisibility(true);
}
headerFooterManager.setFooterText("Footer text");
headerFooterManager.setDateTimeText("Date and time text");
presentation.save("Presentation.ppt", SaveFormat.Ppt);
} finally {
presentation.dispose();
}
Установка видимости нижнего колонтитула у дочерних слайдов
В презентациях PowerPoint элементы нижнего колонтитула, такие как дата, номер слайда и пользовательский текст, могут контролироваться на уровне шаблона слайда, чтобы обеспечить согласованность во всех макетах слайдов. Aspose.Slides for Android позволяет установить видимость и содержимое этих заполнителей нижнего колонтитула на шаблоне слайда и распространить эти настройки на все дочерние макеты слайдов. Этот подход обеспечивает одинаковую информацию нижнего колонтитула во всей презентации.
- Создайте экземпляр класса Presentation .
- Получите ссылку на шаблон слайда (master slide) по его индексу.
- Установите видимость заполнителей нижнего колонтитула шаблона и всех дочерних макетов.
- Установите видимость заполнителей номеров слайдов шаблона и всех дочерних макетов.
- Установите видимость заполнителей даты и времени шаблона и всех дочерних макетов.
- Сохраните презентацию.
Следующий код Java демонстрирует эту операцию:
Presentation presentation = new Presentation("Presentation.ppt");
try {
IMasterSlideHeaderFooterManager headerFooterManager = presentation.getMasters().get_Item(0).getHeaderFooterManager();
headerFooterManager.setFooterAndChildFootersVisibility(true);
headerFooterManager.setSlideNumberAndChildSlideNumbersVisibility(true);
headerFooterManager.setDateTimeAndChildDateTimesVisibility(true);
headerFooterManager.setFooterAndChildFootersText("Footer text");
headerFooterManager.setDateTimeAndChildDateTimesText("Date and time text");
presentation.save("Output.pptx", SaveFormat.Pptx);
} finally {
presentation.dispose();
}
FAQ
В чём разница между шаблоном слайда и макетом слайда?
Шаблон слайда определяет общую тему и форматирование по умолчанию, тогда как макеты слайдов определяют конкретные расположения заполнителей для разных типов содержимого.
Можно ли скопировать макет слайда из одной презентации в другую?
Да, вы можете клонировать макет слайда из коллекции макетов слайдов одной презентации, доступной через метод getLayoutSlides, и вставить его в другую презентацию, используя метод addClone.
Что произойдёт, если удалить макет слайда, который всё ещё используется другим слайдом?
Если попытаться удалить макет слайда, который всё ещё используется хотя бы одним слайдом в презентации, Aspose.Slides выбросит исключение PptxEditException. Чтобы избежать этого, используйте removeUnusedLayoutSlides, который безопасно удаляет только неиспользуемые макеты слайдов.









