Base de Conhecimento

Python PPTX | Como manipular apresentações PowerPoint

Se você deseja saber como criar, ler, personalizar, combinar, clonar ou converter apresentações PowerPoint e OpenOffice usando Python sem a necessidade de softwares externos, nós temos a solução.

Aspose.Slides for Python via .NET é uma biblioteca de classes para manipular apresentações, oferecendo muitos recursos essenciais, como criação de apresentações do zero, conversão de apresentações, gerenciamento de textos, formas, tabelas, animações, visualização de slides, exportação de slides para PDF, TIFF, XPS, HTML, etc., e muito mais. Aspose.Slides for Python via .NET fornece demonstrações e exemplos funcionais para ajudar você a entender melhor nossa API.

Nossa API oferece os seguintes recursos:

  • Criação ou clonagem de slides a partir de modelos
  • Trabalho com tabelas do PowerPoint
  • Remoção ou adição de proteção em formas
  • Inserção de gráficos do MS Excel como OleObjects
  • Geração de apresentações a partir de banco de dados
  • Proteção de apresentações
  • Criação e modificação de gráficos
  • Exportação de apresentações para PDF, XPS, HTML, JPEG, PNG, SVG e muitos outros

Formatos de arquivo suportados:

Aspose.Slides for Python via .NET pode carregar e salvar os seguintes formatos de arquivo: PPT, POT, PPS, PPTX, POTX, PPSX, PPTM, PPSM, POTM, ODP, OTP, e salvar nos formatos: TIFF, EMF, PDF, XPS, JPEG, PNG, GIFF, BMP, SVG, SWF, HTML, XAML.

A seguir, mostraremos como criar, abrir, mesclar e salvar uma apresentação, além de fornecer exemplos de código.

Python PPTX | Como manipular apresentações PowerPoint

Como criar uma apresentação PowerPoint (PPTX) usando Python

Para adicionar uma nova linha dentro de um slide usando Aspose.Slides for Python via .NET, siga estas etapas:

  1. Crie uma instância da classe Presentation
  2. Obtenha uma referência ao slide usando seu índice
  3. Use o método add_auto_shape exposto pelo objeto shapes para adicionar um AutoShape do tipo LINE
  4. Salve a apresentação como um arquivo PPTX

Usando essas etapas, adicionamos uma linha ao primeiro slide da apresentação:

import aspose.slides as slides  

# Instancia um objeto Presentation que representa um arquivo de apresentação
with slides.Presentation() as presentation:
    slide = presentation.slides[0]
    slide.shapes.add_auto_shape(slides.ShapeType.LINE, 50, 150, 300, 0)
    presentation.save("NewPresentation_out.pptx", slides.export.SaveFormat.PPTX)

Como abrir uma apresentação usando Python

Com Aspose.Slides for Python via .NET, os desenvolvedores podem acessar ou modificar apresentações PowerPoint existentes.

Nossa API fornece a classe Presentation para abrir uma apresentação existente, e podemos usar um dos construtores adequados da classe Presentation para criar seu objeto a partir de uma apresentação PowerPoint existente. No exemplo abaixo, mostramos como abrir uma Presentation. Passamos o nome do arquivo de apresentação ao construtor da classe Presentation e obtemos o número total de slides para exibir na tela.

import aspose.slides as slides

# Abrindo o arquivo de apresentação ao passar o caminho ao construtor da classe Presentation
with slides.Presentation("pres.pptx") as pres:
    # Exibindo o número total de slides presentes na apresentação
    print(pres.slides.length)

E se você tem apresentações muito grandes (por exemplo, tamanho de 3 GB), pode abri‑las com o código de exemplo abaixo:

import aspose.slides as slides
import os

loadOptions = slides.LoadOptions()
loadOptions.blob_management_options = slides.BlobManagementOptions()
loadOptions.blob_management_options.presentation_locking_behavior = slides.PresentationLockingBehavior.KEEP_LOCKED

with slides.Presentation("pres.pptx", loadOptions) as pres:
    # a enorme apresentação é carregada e está pronta para uso, mas o consumo de memória permanece baixo.

    # faça quaisquer alterações na apresentação.
    pres.slides[0].name = "Apresentação muito grande"

    # a apresentação será salva em outro arquivo, o consumo de memória ainda é baixo durante a gravação.
    pres.save("veryLargePresentation-copy.pptx", slides.export.SaveFormat.PPTX)

    # não faça isso! Uma exceção de I/O será lançada porque o arquivo está bloqueado enquanto os objetos pres não forem descartados
    os.remove("pres.pptx")

# agora pode remover, pois o arquivo fonte não está mais bloqueado pelo objeto pres
os.remove("pres.pptx")

Se você está criando uma apresentação que contém objetos grandes (imagens, vídeos, áudios, etc.), use a facilidade Blob para reduzir o consumo de memória.

Como mesclar apresentações PowerPoint usando Python

Aspose.Slides for Python via .NET permite mesclar apresentações de diferentes maneiras. Você pode mesclar apresentações PowerPoint com suas formas, formatações, textos, estilos, comentários, etc., sem perder qualidade ou dados. Com nossa API, é possível mesclar apresentações completas, slides específicos e apresentações em um formato (PPTX para PPTX, PPT para PPT, etc.) ou em formatos diferentes (PPTX para PPT, PPTX para ODP, etc.).

Para mesclar apresentações, você pode usar os métodos add_clone (da interface ISlideCollection ). O objeto Presentation contém uma coleção de slides, e você pode chamar o método add_clone da apresentação selecionada; os slides serão mesclados nessa apresentação.

Mesclar apresentações

Usando o método AddClone (ISlide) , você pode combinar slides sem se preocupar com perda de aparência e estilos (parâmetros padrão). No código abaixo, veja como mesclar apresentações:

import aspose.slides as slides

with slides.Presentation("pres.pptx") as pres1:
    with slides.Presentation("Presentation1.pptx") as pres2:
        for slide in pres2.slides:
            pres1.slides.add_clone(slide)
        pres1.save("combined.pptx", slides.export.SaveFormat.PPTX)

Mesclar a apresentação e alterar o estilo dos slides

Se desejar mudar o estilo dos slides na apresentação de saída ao mesclar, o método add_clone (ISlide, IMasterSlide, Boolean) permite isso.

import aspose.slides as slides

with slides.Presentation("pres.pptx") as pres1:
    with slides.Presentation("Presentation1.pptx") as pres2:
        for slide in pres2.slides:
            pres1.slides.add_clone(slide, pres1.masters[0], allow_clone_missing_layout = True)
        pres1.save("combined_with_master.pptx", slides.export.SaveFormat.PPTX)

Mesclar slides específicos

Com o código abaixo, você pode selecionar e combinar slides específicos de diferentes apresentações, gerando uma única apresentação de saída:

import aspose.slides as slides

with slides.Presentation("pres.pptx") as pres1:
    with slides.Presentation("Presentation1.pptx") as pres2:
        for slide in pres2.slides:
            pres1.slides.add_clone(slide, pres1.layout_slides[0])
        pres1.save("combined_with_layout.pptx", slides.export.SaveFormat.PPTX)

Para mais formas de mesclar apresentações, consulte a seção Mesclar Apresentação na documentação.

Como salvar apresentações PowerPoint usando Python

Com Aspose.Slides for Python via .NET você pode salvar uma apresentação como arquivo ou fluxo. A seguir, fornecemos um exemplo de código para ambos os métodos.

Salvar apresentação como arquivos

Você pode salvar uma apresentação como arquivos chamando o método Save da classe Presentation .

No código abaixo, veja como salvar uma apresentação com Aspose.Slides for Python via .NET usando Python, passando o nome do arquivo e o formato de salvamento ao método save.

import aspose.slides as slides

# Instancia um objeto Presentation que representa um arquivo PPT
with slides.Presentation() as presentation:
    
    # ...faça algum trabalho aqui...

    # Salve sua apresentação em um arquivo
    presentation.save("Saved_out.pptx", slides.export.SaveFormat.PPTX)

Salvar apresentação em fluxos

Uma forma de salvar apresentações é gravando em um fluxo. Basta passar um fluxo de saída ao método Save da classe Presentation . No código abaixo, criamos um novo arquivo Presentation, adicionamos texto à forma e salvamos a apresentação no fluxo.

import aspose.slides as slides

# Instancia um objeto Presentation que representa um arquivo PPT
with slides.Presentation() as presentation:
    
    shape = presentation.slides[0].shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 200, 200, 200, 200)

    # Salve sua apresentação em um fluxo
    with open("Save_As_Stream_out.pptx", "bw") as stream:
        presentation.save(stream, slides.export.SaveFormat.PPTX)

Em nossa documentação, você pode descobrir como salvar apresentações com tipo de visualização predefinido , salvar apresentações no formato Strict Open XML Spreadsheet ou salvar atualizações de progresso em porcentagem .

Aspose.Slides for Python via .NET é compatível com Python 3.5, 3.6, 3.7, 3.8, 3.9 e, caso você escreva código Python no Linux, pode verificar os requisitos adicionais para Linux .

Consultoria paga

Se precisar de ajuda no seu projeto, temos especialistas que trabalharão com você, projetarão uma solução e implementarão nossa API de acordo com suas necessidades. Fazemos o trabalho pesado para que você possa focar no seu negócio.