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 typuPopis:
bodyTělo / obsahová plocha
titleNázev snímku
ctrTitleZákladní název
subTitlePodtitul:
dtDatum a čas
ftrPodstránka
sldNumČíslo snímku
picZásadní číslo obrázku
objObecný objekt
chartGrafík
tblTabulka 1
clipArtKlipové umění
dgmDiagram
mediaObjekt médií
headerHeader (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)

Viz také:

 Čeština