Reservatório de lugar

Reservatório Aspose.Slides FOSS Python API Referência

A. - Não . reservatório de lugar é uma região reservada num layout ou slide principal que define: uma posição, tamanho e formatação padrão para um determinado tipo de conteúdo (título, Quando um slide normal é baseado num texto de código-fonte, o seu nome e a sua localização são indicados no anexo. layout que tem marcadores de lugar, as formas correspondentes no slide herdar aqueles posições e formatos.

Pacote de produtos: aspose.slides_foss


Como os ocupantes de lugar trabalham nesta implementação

Os marcadores de lugar são representados internamente como formas comuns cujo XML carrega um <p:ph> elemento que especifica o tipo de marcador e índice. Shape classe de trabalho Leia-se: <p:ph> para determinar se uma forma é um marcador de lugar e caminha o layout → cadeia de herança mestre para resolver a posição da forma quando não há local <a:xfrm> é definido.

Não há um único . Placeholder Arquivo de classe nesta versão; marcador de lugar identidade é suportada pelo subjacente AutoShape, Table, ou outra forma.


Detecção de formas de marcador de lugar

Uma forma num layout ou slide XML é um marcador de lugar quando o seu nvSpPr/nvPr (ou bloco de propriedades não visuais equivalentes) contém um <p:ph> elemento.

A Comissão Shape A classe base expõe o auxiliar interno. _get_placeholder_info() que: retorna um (ph_type, ph_idx) tuple ou None para formas que não tenham um marcador de lugar.


Inherência de Layout e Master Placeholder

Quando um slide não tem a sua própria forma <a:xfrm> elemento, o quadro de trabalho e a estrutura do sistema. Resolve a posição e o tamanho do marcador de lugar correspondente no slide de layout, e Então a partir do slide principal se o layout não define um também. a herança é tratada automaticamente; o código do cliente só acessa shape.x, shape.y, shape.width, e shape.height.


PlaceholderType (declarado em 01/12/2001) __all__)

Os seguintes tipos de marcadores são declarados na superfície da API pública. Eles mapeam o local do conteúdo e a sua função em um mapa. para o type atributo de <p:ph> em OOXML:

Valor do tipoDescrição:
bodyCorpo / área de conteúdo
titleTítulo do slide
ctrTitleTítulo centrado
subTitleSubtítulo: “Ao que me referia?”
dtData e hora:
ftrFotação
sldNumNúmero de diapositiva
picReservador de imagem
objObjeto genérico
chartGráfico
tblTabela de dados
clipArtClip art (arte de clip)
dgmDiagrama de dados
mediaObjeto de mídia
header- Não, não.

Exemplos de código

Identificar as formas de marcador de lugar em um 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}")

Adicionar um slide e trabalhar com o seu título 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)

Adicionar texto a todas as formas de um slide (incluindo marcadores de lugar)

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)

Ver também:

 Português