Ajouter un filigrane à PowerPoint C#

Les filigranes sont couramment utilisés pour spécifier la propriété ou pour empêcher l’utilisation non autorisée des documents. En outre, ils sont également utilisés pour afficher l’état d’un document tel que manuscrit, brouillon, etc. Dans cet article, nous montrerons comment protéger les présentations PowerPoint en appliquant des filigranes par programmation. En particulier, vous apprendrez à ajouter un filigrane de texte ou d’image aux diapositives PowerPoint à l’aide de C#.

API C# pour ajouter un filigrane aux diapositives PowerPoint

Afin d’ajouter des filigranes aux diapositives PowerPoint, nous utiliserons Aspose.Slides for .NET. Il s’agit d’une API riche en fonctionnalités qui vous permet de créer des documents de présentation à partir des applications .NET. De plus, il vous permet également de manipuler les fichiers de présentation existants. Vous pouvez soit télécharger l’API ou l’installer à l’aide de NuGet.

PM> Install-Package Aspose.Slides.NET

Ajouter un filigrane de texte aux diapositives PowerPoint en C#

Voici les étapes pour ajouter un filigrane de texte aux diapositives PowerPoint à l’aide de C#.

  • Commencez par charger la présentation PowerPoint à l’aide de la classe Presentation.
  • Obtenez la référence de la diapositive à laquelle vous souhaitez ajouter le filigrane dans l’objet ISlide.
  • Calculez la position du filigrane.
  • Ajoutez une nouvelle forme automatique à la collection Shapes de la diapositive et obtenez sa référence dans l’objet IAutoShape.
  • Ajoutez un cadre de texte à la forme et définissez son texte à l’aide de la méthode IAutoShape.AddTextFrame(string).
  • Définissez la taille de la police, la couleur 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.

// Charger la présentation 
Presentation presentation = new Presentation("presentation.pptx");

// Obtenir la référence de la diapositive
ISlide slide = presentation.Slides[0];

// Obtenez le centre de la diapositive et calculez la position du filigrane
PointF center = new PointF(presentation.SlideSize.Size.Width / 2, presentation.SlideSize.Size.Height / 2);
float width = 300;
float height = 300;
float x = center.X - width / 2;
float y = center.Y - height / 2;

// Ajouter une forme de filigrane
IAutoShape watermarkShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, x, y, width, height);

// Définir le type de remplissage
watermarkShape.FillFormat.FillType = FillType.NoFill;
watermarkShape.LineFormat.FillFormat.FillType = FillType.NoFill;

// Définir l'angle de rotation
watermarkShape.Rotation = -45;
            
// Définir le texte
ITextFrame watermarkTextFrame = watermarkShape.AddTextFrame("Watermark");
IPortion watermarkPortion = watermarkTextFrame.Paragraphs[0].Portions[0];

// Définir la taille de la police et le type de remplissage du filigrane
watermarkPortion.PortionFormat.FontHeight = 52;
watermarkPortion.PortionFormat.FillFormat.FillType = FillType.Solid;
int alpha = 150, red = 200, green = 200, blue = 200;
watermarkPortion.PortionFormat.FillFormat.SolidFillColor.Color = System.Drawing.Color.FromArgb(alpha, red, green, blue);

// Empêcher la modification des formes
watermarkShape.ShapeLock.SelectLocked = true;
watermarkShape.ShapeLock.SizeLocked = true;
watermarkShape.ShapeLock.TextLocked = true;
watermarkShape.ShapeLock.PositionLocked = true;
watermarkShape.ShapeLock.GroupingLocked = true;

// Enregistrer la présentation
presentation.Save("watermarked-presentation.pptx", SaveFormat.Pptx);

Production

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

Ajouter un filigrane aux diapositives PowerPoint en C#

Ajouter un filigrane d’image aux diapositives PowerPoint en C#

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

  • Commencez par charger la présentation PowerPoint à l’aide de la classe Presentation.
  • Obtenez la référence de la diapositive à laquelle vous souhaitez ajouter le filigrane dans l’objet ISlide.
  • Calculez la position du filigrane.
  • Ajoutez une image à la présentation et récupérez sa référence dans l’objet IPPImage.
  • Ajoutez une nouvelle forme automatique à la collection Shapes de la diapositive et obtenez sa référence dans l’objet IAutoShape.
  • Définissez IAutoShape.FillFormat.FillType sur FillType.Picture.
  • Définissez l’image du filigrane en affectant l’objet IPPImage à la propriété IAutoShape.FillFormat.PictureFillFormat.Picture.Image.
  • 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 d’image aux diapositives PowerPoint.

// Charger la présentation 
Presentation presentation = new Presentation("presentation.pptx");

// Obtenir la référence de la diapositive
ISlide slide = presentation.Slides[0];

// Obtenez le centre de la diapositive et calculez la position du filigrane
PointF center = new PointF(presentation.SlideSize.Size.Width / 2, presentation.SlideSize.Size.Height / 2);
float width = 300;
float height = 300;
float x = center.X - width / 2;
float y = center.Y - height / 2;

// Charger l'image
IPPImage image = presentation.Images.AddImage(File.ReadAllBytes("watermark.png"));

// Ajouter une forme de filigrane et définir une image
IAutoShape watermarkShape = slide.Shapes.AddAutoShape(ShapeType.Rectangle, x, y, width, height);
watermarkShape.FillFormat.FillType = FillType.Picture;
watermarkShape.FillFormat.PictureFillFormat.Picture.Image = image;
watermarkShape.FillFormat.PictureFillFormat.PictureFillMode = PictureFillMode.Stretch;         
watermarkShape.LineFormat.FillFormat.FillType = FillType.NoFill;

// Empêcher la modification des formes
watermarkShape.ShapeLock.SelectLocked = true;
watermarkShape.ShapeLock.SizeLocked = true;
watermarkShape.ShapeLock.TextLocked = true;
watermarkShape.ShapeLock.PositionLocked = true;
watermarkShape.ShapeLock.GroupingLocked = true;

// Enregistrer la présentation
presentation.Save("watermarked-presentation.pptx", SaveFormat.Pptx);

Obtenez une licence API gratuite

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

Conclusion

Dans cet article, vous avez appris à ajouter un filigrane aux diapositives PowerPoint à l’aide de C#. Le guide étape par étape et les exemples de code ont montré comment ajouter des filigranes de texte et d’image aux présentations PowerPoint. De plus, vous pouvez consulter la documentation pour explorer d’autres fonctionnalités de l’API. N’hésitez pas non plus à nous faire part de vos questions via notre forum.

Voir également

Info : vous pouvez consulter les outils en ligne gratuits Aspose.Slides Ajouter un filigrane à PowerPoint et Supprimer le filigrane de PowerPoint.