Ajouter un filigrane à PowerPoint Java

Les filigranes sont couramment utilisés pour spécifier la propriété ou pour empêcher l’utilisation non autorisée des documents. D’autre part, ils sont également utilisés pour afficher l’état d’un document tel qu’un manuscrit, un brouillon, etc. Dans cet article, vous apprendrez à ajouter un filigrane de texte ou d’image aux diapositives PowerPoint par programmation à l’aide de Java.

API Java pour ajouter un filigrane aux diapositives PowerPoint

Pour ajouter des filigranes aux diapositives PowerPoint, nous utiliserons Aspose.Slides for Java. Il s’agit d’une API de manipulation de présentation qui vous permet de créer et de manipuler des documents de présentation à partir des applications Java. Vous pouvez soit télécharger l’API ou l’installer à l’aide des configurations Maven suivantes.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>http://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-slides</artifactId>
    <version>21.7</version>
    <classifier>jdk16</classifier>
</dependency>

Ajouter un filigrane de texte aux diapositives PowerPoint en Java

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

  • Commencez par charger la présentation PowerPoint à l’aide de la classe Presentation.
  • Récupère la référence du masque des diapositives dans un objet IMasterSlide.
  • Calculez la position du filigrane en fonction des dimensions de présentation.
  • 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.

// Présentation ouverte
Presentation pres = new Presentation("presentation.pptx");

try {
	// Maître d'accès
	IMasterSlide master = pres.getMasters().get_Item(0);

	Point2D.Float center = new Point2D.Float((float) pres.getSlideSize().getSize().getWidth() / 2,
			(float) pres.getSlideSize().getSize().getHeight() / 2);

	float width = 300;
	float height = 300;
	float x = (float) center.getX() - width / 2;
	float y = (float) center.getY() - height / 2;

	// Ajouter une forme
	IAutoShape watermarkShape = master.getShapes().addAutoShape(ShapeType.Rectangle, x, y, width, height);

	// Définir le type de remplissage
	watermarkShape.getFillFormat().setFillType(FillType.NoFill);
	watermarkShape.getLineFormat().getFillFormat().setFillType(FillType.NoFill);

	// Définir l'angle de rotation
	watermarkShape.setRotation(-45);

	// Définir le texte
	ITextFrame watermarkTextFrame = watermarkShape.addTextFrame("Watermark");

	// Définir la police et la couleur
	IPortion watermarkPortion = watermarkTextFrame.getParagraphs().get_Item(0).getPortions().get_Item(0);
	watermarkPortion.getPortionFormat().setFontHeight(52);

	int alpha = 150, red = 200, green = 200, blue = 200;
	watermarkPortion.getPortionFormat().getFillFormat().setFillType(FillType.Solid);
	watermarkPortion.getPortionFormat().getFillFormat().getSolidFillColor()
			.setColor(new Color(red, green, blue, alpha));

	// Empêcher la modification des formes
	watermarkShape.getAutoShapeLock().setSelectLocked(true);
	watermarkShape.getAutoShapeLock().setSizeLocked(true);
	watermarkShape.getAutoShapeLock().setTextLocked(true);
	watermarkShape.getAutoShapeLock().setPositionLocked(true);
	watermarkShape.getAutoShapeLock().setGroupingLocked(true);

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

} finally {
	if (pres != null)
		pres.dispose();
}

Production

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

Ajouter un filigrane de texte à PPT Java

Ajouter un filigrane d’image aux diapositives PowerPoint en Java

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

  • Commencez par charger la présentation PowerPoint à l’aide de la classe Presentation.
  • Récupère la référence du masque des diapositives dans un objet IMasterSlide.
  • Calculez la position du filigrane en fonction des dimensions de présentation.
  • Ajoutez une nouvelle forme automatique à la collection Shapes de la diapositive et obtenez sa référence dans l’objet IAutoShape.
  • Ajoutez une image à la présentation et récupérez sa référence dans l’objet IPPImage.
  • Définissez le type de remplissage de IAutoShape sur FillType.Picture.
  • Définissez l’image du filigrane à l’aide de la méthode IAutoShape.getFillFormat().getPictureFillFormat().getPicture().setImage(IPPImage).
  • 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.

// Présentation ouverte
Presentation pres = new Presentation("presentation.pptx");

try {
	// Accéder au masque des diapositives
	IMasterSlide master = pres.getMasters().get_Item(0);

	Point2D.Float center = new Point2D.Float((float) pres.getSlideSize().getSize().getWidth() / 2,
			(float) pres.getSlideSize().getSize().getHeight() / 2);

	float width = 300;
	float height = 300;
	float x = (float) center.getX() - width / 2;
	float y = (float) center.getY() - height / 2;

	// Ajouter une forme
	IAutoShape watermarkShape = master.getShapes().addAutoShape(ShapeType.Rectangle, x, y, width, height);

	IPPImage image = pres.getImages().addImage(Files.readAllBytes(Paths.get("watermark.png")));

	// Définir le type de remplissage
	watermarkShape.getFillFormat().setFillType(FillType.Picture);
	watermarkShape.getFillFormat().getPictureFillFormat().getPicture().setImage(image);
	watermarkShape.getFillFormat().getPictureFillFormat().setPictureFillMode(PictureFillMode.Stretch);
	watermarkShape.getLineFormat().getFillFormat().setFillType(FillType.NoFill);

	// Empêcher la modification des formes
	watermarkShape.getAutoShapeLock().setSelectLocked(true);
	watermarkShape.getAutoShapeLock().setSizeLocked(true);
	watermarkShape.getAutoShapeLock().setTextLocked(true);
	watermarkShape.getAutoShapeLock().setPositionLocked(true);
	watermarkShape.getAutoShapeLock().setGroupingLocked(true);

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

} finally {
	if (pres != null)
		pres.dispose();
}

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

Ajouter un filigrane d'image au PPT Java

Obtenez une licence API gratuite

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

Essayez en ligne

Essayez l’outil de filigrane en ligne suivant, développé à l’aide d’Aspose.Slides.

Conclusion

Dans cet article, vous avez appris à ajouter un filigrane aux diapositives PowerPoint à l’aide de Java. 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