Foire aux questions

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 runtime 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);
}

Dans quels formats de fichier puis-je enregistrer ?

L’énumération SaveFormat définit des constantes pour de nombreux formats — PPTX, PDF, HTML, SVG, JPEG, PNG, et d’autres — pour la compatibilité de l’API avec l’édition commerciale. À l’exécution dans cette édition FOSS, toutes les surcharges save() ignorent l’argument de format et écrivent toujours une sortie PPTX. Passer SaveFormat.PDF compile correctement mais produit un fichier .pptx, pas un .pdf.

import org.aspose.slides.foss.export.SaveFormat;

prs.save("output.pptx", SaveFormat.PPTX);

L’exportation vers des formats non-PPTX n’est pas disponible fonctionnellement dans cette édition. Utilisez SaveFormat.PPTX pour toutes les opérations d’enregistrement.


Puis-je ouvrir des fichiers .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 prise 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 pourrait 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);

Voir aussi

 Français