Grupppresentationformer i Python via Java

Översikt

Denna artikel förklarar hur man arbetar med gruppformer i Aspose.Slides. Den visar hur man lägger till en gruppform på en bild, placerar former inuti den och sparar den uppdaterade presentationen. Den demonstrerar också hur man får åtkomst till former som lagras i en grupp och läser deras alternativa text med hjälp av getAlternativeText. Dessutom täcker artikeln kort relaterade gruppformfunktioner såsom nästlade grupper, z‑ordning och låsalternativ.

Lägg till en gruppform

Aspose.Slides stöder arbete med gruppformer på bilder. Denna funktion hjälper utvecklare att skapa rikare presentationer. Aspose.Slides för Python via Java stöder att lägga till och komma åt gruppformer. Du kan fylla en gruppform med former eller komma åt dess egenskaper. Så här lägger du till en gruppform på en bild med Aspose.Slides för Python via Java:

  1. Skapa en instans av klassen Presentation.
  2. Hämta en referens till en bild genom dess index.
  3. Lägg till en gruppform på bilden.
  4. Lägg till former i gruppformen.
  5. Spara den ändrade presentationen som en PPTX‑fil.

Exemplet nedan lägger till en gruppform på en bild:

import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import NullableBool, Presentation, SaveFormat, ShapeFrame, ShapeType

# Skapa en instans av Presentation-klassen.
presentation = Presentation()
try:
    # Hämta den första bilden.
    slide = presentation.getSlides().get_Item(0)

    # Kom åt bildens formsamling.
    slide_shapes = slide.getShapes()

    # Lägg till en gruppform på bilden.
    group_shape = slide_shapes.addGroupShape()

    # Lägg till former i gruppformen.
    group_shape.getShapes().addAutoShape(ShapeType.Rectangle, 300, 100, 100, 100)
    group_shape.getShapes().addAutoShape(ShapeType.Rectangle, 500, 100, 100, 100)
    group_shape.getShapes().addAutoShape(ShapeType.Rectangle, 300, 300, 100, 100)
    group_shape.getShapes().addAutoShape(ShapeType.Rectangle, 500, 300, 100, 100)

    # Ställ in gruppformens ram.
    group_frame = ShapeFrame(100, 300, 500, 40, NullableBool.False_, NullableBool.False_, 0)
    group_shape.setFrame(group_frame)

    # Skriv PPTX-filen till disk.
    presentation.save("GroupShape.pptx", SaveFormat.Pptx)
finally:
    presentation.dispose()

Åtkomst till alternativ text

Detta avsnitt visar hur man kommer åt den alternativa texten för former i en grupp på en bild. Så här får du åtkomst till denna text med Aspose.Slides för Python via Java:

  1. Instansiera klassen Presentation som representerar en PPTX‑fil.
  2. Hämta en referens till en bild genom dess index.
  3. Kom åt bildens formsamling.
  4. Kom åt gruppformen.
  5. Läs den alternativa texten för dess former med hjälp av getAlternativeText.

Exemplet nedan får åtkomst till den alternativa texten för former i en grupp:

import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import GroupShape, Presentation

# Skapa en instans av Presentation-klassen som representerar PPTX-filen.
presentation = Presentation("AltText.pptx")
try:
    # Hämta den första bilden.
    slide = presentation.getSlides().get_Item(0)

    for i in range(slide.getShapes().size()):
        # Kom åt en form i bildens formsamling.
        shape = slide.getShapes().get_Item(i)

        if isinstance(shape, GroupShape):
            # Kom åt formerna i gruppen.
            for j in range(shape.getShapes().size()):
                child_shape = shape.getShapes().get_Item(j)

                # Läs den alternativa texten.
                print(child_shape.getAlternativeText())
finally:
    presentation.dispose()

FAQ

Stöds nästlad gruppering (en grupp i en grupp)?

Ja. GroupShape har en getParentGroup metod, som indikerar stöd för hierarki: en grupp kan vara ett underordnat element till en annan grupp.

Hur styr jag gruppens z‑ordning i förhållande till andra objekt på bilden?

Använd GroupShape‑objektets getZOrderPosition metod för att inspektera dess position i visningsstacken.

Kan jag förhindra att flytta, redigera eller avgruppera?

Ja. Gruppens lås exponeras via getGroupShapeLock, vilket låter dig begränsa operationer på objektet.