Gérer les polices dans les présentations avec PHP
Contents
[
Hide
]
Gérer les propriétés liées aux polices
Les présentations contiennent généralement à la fois du texte et des images. Le texte peut être formaté de différentes manières, soit pour mettre en évidence des sections et des mots spécifiques, soit pour se conformer aux styles d’entreprise. Le formatage du texte aide les utilisateurs à varier l’apparence du contenu de la présentation. Cet article montre comment utiliser Aspose.Slides pour PHP via Java afin de configurer les propriétés de police des paragraphes de texte sur les diapositives.
Pour gérer les propriétés de police d’un paragraphe avec Aspose.Slides pour PHP via Java :
- Créez une instance de la classe Presentation.
- Obtenez la référence d’une diapositive en utilisant son index.
- Accédez aux formes Placeholder dans la diapositive et convertissez‑les en AutoShape.
- Récupérez le Paragraph depuis le TextFrame exposé par AutoShape.
- Justifiez le paragraphe.
- Accédez à la Portion de texte d’un Paragraph.
- Définissez la police à l’aide de FontData et définissez la Font de la Portion de texte en conséquence.
- Appliquez le gras à la police.
- Appliquez l’italique à la police.
- Définissez la couleur de la police à l’aide du FillFormat exposé par l’objet Portion.
- Enregistrez la présentation modifiée dans un fichier PPTX.
L’implémentation des étapes ci‑dessus est présentée ci‑après. Elle prend une présentation non décorée et formate les polices sur l’une des diapositives. Les captures d’écran suivantes montrent le fichier d’entrée et comment les extraits de code le modifient. Le code modifie la police, la couleur et le style de la police.
![]() |
|---|
| Figure: Le texte dans le fichier d’entrée |
![]() |
|---|
| Figure: Le même texte avec le formatage mis à jour |
# Instancier un objet Presentation qui représente un fichier PPTX
$pres = new Presentation("FontProperties.pptx");
try {
# Accéder à une diapositive en utilisant sa position
$slide = $pres->getSlides()->get_Item(0);
# Accéder aux premier et deuxième espaces réservés dans la diapositive et les convertir en AutoShape
$tf1 = $slide->getShapes()->get_Item(0)->getTextFrame();
$tf2 = $slide->getShapes()->get_Item(1)->getTextFrame();
# Accéder au premier paragraphe
$para1 = $tf1->getParagraphs()->get_Item(0);
$para2 = $tf2->getParagraphs()->get_Item(0);
# Justifier le paragraphe
$para2->getParagraphFormat()->setAlignment(TextAlignment->JustifyLow);
# Accéder à la première portion
$port1 = $para1->getPortions()->get_Item(0);
$port2 = $para2->getPortions()->get_Item(0);
# Définir de nouvelles polices
$fd1 = new FontData("Elephant");
$fd2 = new FontData("Castellar");
# Attribuer les nouvelles polices à la portion
$port1->getPortionFormat()->setLatinFont($fd1);
$port2->getPortionFormat()->setLatinFont($fd2);
# Définir la police en gras
$port1->getPortionFormat()->setFontBold(NullableBool::True);
$port2->getPortionFormat()->setFontBold(NullableBool::True);
# Définir la police en italique
$port1->getPortionFormat()->setFontItalic(NullableBool::True);
$port2->getPortionFormat()->setFontItalic(NullableBool::True);
# Définir la couleur de la police
$port1->getPortionFormat()->getFillFormat()->setFillType(FillType::Solid);
$port1->getPortionFormat()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->BLUE);
$port2->getPortionFormat()->getFillFormat()->setFillType(FillType::Solid);
$port2->getPortionFormat()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->GREEN);
# Enregistrer le PPTX sur le disque
$pres->save("WelcomeFont.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
Définir les propriétés de la police du texte
Comme indiqué dans Gérer les propriétés liées aux polices, une Portion est utilisée pour regrouper du texte ayant un même style de formatage dans un paragraphe. Cet article montre comment utiliser Aspose.Slides pour PHP via Java pour créer une zone de texte contenant du texte, puis définir une police particulière ainsi que diverses autres propriétés de la catégorie de famille de polices.
Pour créer une zone de texte et définir les propriétés de police du texte qu’elle contient :
- Créez une instance de la classe Presentation.
- Obtenez la référence d’une diapositive en utilisant son index.
- Ajoutez un AutoShape de type Rectangle à la diapositive.
- Supprimez le style de remplissage associé au AutoShape.
- Accédez au TextFrame du AutoShape.
- Ajoutez du texte au TextFrame.
- Accédez à l’objet Portion associé au TextFrame.
- Définissez la police à utiliser pour la Portion.
- Définissez d’autres propriétés de police telles que le gras, l’italique, le soulignement, la couleur et la taille en utilisant les propriétés correspondantes exposées par l’objet Portion.
- Enregistrez la présentation modifiée sous forme de fichier PPTX.
![]() |
|---|
| Figure : Texte avec certaines propriétés de police définies par Aspose.Slides pour PHP via Java |
# Instancier un objet Presentation qui représente un fichier PPTX
$pres = new Presentation();
try {
# Obtenir la première diapositive
$sld = $pres->getSlides()->get_Item(0);
# Ajouter un AutoShape de type Rectangle
$ashp = $sld->getShapes()->addAutoShape(ShapeType::Rectangle, 50, 50, 200, 50);
# Supprimer tout style de remplissage associé à l'AutoShape
$ashp->getFillFormat()->setFillType(FillType::NoFill);
# Accéder au TextFrame associé à l'AutoShape
$tf = $ashp->getTextFrame();
$tf->setText("Aspose TextBox");
# Accéder à la Portion associée au TextFrame
$port = $tf->getParagraphs()->get_Item(0)->getPortions()->get_Item(0);
# Définir la police pour la Portion
$port->getPortionFormat()->setLatinFont(new FontData("Times New Roman"));
# Définir la propriété Gras de la police
$port->getPortionFormat()->setFontBold(NullableBool::True);
# Définir la propriété Italique de la police
$port->getPortionFormat()->setFontItalic(NullableBool::True);
# Définir la propriété Soulignement de la police
$port->getPortionFormat()->setFontUnderline(TextUnderlineType::Single);
# Définir la hauteur de la police
$port->getPortionFormat()->setFontHeight(25);
# Définir la couleur de la police
$port->getPortionFormat()->getFillFormat()->setFillType(FillType::Solid);
$port->getPortionFormat()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->BLUE);
# Enregistrer la présentation sur le disque
$pres->save("pptxFont.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}


