Platzhalter Aspose.Slides FOSS Python API-Referenz

A) Die Platzhalter ist ein reservierter Bereich auf einem Layout oder Master-Slide, der definiert: eine Standardposition, Größe und Formatierung für einen bestimmten Inhaltstyp (Titel, Wenn eine normale Folie auf einer Layout, das Platzhalter hat, die entsprechenden Formen auf der Folie erben diese Positionen und Formate.

Package: aspose.slides_foss


Wie die Stellenhalter bei dieser Umsetzung arbeiten

Platzhalter werden intern als gewöhnliche Formen dargestellt, deren XML eine <p:ph> Element, das den Platzhaltertyp und -index angibt. Shape Klasse Lies: <p:ph> Um zu bestimmen, ob eine Form ein Platzhalter ist und die Layout → Master-Erbkette, um die Position der Form zu lösen, wenn keine lokale <a:xfrm> ist definiert.

Es gibt keinen Standalone-System. Placeholder Klassendatei in dieser Version; Platzhalter Identität wird vom zugrunde liegenden Wertpapier getragen. AutoShape, Table,oder andere Form.


Aufspüren von Platzhalterformen

Eine Form auf einem Layout oder einer XML-Slide ist ein Platzhalter, wenn ihre nvSpPr/nvPr (oder Gleichwertige nicht visuelle Eigenschaften) enthält eine <p:ph> Element. Das ist das Problem.

Die Shape Basisklasse zeigt den internen Helfer an. _get_placeholder_info() die gibt a zurück. (ph_type, ph_idx) Tuple oder None für nicht platzhalterförmige Formen.


Layout und Master-Placeholder-Vererbung

Wenn eine Folie keine eigene Form hat <a:xfrm> Die Kommission hat die die Position und Größe aus dem passenden Platzhalter in der Layout-Slide auflösen, und Dann von der Master-Slide, wenn das Layout auch keine definiert. Erbschaft wird automatisch verarbeitet; nur Clientcode kann auf die Daten zugreifen. shape.x, shape.y, shape.width,und . shape.height.


PlaceholderType (erklärte in der __all__)

Die folgenden Platzhaltertypen werden in der öffentlichen API-Oberfläche deklariert. Sie erstellen eine Karte der Kommission. type Eigenschaft von <p:ph> in OOXML:

TypwertBeschreibung
bodyKörper / Inhaltfläche
titleTitel der Folie
ctrTitleZentralisierter Titel
subTitleUntertitel:
dtDatum und Uhrzeit
ftrFußzeile
sldNumBildnummer
picBild-Platzhalter
objGenerisches Objekt
chartTabelle der
tblTabelle 1 und 2
clipArtClip-Art (Klippkunst)
dgmDiagramm
mediaMedienobjekt
header- Ich bin nicht hier.

Codebeispiele

Identifizieren Sie Platzhalterformen auf einem Layout

import aspose.slides_foss as slides

with slides.Presentation("deck.pptx") as prs:
    layout = prs.layout_slides[0]
    print(f"Layout: {layout.name!r}")
    for shape in layout.shapes:
        # Access the internal placeholder info via the XML helper
        ph_info = shape._get_placeholder_info() if hasattr(shape, '_get_placeholder_info') else None
        if ph_info:
            ph_type, ph_idx = ph_info
            print(f"  Placeholder: type={ph_type!r}  idx={ph_idx}"
                  f"  at ({shape.x:.0f}, {shape.y:.0f})")
        else:
            print(f"  Regular shape: {shape.name!r}")

Fügen Sie eine Folie hinzu und arbeiten Sie mit dem Titel-Platzhalter daran.

import aspose.slides_foss as slides
from aspose.slides_foss import SlideLayoutType
from aspose.slides_foss.export import SaveFormat

with slides.Presentation() as prs:
    # Use the Title layout which has a title placeholder
    title_layout = prs.layout_slides.get_by_type(SlideLayoutType.TITLE)
    if title_layout is None:
        title_layout = prs.layout_slides[0]

    slide = prs.slides.add_empty_slide(title_layout)

    # The first shape on a TITLE layout is typically the title placeholder
    for shape in slide.shapes:
        if hasattr(shape, 'add_text_frame'):
            shape.add_text_frame("Quarterly Review")
            break

    prs.save("titled-slide.pptx", SaveFormat.PPTX)

Text zu allen Formen einer Folie hinzufügen (einschließlich Platzhalter)

import aspose.slides_foss as slides
from aspose.slides_foss.export import SaveFormat

with slides.Presentation("template.pptx") as prs:
    slide = prs.slides[0]
    for i, shape in enumerate(slide.shapes):
        if hasattr(shape, 'add_text_frame'):
            try:
                shape.add_text_frame(f"Content {i + 1}")
            except Exception:
                pass  # some shapes may not accept text
    prs.save("filled.pptx", SaveFormat.PPTX)

Siehe auch:

 Deutsch