Criar e modificar ppt pptx do PowerPoint em Python

O MS PowerPoint é um aplicativo rico em recursos que permite criar apresentações interativas usando gráficos, gráficos, animações e outros elementos. Como programador, você pode precisar automatizar os recursos de manipulação de apresentações do PowerPoint a partir dos aplicativos Python. Neste post, você aprenderá como criar apresentações PowerPoint PPT ou PPTX em Python. Além disso, abordaremos como adicionar slides, texto, tabelas, imagens e gráficos nas apresentações de forma programática.

Biblioteca Python para criar PowerPoint PPT

Aspose.Slides for Python via .NET é uma poderosa biblioteca Python que permite criar e manipular PowerPoint PPT/PPTX sem o MS Office. Além disso, você pode atualizar as apresentações existentes e convertê-las para outros formatos. Você pode instalar a biblioteca de PyPI usando o seguinte comando pip.

> pip install aspose.slides

Criar um PPT do PowerPoint em Python

Primeiro, vamos criar uma apresentação do PowerPoint com um slide vazio, que é adicionado por padrão. As etapas a seguir mostram como criar um PowerPoint PPT em Python.

  • Primeiro, crie uma instância da classe Apresentação.
  • Em seguida, salve o PPT usando o método Presentation.save(string, export.SaveFormat).

O exemplo de código a seguir mostra como criar um arquivo PPTX do PowerPoint em Python.

import aspose.slides as slides

# Create a new presentation
with slides.Presentation() as presentation:
    
    # Access the default slide
    slide = presentation.slides[0]
    
    # Save the presentation
    presentation.save("create-presentation.pptx", slides.export.SaveFormat.PPTX)

Abra um arquivo PPTX do PowerPoint em Python

Você também pode abrir uma apresentação existente e atualizar seu conteúdo. Para conseguir isso, você só precisa fornecer o caminho do arquivo de apresentação no construtor Presentation. O exemplo de código a seguir mostra como abrir um arquivo PPT/PPTX existente em Python.

import aspose.slides as slides

# Open presentation
with slides.Presentation("presentation.ppt") as presentation:
    
    # Access the default slide
    slide = presentation.slides[0]
    
    # Save the presentation
    presentation.save("create-presentation.ppt", slides.export.SaveFormat.PPT)

Adicionar um slide ao PowerPoint PPT em Python

Vamos agora adicionar um novo slide na apresentação que criamos antes. Você também pode adicionar slides a uma apresentação existente da mesma maneira abrindo a apresentação primeiro (como mostrado na seção anterior). A seguir estão as etapas para adicionar um slide na apresentação PPT/PPTX em Python.

  • Primeiro, crie uma nova apresentação (ou carregue a existente) usando a classe Apresentação.
  • Em seguida, obtenha a referência da coleção de slides usando a propriedade Presentation.slides.
  • Adicione slide usando o método Presentation.slides.addemptyslide(LayoutSlide).
  • Finalmente, salve a apresentação usando o método Presentation.save(string, export.SaveFormat).

O exemplo de código a seguir mostra como adicionar um slide em uma apresentação do PowerPoint em Python.

import aspose.slides as slides

# Create a new presentation
with slides.Presentation() as pres:
    # Get reference of slides
    slds = pres.slides

    # Loop through layout slides
    for i in range(len(pres.layout_slides)):
        # Add an empty slide to the slides collection
        slds.add_empty_slide(pres.layout_slides[i])
        
    # Do some work on the newly added slide

    # Save the PPTX file to the Disk
    pres.save("presentation.pptx", slides.export.SaveFormat.PPTX)

Adicionar texto a um PPT do PowerPoint em Python

Depois de adicionar um slide, podemos prosseguir para adicionar o conteúdo. Primeiro, vamos ver como adicionar texto aos slides da apresentação em Python.

  • Crie um novo (ou carregue um existente) PPT/PPTX usando a classe Apresentação.
  • Obtenha a referência do slide da coleção Presentation.slides.
  • Adicione uma nova forma automática no slide usando o método Slide.shapes.addautoshape(slides.ShapeType.RECTANGLE, int, int, int, int) e obtenha a referência da forma em um objeto.
  • Adicione um quadro de texto à forma usando o método addtextframe(string).
  • Acesse o parágrafo padrão do quadro de texto.
  • Acesse a parte padrão do parágrafo.
  • Adicione texto à parte e salve a apresentação usando o método Presentation.save(string, export.SaveFormat).

O exemplo de código a seguir mostra como adicionar texto ao slide em um PPT usando Python.

import aspose.slides as slides

# Create presentation
with slides.Presentation() as pres:
    # Access first slide
    slide = pres.slides[0]

    # Add an AutoShape with type set as Rectangle
    ashp = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 150, 75, 150, 50)

    # Add TextFrame to the Rectangle
    ashp.add_text_frame(" ")

    # Access the text frame
    txtFrame = ashp.text_frame

    # Create the Paragraph object for text frame
    para = txtFrame.paragraphs[0]

    # Create a Portion object for paragraph
    portion = para.portions[0]

    # Set text
    portion.text = "Aspose TextBox"

    # Save the presentation
    pres.save("add-text-in-presentation.pptx", slides.export.SaveFormat.PPTX)

A seguir está a captura de tela do slide depois de adicionar o texto.

adicionar texto no powerpoint ppt em python

Leia mais sobre como trabalhar com texto em apresentações do PowerPoint.

Criar tabela em um PowerPoint PPT em Python

As tabelas são parte integrante dos documentos e também são amplamente utilizadas em apresentações em PowerPoint. Aspose.Slides for Python torna muito mais fácil para você criar uma tabela em uma apresentação. Então vamos ver como criar uma tabela em um PPT usando Python.

  • Crie um novo (ou carregue um existente) PPT/PPTX usando a classe Apresentação.
  • Obtenha a referência do slide da coleção Presentation.slides.
  • Defina matrizes de colunas com largura e linhas com altura.
  • Crie uma tabela usando Slide.shapes.addTable() e obtenha a referência da tabela em um objeto.
  • Percorra as células para aplicar a formatação.
  • Adicione texto às células usando a propriedade Table.rows[][].textframe.text.
  • Salve a apresentação usando o método Presentation.save(string, export.SaveFormat).

O exemplo de código a seguir mostra como criar tabelas em uma apresentação do PowerPoint usando Python.

import aspose.slides as slides
import aspose.pydrawing as drawing

# Create presentation
with slides.Presentation() as pres:
    # Access first slide
    slide = pres.slides[0]

    # Define columns with widths and rows with heights
    dblCols =  [50, 50, 50] 
    dblRows =  [50, 30, 30, 30, 30] 

    # Add table shape to slide
    tbl = slide.shapes.add_table(100, 50, dblCols, dblRows)

    # Set border format for each cell
    for row in range(len(tbl.rows)):
        for cell in range(len(tbl.rows[row])):
            tbl.rows[row][cell].cell_format.border_top.fill_format.fill_type = slides.FillType.SOLID
            tbl.rows[row][cell].cell_format.border_top.fill_format.solid_fill_color.color = drawing.Color.blue
            tbl.rows[row][cell].cell_format.border_top.width = 5

            tbl.rows[row][cell].cell_format.border_bottom.fill_format.fill_type = slides.FillType.SOLID
            tbl.rows[row][cell].cell_format.border_bottom.fill_format.solid_fill_color.color= drawing.Color.blue
            tbl.rows[row][cell].cell_format.border_bottom.width =5

            tbl.rows[row][cell].cell_format.border_left.fill_format.fill_type = slides.FillType.SOLID
            tbl.rows[row][cell].cell_format.border_left.fill_format.solid_fill_color.color =drawing.Color.blue
            tbl.rows[row][cell].cell_format.border_left.width = 5

            tbl.rows[row][cell].cell_format.border_right.fill_format.fill_type = slides.FillType.SOLID
            tbl.rows[row][cell].cell_format.border_right.fill_format.solid_fill_color.color = drawing.Color.blue
            tbl.rows[row][cell].cell_format.border_right.width = 5


    # Merge cells 1 & 2 of row 1
    tbl.merge_cells(tbl.rows[0][0], tbl.rows[1][1], False)

    # Add text to the merged cell
    tbl.rows[0][0].text_frame.text = "Merged Cells"

    # Save the presentation
    pres.save("add-table-in-presentation.pptx", slides.export.SaveFormat.PPTX)

A seguir está a saída do trecho de código acima.

adicionar tabela no PowerPoint ppt em Python

Explore outros recursos de criação e manipulação de tabelas.

Criar gráfico em um PowerPoint PPT em Python

A seguir estão as etapas para adicionar um gráfico em uma apresentação do PowerPoint em Python.

  • Crie uma nova apresentação (ou carregue uma existente) usando a classe Apresentação.
  • Obtenha a referência do slide da coleção Presentation.slides.
  • Adicione um gráfico com o tipo desejado usando o método Slide.shapes.addChart(ChartType, single, single, single, single).
  • Acesse a planilha de dados do gráfico.
  • Limpe todas as séries e categorias padrão.
  • Adicione novas séries e categorias.
  • Adicione novos dados de gráfico para séries de gráficos.
  • Defina a cor de preenchimento para a série do gráfico.
  • Adicione rótulos de série de gráfico.
  • Salve a apresentação como um arquivo PPTX.

O exemplo de código a seguir mostra como adicionar um gráfico em um PPT usando Python.

import aspose.slides as slides
import aspose.pydrawing as drawing

# Create presentation
with slides.Presentation() as pres:
    # Access first slide
    slide = pres.slides[0]

    # Access first slide
    sld = pres.slides[0]

    # Add chart with default data
    chart = sld.shapes.add_chart(slides.charts.ChartType.CLUSTERED_COLUMN, 0, 0, 500, 500)

    # Set chart Title
    chart.chart_title.add_text_frame_for_overriding("Sample Title")
    chart.chart_title.text_frame_for_overriding.text_frame_format.center_text = 1
    chart.chart_title.height = 20
    chart.has_title = True

    # Set first series to Show Values
    chart.chart_data.series[0].labels.default_data_label_format.show_value = True

    # Set the index of chart data sheet
    defaultWorksheetIndex = 0

    # Get the chart data worksheet
    fact = chart.chart_data.chart_data_workbook

    # Delete default generated series and categories
    chart.chart_data.series.clear()
    chart.chart_data.categories.clear()
    s = len(chart.chart_data.series)
    s = len(chart.chart_data.categories)

    # Add new series
    chart.chart_data.series.add(fact.get_cell(defaultWorksheetIndex, 0, 1, "Series 1"), chart.type)
    chart.chart_data.series.add(fact.get_cell(defaultWorksheetIndex, 0, 2, "Series 2"), chart.type)

    # Add new categories
    chart.chart_data.categories.add(fact.get_cell(defaultWorksheetIndex, 1, 0, "Caetegoty 1"))
    chart.chart_data.categories.add(fact.get_cell(defaultWorksheetIndex, 2, 0, "Caetegoty 2"))
    chart.chart_data.categories.add(fact.get_cell(defaultWorksheetIndex, 3, 0, "Caetegoty 3"))

    # Take first chart series
    series = chart.chart_data.series[0]

    # Now populating series data

    series.data_points.add_data_point_for_bar_series(fact.get_cell(defaultWorksheetIndex, 1, 1, 20))
    series.data_points.add_data_point_for_bar_series(fact.get_cell(defaultWorksheetIndex, 2, 1, 50))
    series.data_points.add_data_point_for_bar_series(fact.get_cell(defaultWorksheetIndex, 3, 1, 30))

    # Set fill color for series
    series.format.fill.fill_type = slides.FillType.SOLID
    series.format.fill.solid_fill_color.color = drawing.Color.red

    # Take second chart series
    series = chart.chart_data.series[1]

    # Now populating series data
    series.data_points.add_data_point_for_bar_series(fact.get_cell(defaultWorksheetIndex, 1, 2, 30))
    series.data_points.add_data_point_for_bar_series(fact.get_cell(defaultWorksheetIndex, 2, 2, 10))
    series.data_points.add_data_point_for_bar_series(fact.get_cell(defaultWorksheetIndex, 3, 2, 60))

    # Setting fill color for series
    series.format.fill.fill_type = slides.FillType.SOLID
    series.format.fill.solid_fill_color.color = drawing.Color.orange

    # First label will be show Category name
    lbl = series.data_points[0].label
    lbl.data_label_format.show_category_name = True

    lbl = series.data_points[1].label
    lbl.data_label_format.show_series_name = True

    # Show value for third label
    lbl = series.data_points[2].label
    lbl.data_label_format.show_value = True
    lbl.data_label_format.show_series_name = True
    lbl.data_label_format.separator = "/"

    # Save the presentation
    pres.save("create-chart-in-presentation.pptx", slides.export.SaveFormat.PPTX)

A captura de tela a seguir mostra o gráfico que criamos usando o trecho de código acima.

adicionar gráfico no PowerPoint pptx em Python

Saiba mais sobre como criar gráficos em apresentações do PowerPoint.

Adicionar uma imagem no PowerPoint PPTX em Python

A seguir estão as etapas para adicionar uma imagem em um PowerPoint PPTX em Python.

  • Crie uma nova apresentação (ou carregue uma existente) usando a classe Apresentação.
  • Obtenha a referência do slide da coleção Presentation.slides.
  • Abra uma imagem do arquivo usando o método open(string, string).
  • Adicione uma imagem à coleção de imagens da apresentação usando o método Presentation.images.addimage().
  • Adicione uma imagem ao slide usando o método Slide.shapes.addpictureframe().
  • Salve a apresentação usando o método Presentation.save(string, export.SaveFormat).

O exemplo de código a seguir mostra como adicionar uma imagem a uma apresentação do PowerPoint em Python.

import aspose.slides as slides

# Create presentation
with slides.Presentation() as pres:
    # Access first slide
    slide = pres.slides[0]

    # Load image from file
    with open("python-logo.png", "rb") as in_file:
      
        # Add image to presentation's image collection
        image = pres.images.add_image(in_file)

        # Add image to slide
        slide.shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 10, 10, 100, 100, image)

    # Save the presentation
    pres.save("add-image-in-presentation.pptx", slides.export.SaveFormat.PPTX)

A seguir está a saída do exemplo de código acima.

adicionar imagens no PowerPoint PPT em Python

Leia mais sobre trabalhar com imagens em apresentações do PowerPoint.

Obtenha uma licença gratuita

Você pode usar o Aspose.Slides para Python via .NET sem limitações de avaliação obtendo uma licença temporária.

Conclusão

Neste artigo, você aprendeu como criar PowerPoint PPT/PPTX do zero em Python. Demonstramos como adicionar slides, texto, tabelas, gráficos e imagens em apresentações do PowerPoint. Além disso, você pode explorar outros recursos do Aspose.Slides for Python usando a documentação. Além disso, sinta-se à vontade para compartilhar suas dúvidas conosco por meio do nosso fórum.

Veja também