Formas de presentación agrupadas con Python

Resumen

Agrupar formas le permite tratar varios objetos de dibujo como una única unidad para que pueda moverlos, cambiarles el tamaño, darles formato y transformarlos juntos. Con Aspose.Slides para Python, puede crear un GroupShape, agregar y organizar formas secundarias dentro de él, y guardar el resultado en PPTX. Este artículo muestra cómo agregar una forma de grupo en una diapositiva y cómo acceder a los metadatos de accesibilidad, como el Texto alternativo, de las formas dentro del grupo, lo que permite una estructura más limpia y presentaciones más ricas y mantenibles.

Agregar formas de grupo

Aspose.Slides admite el trabajo con formas de grupo en una diapositiva. Esta función le permite crear presentaciones más ricas al tratar múltiples formas como un solo objeto. Puede agregar nuevas formas de grupo, acceder a las existentes, completarlas con formas secundarias y leer o modificar cualquiera de sus propiedades. Para agregar una forma de grupo a una diapositiva:

  1. Cree una instancia de la clase Presentation.
  2. Obtenga una referencia a una diapositiva por índice.
  3. Agregue un GroupShape a la diapositiva.
  4. Añada formas a la nueva forma de grupo.
  5. Guarde la presentación modificada como un archivo PPTX.

El ejemplo a continuación muestra cómo agregar una forma de grupo a una diapositiva.

import aspose.slides as slides

# Instanciar la clase Presentation.
with slides.Presentation() as presentation:
    # Obtener la primera diapositiva.
    slide = presentation.slides[0]

    # Añadir una forma de grupo a la diapositiva.
    group_shape = slide.shapes.add_group_shape()

    # Añadir formas dentro de la forma de grupo.
    group_shape.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 300, 100, 100, 100)
    group_shape.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 500, 100, 100, 100)
    group_shape.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 300, 300, 100, 100)
    group_shape.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 500, 300, 100, 100)

    # Guardar el archivo PPTX en disco.
    presentation.save("group_shape.pptx", slides.export.SaveFormat.PPTX)

Acceder a la propiedad Texto alternativo

Esta sección explica cómo leer el Texto alternativo de las formas contenidas dentro de una forma de grupo en una diapositiva usando Aspose.Slides. Para acceder al Texto alternativo de las formas:

  1. Instancie la clase Presentation para representar un archivo PPTX.
  2. Obtenga una referencia a la diapositiva por su índice.
  3. Acceda a la colección de formas de la diapositiva.
  4. Acceda al GroupShape.
  5. Lea la propiedad Texto alternativo.

El ejemplo a continuación recupera el Texto alternativo de las formas contenidas dentro de formas de grupo.

import aspose.slides as slides

# Instanciar la clase Presentation para abrir el archivo PPTX.
with slides.Presentation("group_shape.pptx") as presentation:
    # Obtener la primera diapositiva.
    slide = presentation.slides[0]

    for shape in slide.shapes:
        if isinstance(shape, slides.GroupShape):
            # Acceder a la forma de grupo.
            for child_shape in shape.shapes:
                # Acceder a la propiedad Texto alternativo.
                print(child_shape.alternative_text)

Preguntas frecuentes

¿Se admite la agrupación anidada (un grupo dentro de otro grupo)?

Sí. GroupShape tiene una propiedad parent_group que indica directamente el soporte de jerarquía (un grupo puede ser hijo de otro grupo).

¿Cómo controlo el orden Z del grupo en relación con otros objetos en la diapositiva?

Utilice la propiedad z_order_position del GroupShape para inspeccionar o cambiar su posición en la pila de visualización.

¿Puedo evitar mover/editar/desagrupar?

Sí. La sección de bloqueo del grupo se expone a través de group_shape_lock, que le permite restringir operaciones sobre el objeto.