Fonctionnalités et capacités

Fonctionnalités et capacités

Fonctionnalités et capacités

Aspose.Slides FOSS for Python provides a broad set of capabilities for working with PowerPoint .pptx fichiers de manière programmatique. Cette page répertorie toutes les zones de fonctionnalités prises en charge avec des exemples de code représentatifs.


Entrée/Sortie de présentation

Ouvrir un existant .pptx fichier ou créez‑en un nouveau, puis enregistrez‑le au format PPTX.

import aspose.slides_foss as slides
from aspose.slides_foss.export import SaveFormat

# Open an existing presentation
with slides.Presentation("input.pptx") as prs:
    print(f"Slide count: {len(prs.slides)}")
    prs.save("output.pptx", SaveFormat.PPTX)

# Create a new presentation (starts with one blank slide)
with slides.Presentation() as prs:
    prs.save("new.pptx", SaveFormat.PPTX)

Note : PPTX est le seul format d’enregistrement pris en charge. L’exportation vers PDF, HTML, SVG ou des images n’est pas disponible.

Les parties XML inconnues du fichier source sont conservées mot pour mot lors de l’enregistrement, de sorte qu’ouvrir et réenregistrer un .pptx ne supprimera jamais le contenu que la bibliothèque ne comprend pas encore.


Gestion des diapositives

Ajoutez, supprimez, clonez et réorganisez les diapositives.

import aspose.slides_foss as slides
from aspose.slides_foss.export import SaveFormat

with slides.Presentation() as prs:
    # Access the first slide
    slide = prs.slides[0]

    # Add an additional blank slide at the end
    prs.slides.add_empty_slide(prs.layout_slides[0])

    print(f"Total slides: {len(prs.slides)}")
    prs.save("multi-slide.pptx", SaveFormat.PPTX)

Formes

Ajoutez des AutoShapes, des PictureFrames, des Tableaux et des Connecteurs à une diapositive.

AutoShapes

import aspose.slides_foss as slides
from aspose.slides_foss import ShapeType
from aspose.slides_foss.export import SaveFormat

with slides.Presentation() as prs:
    slide = prs.slides[0]
    # Add a rectangle at (x=50, y=50) with width=300, height=100
    shape = slide.shapes.add_auto_shape(ShapeType.RECTANGLE, 50, 50, 300, 100)
    shape.add_text_frame("Aspose.Slides FOSS")
    prs.save("shapes.pptx", SaveFormat.PPTX)

Tableaux

import aspose.slides_foss as slides
from aspose.slides_foss.export import SaveFormat

with slides.Presentation() as prs:
    slide = prs.slides[0]
    # Column widths and row heights in points
    col_widths = [120.0, 120.0, 120.0]
    row_heights = [40.0, 40.0, 40.0]
    table = slide.shapes.add_table(50, 50, col_widths, row_heights)
    table.rows[0][0].text_frame.text = "Product"
    table.rows[0][1].text_frame.text = "Quantity"
    table.rows[0][2].text_frame.text = "Price"
    prs.save("table.pptx", SaveFormat.PPTX)

Connecteurs

import aspose.slides_foss as slides
from aspose.slides_foss import ShapeType
from aspose.slides_foss.export import SaveFormat

with slides.Presentation() as prs:
    slide = prs.slides[0]
    box1 = slide.shapes.add_auto_shape(ShapeType.RECTANGLE, 50, 100, 150, 60)
    box2 = slide.shapes.add_auto_shape(ShapeType.RECTANGLE, 350, 100, 150, 60)
    conn = slide.shapes.add_connector(ShapeType.BENT_CONNECTOR3, 0, 0, 10, 10)
    conn.start_shape_connected_to = box1
    conn.start_shape_connection_site_index = 3  # right side
    conn.end_shape_connected_to = box2
    conn.end_shape_connection_site_index = 1    # left side
    prs.save("connector.pptx", SaveFormat.PPTX)

Mise en forme du texte

Formatez le texte au niveau du paragraphe et du caractère en utilisant PortionFormat.

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:
    slide = prs.slides[0]
    shape = slide.shapes.add_auto_shape(ShapeType.RECTANGLE, 50, 50, 500, 150)
    tf = shape.add_text_frame("Bold blue heading")

    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("text.pptx", SaveFormat.PPTX)

NullableBool.TRUE définit la propriété explicitement ; NullableBool.NOT_DEFINED hérite du masque de diapositive.


Types de remplissage

Appliquez des remplissages plein, dégradé, motif ou image aux formes.

import aspose.slides_foss as slides
from aspose.slides_foss import ShapeType, FillType
from aspose.slides_foss.drawing import Color
from aspose.slides_foss.export import SaveFormat

with slides.Presentation() as prs:
    slide = prs.slides[0]
    shape = slide.shapes.add_auto_shape(ShapeType.RECTANGLE, 50, 50, 300, 150)

    # Solid fill
    shape.fill_format.fill_type = FillType.SOLID
    shape.fill_format.solid_fill_color.color = Color.from_argb(255, 30, 120, 200)

    prs.save("fill.pptx", SaveFormat.PPTX)

Effets visuels

Appliquez une ombre externe, une lueur, un bord doux, un flou, un reflet et une ombre interne aux formes.

Les propriétés d’effet sont accessibles via shape.effect_format. Définir outer_shadow_effect, glow_effect, soft_edge_effect, blur_effect, reflection_effect, ou inner_shadow_effect pour configurer chacun indépendamment.


3D Formatting

Appliquer le biseau 3D, la caméra, le dispositif d’éclairage, le matériau et la profondeur d’extrusion via shape.three_d_format.Cela contrôle la profondeur visuelle et le modèle d’éclairage pour le rendu des formes dans les visionneuses PPTX qui prennent en charge les effets 3D.


Notes du présentateur

Joindre des notes à n’importe quelle diapositive en utilisant notes_slide_manager.

import aspose.slides_foss as slides
from aspose.slides_foss.export import SaveFormat

with slides.Presentation() as prs:
    notes = prs.slides[0].notes_slide_manager.add_notes_slide()
    notes.notes_text_frame.text = "Key talking point: emphasize the ROI benefit."
    prs.save("notes.pptx", SaveFormat.PPTX)

Commentaires

Ajoutez des commentaires en fil avec les informations de l’auteur et la position de la diapositive.

import aspose.slides_foss as slides
from aspose.slides_foss.drawing import PointF
from aspose.slides_foss.export import SaveFormat
from datetime import datetime

with slides.Presentation() as prs:
    author = prs.comment_authors.add_author("Jane Smith", "JS")
    slide = prs.slides[0]
    author.comments.add_comment(
        "Please verify this data before the presentation.",
        slide,
        PointF(2.0, 2.0),
        datetime.now()
    )
    prs.save("comments.pptx", SaveFormat.PPTX)

Images intégrées

Intégrer une image depuis un chemin de fichier dans la présentation et l’ajouter à une diapositive en tant que PictureFrame.

import aspose.slides_foss as slides
from aspose.slides_foss.export import SaveFormat

with slides.Presentation() as prs:
    with open("logo.png", "rb") as f:
        image_data = f.read()
    image = prs.images.add_image(image_data)
    slide = prs.slides[0]
    slide.shapes.add_picture_frame(
        slides.ShapeType.RECTANGLE, 50, 50, 200, 150, image
    )
    prs.save("with-image.pptx", SaveFormat.PPTX)

Propriétés du document

Lisez et écrivez les propriétés de document de base, d’application et personnalisées.

import aspose.slides_foss as slides
from aspose.slides_foss.export import SaveFormat

with slides.Presentation() as prs:
    props = prs.document_properties

    # Core properties
    props.title = "Q1 Results"
    props.author = "Finance Team"
    props.subject = "Quarterly Review"
    props.keywords = "Q1, finance, results"

    # Custom property
    props.set_custom_property_value("ReviewedBy", "Legal Team")

    prs.save("deck.pptx", SaveFormat.PPTX)

Limitations connues

Les zones suivantes soulèvent NotImplementedError et ne sont pas disponibles dans cette édition :

ZoneStatut
GraphiquesNon implémenté
SmartArtNon implémenté
Animations et transitionsNon implémenté
Export PDF / HTML / SVG / imageNon implémenté (PPTX uniquement)
Macros VBANon implémenté
Signatures numériquesNon implémenté
Hyperliens et paramètres d’actionNon implémenté
Objets OLENon implémenté
Texte mathématiqueNon implémenté

Voir aussi

 Français