Créer et modifier PowerPoint ppt pptx en Python

MS PowerPoint est une application riche en fonctionnalités qui vous permet de créer des présentations interactives à l’aide de graphiques, de graphiques, d’animations et d’autres éléments. En tant que programmeur, vous devrez peut-être automatiser les fonctionnalités de manipulation de présentation de PowerPoint à partir des applications Python. Dans cet article, vous apprendrez à créer des présentations PowerPoint PPT ou PPTX en Python. De plus, nous expliquerons comment ajouter des diapositives, du texte, des tableaux, des images et des graphiques dans les présentations par programme.

Bibliothèque Python pour créer PowerPoint PPT

Aspose.Slides for Python via .NET est une puissante bibliothèque Python qui vous permet de créer et de manipuler PowerPoint PPT/PPTX sans MS Office. De plus, vous pouvez mettre à jour les présentations existantes et les convertir dans d’autres formats. Vous pouvez installer la bibliothèque à partir de PyPI à l’aide de la commande pip suivante.

> pip install aspose.slides

Créer un PPT PowerPoint en Python

Commençons par créer une présentation PowerPoint avec une diapositive vide, qui est ajoutée par défaut. Les étapes suivantes montrent comment créer un PPT PowerPoint en Python.

  • Tout d’abord, créez une instance de la classe Presentation.
  • Ensuite, enregistrez PPT en utilisant la méthode Presentation.save(string, export.SaveFormat).

L’exemple de code suivant montre comment créer un fichier PowerPoint PPTX en 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)

Ouvrir un fichier PowerPoint PPTX en Python

Vous pouvez également ouvrir une présentation existante et mettre à jour son contenu. Pour ce faire, il vous suffit de fournir le chemin du fichier de présentation dans le constructeur Presentation. L’exemple de code suivant montre comment ouvrir un fichier PPT/PPTX existant en 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)

Ajouter une diapositive à PowerPoint PPT en Python

Ajoutons maintenant une nouvelle diapositive dans la présentation que nous avons créée précédemment. Vous pouvez également ajouter des diapositives à une présentation existante de la même manière en ouvrant d’abord la présentation (comme indiqué dans la section précédente). Voici les étapes pour ajouter une diapositive dans la présentation PPT/PPTX en Python.

  • Tout d’abord, créez une nouvelle présentation (ou chargez une présentation existante) à l’aide de la classe Presentation.
  • Ensuite, obtenez la référence de la collection de diapositives à l’aide de la propriété Presentation.slides.
  • Ajoutez une diapositive à l’aide de la méthode Presentation.slides.addemptyslide(LayoutSlide).
  • Enfin, enregistrez la présentation à l’aide de la méthode Presentation.save(string, export.SaveFormat).

L’exemple de code suivant montre comment ajouter une diapositive dans une présentation PowerPoint en 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)

Ajouter du texte à un PPT PowerPoint en Python

Une fois que nous avons ajouté une diapositive, nous pouvons procéder à l’ajout du contenu. Voyons d’abord comment ajouter du texte aux diapositives de la présentation en Python.

  • Créez un nouveau (ou chargez un PPT/PPTX existant) à l’aide de la classe Presentation.
  • Obtenez la référence de la diapositive à partir de la collection Presentation.slides.
  • Ajoutez une nouvelle forme automatique dans la diapositive à l’aide de la méthode Slide.shapes.addautoshape(slides.ShapeType.RECTANGLE, int, int, int, int) et obtenez la référence de la forme dans un objet.
  • Ajoutez un cadre de texte à la forme à l’aide de la méthode addtextframe(string).
  • Accéder au paragraphe par défaut du cadre de texte.
  • Accédez à la partie par défaut du paragraphe.
  • Ajoutez du texte à la partie et enregistrez la présentation à l’aide de la méthode Presentation.save(string, export.SaveFormat).

L’exemple de code suivant montre comment ajouter du texte à la diapositive dans un PPT à l’aide de 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)

Voici la capture d’écran de la diapositive après avoir ajouté le texte.

ajouter du texte dans powerpoint ppt en python

En savoir plus sur le travail avec du texte dans les présentations PowerPoint.

Créer un tableau dans un PPT PowerPoint en Python

Les tableaux font partie intégrante des documents et sont également largement utilisés dans les présentations PowerPoint. Aspose.Slides for Python vous permet de créer plus facilement un tableau dans une présentation. Voyons donc comment créer une table dans un PPT en utilisant Python.

  • Créez un nouveau PPT/PPTX (ou chargez un existant) en utilisant la classe Presentation.
  • Obtenez la référence de la diapositive à partir de la collection Presentation.slides.
  • Définissez des tableaux de colonnes avec une largeur et des lignes avec une hauteur.
  • Créez une table à l’aide de Slide.shapes.addTable() et obtenez la référence de la table dans un objet.
  • Parcourez les cellules pour appliquer la mise en forme.
  • Ajoutez du texte aux cellules à l’aide de la propriété Table.rows[][].textframe.text.
  • Enregistrez la présentation à l’aide de la méthode Presentation.save(string, export.SaveFormat).

L’exemple de code suivant montre comment créer des tableaux dans une présentation PowerPoint à l’aide de 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)

Voici la sortie de l’extrait de code ci-dessus.

ajouter un tableau dans PowerPoint ppt en Python

Découvrez d’autres fonctionnalités de création et manipulation de tableaux.

Créer un graphique dans un PowerPoint PPT en Python

Voici les étapes pour ajouter un graphique dans une présentation PowerPoint en Python.

  • Créez une nouvelle présentation (ou chargez une présentation existante) à l’aide de la classe Presentation.
  • Obtenez la référence de la diapositive à partir de la collection Presentation.slides.
  • Ajoutez un graphique avec le type souhaité à l’aide de la méthode Slide.shapes.addChart(ChartType, single, single, single, single).
  • Accédez à la feuille de calcul des données du graphique.
  • Effacez toutes les séries et catégories par défaut.
  • Ajouter de nouvelles séries et catégories.
  • Ajoutez de nouvelles données de graphique pour les séries de graphiques.
  • Définissez la couleur de remplissage des séries de graphiques.
  • Ajoutez des étiquettes de série de graphiques.
  • Enregistrez la présentation en tant que fichier PPTX.

L’exemple de code suivant montre comment ajouter un graphique dans un PPT à l’aide de 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)

La capture d’écran suivante montre le graphique que nous avons créé à l’aide de l’extrait de code ci-dessus.

ajouter un graphique dans PowerPoint pptx en Python

En savoir plus sur la création de graphiques dans les présentations PowerPoint.

Ajouter une image dans PowerPoint PPTX en Python

Voici les étapes pour ajouter une image dans un PowerPoint PPTX en Python.

  • Créez une nouvelle présentation (ou chargez une présentation existante) à l’aide de la classe Presentation.
  • Obtenez la référence de la diapositive à partir de la collection Presentation.slides.
  • Ouvrez une image à partir d’un fichier à l’aide de la méthode open(string, string).
  • Ajoutez une image dans la collection d’images de la présentation à l’aide de la méthode Presentation.images.addimage().
  • Ajoutez une image à la diapositive à l’aide de la méthode Slide.shapes.addpictureframe().
  • Enregistrez la présentation à l’aide de la méthode Presentation.save(string, export.SaveFormat).

L’exemple de code suivant montre comment ajouter une image à une présentation PowerPoint en 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)

Voici la sortie de l’exemple de code ci-dessus.

ajouter des images dans PowerPoint PPT en Python

En savoir plus sur l’utilisation d’images dans les présentations PowerPoint.

Obtenez une licence gratuite

Vous pouvez utiliser Aspose.Slides for Python via .NET sans limitation d’évaluation en obtenant une licence temporaire.

Conclusion

Dans cet article, vous avez appris à créer PowerPoint PPT/PPTX à partir de zéro en Python. Nous avons montré comment ajouter des diapositives, du texte, des tableaux, des graphiques et des images dans des présentations PowerPoint. De plus, vous pouvez explorer d’autres fonctionnalités d’Aspose.Slides for Python à l’aide de la documentation. N’hésitez pas non plus à nous faire part de vos questions via notre forum.

Voir également