1. Produits
  2.   Aspose.Slides
  3.   Aspose.Slides FOSS for Java

Aspose.Slides FOSS pour Java

Créer, lire et modifier des présentations PowerPoint depuis Java — gratuit et open‑source, aucune dépendance à Office requise.

Bibliothèque Open-Source Java pour les présentations PowerPoint

Aspose.Slides FOSS pour Java est une bibliothèque pure-Java sous licence MIT pour travailler avec les fichiers .pptx PowerPoint. Ajoutez une seule dépendance Maven et commencez immédiatement à créer, lire et modifier des présentations sans installer Microsoft Office ni aucun runtime propriétaire.

La bibliothèque expose une API Presentation construite autour de Presentation, Slide, Shape, TextFrame, Paragraph et Portion, le modèle conceptuel utilisé par PowerPoint lui‑même. Ajoutez et supprimez des diapositives, insérez des AutoShapes, des Tables et des Connectors, formatez le texte au niveau des caractères avec du gras, de l’italique, la taille de police et la couleur, appliquez des remplissages unis ou dégradés, et ajoutez des effets visuels (ombre, lueur, flou, réflexion).

La classe Presentation implémente AutoCloseable, donc utilisez try-with-resources pour un nettoyage fiable. Les parties XML inconnues rencontrées lors du chargement sont conservées mot pour mot lors de l’enregistrement, de sorte que le round-tripping ne détruit jamais le contenu que la bibliothèque ne comprend pas encore. Pour des fonctionnalités supplémentaires et du support, voir Aspose.Slides for Java enterprise edition.

API de présentation et de diapositive

  • Créer et ouvrir PPTX : Créez de nouvelles présentations ou ouvrez des fichiers .pptx existants via new Presentation() ou new Presentation(path).
  • Ajouter et supprimer des diapositives : Gérer de manière programmatique le SlideCollection avec addClone(), addEmptySlide(), remove() et removeAt().
  • AutoShapes: Insérez des rectangles, des ellipses, des lignes et d’autres ShapeType géométries via addAutoShape().
  • Tables et connecteurs: Ajoutez des formes de tableau structurées et des lignes de connexion entre les formes via addConnector().
  • Notes du présentateur : Lire et écrire les notes du présentateur par diapositive via NotesSlideManager.
  • Commentaires en fil: Accédez aux fils de commentaires au niveau des diapositives avec getSlideComments().

Où Aspose.Slides FOSS peut être utilisé

  • Génération de rapports: Créez des présentations de diapositives personnalisées à partir de sources de données sans Office.
  • Automatisation de modèles : Remplissez les modèles PPTX avec du contenu dynamique dans les pipelines CI/CD.
  • Migration de contenu: Lire les présentations existantes et restructurer ou re‑styler les diapositives.
  • Backends sans serveur: Traitez les fichiers PPTX à l’intérieur de conteneurs Docker ou de fonctions Lambda.
  • Traitement par lots: Appliquer des modifications de formatage uniformes à de grandes bibliothèques de présentations.

Mise en forme du texte et effets visuels

  • Mise en forme au niveau des caractères : Appliquer le gras, l’italique, la taille de police et la couleur aux objets Portion individuels via getPortionFormat().
  • Remplissages plein et dégradé : Définissez le remplissage de la forme sur une couleur unie ou un dégradé linéaire à plusieurs arrêts en utilisant getFillFormat() et FillType.
  • Effets d’ombre et de lueur : Appliquez une ombre externe, une lueur, un flou et une réflexion à n’importe quelle forme via getEffectFormat().
  • Alignement de paragraphe : Définissez l’alignement à gauche, centré, à droite ou justifié pour chaque paragraphe à l’aide de getParagraphFormat().setAlignment().
  • Round-trip safe: Les parties inconnues XML sont préservées mot pour mot lors du re‑enregistrement.

Expérience développeur

Aspose.Slides FOSS s’installe avec une seule dépendance Maven (org.aspose.slides.foss:aspose-slides-foss). La bibliothèque est pure Java sans extensions natives à compiler et sans packages système à installer.

L’API reflète le modèle d’objet propre à PowerPoint (Presentation, Slide, Shape, TextFrame, Paragraph, Portion), de sorte que toute personne familière avec le modèle d’objet PowerPoint peut utiliser la bibliothèque immédiatement. Elle est sous licence MIT, open-source sur GitHub, et nécessite JDK 21 ou une version ultérieure.

Créer une présentation et ajouter une forme

Utilisez try-with-resources pour garantir que le Presentation est toujours fermé et que les ressources sont libérées. addAutoShape() prend une ShapeType enum, puis la position x/y et la largeur/hauteur en points. Appelez addTextFrame() pour créer le cadre de texte et définir le texte initial en un seul appel — ne pas appeler getTextFrame() avant addTextFrame() car le cadre est nul jusqu’à sa création.

<dependency>
  <groupId>org.aspose.slides.foss</groupId>
  <artifactId>aspose-slides-foss</artifactId>
  <version>1.0.0</version>
</dependency>
import org.aspose.slides.foss.*;

try (Presentation prs = new Presentation()) {
    ISlide slide = prs.getSlides().get(0);

    // Add a rectangle AutoShape
    IAutoShape shape = slide.getShapes().addAutoShape(
        ShapeType.RECTANGLE, 50, 50, 400, 150
    );
    shape.addTextFrame("Hello, Aspose.Slides!");

    prs.save("output.pptx");
}
 ```xml
<dependency>
  <groupId>org.aspose.slides.foss</groupId>
  <artifactId>aspose-slides-foss</artifactId>
  <version>1.0.0</version>
</dependency>
 

Formater le texte et appliquer un effet de remplissage

La mise en forme du texte fonctionne au niveau Portion — la plus petite unité d’une séquence de caractères. Ouvrez le fichier enregistré, naviguez jusqu’à la première portion du premier paragraphe, et définissez les propriétés de police via les getters et setters. Le remplissage de forme est indépendant : définissez FillType à SOLID et attribuez une couleur via getSolidFillColor().setColor().

import org.aspose.slides.foss.*;
import org.aspose.slides.foss.drawing.Color;

try (Presentation prs = new Presentation("output.pptx")) {
    IAutoShape shape = (IAutoShape) prs.getSlides().get(0).getShapes().get(0);
    IPortion portion = shape.getTextFrame()
        .getParagraphs().get(0).getPortions().get(0);

    // Bold, 18pt, dark-blue text
    portion.getPortionFormat().setFontBold(NullableBool.TRUE);
    portion.getPortionFormat().setFontHeight(18);
    portion.getPortionFormat().getFillFormat()
        .getSolidFillColor().setColor(new Color(0, 0, 139));

    // Solid background fill on the shape
    shape.getFillFormat().setFillType(FillType.SOLID);
    shape.getFillFormat().getSolidFillColor()
        .setColor(new Color(240, 248, 255));

    prs.save("formatted.pptx");
}
 ```java
import org.aspose.slides.foss.*;
import org.aspose.slides.foss.drawing.Color;

try (Presentation prs = new Presentation("output.pptx")) {
    IAutoShape shape = (IAutoShape) prs.getSlides().get(0).getShapes().get(0);
    IPortion portion = shape.getTextFrame()
        .getParagraphs().get(0).getPortions().get(0);

    // Bold, 18pt, dark-blue text
    portion.getPortionFormat().setFontBold(NullableBool.TRUE);
    portion.getPortionFormat().setFontHeight(18);
    portion.getPortionFormat().getFillFormat()
        .getSolidFillColor().setColor(new Color(0, 0, 139));

    // Solid background fill on the shape
    shape.getFillFormat().setFillType(FillType.SOLID);
    shape.getFillFormat().getSolidFillColor()
        .setColor(new Color(240, 248, 255));

    prs.save("formatted.pptx");
}
 

Foire aux questions

Qu’est-ce que Aspose.Slides FOSS pour Java ?

Il s’agit d’une bibliothèque pure‑Java gratuite, sous licence MIT, permettant de créer, lire et modifier des présentations .pptx PowerPoint sans nécessiter Microsoft Office.

Quels formats de fichier sont pris en charge ?

.pptx est le format de lecture/écriture pris en charge. L’exportation vers PDF, HTML, SVG ou images n’est pas disponible dans cette édition.

Cela nécessite-t-il Microsoft Office ou PowerPoint ?

Non. Aspose.Slides FOSS est une bibliothèque pure-Java sans dépendance à Microsoft Office, à l’automatisation COM ou à tout environnement d’exécution propriétaire.

Comment l’installer ?

Ajoutez la dépendance Maven org.aspose.slides.foss:aspose-slides-foss:1.0.0 à votre projet. Aucun paquet système supplémentaire ni extension native n’est requis. JDK 21 ou une version ultérieure est requis.

Puis-je appliquer des effets visuels comme l’ombre et la lueur ?

Oui. La bibliothèque prend en charge les effets d’ombre externe, de lueur, de flou et de réflexion sur tout objet de forme via l’API EffectFormat.

Le modèle try-with-resources est-il recommandé ?

Oui. Presentation implémente AutoCloseable, il faut donc toujours utiliser try (Presentation prs = new Presentation()) { ... } pour un nettoyage fiable des ressources.

Le round-tripping d’un PPTX détruira-t-il le contenu inconnu ?

Non. Les parties XML inconnues rencontrées lors du chargement sont conservées mot pour mot lors de l’enregistrement, de sorte que le contenu que la bibliothèque ne comprend pas encore n’est jamais perdu.

Où puis‑je trouver le code source ?

La bibliothèque est sous licence MIT et hébergée sur GitHub. Les rapports de bugs et les pull requests sont les bienvenus.

  

Ressources de support et d'apprentissage

 Français