Crea e modifica PowerPoint ppt pptx in Python

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

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.

aggiungi testo in powerpoint ppt in python

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.

aggiungi tabella in PowerPoint ppt in Python

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.

aggiungi grafico in PowerPoint pptx in Python

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.

aggiungi immagini in PowerPoint PPT in Python

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.

Guarda anche