Formater les formes PowerPoint en PHP
Introduction
Dans PowerPoint, vous pouvez ajouter des formes aux diapositives. Puisque les formes sont composées de lignes, vous pouvez les mettre en forme en modifiant ou en appliquant des effets à leurs contours. De plus, vous pouvez formater les formes en spécifiant des paramètres qui contrôlent la façon dont leurs intérieurs sont remplis.

Aspose.Slides for PHP via Java fournit des classes et des méthodes qui vous permettent de formater les formes en utilisant les mêmes options disponibles dans PowerPoint.
Formater les lignes
Avec Aspose.Slides, vous pouvez spécifier un style de ligne personnalisé pour une forme. La procédure suivante décrit les étapes :
- Créer une instance de la classe Presentation.
- Obtenir une référence à une diapositive par son index.
- Ajouter un AutoShape à la diapositive.
- Définir le style de ligne de la forme.
- Définir la largeur de la ligne.
- Définir le style de tiret de la ligne.
- Définir la couleur de la ligne pour la forme.
- Enregistrer la présentation modifiée au format PPTX.
Le code PHP suivant montre comment formater un AutoShape rectangle :
// Instancier la classe Presentation qui représente un fichier de présentation.
$presentation = new Presentation();
try {
// Obtenir la première diapositive.
$slide = $presentation->getSlides()->get_Item(0);
// Ajouter une forme automatique de type Rectangle.
$shape = $slide->getShapes()->addAutoShape(ShapeType::Rectangle, 50, 150, 150, 75);
// Définir la couleur de remplissage pour la forme rectangle.
$shape->getFillFormat()->setFillType(FillType::NoFill);
// Appliquer le formatage aux lignes du rectangle.
$shape->getLineFormat()->setStyle(LineStyle::ThickThin);
$shape->getLineFormat()->setWidth(7);
$shape->getLineFormat()->setDashStyle(LineDashStyle::Dash);
// Définir la couleur de la ligne du rectangle.
$shape->getLineFormat()->getFillFormat()->setFillType(FillType::Solid);
$shape->getLineFormat()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->BLUE);
// Enregistrer le fichier PPTX sur le disque.
$presentation->save("formatted_lines.pptx", SaveFormat::Pptx);
} finally {
$presentation->dispose();
}
Le résultat :

Appliquer des effets de croquis aux lignes de forme
Un effet de croquis rend la ligne d’une forme semblable à un tracé à la main. Utilisez Shape.getLineFormat pour accéder aux paramètres de ligne, LineFormat.getSketchFormat pour accéder aux paramètres de croquis, et SketchFormat.setSketchType pour sélectionner une valeur dans l’énumération LineSketchType.
Le code PHP suivant montre comment appliquer l’effet LineSketchType.Curved, lire la valeur explicitement affectée, et supprimer l’effet avec LineSketchType.None :
$presentation = new Presentation();
try {
$slide = $presentation->getSlides()->get_Item(0);
$shape = $slide->getShapes()->addAutoShape(ShapeType::Rectangle, 50, 50, 200, 100);
// Accéder au format de ligne de la forme et à son format de croquis.
$sketchFormat = $shape->getLineFormat()->getSketchFormat();
// Appliquer un effet de croquis.
$sketchFormat->setSketchType(LineSketchType::Curved);
// Lire l'effet de croquis assigné directement à la forme.
$explicitSketchType = $sketchFormat->getSketchType();
echo "Explicit sketch type: " . $explicitSketchType . PHP_EOL;
// Supprimer l'effet de croquis.
$sketchFormat->setSketchType(LineSketchType::None);
} finally {
$presentation->dispose();
}
La valeur renvoyée par SketchFormat.getSketchType représente le paramètre assigné directement à la forme. Si le format de ligne peut être hérité d’un thème, d’une diapositive maîtresse ou d’une diapositive de mise en page, utilisez LineFormat.getEffective, accédez à la méthode getSketchFormat de l’objet retourné, et lisez sa valeur getSketchType. La valeur effective reflète le format réellement appliqué après résolution de l’héritage :
$presentation = new Presentation("presentation.pptx");
try {
$shape = $presentation->getSlides()->get_Item(0)->getShapes()->get_Item(0);
$lineFormat = $shape->getLineFormat();
$explicitSketchType = $lineFormat->getSketchFormat()->getSketchType();
$effectiveLineFormat = $lineFormat->getEffective();
$effectiveSketchType = $effectiveLineFormat->getSketchFormat()->getSketchType();
echo "Explicit sketch type: " . $explicitSketchType . PHP_EOL;
echo "Effective sketch type: " . $effectiveSketchType . PHP_EOL;
} finally {
$presentation->dispose();
}
Formater les styles de jointure
Voici les trois options de type de jointure :
- Round
- Miter
- Bevel
Par défaut, lorsque PowerPoint joint deux lignes à un angle (par exemple au coin d’une forme), il utilise le paramètre Round. Cependant, si vous dessinez une forme avec des angles pointus, vous pouvez préférer l’option Miter.

Le code PHP suivant montre comment trois rectangles (comme illustré sur l’image ci‑dessus) ont été créés en utilisant les paramètres de jointure Miter, Bevel et Round :
// Instancier la classe Presentation qui représente un fichier de présentation.
$presentation = new Presentation();
try {
// Obtenir la première diapositive.
$slide = $presentation->getSlides()->get_Item(0);
// Ajouter trois formes automatiques de type Rectangle.
$shape1 = $slide->getShapes()->addAutoShape(ShapeType::Rectangle, 20, 20, 150, 75);
$shape2 = $slide->getShapes()->addAutoShape(ShapeType::Rectangle, 210, 20, 150, 75);
$shape3 = $slide->getShapes()->addAutoShape(ShapeType::Rectangle, 20, 135, 150, 75);
// Définir la couleur de remplissage pour chaque forme rectangle.
$shape1->getFillFormat()->setFillType(FillType::Solid);
$shape1->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->BLACK);
$shape2->getFillFormat()->setFillType(FillType::Solid);
$shape2->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->BLACK);
$shape3->getFillFormat()->setFillType(FillType::Solid);
$shape3->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->BLACK);
// Définir la largeur de la ligne.
$shape1->getLineFormat()->setWidth(15);
$shape2->getLineFormat()->setWidth(15);
$shape3->getLineFormat()->setWidth(15);
// Définir la couleur de la ligne de chaque rectangle.
$shape1->getLineFormat()->getFillFormat()->setFillType(FillType::Solid);
$shape1->getLineFormat()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->BLUE);
$shape2->getLineFormat()->getFillFormat()->setFillType(FillType::Solid);
$shape2->getLineFormat()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->BLUE);
$shape3->getLineFormat()->getFillFormat()->setFillType(FillType::Solid);
$shape3->getLineFormat()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->BLUE);
// Définir le style de jointure.
$shape1->getLineFormat()->setJoinStyle(LineJoinStyle::Miter);
$shape2->getLineFormat()->setJoinStyle(LineJoinStyle::Bevel);
$shape3->getLineFormat()->setJoinStyle(LineJoinStyle::Round);
// Ajouter du texte à chaque rectangle.
$shape1->getTextFrame()->setText("Miter Join Style");
$shape2->getTextFrame()->setText("Bevel Join Style");
$shape3->getTextFrame()->setText("Round Join Style");
// Enregistrer le fichier PPTX sur le disque.
$presentation->save("join_styles.pptx", SaveFormat::Pptx);
} finally {
$presentation->dispose();
}
Remplissage en dégradé
Dans PowerPoint, le remplissage en dégradé est une option de mise en forme qui vous permet d’appliquer un mélange continu de couleurs à une forme. Par exemple, vous pouvez appliquer deux couleurs ou plus de façon à ce que l’une s’estompe progressivement dans l’autre.
Voici comment appliquer un remplissage en dégradé à une forme avec Aspose.Slides :
- Créer une instance de la classe Presentation.
- Obtenir une référence à une diapositive par son index.
- Ajouter un AutoShape à la diapositive.
- Définir le FillType de la forme sur
Gradient. - Ajouter vos deux couleurs préférées avec les positions définies en utilisant les méthodes
addde la collection d’arrêts de dégradé exposée par la classe GradientFormat. - Enregistrer la présentation modifiée au format PPTX.
Le code PHP suivant montre comment appliquer un effet de remplissage en dégradé à une ellipse :
// Instancier la classe Presentation qui représente un fichier de présentation.
$presentation = new Presentation();
try {
// Obtenir la première diapositive.
$slide = $presentation->getSlides()->get_Item(0);
// Ajouter une forme automatique de type Ellipse.
$shape = $slide->getShapes()->addAutoShape(ShapeType::Ellipse, 50, 50, 150, 75);
// Appliquer le formatage en dégradé à l'ellipse.
$shape->getFillFormat()->setFillType(FillType::Gradient);
$shape->getFillFormat()->getGradientFormat()->setGradientShape(GradientShape::Linear);
// Définir la direction du dégradé.
$shape->getFillFormat()->getGradientFormat()->setGradientDirection(GradientDirection::FromCorner2);
// Ajouter deux arrêts de dégradé.
$shape->getFillFormat()->getGradientFormat()->getGradientStops()->addPresetColor(1.0, PresetColor::Purple);
$shape->getFillFormat()->getGradientFormat()->getGradientStops()->addPresetColor(0, PresetColor::Red);
// Enregistrer le fichier PPTX sur le disque.
$presentation->save("gradient_fill.pptx", SaveFormat::Pptx);
} finally {
$presentation->dispose();
}
Le résultat :

Si un dégradé apparaît différemment dans une image exportée que dans PowerPoint, consultez Choose a Gradient Rendering Style. Vous pouvez sélectionner un style de rendu sans modifier le remplissage en dégradé stocké dans la présentation.
Remplissage par motif
Dans PowerPoint, le remplissage par motif est une option de mise en forme qui vous permet d’appliquer un motif à deux couleurs — par exemple des points, des bandes, des hachures ou des carreaux—à une forme. Vous pouvez choisir des couleurs personnalisées pour le premier plan et l’arrière‑plan du motif.
Aspose.Slides propose plus de 45 styles de motif prédéfinis que vous pouvez appliquer aux formes pour améliorer l’aspect visuel de vos présentations. Même après avoir sélectionné un motif prédéfini, vous pouvez toujours spécifier les couleurs exactes à utiliser.
Voici comment appliquer un remplissage par motif à une forme avec Aspose.Slides :
- Créer une instance de la classe Presentation.
- Obtenir une référence à une diapositive par son index.
- Ajouter un AutoShape à la diapositive.
- Définir le FillType de la forme sur
Pattern. - Choisir un style de motif parmi les options prédéfinies.
- Définir la Background Color du motif.
- Définir la Foreground Color du motif.
- Enregistrer la présentation modifiée au format PPTX.
Le code PHP suivant montre comment appliquer un remplissage par motif à un rectangle :
// Instancier la classe Presentation qui représente un fichier de présentation.
$presentation = new Presentation();
try {
// Obtenir la première diapositive.
$slide = $presentation->getSlides()->get_Item(0);
// Ajouter une forme automatique de type Rectangle.
$shape = $slide->getShapes()->addAutoShape(ShapeType::Rectangle, 50, 50, 150, 75);
// Définir le type de remplissage sur Pattern.
$shape->getFillFormat()->setFillType(FillType::Pattern);
// Définir le style du motif.
$shape->getFillFormat()->getPatternFormat()->setPatternStyle(PatternStyle::Trellis);
// Définir les couleurs d'arrière-plan et d'avant-plan du motif.
$shape->getFillFormat()->getPatternFormat()->getBackColor()->setColor(java("java.awt.Color")->LIGHT_GRAY);
$shape->getFillFormat()->getPatternFormat()->getForeColor()->setColor(java("java.awt.Color")->YELLOW);
// Enregistrer le fichier PPTX sur le disque.
$presentation->save("pattern_fill.pptx", SaveFormat::Pptx);
} finally {
$presentation->dispose();
}
Le résultat :

Remplissage d’image
Dans PowerPoint, le remplissage d’image est une option de mise en forme qui vous permet d’insérer une image à l’intérieur d’une forme — utilisant ainsi l’image comme arrière‑plan de la forme.
Voici comment utiliser Aspose.Slides pour appliquer un remplissage d’image à une forme :
- Créer une instance de la classe Presentation.
- Obtenir une référence à une diapositive par son index.
- Ajouter un AutoShape à la diapositive.
- Définir le FillType de la forme sur
Picture. - Définir le mode de remplissage d’image sur
Tile(ou tout autre mode souhaité). - Créer un objet PPImage à partir de l’image que vous voulez utiliser.
- Passer l’image à la méthode
SlidesPicture.setImage. - Enregistrer la présentation modifiée au format PPTX.
Supposons que nous ayons un fichier « lotus.png » avec l’image suivante :

Le code PHP suivant montre comment remplir une forme avec l’image :
// Instancier la classe Presentation qui représente un fichier de présentation.
$presentation = new Presentation();
try {
// Obtenir la première diapositive.
$slide = $presentation->getSlides()->get_Item(0);
// Ajouter une forme automatique de type Rectangle.
$shape = $slide->getShapes()->addAutoShape(ShapeType::Rectangle, 50, 50, 255, 130);
// Définir le type de remplissage sur Picture.
$shape->getFillFormat()->setFillType(FillType::Picture);
// Définir le mode de remplissage d'image.
$shape->getFillFormat()->getPictureFillFormat()->setPictureFillMode(PictureFillMode::Tile);
// Charger une image et l'ajouter aux ressources de la présentation.
$image = Images::fromFile("lotus.png");
$picture = $presentation->getImages()->addImage($image);
$image->dispose();
// Définir l'image.
$shape->getFillFormat()->getPictureFillFormat()->getPicture()->setImage($picture);
// Enregistrer le fichier PPTX sur le disque.
$presentation->save("picture_fill.pptx", SaveFormat::Pptx);
} finally {
$presentation->dispose();
}
Le résultat :

Utiliser une image en mosaïque comme texture
Si vous souhaitez définir une image en mosaïque comme texture et personnaliser le comportement de la mosaïque, vous pouvez utiliser les méthodes suivantes de la classe PictureFillFormat :
- setPictureFillMode : définit le mode de remplissage d’image —
TileouStretch. - setTileAlignment : spécifie l’alignement des tuiles dans la forme.
- setTileFlip : contrôle le retournement horizontal, vertical ou les deux de la tuile.
- setTileOffsetX : définit le décalage horizontal de la tuile (en points) par rapport à l’origine de la forme.
- setTileOffsetY : définit le décalage vertical de la tuile (en points) par rapport à l’origine de la forme.
- setTileScaleX : définit l’échelle horizontale de la tuile en pourcentage.
- setTileScaleY : définit l’échelle verticale de la tuile en pourcentage.
Le code suivant montre comment ajouter une forme rectangle avec un remplissage d’image en mosaïque et configurer les options de mosaïque :
// Instancier la classe Presentation qui représente un fichier de présentation.
$presentation = new Presentation();
try {
// Obtenir la première diapositive.
$firstSlide = $presentation->getSlides()->get_Item(0);
// Ajouter une forme automatique rectangle.
$shape = $firstSlide->getShapes()->addAutoShape(ShapeType::Rectangle, 50, 50, 190, 95);
// Définir le type de remplissage de la forme sur Picture.
$shape->getFillFormat()->setFillType(FillType::Picture);
// Charger l'image et l'ajouter aux ressources de la présentation.
$sourceImage = Images::fromFile("lotus.png");
$presentationImage = $presentation->getImages()->addImage($sourceImage);
$sourceImage->dispose();
// Assigner l'image à la forme.
$pictureFillFormat = $shape->getFillFormat()->getPictureFillFormat();
$pictureFillFormat->getPicture()->setImage($presentationImage);
// Configurer le mode de remplissage d'image et les propriétés de mosaïquage.
$pictureFillFormat->setPictureFillMode(PictureFillMode::Tile);
$pictureFillFormat->setTileOffsetX(-32);
$pictureFillFormat->setTileOffsetY(-32);
$pictureFillFormat->setTileScaleX(50);
$pictureFillFormat->setTileScaleY(50);
$pictureFillFormat->setTileAlignment(RectangleAlignment::BottomRight);
$pictureFillFormat->setTileFlip(TileFlip::FlipBoth);
// Enregistrer le fichier PPTX sur le disque.
$presentation->save("tile.pptx", SaveFormat::Pptx);
} finally {
$presentation->dispose();
}
Le résultat :

Remplissage de couleur unie
Dans PowerPoint, le remplissage de couleur unie est une option de mise en forme qui remplit une forme avec une seule couleur uniforme. Cette couleur de fond simple est appliquée sans aucun dégradé, texture ou motif.
Pour appliquer un remplissage de couleur unie à une forme avec Aspose.Slides, suivez ces étapes :
- Créer une instance de la classe Presentation.
- Obtenir une référence à une diapositive par son index.
- Ajouter un AutoShape à la diapositive.
- Définir le FillType de la forme sur
Solid. - Affecter la couleur de remplissage souhaitée à la forme.
- Enregistrer la présentation modifiée au format PPTX.
Le code PHP suivant montre comment appliquer un remplissage de couleur unie à un rectangle dans une diapositive PowerPoint :
// Instancier la classe Presentation qui représente un fichier de présentation.
$presentation = new Presentation();
try {
// Obtenir la première diapositive.
$slide = $presentation->getSlides()->get_Item(0);
// Ajouter une forme automatique de type Rectangle.
$shape = $slide->getShapes()->addAutoShape(ShapeType::Rectangle, 50, 50, 150, 75);
// Définir le type de remplissage sur Solid.
$shape->getFillFormat()->setFillType(FillType::Solid);
// Définir la couleur de remplissage.
$shape->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->YELLOW);
// Enregistrer le fichier PPTX sur le disque.
$presentation->save("solid_color_fill.pptx", SaveFormat::Pptx);
} finally {
$presentation->dispose();
}
Le résultat :

Définir la transparence
Dans PowerPoint, lorsque vous appliquez un remplissage de couleur unie, de dégradé, d’image ou de texture à des formes, vous pouvez également définir un niveau de transparence pour contrôler l’opacité du remplissage. Une valeur de transparence élevée rend la forme plus translucide, permettant ainsi au fond ou aux objets sous‑jacent d’être partiellement visibles.
Aspose.Slides vous permet de définir le niveau de transparence en ajustant la valeur alpha de la couleur utilisée pour le remplissage. Voici comment procéder :
- Créer une instance de la classe Presentation.
- Obtenir une référence à une diapositive par son index.
- Ajouter un AutoShape à la diapositive.
- Définir le FillType sur
Solid. - Utiliser
Colorpour définir une couleur avec transparence (le composantalphacontrôle la transparence). - Enregistrer la présentation.
Le code PHP suivant montre comment appliquer une couleur de remplissage transparente à un rectangle :
// Instancier la classe Presentation qui représente un fichier de présentation.
$presentation = new Presentation();
try {
// Obtenir la première diapositive.
$slide = $presentation->getSlides()->get_Item(0);
// Ajouter une forme automatique rectangle solide.
$solidShape = $slide->getShapes()->addAutoShape(ShapeType::Rectangle, 50, 50, 150, 75);
// Ajouter une forme automatique rectangle transparente au-dessus de la forme solide.
$transparentShape = $slide->getShapes()->addAutoShape(ShapeType::Rectangle, 80, 80, 150, 75);
$transparentShape->getFillFormat()->setFillType(FillType::Solid);
$transparentShape->getFillFormat()->getSolidFillColor()->setColor(new java("java.awt.Color", 255, 255, 0, 204));
// Enregistrer le fichier PPTX sur le disque.
$presentation->save("shape_transparency.pptx", SaveFormat::Pptx);
} finally {
$presentation->dispose();
}
Le résultat :

Faire pivoter les formes
Aspose.Slides vous permet de faire pivoter des formes dans les présentations PowerPoint. Cela peut être utile lors du positionnement d’éléments visuels avec des exigences d’alignement ou de conception spécifiques.
Pour faire pivoter une forme sur une diapositive, suivez ces étapes :
- Créer une instance de la classe Presentation.
- Obtenir une référence à une diapositive par son index.
- Ajouter un AutoShape à la diapositive.
- Définir la propriété de rotation de la forme à l’angle souhaité.
- Enregistrer la présentation.
Le code PHP suivant montre comment faire pivoter une forme de 5 degrés :
// Instancier la classe Presentation qui représente un fichier de présentation.
$presentation = new Presentation();
try {
// Obtenir la première diapositive.
$slide = $presentation->getSlides()->get_Item(0);
// Ajouter une forme automatique de type Rectangle.
$shape = $slide->getShapes()->addAutoShape(ShapeType::Rectangle, 50, 50, 150, 75);
// Faire pivoter la forme de 5 degrés.
$shape->setRotation(5);
// Enregistrer le fichier PPTX sur le disque.
$presentation->save("shape_rotation.pptx", SaveFormat::Pptx);
} finally {
$presentation->dispose();
}
Le résultat :

Ajouter des effets de biseau 3D
Aspose.Slides vous permet d’appliquer des effets de biseau 3D aux formes en configurant leurs propriétés ThreeDFormat.
Pour ajouter des effets de biseau 3D à une forme, suivez ces étapes :
- Instancier la classe Presentation.
- Obtenir une référence à une diapositive par son index.
- Ajouter un AutoShape à la diapositive.
- Configurer le ThreeDFormat de la forme pour définir les paramètres de biseau.
- Enregistrer la présentation.
Le code PHP suivant montre comment appliquer des effets de biseau 3D à une forme :
// Créer une instance de la classe Presentation.
$presentation = new Presentation();
try {
$slide = $presentation->getSlides()->get_Item(0);
// Ajouter une forme à la diapositive.
$shape = $slide->getShapes()->addAutoShape(ShapeType::Ellipse, 50, 50, 100, 100);
$shape->getFillFormat()->setFillType(FillType::Solid);
$shape->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->GREEN);
$shape->getLineFormat()->getFillFormat()->setFillType(FillType::Solid);
$shape->getLineFormat()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->ORANGE);
$shape->getLineFormat()->setWidth(2.0);
// Définir les propriétés ThreeDFormat de la forme.
$shape->getThreeDFormat()->setDepth(4);
$shape->getThreeDFormat()->getBevelTop()->setBevelType(BevelPresetType::Circle);
$shape->getThreeDFormat()->getBevelTop()->setHeight(6);
$shape->getThreeDFormat()->getBevelTop()->setWidth(6);
$shape->getThreeDFormat()->getCamera()->setCameraType(CameraPresetType::OrthographicFront);
$shape->getThreeDFormat()->getLightRig()->setLightType(LightRigPresetType::ThreePt);
$shape->getThreeDFormat()->getLightRig()->setDirection(LightingDirection::Top);
// Enregistrer la présentation au format PPTX.
$presentation->save("3D_bevel_effect.pptx", SaveFormat::Pptx);
} finally {
$presentation->dispose();
}
Le résultat :

Ajouter des effets de rotation 3D
Aspose.Slides vous permet d’appliquer des effets de rotation 3D aux formes en configurant leurs propriétés ThreeDFormat.
Pour appliquer une rotation 3D à une forme :
- Créer une instance de la classe Presentation.
- Obtenir une référence à une diapositive par son index.
- Ajouter un AutoShape à la diapositive.
- Utiliser setCameraType et setLightType pour définir la rotation 3D.
- Enregistrer la présentation.
Le code PHP suivant montre comment appliquer des effets de rotation 3D à une forme :
// Créer une instance de la classe Presentation.
$presentation = new Presentation();
try {
$slide = $presentation->getSlides()->get_Item(0);
$autoShape = $slide->getShapes()->addAutoShape(ShapeType::Rectangle, 50, 50, 150, 75);
$autoShape->getTextFrame()->setText("Hello, Aspose!");
$autoShape->getThreeDFormat()->setDepth(6);
$autoShape->getThreeDFormat()->getCamera()->setRotation(40, 35, 20);
$autoShape->getThreeDFormat()->getCamera()->setCameraType(CameraPresetType::IsometricLeftUp);
$autoShape->getThreeDFormat()->getLightRig()->setLightType(LightRigPresetType::Balanced);
// Enregistrer la présentation au format PPTX.
$presentation->save("3D_rotation_effect.pptx", SaveFormat::Pptx);
} finally {
$presentation->dispose();
}
Le résultat :

Contrôler le rendu noir et blanc des formes
La méthode Shape::setBlackWhiteMode spécifie comment une forme individuelle est rendue lorsqu’une présentation est visualisée ou traitée en mode noir et blanc. Elle n’active pas l’affichage noir et blanc en soi, et ne modifie pas le remplissage, le contour ou tout autre formatage de la forme en mode couleur normal.
Utilisez une valeur de la classe BlackWhiteMode pour sélectionner le comportement souhaité. Par exemple, Automatic laisse l’application de rendu choisir la conversion, Gray et LightGray utilisent le gris, BlackWhite n’emploie que le noir et le blanc, Black et White imposent une couleur unique, Color conserve les couleurs normales, et Hidden masque la forme en mode noir et blanc. NotDefined signifie qu’aucun mode au niveau de la forme n’est attribué.
Le code PHP suivant crée une forme colorée et la fait apparaître en gris en mode d’affichage noir et blanc :
use aspose\slides\BlackWhiteMode;
use aspose\slides\FillType;
use aspose\slides\Presentation;
use aspose\slides\SaveFormat;
use aspose\slides\ShapeType;
$presentation = new Presentation();
try {
$slide = $presentation->getSlides()->get_Item(0);
$shape = $slide->getShapes()->addAutoShape(ShapeType::Rectangle, 50, 50, 200, 100);
$shape->getFillFormat()->setFillType(FillType::Solid);
$orange = new Java("java.awt.Color", 255, 165, 0);
$shape->getFillFormat()->getSolidFillColor()->setColor($orange);
// Conserver le remplissage orange en mode couleur, mais rendre la forme en gris en mode noir et blanc.
$shape->setBlackWhiteMode(BlackWhiteMode::Gray);
$presentation->save("shape_black_white_mode.pptx", SaveFormat::Pptx);
} finally {
$presentation->dispose();
}
En mode couleur normal, le rectangle conserve son remplissage orange. En mode d’affichage noir et blanc, il utilise le gris parce que son mode est défini sur Gray. Cela vous permet de garder une diapositive en couleur complète tout en définissant un aspect distinct pour l’impression, l’aperçu ou d’autres flux qui respectent les paramètres d’affichage noir et blanc de la présentation.
Réinitialiser le formatage
Le code Java suivant montre comment réinitialiser le formatage d’une diapositive et remettre la position, la taille et le formatage de toutes les formes avec des espaces réservés sur le LayoutSlide à leurs paramètres par défaut :
$presentation = new Presentation("sample.pptx");
try {
for ($i = 0; $i < java_values($presentation->getSlides()->size()); $i++) {
$slide = $presentation->getSlides()->get_Item($i);
// Réinitialiser chaque forme de la diapositive qui possède un espace réservé sur la mise en page.
$slide->reset();
}
$presentation->save("reset_formatting.pptx", SaveFormat::Pptx);
} finally {
$presentation->dispose();
}
FAQ
Le formatage des formes affecte-t-il la taille finale du fichier de présentation ?
Seulement légèrement. Les images et les médias intégrés occupent la majeure partie de l’espace du fichier, tandis que les paramètres de forme tels que les couleurs, les effets et les dégradés sont stockés comme métadonnées et n’ajoutent pratiquement aucune taille supplémentaire.
Comment détecter les formes sur une diapositive qui partagent exactement le même formatage afin de les regrouper ?
Comparer les propriétés clés de formatage de chaque forme — remplissage, contour et paramètres d’effet. Si toutes les valeurs correspondantes sont identiques, considérer leurs styles comme identiques et regrouper logiquement ces formes, ce qui simplifie la gestion ultérieure des styles.
Puis‑je enregistrer un ensemble de styles de forme personnalisés dans un fichier séparé pour les réutiliser dans d’autres présentations ?
Oui. Enregistrez des formes d’exemple avec les styles souhaités dans un jeu de diapositives modèle ou un fichier modèle .POTX. Lors de la création d’une nouvelle présentation, ouvrez le modèle, clonez les formes stylisées dont vous avez besoin et réappliquez leur formatage là où c’est nécessaire.