Plazo de referència Aspose.Slides FOSS Python API Referència

A. El dia de la mort: marcador de lloc és una regió reservada en un traçat o diapositiva principal que defineix: una posició, mida i format per defecte d’un tipus particular de contingut (títol, El text del cos, el peu de pàgina, la data, número d’un diapositiu, etc.). Quan un diapasó normal es basa en una figura o imatge que és representada per un personatge. la disposició que té marcadors de lloc, les formes corresponents a la diapositiva hereten aquells posicions i formats.

Package: aspose.slides_foss


Com funcionen els titulars d’un lloc en aquesta implementació?

Els marcadors de lloc es representen internament com a formes ordinàries que XML porta un <p:ph> element que especifica el tipus de marcador i l’índex. Shape classe de la família llegeix: <p:ph> per determinar si una forma és un marcador de lloc i camina la layout → cadena d’herència mestra per resoldre la posició de la forma quan no hi ha local <a:xfrm> és definit.

No hi ha cap autònom. Placeholder arxiu de classe en aquesta versió; marcador d’espai la identitat és portada pel subjacent. AutoShape, Table, o d’una altra forma.


Detecció de formes de marcador d’espai

Una forma en un disseny o diapositiva XML és un marc de lloc quan el seu format es troba a la part inferior del quadre. nvSpPr/nvPr (o bloc de propietats no visuals equivalents) conté un <p:ph> element.

El Shape la classe base exposa l’ajudant intern. _get_placeholder_info() que retorna un (ph_type, ph_idx) tuple o None per a formes sense marcador de lloc.


Inherència de la disposició i del marcador principal

Quan una forma de diapositiva no té la seva pròpia <a:xfrm> element, el marc de treball i la Resolver la posició i el mida del marcador de lloc corresponent a la diapositiva d’arranjament, i després de la diapositiva principal si el disseny no defineix una tampoc. l’herència es gestiona automàticament; el codi client només accedeix a la pàgina web. shape.x, shape.y, shape.width, i shape.height.


PlaceholderType (declarat en el __all__)

Els següents tipus de marcador d’espai es declaren a la superfície pública API. Mapeixen a la type atribut de <p:ph> en OOXML:

Valor de tipusDescripció
bodyCos / àrea de contingut
titleTítol de diapositiva
ctrTitleTítol al centre
subTitleSubtítol:
dtData i hora
ftrFótol
sldNumNúmero de diapositiva
picPlazer de la imatge
objObjectos genèrics
chartGràfica
tblTaula de la Comissió
clipArtArt de clip
dgmDiagrama
mediaObjectes de mitjans
headerHeader (notes pages)

Exemples de codi

Identificar les formes de marcador d’espai en un disseny

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}")

Afegir una diapositiva i treballar amb el seu titular de marcador

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)

Afegir text a totes les formes d’una diapositiva (incloent-hi els marcadors de lloc)

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)

Veure també

 Català