Ajouter des rectangles aux présentations en PHP
Ajouter un rectangle à une diapositive
Pour ajouter un rectangle simple à une diapositive sélectionnée de la présentation, suivez les étapes ci‑dessous :
- Créer une instance de la classe Presentation.
- Obtenir la référence d’une diapositive en utilisant son Index.
- Ajouter un IAutoShape de type Rectangle en utilisant la méthode addAutoShape exposée par l’objet IShapeCollection.
- Enregistrer la présentation modifiée en tant que fichier PPTX.
Dans l’exemple ci‑dessous, nous avons ajouté un rectangle simple à la première diapositive de la présentation.
# Instancier la classe Presentation qui représente le fichier PPTX
$pres = new Presentation();
try {
# Obtenir la première diapositive
$sld = $pres->getSlides()->get_Item(0);
# Ajouter une AutoShape de type ellipse
$shp = $sld->getShapes()->addAutoShape(ShapeType::Rectangle, 50, 150, 150, 50);
# Enregistrer le fichier PPTX sur le disque
$pres->save("RecShp1.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
Ajouter un rectangle formaté à une diapositive
Pour ajouter un rectangle formaté à une diapositive, suivez les étapes ci‑dessous :
- Créer une instance de la classe Presentation.
- Obtenir la référence d’une diapositive en utilisant son Index.
- Ajouter un IAutoShape de type Rectangle en utilisant la méthode addAutoShape exposée par l’objet IShapeCollection.
- Définir le Fill Type du Rectangle sur Solid.
- Définir la couleur du Rectangle en utilisant la méthode SolidFillColor.setColor exposée par l’objet IFillFormat associé à l’objet IShape.
- Définir la couleur des lignes du Rectangle.
- Définir la largeur des lignes du Rectangle.
- Enregistrer la présentation modifiée en tant que fichier PPTX.
Les étapes ci‑dessus sont implémentées dans l’exemple présenté ci‑dessous.
# Instancier la classe Presentation qui représente le PPTX
$pres = new Presentation();
try {
# Obtenir la première diapositive
$sld = $pres->getSlides()->get_Item(0);
# Ajouter une AutoShape de type ellipse
$shp = $sld->getShapes()->addAutoShape(ShapeType::Rectangle, 50, 150, 150, 50);
# Appliquer un formatage à la forme d'ellipse
$shp->getFillFormat()->setFillType(FillType::Solid);
$shp->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->GRAY);
# Appliquer un formatage à la bordure de l'ellipse
$shp->getLineFormat()->getFillFormat()->setFillType(FillType::Solid);
$shp->getLineFormat()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->BLACK);
$shp->getLineFormat()->setWidth(5);
# Enregistrer le fichier PPTX sur le disque
$pres->save("RecShp2.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
FAQ
Comment ajouter un rectangle avec des coins arrondis ?
Utilisez le type de forme à coins arrondis et ajustez le rayon des coins dans les propriétés de la forme ; l’arrondi peut également être appliqué coin par coin via des ajustements géométriques.
Comment remplir un rectangle avec une image (texture) ?
Sélectionnez le type de remplissage image, fournissez la source de l’image et configurez les modes d’étirement/tiling.
Un rectangle peut‑il avoir une ombre et une lueur ?
Oui. Les ombres externes/intérieures, lueur et bords doux sont disponibles avec des paramètres réglables.
Puis‑je transformer un rectangle en bouton avec un hyperlien ?
Oui. Attribuez un hyperlien au clic sur la forme (aller à une diapositive, fichier, adresse web ou e‑mail).
Comment protéger un rectangle contre le déplacement et les modifications ?
Utilisez les verrous de forme : vous pouvez interdire le déplacement, le redimensionnement, la sélection ou l’édition de texte afin de préserver la mise en page.
Puis‑je convertir un rectangle en image raster ou SVG ?
Oui. Vous pouvez rendre la forme en image avec une taille/échelle spécifiée ou l’exporter en SVG pour une utilisation vectorielle.
Comment obtenir rapidement les propriétés réelles (effectives) d’un rectangle en tenant compte du thème et de l’héritage ?
Utilisez les propriétés effectives de la forme : l’API renvoie les valeurs calculées qui tiennent compte des styles du thème, de la disposition et des paramètres locaux, simplifiant l’analyse du formatage.