Слайд‑шаблон
Слайды‑шаблоны находятся на верхнем уровне иерархии наследования слайдов в PowerPoint. Слайд‑шаблон определяет общие элементы дизайна, такие как фон, логотипы и форматирование текста. Слайды‑компоновки наследуются от слайдов‑шаблонов, а обычные слайды наследуются от слайдов‑компоновки.
В этой статье демонстрируется, как создавать, изменять и управлять слайдами‑шаблонами с помощью Aspose.Slides for Java.
Добавить слайд‑шаблон
В этом примере показано, как создать новый слайд‑шаблон, клонировав стандартный. Затем он добавляет баннер с названием компании ко всем слайдам через наследование компоновки.
static void addMasterSlide() {
Presentation presentation = new Presentation();
try {
// Клонировать стандартный слайд‑шаблон.
IMasterSlide defaultMasterSlide = presentation.getMasters().get_Item(0);
IMasterSlide newMasterSlide = presentation.getMasters().addClone(defaultMasterSlide);
// Добавить баннер с названием компании в верхнюю часть слайда‑шаблона.
IAutoShape textBox = newMasterSlide.getShapes().addAutoShape(ShapeType.Rectangle, 0, 0, 720, 25);
textBox.getTextFrame().setText("Company Name");
IParagraph paragraph = textBox.getTextFrame().getParagraphs().get_Item(0);
paragraph.getParagraphFormat().getDefaultPortionFormat().getFillFormat().setFillType(FillType.Solid);
paragraph.getParagraphFormat().getDefaultPortionFormat().getFillFormat().getSolidFillColor().setColor(Color.BLACK);
textBox.getFillFormat().setFillType(FillType.NoFill);
// Назначить новый слайд‑шаблон слайду‑компоновки.
ILayoutSlide layoutSlide = presentation.getLayoutSlides().get_Item(0);
layoutSlide.setMasterSlide(newMasterSlide);
// Назначить слайд‑компоновку первому слайду в презентации.
presentation.getSlides().get_Item(0).setLayoutSlide(layoutSlide);
} finally {
presentation.dispose();
}
}
💡 Note 1: Слайды‑шаблоны позволяют применять единый брендинг или общие элементы дизайна ко всем слайдам. Любые изменения, внесённые в шаблон, автоматически отразятся на зависимых слайдах‑компоновках и обычных слайдах.
💡 Note 2: Любые фигуры или форматирование, добавленные в слайд‑шаблон, наследуются слайдами‑компоновки и, в свою очередь, всеми обычными слайдами, использующими эти компоновки.
Изображение ниже показывает, как текстовое поле, добавленное в слайд‑шаблон, автоматически отображается на конечном слайде.

Получить слайд‑шаблон
Вы можете получить доступ к слайдам‑шаблонам через коллекцию мастеров презентации. Ниже показано, как извлечь их и работать с ними:
static void accessMasterSlide() {
Presentation presentation = new Presentation();
try {
IMasterSlide firstMasterSlide = presentation.getMasters().get_Item(0);
// Изменить тип фона.
firstMasterSlide.getBackground().setType(BackgroundType.OwnBackground);
} finally {
presentation.dispose();
}
}
Удалить слайд‑шаблон
Слайды‑шаблоны могут быть удалены либо по индексу, либо по ссылке.
static void removeMasterSlide() {
Presentation presentation = new Presentation("sample.pptx");
try {
// Удалить слайд‑шаблон по индексу.
presentation.getMasters().removeAt(0);
// Удалить слайд‑шаблон по ссылке.
IMasterSlide firstMasterSlide = presentation.getMasters().get_Item(0);
presentation.getMasters().remove(firstMasterSlide);
} finally {
presentation.dispose();
}
}
Удалить неиспользуемые слайды‑шаблоны
Некоторые презентации содержат слайды‑шаблоны, которые не используются. Удаление этих слайдов может помочь уменьшить размер файла.
static void removeUnusedMasterSlide() {
Presentation presentation = new Presentation();
try {
// Удалить все неиспользуемые слайды‑шаблоны (даже те, которые помечены как Preserve).
presentation.getMasters().removeUnused(true);
} finally {
presentation.dispose();
}
}