Добавление эллипсов в презентации на PHP

Создать эллипс

Чтобы добавить простой эллипс на выбранный слайд презентации, выполните следующие шаги:

  • Создайте экземпляр класса Presentation.
  • Получите ссылку на слайд, используя его индекс.
  • Добавьте AutoShape типа Ellipse с помощью метода addAutoShape, доступного в объекте ShapeCollection.
  • Запишите изменённую презентацию в файл PPTX.

В приведённом ниже примере мы добавили эллипс на первый слайд

  # Создайте объект класса Presentation, представляющий PPTX
  $pres = new Presentation();
  try {
    # Получите первый слайд
    $sld = $pres->getSlides()->get_Item(0);
    # Добавьте AutoShape типа эллипс
    $sld->getShapes()->addAutoShape(ShapeType::Ellipse, 50, 150, 150, 50);
    # Запишите файл PPTX на диск
    $pres->save("EllipseShp1.pptx", SaveFormat::Pptx);
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

Создать форматированный эллипс

Чтобы добавить более форматированный эллипс на слайд, выполните следующие шаги:

  • Создайте экземпляр класса Presentation.
  • Получите ссылку на слайд, используя его индекс.
  • Добавьте AutoShape типа Ellipse с помощью метода addAutoShape, доступного в объекте ShapeCollection.
  • Установите тип заливки эллипса в Solid.
  • Установите цвет эллипса с помощью метода SolidFillColor::setColor, доступного в объекте FillFormat, связанном с объектом Shape.
  • Установите цвет линий эллипса.
  • Установите ширину линий эллипса.
  • Запишите изменённую презентацию в файл PPTX.

В приведённом ниже примере мы добавили форматированный эллипс на первый слайд презентации.

  # Создать объект класса Presentation, представляющий PPTX
  $pres = new Presentation();
  try {
    # Получить первый слайд
    $sld = $pres->getSlides()->get_Item(0);
    # Добавить AutoShape типа эллипса
    $shp = $sld->getShapes()->addAutoShape(ShapeType::Ellipse, 50, 150, 150, 50);
    # Применить некоторое форматирование к фигуре эллипса
    $shp->getFillFormat()->setFillType(FillType::Solid);
    $shp->getFillFormat()->getSolidFillColor()->setColor(new java("java.awt.Color", PresetColor->Chocolate));
    # Применить некоторое форматирование к линии эллипса
    $shp->getLineFormat()->getFillFormat()->setFillType(FillType::Solid);
    $shp->getLineFormat()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->BLACK);
    $shp->getLineFormat()->setWidth(5);
    # Записать файл PPTX на диск
    $pres->save("EllipseShp1.pptx", SaveFormat::Pptx);
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

FAQ

Как задать точное положение и размер эллипса относительно единиц измерения слайда?

Координаты и размеры обычно указываются в пунктах. Чтобы получить предсказуемый результат, рассчитывайте на основе размеров слайда и преобразуйте требуемые миллиметры или дюймы в пункты перед присвоением значений.

Как разместить эллипс выше или ниже других объектов (управление порядком наложения)?

Измените порядок отрисовки объекта, переместив его на передний план или отправив назад. Это позволяет эллипсу перекрывать другие объекты или показывать находящиеся под ним.

Как анимировать появление или выделение эллипса?

Применить эффекты появления, акцентирования или исчезновения к фигуре и настройте триггеры и тайминги, чтобы определить, когда и как будет воспроизводиться анимация.