MS PowerPoint è un’applicazione ricca di funzionalità che consente di creare presentazioni interattive utilizzando grafici, grafica, animazioni e altri elementi. Come programmatore, potrebbe essere necessario automatizzare le funzionalità di manipolazione della presentazione di PowerPoint dall’interno delle applicazioni Python. In questo post imparerai come creare presentazioni PowerPoint PPT o PPTX in Python. Inoltre, illustreremo come aggiungere diapositive, testo, tabelle, immagini e grafici nelle presentazioni in modo programmatico.
- Libreria Python per creare PowerPoint PPT
- Crea un PPT PowerPoint
- Apri una presentazione esistente
- Aggiungi diapositiva a una presentazione
- Aggiungi testo a una presentazione
- Crea una tabella nella presentazione
- Crea un grafico in Presentazione
- Aggiungi un’immagine nella presentazione
Libreria Python per creare PowerPoint PPT
Aspose.Slides for Python via .NET è una potente libreria Python che consente di creare e manipolare PowerPoint PPT/PPTX senza MS Office. Inoltre, puoi aggiornare le presentazioni esistenti e convertirle in altri formati. Puoi installare la libreria da PyPI usando il seguente comando pip.
> pip install aspose.slides
Crea un PPT PowerPoint in Python
Innanzitutto, creiamo una presentazione PowerPoint con una diapositiva vuota, che viene aggiunta per impostazione predefinita. I passaggi seguenti mostrano come creare un PPT di PowerPoint in Python.
- Innanzitutto, crea un’istanza della classe Presentation.
- Quindi, salva PPT usando il metodo Presentation.save(string, export.SaveFormat).
L’esempio di codice seguente mostra come creare un file PPTX di PowerPoint in 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)
Apri un file PPTX di PowerPoint in Python
Puoi anche aprire una presentazione esistente e aggiornarne il contenuto. Per ottenere ciò, devi solo fornire il percorso del file di presentazione nel costruttore di presentazione. L’esempio di codice seguente mostra come aprire un file PPT/PPTX esistente in 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)
Aggiungi una diapositiva a PowerPoint PPT in Python
Aggiungiamo ora una nuova diapositiva nella presentazione che abbiamo creato in precedenza. Puoi anche aggiungere diapositive a una presentazione esistente nello stesso modo aprendo prima la presentazione (come mostrato nella sezione precedente). Di seguito sono riportati i passaggi per aggiungere una diapositiva nella presentazione PPT/PPTX in Python.
- Innanzitutto, crea una nuova (o carica esistente) presentazione usando la classe Presentazione.
- Quindi, ottieni il riferimento della raccolta di diapositive usando la proprietà Presentation.slides.
- Aggiungi diapositiva usando il metodo Presentation.slides.addemtyslide(LayoutSlide).
- Infine, salva la presentazione usando il metodo Presentation.save(string, export.SaveFormat).
L’esempio di codice seguente mostra come aggiungere una diapositiva in una presentazione di PowerPoint in 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)
Aggiungi testo a un PPT di PowerPoint in Python
Dopo aver aggiunto una diapositiva, possiamo procedere con l’aggiunta del contenuto. Per prima cosa, vediamo come aggiungere testo alle diapositive della presentazione in Python.
- Crea un nuovo (o carica esistente) PPT/PPTX usando la classe Presentazione.
- Ottieni il riferimento della diapositiva dalla raccolta Presentation.slides.
- Aggiungi una nuova forma automatica nella diapositiva usando il metodo Slide.shapes.addautoshape(slides.ShapeType.RECTANGLE, int, int, int, int) e ottieni il riferimento della forma in un oggetto.
- Aggiungi una cornice di testo alla forma usando il metodo addtextframe(string).
- Accedi al paragrafo predefinito della cornice di testo.
- Accedi alla parte predefinita del paragrafo.
- Aggiungi del testo alla parte e salva la presentazione usando il metodo Presentation.save(string, export.SaveFormat).
L’esempio di codice seguente mostra come aggiungere testo alla diapositiva in un 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)
Quello che segue è lo screenshot della diapositiva dopo aver aggiunto il testo.
Leggi di più sull’utilizzo del testo nelle presentazioni PowerPoint.
Crea una tabella in un PowerPoint PPT in Python
Le tabelle sono parte integrante dei documenti e sono ampiamente utilizzate anche nelle presentazioni PowerPoint. Aspose.Slides per Python semplifica notevolmente la creazione di una tabella in una presentazione. Vediamo quindi come creare una tabella in un PPT usando Python.
- Crea un nuovo (o carica esistente) PPT/PPTX usando la classe Presentazione.
- Ottieni il riferimento della diapositiva dalla raccolta Presentation.slides.
- Definisci matrici di colonne con larghezza e righe con altezza.
- Crea una tabella usando Slide.shapes.addTable() e ottieni il riferimento della tabella in un oggetto.
- Scorri le celle per applicare la formattazione.
- Aggiungi testo alle celle usando la proprietà Table.rows[][].textframe.text.
- Salva la presentazione utilizzando il metodo Presentation.save(string, export.SaveFormat).
L’esempio di codice seguente mostra come creare tabelle in una presentazione di 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)
Quello che segue è l’output del frammento di codice sopra.
Esplora altre funzionalità di creazione e manipolazione di tabelle.
Crea grafico in un PowerPoint PPT in Python
Di seguito sono riportati i passaggi per aggiungere un grafico in una presentazione PowerPoint in Python.
- Crea una nuova (o carica esistente) presentazione usando la classe Presentazione.
- Ottieni il riferimento della diapositiva dalla raccolta Presentation.slides.
- Aggiungi un grafico con il tipo desiderato usando il metodo Slide.shapes.addChart(ChartType, single, single, single, single).
- Accedi al foglio di lavoro dei dati del grafico.
- Cancella tutte le serie e le categorie predefinite.
- Aggiungi nuove serie e categorie.
- Aggiungi nuovi dati del grafico per le serie di grafici.
- Imposta il colore di riempimento per le serie di grafici.
- Aggiungi etichette delle serie di grafici.
- Salva la presentazione come file PPTX.
L’esempio di codice seguente mostra come aggiungere un grafico in un 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)
Lo screenshot seguente mostra il grafico che abbiamo creato utilizzando lo snippet di codice sopra.
Ulteriori informazioni sulla creazione di grafici nelle presentazioni PowerPoint.
Aggiungi un’immagine in PowerPoint PPTX in Python
Di seguito sono riportati i passaggi per aggiungere un’immagine in un PPTX PowerPoint in Python.
- Crea una nuova (o carica esistente) presentazione usando la classe Presentazione.
- Ottieni il riferimento della diapositiva dalla raccolta Presentation.slides.
- Apri un’immagine da file usando il metodo open(string, string).
- Aggiungi un’immagine alla raccolta di immagini della presentazione utilizzando il metodo Presentation.images.addimage().
- Aggiungi un’immagine alla diapositiva usando il metodo Slide.shapes.addpictureframe().
- Salva la presentazione utilizzando il metodo Presentation.save(string, export.SaveFormat).
L’esempio di codice seguente mostra come aggiungere un’immagine a una presentazione di PowerPoint in 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)
Di seguito è riportato l’output dell’esempio di codice precedente.
Leggi di più su lavorare con le immagini nelle presentazioni PowerPoint.
Ottieni una licenza gratuita
Puoi utilizzare Aspose.Slides per Python tramite .NET senza limitazioni di valutazione ottenendo una licenza temporanea.
Conclusione
In questo articolo, hai imparato come creare PowerPoint PPT/PPTX da zero in Python. Abbiamo dimostrato come aggiungere diapositive, testo, tabelle, grafici e immagini nelle presentazioni PowerPoint. Inoltre, puoi esplorare altre funzionalità di Aspose.Slides per Python usando la documentazione. Inoltre, sentiti libero di condividere le tue domande con noi tramite il nostro forum.