Místní držitel Aspose.Slides FOSS Python API Reference
A. Vypravit . místa držícího je rezervovaná oblast na rozvrhu nebo hlavním slide, která definuje: předvolené místo, velikost a formátování pro konkrétní typ obsahu (titul, Text v těle, podpalubí, datum, číslo diabulek atd.). Když je běžný slide založen na rozvržení, které má místní držáky, odpovídající tvary na snímku zdědí ty pozice a formáty.
Package: aspose.slides_foss
Jak se v tomto procesu provádějí úředníci, kteří mají místo?
Místní držáky jsou interně reprezentovány jako běžné tvary, jejichž XML nese <p:ph> element, který specifikuje typ a index místa držení. Shape třída čte se: <p:ph> k určení, zda je tvar místník a chodí na layout → hlavní dědičný řetězec k vyřešení polohy tvaru, když není místní <a:xfrm> je definována.
Není tu žádný samostatný. Placeholder soubor třídy v tomto vydání; místa držitele identita je přenesena podkladovým AutoShape, Table, nebo jiné tvary.
Zjistit tvary držitelů místa
Objekt na rozvrhu nebo snímku XML je místem, kdy jeho nvSpPr/nvPr (nebo blok ekvivalentních nevizuálních vlastností) obsahuje <p:ph> prvku.
Úřad pro bezpečnost a ochranu zdraví Shape základní třída odhalí interní pomocníka. _get_placeholder_info() které: vrací a (ph_type, ph_idx) tuple nebo None pro tvary bez místa držitele.
Způsob a hlavní dědictví držitele místa
Když skluzní tvar nemá svůj vlastní <a:xfrm> element, rámcové vyřešuje polohu a velikost podle odpovídajícího místa na diapozitivu, a Pak z hlavního snímku, pokud ani rozvržení nedefinuje jeden. dědictví je zpracováváno automaticky; přístup k klientskému kódu pouze shape.x, shape.y, shape.width,a) shape.height.
PlaceholderType (prohláseno v __all__)
Následující typy místní známky jsou deklarovány ve veřejném API. Mapují k type atributy <p:ph> v OOXML:
| Hodnota typu | Popis: |
|---|---|
body | Tělo / obsahová plocha |
title | Název snímku |
ctrTitle | Základní název |
subTitle | Podtitul: |
dt | Datum a čas |
ftr | Podstránka |
sldNum | Číslo snímku |
pic | Zásadní číslo obrázku |
obj | Obecný objekt |
chart | Grafík |
tbl | Tabulka 1 |
clipArt | Klipové umění |
dgm | Diagram |
media | Objekt médií |
header | Header (notes pages)Vypadá to jako… |
Příklady kódu
Identifikovat tvary držitelů místa na rozvrhu
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}")Přidat snímek a pracovat na jeho titulní místečku
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)Přidat text ke všem tvarům na snímku (včetně místních znaků)
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)