Управление Заполнителем

Изменение текста в заполнителе

С помощью Aspose.Slides для PHP через Java вы можете находить и изменять заполнители на слайдах в презентациях. Aspose.Slides позволяет вносить изменения в текст в заполнителе.

Предварительные требования: Вам нужна презентация, содержащая заполнители. Вы можете создать такую презентацию в стандартном приложении Microsoft PowerPoint.

Вот как использовать Aspose.Slides для замены текста в заполнителе этой презентации:

  1. Создайте экземпляр класса Presentation и передайте презентацию в качестве аргумента.
  2. Получите ссылку на слайд по его индексу.
  3. Переберите фигуры, чтобы найти заполнитель.
  4. Приведите форму заполнителя к типу AutoShape и измените текст, используя TextFrame, связанный с AutoShape.
  5. Сохраните измененную презентацию.

Этот код PHP показывает, как изменить текст в заполнителе:

  # Создает экземпляр класса Presentation
  $pres = new Presentation("ЗаменаТекста.pptx");
  try {
    # Получает доступ к первому слайду
    $sld = $pres->getSlides()->get_Item(0);
    # Перебирает фигуры, чтобы найти заполнитель
    foreach($sld->getShapes() as $shp) {
      if (!java_is_null($shp->getPlaceholder())) {
        # Изменяет текст в каждом заполнителе
        $shp->getTextFrame()->setText("Это Заполнитель");
      }
    }
    # Сохраняет презентацию на диск
    $pres->save("output_out.pptx", SaveFormat::Pptx);
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

Установка текста подсказки в заполнителе

Стандартные и предварительно созданные макеты содержат подсказки заполнителей, такие как Нажмите, чтобы добавить заголовок или Нажмите, чтобы добавить подзаголовок. Используя Aspose.Slides, вы можете вставить свои предпочтительные подсказки в макеты заполнителей.

Этот код PHP показывает, как установить подсказку в заполнителе:

  $pres = new 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 = "Добавить заголовок";
        } else // Добавляет подзаголовок
        if ($shape->getPlaceholder()->getType() == PlaceholderType::Subtitle) {
          $text = "Добавить подзаголовок";
        }
        $shape->getTextFrame()->setText($text);
        echo("Заполнитель с текстом: " . $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("Текущая значение прозрачности: " . $currentValue);
      $alphaValue = 40;
      $alphaModulate->setAmount(100 - $alphaValue);
    }
  }
  $presentation->save("example_out.pptx", SaveFormat::Pptx);