Inleiding

Aspose.Slides FOSS voor Java is een gratis, open-source bibliotheek die Java-ontwikkelaars in staat stelt PowerPoint presentaties te maken en te manipuleren zonder enige afhankelijkheid van Microsoft Office. De bibliotheek wordt geleverd onder het org.aspose.slides.foss pakket en richt zich op Java 21 en hoger.

Het project wordt uitgebracht onder de MIT license, zodat je het zowel in persoonlijke als commerciële projecten kunt gebruiken zonder kosten en zonder API sleutel. Het biedt klassen voor dia’s, vormen, tekst, tabellen, afbeeldingen, opmerkingen en documenteigenschappen, ondersteund door directe manipulatie van het Office Open XML pakketformaat.

Met 273 klassen, meer dan 2,600 methoden en 42 enumeraties, de kern API omvat de bouwstenen die je nodig hebt om presentatieworkflows te automatiseren in elke Java-applicatie.


Wat er inbegrepen is

Presentatielevenscyclus

De Presentation klasse is het toegangspunt voor elke bewerking. Je kunt een lege presentatie maken en het resultaat opslaan op schijf of naar een OutputStream in verschillende formaten. De klasse implementeert AutoCloseable, zodat hij natuurlijk werkt met try-with-resources-blokken.

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

Dia-beheer

SlideCollection stelt u in staat lege dia’s toe te voegen met addEmptySlide(), bestaande dia’s te dupliceren met addClone(), dia’s in te voegen op een specifieke index met insertEmptySlide(), dia’s te verwijderen op referentie of index, en over de collectie te itereren.

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

Vormen en AutoShapes

De AutoShape klasse vertegenwoordigt het meest voorkomende tekenbare object op een dia. U maakt vormen aan via IShapeCollection.addAutoShape(), waarbij u een ShapeType constante opgeeft (zoals ShapeType.RECTANGLE) en positiecoördinaten. Elke AutoShape biedt een TextFrame voor tekstinhoud en een FillFormat voor visuele styling.

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

Tekst en alinea’s

Rijke tekst wordt gemodelleerd als een hiërarchie van TextFrame, ParagraphCollection, Paragraph, PortionCollection en Portion objecten. U kunt platte tekst op een frame direct instellen met TextFrame.setText(), of meervoudige alinea’s opbouwen door individuele Portion instanties met verschillende opmaak toe te voegen.

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

Documenteigenschappen

De DocumentProperties klasse biedt standaard metagegevensvelden zoals titel, auteur, onderwerp, trefwoorden, categorie en tijdstempels. Eigenschappen worden opgeslagen in de PPTX-core- en uitgebreide eigenschapsdelen en blijven behouden tijdens een volledige opslaan/herladen-cyclus.

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

Opmerkingen en annotaties

Het commentaarsubsysteem omvat CommentAuthorCollection en CommentCollection. Je kunt auteurs toevoegen, opmerkingen koppelen aan specifieke dia’s en posities, en bestaande annotaties teruglezen. Opmerkingsgegevens worden bewaard in de commentaaronderdelen van het PPTX-pakket en overleven round-trip opslaan/herladen cycli.


Snelstart

Voeg de volgende Maven-dependency toe aan je pom.xml om Aspose.Slides FOSS voor Java in je project op te nemen:

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

Maak vervolgens een presentatie aan en sla deze op:

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

Ondersteunde formaten

De SaveFormat-enumeratie definieert elk uitvoerformaat dat de bibliotheek kan schrijven. De onderstaande tabel geeft de bevestigde vermeldingen weer.

FormaatExtensieSchrijven
PPTX.pptxJa
PPTM.pptmPlanned
PPSX.ppsxPlanned
PPSM.ppsmPlanned
POTX.potxPlanned
POTM.potmPlanned
ODP.odpPlanned
OTP.otpPlanned
FODP.fodpPlanned
PPT.pptPlanned
PPS.ppsPlanned
POT.potPlanned
PDF.pdfPlanned
XPS.xpsPlanned
HTML.htmlPlanned
HTML5.htmlPlanned
SVG.svgPlanned
TIFF.tiffPlanned
PNG.pngPlanned
JPEG.jpegPlanned
BMP.bmpPlanned
GIF.gifPlanned
MD.mdPlanned

Opmerking: PPTX-export is volledig geïmplementeerd. Andere SaveFormat enum-waarden (PPT, ODP, PDF, PNG, enz.) zijn gedefinieerd voor voorwaartse compatibiliteit en zullen functioneel zijn in toekomstige releases; door ze door te geven aan save() produceert momenteel PPTX-uitvoer.


Open source & licenties

Aspose.Slides FOSS voor Java wordt gedistribueerd onder de MIT-licentie. De volledige broncode is beschikbaar op GitHub op Aspose.Slides-FOSS-for-Java. Je bent vrij om de bibliotheek te gebruiken, te wijzigen en te herdistribueren in elk project zonder royalty’s of licentiesleutels.


Aan de slag

Klaar om dieper te duiken? Hier zijn bronnen om je op weg te helpen:

Gerelateerde bronnen