Foire aux questions

Foire aux questions

Questions fréquentes

Comment installer Aspose.Slides FOSS ?

Installez depuis PyPI à l’aide de pip. Python 3.10 ou version ultérieure est requis.

pip install aspose-slides-foss

Vérifiez l’installation :

import aspose.slides_foss as slides
with slides.Presentation() as prs:
    print(f"Slides: {len(prs.slides)}")

La dépendance lxml est installée automatiquement. Aucun Microsoft Office ou autre environnement d’exécution système n’est requis.


Pourquoi dois-je utiliser with slides.Presentation() as prs:?

La classe Presentation gère les poignées de fichiers internes et les ressources XML. Sans le gestionnaire de contexte, ces ressources ne sont pas libérées lorsque l’objet Presentation sort de la portée, ce qui peut entraîner des fuites de ressources ou des verrous de fichiers sous Windows.

Suivez toujours ce modèle :

with slides.Presentation("input.pptx") as prs:
    # work here
    prs.save("output.pptx", SaveFormat.PPTX)

Dans quels formats de fichier puis-je enregistrer ?

L’énumération SaveFormat définit des constantes pour de nombreux formats — PPTX, PDF, HTML, SVG, JPEG, PNG, et d’autres — pour la compatibilité de l’API avec l’édition commerciale. À l’exécution dans cette édition FOSS, tous les appels save() ignorent l’argument de format et écrivent toujours une sortie PPTX. Passer SaveFormat.PDF compile et s’exécute sans erreur mais produit un fichier .pptx, pas un .pdf.

from aspose.slides_foss.export import SaveFormat
prs.save("output.pptx", SaveFormat.PPTX)

L’exportation vers des formats non-PPTX n’est pas fonctionnellement disponible dans cette édition. Utilisez SaveFormat.PPTX pour toutes les opérations d’enregistrement.


Puis-je ouvrir les fichiers .ppt (old PowerPoint 97–2003) ?

Non. Seuls les fichiers .pptx (Office Open XML) sont pris en charge. Le format binaire hérité .ppt n’est pas géré par cette bibliothèque.


Comment accéder aux diapositives ?

Les diapositives sont une liste indexée à partir de zéro accessible via prs.slides:

first_slide = prs.slides[0]
slide_count = len(prs.slides)

Comment ajouter une deuxième diapositive ?

Utilisez prs.slides.add_empty_slide() avec une mise en page :

with slides.Presentation() as prs:
    layout = prs.layout_slides[0]
    prs.slides.add_empty_slide(layout)
    slide2 = prs.slides[1]
    prs.save("two-slides.pptx", SaveFormat.PPTX)

Comment définir la couleur d’arrière-plan de la diapositive ?

La coloration d’arrière-plan des diapositives n’est pas disponible dans cette édition. La classe Slide n’expose pas de propriété background. Tenter slide.background déclenchera AttributeError. Cette fonctionnalité n’est pas implémentée dans la version actuelle.


Comment puis‑je utiliser NullableBool?

NullableBool est une énumération à trois états utilisée pour les propriétés de formatage. Utilisez NullableBool.TRUE (et non le True de Python) pour le gras, l’italique et des propriétés similaires :

from aspose.slides_foss import NullableBool, TextUnderlineType
fmt.font_bold = NullableBool.TRUE
fmt.font_italic = NullableBool.FALSE
# font_underline is TextUnderlineType, not NullableBool:
fmt.font_underline = TextUnderlineType.NOT_DEFINED  # inherits from theme

Pourquoi le réglage de la couleur du texte n’a aucun effet ?

Vous devez également définir fill_type = FillType.SOLID avant d’attribuer la couleur :

from aspose.slides_foss import FillType
from aspose.slides_foss.drawing import Color

fmt.fill_format.fill_type = FillType.SOLID
fmt.fill_format.solid_fill_color.color = Color.from_argb(255, 200, 0, 0)

Puis-je utiliser des graphiques ou SmartArt ?

Non. Les graphiques, SmartArt, objets OLE, animations, transitions, hyperliens, macros VBA et signatures numériques ne sont pas implémentés dans cette édition et déclenchent NotImplementedError.


La bibliothèque prend‑elle en charge Python 3.9 ?

Non. Python 3.10 ou version ultérieure est requis.


Cette bibliothèque est‑elle thread‑safe ?

Chaque objet Presentation est indépendant. Créer et utiliser des instances séparées de Presentation à partir de threads distincts est sûr tant que vous ne partagez pas un même objet Presentation entre les threads sans verrouillage externe.


Comment intégrer une image ?

Lisez les octets de l’image et ajoutez‑les à prs.images, puis créez un PictureFrame :

with open("logo.png", "rb") as f:
    image_data = f.read()
image = prs.images.add_image(image_data)
slide.shapes.add_picture_frame(slides.ShapeType.RECTANGLE, 50, 50, 200, 150, image)

Voir aussi

 Français