Añadir elipses a presentaciones en PHP

Crear una elipse

Para añadir una elipse sencilla 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 utilizando su índice.
  • Añada un AutoShape de tipo Elipse usando el método addAutoShape expuesto por el objeto IShapeCollection.
  • 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);
    # Escribir el archivo PPTX en disco
    $pres->save("EllipseShp1.pptx", SaveFormat::Pptx);
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

Crear una elipse formateada

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 utilizando su índice.
  • Añada un AutoShape de tipo Elipse usando el método addAutoShape expuesto por el objeto IShapeCollection.
  • Establezca el Tipo de Relleno de la Elipse a Sólido.
  • Establezca el Color de la Elipse usando la propiedad SolidFillColor.Color expuesta por el objeto FillFormat asociado al objeto IShape.
  • 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 formateada 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 de la 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 los tamaños suelen especificarse en puntos. Para obtener resultados previsibles, base sus cálculos en el tamaño de la diapositiva y convierta los milímetros o pulgadas requeridos a puntos antes de asignar los valores.

¿Cómo puedo colocar una elipse encima o 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 el énfasis de una elipse?

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