Fonctionnalités et capacités
Fonctionnalités et capacités
Aspose.Slides FOSS for Python fournit un large éventail de capacités pour travailler avec des fichiers PowerPoint .pptx de manière programmatique. Cette page répertorie toutes les zones de fonctionnalités prises en charge avec des exemples de code représentatifs.
Présentation I/O
Ouvrez un fichier .pptx existant 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 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
Ajouter, supprimer, dupliquer et réorganiser 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 AutoShapes, PictureFrames, Tables et Connectors à une diapositive.
Formes automatiques
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 à l’aide de 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 unis, dégradés, à motifs ou d’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 l’ombre externe, la lueur, le bord doux, le flou, le reflet et l’ombre interne aux formes.
Les propriétés d’effet sont accessibles via shape.effect_format. Définissez outer_shadow_effect, glow_effect, soft_edge_effect, blur_effect, reflection_effect ou inner_shadow_effect pour configurer chacune indépendamment.
Mise en forme 3D
Appliquez le chanfrein 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
Attachez des notes à n’importe quelle diapositive à l’aide de 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
Ajouter des commentaires en fil avec les informations sur 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égrez une image à partir d’un chemin de fichier dans la présentation et ajoutez‑la à 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
Lire et écrire 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 déclenchent NotImplementedError et ne sont pas disponibles dans cette édition :
| Zone | Statut |
|---|---|
| Graphiques | Non implémenté |
| SmartArt | Non implémenté |
| Animations et transitions | Non implémenté |
| Export PDF / HTML / SVG / image | Non implémenté (PPTX uniquement) |
| Macros VBA | Non implémenté |
| Signatures numériques | Non implémenté |
| Hyperliens et paramètres d’action | Non implémenté |
| Objets OLE | Non implémenté |
| Texte mathématique | Non implémenté |
Voir aussi
- Getting Started : Installation et premier script
- API Reference : Référence des classes et des méthodes
- How-To Guides : Articles orientés tâches