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.
.pptx existants via new Presentation() ou new Presentation(path).SlideCollection avec addClone(), addEmptySlide(), remove() et removeAt().ShapeType géométries via addAutoShape().addConnector().NotesSlideManager.getSlideComments().Portion individuels via getPortionFormat().getFillFormat() et FillType.getEffectFormat().getParagraphFormat().setAlignment().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.
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>
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");
}
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.
.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.
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.
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.
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.
Oui. Presentation implémente AutoCloseable, il faut donc toujours utiliser try (Presentation prs = new Presentation()) { ... } pour un nettoyage fiable des ressources.
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.
La bibliothèque est sous licence MIT et hébergée sur GitHub. Les rapports de bugs et les pull requests sont les bienvenus.