Foire aux questions
Foire aux questions
Comment installer Aspose.Slides FOSS ?
Ajoutez la dépendance Maven à votre pom.xml. Java 21 ou version ultérieure est requis.
<dependency>
<groupId>org.aspose.slides.foss</groupId>
<artifactId>aspose-slides-foss</artifactId>
<version>1.0.0</version>
</dependency>Vérifiez l’installation :
import org.aspose.slides.foss.Presentation;
Presentation prs = new Presentation();
try {
System.out.println("Slides: " + prs.getSlides().size());
} finally {
prs.dispose();
}Aucun Microsoft Office ou autre environnement d’exécution système n’est requis.
Pourquoi dois‑je appeler dispose() sur Presentation ?
La classe Presentation gère les ressources internes du package OPC. Sans appeler dispose(), ces ressources ne sont pas libérées, ce qui peut entraîner des fuites de mémoire ou des verrous de fichiers. Utilisez toujours try-finally :
Presentation prs = new Presentation("input.pptx");
try {
// work here
prs.save("output.pptx", SaveFormat.PPTX);
} finally {
prs.dispose();
}Alternativement, utilisez try-with-resources puisque Presentation implémente AutoCloseable:
try (Presentation prs = new Presentation("input.pptx")) {
prs.save("output.pptx", SaveFormat.PPTX);
}Quels formats de fichier puis-je enregistrer ?
Seul le PPTX est pris en charge:
import org.aspose.slides.foss.export.SaveFormat;
prs.save("output.pptx", SaveFormat.PPTX);L’exportation vers PDF, HTML, SVG ou les formats d’image (PNG, JPEG) n’est pas disponible dans cette édition.
Puis‑je ouvrir .ppt (ancien 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 collection indexée à partir de zéro accessible via prs.getSlides() :
ISlide firstSlide = prs.getSlides().get(0);
int slideCount = prs.getSlides().size();Comment ajouter une deuxième diapositive ?
Utilisez prs.getSlides().addEmptySlide() avec une mise en page :
try (Presentation prs = new Presentation()) {
ILayoutSlide layout = prs.getLayoutSlides().get(0);
prs.getSlides().addEmptySlide(layout);
ISlide slide2 = prs.getSlides().get(1);
prs.save("two-slides.pptx", SaveFormat.PPTX);
}Comment définir la couleur d’arrière-plan de la diapositive ?
La couleur d’arrière-plan de la diapositive n’est pas pris en charge dans cette édition d’Aspose.Slides FOSS. Il n’existe aucune méthode getBackground() sur ISlide ou toute autre classe de cette bibliothèque. L’arrière-plan de la diapositive est fixé lorsque la présentation est créée à partir de son modèle. Une édition future pourra ajouter le contrôle de l’arrière-plan.
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 Java) pour le gras, l’italique et des propriétés similaires :
import org.aspose.slides.foss.NullableBool;
fmt.setFontBold(NullableBool.TRUE);
fmt.setFontItalic(NullableBool.FALSE);Pourquoi le réglage de la couleur du texte n’a aucun effet?
Vous devez également définir fillType sur FillType.SOLID avant d’attribuer la couleur :
import org.aspose.slides.foss.FillType;
import org.aspose.slides.foss.drawing.Color;
fmt.getFillFormat().setFillType(FillType.SOLID);
fmt.getFillFormat().getSolidFillColor().setColor(Color.fromArgb(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 UnsupportedOperationException.
La 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 synchronisation externe.
Comment intégrer une image ?
Lisez les octets de l’image et ajoutez‑les à prs.getImages(), puis créez un PictureFrame:
import org.aspose.slides.foss.ShapeType;
byte[] imageData = java.nio.file.Files.readAllBytes(
java.nio.file.Paths.get("logo.png")
);
IPPImage image = prs.getImages().addImage(imageData);
slide.getShapes().addPictureFrame(ShapeType.RECTANGLE, 50, 50, 200, 150, image);