Añadir elipses a presentaciones en PHP

Crear una elipse

Para añadir una elipse simple a una diapositiva seleccionada de la presentación, siga los pasos a continuación:

  • Cree una instancia de la clase Presentation.
  • Obtenga la referencia de una diapositiva mediante su índice.
  • Añada un AutoShape de tipo Elipse usando el método addAutoShape expuesto por el objeto ShapeCollection.
  • Guarde la presentación modificada como un archivo PPTX.

En el ejemplo que se muestra a continuación, hemos añadido una elipse a la primera diapositiva

  # Instanciar la clase Presentation que representa el PPTX
  $pres = new Presentation();
  try {
    # Obtener la primera diapositiva
    $sld = $pres->getSlides()->get_Item(0);
    # Añadir AutoShape de tipo elipse
    $sld->getShapes()->addAutoShape(ShapeType::Ellipse, 50, 150, 150, 50);
    # Guardar el archivo PPTX en disco
    $pres->save("EllipseShp1.pptx", SaveFormat::Pptx);
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

Crear una elipse con formato

Para añadir una elipse mejor formateada a una diapositiva, siga los pasos a continuación:

  • Cree una instancia de la clase Presentation.
  • Obtenga la referencia de una diapositiva mediante su índice.
  • Añada un AutoShape de tipo Elipse usando el método addAutoShape expuesto por el objeto ShapeCollection.
  • Establezca el tipo de relleno de la elipse a Sólido.
  • Establezca el color de la elipse usando el método SolidFillColor::setColor expuesto por el objeto FillFormat asociado al objeto Shape.
  • Establezca el color de las líneas de la elipse.
  • Establezca el ancho de las líneas de la elipse.
  • Guarde la presentación modificada como un archivo PPTX.

En el ejemplo que se muestra a continuación, hemos añadido una elipse con formato a la primera diapositiva de la presentación.

  # Instanciar la clase Presentation que representa el PPTX
  $pres = new Presentation();
  try {
    # Obtener la primera diapositiva
    $sld = $pres->getSlides()->get_Item(0);
    # Añadir AutoShape de tipo elipse
    $shp = $sld->getShapes()->addAutoShape(ShapeType::Ellipse, 50, 150, 150, 50);
    # Aplicar algo de formato a la forma elipse
    $shp->getFillFormat()->setFillType(FillType::Solid);
    $shp->getFillFormat()->getSolidFillColor()->setColor(new java("java.awt.Color", PresetColor->Chocolate));
    # Aplicar algo de formato a la línea de la elipse
    $shp->getLineFormat()->getFillFormat()->setFillType(FillType::Solid);
    $shp->getLineFormat()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->BLACK);
    $shp->getLineFormat()->setWidth(5);
    # Guardar el archivo PPTX en disco
    $pres->save("EllipseShp1.pptx", SaveFormat::Pptx);
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

Preguntas frecuentes

¿Cómo establezco la posición exacta y el tamaño de una elipse respecto a las unidades de la diapositiva?

Las coordenadas y tamaños se especifican normalmente en puntos. Para obtener resultados predecibles, base sus cálculos en el tamaño de la diapositiva y convierta los milímetros o pulgadas requeridos a puntos antes de asignar valores.

¿Cómo puedo colocar una elipse por encima o por debajo de otros objetos (controlar el orden de apilamiento)?

Ajuste el orden de dibujo del objeto llevándolo al frente o enviándolo al fondo. Esto permite que la elipse se superponga a otros objetos o revele los que están debajo.

¿Cómo animo la aparición o énfasis de una elipse?

Apply efectos de entrada, énfasis o salida a la forma, y configure disparadores y temporizaciones para orquestar cuándo y cómo se reproduce la animación.