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 tipus | Descripció |
|---|---|
body | Cos / àrea de contingut |
title | Títol de diapositiva |
ctrTitle | Títol al centre |
subTitle | Subtítol: |
dt | Data i hora |
ftr | Fótol |
sldNum | Número de diapositiva |
pic | Plazer de la imatge |
obj | Objectos genèrics |
chart | Gràfica |
tbl | Taula de la Comissió |
clipArt | Art de clip |
dgm | Diagrama |
media | Objectes de mitjans |
header | Header (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)