Introduction

Aspose.Slides FOSS for Java is a free, open-source library that lets Java developers create and manipulate PowerPoint presentations without any dependency on Microsoft Office. The library ships under the org.aspose.slides.foss Les objectifs et les paquets Java 21 et plus haut.

Le projet est sorti sous la licence MIT, vous pouvez donc l’utiliser dans les projets personnels et commerciaux à aucun coût et sans clé API. Il fournit des classes pour les images, les formes, le texte, la table, l’image, vos commentaires et les propriétés de document, soutenus par la manipulation directe du format Office Open XML package.

Avec 273 classes, plus de 2600 méthodes et 42 enumerations, l’API cache les blocs de construction dont vous avez besoin pour automatiser les flux de travail de présentation dans n’importe quelle application Java.


Ce qui est inclus

Présentation du cycle de vie

Le Presentation classe est le point d’entrée pour chaque opération. Vous pouvez créer une présentation blanche et enregistrer le résultat sur un disque ou sur une OutputStream dans un certain nombre de formats. la classe implémenter AutoCloseable,Il fonctionne naturellement avec les blocs de ressources try-with.

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

try (Presentation pres = new Presentation()) {
    // A new presentation starts with one blank slide
    System.out.println("Slides: " + pres.getSlides().size());
    pres.save("output.pptx", SaveFormat.PPTX);
}

Gestion de Slide

SlideCollection Vous pouvez ajouter des slides blancs avec addEmptySlide(),duplicer les images existantes avec addClone(),- Insérer des images sur un index spécifique avec insertEmptySlide(), supprimer les slides par référence ou index, et itérer sur la collection.

try (Presentation pres = new Presentation()) {
    var layout = pres.getLayoutSlides().get(0);
    pres.getSlides().addEmptySlide(layout);
    pres.getSlides().addClone(pres.getSlides().get(0));
    System.out.println("Total slides: " + pres.getSlides().size());
}

Formes et AutoShapes

Le AutoShape classe représente l’objet le plus courant sur un slide. vous créez des formes à travers IShapeCollection.addAutoShape(),spécifiant A ShapeType constants (comme les ShapeType.RECTANGLEet les coordonnées de position. chacune AutoShape Exposé à TextFrame Pour le contenu et un FillFormat pour le style visuel.

try (Presentation pres = new Presentation()) {
    var slide = pres.getSlides().get(0);
    IAutoShape shape = slide.getShapes().addAutoShape(
        ShapeType.RECTANGLE, 50, 50, 300, 100, false);
    ITextFrame tf = shape.addTextFrame("Hello from Aspose.Slides FOSS");
    System.out.println(tf.getText());
}

Textes et paragraphes

Le texte est formé comme une hiérarchie de TextFrame, ParagraphCollection, Paragraph, PortionCollection,et Portion Vous pouvez définir un texte plain sur un cadre directement avec TextFrame.setText(),ou construire des paragraphes multi-rendu en ajoutant un individu Portion Des exemples de formats distincts.

try (Presentation pres = new Presentation()) {
    var slide = pres.getSlides().get(0);
    IAutoShape shape = slide.getShapes()
        .addAutoShape(ShapeType.RECTANGLE, 50, 50, 400, 100, false);
    ITextFrame tf = shape.addTextFrame("First run ");
    Portion extra = new Portion("second run");
    tf.getParagraphs().get(0).getPortions().add(extra);
    System.out.println(tf.getText());
}

Propriétés de document

Le DocumentProperties classe expose les champs de métadonnées standard tels que le titre, l’auteur, le sujet, les mots-clés, la catégorie et les timestamps. Les propriétés sont persistantes dans le noyau PPTX et extendent les propriété parties et survivent à des cycles d’enregistrement/reload rond-trip.

try (Presentation pres = new Presentation()) {
    IDocumentProperties props = pres.getDocumentProperties();
    props.setTitle("Quarterly Report");
    props.setAuthor("Engineering Team");
    pres.save("report.pptx", SaveFormat.PPTX);
}

Commentaires et annotations

Le sous-système de commentaire comprend CommentAuthorCollection et CommentCollection.Vous pouvez ajouter des auteurs, ajouter des commentaires à des images et positions spécifiques et réviser les notes existantes. Les données de commentaire sont persistantes dans les parties d’avis du paquet PPTX et survivent aux cycles de sauvegarde/reload en rond-trip.


Démarrage rapide

Ajoutez la dépendance Maven à votre pom.xml Pour inclure Aspose.Slides FOSS pour Java dans votre projet:

<dependency>
  <groupId>org.aspose</groupId>
  <artifactId>aspose-slides-foss</artifactId>
  <version>26.7.0</version>
</dependency>

Créer et sauvegarder une présentation :

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

public class QuickStart {
    public static void main(String[] args) {
        try (Presentation pres = new Presentation()) {
            var slide = pres.getSlides().get(0);

            // Add a title shape
            IAutoShape title = slide.getShapes().addAutoShape(
                ShapeType.RECTANGLE, 50, 30, 600, 60, false);
            title.addTextFrame("Aspose.Slides FOSS for Java");

            // Add a content shape
            IAutoShape body = slide.getShapes().addAutoShape(
                ShapeType.RECTANGLE, 50, 120, 600, 300, false);
            body.addTextFrame(
                "This presentation was created entirely in Java "
                + "using a free, open-source library.");

            pres.save("quick-start.pptx", SaveFormat.PPTX);
        }
    }
}

Formats soutenus

Le SaveFormat L’enumeration définit chaque format de sortie que la bibliothèque peut écrire.La table ci-dessous présente les entrées confirmées.

FormatsExtensionÉcrire
PPTX.pptxOui
PPTM.pptmPlanifié
PPSX.ppsxPlanifié
PPSM.PPSMPlanifié
POTX.Le PotxPlanifié
POTM.Le POTMPlanifié
ODP.ODPPlanifié
OTP.OTPPlanifié
FODP.FODPPlanifié
PPT.PtPlanifié
PPS.ppsPlanifié
POT.Le PotPlanifié
PDF.pdfPlanifié
XPS.xpsPlanifié
HTML.htmlPlanifié
HTML5.htmlPlanifié
SVG.svgPlanifié
TIFF.TIFFPlanifié
PNG.PNGPlanifié
JPEG.JPGPlanifié
BMP.bmpPlanifié
GIF.GIFPlanifié
MD.MdPlanifié

Note : PPTX est pleinement mis en œuvre. SaveFormat Les valeurs enum (PPT, ODP, PDF, PNG, etc.) sont définis pour la compatibilité à l’avant et seront fonctionnelles dans les futures éditions ; leur transmission au save() Il produit actuellement des produits PPTX.


Source ouverte et licence

Aspose.Slides FOSS for Java is distributed under the MIT license. The full source code is available on GitHub at Aspose.Slides-FOSS-for-Java.Vous êtes libre d’utiliser, de modifier et de redistribuer la bibliothèque dans n’importe quel projet sans royalties ou clés de licence.


Pour commencer

Prêt à plonger plus profondément? Voici les ressources pour vous aider à commencer:

Ressources associées