Ajouter un filigrane à PowerPoint PPT en Python

Les filigranes sont couramment utilisés pour protéger un document ou pour spécifier son propriétaire. D’autre part, ils sont utilisés pour afficher l’état d’un document tel que manuscrit, brouillon, etc. Dans cet article, nous allons montrer comment insérer des filigranes dans des présentations PowerPoint. Vous apprendrez à ajouter un filigrane de texte ou d’image aux diapositives PowerPoint PPT en Python.

Bibliothèque Python pour ajouter un filigrane aux diapositives PowerPoint

Pour ajouter ou supprimer des filigranes dans les diapositives PPT, nous utiliserons Aspose.Slides for Python via .NET. La bibliothèque vous permet de créer et de manipuler des présentations PowerPoint de manière transparente à partir d’applications Python. Utilisez la commande pip suivante pour installer la bibliothèque à partir de PyPI.

> pip install aspose.slides

Ajouter un filigrane aux diapositives PowerPoint PPT en Python

Deux types de filigrane peuvent être ajoutés aux diapositives PowerPoint : image et texte. Dans le filigrane basé sur l’image, une image est ajoutée aux diapositives PPT. Alors qu’un fragment de texte est placé sur les diapositives en cas de filigrane basé sur du texte. Les sections suivantes couvrent explicitement les deux types de filigrane.

Ajouter un filigrane de texte aux diapositives PowerPoint en Python

Voici les étapes pour ajouter un filigrane de texte aux diapositives PPT en Python.

  • Tout d’abord, chargez le PowerPoint PPT/PPTX à l’aide de la classe Presentation.
  • Obtenez la référence de la diapositive à laquelle vous souhaitez ajouter le filigrane.
  • Calculez la position du filigrane.
  • Ajoutez une nouvelle forme automatique pour le filigrane à l’aide de la méthode addautoshape().
  • Ajoutez un cadre de texte à la forme à l’aide de la méthode addtextframe().
  • Définissez la taille de la police, la couleur, l’ordre et l’angle de rotation du filigrane.
  • Verrouillez le filigrane pour éviter sa suppression ou sa modification.
  • Enfin, enregistrez le fichier PowerPoint mis à jour à l’aide de la méthode Presentation.save(string, SaveFormat).

L’exemple de code suivant montre comment ajouter un filigrane de texte aux diapositives PowerPoint.

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

# load presentation
with slides.Presentation("presentation.pptx") as presentation:
    # select slide
    slide = presentation.slides[0]

    # set watermark position
    center = drawing.PointF(presentation.slide_size.size.width / 2, presentation.slide_size.size.height / 2)
    width = 300
    height = 300
    x = center.x - width / 2
    y = center.y - height / 2

    # add watermark
    watermarkShape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, x, y, height, width)
    watermarkShape.name = "watermark"
    watermarkShape.fill_format.fill_type = slides.FillType.NO_FILL
    watermarkShape.line_format.fill_format.fill_type = slides.FillType.NO_FILL

    # set watermark text, font and color
    watermarkTextFrame = watermarkShape.add_text_frame("Watermark")
    watermarkPortion = watermarkTextFrame.paragraphs[0].portions[0]
    watermarkPortion.portion_format.font_height = 52        
    watermarkPortion.portion_format.fill_format.fill_type = slides.FillType.SOLID
    watermarkPortion.portion_format.fill_format.solid_fill_color.color = drawing.Color.red

    # lock watermark to avoid modification
    watermarkShape.shape_lock.select_locked = True
    watermarkShape.shape_lock.size_locked = True
    watermarkShape.shape_lock.text_locked = True
    watermarkShape.shape_lock.position_locked = True
    watermarkShape.shape_lock.grouping_locked = True

    # set rotation
    watermarkShape.rotation = -45

    # send to back
    slide.shapes.reorder(0, watermarkShape)

    # save presentation
    presentation.save("text-watermark-slide.pptx", slides.export.SaveFormat.PPTX)

Pour ajouter le filigrane à toutes les diapositives, vous pouvez parcourir les diapositives en boucle ou ajouter le filigrane à la diapositive principale, comme illustré dans l’exemple de code suivant.

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

# load presentation
with slides.Presentation("presentation.pptx") as presentation:
    # select slide
    master = presentation.masters[0]

    # set watermark position
    center = drawing.PointF(presentation.slide_size.size.width / 2, presentation.slide_size.size.height / 2)
    width = 300
    height = 300
    x = center.x - width / 2
    y = center.y - height / 2

    # add watermark
    watermarkShape = master.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, x, y, height, width)
    watermarkShape.name = "watermark"
    watermarkShape.fill_format.fill_type = slides.FillType.NO_FILL
    watermarkShape.line_format.fill_format.fill_type = slides.FillType.NO_FILL

    # set watermark text, font and color
    watermarkTextFrame = watermarkShape.add_text_frame("Watermark")
    watermarkPortion = watermarkTextFrame.paragraphs[0].portions[0]
    watermarkPortion.portion_format.font_height = 52        
    watermarkPortion.portion_format.fill_format.fill_type = slides.FillType.SOLID
    watermarkPortion.portion_format.fill_format.solid_fill_color.color = drawing.Color.red

    # lock watermark to avoid modification
    watermarkShape.shape_lock.select_locked = True
    watermarkShape.shape_lock.size_locked = True
    watermarkShape.shape_lock.text_locked = True
    watermarkShape.shape_lock.position_locked = True
    watermarkShape.shape_lock.grouping_locked = True

    # send to back
    master.shapes.reorder(0, watermarkShape)

    # set rotation
    watermarkShape.rotation = -45

    # save presentation
    presentation.save("text-watermark-ppt.pptx", slides.export.SaveFormat.PPTX)

Voici la capture d’écran de la diapositive PowerPoint après l’ajout du filigrane.

Ajouter un filigrane de texte aux diapositives PowerPoint en Python

Ajouter un filigrane d’image aux diapositives PowerPoint en Python

Voici les étapes pour ajouter un filigrane d’image aux diapositives PowerPoint en Python.

  • Tout d’abord, chargez la présentation PowerPoint à l’aide de la classe Presentation.
  • Obtenez la référence de la diapositive à laquelle vous souhaitez ajouter le filigrane.
  • Calculez la position du filigrane.
  • Chargez l’image du filigrane à partir du fichier.
  • Ajoutez une nouvelle forme de filigrane à l’aide de la méthode addautoshape() et définissez shape.fillformat.filltype sur FillType.PICTURE.
  • Définissez l’image du filigrane à l’aide de la propriété shape.fillformat.picturefillformat.picture.image.
  • Définissez l’ordre du filigrane et verrouillez-le pour éviter toute modification.
  • Enfin, enregistrez le PPT mis à jour à l’aide de la méthode Presentation.save(string, SaveFormat).

L’exemple de code suivant montre comment ajouter un filigrane d’image aux diapositives PowerPoint.

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

# load presentation
with slides.Presentation("presentation.pptx") as presentation:
    # select slide
    slide = presentation.slides[0]

    # set watermark position
    center = drawing.PointF(presentation.slide_size.size.width / 2, presentation.slide_size.size.height / 2)
    width = 100
    height = 100
    x = center.x - width / 2
    y = center.y - height / 2

    # load image
    with open("python-logo.png", "rb") as fs:
        data = fs.read()
        image = presentation.images.add_image(data)

        # add watermark
        watermarkShape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, x, y, height, width)
        watermarkShape.name = "watermark"

        # set image for watermark
        watermarkShape.fill_format.fill_type = slides.FillType.PICTURE
        watermarkShape.fill_format.picture_fill_format.picture.image = image
        watermarkShape.fill_format.picture_fill_format.picture_fill_mode = slides.PictureFillMode.STRETCH
        watermarkShape.line_format.fill_format.fill_type = slides.FillType.NO_FILL

        # send to back
        slide.shapes.reorder(0, watermarkShape)

        # lock watermark to avoid modification
        watermarkShape.shape_lock.select_locked = True
        watermarkShape.shape_lock.size_locked = True
        watermarkShape.shape_lock.text_locked = True
        watermarkShape.shape_lock.position_locked = True
        watermarkShape.shape_lock.grouping_locked = True

    # save presentation
    presentation.save("image-watermark-ppt.pptx", slides.export.SaveFormat.PPTX)

Voici la capture d’écran de la diapositive PPT après l’ajout d’un filigrane d’image.

Ajouter un filigrane d'image aux diapositives PowerPoint en Python

Supprimer le filigrane des diapositives PPT en Python

Dans les sections précédentes, vous avez dû remarquer que nous avons attribué un nom aux formes de filigrane. Ce nom est utilisé pour filtrer les formes utilisées comme filigrane. Ainsi, nous pouvons accéder, modifier ou supprimer facilement les formes de filigrane. L’exemple de code suivant montre comment supprimer les filigranes que nous avons ajoutés aux diapositives PPT en Python.

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

# load presentation
with slides.Presentation("text-watermark-slide.pptx") as presentation:
    # select slide
    slide = presentation.slides[0]

    shapesToRemove=[]

    # loop through all the shapes in slide
    for i in range(len(slide.shapes)):
        shape = slide.shapes[i]

        # if shape is watermark
        if shape.name == "watermark":                
            shapesToRemove.append(shape)

    # loop through all the shapes to be removed
    for i in range(len(shapesToRemove)):
        # remove shape
        slide.shapes.remove(shapesToRemove[i])

    # save presentation
    presentation.save("remove-watermark.pptx", slides.export.SaveFormat.PPTX)

Obtenez une licence gratuite

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

Conclusion

Dans cet article, vous avez appris à ajouter un filigrane aux diapositives PowerPoint en Python. Nous avons expliqué comment ajouter des filigranes de texte et d’image aux diapositives PPT. De plus, vous avez vu comment supprimer le filigrane d’un PPT PowerPoint par programmation. De plus, vous pouvez lire la documentation pour explorer d’autres fonctionnalités d’Aspose.Slides for Python. Vous pouvez également poster vos questions sur notre forum.

Voir également

Info : Vous pouvez consulter les outils en ligne gratuits proposés par Aspose.Slides pour ajouter des filigranes et supprimer des filigranes des présentations PowerPoint.