Групповые формы презентаций в PHP

Добавить групповую форму

Aspose.Slides поддерживает работу с групповыми формами на слайдах. Эта функция помогает разработчикам создавать более богатые презентации. Aspose.Slides for PHP via Java поддерживает добавление или доступ к групповым формам. Можно добавить формы в созданную групповую форму, чтобы заполнить её, или получить доступ к любому свойству групповой формы. Чтобы добавить групповую форму на слайд с использованием Aspose.Slides for PHP via Java:

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

Пример ниже добавляет групповую форму на слайд.

  # Создать объект класса Presentation
  $pres = new Presentation();
  try {
    # Получить первый слайд
    $sld = $pres->getSlides()->get_Item(0);
    # Получение коллекции фигур слайдов
    $slideShapes = $sld->getShapes();
    # Добавление групповой формы на слайд
    $groupShape = $slideShapes->addGroupShape();
    # Добавление фигур в созданную групповую форму
    $groupShape->getShapes()->addAutoShape(ShapeType::Rectangle, 300, 100, 100, 100);
    $groupShape->getShapes()->addAutoShape(ShapeType::Rectangle, 500, 100, 100, 100);
    $groupShape->getShapes()->addAutoShape(ShapeType::Rectangle, 300, 300, 100, 100);
    $groupShape->getShapes()->addAutoShape(ShapeType::Rectangle, 500, 300, 100, 100);
    # Добавление рамки групповой формы
    $groupShape->setFrame(new ShapeFrame(100, 300, 500, 40, NullableBool::False, NullableBool::False, 0));
    # Записать файл PPTX на диск
    $pres->save("GroupShape.pptx", SaveFormat::Pptx);
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

Доступ к свойству AltText

В этой статье показаны простые шаги с примерами кода для добавления групповой формы и доступа к свойству AltText групповых форм на слайдах. Чтобы получить доступ к AltText групповой формы на слайде с использованием Aspose.Slides for PHP via Java:

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

Пример ниже получает доступ к альтернативному тексту групповой формы.

  # Создать объект класса Presentation, представляющий файл PPTX
  $pres = new Presentation("AltText.pptx");
  try {
    # Получить первый слайд
    $sld = $pres->getSlides()->get_Item(0);
    for($i = 0; $i < java_values($sld->getShapes()->size()) ; $i++) {
      # Получение коллекции фигур слайдов
      $shape = $sld->getShapes()->get_Item($i);
      if (java_instanceof($shape, new JavaClass("com.aspose.slides.GroupShape"))) {
        # Получение групповой формы.
        $grphShape = $shape;
        for($j = 0; $j < java_values($grphShape->getShapes()->size()) ; $j++) {
          $shape2 = $grphShape->getShapes()->get_Item($j);
          # Получение свойства AltText.
          echo($shape2->getAlternativeText());
        }
      }
    }
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

FAQ

Поддерживается ли вложенное группирование (группа внутри группы)?

Да. У GroupShape есть метод getParentGroup, который непосредственно указывает на поддержку иерархии (группа может быть дочерней по отношению к другой группе).

Как контролировать порядок наложения группы относительно других объектов на слайде?

Используйте метод getZOrderPosition объекта GroupShape, чтобы проверить его позицию в стеке отображения.

Могу ли я предотвратить перемещение/редактирование/разгруппировку?

Да. Раздел блокировки группы доступен через GroupShapeLock, что позволяет ограничить операции над объектом.