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
- Criar um PPT do PowerPoint
- Abrir uma apresentação existente
- Adicionar slide a uma apresentação
- Adicionar texto a uma apresentação
- Criar uma tabela na apresentação
- Criar um gráfico na apresentação
- Adicionar uma imagem na apresentação
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.
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.
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.
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.
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.