Introduction
Aspose.Slides FOSS for Python est maintenant disponible sur PyPI : une bibliothèque gratuite, sous licence MIT, pour créer, lire et modifier des fichiers PowerPoint .pptx entièrement en Python, sans dépendance à Microsoft Office ou à aucun runtime propriétaire.
La bibliothèque est conçue pour les développeurs qui doivent générer ou manipuler des fichiers de présentation de manière programmatique : automatiser des diaporamas à partir de données, extraire le texte et les métadonnées des fichiers PPTX téléchargés, créer des pipelines de reporting basés sur des présentations, ou intégrer la création de présentations dans des applications web. Parce que aspose-slides-foss est du pur Python avec seulement lxml comme dépendance, elle se déploie de façon identique sur Windows, macOS, Linux et les conteneurs Docker.
Fonctionnalités clés
- Prise en charge complète du cycle complet PPTX : Ouvrez n’importe quel fichier
.pptx, modifiez son contenu et enregistrez-le à nouveau sans perdre les parties XML inconnues que la bibliothèque ne comprend pas encore. - Gestion des diapositives : Ajoutez, supprimez et parcourez les diapositives à l’aide de
prs.slides; la présentation commence avec une diapositive vierge aprèsslides.Presentation(). - AutoShapes, tableaux et connecteurs : Insérez des formes via
slide.shapes.add_auto_shape(), des données tabulaires viaslide.shapes.add_table(), et des connecteurs visuels entre les formes viaslide.shapes.add_connector(). - Mise en forme de texte enrichi : Formatez le texte au niveau des caractères avec
PortionFormat: taille de police, gras, italique, souligné et couleur ARGB viaFillType.SOLIDetColor.from_argb(). - Types de remplissage : Appliquez des remplissages
FillType.SOLID,GRADIENT,PATTERNouPICTUREà n’importe quelle forme. - Effets visuels : Ombre externe, lueur, bord doux, flou, réflexion et ombre interne via
shape.effect_format. - Mise en forme 3D : Biseau, caméra, dispositif d’éclairage, matériau et profondeur d’extrusion via
shape.three_d_format. - Notes du présentateur : Attachez le texte des notes à chaque diapositive via
notes_slide_manager.add_notes_slide(). - Commentaires en fil : Ajoutez des commentaires avec les métadonnées de l’auteur et la position sur la diapositive.
- Images intégrées : Intégrez depuis un chemin de fichier, des octets ou un flux
io.BytesIO. - Propriétés du document : Lisez et écrivez les propriétés de base, d’application et personnalisées.
Démarrage
Installez depuis PyPI. Python 3.10 ou une version ultérieure est requis ; lxml est installé automatiquement.
pip install aspose-slides-foss
Créez votre première présentation avec une forme et enregistrez‑la :
import aspose.slides_foss as slides
from aspose.slides_foss.export import SaveFormat
from aspose.slides_foss import ShapeType
with slides.Presentation() as prs:
slide = prs.slides[0]
shape = slide.shapes.add_auto_shape(ShapeType.RECTANGLE, 50, 50, 400, 120)
shape.add_text_frame("Hello from Aspose.Slides FOSS!")
prs.save("hello.pptx", SaveFormat.PPTX)
Utilisez toujours Presentation à l’intérieur d’un bloc with ; cela garantit que toutes les ressources internes sont libérées lorsque le bloc se termine.
Exemple de formatage de texte
import aspose.slides_foss as slides
from aspose.slides_foss import ShapeType, NullableBool, FillType
from aspose.slides_foss.drawing import Color
from aspose.slides_foss.export import SaveFormat
with slides.Presentation() as prs:
shape = prs.slides[0].shapes.add_auto_shape(ShapeType.RECTANGLE, 50, 50, 500, 150)
tf = shape.add_text_frame("Bold heading in corporate blue")
fmt = tf.paragraphs[0].portions[0].portion_format
fmt.font_height = 28
fmt.font_bold = NullableBool.TRUE
fmt.fill_format.fill_type = FillType.SOLID
fmt.fill_format.solid_fill_color.color = Color.from_argb(255, 0, 70, 127)
prs.save("formatted.pptx", SaveFormat.PPTX)
Limitations actuelles
Les zones suivantes déclenchent NotImplementedError dans cette version :
- Graphiques, SmartArt et objets OLE
- Animations et transitions de diapositives
- Exportation vers PDF, HTML, SVG ou formats d’image
- Hyperliens, paramètres d’action, macros VBA et signatures numériques
Les parties XML inconnues rencontrées lors du chargement sont conservées verbatim lors de l’enregistrement, de sorte que les fichiers PPTX produits par d’autres outils effectuent un aller‑retour en toute sécurité.