Gérer les exposants et indices en Python
Ajouter du texte en exposant et indice
Vous pouvez ajouter du texte en exposant ou en indice à n’importe quelle portion de paragraphe. Dans Aspose.Slides, utilisez la propriété escapement de la classe PortionFormat pour contrôler cela.
escapement est un pourcentage compris entre -100% et 100% :
- > 0 → exposant (par ex., 25% = légère élévation ; 100% = exposant complet)
- 0 → ligne de base (pas d’exposant/indice)
- < 0 → indice (par ex., -25% = légère descente ; -100% = indice complet)
Étapes :
- Créez une Presentation et récupérez une diapositive.
- Ajoutez un rectangle AutoShape et accédez à son TextFrame.
- Effacez les paragraphes existants.
- Pour l’exposant : créez un paragraphe et une portion, définissez
portion.portion_format.escapementsur une valeur comprise entre 0 et 100, définissez le texte, puis ajoutez la portion. - Pour l’indice : créez un autre paragraphe et une portion, définissez
escapementsur une valeur comprise entre -100 et 0, définissez le texte, puis ajoutez la portion. - Enregistrez la présentation au format PPTX.
import aspose.slides as slides
with slides.Presentation("pres.pptx") as presentation:
# Obtenir une diapositive.
slide = presentation.slides[0]
# Créer une zone de texte.
shape = slide.shapes.add_auto_shape(slides.ShapeType.RECTANGLE, 100, 100, 200, 100)
shape.text_frame.paragraphs.clear()
# Créer un paragraphe pour le texte en exposant.
superscript_paragraph = slides.Paragraph()
# Créer une portion de texte avec du texte normal.
portion1 = slides.Portion()
portion1.text = "SlideTitle"
superscript_paragraph.portions.add(portion1)
# Créer une portion de texte avec du texte en exposant.
superscript_portion = slides.Portion()
superscript_portion.portion_format.escapement = 30
superscript_portion.text = "TM"
superscript_paragraph.portions.add(superscript_portion)
# Créer un paragraphe pour le texte en indice.
subscript_paragraph = slides.Paragraph()
# Créer une portion de texte avec du texte normal.
portion2 = slides.Portion()
portion2.text = "a"
subscript_paragraph.portions.add(portion2)
# Créer une portion de texte avec du texte en indice.
subscript_portion = slides.Portion()
subscript_portion.portion_format.escapement = -25
subscript_portion.text = "i"
subscript_paragraph.portions.add(subscript_portion)
# Ajouter les paragraphes à la zone de texte.
shape.text_frame.paragraphs.add(superscript_paragraph)
shape.text_frame.paragraphs.add(subscript_paragraph)
presentation.save("TestOut.pptx", slides.export.SaveFormat.PPTX)
FAQ
Puis-je appliquer l’exposant/l’indice dans les tableaux et autres conteneurs, et pas seulement dans les zones de texte classiques ?
Oui. Vous pouvez formater le texte en exposant ou en indice dans tout objet qui expose un TextFrame (y compris les cellules de tableau). Le formatage s’applique aux portions de texte à l’intérieur de ce cadre.
Les exposants/indices seront-ils conservés lors de l’exportation vers PDF, HTML ou images ?
Oui. Aspose.Slides conserve le formatage exposant/indice lors de l’exportation vers des formats courants comme PDF, HTML et images raster car le pipeline de rendu respecte le formatage du texte au niveau des portions.
Puis-je combiner exposant/indice avec des hyperliens dans le même fragment de texte ?
Oui. Les Hyperlinks sont attribués au niveau de la portion (fragment), de sorte qu’une portion peut simultanément contenir un hyperlien et être formatée en exposant ou en indice.