Introduction

Aspose.Slides FOSS for Python is now available on PyPI: a free, MIT-licensed library for creating, reading, and editing PowerPoint .pptx fichiers entièrement en Python, avec aucune dépendance à Microsoft Office ni à 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 pur Python avec seulement lxml comme dépendance, il 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 round‑trip PPTX: Ouvrez n’importe quel .pptx fichier, 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 avec prs.slides; la présentation commence avec une diapositive vierge après slides.Presentation().
  • AutoShapes, Tableaux et Connecteurs: Insérer des formes via slide.shapes.add_auto_shape(), données tabulaires via slide.shapes.add_table(), et des connecteurs visuels entre les formes via slide.shapes.add_connector().
  • Mise en forme de texte enrichi: Formater le texte au niveau des caractères avec PortionFormat: taille de police, gras, italique, souligné et couleur ARGB via FillType.SOLID et Color.from_argb().
  • Types de remplissage: Appliquer FillType.SOLID, GRADIENT, PATTERN, ou PICTURE remplissages à n’importe quelle forme.
  • Effets visuels: Ombre externe, lueur, bord doux, flou, réflexion et ombre interne via shape.effect_format.
  • 3D formatting: Biseau, caméra, dispositif d’éclairage, matériau et profondeur d’extrusion via shape.three_d_format.
  • Notes du présentateur: Attacher le texte des notes à chaque diapositive via notes_slide_manager.add_notes_slide().
  • Commentaires en fil: Ajouter des commentaires avec les métadonnées de l’auteur et la position de la diapositive.
  • Images intégrées: Intégrer depuis le chemin du fichier, les octets, ou io.BytesIO flux.
  • Propriétés du document: Lire et écrire les propriétés du noyau, de l’application et personnalisées.

Premiers pas

: Installez depuis PyPI. Python 3.10 ou 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 with : bloc ; cela garantit que toutes les ressources internes sont libérées lorsque le bloc se termine.

Exemple de mise en forme du 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 génèrent 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 mot pour mot lors de l’enregistrement, de sorte que les fichiers PPTX produits par d’autres outils effectuent un aller-retour en toute sécurité.

Voir aussi