Управление заполнителями презентаций в PHP
Изменить текст в заполнителе
С помощью Aspose.Slides for PHP via Java, вы можете находить и изменять заполнители на слайдах презентаций. Aspose.Slides позволяет вносить изменения в текст заполнителя.
Требование: Вам нужна презентация, содержащая заполнитель. Вы можете создать такую презентацию в стандартном приложении Microsoft PowerPoint.
Вот как использовать Aspose.Slides для замены текста в заполнителе в этой презентации:
- Создайте экземпляр класса
Presentationи передайте презентацию в качестве аргумента. - Получите ссылку на слайд через его индекс.
- Пройдитесь по коллекции фигур, чтобы найти заполнитель.
- Приведите форму заполнителя к типу
AutoShapeи измените текст, используяTextFrame, связанный сAutoShape. - Сохраните изменённую презентацию.
Этот PHP‑код показывает, как изменить текст в заполнителе:
# Создает экземпляр класса Presentation
$pres = new Presentation("ReplacingText.pptx");
try {
# Получает первый слайд
$sld = $pres->getSlides()->get_Item(0);
# Перебирает фигуры, чтобы найти заполнитель
foreach($sld->getShapes() as $shp) {
if (!java_is_null($shp->getPlaceholder())) {
# Изменяет текст в каждом заполнителе
$shp->getTextFrame()->setText("This is Placeholder");
}
}
# Сохраняет презентацию на диск
$pres->save("output.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
Установить подсказочный текст в заполнителе
Стандартные и встроенные макеты содержат подсказки-заполнители, такие как Нажмите, чтобы добавить заголовок или Нажмите, чтобы добавить подзаголовок. С помощью Aspose.Slides вы можете вставлять свои собственные подсказочные тексты в макеты заполнителей.
Этот PHP‑код показывает, как установить подсказочный текст в заполнителе:
$pres = new Presentation("Presentation.pptx");
try {
$slide = $pres->getSlides()->get_Item(0);
# Перебирает слайд
foreach($slide->getSlide()->getShapes() as $shape) {
if (java_instanceof($shape->getPlaceholder()) != null && $shape, new JavaClass("com.aspose.slides.AutoShape")) {
$text = "";
# PowerPoint отображает "Нажмите, чтобы добавить заголовок"
if ($shape->getPlaceholder()->getType() == PlaceholderType::CenteredTitle) {
$text = "Add Title";
} else // Добавляет подзаголовок
if ($shape->getPlaceholder()->getType() == PlaceholderType::Subtitle) {
$text = "Add Subtitle";
}
$shape->getTextFrame()->setText($text);
echo("Placeholder with text: " . $text);
}
}
$pres->save("Placeholders_PromptText.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
Установить прозрачность изображения в заполнителе
Aspose.Slides позволяет установить прозрачность фонового изображения в текстовом заполнителе. Регулируя прозрачность картинки в таком кадре, вы можете выделить текст или изображение (в зависимости от цветов текста и картинки).
Этот PHP‑код показывает, как установить прозрачность фоновой картинки (внутри формы):
$presentation = new Presentation("example.pptx");
$shape = $presentation->getSlides()->get_Item(0)->getShapes()->get_Item(0);
$operationCollection = $shape->getFillFormat()->getPictureFillFormat()->getPicture()->getImageTransform();
for($i = 0; $i < java_values($operationCollection->size()) ; $i++) {
if (java_instanceof($operationCollection->get_Item($i)), new JavaClass("com.aspose.slides.AlphaModulateFixed")) {
$alphaModulate = $operationCollection->get_Item($i);
$currentValue = 100 - $alphaModulate->getAmount();
echo("Current transparency value: " . $currentValue);
$alphaValue = 40;
$alphaModulate->setAmount(100 - $alphaValue);
}
}
$presentation->save("example_out.pptx", SaveFormat::Pptx);
FAQ
Что такое базовый заполнитель и чем он отличается от локальной фигуры на слайде?
Базовый заполнитель — это исходная форма в макете или шаблоне, от которой наследуется форма слайда — тип, позиция и часть форматирования берутся от него. Локальная форма независима; если базового заполнителя нет, наследование не применяется.
Как обновить все заголовки или подписи во всей презентации без обхода каждого слайда?
Отредактируйте соответствующий заполнитель в макете или шаблоне. Слайды, основанные на этих макетах/шаблоне, автоматически унаследуют изменения.
Как управлять стандартными заполнителями заголовка/подвала — датой и временем, номером слайда и текстом подвала?
Используйте менеджеры HeaderFooter в соответствующей области (обычные слайды, макеты, шаблон, заметки/раздаточные материалы), чтобы включать или отключать эти заполнители и задавать их содержание.